免费人成动漫在线播放r18-免费人成观看在线网-免费人成黄页在线观看日本-免费人成激情视频在线观看冫-jlzzjlzz亚洲大全-jlzzjlzz亚洲日本

二維碼
企資網(wǎng)

掃一掃關(guān)注

當(dāng)前位置: 首頁 » 企業(yè)資訊 » 經(jīng)驗(yàn) » 正文

如何正確使用COCO數(shù)據(jù)集

放大字體  縮小字體 發(fā)布日期:2021-08-31 10:48:52    作者:高雨凡    瀏覽次數(shù):34
導(dǎo)讀

簡介COCO數(shù)據(jù)集,意為“Common Objects In Context”,是一組具有挑戰(zhàn)性的、高質(zhì)量的計(jì)算機(jī)視覺數(shù)據(jù)集,是最先進(jìn)的神經(jīng)網(wǎng)絡(luò),此名稱還用于命名這些數(shù)據(jù)集使用的格式。COCO 是一個(gè)大規(guī)模的對象檢測、分割和字幕數(shù)據(jù)集

簡介

COCO數(shù)據(jù)集,意為“Common Objects In Context”,是一組具有挑戰(zhàn)性的、高質(zhì)量的計(jì)算機(jī)視覺數(shù)據(jù)集,是最先進(jìn)的神經(jīng)網(wǎng)絡(luò),此名稱還用于命名這些數(shù)據(jù)集使用的格式。

COCO 是一個(gè)大規(guī)模的對象檢測、分割和字幕數(shù)據(jù)集。COCO有幾個(gè)特點(diǎn)_

- 對象分割

- 在上下文中識(shí)別

- 超像素素材分割

- 330K 圖像(> 200K 標(biāo)記)

- 150 萬個(gè)對象實(shí)例

- 80 個(gè)對象類別

該數(shù)據(jù)集的格式可以被高級(jí)神經(jīng)網(wǎng)絡(luò)庫自動(dòng)理解,例如Facebook的Detectron2,甚至還有專門為處理 COCO 格式的數(shù)據(jù)集而構(gòu)建的工具,例如COCO- annotator和COCOapi。了解此數(shù)據(jù)集的表示方式將有助于使用和修改現(xiàn)有數(shù)據(jù)集以及創(chuàng)建自定義數(shù)據(jù)集。具體來說,我們對注釋文件感興趣,是因?yàn)橥暾臄?shù)據(jù)集由圖像目錄和注釋文件組成,提供機(jī)器學(xué)習(xí)算法使用的元數(shù)據(jù)。

可以用COCO做什么?

實(shí)際上有多個(gè) COCO 數(shù)據(jù)集,每個(gè)數(shù)據(jù)集都是為特定的機(jī)器學(xué)習(xí)任務(wù)創(chuàng)建的,并帶有附加數(shù)據(jù)。3個(gè)最受歡迎的任務(wù)是_

  • 對象檢測_模型應(yīng)該獲取對象的邊界框,即返回對象類列表和她們周圍矩形的坐標(biāo);物體(也稱為“事物”)是離散的、獨(dú)立的物體,通常帶有零件,如人和汽車。

  • 對象分割_模型不僅應(yīng)該得到對象(實(shí)例/“事物”)的邊界框,還應(yīng)該得到分割掩碼,即圍繞對象的多邊形坐標(biāo)。

  • 實(shí)例分割_模型應(yīng)該做對象分割,但不是在單獨(dú)的對象(“事物”)上,而是在背景連續(xù)模式上,比如草或天空。

    在計(jì)算機(jī)視覺中,這些任務(wù)有著巨大的用途,例如用于自動(dòng)駕駛車輛(檢測人和其他車輛)、基于人工智能的安全性(人體檢測和/或分割)和對象重新識(shí)別(對象分割或?qū)嵗指钊コ尘坝兄跈z查對象身份)。

    COCO數(shù)據(jù)格式

    基本結(jié)構(gòu)和常見元素_COCO 注釋使用的文件格式是 JSON,她有字典(大括號(hào)內(nèi)的鍵值對{…})作為頂部值,她還可以有列表(括號(hào)內(nèi)的有序項(xiàng)目集合,[…])或嵌套在其中的字典。

    {  "info": {…},  "licenses": […],  "images": […],  "categories": […],  "annotations": […]}

    讓我們仔細(xì)看看基本結(jié)構(gòu)中的每一個(gè)部分。

    “info”部分_

    該字典包含有關(guān)數(shù)據(jù)集的元數(shù)據(jù),對于官方的 COCO 數(shù)據(jù)集,如下_

    {  "description": "COCO 2017 Dataset",  "url": "cocodataset.org",  "version": "1.0",  "year": 2017,  "contributor": "COCO Consortium",  "date_created": "2017/09/01"}

    如我們所見,她僅包含基本信息,"url"值指向數(shù)據(jù)集官方網(wǎng)站(例如 UCI 存儲(chǔ)庫頁面或在單獨(dú)域中),這是機(jī)器學(xué)習(xí)數(shù)據(jù)集中常見的事情,指向他們的網(wǎng)站以獲取更多信息,例如獲取數(shù)據(jù)的方式和時(shí)間。

    “l(fā)icenses”部分_

    以下是數(shù)據(jù)集中圖像許可的鏈接,例如知識(shí)共享許可,具有以下結(jié)構(gòu)_

    [  {    "url": "creativecommons.org/licenses/by-nc-sa/2.0/",     "id": 1,     "name": "Attribution-NonCommercial-ShareAlike License"  },  {    "url": "creativecommons.org/licenses/by-nc/2.0/",     "id": 2,     "name": "Attribution-NonCommercial License"  },  …]

    這里要注意的重要一點(diǎn)是"id"字段_"images"字典中的每個(gè)圖像都應(yīng)該指定其許可證的“id”。

    在使用圖像時(shí),請確保沒有違反其許可_可以在 URL 下找到全文。

    如果我們決定創(chuàng)建自己的數(shù)據(jù)集,請為每個(gè)圖像分配適當(dāng)?shù)脑S可_如果我們不確定,最好不要使用該圖像。

    “image”部分_

    可以說是第二重要的,這本字典包含有關(guān)圖像的元數(shù)據(jù)_

    {  "license": 3,  "file_name": "000000391895.jpg",  "coco_url": "images.cocodataset.org/train2017/000000391895.jpg",  "height": 360,  "width": 640,  "date_captured": "2013–11–14 11:18:45",  "flickr_url": "farm9.staticflickr/8186/8119368305_4e622c8349_z.jpg",  "id": 391895}

    接下來我們看一下這些字段_

  • "license"_來自該"licenses" 部分的圖像許可證的 ID
  • "file_name": 圖像目錄中的文件名
  • "coco_url", "flickr_url": 在線托管圖像副本的 URL
  • "height", "width": 圖像的大小,在像 C 這樣的低級(jí)語言中非常方便,在這種語言中獲取矩陣的大小是非常困難的
  • "date_captured": 拍照的時(shí)候

    "id"領(lǐng)域是最重要的領(lǐng)域,這是用于"annotations"識(shí)別圖像的編號(hào),因此如果我們想識(shí)別給定圖像文件的注釋,則必須在"圖像"中檢查相應(yīng)圖像文檔的“id”,然后在“注釋”中交叉引用她。

    在官方COCO數(shù)據(jù)集中"id"與"file_name"相同。需要注意的是,自定義 COCO數(shù)據(jù)集可能不一定是這種情況!這不是強(qiáng)制的規(guī)則,例如由私人照片制成的數(shù)據(jù)集可能具有與沒有共同之處的原始照片名稱"id"。

    "categories"部分_

    本部分對于對象檢測和分割任務(wù)以及對于實(shí)例分割任務(wù)有點(diǎn)不同。

    對象檢測/對象分割_

    [  {"supercategory": "person", "id": 1, "name": "person"},  {"supercategory": "vehicle", "id": 2, "name": "bicycle"},  {"supercategory": "vehicle", "id": 3, "name": "car"},  …  {"supercategory": "indoor", "id": 90, "name": "toothbrush"}]

    這些是可以在圖像上檢測到的對象類別("categories"在 COCO 中是類別的另一個(gè)名稱,我們可以從監(jiān)督機(jī)器學(xué)習(xí)中了解到)。

    每個(gè)類別都有一個(gè)唯一的"id",她們應(yīng)該在 [1,number of categories] 范圍內(nèi)。類別也分為“超類別”,我們可以在程序中使用她們,例如,當(dāng)我們不關(guān)心是自行車、汽車還是卡車時(shí),一般檢測車輛。

    實(shí)例分割_

    [  {"supercategory": "textile", "id": 92, "name": "banner"},  {"supercategory": "textile", "id": 93, "name": "blanket"},  …  {"supercategory": "other", "id": 183, "name": "other"}]

    類別數(shù)從高開始以避免與對象分割沖突,因?yàn)橛袝r(shí)這些任務(wù)可以一起執(zhí)行。從 92 到 182 的 ID 是實(shí)際的背景素材,而 ID 183 代表所有其他沒有單獨(dú)類的背景紋理。

    “annotations”部分_

    這是數(shù)據(jù)集最重要的部分,其中包含對特定 COCO 數(shù)據(jù)集的每個(gè)任務(wù)至關(guān)重要的信息。

    {  "segmentation":  [[    239.97,    260.24,    222.04,    …  ]],  "area": 2765.1486500000005,  "iscrowd": 0,  "image_id": 558840,  "bbox":  [    199.84,    200.46,    77.71,    70.88  ],  "category_id": 58,  "id": 156}
  • "segmentation"_分割掩碼像素列表;這是一個(gè)扁平的對列表,因此我們應(yīng)該采用第一個(gè)和第二個(gè)值(圖片中的 x 和 y),然后是第三個(gè)和第四個(gè)值,以獲取坐標(biāo);需要注意的是,這些不是圖像索引,因?yàn)樗齻兪歉↑c(diǎn)數(shù)_她們是由 COCO-annotator 等工具從原始像素坐標(biāo)創(chuàng)建和壓縮的
  • "area"_分割掩碼內(nèi)的像素?cái)?shù)
  • "iscrowd"_注釋是針對單個(gè)對象(值為 0),還是針對彼此靠近的多個(gè)對象(值為 1);對于實(shí)例分割,此字段始終為 0 并被忽略
  • "image_id": 'images' 字典中的 'id' 字段;警告_這個(gè)值應(yīng)該用于將圖像與其他字典交叉引用,而不是"id"字段!
  • "bbox"_邊界框,即對象周圍矩形的坐標(biāo)(左上x,左上y,寬,高);從圖像中提取單個(gè)對象非常有用,因?yàn)樵谙?Python 這樣的許多語言中,她可以通過訪問圖像數(shù)組來完成,例如cropped_object _ image[bbox[0]:bbox[0] + bbox[2], bbox[1]:bbox[1] + bbox[3]]
  • "category_id"_對象的類,對應(yīng)"類別"中的"id"字段
  • "id": 注釋的唯一標(biāo)識(shí)符;警告_這只是注釋ID,這并不指向其他詞典中的特定圖像!

    在處理人群圖像 ( "iscrowd": 1) 時(shí),該"segmentation"部分可能會(huì)有所不同_

    "segmentation":{  "counts": [179,27,392,41,…,55,20],  "size": [426,640]}

    這是因?yàn)閷τ谠S多像素,明確列出所有像素創(chuàng)建分割掩碼將占用大量空間,相反,COCO使用自定義的運(yùn)行長度編碼(RLE)壓縮,這是非常有效的,因?yàn)榉侄窝诖a是二進(jìn)制的,僅0和1的RLE可能會(huì)將大小減小很多倍。

    總結(jié)

    我們探討了用于最流行任務(wù)的COCO數(shù)據(jù)集格式_對象檢測、對象分割和實(shí)例分割。COCO官方數(shù)據(jù)集質(zhì)量高、規(guī)模大,適合初學(xué)者項(xiàng)目、生產(chǎn)環(huán)境和最新研究。我希望本文能夠幫助小伙伴理解如何解釋這種格式,并將其用于小伙伴的ML應(yīng)用程序。

  •  
    (文/高雨凡)
    免責(zé)聲明
    本文僅代表作發(fā)布者:高雨凡個(gè)人觀點(diǎn),本站未對其內(nèi)容進(jìn)行核實(shí),請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問題,請及時(shí)聯(lián)系我們刪除處理郵件:weilaitui@qq.com。