• HRNet 【demo 复现过程】


    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)

    论文笔记

    HRNet 论文笔记

    代码复现

    • 创建虚拟环境
    conda create -n HRNet python=3.6
    
    • 1

    我是在 AutoDL服务器上跑的

    • 下载pytorch
      pytorch 地址:pytorch 官网,根据里面的指引,按照你环境类型复制下载命令。

    • 下载依赖,根据github源代码里的requirements.txt文件下载,使用下面命令:

    pip install -r requirements.txt
    
    • 1
    • Make libs:
    cd ${POSE_ROOT}/lib
    make
    
    • 1
    • 2

    这里的${POSE_ROOT}是你放源代码的位置

    • 创建文件夹:
    mkdir output 
    mkdir log
    
    • 1
    • 2

    最后文件夹的结构是下面的样子:

    ${POSE_ROOT}
    ├── data
    ├── experiments
    ├── lib
    ├── log
    ├── models
    ├── output
    ├── tools 
    ├── README.md
    └── requirements.txt
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 下载预训练姿势检测器,下载到models文件夹中,下载地址为:https://drive.google.com/drive/folders/1hOTihvbyIxsm5ygDpbUuJ7O_tzv4oXjC?usp=sharing

    • 然后把你自己想检测的视频放在videos文件夹下(videos文件夹自己创建),最终的文件结构如下:

    HRNet 文件夹结构

    • 开始运行推理代码:
    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 
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    运行代码过程中报错

    ModuleNotFoundError:No module named ‘lib’

    01 报错找不到模块,但是明明有这个自定义模块,最后看了博客

    ModuleNotFoundError:No module named ‘lib’

    受到启发,是因为没有在inference.py文件中导入初始化路径,在inference.py文件中加上以下代码:import _init_paths,然后_init_paths.py文件中这样写:

    2
    2.

    cannot connect to X server

    3
    上网查原因是因为项目中有显示图片的代码,但是因为服务器没有图形显示界面,所以不能显示出来。
    在inference.py文件中把显示图片的代码注释掉:

    5
    然后就可以正常运行,可以在output文件夹中看到很多帧图片以及一个视频

    6

    除了运行视频文件,还可以有其他参数,比如相机,图片,具体参数解释如下:

    7

    我挑选了图片参数进行测试,运行以下代码:

    python demo/demo.py --image test.jpg --showFps --write
    
    • 1

    这里要注意去inference-config.yaml 修改预训练模型和输出位置:我还修改了GPU的个数,我在服务器跑是有一个GPU的,但是运行demo的时候报错说CUDA参数错误,然后上网查了一下,可能是GPU数量不匹配,所以我改了GPUs为0,想不到就不报错了。

    8
    然后在demo.py中修改cfg的位置,
    9

    最终在output文件夹得到如下结果:
    10

  • 相关阅读:
    机械制造企业如何做好生产插单管理?
    休闲度假类酒店小程序开发功能介绍
    打造千万级流量秒杀第十八课 热更新:如何解决程序升级中的稳定性问题?
    Jetpack:002-页面与布局
    助力跨境电商出海 腾讯云推出“轻量化”解决方案
    AP3466 同步降压恒压IC 4-30V 3.6A 输出同步降压驱动器
    代码随想录算法训练营第五十三天|1143.最长公共子序列、1035.不相交的线、53. 最大子序和
    Vue webStorage 浏览器本地存储数据(附项目实战案例!)
    Linux常用命令-2
    微信公众号怎么变更认证主体?
  • 原文地址:https://blog.csdn.net/qq_45257495/article/details/126407058