logo

分享从Openpose到CV工具箱MMLAB

头像
Honobono
17阅读1评论5 个月前

1. 起因

Dissertation的项目是关于人体姿态识别的,目前公认的做的比较好的模型就是CMU的Openpose,从效率到效果方面都非常不错,现有的缺陷主要包括无法识别背后,当肢体有部分不在摄像头捕捉范围内造成语义不再连续的时候会出错。
在Win10+RTX2070+CUDA10.1+cudNN7.5环境下编译安装可谓一切顺利,按照CSDN上一些教程,两个小时不到就完美运行了起来。但是在进一步应用到自己的项目中时发现当我需要同时检测识别人体骨架和人类的手部骨架的时候,2070的显存撑不住了,直接out of memory,因此需要将整体进一步测试搬到学校的Ubuntu18.04+1080Ti+CUDA10.1+cudNN7.5上测试,但是却遇到了巨大的难题。Openpose的编译需要装好相关环境之后使用CMake进行打包编译,但是不论如何Cmake都无法检测到cudNN(系统中的cuDNN安装无误,出了此项目的Cmake之外均能正常检测到,如果有大佬有相关的经验也希望能求教一下,不知道是不是此项目中默认的cmake配置有问题,因为对cmake等相关的工具实在不甚了解)

2. 抉择

随着在openpose上投入的时间大幅度增加,整体的项目进度严重减缓,迫于项目时间压力,只能一边继续研究openpose一边寻找可用的备用方案,所幸找到了MMpose这个工具箱,支持调用中科大的hrnet进行全身骨骼节点检测,纯python,适用linux,目前的主要缺陷在于精度虽高但是有误检测的情况,此外效率偏低,对于高分辨率的视频检测每帧大约需要0.5s的时间,如果放在实时摄像头进行600*800的话大约能够维持流畅的水平

3. 下一步

对于openpose的研究不会停止,对于mmpose的应用要暂时进一步研究一下。同时整体项目的检测方案要继续向下推进了。

分享主题:
工具/资源经历/经验
城市:
苏州
加载中…
精选评论
头像
5 个月前码工

cmake编译时候,指定cudnn一般是加参数-DCUDNN_INCLUDE_DIR=/usr/local/cuda/include -DCUDNN_LIBRARY=/usr/local/cuda/lib64/libcudnn.so类似这样,或者CMakeList.txt里面有find_path/find_library之类的没找到module报错。可以先去查下issue。

ps: 正经做CV项目,2070才8G吧,是时候跟进一波3090,24G大显存就是香~