Datasets
Human3.6M 数据集的下载与 Human3.6M pkl 文件缺失的处理方法 - 知乎
MMPose
Overview — MMPose 1.3.2 documentation
[BACKBONE] 3d Human Pose Estimation in Video With Temporal Convolutions and Semi-Supervised Training (Video Pose Lift + Videopose3d on H36m ⇨)
[BACKBONE] A Simple Yet Effective Baseline for 3d Human Pose Estimation (Image Pose Lift + Simplebaseline3d on H36m ⇨)
[BACKBONE] Learning Human Motion Representations: A Unified Perspective (Motionbert + Motionbert on H36m ⇨)
[DATASET] Human3.6m: Large Scale Datasets and Predictive Methods for 3d Human Sensing in Natural Environments (Video Pose Lift + Videopose3d on H36m ⇨, Image Pose Lift + Simplebaseline3d on H36m ⇨, Motionbert + Motionbert on H36m ⇨)
Method VideoPose3D(CVPR 2019)
3d-pose-baseline (ICCV 2017)
MotionBERT (ICCV 2023)
UGCN (ECCV 2020)
Dev Env
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 (openmmlab-mmpose) (base) houjinliang@3080server:~/MyCVProject/bDetection/mmpose$ python --version Python 3.8.19 (openmmlab-mmpose) (base) houjinliang@3080server:~/MyCVProject/bDetection/mmpose$ pip list Package Version Editable project location ---------------------- ------------ ---------------------------------------------- addict 2.4.0 aliyun-python-sdk-core 2.15.1 aliyun-python-sdk-kms 2.16.3 asttokens 2.0.5 attrs 23.2.0 backcall 0.2.0 cachetools 5.3.3 certifi 2024.7.4 cffi 1.16.0 charset-normalizer 3.3.2 chumpy 0.70 click 8.1.7 colorama 0.4.6comm 0.2.1 contourpy 1.1.1 coverage 7.5.4 crcmod 1.7 cryptography 42.0.8 cycler 0.12.1 Cython 3.0.10 debugpy 1.6.7 decorator 5.1.1 exceptiongroup 1.2.1 executing 0.8.3 filelock 3.14.0 flake8 7.1.0 fonttools 4.53.1 idna 3.7 importlib-metadata 7.0.1 importlib_resources 6.4.0 iniconfig 2.0.0 interrogate 1.7.0 ipykernel 6.28.0 ipython 8.12.2 isort 4.3.21 jedi 0.18.1 jmespath 0.10.0 json-tricks 3.17.3 jupyter_client 8.6.0 jupyter_core 5.7.2 kiwisolver 1.4.5 Markdown 3.6 markdown-it-py 3.0.0 matplotlib 3.7.5 matplotlib-inline 0.1.6 mccabe 0.7.0 mdurl 0.1.2 ✅mmcv 2.1.0 ✅mmdet 3.3.0 ✅mmengine 0.10.4 ✅mmpose 1.3.1 /mnt/houjinliang/MyCVProject/bDetection/mmpose model-index 0.1.11 munkres 1.1.4 nest-asyncio 1.6.0 numpy 1.24.4 nvidia-ml-py 12.535.161 nvitop 1.3.2 opencv-python 4.10.0.84 opendatalab 0.0.10 openmim 0.3.9 openxlab 0.1.1 ordered-set 4.1.0 oss2 2.17.0 packaging 24.1 pandas 2.0.3 parameterized 0.9.0 parso 0.8.3 pexpect 4.8.0 pickleshare 0.7.5 pillow 10.4.0 pip 24.0 platformdirs 3.10.0 pluggy 1.5.0 prompt-toolkit 3.0.43 psutil 5.9.0 ptyprocess 0.7.0 pure-eval 0.2.2 py 1.11.0 pycocotools 2.0.7 pycodestyle 2.12.0 pycparser 2.22 pycryptodome 3.20.0 pyflakes 3.2.0 Pygments 2.15.1 pyparsing 3.1.2 pytest 8.2.2 pytest-runner 6.0.1 python-dateutil 2.9.0.post0 pytz 2023.4 PyYAML 6.0.1 pyzmq 25.1.2 requests 2.28.2 rich 13.4.2 scipy 1.10.1 setuptools 60.2.0 shapely 2.0.4 six 1.16.0 stack-data 0.2.0 tabulate 0.9.0 termcolor 2.4.0 terminaltables 3.1.10 tomli 2.0.1 ✅torch 1.10.1+cu113 ✅torchvision 0.11.2+cu113 tornado 6.4.1 tqdm 4.65.2 traitlets 5.14.3 typing_extensions 4.11.0 tzdata 2024.1 urllib3 1.26.19 wcwidth 0.2.5 wheel 0.43.0 xdoctest 1.1.5 xtcocotools 1.14.3 yapf 0.40.2 zipp 3.17.0
Demo Animal Pose Estimation 2D 动物图片姿态识别推理 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 python demo/topdown_demo_with_mmdet.py \ demo/mmdetection_cfg/rtmdet_m_8xb32-300e_coco.py \ https://download.openmmlab.com/mmdetection/v3.0/rtmdet/rtmdet_m_8xb32-300e_coco/rtmdet_m_8xb32-300e_coco_20220719_112220-229f527c.pth \ configs/animal_2d_keypoint/topdown_heatmap/animalpose/td-hm_hrnet-w32_8xb64-210e_animalpose-256x256.py \ https://download.openmmlab.com/mmpose/animal/hrnet/hrnet_w32_animalpose_256x256-1aa7f075_20210426.pth \ --input tests/data/animalpose/ca110.jpeg \ --output-root vis_results/AnimalPoseEstimation \ --draw-heatmap --det-cat-id=15 python demo/topdown_demo_with_mmdet.py \ demo/mmdetection_cfg/rtmdet_m_8xb32-300e_coco.py \ https://download.openmmlab.com/mmdetection/v3.0/rtmdet/rtmdet_m_8xb32-300e_coco/rtmdet_m_8xb32-300e_coco_20220719_112220-229f527c.pth \ configs/animal_2d_keypoint/topdown_heatmap/animalpose/td-hm_hrnet-w32_8xb64-210e_animalpose-256x256.py \ https://download.openmmlab.com/mmpose/animal/hrnet/hrnet_w32_animalpose_256x256-1aa7f075_20210426.pth \ --input tests/data/animalpose/ca110.jpeg \ --output-root vis_results/AnimalPoseEstimation \ --save-predictions --draw-heatmap --det-cat-id=15
2D 动物视频姿态识别推理 1 2 3 4 5 6 7 8 python demo/topdown_demo_with_mmdet.py \ demo/mmdetection_cfg/rtmdet_m_8xb32-300e_coco.py \ https://download.openmmlab.com/mmdetection/v3.0/rtmdet/rtmdet_m_8xb32-300e_coco/rtmdet_m_8xb32-300e_coco_20220719_112220-229f527c.pth \ configs/animal_2d_keypoint/topdown_heatmap/animalpose/td-hm_hrnet-w32_8xb64-210e_animalpose-256x256.py \ https://download.openmmlab.com/mmpose/animal/hrnet/hrnet_w32_animalpose_256x256-1aa7f075_20210426.pth \ --input demo/resources/demo_dog.mp4 \ --output-root vis_results/AnimalPoseEstimation \ --draw-heatmap --det-cat-id=16
使用 Inferencer 进行 2D 动物姿态识别推理 1 2 python demo/inferencer_demo.py tests/data/ap10k \ --pose2d animal --vis-out-dir vis_results/ap10k
Face Keypoint Estimation 2D 脸部图片关键点识别推理 1 2 3 4 5 6 7 python demo/topdown_demo_with_mmdet.py \ demo/mmdetection_cfg/yolox-s_8xb8-300e_coco-face.py \ https://download.openmmlab.com/mmpose/mmdet_pretrained/yolo-x_8xb8-300e_coco-face_13274d7c.pth \ configs/face_2d_keypoint/rtmpose/face6/rtmpose-m_8xb256-120e_face6-256x256.py \ https://download.openmmlab.com/mmpose/v1/projects/rtmposev1/rtmpose-m_simcc-face6_pt-in1k_120e-256x256-72a37400_20230529.pth \ --input tests/data/cofw/001766.jpg \ --draw-heatmap --output-root vis_results/FaceKeypointEstimation
2D 脸部视频关键点识别推理 1 2 3 4 5 6 7 8 python demo/topdown_demo_with_mmdet.py \ demo/mmdetection_cfg/yolox-s_8xb8-300e_coco-face.py \ https://download.openmmlab.com/mmpose/mmdet_pretrained/yolo-x_8xb8-300e_coco-face_13274d7c.pth \ configs/face_2d_keypoint/rtmpose/face6/rtmpose-m_8xb256-120e_face6-256x256.py \ https://download.openmmlab.com/mmpose/v1/projects/rtmposev1/rtmpose-m_simcc-face6_pt-in1k_120e-256x256-72a37400_20230529.pth \ --input demo/resources/demo_face.mp4 \ --output-root vis_results/FaceKeypointEstimation \ --radius 1
使用 Inferencer 进行 2D 脸部关键点识别推理 1 2 python demo/inferencer_demo.py tests/data/wflw \ --pose2d face --vis-out-dir vis_results/wflw --radius 1
Hand Keypoint Estimation 2D 手部图片关键点识别 1 2 3 4 5 6 7 8 python demo/topdown_demo_with_mmdet.py \ demo/mmdetection_cfg/rtmdet_nano_320-8xb32_hand.py \ https://download.openmmlab.com/mmpose/v1/projects/rtmposev1/rtmdet_nano_8xb32-300e_hand-267f9c8f.pth \ configs/hand_2d_keypoint/rtmpose/hand5/rtmpose-m_8xb256-210e_hand5-256x256.py \ https://download.openmmlab.com/mmpose/v1/projects/rtmposev1/rtmpose-m_simcc-hand5_pt-aic-coco_210e-256x256-74fb594_20230320.pth \ --input tests/data/onehand10k/9.jpg \ --output-root vis_results/HandKeypointEstimation \ --draw-heatmap
2D 手部视频关键点识别推理 1 2 3 4 5 6 7 8 python demo/topdown_demo_with_mmdet.py \ demo/mmdetection_cfg/rtmdet_nano_320-8xb32_hand.py \ https://download.openmmlab.com/mmpose/v1/projects/rtmposev1/rtmdet_nano_8xb32-300e_hand-267f9c8f.pth \ configs/hand_2d_keypoint/rtmpose/hand5/rtmpose-m_8xb256-210e_hand5-256x256.py \ https://download.openmmlab.com/mmpose/v1/projects/rtmposev1/rtmpose-m_simcc-hand5_pt-aic-coco_210e-256x256-74fb594_20230320.pth \ --input demo/resources/tests_data_nvgesture_sk_color.avi \ --output-root vis_results/HandKeypointEstimation \ --kpt-thr 0.1
使用 Inferencer 进行 2D 手部关键点识别推理 1 2 3 python demo/inferencer_demo.py tests/data/onehand10k \ --pose2d hand --vis-out-dir vis_results/onehand10k \ --bbox-thr 0.5 --kpt-thr 0.05
Human Pose Estimation 2D 人体姿态 Top-Down 图片检测 使用整张图片作为输入进行检测 1 2 3 4 5 6 python demo/image_demo.py \ tests/data/coco/000000000785.jpg \ configs/body_2d_keypoint/topdown_heatmap/coco/td-hm_hrnet-w48_8xb32-210e_coco-256x192.py \ https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w48_coco_256x192-b9e0b3ab_20200708.pth \ --out-file vis_results/HumanPoseEstimation/2d_human_whole_pic.jpg \ --draw-heatmap
使用 MMDet 做人体 bounding box 检测 1 2 3 4 5 6 7 8 python demo/topdown_demo_with_mmdet.py \ demo/mmdetection_cfg/rtmdet_m_640-8xb32_coco-person.py \ https://download.openmmlab.com/mmpose/v1/projects/rtmpose/rtmdet_m_8xb32-100e_coco-obj365-person-235e8209.pth \ configs/body_2d_keypoint/rtmpose/body8/rtmpose-m_8xb256-420e_body8-256x192.py \ https://download.openmmlab.com/mmpose/v1/projects/rtmposev1/rtmpose-m_simcc-body7_pt-body7_420e-256x192-e48f03d0_20230504.pth \ --input tests/data/coco/000000197388.jpg \ --draw-heatmap \ --output-root vis_results/HumanPoseEstimation \
2D 人体姿态 Top-Down 视频检测
我们的脚本同样支持视频作为输入,由 MMDet 完成人体检测后 MMPose 完成 Top-Down 的姿态预估
1 2 3 4 5 6 7 8 python demo/topdown_demo_with_mmdet.py \ demo/mmdetection_cfg/rtmdet_m_640-8xb32_coco-person.py \ https://download.openmmlab.com/mmpose/v1/projects/rtmpose/rtmdet_m_8xb32-100e_coco-obj365-person-235e8209.pth \ configs/body_2d_keypoint/rtmpose/body8/rtmpose-m_8xb256-420e_body8-256x192.py \ https://download.openmmlab.com/mmpose/v1/projects/rtmposev1/rtmpose-m_simcc-body7_pt-body7_420e-256x192-e48f03d0_20230504.pth \ --input tests/data/posetrack18/videos/000001_mpiinew_test/000001_mpiinew_test.mp4 \ --output-root=vis_results/2D_human_Top-Down \ --draw-heatmap
2D 人体姿态 Bottom-Up 图片和视频识别检测 1 2 3 4 5 6 python demo/bottomup_demo.py \ configs/body_2d_keypoint/dekr/coco/dekr_hrnet-w32_8xb10-140e_coco-512x512.py \ https://download.openmmlab.com/mmpose/v1/body_2d_keypoint/dekr/coco/dekr_hrnet-w32_8xb10-140e_coco-512x512_ac7c17bf-20221228.pth \ --input tests/data/coco/000000197388.jpg \ --output-root=vis_results/2D_Bottom-Up \ --save-predictions
使用 Inferencer 进行 2D 人体姿态识别检测 1 2 3 python demo/inferencer_demo.py \ tests/data/posetrack18/videos/000001_mpiinew_test/000001_mpiinew_test.mp4 \ --pose2d human --vis-out-dir vis_results/posetrack18
Human Whole-Body Pose Estimation 2D 人体全身姿态 Top-Down 图片识别 使用整张图片作为输入进行检测
此时输入的整张图片会被当作 bounding box 使用。
1 2 3 4 5 python demo/image_demo.py \ tests/data/coco/000000000785.jpg \ configs/wholebody_2d_keypoint/topdown_heatmap/coco-wholebody/td-hm_vipnas-res50_dark-8xb64-210e_coco-wholebody-256x192.py \ https://download.openmmlab.com/mmpose/top_down/vipnas/vipnas_res50_wholebody_256x192_dark-67c0ce35_20211112.pth \ --out-file vis_results/HumanWhole-BodyPoseEstimation/whole_pic.jpg
使用 MMDet 进行人体 bounding box 检测 1 2 3 4 5 6 7 python demo/topdown_demo_with_mmdet.py \ demo/mmdetection_cfg/rtmdet_m_640-8xb32_coco-person.py \ https://download.openmmlab.com/mmpose/v1/projects/rtmpose/rtmdet_m_8xb32-100e_coco-obj365-person-235e8209.pth \ configs/wholebody_2d_keypoint/topdown_heatmap/coco-wholebody/td-hm_hrnet-w48_dark-8xb32-210e_coco-wholebody-384x288.py \ https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w48_coco_wholebody_384x288_dark-f5726563_20200918.pth \ --input tests/data/coco/000000196141.jpg \ --output-root vis_results/HumanWhole-BodyPoseEstimation
2D 人体全身姿态 Top-Down 视频识别检测 1 2 3 4 5 6 7 python demo/topdown_demo_with_mmdet.py \ demo/mmdetection_cfg/rtmdet_m_640-8xb32_coco-person.py \ https://download.openmmlab.com/mmpose/v1/projects/rtmpose/rtmdet_m_8xb32-100e_coco-obj365-person-235e8209.pth \ configs/wholebody_2d_keypoint/topdown_heatmap/coco-wholebody/td-hm_hrnet-w48_dark-8xb32-210e_coco-wholebody-384x288.py \ https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w48_coco_wholebody_384x288_dark-f5726563_20200918.pth \ --input https://user-images.githubusercontent.com/87690686/137440639-fb08603d-9a35-474e-b65f-46b5c06b68d6.mp4 \ --output-root vis_results/2D_whole_body_Top-Down/
使用 Inferencer 进行 2D 人体全身姿态识别 1 2 python demo/inferencer_demo.py tests/data/crowdpose \ --pose2d wholebody --vis-out-dir vis_results/crowdpose
Try - 3D Human Pose Demo
rtmdet, rtmpose, video_pose_lift
1 2 3 4 5 6 7 8 9 10 python demo/body3d_pose_lifter_demo.py \ demo/mmdetection_cfg/rtmdet_m_640-8xb32_coco-person.py \ https://download.openmmlab.com/mmpose/v1/projects/rtmpose/rtmdet_m_8xb32-100e_coco-obj365-person-235e8209.pth \ configs/body_2d_keypoint/rtmpose/body8/rtmpose-m_8xb256-420e_body8-256x192.py \ https://download.openmmlab.com/mmpose/v1/projects/rtmposev1/rtmpose-m_simcc-body7_pt-body7_420e-256x192-e48f03d0_20230504.pth \ configs/body_3d_keypoint/video_pose_lift/h36m/video-pose-lift_tcn-243frm-supv-cpn-ft_8xb128-200e_h36m.py \ https://download.openmmlab.com/mmpose/body3d/videopose/videopose_h36m_243frames_fullconv_supervised_cpn_ft-88f5abbb_20210527.pth \ --input demo/resources/kk.mp4 \ --output-root vis_results/3DHumanPoseDemo \ --online
rtmdet, rtmpose, motionbert
1 2 3 4 5 6 7 8 9 10 python demo/body3d_pose_lifter_demo.py \ demo/mmdetection_cfg/rtmdet_m_640-8xb32_coco-person.py \ https://download.openmmlab.com/mmpose/v1/projects/rtmpose/rtmdet_m_8xb32-100e_coco-obj365-person-235e8209.pth \ configs/body_2d_keypoint/rtmpose/body8/rtmpose-m_8xb256-420e_body8-256x192.py \ https://download.openmmlab.com/mmpose/v1/projects/rtmposev1/rtmpose-m_simcc-body7_pt-body7_420e-256x192-e48f03d0_20230504.pth \ configs/body_3d_keypoint/motionbert/h36m/motionbert_dstformer-ft-243frm_8xb32-120e_h36m.py \ https://download.openmmlab.com/mmpose/v1/body_3d_keypoint/pose_lift/h36m/motionbert_ft_h36m-d80af323_20230531.pth \ --input demo/resources/kk.mp4 \ --output-root vis_results/3DHumanPoseDemo \ --online
Interferece 1 2 python demo/inferencer_demo.py tests/data/coco/000000000785.jpg \ --pose3d human3d --vis-out-dir vis_results/3DHumanPoseDemo