姿态流
Pose Flow: 高效在线姿态跟踪的官方实现。
在PoseTrack挑战验证集上的结果:
- 任务2:多人姿态估计(mAP)
方法 | 头部mAP | 肩部mAP | 肘部mAP | 手腕mAP | 臀部mAP | 膝盖mAP | 脚踝mAP | 总mAP |
---|---|---|---|---|---|---|---|---|
Detect-and-Track(FAIR) | 67.5 | 70.2 | 62 | 51.7 | 60.7 | 58.7 | 49.8 | 60.6 |
AlphaPose | 66.7 | 73.3 | 68.3 | 61.1 | 67.5 | 67.0 | 61.3 | 66.5 |
- 任务3:姿态跟踪(MOTA)
方法 | 头部MOTA | 肩部MOTA | 肘部MOTA | 手腕MOTA | 臀部MOTA | 膝盖MOTA | 脚踝MOTA | 总MOTA | 总MOTP | 速度(FPS) |
---|---|---|---|---|---|---|---|---|---|---|
Detect-and-Track(FAIR) | 61.7 | 65.5 | 57.3 | 45.7 | 54.3 | 53.1 | 45.7 | 55.2 | 61.5 | 未知 |
PoseFlow(DeepMatch) | 59.8 | 67.0 | 59.8 | 51.6 | 60.0 | 58.4 | 50.5 | 58.3 | 67.8 | 8 |
PoseFlow(OrbMatch) | 59.0 | 66.8 | 60.0 | 51.8 | 59.4 | 58.4 | 50.3 | 58.0 | 62.2 | 24 |
最新特性
- 2018年12月:发布PoseFlow(通用版本)!支持任何数据集和姿态跟踪结果可视化。
- 2018年10月:支持使用ORB(OpenCV)生成对应文件,速度提升3倍,无需编译DeepMatching库。
要求
- Python 2.7.13
- OpenCV 3.4.2.16
- OpenCV-contrib 3.4.2.16
- tqdm 4.19.8
安装
- 从PoseTrack下载PoseTrack数据集到
AlphaPose/PoseFlow/posetrack_data/
- (可选)使用DeepMatching提取每个视频中相邻帧之间的密集对应关系,请参考DeepMatching编译错误正确编译DeepMatching
pip install -r requirements.txt
cd deepmatching
make clean all
make
cd ..
适用于任何数据集(通用版本)
- 使用AlphaPose生成多人姿态估计结果。
# pytorch版本
python demo.py --indir ${image_dir}$ --outdir ${results_dir}$
# torch版本
./run.sh --indir ${image_dir}$ --outdir ${results_dir}$
- 运行姿态跟踪
# pytorch版本
python tracker-general.py --imgdir ${image_dir}$
--in_json ${results_dir}$/alphapose-results.json
--out_json ${results_dir}$/alphapose-results-forvis-tracked.json
--visdir ${render_dir}$
# torch版本
python tracker-general.py --imgdir ${image_dir}$
--in_json ${results_dir}$/POSE/alpha-pose-results-forvis.json
--out_json ${results_dir}$/POSE/alpha-pose-results-forvis-tracked.json
--visdir ${render_dir}$
PoseTrack数据集评估(论文基线)
- 使用AlphaPose在视频上生成多人姿态估计结果,格式类似于
alpha-pose-results-sample.json
。 - 使用DeepMatching/ORB生成对应文件。
# 使用DeepMatching生成对应关系
# (更稳健但较慢)
python matching.py --orb=0
或者
# 使用Orb生成对应关系
# (更快但稳健性较差)
python matching.py --orb=1
- 运行姿态跟踪
python tracker-baseline.py --dataset=val/test --orb=1/0
- 评估
原始poseval有一些关于如何将注释文件从MAT转换为JSON的说明。
在验证数据集上评估姿态跟踪结果:
git clone https://github.com/leonid-pishchulin/poseval.git --recursive
cd poseval/py && export PYTHONPATH=$PWD/../py-motmetrics:$PYTHONPATH
cd ../../
python poseval/py/evaluate.py --groundTruth=./posetrack_data/annotations/val \
--predictions=./${track_result_dir}/ \
--evalPoseTracking --evalPoseEstimation
引用
如果这些论文对您的研究有帮助,请在您的出版物中引用它们:
@inproceedings{xiu2018poseflow,
author = {Xiu, Yuliang and Li, Jiefeng and Wang, Haoyu and Fang, Yinghong and Lu, Cewu},
title = {{Pose Flow}: Efficient Online Pose Tracking},
booktitle={BMVC},
year = {2018}
}