使用 YOLOv7 完成人體姿態(tài)估計(jì)(YOLOv7-pose環(huán)境搭建)

簡(jiǎn)單記錄一下自己配置 yolov7-pose 環(huán)境的過(guò)程
所需的所有文件在結(jié)尾放了鏈接?。?!
一、源碼地址
放一個(gè)github鏈接,這是官方的:https://github.com/WongKinYiu/yolov7/tree/pose
二、準(zhǔn)備工作
默認(rèn)已經(jīng)安裝好了 Anaconda、PyCharm 等等巴拉巴拉的開(kāi)發(fā)工具
對(duì)了,我這次是在 Linux 系統(tǒng)下運(yùn)行項(xiàng)目的。為什么呢?因?yàn)?requirements 文件里面顯示需要pycocotools!??!Windows 環(huán)境下這個(gè)包有多難搞。。。程序員應(yīng)該懂的
三、創(chuàng)建虛擬環(huán)境
有了 Anaconda,就可以創(chuàng)建虛擬環(huán)境了,這主要是為了多個(gè)項(xiàng)目之間相互不干擾,如果無(wú)所謂,那可以直接跳到安裝各種包的步驟。
yolov7Pose 是這個(gè)虛擬環(huán)境的名字。官方?jīng)]有給 python 具體版本,我的建議是“不要太新,不要太老”。我比較習(xí)慣使用3.7.0,使用3.8之類的應(yīng)該也沒(méi)問(wèn)題。
四、下載 yolov7-pose 所需文件
首先肯定是要激活剛剛創(chuàng)建的虛擬環(huán)境啦(如果沒(méi)有創(chuàng)建虛擬環(huán)境,那就當(dāng)沒(méi)說(shuō))。
然后打開(kāi)到 yolov7-pose 項(xiàng)目文件夾,文件夾里面有一個(gè) requirements.txt 文件,這就是項(xiàng)目環(huán)境,應(yīng)該是可以使用命令行直接咔咔安裝的(下面的命令添加了清華源,僅供參考)
我的習(xí)慣是挨個(gè)安裝各個(gè)包文件,首先肯定是 pytorch 套件咯,這個(gè)可以看官方給的版本要求,然后參考自己的cuda版本,去 pytorch 官網(wǎng)復(fù)制下載命令(有可能很慢很慢,甚至斷連,我只能說(shuō)“祝好運(yùn)”)。其他的類似 opencv-python 之類的,安裝的時(shí)候斷連可以嘗試添加清華源。
我看了一下,我之前是有安裝過(guò) YOLOX 的環(huán)境,套件版本都是滿足要求的,所以我就直接薅過(guò)來(lái)使了(如果之前有使用過(guò)其他 YOLO 版本,可以留意一下,整體環(huán)境都是比較通用的)
放一個(gè) requirements.txt 的鏈接,有需要的可以直接過(guò)去看看:
https://github.com/WongKinYiu/yolov7/blob/pose/requirements.txt
五、測(cè)試
一般來(lái)講,環(huán)境配好了,測(cè)試就沒(méi)啥問(wèn)題。就算是自己挨個(gè)裝包的時(shí)候漏掉了幾個(gè),到時(shí)候補(bǔ)上就好了
but?。?!測(cè)試的權(quán)重使肯定要的了,官方 github 的測(cè)試指導(dǎo)給了他們的權(quán)重文件,直接下載就好了(要有點(diǎn)耐心),貼一下測(cè)試代碼
這個(gè)時(shí)候還不知道下載的權(quán)重文件應(yīng)該放在哪兒(習(xí)慣上,應(yīng)該有一個(gè)專門(mén)的文件夾用來(lái)存放權(quán)重文件的),經(jīng)過(guò)嘗試, yolov7-pose 中是直接放在項(xiàng)目的根目錄下的(和 test.py 文件在同級(jí)目錄)
OK!開(kāi)始測(cè)試,然后又有新的問(wèn)題

官方 github 中只給了數(shù)據(jù)集的標(biāo)簽文件,這就需要我們自己找一下對(duì)應(yīng)的圖片數(shù)據(jù)集。 test 操作只需要 val2017 對(duì)應(yīng)的內(nèi)容就可以了。(YOLOv7 對(duì)應(yīng)的 github 倉(cāng)庫(kù)提供了下載鏈接,但是速度可能會(huì)很慢)
留意一下報(bào)錯(cuò)內(nèi)容,里面是有數(shù)據(jù)集地址的,咱們下載好數(shù)據(jù)集,放到對(duì)應(yīng)位置就可以了。(在 yolov7-pose 項(xiàng)目文件夾得同級(jí)目錄下新建文件夾 coco_kpts,該文件夾目錄結(jié)構(gòu)如圖)

這時(shí)候重新執(zhí)行測(cè)試代碼就可以啦!
我以為真的結(jié)束了,可是。。。還是報(bào)錯(cuò)

大體意思就是,還缺少一個(gè)json文件。COCO 數(shù)據(jù)集官網(wǎng)是有這個(gè)文件下載的。下載完這個(gè)文件之后,和 coco_kpts 文件夾一樣,新建一個(gè) coco 文件夾,具體結(jié)構(gòu)可以看上面這張圖。將下載好的
person_keypoints_val2017.json 文件放置在對(duì)應(yīng)位置(不是 coco 文件夾,是 coco 下面的 annotation 文件夾)
現(xiàn)在重新執(zhí)行測(cè)試代碼,終于OK了?。?!

測(cè)試結(jié)束,會(huì)在 yolov7-pose 文件夾中生成一個(gè) runs 文件夾,里面保存了測(cè)試的圖片,舉個(gè)例子

六、網(wǎng)盤(pán)資源
COCO數(shù)據(jù)集下載還是挺麻煩的,我這兒分享一下用到的測(cè)試集。順便附上代碼、權(quán)重等等
百度網(wǎng)盤(pán)(你懂的,準(zhǔn)備好了這次測(cè)試所需的所有文件):鏈接:
https://pan.baidu.com/s/1Ypl5JNJf3Ou0XPXVSO_gHQ 提取碼:ouvi
七、總結(jié)
一句話概括 “坑” ,方法是好方法,但是配置環(huán)境、跑通代碼的過(guò)程大大小小的坑還是挺多的,我這個(gè)地方還沒(méi)有嘗試 detect
附上別人遇到的坑,有需要的可以參考
https://blog.csdn.net/qq_32033383/article/details/127977037