使用 YOLOv7 完成人体姿态估计(YOLOv7-pose环境搭建)

简单记录一下自己配置 yolov7-pose 环境的过程
所需的所有文件在结尾放了链接!!!
一、源码地址
放一个github链接,这是官方的:https://github.com/WongKinYiu/yolov7/tree/pose
二、准备工作
默认已经安装好了 Anaconda、PyCharm 等等巴拉巴拉的开发工具
对了,我这次是在 Linux 系统下运行项目的。为什么呢?因为 requirements 文件里面显示需要pycocotools!!!Windows 环境下这个包有多难搞。。。程序员应该懂的
三、创建虚拟环境
有了 Anaconda,就可以创建虚拟环境了,这主要是为了多个项目之间相互不干扰,如果无所谓,那可以直接跳到安装各种包的步骤。
yolov7Pose 是这个虚拟环境的名字。官方没有给 python 具体版本,我的建议是“不要太新,不要太老”。我比较习惯使用3.7.0,使用3.8之类的应该也没问题。
四、下载 yolov7-pose 所需文件
首先肯定是要激活刚刚创建的虚拟环境啦(如果没有创建虚拟环境,那就当没说)。
然后打开到 yolov7-pose 项目文件夹,文件夹里面有一个 requirements.txt 文件,这就是项目环境,应该是可以使用命令行直接咔咔安装的(下面的命令添加了清华源,仅供参考)
我的习惯是挨个安装各个包文件,首先肯定是 pytorch 套件咯,这个可以看官方给的版本要求,然后参考自己的cuda版本,去 pytorch 官网复制下载命令(有可能很慢很慢,甚至断连,我只能说“祝好运”)。其他的类似 opencv-python 之类的,安装的时候断连可以尝试添加清华源。
我看了一下,我之前是有安装过 YOLOX 的环境,套件版本都是满足要求的,所以我就直接薅过来使了(如果之前有使用过其他 YOLO 版本,可以留意一下,整体环境都是比较通用的)
放一个 requirements.txt 的链接,有需要的可以直接过去看看:
https://github.com/WongKinYiu/yolov7/blob/pose/requirements.txt
五、测试
一般来讲,环境配好了,测试就没啥问题。就算是自己挨个装包的时候漏掉了几个,到时候补上就好了
but!!!测试的权重使肯定要的了,官方 github 的测试指导给了他们的权重文件,直接下载就好了(要有点耐心),贴一下测试代码
这个时候还不知道下载的权重文件应该放在哪儿(习惯上,应该有一个专门的文件夹用来存放权重文件的),经过尝试, yolov7-pose 中是直接放在项目的根目录下的(和 test.py 文件在同级目录)
OK!开始测试,然后又有新的问题

官方 github 中只给了数据集的标签文件,这就需要我们自己找一下对应的图片数据集。 test 操作只需要 val2017 对应的内容就可以了。(YOLOv7 对应的 github 仓库提供了下载链接,但是速度可能会很慢)
留意一下报错内容,里面是有数据集地址的,咱们下载好数据集,放到对应位置就可以了。(在 yolov7-pose 项目文件夹得同级目录下新建文件夹 coco_kpts,该文件夹目录结构如图)

这时候重新执行测试代码就可以啦!
我以为真的结束了,可是。。。还是报错

大体意思就是,还缺少一个json文件。COCO 数据集官网是有这个文件下载的。下载完这个文件之后,和 coco_kpts 文件夹一样,新建一个 coco 文件夹,具体结构可以看上面这张图。将下载好的
person_keypoints_val2017.json 文件放置在对应位置(不是 coco 文件夹,是 coco 下面的 annotation 文件夹)
现在重新执行测试代码,终于OK了!!!

测试结束,会在 yolov7-pose 文件夹中生成一个 runs 文件夹,里面保存了测试的图片,举个例子

六、网盘资源
COCO数据集下载还是挺麻烦的,我这儿分享一下用到的测试集。顺便附上代码、权重等等
百度网盘(你懂的,准备好了这次测试所需的所有文件):链接:
https://pan.baidu.com/s/1Ypl5JNJf3Ou0XPXVSO_gHQ 提取码:ouvi
七、总结
一句话概括 “坑” ,方法是好方法,但是配置环境、跑通代码的过程大大小小的坑还是挺多的,我这个地方还没有尝试 detect
附上别人遇到的坑,有需要的可以参考
https://blog.csdn.net/qq_32033383/article/details/127977037