We provide a demo script to test a single image, using the full image as input bounding box.
python demo/image_demo.py \
${IMG_FILE} ${MMPOSE_CONFIG_FILE} ${MMPOSE_CHECKPOINT_FILE} \
--out-file ${OUTPUT_FILE} \
[--device ${GPU_ID or CPU}] \
[--draw_heatmap]
The pre-trained hand pose estimation models can be downloaded from model zoo. Take coco-wholebody_vipnas_res50_dark model as an example:
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.jpg
To run demos on CPU:
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.jpg \
--device=cpu
We provide a demo script to run mmdet for human detection, and mmpose for pose estimation.
Assume that you have already installed mmdet with version >= 3.0.
python demo/topdown_demo_with_mmdet.py \
${MMDET_CONFIG_FILE} ${MMDET_CHECKPOINT_FILE} \
${MMPOSE_CONFIG_FILE} ${MMPOSE_CHECKPOINT_FILE} \
--input ${INPUT_PATH} \
[--output-root ${OUTPUT_DIR}] [--save-predictions] \
[--show] [--draw-heatmap] [--device ${GPU_ID or CPU}] \
[--bbox-thr ${BBOX_SCORE_THR}] [--kpt-thr ${KPT_SCORE_THR}]
Examples:
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/ --show
To save the predicted results on disk, please specify --save-predictions
.
The above demo script can also take video as input, and run mmdet for human detection, and mmpose for pose estimation.
Assume that you have already installed mmdet.
Examples:
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/ --show
Visualization result:
The Inferencer provides a convenient interface for inference, allowing customization using model aliases instead of configuration files and checkpoint paths. It supports various input formats, including image paths, video paths, image folder paths, and webcams. Below is an example command:
python demo/inferencer_demo.py tests/data/crowdpose \
--pose2d wholebody --vis-out-dir vis_results/crowdpose
This command infers all images located in tests/data/crowdpose
and saves the visualization results in the vis_results/crowdpose
directory.
In addition, the Inferencer supports saving predicted poses. For more information, please refer to the inferencer document.
Some tips to speed up MMPose inference:
For top-down models, try to edit the config file. For example,
- set
model.test_cfg.flip_test=False
in pose_hrnet_w48_dark+. - use faster human bounding box detector, see MMDetection.