如何使用Python分析姿態(tài)估計(jì)數(shù)據(jù)集COCO?
當(dāng)我們訓(xùn)練姿勢(shì)估計(jì)模型,比較常用的數(shù)據(jù)集包括像COCO、MPII和CrowdPose這樣的公共數(shù)據(jù)集,但如果我們將其與不同計(jì)算機(jī)視覺任務(wù)(如對(duì)象檢測(cè)或分類)的公共可用數(shù)據(jù)集的數(shù)量進(jìn)行比較,就會(huì)發(fā)現(xiàn)可用的數(shù)據(jù)集并不多。姿態(tài)估計(jì)問題屬于一類比較復(fù)雜的問題,為神經(jīng)網(wǎng)絡(luò)模型建立一個(gè)合適的數(shù)據(jù)集是很困難的,圖像中每個(gè)人的每個(gè)關(guān)節(jié)都必須定位和標(biāo)記,這是一項(xiàng)瑣碎而費(fèi)時(shí)的任務(wù)。最流行的姿態(tài)估計(jì)數(shù)據(jù)集是COCO數(shù)據(jù)集,它有大約80類圖像和大約250000個(gè)人物實(shí)例。如果你檢查此數(shù)據(jù)集中的一些隨機(jī)圖像,你可能會(huì)遇到一些與要解決的問題無關(guān)的實(shí)例。學(xué)術(shù)界希望達(dá)到最高的精度,但在實(shí)際生產(chǎn)環(huán)境中并不總是如此。在現(xiàn)實(shí)世界中,我們可能更感興趣的是在非常特定的環(huán)境中工作良好的模型,例如行人、籃球運(yùn)動(dòng)員、健身房等。讓我們從COCO數(shù)據(jù)集中查看此圖像:
你看到紅點(diǎn)了嗎?這是關(guān)鍵點(diǎn):鼻子。有時(shí),你可能不希望網(wǎng)絡(luò)看到僅包含頭部一部分的示例,尤其是在幀的底部。在這篇文章中,我會(huì)向你展示COCO數(shù)據(jù)集的一個(gè)示例分析COCO數(shù)據(jù)集COCO數(shù)據(jù)集是用于許多計(jì)算機(jī)視覺任務(wù)的大規(guī)模通用數(shù)據(jù)集。150萬個(gè)對(duì)象實(shí)例,80個(gè)對(duì)象類別,25萬人——這些都讓這個(gè)數(shù)據(jù)集令人印象深刻。你可以在源站點(diǎn)上找到更多詳細(xì)信息,在那里你還可以下載所有必需的文件:https://cocodataset.org/數(shù)據(jù)集由圖像文件和注釋文件組成。注釋文件是一個(gè)JSON,包含關(guān)于一個(gè)人(或其他一些類別)的所有元數(shù)據(jù)。在這里我們會(huì)找到邊界框的位置和大小,區(qū)域,關(guān)鍵點(diǎn),源圖像的文件名等。我們不必手動(dòng)解析JSON。有一個(gè)方便的Python庫可用使用,即pycocotools(https://github.com/cocodataset/cocoapi/tree/master/PythonAPI)我們需要train2017.zip(https://cocodataset.org/#download),val2017.zip(https://cocodataset.org/#download),annotations_trainval2017.zip(https://cocodataset.org/#download)具體來說,我們只需要人的注釋。zip中有兩個(gè)文件:annotations_trainval2017.zip:person_keypoints_train2017.json和person_keypoints_val2017.json我建議將文件放在以下這個(gè)文件夾層次結(jié)構(gòu)中:dataset_coco
|---annotations
|---person_keypoints_train2017.json
|---person_keypoints_val2017.json
|---train2017
|---*.jpg
|---val2017
|---*.jpg
下面是顯示如何加載注釋的代碼:from pycocotools.coco import COCO
...
train_annot_path = 'dataset_coco/annotations /person_keypoints_train2017.json'
val_annot_path = 'dataset_coco/annotations/person_keypoints_val2017.json'
train_coco = COCO(train_annot_path) # 加載訓(xùn)練集的注釋
val_coco = COCO(val_annot_path) # 加載驗(yàn)證集的注釋
...
# 函數(shù)遍歷一個(gè)人的所有數(shù)據(jù)庫并逐行返回相關(guān)數(shù)據(jù)
def get_meta(coco):
ids = list(coco.imgs.keys())
for i, img_id in enumerate(ids):
img_meta = coco.imgs[img_id]
ann_ids = coco.getAnnIds(imgIds=img_id)
# 圖像的基本參數(shù)
img_file_name = img_meta['file_name']
w = img_meta['width']
h = img_meta['height']
# 檢索當(dāng)前圖像中所有人的元數(shù)據(jù)
anns = coco.loadAnns(ann_ids)
yield [img_id, img_file_name, w, h, anns]
...
# 迭代圖像
for img_id, img_fname, w, h, meta in get_meta(train_coco):
...
# 遍歷圖像的所有注釋
for m in meta:
# m是字典
keypoints = m['keypoints']
...
...
首先,我們必須加載COCO對(duì)象,它是json數(shù)據(jù)的包裝器(第6-7行)在第11行,我們加載所有圖像標(biāo)識(shí)符。在接下來的幾行中,我們?yōu)槊總(gè)圖像加載元數(shù)據(jù),這是一個(gè)包含圖像寬度、高度、名稱、許可證等一般信息的詞典。在第14行,我們加載給定圖像的注釋元數(shù)據(jù),這是一個(gè)字典列表,每個(gè)字典代表一個(gè)人。第27-32行顯示了如何加載整個(gè)訓(xùn)練集(train_coco),類似地,我們可以加載驗(yàn)證集(val_coco)將COCO轉(zhuǎn)換為Pandas數(shù)據(jù)幀讓我們將COCO元數(shù)據(jù)轉(zhuǎn)換為pandas數(shù)據(jù)幀,我們使用如matplotlib、sklearn 和pandas。這可用使得數(shù)據(jù)的過濾、可視化和操作變得更加容易,此外,我們還可以將數(shù)據(jù)導(dǎo)出為csv或parquet等。def convert_to_df(coco):
images_data = []
persons_data = []

發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
最新活動(dòng)更多
-
即日-6.16立即報(bào)名>> 【在線會(huì)議】Solution Talks |Computex 2025關(guān)鍵趨勢(shì)深讀
-
6月20日立即下載>> 【白皮書】精準(zhǔn)測(cè)量 安全高效——福祿克光伏行業(yè)解決方案
-
7月3日立即報(bào)名>> 【在線會(huì)議】英飛凌新一代智能照明方案賦能綠色建筑與工業(yè)互聯(lián)
-
7月22-29日立即報(bào)名>> 【線下論壇】第三屆安富利汽車生態(tài)圈峰會(huì)
-
7.30-8.1火熱報(bào)名中>> 全數(shù)會(huì)2025(第六屆)機(jī)器人及智能工廠展
-
7月31日免費(fèi)預(yù)約>> OFweek 2025具身機(jī)器人動(dòng)力電池技術(shù)應(yīng)用大會(huì)
推薦專題
- 1 AI 眼鏡讓百萬 APP「集體失業(yè)」?
- 2 大廠紛紛入局,百度、阿里、字節(jié)搶奪Agent話語權(quán)
- 3 深度報(bào)告|中國(guó)AI產(chǎn)業(yè)正在崛起成全球力量,市場(chǎng)潛力和關(guān)鍵挑戰(zhàn)有哪些?
- 4 上海跑出80億超級(jí)獨(dú)角獸:獲上市公司戰(zhàn)投,干人形機(jī)器人
- 5 國(guó)家數(shù)據(jù)局局長(zhǎng)劉烈宏調(diào)研格創(chuàng)東智
- 6 下一代入口之戰(zhàn):大廠為何紛紛押注智能體?
- 7 百億AI芯片訂單,瘋狂傾銷中東?
- 8 Robotaxi新消息密集釋放,量產(chǎn)元年誰在領(lǐng)跑?
- 9 格斗大賽出圈!人形機(jī)器人致命短板曝光:頭腦過于簡(jiǎn)單
- 10 “搶灘”家用機(jī)器人領(lǐng)域,聯(lián)通、海爾、美的等紛紛入局