论文:《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
【姿态估计|HigherHRnet详解之实验复现】安装CrowdPoseAPI
与COCOAPI同理,但是官网给出的链接感觉是有问题的,可以试试国内镜像
git clone https://github.com.cnpmjs.org/Jeff-sjtu/CrowdPose.git
进入对应的PythonAPI文件路径后
python3 setup.py build_ext --inplacepython3 setup.py build_ext install
再在主文件夹新建两个文件夹,output(training model output directory)和log(tensorboard log directory)
mkdir output
mkdir log
过后文件夹目录像这样
再下载预训练模型(GoogleDrive or OneDrive),文件目录结构如下${POSE_ROOT} ├── data ├── experiments ├── lib ├── log ├── models ├── output ├── tools ├── README.md └── requirements.txt
最后数据准备,COCO download和CrowdPose download,注意crowdPose数据集下载后需要进行处理${POSE_ROOT} `-- models `-- pytorch |-- imagenet |`-- hrnet_w32-36af842e.pth `-- pose_coco `-- pose_higher_hrnet_w32_512.pth
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方式,可以参考官网。
推荐阅读
- 姿态估计|HigherHRnet详解之论文详解
- OAK使用教程|如何在树莓派上使用OAK相机()
- OAK应用案例|【开源】使用PhenoCV-WeedCam进行更智能、更精确的杂草管理
- OAK使用教程|OAK-D-Pro上手指南
- 计算机视觉|我们如何解决了RealSense偏色问题()
- opencv|opencv学习笔记九--背景建模+光流估计
- 计算机视觉|干货收藏!基于深度学习目标姿态估计的论文一览(2017-2020)
- 算法|音视频技术开发周刊 | 244
- opencv学习记录|【Opencv学习记录】Vs2019+Opencv4.5.5扩展库源码编译