mmpose/configs/wholebody_2d_keypoint/dwpose
Tau 6d10b2ec81
Dev 1.x (#2752)
* update

* [Fix] Fix HRFormer log link

* [Feature] Add Application 'Just dance' (#2528)

* [Docs] Add advanced tutorial of implement new model. (#2539)

* [Doc] Update img (#2541)

* [Feature] Support MotionBERT (#2482)

* [Fix] Fix demo scripts (#2542)

* [Fix] Fix Pose3dInferencer keypoint shape bug (#2543)

* [Enhance] Add notifications when saving visualization results (#2545)

* [Fix] MotionBERT training and flip-test (#2548)

* [Docs] Enhance docs (#2555)

* [Docs] Fix links in doc (#2557)

* [Docs] add details (#2558)

* [Refactor] 3d human pose demo (#2554)

* [Docs] Update MotionBERT docs (#2559)

* [Refactor] Update the arguments of 3d inferencer to align with the demo script (#2561)

* [Enhance] Combined dataset supports custom sampling ratio (#2562)

* [Docs] Add MultiSourceSampler docs (#2563)

* [Doc] Refine docs (#2564)

* [Feature][MMSIG] Add UniFormer Pose Estimation to Projects folder (#2501)

* [Fix] Check the compatibility of inferencer's input/output  (#2567)

* [Fix]Fix 3d visualization (#2565)

* [Feature] Add bear example in just dance (#2568)

* [Doc] Add example and openxlab link for just dance (#2571)

* [Fix] Configs' paths of VideoPose3d (#2572)

* [Docs] update docs (#2573)

* [Fix] Fix new config bug in train.py (#2575)

* [Fix] Configs' of MotionBERT (#2574)

* [Enhance] Normalization option in 3d human pose demo and inferencer (#2576)

* [Fix] Fix the incorrect labels for training vis_head with combined datasets (#2550)

* [Enhance] Enhance 3dpose demo and docs (#2578)

* [Docs] Enhance Codecs documents (#2580)

* [Feature] Add DWPose distilled WholeBody RTMPose models (#2581)

* [Docs] Add deployment docs (#2582)

* [Fix] Refine 3dpose (#2583)

* [Fix] Fix config typo in rtmpose-x (#2585)

* [Fix] Fix 3d inferencer (#2593)

* [Feature] Add a simple visualize api (#2596)

* [Feature][MMSIG] Support badcase analyze in test (#2584)

* [Fix] fix bug in flip_bbox with xyxy format (#2598)

* [Feature] Support ubody dataset (2d keypoints) (#2588)

* [Fix] Fix visualization bug in 3d pose (#2594)

* [Fix] Remove use-multi-frames option (#2601)

* [Enhance] Update demos (#2602)

* [Enhance] wholebody support  openpose style visualization (#2609)

* [Docs] Documentation regarding 3d pose (#2599)

* [CodeCamp2023-533] Migration Deepfashion topdown heatmap algorithms to 1.x (#2597)

* [Fix] fix badcase hook (#2616)

* [Fix] Update dataset mim downloading source to OpenXLab (#2614)

* [Docs] Update docs structure (#2617)

* [Docs] Refine Docs (#2619)

* [Fix] Fix numpy error (#2626)

* [Docs] Update error info and docs (#2624)

* [Fix] Fix inferencer argument name (#2627)

* [Fix] fix links for coco+aic hrnet (#2630)

* [Fix] fix a bug when visualize keypoint indices (#2631)

* [Docs] Update rtmpose docs (#2642)

* [Docs] update README.md (#2647)

* [Docs] Add onnx of RTMPose models (#2656)

* [Docs] Fix mmengine link (#2655)

* [Docs] Update QR code (#2653)

* [Feature] Add DWPose (#2643)

* [Refactor] Reorganize distillers (#2658)

* [CodeCamp2023-259]Document Writing: Advanced Tutorial - Custom Data Augmentation (#2605)

* [Docs] Fix installation docs(#2668)

* [Fix] Fix expired links in README (#2673)

* [Feature] Support multi-dataset evaluation (#2674)

* [Refactor] Specify labels to pack in codecs (#2659)

* [Refactor] update mapping tables (#2676)

* [Fix] fix link (#2677)

* [Enhance] Enable CocoMetric to get ann_file from MessageHub (#2678)

* [Fix] fix vitpose pretrained ckpts (#2687)

* [Refactor] Refactor YOLOX-Pose into mmpose core package (#2620)

* [Fix] Fix typo in COCOMetric(#2691)

* [Fix] Fix bug raised by changing bbox_center to input_center (#2693)

* [Feature] Surpport EDPose for inference(#2688)

* [Refactor] Internet for 3d hand pose estimation (#2632)

* [Fix] Change test batch_size of edpose to 1 (#2701)

* [Docs] Add OpenXLab Badge (#2698)

* [Doc] fix inferencer doc (#2702)

* [Docs] Refine dataset config tutorial (#2707)

* [Fix] modify yoloxpose test settings (#2706)

* [Fix] add compatibility for argument `return_datasample` (#2708)

* [Feature] Support ubody3d dataset (#2699)

* [Fix] Fix 3d inferencer (#2709)

* [Fix] Move ubody3d dataset to wholebody3d (#2712)

* [Refactor] Refactor config and dataset file structures (#2711)

* [Fix] give more clues when loading img failed (#2714)

* [Feature] Add demo script for 3d hand pose  (#2710)

* [Fix] Fix Internet demo (#2717)

* [codecamp: mmpose-315] 300W-LP data set support (#2716)

* [Fix] Fix the typo in YOLOX-Pose (#2719)

* [Feature] Add detectors trained on humanart (#2724)

* [Feature] Add RTMPose-Wholebody (#2721)

* [Doc] Fix github action badge in README (#2727)

* [Fix] Fix bug of dwpose (#2728)

* [Feature] Support hand3d inferencer (#2729)

* [Fix] Fix new config of RTMW (#2731)

* [Fix] Align visualization color of 3d demo (#2734)

* [Fix] Refine h36m data loading and add head_size to PackPoseInputs (#2735)

* [Refactor] Align test accuracy for AE (#2737)

* [Refactor] Separate evaluation mappings from KeypointConverter (#2738)

* [Fix] MotionbertLabel codec (#2739)

* [Fix] Fix mask shape (#2740)

* [Feature] Add training datasets of RTMW (#2743)

* [Doc] update RTMPose README (#2744)

* [Fix] skip warnings in demo (#2746)

* Bump 1.2 (#2748)

* add comments in dekr configs (#2751)

---------

Co-authored-by: Peng Lu <penglu2097@gmail.com>
Co-authored-by: Yifan Lareina WU <mhsj16lareina@gmail.com>
Co-authored-by: Xin Li <7219519+xin-li-67@users.noreply.github.com>
Co-authored-by: Indigo6 <40358785+Indigo6@users.noreply.github.com>
Co-authored-by: 谢昕辰 <xiexinch@outlook.com>
Co-authored-by: tpoisonooo <khj.application@aliyun.com>
Co-authored-by: zhengjie.xu <jerryxuzhengjie@gmail.com>
Co-authored-by: Mesopotamia <54797851+yzd-v@users.noreply.github.com>
Co-authored-by: chaodyna <li0331_1@163.com>
Co-authored-by: lwttttt <85999869+lwttttt@users.noreply.github.com>
Co-authored-by: Kanji Yomoda <Kanji.yy@gmail.com>
Co-authored-by: LiuYi-Up <73060646+LiuYi-Up@users.noreply.github.com>
Co-authored-by: ZhaoQiiii <102809799+ZhaoQiiii@users.noreply.github.com>
Co-authored-by: Yang-ChangHui <71805205+Yang-Changhui@users.noreply.github.com>
Co-authored-by: Xuan Ju <89566272+juxuan27@users.noreply.github.com>
2023-10-12 18:14:58 +08:00
..
coco-wholebody Dev 1.x (#2752) 2023-10-12 18:14:58 +08:00
ubody Dev 1.x (#2752) 2023-10-12 18:14:58 +08:00
README.md Dev 1.x (#2752) 2023-10-12 18:14:58 +08:00

README.md

DWPose

Whole-body pose estimation localizes the human body, hand, face, and foot keypoints in an image. This task is challenging due to multi-scale body parts, fine-grained localization for low-resolution regions, and data scarcity. Meanwhile, applying a highly efficient and accurate pose estimator to widely human-centric understanding and generation tasks is urgent. In this work, we present a two-stage pose Distillation for Whole-body Pose estimators, named DWPose, to improve their effectiveness and efficiency. The first-stage distillation designs a weight-decay strategy while utilizing a teacher's intermediate feature and final logits with both visible and invisible keypoints to supervise the student from scratch. The second stage distills the student model itself to further improve performance. Different from the previous self-knowledge distillation, this stage finetunes the student's head with only 20% training time as a plug-and-play training strategy. For data limitations, we explore the UBody dataset that contains diverse facial expressions and hand gestures for real-life applications. Comprehensive experiments show the superiority of our proposed simple yet effective methods. We achieve new state-of-the-art performance on COCO-WholeBody, significantly boosting the whole-body AP of RTMPose-l from 64.8% to 66.5%, even surpassing RTMPose-x teacher with 65.3% AP. We release a series of models with different sizes, from tiny to large, for satisfying various downstream tasks.

Results and Models

COCO-WholeBody Dataset

Results on COCO-WholeBody v1.0 val with detector having human AP of 56.4 on COCO val2017 dataset

Config S1 Dis_config S2 Dis_config Input Size Whole AP Whole AR FLOPS
(G)
ORT-Latency
(ms)
(i7-11700)
TRT-FP16-Latency
(ms)
(GTX 1660Ti)
Download
DWPose-t DW l-t DW t-t 256x192 48.5 58.4 0.5 - - Model
DWPose-s DW l-s DW s-s 256x192 53.8 63.2 0.9 - - Model
DWPose-m DW l-m DW m-m 256x192 60.6 69.5 2.22 13.50 4.00 Model
DWPose-l DW x-l DW l-l 256x192 63.1 71.7 4.52 23.41 5.67 Model
DWPose-l DW x-l DW l-l 384x288 66.5 74.3 10.07 44.58 7.68 Model

Train a model

Train DWPose with the first stage distillation

bash tools/dist_train.sh configs/wholebody_2d_keypoint/dwpose/ubody/s1_dis/rtmpose_x_dis_l_coco-ubody-384x288.py 8

Tansfer the S1 distillation models into regular models

# first stage distillation
python pth_transfer.py $dis_ckpt $new_pose_ckpt

Before S2 distillation, you should add your model path into 'teacher_pretrained' of your S2 dis_config.

Train DWPose with the second stage distillation

bash tools/dist_train.sh configs/wholebody_2d_keypoint/dwpose/ubody/s2_dis/dwpose_l-ll_coco-ubody-384x288.py 8

Tansfer the S2 distillation models into regular models

# second stage distillation
python pth_transfer.py $dis_ckpt $new_pose_ckpt --two_dis

Citation

@article{yang2023effective,
  title={Effective Whole-body Pose Estimation with Two-stages Distillation},
  author={Yang, Zhendong and Zeng, Ailing and Yuan, Chun and Li, Yu},
  journal={arXiv preprint arXiv:2307.15880},
  year={2023}
}