HRNet 【demo 复现过程】
Deep High-Resolution Representation Learning for Human Pose Estimation
HRNet 是一篇非常经典的关于2D 人体姿势检测的论文,昨天把demo跑通了,记录一下复现过程。
论文题目:Deep High-Resolution Representation Learning for Human Pose Estimation
发表时间:2019
论文级别:Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)
论文笔记
代码复现
- 创建虚拟环境
conda create -n HRNet python=3.6
我是在 AutoDL服务器上跑的
-
下载pytorch
pytorch 地址:pytorch 官网,根据里面的指引,按照你环境类型复制下载命令。 -
下载依赖,根据github源代码里的requirements.txt文件下载,使用下面命令:
pip install -r requirements.txt
- Make libs:
cd ${POSE_ROOT}/lib
make
这里的${POSE_ROOT}是你放源代码的位置
- 创建文件夹:
mkdir output
mkdir log
最后文件夹的结构是下面的样子:
${POSE_ROOT}
├── data
├── experiments
├── lib
├── log
├── models
├── output
├── tools
├── README.md
└── requirements.txt
-
下载预训练姿势检测器,下载到models文件夹中,下载地址为:
https://drive.google.com/drive/folders/1hOTihvbyIxsm5ygDpbUuJ7O_tzv4oXjC?usp=sharing
-
然后把你自己想检测的视频放在videos文件夹下(videos文件夹自己创建),最终的文件结构如下:
- 开始运行推理代码:
python demo/inference.py --cfg demo/inference-config.yaml \
--videoFile ../../multi_people.mp4 \
--writeBoxFrames \
--outputDir output \
TEST.MODEL_FILE ../models/pytorch/pose_coco/pose_hrnet_w32_256x192.pth
运行代码过程中报错
ModuleNotFoundError:No module named ‘lib’
报错找不到模块,但是明明有这个自定义模块,最后看了博客
ModuleNotFoundError:No module named ‘lib’
受到启发,是因为没有在inference.py文件中导入初始化路径,在inference.py文件中加上以下代码:import _init_paths
,然后_init_paths.py文件中这样写:
2.
cannot connect to X server
上网查原因是因为项目中有显示图片的代码,但是因为服务器没有图形显示界面,所以不能显示出来。
在inference.py文件中把显示图片的代码注释掉:
然后就可以正常运行,可以在output文件夹中看到很多帧图片以及一个视频
除了运行视频文件,还可以有其他参数,比如相机,图片,具体参数解释如下:
我挑选了图片参数进行测试,运行以下代码:
python demo/demo.py --image test.jpg --showFps --write
这里要注意去inference-config.yaml 修改预训练模型和输出位置:我还修改了GPU的个数,我在服务器跑是有一个GPU的,但是运行demo的时候报错说CUDA参数错误,然后上网查了一下,可能是GPU数量不匹配,所以我改了GPUs为0,想不到就不报错了。
然后在demo.py中修改cfg的位置,
最终在output文件夹得到如下结果:
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)