HigherHRnet详解之实验复现

发布时间:2024-10-24 15:01

论文:《HigherHRNet: Scale-Aware Representation Learning for Bottom-Up Human Pose Estimation》

论文链接:https://arxiv.org/pdf/1908.10357.pdf

代码链接:https://github.com/HRNet/HigherHRNet-Human-Pose-Estimation


姿态估计前言知识:姿态估计-前言知识_error:404..的博客-CSDN博客

HigherHRNet详解之论文解析:HigherHRnet详解之论文详解_error:404..的博客-CSDN博客

HigherHRNet详解之源码解析:


1.前言

HigherHRNet 来自于CVPR2020的论文,论文主要是提出了一个自底向上的2D人体姿态估计网络–HigherHRNet。该论文代码成为自底向上网络一个经典网络,CVPR2021年最先进的自底向上网络DEKR和SWAHR都是基于HigherHRNet的源码上进行的局部改进。所以搞懂HigherHRNet 对2020~2021的自底向上的人体姿态估计论文研究很有帮助。

2.代码复现
 

新建环境,名字以及python版本根据自己的来

conda create -n HigherHRnet python=3.6

激活环境

conda activate HigherHRnet

 查看一下里面有哪些包,要保证有基本的包

conda list

现在就开始配置HighterHRnet的环境

进入对应路径,导入依赖

pip install -r requirements.txt

安装COCOAPI

# COCOAPI=/path/to/clone/cocoapi,推荐路径lib/cocoapi
git clone https://github.com/cocodataset/cocoapi.git $COCOAPI
cd $COCOAPI/PythonAPI

# 下面两个选择一个即可,第一个是全局,第二个是指定环境
make install
python3 setup.py install --user

安装CrowdPoseAPI

与COCOAPI同理,但是官网给出的链接感觉是有问题的,可以试试国内镜像

git clone https://github.com.cnpmjs.org/Jeff-sjtu/CrowdPose.git 

进入对应的PythonAPI文件路径后

python3 setup.py build_ext --inplace

python3 setup.py build_ext install

再在主文件夹新建两个文件夹,output(training model output directory)和log(tensorboard log directory)

mkdir output 
mkdir log

过后文件夹目录像这样

${POSE_ROOT}
├── data
├── experiments
├── lib
├── log
├── models
├── output
├── tools 
├── README.md
└── requirements.txt

 再下载预训练模型(GoogleDrive or OneDrive,文件目录结构如下

${POSE_ROOT}
 `-- models
     `-- pytorch
         |-- imagenet
         |   `-- hrnet_w32-36af842e.pth
         `-- pose_coco
             `-- pose_higher_hrnet_w32_512.pth

 最后数据准备,COCO download和CrowdPose download,注意crowdPose数据集下载后需要进行处理

python tools/crowdpose_concat_train_val.py

数据集的文件目录结构 

${POSE_ROOT}
|-- data
`-- |-- coco
    `-- |-- annotations
        |   |-- person_keypoints_train2017.json
        |   `-- person_keypoints_val2017.json
        `-- images
            |-- train2017
            |   |-- 000000000009.jpg
            |   |-- ... 
            `-- val2017
                |-- 000000000139.jpg
                |-- ... 

${POSE_ROOT}
|-- data
`-- |-- crowd_pose
    `-- |-- json
        |   |-- crowdpose_train.json
        |   |-- crowdpose_val.json
        |   |-- crowdpose_trainval.json (generated by tools/crowdpose_concat_train_val.py)
        |   `-- crowdpose_test.json
        `-- images
            |-- 100000.jpg
            |-- 100001.jpg
            |-- ... 

 然后理论上来说就可以跑了。

single-scale testing(默认使用horizontal flip),如果不使用在最后面加上TEST.FLIP_TEST False:

python tools/valid.py \
    --cfg experiments/coco/higher_hrnet/w32_512_adam_lr1e-3.yaml \
    TEST.MODEL_FILE models/pytorch/pose_coco/pose_higher_hrnet_w32_512.pth

Multi-scale testing

python tools/valid.py \
    --cfg experiments/coco/higher_hrnet/w32_512_adam_lr1e-3.yaml \
    TEST.MODEL_FILE models/pytorch/pose_coco/pose_higher_hrnet_w32_512.pth \
    TEST.SCALE_FACTOR '[0.5, 1.0, 2.0]'

COCO training

python tools/dist_train.py \
    --cfg experiments/coco/higher_hrnet/w32_512_adam_lr1e-3.yaml 

CrowdPose training

python tools/dist_train.py \
    --cfg experiments/crowd_pose/higher_hrnet/w32_512_adam_lr1e-3.yaml 

还有其他的training方式,可以参考官网

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号