diff --git a/.dev_scripts/benchmark/benchmark_cfg.yaml b/.dev_scripts/benchmark/benchmark_cfg.yaml index 261d435c08..4ad0792352 100644 --- a/.dev_scripts/benchmark/benchmark_cfg.yaml +++ b/.dev_scripts/benchmark/benchmark_cfg.yaml @@ -42,6 +42,7 @@ model_list: ## SimpleBaseline3D + H36M - config: configs/body/3d_kpt_sview_rgb_img/pose_lift/h36m/simplebaseline3d_h36m.py checkpoint: https://download.openmmlab.com/mmpose/body3d/simple_baseline/simple3Dbaseline_h36m-f0ad73a4_20210419.pth + input_shape: 34, 1 # UDP ## AE + HRNet + UDP + COCO - config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_w32_coco_512x512_udp.py @@ -50,6 +51,7 @@ model_list: ## VideoPose3D + H36M - config: configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/h36m/videopose3d_h36m_27frames_fullconv_supervised.py checkpoint: https://download.openmmlab.com/mmpose/body3d/videopose/videopose_h36m_27frames_fullconv_supervised-fe8fbba9_20210527.pth + input_shape: 34, 27 # MSPN ## MSPN + COCO - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/mspn50_coco_256x192.py @@ -114,6 +116,7 @@ model_list: ## SimpleBaseline3D + MPI-INF-3DHP - config: configs/body/3d_kpt_sview_rgb_img/pose_lift/mpi_inf_3dhp/simplebaseline3d_mpi-inf-3dhp.py checkpoint: https://download.openmmlab.com/mmpose/body3d/simplebaseline3d/simplebaseline3d_mpi-inf-3dhp-b75546f6_20210603.pth + input_shape: 34, 1 # UDP ## AE + HigherHRNet + UDP + COCO - config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_w32_coco_512x512_udp.py @@ -135,6 +138,7 @@ model_list: ## VideoPose3D + MPI-INF-3DHP - config: configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/mpi_inf_3dhp/videopose3d_mpi-inf-3dhp_1frame_fullconv_supervised_gt.py checkpoint: https://download.openmmlab.com/mmpose/body3d/videopose/videopose_mpi-inf-3dhp_1frame_fullconv_supervised_gt-d6ed21ef_20210603.pth + input_shape: 34, 1 # LiteHRNet ## LiteHRNet + MPII - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/litehrnet_18_mpii_256x256.py @@ -190,7 +194,7 @@ model_list: checkpoint: https://download.openmmlab.com/mmpose/face/darkpose/hrnetv2_w18_wflw_256x256_dark-3f8e0c2c_20210125.pth - config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/hrnetv2_w18_onehand10k_256x256_dark.py checkpoint: https://download.openmmlab.com/mmpose/hand/dark/hrnetv2_w18_onehand10k_256x256_dark-a2f80c64_20210330.pth - - config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/hrnetv2_w18_panoptic_256x256_dark.py + - config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/hrnetv2_w18_panoptic2d_256x256_dark.py checkpoint: https://download.openmmlab.com/mmpose/hand/dark/hrnetv2_w18_panoptic_256x256_dark-1f1e4b74_20210330.pth - config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/hrnetv2_w18_rhd2d_256x256_dark.py checkpoint: https://download.openmmlab.com/mmpose/hand/dark/hrnetv2_w18_rhd2d_256x256_dark-4df3a347_20210330.pth @@ -202,7 +206,7 @@ model_list: - config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_w48_coco_512x512_udp.py checkpoint: https://download.openmmlab.com/mmpose/bottom_up/higher_hrnet48_coco_512x512_udp-7cad61ef_20210222.pth ## HRNetV2 + UDP + Panoptic - - config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/hrnetv2_w18_panoptic_256x256_udp.py + - config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/hrnetv2_w18_panoptic2d_256x256_udp.py checkpoint: https://download.openmmlab.com/mmpose/hand/udp/hrnetv2_w18_panoptic_256x256_udp-f9e15948_20210330.pth # SCNet # SCNet + COCO @@ -219,17 +223,23 @@ model_list: ## VideoPose3D + H36M - config: configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/h36m/videopose3d_h36m_81frames_fullconv_supervised.py checkpoint: https://download.openmmlab.com/mmpose/body3d/videopose/videopose_h36m_81frames_fullconv_supervised-1f2d1104_20210527.pth + input_shape: 34, 81 - config: configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/h36m/videopose3d_h36m_243frames_fullconv_supervised.py checkpoint: https://download.openmmlab.com/mmpose/body3d/videopose/videopose_h36m_243frames_fullconv_supervised_cpn_ft-88f5abbb_20210527.pth + input_shape: 34, 243 - config: configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/h36m/videopose3d_h36m_1frame_fullconv_supervised_cpn_ft.py checkpoint: https://download.openmmlab.com/mmpose/body3d/videopose/videopose_h36m_1frame_fullconv_supervised_cpn_ft-5c3afaed_20210527.pth - - config: cconfigs/body3d/videopose/h36m/videopose3d_h36m_243frames_fullconv_supervised_cpn_ft.py + input_shape: 34, 1 + - config: configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/h36m/videopose3d_h36m_243frames_fullconv_supervised_cpn_ft.py checkpoint: https://download.openmmlab.com/mmpose/body3d/videopose/videopose_h36m_243frames_fullconv_supervised_cpn_ft-88f5abbb_20210527.pth + input_shape: 34, 243 - config: configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/h36m/videopose3d_h36m_27frames_fullconv_semi-supervised.py checkpoint: https://download.openmmlab.com/mmpose/body3d/videopose/videopose_h36m_27frames_fullconv_semi-supervised-54aef83b_20210527.pth + input_shape: 34, 27 - config: configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/h36m/videopose3d_h36m_27frames_fullconv_semi-supervised_cpn_ft.py checkpoint: https://download.openmmlab.com/mmpose/body3d/videopose/videopose_h36m_27frames_fullconv_semi-supervised_cpn_ft-71be9cde_20210527.pth - # Associative Embedding + input_shape: 34, 27 + # Associative Embedding ## TODO: Other AE models ## AE + ResNet + COCO - config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/res50_coco_512x512.py diff --git a/.dev_scripts/benchmark/benchmark_cfg_flops_speed.yaml b/.dev_scripts/benchmark/benchmark_cfg_flops_speed.yaml new file mode 100644 index 0000000000..f3a7a5b36f --- /dev/null +++ b/.dev_scripts/benchmark/benchmark_cfg_flops_speed.yaml @@ -0,0 +1,210 @@ +model_list: + # Priority from high to low: P0-core, P1-high, P2-normal, P3-low + P0: + # topdown_heatmap + ## Alexnet + COCO + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/alexnet_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/alexnet/alexnet_coco_256x192-a7b1fd15_20200727.pth + + ## CPM + COCO + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/cpm_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/cpm/cpm_coco_256x192-aa4ba095_20200817.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/cpm_coco_384x288.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/cpm/cpm_coco_384x288-80feb4bc_20200821.pth + + ## Hourglass + COCO + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hourglass52_coco_256x256.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/hourglass/hourglass52_coco_256x256-4ec713ba_20200709.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hourglass52_coco_384x384.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/hourglass/hourglass52_coco_384x384-be91ba2b_20200812.pth + + ## HRNet + COCO + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w32_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w32_coco_256x192-c78dce93_20200708.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w32_coco_384x288.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w32_coco_384x288-d9f0d786_20200708.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w48_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w48_coco_256x192-b9e0b3ab_20200708.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w48_coco_384x288.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w48_coco_384x288-314c8528_20200708.pth + + ## LiteHRNet + COCO + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/litehrnet_30_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/litehrnet/litehrnet30_coco_256x192-4176555b_20210626.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/litehrnet_30_coco_384x288.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/litehrnet/litehrnet30_coco_384x288-a3aef5c4_20210626.pth + + ## MobilenetV2 + COCO + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/mobilenetv2_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/mobilenetv2/mobilenetv2_coco_256x192-d1e58e7b_20200727.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/mobilenetv2_coco_384x288.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/mobilenetv2/mobilenetv2_coco_384x288-26be4816_20200727.pth + + ## MSPN + COCO + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/mspn50_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/mspn/mspn50_coco_256x192-8fbfb5d0_20201123.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/2xmspn50_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/mspn/2xmspn50_coco_256x192-c8765a5c_20201123.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/3xmspn50_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/mspn/3xmspn50_coco_256x192-e348f18e_20201123.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/4xmspn50_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/mspn/4xmspn50_coco_256x192-7b837afb_20201123.pth + + ## ResNest + COCO + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest50_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/resnest/resnest50_coco_256x192-6e65eece_20210320.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest50_coco_384x288.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/resnest/resnest50_coco_384x288-dcd20436_20210320.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest101_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/resnest/resnest101_coco_256x192-2ffcdc9d_20210320.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest101_coco_384x288.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/resnest/resnest101_coco_384x288-80660658_20210320.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest200_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/resnest/resnest200_coco_256x192-db007a48_20210517.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest200_coco_384x288.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/resnest/resnest200_coco_384x288-b5bb76cb_20210517.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest269_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/resnest/resnest269_coco_256x192-2a7882ac_20210517.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest269_coco_384x288.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/resnest/resnest269_coco_384x288-b142b9fb_20210517.pth + + ## ResNet + COCO + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res50_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/resnet/res50_coco_256x192-ec54d7f3_20200709.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res50_coco_384x288.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/resnet/res50_coco_384x288-e6f795e9_20200709.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res101_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/resnet/res101_coco_256x192-6e6babf0_20200708.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res101_coco_384x288.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/resnet/res101_coco_384x288-8c71bdc9_20200709.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res152_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/resnet/res152_coco_256x192-f6e307c2_20200709.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res152_coco_384x288.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/resnet/res152_coco_384x288-3860d4c9_20200709.pth + + ## ResNetV1d + COCO + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d50_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/resnetv1d/resnetv1d50_coco_256x192-a243b840_20200727.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d50_coco_384x288.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/resnetv1d/resnetv1d50_coco_384x288-01f3fbb9_20200727.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d101_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/resnetv1d/resnetv1d101_coco_256x192-5bd08cab_20200727.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d101_coco_384x288.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/resnetv1d/resnetv1d101_coco_384x288-5f9e421d_20200730.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d152_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/resnetv1d/resnetv1d152_coco_256x192-c4df51dc_20200727.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d152_coco_384x288.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/resnetv1d/resnetv1d152_coco_384x288-626c622d_20200730.pth + + ## ResNext + COCO + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext50_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/resnext/resnext50_coco_256x192-dcff15f6_20200727.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext50_coco_384x288.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/resnext/resnext50_coco_384x288-412c848f_20200727.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext101_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/resnext/resnext101_coco_256x192-c7eba365_20200727.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext101_coco_384x288.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/resnext/resnext101_coco_384x288-f5eabcd6_20200727.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext152_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/resnext/resnext152_coco_256x192-102449aa_20200727.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext152_coco_384x288.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/resnext/resnext152_coco_384x288-806176df_20200727.pth + + ## RSN + COCO + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/rsn18_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/rsn/rsn18_coco_256x192-72f4b4a7_20201127.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/rsn50_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/rsn/rsn50_coco_256x192-72ffe709_20201127.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/2xrsn50_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/rsn/2xrsn50_coco_256x192-50648f0e_20201127.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/3xrsn50_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/rsn/3xrsn50_coco_256x192-58f57a68_20201127.pth + + ## SCNet + COCO + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/scnet50_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/scnet/scnet50_coco_256x192-6920f829_20200709.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/scnet50_coco_384x288.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/scnet/scnet50_coco_384x288-9cacd0ea_20200709.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/scnet101_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/scnet/scnet101_coco_256x192-6d348ef9_20200709.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/scnet101_coco_384x288.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/scnet/scnet101_coco_384x288-0b6e631b_20200709.pth + + ## SeresNet + COCO + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet50_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/seresnet/seresnet50_coco_256x192-25058b66_20200727.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet50_coco_384x288.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/seresnet/seresnet50_coco_384x288-bc0b7680_20200727.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet101_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/seresnet/seresnet101_coco_256x192-83f29c4d_20200727.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet101_coco_384x288.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/seresnet/seresnet101_coco_384x288-48de1709_20200727.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet152_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/seresnet/seresnet152_coco_256x192-1c628d79_20200727.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet152_coco_384x288.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/seresnet/seresnet152_coco_384x288-58b23ee8_20200727.pth + + ## ShuffleNetV1 + COCO + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv1_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/shufflenetv1/shufflenetv1_coco_256x192-353bc02c_20200727.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv1_coco_384x288.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/shufflenetv1/shufflenetv1_coco_384x288-b2930b24_20200804.pth + ## ShuffleNetV2 + COCO + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv2_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/shufflenetv2/shufflenetv2_coco_256x192-0aba71c7_20200921.pth + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv2_coco_384x288.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/shufflenetv2/shufflenetv2_coco_384x288-fb38ac3a_20200921.pth + + ## VGG + COCO + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vgg16_bn_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/vgg/vgg16_bn_coco_256x192-7e7c58d6_20210517.pth + + ## VIPNAS + Res50 + COCO + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vipnas_res50_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/vipnas/vipnas_res50_coco_256x192-cc43b466_20210624.pth + ## VIPNAS + MobileNetV3 + COCO + - config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vipnas_mbv3_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/vipnas/vipnas_mbv3_coco_256x192-7018731a_20211122.pth + + P1: + # Associative Embedding + COCO + ## HigherHRNet + COCO + - config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_w32_coco_512x512.py + checkpoint: https://download.openmmlab.com/mmpose/bottom_up/higher_hrnet32_coco_512x512-8ae85183_20200713.pth + - config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_w32_coco_640x640.py + checkpoint: https://download.openmmlab.com/mmpose/bottom_up/higher_hrnet32_coco_640x640-a22fe938_20200712.pth + - config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_w48_coco_512x512.py + checkpoint: https://download.openmmlab.com/mmpose/bottom_up/higher_hrnet48_coco_512x512-60fedcbc_20200712.pth + + ## Hourglass + AE + COCO + - config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hourglass_ae_coco_512x512.py + checkpoint: https://download.openmmlab.com/mmpose/face/hourglass_ae/hourglass_ae_coco_512x512-90af499f_20210920.pth + + ## HRNet + AE + COCO + - config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_w32_coco_512x512.py + checkpoint: https://download.openmmlab.com/mmpose/bottom_up/hrnet_w32_coco_512x512-bcb8c247_20200816.pth + - config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_w48_coco_512x512.py + checkpoint: https://download.openmmlab.com/mmpose/bottom_up/hrnet_w48_coco_512x512-cf72fcdf_20200816.pth + + ## MobilenetV2 + AE + COCO + - config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/mobilenetv2_coco_512x512.py + checkpoint: https://download.openmmlab.com/mmpose/bottom_up/mobilenetv2_coco_512x512-4d96e309_20200816.pth + + ## ResNet + AE + COCO + - config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/res50_coco_512x512.py + checkpoint: https://download.openmmlab.com/mmpose/bottom_up/res50_coco_512x512-5521bead_20200816.pth + - config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/res50_coco_640x640.py + checkpoint: https://download.openmmlab.com/mmpose/bottom_up/res50_coco_640x640-2046f9cb_20200822.pth + - config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/res101_coco_512x512.py + checkpoint: https://download.openmmlab.com/mmpose/bottom_up/res101_coco_512x512-e0c95157_20200816.pth + - config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/res152_coco_512x512.py + checkpoint: https://download.openmmlab.com/mmpose/bottom_up/res152_coco_512x512-364eb38d_20200822.pth + + # DeepPose + COCO + ## ResNet + DeepPose + COCO + - config: configs/body/2d_kpt_sview_rgb_img/deeppose/coco/res50_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/deeppose/deeppose_res50_coco_256x192-f6de6c0e_20210205.pth + - config: configs/body/2d_kpt_sview_rgb_img/deeppose/coco/res101_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/deeppose/deeppose_res101_coco_256x192-2f247111_20210205.pth + - config: configs/body/2d_kpt_sview_rgb_img/deeppose/coco/res152_coco_256x192.py + checkpoint: https://download.openmmlab.com/mmpose/top_down/deeppose/deeppose_res152_coco_256x192-7df89a88_20210205.pth diff --git a/.dev_scripts/benchmark/dummy_dataset_cfg.yaml b/.dev_scripts/benchmark/dummy_dataset_cfg.yaml new file mode 100644 index 0000000000..abb9f1bfaa --- /dev/null +++ b/.dev_scripts/benchmark/dummy_dataset_cfg.yaml @@ -0,0 +1,138 @@ +dummy_datasets: + AnimalHorse10Dataset: + ann_file: tests/data/horse10/test_horse10.json + img_prefix: tests/data/horse10/ + AnimalFlyDataset: + ann_file: tests/data/fly/test_fly.json + img_prefix: tests/data/fly/ + AnimalLocustDataset: + ann_file: tests/data/locust/test_locust.json + img_prefix: tests/data/locust/ + AnimalZebraDataset: + ann_file: tests/data/zebra/test_zebra.json + img_prefix: tests/data/zebra/ + AnimalATRWDataset: + ann_file: tests/data/atrw/test_atrw.json + img_prefix: tests/data/atrw/ + AnimalMacaqueDataset: + ann_file: tests/data/macaque/test_macaque.json + img_prefix: tests/data/macaque/ + AnimalPoseDataset: + ann_file: tests/data/animalpose/test_animalpose.json + img_prefix: tests/data/animalpose/ + Body3DH36MDataset: + ann_file: tests/data/h36m/test_h36m_body3d.npz + img_prefix: tests/data/h36m + data_cfg: + camera_param_file: tests/data/h36m/cameras.pkl + joint_2d_src: detection + joint_2d_det_file: tests/data/h36m/test_h36m_2d_detection.npy + Body3DMpiInf3dhpDataset: + ann_file: tests/data/mpi_inf_3dhp/test_3dhp_test.npz + img_prefix: tests/data/mpi_inf_3dhp + data_cfg: + camera_param_file: tests/data/mpi_inf_3dhp/cameras_test.pkl + BottomUpCocoDataset: + ann_file: tests/data/coco/test_coco.json + img_prefix: tests/data/coco/ + BottomUpCrowdPoseDataset: + ann_file: tests/data/crowdpose/test_crowdpose.json + img_prefix: tests/data/crowdpose/ + BottomUpMhpDataset: + ann_file: tests/data/mhp/test_mhp.json + img_prefix: tests/data/mhp/ + BottomUpAicDataset: + ann_file: tests/data/aic/test_aic.json + img_prefix: tests/data/aic/ + BottomUpCocoWholeBodyDataset: + ann_file: tests/data/coco/test_coco_wholebody.json + img_prefix: tests/data/coco/ + Face300WDataset: + ann_file: tests/data/300w/test_300w.json + img_prefix: tests/data/300w/ + FaceCocoWholeBodyDataset: + ann_file: tests/data/coco/test_coco_wholebody.json + img_prefix: tests/data/coco/ + FaceAFLWDataset: + ann_file: tests/data/aflw/test_aflw.json + img_prefix: tests/data/aflw/ + FaceWFLWDataset: + ann_file: tests/data/wflw/test_wflw.json + img_prefix: tests/data/wflw/ + FaceCOFWDataset: + ann_file: tests/data/cofw/test_cofw.json + img_prefix: tests/data/cofw/ + DeepFashionDataset: + ann_file: tests/data/fld/test_fld.json + img_prefix: tests/data/fld/ + OneHand10KDataset: + ann_file: tests/data/onehand10k/test_onehand10k.json + img_prefix: tests/data/onehand10k/ + HandCocoWholeBodyDataset: + ann_file: tests/data/coco/test_coco_wholebody.json + img_prefix: tests/data/coco/ + FreiHandDataset: + ann_file: tests/data/freihand/test_freihand.json + img_prefix: tests/data/freihand/ + Rhd2DDataset: + ann_file: tests/data/rhd/test_rhd.json + img_prefix: tests/data/rhd/ + PanopticDataset: + ann_file: tests/data/panoptic/test_panoptic.json + img_prefix: tests/data/panoptic/ + InterHand2DDataset: + ann_file: tests/data/interhand2.6m/test_interhand2.6m_data.json + camera_file: tests/data/interhand2.6m/test_interhand2.6m_camera.json + joint_file: tests/data/interhand2.6m/test_interhand2.6m_joint_3d.json + img_prefix: tests/data/interhand2.6m/ + InterHand3DDataset: + ann_file: tests/data/interhand2.6m/test_interhand2.6m_data.json + camera_file: tests/data/interhand2.6m/test_interhand2.6m_camera.json + joint_file: tests/data/interhand2.6m/test_interhand2.6m_joint_3d.json + img_prefix: tests/data/interhand2.6m/ + MeshH36MDataset: + ann_file: tests/data/h36m/test_h36m.npz + img_prefix: tests/data/h36m + TopDownCocoDataset: + ann_file: tests/data/coco/test_coco.json + img_prefix: tests/data/coco/ + data_cfg: + bbox_file: tests/data/coco/test_coco_det_AP_H_56.json + TopDownMhpDataset: + ann_file: tests/data/mhp/test_mhp.json + img_prefix: tests/data/mhp/ + TopDownPoseTrack18Dataset: + ann_file: tests/data/posetrack18/test_posetrack18.json + img_prefix: tests/data/posetrack18/ + data_cfg: + bbox_file: tests/data/posetrack18/test_posetrack18_human_detections.json + TopDownCrowdPoseDataset: + ann_file: tests/data/crowdpose/test_crowdpose.json + img_prefix: tests/data/crowdpose/ + data_cfg: + bbox_file: tests/data/crowdpose/test_crowdpose_det_AP_40.json + TopDownCocoWholeBodyDataset: + ann_file: tests/data/coco/test_coco_wholebody.json + img_prefix: tests/data/coco/ + data_cfg: + bbox_file: tests/data/coco/test_coco_det_AP_H_56.json + TopDownOCHumanDataset: + ann_file: tests/data/ochuman/test_ochuman.json + img_prefix: tests/data/ochuman/ + data_cfg: + bbox_file: + TopDownMpiiDataset: + ann_file: tests/data/mpii/test_mpii.json + img_prefix: tests/data/mpii/ + TopDownMpiiTrbDataset: + ann_file: tests/data/mpii/test_mpii_trb.json + img_prefix: tests/data/mpii/ + TopDownAicDataset: + ann_file: tests/data/aic/test_aic.json + img_prefix: tests/data/aic/ + TopDownJhmdbDataset: + ann_file: tests/data/jhmdb/test_jhmdb_sub1.json + img_prefix: tests/data/jhmdb/ + TopDownH36MDataset: + ann_file: tests/data/h36m/h36m_coco.json + img_prefix: tests/data/h36m/ diff --git a/.dev_scripts/benchmark/flops_test.py b/.dev_scripts/benchmark/flops_test.py new file mode 100644 index 0000000000..0a738080b1 --- /dev/null +++ b/.dev_scripts/benchmark/flops_test.py @@ -0,0 +1,99 @@ +# Copyright (c) OpenMMLab. All rights reserved. +import argparse +import os.path as osp +from datetime import datetime + +import mmcv +from mmcv import Config + +from mmpose.apis.inference import init_pose_model + +try: + from mmcv.cnn import get_model_complexity_info +except ImportError: + raise ImportError('Please upgrade mmcv to >0.6.2') + + +def parse_args(): + parser = argparse.ArgumentParser( + description='calculate the parameters and flops of multiple models') + + parser.add_argument( + '--config', + '-c', + help='test config file path', + default='./.dev_scripts/benchmark/benchmark_cfg.yaml') + + parser.add_argument( + '--priority', + type=int, + help='models with priority higher or equal to this will be included', + default=2) + + # runtime setting parameters + parser.add_argument( + '--root-work-dir', + '-r', + help='the root working directory to store logs') + + args = parser.parse_args() + return args + + +def main(): + args = parse_args() + + if args.root_work_dir is None: + # get the current time stamp + now = datetime.now() + ts = now.strftime('%Y_%m_%d_%H_%M') + args.root_work_dir = f'work_dirs/flops_test_{ts}' + mmcv.mkdir_or_exist(osp.abspath(args.root_work_dir)) + + cfg = mmcv.load(args.config) + + results = [] + for i in range(args.priority + 1): + models = cfg['model_list'][f'P{i}'] + for cur_model in models: + cfg_file = cur_model['config'] + model_cfg = Config.fromfile(cfg_file) + if 'input_shape' in cur_model.keys(): + input_shape = cur_model['input_shape'] + input_shape = tuple(map(int, input_shape.split(','))) + else: + image_size = model_cfg.data_cfg.image_size + if isinstance(image_size, list): + input_shape = (3, ) + tuple(image_size) + else: + input_shape = (3, image_size, image_size) + + model = init_pose_model(cfg_file) + + if hasattr(model, 'forward_dummy'): + model.forward = model.forward_dummy + else: + raise NotImplementedError( + 'FLOPs counter is currently not currently supported ' + 'with {}'.format(model.__class__.__name__)) + + flops, params = get_model_complexity_info( + model, input_shape, print_per_layer_stat=False) + split_line = '=' * 30 + result = f'{split_line}\nModel config:{cfg_file}\n' \ + f'Input shape: {input_shape}\n' \ + f'Flops: {flops}\nParams: {params}\n{split_line}\n' + + print(result) + results.append(result) + + print('!!!Please be cautious if you use the results in papers. ' + 'You may need to check if all ops are supported and verify that the ' + 'flops computation is correct.') + with open(osp.join(args.root_work_dir, 'flops.txt'), 'w') as f: + for res in results: + f.write(res) + + +if __name__ == '__main__': + main() diff --git a/.dev_scripts/benchmark/speed_test.py b/.dev_scripts/benchmark/speed_test.py new file mode 100644 index 0000000000..c148857948 --- /dev/null +++ b/.dev_scripts/benchmark/speed_test.py @@ -0,0 +1,170 @@ +# Copyright (c) OpenMMLab. All rights reserved. +import argparse +import os.path as osp +import time +from datetime import datetime + +import mmcv +import numpy as np +import torch +from mmcv import Config +from mmcv.cnn import fuse_conv_bn +from mmcv.runner import IterLoader +from mmcv.runner.fp16_utils import wrap_fp16_model + +from mmpose.apis.inference import init_pose_model +from mmpose.datasets import build_dataloader, build_dataset + + +def parse_args(): + parser = argparse.ArgumentParser( + description='test the inference speed of multiple models') + + parser.add_argument( + '--config', + '-c', + help='test config file path', + default='./.dev_scripts/benchmark/benchmark_cfg_flops_speed.yaml') + + parser.add_argument( + '--device', default='cuda:0', help='Device used for inference') + + parser.add_argument( + '--batch-size', + '-b', + type=int, + help='batch size on a single GPU', + default=1) + + parser.add_argument( + '--dummy-dataset-config', + help='dummy dataset config file path', + default='./.dev_scripts/benchmark/dummy_dataset_cfg.yaml') + + parser.add_argument( + '--priority', + type=int, + help='models with priority higher or equal to this will be included', + default=2) + + # runtime setting parameters + parser.add_argument( + '--root-work-dir', + '-r', + help='the root working directory to store logs') + + parser.add_argument( + '--fuse-conv-bn', + action='store_true', + help='Whether to fuse conv and bn, this will slightly increase' + 'the inference speed') + + parser.add_argument( + '--num-iters', type=int, help='test iterations', default=50) + + parser.add_argument( + '--num-warmup', type=int, help='warmup iterations', default=5) + + args = parser.parse_args() + return args + + +def main(): + args = parse_args() + + if 'cuda' in args.device.lower(): + if torch.cuda.is_available(): + with_cuda = True + else: + raise RuntimeError('No CUDA device found, please check it again.') + else: + with_cuda = False + + if args.root_work_dir is None: + # get the current time stamp + now = datetime.now() + ts = now.strftime('%Y_%m_%d_%H_%M') + args.root_work_dir = f'work_dirs/inference_speed_test_{ts}' + mmcv.mkdir_or_exist(osp.abspath(args.root_work_dir)) + + cfg = mmcv.load(args.config) + dummy_datasets = mmcv.load(args.dummy_dataset_config)['dummy_datasets'] + + results = [] + for i in range(args.priority + 1): + models = cfg['model_list'][f'P{i}'] + for cur_model in models: + cfg_file = cur_model['config'] + model_cfg = Config.fromfile(cfg_file) + test_dataset = model_cfg['data']['test'] + dummy_dataset = dummy_datasets[test_dataset['type']] + test_dataset.update(dummy_dataset) + + dataset = build_dataset(test_dataset) + data_loader = build_dataloader( + dataset, + samples_per_gpu=args.batch_size, + workers_per_gpu=model_cfg.data.workers_per_gpu, + dist=False, + shuffle=False) + data_loader = IterLoader(data_loader) + + if 'pretrained' in model_cfg.model.keys(): + del model_cfg.model['pretrained'] + + model = init_pose_model(model_cfg, device=args.device.lower()) + + fp16_cfg = model_cfg.get('fp16', None) + if fp16_cfg is not None: + wrap_fp16_model(model) + if args.fuse_conv_bn: + model = fuse_conv_bn(model) + + # benchmark with several iterations and take the average + pure_inf_time = 0 + speed = [] + for iteration in range(args.num_iters + args.num_warmup): + data = next(data_loader) + data['img'] = data['img'].to(args.device.lower()) + data['img_metas'] = data['img_metas'].data[0] + + if with_cuda: + torch.cuda.synchronize() + + start_time = time.perf_counter() + with torch.no_grad(): + model(return_loss=False, **data) + + if with_cuda: + torch.cuda.synchronize() + elapsed = time.perf_counter() - start_time + + if iteration >= args.num_warmup: + pure_inf_time += elapsed + speed.append(1 / elapsed) + + speed_mean = np.mean(speed) + speed_std = np.std(speed) + + split_line = '=' * 30 + result = f'{split_line}\nModel config:{cfg_file}\n' \ + f'Device: {args.device}\n' \ + f'Batch size: {args.batch_size}\n' \ + f'Overall average speed: {speed_mean:.2f} \u00B1 ' \ + f'{speed_std:.2f} items / s\n' \ + f'Total iters: {args.num_iters}\n'\ + f'Total time: {pure_inf_time:.2f} s \n{split_line}\n'\ + + print(result) + results.append(result) + + print('!!!Please be cautious if you use the results in papers. ' + 'You may need to check if all ops are included and verify that the ' + 'speed computation is correct.') + with open(osp.join(args.root_work_dir, 'inference_speed.txt'), 'w') as f: + for res in results: + f.write(res) + + +if __name__ == '__main__': + main() diff --git a/.dev_scripts/github/update_model_index.py b/.dev_scripts/github/update_model_index.py index 817b35126e..1b1498e039 100755 --- a/.dev_scripts/github/update_model_index.py +++ b/.dev_scripts/github/update_model_index.py @@ -121,6 +121,7 @@ def parse_config_path(path): # convert task name to readable version task2readable = { '2d_kpt_sview_rgb_img': '2D Keypoint', + '2d_kpt_sview_rgb_vid': '2D Keypoint', '3d_kpt_sview_rgb_img': '3D Keypoint', '3d_kpt_sview_rgb_vid': '3D Keypoint', '3d_mesh_sview_rgb_img': '3D Mesh', @@ -149,16 +150,15 @@ def parse_md(md_file): """ readme_path = osp.relpath(md_file, MMPOSE_ROOT) - collection = dict( - Name=None, # fill in later - Metadata={'Architecture': []}, - README=readme_path, - Paper=None) + collection = {'Name': None, 'Paper': None} models = [] # record the publish year of the latest paper paper_year = -1 - dataset = 'Unknown' + dataset = None + + # architectures for collection and model + architecture = [] with open(md_file, 'r') as md: lines = md.readlines() @@ -180,17 +180,19 @@ def parse_md(md_file): paper_type = re.findall(r'\[(.*)\]', lines[i])[0] + # lower priority for dataset paper if paper_type == 'DATASET': - # DATASET paper has lower priority year = 0 if year > paper_year: collection['Paper'] = dict(Title=title, URL=url) + collection['Name'] = name paper_year = year # get architecture if paper_type in {'ALGORITHM', 'BACKBONE'}: - collection['Metadata']['Architecture'].append(name) + architecture.append(name) + # get dataset elif paper_type == 'DATASET': dataset = name @@ -234,7 +236,10 @@ def parse_md(md_file): task_name = ' '.join( [model_info['target'], model_info['task']]) - metadata = {'Training Data': dataset} + metadata = { + 'Training Data': dataset, + 'Architecture': architecture + } if flops_idx != -1: metadata['FLOPs'] = float(line[flops_idx]) if params_idx != -1: @@ -248,8 +253,10 @@ def parse_md(md_file): model = { 'Name': model_name, + 'README': + readme_path, 'In Collection': - None, # fill in later + collection['Name'], 'Config': config, 'Metadata': @@ -269,19 +276,8 @@ def parse_md(md_file): else: i += 1 - # fill in collection name - readme_name = '--'.join( - osp.splitext(osp.relpath(readme_path, 'configs'))[0].split(osp.sep)) - collection_alias = '+'.join( - collection['Metadata']['Architecture']) + f'@{dataset}' - collection_name = f'{readme_name} [{collection_alias}]' - collection['Name'] = collection_name - for model in models: - model['In Collection'] = collection_name - result = {'Collections': [collection], 'Models': models} - yml_file = md_file[:-2] + 'yml' - + yml_file = osp.splitext(md_file)[0] + '.yml' is_different = dump_yaml_and_check_difference(result, yml_file) return is_different diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 15f9657a50..6bfa694aa4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -5,10 +5,28 @@ name: build on: push: - branches: - - master + branches: + - master + paths-ignore: + - 'README.md' + - 'README_CN.md' + - 'docs/**' + - 'docs_zh-CN/**' + - 'examples/**' + - '.dev_scripts/**' pull_request: + paths-ignore: + - 'README.md' + - 'README_CN.md' + - 'docs/**' + - 'docs_zh-CN/**' + - 'examples/**' + - '.dev_scripts/**' + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true jobs: lint: diff --git a/README.md b/README.md index 38ef28ceae..56f3af8337 100644 --- a/README.md +++ b/README.md @@ -165,6 +165,12 @@ We demonstrate the superiority of our MMPose framework in terms of speed and acc More details about the benchmark are available on [benchmark.md](docs/benchmark.md). +## Inference Speed + +We summarize the model complexity and inference speed of major models in MMPose, including FLOPs, parameter counts and inference speeds on both CPU and GPU devices with different batch sizes. + +Please refer to [inference_speed_summary.md](docs/inference_speed_summary.md) for more details. + ## Installation Please refer to [install.md](docs/install.md) for installation. diff --git a/README_CN.md b/README_CN.md index 017b54d53f..3a4a118a24 100644 --- a/README_CN.md +++ b/README_CN.md @@ -164,6 +164,12 @@ https://user-images.githubusercontent.com/15977946/124654387-0fd3c500-ded1-11eb- 更多详情可见 [基准测试](docs/benchmark.md)。 +## 推理速度 + +我们总结了 MMPose 中主要模型的复杂度信息和推理速度,包括模型的计算复杂度、参数数量,以及以不同的批处理大小在 CPU 和 GPU 上的推理速度。 + +详细信息可见 [模型推理速度](docs_zh-CN/inference_speed_summary.md). + ## 安装 请参考 [安装指南](docs/install.md) 进行安装。 diff --git a/configs/_base_/datasets/ap10k.py b/configs/_base_/datasets/ap10k.py index 1c7562cc62..c0df579acb 100644 --- a/configs/_base_/datasets/ap10k.py +++ b/configs/_base_/datasets/ap10k.py @@ -136,11 +136,7 @@ 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.5, 1.5, 1., 1., 1.2, 1.2, 1.5, 1.5 ], - - # Note: The original paper did not provide enough information about - # the sigmas. We modified from 'https://github.com/cocodataset/' - # 'cocoapi/blob/master/PythonAPI/pycocotools/cocoeval.py#L523' sigmas=[ - 0.025, 0.025, 0.026, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062, - 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089 + 0.025, 0.025, 0.026, 0.035, 0.035, 0.079, 0.072, 0.062, 0.079, 0.072, + 0.062, 0.107, 0.087, 0.089, 0.107, 0.087, 0.089 ]) diff --git a/configs/_base_/datasets/coco_wholebody.py b/configs/_base_/datasets/coco_wholebody.py index eb7f8dbd2d..ef9b707017 100644 --- a/configs/_base_/datasets/coco_wholebody.py +++ b/configs/_base_/datasets/coco_wholebody.py @@ -949,7 +949,9 @@ 24: dict(link=('right_ankle', 'right_heel'), id=24, color=[255, 128, 0]), 25: - dict(link=('left_wrist', 'left_thumb1'), id=25, color=[255, 128, 0]), + dict( + link=('left_hand_root', 'left_thumb1'), id=25, color=[255, 128, + 0]), 26: dict(link=('left_thumb1', 'left_thumb2'), id=26, color=[255, 128, 0]), 27: @@ -958,7 +960,7 @@ dict(link=('left_thumb3', 'left_thumb4'), id=28, color=[255, 128, 0]), 29: dict( - link=('left_wrist', 'left_forefinger1'), + link=('left_hand_root', 'left_forefinger1'), id=29, color=[255, 153, 255]), 30: @@ -978,7 +980,7 @@ color=[255, 153, 255]), 33: dict( - link=('left_wrist', 'left_middle_finger1'), + link=('left_hand_root', 'left_middle_finger1'), id=33, color=[102, 178, 255]), 34: @@ -998,7 +1000,7 @@ color=[102, 178, 255]), 37: dict( - link=('left_wrist', 'left_ring_finger1'), + link=('left_hand_root', 'left_ring_finger1'), id=37, color=[255, 51, 51]), 38: @@ -1018,7 +1020,7 @@ color=[255, 51, 51]), 41: dict( - link=('left_wrist', 'left_pinky_finger1'), + link=('left_hand_root', 'left_pinky_finger1'), id=41, color=[0, 255, 0]), 42: @@ -1037,7 +1039,10 @@ id=44, color=[0, 255, 0]), 45: - dict(link=('right_wrist', 'right_thumb1'), id=45, color=[255, 128, 0]), + dict( + link=('right_hand_root', 'right_thumb1'), + id=45, + color=[255, 128, 0]), 46: dict( link=('right_thumb1', 'right_thumb2'), id=46, color=[255, 128, 0]), @@ -1049,7 +1054,7 @@ link=('right_thumb3', 'right_thumb4'), id=48, color=[255, 128, 0]), 49: dict( - link=('right_wrist', 'right_forefinger1'), + link=('right_hand_root', 'right_forefinger1'), id=49, color=[255, 153, 255]), 50: @@ -1069,7 +1074,7 @@ color=[255, 153, 255]), 53: dict( - link=('right_wrist', 'right_middle_finger1'), + link=('right_hand_root', 'right_middle_finger1'), id=53, color=[102, 178, 255]), 54: @@ -1089,7 +1094,7 @@ color=[102, 178, 255]), 57: dict( - link=('right_wrist', 'right_ring_finger1'), + link=('right_hand_root', 'right_ring_finger1'), id=57, color=[255, 51, 51]), 58: @@ -1109,7 +1114,7 @@ color=[255, 51, 51]), 61: dict( - link=('right_wrist', 'right_pinky_finger1'), + link=('right_hand_root', 'right_pinky_finger1'), id=61, color=[0, 255, 0]), 62: @@ -1129,7 +1134,6 @@ color=[0, 255, 0]) }, joint_weights=[1.] * 133, - # 'https://github.com/jin-s13/COCO-WholeBody/blob/master/' # 'evaluation/myeval_wholebody.py#L175' sigmas=[ diff --git a/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/animalpose/hrnet_animalpose.yml b/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/animalpose/hrnet_animalpose.yml index 18110a5b15..b0bca15e59 100644 --- a/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/animalpose/hrnet_animalpose.yml +++ b/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/animalpose/hrnet_animalpose.yml @@ -1,20 +1,17 @@ Collections: -- Metadata: - Architecture: - - HRNet - Name: animal--2d_kpt_sview_rgb_img--topdown_heatmap--animalpose--hrnet_animalpose - [HRNet@Animal-Pose] +- Name: HRNet Paper: Title: Deep high-resolution representation learning for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2019/html/Sun_Deep_High-Resolution_Representation_Learning_for_Human_Pose_Estimation_CVPR_2019_paper.html - README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/animalpose/hrnet_animalpose.md Models: - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/animalpose/hrnet_w32_animalpose_256x256.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--animalpose--hrnet_animalpose - [HRNet@Animal-Pose] + In Collection: HRNet Metadata: + Architecture: &id001 + - HRNet Training Data: Animal-Pose Name: topdown_heatmap_hrnet_w32_animalpose_256x256 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/animalpose/hrnet_animalpose.md Results: - Dataset: Animal-Pose Metrics: @@ -26,11 +23,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/hrnet/hrnet_w32_animalpose_256x256-1aa7f075_20210426.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/animalpose/hrnet_w48_animalpose_256x256.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--animalpose--hrnet_animalpose - [HRNet@Animal-Pose] + In Collection: HRNet Metadata: + Architecture: *id001 Training Data: Animal-Pose Name: topdown_heatmap_hrnet_w48_animalpose_256x256 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/animalpose/hrnet_animalpose.md Results: - Dataset: Animal-Pose Metrics: diff --git a/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/animalpose/resnet_animalpose.yml b/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/animalpose/resnet_animalpose.yml index 323b85a1a9..4ebbde7ddc 100644 --- a/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/animalpose/resnet_animalpose.yml +++ b/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/animalpose/resnet_animalpose.yml @@ -1,20 +1,17 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline2D - Name: animal--2d_kpt_sview_rgb_img--topdown_heatmap--animalpose--resnet_animalpose - [SimpleBaseline2D@Animal-Pose] +- Name: SimpleBaseline2D Paper: Title: Simple baselines for human pose estimation and tracking URL: http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html - README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/animalpose/resnet_animalpose.md Models: - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/animalpose/res50_animalpose_256x256.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--animalpose--resnet_animalpose - [SimpleBaseline2D@Animal-Pose] + In Collection: SimpleBaseline2D Metadata: + Architecture: &id001 + - SimpleBaseline2D Training Data: Animal-Pose Name: topdown_heatmap_res50_animalpose_256x256 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/animalpose/resnet_animalpose.md Results: - Dataset: Animal-Pose Metrics: @@ -26,11 +23,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/resnet/res50_animalpose_256x256-e1f30bff_20210426.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/animalpose/res101_animalpose_256x256.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--animalpose--resnet_animalpose - [SimpleBaseline2D@Animal-Pose] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: Animal-Pose Name: topdown_heatmap_res101_animalpose_256x256 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/animalpose/resnet_animalpose.md Results: - Dataset: Animal-Pose Metrics: @@ -42,11 +40,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/resnet/res101_animalpose_256x256-85563f4a_20210426.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/animalpose/res152_animalpose_256x256.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--animalpose--resnet_animalpose - [SimpleBaseline2D@Animal-Pose] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: Animal-Pose Name: topdown_heatmap_res152_animalpose_256x256 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/animalpose/resnet_animalpose.md Results: - Dataset: Animal-Pose Metrics: diff --git a/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/ap10k/hrnet_ap10k.yml b/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/ap10k/hrnet_ap10k.yml index 5548fcf4dc..6eb8d77134 100644 --- a/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/ap10k/hrnet_ap10k.yml +++ b/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/ap10k/hrnet_ap10k.yml @@ -1,19 +1,17 @@ Collections: -- Metadata: - Architecture: - - HRNet - Name: animal--2d_kpt_sview_rgb_img--topdown_heatmap--ap10k--hrnet_ap10k [HRNet@AP-10K] +- Name: HRNet Paper: Title: Deep high-resolution representation learning for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2019/html/Sun_Deep_High-Resolution_Representation_Learning_for_Human_Pose_Estimation_CVPR_2019_paper.html - README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/ap10k/hrnet_ap10k.md Models: - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/ap10k/hrnet_w32_ap10k_256x256.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--ap10k--hrnet_ap10k - [HRNet@AP-10K] + In Collection: HRNet Metadata: + Architecture: &id001 + - HRNet Training Data: AP-10K Name: topdown_heatmap_hrnet_w32_ap10k_256x256 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/ap10k/hrnet_ap10k.md Results: - Dataset: AP-10K Metrics: @@ -25,11 +23,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/hrnet/hrnet_w32_ap10k_256x256-18aac840_20211029.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/ap10k/hrnet_w48_ap10k_256x256.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--ap10k--hrnet_ap10k - [HRNet@AP-10K] + In Collection: HRNet Metadata: + Architecture: *id001 Training Data: AP-10K Name: topdown_heatmap_hrnet_w48_ap10k_256x256 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/ap10k/hrnet_ap10k.md Results: - Dataset: AP-10K Metrics: diff --git a/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/ap10k/resnet_ap10k.yml b/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/ap10k/resnet_ap10k.yml index 0705764ac0..2045a01b9f 100644 --- a/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/ap10k/resnet_ap10k.yml +++ b/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/ap10k/resnet_ap10k.yml @@ -1,19 +1,17 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline2D - Name: animal--2d_kpt_sview_rgb_img--topdown_heatmap--ap10k--resnet_ap10k [SimpleBaseline2D@AP-10K] +- Name: SimpleBaseline2D Paper: Title: Simple baselines for human pose estimation and tracking URL: http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html - README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/ap10k/resnet_ap10k.md Models: - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/ap10k/res50_ap10k_256x256.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--ap10k--resnet_ap10k - [SimpleBaseline2D@AP-10K] + In Collection: SimpleBaseline2D Metadata: + Architecture: &id001 + - SimpleBaseline2D Training Data: AP-10K Name: topdown_heatmap_res50_ap10k_256x256 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/ap10k/resnet_ap10k.md Results: - Dataset: AP-10K Metrics: @@ -25,11 +23,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/resnet/res50_ap10k_256x256-35760eb8_20211029.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/ap10k/res101_ap10k_256x256.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--ap10k--resnet_ap10k - [SimpleBaseline2D@AP-10K] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: AP-10K Name: topdown_heatmap_res101_ap10k_256x256 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/ap10k/resnet_ap10k.md Results: - Dataset: AP-10K Metrics: diff --git a/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/atrw/hrnet_atrw.yml b/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/atrw/hrnet_atrw.yml index 25f6fcc9f7..9278291358 100644 --- a/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/atrw/hrnet_atrw.yml +++ b/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/atrw/hrnet_atrw.yml @@ -1,18 +1,17 @@ Collections: -- Metadata: - Architecture: - - HRNet - Name: animal--2d_kpt_sview_rgb_img--topdown_heatmap--atrw--hrnet_atrw [HRNet@ATRW] +- Name: HRNet Paper: Title: Deep high-resolution representation learning for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2019/html/Sun_Deep_High-Resolution_Representation_Learning_for_Human_Pose_Estimation_CVPR_2019_paper.html - README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/atrw/hrnet_atrw.md Models: - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/atrw/hrnet_w32_atrw_256x256.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--atrw--hrnet_atrw [HRNet@ATRW] + In Collection: HRNet Metadata: + Architecture: &id001 + - HRNet Training Data: ATRW Name: topdown_heatmap_hrnet_w32_atrw_256x256 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/atrw/hrnet_atrw.md Results: - Dataset: ATRW Metrics: @@ -24,10 +23,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/hrnet/hrnet_w32_atrw_256x256-f027f09a_20210414.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/atrw/hrnet_w48_atrw_256x256.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--atrw--hrnet_atrw [HRNet@ATRW] + In Collection: HRNet Metadata: + Architecture: *id001 Training Data: ATRW Name: topdown_heatmap_hrnet_w48_atrw_256x256 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/atrw/hrnet_atrw.md Results: - Dataset: ATRW Metrics: diff --git a/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/atrw/resnet_atrw.yml b/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/atrw/resnet_atrw.yml index 167009fc5c..39db647905 100644 --- a/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/atrw/resnet_atrw.yml +++ b/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/atrw/resnet_atrw.yml @@ -1,19 +1,17 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline2D - Name: animal--2d_kpt_sview_rgb_img--topdown_heatmap--atrw--resnet_atrw [SimpleBaseline2D@ATRW] +- Name: SimpleBaseline2D Paper: Title: Simple baselines for human pose estimation and tracking URL: http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html - README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/atrw/resnet_atrw.md Models: - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/atrw/res50_atrw_256x256.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--atrw--resnet_atrw - [SimpleBaseline2D@ATRW] + In Collection: SimpleBaseline2D Metadata: + Architecture: &id001 + - SimpleBaseline2D Training Data: ATRW Name: topdown_heatmap_res50_atrw_256x256 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/atrw/resnet_atrw.md Results: - Dataset: ATRW Metrics: @@ -25,11 +23,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/resnet/res50_atrw_256x256-546c4594_20210414.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/atrw/res101_atrw_256x256.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--atrw--resnet_atrw - [SimpleBaseline2D@ATRW] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: ATRW Name: topdown_heatmap_res101_atrw_256x256 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/atrw/resnet_atrw.md Results: - Dataset: ATRW Metrics: @@ -41,11 +40,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/resnet/res101_atrw_256x256-da93f371_20210414.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/atrw/res152_atrw_256x256.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--atrw--resnet_atrw - [SimpleBaseline2D@ATRW] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: ATRW Name: topdown_heatmap_res152_atrw_256x256 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/atrw/resnet_atrw.md Results: - Dataset: ATRW Metrics: diff --git a/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/fly/resnet_fly.yml b/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/fly/resnet_fly.yml index 7dec9b000e..5cc604557d 100644 --- a/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/fly/resnet_fly.yml +++ b/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/fly/resnet_fly.yml @@ -1,20 +1,17 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline2D - Name: animal--2d_kpt_sview_rgb_img--topdown_heatmap--fly--resnet_fly [SimpleBaseline2D@Vinegar - Fly] +- Name: SimpleBaseline2D Paper: Title: Simple baselines for human pose estimation and tracking URL: http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html - README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/fly/resnet_fly.md Models: - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/fly/res50_fly_192x192.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--fly--resnet_fly [SimpleBaseline2D@Vinegar - Fly] + In Collection: SimpleBaseline2D Metadata: + Architecture: &id001 + - SimpleBaseline2D Training Data: Vinegar Fly Name: topdown_heatmap_res50_fly_192x192 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/fly/resnet_fly.md Results: - Dataset: Vinegar Fly Metrics: @@ -24,11 +21,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/resnet/res50_fly_192x192-5d0ee2d9_20210407.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/fly/res101_fly_192x192.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--fly--resnet_fly [SimpleBaseline2D@Vinegar - Fly] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: Vinegar Fly Name: topdown_heatmap_res101_fly_192x192 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/fly/resnet_fly.md Results: - Dataset: Vinegar Fly Metrics: @@ -38,11 +36,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/resnet/res101_fly_192x192-41a7a6cc_20210407.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/fly/res152_fly_192x192.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--fly--resnet_fly [SimpleBaseline2D@Vinegar - Fly] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: Vinegar Fly Name: topdown_heatmap_res152_fly_192x192 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/fly/resnet_fly.md Results: - Dataset: Vinegar Fly Metrics: diff --git a/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/hrnet_horse10.yml b/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/hrnet_horse10.yml index 1f03d553c6..ffcdcdc405 100644 --- a/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/hrnet_horse10.yml +++ b/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/hrnet_horse10.yml @@ -1,19 +1,17 @@ Collections: -- Metadata: - Architecture: - - HRNet - Name: animal--2d_kpt_sview_rgb_img--topdown_heatmap--horse10--hrnet_horse10 [HRNet@Horse-10] +- Name: HRNet Paper: Title: Deep high-resolution representation learning for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2019/html/Sun_Deep_High-Resolution_Representation_Learning_for_Human_Pose_Estimation_CVPR_2019_paper.html - README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/hrnet_horse10.md Models: - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/hrnet_w32_horse10_256x256-split1.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--horse10--hrnet_horse10 - [HRNet@Horse-10] + In Collection: HRNet Metadata: + Architecture: &id001 + - HRNet Training Data: Horse-10 Name: topdown_heatmap_hrnet_w32_horse10_256x256-split1 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/hrnet_horse10.md Results: - Dataset: Horse-10 Metrics: @@ -22,11 +20,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/hrnet/hrnet_w32_horse10_256x256_split1-401d901a_20210405.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/hrnet_w32_horse10_256x256-split2.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--horse10--hrnet_horse10 - [HRNet@Horse-10] + In Collection: HRNet Metadata: + Architecture: *id001 Training Data: Horse-10 Name: topdown_heatmap_hrnet_w32_horse10_256x256-split2 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/hrnet_horse10.md Results: - Dataset: Horse-10 Metrics: @@ -35,11 +34,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/hrnet/hrnet_w32_horse10_256x256_split2-04840523_20210405.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/hrnet_w32_horse10_256x256-split3.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--horse10--hrnet_horse10 - [HRNet@Horse-10] + In Collection: HRNet Metadata: + Architecture: *id001 Training Data: Horse-10 Name: topdown_heatmap_hrnet_w32_horse10_256x256-split3 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/hrnet_horse10.md Results: - Dataset: Horse-10 Metrics: @@ -48,11 +48,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/hrnet/hrnet_w32_horse10_256x256_split3-4db47400_20210405.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/hrnet_w48_horse10_256x256-split1.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--horse10--hrnet_horse10 - [HRNet@Horse-10] + In Collection: HRNet Metadata: + Architecture: *id001 Training Data: Horse-10 Name: topdown_heatmap_hrnet_w48_horse10_256x256-split1 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/hrnet_horse10.md Results: - Dataset: Horse-10 Metrics: @@ -61,11 +62,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/hrnet/hrnet_w48_horse10_256x256_split1-3c950d3b_20210405.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/hrnet_w48_horse10_256x256-split2.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--horse10--hrnet_horse10 - [HRNet@Horse-10] + In Collection: HRNet Metadata: + Architecture: *id001 Training Data: Horse-10 Name: topdown_heatmap_hrnet_w48_horse10_256x256-split2 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/hrnet_horse10.md Results: - Dataset: Horse-10 Metrics: @@ -74,11 +76,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/hrnet/hrnet_w48_horse10_256x256_split2-8ef72b5d_20210405.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/hrnet_w48_horse10_256x256-split3.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--horse10--hrnet_horse10 - [HRNet@Horse-10] + In Collection: HRNet Metadata: + Architecture: *id001 Training Data: Horse-10 Name: topdown_heatmap_hrnet_w48_horse10_256x256-split3 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/hrnet_horse10.md Results: - Dataset: Horse-10 Metrics: diff --git a/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/resnet_horse10.yml b/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/resnet_horse10.yml index a7cc7b3174..5a2d193953 100644 --- a/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/resnet_horse10.yml +++ b/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/resnet_horse10.yml @@ -1,19 +1,17 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline2D - Name: animal--2d_kpt_sview_rgb_img--topdown_heatmap--horse10--resnet_horse10 [SimpleBaseline2D@Horse-10] +- Name: SimpleBaseline2D Paper: Title: Simple baselines for human pose estimation and tracking URL: http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html - README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/resnet_horse10.md Models: - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/res50_horse10_256x256-split1.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--horse10--resnet_horse10 - [SimpleBaseline2D@Horse-10] + In Collection: SimpleBaseline2D Metadata: + Architecture: &id001 + - SimpleBaseline2D Training Data: Horse-10 Name: topdown_heatmap_res50_horse10_256x256-split1 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/resnet_horse10.md Results: - Dataset: Horse-10 Metrics: @@ -22,11 +20,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/resnet/res50_horse10_256x256_split1-3a3dc37e_20210405.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/res50_horse10_256x256-split2.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--horse10--resnet_horse10 - [SimpleBaseline2D@Horse-10] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: Horse-10 Name: topdown_heatmap_res50_horse10_256x256-split2 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/resnet_horse10.md Results: - Dataset: Horse-10 Metrics: @@ -35,11 +34,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/resnet/res50_horse10_256x256_split2-65e2a508_20210405.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/res50_horse10_256x256-split3.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--horse10--resnet_horse10 - [SimpleBaseline2D@Horse-10] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: Horse-10 Name: topdown_heatmap_res50_horse10_256x256-split3 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/resnet_horse10.md Results: - Dataset: Horse-10 Metrics: @@ -48,11 +48,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/resnet/res50_horse10_256x256_split3-9637d4eb_20210405.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/res101_horse10_256x256-split1.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--horse10--resnet_horse10 - [SimpleBaseline2D@Horse-10] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: Horse-10 Name: topdown_heatmap_res101_horse10_256x256-split1 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/resnet_horse10.md Results: - Dataset: Horse-10 Metrics: @@ -61,11 +62,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/resnet/res101_horse10_256x256_split1-1b7c259c_20210405.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/res101_horse10_256x256-split2.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--horse10--resnet_horse10 - [SimpleBaseline2D@Horse-10] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: Horse-10 Name: topdown_heatmap_res101_horse10_256x256-split2 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/resnet_horse10.md Results: - Dataset: Horse-10 Metrics: @@ -74,11 +76,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/resnet/res101_horse10_256x256_split2-30e2fa87_20210405.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/res101_horse10_256x256-split3.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--horse10--resnet_horse10 - [SimpleBaseline2D@Horse-10] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: Horse-10 Name: topdown_heatmap_res101_horse10_256x256-split3 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/resnet_horse10.md Results: - Dataset: Horse-10 Metrics: @@ -87,11 +90,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/resnet/res101_horse10_256x256_split3-2eea5bb1_20210405.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/res152_horse10_256x256-split1.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--horse10--resnet_horse10 - [SimpleBaseline2D@Horse-10] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: Horse-10 Name: topdown_heatmap_res152_horse10_256x256-split1 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/resnet_horse10.md Results: - Dataset: Horse-10 Metrics: @@ -100,11 +104,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/resnet/res152_horse10_256x256_split1-7e81fe2d_20210405.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/res152_horse10_256x256-split2.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--horse10--resnet_horse10 - [SimpleBaseline2D@Horse-10] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: Horse-10 Name: topdown_heatmap_res152_horse10_256x256-split2 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/resnet_horse10.md Results: - Dataset: Horse-10 Metrics: @@ -113,11 +118,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/resnet/res152_horse10_256x256_split2-3b3404a3_20210405.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/res152_horse10_256x256-split3.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--horse10--resnet_horse10 - [SimpleBaseline2D@Horse-10] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: Horse-10 Name: topdown_heatmap_res152_horse10_256x256-split3 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/horse10/resnet_horse10.md Results: - Dataset: Horse-10 Metrics: diff --git a/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/locust/resnet_locust.yml b/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/locust/resnet_locust.yml index 6043a4729a..47d99fc4b1 100644 --- a/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/locust/resnet_locust.yml +++ b/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/locust/resnet_locust.yml @@ -1,20 +1,17 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline2D - Name: animal--2d_kpt_sview_rgb_img--topdown_heatmap--locust--resnet_locust [SimpleBaseline2D@Desert - Locust] +- Name: SimpleBaseline2D Paper: Title: Simple baselines for human pose estimation and tracking URL: http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html - README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/locust/resnet_locust.md Models: - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/locust/res50_locust_160x160.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--locust--resnet_locust - [SimpleBaseline2D@Desert Locust] + In Collection: SimpleBaseline2D Metadata: + Architecture: &id001 + - SimpleBaseline2D Training Data: Desert Locust Name: topdown_heatmap_res50_locust_160x160 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/locust/resnet_locust.md Results: - Dataset: Desert Locust Metrics: @@ -24,11 +21,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/resnet/res50_locust_160x160-9efca22b_20210407.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/locust/res101_locust_160x160.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--locust--resnet_locust - [SimpleBaseline2D@Desert Locust] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: Desert Locust Name: topdown_heatmap_res101_locust_160x160 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/locust/resnet_locust.md Results: - Dataset: Desert Locust Metrics: @@ -38,11 +36,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/resnet/res101_locust_160x160-d77986b3_20210407.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/locust/res152_locust_160x160.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--locust--resnet_locust - [SimpleBaseline2D@Desert Locust] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: Desert Locust Name: topdown_heatmap_res152_locust_160x160 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/locust/resnet_locust.md Results: - Dataset: Desert Locust Metrics: diff --git a/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/macaque/hrnet_macaque.yml b/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/macaque/hrnet_macaque.yml index 08d7aa809c..755d4d16c2 100644 --- a/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/macaque/hrnet_macaque.yml +++ b/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/macaque/hrnet_macaque.yml @@ -1,19 +1,17 @@ Collections: -- Metadata: - Architecture: - - HRNet - Name: animal--2d_kpt_sview_rgb_img--topdown_heatmap--macaque--hrnet_macaque [HRNet@MacaquePose] +- Name: HRNet Paper: Title: Deep high-resolution representation learning for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2019/html/Sun_Deep_High-Resolution_Representation_Learning_for_Human_Pose_Estimation_CVPR_2019_paper.html - README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/macaque/hrnet_macaque.md Models: - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/macaque/hrnet_w32_macaque_256x192.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--macaque--hrnet_macaque - [HRNet@MacaquePose] + In Collection: HRNet Metadata: + Architecture: &id001 + - HRNet Training Data: MacaquePose Name: topdown_heatmap_hrnet_w32_macaque_256x192 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/macaque/hrnet_macaque.md Results: - Dataset: MacaquePose Metrics: @@ -25,11 +23,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/hrnet/hrnet_w32_macaque_256x192-f7e9e04f_20210407.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/macaque/hrnet_w48_macaque_256x192.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--macaque--hrnet_macaque - [HRNet@MacaquePose] + In Collection: HRNet Metadata: + Architecture: *id001 Training Data: MacaquePose Name: topdown_heatmap_hrnet_w48_macaque_256x192 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/macaque/hrnet_macaque.md Results: - Dataset: MacaquePose Metrics: diff --git a/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/macaque/resnet_macaque.yml b/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/macaque/resnet_macaque.yml index fe6ff863c4..7628788739 100644 --- a/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/macaque/resnet_macaque.yml +++ b/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/macaque/resnet_macaque.yml @@ -1,19 +1,17 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline2D - Name: animal--2d_kpt_sview_rgb_img--topdown_heatmap--macaque--resnet_macaque [SimpleBaseline2D@MacaquePose] +- Name: SimpleBaseline2D Paper: Title: Simple baselines for human pose estimation and tracking URL: http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html - README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/macaque/resnet_macaque.md Models: - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/macaque/res50_macaque_256x192.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--macaque--resnet_macaque - [SimpleBaseline2D@MacaquePose] + In Collection: SimpleBaseline2D Metadata: + Architecture: &id001 + - SimpleBaseline2D Training Data: MacaquePose Name: topdown_heatmap_res50_macaque_256x192 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/macaque/resnet_macaque.md Results: - Dataset: MacaquePose Metrics: @@ -25,11 +23,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/resnet/res50_macaque_256x192-98f1dd3a_20210407.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/macaque/res101_macaque_256x192.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--macaque--resnet_macaque - [SimpleBaseline2D@MacaquePose] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: MacaquePose Name: topdown_heatmap_res101_macaque_256x192 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/macaque/resnet_macaque.md Results: - Dataset: MacaquePose Metrics: @@ -41,11 +40,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/resnet/res101_macaque_256x192-e3b9c6bb_20210407.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/macaque/res152_macaque_256x192.py - In Collection: animal--2d_kpt_sview_rgb_img--topdown_heatmap--macaque--resnet_macaque - [SimpleBaseline2D@MacaquePose] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: MacaquePose Name: topdown_heatmap_res152_macaque_256x192 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/macaque/resnet_macaque.md Results: - Dataset: MacaquePose Metrics: diff --git a/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/zebra/resnet_zebra.yml b/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/zebra/resnet_zebra.yml index 1b604aede2..dfa86029e4 100644 --- a/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/zebra/resnet_zebra.yml +++ b/configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/zebra/resnet_zebra.yml @@ -1,20 +1,17 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline2D - Name: "animal--2d_kpt_sview_rgb_img--topdown_heatmap--zebra--resnet_zebra [SimpleBaseline2D@Gr\xE9vy\u2019s - Zebra]" +- Name: SimpleBaseline2D Paper: Title: Simple baselines for human pose estimation and tracking URL: http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html - README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/zebra/resnet_zebra.md Models: - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/zebra/res50_zebra_160x160.py - In Collection: "animal--2d_kpt_sview_rgb_img--topdown_heatmap--zebra--resnet_zebra - [SimpleBaseline2D@Gr\xE9vy\u2019s Zebra]" + In Collection: SimpleBaseline2D Metadata: + Architecture: &id001 + - SimpleBaseline2D Training Data: "Gr\xE9vy\u2019s Zebra" Name: topdown_heatmap_res50_zebra_160x160 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/zebra/resnet_zebra.md Results: - Dataset: "Gr\xE9vy\u2019s Zebra" Metrics: @@ -24,11 +21,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/resnet/res50_zebra_160x160-5a104833_20210407.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/zebra/res101_zebra_160x160.py - In Collection: "animal--2d_kpt_sview_rgb_img--topdown_heatmap--zebra--resnet_zebra - [SimpleBaseline2D@Gr\xE9vy\u2019s Zebra]" + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: "Gr\xE9vy\u2019s Zebra" Name: topdown_heatmap_res101_zebra_160x160 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/zebra/resnet_zebra.md Results: - Dataset: "Gr\xE9vy\u2019s Zebra" Metrics: @@ -38,11 +36,12 @@ Models: Task: Animal 2D Keypoint Weights: https://download.openmmlab.com/mmpose/animal/resnet/res101_zebra_160x160-e8cb2010_20210407.pth - Config: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/zebra/res152_zebra_160x160.py - In Collection: "animal--2d_kpt_sview_rgb_img--topdown_heatmap--zebra--resnet_zebra - [SimpleBaseline2D@Gr\xE9vy\u2019s Zebra]" + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: "Gr\xE9vy\u2019s Zebra" Name: topdown_heatmap_res152_zebra_160x160 + README: configs/animal/2d_kpt_sview_rgb_img/topdown_heatmap/zebra/resnet_zebra.md Results: - Dataset: "Gr\xE9vy\u2019s Zebra" Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/associative_embedding/aic/higherhrnet_aic.yml b/configs/body/2d_kpt_sview_rgb_img/associative_embedding/aic/higherhrnet_aic.yml index 08448bb423..88b64b943e 100644 --- a/configs/body/2d_kpt_sview_rgb_img/associative_embedding/aic/higherhrnet_aic.yml +++ b/configs/body/2d_kpt_sview_rgb_img/associative_embedding/aic/higherhrnet_aic.yml @@ -1,22 +1,19 @@ Collections: -- Metadata: - Architecture: - - Associative Embedding - - HigherHRNet - Name: body--2d_kpt_sview_rgb_img--associative_embedding--aic--higherhrnet_aic [Associative - Embedding+HigherHRNet@AI Challenger] +- Name: HigherHRNet Paper: Title: 'HigherHRNet: Scale-Aware Representation Learning for Bottom-Up Human Pose Estimation' URL: http://openaccess.thecvf.com/content_CVPR_2020/html/Cheng_HigherHRNet_Scale-Aware_Representation_Learning_for_Bottom-Up_Human_Pose_Estimation_CVPR_2020_paper.html - README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/aic/higherhrnet_aic.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/aic/higherhrnet_w32_aic_512x512.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--aic--higherhrnet_aic - [Associative Embedding+HigherHRNet@AI Challenger] + In Collection: HigherHRNet Metadata: + Architecture: &id001 + - Associative Embedding + - HigherHRNet Training Data: AI Challenger Name: associative_embedding_higherhrnet_w32_aic_512x512 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/aic/higherhrnet_aic.md Results: - Dataset: AI Challenger Metrics: @@ -28,11 +25,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/bottom_up/higher_hrnet32_aic_512x512-9a674c33_20210130.pth - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/aic/higherhrnet_w32_aic_512x512.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--aic--higherhrnet_aic - [Associative Embedding+HigherHRNet@AI Challenger] + In Collection: HigherHRNet Metadata: + Architecture: *id001 Training Data: AI Challenger Name: associative_embedding_higherhrnet_w32_aic_512x512 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/aic/higherhrnet_aic.md Results: - Dataset: AI Challenger Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/associative_embedding/aic/hrnet_aic.yml b/configs/body/2d_kpt_sview_rgb_img/associative_embedding/aic/hrnet_aic.yml index c387be9f27..ed112448e6 100644 --- a/configs/body/2d_kpt_sview_rgb_img/associative_embedding/aic/hrnet_aic.yml +++ b/configs/body/2d_kpt_sview_rgb_img/associative_embedding/aic/hrnet_aic.yml @@ -1,21 +1,18 @@ Collections: -- Metadata: - Architecture: - - Associative Embedding - - HRNet - Name: body--2d_kpt_sview_rgb_img--associative_embedding--aic--hrnet_aic [Associative - Embedding+HRNet@AI Challenger] +- Name: HRNet Paper: Title: Deep high-resolution representation learning for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2019/html/Sun_Deep_High-Resolution_Representation_Learning_for_Human_Pose_Estimation_CVPR_2019_paper.html - README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/aic/hrnet_aic.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/aic/hrnet_w32_aic_512x512.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--aic--hrnet_aic - [Associative Embedding+HRNet@AI Challenger] + In Collection: HRNet Metadata: + Architecture: &id001 + - Associative Embedding + - HRNet Training Data: AI Challenger Name: associative_embedding_hrnet_w32_aic_512x512 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/aic/hrnet_aic.md Results: - Dataset: AI Challenger Metrics: @@ -27,11 +24,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/bottom_up/hrnet_w32_aic_512x512-77e2a98a_20210131.pth - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/aic/hrnet_w32_aic_512x512.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--aic--hrnet_aic - [Associative Embedding+HRNet@AI Challenger] + In Collection: HRNet Metadata: + Architecture: *id001 Training Data: AI Challenger Name: associative_embedding_hrnet_w32_aic_512x512 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/aic/hrnet_aic.md Results: - Dataset: AI Challenger Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_coco.yml b/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_coco.yml index bf31d9baec..f14f5e3d13 100644 --- a/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_coco.yml @@ -1,22 +1,19 @@ Collections: -- Metadata: - Architecture: - - Associative Embedding - - HigherHRNet - Name: body--2d_kpt_sview_rgb_img--associative_embedding--coco--higherhrnet_coco - [Associative Embedding+HigherHRNet@COCO] +- Name: HigherHRNet Paper: Title: 'HigherHRNet: Scale-Aware Representation Learning for Bottom-Up Human Pose Estimation' URL: http://openaccess.thecvf.com/content_CVPR_2020/html/Cheng_HigherHRNet_Scale-Aware_Representation_Learning_for_Bottom-Up_Human_Pose_Estimation_CVPR_2020_paper.html - README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_w32_coco_512x512.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--coco--higherhrnet_coco - [Associative Embedding+HigherHRNet@COCO] + In Collection: HigherHRNet Metadata: + Architecture: &id001 + - Associative Embedding + - HigherHRNet Training Data: COCO Name: associative_embedding_higherhrnet_w32_coco_512x512 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_coco.md Results: - Dataset: COCO Metrics: @@ -28,11 +25,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/bottom_up/higher_hrnet32_coco_512x512-8ae85183_20200713.pth - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_w32_coco_640x640.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--coco--higherhrnet_coco - [Associative Embedding+HigherHRNet@COCO] + In Collection: HigherHRNet Metadata: + Architecture: *id001 Training Data: COCO Name: associative_embedding_higherhrnet_w32_coco_640x640 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_coco.md Results: - Dataset: COCO Metrics: @@ -44,11 +42,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/bottom_up/higher_hrnet32_coco_640x640-a22fe938_20200712.pth - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_w48_coco_512x512.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--coco--higherhrnet_coco - [Associative Embedding+HigherHRNet@COCO] + In Collection: HigherHRNet Metadata: + Architecture: *id001 Training Data: COCO Name: associative_embedding_higherhrnet_w48_coco_512x512 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_coco.md Results: - Dataset: COCO Metrics: @@ -60,11 +59,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/bottom_up/higher_hrnet48_coco_512x512-60fedcbc_20200712.pth - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_w32_coco_512x512.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--coco--higherhrnet_coco - [Associative Embedding+HigherHRNet@COCO] + In Collection: HigherHRNet Metadata: + Architecture: *id001 Training Data: COCO Name: associative_embedding_higherhrnet_w32_coco_512x512 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_coco.md Results: - Dataset: COCO Metrics: @@ -76,11 +76,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/bottom_up/higher_hrnet32_coco_512x512-8ae85183_20200713.pth - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_w32_coco_640x640.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--coco--higherhrnet_coco - [Associative Embedding+HigherHRNet@COCO] + In Collection: HigherHRNet Metadata: + Architecture: *id001 Training Data: COCO Name: associative_embedding_higherhrnet_w32_coco_640x640 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_coco.md Results: - Dataset: COCO Metrics: @@ -92,11 +93,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/bottom_up/higher_hrnet32_coco_640x640-a22fe938_20200712.pth - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_w48_coco_512x512.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--coco--higherhrnet_coco - [Associative Embedding+HigherHRNet@COCO] + In Collection: HigherHRNet Metadata: + Architecture: *id001 Training Data: COCO Name: associative_embedding_higherhrnet_w48_coco_512x512 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_udp_coco.yml b/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_udp_coco.yml index 0b46544030..3d723bbe54 100644 --- a/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_udp_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_udp_coco.yml @@ -1,23 +1,20 @@ Collections: -- Metadata: - Architecture: - - Associative Embedding - - HigherHRNet - - UDP - Name: body--2d_kpt_sview_rgb_img--associative_embedding--coco--higherhrnet_udp_coco - [Associative Embedding+HigherHRNet+UDP@COCO] +- Name: HigherHRNet Paper: Title: 'HigherHRNet: Scale-Aware Representation Learning for Bottom-Up Human Pose Estimation' URL: http://openaccess.thecvf.com/content_CVPR_2020/html/Cheng_HigherHRNet_Scale-Aware_Representation_Learning_for_Bottom-Up_Human_Pose_Estimation_CVPR_2020_paper.html - README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_udp_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_w32_coco_512x512_udp.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--coco--higherhrnet_udp_coco - [Associative Embedding+HigherHRNet+UDP@COCO] + In Collection: HigherHRNet Metadata: + Architecture: &id001 + - Associative Embedding + - HigherHRNet + - UDP Training Data: COCO Name: associative_embedding_higherhrnet_w32_coco_512x512_udp + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_udp_coco.md Results: - Dataset: COCO Metrics: @@ -29,11 +26,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/bottom_up/higher_hrnet32_coco_512x512_udp-8cc64794_20210222.pth - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_w48_coco_512x512_udp.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--coco--higherhrnet_udp_coco - [Associative Embedding+HigherHRNet+UDP@COCO] + In Collection: HigherHRNet Metadata: + Architecture: *id001 Training Data: COCO Name: associative_embedding_higherhrnet_w48_coco_512x512_udp + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_udp_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hourglass_ae_coco.md b/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hourglass_ae_coco.md index 210884a321..b72e57023b 100644 --- a/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hourglass_ae_coco.md +++ b/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hourglass_ae_coco.md @@ -54,10 +54,10 @@ Results on COCO val2017 without multi-scale test | Arch | Input Size | AP | AP50 | AP75 | AR | AR50 | ckpt | log | | :----------------- | :-----------: | :------: | :------: | :------: | :------: | :------: |:------: |:------: | -| [pose_hourglass_ae](/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hourglass_ae_coco_512x512.py) | 512x512 | 0.613 | 0.833 | 0.667 | 0.659 | 0.850 | [ckpt](https://download.openmmlab.com/mmpose/face/hourglass_ae/hourglass_ae_coco_512x512-90af499f_20210920.pth) | [log](https://download.openmmlab.com/mmpose/face/hourglass_ae/hourglass_ae_coco_512x512_20210920.log.json) | +| [pose_hourglass_ae](/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hourglass_ae_coco_512x512.py) | 512x512 | 0.613 | 0.833 | 0.667 | 0.659 | 0.850 | [ckpt](https://download.openmmlab.com/mmpose/bottom_up/hourglass_ae/hourglass_ae_coco_512x512-90af499f_20210920.pth) | [log](https://download.openmmlab.com/mmpose/bottom_up/hourglass_ae/hourglass_ae_coco_512x512_20210920.log.json) | Results on COCO val2017 with multi-scale test. 3 default scales (\[2, 1, 0.5\]) are used | Arch | Input Size | AP | AP50 | AP75 | AR | AR50 | ckpt | log | | :----------------- | :-----------: | :------: | :------: | :------: | :------: | :------: |:------: |:------: | -| [pose_hourglass_ae](/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hourglass_ae_coco_512x512.py) | 512x512 | 0.667 | 0.855 | 0.723 | 0.707 | 0.877 | [ckpt](https://download.openmmlab.com/mmpose/face/hourglass_ae/hourglass_ae_coco_512x512-90af499f_20210920.pth) | [log](https://download.openmmlab.com/mmpose/face/hourglass_ae/hourglass_ae_coco_512x512_20210920.log.json) | +| [pose_hourglass_ae](/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hourglass_ae_coco_512x512.py) | 512x512 | 0.667 | 0.855 | 0.723 | 0.707 | 0.877 | [ckpt](https://download.openmmlab.com/mmpose/bottom_up/hourglass_ae/hourglass_ae_coco_512x512-90af499f_20210920.pth) | [log](https://download.openmmlab.com/mmpose/bottom_up/hourglass_ae/hourglass_ae_coco_512x512_20210920.log.json) | diff --git a/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hourglass_ae_coco.yml b/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hourglass_ae_coco.yml index ed5b87f844..75433ee220 100644 --- a/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hourglass_ae_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hourglass_ae_coco.yml @@ -1,21 +1,18 @@ Collections: -- Metadata: - Architecture: - - Associative Embedding - - HourglassAENet - Name: body--2d_kpt_sview_rgb_img--associative_embedding--coco--hourglass_ae_coco - [Associative Embedding+HourglassAENet@COCO] +- Name: Associative Embedding Paper: Title: 'Associative embedding: End-to-end learning for joint detection and grouping' URL: https://arxiv.org/abs/1611.05424 - README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hourglass_ae_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hourglass_ae_coco_512x512.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--coco--hourglass_ae_coco - [Associative Embedding+HourglassAENet@COCO] + In Collection: Associative Embedding Metadata: + Architecture: &id001 + - Associative Embedding + - HourglassAENet Training Data: COCO Name: associative_embedding_hourglass_ae_coco_512x512 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hourglass_ae_coco.md Results: - Dataset: COCO Metrics: @@ -25,13 +22,14 @@ Models: AR: 0.659 AR@0.5: 0.85 Task: Body 2D Keypoint - Weights: https://download.openmmlab.com/mmpose/face/hourglass_ae/hourglass_ae_coco_512x512-90af499f_20210920.pth + Weights: https://download.openmmlab.com/mmpose/bottom_up/hourglass_ae/hourglass_ae_coco_512x512-90af499f_20210920.pth - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hourglass_ae_coco_512x512.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--coco--hourglass_ae_coco - [Associative Embedding+HourglassAENet@COCO] + In Collection: Associative Embedding Metadata: + Architecture: *id001 Training Data: COCO Name: associative_embedding_hourglass_ae_coco_512x512 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hourglass_ae_coco.md Results: - Dataset: COCO Metrics: @@ -41,4 +39,4 @@ Models: AR: 0.707 AR@0.5: 0.877 Task: Body 2D Keypoint - Weights: https://download.openmmlab.com/mmpose/face/hourglass_ae/hourglass_ae_coco_512x512-90af499f_20210920.pth + Weights: https://download.openmmlab.com/mmpose/bottom_up/hourglass_ae/hourglass_ae_coco_512x512-90af499f_20210920.pth diff --git a/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_coco.yml b/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_coco.yml index acc8d103bc..7b6071c8dd 100644 --- a/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_coco.yml @@ -1,21 +1,18 @@ Collections: -- Metadata: - Architecture: - - Associative Embedding - - HRNet - Name: body--2d_kpt_sview_rgb_img--associative_embedding--coco--hrnet_coco [Associative - Embedding+HRNet@COCO] +- Name: HRNet Paper: Title: Deep high-resolution representation learning for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2019/html/Sun_Deep_High-Resolution_Representation_Learning_for_Human_Pose_Estimation_CVPR_2019_paper.html - README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_w32_coco_512x512.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--coco--hrnet_coco - [Associative Embedding+HRNet@COCO] + In Collection: HRNet Metadata: + Architecture: &id001 + - Associative Embedding + - HRNet Training Data: COCO Name: associative_embedding_hrnet_w32_coco_512x512 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_coco.md Results: - Dataset: COCO Metrics: @@ -27,11 +24,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/bottom_up/hrnet_w32_coco_512x512-bcb8c247_20200816.pth - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_w48_coco_512x512.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--coco--hrnet_coco - [Associative Embedding+HRNet@COCO] + In Collection: HRNet Metadata: + Architecture: *id001 Training Data: COCO Name: associative_embedding_hrnet_w48_coco_512x512 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_coco.md Results: - Dataset: COCO Metrics: @@ -43,11 +41,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/bottom_up/hrnet_w48_coco_512x512-cf72fcdf_20200816.pth - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_w32_coco_512x512.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--coco--hrnet_coco - [Associative Embedding+HRNet@COCO] + In Collection: HRNet Metadata: + Architecture: *id001 Training Data: COCO Name: associative_embedding_hrnet_w32_coco_512x512 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_coco.md Results: - Dataset: COCO Metrics: @@ -59,11 +58,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/bottom_up/hrnet_w32_coco_512x512-bcb8c247_20200816.pth - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_w48_coco_512x512.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--coco--hrnet_coco - [Associative Embedding+HRNet@COCO] + In Collection: HRNet Metadata: + Architecture: *id001 Training Data: COCO Name: associative_embedding_hrnet_w48_coco_512x512 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_udp_coco.yml b/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_udp_coco.yml index dbac3bb4f7..741d39bb74 100644 --- a/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_udp_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_udp_coco.yml @@ -1,23 +1,20 @@ Collections: -- Metadata: - Architecture: - - Associative Embedding - - HRNet - - UDP - Name: body--2d_kpt_sview_rgb_img--associative_embedding--coco--hrnet_udp_coco [Associative - Embedding+HRNet+UDP@COCO] +- Name: UDP Paper: Title: 'The Devil Is in the Details: Delving Into Unbiased Data Processing for Human Pose Estimation' URL: http://openaccess.thecvf.com/content_CVPR_2020/html/Huang_The_Devil_Is_in_the_Details_Delving_Into_Unbiased_Data_CVPR_2020_paper.html - README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_udp_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_w32_coco_512x512_udp.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--coco--hrnet_udp_coco - [Associative Embedding+HRNet+UDP@COCO] + In Collection: UDP Metadata: + Architecture: &id001 + - Associative Embedding + - HRNet + - UDP Training Data: COCO Name: associative_embedding_hrnet_w32_coco_512x512_udp + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_udp_coco.md Results: - Dataset: COCO Metrics: @@ -29,11 +26,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/bottom_up/hrnet_w32_coco_512x512_udp-91663bf9_20210220.pth - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_w48_coco_512x512_udp.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--coco--hrnet_udp_coco - [Associative Embedding+HRNet+UDP@COCO] + In Collection: UDP Metadata: + Architecture: *id001 Training Data: COCO Name: associative_embedding_hrnet_w48_coco_512x512_udp + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_udp_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/mobilenetv2_coco.yml b/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/mobilenetv2_coco.yml index cbed11cd4c..00d31e3652 100644 --- a/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/mobilenetv2_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/mobilenetv2_coco.yml @@ -1,21 +1,18 @@ Collections: -- Metadata: - Architecture: - - Associative Embedding - - MobilenetV2 - Name: body--2d_kpt_sview_rgb_img--associative_embedding--coco--mobilenetv2_coco - [Associative Embedding+MobilenetV2@COCO] +- Name: MobilenetV2 Paper: Title: 'Mobilenetv2: Inverted residuals and linear bottlenecks' URL: http://openaccess.thecvf.com/content_cvpr_2018/html/Sandler_MobileNetV2_Inverted_Residuals_CVPR_2018_paper.html - README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/mobilenetv2_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/mobilenetv2_coco_512x512.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--coco--mobilenetv2_coco - [Associative Embedding+MobilenetV2@COCO] + In Collection: MobilenetV2 Metadata: + Architecture: &id001 + - Associative Embedding + - MobilenetV2 Training Data: COCO Name: associative_embedding_mobilenetv2_coco_512x512 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/mobilenetv2_coco.md Results: - Dataset: COCO Metrics: @@ -27,11 +24,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/bottom_up/mobilenetv2_coco_512x512-4d96e309_20200816.pth - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/mobilenetv2_coco_512x512.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--coco--mobilenetv2_coco - [Associative Embedding+MobilenetV2@COCO] + In Collection: MobilenetV2 Metadata: + Architecture: *id001 Training Data: COCO Name: associative_embedding_mobilenetv2_coco_512x512 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/mobilenetv2_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/resnet_coco.yml b/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/resnet_coco.yml index e34fa3bd7a..a849bd6723 100644 --- a/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/resnet_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/resnet_coco.yml @@ -1,21 +1,18 @@ Collections: -- Metadata: - Architecture: - - Associative Embedding - - ResNet - Name: body--2d_kpt_sview_rgb_img--associative_embedding--coco--resnet_coco [Associative - Embedding+ResNet@COCO] +- Name: Associative Embedding Paper: Title: 'Associative embedding: End-to-end learning for joint detection and grouping' URL: https://arxiv.org/abs/1611.05424 - README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/resnet_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/res50_coco_512x512.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--coco--resnet_coco - [Associative Embedding+ResNet@COCO] + In Collection: Associative Embedding Metadata: + Architecture: &id001 + - Associative Embedding + - ResNet Training Data: COCO Name: associative_embedding_res50_coco_512x512 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/resnet_coco.md Results: - Dataset: COCO Metrics: @@ -27,11 +24,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/bottom_up/res50_coco_512x512-5521bead_20200816.pth - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/res50_coco_640x640.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--coco--resnet_coco - [Associative Embedding+ResNet@COCO] + In Collection: Associative Embedding Metadata: + Architecture: *id001 Training Data: COCO Name: associative_embedding_res50_coco_640x640 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/resnet_coco.md Results: - Dataset: COCO Metrics: @@ -43,11 +41,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/bottom_up/res50_coco_640x640-2046f9cb_20200822.pth - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/res101_coco_512x512.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--coco--resnet_coco - [Associative Embedding+ResNet@COCO] + In Collection: Associative Embedding Metadata: + Architecture: *id001 Training Data: COCO Name: associative_embedding_res101_coco_512x512 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/resnet_coco.md Results: - Dataset: COCO Metrics: @@ -59,11 +58,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/bottom_up/res101_coco_512x512-e0c95157_20200816.pth - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/res152_coco_512x512.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--coco--resnet_coco - [Associative Embedding+ResNet@COCO] + In Collection: Associative Embedding Metadata: + Architecture: *id001 Training Data: COCO Name: associative_embedding_res152_coco_512x512 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/resnet_coco.md Results: - Dataset: COCO Metrics: @@ -75,11 +75,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/bottom_up/res152_coco_512x512-364eb38d_20200822.pth - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/res50_coco_512x512.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--coco--resnet_coco - [Associative Embedding+ResNet@COCO] + In Collection: Associative Embedding Metadata: + Architecture: *id001 Training Data: COCO Name: associative_embedding_res50_coco_512x512 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/resnet_coco.md Results: - Dataset: COCO Metrics: @@ -91,11 +92,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/bottom_up/res50_coco_512x512-5521bead_20200816.pth - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/res50_coco_640x640.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--coco--resnet_coco - [Associative Embedding+ResNet@COCO] + In Collection: Associative Embedding Metadata: + Architecture: *id001 Training Data: COCO Name: associative_embedding_res50_coco_640x640 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/resnet_coco.md Results: - Dataset: COCO Metrics: @@ -107,11 +109,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/bottom_up/res50_coco_640x640-2046f9cb_20200822.pth - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/res101_coco_512x512.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--coco--resnet_coco - [Associative Embedding+ResNet@COCO] + In Collection: Associative Embedding Metadata: + Architecture: *id001 Training Data: COCO Name: associative_embedding_res101_coco_512x512 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/resnet_coco.md Results: - Dataset: COCO Metrics: @@ -123,11 +126,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/bottom_up/res101_coco_512x512-e0c95157_20200816.pth - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/res152_coco_512x512.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--coco--resnet_coco - [Associative Embedding+ResNet@COCO] + In Collection: Associative Embedding Metadata: + Architecture: *id001 Training Data: COCO Name: associative_embedding_res152_coco_512x512 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/resnet_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/associative_embedding/crowdpose/higherhrnet_crowdpose.yml b/configs/body/2d_kpt_sview_rgb_img/associative_embedding/crowdpose/higherhrnet_crowdpose.yml index 7e2fdbffb8..e080892330 100644 --- a/configs/body/2d_kpt_sview_rgb_img/associative_embedding/crowdpose/higherhrnet_crowdpose.yml +++ b/configs/body/2d_kpt_sview_rgb_img/associative_embedding/crowdpose/higherhrnet_crowdpose.yml @@ -1,22 +1,19 @@ Collections: -- Metadata: - Architecture: - - Associative Embedding - - HigherHRNet - Name: body--2d_kpt_sview_rgb_img--associative_embedding--crowdpose--higherhrnet_crowdpose - [Associative Embedding+HigherHRNet@CrowdPose] +- Name: HigherHRNet Paper: Title: 'HigherHRNet: Scale-Aware Representation Learning for Bottom-Up Human Pose Estimation' URL: http://openaccess.thecvf.com/content_CVPR_2020/html/Cheng_HigherHRNet_Scale-Aware_Representation_Learning_for_Bottom-Up_Human_Pose_Estimation_CVPR_2020_paper.html - README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/crowdpose/higherhrnet_crowdpose.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/crowdpose/higherhrnet_w32_crowdpose_512x512.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--crowdpose--higherhrnet_crowdpose - [Associative Embedding+HigherHRNet@CrowdPose] + In Collection: HigherHRNet Metadata: + Architecture: &id001 + - Associative Embedding + - HigherHRNet Training Data: CrowdPose Name: associative_embedding_higherhrnet_w32_crowdpose_512x512 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/crowdpose/higherhrnet_crowdpose.md Results: - Dataset: CrowdPose Metrics: @@ -29,11 +26,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/bottom_up/higher_hrnet32_crowdpose_512x512-1aa4a132_20201017.pth - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/crowdpose/higherhrnet_w32_crowdpose_512x512.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--crowdpose--higherhrnet_crowdpose - [Associative Embedding+HigherHRNet@CrowdPose] + In Collection: HigherHRNet Metadata: + Architecture: *id001 Training Data: CrowdPose Name: associative_embedding_higherhrnet_w32_crowdpose_512x512 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/crowdpose/higherhrnet_crowdpose.md Results: - Dataset: CrowdPose Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/associative_embedding/mhp/hrnet_mhp.yml b/configs/body/2d_kpt_sview_rgb_img/associative_embedding/mhp/hrnet_mhp.yml index d7f8192f39..247d81775b 100644 --- a/configs/body/2d_kpt_sview_rgb_img/associative_embedding/mhp/hrnet_mhp.yml +++ b/configs/body/2d_kpt_sview_rgb_img/associative_embedding/mhp/hrnet_mhp.yml @@ -1,21 +1,18 @@ Collections: -- Metadata: - Architecture: - - Associative Embedding - - HRNet - Name: body--2d_kpt_sview_rgb_img--associative_embedding--mhp--hrnet_mhp [Associative - Embedding+HRNet@MHP] +- Name: HRNet Paper: Title: Deep high-resolution representation learning for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2019/html/Sun_Deep_High-Resolution_Representation_Learning_for_Human_Pose_Estimation_CVPR_2019_paper.html - README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/mhp/hrnet_mhp.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_w48_mhp_512x512.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--mhp--hrnet_mhp - [Associative Embedding+HRNet@MHP] + In Collection: HRNet Metadata: + Architecture: &id001 + - Associative Embedding + - HRNet Training Data: MHP Name: associative_embedding_hrnet_w48_mhp_512x512 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/mhp/hrnet_mhp.md Results: - Dataset: MHP Metrics: @@ -27,11 +24,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/bottom_up/hrnet_w48_mhp_512x512-85a6ab6f_20201229.pth - Config: configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_w48_mhp_512x512.py - In Collection: body--2d_kpt_sview_rgb_img--associative_embedding--mhp--hrnet_mhp - [Associative Embedding+HRNet@MHP] + In Collection: HRNet Metadata: + Architecture: *id001 Training Data: MHP Name: associative_embedding_hrnet_w48_mhp_512x512 + README: configs/body/2d_kpt_sview_rgb_img/associative_embedding/mhp/hrnet_mhp.md Results: - Dataset: MHP Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/deeppose/coco/resnet_coco.yml b/configs/body/2d_kpt_sview_rgb_img/deeppose/coco/resnet_coco.yml index 86dbf492b0..9ec1890ba8 100644 --- a/configs/body/2d_kpt_sview_rgb_img/deeppose/coco/resnet_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/deeppose/coco/resnet_coco.yml @@ -1,19 +1,18 @@ Collections: -- Metadata: - Architecture: - - DeepPose - - ResNet - Name: body--2d_kpt_sview_rgb_img--deeppose--coco--resnet_coco [DeepPose+ResNet@COCO] +- Name: ResNet Paper: Title: Deep residual learning for image recognition URL: http://openaccess.thecvf.com/content_cvpr_2016/html/He_Deep_Residual_Learning_CVPR_2016_paper.html - README: configs/body/2d_kpt_sview_rgb_img/deeppose/coco/resnet_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/deeppose/coco/res50_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--deeppose--coco--resnet_coco [DeepPose+ResNet@COCO] + In Collection: ResNet Metadata: + Architecture: &id001 + - DeepPose + - ResNet Training Data: COCO Name: deeppose_res50_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/deeppose/coco/resnet_coco.md Results: - Dataset: COCO Metrics: @@ -25,10 +24,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/deeppose/deeppose_res50_coco_256x192-f6de6c0e_20210205.pth - Config: configs/body/2d_kpt_sview_rgb_img/deeppose/coco/res101_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--deeppose--coco--resnet_coco [DeepPose+ResNet@COCO] + In Collection: ResNet Metadata: + Architecture: *id001 Training Data: COCO Name: deeppose_res101_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/deeppose/coco/resnet_coco.md Results: - Dataset: COCO Metrics: @@ -40,10 +41,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/deeppose/deeppose_res101_coco_256x192-2f247111_20210205.pth - Config: configs/body/2d_kpt_sview_rgb_img/deeppose/coco/res152_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--deeppose--coco--resnet_coco [DeepPose+ResNet@COCO] + In Collection: ResNet Metadata: + Architecture: *id001 Training Data: COCO Name: deeppose_res152_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/deeppose/coco/resnet_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/deeppose/mpii/resnet_mpii.yml b/configs/body/2d_kpt_sview_rgb_img/deeppose/mpii/resnet_mpii.yml index 0e1463efe5..46bc76c4bc 100644 --- a/configs/body/2d_kpt_sview_rgb_img/deeppose/mpii/resnet_mpii.yml +++ b/configs/body/2d_kpt_sview_rgb_img/deeppose/mpii/resnet_mpii.yml @@ -1,19 +1,18 @@ Collections: -- Metadata: - Architecture: - - DeepPose - - ResNet - Name: body--2d_kpt_sview_rgb_img--deeppose--mpii--resnet_mpii [DeepPose+ResNet@MPII] +- Name: ResNet Paper: Title: Deep residual learning for image recognition URL: http://openaccess.thecvf.com/content_cvpr_2016/html/He_Deep_Residual_Learning_CVPR_2016_paper.html - README: configs/body/2d_kpt_sview_rgb_img/deeppose/mpii/resnet_mpii.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/deeppose/mpii/res50_mpii_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--deeppose--mpii--resnet_mpii [DeepPose+ResNet@MPII] + In Collection: ResNet Metadata: + Architecture: &id001 + - DeepPose + - ResNet Training Data: MPII Name: deeppose_res50_mpii_256x256 + README: configs/body/2d_kpt_sview_rgb_img/deeppose/mpii/resnet_mpii.md Results: - Dataset: MPII Metrics: @@ -22,10 +21,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/deeppose/deeppose_res50_mpii_256x256-c63cd0b6_20210203.pth - Config: configs/body/2d_kpt_sview_rgb_img/deeppose/mpii/res101_mpii_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--deeppose--mpii--resnet_mpii [DeepPose+ResNet@MPII] + In Collection: ResNet Metadata: + Architecture: *id001 Training Data: MPII Name: deeppose_res101_mpii_256x256 + README: configs/body/2d_kpt_sview_rgb_img/deeppose/mpii/resnet_mpii.md Results: - Dataset: MPII Metrics: @@ -34,10 +35,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/deeppose/deeppose_res101_mpii_256x256-87516a90_20210205.pth - Config: configs/body/2d_kpt_sview_rgb_img/deeppose/mpii/res152_mpii_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--deeppose--mpii--resnet_mpii [DeepPose+ResNet@MPII] + In Collection: ResNet Metadata: + Architecture: *id001 Training Data: MPII Name: deeppose_res152_mpii_256x256 + README: configs/body/2d_kpt_sview_rgb_img/deeppose/mpii/resnet_mpii.md Results: - Dataset: MPII Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/aic/hrnet_aic.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/aic/hrnet_aic.yml index 591c86a2df..be849cef14 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/aic/hrnet_aic.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/aic/hrnet_aic.yml @@ -1,19 +1,17 @@ Collections: -- Metadata: - Architecture: - - HRNet - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--aic--hrnet_aic [HRNet@AI Challenger] +- Name: HRNet Paper: Title: Deep high-resolution representation learning for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2019/html/Sun_Deep_High-Resolution_Representation_Learning_for_Human_Pose_Estimation_CVPR_2019_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/aic/hrnet_aic.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/aic/hrnet_w32_aic_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--aic--hrnet_aic [HRNet@AI - Challenger] + In Collection: HRNet Metadata: + Architecture: + - HRNet Training Data: AI Challenger Name: topdown_heatmap_hrnet_w32_aic_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/aic/hrnet_aic.md Results: - Dataset: AI Challenger Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/aic/resnet_aic.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/aic/resnet_aic.yml index ce37f22e24..184140f7e3 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/aic/resnet_aic.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/aic/resnet_aic.yml @@ -1,21 +1,18 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline2D - - ResNet - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--aic--resnet_aic [SimpleBaseline2D+ResNet@AI - Challenger] +- Name: SimpleBaseline2D Paper: Title: Simple baselines for human pose estimation and tracking URL: http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/aic/resnet_aic.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/aic/res101_aic_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--aic--resnet_aic [SimpleBaseline2D+ResNet@AI - Challenger] + In Collection: SimpleBaseline2D Metadata: + Architecture: + - SimpleBaseline2D + - ResNet Training Data: AI Challenger Name: topdown_heatmap_res101_aic_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/aic/resnet_aic.md Results: - Dataset: AI Challenger Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/alexnet_coco.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/alexnet_coco.yml index 13641a4c31..f92c37be0e 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/alexnet_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/alexnet_coco.yml @@ -1,18 +1,17 @@ Collections: -- Metadata: - Architecture: - - AlexNet - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--alexnet_coco [AlexNet@COCO] +- Name: AlexNet Paper: Title: Imagenet classification with deep convolutional neural networks URL: https://proceedings.neurips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/alexnet_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/alexnet_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--alexnet_coco [AlexNet@COCO] + In Collection: AlexNet Metadata: + Architecture: + - AlexNet Training Data: COCO Name: topdown_heatmap_alexnet_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/alexnet_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/cpm_coco.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/cpm_coco.yml index 300ae7c5ff..054b896fcb 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/cpm_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/cpm_coco.yml @@ -1,18 +1,17 @@ Collections: -- Metadata: - Architecture: - - CPM - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--cpm_coco [CPM@COCO] +- Name: CPM Paper: Title: Convolutional pose machines URL: http://openaccess.thecvf.com/content_cvpr_2016/html/Wei_Convolutional_Pose_Machines_CVPR_2016_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/cpm_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/cpm_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--cpm_coco [CPM@COCO] + In Collection: CPM Metadata: + Architecture: &id001 + - CPM Training Data: COCO Name: topdown_heatmap_cpm_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/cpm_coco.md Results: - Dataset: COCO Metrics: @@ -24,10 +23,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/cpm/cpm_coco_256x192-aa4ba095_20200817.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/cpm_coco_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--cpm_coco [CPM@COCO] + In Collection: CPM Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_cpm_coco_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/cpm_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hourglass_coco.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hourglass_coco.yml index 39893f507e..364e84bf4a 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hourglass_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hourglass_coco.yml @@ -1,19 +1,17 @@ Collections: -- Metadata: - Architecture: - - Hourglass - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--hourglass_coco [Hourglass@COCO] +- Name: Hourglass Paper: Title: Stacked hourglass networks for human pose estimation URL: https://link.springer.com/chapter/10.1007/978-3-319-46484-8_29 - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hourglass_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hourglass52_coco_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--hourglass_coco - [Hourglass@COCO] + In Collection: Hourglass Metadata: + Architecture: &id001 + - Hourglass Training Data: COCO Name: topdown_heatmap_hourglass52_coco_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hourglass_coco.md Results: - Dataset: COCO Metrics: @@ -25,11 +23,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/hourglass/hourglass52_coco_256x256-4ec713ba_20200709.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hourglass52_coco_384x384.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--hourglass_coco - [Hourglass@COCO] + In Collection: Hourglass Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_hourglass52_coco_384x384 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hourglass_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_augmentation_coco.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_augmentation_coco.yml index 8b01518ef2..8ba11bcb8a 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_augmentation_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_augmentation_coco.yml @@ -1,20 +1,17 @@ Collections: -- Metadata: - Architecture: - - HRNet - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--hrnet_augmentation_coco - [HRNet@COCO] +- Name: Albumentations Paper: Title: 'Albumentations: fast and flexible image augmentations' URL: https://www.mdpi.com/649002 - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_augmentation_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w32_coco_256x192_coarsedropout.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--hrnet_augmentation_coco - [HRNet@COCO] + In Collection: Albumentations Metadata: + Architecture: &id001 + - HRNet Training Data: COCO Name: topdown_heatmap_hrnet_w32_coco_256x192_coarsedropout + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_augmentation_coco.md Results: - Dataset: COCO Metrics: @@ -26,11 +23,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/augmentation/hrnet_w32_coco_256x192_coarsedropout-0f16a0ce_20210320.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w32_coco_256x192_gridmask.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--hrnet_augmentation_coco - [HRNet@COCO] + In Collection: Albumentations Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_hrnet_w32_coco_256x192_gridmask + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_augmentation_coco.md Results: - Dataset: COCO Metrics: @@ -42,11 +40,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/augmentation/hrnet_w32_coco_256x192_gridmask-868180df_20210320.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w32_coco_256x192_photometric.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--hrnet_augmentation_coco - [HRNet@COCO] + In Collection: Albumentations Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_hrnet_w32_coco_256x192_photometric + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_augmentation_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_coco.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_coco.yml index 0c9695ab07..074f90b81b 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_coco.yml @@ -1,18 +1,17 @@ Collections: -- Metadata: - Architecture: - - HRNet - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--hrnet_coco [HRNet@COCO] +- Name: HRNet Paper: Title: Deep high-resolution representation learning for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2019/html/Sun_Deep_High-Resolution_Representation_Learning_for_Human_Pose_Estimation_CVPR_2019_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w32_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--hrnet_coco [HRNet@COCO] + In Collection: HRNet Metadata: + Architecture: &id001 + - HRNet Training Data: COCO Name: topdown_heatmap_hrnet_w32_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_coco.md Results: - Dataset: COCO Metrics: @@ -24,10 +23,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w32_coco_256x192-c78dce93_20200708.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w32_coco_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--hrnet_coco [HRNet@COCO] + In Collection: HRNet Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_hrnet_w32_coco_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_coco.md Results: - Dataset: COCO Metrics: @@ -39,10 +40,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w32_coco_384x288-d9f0d786_20200708.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w48_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--hrnet_coco [HRNet@COCO] + In Collection: HRNet Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_hrnet_w48_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_coco.md Results: - Dataset: COCO Metrics: @@ -54,10 +57,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w48_coco_256x192-b9e0b3ab_20200708.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w48_coco_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--hrnet_coco [HRNet@COCO] + In Collection: HRNet Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_hrnet_w48_coco_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_dark_coco.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_dark_coco.yml index 6667dc9026..b91a461fb7 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_dark_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_dark_coco.yml @@ -1,20 +1,18 @@ Collections: -- Metadata: - Architecture: - - HRNet - - DarkPose - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--hrnet_dark_coco [HRNet+DarkPose@COCO] +- Name: DarkPose Paper: Title: Distribution-aware coordinate representation for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2020/html/Zhang_Distribution-Aware_Coordinate_Representation_for_Human_Pose_Estimation_CVPR_2020_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_dark_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w32_coco_256x192_dark.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--hrnet_dark_coco - [HRNet+DarkPose@COCO] + In Collection: DarkPose Metadata: + Architecture: &id001 + - HRNet + - DarkPose Training Data: COCO Name: topdown_heatmap_hrnet_w32_coco_256x192_dark + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_dark_coco.md Results: - Dataset: COCO Metrics: @@ -26,11 +24,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w32_coco_256x192_dark-07f147eb_20200812.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w32_coco_384x288_dark.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--hrnet_dark_coco - [HRNet+DarkPose@COCO] + In Collection: DarkPose Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_hrnet_w32_coco_384x288_dark + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_dark_coco.md Results: - Dataset: COCO Metrics: @@ -42,11 +41,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w32_coco_384x288_dark-307dafc2_20210203.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w48_coco_256x192_dark.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--hrnet_dark_coco - [HRNet+DarkPose@COCO] + In Collection: DarkPose Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_hrnet_w48_coco_256x192_dark + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_dark_coco.md Results: - Dataset: COCO Metrics: @@ -58,11 +58,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w48_coco_256x192_dark-8cba3197_20200812.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w48_coco_384x288_dark.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--hrnet_dark_coco - [HRNet+DarkPose@COCO] + In Collection: DarkPose Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_hrnet_w48_coco_384x288_dark + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_dark_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_fp16_coco.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_fp16_coco.yml index b9d6f8323e..318f47ccf2 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_fp16_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_fp16_coco.yml @@ -1,19 +1,17 @@ Collections: -- Metadata: - Architecture: - - HRNet - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--hrnet_fp16_coco [HRNet@COCO] +- Name: HRNet Paper: Title: Deep high-resolution representation learning for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2019/html/Sun_Deep_High-Resolution_Representation_Learning_for_Human_Pose_Estimation_CVPR_2019_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_fp16_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w32_coco_256x192_fp16_dynamic.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--hrnet_fp16_coco - [HRNet@COCO] + In Collection: HRNet Metadata: + Architecture: + - HRNet Training Data: COCO Name: topdown_heatmap_hrnet_w32_coco_256x192_fp16_dynamic + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_fp16_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_udp_coco.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_udp_coco.yml index c5208f51d9..44c9042e9e 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_udp_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_udp_coco.yml @@ -1,21 +1,19 @@ Collections: -- Metadata: - Architecture: - - HRNet - - UDP - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--hrnet_udp_coco [HRNet+UDP@COCO] +- Name: UDP Paper: Title: 'The Devil Is in the Details: Delving Into Unbiased Data Processing for Human Pose Estimation' URL: http://openaccess.thecvf.com/content_CVPR_2020/html/Huang_The_Devil_Is_in_the_Details_Delving_Into_Unbiased_Data_CVPR_2020_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_udp_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w32_coco_256x192_udp.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--hrnet_udp_coco - [HRNet+UDP@COCO] + In Collection: UDP Metadata: + Architecture: &id001 + - HRNet + - UDP Training Data: COCO Name: topdown_heatmap_hrnet_w32_coco_256x192_udp + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_udp_coco.md Results: - Dataset: COCO Metrics: @@ -27,11 +25,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/udp/hrnet_w32_coco_256x192_udp-aba0be42_20210220.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w32_coco_384x288_udp.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--hrnet_udp_coco - [HRNet+UDP@COCO] + In Collection: UDP Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_hrnet_w32_coco_384x288_udp + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_udp_coco.md Results: - Dataset: COCO Metrics: @@ -43,11 +42,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/udp/hrnet_w32_coco_384x288_udp-e97c1a0f_20210223.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w48_coco_256x192_udp.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--hrnet_udp_coco - [HRNet+UDP@COCO] + In Collection: UDP Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_hrnet_w48_coco_256x192_udp + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_udp_coco.md Results: - Dataset: COCO Metrics: @@ -59,11 +59,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/udp/hrnet_w48_coco_256x192_udp-2554c524_20210223.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w48_coco_384x288_udp.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--hrnet_udp_coco - [HRNet+UDP@COCO] + In Collection: UDP Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_hrnet_w48_coco_384x288_udp + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_udp_coco.md Results: - Dataset: COCO Metrics: @@ -75,11 +76,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/udp/hrnet_w48_coco_384x288_udp-0f89c63e_20210223.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w32_coco_256x192_udp_regress.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--hrnet_udp_coco - [HRNet+UDP@COCO] + In Collection: UDP Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_hrnet_w32_coco_256x192_udp_regress + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_udp_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/litehrnet_coco.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/litehrnet_coco.yml index 5db3ae4d4d..c2d9335b9e 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/litehrnet_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/litehrnet_coco.yml @@ -1,19 +1,17 @@ Collections: -- Metadata: - Architecture: - - LiteHRNet - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--litehrnet_coco [LiteHRNet@COCO] +- Name: LiteHRNet Paper: Title: 'Lite-HRNet: A Lightweight High-Resolution Network' URL: https://arxiv.org/abs/2104.06403 - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/litehrnet_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/litehrnet_30_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--litehrnet_coco - [LiteHRNet@COCO] + In Collection: LiteHRNet Metadata: + Architecture: &id001 + - LiteHRNet Training Data: COCO Name: topdown_heatmap_litehrnet_30_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/litehrnet_coco.md Results: - Dataset: COCO Metrics: @@ -25,11 +23,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/litehrnet/litehrnet30_coco_256x192-4176555b_20210626.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/litehrnet_30_coco_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--litehrnet_coco - [LiteHRNet@COCO] + In Collection: LiteHRNet Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_litehrnet_30_coco_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/litehrnet_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/mobilenetv2_coco.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/mobilenetv2_coco.yml index 631db609b5..ba8b6925d4 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/mobilenetv2_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/mobilenetv2_coco.yml @@ -1,19 +1,17 @@ Collections: -- Metadata: - Architecture: - - MobilenetV2 - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--mobilenetv2_coco [MobilenetV2@COCO] +- Name: MobilenetV2 Paper: Title: 'Mobilenetv2: Inverted residuals and linear bottlenecks' URL: http://openaccess.thecvf.com/content_cvpr_2018/html/Sandler_MobileNetV2_Inverted_Residuals_CVPR_2018_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/mobilenetv2_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/mobilenetv2_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--mobilenetv2_coco - [MobilenetV2@COCO] + In Collection: MobilenetV2 Metadata: + Architecture: &id001 + - MobilenetV2 Training Data: COCO Name: topdown_heatmap_mobilenetv2_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/mobilenetv2_coco.md Results: - Dataset: COCO Metrics: @@ -25,11 +23,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/mobilenetv2/mobilenetv2_coco_256x192-d1e58e7b_20200727.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/mobilenetv2_coco_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--mobilenetv2_coco - [MobilenetV2@COCO] + In Collection: MobilenetV2 Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_mobilenetv2_coco_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/mobilenetv2_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/mspn_coco.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/mspn_coco.yml index 864d97ef77..dd86d4bf47 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/mspn_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/mspn_coco.yml @@ -1,18 +1,17 @@ Collections: -- Metadata: - Architecture: - - MSPN - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--mspn_coco [MSPN@COCO] +- Name: MSPN Paper: Title: Rethinking on Multi-Stage Networks for Human Pose Estimation URL: https://arxiv.org/abs/1901.00148 - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/mspn_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/mspn50_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--mspn_coco [MSPN@COCO] + In Collection: MSPN Metadata: + Architecture: &id001 + - MSPN Training Data: COCO Name: topdown_heatmap_mspn50_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/mspn_coco.md Results: - Dataset: COCO Metrics: @@ -24,10 +23,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/mspn/mspn50_coco_256x192-8fbfb5d0_20201123.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/2xmspn50_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--mspn_coco [MSPN@COCO] + In Collection: MSPN Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_2xmspn50_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/mspn_coco.md Results: - Dataset: COCO Metrics: @@ -39,10 +40,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/mspn/2xmspn50_coco_256x192-c8765a5c_20201123.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/3xmspn50_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--mspn_coco [MSPN@COCO] + In Collection: MSPN Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_3xmspn50_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/mspn_coco.md Results: - Dataset: COCO Metrics: @@ -54,10 +57,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/mspn/3xmspn50_coco_256x192-e348f18e_20201123.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/4xmspn50_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--mspn_coco [MSPN@COCO] + In Collection: MSPN Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_4xmspn50_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/mspn_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest_coco.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest_coco.yml index aa6c0ea7ce..169834bf7c 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest_coco.yml @@ -1,18 +1,17 @@ Collections: -- Metadata: - Architecture: - - ResNeSt - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnest_coco [ResNeSt@COCO] +- Name: ResNeSt Paper: Title: 'ResNeSt: Split-Attention Networks' URL: https://arxiv.org/abs/2004.08955 - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest50_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnest_coco [ResNeSt@COCO] + In Collection: ResNeSt Metadata: + Architecture: &id001 + - ResNeSt Training Data: COCO Name: topdown_heatmap_resnest50_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest_coco.md Results: - Dataset: COCO Metrics: @@ -24,10 +23,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnest/resnest50_coco_256x192-6e65eece_20210320.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest50_coco_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnest_coco [ResNeSt@COCO] + In Collection: ResNeSt Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_resnest50_coco_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest_coco.md Results: - Dataset: COCO Metrics: @@ -39,10 +40,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnest/resnest50_coco_384x288-dcd20436_20210320.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest101_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnest_coco [ResNeSt@COCO] + In Collection: ResNeSt Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_resnest101_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest_coco.md Results: - Dataset: COCO Metrics: @@ -54,10 +57,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnest/resnest101_coco_256x192-2ffcdc9d_20210320.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest101_coco_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnest_coco [ResNeSt@COCO] + In Collection: ResNeSt Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_resnest101_coco_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest_coco.md Results: - Dataset: COCO Metrics: @@ -69,10 +74,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnest/resnest101_coco_384x288-80660658_20210320.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest200_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnest_coco [ResNeSt@COCO] + In Collection: ResNeSt Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_resnest200_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest_coco.md Results: - Dataset: COCO Metrics: @@ -84,10 +91,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnest/resnest200_coco_256x192-db007a48_20210517.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest200_coco_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnest_coco [ResNeSt@COCO] + In Collection: ResNeSt Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_resnest200_coco_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest_coco.md Results: - Dataset: COCO Metrics: @@ -99,10 +108,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnest/resnest200_coco_384x288-b5bb76cb_20210517.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest269_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnest_coco [ResNeSt@COCO] + In Collection: ResNeSt Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_resnest269_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest_coco.md Results: - Dataset: COCO Metrics: @@ -114,10 +125,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnest/resnest269_coco_256x192-2a7882ac_20210517.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest269_coco_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnest_coco [ResNeSt@COCO] + In Collection: ResNeSt Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_resnest269_coco_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnet_coco.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnet_coco.yml index 7d52699627..566b18c22e 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnet_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnet_coco.yml @@ -1,19 +1,18 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline2D - - ResNet - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnet_coco [SimpleBaseline2D+ResNet@COCO] +- Name: SimpleBaseline2D Paper: Title: Simple baselines for human pose estimation and tracking URL: http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnet_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res50_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnet_coco [SimpleBaseline2D+ResNet@COCO] + In Collection: SimpleBaseline2D Metadata: + Architecture: &id001 + - SimpleBaseline2D + - ResNet Training Data: COCO Name: topdown_heatmap_res50_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnet_coco.md Results: - Dataset: COCO Metrics: @@ -25,10 +24,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res50_coco_256x192-ec54d7f3_20200709.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res50_coco_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnet_coco [SimpleBaseline2D+ResNet@COCO] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_res50_coco_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnet_coco.md Results: - Dataset: COCO Metrics: @@ -40,10 +41,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res50_coco_384x288-e6f795e9_20200709.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res101_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnet_coco [SimpleBaseline2D+ResNet@COCO] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_res101_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnet_coco.md Results: - Dataset: COCO Metrics: @@ -55,10 +58,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res101_coco_256x192-6e6babf0_20200708.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res101_coco_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnet_coco [SimpleBaseline2D+ResNet@COCO] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_res101_coco_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnet_coco.md Results: - Dataset: COCO Metrics: @@ -70,10 +75,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res101_coco_384x288-8c71bdc9_20200709.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res152_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnet_coco [SimpleBaseline2D+ResNet@COCO] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_res152_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnet_coco.md Results: - Dataset: COCO Metrics: @@ -85,10 +92,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res152_coco_256x192-f6e307c2_20200709.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res152_coco_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnet_coco [SimpleBaseline2D+ResNet@COCO] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_res152_coco_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnet_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnet_dark_coco.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnet_dark_coco.yml index 17033361b9..b5009ed9b4 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnet_dark_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnet_dark_coco.yml @@ -1,21 +1,19 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline2D - - ResNet - - DarkPose - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnet_dark_coco [SimpleBaseline2D+ResNet+DarkPose@COCO] +- Name: DarkPose Paper: Title: Distribution-aware coordinate representation for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2020/html/Zhang_Distribution-Aware_Coordinate_Representation_for_Human_Pose_Estimation_CVPR_2020_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnet_dark_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res50_coco_256x192_dark.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnet_dark_coco - [SimpleBaseline2D+ResNet+DarkPose@COCO] + In Collection: DarkPose Metadata: + Architecture: &id001 + - SimpleBaseline2D + - ResNet + - DarkPose Training Data: COCO Name: topdown_heatmap_res50_coco_256x192_dark + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnet_dark_coco.md Results: - Dataset: COCO Metrics: @@ -27,11 +25,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res50_coco_256x192_dark-43379d20_20200709.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res50_coco_384x288_dark.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnet_dark_coco - [SimpleBaseline2D+ResNet+DarkPose@COCO] + In Collection: DarkPose Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_res50_coco_384x288_dark + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnet_dark_coco.md Results: - Dataset: COCO Metrics: @@ -43,11 +42,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res50_coco_384x288_dark-33d3e5e5_20210203.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res101_coco_256x192_dark.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnet_dark_coco - [SimpleBaseline2D+ResNet+DarkPose@COCO] + In Collection: DarkPose Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_res101_coco_256x192_dark + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnet_dark_coco.md Results: - Dataset: COCO Metrics: @@ -59,11 +59,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res101_coco_256x192_dark-64d433e6_20200812.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res101_coco_384x288_dark.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnet_dark_coco - [SimpleBaseline2D+ResNet+DarkPose@COCO] + In Collection: DarkPose Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_res101_coco_384x288_dark + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnet_dark_coco.md Results: - Dataset: COCO Metrics: @@ -75,11 +76,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res101_coco_384x288_dark-cb45c88d_20210203.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res152_coco_256x192_dark.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnet_dark_coco - [SimpleBaseline2D+ResNet+DarkPose@COCO] + In Collection: DarkPose Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_res152_coco_256x192_dark + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnet_dark_coco.md Results: - Dataset: COCO Metrics: @@ -91,11 +93,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res152_coco_256x192_dark-ab4840d5_20200812.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res152_coco_384x288_dark.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnet_dark_coco - [SimpleBaseline2D+ResNet+DarkPose@COCO] + In Collection: DarkPose Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_res152_coco_384x288_dark + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnet_dark_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnet_fp16_coco.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnet_fp16_coco.yml index bbe5c4b2fc..114e67e220 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnet_fp16_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnet_fp16_coco.yml @@ -1,20 +1,18 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline2D - - ResNet - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnet_fp16_coco [SimpleBaseline2D+ResNet@COCO] +- Name: SimpleBaseline2D Paper: Title: Simple baselines for human pose estimation and tracking URL: http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnet_fp16_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res50_coco_256x192_fp16_dynamic.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnet_fp16_coco - [SimpleBaseline2D+ResNet@COCO] + In Collection: SimpleBaseline2D Metadata: + Architecture: + - SimpleBaseline2D + - ResNet Training Data: COCO Name: topdown_heatmap_res50_coco_256x192_fp16_dynamic + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnet_fp16_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d_coco.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d_coco.yml index 1dd7edb5ed..d379af9a46 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d_coco.yml @@ -1,19 +1,17 @@ Collections: -- Metadata: - Architecture: - - ResNetV1D - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnetv1d_coco [ResNetV1D@COCO] +- Name: ResNetV1D Paper: Title: Bag of tricks for image classification with convolutional neural networks URL: http://openaccess.thecvf.com/content_CVPR_2019/html/He_Bag_of_Tricks_for_Image_Classification_with_Convolutional_Neural_Networks_CVPR_2019_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d50_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnetv1d_coco - [ResNetV1D@COCO] + In Collection: ResNetV1D Metadata: + Architecture: &id001 + - ResNetV1D Training Data: COCO Name: topdown_heatmap_resnetv1d50_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d_coco.md Results: - Dataset: COCO Metrics: @@ -25,11 +23,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnetv1d/resnetv1d50_coco_256x192-a243b840_20200727.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d50_coco_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnetv1d_coco - [ResNetV1D@COCO] + In Collection: ResNetV1D Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_resnetv1d50_coco_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d_coco.md Results: - Dataset: COCO Metrics: @@ -41,11 +40,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnetv1d/resnetv1d50_coco_384x288-01f3fbb9_20200727.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d101_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnetv1d_coco - [ResNetV1D@COCO] + In Collection: ResNetV1D Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_resnetv1d101_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d_coco.md Results: - Dataset: COCO Metrics: @@ -57,11 +57,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnetv1d/resnetv1d101_coco_256x192-5bd08cab_20200727.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d101_coco_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnetv1d_coco - [ResNetV1D@COCO] + In Collection: ResNetV1D Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_resnetv1d101_coco_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d_coco.md Results: - Dataset: COCO Metrics: @@ -73,11 +74,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnetv1d/resnetv1d101_coco_384x288-5f9e421d_20200730.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d152_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnetv1d_coco - [ResNetV1D@COCO] + In Collection: ResNetV1D Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_resnetv1d152_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d_coco.md Results: - Dataset: COCO Metrics: @@ -89,11 +91,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnetv1d/resnetv1d152_coco_256x192-c4df51dc_20200727.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d152_coco_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnetv1d_coco - [ResNetV1D@COCO] + In Collection: ResNetV1D Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_resnetv1d152_coco_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext101_coco_256x192.py b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext101_coco_256x192.py index 2d6a384748..c237a13b93 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext101_coco_256x192.py +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext101_coco_256x192.py @@ -40,7 +40,7 @@ # model settings model = dict( type='TopDown', - pretrained='mmcls://resnext101', + pretrained='mmcls://resnext101_32x4d', backbone=dict(type='ResNeXt', depth=101), keypoint_head=dict( type='TopdownHeatmapSimpleHead', diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext101_coco_384x288.py b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext101_coco_384x288.py index e6c3bf573f..51dfbce514 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext101_coco_384x288.py +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext101_coco_384x288.py @@ -40,7 +40,7 @@ # model settings model = dict( type='TopDown', - pretrained='mmcls://resnext101', + pretrained='mmcls://resnext101_32x4d', backbone=dict(type='ResNeXt', depth=101), keypoint_head=dict( type='TopdownHeatmapSimpleHead', diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext152_coco_256x192.py b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext152_coco_256x192.py index 3f301c3eb9..c835af2c13 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext152_coco_256x192.py +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext152_coco_256x192.py @@ -40,7 +40,7 @@ # model settings model = dict( type='TopDown', - pretrained='mmcls://resnext152', + pretrained='mmcls://resnext152_32x4d', backbone=dict(type='ResNeXt', depth=152), keypoint_head=dict( type='TopdownHeatmapSimpleHead', diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext152_coco_384x288.py b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext152_coco_384x288.py index f668706a3a..2c8b6ec6b2 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext152_coco_384x288.py +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext152_coco_384x288.py @@ -40,7 +40,7 @@ # model settings model = dict( type='TopDown', - pretrained='mmcls://resnext152', + pretrained='mmcls://resnext152_32x4d', backbone=dict(type='ResNeXt', depth=152), keypoint_head=dict( type='TopdownHeatmapSimpleHead', diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext50_coco_256x192.py b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext50_coco_256x192.py index 17382103c8..51ecc02608 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext50_coco_256x192.py +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext50_coco_256x192.py @@ -40,7 +40,7 @@ # model settings model = dict( type='TopDown', - pretrained='mmcls://resnext50', + pretrained='mmcls://resnext50_32x4d', backbone=dict(type='ResNeXt', depth=50), keypoint_head=dict( type='TopdownHeatmapSimpleHead', diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext50_coco_384x288.py b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext50_coco_384x288.py index bab0922238..065cc87ecd 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext50_coco_384x288.py +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext50_coco_384x288.py @@ -40,7 +40,7 @@ # model settings model = dict( type='TopDown', - pretrained='mmcls://resnext50', + pretrained='mmcls://resnext50_32x4d', backbone=dict(type='ResNeXt', depth=50), keypoint_head=dict( type='TopdownHeatmapSimpleHead', diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext_coco.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext_coco.yml index a177e827cd..6265fdf060 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext_coco.yml @@ -1,18 +1,17 @@ Collections: -- Metadata: - Architecture: - - ResNext - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnext_coco [ResNext@COCO] +- Name: ResNext Paper: Title: Aggregated residual transformations for deep neural networks URL: http://openaccess.thecvf.com/content_cvpr_2017/html/Xie_Aggregated_Residual_Transformations_CVPR_2017_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext50_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnext_coco [ResNext@COCO] + In Collection: ResNext Metadata: + Architecture: &id001 + - ResNext Training Data: COCO Name: topdown_heatmap_resnext50_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext_coco.md Results: - Dataset: COCO Metrics: @@ -24,10 +23,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnext/resnext50_coco_256x192-dcff15f6_20200727.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext50_coco_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnext_coco [ResNext@COCO] + In Collection: ResNext Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_resnext50_coco_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext_coco.md Results: - Dataset: COCO Metrics: @@ -39,10 +40,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnext/resnext50_coco_384x288-412c848f_20200727.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext101_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnext_coco [ResNext@COCO] + In Collection: ResNext Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_resnext101_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext_coco.md Results: - Dataset: COCO Metrics: @@ -54,10 +57,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnext/resnext101_coco_256x192-c7eba365_20200727.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext101_coco_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnext_coco [ResNext@COCO] + In Collection: ResNext Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_resnext101_coco_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext_coco.md Results: - Dataset: COCO Metrics: @@ -69,10 +74,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnext/resnext101_coco_384x288-f5eabcd6_20200727.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext152_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnext_coco [ResNext@COCO] + In Collection: ResNext Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_resnext152_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext_coco.md Results: - Dataset: COCO Metrics: @@ -84,10 +91,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnext/resnext152_coco_256x192-102449aa_20200727.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext152_coco_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--resnext_coco [ResNext@COCO] + In Collection: ResNext Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_resnext152_coco_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/rsn_coco.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/rsn_coco.yml index 33890a4aa4..8e14501fc9 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/rsn_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/rsn_coco.yml @@ -1,18 +1,17 @@ Collections: -- Metadata: - Architecture: - - RSN - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--rsn_coco [RSN@COCO] +- Name: RSN Paper: Title: Learning Delicate Local Representations for Multi-Person Pose Estimation URL: https://link.springer.com/chapter/10.1007/978-3-030-58580-8_27 - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/rsn_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/rsn18_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--rsn_coco [RSN@COCO] + In Collection: RSN Metadata: + Architecture: &id001 + - RSN Training Data: COCO Name: topdown_heatmap_rsn18_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/rsn_coco.md Results: - Dataset: COCO Metrics: @@ -24,10 +23,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/rsn/rsn18_coco_256x192-72f4b4a7_20201127.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/rsn50_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--rsn_coco [RSN@COCO] + In Collection: RSN Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_rsn50_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/rsn_coco.md Results: - Dataset: COCO Metrics: @@ -39,10 +40,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/rsn/rsn50_coco_256x192-72ffe709_20201127.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/2xrsn50_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--rsn_coco [RSN@COCO] + In Collection: RSN Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_2xrsn50_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/rsn_coco.md Results: - Dataset: COCO Metrics: @@ -54,10 +57,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/rsn/2xrsn50_coco_256x192-50648f0e_20201127.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/3xrsn50_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--rsn_coco [RSN@COCO] + In Collection: RSN Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_3xrsn50_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/rsn_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/scnet_coco.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/scnet_coco.yml index 8303482f25..c6b0e357a6 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/scnet_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/scnet_coco.yml @@ -1,18 +1,17 @@ Collections: -- Metadata: - Architecture: - - SCNet - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--scnet_coco [SCNet@COCO] +- Name: SCNet Paper: Title: Improving Convolutional Networks with Self-Calibrated Convolutions URL: http://openaccess.thecvf.com/content_CVPR_2020/html/Liu_Improving_Convolutional_Networks_With_Self-Calibrated_Convolutions_CVPR_2020_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/scnet_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/scnet50_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--scnet_coco [SCNet@COCO] + In Collection: SCNet Metadata: + Architecture: &id001 + - SCNet Training Data: COCO Name: topdown_heatmap_scnet50_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/scnet_coco.md Results: - Dataset: COCO Metrics: @@ -24,10 +23,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/scnet/scnet50_coco_256x192-6920f829_20200709.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/scnet50_coco_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--scnet_coco [SCNet@COCO] + In Collection: SCNet Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_scnet50_coco_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/scnet_coco.md Results: - Dataset: COCO Metrics: @@ -39,10 +40,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/scnet/scnet50_coco_384x288-9cacd0ea_20200709.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/scnet101_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--scnet_coco [SCNet@COCO] + In Collection: SCNet Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_scnet101_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/scnet_coco.md Results: - Dataset: COCO Metrics: @@ -54,10 +57,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/scnet/scnet101_coco_256x192-6d348ef9_20200709.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/scnet101_coco_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--scnet_coco [SCNet@COCO] + In Collection: SCNet Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_scnet101_coco_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/scnet_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet_coco.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet_coco.yml index 616418c5c5..147170a535 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet_coco.yml @@ -1,19 +1,17 @@ Collections: -- Metadata: - Architecture: - - SEResNet - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--seresnet_coco [SEResNet@COCO] +- Name: SEResNet Paper: Title: Squeeze-and-excitation networks URL: http://openaccess.thecvf.com/content_cvpr_2018/html/Hu_Squeeze-and-Excitation_Networks_CVPR_2018_paper - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet50_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--seresnet_coco - [SEResNet@COCO] + In Collection: SEResNet Metadata: + Architecture: &id001 + - SEResNet Training Data: COCO Name: topdown_heatmap_seresnet50_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet_coco.md Results: - Dataset: COCO Metrics: @@ -25,11 +23,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/seresnet/seresnet50_coco_256x192-25058b66_20200727.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet50_coco_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--seresnet_coco - [SEResNet@COCO] + In Collection: SEResNet Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_seresnet50_coco_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet_coco.md Results: - Dataset: COCO Metrics: @@ -41,11 +40,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/seresnet/seresnet50_coco_384x288-bc0b7680_20200727.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet101_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--seresnet_coco - [SEResNet@COCO] + In Collection: SEResNet Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_seresnet101_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet_coco.md Results: - Dataset: COCO Metrics: @@ -57,11 +57,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/seresnet/seresnet101_coco_256x192-83f29c4d_20200727.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet101_coco_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--seresnet_coco - [SEResNet@COCO] + In Collection: SEResNet Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_seresnet101_coco_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet_coco.md Results: - Dataset: COCO Metrics: @@ -73,11 +74,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/seresnet/seresnet101_coco_384x288-48de1709_20200727.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet152_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--seresnet_coco - [SEResNet@COCO] + In Collection: SEResNet Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_seresnet152_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet_coco.md Results: - Dataset: COCO Metrics: @@ -89,11 +91,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/seresnet/seresnet152_coco_256x192-1c628d79_20200727.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet152_coco_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--seresnet_coco - [SEResNet@COCO] + In Collection: SEResNet Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_seresnet152_coco_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv1_coco.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv1_coco.yml index df3a8f25ca..9f3c5b95ec 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv1_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv1_coco.yml @@ -1,20 +1,18 @@ Collections: -- Metadata: - Architecture: - - ShufflenetV1 - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--shufflenetv1_coco [ShufflenetV1@COCO] +- Name: ShufflenetV1 Paper: Title: 'Shufflenet: An extremely efficient convolutional neural network for mobile devices' URL: http://openaccess.thecvf.com/content_cvpr_2018/html/Zhang_ShuffleNet_An_Extremely_CVPR_2018_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv1_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv1_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--shufflenetv1_coco - [ShufflenetV1@COCO] + In Collection: ShufflenetV1 Metadata: + Architecture: &id001 + - ShufflenetV1 Training Data: COCO Name: topdown_heatmap_shufflenetv1_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv1_coco.md Results: - Dataset: COCO Metrics: @@ -26,11 +24,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/shufflenetv1/shufflenetv1_coco_256x192-353bc02c_20200727.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv1_coco_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--shufflenetv1_coco - [ShufflenetV1@COCO] + In Collection: ShufflenetV1 Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_shufflenetv1_coco_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv1_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv2_coco.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv2_coco.yml index d0bebdd242..dce1603057 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv2_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv2_coco.yml @@ -1,19 +1,17 @@ Collections: -- Metadata: - Architecture: - - ShufflenetV2 - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--shufflenetv2_coco [ShufflenetV2@COCO] +- Name: ShufflenetV2 Paper: Title: 'Shufflenet v2: Practical guidelines for efficient cnn architecture design' URL: http://openaccess.thecvf.com/content_ECCV_2018/html/Ningning_Light-weight_CNN_Architecture_ECCV_2018_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv2_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv2_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--shufflenetv2_coco - [ShufflenetV2@COCO] + In Collection: ShufflenetV2 Metadata: + Architecture: &id001 + - ShufflenetV2 Training Data: COCO Name: topdown_heatmap_shufflenetv2_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv2_coco.md Results: - Dataset: COCO Metrics: @@ -25,11 +23,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/shufflenetv2/shufflenetv2_coco_256x192-0aba71c7_20200921.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv2_coco_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--shufflenetv2_coco - [ShufflenetV2@COCO] + In Collection: ShufflenetV2 Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_shufflenetv2_coco_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv2_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vgg_coco.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vgg_coco.yml index a0720b71b0..c586c8ae81 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vgg_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vgg_coco.yml @@ -1,18 +1,17 @@ Collections: -- Metadata: - Architecture: - - VGG - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--vgg_coco [VGG@COCO] +- Name: VGG Paper: Title: Very deep convolutional networks for large-scale image recognition URL: https://arxiv.org/abs/1409.1556 - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vgg_coco.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vgg16_bn_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--vgg_coco [VGG@COCO] + In Collection: VGG Metadata: + Architecture: + - VGG Training Data: COCO Name: topdown_heatmap_vgg16_bn_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vgg_coco.md Results: - Dataset: COCO Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vipnas_coco.md b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vipnas_coco.md index dc10b2bd7b..c86943c522 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vipnas_coco.md +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vipnas_coco.md @@ -36,4 +36,5 @@ Results on COCO val2017 with detector having human AP of 56.4 on COCO val2017 da | Arch | Input Size | AP | AP50 | AP75 | AR | AR50 | ckpt | log | | :-------------- | :-----------: | :------: | :------: | :------: | :------: | :------: |:------: |:------: | -| [S-ViPNAS-Res50](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vipnas_res50_coco_256x192.py) | 256x192 | 0.711 | 0.893 | 0.789 | 0.769 | 0.769 | [ckpt](https://download.openmmlab.com/mmpose/top_down/vipnas/vipnas_res50_coco_256x192-cc43b466_20210624.pth) | [log](https://download.openmmlab.com/mmpose/top_down/vipnas/vipnas_res50_coco_256x192_20210624.log.json) | +| [S-ViPNAS-MobileNetV3](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vipnas_mbv3_coco_256x192.py) | 256x192 | 0.700 | 0.887 | 0.778 | 0.757 | 0.929 | [ckpt](https://download.openmmlab.com/mmpose/top_down/vipnas/vipnas_mbv3_coco_256x192-7018731a_20211122.pth) | [log](https://download.openmmlab.com/mmpose/top_down/vipnas/vipnas_mbv3_coco_256x192_20211122.log.json) | +| [S-ViPNAS-Res50](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vipnas_res50_coco_256x192.py) | 256x192 | 0.711 | 0.893 | 0.789 | 0.769 | 0.934 | [ckpt](https://download.openmmlab.com/mmpose/top_down/vipnas/vipnas_res50_coco_256x192-cc43b466_20210624.pth) | [log](https://download.openmmlab.com/mmpose/top_down/vipnas/vipnas_res50_coco_256x192_20210624.log.json) | diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vipnas_coco.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vipnas_coco.yml index 3eb384c0f0..d8d36260c3 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vipnas_coco.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vipnas_coco.yml @@ -1,18 +1,34 @@ Collections: -- Metadata: - Architecture: - - ViPNAS - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--vipnas_coco [ViPNAS@COCO] +- Name: ViPNAS Paper: Title: 'ViPNAS: Efficient Video Pose Estimation via Neural Architecture Search' URL: https://arxiv.org/abs/2105.10154 - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vipnas_coco.md Models: +- Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vipnas_mbv3_coco_256x192.py + In Collection: ViPNAS + Metadata: + Architecture: &id001 + - ViPNAS + Training Data: COCO + Name: topdown_heatmap_vipnas_mbv3_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vipnas_coco.md + Results: + - Dataset: COCO + Metrics: + AP: 0.7 + AP@0.5: 0.887 + AP@0.75: 0.778 + AR: 0.757 + AR@0.5: 0.929 + Task: Body 2D Keypoint + Weights: https://download.openmmlab.com/mmpose/top_down/vipnas/vipnas_mbv3_coco_256x192-7018731a_20211122.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vipnas_res50_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--coco--vipnas_coco [ViPNAS@COCO] + In Collection: ViPNAS Metadata: + Architecture: *id001 Training Data: COCO Name: topdown_heatmap_vipnas_res50_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vipnas_coco.md Results: - Dataset: COCO Metrics: @@ -20,6 +36,6 @@ Models: AP@0.5: 0.893 AP@0.75: 0.789 AR: 0.769 - AR@0.5: 0.769 + AR@0.5: 0.934 Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/vipnas/vipnas_res50_coco_256x192-cc43b466_20210624.pth diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vipnas_mbv3_coco_256x192.py b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vipnas_mbv3_coco_256x192.py new file mode 100644 index 0000000000..776347eb79 --- /dev/null +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vipnas_mbv3_coco_256x192.py @@ -0,0 +1,144 @@ +log_level = 'INFO' +load_from = None +resume_from = None +dist_params = dict(backend='nccl') +workflow = [('train', 1)] +checkpoint_config = dict(interval=10) +evaluation = dict(interval=10, metric='mAP', key_indicator='AP') + +optimizer = dict( + type='Adam', + lr=5e-4, +) +optimizer_config = dict(grad_clip=None) +# learning policy +lr_config = dict( + policy='step', + warmup='linear', + warmup_iters=500, + warmup_ratio=0.001, + step=[170, 200]) +total_epochs = 210 +log_config = dict( + interval=50, + hooks=[ + dict(type='TextLoggerHook'), + # dict(type='TensorboardLoggerHook') + ]) + +channel_cfg = dict( + num_output_channels=17, + dataset_joints=17, + dataset_channel=[ + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], + ], + inference_channel=[ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 + ]) + +# model settings +model = dict( + type='TopDown', + pretrained=None, + backbone=dict(type='ViPNAS_MobileNetV3'), + keypoint_head=dict( + type='ViPNASHeatmapSimpleHead', + in_channels=160, + out_channels=channel_cfg['num_output_channels'], + num_deconv_filters=(160, 160, 160), + num_deconv_groups=(160, 160, 160), + loss_keypoint=dict(type='JointsMSELoss', use_target_weight=True)), + train_cfg=dict(), + test_cfg=dict( + flip_test=True, + post_process='default', + shift_heatmap=True, + modulate_kernel=11)) + +data_cfg = dict( + image_size=[192, 256], + heatmap_size=[48, 64], + num_output_channels=channel_cfg['num_output_channels'], + num_joints=channel_cfg['dataset_joints'], + dataset_channel=channel_cfg['dataset_channel'], + inference_channel=channel_cfg['inference_channel'], + soft_nms=False, + nms_thr=1.0, + oks_thr=0.9, + vis_thr=0.2, + use_gt_bbox=False, + det_bbox_thr=0.0, + bbox_file='data/coco/person_detection_results/' + 'COCO_val2017_detections_AP_H_56_person.json', +) + +train_pipeline = [ + dict(type='LoadImageFromFile'), + dict(type='TopDownRandomFlip', flip_prob=0.5), + dict( + type='TopDownHalfBodyTransform', + num_joints_half_body=8, + prob_half_body=0.3), + dict( + type='TopDownGetRandomScaleRotation', rot_factor=30, + scale_factor=0.25), + dict(type='TopDownAffine'), + dict(type='ToTensor'), + dict( + type='NormalizeTensor', + mean=[0.485, 0.456, 0.406], + std=[0.229, 0.224, 0.225]), + dict(type='TopDownGenerateTarget', sigma=2), + dict( + type='Collect', + keys=['img', 'target', 'target_weight'], + meta_keys=[ + 'image_file', 'joints_3d', 'joints_3d_visible', 'center', 'scale', + 'rotation', 'bbox_score', 'flip_pairs' + ]), +] + +val_pipeline = [ + dict(type='LoadImageFromFile'), + dict(type='TopDownAffine'), + dict(type='ToTensor'), + dict( + type='NormalizeTensor', + mean=[0.485, 0.456, 0.406], + std=[0.229, 0.224, 0.225]), + dict( + type='Collect', + keys=['img'], + meta_keys=[ + 'image_file', 'center', 'scale', 'rotation', 'bbox_score', + 'flip_pairs' + ]), +] + +test_pipeline = val_pipeline + +data_root = 'data/coco' +data = dict( + samples_per_gpu=64, + workers_per_gpu=2, + val_dataloader=dict(samples_per_gpu=32), + test_dataloader=dict(samples_per_gpu=32), + train=dict( + type='TopDownCocoDataset', + ann_file=f'{data_root}/annotations/person_keypoints_train2017.json', + img_prefix=f'{data_root}/train2017/', + data_cfg=data_cfg, + pipeline=train_pipeline), + val=dict( + type='TopDownCocoDataset', + ann_file=f'{data_root}/annotations/person_keypoints_val2017.json', + img_prefix=f'{data_root}/val2017/', + data_cfg=data_cfg, + pipeline=val_pipeline), + test=dict( + type='TopDownCocoDataset', + ann_file=f'{data_root}/annotations/person_keypoints_val2017.json', + img_prefix=f'{data_root}/val2017/', + data_cfg=data_cfg, + pipeline=val_pipeline), +) diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/crowdpose/hrnet_crowdpose.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/crowdpose/hrnet_crowdpose.yml index 985f5001b4..5e751ba1d8 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/crowdpose/hrnet_crowdpose.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/crowdpose/hrnet_crowdpose.yml @@ -1,19 +1,17 @@ Collections: -- Metadata: - Architecture: - - HRNet - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--crowdpose--hrnet_crowdpose [HRNet@CrowdPose] +- Name: HRNet Paper: Title: Deep high-resolution representation learning for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2019/html/Sun_Deep_High-Resolution_Representation_Learning_for_Human_Pose_Estimation_CVPR_2019_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/crowdpose/hrnet_crowdpose.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/crowdpose/hrnet_w32_crowdpose_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--crowdpose--hrnet_crowdpose - [HRNet@CrowdPose] + In Collection: HRNet Metadata: + Architecture: + - HRNet Training Data: CrowdPose Name: topdown_heatmap_hrnet_w32_crowdpose_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/crowdpose/hrnet_crowdpose.md Results: - Dataset: CrowdPose Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/crowdpose/resnet_crowdpose.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/crowdpose/resnet_crowdpose.yml index 85b71c99f9..9a9ab8f901 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/crowdpose/resnet_crowdpose.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/crowdpose/resnet_crowdpose.yml @@ -1,20 +1,18 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline2D - - ResNet - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--crowdpose--resnet_crowdpose [SimpleBaseline2D+ResNet@CrowdPose] +- Name: SimpleBaseline2D Paper: Title: Simple baselines for human pose estimation and tracking URL: http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/crowdpose/resnet_crowdpose.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/crowdpose/res50_crowdpose_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--crowdpose--resnet_crowdpose - [SimpleBaseline2D+ResNet@CrowdPose] + In Collection: SimpleBaseline2D Metadata: + Architecture: &id001 + - SimpleBaseline2D + - ResNet Training Data: CrowdPose Name: topdown_heatmap_res50_crowdpose_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/crowdpose/resnet_crowdpose.md Results: - Dataset: CrowdPose Metrics: @@ -27,11 +25,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res50_crowdpose_256x192-c6a526b6_20201227.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/crowdpose/res101_crowdpose_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--crowdpose--resnet_crowdpose - [SimpleBaseline2D+ResNet@CrowdPose] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: CrowdPose Name: topdown_heatmap_res101_crowdpose_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/crowdpose/resnet_crowdpose.md Results: - Dataset: CrowdPose Metrics: @@ -44,11 +43,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res101_crowdpose_256x192-8f5870f4_20201227.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/crowdpose/res101_crowdpose_320x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--crowdpose--resnet_crowdpose - [SimpleBaseline2D+ResNet@CrowdPose] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: CrowdPose Name: topdown_heatmap_res101_crowdpose_320x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/crowdpose/resnet_crowdpose.md Results: - Dataset: CrowdPose Metrics: @@ -61,11 +61,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res101_crowdpose_320x256-c88c512a_20201227.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/crowdpose/res152_crowdpose_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--crowdpose--resnet_crowdpose - [SimpleBaseline2D+ResNet@CrowdPose] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: CrowdPose Name: topdown_heatmap_res152_crowdpose_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/crowdpose/resnet_crowdpose.md Results: - Dataset: CrowdPose Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/h36m/hrnet_h36m.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/h36m/hrnet_h36m.yml index cb9bc69428..6b6c7031be 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/h36m/hrnet_h36m.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/h36m/hrnet_h36m.yml @@ -1,18 +1,17 @@ Collections: -- Metadata: - Architecture: - - HRNet - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--h36m--hrnet_h36m [HRNet@Human3.6M] +- Name: HRNet Paper: Title: Deep high-resolution representation learning for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2019/html/Sun_Deep_High-Resolution_Representation_Learning_for_Human_Pose_Estimation_CVPR_2019_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/h36m/hrnet_h36m.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/h36m/hrnet_w32_h36m_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--h36m--hrnet_h36m [HRNet@Human3.6M] + In Collection: HRNet Metadata: + Architecture: &id001 + - HRNet Training Data: Human3.6M Name: topdown_heatmap_hrnet_w32_h36m_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/h36m/hrnet_h36m.md Results: - Dataset: Human3.6M Metrics: @@ -21,10 +20,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w32_h36m_256x256-d3206675_20210621.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/h36m/hrnet_w48_h36m_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--h36m--hrnet_h36m [HRNet@Human3.6M] + In Collection: HRNet Metadata: + Architecture: *id001 Training Data: Human3.6M Name: topdown_heatmap_hrnet_w48_h36m_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/h36m/hrnet_h36m.md Results: - Dataset: Human3.6M Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/cpm_jhmdb.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/cpm_jhmdb.yml index 4676ee8b76..5cd85a3815 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/cpm_jhmdb.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/cpm_jhmdb.yml @@ -1,18 +1,17 @@ Collections: -- Metadata: - Architecture: - - CPM - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--jhmdb--cpm_jhmdb [CPM@JHMDB] +- Name: CPM Paper: Title: Convolutional pose machines URL: http://openaccess.thecvf.com/content_cvpr_2016/html/Wei_Convolutional_Pose_Machines_CVPR_2016_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/cpm_jhmdb.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/cpm_jhmdb_sub1_368x368.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--jhmdb--cpm_jhmdb [CPM@JHMDB] + In Collection: CPM Metadata: + Architecture: &id001 + - CPM Training Data: JHMDB Name: topdown_heatmap_cpm_jhmdb_sub1_368x368 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/cpm_jhmdb.md Results: - Dataset: JHMDB Metrics: @@ -27,10 +26,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/cpm/cpm_jhmdb_sub1_368x368-2d2585c9_20201122.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/cpm_jhmdb_sub2_368x368.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--jhmdb--cpm_jhmdb [CPM@JHMDB] + In Collection: CPM Metadata: + Architecture: *id001 Training Data: JHMDB Name: topdown_heatmap_cpm_jhmdb_sub2_368x368 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/cpm_jhmdb.md Results: - Dataset: JHMDB Metrics: @@ -45,10 +46,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/cpm/cpm_jhmdb_sub2_368x368-fc742f1f_20201122.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/cpm_jhmdb_sub3_368x368.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--jhmdb--cpm_jhmdb [CPM@JHMDB] + In Collection: CPM Metadata: + Architecture: *id001 Training Data: JHMDB Name: topdown_heatmap_cpm_jhmdb_sub3_368x368 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/cpm_jhmdb.md Results: - Dataset: JHMDB Metrics: @@ -63,10 +66,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/cpm/cpm_jhmdb_sub3_368x368-49337155_20201122.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/cpm_jhmdb_sub1_368x368.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--jhmdb--cpm_jhmdb [CPM@JHMDB] + In Collection: CPM Metadata: + Architecture: *id001 Training Data: JHMDB Name: topdown_heatmap_cpm_jhmdb_sub1_368x368 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/cpm_jhmdb.md Results: - Dataset: JHMDB Metrics: @@ -81,10 +86,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/cpm/cpm_jhmdb_sub1_368x368-2d2585c9_20201122.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/cpm_jhmdb_sub2_368x368.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--jhmdb--cpm_jhmdb [CPM@JHMDB] + In Collection: CPM Metadata: + Architecture: *id001 Training Data: JHMDB Name: topdown_heatmap_cpm_jhmdb_sub2_368x368 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/cpm_jhmdb.md Results: - Dataset: JHMDB Metrics: @@ -99,10 +106,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/cpm/cpm_jhmdb_sub2_368x368-fc742f1f_20201122.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/cpm_jhmdb_sub3_368x368.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--jhmdb--cpm_jhmdb [CPM@JHMDB] + In Collection: CPM Metadata: + Architecture: *id001 Training Data: JHMDB Name: topdown_heatmap_cpm_jhmdb_sub3_368x368 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/cpm_jhmdb.md Results: - Dataset: JHMDB Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/resnet_jhmdb.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/resnet_jhmdb.yml index 3d013cc254..b26ef59a51 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/resnet_jhmdb.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/resnet_jhmdb.yml @@ -1,20 +1,18 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline2D - - ResNet - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--jhmdb--resnet_jhmdb [SimpleBaseline2D+ResNet@JHMDB] +- Name: SimpleBaseline2D Paper: Title: Simple baselines for human pose estimation and tracking URL: http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/resnet_jhmdb.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/res50_jhmdb_sub1_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--jhmdb--resnet_jhmdb - [SimpleBaseline2D+ResNet@JHMDB] + In Collection: SimpleBaseline2D Metadata: + Architecture: &id001 + - SimpleBaseline2D + - ResNet Training Data: JHMDB Name: topdown_heatmap_res50_jhmdb_sub1_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/resnet_jhmdb.md Results: - Dataset: JHMDB Metrics: @@ -29,11 +27,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res50_jhmdb_sub1_256x256-932cb3b4_20201122.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/res50_jhmdb_sub2_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--jhmdb--resnet_jhmdb - [SimpleBaseline2D+ResNet@JHMDB] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: JHMDB Name: topdown_heatmap_res50_jhmdb_sub2_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/resnet_jhmdb.md Results: - Dataset: JHMDB Metrics: @@ -48,11 +47,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res50_jhmdb_sub2_256x256-83d606f7_20201122.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/res50_jhmdb_sub3_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--jhmdb--resnet_jhmdb - [SimpleBaseline2D+ResNet@JHMDB] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: JHMDB Name: topdown_heatmap_res50_jhmdb_sub3_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/resnet_jhmdb.md Results: - Dataset: JHMDB Metrics: @@ -67,11 +67,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res50_jhmdb_sub3_256x256-c4ec1a0b_20201122.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/res50_2deconv_jhmdb_sub1_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--jhmdb--resnet_jhmdb - [SimpleBaseline2D+ResNet@JHMDB] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: JHMDB Name: topdown_heatmap_res50_2deconv_jhmdb_sub1_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/resnet_jhmdb.md Results: - Dataset: JHMDB Metrics: @@ -86,11 +87,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res50_2deconv_jhmdb_sub1_256x256-f0574a52_20201122.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/res50_2deconv_jhmdb_sub2_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--jhmdb--resnet_jhmdb - [SimpleBaseline2D+ResNet@JHMDB] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: JHMDB Name: topdown_heatmap_res50_2deconv_jhmdb_sub2_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/resnet_jhmdb.md Results: - Dataset: JHMDB Metrics: @@ -105,11 +107,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res50_2deconv_jhmdb_sub2_256x256-f63af0ff_20201122.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/res50_2deconv_jhmdb_sub3_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--jhmdb--resnet_jhmdb - [SimpleBaseline2D+ResNet@JHMDB] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: JHMDB Name: topdown_heatmap_res50_2deconv_jhmdb_sub3_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/resnet_jhmdb.md Results: - Dataset: JHMDB Metrics: @@ -124,11 +127,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res50_2deconv_jhmdb_sub3_256x256-c4bc2ddb_20201122.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/res50_jhmdb_sub1_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--jhmdb--resnet_jhmdb - [SimpleBaseline2D+ResNet@JHMDB] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: JHMDB Name: topdown_heatmap_res50_jhmdb_sub1_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/resnet_jhmdb.md Results: - Dataset: JHMDB Metrics: @@ -143,11 +147,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res50_jhmdb_sub1_256x256-932cb3b4_20201122.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/res50_jhmdb_sub2_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--jhmdb--resnet_jhmdb - [SimpleBaseline2D+ResNet@JHMDB] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: JHMDB Name: topdown_heatmap_res50_jhmdb_sub2_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/resnet_jhmdb.md Results: - Dataset: JHMDB Metrics: @@ -162,11 +167,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res50_jhmdb_sub2_256x256-83d606f7_20201122.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/res50_jhmdb_sub3_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--jhmdb--resnet_jhmdb - [SimpleBaseline2D+ResNet@JHMDB] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: JHMDB Name: topdown_heatmap_res50_jhmdb_sub3_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/resnet_jhmdb.md Results: - Dataset: JHMDB Metrics: @@ -181,11 +187,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res50_jhmdb_sub3_256x256-c4ec1a0b_20201122.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/res50_2deconv_jhmdb_sub1_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--jhmdb--resnet_jhmdb - [SimpleBaseline2D+ResNet@JHMDB] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: JHMDB Name: topdown_heatmap_res50_2deconv_jhmdb_sub1_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/resnet_jhmdb.md Results: - Dataset: JHMDB Metrics: @@ -200,11 +207,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res50_2deconv_jhmdb_sub1_256x256-f0574a52_20201122.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/res50_2deconv_jhmdb_sub2_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--jhmdb--resnet_jhmdb - [SimpleBaseline2D+ResNet@JHMDB] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: JHMDB Name: topdown_heatmap_res50_2deconv_jhmdb_sub2_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/resnet_jhmdb.md Results: - Dataset: JHMDB Metrics: @@ -219,11 +227,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res50_2deconv_jhmdb_sub2_256x256-f63af0ff_20201122.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/res50_2deconv_jhmdb_sub3_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--jhmdb--resnet_jhmdb - [SimpleBaseline2D+ResNet@JHMDB] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: JHMDB Name: topdown_heatmap_res50_2deconv_jhmdb_sub3_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/jhmdb/resnet_jhmdb.md Results: - Dataset: JHMDB Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mhp/resnet_mhp.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mhp/resnet_mhp.yml index 1fb4a344ef..fa52926a2b 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mhp/resnet_mhp.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mhp/resnet_mhp.yml @@ -1,19 +1,18 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline2D - - ResNet - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--mhp--resnet_mhp [SimpleBaseline2D+ResNet@MHP] +- Name: SimpleBaseline2D Paper: Title: Simple baselines for human pose estimation and tracking URL: http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mhp/resnet_mhp.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mhp/res50_mhp_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--mhp--resnet_mhp [SimpleBaseline2D+ResNet@MHP] + In Collection: SimpleBaseline2D Metadata: + Architecture: + - SimpleBaseline2D + - ResNet Training Data: MHP Name: topdown_heatmap_res50_mhp_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mhp/resnet_mhp.md Results: - Dataset: MHP Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/cpm_mpii.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/cpm_mpii.yml index 20652fbf22..0dbd4f9ab0 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/cpm_mpii.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/cpm_mpii.yml @@ -1,18 +1,17 @@ Collections: -- Metadata: - Architecture: - - CPM - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--cpm_mpii [CPM@MPII] +- Name: CPM Paper: Title: Convolutional pose machines URL: http://openaccess.thecvf.com/content_cvpr_2016/html/Wei_Convolutional_Pose_Machines_CVPR_2016_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/cpm_mpii.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/cpm_mpii_368x368.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--cpm_mpii [CPM@MPII] + In Collection: CPM Metadata: + Architecture: + - CPM Training Data: MPII Name: topdown_heatmap_cpm_mpii_368x368 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/cpm_mpii.md Results: - Dataset: MPII Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/hourglass_mpii.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/hourglass_mpii.yml index 786df56090..3a28d055c8 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/hourglass_mpii.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/hourglass_mpii.yml @@ -1,19 +1,17 @@ Collections: -- Metadata: - Architecture: - - Hourglass - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--hourglass_mpii [Hourglass@MPII] +- Name: Hourglass Paper: Title: Stacked hourglass networks for human pose estimation URL: https://link.springer.com/chapter/10.1007/978-3-319-46484-8_29 - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/hourglass_mpii.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/hourglass52_mpii_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--hourglass_mpii - [Hourglass@MPII] + In Collection: Hourglass Metadata: + Architecture: &id001 + - Hourglass Training Data: MPII Name: topdown_heatmap_hourglass52_mpii_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/hourglass_mpii.md Results: - Dataset: MPII Metrics: @@ -22,11 +20,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/hourglass/hourglass52_mpii_256x256-ae358435_20200812.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/hourglass52_mpii_384x384.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--hourglass_mpii - [Hourglass@MPII] + In Collection: Hourglass Metadata: + Architecture: *id001 Training Data: MPII Name: topdown_heatmap_hourglass52_mpii_384x384 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/hourglass_mpii.md Results: - Dataset: MPII Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/hrnet_dark_mpii.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/hrnet_dark_mpii.yml index 2228335d9d..8430405c3e 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/hrnet_dark_mpii.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/hrnet_dark_mpii.yml @@ -1,20 +1,18 @@ Collections: -- Metadata: - Architecture: - - HRNet - - DarkPose - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--hrnet_dark_mpii [HRNet+DarkPose@MPII] +- Name: DarkPose Paper: Title: Distribution-aware coordinate representation for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2020/html/Zhang_Distribution-Aware_Coordinate_Representation_for_Human_Pose_Estimation_CVPR_2020_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/hrnet_dark_mpii.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/hrnet_w32_mpii_256x256_dark.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--hrnet_dark_mpii - [HRNet+DarkPose@MPII] + In Collection: DarkPose Metadata: + Architecture: &id001 + - HRNet + - DarkPose Training Data: MPII Name: topdown_heatmap_hrnet_w32_mpii_256x256_dark + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/hrnet_dark_mpii.md Results: - Dataset: MPII Metrics: @@ -23,11 +21,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w32_mpii_256x256_dark-f1601c5b_20200927.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/hrnet_w48_mpii_256x256_dark.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--hrnet_dark_mpii - [HRNet+DarkPose@MPII] + In Collection: DarkPose Metadata: + Architecture: *id001 Training Data: MPII Name: topdown_heatmap_hrnet_w48_mpii_256x256_dark + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/hrnet_dark_mpii.md Results: - Dataset: MPII Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/hrnet_mpii.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/hrnet_mpii.yml index 6bea14891c..f30c2e06d8 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/hrnet_mpii.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/hrnet_mpii.yml @@ -1,18 +1,17 @@ Collections: -- Metadata: - Architecture: - - HRNet - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--hrnet_mpii [HRNet@MPII] +- Name: HRNet Paper: Title: Deep high-resolution representation learning for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2019/html/Sun_Deep_High-Resolution_Representation_Learning_for_Human_Pose_Estimation_CVPR_2019_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/hrnet_mpii.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/hrnet_w32_mpii_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--hrnet_mpii [HRNet@MPII] + In Collection: HRNet Metadata: + Architecture: &id001 + - HRNet Training Data: MPII Name: topdown_heatmap_hrnet_w32_mpii_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/hrnet_mpii.md Results: - Dataset: MPII Metrics: @@ -21,10 +20,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w32_mpii_256x256-6c4f923f_20200812.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/hrnet_w48_mpii_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--hrnet_mpii [HRNet@MPII] + In Collection: HRNet Metadata: + Architecture: *id001 Training Data: MPII Name: topdown_heatmap_hrnet_w48_mpii_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/hrnet_mpii.md Results: - Dataset: MPII Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/litehrnet_mpii.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/litehrnet_mpii.yml index 0e6a8b482d..d482399236 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/litehrnet_mpii.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/litehrnet_mpii.yml @@ -1,19 +1,17 @@ Collections: -- Metadata: - Architecture: - - LiteHRNet - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--litehrnet_mpii [LiteHRNet@MPII] +- Name: LiteHRNet Paper: Title: 'Lite-HRNet: A Lightweight High-Resolution Network' URL: https://arxiv.org/abs/2104.06403 - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/litehrnet_mpii.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/litehrnet_18_mpii_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--litehrnet_mpii - [LiteHRNet@MPII] + In Collection: LiteHRNet Metadata: + Architecture: &id001 + - LiteHRNet Training Data: MPII Name: topdown_heatmap_litehrnet_18_mpii_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/litehrnet_mpii.md Results: - Dataset: MPII Metrics: @@ -22,11 +20,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/litehrnet/litehrnet18_mpii_256x256-cabd7984_20210623.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/litehrnet_30_mpii_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--litehrnet_mpii - [LiteHRNet@MPII] + In Collection: LiteHRNet Metadata: + Architecture: *id001 Training Data: MPII Name: topdown_heatmap_litehrnet_30_mpii_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/litehrnet_mpii.md Results: - Dataset: MPII Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/mobilenetv2_mpii.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/mobilenetv2_mpii.yml index e338a0e475..e7225222ff 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/mobilenetv2_mpii.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/mobilenetv2_mpii.yml @@ -1,19 +1,17 @@ Collections: -- Metadata: - Architecture: - - MobilenetV2 - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--mobilenetv2_mpii [MobilenetV2@MPII] +- Name: MobilenetV2 Paper: Title: 'Mobilenetv2: Inverted residuals and linear bottlenecks' URL: http://openaccess.thecvf.com/content_cvpr_2018/html/Sandler_MobileNetV2_Inverted_Residuals_CVPR_2018_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/mobilenetv2_mpii.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mobilenet_v2/mpii/mobilenet_v2_mpii_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--mobilenetv2_mpii - [MobilenetV2@MPII] + In Collection: MobilenetV2 Metadata: + Architecture: + - MobilenetV2 Training Data: MPII Name: topdown_heatmap_mpii + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/mobilenetv2_mpii.md Results: - Dataset: MPII Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnet_mpii.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnet_mpii.yml index 287d31908f..4887d039f1 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnet_mpii.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnet_mpii.yml @@ -1,19 +1,18 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline2D - - ResNet - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--resnet_mpii [SimpleBaseline2D+ResNet@MPII] +- Name: SimpleBaseline2D Paper: Title: Simple baselines for human pose estimation and tracking URL: http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnet_mpii.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/res50_mpii_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--resnet_mpii [SimpleBaseline2D+ResNet@MPII] + In Collection: SimpleBaseline2D Metadata: + Architecture: &id001 + - SimpleBaseline2D + - ResNet Training Data: MPII Name: topdown_heatmap_res50_mpii_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnet_mpii.md Results: - Dataset: MPII Metrics: @@ -22,10 +21,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res50_mpii_256x256-418ffc88_20200812.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/res101_mpii_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--resnet_mpii [SimpleBaseline2D+ResNet@MPII] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: MPII Name: topdown_heatmap_res101_mpii_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnet_mpii.md Results: - Dataset: MPII Metrics: @@ -34,10 +35,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res101_mpii_256x256-416f5d71_20200812.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/res152_mpii_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--resnet_mpii [SimpleBaseline2D+ResNet@MPII] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: MPII Name: topdown_heatmap_res152_mpii_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnet_mpii.md Results: - Dataset: MPII Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnetv1d_mpii.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnetv1d_mpii.yml index e2ebb9f91e..7f5f1f1978 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnetv1d_mpii.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnetv1d_mpii.yml @@ -1,19 +1,17 @@ Collections: -- Metadata: - Architecture: - - ResNetV1D - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--resnetv1d_mpii [ResNetV1D@MPII] +- Name: ResNetV1D Paper: Title: Bag of tricks for image classification with convolutional neural networks URL: http://openaccess.thecvf.com/content_CVPR_2019/html/He_Bag_of_Tricks_for_Image_Classification_with_Convolutional_Neural_Networks_CVPR_2019_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnetv1d_mpii.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnetv1d50_mpii_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--resnetv1d_mpii - [ResNetV1D@MPII] + In Collection: ResNetV1D Metadata: + Architecture: &id001 + - ResNetV1D Training Data: MPII Name: topdown_heatmap_resnetv1d50_mpii_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnetv1d_mpii.md Results: - Dataset: MPII Metrics: @@ -22,11 +20,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnetv1d/resnetv1d50_mpii_256x256-2337a92e_20200812.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnetv1d101_mpii_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--resnetv1d_mpii - [ResNetV1D@MPII] + In Collection: ResNetV1D Metadata: + Architecture: *id001 Training Data: MPII Name: topdown_heatmap_resnetv1d101_mpii_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnetv1d_mpii.md Results: - Dataset: MPII Metrics: @@ -35,11 +34,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnetv1d/resnetv1d101_mpii_256x256-2851d710_20200812.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnetv1d152_mpii_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--resnetv1d_mpii - [ResNetV1D@MPII] + In Collection: ResNetV1D Metadata: + Architecture: *id001 Training Data: MPII Name: topdown_heatmap_resnetv1d152_mpii_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnetv1d_mpii.md Results: - Dataset: MPII Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnext101_mpii_256x256.py b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnext101_mpii_256x256.py index 15d3783f09..ae6de747e6 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnext101_mpii_256x256.py +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnext101_mpii_256x256.py @@ -34,7 +34,7 @@ # model settings model = dict( type='TopDown', - pretrained='mmcls://resnext101', + pretrained='mmcls://resnext101_32x4d', backbone=dict(type='ResNeXt', depth=101), keypoint_head=dict( type='TopdownHeatmapSimpleHead', diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnext152_mpii_256x256.py b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnext152_mpii_256x256.py index 69edada2f9..0ca0de5349 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnext152_mpii_256x256.py +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnext152_mpii_256x256.py @@ -34,7 +34,7 @@ # model settings model = dict( type='TopDown', - pretrained='mmcls://resnext152', + pretrained='mmcls://resnext152_32x4d', backbone=dict(type='ResNeXt', depth=152), keypoint_head=dict( type='TopdownHeatmapSimpleHead', diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnext50_mpii_256x256.py b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnext50_mpii_256x256.py index d4be2765b6..388477ba71 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnext50_mpii_256x256.py +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnext50_mpii_256x256.py @@ -34,7 +34,7 @@ # model settings model = dict( type='TopDown', - pretrained='mmcls://resnext50', + pretrained='mmcls://resnext50_32x4d', backbone=dict(type='ResNeXt', depth=50), keypoint_head=dict( type='TopdownHeatmapSimpleHead', diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnext_mpii.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnext_mpii.yml index 05e7b5e49d..4154ad1174 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnext_mpii.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnext_mpii.yml @@ -1,18 +1,17 @@ Collections: -- Metadata: - Architecture: - - ResNext - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--resnext_mpii [ResNext@MPII] +- Name: ResNext Paper: Title: Aggregated residual transformations for deep neural networks URL: http://openaccess.thecvf.com/content_cvpr_2017/html/Xie_Aggregated_Residual_Transformations_CVPR_2017_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnext_mpii.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnext152_mpii_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--resnext_mpii [ResNext@MPII] + In Collection: ResNext Metadata: + Architecture: + - ResNext Training Data: MPII Name: topdown_heatmap_resnext152_mpii_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/resnext_mpii.md Results: - Dataset: MPII Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/scnet_mpii.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/scnet_mpii.yml index 8a1ca6c21e..309c1e12b5 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/scnet_mpii.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/scnet_mpii.yml @@ -1,18 +1,17 @@ Collections: -- Metadata: - Architecture: - - SCNet - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--scnet_mpii [SCNet@MPII] +- Name: SCNet Paper: Title: Improving Convolutional Networks with Self-Calibrated Convolutions URL: http://openaccess.thecvf.com/content_CVPR_2020/html/Liu_Improving_Convolutional_Networks_With_Self-Calibrated_Convolutions_CVPR_2020_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/scnet_mpii.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/scnet50_mpii_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--scnet_mpii [SCNet@MPII] + In Collection: SCNet Metadata: + Architecture: &id001 + - SCNet Training Data: MPII Name: topdown_heatmap_scnet50_mpii_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/scnet_mpii.md Results: - Dataset: MPII Metrics: @@ -21,10 +20,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/scnet/scnet50_mpii_256x256-a54b6af5_20200812.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/scnet101_mpii_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--scnet_mpii [SCNet@MPII] + In Collection: SCNet Metadata: + Architecture: *id001 Training Data: MPII Name: topdown_heatmap_scnet101_mpii_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/scnet_mpii.md Results: - Dataset: MPII Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/seresnet_mpii.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/seresnet_mpii.yml index 33b7cdbe4e..45609cb543 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/seresnet_mpii.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/seresnet_mpii.yml @@ -1,19 +1,17 @@ Collections: -- Metadata: - Architecture: - - SEResNet - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--seresnet_mpii [SEResNet@MPII] +- Name: SEResNet Paper: Title: Squeeze-and-excitation networks URL: http://openaccess.thecvf.com/content_cvpr_2018/html/Hu_Squeeze-and-Excitation_Networks_CVPR_2018_paper - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/seresnet_mpii.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/seresnet50_mpii_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--seresnet_mpii - [SEResNet@MPII] + In Collection: SEResNet Metadata: + Architecture: &id001 + - SEResNet Training Data: MPII Name: topdown_heatmap_seresnet50_mpii_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/seresnet_mpii.md Results: - Dataset: MPII Metrics: @@ -22,11 +20,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/seresnet/seresnet50_mpii_256x256-1bb21f79_20200927.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/seresnet101_mpii_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--seresnet_mpii - [SEResNet@MPII] + In Collection: SEResNet Metadata: + Architecture: *id001 Training Data: MPII Name: topdown_heatmap_seresnet101_mpii_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/seresnet_mpii.md Results: - Dataset: MPII Metrics: @@ -35,11 +34,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/seresnet/seresnet101_mpii_256x256-0ba14ff5_20200927.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/seresnet152_mpii_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--seresnet_mpii - [SEResNet@MPII] + In Collection: SEResNet Metadata: + Architecture: *id001 Training Data: MPII Name: topdown_heatmap_seresnet152_mpii_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/seresnet_mpii.md Results: - Dataset: MPII Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/shufflenetv1_mpii.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/shufflenetv1_mpii.yml index f160910316..8324e8acb0 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/shufflenetv1_mpii.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/shufflenetv1_mpii.yml @@ -1,20 +1,18 @@ Collections: -- Metadata: - Architecture: - - ShufflenetV1 - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--shufflenetv1_mpii [ShufflenetV1@MPII] +- Name: ShufflenetV1 Paper: Title: 'Shufflenet: An extremely efficient convolutional neural network for mobile devices' URL: http://openaccess.thecvf.com/content_cvpr_2018/html/Zhang_ShuffleNet_An_Extremely_CVPR_2018_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/shufflenetv1_mpii.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/shufflenetv1_mpii_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--shufflenetv1_mpii - [ShufflenetV1@MPII] + In Collection: ShufflenetV1 Metadata: + Architecture: + - ShufflenetV1 Training Data: MPII Name: topdown_heatmap_shufflenetv1_mpii_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/shufflenetv1_mpii.md Results: - Dataset: MPII Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/shufflenetv2_mpii.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/shufflenetv2_mpii.yml index 9ce42b5fef..4f25758593 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/shufflenetv2_mpii.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/shufflenetv2_mpii.yml @@ -1,19 +1,17 @@ Collections: -- Metadata: - Architecture: - - ShufflenetV2 - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--shufflenetv2_mpii [ShufflenetV2@MPII] +- Name: ShufflenetV2 Paper: Title: 'Shufflenet v2: Practical guidelines for efficient cnn architecture design' URL: http://openaccess.thecvf.com/content_ECCV_2018/html/Ningning_Light-weight_CNN_Architecture_ECCV_2018_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/shufflenetv2_mpii.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/shufflenetv2_mpii_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii--shufflenetv2_mpii - [ShufflenetV2@MPII] + In Collection: ShufflenetV2 Metadata: + Architecture: + - ShufflenetV2 Training Data: MPII Name: topdown_heatmap_shufflenetv2_mpii_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii/shufflenetv2_mpii.md Results: - Dataset: MPII Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii_trb/resnet_mpii_trb.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii_trb/resnet_mpii_trb.yml index 1810cbc4a0..e5ef340e2d 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii_trb/resnet_mpii_trb.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii_trb/resnet_mpii_trb.yml @@ -1,20 +1,18 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline2D - - ResNet - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii_trb--resnet_mpii_trb [SimpleBaseline2D+ResNet@MPII-TRB] +- Name: SimpleBaseline2D Paper: Title: Simple baselines for human pose estimation and tracking URL: http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii_trb/resnet_mpii_trb.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii_trb/res50_mpii_trb_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii_trb--resnet_mpii_trb - [SimpleBaseline2D+ResNet@MPII-TRB] + In Collection: SimpleBaseline2D Metadata: + Architecture: &id001 + - SimpleBaseline2D + - ResNet Training Data: MPII-TRB Name: topdown_heatmap_res50_mpii_trb_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii_trb/resnet_mpii_trb.md Results: - Dataset: MPII-TRB Metrics: @@ -24,11 +22,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res50_mpii_trb_256x256-896036b8_20200812.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii_trb/res101_mpii_trb_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii_trb--resnet_mpii_trb - [SimpleBaseline2D+ResNet@MPII-TRB] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: MPII-TRB Name: topdown_heatmap_res101_mpii_trb_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii_trb/resnet_mpii_trb.md Results: - Dataset: MPII-TRB Metrics: @@ -38,11 +37,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res101_mpii_trb_256x256-cfad2f05_20200812.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii_trb/res152_mpii_trb_256x256.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--mpii_trb--resnet_mpii_trb - [SimpleBaseline2D+ResNet@MPII-TRB] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: MPII-TRB Name: topdown_heatmap_res152_mpii_trb_256x256 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/mpii_trb/resnet_mpii_trb.md Results: - Dataset: MPII-TRB Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/ochuman/hrnet_ochuman.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/ochuman/hrnet_ochuman.yml index b1a62cd028..39f6985159 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/ochuman/hrnet_ochuman.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/ochuman/hrnet_ochuman.yml @@ -1,19 +1,17 @@ Collections: -- Metadata: - Architecture: - - HRNet - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--ochuman--hrnet_ochuman [HRNet@OCHuman] +- Name: HRNet Paper: Title: Deep high-resolution representation learning for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2019/html/Sun_Deep_High-Resolution_Representation_Learning_for_Human_Pose_Estimation_CVPR_2019_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/ochuman/hrnet_ochuman.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/ochuman/hrnet_w32_ochuman_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--ochuman--hrnet_ochuman - [HRNet@OCHuman] + In Collection: HRNet Metadata: + Architecture: &id001 + - HRNet Training Data: OCHuman Name: topdown_heatmap_hrnet_w32_ochuman_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/ochuman/hrnet_ochuman.md Results: - Dataset: OCHuman Metrics: @@ -25,11 +23,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w32_coco_256x192-c78dce93_20200708.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/ochuman/hrnet_w32_ochuman_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--ochuman--hrnet_ochuman - [HRNet@OCHuman] + In Collection: HRNet Metadata: + Architecture: *id001 Training Data: OCHuman Name: topdown_heatmap_hrnet_w32_ochuman_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/ochuman/hrnet_ochuman.md Results: - Dataset: OCHuman Metrics: @@ -41,11 +40,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w32_coco_384x288-d9f0d786_20200708.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/ochuman/hrnet_w48_ochuman_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--ochuman--hrnet_ochuman - [HRNet@OCHuman] + In Collection: HRNet Metadata: + Architecture: *id001 Training Data: OCHuman Name: topdown_heatmap_hrnet_w48_ochuman_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/ochuman/hrnet_ochuman.md Results: - Dataset: OCHuman Metrics: @@ -57,11 +57,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w48_coco_256x192-b9e0b3ab_20200708.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/ochuman/hrnet_w48_ochuman_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--ochuman--hrnet_ochuman - [HRNet@OCHuman] + In Collection: HRNet Metadata: + Architecture: *id001 Training Data: OCHuman Name: topdown_heatmap_hrnet_w48_ochuman_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/ochuman/hrnet_ochuman.md Results: - Dataset: OCHuman Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/ochuman/resnet_ochuman.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/ochuman/resnet_ochuman.yml index 4fc6005fbb..ef32fb3522 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/ochuman/resnet_ochuman.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/ochuman/resnet_ochuman.yml @@ -1,20 +1,18 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline2D - - ResNet - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--ochuman--resnet_ochuman [SimpleBaseline2D+ResNet@OCHuman] +- Name: SimpleBaseline2D Paper: Title: Simple baselines for human pose estimation and tracking URL: http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/ochuman/resnet_ochuman.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res50_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--ochuman--resnet_ochuman - [SimpleBaseline2D+ResNet@OCHuman] + In Collection: SimpleBaseline2D Metadata: + Architecture: &id001 + - SimpleBaseline2D + - ResNet Training Data: OCHuman Name: topdown_heatmap_res50_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/ochuman/resnet_ochuman.md Results: - Dataset: OCHuman Metrics: @@ -26,11 +24,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res50_coco_256x192-ec54d7f3_20200709.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res50_coco_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--ochuman--resnet_ochuman - [SimpleBaseline2D+ResNet@OCHuman] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: OCHuman Name: topdown_heatmap_res50_coco_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/ochuman/resnet_ochuman.md Results: - Dataset: OCHuman Metrics: @@ -42,11 +41,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res50_coco_384x288-e6f795e9_20200709.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res101_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--ochuman--resnet_ochuman - [SimpleBaseline2D+ResNet@OCHuman] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: OCHuman Name: topdown_heatmap_res101_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/ochuman/resnet_ochuman.md Results: - Dataset: OCHuman Metrics: @@ -58,11 +58,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res101_coco_256x192-6e6babf0_20200708.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res101_coco_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--ochuman--resnet_ochuman - [SimpleBaseline2D+ResNet@OCHuman] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: OCHuman Name: topdown_heatmap_res101_coco_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/ochuman/resnet_ochuman.md Results: - Dataset: OCHuman Metrics: @@ -74,11 +75,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res101_coco_384x288-8c71bdc9_20200709.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res152_coco_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--ochuman--resnet_ochuman - [SimpleBaseline2D+ResNet@OCHuman] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: OCHuman Name: topdown_heatmap_res152_coco_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/ochuman/resnet_ochuman.md Results: - Dataset: OCHuman Metrics: @@ -90,11 +92,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res152_coco_256x192-f6e307c2_20200709.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res152_coco_384x288.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--ochuman--resnet_ochuman - [SimpleBaseline2D+ResNet@OCHuman] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: OCHuman Name: topdown_heatmap_res152_coco_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/ochuman/resnet_ochuman.md Results: - Dataset: OCHuman Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_posetrack18.md b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_posetrack18.md index 8f62efdbe5..9c8117b48b 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_posetrack18.md +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_posetrack18.md @@ -38,6 +38,9 @@ Results on PoseTrack2018 val with ground-truth bounding boxes | Arch | Input Size | Head | Shou | Elb | Wri | Hip | Knee | Ankl | Total | ckpt | log | | :--- | :--------: | :------: |:------: |:------: |:------: |:------: |:------: | :------: | :------: |:------: |:------: | | [pose_hrnet_w32](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_w32_posetrack18_256x192.py) | 256x192 | 87.4 | 88.6 | 84.3 | 78.5 | 79.7 | 81.8 | 78.8 | 83.0 | [ckpt](https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w32_posetrack18_256x192-1ee951c4_20201028.pth) | [log](https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w32_posetrack18_256x192_20201028.log.json) | +| [pose_hrnet_w32](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_w32_posetrack18_384x288.py) | 384x288 | 87.0 | 88.8 | 85.0 | 80.1 | 80.5 | 82.6 | 79.4 | 83.6 | [ckpt](https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w32_posetrack18_384x288-806f00a3_20211130.pth) | [log](https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w32_posetrack18_384x288_20211130.log.json) | +| [pose_hrnet_w48](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_w48_posetrack18_256x192.py) | 256x192 | 88.2 | 90.1 | 85.8 | 80.8 | 80.7 | 83.3 | 80.3 | 84.4 | [ckpt](https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w48_posetrack18_256x192-b5d9b3f1_20211130.pth) | [log](https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w48_posetrack18_256x192_20211130.log.json) | +| [pose_hrnet_w48](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_w48_posetrack18_384x288.py) | 384x288 | 87.8 | 90.0 | 85.9 | 81.3 | 81.1 | 83.3 | 80.9 | 84.5 | [ckpt](https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w48_posetrack18_384x288-5fd6d3ff_20211130.pth) | [log](https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w48_posetrack18_384x288_20211130.log.json) | The models are first pre-trained on COCO dataset, and then fine-tuned on PoseTrack18. @@ -46,5 +49,8 @@ Results on PoseTrack2018 val with [MMDetection](https://github.com/open-mmlab/mm | Arch | Input Size | Head | Shou | Elb | Wri | Hip | Knee | Ankl | Total | ckpt | log | | :--- | :--------: | :------: |:------: |:------: |:------: |:------: |:------: | :------: | :------: |:------: |:------: | | [pose_hrnet_w32](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_w32_posetrack18_256x192.py) | 256x192 | 78.0 | 82.9 | 79.5 | 73.8 | 76.9 | 76.6 | 70.2 | 76.9 | [ckpt](https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w32_posetrack18_256x192-1ee951c4_20201028.pth) | [log](https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w32_posetrack18_256x192_20201028.log.json) | +| [pose_hrnet_w32](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_w32_posetrack18_384x288.py) | 384x288 | 79.9 | 83.6 | 80.4 | 74.5 | 74.8 | 76.1 | 70.5 | 77.3 | [ckpt](https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w32_posetrack18_384x288-806f00a3_20211130.pth) | [log](https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w32_posetrack18_384x288_20211130.log.json) | +| [pose_hrnet_w48](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_w48_posetrack18_256x192.py) | 256x192 | 80.1 | 83.4 | 80.6 | 74.8 | 74.3 | 76.8 | 70.4 | 77.4 | [ckpt](https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w48_posetrack18_256x192-b5d9b3f1_20211130.pth) | [log](https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w48_posetrack18_256x192_20211130.log.json) | +| [pose_hrnet_w48](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_w48_posetrack18_384x288.py) | 384x288 | 80.2 | 83.8 | 80.9 | 75.2 | 74.7 | 76.7 | 71.7 | 77.8 | [ckpt](https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w48_posetrack18_384x288-5fd6d3ff_20211130.pth) | [log](https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w48_posetrack18_384x288_20211130.log.json) | The models are first pre-trained on COCO dataset, and then fine-tuned on PoseTrack18. diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_posetrack18.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_posetrack18.yml index d8ae0f0c4a..2d3395227a 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_posetrack18.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_posetrack18.yml @@ -1,20 +1,17 @@ Collections: -- Metadata: - Architecture: - - HRNet - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--posetrack18--hrnet_posetrack18 - [HRNet@PoseTrack18] +- Name: HRNet Paper: Title: Deep high-resolution representation learning for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2019/html/Sun_Deep_High-Resolution_Representation_Learning_for_Human_Pose_Estimation_CVPR_2019_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_posetrack18.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_w32_posetrack18_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--posetrack18--hrnet_posetrack18 - [HRNet@PoseTrack18] + In Collection: HRNet Metadata: + Architecture: &id001 + - HRNet Training Data: PoseTrack18 Name: topdown_heatmap_hrnet_w32_posetrack18_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_posetrack18.md Results: - Dataset: PoseTrack18 Metrics: @@ -28,12 +25,73 @@ Models: Wri: 78.5 Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w32_posetrack18_256x192-1ee951c4_20201028.pth +- Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_w32_posetrack18_384x288.py + In Collection: HRNet + Metadata: + Architecture: *id001 + Training Data: PoseTrack18 + Name: topdown_heatmap_hrnet_w32_posetrack18_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_posetrack18.md + Results: + - Dataset: PoseTrack18 + Metrics: + Ankl: 79.4 + Elb: 85.0 + Head: 87.0 + Hip: 80.5 + Knee: 82.6 + Shou: 88.8 + Total: 83.6 + Wri: 80.1 + Task: Body 2D Keypoint + Weights: https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w32_posetrack18_384x288-806f00a3_20211130.pth +- Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_w48_posetrack18_256x192.py + In Collection: HRNet + Metadata: + Architecture: *id001 + Training Data: PoseTrack18 + Name: topdown_heatmap_hrnet_w48_posetrack18_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_posetrack18.md + Results: + - Dataset: PoseTrack18 + Metrics: + Ankl: 80.3 + Elb: 85.8 + Head: 88.2 + Hip: 80.7 + Knee: 83.3 + Shou: 90.1 + Total: 84.4 + Wri: 80.8 + Task: Body 2D Keypoint + Weights: https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w48_posetrack18_256x192-b5d9b3f1_20211130.pth +- Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_w48_posetrack18_384x288.py + In Collection: HRNet + Metadata: + Architecture: *id001 + Training Data: PoseTrack18 + Name: topdown_heatmap_hrnet_w48_posetrack18_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_posetrack18.md + Results: + - Dataset: PoseTrack18 + Metrics: + Ankl: 80.9 + Elb: 85.9 + Head: 87.8 + Hip: 81.1 + Knee: 83.3 + Shou: 90.0 + Total: 84.5 + Wri: 81.3 + Task: Body 2D Keypoint + Weights: https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w48_posetrack18_384x288-5fd6d3ff_20211130.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_w32_posetrack18_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--posetrack18--hrnet_posetrack18 - [HRNet@PoseTrack18] + In Collection: HRNet Metadata: + Architecture: *id001 Training Data: PoseTrack18 Name: topdown_heatmap_hrnet_w32_posetrack18_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_posetrack18.md Results: - Dataset: PoseTrack18 Metrics: @@ -47,3 +105,63 @@ Models: Wri: 73.8 Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w32_posetrack18_256x192-1ee951c4_20201028.pth +- Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_w32_posetrack18_384x288.py + In Collection: HRNet + Metadata: + Architecture: *id001 + Training Data: PoseTrack18 + Name: topdown_heatmap_hrnet_w32_posetrack18_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_posetrack18.md + Results: + - Dataset: PoseTrack18 + Metrics: + Ankl: 70.5 + Elb: 80.4 + Head: 79.9 + Hip: 74.8 + Knee: 76.1 + Shou: 83.6 + Total: 77.3 + Wri: 74.5 + Task: Body 2D Keypoint + Weights: https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w32_posetrack18_384x288-806f00a3_20211130.pth +- Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_w48_posetrack18_256x192.py + In Collection: HRNet + Metadata: + Architecture: *id001 + Training Data: PoseTrack18 + Name: topdown_heatmap_hrnet_w48_posetrack18_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_posetrack18.md + Results: + - Dataset: PoseTrack18 + Metrics: + Ankl: 70.4 + Elb: 80.6 + Head: 80.1 + Hip: 74.3 + Knee: 76.8 + Shou: 83.4 + Total: 77.4 + Wri: 74.8 + Task: Body 2D Keypoint + Weights: https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w48_posetrack18_256x192-b5d9b3f1_20211130.pth +- Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_w48_posetrack18_384x288.py + In Collection: HRNet + Metadata: + Architecture: *id001 + Training Data: PoseTrack18 + Name: topdown_heatmap_hrnet_w48_posetrack18_384x288 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_posetrack18.md + Results: + - Dataset: PoseTrack18 + Metrics: + Ankl: 71.7 + Elb: 80.9 + Head: 80.2 + Hip: 74.7 + Knee: 76.7 + Shou: 83.8 + Total: 77.8 + Wri: 75.2 + Task: Body 2D Keypoint + Weights: https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w48_posetrack18_384x288-5fd6d3ff_20211130.pth diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_w32_posetrack18_384x288.py b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_w32_posetrack18_384x288.py new file mode 100644 index 0000000000..3861618b73 --- /dev/null +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_w32_posetrack18_384x288.py @@ -0,0 +1,177 @@ +_base_ = ['../../../../_base_/datasets/posetrack18.py'] +log_level = 'INFO' +load_from = 'https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w32_coco_384x288-d9f0d786_20200708.pth' # noqa: E501 +resume_from = None +dist_params = dict(backend='nccl') +workflow = [('train', 1)] +checkpoint_config = dict(interval=1) +evaluation = dict(interval=1, metric='mAP', save_best='Total AP') + +optimizer = dict( + type='Adam', + lr=5e-4, +) +optimizer_config = dict(grad_clip=None) +# learning policy +lr_config = dict( + policy='step', + warmup='linear', + warmup_iters=500, + warmup_ratio=0.001, + step=[10, 15]) +total_epochs = 20 +log_config = dict( + interval=50, + hooks=[ + dict(type='TextLoggerHook'), + # dict(type='TensorboardLoggerHook') + ]) + +channel_cfg = dict( + num_output_channels=17, + dataset_joints=17, + dataset_channel=[ + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], + ], + inference_channel=[ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 + ]) + +# model settings +model = dict( + type='TopDown', + pretrained=None, + backbone=dict( + type='HRNet', + in_channels=3, + extra=dict( + stage1=dict( + num_modules=1, + num_branches=1, + block='BOTTLENECK', + num_blocks=(4, ), + num_channels=(64, )), + stage2=dict( + num_modules=1, + num_branches=2, + block='BASIC', + num_blocks=(4, 4), + num_channels=(32, 64)), + stage3=dict( + num_modules=4, + num_branches=3, + block='BASIC', + num_blocks=(4, 4, 4), + num_channels=(32, 64, 128)), + stage4=dict( + num_modules=3, + num_branches=4, + block='BASIC', + num_blocks=(4, 4, 4, 4), + num_channels=(32, 64, 128, 256))), + ), + keypoint_head=dict( + type='TopdownHeatmapSimpleHead', + in_channels=32, + out_channels=channel_cfg['num_output_channels'], + num_deconv_layers=0, + extra=dict(final_conv_kernel=1, ), + loss_keypoint=dict(type='JointsMSELoss', use_target_weight=True)), + train_cfg=dict(), + test_cfg=dict( + flip_test=True, + post_process='default', + shift_heatmap=True, + modulate_kernel=11)) + +data_cfg = dict( + image_size=[288, 384], + heatmap_size=[72, 96], + num_output_channels=channel_cfg['num_output_channels'], + num_joints=channel_cfg['dataset_joints'], + dataset_channel=channel_cfg['dataset_channel'], + inference_channel=channel_cfg['inference_channel'], + soft_nms=False, + nms_thr=1.0, + oks_thr=0.9, + vis_thr=0.2, + use_gt_bbox=True, + det_bbox_thr=0.4, + bbox_file='data/posetrack18/annotations/' + 'posetrack18_val_human_detections.json', +) + +train_pipeline = [ + dict(type='LoadImageFromFile'), + dict(type='TopDownRandomFlip', flip_prob=0.5), + dict( + type='TopDownHalfBodyTransform', + num_joints_half_body=8, + prob_half_body=0.3), + dict( + type='TopDownGetRandomScaleRotation', rot_factor=40, scale_factor=0.5), + dict(type='TopDownAffine'), + dict(type='ToTensor'), + dict( + type='NormalizeTensor', + mean=[0.485, 0.456, 0.406], + std=[0.229, 0.224, 0.225]), + dict(type='TopDownGenerateTarget', sigma=2), + dict( + type='Collect', + keys=['img', 'target', 'target_weight'], + meta_keys=[ + 'image_file', 'joints_3d', 'joints_3d_visible', 'center', 'scale', + 'rotation', 'bbox_score', 'flip_pairs' + ]), +] + +val_pipeline = [ + dict(type='LoadImageFromFile'), + dict(type='TopDownAffine'), + dict(type='ToTensor'), + dict( + type='NormalizeTensor', + mean=[0.485, 0.456, 0.406], + std=[0.229, 0.224, 0.225]), + dict( + type='Collect', + keys=[ + 'img', + ], + meta_keys=[ + 'image_file', 'center', 'scale', 'rotation', 'bbox_score', + 'flip_pairs' + ]), +] + +test_pipeline = val_pipeline + +data_root = 'data/posetrack18' +data = dict( + samples_per_gpu=64, + workers_per_gpu=2, + val_dataloader=dict(samples_per_gpu=32), + test_dataloader=dict(samples_per_gpu=32), + train=dict( + type='TopDownPoseTrack18Dataset', + ann_file=f'{data_root}/annotations/posetrack18_train.json', + img_prefix=f'{data_root}/', + data_cfg=data_cfg, + pipeline=train_pipeline, + dataset_info={{_base_.dataset_info}}), + val=dict( + type='TopDownPoseTrack18Dataset', + ann_file=f'{data_root}/annotations/posetrack18_val.json', + img_prefix=f'{data_root}/', + data_cfg=data_cfg, + pipeline=val_pipeline, + dataset_info={{_base_.dataset_info}}), + test=dict( + type='TopDownPoseTrack18Dataset', + ann_file=f'{data_root}/annotations/posetrack18_val.json', + img_prefix=f'{data_root}/', + data_cfg=data_cfg, + pipeline=test_pipeline, + dataset_info={{_base_.dataset_info}}), +) diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_w48_posetrack18_256x192.py b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_w48_posetrack18_256x192.py new file mode 100644 index 0000000000..a156de0bd2 --- /dev/null +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_w48_posetrack18_256x192.py @@ -0,0 +1,177 @@ +_base_ = ['../../../../_base_/datasets/posetrack18.py'] +log_level = 'INFO' +load_from = 'https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w48_coco_256x192-b9e0b3ab_20200708.pth' # noqa: E501 +resume_from = None +dist_params = dict(backend='nccl') +workflow = [('train', 1)] +checkpoint_config = dict(interval=1) +evaluation = dict(interval=1, metric='mAP', save_best='Total AP') + +optimizer = dict( + type='Adam', + lr=5e-4, +) +optimizer_config = dict(grad_clip=None) +# learning policy +lr_config = dict( + policy='step', + warmup='linear', + warmup_iters=500, + warmup_ratio=0.001, + step=[10, 15]) +total_epochs = 20 +log_config = dict( + interval=50, + hooks=[ + dict(type='TextLoggerHook'), + # dict(type='TensorboardLoggerHook') + ]) + +channel_cfg = dict( + num_output_channels=17, + dataset_joints=17, + dataset_channel=[ + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], + ], + inference_channel=[ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 + ]) + +# model settings +model = dict( + type='TopDown', + pretrained=None, + backbone=dict( + type='HRNet', + in_channels=3, + extra=dict( + stage1=dict( + num_modules=1, + num_branches=1, + block='BOTTLENECK', + num_blocks=(4, ), + num_channels=(64, )), + stage2=dict( + num_modules=1, + num_branches=2, + block='BASIC', + num_blocks=(4, 4), + num_channels=(48, 96)), + stage3=dict( + num_modules=4, + num_branches=3, + block='BASIC', + num_blocks=(4, 4, 4), + num_channels=(48, 96, 192)), + stage4=dict( + num_modules=3, + num_branches=4, + block='BASIC', + num_blocks=(4, 4, 4, 4), + num_channels=(48, 96, 192, 384))), + ), + keypoint_head=dict( + type='TopdownHeatmapSimpleHead', + in_channels=48, + out_channels=channel_cfg['num_output_channels'], + num_deconv_layers=0, + extra=dict(final_conv_kernel=1, ), + loss_keypoint=dict(type='JointsMSELoss', use_target_weight=True)), + train_cfg=dict(), + test_cfg=dict( + flip_test=True, + post_process='default', + shift_heatmap=True, + modulate_kernel=11)) + +data_cfg = dict( + image_size=[192, 256], + heatmap_size=[48, 64], + num_output_channels=channel_cfg['num_output_channels'], + num_joints=channel_cfg['dataset_joints'], + dataset_channel=channel_cfg['dataset_channel'], + inference_channel=channel_cfg['inference_channel'], + soft_nms=False, + nms_thr=1.0, + oks_thr=0.9, + vis_thr=0.2, + use_gt_bbox=True, + det_bbox_thr=0.4, + bbox_file='data/posetrack18/annotations/' + 'posetrack18_val_human_detections.json', +) + +train_pipeline = [ + dict(type='LoadImageFromFile'), + dict(type='TopDownRandomFlip', flip_prob=0.5), + dict( + type='TopDownHalfBodyTransform', + num_joints_half_body=8, + prob_half_body=0.3), + dict( + type='TopDownGetRandomScaleRotation', rot_factor=40, scale_factor=0.5), + dict(type='TopDownAffine'), + dict(type='ToTensor'), + dict( + type='NormalizeTensor', + mean=[0.485, 0.456, 0.406], + std=[0.229, 0.224, 0.225]), + dict(type='TopDownGenerateTarget', sigma=2), + dict( + type='Collect', + keys=['img', 'target', 'target_weight'], + meta_keys=[ + 'image_file', 'joints_3d', 'joints_3d_visible', 'center', 'scale', + 'rotation', 'bbox_score', 'flip_pairs' + ]), +] + +val_pipeline = [ + dict(type='LoadImageFromFile'), + dict(type='TopDownAffine'), + dict(type='ToTensor'), + dict( + type='NormalizeTensor', + mean=[0.485, 0.456, 0.406], + std=[0.229, 0.224, 0.225]), + dict( + type='Collect', + keys=[ + 'img', + ], + meta_keys=[ + 'image_file', 'center', 'scale', 'rotation', 'bbox_score', + 'flip_pairs' + ]), +] + +test_pipeline = val_pipeline + +data_root = 'data/posetrack18' +data = dict( + samples_per_gpu=64, + workers_per_gpu=2, + val_dataloader=dict(samples_per_gpu=32), + test_dataloader=dict(samples_per_gpu=32), + train=dict( + type='TopDownPoseTrack18Dataset', + ann_file=f'{data_root}/annotations/posetrack18_train.json', + img_prefix=f'{data_root}/', + data_cfg=data_cfg, + pipeline=train_pipeline, + dataset_info={{_base_.dataset_info}}), + val=dict( + type='TopDownPoseTrack18Dataset', + ann_file=f'{data_root}/annotations/posetrack18_val.json', + img_prefix=f'{data_root}/', + data_cfg=data_cfg, + pipeline=val_pipeline, + dataset_info={{_base_.dataset_info}}), + test=dict( + type='TopDownPoseTrack18Dataset', + ann_file=f'{data_root}/annotations/posetrack18_val.json', + img_prefix=f'{data_root}/', + data_cfg=data_cfg, + pipeline=test_pipeline, + dataset_info={{_base_.dataset_info}}), +) diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_w48_posetrack18_384x288.py b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_w48_posetrack18_384x288.py new file mode 100644 index 0000000000..d2d8042196 --- /dev/null +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_w48_posetrack18_384x288.py @@ -0,0 +1,177 @@ +_base_ = ['../../../../_base_/datasets/posetrack18.py'] +log_level = 'INFO' +load_from = 'https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w48_coco_384x288-314c8528_20200708.pth' # noqa: E501 +resume_from = None +dist_params = dict(backend='nccl') +workflow = [('train', 1)] +checkpoint_config = dict(interval=1) +evaluation = dict(interval=1, metric='mAP', save_best='Total AP') + +optimizer = dict( + type='Adam', + lr=5e-4, +) +optimizer_config = dict(grad_clip=None) +# learning policy +lr_config = dict( + policy='step', + warmup='linear', + warmup_iters=500, + warmup_ratio=0.001, + step=[10, 15]) +total_epochs = 20 +log_config = dict( + interval=50, + hooks=[ + dict(type='TextLoggerHook'), + # dict(type='TensorboardLoggerHook') + ]) + +channel_cfg = dict( + num_output_channels=17, + dataset_joints=17, + dataset_channel=[ + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], + ], + inference_channel=[ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 + ]) + +# model settings +model = dict( + type='TopDown', + pretrained=None, + backbone=dict( + type='HRNet', + in_channels=3, + extra=dict( + stage1=dict( + num_modules=1, + num_branches=1, + block='BOTTLENECK', + num_blocks=(4, ), + num_channels=(64, )), + stage2=dict( + num_modules=1, + num_branches=2, + block='BASIC', + num_blocks=(4, 4), + num_channels=(48, 96)), + stage3=dict( + num_modules=4, + num_branches=3, + block='BASIC', + num_blocks=(4, 4, 4), + num_channels=(48, 96, 192)), + stage4=dict( + num_modules=3, + num_branches=4, + block='BASIC', + num_blocks=(4, 4, 4, 4), + num_channels=(48, 96, 192, 384))), + ), + keypoint_head=dict( + type='TopdownHeatmapSimpleHead', + in_channels=48, + out_channels=channel_cfg['num_output_channels'], + num_deconv_layers=0, + extra=dict(final_conv_kernel=1, ), + loss_keypoint=dict(type='JointsMSELoss', use_target_weight=True)), + train_cfg=dict(), + test_cfg=dict( + flip_test=True, + post_process='default', + shift_heatmap=True, + modulate_kernel=11)) + +data_cfg = dict( + image_size=[288, 384], + heatmap_size=[72, 96], + num_output_channels=channel_cfg['num_output_channels'], + num_joints=channel_cfg['dataset_joints'], + dataset_channel=channel_cfg['dataset_channel'], + inference_channel=channel_cfg['inference_channel'], + soft_nms=False, + nms_thr=1.0, + oks_thr=0.9, + vis_thr=0.2, + use_gt_bbox=True, + det_bbox_thr=0.4, + bbox_file='data/posetrack18/annotations/' + 'posetrack18_val_human_detections.json', +) + +train_pipeline = [ + dict(type='LoadImageFromFile'), + dict(type='TopDownRandomFlip', flip_prob=0.5), + dict( + type='TopDownHalfBodyTransform', + num_joints_half_body=8, + prob_half_body=0.3), + dict( + type='TopDownGetRandomScaleRotation', rot_factor=40, scale_factor=0.5), + dict(type='TopDownAffine'), + dict(type='ToTensor'), + dict( + type='NormalizeTensor', + mean=[0.485, 0.456, 0.406], + std=[0.229, 0.224, 0.225]), + dict(type='TopDownGenerateTarget', sigma=2), + dict( + type='Collect', + keys=['img', 'target', 'target_weight'], + meta_keys=[ + 'image_file', 'joints_3d', 'joints_3d_visible', 'center', 'scale', + 'rotation', 'bbox_score', 'flip_pairs' + ]), +] + +val_pipeline = [ + dict(type='LoadImageFromFile'), + dict(type='TopDownAffine'), + dict(type='ToTensor'), + dict( + type='NormalizeTensor', + mean=[0.485, 0.456, 0.406], + std=[0.229, 0.224, 0.225]), + dict( + type='Collect', + keys=[ + 'img', + ], + meta_keys=[ + 'image_file', 'center', 'scale', 'rotation', 'bbox_score', + 'flip_pairs' + ]), +] + +test_pipeline = val_pipeline + +data_root = 'data/posetrack18' +data = dict( + samples_per_gpu=64, + workers_per_gpu=2, + val_dataloader=dict(samples_per_gpu=32), + test_dataloader=dict(samples_per_gpu=32), + train=dict( + type='TopDownPoseTrack18Dataset', + ann_file=f'{data_root}/annotations/posetrack18_train.json', + img_prefix=f'{data_root}/', + data_cfg=data_cfg, + pipeline=train_pipeline, + dataset_info={{_base_.dataset_info}}), + val=dict( + type='TopDownPoseTrack18Dataset', + ann_file=f'{data_root}/annotations/posetrack18_val.json', + img_prefix=f'{data_root}/', + data_cfg=data_cfg, + pipeline=val_pipeline, + dataset_info={{_base_.dataset_info}}), + test=dict( + type='TopDownPoseTrack18Dataset', + ann_file=f'{data_root}/annotations/posetrack18_val.json', + img_prefix=f'{data_root}/', + data_cfg=data_cfg, + pipeline=test_pipeline, + dataset_info={{_base_.dataset_info}}), +) diff --git a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/resnet_posetrack18.yml b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/resnet_posetrack18.yml index bc0877ee9f..c1861eea16 100644 --- a/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/resnet_posetrack18.yml +++ b/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/resnet_posetrack18.yml @@ -1,21 +1,18 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline2D - - ResNet - Name: body--2d_kpt_sview_rgb_img--topdown_heatmap--posetrack18--resnet_posetrack18 - [SimpleBaseline2D+ResNet@PoseTrack18] +- Name: SimpleBaseline2D Paper: Title: Simple baselines for human pose estimation and tracking URL: http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html - README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/resnet_posetrack18.md Models: - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/res50_posetrack18_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--posetrack18--resnet_posetrack18 - [SimpleBaseline2D+ResNet@PoseTrack18] + In Collection: SimpleBaseline2D Metadata: + Architecture: &id001 + - SimpleBaseline2D + - ResNet Training Data: PoseTrack18 Name: topdown_heatmap_res50_posetrack18_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/resnet_posetrack18.md Results: - Dataset: PoseTrack18 Metrics: @@ -30,11 +27,12 @@ Models: Task: Body 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res50_posetrack18_256x192-a62807c7_20201028.pth - Config: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/res50_posetrack18_256x192.py - In Collection: body--2d_kpt_sview_rgb_img--topdown_heatmap--posetrack18--resnet_posetrack18 - [SimpleBaseline2D+ResNet@PoseTrack18] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: PoseTrack18 Name: topdown_heatmap_res50_posetrack18_256x192 + README: configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/resnet_posetrack18.md Results: - Dataset: PoseTrack18 Metrics: diff --git a/configs/body/2d_kpt_sview_rgb_vid/README.md b/configs/body/2d_kpt_sview_rgb_vid/README.md new file mode 100644 index 0000000000..614c6d9f89 --- /dev/null +++ b/configs/body/2d_kpt_sview_rgb_vid/README.md @@ -0,0 +1,9 @@ +# Video-based Single-view 2D Human Body Pose Estimation + +Multi-person 2D human pose estimation in video is defined as the task of detecting the poses (or keypoints) of all people from an input video. + +For this task, we currently support [PoseWarper](/configs/body/2d_kpt_sview_rgb_vid/posewarper). + +## Data preparation + +Please follow [DATA Preparation](/docs/tasks/2d_body_keypoint.md) to prepare data. diff --git a/configs/body/2d_kpt_sview_rgb_vid/posewarper/README.md b/configs/body/2d_kpt_sview_rgb_vid/posewarper/README.md new file mode 100644 index 0000000000..425d116704 --- /dev/null +++ b/configs/body/2d_kpt_sview_rgb_vid/posewarper/README.md @@ -0,0 +1,25 @@ +# Learning Temporal Pose Estimation from Sparsely-Labeled Videos + + + +
+PoseWarper (NeurIPS'2019) + +```bibtex +@inproceedings{NIPS2019_gberta, +title = {Learning Temporal Pose Estimation from Sparsely Labeled Videos}, +author = {Bertasius, Gedas and Feichtenhofer, Christoph, and Tran, Du and Shi, Jianbo, and Torresani, Lorenzo}, +booktitle = {Advances in Neural Information Processing Systems 33}, +year = {2019}, +} +``` + +
+ +PoseWarper proposes a network that leverages training videos with sparse annotations (every k frames) to learn to perform dense temporal pose propagation and estimation. Given a pair of video frames, a labeled Frame A and an unlabeled Frame B, the model is trained to predict human pose in Frame A using the features from Frame B by means of deformable convolutions to implicitly learn the pose warping between A and B. + +The training of PoseWarper can be split into two stages. + +The first-stage is trained with the pre-trained model and the main backbone is fine-tuned in a single-frame setting. + +The second-stage is trained with the model from the first stage, and the warping offsets are learned in a multi-frame setting while the backbone is frozen. diff --git a/configs/body/2d_kpt_sview_rgb_vid/posewarper/posetrack18/hrnet_posetrack18_posewarper.md b/configs/body/2d_kpt_sview_rgb_vid/posewarper/posetrack18/hrnet_posetrack18_posewarper.md new file mode 100644 index 0000000000..25e852dcc9 --- /dev/null +++ b/configs/body/2d_kpt_sview_rgb_vid/posewarper/posetrack18/hrnet_posetrack18_posewarper.md @@ -0,0 +1,88 @@ + + + +
+PoseWarper (NeurIPS'2019) + +```bibtex +@inproceedings{NIPS2019_gberta, +title = {Learning Temporal Pose Estimation from Sparsely Labeled Videos}, +author = {Bertasius, Gedas and Feichtenhofer, Christoph, and Tran, Du and Shi, Jianbo, and Torresani, Lorenzo}, +booktitle = {Advances in Neural Information Processing Systems 33}, +year = {2019}, +} +``` + +
+ + + +
+HRNet (CVPR'2019) + +```bibtex +@inproceedings{sun2019deep, + title={Deep high-resolution representation learning for human pose estimation}, + author={Sun, Ke and Xiao, Bin and Liu, Dong and Wang, Jingdong}, + booktitle={Proceedings of the IEEE conference on computer vision and pattern recognition}, + pages={5693--5703}, + year={2019} +} +``` + +
+ + + +
+PoseTrack18 (CVPR'2018) + +```bibtex +@inproceedings{andriluka2018posetrack, + title={Posetrack: A benchmark for human pose estimation and tracking}, + author={Andriluka, Mykhaylo and Iqbal, Umar and Insafutdinov, Eldar and Pishchulin, Leonid and Milan, Anton and Gall, Juergen and Schiele, Bernt}, + booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition}, + pages={5167--5176}, + year={2018} +} +``` + +
+ + + +
+COCO (ECCV'2014) + +```bibtex +@inproceedings{lin2014microsoft, + title={Microsoft coco: Common objects in context}, + author={Lin, Tsung-Yi and Maire, Michael and Belongie, Serge and Hays, James and Perona, Pietro and Ramanan, Deva and Doll{\'a}r, Piotr and Zitnick, C Lawrence}, + booktitle={European conference on computer vision}, + pages={740--755}, + year={2014}, + organization={Springer} +} +``` + +
+ +Note that the training of PoseWarper can be split into two stages. + +The first-stage is trained with the pre-trained [checkpoint](https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w48_coco_384x288-314c8528_20200708.pth) on COCO dataset, and the main backbone is fine-tuned on PoseTrack18 in a single-frame setting. + +The second-stage is trained with the last [checkpoint](https://download.openmmlab.com/mmpose/top_down/posewarper/hrnet_w48_posetrack18_384x288_posewarper_stage1-08b632aa_20211130.pth) from the first stage, and the warping offsets are learned in a multi-frame setting while the backbone is frozen. + +Results on PoseTrack2018 val with ground-truth bounding boxes + +| Arch | Input Size | Head | Shou | Elb | Wri | Hip | Knee | Ankl | Total | ckpt | log | +| :--- | :--------: | :------: |:------: |:------: |:------: |:------: |:------: | :------: | :------: |:------: |:------: | +| [pose_hrnet_w48](/configs/body/2d_kpt_sview_rgb_vid/posewarper/posetrack18/hrnet_w48_posetrack18_384x288_posewarper_stage2.py) | 384x288 | 88.2 | 90.3 | 86.1 | 81.6 | 81.8 | 83.8 | 81.5 | 85.0 | [ckpt](https://download.openmmlab.com/mmpose/top_down/posewarper/hrnet_w48_posetrack18_384x288_posewarper_stage2-4abf88db_20211130.pth) | [log](https://download.openmmlab.com/mmpose/top_down/posewarper/hrnet_w48_posetrack18_384x288_posewarper_stage2_20211130.log.json) | + +Results on PoseTrack2018 val with precomputed human bounding boxes from PoseWarper supplementary data files from [this link](https://www.dropbox.com/s/ygfy6r8nitoggfq/PoseWarper_supp_files.zip?dl=0)1. + +| Arch | Input Size | Head | Shou | Elb | Wri | Hip | Knee | Ankl | Total | ckpt | log | +| :--- | :--------: | :------: |:------: |:------: |:------: |:------: |:------: | :------: | :------: |:------: |:------: | +| [pose_hrnet_w48](/configs/body/2d_kpt_sview_rgb_vid/posewarper/posetrack18/hrnet_w48_posetrack18_384x288_posewarper_stage2.py) | 384x288 | 81.8 | 85.6 | 82.7 | 77.2 | 76.8 | 79.0 | 74.4 | 79.8 | [ckpt](https://download.openmmlab.com/mmpose/top_down/posewarper/hrnet_w48_posetrack18_384x288_posewarper_stage2-4abf88db_20211130.pth) | [log](https://download.openmmlab.com/mmpose/top_down/posewarper/hrnet_w48_posetrack18_384x288_posewarper_stage2_20211130.log.json) | + +1 Please download the precomputed human bounding boxes on PoseTrack2018 val from `$PoseWarper_supp_files/posetrack18_precomputed_boxes/val_boxes.json` and place it here: `$mmpose/data/posetrack18/posetrack18_precomputed_boxes/val_boxes.json` to be consistent with the [config](/configs/body/2d_kpt_sview_rgb_vid/posewarper/posetrack18/hrnet_w48_posetrack18_384x288_posewarper_stage2.py). Please refer to [DATA Preparation](/docs/tasks/2d_body_keypoint.md) for more detail about data preparation. diff --git a/configs/body/2d_kpt_sview_rgb_vid/posewarper/posetrack18/hrnet_posetrack18_posewarper.yml b/configs/body/2d_kpt_sview_rgb_vid/posewarper/posetrack18/hrnet_posetrack18_posewarper.yml new file mode 100644 index 0000000000..257945423c --- /dev/null +++ b/configs/body/2d_kpt_sview_rgb_vid/posewarper/posetrack18/hrnet_posetrack18_posewarper.yml @@ -0,0 +1,48 @@ +Collections: +- Name: PoseWarper + Paper: + Title: Learning Temporal Pose Estimation from Sparsely Labeled Videos + URL: https://arxiv.org/abs/1906.04016 +Models: +- Config: configs/body/2d_kpt_sview_rgb_vid/posewarper/posetrack18/hrnet_w48_posetrack18_384x288_posewarper_stage2.py + In Collection: PoseWarper + Metadata: + Architecture: &id001 + - PoseWarper + - HRNet + Training Data: COCO + Name: posewarper_hrnet_w48_posetrack18_384x288_posewarper_stage2 + README: configs/body/2d_kpt_sview_rgb_vid/posewarper/posetrack18/hrnet_posetrack18_posewarper.md + Results: + - Dataset: COCO + Metrics: + Ankl: 81.5 + Elb: 86.1 + Head: 88.2 + Hip: 81.8 + Knee: 83.8 + Shou: 90.3 + Total: 85.0 + Wri: 81.6 + Task: Body 2D Keypoint + Weights: https://download.openmmlab.com/mmpose/top_down/posewarper/hrnet_w48_posetrack18_384x288_posewarper_stage2-4abf88db_20211130.pth +- Config: configs/body/2d_kpt_sview_rgb_vid/posewarper/posetrack18/hrnet_w48_posetrack18_384x288_posewarper_stage2.py + In Collection: PoseWarper + Metadata: + Architecture: *id001 + Training Data: COCO + Name: posewarper_hrnet_w48_posetrack18_384x288_posewarper_stage2 + README: configs/body/2d_kpt_sview_rgb_vid/posewarper/posetrack18/hrnet_posetrack18_posewarper.md + Results: + - Dataset: COCO + Metrics: + Ankl: 74.4 + Elb: 82.7 + Head: 81.8 + Hip: 76.8 + Knee: 79.0 + Shou: 85.6 + Total: 79.8 + Wri: 77.2 + Task: Body 2D Keypoint + Weights: https://download.openmmlab.com/mmpose/top_down/posewarper/hrnet_w48_posetrack18_384x288_posewarper_stage2-4abf88db_20211130.pth diff --git a/configs/body/2d_kpt_sview_rgb_vid/posewarper/posetrack18/hrnet_w48_posetrack18_384x288_posewarper_stage1.py b/configs/body/2d_kpt_sview_rgb_vid/posewarper/posetrack18/hrnet_w48_posetrack18_384x288_posewarper_stage1.py new file mode 100644 index 0000000000..3216dc1a87 --- /dev/null +++ b/configs/body/2d_kpt_sview_rgb_vid/posewarper/posetrack18/hrnet_w48_posetrack18_384x288_posewarper_stage1.py @@ -0,0 +1,174 @@ +_base_ = ['../../../../_base_/datasets/posetrack18.py'] +log_level = 'INFO' +load_from = 'https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w48_coco_384x288-314c8528_20200708.pth' # noqa: E501 +resume_from = None +dist_params = dict(backend='nccl') +cudnn_benchmark = True +workflow = [('train', 1)] +checkpoint_config = dict(interval=1) +evaluation = dict(interval=1, metric='mAP', save_best='Total AP') + +optimizer = dict( + type='Adam', + lr=0.0001, +) +optimizer_config = dict(grad_clip=None) +# learning policy +lr_config = dict(policy='step', step=[5, 7]) +total_epochs = 10 +log_config = dict( + interval=50, + hooks=[ + dict(type='TextLoggerHook'), + # dict(type='TensorboardLoggerHook') + ]) + +channel_cfg = dict( + num_output_channels=17, + dataset_joints=17, + dataset_channel=[ + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], + ], + inference_channel=[ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 + ]) + +# model settings +model = dict( + type='TopDown', + pretrained=None, + backbone=dict( + type='HRNet', + in_channels=3, + extra=dict( + stage1=dict( + num_modules=1, + num_branches=1, + block='BOTTLENECK', + num_blocks=(4, ), + num_channels=(64, )), + stage2=dict( + num_modules=1, + num_branches=2, + block='BASIC', + num_blocks=(4, 4), + num_channels=(48, 96)), + stage3=dict( + num_modules=4, + num_branches=3, + block='BASIC', + num_blocks=(4, 4, 4), + num_channels=(48, 96, 192)), + stage4=dict( + num_modules=3, + num_branches=4, + block='BASIC', + num_blocks=(4, 4, 4, 4), + num_channels=(48, 96, 192, 384))), + ), + keypoint_head=dict( + type='TopdownHeatmapSimpleHead', + in_channels=48, + out_channels=channel_cfg['num_output_channels'], + num_deconv_layers=0, + extra=dict(final_conv_kernel=1, ), + loss_keypoint=dict(type='JointsMSELoss', use_target_weight=True)), + train_cfg=dict(), + test_cfg=dict( + flip_test=True, + post_process='default', + shift_heatmap=True, + modulate_kernel=11)) + +data_cfg = dict( + image_size=[288, 384], + heatmap_size=[72, 96], + num_output_channels=channel_cfg['num_output_channels'], + num_joints=channel_cfg['dataset_joints'], + dataset_channel=channel_cfg['dataset_channel'], + inference_channel=channel_cfg['inference_channel'], + soft_nms=False, + nms_thr=1.0, + oks_thr=0.9, + vis_thr=0.2, + use_gt_bbox=True, + det_bbox_thr=0.2, + bbox_file='data/posetrack18/annotations/' + 'posetrack18_val_human_detections.json', +) + +train_pipeline = [ + dict(type='LoadImageFromFile'), + dict( + type='TopDownHalfBodyTransform', + num_joints_half_body=8, + prob_half_body=0.3), + dict( + type='TopDownGetRandomScaleRotation', rot_factor=45, + scale_factor=0.35), + dict(type='TopDownRandomFlip', flip_prob=0.5), + dict(type='TopDownAffine'), + dict(type='ToTensor'), + dict( + type='NormalizeTensor', + mean=[0.485, 0.456, 0.406], + std=[0.229, 0.224, 0.225]), + dict(type='TopDownGenerateTarget', sigma=3), + dict( + type='Collect', + keys=['img', 'target', 'target_weight'], + meta_keys=[ + 'image_file', 'joints_3d', 'joints_3d_visible', 'center', 'scale', + 'rotation', 'bbox_score', 'flip_pairs' + ]), +] + +val_pipeline = [ + dict(type='LoadImageFromFile'), + dict(type='TopDownAffine'), + dict(type='ToTensor'), + dict( + type='NormalizeTensor', + mean=[0.485, 0.456, 0.406], + std=[0.229, 0.224, 0.225]), + dict( + type='Collect', + keys=[ + 'img', + ], + meta_keys=[ + 'image_file', 'center', 'scale', 'rotation', 'bbox_score', + 'flip_pairs' + ]), +] + +test_pipeline = val_pipeline + +data_root = 'data/posetrack18' +data = dict( + samples_per_gpu=16, + workers_per_gpu=3, + val_dataloader=dict(samples_per_gpu=16), + test_dataloader=dict(samples_per_gpu=16), + train=dict( + type='TopDownPoseTrack18Dataset', + ann_file=f'{data_root}/annotations/posetrack18_train.json', + img_prefix=f'{data_root}/', + data_cfg=data_cfg, + pipeline=train_pipeline, + dataset_info={{_base_.dataset_info}}), + val=dict( + type='TopDownPoseTrack18Dataset', + ann_file=f'{data_root}/annotations/posetrack18_val.json', + img_prefix=f'{data_root}/', + data_cfg=data_cfg, + pipeline=val_pipeline, + dataset_info={{_base_.dataset_info}}), + test=dict( + type='TopDownPoseTrack18Dataset', + ann_file=f'{data_root}/annotations/posetrack18_val.json', + img_prefix=f'{data_root}/', + data_cfg=data_cfg, + pipeline=test_pipeline, + dataset_info={{_base_.dataset_info}}), +) diff --git a/configs/body/2d_kpt_sview_rgb_vid/posewarper/posetrack18/hrnet_w48_posetrack18_384x288_posewarper_stage2.py b/configs/body/2d_kpt_sview_rgb_vid/posewarper/posetrack18/hrnet_w48_posetrack18_384x288_posewarper_stage2.py new file mode 100644 index 0000000000..c19ccc7530 --- /dev/null +++ b/configs/body/2d_kpt_sview_rgb_vid/posewarper/posetrack18/hrnet_w48_posetrack18_384x288_posewarper_stage2.py @@ -0,0 +1,205 @@ +_base_ = ['../../../../_base_/datasets/posetrack18.py'] +log_level = 'INFO' +load_from = 'https://download.openmmlab.com/mmpose/top_down/posewarper/hrnet_w48_posetrack18_384x288_posewarper_stage1-08b632aa_20211130.pth' # noqa: E501 +resume_from = None +dist_params = dict(backend='nccl') +cudnn_benchmark = True +workflow = [('train', 1)] +checkpoint_config = dict(interval=1) +evaluation = dict(interval=1, metric='mAP', save_best='Total AP') + +optimizer = dict( + type='Adam', + lr=0.0001, +) +optimizer_config = dict(grad_clip=None) +# learning policy +lr_config = dict(policy='step', step=[10, 15]) +total_epochs = 20 +log_config = dict( + interval=100, + hooks=[ + dict(type='TextLoggerHook'), + # dict(type='TensorboardLoggerHook') + ]) + +channel_cfg = dict( + num_output_channels=17, + dataset_joints=17, + dataset_channel=[ + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], + ], + inference_channel=[ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 + ]) + +# model settings +model = dict( + type='PoseWarper', + pretrained=None, + backbone=dict( + type='HRNet', + in_channels=3, + extra=dict( + stage1=dict( + num_modules=1, + num_branches=1, + block='BOTTLENECK', + num_blocks=(4, ), + num_channels=(64, )), + stage2=dict( + num_modules=1, + num_branches=2, + block='BASIC', + num_blocks=(4, 4), + num_channels=(48, 96)), + stage3=dict( + num_modules=4, + num_branches=3, + block='BASIC', + num_blocks=(4, 4, 4), + num_channels=(48, 96, 192)), + stage4=dict( + num_modules=3, + num_branches=4, + block='BASIC', + num_blocks=(4, 4, 4, 4), + num_channels=(48, 96, 192, 384))), + frozen_stages=4, + ), + concat_tensors=True, + neck=dict( + type='PoseWarperNeck', + in_channels=48, + out_channels=channel_cfg['num_output_channels'], + inner_channels=128, + deform_groups=channel_cfg['num_output_channels'], + dilations=(3, 6, 12, 18, 24), + trans_conv_kernel=1, + res_blocks_cfg=dict(block='BASIC', num_blocks=20), + offsets_kernel=3, + deform_conv_kernel=3, + freeze_trans_layer=True, + im2col_step=80), + keypoint_head=dict( + type='TopdownHeatmapSimpleHead', + in_channels=channel_cfg['num_output_channels'], + out_channels=channel_cfg['num_output_channels'], + num_deconv_layers=0, + extra=dict(final_conv_kernel=0, ), + loss_keypoint=dict(type='JointsMSELoss', use_target_weight=True)), + train_cfg=dict(), + test_cfg=dict( + flip_test=False, + post_process='default', + shift_heatmap=True, + modulate_kernel=11)) + +data_cfg = dict( + image_size=[288, 384], + heatmap_size=[72, 96], + num_output_channels=channel_cfg['num_output_channels'], + num_joints=channel_cfg['dataset_joints'], + dataset_channel=channel_cfg['dataset_channel'], + inference_channel=channel_cfg['inference_channel'], + use_nms=True, + soft_nms=False, + nms_thr=1.0, + oks_thr=0.9, + vis_thr=0.2, + use_gt_bbox=False, + det_bbox_thr=0.2, + bbox_file='data/posetrack18/posetrack18_precomputed_boxes/' + 'val_boxes.json', + # frame_indices_train=[-1, 0], + frame_index_rand=True, + frame_index_range=[-2, 2], + num_adj_frames=1, + frame_indices_test=[-2, -1, 0, 1, 2], + # the first weight is the current frame, + # then on ascending order of frame indices + frame_weight_train=(0.0, 1.0), + frame_weight_test=(0.3, 0.1, 0.25, 0.25, 0.1), +) + +# take care of orders of the transforms +train_pipeline = [ + dict(type='LoadImageFromFile'), + dict( + type='TopDownHalfBodyTransform', + num_joints_half_body=8, + prob_half_body=0.3), + dict( + type='TopDownGetRandomScaleRotation', rot_factor=45, + scale_factor=0.35), + dict(type='TopDownRandomFlip', flip_prob=0.5), + dict(type='TopDownAffine'), + dict(type='ToTensor'), + dict( + type='NormalizeTensor', + mean=[0.485, 0.456, 0.406], + std=[0.229, 0.224, 0.225]), + dict(type='TopDownGenerateTarget', sigma=3), + dict( + type='Collect', + keys=['img', 'target', 'target_weight'], + meta_keys=[ + 'image_file', 'joints_3d', 'joints_3d_visible', 'center', 'scale', + 'rotation', 'bbox_score', 'flip_pairs', 'frame_weight' + ]), +] + +val_pipeline = [ + dict(type='LoadImageFromFile'), + dict(type='TopDownAffine'), + dict(type='ToTensor'), + dict( + type='NormalizeTensor', + mean=[0.485, 0.456, 0.406], + std=[0.229, 0.224, 0.225]), + dict( + type='Collect', + keys=[ + 'img', + ], + meta_keys=[ + 'image_file', + 'center', + 'scale', + 'rotation', + 'bbox_score', + 'flip_pairs', + 'frame_weight', + ]), +] + +test_pipeline = val_pipeline + +data_root = 'data/posetrack18' +data = dict( + samples_per_gpu=8, + workers_per_gpu=2, + val_dataloader=dict(samples_per_gpu=4), + test_dataloader=dict(samples_per_gpu=4), + train=dict( + type='TopDownPoseTrack18VideoDataset', + ann_file=f'{data_root}/annotations/posetrack18_train.json', + img_prefix=f'{data_root}/', + data_cfg=data_cfg, + pipeline=train_pipeline, + dataset_info={{_base_.dataset_info}}), + val=dict( + type='TopDownPoseTrack18VideoDataset', + ann_file=f'{data_root}/annotations/posetrack18_val.json', + img_prefix=f'{data_root}/', + data_cfg=data_cfg, + pipeline=val_pipeline, + dataset_info={{_base_.dataset_info}}), + test=dict( + type='TopDownPoseTrack18VideoDataset', + ann_file=f'{data_root}/annotations/posetrack18_val.json', + img_prefix=f'{data_root}/', + data_cfg=data_cfg, + pipeline=test_pipeline, + dataset_info={{_base_.dataset_info}}), +) diff --git a/configs/body/3d_kpt_sview_rgb_img/pose_lift/h36m/simplebaseline3d_h36m.yml b/configs/body/3d_kpt_sview_rgb_img/pose_lift/h36m/simplebaseline3d_h36m.yml index 4889908eb3..78b69172bf 100644 --- a/configs/body/3d_kpt_sview_rgb_img/pose_lift/h36m/simplebaseline3d_h36m.yml +++ b/configs/body/3d_kpt_sview_rgb_img/pose_lift/h36m/simplebaseline3d_h36m.yml @@ -1,19 +1,17 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline3D - Name: body--3d_kpt_sview_rgb_img--pose_lift--h36m--simplebaseline3d_h36m [SimpleBaseline3D@Human3.6M] +- Name: SimpleBaseline3D Paper: Title: A simple yet effective baseline for 3d human pose estimation URL: http://openaccess.thecvf.com/content_iccv_2017/html/Martinez_A_Simple_yet_ICCV_2017_paper.html - README: configs/body/3d_kpt_sview_rgb_img/pose_lift/h36m/simplebaseline3d_h36m.md Models: - Config: configs/body/3d_kpt_sview_rgb_img/pose_lift/h36m/simplebaseline3d_h36m.py - In Collection: body--3d_kpt_sview_rgb_img--pose_lift--h36m--simplebaseline3d_h36m - [SimpleBaseline3D@Human3.6M] + In Collection: SimpleBaseline3D Metadata: + Architecture: + - SimpleBaseline3D Training Data: Human3.6M Name: pose_lift_simplebaseline3d_h36m + README: configs/body/3d_kpt_sview_rgb_img/pose_lift/h36m/simplebaseline3d_h36m.md Results: - Dataset: Human3.6M Metrics: diff --git a/configs/body/3d_kpt_sview_rgb_img/pose_lift/mpi_inf_3dhp/simplebaseline3d_mpi-inf-3dhp.yml b/configs/body/3d_kpt_sview_rgb_img/pose_lift/mpi_inf_3dhp/simplebaseline3d_mpi-inf-3dhp.yml index d527736af0..9331d689b4 100644 --- a/configs/body/3d_kpt_sview_rgb_img/pose_lift/mpi_inf_3dhp/simplebaseline3d_mpi-inf-3dhp.yml +++ b/configs/body/3d_kpt_sview_rgb_img/pose_lift/mpi_inf_3dhp/simplebaseline3d_mpi-inf-3dhp.yml @@ -1,20 +1,17 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline3D - Name: body--3d_kpt_sview_rgb_img--pose_lift--mpi_inf_3dhp--simplebaseline3d_mpi-inf-3dhp - [SimpleBaseline3D@MPI-INF-3DHP] +- Name: SimpleBaseline3D Paper: Title: A simple yet effective baseline for 3d human pose estimation URL: http://openaccess.thecvf.com/content_iccv_2017/html/Martinez_A_Simple_yet_ICCV_2017_paper.html - README: configs/body/3d_kpt_sview_rgb_img/pose_lift/mpi_inf_3dhp/simplebaseline3d_mpi-inf-3dhp.md Models: - Config: configs/body/3d_kpt_sview_rgb_img/pose_lift/mpi_inf_3dhp/simplebaseline3d_mpi-inf-3dhp.py - In Collection: body--3d_kpt_sview_rgb_img--pose_lift--mpi_inf_3dhp--simplebaseline3d_mpi-inf-3dhp - [SimpleBaseline3D@MPI-INF-3DHP] + In Collection: SimpleBaseline3D Metadata: + Architecture: + - SimpleBaseline3D Training Data: MPI-INF-3DHP Name: pose_lift_simplebaseline3d_mpi-inf-3dhp + README: configs/body/3d_kpt_sview_rgb_img/pose_lift/mpi_inf_3dhp/simplebaseline3d_mpi-inf-3dhp.md Results: - Dataset: MPI-INF-3DHP Metrics: diff --git a/configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/h36m/videopose3d_h36m.yml b/configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/h36m/videopose3d_h36m.yml index 8a14abfd1e..32a2c40ab0 100644 --- a/configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/h36m/videopose3d_h36m.yml +++ b/configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/h36m/videopose3d_h36m.yml @@ -1,20 +1,18 @@ Collections: -- Metadata: - Architecture: - - VideoPose3D - Name: body--3d_kpt_sview_rgb_vid--video_pose_lift--h36m--videopose3d_h36m [VideoPose3D@Human3.6M] +- Name: VideoPose3D Paper: Title: 3d human pose estimation in video with temporal convolutions and semi-supervised training URL: http://openaccess.thecvf.com/content_CVPR_2019/html/Pavllo_3D_Human_Pose_Estimation_in_Video_With_Temporal_Convolutions_and_CVPR_2019_paper.html - README: configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/h36m/videopose3d_h36m.md Models: - Config: configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/h36m/videopose3d_h36m_27frames_fullconv_supervised.py - In Collection: body--3d_kpt_sview_rgb_vid--video_pose_lift--h36m--videopose3d_h36m - [VideoPose3D@Human3.6M] + In Collection: VideoPose3D Metadata: + Architecture: &id001 + - VideoPose3D Training Data: Human3.6M Name: video_pose_lift_videopose3d_h36m_27frames_fullconv_supervised + README: configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/h36m/videopose3d_h36m.md Results: - Dataset: Human3.6M Metrics: @@ -23,11 +21,12 @@ Models: Task: Body 3D Keypoint Weights: https://download.openmmlab.com/mmpose/body3d/videopose/videopose_h36m_27frames_fullconv_supervised-fe8fbba9_20210527.pth - Config: configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/h36m/videopose3d_h36m_81frames_fullconv_supervised.py - In Collection: body--3d_kpt_sview_rgb_vid--video_pose_lift--h36m--videopose3d_h36m - [VideoPose3D@Human3.6M] + In Collection: VideoPose3D Metadata: + Architecture: *id001 Training Data: Human3.6M Name: video_pose_lift_videopose3d_h36m_81frames_fullconv_supervised + README: configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/h36m/videopose3d_h36m.md Results: - Dataset: Human3.6M Metrics: @@ -36,11 +35,12 @@ Models: Task: Body 3D Keypoint Weights: https://download.openmmlab.com/mmpose/body3d/videopose/videopose_h36m_81frames_fullconv_supervised-1f2d1104_20210527.pth - Config: configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/h36m/videopose3d_h36m_243frames_fullconv_supervised.py - In Collection: body--3d_kpt_sview_rgb_vid--video_pose_lift--h36m--videopose3d_h36m - [VideoPose3D@Human3.6M] + In Collection: VideoPose3D Metadata: + Architecture: *id001 Training Data: Human3.6M Name: video_pose_lift_videopose3d_h36m_243frames_fullconv_supervised + README: configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/h36m/videopose3d_h36m.md Results: - Dataset: Human3.6M Metrics: @@ -49,11 +49,12 @@ Models: Task: Body 3D Keypoint Weights: https://download.openmmlab.com/mmpose/body3d/videopose/videopose_h36m_243frames_fullconv_supervised-880bea25_20210527.pth - Config: configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/h36m/videopose3d_h36m_1frame_fullconv_supervised_cpn_ft.py - In Collection: body--3d_kpt_sview_rgb_vid--video_pose_lift--h36m--videopose3d_h36m - [VideoPose3D@Human3.6M] + In Collection: VideoPose3D Metadata: + Architecture: *id001 Training Data: Human3.6M Name: video_pose_lift_videopose3d_h36m_1frame_fullconv_supervised_cpn_ft + README: configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/h36m/videopose3d_h36m.md Results: - Dataset: Human3.6M Metrics: @@ -62,11 +63,12 @@ Models: Task: Body 3D Keypoint Weights: https://download.openmmlab.com/mmpose/body3d/videopose/videopose_h36m_1frame_fullconv_supervised_cpn_ft-5c3afaed_20210527.pth - Config: configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/h36m/videopose3d_h36m_243frames_fullconv_supervised_cpn_ft.py - In Collection: body--3d_kpt_sview_rgb_vid--video_pose_lift--h36m--videopose3d_h36m - [VideoPose3D@Human3.6M] + In Collection: VideoPose3D Metadata: + Architecture: *id001 Training Data: Human3.6M Name: video_pose_lift_videopose3d_h36m_243frames_fullconv_supervised_cpn_ft + README: configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/h36m/videopose3d_h36m.md Results: - Dataset: Human3.6M Metrics: @@ -75,11 +77,12 @@ Models: Task: Body 3D Keypoint Weights: https://download.openmmlab.com/mmpose/body3d/videopose/videopose_h36m_243frames_fullconv_supervised_cpn_ft-88f5abbb_20210527.pth - Config: configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/h36m/videopose3d_h36m_27frames_fullconv_semi-supervised.py - In Collection: body--3d_kpt_sview_rgb_vid--video_pose_lift--h36m--videopose3d_h36m - [VideoPose3D@Human3.6M] + In Collection: VideoPose3D Metadata: + Architecture: *id001 Training Data: Human3.6M Name: video_pose_lift_videopose3d_h36m_27frames_fullconv_semi-supervised + README: configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/h36m/videopose3d_h36m.md Results: - Dataset: Human3.6M Metrics: @@ -89,11 +92,12 @@ Models: Task: Body 3D Keypoint Weights: https://download.openmmlab.com/mmpose/body3d/videopose/videopose_h36m_27frames_fullconv_semi-supervised-54aef83b_20210527.pth - Config: configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/h36m/videopose3d_h36m_27frames_fullconv_semi-supervised_cpn_ft.py - In Collection: body--3d_kpt_sview_rgb_vid--video_pose_lift--h36m--videopose3d_h36m - [VideoPose3D@Human3.6M] + In Collection: VideoPose3D Metadata: + Architecture: *id001 Training Data: Human3.6M Name: video_pose_lift_videopose3d_h36m_27frames_fullconv_semi-supervised_cpn_ft + README: configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/h36m/videopose3d_h36m.md Results: - Dataset: Human3.6M Metrics: diff --git a/configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/mpi_inf_3dhp/videopose3d_mpi-inf-3dhp.yml b/configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/mpi_inf_3dhp/videopose3d_mpi-inf-3dhp.yml index dd7fa0993b..cf5d302adb 100644 --- a/configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/mpi_inf_3dhp/videopose3d_mpi-inf-3dhp.yml +++ b/configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/mpi_inf_3dhp/videopose3d_mpi-inf-3dhp.yml @@ -1,21 +1,18 @@ Collections: -- Metadata: - Architecture: - - VideoPose3D - Name: body--3d_kpt_sview_rgb_vid--video_pose_lift--mpi_inf_3dhp--videopose3d_mpi-inf-3dhp - [VideoPose3D@MPI-INF-3DHP] +- Name: VideoPose3D Paper: Title: 3d human pose estimation in video with temporal convolutions and semi-supervised training URL: http://openaccess.thecvf.com/content_CVPR_2019/html/Pavllo_3D_Human_Pose_Estimation_in_Video_With_Temporal_Convolutions_and_CVPR_2019_paper.html - README: configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/mpi_inf_3dhp/videopose3d_mpi-inf-3dhp.md Models: - Config: configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/mpi_inf_3dhp/videopose3d_mpi-inf-3dhp_1frame_fullconv_supervised_gt.py - In Collection: body--3d_kpt_sview_rgb_vid--video_pose_lift--mpi_inf_3dhp--videopose3d_mpi-inf-3dhp - [VideoPose3D@MPI-INF-3DHP] + In Collection: VideoPose3D Metadata: + Architecture: + - VideoPose3D Training Data: MPI-INF-3DHP Name: video_pose_lift_videopose3d_mpi-inf-3dhp_1frame_fullconv_supervised_gt + README: configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/mpi_inf_3dhp/videopose3d_mpi-inf-3dhp.md Results: - Dataset: MPI-INF-3DHP Metrics: diff --git a/configs/body/3d_mesh_sview_rgb_img/hmr/mixed/resnet_mixed.yml b/configs/body/3d_mesh_sview_rgb_img/hmr/mixed/resnet_mixed.yml index b1c8d842c9..cbee83cfb6 100644 --- a/configs/body/3d_mesh_sview_rgb_img/hmr/mixed/resnet_mixed.yml +++ b/configs/body/3d_mesh_sview_rgb_img/hmr/mixed/resnet_mixed.yml @@ -1,19 +1,18 @@ Collections: -- Metadata: - Architecture: - - HMR - - ResNet - Name: body--3d_mesh_sview_rgb_img--hmr--mixed--resnet_mixed [HMR+ResNet@Human3.6M] +- Name: HMR Paper: Title: End-to-end Recovery of Human Shape and Pose URL: http://openaccess.thecvf.com/content_cvpr_2018/html/Kanazawa_End-to-End_Recovery_of_CVPR_2018_paper.html - README: configs/body/3d_mesh_sview_rgb_img/hmr/mixed/resnet_mixed.md Models: - Config: configs/body/3d_mesh_sview_rgb_img/hmr/mixed/res50_mixed_224x224.py - In Collection: body--3d_mesh_sview_rgb_img--hmr--mixed--resnet_mixed [HMR+ResNet@Human3.6M] + In Collection: HMR Metadata: + Architecture: + - HMR + - ResNet Training Data: Human3.6M Name: hmr_res50_mixed_224x224 + README: configs/body/3d_mesh_sview_rgb_img/hmr/mixed/resnet_mixed.md Results: - Dataset: Human3.6M Metrics: diff --git a/configs/face/2d_kpt_sview_rgb_img/deeppose/wflw/resnet_wflw.yml b/configs/face/2d_kpt_sview_rgb_img/deeppose/wflw/resnet_wflw.yml index c453335770..d9e6f61388 100644 --- a/configs/face/2d_kpt_sview_rgb_img/deeppose/wflw/resnet_wflw.yml +++ b/configs/face/2d_kpt_sview_rgb_img/deeppose/wflw/resnet_wflw.yml @@ -1,19 +1,18 @@ Collections: -- Metadata: - Architecture: - - DeepPose - - ResNet - Name: face--2d_kpt_sview_rgb_img--deeppose--wflw--resnet_wflw [DeepPose+ResNet@WFLW] +- Name: ResNet Paper: Title: Deep residual learning for image recognition URL: http://openaccess.thecvf.com/content_cvpr_2016/html/He_Deep_Residual_Learning_CVPR_2016_paper.html - README: configs/face/2d_kpt_sview_rgb_img/deeppose/wflw/resnet_wflw.md Models: - Config: configs/face/2d_kpt_sview_rgb_img/deeppose/wflw/res50_wflw_256x256.py - In Collection: face--2d_kpt_sview_rgb_img--deeppose--wflw--resnet_wflw [DeepPose+ResNet@WFLW] + In Collection: ResNet Metadata: + Architecture: + - DeepPose + - ResNet Training Data: WFLW Name: deeppose_res50_wflw_256x256 + README: configs/face/2d_kpt_sview_rgb_img/deeppose/wflw/resnet_wflw.md Results: - Dataset: WFLW Metrics: diff --git a/configs/face/2d_kpt_sview_rgb_img/deeppose/wflw/resnet_wingloss_wflw.yml b/configs/face/2d_kpt_sview_rgb_img/deeppose/wflw/resnet_wingloss_wflw.yml index ed7c6681d3..b068c7c8c5 100644 --- a/configs/face/2d_kpt_sview_rgb_img/deeppose/wflw/resnet_wingloss_wflw.yml +++ b/configs/face/2d_kpt_sview_rgb_img/deeppose/wflw/resnet_wingloss_wflw.yml @@ -1,22 +1,20 @@ Collections: -- Metadata: - Architecture: - - DeepPose - - ResNet - - Wingloss - Name: face--2d_kpt_sview_rgb_img--deeppose--wflw--resnet_wingloss_wflw [DeepPose+ResNet+Wingloss@WFLW] +- Name: Wingloss Paper: Title: Wing Loss for Robust Facial Landmark Localisation with Convolutional Neural Networks URL: http://openaccess.thecvf.com/content_cvpr_2018/html/Feng_Wing_Loss_for_CVPR_2018_paper.html - README: configs/face/2d_kpt_sview_rgb_img/deeppose/wflw/resnet_wingloss_wflw.md Models: - Config: configs/face/2d_kpt_sview_rgb_img/deeppose/wflw/res50_wflw_256x256_wingloss.py - In Collection: face--2d_kpt_sview_rgb_img--deeppose--wflw--resnet_wingloss_wflw - [DeepPose+ResNet+Wingloss@WFLW] + In Collection: Wingloss Metadata: + Architecture: + - DeepPose + - ResNet + - Wingloss Training Data: WFLW Name: deeppose_res50_wflw_256x256_wingloss + README: configs/face/2d_kpt_sview_rgb_img/deeppose/wflw/resnet_wingloss_wflw.md Results: - Dataset: WFLW Metrics: diff --git a/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/300w/hrnetv2_300w.yml b/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/300w/hrnetv2_300w.yml index 1dc1e45c48..3096afddce 100644 --- a/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/300w/hrnetv2_300w.yml +++ b/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/300w/hrnetv2_300w.yml @@ -1,18 +1,17 @@ Collections: -- Metadata: - Architecture: - - HRNetv2 - Name: face--2d_kpt_sview_rgb_img--topdown_heatmap--300w--hrnetv2_300w [HRNetv2@300W] +- Name: HRNetv2 Paper: Title: Deep High-Resolution Representation Learning for Visual Recognition URL: https://ieeexplore.ieee.org/abstract/document/9052469/ - README: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/300w/hrnetv2_300w.md Models: - Config: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/300w/hrnetv2_w18_300w_256x256.py - In Collection: face--2d_kpt_sview_rgb_img--topdown_heatmap--300w--hrnetv2_300w [HRNetv2@300W] + In Collection: HRNetv2 Metadata: + Architecture: + - HRNetv2 Training Data: 300W Name: topdown_heatmap_hrnetv2_w18_300w_256x256 + README: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/300w/hrnetv2_300w.md Results: - Dataset: 300W Metrics: diff --git a/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/aflw/hrnetv2_aflw.yml b/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/aflw/hrnetv2_aflw.yml index 8513e2bb20..ea48dbddf4 100644 --- a/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/aflw/hrnetv2_aflw.yml +++ b/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/aflw/hrnetv2_aflw.yml @@ -1,18 +1,17 @@ Collections: -- Metadata: - Architecture: - - HRNetv2 - Name: face--2d_kpt_sview_rgb_img--topdown_heatmap--aflw--hrnetv2_aflw [HRNetv2@AFLW] +- Name: HRNetv2 Paper: Title: Deep High-Resolution Representation Learning for Visual Recognition URL: https://ieeexplore.ieee.org/abstract/document/9052469/ - README: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/aflw/hrnetv2_aflw.md Models: - Config: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/aflw/hrnetv2_w18_aflw_256x256.py - In Collection: face--2d_kpt_sview_rgb_img--topdown_heatmap--aflw--hrnetv2_aflw [HRNetv2@AFLW] + In Collection: HRNetv2 Metadata: + Architecture: + - HRNetv2 Training Data: AFLW Name: topdown_heatmap_hrnetv2_w18_aflw_256x256 + README: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/aflw/hrnetv2_aflw.md Results: - Dataset: AFLW Metrics: diff --git a/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/aflw/hrnetv2_dark_aflw.yml b/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/aflw/hrnetv2_dark_aflw.yml index ca38e57a6d..796023078c 100644 --- a/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/aflw/hrnetv2_dark_aflw.yml +++ b/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/aflw/hrnetv2_dark_aflw.yml @@ -1,20 +1,18 @@ Collections: -- Metadata: - Architecture: - - HRNetv2 - - DarkPose - Name: face--2d_kpt_sview_rgb_img--topdown_heatmap--aflw--hrnetv2_dark_aflw [HRNetv2+DarkPose@AFLW] +- Name: DarkPose Paper: Title: Distribution-aware coordinate representation for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2020/html/Zhang_Distribution-Aware_Coordinate_Representation_for_Human_Pose_Estimation_CVPR_2020_paper.html - README: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/aflw/hrnetv2_dark_aflw.md Models: - Config: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/aflw/hrnetv2_w18_aflw_256x256_dark.py - In Collection: face--2d_kpt_sview_rgb_img--topdown_heatmap--aflw--hrnetv2_dark_aflw - [HRNetv2+DarkPose@AFLW] + In Collection: DarkPose Metadata: + Architecture: + - HRNetv2 + - DarkPose Training Data: AFLW Name: topdown_heatmap_hrnetv2_w18_aflw_256x256_dark + README: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/aflw/hrnetv2_dark_aflw.md Results: - Dataset: AFLW Metrics: diff --git a/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/hourglass_coco_wholebody_face.yml b/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/hourglass_coco_wholebody_face.yml index 30e14995fd..bded430bce 100644 --- a/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/hourglass_coco_wholebody_face.yml +++ b/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/hourglass_coco_wholebody_face.yml @@ -1,20 +1,17 @@ Collections: -- Metadata: - Architecture: - - Hourglass - Name: face--2d_kpt_sview_rgb_img--topdown_heatmap--coco_wholebody_face--hourglass_coco_wholebody_face - [Hourglass@COCO-WholeBody-Face] +- Name: Hourglass Paper: Title: Stacked hourglass networks for human pose estimation URL: https://link.springer.com/chapter/10.1007/978-3-319-46484-8_29 - README: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/hourglass_coco_wholebody_face.md Models: - Config: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/hourglass52_coco_wholebody_face_256x256.py - In Collection: face--2d_kpt_sview_rgb_img--topdown_heatmap--coco_wholebody_face--hourglass_coco_wholebody_face - [Hourglass@COCO-WholeBody-Face] + In Collection: Hourglass Metadata: + Architecture: + - Hourglass Training Data: COCO-WholeBody-Face Name: topdown_heatmap_hourglass52_coco_wholebody_face_256x256 + README: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/hourglass_coco_wholebody_face.md Results: - Dataset: COCO-WholeBody-Face Metrics: diff --git a/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/hrnetv2_coco_wholebody_face.yml b/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/hrnetv2_coco_wholebody_face.yml index 1eadabe923..2e2aba4662 100644 --- a/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/hrnetv2_coco_wholebody_face.yml +++ b/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/hrnetv2_coco_wholebody_face.yml @@ -1,20 +1,17 @@ Collections: -- Metadata: - Architecture: - - HRNetv2 - Name: face--2d_kpt_sview_rgb_img--topdown_heatmap--coco_wholebody_face--hrnetv2_coco_wholebody_face - [HRNetv2@COCO-WholeBody-Face] +- Name: HRNetv2 Paper: Title: Deep High-Resolution Representation Learning for Visual Recognition URL: https://ieeexplore.ieee.org/abstract/document/9052469/ - README: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/hrnetv2_coco_wholebody_face.md Models: - Config: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/hrnetv2_w18_coco_wholebody_face_256x256.py - In Collection: face--2d_kpt_sview_rgb_img--topdown_heatmap--coco_wholebody_face--hrnetv2_coco_wholebody_face - [HRNetv2@COCO-WholeBody-Face] + In Collection: HRNetv2 Metadata: + Architecture: + - HRNetv2 Training Data: COCO-WholeBody-Face Name: topdown_heatmap_hrnetv2_w18_coco_wholebody_face_256x256 + README: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/hrnetv2_coco_wholebody_face.md Results: - Dataset: COCO-WholeBody-Face Metrics: diff --git a/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/hrnetv2_dark_coco_wholebody_face.yml b/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/hrnetv2_dark_coco_wholebody_face.yml index 68eeb00d04..c2e796e243 100644 --- a/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/hrnetv2_dark_coco_wholebody_face.yml +++ b/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/hrnetv2_dark_coco_wholebody_face.yml @@ -1,21 +1,18 @@ Collections: -- Metadata: - Architecture: - - HRNetv2 - - DarkPose - Name: face--2d_kpt_sview_rgb_img--topdown_heatmap--coco_wholebody_face--hrnetv2_dark_coco_wholebody_face - [HRNetv2+DarkPose@COCO-WholeBody-Face] +- Name: DarkPose Paper: Title: Distribution-aware coordinate representation for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2020/html/Zhang_Distribution-Aware_Coordinate_Representation_for_Human_Pose_Estimation_CVPR_2020_paper.html - README: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/hrnetv2_dark_coco_wholebody_face.md Models: - Config: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/hrnetv2_w18_coco_wholebody_face_256x256_dark.py - In Collection: face--2d_kpt_sview_rgb_img--topdown_heatmap--coco_wholebody_face--hrnetv2_dark_coco_wholebody_face - [HRNetv2+DarkPose@COCO-WholeBody-Face] + In Collection: DarkPose Metadata: + Architecture: + - HRNetv2 + - DarkPose Training Data: COCO-WholeBody-Face Name: topdown_heatmap_hrnetv2_w18_coco_wholebody_face_256x256_dark + README: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/hrnetv2_dark_coco_wholebody_face.md Results: - Dataset: COCO-WholeBody-Face Metrics: diff --git a/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/mobilenetv2_coco_wholebody_face.yml b/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/mobilenetv2_coco_wholebody_face.yml index 45243ce460..803452f4bd 100644 --- a/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/mobilenetv2_coco_wholebody_face.yml +++ b/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/mobilenetv2_coco_wholebody_face.yml @@ -1,20 +1,17 @@ Collections: -- Metadata: - Architecture: - - MobilenetV2 - Name: face--2d_kpt_sview_rgb_img--topdown_heatmap--coco_wholebody_face--mobilenetv2_coco_wholebody_face - [MobilenetV2@COCO-WholeBody-Face] +- Name: MobilenetV2 Paper: Title: 'Mobilenetv2: Inverted residuals and linear bottlenecks' URL: http://openaccess.thecvf.com/content_cvpr_2018/html/Sandler_MobileNetV2_Inverted_Residuals_CVPR_2018_paper.html - README: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/mobilenetv2_coco_wholebody_face.md Models: - Config: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/mobilenetv2_coco_wholebody_face_256x256.py - In Collection: face--2d_kpt_sview_rgb_img--topdown_heatmap--coco_wholebody_face--mobilenetv2_coco_wholebody_face - [MobilenetV2@COCO-WholeBody-Face] + In Collection: MobilenetV2 Metadata: + Architecture: + - MobilenetV2 Training Data: COCO-WholeBody-Face Name: topdown_heatmap_mobilenetv2_coco_wholebody_face_256x256 + README: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/mobilenetv2_coco_wholebody_face.md Results: - Dataset: COCO-WholeBody-Face Metrics: diff --git a/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/resnet_coco_wholebody_face.yml b/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/resnet_coco_wholebody_face.yml index 2791da0b3c..1491b8edb4 100644 --- a/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/resnet_coco_wholebody_face.yml +++ b/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/resnet_coco_wholebody_face.yml @@ -1,21 +1,18 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline2D - - ResNet - Name: face--2d_kpt_sview_rgb_img--topdown_heatmap--coco_wholebody_face--resnet_coco_wholebody_face - [SimpleBaseline2D+ResNet@COCO-WholeBody-Face] +- Name: SimpleBaseline2D Paper: Title: Simple baselines for human pose estimation and tracking URL: http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html - README: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/resnet_coco_wholebody_face.md Models: - Config: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/res50_coco_wholebody_face_256x256.py - In Collection: face--2d_kpt_sview_rgb_img--topdown_heatmap--coco_wholebody_face--resnet_coco_wholebody_face - [SimpleBaseline2D+ResNet@COCO-WholeBody-Face] + In Collection: SimpleBaseline2D Metadata: + Architecture: + - SimpleBaseline2D + - ResNet Training Data: COCO-WholeBody-Face Name: topdown_heatmap_res50_coco_wholebody_face_256x256 + README: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/resnet_coco_wholebody_face.md Results: - Dataset: COCO-WholeBody-Face Metrics: diff --git a/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/scnet_coco_wholebody_face.yml b/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/scnet_coco_wholebody_face.yml index f215407045..4a303318a5 100644 --- a/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/scnet_coco_wholebody_face.yml +++ b/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/scnet_coco_wholebody_face.yml @@ -1,20 +1,17 @@ Collections: -- Metadata: - Architecture: - - SCNet - Name: face--2d_kpt_sview_rgb_img--topdown_heatmap--coco_wholebody_face--scnet_coco_wholebody_face - [SCNet@COCO-WholeBody-Face] +- Name: SCNet Paper: Title: Improving Convolutional Networks with Self-Calibrated Convolutions URL: http://openaccess.thecvf.com/content_CVPR_2020/html/Liu_Improving_Convolutional_Networks_With_Self-Calibrated_Convolutions_CVPR_2020_paper.html - README: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/scnet_coco_wholebody_face.md Models: - Config: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/scnet50_coco_wholebody_face_256x256.py - In Collection: face--2d_kpt_sview_rgb_img--topdown_heatmap--coco_wholebody_face--scnet_coco_wholebody_face - [SCNet@COCO-WholeBody-Face] + In Collection: SCNet Metadata: + Architecture: + - SCNet Training Data: COCO-WholeBody-Face Name: topdown_heatmap_scnet50_coco_wholebody_face_256x256 + README: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_face/scnet_coco_wholebody_face.md Results: - Dataset: COCO-WholeBody-Face Metrics: diff --git a/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/cofw/hrnetv2_cofw.yml b/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/cofw/hrnetv2_cofw.yml index 29972aa883..3139fffc8e 100644 --- a/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/cofw/hrnetv2_cofw.yml +++ b/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/cofw/hrnetv2_cofw.yml @@ -1,18 +1,17 @@ Collections: -- Metadata: - Architecture: - - HRNetv2 - Name: face--2d_kpt_sview_rgb_img--topdown_heatmap--cofw--hrnetv2_cofw [HRNetv2@COFW] +- Name: HRNetv2 Paper: Title: Deep High-Resolution Representation Learning for Visual Recognition URL: https://ieeexplore.ieee.org/abstract/document/9052469/ - README: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/cofw/hrnetv2_cofw.md Models: - Config: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/cofw/hrnetv2_w18_cofw_256x256.py - In Collection: face--2d_kpt_sview_rgb_img--topdown_heatmap--cofw--hrnetv2_cofw [HRNetv2@COFW] + In Collection: HRNetv2 Metadata: + Architecture: + - HRNetv2 Training Data: COFW Name: topdown_heatmap_hrnetv2_w18_cofw_256x256 + README: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/cofw/hrnetv2_cofw.md Results: - Dataset: COFW Metrics: diff --git a/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/wflw/hrnetv2_dark_wflw.yml b/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/wflw/hrnetv2_dark_wflw.yml index 2259e34808..92de6740aa 100644 --- a/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/wflw/hrnetv2_dark_wflw.yml +++ b/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/wflw/hrnetv2_dark_wflw.yml @@ -1,20 +1,18 @@ Collections: -- Metadata: - Architecture: - - HRNetv2 - - DarkPose - Name: face--2d_kpt_sview_rgb_img--topdown_heatmap--wflw--hrnetv2_dark_wflw [HRNetv2+DarkPose@WFLW] +- Name: DarkPose Paper: Title: Distribution-aware coordinate representation for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2020/html/Zhang_Distribution-Aware_Coordinate_Representation_for_Human_Pose_Estimation_CVPR_2020_paper.html - README: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/wflw/hrnetv2_dark_wflw.md Models: - Config: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/wflw/hrnetv2_w18_wflw_256x256_dark.py - In Collection: face--2d_kpt_sview_rgb_img--topdown_heatmap--wflw--hrnetv2_dark_wflw - [HRNetv2+DarkPose@WFLW] + In Collection: DarkPose Metadata: + Architecture: + - HRNetv2 + - DarkPose Training Data: WFLW Name: topdown_heatmap_hrnetv2_w18_wflw_256x256_dark + README: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/wflw/hrnetv2_dark_wflw.md Results: - Dataset: WFLW Metrics: diff --git a/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/wflw/hrnetv2_wflw.yml b/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/wflw/hrnetv2_wflw.yml index 2bd21b649d..2d06125a3f 100644 --- a/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/wflw/hrnetv2_wflw.yml +++ b/configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/wflw/hrnetv2_wflw.yml @@ -1,18 +1,17 @@ Collections: -- Metadata: - Architecture: - - HRNetv2 - Name: face--2d_kpt_sview_rgb_img--topdown_heatmap--wflw--hrnetv2_wflw [HRNetv2@WFLW] +- Name: HRNetv2 Paper: Title: Deep High-Resolution Representation Learning for Visual Recognition URL: https://ieeexplore.ieee.org/abstract/document/9052469/ - README: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/wflw/hrnetv2_wflw.md Models: - Config: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/wflw/hrnetv2_w18_wflw_256x256.py - In Collection: face--2d_kpt_sview_rgb_img--topdown_heatmap--wflw--hrnetv2_wflw [HRNetv2@WFLW] + In Collection: HRNetv2 Metadata: + Architecture: + - HRNetv2 Training Data: WFLW Name: topdown_heatmap_hrnetv2_w18_wflw_256x256 + README: configs/face/2d_kpt_sview_rgb_img/topdown_heatmap/wflw/hrnetv2_wflw.md Results: - Dataset: WFLW Metrics: diff --git a/configs/fashion/2d_kpt_sview_rgb_img/deeppose/deepfashion/resnet_deepfashion.yml b/configs/fashion/2d_kpt_sview_rgb_img/deeppose/deepfashion/resnet_deepfashion.yml index 7b76a6153f..a1f82efe4e 100644 --- a/configs/fashion/2d_kpt_sview_rgb_img/deeppose/deepfashion/resnet_deepfashion.yml +++ b/configs/fashion/2d_kpt_sview_rgb_img/deeppose/deepfashion/resnet_deepfashion.yml @@ -1,20 +1,18 @@ Collections: -- Metadata: - Architecture: - - DeepPose - - ResNet - Name: fashion--2d_kpt_sview_rgb_img--deeppose--deepfashion--resnet_deepfashion [DeepPose+ResNet@DeepFashion] +- Name: ResNet Paper: Title: Deep residual learning for image recognition URL: http://openaccess.thecvf.com/content_cvpr_2016/html/He_Deep_Residual_Learning_CVPR_2016_paper.html - README: configs/fashion/2d_kpt_sview_rgb_img/deeppose/deepfashion/resnet_deepfashion.md Models: - Config: configs/fashion/2d_kpt_sview_rgb_img/deeppose/deepfashion/res50_deepfashion_upper_256x192.py - In Collection: fashion--2d_kpt_sview_rgb_img--deeppose--deepfashion--resnet_deepfashion - [DeepPose+ResNet@DeepFashion] + In Collection: ResNet Metadata: + Architecture: &id001 + - DeepPose + - ResNet Training Data: DeepFashion Name: deeppose_res50_deepfashion_upper_256x192 + README: configs/fashion/2d_kpt_sview_rgb_img/deeppose/deepfashion/resnet_deepfashion.md Results: - Dataset: DeepFashion Metrics: @@ -24,11 +22,12 @@ Models: Task: Fashion 2D Keypoint Weights: https://download.openmmlab.com/mmpose/fashion/deeppose/deeppose_res50_deepfashion_upper_256x192-497799fb_20210309.pth - Config: configs/fashion/2d_kpt_sview_rgb_img/deeppose/deepfashion/res50_deepfashion_lower_256x192.py - In Collection: fashion--2d_kpt_sview_rgb_img--deeppose--deepfashion--resnet_deepfashion - [DeepPose+ResNet@DeepFashion] + In Collection: ResNet Metadata: + Architecture: *id001 Training Data: DeepFashion Name: deeppose_res50_deepfashion_lower_256x192 + README: configs/fashion/2d_kpt_sview_rgb_img/deeppose/deepfashion/resnet_deepfashion.md Results: - Dataset: DeepFashion Metrics: @@ -38,11 +37,12 @@ Models: Task: Fashion 2D Keypoint Weights: https://download.openmmlab.com/mmpose/fashion/deeppose/deeppose_res50_deepfashion_lower_256x192-94e0e653_20210309.pth - Config: configs/fashion/2d_kpt_sview_rgb_img/deeppose/deepfashion/res50_deepfashion_full_256x192.py - In Collection: fashion--2d_kpt_sview_rgb_img--deeppose--deepfashion--resnet_deepfashion - [DeepPose+ResNet@DeepFashion] + In Collection: ResNet Metadata: + Architecture: *id001 Training Data: DeepFashion Name: deeppose_res50_deepfashion_full_256x192 + README: configs/fashion/2d_kpt_sview_rgb_img/deeppose/deepfashion/resnet_deepfashion.md Results: - Dataset: DeepFashion Metrics: diff --git a/configs/fashion/2d_kpt_sview_rgb_img/topdown_heatmap/deepfashion/resnet_deepfashion.yml b/configs/fashion/2d_kpt_sview_rgb_img/topdown_heatmap/deepfashion/resnet_deepfashion.yml index ea02f0f980..97110029be 100644 --- a/configs/fashion/2d_kpt_sview_rgb_img/topdown_heatmap/deepfashion/resnet_deepfashion.yml +++ b/configs/fashion/2d_kpt_sview_rgb_img/topdown_heatmap/deepfashion/resnet_deepfashion.yml @@ -1,21 +1,18 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline2D - - ResNet - Name: fashion--2d_kpt_sview_rgb_img--topdown_heatmap--deepfashion--resnet_deepfashion - [SimpleBaseline2D+ResNet@DeepFashion] +- Name: SimpleBaseline2D Paper: Title: Simple baselines for human pose estimation and tracking URL: http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html - README: configs/fashion/2d_kpt_sview_rgb_img/topdown_heatmap/deepfashion/resnet_deepfashion.md Models: - Config: configs/fashion/2d_kpt_sview_rgb_img/topdown_heatmap/deepfashion/res50_deepfashion_upper_256x192.py - In Collection: fashion--2d_kpt_sview_rgb_img--topdown_heatmap--deepfashion--resnet_deepfashion - [SimpleBaseline2D+ResNet@DeepFashion] + In Collection: SimpleBaseline2D Metadata: + Architecture: &id001 + - SimpleBaseline2D + - ResNet Training Data: DeepFashion Name: topdown_heatmap_res50_deepfashion_upper_256x192 + README: configs/fashion/2d_kpt_sview_rgb_img/topdown_heatmap/deepfashion/resnet_deepfashion.md Results: - Dataset: DeepFashion Metrics: @@ -25,11 +22,12 @@ Models: Task: Fashion 2D Keypoint Weights: https://download.openmmlab.com/mmpose/fashion/resnet/res50_deepfashion_upper_256x192-41794f03_20210124.pth - Config: configs/fashion/2d_kpt_sview_rgb_img/topdown_heatmap/deepfashion/res50_deepfashion_lower_256x192.py - In Collection: fashion--2d_kpt_sview_rgb_img--topdown_heatmap--deepfashion--resnet_deepfashion - [SimpleBaseline2D+ResNet@DeepFashion] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: DeepFashion Name: topdown_heatmap_res50_deepfashion_lower_256x192 + README: configs/fashion/2d_kpt_sview_rgb_img/topdown_heatmap/deepfashion/resnet_deepfashion.md Results: - Dataset: DeepFashion Metrics: @@ -39,11 +37,12 @@ Models: Task: Fashion 2D Keypoint Weights: https://download.openmmlab.com/mmpose/fashion/resnet/res50_deepfashion_lower_256x192-1292a839_20210124.pth - Config: configs/fashion/2d_kpt_sview_rgb_img/topdown_heatmap/deepfashion/res50_deepfashion_full_256x192.py - In Collection: fashion--2d_kpt_sview_rgb_img--topdown_heatmap--deepfashion--resnet_deepfashion - [SimpleBaseline2D+ResNet@DeepFashion] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: DeepFashion Name: topdown_heatmap_res50_deepfashion_full_256x192 + README: configs/fashion/2d_kpt_sview_rgb_img/topdown_heatmap/deepfashion/resnet_deepfashion.md Results: - Dataset: DeepFashion Metrics: diff --git a/configs/hand/2d_kpt_sview_rgb_img/deeppose/onehand10k/resnet_onehand10k.yml b/configs/hand/2d_kpt_sview_rgb_img/deeppose/onehand10k/resnet_onehand10k.yml index 889213fcf8..d8ea5aca62 100644 --- a/configs/hand/2d_kpt_sview_rgb_img/deeppose/onehand10k/resnet_onehand10k.yml +++ b/configs/hand/2d_kpt_sview_rgb_img/deeppose/onehand10k/resnet_onehand10k.yml @@ -1,20 +1,18 @@ Collections: -- Metadata: - Architecture: - - DeepPose - - ResNet - Name: hand--2d_kpt_sview_rgb_img--deeppose--onehand10k--resnet_onehand10k [DeepPose+ResNet@OneHand10K] +- Name: ResNet Paper: Title: Deep residual learning for image recognition URL: http://openaccess.thecvf.com/content_cvpr_2016/html/He_Deep_Residual_Learning_CVPR_2016_paper.html - README: configs/hand/2d_kpt_sview_rgb_img/deeppose/onehand10k/resnet_onehand10k.md Models: - Config: configs/hand/2d_kpt_sview_rgb_img/deeppose/onehand10k/res50_onehand10k_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--deeppose--onehand10k--resnet_onehand10k - [DeepPose+ResNet@OneHand10K] + In Collection: ResNet Metadata: + Architecture: + - DeepPose + - ResNet Training Data: OneHand10K Name: deeppose_res50_onehand10k_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/deeppose/onehand10k/resnet_onehand10k.md Results: - Dataset: OneHand10K Metrics: diff --git a/configs/hand/2d_kpt_sview_rgb_img/deeppose/panoptic2d/resnet_panoptic2d.yml b/configs/hand/2d_kpt_sview_rgb_img/deeppose/panoptic2d/resnet_panoptic2d.yml index dee9347b91..3363364407 100644 --- a/configs/hand/2d_kpt_sview_rgb_img/deeppose/panoptic2d/resnet_panoptic2d.yml +++ b/configs/hand/2d_kpt_sview_rgb_img/deeppose/panoptic2d/resnet_panoptic2d.yml @@ -1,21 +1,18 @@ Collections: -- Metadata: - Architecture: - - DeepPose - - ResNet - Name: hand--2d_kpt_sview_rgb_img--deeppose--panoptic2d--resnet_panoptic2d [DeepPose+ResNet@CMU - Panoptic HandDB] +- Name: ResNet Paper: Title: Deep residual learning for image recognition URL: http://openaccess.thecvf.com/content_cvpr_2016/html/He_Deep_Residual_Learning_CVPR_2016_paper.html - README: configs/hand/2d_kpt_sview_rgb_img/deeppose/panoptic2d/resnet_panoptic2d.md Models: - Config: configs/hand/2d_kpt_sview_rgb_img/deeppose/panoptic2d/res50_panoptic2d_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--deeppose--panoptic2d--resnet_panoptic2d - [DeepPose+ResNet@CMU Panoptic HandDB] + In Collection: ResNet Metadata: + Architecture: + - DeepPose + - ResNet Training Data: CMU Panoptic HandDB Name: deeppose_res50_panoptic2d_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/deeppose/panoptic2d/resnet_panoptic2d.md Results: - Dataset: CMU Panoptic HandDB Metrics: diff --git a/configs/hand/2d_kpt_sview_rgb_img/deeppose/rhd2d/resnet_rhd2d.yml b/configs/hand/2d_kpt_sview_rgb_img/deeppose/rhd2d/resnet_rhd2d.yml index a27efbe21c..afef7b29e7 100644 --- a/configs/hand/2d_kpt_sview_rgb_img/deeppose/rhd2d/resnet_rhd2d.yml +++ b/configs/hand/2d_kpt_sview_rgb_img/deeppose/rhd2d/resnet_rhd2d.yml @@ -1,19 +1,18 @@ Collections: -- Metadata: - Architecture: - - DeepPose - - ResNet - Name: hand--2d_kpt_sview_rgb_img--deeppose--rhd2d--resnet_rhd2d [DeepPose+ResNet@RHD] +- Name: ResNet Paper: Title: Deep residual learning for image recognition URL: http://openaccess.thecvf.com/content_cvpr_2016/html/He_Deep_Residual_Learning_CVPR_2016_paper.html - README: configs/hand/2d_kpt_sview_rgb_img/deeppose/rhd2d/resnet_rhd2d.md Models: - Config: configs/hand/2d_kpt_sview_rgb_img/deeppose/rhd2d/res50_rhd2d_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--deeppose--rhd2d--resnet_rhd2d [DeepPose+ResNet@RHD] + In Collection: ResNet Metadata: + Architecture: + - DeepPose + - ResNet Training Data: RHD Name: deeppose_res50_rhd2d_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/deeppose/rhd2d/resnet_rhd2d.md Results: - Dataset: RHD Metrics: diff --git a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/hourglass_coco_wholebody_hand.yml b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/hourglass_coco_wholebody_hand.yml index 8c7a4e44db..945bbdca8d 100644 --- a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/hourglass_coco_wholebody_hand.yml +++ b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/hourglass_coco_wholebody_hand.yml @@ -1,20 +1,17 @@ Collections: -- Metadata: - Architecture: - - Hourglass - Name: hand--2d_kpt_sview_rgb_img--topdown_heatmap--coco_wholebody_hand--hourglass_coco_wholebody_hand - [Hourglass@COCO-WholeBody-Hand] +- Name: Hourglass Paper: Title: Stacked hourglass networks for human pose estimation URL: https://link.springer.com/chapter/10.1007/978-3-319-46484-8_29 - README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/hourglass_coco_wholebody_hand.md Models: - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/hourglass52_coco_wholebody_hand_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--coco_wholebody_hand--hourglass_coco_wholebody_hand - [Hourglass@COCO-WholeBody-Hand] + In Collection: Hourglass Metadata: + Architecture: + - Hourglass Training Data: COCO-WholeBody-Hand Name: topdown_heatmap_hourglass52_coco_wholebody_hand_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/hourglass_coco_wholebody_hand.md Results: - Dataset: COCO-WholeBody-Hand Metrics: diff --git a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/hrnetv2_coco_wholebody_hand.yml b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/hrnetv2_coco_wholebody_hand.yml index 6483bb255a..1d52867d8a 100644 --- a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/hrnetv2_coco_wholebody_hand.yml +++ b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/hrnetv2_coco_wholebody_hand.yml @@ -1,20 +1,17 @@ Collections: -- Metadata: - Architecture: - - HRNetv2 - Name: hand--2d_kpt_sview_rgb_img--topdown_heatmap--coco_wholebody_hand--hrnetv2_coco_wholebody_hand - [HRNetv2@COCO-WholeBody-Hand] +- Name: HRNetv2 Paper: Title: Deep High-Resolution Representation Learning for Visual Recognition URL: https://ieeexplore.ieee.org/abstract/document/9052469/ - README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/hrnetv2_coco_wholebody_hand.md Models: - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/hrnetv2_w18_coco_wholebody_hand_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--coco_wholebody_hand--hrnetv2_coco_wholebody_hand - [HRNetv2@COCO-WholeBody-Hand] + In Collection: HRNetv2 Metadata: + Architecture: + - HRNetv2 Training Data: COCO-WholeBody-Hand Name: topdown_heatmap_hrnetv2_w18_coco_wholebody_hand_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/hrnetv2_coco_wholebody_hand.md Results: - Dataset: COCO-WholeBody-Hand Metrics: diff --git a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/hrnetv2_dark_coco_wholebody_hand.yml b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/hrnetv2_dark_coco_wholebody_hand.yml index 3d9b85bf1f..78ac53ef6e 100644 --- a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/hrnetv2_dark_coco_wholebody_hand.yml +++ b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/hrnetv2_dark_coco_wholebody_hand.yml @@ -1,21 +1,18 @@ Collections: -- Metadata: - Architecture: - - HRNetv2 - - DarkPose - Name: hand--2d_kpt_sview_rgb_img--topdown_heatmap--coco_wholebody_hand--hrnetv2_dark_coco_wholebody_hand - [HRNetv2+DarkPose@COCO-WholeBody-Hand] +- Name: DarkPose Paper: Title: Distribution-aware coordinate representation for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2020/html/Zhang_Distribution-Aware_Coordinate_Representation_for_Human_Pose_Estimation_CVPR_2020_paper.html - README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/hrnetv2_dark_coco_wholebody_hand.md Models: - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/hrnetv2_w18_coco_wholebody_hand_256x256_dark.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--coco_wholebody_hand--hrnetv2_dark_coco_wholebody_hand - [HRNetv2+DarkPose@COCO-WholeBody-Hand] + In Collection: DarkPose Metadata: + Architecture: + - HRNetv2 + - DarkPose Training Data: COCO-WholeBody-Hand Name: topdown_heatmap_hrnetv2_w18_coco_wholebody_hand_256x256_dark + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/hrnetv2_dark_coco_wholebody_hand.md Results: - Dataset: COCO-WholeBody-Hand Metrics: diff --git a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/litehrnet_coco_wholebody_hand.yml b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/litehrnet_coco_wholebody_hand.yml index db21725d25..278fa90488 100644 --- a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/litehrnet_coco_wholebody_hand.yml +++ b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/litehrnet_coco_wholebody_hand.yml @@ -1,20 +1,17 @@ Collections: -- Metadata: - Architecture: - - LiteHRNet - Name: hand--2d_kpt_sview_rgb_img--topdown_heatmap--coco_wholebody_hand--litehrnet_coco_wholebody_hand - [LiteHRNet@COCO-WholeBody-Hand] +- Name: LiteHRNet Paper: Title: 'Lite-HRNet: A Lightweight High-Resolution Network' URL: https://arxiv.org/abs/2104.06403 - README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/litehrnet_coco_wholebody_hand.md Models: - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/litehrnet_w18_coco_wholebody_hand_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--coco_wholebody_hand--litehrnet_coco_wholebody_hand - [LiteHRNet@COCO-WholeBody-Hand] + In Collection: LiteHRNet Metadata: + Architecture: + - LiteHRNet Training Data: COCO-WholeBody-Hand Name: topdown_heatmap_litehrnet_w18_coco_wholebody_hand_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/litehrnet_coco_wholebody_hand.md Results: - Dataset: COCO-WholeBody-Hand Metrics: diff --git a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/mobilenetv2_coco_wholebody_hand.yml b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/mobilenetv2_coco_wholebody_hand.yml index 3a3b3ff0a5..0c228c58c1 100644 --- a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/mobilenetv2_coco_wholebody_hand.yml +++ b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/mobilenetv2_coco_wholebody_hand.yml @@ -1,20 +1,17 @@ Collections: -- Metadata: - Architecture: - - MobilenetV2 - Name: hand--2d_kpt_sview_rgb_img--topdown_heatmap--coco_wholebody_hand--mobilenetv2_coco_wholebody_hand - [MobilenetV2@COCO-WholeBody-Hand] +- Name: MobilenetV2 Paper: Title: 'Mobilenetv2: Inverted residuals and linear bottlenecks' URL: http://openaccess.thecvf.com/content_cvpr_2018/html/Sandler_MobileNetV2_Inverted_Residuals_CVPR_2018_paper.html - README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/mobilenetv2_coco_wholebody_hand.md Models: - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/mobilenetv2_coco_wholebody_hand_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--coco_wholebody_hand--mobilenetv2_coco_wholebody_hand - [MobilenetV2@COCO-WholeBody-Hand] + In Collection: MobilenetV2 Metadata: + Architecture: + - MobilenetV2 Training Data: COCO-WholeBody-Hand Name: topdown_heatmap_mobilenetv2_coco_wholebody_hand_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/mobilenetv2_coco_wholebody_hand.md Results: - Dataset: COCO-WholeBody-Hand Metrics: diff --git a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/resnet_coco_wholebody_hand.yml b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/resnet_coco_wholebody_hand.yml index 4b61f39f50..f6ab4d814b 100644 --- a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/resnet_coco_wholebody_hand.yml +++ b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/resnet_coco_wholebody_hand.yml @@ -1,21 +1,18 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline2D - - ResNet - Name: hand--2d_kpt_sview_rgb_img--topdown_heatmap--coco_wholebody_hand--resnet_coco_wholebody_hand - [SimpleBaseline2D+ResNet@COCO-WholeBody-Hand] +- Name: SimpleBaseline2D Paper: Title: Simple baselines for human pose estimation and tracking URL: http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html - README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/resnet_coco_wholebody_hand.md Models: - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/res50_coco_wholebody_hand_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--coco_wholebody_hand--resnet_coco_wholebody_hand - [SimpleBaseline2D+ResNet@COCO-WholeBody-Hand] + In Collection: SimpleBaseline2D Metadata: + Architecture: + - SimpleBaseline2D + - ResNet Training Data: COCO-WholeBody-Hand Name: topdown_heatmap_res50_coco_wholebody_hand_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/resnet_coco_wholebody_hand.md Results: - Dataset: COCO-WholeBody-Hand Metrics: diff --git a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/scnet_coco_wholebody_hand.yml b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/scnet_coco_wholebody_hand.yml index 60c115ad7c..fbea13ca3e 100644 --- a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/scnet_coco_wholebody_hand.yml +++ b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/scnet_coco_wholebody_hand.yml @@ -1,20 +1,17 @@ Collections: -- Metadata: - Architecture: - - SCNet - Name: hand--2d_kpt_sview_rgb_img--topdown_heatmap--coco_wholebody_hand--scnet_coco_wholebody_hand - [SCNet@COCO-WholeBody-Hand] +- Name: SCNet Paper: Title: Improving Convolutional Networks with Self-Calibrated Convolutions URL: http://openaccess.thecvf.com/content_CVPR_2020/html/Liu_Improving_Convolutional_Networks_With_Self-Calibrated_Convolutions_CVPR_2020_paper.html - README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/scnet_coco_wholebody_hand.md Models: - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/scnet50_coco_wholebody_hand_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--coco_wholebody_hand--scnet_coco_wholebody_hand - [SCNet@COCO-WholeBody-Hand] + In Collection: SCNet Metadata: + Architecture: + - SCNet Training Data: COCO-WholeBody-Hand Name: topdown_heatmap_scnet50_coco_wholebody_hand_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/coco_wholebody_hand/scnet_coco_wholebody_hand.md Results: - Dataset: COCO-WholeBody-Hand Metrics: diff --git a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/freihand2d/resnet_freihand2d.yml b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/freihand2d/resnet_freihand2d.yml index 74b58ac570..0f8d8751e7 100644 --- a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/freihand2d/resnet_freihand2d.yml +++ b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/freihand2d/resnet_freihand2d.yml @@ -1,21 +1,18 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline2D - - ResNet - Name: hand--2d_kpt_sview_rgb_img--topdown_heatmap--freihand2d--resnet_freihand2d - [SimpleBaseline2D+ResNet@FreiHand] +- Name: SimpleBaseline2D Paper: Title: Simple baselines for human pose estimation and tracking URL: http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html - README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/freihand2d/resnet_freihand2d.md Models: - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/freihand2d/res50_freihand_224x224.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--freihand2d--resnet_freihand2d - [SimpleBaseline2D+ResNet@FreiHand] + In Collection: SimpleBaseline2D Metadata: + Architecture: &id001 + - SimpleBaseline2D + - ResNet Training Data: FreiHand Name: topdown_heatmap_res50_freihand_224x224 + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/freihand2d/resnet_freihand2d.md Results: - Dataset: FreiHand Metrics: @@ -25,11 +22,12 @@ Models: Task: Hand 2D Keypoint Weights: https://download.openmmlab.com/mmpose/hand/resnet/res50_freihand_224x224-ff0799bc_20200914.pth - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/freihand2d/res50_freihand_224x224.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--freihand2d--resnet_freihand2d - [SimpleBaseline2D+ResNet@FreiHand] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: FreiHand Name: topdown_heatmap_res50_freihand_224x224 + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/freihand2d/resnet_freihand2d.md Results: - Dataset: FreiHand Metrics: diff --git a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/interhand2d/resnet_interhand2d.yml b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/interhand2d/resnet_interhand2d.yml index 2556bb5ccf..ed2e0635f1 100644 --- a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/interhand2d/resnet_interhand2d.yml +++ b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/interhand2d/resnet_interhand2d.yml @@ -1,21 +1,18 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline2D - - ResNet - Name: hand--2d_kpt_sview_rgb_img--topdown_heatmap--interhand2d--resnet_interhand2d - [SimpleBaseline2D+ResNet@InterHand2.6M] +- Name: SimpleBaseline2D Paper: Title: Simple baselines for human pose estimation and tracking URL: http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html - README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/interhand2d/resnet_interhand2d.md Models: - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/interhand2d/res50_interhand2d_human_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--interhand2d--resnet_interhand2d - [SimpleBaseline2D+ResNet@InterHand2.6M] + In Collection: SimpleBaseline2D Metadata: + Architecture: &id001 + - SimpleBaseline2D + - ResNet Training Data: InterHand2.6M Name: topdown_heatmap_res50_interhand2d_human_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/interhand2d/resnet_interhand2d.md Results: - Dataset: InterHand2.6M Metrics: @@ -25,11 +22,12 @@ Models: Task: Hand 2D Keypoint Weights: https://download.openmmlab.com/mmpose/hand/resnet/res50_interhand2d_256x256_human-77b27d1a_20201029.pth - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/interhand2d/res50_interhand2d_human_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--interhand2d--resnet_interhand2d - [SimpleBaseline2D+ResNet@InterHand2.6M] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: InterHand2.6M Name: topdown_heatmap_res50_interhand2d_human_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/interhand2d/resnet_interhand2d.md Results: - Dataset: InterHand2.6M Metrics: @@ -39,11 +37,12 @@ Models: Task: Hand 2D Keypoint Weights: https://download.openmmlab.com/mmpose/hand/resnet/res50_interhand2d_256x256_human-77b27d1a_20201029.pth - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/interhand2d/res50_interhand2d_human_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--interhand2d--resnet_interhand2d - [SimpleBaseline2D+ResNet@InterHand2.6M] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: InterHand2.6M Name: topdown_heatmap_res50_interhand2d_human_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/interhand2d/resnet_interhand2d.md Results: - Dataset: InterHand2.6M Metrics: @@ -53,11 +52,12 @@ Models: Task: Hand 2D Keypoint Weights: https://download.openmmlab.com/mmpose/hand/resnet/res50_interhand2d_256x256_human-77b27d1a_20201029.pth - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/interhand2d/res50_interhand2d_human_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--interhand2d--resnet_interhand2d - [SimpleBaseline2D+ResNet@InterHand2.6M] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: InterHand2.6M Name: topdown_heatmap_res50_interhand2d_human_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/interhand2d/resnet_interhand2d.md Results: - Dataset: InterHand2.6M Metrics: @@ -67,11 +67,12 @@ Models: Task: Hand 2D Keypoint Weights: https://download.openmmlab.com/mmpose/hand/resnet/res50_interhand2d_256x256_human-77b27d1a_20201029.pth - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/interhand2d/res50_interhand2d_machine_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--interhand2d--resnet_interhand2d - [SimpleBaseline2D+ResNet@InterHand2.6M] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: InterHand2.6M Name: topdown_heatmap_res50_interhand2d_machine_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/interhand2d/resnet_interhand2d.md Results: - Dataset: InterHand2.6M Metrics: @@ -81,11 +82,12 @@ Models: Task: Hand 2D Keypoint Weights: https://download.openmmlab.com/mmpose/hand/resnet/res50_interhand2d_256x256_machine-8f3efe9a_20201102.pth - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/interhand2d/res50_interhand2d_machine_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--interhand2d--resnet_interhand2d - [SimpleBaseline2D+ResNet@InterHand2.6M] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: InterHand2.6M Name: topdown_heatmap_res50_interhand2d_machine_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/interhand2d/resnet_interhand2d.md Results: - Dataset: InterHand2.6M Metrics: @@ -95,11 +97,12 @@ Models: Task: Hand 2D Keypoint Weights: https://download.openmmlab.com/mmpose/hand/resnet/res50_interhand2d_256x256_machine-8f3efe9a_20201102.pth - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/interhand2d/res50_interhand2d_machine_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--interhand2d--resnet_interhand2d - [SimpleBaseline2D+ResNet@InterHand2.6M] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: InterHand2.6M Name: topdown_heatmap_res50_interhand2d_machine_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/interhand2d/resnet_interhand2d.md Results: - Dataset: InterHand2.6M Metrics: @@ -109,11 +112,12 @@ Models: Task: Hand 2D Keypoint Weights: https://download.openmmlab.com/mmpose/hand/resnet/res50_interhand2d_256x256_machine-8f3efe9a_20201102.pth - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/interhand2d/res50_interhand2d_machine_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--interhand2d--resnet_interhand2d - [SimpleBaseline2D+ResNet@InterHand2.6M] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: InterHand2.6M Name: topdown_heatmap_res50_interhand2d_machine_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/interhand2d/resnet_interhand2d.md Results: - Dataset: InterHand2.6M Metrics: @@ -123,11 +127,12 @@ Models: Task: Hand 2D Keypoint Weights: https://download.openmmlab.com/mmpose/hand/resnet/res50_interhand2d_256x256_machine-8f3efe9a_20201102.pth - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/interhand2d/res50_interhand2d_all_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--interhand2d--resnet_interhand2d - [SimpleBaseline2D+ResNet@InterHand2.6M] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: InterHand2.6M Name: topdown_heatmap_res50_interhand2d_all_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/interhand2d/resnet_interhand2d.md Results: - Dataset: InterHand2.6M Metrics: @@ -137,11 +142,12 @@ Models: Task: Hand 2D Keypoint Weights: https://download.openmmlab.com/mmpose/hand/resnet/res50_interhand2d_256x256_all-78cc95d4_20201102.pth - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/interhand2d/res50_interhand2d_all_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--interhand2d--resnet_interhand2d - [SimpleBaseline2D+ResNet@InterHand2.6M] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: InterHand2.6M Name: topdown_heatmap_res50_interhand2d_all_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/interhand2d/resnet_interhand2d.md Results: - Dataset: InterHand2.6M Metrics: @@ -151,11 +157,12 @@ Models: Task: Hand 2D Keypoint Weights: https://download.openmmlab.com/mmpose/hand/resnet/res50_interhand2d_256x256_all-78cc95d4_20201102.pth - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/interhand2d/res50_interhand2d_all_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--interhand2d--resnet_interhand2d - [SimpleBaseline2D+ResNet@InterHand2.6M] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: InterHand2.6M Name: topdown_heatmap_res50_interhand2d_all_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/interhand2d/resnet_interhand2d.md Results: - Dataset: InterHand2.6M Metrics: @@ -165,11 +172,12 @@ Models: Task: Hand 2D Keypoint Weights: https://download.openmmlab.com/mmpose/hand/resnet/res50_interhand2d_256x256_all-78cc95d4_20201102.pth - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/interhand2d/res50_interhand2d_all_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--interhand2d--resnet_interhand2d - [SimpleBaseline2D+ResNet@InterHand2.6M] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: InterHand2.6M Name: topdown_heatmap_res50_interhand2d_all_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/interhand2d/resnet_interhand2d.md Results: - Dataset: InterHand2.6M Metrics: diff --git a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/hrnetv2_dark_onehand10k.yml b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/hrnetv2_dark_onehand10k.yml index ac87aa68d6..47b1b663b4 100644 --- a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/hrnetv2_dark_onehand10k.yml +++ b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/hrnetv2_dark_onehand10k.yml @@ -1,21 +1,18 @@ Collections: -- Metadata: - Architecture: - - HRNetv2 - - DarkPose - Name: hand--2d_kpt_sview_rgb_img--topdown_heatmap--onehand10k--hrnetv2_dark_onehand10k - [HRNetv2+DarkPose@OneHand10K] +- Name: DarkPose Paper: Title: Distribution-aware coordinate representation for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2020/html/Zhang_Distribution-Aware_Coordinate_Representation_for_Human_Pose_Estimation_CVPR_2020_paper.html - README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/hrnetv2_dark_onehand10k.md Models: - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/hrnetv2_w18_onehand10k_256x256_dark.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--onehand10k--hrnetv2_dark_onehand10k - [HRNetv2+DarkPose@OneHand10K] + In Collection: DarkPose Metadata: + Architecture: + - HRNetv2 + - DarkPose Training Data: OneHand10K Name: topdown_heatmap_hrnetv2_w18_onehand10k_256x256_dark + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/hrnetv2_dark_onehand10k.md Results: - Dataset: OneHand10K Metrics: diff --git a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/hrnetv2_onehand10k.yml b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/hrnetv2_onehand10k.yml index 0d16aeedd6..079d814750 100644 --- a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/hrnetv2_onehand10k.yml +++ b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/hrnetv2_onehand10k.yml @@ -1,20 +1,17 @@ Collections: -- Metadata: - Architecture: - - HRNetv2 - Name: hand--2d_kpt_sview_rgb_img--topdown_heatmap--onehand10k--hrnetv2_onehand10k - [HRNetv2@OneHand10K] +- Name: HRNetv2 Paper: Title: Deep High-Resolution Representation Learning for Visual Recognition URL: https://ieeexplore.ieee.org/abstract/document/9052469/ - README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/hrnetv2_onehand10k.md Models: - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/hrnetv2_w18_onehand10k_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--onehand10k--hrnetv2_onehand10k - [HRNetv2@OneHand10K] + In Collection: HRNetv2 Metadata: + Architecture: + - HRNetv2 Training Data: OneHand10K Name: topdown_heatmap_hrnetv2_w18_onehand10k_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/hrnetv2_onehand10k.md Results: - Dataset: OneHand10K Metrics: diff --git a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/hrnetv2_udp_onehand10k.yml b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/hrnetv2_udp_onehand10k.yml index 9aee84e084..adf4bfde9d 100644 --- a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/hrnetv2_udp_onehand10k.yml +++ b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/hrnetv2_udp_onehand10k.yml @@ -1,22 +1,19 @@ Collections: -- Metadata: - Architecture: - - HRNetv2 - - UDP - Name: hand--2d_kpt_sview_rgb_img--topdown_heatmap--onehand10k--hrnetv2_udp_onehand10k - [HRNetv2+UDP@OneHand10K] +- Name: UDP Paper: Title: 'The Devil Is in the Details: Delving Into Unbiased Data Processing for Human Pose Estimation' URL: http://openaccess.thecvf.com/content_CVPR_2020/html/Huang_The_Devil_Is_in_the_Details_Delving_Into_Unbiased_Data_CVPR_2020_paper.html - README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/hrnetv2_udp_onehand10k.md Models: - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/hrnetv2_w18_onehand10k_256x256_udp.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--onehand10k--hrnetv2_udp_onehand10k - [HRNetv2+UDP@OneHand10K] + In Collection: UDP Metadata: + Architecture: + - HRNetv2 + - UDP Training Data: OneHand10K Name: topdown_heatmap_hrnetv2_w18_onehand10k_256x256_udp + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/hrnetv2_udp_onehand10k.md Results: - Dataset: OneHand10K Metrics: diff --git a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/mobilenetv2_onehand10k.yml b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/mobilenetv2_onehand10k.yml index 49b01bec63..d8915ebb33 100644 --- a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/mobilenetv2_onehand10k.yml +++ b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/mobilenetv2_onehand10k.yml @@ -1,20 +1,17 @@ Collections: -- Metadata: - Architecture: - - MobilenetV2 - Name: hand--2d_kpt_sview_rgb_img--topdown_heatmap--onehand10k--mobilenetv2_onehand10k - [MobilenetV2@OneHand10K] +- Name: MobilenetV2 Paper: Title: 'Mobilenetv2: Inverted residuals and linear bottlenecks' URL: http://openaccess.thecvf.com/content_cvpr_2018/html/Sandler_MobileNetV2_Inverted_Residuals_CVPR_2018_paper.html - README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/mobilenetv2_onehand10k.md Models: - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/mobilenetv2_onehand10k_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--onehand10k--mobilenetv2_onehand10k - [MobilenetV2@OneHand10K] + In Collection: MobilenetV2 Metadata: + Architecture: + - MobilenetV2 Training Data: OneHand10K Name: topdown_heatmap_mobilenetv2_onehand10k_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/mobilenetv2_onehand10k.md Results: - Dataset: OneHand10K Metrics: diff --git a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/resnet_onehand10k.yml b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/resnet_onehand10k.yml index 8b007ddced..d05edccb4d 100644 --- a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/resnet_onehand10k.yml +++ b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/resnet_onehand10k.yml @@ -1,21 +1,18 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline2D - - ResNet - Name: hand--2d_kpt_sview_rgb_img--topdown_heatmap--onehand10k--resnet_onehand10k - [SimpleBaseline2D+ResNet@OneHand10K] +- Name: SimpleBaseline2D Paper: Title: Simple baselines for human pose estimation and tracking URL: http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html - README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/resnet_onehand10k.md Models: - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/res50_onehand10k_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--onehand10k--resnet_onehand10k - [SimpleBaseline2D+ResNet@OneHand10K] + In Collection: SimpleBaseline2D Metadata: + Architecture: + - SimpleBaseline2D + - ResNet Training Data: OneHand10K Name: topdown_heatmap_res50_onehand10k_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/onehand10k/resnet_onehand10k.md Results: - Dataset: OneHand10K Metrics: diff --git a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/hrnetv2_dark_panoptic2d.yml b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/hrnetv2_dark_panoptic2d.yml index ea0f7351c2..24d287c1ac 100644 --- a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/hrnetv2_dark_panoptic2d.yml +++ b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/hrnetv2_dark_panoptic2d.yml @@ -1,21 +1,18 @@ Collections: -- Metadata: - Architecture: - - HRNetv2 - - DarkPose - Name: hand--2d_kpt_sview_rgb_img--topdown_heatmap--panoptic2d--hrnetv2_dark_panoptic2d - [HRNetv2+DarkPose@CMU Panoptic HandDB] +- Name: DarkPose Paper: Title: Distribution-aware coordinate representation for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2020/html/Zhang_Distribution-Aware_Coordinate_Representation_for_Human_Pose_Estimation_CVPR_2020_paper.html - README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/hrnetv2_dark_panoptic2d.md Models: - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/hrnetv2_w18_panoptic_256x256_dark.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--panoptic2d--hrnetv2_dark_panoptic2d - [HRNetv2+DarkPose@CMU Panoptic HandDB] + In Collection: DarkPose Metadata: + Architecture: + - HRNetv2 + - DarkPose Training Data: CMU Panoptic HandDB Name: topdown_heatmap_hrnetv2_w18_panoptic_256x256_dark + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/hrnetv2_dark_panoptic2d.md Results: - Dataset: CMU Panoptic HandDB Metrics: diff --git a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/hrnetv2_panoptic2d.yml b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/hrnetv2_panoptic2d.yml index 17d586dada..946c2a73cb 100644 --- a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/hrnetv2_panoptic2d.yml +++ b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/hrnetv2_panoptic2d.yml @@ -1,20 +1,17 @@ Collections: -- Metadata: - Architecture: - - HRNetv2 - Name: hand--2d_kpt_sview_rgb_img--topdown_heatmap--panoptic2d--hrnetv2_panoptic2d - [HRNetv2@CMU Panoptic HandDB] +- Name: HRNetv2 Paper: Title: Deep High-Resolution Representation Learning for Visual Recognition URL: https://ieeexplore.ieee.org/abstract/document/9052469/ - README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/hrnetv2_panoptic2d.md Models: - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/hrnetv2_w18_panoptic_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--panoptic2d--hrnetv2_panoptic2d - [HRNetv2@CMU Panoptic HandDB] + In Collection: HRNetv2 Metadata: + Architecture: + - HRNetv2 Training Data: CMU Panoptic HandDB Name: topdown_heatmap_hrnetv2_w18_panoptic_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/hrnetv2_panoptic2d.md Results: - Dataset: CMU Panoptic HandDB Metrics: diff --git a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/hrnetv2_udp_panoptic2d.yml b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/hrnetv2_udp_panoptic2d.yml index eb10618878..74ce902e40 100644 --- a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/hrnetv2_udp_panoptic2d.yml +++ b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/hrnetv2_udp_panoptic2d.yml @@ -1,22 +1,19 @@ Collections: -- Metadata: - Architecture: - - HRNetv2 - - UDP - Name: hand--2d_kpt_sview_rgb_img--topdown_heatmap--panoptic2d--hrnetv2_udp_panoptic2d - [HRNetv2+UDP@CMU Panoptic HandDB] +- Name: UDP Paper: Title: 'The Devil Is in the Details: Delving Into Unbiased Data Processing for Human Pose Estimation' URL: http://openaccess.thecvf.com/content_CVPR_2020/html/Huang_The_Devil_Is_in_the_Details_Delving_Into_Unbiased_Data_CVPR_2020_paper.html - README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/hrnetv2_udp_panoptic2d.md Models: - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/hrnetv2_w18_panoptic_256x256_udp.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--panoptic2d--hrnetv2_udp_panoptic2d - [HRNetv2+UDP@CMU Panoptic HandDB] + In Collection: UDP Metadata: + Architecture: + - HRNetv2 + - UDP Training Data: CMU Panoptic HandDB Name: topdown_heatmap_hrnetv2_w18_panoptic_256x256_udp + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/hrnetv2_udp_panoptic2d.md Results: - Dataset: CMU Panoptic HandDB Metrics: diff --git a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/mobilenetv2_panoptic2d.yml b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/mobilenetv2_panoptic2d.yml index 3622659a75..36d948fda5 100644 --- a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/mobilenetv2_panoptic2d.yml +++ b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/mobilenetv2_panoptic2d.yml @@ -1,20 +1,17 @@ Collections: -- Metadata: - Architecture: - - MobilenetV2 - Name: hand--2d_kpt_sview_rgb_img--topdown_heatmap--panoptic2d--mobilenetv2_panoptic2d - [MobilenetV2@CMU Panoptic HandDB] +- Name: MobilenetV2 Paper: Title: 'Mobilenetv2: Inverted residuals and linear bottlenecks' URL: http://openaccess.thecvf.com/content_cvpr_2018/html/Sandler_MobileNetV2_Inverted_Residuals_CVPR_2018_paper.html - README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/mobilenetv2_panoptic2d.md Models: - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/mobilenetv2_panoptic_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--panoptic2d--mobilenetv2_panoptic2d - [MobilenetV2@CMU Panoptic HandDB] + In Collection: MobilenetV2 Metadata: + Architecture: + - MobilenetV2 Training Data: CMU Panoptic HandDB Name: topdown_heatmap_mobilenetv2_panoptic_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/mobilenetv2_panoptic2d.md Results: - Dataset: CMU Panoptic HandDB Metrics: diff --git a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/resnet_panoptic2d.yml b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/resnet_panoptic2d.yml index d0b3df0a54..1f1e0b5a60 100644 --- a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/resnet_panoptic2d.yml +++ b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/resnet_panoptic2d.yml @@ -1,21 +1,18 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline2D - - ResNet - Name: hand--2d_kpt_sview_rgb_img--topdown_heatmap--panoptic2d--resnet_panoptic2d - [SimpleBaseline2D+ResNet@CMU Panoptic HandDB] +- Name: SimpleBaseline2D Paper: Title: Simple baselines for human pose estimation and tracking URL: http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html - README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/resnet_panoptic2d.md Models: - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/res50_panoptic_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--panoptic2d--resnet_panoptic2d - [SimpleBaseline2D+ResNet@CMU Panoptic HandDB] + In Collection: SimpleBaseline2D Metadata: + Architecture: + - SimpleBaseline2D + - ResNet Training Data: CMU Panoptic HandDB Name: topdown_heatmap_res50_panoptic_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/panoptic2d/resnet_panoptic2d.md Results: - Dataset: CMU Panoptic HandDB Metrics: diff --git a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/hrnetv2_dark_rhd2d.yml b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/hrnetv2_dark_rhd2d.yml index 396df4b7c4..c235222f4e 100644 --- a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/hrnetv2_dark_rhd2d.yml +++ b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/hrnetv2_dark_rhd2d.yml @@ -1,20 +1,18 @@ Collections: -- Metadata: - Architecture: - - HRNetv2 - - DarkPose - Name: hand--2d_kpt_sview_rgb_img--topdown_heatmap--rhd2d--hrnetv2_dark_rhd2d [HRNetv2+DarkPose@RHD] +- Name: DarkPose Paper: Title: Distribution-aware coordinate representation for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2020/html/Zhang_Distribution-Aware_Coordinate_Representation_for_Human_Pose_Estimation_CVPR_2020_paper.html - README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/hrnetv2_dark_rhd2d.md Models: - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/hrnetv2_w18_rhd2d_256x256_dark.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--rhd2d--hrnetv2_dark_rhd2d - [HRNetv2+DarkPose@RHD] + In Collection: DarkPose Metadata: + Architecture: + - HRNetv2 + - DarkPose Training Data: RHD Name: topdown_heatmap_hrnetv2_w18_rhd2d_256x256_dark + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/hrnetv2_dark_rhd2d.md Results: - Dataset: RHD Metrics: diff --git a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/hrnetv2_rhd2d.yml b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/hrnetv2_rhd2d.yml index e08fc69df6..cd706707c4 100644 --- a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/hrnetv2_rhd2d.yml +++ b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/hrnetv2_rhd2d.yml @@ -1,19 +1,17 @@ Collections: -- Metadata: - Architecture: - - HRNetv2 - Name: hand--2d_kpt_sview_rgb_img--topdown_heatmap--rhd2d--hrnetv2_rhd2d [HRNetv2@RHD] +- Name: HRNetv2 Paper: Title: Deep High-Resolution Representation Learning for Visual Recognition URL: https://ieeexplore.ieee.org/abstract/document/9052469/ - README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/hrnetv2_rhd2d.md Models: - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/hrnetv2_w18_rhd2d_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--rhd2d--hrnetv2_rhd2d - [HRNetv2@RHD] + In Collection: HRNetv2 Metadata: + Architecture: + - HRNetv2 Training Data: RHD Name: topdown_heatmap_hrnetv2_w18_rhd2d_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/hrnetv2_rhd2d.md Results: - Dataset: RHD Metrics: diff --git a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/hrnetv2_udp_rhd2d.yml b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/hrnetv2_udp_rhd2d.yml index 695e9262d0..e728d0cff8 100644 --- a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/hrnetv2_udp_rhd2d.yml +++ b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/hrnetv2_udp_rhd2d.yml @@ -1,21 +1,19 @@ Collections: -- Metadata: - Architecture: - - HRNetv2 - - UDP - Name: hand--2d_kpt_sview_rgb_img--topdown_heatmap--rhd2d--hrnetv2_udp_rhd2d [HRNetv2+UDP@RHD] +- Name: UDP Paper: Title: 'The Devil Is in the Details: Delving Into Unbiased Data Processing for Human Pose Estimation' URL: http://openaccess.thecvf.com/content_CVPR_2020/html/Huang_The_Devil_Is_in_the_Details_Delving_Into_Unbiased_Data_CVPR_2020_paper.html - README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/hrnetv2_udp_rhd2d.md Models: - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/hrnetv2_w18_rhd2d_256x256_udp.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--rhd2d--hrnetv2_udp_rhd2d - [HRNetv2+UDP@RHD] + In Collection: UDP Metadata: + Architecture: + - HRNetv2 + - UDP Training Data: RHD Name: topdown_heatmap_hrnetv2_w18_rhd2d_256x256_udp + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/hrnetv2_udp_rhd2d.md Results: - Dataset: RHD Metrics: diff --git a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/mobilenetv2_rhd2d.yml b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/mobilenetv2_rhd2d.yml index 2de8186574..c68ede18a5 100644 --- a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/mobilenetv2_rhd2d.yml +++ b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/mobilenetv2_rhd2d.yml @@ -1,19 +1,17 @@ Collections: -- Metadata: - Architecture: - - MobilenetV2 - Name: hand--2d_kpt_sview_rgb_img--topdown_heatmap--rhd2d--mobilenetv2_rhd2d [MobilenetV2@RHD] +- Name: MobilenetV2 Paper: Title: 'Mobilenetv2: Inverted residuals and linear bottlenecks' URL: http://openaccess.thecvf.com/content_cvpr_2018/html/Sandler_MobileNetV2_Inverted_Residuals_CVPR_2018_paper.html - README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/mobilenetv2_rhd2d.md Models: - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/mobilenetv2_rhd2d_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--rhd2d--mobilenetv2_rhd2d - [MobilenetV2@RHD] + In Collection: MobilenetV2 Metadata: + Architecture: + - MobilenetV2 Training Data: RHD Name: topdown_heatmap_mobilenetv2_rhd2d_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/mobilenetv2_rhd2d.md Results: - Dataset: RHD Metrics: diff --git a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/resnet_rhd2d.yml b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/resnet_rhd2d.yml index b17688b743..ffbc397cf5 100644 --- a/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/resnet_rhd2d.yml +++ b/configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/resnet_rhd2d.yml @@ -1,20 +1,18 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline2D - - ResNet - Name: hand--2d_kpt_sview_rgb_img--topdown_heatmap--rhd2d--resnet_rhd2d [SimpleBaseline2D+ResNet@RHD] +- Name: SimpleBaseline2D Paper: Title: Simple baselines for human pose estimation and tracking URL: http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html - README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/resnet_rhd2d.md Models: - Config: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/res50_rhd2d_256x256.py - In Collection: hand--2d_kpt_sview_rgb_img--topdown_heatmap--rhd2d--resnet_rhd2d - [SimpleBaseline2D+ResNet@RHD] + In Collection: SimpleBaseline2D Metadata: + Architecture: + - SimpleBaseline2D + - ResNet Training Data: RHD Name: topdown_heatmap_res50_rhd2d_256x256 + README: configs/hand/2d_kpt_sview_rgb_img/topdown_heatmap/rhd2d/resnet_rhd2d.md Results: - Dataset: RHD Metrics: diff --git a/configs/hand/3d_kpt_sview_rgb_img/internet/interhand3d/internet_interhand3d.yml b/configs/hand/3d_kpt_sview_rgb_img/internet/interhand3d/internet_interhand3d.yml index 89ad25801d..44a118c697 100644 --- a/configs/hand/3d_kpt_sview_rgb_img/internet/interhand3d/internet_interhand3d.yml +++ b/configs/hand/3d_kpt_sview_rgb_img/internet/interhand3d/internet_interhand3d.yml @@ -1,21 +1,19 @@ Collections: -- Metadata: - Architecture: - - InterNet - - ResNet - Name: hand--3d_kpt_sview_rgb_img--internet--interhand3d--internet_interhand3d [InterNet+ResNet@InterHand2.6M] +- Name: InterNet Paper: Title: 'InterHand2.6M: A Dataset and Baseline for 3D Interacting Hand Pose Estimation from a Single RGB Image' URL: https://link.springer.com/content/pdf/10.1007/978-3-030-58565-5_33.pdf - README: configs/hand/3d_kpt_sview_rgb_img/internet/interhand3d/internet_interhand3d.md Models: - Config: configs/hand/3d_kpt_sview_rgb_img/internet/interhand3d/res50_interhand3d_all_256x256.py - In Collection: hand--3d_kpt_sview_rgb_img--internet--interhand3d--internet_interhand3d - [InterNet+ResNet@InterHand2.6M] + In Collection: InterNet Metadata: + Architecture: &id001 + - InterNet + - ResNet Training Data: InterHand2.6M Name: internet_res50_interhand3d_all_256x256 + README: configs/hand/3d_kpt_sview_rgb_img/internet/interhand3d/internet_interhand3d.md Results: - Dataset: InterHand2.6M Metrics: @@ -26,11 +24,12 @@ Models: Task: Hand 3D Keypoint Weights: https://download.openmmlab.com/mmpose/hand3d/internet/res50_intehand3dv1.0_all_256x256-42b7f2ac_20210702.pth - Config: configs/hand/3d_kpt_sview_rgb_img/internet/interhand3d/res50_interhand3d_all_256x256.py - In Collection: hand--3d_kpt_sview_rgb_img--internet--interhand3d--internet_interhand3d - [InterNet+ResNet@InterHand2.6M] + In Collection: InterNet Metadata: + Architecture: *id001 Training Data: InterHand2.6M Name: internet_res50_interhand3d_all_256x256 + README: configs/hand/3d_kpt_sview_rgb_img/internet/interhand3d/internet_interhand3d.md Results: - Dataset: InterHand2.6M Metrics: diff --git a/configs/wholebody/2d_kpt_sview_rgb_img/associative_embedding/coco-wholebody/higherhrnet_coco-wholebody.yml b/configs/wholebody/2d_kpt_sview_rgb_img/associative_embedding/coco-wholebody/higherhrnet_coco-wholebody.yml index f01e50f017..4fd6712341 100644 --- a/configs/wholebody/2d_kpt_sview_rgb_img/associative_embedding/coco-wholebody/higherhrnet_coco-wholebody.yml +++ b/configs/wholebody/2d_kpt_sview_rgb_img/associative_embedding/coco-wholebody/higherhrnet_coco-wholebody.yml @@ -1,22 +1,19 @@ Collections: -- Metadata: - Architecture: - - Associative Embedding - - HigherHRNet - Name: wholebody--2d_kpt_sview_rgb_img--associative_embedding--coco-wholebody--higherhrnet_coco-wholebody - [Associative Embedding+HigherHRNet@COCO-WholeBody] +- Name: HigherHRNet Paper: Title: 'HigherHRNet: Scale-Aware Representation Learning for Bottom-Up Human Pose Estimation' URL: http://openaccess.thecvf.com/content_CVPR_2020/html/Cheng_HigherHRNet_Scale-Aware_Representation_Learning_for_Bottom-Up_Human_Pose_Estimation_CVPR_2020_paper.html - README: configs/wholebody/2d_kpt_sview_rgb_img/associative_embedding/coco-wholebody/higherhrnet_coco-wholebody.md Models: - Config: configs/wholebody/2d_kpt_sview_rgb_img/associative_embedding/coco-wholebody/higherhrnet_w32_coco_wholebody_512x512.py - In Collection: wholebody--2d_kpt_sview_rgb_img--associative_embedding--coco-wholebody--higherhrnet_coco-wholebody - [Associative Embedding+HigherHRNet@COCO-WholeBody] + In Collection: HigherHRNet Metadata: + Architecture: &id001 + - Associative Embedding + - HigherHRNet Training Data: COCO-WholeBody Name: associative_embedding_higherhrnet_w32_coco_wholebody_512x512 + README: configs/wholebody/2d_kpt_sview_rgb_img/associative_embedding/coco-wholebody/higherhrnet_coco-wholebody.md Results: - Dataset: COCO-WholeBody Metrics: @@ -33,11 +30,12 @@ Models: Task: Wholebody 2D Keypoint Weights: https://download.openmmlab.com/mmpose/bottom_up/higher_hrnet32_coco_wholebody_512x512_plus-2fa137ab_20210517.pth - Config: configs/wholebody/2d_kpt_sview_rgb_img/associative_embedding/coco-wholebody/higherhrnet_w48_coco_wholebody_512x512.py - In Collection: wholebody--2d_kpt_sview_rgb_img--associative_embedding--coco-wholebody--higherhrnet_coco-wholebody - [Associative Embedding+HigherHRNet@COCO-WholeBody] + In Collection: HigherHRNet Metadata: + Architecture: *id001 Training Data: COCO-WholeBody Name: associative_embedding_higherhrnet_w48_coco_wholebody_512x512 + README: configs/wholebody/2d_kpt_sview_rgb_img/associative_embedding/coco-wholebody/higherhrnet_coco-wholebody.md Results: - Dataset: COCO-WholeBody Metrics: diff --git a/configs/wholebody/2d_kpt_sview_rgb_img/associative_embedding/coco-wholebody/hrnet_coco-wholebody.yml b/configs/wholebody/2d_kpt_sview_rgb_img/associative_embedding/coco-wholebody/hrnet_coco-wholebody.yml index 3ee2d6093a..c0344b1074 100644 --- a/configs/wholebody/2d_kpt_sview_rgb_img/associative_embedding/coco-wholebody/hrnet_coco-wholebody.yml +++ b/configs/wholebody/2d_kpt_sview_rgb_img/associative_embedding/coco-wholebody/hrnet_coco-wholebody.yml @@ -1,21 +1,18 @@ Collections: -- Metadata: - Architecture: - - Associative Embedding - - HRNet - Name: wholebody--2d_kpt_sview_rgb_img--associative_embedding--coco-wholebody--hrnet_coco-wholebody - [Associative Embedding+HRNet@COCO-WholeBody] +- Name: HRNet Paper: Title: Deep high-resolution representation learning for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2019/html/Sun_Deep_High-Resolution_Representation_Learning_for_Human_Pose_Estimation_CVPR_2019_paper.html - README: configs/wholebody/2d_kpt_sview_rgb_img/associative_embedding/coco-wholebody/hrnet_coco-wholebody.md Models: - Config: configs/wholebody/2d_kpt_sview_rgb_img/associative_embedding/coco-wholebody/hrnet_w32_coco_wholebody_512x512.py - In Collection: wholebody--2d_kpt_sview_rgb_img--associative_embedding--coco-wholebody--hrnet_coco-wholebody - [Associative Embedding+HRNet@COCO-WholeBody] + In Collection: HRNet Metadata: + Architecture: &id001 + - Associative Embedding + - HRNet Training Data: COCO-WholeBody Name: associative_embedding_hrnet_w32_coco_wholebody_512x512 + README: configs/wholebody/2d_kpt_sview_rgb_img/associative_embedding/coco-wholebody/hrnet_coco-wholebody.md Results: - Dataset: COCO-WholeBody Metrics: @@ -32,11 +29,12 @@ Models: Task: Wholebody 2D Keypoint Weights: https://download.openmmlab.com/mmpose/bottom_up/hrnet_w32_coco_wholebody_512x512_plus-f1f1185c_20210517.pth - Config: configs/wholebody/2d_kpt_sview_rgb_img/associative_embedding/coco-wholebody/hrnet_w48_coco_wholebody_512x512.py - In Collection: wholebody--2d_kpt_sview_rgb_img--associative_embedding--coco-wholebody--hrnet_coco-wholebody - [Associative Embedding+HRNet@COCO-WholeBody] + In Collection: HRNet Metadata: + Architecture: *id001 Training Data: COCO-WholeBody Name: associative_embedding_hrnet_w48_coco_wholebody_512x512 + README: configs/wholebody/2d_kpt_sview_rgb_img/associative_embedding/coco-wholebody/hrnet_coco-wholebody.md Results: - Dataset: COCO-WholeBody Metrics: diff --git a/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/hrnet_coco-wholebody.yml b/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/hrnet_coco-wholebody.yml index e30362264f..10ab02916c 100644 --- a/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/hrnet_coco-wholebody.yml +++ b/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/hrnet_coco-wholebody.yml @@ -1,20 +1,17 @@ Collections: -- Metadata: - Architecture: - - HRNet - Name: wholebody--2d_kpt_sview_rgb_img--topdown_heatmap--coco-wholebody--hrnet_coco-wholebody - [HRNet@COCO-WholeBody] +- Name: HRNet Paper: Title: Deep high-resolution representation learning for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2019/html/Sun_Deep_High-Resolution_Representation_Learning_for_Human_Pose_Estimation_CVPR_2019_paper.html - README: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/hrnet_coco-wholebody.md Models: - Config: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/hrnet_w32_coco_wholebody_256x192.py - In Collection: wholebody--2d_kpt_sview_rgb_img--topdown_heatmap--coco-wholebody--hrnet_coco-wholebody - [HRNet@COCO-WholeBody] + In Collection: HRNet Metadata: + Architecture: &id001 + - HRNet Training Data: COCO-WholeBody Name: topdown_heatmap_hrnet_w32_coco_wholebody_256x192 + README: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/hrnet_coco-wholebody.md Results: - Dataset: COCO-WholeBody Metrics: @@ -31,11 +28,12 @@ Models: Task: Wholebody 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w32_coco_wholebody_256x192-853765cd_20200918.pth - Config: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/hrnet_w32_coco_wholebody_384x288.py - In Collection: wholebody--2d_kpt_sview_rgb_img--topdown_heatmap--coco-wholebody--hrnet_coco-wholebody - [HRNet@COCO-WholeBody] + In Collection: HRNet Metadata: + Architecture: *id001 Training Data: COCO-WholeBody Name: topdown_heatmap_hrnet_w32_coco_wholebody_384x288 + README: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/hrnet_coco-wholebody.md Results: - Dataset: COCO-WholeBody Metrics: @@ -52,11 +50,12 @@ Models: Task: Wholebody 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w32_coco_wholebody_384x288-78cacac3_20200922.pth - Config: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/hrnet_w48_coco_wholebody_256x192.py - In Collection: wholebody--2d_kpt_sview_rgb_img--topdown_heatmap--coco-wholebody--hrnet_coco-wholebody - [HRNet@COCO-WholeBody] + In Collection: HRNet Metadata: + Architecture: *id001 Training Data: COCO-WholeBody Name: topdown_heatmap_hrnet_w48_coco_wholebody_256x192 + README: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/hrnet_coco-wholebody.md Results: - Dataset: COCO-WholeBody Metrics: @@ -73,11 +72,12 @@ Models: Task: Wholebody 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w48_coco_wholebody_256x192-643e18cb_20200922.pth - Config: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/hrnet_w48_coco_wholebody_384x288.py - In Collection: wholebody--2d_kpt_sview_rgb_img--topdown_heatmap--coco-wholebody--hrnet_coco-wholebody - [HRNet@COCO-WholeBody] + In Collection: HRNet Metadata: + Architecture: *id001 Training Data: COCO-WholeBody Name: topdown_heatmap_hrnet_w48_coco_wholebody_384x288 + README: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/hrnet_coco-wholebody.md Results: - Dataset: COCO-WholeBody Metrics: diff --git a/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/hrnet_dark_coco-wholebody.yml b/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/hrnet_dark_coco-wholebody.yml index 703c9f8669..543c51fcc9 100644 --- a/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/hrnet_dark_coco-wholebody.yml +++ b/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/hrnet_dark_coco-wholebody.yml @@ -1,21 +1,18 @@ Collections: -- Metadata: - Architecture: - - HRNet - - DarkPose - Name: wholebody--2d_kpt_sview_rgb_img--topdown_heatmap--coco-wholebody--hrnet_dark_coco-wholebody - [HRNet+DarkPose@COCO-WholeBody] +- Name: DarkPose Paper: Title: Distribution-aware coordinate representation for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2020/html/Zhang_Distribution-Aware_Coordinate_Representation_for_Human_Pose_Estimation_CVPR_2020_paper.html - README: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/hrnet_dark_coco-wholebody.md Models: - Config: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/hrnet_w32_coco_wholebody_256x192_dark.py - In Collection: wholebody--2d_kpt_sview_rgb_img--topdown_heatmap--coco-wholebody--hrnet_dark_coco-wholebody - [HRNet+DarkPose@COCO-WholeBody] + In Collection: DarkPose Metadata: + Architecture: &id001 + - HRNet + - DarkPose Training Data: COCO-WholeBody Name: topdown_heatmap_hrnet_w32_coco_wholebody_256x192_dark + README: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/hrnet_dark_coco-wholebody.md Results: - Dataset: COCO-WholeBody Metrics: @@ -32,11 +29,12 @@ Models: Task: Wholebody 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/hrnet/hrnet_w32_coco_wholebody_256x192_dark-469327ef_20200922.pth - Config: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/hrnet_w48_coco_wholebody_384x288_dark_plus.py - In Collection: wholebody--2d_kpt_sview_rgb_img--topdown_heatmap--coco-wholebody--hrnet_dark_coco-wholebody - [HRNet+DarkPose@COCO-WholeBody] + In Collection: DarkPose Metadata: + Architecture: *id001 Training Data: COCO-WholeBody Name: topdown_heatmap_hrnet_w48_coco_wholebody_384x288_dark_plus + README: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/hrnet_dark_coco-wholebody.md Results: - Dataset: COCO-WholeBody Metrics: diff --git a/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/resnet_coco-wholebody.md b/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/resnet_coco-wholebody.md index f7dabcc76b..143c33f2e1 100644 --- a/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/resnet_coco-wholebody.md +++ b/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/resnet_coco-wholebody.md @@ -35,7 +35,7 @@ Results on COCO-WholeBody v1.0 val with detector having human AP of 56.4 on COCO | Arch | Input Size | Body AP | Body AR | Foot AP | Foot AR | Face AP | Face AR | Hand AP | Hand AR | Whole AP | Whole AR | ckpt | log | | :---- | :--------: | :-----: | :-----: | :-----: | :-----: | :-----: | :------: | :-----: | :-----: | :------: |:-------: |:------: | :------: | -| [pose_resnet_50](/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/res50_coco_wholebody_256x192.py) | 256x192 | 0.652 | 0.739 | 0.614 | 0.746 | 0.608 | 0.716 | 0.460 | 0.584 | 0.457 | 0.578 | [ckpt](https://download.openmmlab.com/mmpose/top_down/resnet/res50_coco_wholebody_256x192-9e37ed88_20201004.pth) | [log](https://download.openmmlab.com/mmpose/top_down/resnet/res50_coco_wholebody_256x192_20201004.log.json) | +| [pose_resnet_50](/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/res50_coco_wholebody_256x192.py) | 256x192 | 0.652 | 0.739 | 0.614 | 0.746 | 0.608 | 0.716 | 0.460 | 0.584 | 0.520 | 0.633 | [ckpt](https://download.openmmlab.com/mmpose/top_down/resnet/res50_coco_wholebody_256x192-9e37ed88_20201004.pth) | [log](https://download.openmmlab.com/mmpose/top_down/resnet/res50_coco_wholebody_256x192_20201004.log.json) | | [pose_resnet_50](/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/res50_coco_wholebody_384x288.py) | 384x288 | 0.666 | 0.747 | 0.635 | 0.763 | 0.732 | 0.812 | 0.537 | 0.647 | 0.573 | 0.671 | [ckpt](https://download.openmmlab.com/mmpose/top_down/resnet/res50_coco_wholebody_384x288-ce11e294_20201004.pth) | [log](https://download.openmmlab.com/mmpose/top_down/resnet/res50_coco_wholebody_384x288_20201004.log.json) | | [pose_resnet_101](/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/res101_coco_wholebody_256x192.py) | 256x192 | 0.670 | 0.754 | 0.640 | 0.767 | 0.611 | 0.723 | 0.463 | 0.589 | 0.533 | 0.647 | [ckpt](https://download.openmmlab.com/mmpose/top_down/resnet/res101_coco_wholebody_256x192-7325f982_20201004.pth) | [log](https://download.openmmlab.com/mmpose/top_down/resnet/res101_coco_wholebody_256x192_20201004.log.json) | | [pose_resnet_101](/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/res101_coco_wholebody_384x288.py) | 384x288 | 0.692 | 0.770 | 0.680 | 0.798 | 0.747 | 0.822 | 0.549 | 0.658 | 0.597 | 0.692 | [ckpt](https://download.openmmlab.com/mmpose/top_down/resnet/res101_coco_wholebody_384x288-6c137b9a_20201004.pth) | [log](https://download.openmmlab.com/mmpose/top_down/resnet/res101_coco_wholebody_384x288_20201004.log.json) | diff --git a/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/resnet_coco-wholebody.yml b/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/resnet_coco-wholebody.yml index 4549d6f08e..f5fbce5158 100644 --- a/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/resnet_coco-wholebody.yml +++ b/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/resnet_coco-wholebody.yml @@ -1,20 +1,17 @@ Collections: -- Metadata: - Architecture: - - SimpleBaseline2D - Name: wholebody--2d_kpt_sview_rgb_img--topdown_heatmap--coco-wholebody--resnet_coco-wholebody - [SimpleBaseline2D@COCO-WholeBody] +- Name: SimpleBaseline2D Paper: Title: Simple baselines for human pose estimation and tracking URL: http://openaccess.thecvf.com/content_ECCV_2018/html/Bin_Xiao_Simple_Baselines_for_ECCV_2018_paper.html - README: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/resnet_coco-wholebody.md Models: - Config: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/res50_coco_wholebody_256x192.py - In Collection: wholebody--2d_kpt_sview_rgb_img--topdown_heatmap--coco-wholebody--resnet_coco-wholebody - [SimpleBaseline2D@COCO-WholeBody] + In Collection: SimpleBaseline2D Metadata: + Architecture: &id001 + - SimpleBaseline2D Training Data: COCO-WholeBody Name: topdown_heatmap_res50_coco_wholebody_256x192 + README: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/resnet_coco-wholebody.md Results: - Dataset: COCO-WholeBody Metrics: @@ -26,16 +23,17 @@ Models: Foot AR: 0.746 Hand AP: 0.46 Hand AR: 0.584 - Whole AP: 0.457 - Whole AR: 0.578 + Whole AP: 0.52 + Whole AR: 0.633 Task: Wholebody 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res50_coco_wholebody_256x192-9e37ed88_20201004.pth - Config: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/res50_coco_wholebody_384x288.py - In Collection: wholebody--2d_kpt_sview_rgb_img--topdown_heatmap--coco-wholebody--resnet_coco-wholebody - [SimpleBaseline2D@COCO-WholeBody] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: COCO-WholeBody Name: topdown_heatmap_res50_coco_wholebody_384x288 + README: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/resnet_coco-wholebody.md Results: - Dataset: COCO-WholeBody Metrics: @@ -52,11 +50,12 @@ Models: Task: Wholebody 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res50_coco_wholebody_384x288-ce11e294_20201004.pth - Config: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/res101_coco_wholebody_256x192.py - In Collection: wholebody--2d_kpt_sview_rgb_img--topdown_heatmap--coco-wholebody--resnet_coco-wholebody - [SimpleBaseline2D@COCO-WholeBody] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: COCO-WholeBody Name: topdown_heatmap_res101_coco_wholebody_256x192 + README: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/resnet_coco-wholebody.md Results: - Dataset: COCO-WholeBody Metrics: @@ -73,11 +72,12 @@ Models: Task: Wholebody 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res101_coco_wholebody_256x192-7325f982_20201004.pth - Config: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/res101_coco_wholebody_384x288.py - In Collection: wholebody--2d_kpt_sview_rgb_img--topdown_heatmap--coco-wholebody--resnet_coco-wholebody - [SimpleBaseline2D@COCO-WholeBody] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: COCO-WholeBody Name: topdown_heatmap_res101_coco_wholebody_384x288 + README: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/resnet_coco-wholebody.md Results: - Dataset: COCO-WholeBody Metrics: @@ -94,11 +94,12 @@ Models: Task: Wholebody 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res101_coco_wholebody_384x288-6c137b9a_20201004.pth - Config: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/res152_coco_wholebody_256x192.py - In Collection: wholebody--2d_kpt_sview_rgb_img--topdown_heatmap--coco-wholebody--resnet_coco-wholebody - [SimpleBaseline2D@COCO-WholeBody] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: COCO-WholeBody Name: topdown_heatmap_res152_coco_wholebody_256x192 + README: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/resnet_coco-wholebody.md Results: - Dataset: COCO-WholeBody Metrics: @@ -115,11 +116,12 @@ Models: Task: Wholebody 2D Keypoint Weights: https://download.openmmlab.com/mmpose/top_down/resnet/res152_coco_wholebody_256x192-5de8ae23_20201004.pth - Config: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/res152_coco_wholebody_384x288.py - In Collection: wholebody--2d_kpt_sview_rgb_img--topdown_heatmap--coco-wholebody--resnet_coco-wholebody - [SimpleBaseline2D@COCO-WholeBody] + In Collection: SimpleBaseline2D Metadata: + Architecture: *id001 Training Data: COCO-WholeBody Name: topdown_heatmap_res152_coco_wholebody_384x288 + README: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/resnet_coco-wholebody.md Results: - Dataset: COCO-WholeBody Metrics: diff --git a/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_coco-wholebody.md b/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_coco-wholebody.md new file mode 100644 index 0000000000..deca84f7d3 --- /dev/null +++ b/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_coco-wholebody.md @@ -0,0 +1,38 @@ + + +
+ViPNAS (CVPR'2021) + +```bibtex +@article{xu2021vipnas, + title={ViPNAS: Efficient Video Pose Estimation via Neural Architecture Search}, + author={Xu, Lumin and Guan, Yingda and Jin, Sheng and Liu, Wentao and Qian, Chen and Luo, Ping and Ouyang, Wanli and Wang, Xiaogang}, + booktitle={Proceedings of the IEEE conference on computer vision and pattern recognition}, + year={2021} +} +``` + +
+ + + +
+COCO-WholeBody (ECCV'2020) + +```bibtex +@inproceedings{jin2020whole, + title={Whole-Body Human Pose Estimation in the Wild}, + author={Jin, Sheng and Xu, Lumin and Xu, Jin and Wang, Can and Liu, Wentao and Qian, Chen and Ouyang, Wanli and Luo, Ping}, + booktitle={Proceedings of the European Conference on Computer Vision (ECCV)}, + year={2020} +} +``` + +
+ +Results on COCO-WholeBody v1.0 val with detector having human AP of 56.4 on COCO val2017 dataset + +| Arch | Input Size | Body AP | Body AR | Foot AP | Foot AR | Face AP | Face AR | Hand AP | Hand AR | Whole AP | Whole AR | ckpt | log | +| :---- | :--------: | :-----: | :-----: | :-----: | :-----: | :-----: | :------: | :-----: | :-----: | :------: |:-------: |:------: | :------: | +| [S-ViPNAS-MobileNetV3](/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_mbv3_coco_wholebody_256x192.py) | 256x192 | 0.619 | 0.700 | 0.477 | 0.608 | 0.585 | 0.689 | 0.386 | 0.505 | 0.473 | 0.578 | [ckpt](https://download.openmmlab.com/mmpose/top_down/vipnas/vipnas_mbv3_coco_wholebody_256x192-0fee581a_20211205.pth) | [log](https://download.openmmlab.com/mmpose/top_down/vipnas/vipnas_mbv3_coco_wholebody_256x192_20211205.log.json) | +| [S-ViPNAS-Res50](/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_res50_coco_wholebody_256x192.py) | 256x192 | 0.643 | 0.726 | 0.553 | 0.694 | 0.587 | 0.698 | 0.410 | 0.529 | 0.495 | 0.607 | [ckpt](https://openmmlab-share.oss-cn-hangzhou.aliyuncs.com/mmpose/top_down/vipnas/vipnas_res50_wholebody_256x192-49e1c3a4_20211112.pth) | [log](https://openmmlab-share.oss-cn-hangzhou.aliyuncs.com/mmpose/top_down/vipnas/vipnas_res50_wholebody_256x192_20211112.log.json) | diff --git a/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_coco-wholebody.yml b/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_coco-wholebody.yml new file mode 100644 index 0000000000..3bad2c6e41 --- /dev/null +++ b/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_coco-wholebody.yml @@ -0,0 +1,51 @@ +Collections: +- Name: ViPNAS + Paper: + Title: 'ViPNAS: Efficient Video Pose Estimation via Neural Architecture Search' + URL: https://arxiv.org/abs/2105.10154 +Models: +- Config: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_mbv3_coco_wholebody_256x192.py + In Collection: ViPNAS + Metadata: + Architecture: &id001 + - ViPNAS + Training Data: COCO-WholeBody + Name: topdown_heatmap_vipnas_mbv3_coco_wholebody_256x192 + README: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_coco-wholebody.md + Results: + - Dataset: COCO-WholeBody + Metrics: + Body AP: 0.619 + Body AR: 0.7 + Face AP: 0.585 + Face AR: 0.689 + Foot AP: 0.477 + Foot AR: 0.608 + Hand AP: 0.386 + Hand AR: 0.505 + Whole AP: 0.473 + Whole AR: 0.578 + Task: Wholebody 2D Keypoint + Weights: https://download.openmmlab.com/mmpose/top_down/vipnas/vipnas_mbv3_coco_wholebody_256x192-0fee581a_20211205.pth +- Config: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_res50_coco_wholebody_256x192.py + In Collection: ViPNAS + Metadata: + Architecture: *id001 + Training Data: COCO-WholeBody + Name: topdown_heatmap_vipnas_res50_coco_wholebody_256x192 + README: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_coco-wholebody.md + Results: + - Dataset: COCO-WholeBody + Metrics: + Body AP: 0.643 + Body AR: 0.726 + Face AP: 0.587 + Face AR: 0.698 + Foot AP: 0.553 + Foot AR: 0.694 + Hand AP: 0.41 + Hand AR: 0.529 + Whole AP: 0.495 + Whole AR: 0.607 + Task: Wholebody 2D Keypoint + Weights: https://openmmlab-share.oss-cn-hangzhou.aliyuncs.com/mmpose/top_down/vipnas/vipnas_res50_wholebody_256x192-49e1c3a4_20211112.pth diff --git a/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_dark_coco-wholebody.md b/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_dark_coco-wholebody.md new file mode 100644 index 0000000000..d9bf48ab38 --- /dev/null +++ b/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_dark_coco-wholebody.md @@ -0,0 +1,55 @@ + + +
+ViPNAS (CVPR'2021) + +```bibtex +@article{xu2021vipnas, + title={ViPNAS: Efficient Video Pose Estimation via Neural Architecture Search}, + author={Xu, Lumin and Guan, Yingda and Jin, Sheng and Liu, Wentao and Qian, Chen and Luo, Ping and Ouyang, Wanli and Wang, Xiaogang}, + booktitle={Proceedings of the IEEE conference on computer vision and pattern recognition}, + year={2021} +} +``` + +
+ + + +
+DarkPose (CVPR'2020) + +```bibtex +@inproceedings{zhang2020distribution, + title={Distribution-aware coordinate representation for human pose estimation}, + author={Zhang, Feng and Zhu, Xiatian and Dai, Hanbin and Ye, Mao and Zhu, Ce}, + booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition}, + pages={7093--7102}, + year={2020} +} +``` + +
+ + + +
+COCO-WholeBody (ECCV'2020) + +```bibtex +@inproceedings{jin2020whole, + title={Whole-Body Human Pose Estimation in the Wild}, + author={Jin, Sheng and Xu, Lumin and Xu, Jin and Wang, Can and Liu, Wentao and Qian, Chen and Ouyang, Wanli and Luo, Ping}, + booktitle={Proceedings of the European Conference on Computer Vision (ECCV)}, + year={2020} +} +``` + +
+ +Results on COCO-WholeBody v1.0 val with detector having human AP of 56.4 on COCO val2017 dataset + +| Arch | Input Size | Body AP | Body AR | Foot AP | Foot AR | Face AP | Face AR | Hand AP | Hand AR | Whole AP | Whole AR | ckpt | log | +| :---- | :--------: | :-----: | :-----: | :-----: | :-----: | :-----: | :------: | :-----: | :-----: | :------: |:-------: |:------: | :------: | +| [S-ViPNAS-MobileNetV3_dark](/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_mbv3_coco_wholebody_256x192_dark.py) | 256x192 | 0.632 | 0.710 | 0.530 | 0.660 | 0.672 | 0.771 | 0.404 | 0.519 | 0.508 | 0.607 | [ckpt](/mnt/lustre/share_data/xulumin/MMPose/vipnas_mbv3_coco_wholebody_256x192_dark-e2158108_20211205.pth) | [log](/mnt/lustre/share_data/xulumin/MMPose/vipnas_mbv3_coco_wholebody_256x192_dark_20211205.log.json) | +| [S-ViPNAS-Res50_dark](/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_res50_coco_wholebody_256x192_dark.py) | 256x192 | 0.650 | 0.732 | 0.550 | 0.686 | 0.684 | 0.784 | 0.437 | 0.554 | 0.528 | 0.632 | [ckpt](https://openmmlab-share.oss-cn-hangzhou.aliyuncs.com/mmpose/top_down/vipnas/vipnas_res50_wholebody_256x192_dark-67c0ce35_20211112.pth) | [log](https://openmmlab-share.oss-cn-hangzhou.aliyuncs.com/mmpose/top_down/vipnas/vipnas_res50_wholebody_256x192_dark_20211112.log.json) | diff --git a/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_dark_coco-wholebody.yml b/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_dark_coco-wholebody.yml new file mode 100644 index 0000000000..10d10c5106 --- /dev/null +++ b/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_dark_coco-wholebody.yml @@ -0,0 +1,52 @@ +Collections: +- Name: ViPNAS + Paper: + Title: 'ViPNAS: Efficient Video Pose Estimation via Neural Architecture Search' + URL: https://arxiv.org/abs/2105.10154 +Models: +- Config: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_mbv3_coco_wholebody_256x192_dark.py + In Collection: ViPNAS + Metadata: + Architecture: &id001 + - ViPNAS + - DarkPose + Training Data: COCO-WholeBody + Name: topdown_heatmap_vipnas_mbv3_coco_wholebody_256x192_dark + README: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_dark_coco-wholebody.md + Results: + - Dataset: COCO-WholeBody + Metrics: + Body AP: 0.632 + Body AR: 0.71 + Face AP: 0.672 + Face AR: 0.771 + Foot AP: 0.53 + Foot AR: 0.66 + Hand AP: 0.404 + Hand AR: 0.519 + Whole AP: 0.508 + Whole AR: 0.607 + Task: Wholebody 2D Keypoint + Weights: /mnt/lustre/share_data/xulumin/MMPose/vipnas_mbv3_coco_wholebody_256x192_dark-e2158108_20211205.pth +- Config: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_res50_coco_wholebody_256x192_dark.py + In Collection: ViPNAS + Metadata: + Architecture: *id001 + Training Data: COCO-WholeBody + Name: topdown_heatmap_vipnas_res50_coco_wholebody_256x192_dark + README: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_dark_coco-wholebody.md + Results: + - Dataset: COCO-WholeBody + Metrics: + Body AP: 0.65 + Body AR: 0.732 + Face AP: 0.684 + Face AR: 0.784 + Foot AP: 0.55 + Foot AR: 0.686 + Hand AP: 0.437 + Hand AR: 0.554 + Whole AP: 0.528 + Whole AR: 0.632 + Task: Wholebody 2D Keypoint + Weights: https://openmmlab-share.oss-cn-hangzhou.aliyuncs.com/mmpose/top_down/vipnas/vipnas_res50_wholebody_256x192_dark-67c0ce35_20211112.pth diff --git a/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_mbv3_coco_wholebody_256x192.py b/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_mbv3_coco_wholebody_256x192.py new file mode 100644 index 0000000000..bdff7cb139 --- /dev/null +++ b/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_mbv3_coco_wholebody_256x192.py @@ -0,0 +1,146 @@ +_base_ = ['../../../../_base_/datasets/coco_wholebody.py'] +log_level = 'INFO' +load_from = None +resume_from = None +dist_params = dict(backend='nccl') +workflow = [('train', 1)] +checkpoint_config = dict(interval=10) +evaluation = dict(interval=10, metric='mAP', save_best='AP') + +optimizer = dict( + type='Adam', + lr=5e-4, +) +optimizer_config = dict(grad_clip=None) +# learning policy +lr_config = dict( + policy='step', + warmup='linear', + warmup_iters=500, + warmup_ratio=0.001, + step=[170, 200]) +total_epochs = 210 +log_config = dict( + interval=50, + hooks=[ + dict(type='TextLoggerHook'), + # dict(type='TensorboardLoggerHook') + ]) + +channel_cfg = dict( + num_output_channels=133, + dataset_joints=133, + dataset_channel=[ + list(range(133)), + ], + inference_channel=list(range(133))) + +# model settings +model = dict( + type='TopDown', + pretrained=None, + backbone=dict(type='ViPNAS_MobileNetV3'), + keypoint_head=dict( + type='ViPNASHeatmapSimpleHead', + in_channels=160, + out_channels=channel_cfg['num_output_channels'], + num_deconv_filters=(160, 160, 160), + num_deconv_groups=(160, 160, 160), + loss_keypoint=dict(type='JointsMSELoss', use_target_weight=True)), + train_cfg=dict(), + test_cfg=dict( + flip_test=True, + post_process='default', + shift_heatmap=True, + modulate_kernel=11)) + +data_cfg = dict( + image_size=[192, 256], + heatmap_size=[48, 64], + num_output_channels=channel_cfg['num_output_channels'], + num_joints=channel_cfg['dataset_joints'], + dataset_channel=channel_cfg['dataset_channel'], + inference_channel=channel_cfg['inference_channel'], + soft_nms=False, + nms_thr=1.0, + oks_thr=0.9, + vis_thr=0.2, + use_gt_bbox=False, + det_bbox_thr=0.0, + bbox_file='data/coco/person_detection_results/' + 'COCO_val2017_detections_AP_H_56_person.json', +) + +train_pipeline = [ + dict(type='LoadImageFromFile'), + dict(type='TopDownRandomFlip', flip_prob=0.5), + dict( + type='TopDownHalfBodyTransform', + num_joints_half_body=8, + prob_half_body=0.3), + dict( + type='TopDownGetRandomScaleRotation', rot_factor=30, + scale_factor=0.25), + dict(type='TopDownAffine'), + dict(type='ToTensor'), + dict( + type='NormalizeTensor', + mean=[0.485, 0.456, 0.406], + std=[0.229, 0.224, 0.225]), + dict(type='TopDownGenerateTarget', sigma=2), + dict( + type='Collect', + keys=['img', 'target', 'target_weight'], + meta_keys=[ + 'image_file', 'joints_3d', 'joints_3d_visible', 'center', 'scale', + 'rotation', 'bbox_score', 'flip_pairs' + ]), +] + +val_pipeline = [ + dict(type='LoadImageFromFile'), + dict(type='TopDownAffine'), + dict(type='ToTensor'), + dict( + type='NormalizeTensor', + mean=[0.485, 0.456, 0.406], + std=[0.229, 0.224, 0.225]), + dict( + type='Collect', + keys=['img'], + meta_keys=[ + 'image_file', 'center', 'scale', 'rotation', 'bbox_score', + 'flip_pairs' + ]), +] + +test_pipeline = val_pipeline + +data_root = 'data/coco' +data = dict( + samples_per_gpu=64, + workers_per_gpu=2, + val_dataloader=dict(samples_per_gpu=32), + test_dataloader=dict(samples_per_gpu=32), + train=dict( + type='TopDownCocoWholeBodyDataset', + ann_file=f'{data_root}/annotations/coco_wholebody_train_v1.0.json', + img_prefix=f'{data_root}/train2017/', + data_cfg=data_cfg, + pipeline=train_pipeline, + dataset_info={{_base_.dataset_info}}), + val=dict( + type='TopDownCocoWholeBodyDataset', + ann_file=f'{data_root}/annotations/coco_wholebody_val_v1.0.json', + img_prefix=f'{data_root}/val2017/', + data_cfg=data_cfg, + pipeline=val_pipeline, + dataset_info={{_base_.dataset_info}}), + test=dict( + type='TopDownCocoWholeBodyDataset', + ann_file=f'{data_root}/annotations/coco_wholebody_val_v1.0.json', + img_prefix=f'{data_root}/val2017/', + data_cfg=data_cfg, + pipeline=test_pipeline, + dataset_info={{_base_.dataset_info}}), +) diff --git a/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_mbv3_coco_wholebody_256x192_dark.py b/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_mbv3_coco_wholebody_256x192_dark.py new file mode 100644 index 0000000000..28942b64dd --- /dev/null +++ b/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_mbv3_coco_wholebody_256x192_dark.py @@ -0,0 +1,146 @@ +_base_ = ['../../../../_base_/datasets/coco_wholebody.py'] +log_level = 'INFO' +load_from = None +resume_from = None +dist_params = dict(backend='nccl') +workflow = [('train', 1)] +checkpoint_config = dict(interval=10) +evaluation = dict(interval=10, metric='mAP', save_best='AP') + +optimizer = dict( + type='Adam', + lr=5e-4, +) +optimizer_config = dict(grad_clip=None) +# learning policy +lr_config = dict( + policy='step', + warmup='linear', + warmup_iters=500, + warmup_ratio=0.001, + step=[170, 200]) +total_epochs = 210 +log_config = dict( + interval=50, + hooks=[ + dict(type='TextLoggerHook'), + # dict(type='TensorboardLoggerHook') + ]) + +channel_cfg = dict( + num_output_channels=133, + dataset_joints=133, + dataset_channel=[ + list(range(133)), + ], + inference_channel=list(range(133))) + +# model settings +model = dict( + type='TopDown', + pretrained=None, + backbone=dict(type='ViPNAS_MobileNetV3'), + keypoint_head=dict( + type='ViPNASHeatmapSimpleHead', + in_channels=160, + out_channels=channel_cfg['num_output_channels'], + num_deconv_filters=(160, 160, 160), + num_deconv_groups=(160, 160, 160), + loss_keypoint=dict(type='JointsMSELoss', use_target_weight=True)), + train_cfg=dict(), + test_cfg=dict( + flip_test=True, + post_process='unbiased', + shift_heatmap=True, + modulate_kernel=11)) + +data_cfg = dict( + image_size=[192, 256], + heatmap_size=[48, 64], + num_output_channels=channel_cfg['num_output_channels'], + num_joints=channel_cfg['dataset_joints'], + dataset_channel=channel_cfg['dataset_channel'], + inference_channel=channel_cfg['inference_channel'], + soft_nms=False, + nms_thr=1.0, + oks_thr=0.9, + vis_thr=0.2, + use_gt_bbox=False, + det_bbox_thr=0.0, + bbox_file='data/coco/person_detection_results/' + 'COCO_val2017_detections_AP_H_56_person.json', +) + +train_pipeline = [ + dict(type='LoadImageFromFile'), + dict(type='TopDownRandomFlip', flip_prob=0.5), + dict( + type='TopDownHalfBodyTransform', + num_joints_half_body=8, + prob_half_body=0.3), + dict( + type='TopDownGetRandomScaleRotation', rot_factor=30, + scale_factor=0.25), + dict(type='TopDownAffine'), + dict(type='ToTensor'), + dict( + type='NormalizeTensor', + mean=[0.485, 0.456, 0.406], + std=[0.229, 0.224, 0.225]), + dict(type='TopDownGenerateTarget', sigma=2, unbiased_encoding=True), + dict( + type='Collect', + keys=['img', 'target', 'target_weight'], + meta_keys=[ + 'image_file', 'joints_3d', 'joints_3d_visible', 'center', 'scale', + 'rotation', 'bbox_score', 'flip_pairs' + ]), +] + +val_pipeline = [ + dict(type='LoadImageFromFile'), + dict(type='TopDownAffine'), + dict(type='ToTensor'), + dict( + type='NormalizeTensor', + mean=[0.485, 0.456, 0.406], + std=[0.229, 0.224, 0.225]), + dict( + type='Collect', + keys=['img'], + meta_keys=[ + 'image_file', 'center', 'scale', 'rotation', 'bbox_score', + 'flip_pairs' + ]), +] + +test_pipeline = val_pipeline + +data_root = 'data/coco' +data = dict( + samples_per_gpu=64, + workers_per_gpu=2, + val_dataloader=dict(samples_per_gpu=32), + test_dataloader=dict(samples_per_gpu=32), + train=dict( + type='TopDownCocoWholeBodyDataset', + ann_file=f'{data_root}/annotations/coco_wholebody_train_v1.0.json', + img_prefix=f'{data_root}/train2017/', + data_cfg=data_cfg, + pipeline=train_pipeline, + dataset_info={{_base_.dataset_info}}), + val=dict( + type='TopDownCocoWholeBodyDataset', + ann_file=f'{data_root}/annotations/coco_wholebody_val_v1.0.json', + img_prefix=f'{data_root}/val2017/', + data_cfg=data_cfg, + pipeline=val_pipeline, + dataset_info={{_base_.dataset_info}}), + test=dict( + type='TopDownCocoWholeBodyDataset', + ann_file=f'{data_root}/annotations/coco_wholebody_val_v1.0.json', + img_prefix=f'{data_root}/val2017/', + data_cfg=data_cfg, + pipeline=test_pipeline, + dataset_info={{_base_.dataset_info}}), +) diff --git a/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_res50_coco_wholebody_256x192.py b/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_res50_coco_wholebody_256x192.py new file mode 100644 index 0000000000..846e31a0a8 --- /dev/null +++ b/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_res50_coco_wholebody_256x192.py @@ -0,0 +1,144 @@ +_base_ = ['../../../../_base_/datasets/coco_wholebody.py'] +log_level = 'INFO' +load_from = None +resume_from = None +dist_params = dict(backend='nccl') +workflow = [('train', 1)] +checkpoint_config = dict(interval=10) +evaluation = dict(interval=10, metric='mAP', save_best='AP') + +optimizer = dict( + type='Adam', + lr=5e-4, +) +optimizer_config = dict(grad_clip=None) +# learning policy +lr_config = dict( + policy='step', + warmup='linear', + warmup_iters=500, + warmup_ratio=0.001, + step=[170, 200]) +total_epochs = 210 +log_config = dict( + interval=50, + hooks=[ + dict(type='TextLoggerHook'), + # dict(type='TensorboardLoggerHook') + ]) + +channel_cfg = dict( + num_output_channels=133, + dataset_joints=133, + dataset_channel=[ + list(range(133)), + ], + inference_channel=list(range(133))) + +# model settings +model = dict( + type='TopDown', + pretrained=None, + backbone=dict(type='ViPNAS_ResNet', depth=50), + keypoint_head=dict( + type='ViPNASHeatmapSimpleHead', + in_channels=608, + out_channels=channel_cfg['num_output_channels'], + loss_keypoint=dict(type='JointsMSELoss', use_target_weight=True)), + train_cfg=dict(), + test_cfg=dict( + flip_test=True, + post_process='default', + shift_heatmap=True, + modulate_kernel=11)) + +data_cfg = dict( + image_size=[192, 256], + heatmap_size=[48, 64], + num_output_channels=channel_cfg['num_output_channels'], + num_joints=channel_cfg['dataset_joints'], + dataset_channel=channel_cfg['dataset_channel'], + inference_channel=channel_cfg['inference_channel'], + soft_nms=False, + nms_thr=1.0, + oks_thr=0.9, + vis_thr=0.2, + use_gt_bbox=False, + det_bbox_thr=0.0, + bbox_file='data/coco/person_detection_results/' + 'COCO_val2017_detections_AP_H_56_person.json', +) + +train_pipeline = [ + dict(type='LoadImageFromFile'), + dict(type='TopDownRandomFlip', flip_prob=0.5), + dict( + type='TopDownHalfBodyTransform', + num_joints_half_body=8, + prob_half_body=0.3), + dict( + type='TopDownGetRandomScaleRotation', rot_factor=30, + scale_factor=0.25), + dict(type='TopDownAffine'), + dict(type='ToTensor'), + dict( + type='NormalizeTensor', + mean=[0.485, 0.456, 0.406], + std=[0.229, 0.224, 0.225]), + dict(type='TopDownGenerateTarget', sigma=2), + dict( + type='Collect', + keys=['img', 'target', 'target_weight'], + meta_keys=[ + 'image_file', 'joints_3d', 'joints_3d_visible', 'center', 'scale', + 'rotation', 'bbox_score', 'flip_pairs' + ]), +] + +val_pipeline = [ + dict(type='LoadImageFromFile'), + dict(type='TopDownAffine'), + dict(type='ToTensor'), + dict( + type='NormalizeTensor', + mean=[0.485, 0.456, 0.406], + std=[0.229, 0.224, 0.225]), + dict( + type='Collect', + keys=['img'], + meta_keys=[ + 'image_file', 'center', 'scale', 'rotation', 'bbox_score', + 'flip_pairs' + ]), +] + +test_pipeline = val_pipeline + +data_root = 'data/coco' +data = dict( + samples_per_gpu=64, + workers_per_gpu=2, + val_dataloader=dict(samples_per_gpu=32), + test_dataloader=dict(samples_per_gpu=32), + train=dict( + type='TopDownCocoWholeBodyDataset', + ann_file=f'{data_root}/annotations/coco_wholebody_train_v1.0.json', + img_prefix=f'{data_root}/train2017/', + data_cfg=data_cfg, + pipeline=train_pipeline, + dataset_info={{_base_.dataset_info}}), + val=dict( + type='TopDownCocoWholeBodyDataset', + ann_file=f'{data_root}/annotations/coco_wholebody_val_v1.0.json', + img_prefix=f'{data_root}/val2017/', + data_cfg=data_cfg, + pipeline=val_pipeline, + dataset_info={{_base_.dataset_info}}), + test=dict( + type='TopDownCocoWholeBodyDataset', + ann_file=f'{data_root}/annotations/coco_wholebody_val_v1.0.json', + img_prefix=f'{data_root}/val2017/', + data_cfg=data_cfg, + pipeline=test_pipeline, + dataset_info={{_base_.dataset_info}}), +) diff --git a/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_res50_coco_wholebody_256x192_dark.py b/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_res50_coco_wholebody_256x192_dark.py new file mode 100644 index 0000000000..01d2a1f5b4 --- /dev/null +++ b/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_res50_coco_wholebody_256x192_dark.py @@ -0,0 +1,144 @@ +_base_ = ['../../../../_base_/datasets/coco_wholebody.py'] +log_level = 'INFO' +load_from = None +resume_from = None +dist_params = dict(backend='nccl') +workflow = [('train', 1)] +checkpoint_config = dict(interval=10) +evaluation = dict(interval=10, metric='mAP', save_best='AP') + +optimizer = dict( + type='Adam', + lr=5e-4, +) +optimizer_config = dict(grad_clip=None) +# learning policy +lr_config = dict( + policy='step', + warmup='linear', + warmup_iters=500, + warmup_ratio=0.001, + step=[170, 200]) +total_epochs = 210 +log_config = dict( + interval=50, + hooks=[ + dict(type='TextLoggerHook'), + # dict(type='TensorboardLoggerHook') + ]) + +channel_cfg = dict( + num_output_channels=133, + dataset_joints=133, + dataset_channel=[ + list(range(133)), + ], + inference_channel=list(range(133))) + +# model settings +model = dict( + type='TopDown', + pretrained=None, + backbone=dict(type='ViPNAS_ResNet', depth=50), + keypoint_head=dict( + type='ViPNASHeatmapSimpleHead', + in_channels=608, + out_channels=channel_cfg['num_output_channels'], + loss_keypoint=dict(type='JointsMSELoss', use_target_weight=True)), + train_cfg=dict(), + test_cfg=dict( + flip_test=True, + post_process='unbiased', + shift_heatmap=True, + modulate_kernel=11)) + +data_cfg = dict( + image_size=[192, 256], + heatmap_size=[48, 64], + num_output_channels=channel_cfg['num_output_channels'], + num_joints=channel_cfg['dataset_joints'], + dataset_channel=channel_cfg['dataset_channel'], + inference_channel=channel_cfg['inference_channel'], + soft_nms=False, + nms_thr=1.0, + oks_thr=0.9, + vis_thr=0.2, + use_gt_bbox=False, + det_bbox_thr=0.0, + bbox_file='data/coco/person_detection_results/' + 'COCO_val2017_detections_AP_H_56_person.json', +) + +train_pipeline = [ + dict(type='LoadImageFromFile'), + dict(type='TopDownRandomFlip', flip_prob=0.5), + dict( + type='TopDownHalfBodyTransform', + num_joints_half_body=8, + prob_half_body=0.3), + dict( + type='TopDownGetRandomScaleRotation', rot_factor=30, + scale_factor=0.25), + dict(type='TopDownAffine'), + dict(type='ToTensor'), + dict( + type='NormalizeTensor', + mean=[0.485, 0.456, 0.406], + std=[0.229, 0.224, 0.225]), + dict(type='TopDownGenerateTarget', sigma=2, unbiased_encoding=True), + dict( + type='Collect', + keys=['img', 'target', 'target_weight'], + meta_keys=[ + 'image_file', 'joints_3d', 'joints_3d_visible', 'center', 'scale', + 'rotation', 'bbox_score', 'flip_pairs' + ]), +] + +val_pipeline = [ + dict(type='LoadImageFromFile'), + dict(type='TopDownAffine'), + dict(type='ToTensor'), + dict( + type='NormalizeTensor', + mean=[0.485, 0.456, 0.406], + std=[0.229, 0.224, 0.225]), + dict( + type='Collect', + keys=['img'], + meta_keys=[ + 'image_file', 'center', 'scale', 'rotation', 'bbox_score', + 'flip_pairs' + ]), +] + +test_pipeline = val_pipeline + +data_root = 'data/coco' +data = dict( + samples_per_gpu=64, + workers_per_gpu=2, + val_dataloader=dict(samples_per_gpu=32), + test_dataloader=dict(samples_per_gpu=32), + train=dict( + type='TopDownCocoWholeBodyDataset', + ann_file=f'{data_root}/annotations/coco_wholebody_train_v1.0.json', + img_prefix=f'{data_root}/train2017/', + data_cfg=data_cfg, + pipeline=train_pipeline, + dataset_info={{_base_.dataset_info}}), + val=dict( + type='TopDownCocoWholeBodyDataset', + ann_file=f'{data_root}/annotations/coco_wholebody_val_v1.0.json', + img_prefix=f'{data_root}/val2017/', + data_cfg=data_cfg, + pipeline=val_pipeline, + dataset_info={{_base_.dataset_info}}), + test=dict( + type='TopDownCocoWholeBodyDataset', + ann_file=f'{data_root}/annotations/coco_wholebody_val_v1.0.json', + img_prefix=f'{data_root}/val2017/', + data_cfg=data_cfg, + pipeline=test_pipeline, + dataset_info={{_base_.dataset_info}}), +) diff --git a/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/halpe/hrnet_dark_halpe.yml b/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/halpe/hrnet_dark_halpe.yml index 3807f1ef7a..2664b3837e 100644 --- a/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/halpe/hrnet_dark_halpe.yml +++ b/configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/halpe/hrnet_dark_halpe.yml @@ -1,21 +1,18 @@ Collections: -- Metadata: - Architecture: - - HRNet - - DarkPose - Name: wholebody--2d_kpt_sview_rgb_img--topdown_heatmap--halpe--hrnet_dark_halpe - [HRNet+DarkPose@Halpe] +- Name: DarkPose Paper: Title: Distribution-aware coordinate representation for human pose estimation URL: http://openaccess.thecvf.com/content_CVPR_2020/html/Zhang_Distribution-Aware_Coordinate_Representation_for_Human_Pose_Estimation_CVPR_2020_paper.html - README: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/halpe/hrnet_dark_halpe.md Models: - Config: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/halpe/hrnet_w48_halpe_384x288_dark_plus.py - In Collection: wholebody--2d_kpt_sview_rgb_img--topdown_heatmap--halpe--hrnet_dark_halpe - [HRNet+DarkPose@Halpe] + In Collection: DarkPose Metadata: + Architecture: + - HRNet + - DarkPose Training Data: Halpe Name: topdown_heatmap_hrnet_w48_halpe_384x288_dark_plus + README: configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/halpe/hrnet_dark_halpe.md Results: - Dataset: Halpe Metrics: diff --git a/demo/docs/2d_animal_demo.md b/demo/docs/2d_animal_demo.md index 859c6481c1..bb994e8b49 100644 --- a/demo/docs/2d_animal_demo.md +++ b/demo/docs/2d_animal_demo.md @@ -7,7 +7,7 @@ We provide a demo script to test a single image, given gt json file. *Pose Model Preparation:* -The pre-trained pose estimation model can be downloaded from [model zoo](https://mmpose.readthedocs.io/en/latest/animal_models.html#). +The pre-trained pose estimation model can be downloaded from [model zoo](https://mmpose.readthedocs.io/en/latest/topics/animal.html). Take [macaque model](https://download.openmmlab.com/mmpose/animal/resnet/res50_macaque_256x192-98f1dd3a_20210407.pth) as an example: ```shell @@ -109,7 +109,7 @@ python demo/top_down_video_demo_with_mmdet.py \ **Other Animals** For other animals, we have also provided some pre-trained animal detection models (1-class models). Supported models can be found in [det model zoo](/demo/docs/mmdet_modelzoo.md). -The pre-trained animal pose estimation model can be found in [pose model zoo](https://mmpose.readthedocs.io/en/latest/animal_models.html#). +The pre-trained animal pose estimation model can be found in [pose model zoo](https://mmpose.readthedocs.io/en/latest/topics/animal.html). ```shell python demo/top_down_video_demo_with_mmdet.py \ diff --git a/demo/docs/2d_face_demo.md b/demo/docs/2d_face_demo.md index e49dd47e31..a3b0f8397c 100644 --- a/demo/docs/2d_face_demo.md +++ b/demo/docs/2d_face_demo.md @@ -9,7 +9,7 @@ We provide a demo script to test a single image, given gt json file. *Face Keypoint Model Preparation:* -The pre-trained face keypoint estimation model can be found from [model zoo](https://mmpose.readthedocs.io/en/latest/face_models.html#face-models). +The pre-trained face keypoint estimation model can be found from [model zoo](https://mmpose.readthedocs.io/en/latest/topics/face.html). Take [aflw model](https://download.openmmlab.com/mmpose/face/hrnetv2/hrnetv2_w18_aflw_256x256-f2bbc62b_20210125.pth) as an example: ```shell diff --git a/demo/docs/2d_hand_demo.md b/demo/docs/2d_hand_demo.md index 79e271d1d6..14b30f749a 100644 --- a/demo/docs/2d_hand_demo.md +++ b/demo/docs/2d_hand_demo.md @@ -9,7 +9,7 @@ We provide a demo script to test a single image, given gt json file. *Hand Pose Model Preparation:* -The pre-trained hand pose estimation model can be downloaded from [model zoo](https://mmpose.readthedocs.io/en/latest/hand_models.html#). +The pre-trained hand pose estimation model can be downloaded from [model zoo](https://mmpose.readthedocs.io/en/latest/topics/hand%282d%29.html). Take [onehand10k model](https://download.openmmlab.com/mmpose/top_down/resnet/res50_onehand10k_256x256-e67998f6_20200813.pth) as an example: ```shell @@ -50,7 +50,7 @@ Assume that you have already installed [mmdet](https://github.com/open-mmlab/mmd *Hand Box Model Preparation:* The pre-trained hand box estimation model can be found in [det model zoo](/demo/docs/mmdet_modelzoo.md). -*Hand Pose Model Preparation:* The pre-trained hand pose estimation model can be downloaded from [pose model zoo](https://mmpose.readthedocs.io/en/latest/hand_models.html#). +*Hand Pose Model Preparation:* The pre-trained hand pose estimation model can be downloaded from [pose model zoo](https://mmpose.readthedocs.io/en/latest/topics/hand%282d%29.html). ```shell python demo/top_down_img_demo_with_mmdet.py \ @@ -80,7 +80,7 @@ Assume that you have already installed [mmdet](https://github.com/open-mmlab/mmd *Hand Box Model Preparation:* The pre-trained hand box estimation model can be found in [det model zoo](/demo/docs/mmdet_modelzoo.md). -*Hand Pose Model Preparation:* The pre-trained hand pose estimation model can be found in [pose model zoo](https://mmpose.readthedocs.io/en/latest/hand_models.html#). +*Hand Pose Model Preparation:* The pre-trained hand pose estimation model can be found in [pose model zoo](https://mmpose.readthedocs.io/en/latest/topics/hand%282d%29.html). ```shell python demo/top_down_video_demo_with_mmdet.py \ diff --git a/demo/mmdetection_cfg/ssdlite_mobilenetv2_scratch_600e_coco.py b/demo/mmdetection_cfg/ssdlite_mobilenetv2_scratch_600e_coco.py new file mode 100644 index 0000000000..91b9e59381 --- /dev/null +++ b/demo/mmdetection_cfg/ssdlite_mobilenetv2_scratch_600e_coco.py @@ -0,0 +1,216 @@ +# ========================================================= +# from 'mmdetection/configs/_base_/default_runtime.py' +# ========================================================= +checkpoint_config = dict(interval=1) +# yapf:disable +log_config = dict( + interval=50, + hooks=[ + dict(type='TextLoggerHook'), + # dict(type='TensorboardLoggerHook') + ]) +# yapf:enable +custom_hooks = [dict(type='NumClassCheckHook')] +# ========================================================= + +# ========================================================= +# from 'mmdetection/configs/_base_/datasets/coco_detection.py' +# ========================================================= +# dataset settings +dataset_type = 'CocoDataset' +data_root = 'data/coco/' +img_norm_cfg = dict( + mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True) +train_pipeline = [ + dict(type='LoadImageFromFile'), + dict(type='LoadAnnotations', with_bbox=True), + dict(type='Resize', img_scale=(1333, 800), keep_ratio=True), + dict(type='RandomFlip', flip_ratio=0.5), + dict(type='Normalize', **img_norm_cfg), + dict(type='Pad', size_divisor=32), + dict(type='DefaultFormatBundle'), + dict(type='Collect', keys=['img', 'gt_bboxes', 'gt_labels']), +] +test_pipeline = [ + dict(type='LoadImageFromFile'), + dict( + type='MultiScaleFlipAug', + img_scale=(1333, 800), + flip=False, + transforms=[ + dict(type='Resize', keep_ratio=True), + dict(type='RandomFlip'), + dict(type='Normalize', **img_norm_cfg), + dict(type='Pad', size_divisor=32), + dict(type='ImageToTensor', keys=['img']), + dict(type='Collect', keys=['img']), + ]) +] +data = dict( + samples_per_gpu=2, + workers_per_gpu=2, + train=dict( + type=dataset_type, + ann_file=data_root + 'annotations/instances_train2017.json', + img_prefix=data_root + 'train2017/', + pipeline=train_pipeline), + val=dict( + type=dataset_type, + ann_file=data_root + 'annotations/instances_val2017.json', + img_prefix=data_root + 'val2017/', + pipeline=test_pipeline), + test=dict( + type=dataset_type, + ann_file=data_root + 'annotations/instances_val2017.json', + img_prefix=data_root + 'val2017/', + pipeline=test_pipeline)) +evaluation = dict(interval=1, metric='bbox') +# ========================================================= + +dist_params = dict(backend='nccl') +log_level = 'INFO' +load_from = None +resume_from = None +workflow = [('train', 1)] + +model = dict( + type='SingleStageDetector', + backbone=dict( + type='MobileNetV2', + out_indices=(4, 7), + norm_cfg=dict(type='BN', eps=0.001, momentum=0.03), + init_cfg=dict(type='TruncNormal', layer='Conv2d', std=0.03)), + neck=dict( + type='SSDNeck', + in_channels=(96, 1280), + out_channels=(96, 1280, 512, 256, 256, 128), + level_strides=(2, 2, 2, 2), + level_paddings=(1, 1, 1, 1), + l2_norm_scale=None, + use_depthwise=True, + norm_cfg=dict(type='BN', eps=0.001, momentum=0.03), + act_cfg=dict(type='ReLU6'), + init_cfg=dict(type='TruncNormal', layer='Conv2d', std=0.03)), + bbox_head=dict( + type='SSDHead', + in_channels=(96, 1280, 512, 256, 256, 128), + num_classes=80, + use_depthwise=True, + norm_cfg=dict(type='BN', eps=0.001, momentum=0.03), + act_cfg=dict(type='ReLU6'), + init_cfg=dict(type='Normal', layer='Conv2d', std=0.001), + + # set anchor size manually instead of using the predefined + # SSD300 setting. + anchor_generator=dict( + type='SSDAnchorGenerator', + scale_major=False, + strides=[16, 32, 64, 107, 160, 320], + ratios=[[2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3]], + min_sizes=[48, 100, 150, 202, 253, 304], + max_sizes=[100, 150, 202, 253, 304, 320]), + bbox_coder=dict( + type='DeltaXYWHBBoxCoder', + target_means=[.0, .0, .0, .0], + target_stds=[0.1, 0.1, 0.2, 0.2])), + # model training and testing settings + train_cfg=dict( + assigner=dict( + type='MaxIoUAssigner', + pos_iou_thr=0.5, + neg_iou_thr=0.5, + min_pos_iou=0., + ignore_iof_thr=-1, + gt_max_assign_all=False), + smoothl1_beta=1., + allowed_border=-1, + pos_weight=-1, + neg_pos_ratio=3, + debug=False), + test_cfg=dict( + nms_pre=1000, + nms=dict(type='nms', iou_threshold=0.45), + min_bbox_size=0, + score_thr=0.02, + max_per_img=200)) +cudnn_benchmark = True + +# dataset settings +dataset_type = 'CocoDataset' +data_root = 'data/coco/' +img_norm_cfg = dict( + mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True) +train_pipeline = [ + dict(type='LoadImageFromFile', to_float32=True), + dict(type='LoadAnnotations', with_bbox=True), + dict( + type='PhotoMetricDistortion', + brightness_delta=32, + contrast_range=(0.5, 1.5), + saturation_range=(0.5, 1.5), + hue_delta=18), + dict( + type='Expand', + mean=img_norm_cfg['mean'], + to_rgb=img_norm_cfg['to_rgb'], + ratio_range=(1, 4)), + dict( + type='MinIoURandomCrop', + min_ious=(0.1, 0.3, 0.5, 0.7, 0.9), + min_crop_size=0.3), + dict(type='Resize', img_scale=(320, 320), keep_ratio=False), + dict(type='Normalize', **img_norm_cfg), + dict(type='RandomFlip', flip_ratio=0.5), + dict(type='Pad', size_divisor=320), + dict(type='DefaultFormatBundle'), + dict(type='Collect', keys=['img', 'gt_bboxes', 'gt_labels']), +] +test_pipeline = [ + dict(type='LoadImageFromFile'), + dict( + type='MultiScaleFlipAug', + img_scale=(320, 320), + flip=False, + transforms=[ + dict(type='Resize', keep_ratio=False), + dict(type='Normalize', **img_norm_cfg), + dict(type='Pad', size_divisor=320), + dict(type='ImageToTensor', keys=['img']), + dict(type='Collect', keys=['img']), + ]) +] +data = dict( + samples_per_gpu=24, + workers_per_gpu=4, + train=dict( + _delete_=True, + type='RepeatDataset', # use RepeatDataset to speed up training + times=5, + dataset=dict( + type=dataset_type, + ann_file=data_root + 'annotations/instances_train2017.json', + img_prefix=data_root + 'train2017/', + pipeline=train_pipeline)), + val=dict(pipeline=test_pipeline), + test=dict(pipeline=test_pipeline)) + +# optimizer +optimizer = dict(type='SGD', lr=0.015, momentum=0.9, weight_decay=4.0e-5) +optimizer_config = dict(grad_clip=None) + +# learning policy +lr_config = dict( + policy='CosineAnnealing', + warmup='linear', + warmup_iters=500, + warmup_ratio=0.001, + min_lr=0) +runner = dict(type='EpochBasedRunner', max_epochs=120) + +# Avoid evaluation and saving weights too frequently +evaluation = dict(interval=5, metric='bbox') +checkpoint_config = dict(interval=5) +custom_hooks = [ + dict(type='NumClassCheckHook'), + dict(type='CheckInvalidLossHook', interval=50, priority='VERY_LOW') +] diff --git a/demo/mmtracking_cfg/deepsort_faster-rcnn_fpn_4e_mot17-private-half.py b/demo/mmtracking_cfg/deepsort_faster-rcnn_fpn_4e_mot17-private-half.py new file mode 100644 index 0000000000..1d7fccf0cb --- /dev/null +++ b/demo/mmtracking_cfg/deepsort_faster-rcnn_fpn_4e_mot17-private-half.py @@ -0,0 +1,321 @@ +model = dict( + detector=dict( + type='FasterRCNN', + backbone=dict( + type='ResNet', + depth=50, + num_stages=4, + out_indices=(0, 1, 2, 3), + frozen_stages=1, + norm_cfg=dict(type='BN', requires_grad=True), + norm_eval=True, + style='pytorch', + init_cfg=dict( + type='Pretrained', checkpoint='torchvision://resnet50')), + neck=dict( + type='FPN', + in_channels=[256, 512, 1024, 2048], + out_channels=256, + num_outs=5), + rpn_head=dict( + type='RPNHead', + in_channels=256, + feat_channels=256, + anchor_generator=dict( + type='AnchorGenerator', + scales=[8], + ratios=[0.5, 1.0, 2.0], + strides=[4, 8, 16, 32, 64]), + bbox_coder=dict( + type='DeltaXYWHBBoxCoder', + target_means=[0.0, 0.0, 0.0, 0.0], + target_stds=[1.0, 1.0, 1.0, 1.0], + clip_border=False), + loss_cls=dict( + type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0), + loss_bbox=dict( + type='SmoothL1Loss', beta=0.1111111111111111, + loss_weight=1.0)), + roi_head=dict( + type='StandardRoIHead', + bbox_roi_extractor=dict( + type='SingleRoIExtractor', + roi_layer=dict( + type='RoIAlign', output_size=7, sampling_ratio=0), + out_channels=256, + featmap_strides=[4, 8, 16, 32]), + bbox_head=dict( + type='Shared2FCBBoxHead', + in_channels=256, + fc_out_channels=1024, + roi_feat_size=7, + num_classes=1, + bbox_coder=dict( + type='DeltaXYWHBBoxCoder', + target_means=[0.0, 0.0, 0.0, 0.0], + target_stds=[0.1, 0.1, 0.2, 0.2], + clip_border=False), + reg_class_agnostic=False, + loss_cls=dict( + type='CrossEntropyLoss', + use_sigmoid=False, + loss_weight=1.0), + loss_bbox=dict(type='SmoothL1Loss', loss_weight=1.0))), + train_cfg=dict( + rpn=dict( + assigner=dict( + type='MaxIoUAssigner', + pos_iou_thr=0.7, + neg_iou_thr=0.3, + min_pos_iou=0.3, + match_low_quality=True, + ignore_iof_thr=-1), + sampler=dict( + type='RandomSampler', + num=256, + pos_fraction=0.5, + neg_pos_ub=-1, + add_gt_as_proposals=False), + allowed_border=-1, + pos_weight=-1, + debug=False), + rpn_proposal=dict( + nms_pre=2000, + max_per_img=1000, + nms=dict(type='nms', iou_threshold=0.7), + min_bbox_size=0), + rcnn=dict( + assigner=dict( + type='MaxIoUAssigner', + pos_iou_thr=0.5, + neg_iou_thr=0.5, + min_pos_iou=0.5, + match_low_quality=False, + ignore_iof_thr=-1), + sampler=dict( + type='RandomSampler', + num=512, + pos_fraction=0.25, + neg_pos_ub=-1, + add_gt_as_proposals=True), + pos_weight=-1, + debug=False)), + test_cfg=dict( + rpn=dict( + nms_pre=1000, + max_per_img=1000, + nms=dict(type='nms', iou_threshold=0.7), + min_bbox_size=0), + rcnn=dict( + score_thr=0.05, + nms=dict(type='nms', iou_threshold=0.5), + max_per_img=100)), + init_cfg=dict( + type='Pretrained', + checkpoint='https://download.openmmlab.com/mmtracking/' + 'mot/faster_rcnn/faster-rcnn_r50_fpn_4e_mot17-half-64ee2ed4.pth')), + type='DeepSORT', + motion=dict(type='KalmanFilter', center_only=False), + reid=dict( + type='BaseReID', + backbone=dict( + type='ResNet', + depth=50, + num_stages=4, + out_indices=(3, ), + style='pytorch'), + neck=dict(type='GlobalAveragePooling', kernel_size=(8, 4), stride=1), + head=dict( + type='LinearReIDHead', + num_fcs=1, + in_channels=2048, + fc_channels=1024, + out_channels=128, + num_classes=380, + loss=dict(type='CrossEntropyLoss', loss_weight=1.0), + loss_pairwise=dict( + type='TripletLoss', margin=0.3, loss_weight=1.0), + norm_cfg=dict(type='BN1d'), + act_cfg=dict(type='ReLU')), + init_cfg=dict( + type='Pretrained', + checkpoint='https://download.openmmlab.com/mmtracking/' + 'mot/reid/tracktor_reid_r50_iter25245-a452f51f.pth')), + tracker=dict( + type='SortTracker', + obj_score_thr=0.5, + reid=dict( + num_samples=10, + img_scale=(256, 128), + img_norm_cfg=None, + match_score_thr=2.0), + match_iou_thr=0.5, + momentums=None, + num_tentatives=2, + num_frames_retain=100)) +dataset_type = 'MOTChallengeDataset' +img_norm_cfg = dict( + mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True) +train_pipeline = [ + dict(type='LoadMultiImagesFromFile', to_float32=True), + dict(type='SeqLoadAnnotations', with_bbox=True, with_track=True), + dict( + type='SeqResize', + img_scale=(1088, 1088), + share_params=True, + ratio_range=(0.8, 1.2), + keep_ratio=True, + bbox_clip_border=False), + dict(type='SeqPhotoMetricDistortion', share_params=True), + dict( + type='SeqRandomCrop', + share_params=False, + crop_size=(1088, 1088), + bbox_clip_border=False), + dict(type='SeqRandomFlip', share_params=True, flip_ratio=0.5), + dict( + type='SeqNormalize', + mean=[123.675, 116.28, 103.53], + std=[58.395, 57.12, 57.375], + to_rgb=True), + dict(type='SeqPad', size_divisor=32), + dict(type='MatchInstances', skip_nomatch=True), + dict( + type='VideoCollect', + keys=[ + 'img', 'gt_bboxes', 'gt_labels', 'gt_match_indices', + 'gt_instance_ids' + ]), + dict(type='SeqDefaultFormatBundle', ref_prefix='ref') +] +test_pipeline = [ + dict(type='LoadImageFromFile'), + dict( + type='MultiScaleFlipAug', + img_scale=(1088, 1088), + flip=False, + transforms=[ + dict(type='Resize', keep_ratio=True), + dict(type='RandomFlip'), + dict( + type='Normalize', + mean=[123.675, 116.28, 103.53], + std=[58.395, 57.12, 57.375], + to_rgb=True), + dict(type='Pad', size_divisor=32), + dict(type='ImageToTensor', keys=['img']), + dict(type='VideoCollect', keys=['img']) + ]) +] +data_root = 'data/MOT17/' +data = dict( + samples_per_gpu=2, + workers_per_gpu=2, + train=dict( + type='MOTChallengeDataset', + visibility_thr=-1, + ann_file='data/MOT17/annotations/half-train_cocoformat.json', + img_prefix='data/MOT17/train', + ref_img_sampler=dict( + num_ref_imgs=1, + frame_range=10, + filter_key_img=True, + method='uniform'), + pipeline=[ + dict(type='LoadMultiImagesFromFile', to_float32=True), + dict(type='SeqLoadAnnotations', with_bbox=True, with_track=True), + dict( + type='SeqResize', + img_scale=(1088, 1088), + share_params=True, + ratio_range=(0.8, 1.2), + keep_ratio=True, + bbox_clip_border=False), + dict(type='SeqPhotoMetricDistortion', share_params=True), + dict( + type='SeqRandomCrop', + share_params=False, + crop_size=(1088, 1088), + bbox_clip_border=False), + dict(type='SeqRandomFlip', share_params=True, flip_ratio=0.5), + dict( + type='SeqNormalize', + mean=[123.675, 116.28, 103.53], + std=[58.395, 57.12, 57.375], + to_rgb=True), + dict(type='SeqPad', size_divisor=32), + dict(type='MatchInstances', skip_nomatch=True), + dict( + type='VideoCollect', + keys=[ + 'img', 'gt_bboxes', 'gt_labels', 'gt_match_indices', + 'gt_instance_ids' + ]), + dict(type='SeqDefaultFormatBundle', ref_prefix='ref') + ]), + val=dict( + type='MOTChallengeDataset', + ann_file='data/MOT17/annotations/half-val_cocoformat.json', + img_prefix='data/MOT17/train', + ref_img_sampler=None, + pipeline=[ + dict(type='LoadImageFromFile'), + dict( + type='MultiScaleFlipAug', + img_scale=(1088, 1088), + flip=False, + transforms=[ + dict(type='Resize', keep_ratio=True), + dict(type='RandomFlip'), + dict( + type='Normalize', + mean=[123.675, 116.28, 103.53], + std=[58.395, 57.12, 57.375], + to_rgb=True), + dict(type='Pad', size_divisor=32), + dict(type='ImageToTensor', keys=['img']), + dict(type='VideoCollect', keys=['img']) + ]) + ]), + test=dict( + type='MOTChallengeDataset', + ann_file='data/MOT17/annotations/half-val_cocoformat.json', + img_prefix='data/MOT17/train', + ref_img_sampler=None, + pipeline=[ + dict(type='LoadImageFromFile'), + dict( + type='MultiScaleFlipAug', + img_scale=(1088, 1088), + flip=False, + transforms=[ + dict(type='Resize', keep_ratio=True), + dict(type='RandomFlip'), + dict( + type='Normalize', + mean=[123.675, 116.28, 103.53], + std=[58.395, 57.12, 57.375], + to_rgb=True), + dict(type='Pad', size_divisor=32), + dict(type='ImageToTensor', keys=['img']), + dict(type='VideoCollect', keys=['img']) + ]) + ])) +optimizer = dict(type='SGD', lr=0.02, momentum=0.9, weight_decay=0.0001) +optimizer_config = dict(grad_clip=None) +checkpoint_config = dict(interval=1) +log_config = dict(interval=50, hooks=[dict(type='TextLoggerHook')]) +dist_params = dict(backend='nccl') +log_level = 'INFO' +load_from = None +resume_from = None +workflow = [('train', 1)] +lr_config = dict( + policy='step', + warmup='linear', + warmup_iters=100, + warmup_ratio=0.01, + step=[3]) +total_epochs = 4 +evaluation = dict(metric=['bbox', 'track'], interval=1) +search_metrics = ['MOTA', 'IDF1', 'FN', 'FP', 'IDs', 'MT', 'ML'] diff --git a/demo/top_down_pose_tracking_demo_with_mmtracking.py b/demo/top_down_pose_tracking_demo_with_mmtracking.py index 0a1b3f577f..6631f62272 100644 --- a/demo/top_down_pose_tracking_demo_with_mmtracking.py +++ b/demo/top_down_pose_tracking_demo_with_mmtracking.py @@ -24,7 +24,14 @@ def process_mmtracking_results(mmtracking_results): :return: a list of tracked bounding boxes """ person_results = [] - for track in mmtracking_results['track_results'][0]: + # 'track_results' is changed to 'track_bboxes' + # in https://github.com/open-mmlab/mmtracking/pull/300 + if 'track_bboxes' in mmtracking_results: + tracking_results = mmtracking_results['track_bboxes'][0] + elif 'track_results' in mmtracking_results: + tracking_results = mmtracking_results['track_results'][0] + + for track in tracking_results: person = {} person['track_id'] = int(track[0]) person['bbox'] = track[1:] diff --git a/demo/webcam_demo.py b/demo/webcam_demo.py index 4f77405cfc..9916027cb5 100644 --- a/demo/webcam_demo.py +++ b/demo/webcam_demo.py @@ -32,13 +32,15 @@ def parse_args(): parser.add_argument( '--det-config', type=str, - default='demo/mmdetection_cfg/yolov3_d53_320_273e_coco.py', + default='demo/mmdetection_cfg/' + 'ssdlite_mobilenetv2_scratch_600e_coco.py', help='Config file for detection') parser.add_argument( '--det-checkpoint', type=str, - default='https://download.openmmlab.com/mmdetection/v2.0/yolo/' - 'yolov3_d53_320_273e_coco/yolov3_d53_320_273e_coco-421362b6.pth', + default='https://download.openmmlab.com/mmdetection/v2.0/ssd/' + 'ssdlite_mobilenetv2_scratch_600e_coco/ssdlite_mobilenetv2_' + 'scratch_600e_coco_20210629_110627-974d9307.pth', help='Checkpoint file for detection') parser.add_argument( '--enable-human-pose', @@ -48,19 +50,20 @@ def parse_args(): parser.add_argument( '--enable-animal-pose', type=int, - default=1, + default=0, help='Enable animal pose estimation') parser.add_argument( '--human-pose-config', type=str, - default='configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/' - 'hrnet_w48_coco_256x192.py', + default='configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/' + 'coco-wholebody/vipnas_res50_coco_wholebody_256x192_dark.py', help='Config file for human pose') parser.add_argument( '--human-pose-checkpoint', type=str, - default='https://download.openmmlab.com/mmpose/top_down/hrnet/' - 'hrnet_w48_coco_256x192-b9e0b3ab_20200708.pth', + default='https://openmmlab-share.oss-cn-hangzhou.aliyuncs.com/' + 'mmpose/top_down/vipnas/' + 'vipnas_res50_wholebody_256x192_dark-67c0ce35_20211112.pth', help='Checkpoint file for human pose') parser.add_argument( '--human-det-ids', @@ -99,12 +102,10 @@ def parse_args(): parser.add_argument( '--kpt-thr', type=float, default=0.3, help='bbox score threshold') parser.add_argument( - '--show-pose', - type=lambda s: s != 'False', - default=True, - choices=['True', 'False'], - help='Show pose estimation results. Set False to disable the pose' - 'visualization. Default: True') + '--vis-mode', + type=int, + default=2, + help='0-none. 1-detection only. 2-detection and pose.') parser.add_argument( '--sunglasses', action='store_true', help='Apply `sunglasses` effect.') parser.add_argument( @@ -363,7 +364,17 @@ def display(): dataset_name = pose_model.cfg.data['test']['type'] # show pose results - if args.show_pose: + if args.vis_mode == 1: + img = vis_pose_result( + pose_model, + img, + pose_results, + radius=4, + thickness=2, + dataset=dataset_name, + kpt_score_thr=1e7, + bbox_color=bbox_color) + elif args.vis_mode == 2: img = vis_pose_result( pose_model, img, @@ -376,7 +387,10 @@ def display(): # sunglasses effect if args.sunglasses: - if dataset_name == 'TopDownCocoDataset': + if dataset_name in { + 'TopDownCocoDataset', + 'TopDownCocoWholeBodyDataset' + }: left_eye_idx = 1 right_eye_idx = 2 elif dataset_name == 'AnimalPoseDataset': @@ -398,7 +412,10 @@ def display(): right_eye_idx) # bug-eye effect if args.bugeye: - if dataset_name == 'TopDownCocoDataset': + if dataset_name in { + 'TopDownCocoDataset', + 'TopDownCocoWholeBodyDataset' + }: left_eye_idx = 1 right_eye_idx = 2 elif dataset_name == 'AnimalPoseDataset': @@ -461,7 +478,7 @@ def display(): elif keyboard_input == ord('b'): args.bugeye = not args.bugeye elif keyboard_input == ord('v'): - args.show_pose = not args.show_pose + args.vis_mode = (args.vis_mode + 1) % 3 cv2.destroyAllWindows() if vid_out is not None: diff --git a/docs/changelog.md b/docs/changelog.md index 9573a8316a..5580a563d9 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,36 @@ # Changelog +## v0.21.0 (06/12/2021) + +**Highlights** + +- Support ["Learning Temporal Pose Estimation from Sparsely-Labeled Videos"](https://arxiv.org/abs/1906.04016), NeurIPS'2019 ([\#932](https://github.com/open-mmlab/mmpose/pull/932), [\#1006](https://github.com/open-mmlab/mmpose/pull/1006), [\#1036](https://github.com/open-mmlab/mmpose/pull/1036), [\#1060](https://github.com/open-mmlab/mmpose/pull/1060)) @liqikai9 +- Add ViPNAS-MobileNetV3 models ([\#1025](https://github.com/open-mmlab/mmpose/pull/1025)) @luminxu, @jin-s13 +- Add [inference speed benchmark](/docs/inference_speed_summary.md) ([\#1028](https://github.com/open-mmlab/mmpose/pull/1028), [\#1034](https://github.com/open-mmlab/mmpose/pull/1034), [\#1044](https://github.com/open-mmlab/mmpose/pull/1044)) @liqikai9 + +**New Features** + +- Support ["Learning Temporal Pose Estimation from Sparsely-Labeled Videos"](https://arxiv.org/abs/1906.04016), NeurIPS'2019 ([\#932](https://github.com/open-mmlab/mmpose/pull/932), [\#1006](https://github.com/open-mmlab/mmpose/pull/1006), [\#1036](https://github.com/open-mmlab/mmpose/pull/1036)) @liqikai9 +- Add ViPNAS-MobileNetV3 models ([\#1025](https://github.com/open-mmlab/mmpose/pull/1025)) @luminxu, @jin-s13 +- Add light-weight top-down models for whole-body keypoint detection ([\#1009](https://github.com/open-mmlab/mmpose/pull/1009), [\#1020](https://github.com/open-mmlab/mmpose/pull/1020), [\#1055](https://github.com/open-mmlab/mmpose/pull/1055)) @luminxu, @ly015 +- Add HRNet checkpoints with various settings on PoseTrack18 ([\#1035](https://github.com/open-mmlab/mmpose/pull/1035)) @liqikai9 + +**Improvements** + +- Add [inference speed benchmark](/docs/inference_speed_summary.md) ([\#1028](https://github.com/open-mmlab/mmpose/pull/1028), [\#1034](https://github.com/open-mmlab/mmpose/pull/1034), [\#1044](https://github.com/open-mmlab/mmpose/pull/1044)) @liqikai9 +- Update model metafile format ([\#1001](https://github.com/open-mmlab/mmpose/pull/1001)) @ly015 +- Support minus output feature index in mobilenet_v3 ([\#1005](https://github.com/open-mmlab/mmpose/pull/1005)) @luminxu +- Improve documentation quality ([\#1018](https://github.com/open-mmlab/mmpose/pull/1018), [\#1026](https://github.com/open-mmlab/mmpose/pull/1026), [\#1027](https://github.com/open-mmlab/mmpose/pull/1027), [\#1031](https://github.com/open-mmlab/mmpose/pull/1031), [\#1038](https://github.com/open-mmlab/mmpose/pull/1038), [\#1046](https://github.com/open-mmlab/mmpose/pull/1046), [\#1056](https://github.com/open-mmlab/mmpose/pull/1056), [\#1057](https://github.com/open-mmlab/mmpose/pull/1057)) @edybk, @luminxu, @ly015, @jin-s13 +- Set default random seed in training initialization ([\#1030](https://github.com/open-mmlab/mmpose/pull/1030)) @ly015 +- Skip CI when only specific files changed ([\#1041](https://github.com/open-mmlab/mmpose/pull/1041), [\#1059](https://github.com/open-mmlab/mmpose/pull/1059)) @QwQ2000, @ly015 +- Automatically cancel uncompleted action runs when new commit arrives ([\#1053](https://github.com/open-mmlab/mmpose/pull/1053)) @ly015 + +**Bug Fixes** + +- Update pose tracking demo to be compatible with latest mmtracking ([\#1014](https://github.com/open-mmlab/mmpose/pull/1014)) @jin-s13 +- Fix symlink creation failure when installed in Windows environments ([\#1039](https://github.com/open-mmlab/mmpose/pull/1039)) @QwQ2000 +- Fix AP-10K dataset sigmas ([\#1040](https://github.com/open-mmlab/mmpose/pull/1040)) @jin-s13 + ## v0.20.0 (01/11/2021) **Highlights** diff --git a/docs/index.rst b/docs/index.rst index 6b93779f29..7da83cdc3e 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -12,6 +12,7 @@ You can change the documentation language at the lower-left corner of the page. getting_started.md demo.md benchmark.md + inference_speed_summary.md .. toctree:: :maxdepth: 2 diff --git a/docs/inference_speed_summary.md b/docs/inference_speed_summary.md new file mode 100644 index 0000000000..69c94a227c --- /dev/null +++ b/docs/inference_speed_summary.md @@ -0,0 +1,114 @@ +# Inference Speed + +We summarize the model complexity and inference speed of major models in MMPose, including FLOPs, parameter counts and inference speeds on both CPU and GPU devices with different batch sizes. We also compare the mAP of different models on COCO human keypoint dataset, showing the trade-off between model performance and model complexity. + +## Comparison Rules + +To ensure the fairness of the comparison, the comparison experiments are conducted under the same hardware and software environment using the same dataset. We also list the mAP (mean average precision) on COCO human keypoint dataset of the models along with the corresponding config files. + +For model complexity information measurement, we calculate the FLOPs and parameter counts of a model with corresponding input shape. Note that some layers or ops are currently not supported, for example, `DeformConv2d`, so you may need to check if all ops are supported and verify that the flops and parameter counts computation is correct. + +For inference speed, we omit the time for data pre-processing and only measure the time for model forwarding and data post-processing. For each model setting, we keep the same data pre-processing methods to make sure the same feature input. We measure the inference speed on both CPU and GPU devices. For topdown heatmap models, we also test the case when the batch size is larger, e.g., 10, to test model performance in crowded scenes. + +The inference speed is measured with frames per second (FPS), namely the average iterations per second, which can show how fast the model can handle an input. The higher, the faster, the better. + +### Hardware + +- GPU: GeForce GTX 1660 SUPER +- CPU: Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz + +### Software Environment + +- Ubuntu 16.04 +- Python 3.8 +- PyTorch 1.10 +- CUDA 10.2 +- mmcv-full 1.3.17 +- mmpose 0.20.0 + +## Model complexity information and inference speed results of major models in MMPose + +| Algorithm | Model | config | Input size | mAP | Flops (GFLOPs) | Params (M) | GPU Inference Speed
(FPS)1 | GPU Inference Speed
(FPS, bs=10)2 | CPU Inference Speed
(FPS) | CPU Inference Speed
(FPS, bs=10) | +| :--- | :---------------: | :-----------------: |:--------------------: | :----------------------------: | :-----------------: | :---------------: |:--------------------: | :----------------------------: | :-----------------: | :-----------------: | +| topdown_heatmap | Alexnet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/alexnet_coco_256x192.py) | (3, 192, 256) | 0.397 | 1.42 | 5.62 | 229.21 ± 16.91 | 33.52 ± 1.14 | 13.92 ± 0.60 | 1.38 ± 0.02 | +| topdown_heatmap | CPM | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/cpm_coco_256x192.py) | (3, 192, 256) | 0.623 | 63.81 | 31.3 | 11.35 ± 0.22 | 3.87 ± 0.07 | 0.31 ± 0.01 | 0.03 ± 0.00 | +| topdown_heatmap | CPM | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/cpm_coco_384x288.py) | (3, 288, 384) | 0.65 | 143.57 | 31.3 | 7.09 ± 0.14 | 2.10 ± 0.05 | 0.14 ± 0.00 | 0.01 ± 0.00 | +| topdown_heatmap | Hourglass | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hourglass52_coco_256x256.py) | (3, 256, 256) | 0.726 | 28.67 | 94.85 | 25.50 ± 1.68 | 3.99 ± 0.07 | 0.92 ± 0.03 | 0.09 ± 0.00 | +| topdown_heatmap | Hourglass | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hourglass52_coco_384x384.py) | (3, 384, 384) | 0.746 | 64.5 | 94.85 | 14.74 ± 0.8 | 1.86 ± 0.06 | 0.43 ± 0.03 | 0.04 ± 0.00 | +| topdown_heatmap | HRNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w32_coco_256x192.py) | (3, 192, 256) | 0.746 | 7.7 | 28.54 | 22.73 ± 1.12 | 6.60 ± 0.14 | 2.73 ± 0.11 | 0.32 ± 0.00 | +| topdown_heatmap | HRNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w32_coco_384x288.py) | (3, 288, 384) | 0.76 | 17.33 | 28.54 | 22.78 ± 1.21 | 3.28 ± 0.08 | 1.35 ± 0.05 | 0.14 ± 0.00 | +| topdown_heatmap | HRNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w48_coco_256x192.py) | (3, 192, 256) | 0.756 | 15.77 | 63.6 | 22.01 ± 1.10 | 3.74 ± 0.10 | 1.46 ± 0.05 | 0.16 ± 0.00 | +| topdown_heatmap | HRNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w48_coco_384x288.py) | (3, 288, 384) | 0.767 | 35.48 | 63.6 | 15.03 ± 1.03 | 1.80 ± 0.03 | 0.68 ± 0.02 | 0.07 ± 0.00 | +| topdown_heatmap | LiteHRNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/litehrnet_30_coco_256x192.py) | (3, 192, 256) | 0.675 | 0.42 | 1.76 | 11.86 ± 0.38 | 9.77 ± 0.23 | 5.84 ± 0.39 | 0.80 ± 0.00 | +| topdown_heatmap | LiteHRNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/litehrnet_30_coco_384x288.py) | (3, 288, 384) | 0.7 | 0.95 | 1.76 | 11.52 ± 0.39 | 5.18 ± 0.11 | 3.45 ± 0.22 | 0.37 ± 0.00 | +| topdown_heatmap | MobilenetV2 | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/mobilenetv2_coco_256x192.py) | (3, 192, 256) | 0.646 | 1.59 | 9.57 | 91.82 ± 10.98 | 17.85 ± 0.32 | 10.44 ± 0.80 | 1.05 ± 0.01 | +| topdown_heatmap | MobilenetV2 | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/mobilenetv2_coco_384x288.py) | (3, 288, 384) | 0.673 | 3.57 | 9.57 | 71.27 ± 6.82 | 8.00 ± 0.15 | 5.01 ± 0.32 | 0.46 ± 0.00 | +| topdown_heatmap | MSPN | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/mspn50_coco_256x192.py) | (3, 192, 256) | 0.723 | 5.11 | 25.11 | 59.65 ± 3.74 | 9.51 ± 0.15 | 3.98 ± 0.21 | 0.43 ± 0.00 | +| topdown_heatmap | MSPN | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/2xmspn50_coco_256x192.py) | (3, 192, 256) | 0.754 | 11.35 | 56.8 | 30.64 ± 2.61 | 4.74 ± 0.12 | 1.85 ± 0.08 | 0.20 ± 0.00 | +| topdown_heatmap | MSPN | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/3xmspn50_coco_256x192.py) | (3, 192, 256) | 0.758 | 17.59 | 88.49 | 20.90 ± 1.82 | 3.22 ± 0.08 | 1.23 ± 0.04 | 0.13 ± 0.00 | +| topdown_heatmap | MSPN | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/4xmspn50_coco_256x192.py) | (3, 192, 256) | 0.764 | 23.82 | 120.18 | 15.79 ± 1.14 | 2.45 ± 0.05 | 0.90 ± 0.03 | 0.10 ± 0.00 | +| topdown_heatmap | ResNest | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest50_coco_256x192.py) | (3, 192, 256) | 0.721 | 6.73 | 35.93 | 48.36 ± 4.12 | 7.48 ± 0.13 | 3.00 ± 0.13 | 0.33 ± 0.00 | +| topdown_heatmap | ResNest | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest50_coco_384x288.py) | (3, 288, 384) | 0.737 | 15.14 | 35.93 | 30.30 ± 2.30 | 3.62 ± 0.09 | 1.43 ± 0.05 | 0.13 ± 0.00 | +| topdown_heatmap | ResNest | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest101_coco_256x192.py) | (3, 192, 256) | 0.725 | 10.38 | 56.61 | 29.21 ± 1.98 | 5.30 ± 0.12 | 2.01 ± 0.08 | 0.22 ± 0.00 | +| topdown_heatmap | ResNest | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest101_coco_384x288.py) | (3, 288, 384) | 0.746 | 23.36 | 56.61 | 19.02 ± 1.40 | 2.59 ± 0.05 | 0.97 ± 0.03 | 0.09 ± 0.00 | +| topdown_heatmap | ResNest | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest200_coco_256x192.py) | (3, 192, 256) | 0.732 | 17.5 | 78.54 | 16.11 ± 0.71 | 3.29 ± 0.07 | 1.33 ± 0.02 | 0.14 ± 0.00 | +| topdown_heatmap | ResNest | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest200_coco_384x288.py) | (3, 288, 384) | 0.754 | 39.37 | 78.54 | 11.48 ± 0.68 | 1.58 ± 0.02 | 0.63 ± 0.01 | 0.06 ± 0.00 | +| topdown_heatmap | ResNest | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest269_coco_256x192.py) | (3, 192, 256) | 0.738 | 22.45 | 119.27 | 12.02 ± 0.47 | 2.60 ± 0.05 | 1.03 ± 0.01 | 0.11 ± 0.00 | +| topdown_heatmap | ResNest | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest269_coco_384x288.py) | (3, 288, 384) | 0.755 | 50.5 | 119.27 | 8.82 ± 0.42 | 1.24 ± 0.02 | 0.49 ± 0.01 | 0.05 ± 0.00 | +| topdown_heatmap | ResNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res50_coco_256x192.py) | (3, 192, 256) | 0.718 | 5.46 | 34 | 64.23 ± 6.05 | 9.33 ± 0.21 | 4.00 ± 0.10 | 0.41 ± 0.00 | +| topdown_heatmap | ResNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res50_coco_384x288.py) | (3, 288, 384) | 0.731 | 12.29 | 34 | 36.78 ± 3.05 | 4.48 ± 0.12 | 1.92 ± 0.04 | 0.19 ± 0.00 | +| topdown_heatmap | ResNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res101_coco_256x192.py) | (3, 192, 256) | 0.726 | 9.11 | 52.99 | 43.35 ± 4.36 | 6.44 ± 0.14 | 2.57 ± 0.05 | 0.27 ± 0.00 | +| topdown_heatmap | ResNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res101_coco_384x288.py) | (3, 288, 384) | 0.748 | 20.5 | 52.99 | 23.29 ± 1.83 | 3.12 ± 0.09 | 1.23 ± 0.03 | 0.11 ± 0.00 | +| topdown_heatmap | ResNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res152_coco_256x192.py) | (3, 192, 256) | 0.735 | 12.77 | 68.64 | 32.31 ± 2.84 | 4.88 ± 0.17 | 1.89 ± 0.03 | 0.20 ± 0.00 | +| topdown_heatmap | ResNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res152_coco_384x288.py) | (3, 288, 384) | 0.75 | 28.73 | 68.64 | 17.32 ± 1.17 | 2.40 ± 0.04 | 0.91 ± 0.01 | 0.08 ± 0.00 | +| topdown_heatmap | ResNetV1d | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d50_coco_256x192.py) | (3, 192, 256) | 0.722 | 5.7 | 34.02 | 63.44 ± 6.09 | 9.09 ± 0.10 | 3.82 ± 0.10 | 0.39 ± 0.00 | +| topdown_heatmap | ResNetV1d | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d50_coco_384x288.py) | (3, 288, 384) | 0.73 | 12.82 | 34.02 | 36.21 ± 3.10 | 4.30 ± 0.12 | 1.82 ± 0.04 | 0.16 ± 0.00 | +| topdown_heatmap | ResNetV1d | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d101_coco_256x192.py) | (3, 192, 256) | 0.731 | 9.35 | 53.01 | 41.48 ± 3.76 | 6.33 ± 0.15 | 2.48 ± 0.05 | 0.26 ± 0.00 | +| topdown_heatmap | ResNetV1d | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d101_coco_384x288.py) | (3, 288, 384) | 0.748 | 21.04 | 53.01 | 23.49 ± 1.76 | 3.07 ± 0.07 | 1.19 ± 0.02 | 0.11 ± 0.00 | +| topdown_heatmap | ResNetV1d | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d152_coco_256x192.py) | (3, 192, 256) | 0.737 | 13.01 | 68.65 | 31.96 ± 2.87 | 4.69 ± 0.18 | 1.87 ± 0.02 | 0.19 ± 0.00 | +| topdown_heatmap | ResNetV1d | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d152_coco_384x288.py) | (3, 288, 384) | 0.752 | 29.26 | 68.65 | 17.31 ± 1.13 | 2.32 ± 0.04 | 0.88 ± 0.01 | 0.08 ± 0.00 | +| topdown_heatmap | ResNext | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext50_coco_256x192.py) | (3, 192, 256) | 0.714 | 5.61 | 33.47 | 48.34 ± 3.85 | 7.66 ± 0.13 | 3.71 ± 0.10 | 0.37 ± 0.00 | +| topdown_heatmap | ResNext | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext50_coco_384x288.py) | (3, 288, 384) | 0.724 | 12.62 | 33.47 | 30.66 ± 2.38 | 3.64 ± 0.11 | 1.73 ± 0.03 | 0.15 ± 0.00 | +| topdown_heatmap | ResNext | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext101_coco_256x192.py) | (3, 192, 256) | 0.726 | 9.29 | 52.62 | 27.33 ± 2.35 | 5.09 ± 0.13 | 2.45 ± 0.04 | 0.25 ± 0.00 | +| topdown_heatmap | ResNext | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext101_coco_384x288.py) | (3, 288, 384) | 0.743 | 20.91 | 52.62 | 18.19 ± 1.38 | 2.42 ± 0.04 | 1.15 ± 0.01 | 0.10 ± 0.00 | +| topdown_heatmap | ResNext | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext152_coco_256x192.py) | (3, 192, 256) | 0.73 | 12.98 | 68.39 | 19.61 ± 1.61 | 3.80 ± 0.13 | 1.83 ± 0.02 | 0.18 ± 0.00 | +| topdown_heatmap | ResNext | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext152_coco_384x288.py) | (3, 288, 384) | 0.742 | 29.21 | 68.39 | 13.14 ± 0.75 | 1.82 ± 0.03 | 0.85 ± 0.01 | 0.08 ± 0.00 | +| topdown_heatmap | RSN | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/rsn18_coco_256x192.py) | (3, 192, 256) | 0.704 | 2.27 | 9.14 | 47.80 ± 4.50 | 13.68 ± 0.25 | 6.70 ± 0.28 | 0.70 ± 0.00 | +| topdown_heatmap | RSN | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/rsn50_coco_256x192.py) | (3, 192, 256) | 0.723 | 4.11 | 19.33 | 27.22 ± 1.61 | 8.81 ± 0.13 | 3.98 ± 0.12 | 0.45 ± 0.00 | +| topdown_heatmap | RSN | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/2xrsn50_coco_256x192.py) | (3, 192, 256) | 0.745 | 8.29 | 39.26 | 13.88 ± 0.64 | 4.78 ± 0.13 | 2.02 ± 0.04 | 0.23 ± 0.00 | +| topdown_heatmap | RSN | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/3xrsn50_coco_256x192.py) | (3, 192, 256) | 0.75 | 12.47 | 59.2 | 9.40 ± 0.32 | 3.37 ± 0.09 | 1.34 ± 0.03 | 0.15 ± 0.00 | +| topdown_heatmap | SCNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/scnet50_coco_256x192.py) | (3, 192, 256) | 0.728 | 5.31 | 34.01 | 40.76 ± 3.08 | 8.35 ± 0.19 | 3.82 ± 0.08 | 0.40 ± 0.00 | +| topdown_heatmap | SCNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/scnet50_coco_384x288.py) | (3, 288, 384) | 0.751 | 11.94 | 34.01 | 32.61 ± 2.97 | 4.19 ± 0.10 | 1.85 ± 0.03 | 0.17 ± 0.00 | +| topdown_heatmap | SCNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/scnet101_coco_256x192.py) | (3, 192, 256) | 0.733 | 8.51 | 53.01 | 24.28 ± 1.19 | 5.80 ± 0.13 | 2.49 ± 0.05 | 0.27 ± 0.00 | +| topdown_heatmap | SCNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/scnet101_coco_384x288.py) | (3, 288, 384) | 0.752 | 19.14 | 53.01 | 20.43 ± 1.76 | 2.91 ± 0.06 | 1.23 ± 0.02 | 0.12 ± 0.00 | +| topdown_heatmap | SeresNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet50_coco_256x192.py) | (3, 192, 256) | 0.728 | 5.47 | 36.53 | 54.83 ± 4.94 | 8.80 ± 0.12 | 3.85 ± 0.10 | 0.40 ± 0.00 | +| topdown_heatmap | SeresNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet50_coco_384x288.py) | (3, 288, 384) | 0.748 | 12.3 | 36.53 | 33.00 ± 2.67 | 4.26 ± 0.12 | 1.86 ± 0.04 | 0.17 ± 0.00 | +| topdown_heatmap | SeresNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet101_coco_256x192.py) | (3, 192, 256) | 0.734 | 9.13 | 57.77 | 33.90 ± 2.65 | 6.01 ± 0.13 | 2.48 ± 0.05 | 0.26 ± 0.00 | +| topdown_heatmap | SeresNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet101_coco_384x288.py) | (3, 288, 384) | 0.753 | 20.53 | 57.77 | 20.57 ± 1.57 | 2.96 ± 0.07 | 1.20 ± 0.02 | 0.11 ± 0.00 | +| topdown_heatmap | SeresNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet152_coco_256x192.py) | (3, 192, 256) | 0.73 | 12.79 | 75.26 | 24.25 ± 1.95 | 4.45 ± 0.10 | 1.82 ± 0.02 | 0.19 ± 0.00 | +| topdown_heatmap | SeresNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet152_coco_384x288.py) | (3, 288, 384) | 0.753 | 28.76 | 75.26 | 15.11 ± 0.99 | 2.25 ± 0.04 | 0.88 ± 0.01 | 0.08 ± 0.00 | +| topdown_heatmap | ShuffleNetV1 | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv1_coco_256x192.py) | (3, 192, 256) | 0.585 | 1.35 | 6.94 | 80.79 ± 8.95 | 21.91 ± 0.46 | 11.84 ± 0.59 | 1.25 ± 0.01 | +| topdown_heatmap | ShuffleNetV1 | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv1_coco_384x288.py) | (3, 288, 384) | 0.622 | 3.05 | 6.94 | 63.45 ± 5.21 | 9.84 ± 0.10 | 6.01 ± 0.31 | 0.57 ± 0.00 | +| topdown_heatmap | ShuffleNetV2 | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv2_coco_256x192.py) | (3, 192, 256) | 0.599 | 1.37 | 7.55 | 82.36 ± 7.30 | 22.68 ± 0.53 | 12.40 ± 0.66 | 1.34 ± 0.02 | +| topdown_heatmap | ShuffleNetV2 | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv2_coco_384x288.py) | (3, 288, 384) | 0.636 | 3.08 | 7.55 | 63.63 ± 5.72 | 10.47 ± 0.16 | 6.32 ± 0.28 | 0.63 ± 0.01 | +| topdown_heatmap | VGG | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vgg16_bn_coco_256x192.py) | (3, 192, 256) | 0.698 | 16.22 | 18.92 | 51.91 ± 2.98 | 6.18 ± 0.13 | 1.64 ± 0.03 | 0.15 ± 0.00 | +| topdown_heatmap | VIPNAS + Res50 | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vipnas_res50_coco_256x192.py) | (3, 192, 256) | 0.711 | 1.49 | 7.29 | 34.88 ± 2.45 | 10.29 ± 0.13 | 6.51 ± 0.17 | 0.65 ± 0.00 | +| topdown_heatmap | VIPNAS + MobileNetV3 | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vipnas_mbv3_coco_256x192.py) | (3, 192, 256) | 0.7 | 0.76 | 5.9 | 53.62 ± 6.59 | 11.54 ± 0.18 | 1.26 ± 0.02 | 0.13 ± 0.00 | +| Associative Embedding | HigherHRNet | [config](/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_w32_coco_512x512.py) | (3, 512, 512) | 0.677 | 46.58 | 28.65 | 7.80 ± 0.67 | / | 0.28 ± 0.02 | / | +| Associative Embedding | HigherHRNet | [config](/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_w32_coco_640x640.py) | (3, 640, 640) | 0.686 | 72.77 | 28.65 | 5.30 ± 0.37 | / | 0.17 ± 0.01 | / | +| Associative Embedding | HigherHRNet | [config](/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_w48_coco_512x512.py) | (3, 512, 512) | 0.686 | 96.17 | 63.83 | 4.55 ± 0.35 | / | 0.15 ± 0.01 | / | +| Associative Embedding | Hourglass | [config](/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hourglass_ae_coco_512x512.py) | (3, 512, 512) | 0.613 | 221.58 | 138.86 | 3.55 ± 0.24 | / | 0.08 ± 0.00 | / | +| Associative Embedding | HRNet | [config](/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_w32_coco_512x512.py) | (3, 512, 512) | 0.654 | 41.1 | 28.54 | 8.93 ± 0.76 | / | 0.33 ± 0.02 | / | +| Associative Embedding | HRNet | [config](/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_w48_coco_512x512.py) | (3, 512, 512) | 0.665 | 84.12 | 63.6 | 5.27 ± 0.43 | / | 0.18 ± 0.01 | / | +| Associative Embedding | MobilenetV2 | [config](/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/mobilenetv2_coco_512x512.py) | (3, 512, 512) | 0.38 | 8.54 | 9.57 | 21.24 ± 1.34 | / | 0.81 ± 0.06 | / | +| Associative Embedding | ResNet | [config](/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/res50_coco_512x512.py) | (3, 512, 512) | 0.466 | 29.2 | 34 | 11.71 ± 0.97 | / | 0.41 ± 0.02 | / | +| Associative Embedding | ResNet | [config](/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/res50_coco_640x640.py) | (3, 640, 640) | 0.479 | 45.62 | 34 | 8.20 ± 0.58 | / | 0.26 ± 0.02 | / | +| Associative Embedding | ResNet | [config](/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/res101_coco_512x512.py) | (3, 512, 512) | 0.554 | 48.67 | 53 | 8.26 ± 0.68 | / | 0.28 ± 0.02 | / | +| Associative Embedding | ResNet | [config](/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/res152_coco_512x512.py) | (3, 512, 512) | 0.595 | 68.17 | 68.64 | 6.25 ± 0.53 | / | 0.21 ± 0.01 | / | +| DeepPose | ResNet | [config](/configs/body/2d_kpt_sview_rgb_img/deeppose/coco/res50_coco_256x192.py) | (3, 192, 256) | 0.526 | 4.04 | 23.58 | 82.20 ± 7.54 | / | 5.50 ± 0.18 | / | +| DeepPose | ResNet | [config](/configs/body/2d_kpt_sview_rgb_img/deeppose/coco/res101_coco_256x192.py) | (3, 192, 256) | 0.56 | 7.69 | 42.57 | 48.93 ± 4.02 | / | 3.10 ± 0.07 | / | +| DeepPose | ResNet | [config](/configs/body/2d_kpt_sview_rgb_img/deeppose/coco/res152_coco_256x192.py) | (3, 192, 256) | 0.583 | 11.34 | 58.21 | 35.06 ± 3.50 | / | 2.19 ± 0.04 | / | + +1 Note that we run multiple iterations and record the time of each iteration, and the mean and standard deviation value of FPS are both shown. + +2 The FPS is defined as the average iterations per second, regardless of the batch size in this iteration. diff --git a/docs/papers/algorithms/posewarper.md b/docs/papers/algorithms/posewarper.md new file mode 100644 index 0000000000..0ec8441f16 --- /dev/null +++ b/docs/papers/algorithms/posewarper.md @@ -0,0 +1,17 @@ +# Learning Temporal Pose Estimation from Sparsely-Labeled Videos + + + +
+PoseWarper (NeurIPS'2019) + +```bibtex +@inproceedings{NIPS2019_gberta, +title = {Learning Temporal Pose Estimation from Sparsely Labeled Videos}, +author = {Bertasius, Gedas and Feichtenhofer, Christoph, and Tran, Du and Shi, Jianbo, and Torresani, Lorenzo}, +booktitle = {Advances in Neural Information Processing Systems 33}, +year = {2019}, +} +``` + +
diff --git a/docs_zh-CN/index.rst b/docs_zh-CN/index.rst index 114cdbc4a6..d24962b126 100644 --- a/docs_zh-CN/index.rst +++ b/docs_zh-CN/index.rst @@ -12,6 +12,7 @@ You can change the documentation language at the lower-left corner of the page. getting_started.md demo.md benchmark.md + inference_speed_summary.md .. toctree:: :maxdepth: 2 diff --git a/docs_zh-CN/inference_speed_summary.md b/docs_zh-CN/inference_speed_summary.md new file mode 100644 index 0000000000..f5f9de0494 --- /dev/null +++ b/docs_zh-CN/inference_speed_summary.md @@ -0,0 +1,114 @@ +# 推理速度总结 + +这里总结了 MMPose 中主要模型的复杂度信息和推理速度,包括模型的计算复杂度、参数数量,以及以不同的批处理大小在 CPU 和 GPU 上的推理速度。还比较了不同模型在 COCO 人体关键点数据集上的全类别平均正确率,展示了模型性能和模型复杂度之间的折中。 + +## 比较规则 + +为了保证比较的公平性,在相同的硬件和软件环境下使用相同的数据集进行了比较实验。还列出了模型在 COCO 人体关键点数据集上的全类别平均正确率以及相应的配置文件。 + +对于模型复杂度信息,计算具有相应输入形状的模型的浮点数运算次数和参数数量。请注意,当前某些网络层或算子还未支持,如 `DeformConv2d` ,因此您可能需要检查是否所有操作都已支持,并验证浮点数运算次数和参数数量的计算是否正确。 + +对于推理速度,忽略了数据预处理的时间,只测量模型前向计算和数据后处理的时间。对于每个模型设置,保持相同的数据预处理方法,以确保相同的特征输入。分别测量了在 CPU 和 GPU 设备上的推理速度。对于自上而下的热图模型,我们还测试了批处理量较大(例如,10)情况,以测试拥挤场景下的模型性能。 + +推断速度是用每秒处理的帧数 (FPS) 来衡量的,即每秒模型的平均迭代次数,它可以显示模型处理输入的速度。这个数值越高,表示推理速度越快,模型性能越好。 + +### 硬件 + +- GPU: GeForce GTX 1660 SUPER +- CPU: Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz + +### 软件环境 + +- Ubuntu 16.04 +- Python 3.8 +- PyTorch 1.10 +- CUDA 10.2 +- mmcv-full 1.3.17 +- mmpose 0.20.0 + +## MMPose 中主要模型的复杂度信息和推理速度总结 + +| Algorithm | Model | config | Input size | mAP | Flops (GFLOPs) | Params (M) | GPU Inference Speed
(FPS)1 | GPU Inference Speed
(FPS, bs=10)2 | CPU Inference Speed
(FPS) | CPU Inference Speed
(FPS, bs=10) | +| :--- | :---------------: | :-----------------: |:--------------------: | :----------------------------: | :-----------------: | :---------------: |:--------------------: | :----------------------------: | :-----------------: | :-----------------: | +| topdown_heatmap | Alexnet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/alexnet_coco_256x192.py) | (3, 192, 256) | 0.397 | 1.42 | 5.62 | 229.21 ± 16.91 | 33.52 ± 1.14 | 13.92 ± 0.60 | 1.38 ± 0.02 | +| topdown_heatmap | CPM | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/cpm_coco_256x192.py) | (3, 192, 256) | 0.623 | 63.81 | 31.3 | 11.35 ± 0.22 | 3.87 ± 0.07 | 0.31 ± 0.01 | 0.03 ± 0.00 | +| topdown_heatmap | CPM | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/cpm_coco_384x288.py) | (3, 288, 384) | 0.65 | 143.57 | 31.3 | 7.09 ± 0.14 | 2.10 ± 0.05 | 0.14 ± 0.00 | 0.01 ± 0.00 | +| topdown_heatmap | Hourglass | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hourglass52_coco_256x256.py) | (3, 256, 256) | 0.726 | 28.67 | 94.85 | 25.50 ± 1.68 | 3.99 ± 0.07 | 0.92 ± 0.03 | 0.09 ± 0.00 | +| topdown_heatmap | Hourglass | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hourglass52_coco_384x384.py) | (3, 384, 384) | 0.746 | 64.5 | 94.85 | 14.74 ± 0.8 | 1.86 ± 0.06 | 0.43 ± 0.03 | 0.04 ± 0.00 | +| topdown_heatmap | HRNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w32_coco_256x192.py) | (3, 192, 256) | 0.746 | 7.7 | 28.54 | 22.73 ± 1.12 | 6.60 ± 0.14 | 2.73 ± 0.11 | 0.32 ± 0.00 | +| topdown_heatmap | HRNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w32_coco_384x288.py) | (3, 288, 384) | 0.76 | 17.33 | 28.54 | 22.78 ± 1.21 | 3.28 ± 0.08 | 1.35 ± 0.05 | 0.14 ± 0.00 | +| topdown_heatmap | HRNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w48_coco_256x192.py) | (3, 192, 256) | 0.756 | 15.77 | 63.6 | 22.01 ± 1.10 | 3.74 ± 0.10 | 1.46 ± 0.05 | 0.16 ± 0.00 | +| topdown_heatmap | HRNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/hrnet_w48_coco_384x288.py) | (3, 288, 384) | 0.767 | 35.48 | 63.6 | 15.03 ± 1.03 | 1.80 ± 0.03 | 0.68 ± 0.02 | 0.07 ± 0.00 | +| topdown_heatmap | LiteHRNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/litehrnet_30_coco_256x192.py) | (3, 192, 256) | 0.675 | 0.42 | 1.76 | 11.86 ± 0.38 | 9.77 ± 0.23 | 5.84 ± 0.39 | 0.80 ± 0.00 | +| topdown_heatmap | LiteHRNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/litehrnet_30_coco_384x288.py) | (3, 288, 384) | 0.7 | 0.95 | 1.76 | 11.52 ± 0.39 | 5.18 ± 0.11 | 3.45 ± 0.22 | 0.37 ± 0.00 | +| topdown_heatmap | MobilenetV2 | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/mobilenetv2_coco_256x192.py) | (3, 192, 256) | 0.646 | 1.59 | 9.57 | 91.82 ± 10.98 | 17.85 ± 0.32 | 10.44 ± 0.80 | 1.05 ± 0.01 | +| topdown_heatmap | MobilenetV2 | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/mobilenetv2_coco_384x288.py) | (3, 288, 384) | 0.673 | 3.57 | 9.57 | 71.27 ± 6.82 | 8.00 ± 0.15 | 5.01 ± 0.32 | 0.46 ± 0.00 | +| topdown_heatmap | MSPN | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/mspn50_coco_256x192.py) | (3, 192, 256) | 0.723 | 5.11 | 25.11 | 59.65 ± 3.74 | 9.51 ± 0.15 | 3.98 ± 0.21 | 0.43 ± 0.00 | +| topdown_heatmap | MSPN | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/2xmspn50_coco_256x192.py) | (3, 192, 256) | 0.754 | 11.35 | 56.8 | 30.64 ± 2.61 | 4.74 ± 0.12 | 1.85 ± 0.08 | 0.20 ± 0.00 | +| topdown_heatmap | MSPN | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/3xmspn50_coco_256x192.py) | (3, 192, 256) | 0.758 | 17.59 | 88.49 | 20.90 ± 1.82 | 3.22 ± 0.08 | 1.23 ± 0.04 | 0.13 ± 0.00 | +| topdown_heatmap | MSPN | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/4xmspn50_coco_256x192.py) | (3, 192, 256) | 0.764 | 23.82 | 120.18 | 15.79 ± 1.14 | 2.45 ± 0.05 | 0.90 ± 0.03 | 0.10 ± 0.00 | +| topdown_heatmap | ResNest | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest50_coco_256x192.py) | (3, 192, 256) | 0.721 | 6.73 | 35.93 | 48.36 ± 4.12 | 7.48 ± 0.13 | 3.00 ± 0.13 | 0.33 ± 0.00 | +| topdown_heatmap | ResNest | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest50_coco_384x288.py) | (3, 288, 384) | 0.737 | 15.14 | 35.93 | 30.30 ± 2.30 | 3.62 ± 0.09 | 1.43 ± 0.05 | 0.13 ± 0.00 | +| topdown_heatmap | ResNest | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest101_coco_256x192.py) | (3, 192, 256) | 0.725 | 10.38 | 56.61 | 29.21 ± 1.98 | 5.30 ± 0.12 | 2.01 ± 0.08 | 0.22 ± 0.00 | +| topdown_heatmap | ResNest | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest101_coco_384x288.py) | (3, 288, 384) | 0.746 | 23.36 | 56.61 | 19.02 ± 1.40 | 2.59 ± 0.05 | 0.97 ± 0.03 | 0.09 ± 0.00 | +| topdown_heatmap | ResNest | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest200_coco_256x192.py) | (3, 192, 256) | 0.732 | 17.5 | 78.54 | 16.11 ± 0.71 | 3.29 ± 0.07 | 1.33 ± 0.02 | 0.14 ± 0.00 | +| topdown_heatmap | ResNest | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest200_coco_384x288.py) | (3, 288, 384) | 0.754 | 39.37 | 78.54 | 11.48 ± 0.68 | 1.58 ± 0.02 | 0.63 ± 0.01 | 0.06 ± 0.00 | +| topdown_heatmap | ResNest | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest269_coco_256x192.py) | (3, 192, 256) | 0.738 | 22.45 | 119.27 | 12.02 ± 0.47 | 2.60 ± 0.05 | 1.03 ± 0.01 | 0.11 ± 0.00 | +| topdown_heatmap | ResNest | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnest269_coco_384x288.py) | (3, 288, 384) | 0.755 | 50.5 | 119.27 | 8.82 ± 0.42 | 1.24 ± 0.02 | 0.49 ± 0.01 | 0.05 ± 0.00 | +| topdown_heatmap | ResNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res50_coco_256x192.py) | (3, 192, 256) | 0.718 | 5.46 | 34 | 64.23 ± 6.05 | 9.33 ± 0.21 | 4.00 ± 0.10 | 0.41 ± 0.00 | +| topdown_heatmap | ResNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res50_coco_384x288.py) | (3, 288, 384) | 0.731 | 12.29 | 34 | 36.78 ± 3.05 | 4.48 ± 0.12 | 1.92 ± 0.04 | 0.19 ± 0.00 | +| topdown_heatmap | ResNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res101_coco_256x192.py) | (3, 192, 256) | 0.726 | 9.11 | 52.99 | 43.35 ± 4.36 | 6.44 ± 0.14 | 2.57 ± 0.05 | 0.27 ± 0.00 | +| topdown_heatmap | ResNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res101_coco_384x288.py) | (3, 288, 384) | 0.748 | 20.5 | 52.99 | 23.29 ± 1.83 | 3.12 ± 0.09 | 1.23 ± 0.03 | 0.11 ± 0.00 | +| topdown_heatmap | ResNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res152_coco_256x192.py) | (3, 192, 256) | 0.735 | 12.77 | 68.64 | 32.31 ± 2.84 | 4.88 ± 0.17 | 1.89 ± 0.03 | 0.20 ± 0.00 | +| topdown_heatmap | ResNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/res152_coco_384x288.py) | (3, 288, 384) | 0.75 | 28.73 | 68.64 | 17.32 ± 1.17 | 2.40 ± 0.04 | 0.91 ± 0.01 | 0.08 ± 0.00 | +| topdown_heatmap | ResNetV1d | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d50_coco_256x192.py) | (3, 192, 256) | 0.722 | 5.7 | 34.02 | 63.44 ± 6.09 | 9.09 ± 0.10 | 3.82 ± 0.10 | 0.39 ± 0.00 | +| topdown_heatmap | ResNetV1d | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d50_coco_384x288.py) | (3, 288, 384) | 0.73 | 12.82 | 34.02 | 36.21 ± 3.10 | 4.30 ± 0.12 | 1.82 ± 0.04 | 0.16 ± 0.00 | +| topdown_heatmap | ResNetV1d | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d101_coco_256x192.py) | (3, 192, 256) | 0.731 | 9.35 | 53.01 | 41.48 ± 3.76 | 6.33 ± 0.15 | 2.48 ± 0.05 | 0.26 ± 0.00 | +| topdown_heatmap | ResNetV1d | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d101_coco_384x288.py) | (3, 288, 384) | 0.748 | 21.04 | 53.01 | 23.49 ± 1.76 | 3.07 ± 0.07 | 1.19 ± 0.02 | 0.11 ± 0.00 | +| topdown_heatmap | ResNetV1d | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d152_coco_256x192.py) | (3, 192, 256) | 0.737 | 13.01 | 68.65 | 31.96 ± 2.87 | 4.69 ± 0.18 | 1.87 ± 0.02 | 0.19 ± 0.00 | +| topdown_heatmap | ResNetV1d | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnetv1d152_coco_384x288.py) | (3, 288, 384) | 0.752 | 29.26 | 68.65 | 17.31 ± 1.13 | 2.32 ± 0.04 | 0.88 ± 0.01 | 0.08 ± 0.00 | +| topdown_heatmap | ResNext | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext50_coco_256x192.py) | (3, 192, 256) | 0.714 | 5.61 | 33.47 | 48.34 ± 3.85 | 7.66 ± 0.13 | 3.71 ± 0.10 | 0.37 ± 0.00 | +| topdown_heatmap | ResNext | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext50_coco_384x288.py) | (3, 288, 384) | 0.724 | 12.62 | 33.47 | 30.66 ± 2.38 | 3.64 ± 0.11 | 1.73 ± 0.03 | 0.15 ± 0.00 | +| topdown_heatmap | ResNext | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext101_coco_256x192.py) | (3, 192, 256) | 0.726 | 9.29 | 52.62 | 27.33 ± 2.35 | 5.09 ± 0.13 | 2.45 ± 0.04 | 0.25 ± 0.00 | +| topdown_heatmap | ResNext | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext101_coco_384x288.py) | (3, 288, 384) | 0.743 | 20.91 | 52.62 | 18.19 ± 1.38 | 2.42 ± 0.04 | 1.15 ± 0.01 | 0.10 ± 0.00 | +| topdown_heatmap | ResNext | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext152_coco_256x192.py) | (3, 192, 256) | 0.73 | 12.98 | 68.39 | 19.61 ± 1.61 | 3.80 ± 0.13 | 1.83 ± 0.02 | 0.18 ± 0.00 | +| topdown_heatmap | ResNext | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/resnext152_coco_384x288.py) | (3, 288, 384) | 0.742 | 29.21 | 68.39 | 13.14 ± 0.75 | 1.82 ± 0.03 | 0.85 ± 0.01 | 0.08 ± 0.00 | +| topdown_heatmap | RSN | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/rsn18_coco_256x192.py) | (3, 192, 256) | 0.704 | 2.27 | 9.14 | 47.80 ± 4.50 | 13.68 ± 0.25 | 6.70 ± 0.28 | 0.70 ± 0.00 | +| topdown_heatmap | RSN | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/rsn50_coco_256x192.py) | (3, 192, 256) | 0.723 | 4.11 | 19.33 | 27.22 ± 1.61 | 8.81 ± 0.13 | 3.98 ± 0.12 | 0.45 ± 0.00 | +| topdown_heatmap | RSN | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/2xrsn50_coco_256x192.py) | (3, 192, 256) | 0.745 | 8.29 | 39.26 | 13.88 ± 0.64 | 4.78 ± 0.13 | 2.02 ± 0.04 | 0.23 ± 0.00 | +| topdown_heatmap | RSN | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/3xrsn50_coco_256x192.py) | (3, 192, 256) | 0.75 | 12.47 | 59.2 | 9.40 ± 0.32 | 3.37 ± 0.09 | 1.34 ± 0.03 | 0.15 ± 0.00 | +| topdown_heatmap | SCNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/scnet50_coco_256x192.py) | (3, 192, 256) | 0.728 | 5.31 | 34.01 | 40.76 ± 3.08 | 8.35 ± 0.19 | 3.82 ± 0.08 | 0.40 ± 0.00 | +| topdown_heatmap | SCNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/scnet50_coco_384x288.py) | (3, 288, 384) | 0.751 | 11.94 | 34.01 | 32.61 ± 2.97 | 4.19 ± 0.10 | 1.85 ± 0.03 | 0.17 ± 0.00 | +| topdown_heatmap | SCNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/scnet101_coco_256x192.py) | (3, 192, 256) | 0.733 | 8.51 | 53.01 | 24.28 ± 1.19 | 5.80 ± 0.13 | 2.49 ± 0.05 | 0.27 ± 0.00 | +| topdown_heatmap | SCNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/scnet101_coco_384x288.py) | (3, 288, 384) | 0.752 | 19.14 | 53.01 | 20.43 ± 1.76 | 2.91 ± 0.06 | 1.23 ± 0.02 | 0.12 ± 0.00 | +| topdown_heatmap | SeresNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet50_coco_256x192.py) | (3, 192, 256) | 0.728 | 5.47 | 36.53 | 54.83 ± 4.94 | 8.80 ± 0.12 | 3.85 ± 0.10 | 0.40 ± 0.00 | +| topdown_heatmap | SeresNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet50_coco_384x288.py) | (3, 288, 384) | 0.748 | 12.3 | 36.53 | 33.00 ± 2.67 | 4.26 ± 0.12 | 1.86 ± 0.04 | 0.17 ± 0.00 | +| topdown_heatmap | SeresNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet101_coco_256x192.py) | (3, 192, 256) | 0.734 | 9.13 | 57.77 | 33.90 ± 2.65 | 6.01 ± 0.13 | 2.48 ± 0.05 | 0.26 ± 0.00 | +| topdown_heatmap | SeresNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet101_coco_384x288.py) | (3, 288, 384) | 0.753 | 20.53 | 57.77 | 20.57 ± 1.57 | 2.96 ± 0.07 | 1.20 ± 0.02 | 0.11 ± 0.00 | +| topdown_heatmap | SeresNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet152_coco_256x192.py) | (3, 192, 256) | 0.73 | 12.79 | 75.26 | 24.25 ± 1.95 | 4.45 ± 0.10 | 1.82 ± 0.02 | 0.19 ± 0.00 | +| topdown_heatmap | SeresNet | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/seresnet152_coco_384x288.py) | (3, 288, 384) | 0.753 | 28.76 | 75.26 | 15.11 ± 0.99 | 2.25 ± 0.04 | 0.88 ± 0.01 | 0.08 ± 0.00 | +| topdown_heatmap | ShuffleNetV1 | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv1_coco_256x192.py) | (3, 192, 256) | 0.585 | 1.35 | 6.94 | 80.79 ± 8.95 | 21.91 ± 0.46 | 11.84 ± 0.59 | 1.25 ± 0.01 | +| topdown_heatmap | ShuffleNetV1 | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv1_coco_384x288.py) | (3, 288, 384) | 0.622 | 3.05 | 6.94 | 63.45 ± 5.21 | 9.84 ± 0.10 | 6.01 ± 0.31 | 0.57 ± 0.00 | +| topdown_heatmap | ShuffleNetV2 | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv2_coco_256x192.py) | (3, 192, 256) | 0.599 | 1.37 | 7.55 | 82.36 ± 7.30 | 22.68 ± 0.53 | 12.40 ± 0.66 | 1.34 ± 0.02 | +| topdown_heatmap | ShuffleNetV2 | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/shufflenetv2_coco_384x288.py) | (3, 288, 384) | 0.636 | 3.08 | 7.55 | 63.63 ± 5.72 | 10.47 ± 0.16 | 6.32 ± 0.28 | 0.63 ± 0.01 | +| topdown_heatmap | VGG | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vgg16_bn_coco_256x192.py) | (3, 192, 256) | 0.698 | 16.22 | 18.92 | 51.91 ± 2.98 | 6.18 ± 0.13 | 1.64 ± 0.03 | 0.15 ± 0.00 | +| topdown_heatmap | VIPNAS + Res50 | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vipnas_res50_coco_256x192.py) | (3, 192, 256) | 0.711 | 1.49 | 7.29 | 34.88 ± 2.45 | 10.29 ± 0.13 | 6.51 ± 0.17 | 0.65 ± 0.00 | +| topdown_heatmap | VIPNAS + MobileNetV3 | [config](/configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/coco/vipnas_mbv3_coco_256x192.py) | (3, 192, 256) | 0.7 | 0.76 | 5.9 | 53.62 ± 6.59 | 11.54 ± 0.18 | 1.26 ± 0.02 | 0.13 ± 0.00 | +| Associative Embedding | HigherHRNet | [config](/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_w32_coco_512x512.py) | (3, 512, 512) | 0.677 | 46.58 | 28.65 | 7.80 ± 0.67 | / | 0.28 ± 0.02 | / | +| Associative Embedding | HigherHRNet | [config](/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_w32_coco_640x640.py) | (3, 640, 640) | 0.686 | 72.77 | 28.65 | 5.30 ± 0.37 | / | 0.17 ± 0.01 | / | +| Associative Embedding | HigherHRNet | [config](/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/higherhrnet_w48_coco_512x512.py) | (3, 512, 512) | 0.686 | 96.17 | 63.83 | 4.55 ± 0.35 | / | 0.15 ± 0.01 | / | +| Associative Embedding | Hourglass | [config](/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hourglass_ae_coco_512x512.py) | (3, 512, 512) | 0.613 | 221.58 | 138.86 | 3.55 ± 0.24 | / | 0.08 ± 0.00 | / | +| Associative Embedding | HRNet | [config](/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_w32_coco_512x512.py) | (3, 512, 512) | 0.654 | 41.1 | 28.54 | 8.93 ± 0.76 | / | 0.33 ± 0.02 | / | +| Associative Embedding | HRNet | [config](/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/hrnet_w48_coco_512x512.py) | (3, 512, 512) | 0.665 | 84.12 | 63.6 | 5.27 ± 0.43 | / | 0.18 ± 0.01 | / | +| Associative Embedding | MobilenetV2 | [config](/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/mobilenetv2_coco_512x512.py) | (3, 512, 512) | 0.38 | 8.54 | 9.57 | 21.24 ± 1.34 | / | 0.81 ± 0.06 | / | +| Associative Embedding | ResNet | [config](/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/res50_coco_512x512.py) | (3, 512, 512) | 0.466 | 29.2 | 34 | 11.71 ± 0.97 | / | 0.41 ± 0.02 | / | +| Associative Embedding | ResNet | [config](/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/res50_coco_640x640.py) | (3, 640, 640) | 0.479 | 45.62 | 34 | 8.20 ± 0.58 | / | 0.26 ± 0.02 | / | +| Associative Embedding | ResNet | [config](/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/res101_coco_512x512.py) | (3, 512, 512) | 0.554 | 48.67 | 53 | 8.26 ± 0.68 | / | 0.28 ± 0.02 | / | +| Associative Embedding | ResNet | [config](/configs/body/2d_kpt_sview_rgb_img/associative_embedding/coco/res152_coco_512x512.py) | (3, 512, 512) | 0.595 | 68.17 | 68.64 | 6.25 ± 0.53 | / | 0.21 ± 0.01 | / | +| DeepPose | ResNet | [config](/configs/body/2d_kpt_sview_rgb_img/deeppose/coco/res50_coco_256x192.py) | (3, 192, 256) | 0.526 | 4.04 | 23.58 | 82.20 ± 7.54 | / | 5.50 ± 0.18 | / | +| DeepPose | ResNet | [config](/configs/body/2d_kpt_sview_rgb_img/deeppose/coco/res101_coco_256x192.py) | (3, 192, 256) | 0.56 | 7.69 | 42.57 | 48.93 ± 4.02 | / | 3.10 ± 0.07 | / | +| DeepPose | ResNet | [config](/configs/body/2d_kpt_sview_rgb_img/deeppose/coco/res152_coco_256x192.py) | (3, 192, 256) | 0.583 | 11.34 | 58.21 | 35.06 ± 3.50 | / | 2.19 ± 0.04 | / | + +1 注意,这里运行迭代多次,并记录每次迭代的时间,同时展示了 FPS 数值的平均值和标准差。 + +2 FPS 定义为每秒的平均迭代次数,与此迭代中的批处理大小无关。 diff --git a/mmpose/apis/__init__.py b/mmpose/apis/__init__.py index bef566c0de..0e263edc4d 100644 --- a/mmpose/apis/__init__.py +++ b/mmpose/apis/__init__.py @@ -7,7 +7,7 @@ vis_3d_mesh_result, vis_3d_pose_result) from .inference_tracking import get_track_id, vis_pose_tracking_result from .test import multi_gpu_test, single_gpu_test -from .train import train_model +from .train import init_random_seed, train_model __all__ = [ 'train_model', 'init_pose_model', 'inference_top_down_pose_model', @@ -15,5 +15,6 @@ 'vis_pose_result', 'get_track_id', 'vis_pose_tracking_result', 'inference_pose_lifter_model', 'vis_3d_pose_result', 'inference_interhand_3d_model', 'extract_pose_sequence', - 'inference_mesh_model', 'vis_3d_mesh_result', 'process_mmdet_results' + 'inference_mesh_model', 'vis_3d_mesh_result', 'process_mmdet_results', + 'init_random_seed' ] diff --git a/mmpose/apis/inference.py b/mmpose/apis/inference.py index ff84d91576..defc118bf5 100644 --- a/mmpose/apis/inference.py +++ b/mmpose/apis/inference.py @@ -40,7 +40,7 @@ def init_pose_model(config, checkpoint=None, device='cuda:0'): model = build_posenet(config.model) if checkpoint is not None: # load model checkpoint - load_checkpoint(model, checkpoint, map_location=device) + load_checkpoint(model, checkpoint, map_location='cpu') # save the config in the model for convenience model.cfg = config model.to(device) diff --git a/mmpose/apis/train.py b/mmpose/apis/train.py index ab188e9b9e..3db5bb8be7 100644 --- a/mmpose/apis/train.py +++ b/mmpose/apis/train.py @@ -1,9 +1,12 @@ # Copyright (c) OpenMMLab. All rights reserved. import warnings +import numpy as np import torch +import torch.distributed as dist from mmcv.parallel import MMDataParallel, MMDistributedDataParallel -from mmcv.runner import DistSamplerSeedHook, EpochBasedRunner, OptimizerHook +from mmcv.runner import (DistSamplerSeedHook, EpochBasedRunner, OptimizerHook, + get_dist_info) from mmpose.core import DistEvalHook, EvalHook, build_optimizers from mmpose.core.distributed_wrapper import DistributedDataParallelWrapper @@ -19,6 +22,37 @@ from mmpose.core import Fp16OptimizerHook +def init_random_seed(seed=None, device='cuda'): + """Initialize random seed. + + If the seed is not set, the seed will be automatically randomized, + and then broadcast to all processes to prevent some potential bugs. + Args: + seed (int, Optional): The seed. Default to None. + device (str): The device where the seed will be put on. + Default to 'cuda'. + Returns: + int: Seed to be used. + """ + if seed is not None: + return seed + + # Make sure all ranks share the same random seed to prevent + # some potential bugs. Please refer to + # https://github.com/open-mmlab/mmdetection/issues/6339 + rank, world_size = get_dist_info() + seed = np.random.randint(2**31) + if world_size == 1: + return seed + + if rank == 0: + random_num = torch.tensor(seed, dtype=torch.int32, device=device) + else: + random_num = torch.tensor(0, dtype=torch.int32, device=device) + dist.broadcast(random_num, src=0) + return random_num.item() + + def train_model(model, dataset, cfg, diff --git a/mmpose/core/visualization/image.py b/mmpose/core/visualization/image.py index 3e00283c38..27f1488421 100644 --- a/mmpose/core/visualization/image.py +++ b/mmpose/core/visualization/image.py @@ -79,6 +79,8 @@ def imshow_bboxes(img, assert len(labels) == len(bboxes) for bbox, label, color in zip(bboxes, labels, colors): + if label is None: + continue bbox_int = bbox[0, :4].astype(np.int32) # roughly estimate the proper font size text_size, text_baseline = cv2.getTextSize(label, diff --git a/mmpose/datasets/__init__.py b/mmpose/datasets/__init__.py index 4c2502027f..1b9e7cf035 100644 --- a/mmpose/datasets/__init__.py +++ b/mmpose/datasets/__init__.py @@ -19,7 +19,7 @@ TopDownFreiHandDataset, TopDownH36MDataset, TopDownJhmdbDataset, TopDownMhpDataset, TopDownMpiiDataset, TopDownMpiiTrbDataset, TopDownOCHumanDataset, TopDownOneHand10KDataset, TopDownPanopticDataset, - TopDownPoseTrack18Dataset) + TopDownPoseTrack18Dataset, TopDownPoseTrack18VideoDataset) __all__ = [ 'TopDownCocoDataset', 'BottomUpCocoDataset', 'BottomUpMhpDataset', @@ -37,6 +37,6 @@ 'Body3DH36MDataset', 'AnimalHorse10Dataset', 'AnimalMacaqueDataset', 'AnimalFlyDataset', 'AnimalLocustDataset', 'AnimalZebraDataset', 'AnimalATRWDataset', 'AnimalPoseDataset', 'TopDownH36MDataset', - 'build_dataloader', 'build_dataset', 'Compose', 'DistributedSampler', - 'DATASETS', 'PIPELINES', 'DatasetInfo' + 'TopDownPoseTrack18VideoDataset', 'build_dataloader', 'build_dataset', + 'Compose', 'DistributedSampler', 'DATASETS', 'PIPELINES', 'DatasetInfo' ] diff --git a/mmpose/datasets/datasets/__init__.py b/mmpose/datasets/datasets/__init__.py index 2833ab8785..151c72a994 100644 --- a/mmpose/datasets/datasets/__init__.py +++ b/mmpose/datasets/datasets/__init__.py @@ -21,7 +21,8 @@ TopDownH36MDataset, TopDownHalpeDataset, TopDownJhmdbDataset, TopDownMhpDataset, TopDownMpiiDataset, TopDownMpiiTrbDataset, - TopDownOCHumanDataset, TopDownPoseTrack18Dataset) + TopDownOCHumanDataset, TopDownPoseTrack18Dataset, + TopDownPoseTrack18VideoDataset) __all__ = [ 'TopDownCocoDataset', 'BottomUpCocoDataset', 'BottomUpMhpDataset', @@ -39,5 +40,5 @@ 'Body3DH36MDataset', 'AnimalHorse10Dataset', 'AnimalMacaqueDataset', 'AnimalFlyDataset', 'AnimalLocustDataset', 'AnimalZebraDataset', 'AnimalATRWDataset', 'AnimalPoseDataset', 'TopDownH36MDataset', - 'TopDownHalpeDataset' + 'TopDownHalpeDataset', 'TopDownPoseTrack18VideoDataset' ] diff --git a/mmpose/datasets/datasets/base/__init__.py b/mmpose/datasets/datasets/base/__init__.py index dfa6c98ad6..9bce08aa8a 100644 --- a/mmpose/datasets/datasets/base/__init__.py +++ b/mmpose/datasets/datasets/base/__init__.py @@ -3,11 +3,14 @@ Kpt2dSviewRgbImgBottomUpDataset from .kpt_2d_sview_rgb_img_top_down_dataset import \ Kpt2dSviewRgbImgTopDownDataset +from .kpt_2d_sview_rgb_vid_top_down_dataset import \ + Kpt2dSviewRgbVidTopDownDataset from .kpt_3d_sview_kpt_2d_dataset import Kpt3dSviewKpt2dDataset from .kpt_3d_sview_rgb_img_top_down_dataset import \ Kpt3dSviewRgbImgTopDownDataset __all__ = [ 'Kpt2dSviewRgbImgTopDownDataset', 'Kpt3dSviewRgbImgTopDownDataset', - 'Kpt2dSviewRgbImgBottomUpDataset', 'Kpt3dSviewKpt2dDataset' + 'Kpt2dSviewRgbImgBottomUpDataset', 'Kpt3dSviewKpt2dDataset', + 'Kpt2dSviewRgbVidTopDownDataset' ] diff --git a/mmpose/datasets/datasets/base/kpt_2d_sview_rgb_vid_top_down_dataset.py b/mmpose/datasets/datasets/base/kpt_2d_sview_rgb_vid_top_down_dataset.py new file mode 100644 index 0000000000..7f89443559 --- /dev/null +++ b/mmpose/datasets/datasets/base/kpt_2d_sview_rgb_vid_top_down_dataset.py @@ -0,0 +1,200 @@ +# Copyright (c) OpenMMLab. All rights reserved. +import copy +from abc import ABCMeta, abstractmethod + +import numpy as np +from torch.utils.data import Dataset +from xtcocotools.coco import COCO + +from mmpose.datasets import DatasetInfo +from mmpose.datasets.pipelines import Compose + + +class Kpt2dSviewRgbVidTopDownDataset(Dataset, metaclass=ABCMeta): + """Base class for keypoint 2D top-down pose estimation with single-view RGB + video as the input. + + All fashion datasets should subclass it. + All subclasses should overwrite: + Methods:`_get_db`, 'evaluate' + + Args: + ann_file (str): Path to the annotation file. + img_prefix (str): Path to a directory where videos/images are held. + Default: None. + data_cfg (dict): config + pipeline (list[dict | callable]): A sequence of data transforms. + dataset_info (DatasetInfo): A class containing all dataset info. + coco_style (bool): Whether the annotation json is coco-style. + Default: True + test_mode (bool): Store True when building test or + validation dataset. Default: False. + """ + + def __init__(self, + ann_file, + img_prefix, + data_cfg, + pipeline, + dataset_info=None, + coco_style=True, + test_mode=False): + + self.image_info = {} + self.ann_info = {} + + self.ann_file = ann_file + self.img_prefix = img_prefix + self.pipeline = pipeline + self.test_mode = test_mode + + self.ann_info['image_size'] = np.array(data_cfg['image_size']) + self.ann_info['heatmap_size'] = np.array(data_cfg['heatmap_size']) + self.ann_info['num_joints'] = data_cfg['num_joints'] + + self.ann_info['inference_channel'] = data_cfg['inference_channel'] + self.ann_info['num_output_channels'] = data_cfg['num_output_channels'] + self.ann_info['dataset_channel'] = data_cfg['dataset_channel'] + + self.ann_info['use_different_joint_weights'] = data_cfg.get( + 'use_different_joint_weights', False) + + if dataset_info is None: + raise ValueError( + 'Check https://github.com/open-mmlab/mmpose/pull/663 ' + 'for details.') + + dataset_info = DatasetInfo(dataset_info) + + assert self.ann_info['num_joints'] == dataset_info.keypoint_num + self.ann_info['flip_pairs'] = dataset_info.flip_pairs + self.ann_info['flip_index'] = dataset_info.flip_index + self.ann_info['upper_body_ids'] = dataset_info.upper_body_ids + self.ann_info['lower_body_ids'] = dataset_info.lower_body_ids + self.ann_info['joint_weights'] = dataset_info.joint_weights + self.ann_info['skeleton'] = dataset_info.skeleton + self.sigmas = dataset_info.sigmas + self.dataset_name = dataset_info.dataset_name + + if coco_style: + self.coco = COCO(ann_file) + if 'categories' in self.coco.dataset: + cats = [ + cat['name'] + for cat in self.coco.loadCats(self.coco.getCatIds()) + ] + self.classes = ['__background__'] + cats + self.num_classes = len(self.classes) + self._class_to_ind = dict( + zip(self.classes, range(self.num_classes))) + self._class_to_coco_ind = dict( + zip(cats, self.coco.getCatIds())) + self._coco_ind_to_class_ind = dict( + (self._class_to_coco_ind[cls], self._class_to_ind[cls]) + for cls in self.classes[1:]) + self.img_ids = self.coco.getImgIds() + self.num_images = len(self.img_ids) + self.id2name, self.name2id = self._get_mapping_id_name( + self.coco.imgs) + + self.db = [] + + self.pipeline = Compose(self.pipeline) + + @staticmethod + def _get_mapping_id_name(imgs): + """ + Args: + imgs (dict): dict of image info. + + Returns: + tuple: Image name & id mapping dicts. + + - id2name (dict): Mapping image id to name. + - name2id (dict): Mapping image name to id. + """ + id2name = {} + name2id = {} + for image_id, image in imgs.items(): + file_name = image['file_name'] + id2name[image_id] = file_name + name2id[file_name] = image_id + + return id2name, name2id + + def _xywh2cs(self, x, y, w, h, padding=1.25): + """This encodes bbox(x,y,w,h) into (center, scale) + + Args: + x, y, w, h (float): left, top, width and height + padding (float): bounding box padding factor + + Returns: + center (np.ndarray[float32](2,)): center of the bbox (x, y). + scale (np.ndarray[float32](2,)): scale of the bbox w & h. + """ + aspect_ratio = self.ann_info['image_size'][0] / self.ann_info[ + 'image_size'][1] + center = np.array([x + w * 0.5, y + h * 0.5], dtype=np.float32) + + if (not self.test_mode) and np.random.rand() < 0.3: + center += 0.4 * (np.random.rand(2) - 0.5) * [w, h] + + if w > aspect_ratio * h: + h = w * 1.0 / aspect_ratio + elif w < aspect_ratio * h: + w = h * aspect_ratio + + # pixel std is 200.0 + scale = np.array([w / 200.0, h / 200.0], dtype=np.float32) + # padding to include proper amount of context + scale = scale * padding + + return center, scale + + @abstractmethod + def _get_db(self): + """Load dataset.""" + + @abstractmethod + def evaluate(self, outputs, res_folder, metric, *args, **kwargs): + """Evaluate keypoint results.""" + + @staticmethod + @abstractmethod + def _write_keypoint_results(keypoint_results, gt_folder, pred_folder): + """Write results into a json file.""" + + @abstractmethod + def _do_keypoint_eval(self, gt_folder, pred_folder): + """Keypoint evaluation. + Args: + gt_folder (str): The folder of the json files storing + ground truth keypoint annotations. + pred_folder (str): The folder of the json files storing + prediction results. + + Returns: + List: Evaluation results for evaluation metric. + """ + + def __len__(self): + """Get the size of the dataset.""" + return len(self.db) + + def __getitem__(self, idx): + """Get the sample given index.""" + results = copy.deepcopy(self.db[idx]) + results['ann_info'] = self.ann_info + return self.pipeline(results) + + def _sort_and_unique_bboxes(self, kpts, key='bbox_id'): + """sort kpts and remove the repeated ones.""" + for img_id, persons in kpts.items(): + num = len(persons) + kpts[img_id] = sorted(kpts[img_id], key=lambda x: x[key]) + for i in range(num - 1, 0, -1): + if kpts[img_id][i][key] == kpts[img_id][i - 1][key]: + del kpts[img_id][i] + + return kpts diff --git a/mmpose/datasets/datasets/top_down/__init__.py b/mmpose/datasets/datasets/top_down/__init__.py index 3228d070f2..cc5b46a8b1 100644 --- a/mmpose/datasets/datasets/top_down/__init__.py +++ b/mmpose/datasets/datasets/top_down/__init__.py @@ -11,11 +11,20 @@ from .topdown_mpii_trb_dataset import TopDownMpiiTrbDataset from .topdown_ochuman_dataset import TopDownOCHumanDataset from .topdown_posetrack18_dataset import TopDownPoseTrack18Dataset +from .topdown_posetrack18_video_dataset import TopDownPoseTrack18VideoDataset __all__ = [ - 'TopDownAicDataset', 'TopDownCocoDataset', 'TopDownCocoWholeBodyDataset', - 'TopDownCrowdPoseDataset', 'TopDownMpiiDataset', 'TopDownMpiiTrbDataset', - 'TopDownOCHumanDataset', 'TopDownPoseTrack18Dataset', - 'TopDownJhmdbDataset', 'TopDownMhpDataset', 'TopDownH36MDataset', - 'TopDownHalpeDataset' + 'TopDownAicDataset', + 'TopDownCocoDataset', + 'TopDownCocoWholeBodyDataset', + 'TopDownCrowdPoseDataset', + 'TopDownMpiiDataset', + 'TopDownMpiiTrbDataset', + 'TopDownOCHumanDataset', + 'TopDownPoseTrack18Dataset', + 'TopDownJhmdbDataset', + 'TopDownMhpDataset', + 'TopDownH36MDataset', + 'TopDownHalpeDataset', + 'TopDownPoseTrack18VideoDataset', ] diff --git a/mmpose/datasets/datasets/top_down/topdown_posetrack18_dataset.py b/mmpose/datasets/datasets/top_down/topdown_posetrack18_dataset.py index 55300b6c68..635ccdbff9 100644 --- a/mmpose/datasets/datasets/top_down/topdown_posetrack18_dataset.py +++ b/mmpose/datasets/datasets/top_down/topdown_posetrack18_dataset.py @@ -100,8 +100,8 @@ def __init__(self, print(f'=> load {len(self.db)} samples') def evaluate(self, outputs, res_folder, metric='mAP', **kwargs): - """Evaluate coco keypoint results. The pose prediction results will be - saved in `${res_folder}/result_keypoints.json`. + """Evaluate posetrack keypoint results. The pose prediction results + will be saved in `${res_folder}/result_keypoints.json`. Note: num_keypoints: K diff --git a/mmpose/datasets/datasets/top_down/topdown_posetrack18_video_dataset.py b/mmpose/datasets/datasets/top_down/topdown_posetrack18_video_dataset.py new file mode 100644 index 0000000000..43e1c4f1ff --- /dev/null +++ b/mmpose/datasets/datasets/top_down/topdown_posetrack18_video_dataset.py @@ -0,0 +1,534 @@ +# Copyright (c) OpenMMLab. All rights reserved. +import os +import os.path as osp +import warnings +from collections import OrderedDict, defaultdict + +import json_tricks as json +import numpy as np + +from ....core.post_processing import oks_nms, soft_oks_nms +from ...builder import DATASETS +from ..base import Kpt2dSviewRgbVidTopDownDataset + +try: + from poseval import eval_helpers + from poseval.evaluateAP import evaluateAP + has_poseval = True +except (ImportError, ModuleNotFoundError): + has_poseval = False + + +@DATASETS.register_module() +class TopDownPoseTrack18VideoDataset(Kpt2dSviewRgbVidTopDownDataset): + """PoseTrack18 dataset for top-down pose estimation. + + `Posetrack: A benchmark for human pose estimation and tracking' CVPR'2018 + More details can be found in the `paper + `_ . + + The dataset loads raw features and apply specified transforms + to return a dict containing the image tensors and other information. + + PoseTrack2018 keypoint indexes:: + 0: 'nose', + 1: 'head_bottom', + 2: 'head_top', + 3: 'left_ear', + 4: 'right_ear', + 5: 'left_shoulder', + 6: 'right_shoulder', + 7: 'left_elbow', + 8: 'right_elbow', + 9: 'left_wrist', + 10: 'right_wrist', + 11: 'left_hip', + 12: 'right_hip', + 13: 'left_knee', + 14: 'right_knee', + 15: 'left_ankle', + 16: 'right_ankle' + + Args: + ann_file (str): Path to the annotation file. + img_prefix (str): Path to a directory where videos/images are held. + Default: None. + data_cfg (dict): config + pipeline (list[dict | callable]): A sequence of data transforms. + dataset_info (DatasetInfo): A class containing all dataset info. + test_mode (bool): Store True when building test or + validation dataset. Default: False. + ph_fill_len (int): The length of the placeholder to fill in the + image filenames, default: 6 in PoseTrack18. + """ + + def __init__(self, + ann_file, + img_prefix, + data_cfg, + pipeline, + dataset_info=None, + test_mode=False, + ph_fill_len=6): + super().__init__( + ann_file, + img_prefix, + data_cfg, + pipeline, + dataset_info=dataset_info, + test_mode=test_mode) + + self.use_gt_bbox = data_cfg['use_gt_bbox'] + self.bbox_file = data_cfg['bbox_file'] + self.det_bbox_thr = data_cfg.get('det_bbox_thr', 0.0) + self.use_nms = data_cfg.get('use_nms', True) + self.soft_nms = data_cfg['soft_nms'] + self.nms_thr = data_cfg['nms_thr'] + self.oks_thr = data_cfg['oks_thr'] + self.vis_thr = data_cfg['vis_thr'] + self.frame_weight_train = data_cfg['frame_weight_train'] + self.frame_weight_test = data_cfg['frame_weight_test'] + self.frame_weight = self.frame_weight_test \ + if self.test_mode else self.frame_weight_train + + self.ph_fill_len = ph_fill_len + + # select the frame indices + self.frame_index_rand = data_cfg.get('frame_index_rand', True) + self.frame_index_range = data_cfg.get('frame_index_range', [-2, 2]) + self.num_adj_frames = data_cfg.get('num_adj_frames', 1) + self.frame_indices_train = data_cfg.get('frame_indices_train', None) + self.frame_indices_test = data_cfg.get('frame_indices_test', + [-2, -1, 0, 1, 2]) + + if self.frame_indices_train is not None: + self.frame_indices_train.sort() + self.frame_indices_test.sort() + + self.db = self._get_db() + + print(f'=> num_images: {self.num_images}') + print(f'=> load {len(self.db)} samples') + + def _get_db(self): + """Load dataset.""" + if (not self.test_mode) or self.use_gt_bbox: + # use ground truth bbox + gt_db = self._load_coco_keypoint_annotations() + else: + # use bbox from detection + gt_db = self._load_posetrack_person_detection_results() + return gt_db + + def _load_coco_keypoint_annotations(self): + """Ground truth bbox and keypoints.""" + gt_db = [] + for img_id in self.img_ids: + gt_db.extend(self._load_coco_keypoint_annotation_kernel(img_id)) + return gt_db + + def _load_coco_keypoint_annotation_kernel(self, img_id): + """load annotation from COCOAPI. + + Note: + bbox:[x1, y1, w, h] + Args: + img_id: coco image id + Returns: + dict: db entry + """ + img_ann = self.coco.loadImgs(img_id)[0] + width = img_ann['width'] + height = img_ann['height'] + num_joints = self.ann_info['num_joints'] + + file_name = img_ann['file_name'] + nframes = int(img_ann['nframes']) + frame_id = int(img_ann['frame_id']) + + ann_ids = self.coco.getAnnIds(imgIds=img_id, iscrowd=False) + objs = self.coco.loadAnns(ann_ids) + + # sanitize bboxes + valid_objs = [] + for obj in objs: + if 'bbox' not in obj: + continue + x, y, w, h = obj['bbox'] + x1 = max(0, x) + y1 = max(0, y) + x2 = min(width - 1, x1 + max(0, w - 1)) + y2 = min(height - 1, y1 + max(0, h - 1)) + if ('area' not in obj or obj['area'] > 0) and x2 > x1 and y2 > y1: + obj['clean_bbox'] = [x1, y1, x2 - x1, y2 - y1] + valid_objs.append(obj) + objs = valid_objs + + bbox_id = 0 + rec = [] + for obj in objs: + if 'keypoints' not in obj: + continue + if max(obj['keypoints']) == 0: + continue + if 'num_keypoints' in obj and obj['num_keypoints'] == 0: + continue + joints_3d = np.zeros((num_joints, 3), dtype=np.float32) + joints_3d_visible = np.zeros((num_joints, 3), dtype=np.float32) + + keypoints = np.array(obj['keypoints']).reshape(-1, 3) + joints_3d[:, :2] = keypoints[:, :2] + joints_3d_visible[:, :2] = np.minimum(1, keypoints[:, 2:3]) + + center, scale = self._xywh2cs(*obj['clean_bbox'][:4]) + + image_files = [] + cur_image_file = os.path.join(self.img_prefix, + self.id2name[img_id]) + image_files.append(cur_image_file) + + # "images/val/012834_mpii_test/000000.jpg" -->> "000000.jpg" + cur_image_name = file_name.split('/')[-1] + ref_idx = int(cur_image_name.replace('.jpg', '')) + + # select the frame indices + if not self.test_mode and self.frame_indices_train is not None: + indices = self.frame_indices_train + elif not self.test_mode and self.frame_index_rand: + low, high = self.frame_index_range + indices = np.random.randint(low, high + 1, self.num_adj_frames) + else: + indices = self.frame_indices_test + + for index in indices: + if self.test_mode and index == 0: + continue + # the supporting frame index + support_idx = ref_idx + index + support_idx = np.clip(support_idx, 0, nframes - 1) + sup_image_file = cur_image_file.replace( + cur_image_name, + str(support_idx).zfill(self.ph_fill_len) + '.jpg') + + if os.path.exists(sup_image_file): + image_files.append(sup_image_file) + else: + warnings.warn(f'{sup_image_file} does not exist, ' + f'use {cur_image_file} instead.') + image_files.append(cur_image_file) + rec.append({ + 'image_file': image_files, + 'center': center, + 'scale': scale, + 'bbox': obj['clean_bbox'][:4], + 'rotation': 0, + 'joints_3d': joints_3d, + 'joints_3d_visible': joints_3d_visible, + 'dataset': self.dataset_name, + 'bbox_score': 1, + 'bbox_id': bbox_id, + 'nframes': nframes, + 'frame_id': frame_id, + 'frame_weight': self.frame_weight + }) + bbox_id = bbox_id + 1 + + return rec + + def _load_posetrack_person_detection_results(self): + """Load Posetrack person detection results. + + Only in test mode. + """ + num_joints = self.ann_info['num_joints'] + all_boxes = None + with open(self.bbox_file, 'r') as f: + all_boxes = json.load(f) + + if not all_boxes: + raise ValueError('=> Load %s fail!' % self.bbox_file) + + print(f'=> Total boxes: {len(all_boxes)}') + + kpt_db = [] + bbox_id = 0 + for det_res in all_boxes: + if det_res['category_id'] != 1: + continue + + score = det_res['score'] + if score < self.det_bbox_thr: + continue + + box = det_res['bbox'] + + # deal with different bbox file formats + if 'nframes' in det_res and 'frame_id' in det_res: + nframes = int(det_res['nframes']) + frame_id = int(det_res['frame_id']) + elif 'image_name' in det_res: + img_id = self.name2id[det_res['image_name']] + img_ann = self.coco.loadImgs(img_id)[0] + nframes = int(img_ann['nframes']) + frame_id = int(img_ann['frame_id']) + else: + img_id = det_res['image_id'] + img_ann = self.coco.loadImgs(img_id)[0] + nframes = int(img_ann['nframes']) + frame_id = int(img_ann['frame_id']) + + image_files = [] + if 'image_name' in det_res: + file_name = det_res['image_name'] + else: + file_name = self.id2name[det_res['image_id']] + + cur_image_file = os.path.join(self.img_prefix, file_name) + image_files.append(cur_image_file) + + # "images/val/012834_mpii_test/000000.jpg" -->> "000000.jpg" + cur_image_name = file_name.split('/')[-1] + ref_idx = int(cur_image_name.replace('.jpg', '')) + + indices = self.frame_indices_test + for index in indices: + if self.test_mode and index == 0: + continue + # the supporting frame index + support_idx = ref_idx + index + support_idx = np.clip(support_idx, 0, nframes - 1) + sup_image_file = cur_image_file.replace( + cur_image_name, + str(support_idx).zfill(self.ph_fill_len) + '.jpg') + + if os.path.exists(sup_image_file): + image_files.append(sup_image_file) + else: + warnings.warn(f'{sup_image_file} does not exist, ' + f'use {cur_image_file} instead.') + image_files.append(cur_image_file) + + center, scale = self._xywh2cs(*box[:4]) + joints_3d = np.zeros((num_joints, 3), dtype=np.float32) + joints_3d_visible = np.ones((num_joints, 3), dtype=np.float32) + kpt_db.append({ + 'image_file': image_files, + 'center': center, + 'scale': scale, + 'rotation': 0, + 'bbox': box[:4], + 'bbox_score': score, + 'dataset': self.dataset_name, + 'joints_3d': joints_3d, + 'joints_3d_visible': joints_3d_visible, + 'bbox_id': bbox_id, + 'nframes': nframes, + 'frame_id': frame_id, + 'frame_weight': self.frame_weight + }) + bbox_id = bbox_id + 1 + print(f'=> Total boxes after filter ' + f'low score@{self.det_bbox_thr}: {bbox_id}') + return kpt_db + + def evaluate(self, outputs, res_folder, metric='mAP', **kwargs): + """Evaluate posetrack keypoint results. The pose prediction results + will be saved in `${res_folder}/result_keypoints.json`. + + Note: + num_keypoints: K + + Args: + outputs (list(preds, boxes, image_paths)) + :preds (np.ndarray[N,K,3]): The first two dimensions are + coordinates, score is the third dimension of the array. + :boxes (np.ndarray[N,6]): [center[0], center[1], scale[0] + , scale[1],area, score] + :image_paths (list[str]): For example, ['val/010016_mpii_test + /000024.jpg'] + :heatmap (np.ndarray[N, K, H, W]): model output heatmap. + :bbox_id (list(int)) + res_folder (str): Path of directory to save the results. + metric (str | list[str]): Metric to be performed. Defaults: 'mAP'. + + Returns: + dict: Evaluation results for evaluation metric. + """ + metrics = metric if isinstance(metric, list) else [metric] + allowed_metrics = ['mAP'] + for metric in metrics: + if metric not in allowed_metrics: + raise KeyError(f'metric {metric} is not supported') + + pred_folder = osp.join(res_folder, 'preds') + os.makedirs(pred_folder, exist_ok=True) + gt_folder = osp.join( + osp.dirname(self.ann_file), + osp.splitext(self.ann_file.split('_')[-1])[0]) + + kpts = defaultdict(list) + + for output in outputs: + preds = output['preds'] + boxes = output['boxes'] + image_paths = output['image_paths'] + bbox_ids = output['bbox_ids'] + + batch_size = len(image_paths) + for i in range(batch_size): + if not isinstance(image_paths[i], list): + image_id = self.name2id[image_paths[i] + [len(self.img_prefix):]] + else: + image_id = self.name2id[image_paths[i][0] + [len(self.img_prefix):]] + + kpts[image_id].append({ + 'keypoints': preds[i], + 'center': boxes[i][0:2], + 'scale': boxes[i][2:4], + 'area': boxes[i][4], + 'score': boxes[i][5], + 'image_id': image_id, + 'bbox_id': bbox_ids[i] + }) + kpts = self._sort_and_unique_bboxes(kpts) + + # rescoring and oks nms + num_joints = self.ann_info['num_joints'] + vis_thr = self.vis_thr + oks_thr = self.oks_thr + valid_kpts = defaultdict(list) + for image_id in kpts.keys(): + img_kpts = kpts[image_id] + for n_p in img_kpts: + box_score = n_p['score'] + kpt_score = 0 + valid_num = 0 + for n_jt in range(0, num_joints): + t_s = n_p['keypoints'][n_jt][2] + if t_s > vis_thr: + kpt_score = kpt_score + t_s + valid_num = valid_num + 1 + if valid_num != 0: + kpt_score = kpt_score / valid_num + # rescoring + n_p['score'] = kpt_score * box_score + + if self.use_nms: + nms = soft_oks_nms if self.soft_nms else oks_nms + keep = nms(img_kpts, oks_thr, sigmas=self.sigmas) + valid_kpts[image_id].append( + [img_kpts[_keep] for _keep in keep]) + else: + valid_kpts[image_id].append(img_kpts) + + self._write_keypoint_results(valid_kpts, gt_folder, pred_folder) + + info_str = self._do_keypoint_eval(gt_folder, pred_folder) + name_value = OrderedDict(info_str) + + return name_value + + @staticmethod + def _write_keypoint_results(keypoint_results, gt_folder, pred_folder): + """Write results into a json file. + + Args: + keypoint_results (dict): keypoint results organized by image_id. + gt_folder (str): Path of directory for official gt files. + pred_folder (str): Path of directory to save the results. + """ + categories = [] + + cat = {} + cat['supercategory'] = 'person' + cat['id'] = 1 + cat['name'] = 'person' + cat['keypoints'] = [ + 'nose', 'head_bottom', 'head_top', 'left_ear', 'right_ear', + 'left_shoulder', 'right_shoulder', 'left_elbow', 'right_elbow', + 'left_wrist', 'right_wrist', 'left_hip', 'right_hip', 'left_knee', + 'right_knee', 'left_ankle', 'right_ankle' + ] + cat['skeleton'] = [[16, 14], [14, 12], [17, 15], [15, 13], [12, 13], + [6, 12], [7, 13], [6, 7], [6, 8], [7, 9], [8, 10], + [9, 11], [2, 3], [1, 2], [1, 3], [2, 4], [3, 5], + [4, 6], [5, 7]] + categories.append(cat) + + json_files = [ + pos for pos in os.listdir(gt_folder) if pos.endswith('.json') + ] + for json_file in json_files: + + with open(osp.join(gt_folder, json_file), 'r') as f: + gt = json.load(f) + + annotations = [] + images = [] + + for image in gt['images']: + im = {} + im['id'] = image['id'] + im['file_name'] = image['file_name'] + images.append(im) + + img_kpts = keypoint_results[im['id']] + + if len(img_kpts) == 0: + continue + for track_id, img_kpt in enumerate(img_kpts[0]): + ann = {} + ann['image_id'] = img_kpt['image_id'] + ann['keypoints'] = np.array( + img_kpt['keypoints']).reshape(-1).tolist() + ann['scores'] = np.array(ann['keypoints']).reshape( + [-1, 3])[:, 2].tolist() + ann['score'] = float(img_kpt['score']) + ann['track_id'] = track_id + annotations.append(ann) + + info = {} + info['images'] = images + info['categories'] = categories + info['annotations'] = annotations + + with open(osp.join(pred_folder, json_file), 'w') as f: + json.dump(info, f, sort_keys=True, indent=4) + + def _do_keypoint_eval(self, gt_folder, pred_folder): + """Keypoint evaluation using poseval.""" + + if not has_poseval: + raise ImportError('Please install poseval package for evaluation' + 'on PoseTrack dataset ' + '(see requirements/optional.txt)') + + argv = ['', gt_folder + '/', pred_folder + '/'] + + print('Loading data') + gtFramesAll, prFramesAll = eval_helpers.load_data_dir(argv) + + print('# gt frames :', len(gtFramesAll)) + print('# pred frames:', len(prFramesAll)) + + # evaluate per-frame multi-person pose estimation (AP) + # compute AP + print('Evaluation of per-frame multi-person pose estimation') + apAll, _, _ = evaluateAP(gtFramesAll, prFramesAll, None, False, False) + + # print AP + print('Average Precision (AP) metric:') + eval_helpers.printTable(apAll) + + stats = eval_helpers.getCum(apAll) + + stats_names = [ + 'Head AP', 'Shou AP', 'Elb AP', 'Wri AP', 'Hip AP', 'Knee AP', + 'Ankl AP', 'Total AP' + ] + + info_str = list(zip(stats_names, stats)) + + return info_str diff --git a/mmpose/datasets/pipelines/loading.py b/mmpose/datasets/pipelines/loading.py index b0eb605a10..24879158fb 100644 --- a/mmpose/datasets/pipelines/loading.py +++ b/mmpose/datasets/pipelines/loading.py @@ -6,7 +6,7 @@ @PIPELINES.register_module() class LoadImageFromFile: - """Loading image from file. + """Loading image(s) from file. Args: color_type (str): Flags specifying the color type of a loaded image, @@ -23,12 +23,23 @@ def __init__(self, self.channel_order = channel_order def __call__(self, results): - """Loading image from file.""" + """Loading image(s) from file.""" image_file = results['image_file'] - img = mmcv.imread(image_file, self.color_type, self.channel_order) - if img is None: - raise ValueError(f'Fail to read {image_file}') + if isinstance(image_file, (list, tuple)): + imgs = [] + for image in image_file: + img = mmcv.imread(image, self.color_type, self.channel_order) + if img is None: + raise ValueError(f'Fail to read {image}') + imgs.append(img) + + results['img'] = imgs + else: + img = mmcv.imread(image_file, self.color_type, self.channel_order) + + if img is None: + raise ValueError(f'Fail to read {image_file}') + results['img'] = img - results['img'] = img return results diff --git a/mmpose/datasets/pipelines/shared_transform.py b/mmpose/datasets/pipelines/shared_transform.py index 013997284b..4e6e202355 100644 --- a/mmpose/datasets/pipelines/shared_transform.py +++ b/mmpose/datasets/pipelines/shared_transform.py @@ -28,7 +28,11 @@ class ToTensor: """ def __call__(self, results): - results['img'] = F.to_tensor(results['img']) + if isinstance(results['img'], (list, tuple)): + results['img'] = [F.to_tensor(img) for img in results['img']] + else: + results['img'] = F.to_tensor(results['img']) + return results @@ -48,8 +52,15 @@ def __init__(self, mean, std): self.std = std def __call__(self, results): - results['img'] = F.normalize( - results['img'], mean=self.mean, std=self.std) + if isinstance(results['img'], (list, tuple)): + results['img'] = [ + F.normalize(img, mean=self.mean, std=self.std) + for img in results['img'] + ] + else: + results['img'] = F.normalize( + results['img'], mean=self.mean, std=self.std) + return results diff --git a/mmpose/datasets/pipelines/top_down_transform.py b/mmpose/datasets/pipelines/top_down_transform.py index 32576604b5..0dcce9266d 100644 --- a/mmpose/datasets/pipelines/top_down_transform.py +++ b/mmpose/datasets/pipelines/top_down_transform.py @@ -37,11 +37,20 @@ def __call__(self, results): flipped = False if np.random.rand() <= self.flip_prob: flipped = True - img = img[:, ::-1, :] - joints_3d, joints_3d_visible = fliplr_joints( - joints_3d, joints_3d_visible, img.shape[1], - results['ann_info']['flip_pairs']) - center[0] = img.shape[1] - center[0] - 1 + if not isinstance(img, list): + img = img[:, ::-1, :] + else: + img = [i[:, ::-1, :] for i in img] + if not isinstance(img, list): + joints_3d, joints_3d_visible = fliplr_joints( + joints_3d, joints_3d_visible, img.shape[1], + results['ann_info']['flip_pairs']) + center[0] = img.shape[1] - center[0] - 1 + else: + joints_3d, joints_3d_visible = fliplr_joints( + joints_3d, joints_3d_visible, img[0].shape[1], + results['ann_info']['flip_pairs']) + center[0] = img[0].shape[1] - center[0] - 1 results['img'] = img results['joints_3d'] = joints_3d @@ -197,18 +206,36 @@ def __call__(self, results): if self.use_udp: trans = get_warp_matrix(r, c * 2.0, image_size - 1.0, s * 200.0) - img = cv2.warpAffine( - img, - trans, (int(image_size[0]), int(image_size[1])), - flags=cv2.INTER_LINEAR) + if not isinstance(img, list): + img = cv2.warpAffine( + img, + trans, (int(image_size[0]), int(image_size[1])), + flags=cv2.INTER_LINEAR) + else: + img = [ + cv2.warpAffine( + i, + trans, (int(image_size[0]), int(image_size[1])), + flags=cv2.INTER_LINEAR) for i in img + ] + joints_3d[:, 0:2] = \ warp_affine_joints(joints_3d[:, 0:2].copy(), trans) + else: trans = get_affine_transform(c, s, r, image_size) - img = cv2.warpAffine( - img, - trans, (int(image_size[0]), int(image_size[1])), - flags=cv2.INTER_LINEAR) + if not isinstance(img, list): + img = cv2.warpAffine( + img, + trans, (int(image_size[0]), int(image_size[1])), + flags=cv2.INTER_LINEAR) + else: + img = [ + cv2.warpAffine( + i, + trans, (int(image_size[0]), int(image_size[1])), + flags=cv2.INTER_LINEAR) for i in img + ] for i in range(results['ann_info']['num_joints']): if joints_3d_visible[i, 0] > 0.0: joints_3d[i, diff --git a/mmpose/models/backbones/__init__.py b/mmpose/models/backbones/__init__.py index 2218bdbe43..fb3bf1d01d 100644 --- a/mmpose/models/backbones/__init__.py +++ b/mmpose/models/backbones/__init__.py @@ -20,11 +20,13 @@ from .shufflenet_v2 import ShuffleNetV2 from .tcn import TCN from .vgg import VGG +from .vipnas_mbv3 import ViPNAS_MobileNetV3 from .vipnas_resnet import ViPNAS_ResNet __all__ = [ 'AlexNet', 'HourglassNet', 'HourglassAENet', 'HRNet', 'MobileNetV2', 'MobileNetV3', 'RegNet', 'ResNet', 'ResNetV1d', 'ResNeXt', 'SCNet', 'SEResNet', 'SEResNeXt', 'ShuffleNetV1', 'ShuffleNetV2', 'CPM', 'RSN', - 'MSPN', 'ResNeSt', 'VGG', 'TCN', 'ViPNAS_ResNet', 'LiteHRNet' + 'MSPN', 'ResNeSt', 'VGG', 'TCN', 'ViPNAS_ResNet', 'ViPNAS_MobileNetV3', + 'LiteHRNet' ] diff --git a/mmpose/models/backbones/hrnet.py b/mmpose/models/backbones/hrnet.py index 9eaceae64c..87dc8cef55 100644 --- a/mmpose/models/backbones/hrnet.py +++ b/mmpose/models/backbones/hrnet.py @@ -230,6 +230,8 @@ class HRNet(nn.Module): memory while slowing down the training speed. zero_init_residual (bool): whether to use zero init for last norm layer in resblocks to let them behave as identity. + frozen_stages (int): Stages to be frozen (stop grad and set eval mode). + -1 means not freezing any parameters. Default: -1. Example: >>> from mmpose.models import HRNet @@ -277,7 +279,8 @@ def __init__(self, norm_cfg=dict(type='BN'), norm_eval=False, with_cp=False, - zero_init_residual=False): + zero_init_residual=False, + frozen_stages=-1): # Protect mutable default arguments norm_cfg = copy.deepcopy(norm_cfg) super().__init__() @@ -287,6 +290,7 @@ def __init__(self, self.norm_eval = norm_eval self.with_cp = with_cp self.zero_init_residual = zero_init_residual + self.frozen_stages = frozen_stages # stem net self.norm1_name, norm1 = build_norm_layer(self.norm_cfg, 64, postfix=1) @@ -375,6 +379,8 @@ def __init__(self, num_channels, multiscale_output=self.stage4_cfg.get('multiscale_output', False)) + self._freeze_stages() + @property def norm1(self): """nn.Module: the normalization layer named "norm1" """ @@ -500,6 +506,32 @@ def _make_stage(self, layer_config, in_channels, multiscale_output=True): return nn.Sequential(*hr_modules), in_channels + def _freeze_stages(self): + """Freeze parameters.""" + if self.frozen_stages >= 0: + self.norm1.eval() + self.norm2.eval() + + for m in [self.conv1, self.norm1, self.conv2, self.norm2]: + for param in m.parameters(): + param.requires_grad = False + + for i in range(1, self.frozen_stages + 1): + if i == 1: + m = getattr(self, 'layer1') + else: + m = getattr(self, f'stage{i}') + + m.eval() + for param in m.parameters(): + param.requires_grad = False + + if i < 4: + m = getattr(self, f'transition{i}') + m.eval() + for param in m.parameters(): + param.requires_grad = False + def init_weights(self, pretrained=None): """Initialize the weights in backbone. @@ -565,6 +597,7 @@ def forward(self, x): def train(self, mode=True): """Convert the model into training mode.""" super().train(mode) + self._freeze_stages() if mode and self.norm_eval: for m in self.modules(): if isinstance(m, _BatchNorm): diff --git a/mmpose/models/backbones/mobilenet_v3.py b/mmpose/models/backbones/mobilenet_v3.py index f38aeb4d41..d640abec79 100644 --- a/mmpose/models/backbones/mobilenet_v3.py +++ b/mmpose/models/backbones/mobilenet_v3.py @@ -23,7 +23,7 @@ class MobileNetV3(BaseBackbone): norm_cfg (dict): Config dict for normalization layer. Default: dict(type='BN'). out_indices (None or Sequence[int]): Output from which stages. - Default: (10, ), which means output tensors from final stage. + Default: (-1, ), which means output tensors from final stage. frozen_stages (int): Stages to be frozen (all param fixed). Default: -1, which means not freezing any parameters. norm_eval (bool): Whether to set norm layers to eval mode, namely, @@ -68,7 +68,7 @@ def __init__(self, arch='small', conv_cfg=None, norm_cfg=dict(type='BN'), - out_indices=(10, ), + out_indices=(-1, ), frozen_stages=-1, norm_eval=False, with_cp=False): @@ -77,7 +77,8 @@ def __init__(self, super().__init__() assert arch in self.arch_settings for index in out_indices: - if index not in range(0, len(self.arch_settings[arch])): + if index not in range(-len(self.arch_settings[arch]), + len(self.arch_settings[arch])): raise ValueError('the item in out_indices must in ' f'range(0, {len(self.arch_settings[arch])}). ' f'But received {index}') @@ -86,8 +87,6 @@ def __init__(self, raise ValueError('frozen_stages must be in range(-1, ' f'{len(self.arch_settings[arch])}). ' f'But received {frozen_stages}') - self.out_indices = out_indices - self.frozen_stages = frozen_stages self.arch = arch self.conv_cfg = conv_cfg self.norm_cfg = norm_cfg @@ -162,7 +161,8 @@ def forward(self, x): for i, layer_name in enumerate(self.layers): layer = getattr(self, layer_name) x = layer(x) - if i in self.out_indices: + if i in self.out_indices or \ + i - len(self.layers) in self.out_indices: outs.append(x) if len(outs) == 1: diff --git a/mmpose/models/backbones/utils/inverted_residual.py b/mmpose/models/backbones/utils/inverted_residual.py index d37c0702d6..dff762c570 100644 --- a/mmpose/models/backbones/utils/inverted_residual.py +++ b/mmpose/models/backbones/utils/inverted_residual.py @@ -17,6 +17,8 @@ class InvertedResidual(nn.Module): mid_channels (int): The input channels of the depthwise convolution. kernel_size (int): The kernel size of the depthwise convolution. Default: 3. + groups (None or int): The group number of the depthwise convolution. + Default: None, which means group number = mid_channels. stride (int): The stride of the depthwise convolution. Default: 1. se_cfg (dict): Config dict for se layer. Default: None, which means no se layer. @@ -41,6 +43,7 @@ def __init__(self, out_channels, mid_channels, kernel_size=3, + groups=None, stride=1, se_cfg=None, with_expand_conv=True, @@ -58,6 +61,9 @@ def __init__(self, self.with_se = se_cfg is not None self.with_expand_conv = with_expand_conv + if groups is None: + groups = mid_channels + if self.with_se: assert isinstance(se_cfg, dict) if not self.with_expand_conv: @@ -79,7 +85,7 @@ def __init__(self, kernel_size=kernel_size, stride=stride, padding=kernel_size // 2, - groups=mid_channels, + groups=groups, conv_cfg=conv_cfg, norm_cfg=norm_cfg, act_cfg=act_cfg) @@ -93,7 +99,7 @@ def __init__(self, padding=0, conv_cfg=conv_cfg, norm_cfg=norm_cfg, - act_cfg=act_cfg) + act_cfg=None) def forward(self, x): diff --git a/mmpose/models/backbones/vipnas_mbv3.py b/mmpose/models/backbones/vipnas_mbv3.py new file mode 100644 index 0000000000..7fef559705 --- /dev/null +++ b/mmpose/models/backbones/vipnas_mbv3.py @@ -0,0 +1,179 @@ +# Copyright (c) OpenMMLab. All rights reserved. +import copy +import logging + +import torch.nn as nn +from mmcv.cnn import ConvModule +from torch.nn.modules.batchnorm import _BatchNorm + +from ..builder import BACKBONES +from .base_backbone import BaseBackbone +from .utils import InvertedResidual, load_checkpoint + + +@BACKBONES.register_module() +class ViPNAS_MobileNetV3(BaseBackbone): + """ViPNAS_MobileNetV3 backbone. + + ViPNAS: Efficient Video Pose Estimation via Neural Architecture Search. + More details can be found in the `paper + `__ . + + Args: + wid (list(int)): Searched width config for each stage. + expan (list(int)): Searched expansion ratio config for each stage. + dep (list(int)): Searched depth config for each stage. + ks (list(int)): Searched kernel size config for each stage. + group (list(int)): Searched group number config for each stage. + att (list(bool)): Searched attention config for each stage. + stride (list(int)): Stride config for each stage. + act (list(dict)): Activation config for each stage. + conv_cfg (dict): Config dict for convolution layer. + Default: None, which means using conv2d. + norm_cfg (dict): Config dict for normalization layer. + Default: dict(type='BN'). + frozen_stages (int): Stages to be frozen (all param fixed). + Default: -1, which means not freezing any parameters. + norm_eval (bool): Whether to set norm layers to eval mode, namely, + freeze running stats (mean and var). Note: Effect on Batch Norm + and its variants only. Default: False. + with_cp (bool): Use checkpoint or not. Using checkpoint will save + some memory while slowing down the training speed. + Default: False. + """ + + def __init__(self, + wid=[16, 16, 24, 40, 80, 112, 160], + expan=[None, 1, 5, 4, 5, 5, 6], + dep=[None, 1, 4, 4, 4, 4, 4], + ks=[3, 3, 7, 7, 5, 7, 5], + group=[None, 8, 120, 20, 100, 280, 240], + att=[None, True, True, False, True, True, True], + stride=[2, 1, 2, 2, 2, 1, 2], + act=[ + 'HSwish', 'ReLU', 'ReLU', 'ReLU', 'HSwish', 'HSwish', + 'HSwish' + ], + conv_cfg=None, + norm_cfg=dict(type='BN'), + frozen_stages=-1, + norm_eval=False, + with_cp=False): + # Protect mutable default arguments + norm_cfg = copy.deepcopy(norm_cfg) + super().__init__() + self.wid = wid + self.expan = expan + self.dep = dep + self.ks = ks + self.group = group + self.att = att + self.stride = stride + self.act = act + self.conv_cfg = conv_cfg + self.norm_cfg = norm_cfg + self.frozen_stages = frozen_stages + self.norm_eval = norm_eval + self.with_cp = with_cp + + self.conv1 = ConvModule( + in_channels=3, + out_channels=self.wid[0], + kernel_size=self.ks[0], + stride=self.stride[0], + padding=self.ks[0] // 2, + conv_cfg=conv_cfg, + norm_cfg=norm_cfg, + act_cfg=dict(type=self.act[0])) + + self.layers = self._make_layer() + + def _make_layer(self): + layers = [] + layer_index = 0 + for i, dep in enumerate(self.dep[1:]): + mid_channels = self.wid[i + 1] * self.expan[i + 1] + + if self.att[i + 1]: + se_cfg = dict( + channels=mid_channels, + ratio=4, + act_cfg=(dict(type='ReLU'), dict(type='HSigmoid'))) + else: + se_cfg = None + + if self.expan[i + 1] == 1: + with_expand_conv = False + else: + with_expand_conv = True + + for j in range(dep): + if j == 0: + stride = self.stride[i + 1] + in_channels = self.wid[i] + else: + stride = 1 + in_channels = self.wid[i + 1] + + layer = InvertedResidual( + in_channels=in_channels, + out_channels=self.wid[i + 1], + mid_channels=mid_channels, + kernel_size=self.ks[i + 1], + groups=self.group[i + 1], + stride=stride, + se_cfg=se_cfg, + with_expand_conv=with_expand_conv, + conv_cfg=self.conv_cfg, + norm_cfg=self.norm_cfg, + act_cfg=dict(type=self.act[i + 1]), + with_cp=self.with_cp) + layer_index += 1 + layer_name = f'layer{layer_index}' + self.add_module(layer_name, layer) + layers.append(layer_name) + return layers + + def init_weights(self, pretrained=None): + if isinstance(pretrained, str): + logger = logging.getLogger() + load_checkpoint(self, pretrained, strict=False, logger=logger) + elif pretrained is None: + for m in self.modules(): + if isinstance(m, nn.Conv2d): + nn.init.normal_(m.weight, std=0.001) + for name, _ in m.named_parameters(): + if name in ['bias']: + nn.init.constant_(m.bias, 0) + elif isinstance(m, nn.BatchNorm2d): + nn.init.constant_(m.weight, 1) + nn.init.constant_(m.bias, 0) + else: + raise TypeError('pretrained must be a str or None') + + def forward(self, x): + x = self.conv1(x) + + for i, layer_name in enumerate(self.layers): + layer = getattr(self, layer_name) + x = layer(x) + + return x + + def _freeze_stages(self): + if self.frozen_stages >= 0: + for param in self.conv1.parameters(): + param.requires_grad = False + for i in range(1, self.frozen_stages + 1): + layer = getattr(self, f'layer{i}') + layer.eval() + for param in layer.parameters(): + param.requires_grad = False + + def train(self, mode=True): + super().train(mode) + self._freeze_stages() + if mode and self.norm_eval: + for m in self.modules(): + if isinstance(m, _BatchNorm): + m.eval() diff --git a/mmpose/models/backbones/vipnas_resnet.py b/mmpose/models/backbones/vipnas_resnet.py index 9ee1fee27f..4ce387b2b1 100644 --- a/mmpose/models/backbones/vipnas_resnet.py +++ b/mmpose/models/backbones/vipnas_resnet.py @@ -341,7 +341,7 @@ def __init__(self, @BACKBONES.register_module() class ViPNAS_ResNet(BaseBackbone): - """ResNet backbone. + """ViPNAS_ResNet backbone. ViPNAS: Efficient Video Pose Estimation via Neural Architecture Search. More details can be found in the `paper @@ -377,12 +377,12 @@ class ViPNAS_ResNet(BaseBackbone): memory while slowing down the training speed. Default: False. zero_init_residual (bool): Whether to use zero init for last norm layer in resblocks to let them behave as identity. Default: True. - wid (list(int)): searched width config for each stage. - expan (list(int)): searched expansion ratio config for each stage. - dep (list(int)): searched depth config for each stage. - ks (list(int)): searched kernel size config for each stage. - group (list(int)): searched group number config for each stage. - att (list(int)): searched attention config for each stage. + wid (list(int)): Searched width config for each stage. + expan (list(int)): Searched expansion ratio config for each stage. + dep (list(int)): Searched depth config for each stage. + ks (list(int)): Searched kernel size config for each stage. + group (list(int)): Searched group number config for each stage. + att (list(bool)): Searched attention config for each stage. """ arch_settings = { @@ -558,15 +558,6 @@ def init_weights(self, pretrained=None): elif isinstance(m, nn.BatchNorm2d): nn.init.constant_(m.weight, 1) nn.init.constant_(m.bias, 0) - elif isinstance(m, nn.ConvTranspose2d): - nn.init.normal_(m.weight, std=0.001) - for name, _ in m.named_parameters(): - if name in ['bias']: - nn.init.constant_(m.bias, 0) - elif isinstance(m, nn.ConvTranspose2d): - nn.init.normal_(m.weight, std=0.001) - if self.deconv_with_bias: - nn.init.constant_(m.bias, 0) def forward(self, x): """Forward function.""" diff --git a/mmpose/models/detectors/__init__.py b/mmpose/models/detectors/__init__.py index 7753e4c02a..07a1dfdb1a 100644 --- a/mmpose/models/detectors/__init__.py +++ b/mmpose/models/detectors/__init__.py @@ -4,9 +4,10 @@ from .mesh import ParametricMesh from .multi_task import MultiTask from .pose_lifter import PoseLifter +from .posewarper import PoseWarper from .top_down import TopDown __all__ = [ 'TopDown', 'AssociativeEmbedding', 'ParametricMesh', 'MultiTask', - 'PoseLifter', 'Interhand3D' + 'PoseLifter', 'Interhand3D', 'PoseWarper' ] diff --git a/mmpose/models/detectors/posewarper.py b/mmpose/models/detectors/posewarper.py new file mode 100644 index 0000000000..8aed8154ba --- /dev/null +++ b/mmpose/models/detectors/posewarper.py @@ -0,0 +1,244 @@ +# Copyright (c) OpenMMLab. All rights reserved. +import warnings + +import numpy as np +import torch + +from ..builder import POSENETS +from .top_down import TopDown + +try: + from mmcv.runner import auto_fp16 +except ImportError: + warnings.warn('auto_fp16 from mmpose will be deprecated from v0.15.0' + 'Please install mmcv>=1.1.4') + from mmpose.core import auto_fp16 + + +@POSENETS.register_module() +class PoseWarper(TopDown): + """Top-down pose detectors for multi-frame settings for video inputs. Paper + ref: Bertasius, Gedas, et al. "Learning temporal pose estimation from + sparsely-labeled videos." arXiv preprint:1906.04016 (2019). + + <``https://arxiv.org/abs/1906.04016``> + + A child class of TopDown detector. The main difference between PoseWarper + and TopDown lies in that the former takes a list of tensors as input image + while the latter takes a single tensor as input image in forward method. + + Args: + backbone (dict): Backbone modules to extract features. + neck (dict): intermediate modules to transform features. + keypoint_head (dict): Keypoint head to process feature. + train_cfg (dict): Config for training. Default: None. + test_cfg (dict): Config for testing. Default: None. + pretrained (str): Path to the pretrained models. + loss_pose (None): Deprecated arguments. Please use + `loss_keypoint` for heads instead. + concat_tensors (bool): Whether to concat the tensors on the batch dim, + which can speed up, Default: True + """ + + def __init__(self, + backbone, + neck=None, + keypoint_head=None, + train_cfg=None, + test_cfg=None, + pretrained=None, + loss_pose=None, + concat_tensors=True): + super().__init__( + backbone=backbone, + neck=neck, + keypoint_head=keypoint_head, + train_cfg=train_cfg, + test_cfg=test_cfg, + pretrained=pretrained, + loss_pose=loss_pose) + self.concat_tensors = concat_tensors + + @auto_fp16(apply_to=('img', )) + def forward(self, + img, + target=None, + target_weight=None, + img_metas=None, + return_loss=True, + return_heatmap=False, + **kwargs): + """Calls either forward_train or forward_test depending on whether + return_loss=True. Note this setting will change the expected inputs. + When `return_loss=True`, img and img_meta are single-nested (i.e. + Tensor and List[dict]), and when `resturn_loss=False`, img and img_meta + should be double nested (i.e. List[Tensor], List[List[dict]]), with + the outer list indicating test time augmentations. + + Note: + number of frames: F + batch_size: N + num_keypoints: K + num_img_channel: C (Default: 3) + img height: imgH + img width: imgW + heatmaps height: H + heatmaps weight: W + + Args: + imgs (list[Fxtorch.Tensor[NxCximgHximgW]]): multiple input frames + target (torch.Tensor[NxKxHxW]): Target heatmaps for one frame. + target_weight (torch.Tensor[NxKx1]): Weights across + different joint types. + img_metas (list(dict)): Information about data augmentation + By default this includes: + - "image_file: paths to multiple video frames + - "center": center of the bbox + - "scale": scale of the bbox + - "rotation": rotation of the bbox + - "bbox_score": score of bbox + return_loss (bool): Option to `return loss`. `return loss=True` + for training, `return loss=False` for validation & test. + return_heatmap (bool) : Option to return heatmap. + + Returns: + dict|tuple: if `return loss` is true, then return losses. + Otherwise, return predicted poses, boxes, image paths + and heatmaps. + """ + if return_loss: + return self.forward_train(img, target, target_weight, img_metas, + **kwargs) + return self.forward_test( + img, img_metas, return_heatmap=return_heatmap, **kwargs) + + def forward_train(self, imgs, target, target_weight, img_metas, **kwargs): + """Defines the computation performed at every call when training.""" + # imgs (list[Fxtorch.Tensor[NxCximgHximgW]]): multiple input frames + assert imgs[0].size(0) == len(img_metas) + num_frames = len(imgs) + frame_weight = img_metas[0]['frame_weight'] + + assert num_frames == len(frame_weight), f'The number of frames ' \ + f'({num_frames}) and the length of weights for each frame ' \ + f'({len(frame_weight)}) must match' + + if self.concat_tensors: + features = [self.backbone(torch.cat(imgs, 0))] + else: + features = [self.backbone(img) for img in imgs] + + if self.with_neck: + features = self.neck(features, frame_weight=frame_weight) + + if self.with_keypoint: + output = self.keypoint_head(features) + + # if return loss + losses = dict() + if self.with_keypoint: + keypoint_losses = self.keypoint_head.get_loss( + output, target, target_weight) + losses.update(keypoint_losses) + keypoint_accuracy = self.keypoint_head.get_accuracy( + output, target, target_weight) + losses.update(keypoint_accuracy) + + return losses + + def forward_test(self, imgs, img_metas, return_heatmap=False, **kwargs): + """Defines the computation performed at every call when testing.""" + # imgs (list[Fxtorch.Tensor[NxCximgHximgW]]): multiple input frames + assert imgs[0].size(0) == len(img_metas) + num_frames = len(imgs) + frame_weight = img_metas[0]['frame_weight'] + + assert num_frames == len(frame_weight), f'The number of frames ' \ + f'({num_frames}) and the length of weights for each frame ' \ + f'({len(frame_weight)}) must match' + + batch_size, _, img_height, img_width = imgs[0].shape + + if batch_size > 1: + assert 'bbox_id' in img_metas[0] + + result = {} + + if self.concat_tensors: + features = [self.backbone(torch.cat(imgs, 0))] + else: + features = [self.backbone(img) for img in imgs] + + if self.with_neck: + features = self.neck(features, frame_weight=frame_weight) + + if self.with_keypoint: + output_heatmap = self.keypoint_head.inference_model( + features, flip_pairs=None) + + if self.test_cfg.get('flip_test', True): + imgs_flipped = [img.flip(3) for img in imgs] + + if self.concat_tensors: + features_flipped = [self.backbone(torch.cat(imgs_flipped, 0))] + else: + features_flipped = [ + self.backbone(img_flipped) for img_flipped in imgs_flipped + ] + + if self.with_neck: + features_flipped = self.neck( + features_flipped, frame_weight=frame_weight) + + if self.with_keypoint: + output_flipped_heatmap = self.keypoint_head.inference_model( + features_flipped, img_metas[0]['flip_pairs']) + output_heatmap = (output_heatmap + + output_flipped_heatmap) * 0.5 + + if self.with_keypoint: + keypoint_result = self.keypoint_head.decode( + img_metas, output_heatmap, img_size=[img_width, img_height]) + result.update(keypoint_result) + + if not return_heatmap: + output_heatmap = None + + result['output_heatmap'] = output_heatmap + + return result + + def forward_dummy(self, img): + """Used for computing network FLOPs. + + See ``tools/get_flops.py``. + + Args: + img (torch.Tensor[NxCximgHximgW], or list/tuple of tensors): + multiple input frames, N >= 2 + + Returns: + Tensor: Output heatmaps. + """ + # concat tensors if they are in a list + if isinstance(img, (list, tuple)): + img = torch.cat(img, 0) + + batch_size = img.size(0) + assert batch_size > 1, 'Input batch size to PoseWarper ' \ + 'should be larger than 1.' + if batch_size == 2: + warnings.warn('Current batch size: 2, for pytorch2onnx and ' + 'getting flops both.') + else: + warnings.warn( + f'Current batch size: {batch_size}, for getting flops only.') + + frame_weight = np.random.uniform(0, 1, batch_size) + output = [self.backbone(img)] + + if self.with_neck: + output = self.neck(output, frame_weight=frame_weight) + if self.with_keypoint: + output = self.keypoint_head(output) + return output diff --git a/mmpose/models/detectors/top_down.py b/mmpose/models/detectors/top_down.py index c2fd21c755..4d701bf576 100644 --- a/mmpose/models/detectors/top_down.py +++ b/mmpose/models/detectors/top_down.py @@ -71,7 +71,7 @@ def __init__(self, @property def with_neck(self): - """Check if has keypoint_head.""" + """Check if has neck.""" return hasattr(self, 'neck') @property @@ -130,8 +130,8 @@ def forward(self, Returns: dict|tuple: if `return loss` is true, then return losses. - Otherwise, return predicted poses, boxes, image paths - and heatmaps. + Otherwise, return predicted poses, boxes, image paths + and heatmaps. """ if return_loss: return self.forward_train(img, target, target_weight, img_metas, @@ -271,30 +271,31 @@ def show_result(self, img = img.copy() bbox_result = [] + bbox_labels = [] pose_result = [] for res in result: if 'bbox' in res: bbox_result.append(res['bbox']) + bbox_labels.append(res.get('label', None)) pose_result.append(res['keypoints']) if bbox_result: bboxes = np.vstack(bbox_result) - labels = None - if 'label' in result[0]: - labels = [res['label'] for res in result] # draw bounding boxes imshow_bboxes( img, bboxes, - labels=labels, + labels=bbox_labels, colors=bbox_color, text_color=text_color, thickness=bbox_thickness, font_scale=font_scale, show=False) - imshow_keypoints(img, pose_result, skeleton, kpt_score_thr, - pose_kpt_color, pose_link_color, radius, thickness) + if pose_result: + imshow_keypoints(img, pose_result, skeleton, kpt_score_thr, + pose_kpt_color, pose_link_color, radius, + thickness) if show: imshow(img, win_name, wait_time) diff --git a/mmpose/models/necks/__init__.py b/mmpose/models/necks/__init__.py index c97bd01571..0d3a5cc01a 100644 --- a/mmpose/models/necks/__init__.py +++ b/mmpose/models/necks/__init__.py @@ -1,4 +1,5 @@ # Copyright (c) OpenMMLab. All rights reserved. from .gap_neck import GlobalAveragePooling +from .posewarper_neck import PoseWarperNeck -__all__ = ['GlobalAveragePooling'] +__all__ = ['GlobalAveragePooling', 'PoseWarperNeck'] diff --git a/mmpose/models/necks/posewarper_neck.py b/mmpose/models/necks/posewarper_neck.py new file mode 100644 index 0000000000..8d81065032 --- /dev/null +++ b/mmpose/models/necks/posewarper_neck.py @@ -0,0 +1,326 @@ +# Copyright (c) OpenMMLab. All rights reserved. +import mmcv +import torch +import torch.nn as nn +from mmcv.cnn import (build_conv_layer, build_norm_layer, constant_init, + normal_init) +from mmcv.utils import digit_version +from torch.nn.modules.batchnorm import _BatchNorm + +from mmpose.models.utils.ops import resize +from ..backbones.resnet import BasicBlock, Bottleneck +from ..builder import NECKS + +try: + from mmcv.ops import DeformConv2d + has_mmcv_full = True +except (ImportError, ModuleNotFoundError): + has_mmcv_full = False + + +@NECKS.register_module() +class PoseWarperNeck(nn.Module): + """PoseWarper neck. Paper ref: Bertasius, Gedas, et al. "Learning temporal + pose estimation from sparsely-labeled videos." arXiv preprint + arXiv:1906.04016 (2019). + + <``https://arxiv.org/abs/1906.04016``> + + Args: + in_channels (int): Number of input channels from backbone + out_channels (int): Number of output channels + inner_channels (int): Number of intermediate channels of the res block + deform_groups (int): Number of groups in the deformable conv + dilations (list|tuple): different dilations of the offset conv layers + trans_conv_kernel (int): the kernel of the trans conv layer, which is + used to get heatmap from the output of backbone. Default: 1 + res_blocks_cfg (dict|None): config of residual blocks. It should + contain the following keys: + - block (str): the type of residual block, Default: 'BASIC' + - num_blocks (int): the number of blocks, Default: 20 + If None, use the default values. + offsets_kernel (int): the kernel of offset conv layer. + deform_conv_kernel (int): the kernel of defomrable conv layer. + in_index (int|Sequence[int]): Input feature index. Default: 0 + input_transform (str|None): Transformation type of input features. + Options: 'resize_concat', 'multiple_select', None. + 'resize_concat': Multiple feature maps will be resize to the + same size as first one and than concat together. + Usually used in FCN head of HRNet. + 'multiple_select': Multiple feature maps will be bundle into + a list and passed into decode head. + None: Only one select feature map is allowed. + Default: None. + freeze_trans_layer (bool): Whether to freeze the transition layer + (stop grad and set eval mode). Default: True. + norm_eval (bool): Whether to set norm layers to eval mode, namely, + freeze running stats (mean and var). Note: Effect on Batch Norm + and its variants only. Default: False. + im2col_step (int): the argument `im2col_step` in deformable conv, + Default: 80. + """ + blocks_dict = {'BASIC': BasicBlock, 'BOTTLENECK': Bottleneck} + minimum_mmcv_version = '1.3.17' + + def __init__(self, + in_channels, + out_channels, + inner_channels, + deform_groups=17, + dilations=(3, 6, 12, 18, 24), + trans_conv_kernel=1, + res_blocks_cfg=None, + offsets_kernel=3, + deform_conv_kernel=3, + in_index=0, + input_transform=None, + freeze_trans_layer=True, + norm_eval=False, + im2col_step=80): + super().__init__() + self.in_channels = in_channels + self.out_channels = out_channels + self.inner_channels = inner_channels + self.deform_groups = deform_groups + self.dilations = dilations + self.trans_conv_kernel = trans_conv_kernel + self.res_blocks_cfg = res_blocks_cfg + self.offsets_kernel = offsets_kernel + self.deform_conv_kernel = deform_conv_kernel + self.in_index = in_index + self.input_transform = input_transform + self.freeze_trans_layer = freeze_trans_layer + self.norm_eval = norm_eval + self.im2col_step = im2col_step + + identity_trans_layer = False + + assert trans_conv_kernel in [0, 1, 3] + kernel_size = trans_conv_kernel + if kernel_size == 3: + padding = 1 + elif kernel_size == 1: + padding = 0 + else: + # 0 for Identity mapping. + identity_trans_layer = True + + if identity_trans_layer: + self.trans_layer = nn.Identity() + else: + self.trans_layer = build_conv_layer( + cfg=dict(type='Conv2d'), + in_channels=in_channels, + out_channels=out_channels, + kernel_size=kernel_size, + stride=1, + padding=padding) + + # build chain of residual blocks + if res_blocks_cfg is not None and not isinstance(res_blocks_cfg, dict): + raise TypeError('res_blocks_cfg should be dict or None.') + + if res_blocks_cfg is None: + block_type = 'BASIC' + num_blocks = 20 + else: + block_type = res_blocks_cfg.get('block', 'BASIC') + num_blocks = res_blocks_cfg.get('num_blocks', 20) + + block = self.blocks_dict[block_type] + + res_layers = [] + downsample = nn.Sequential( + build_conv_layer( + cfg=dict(type='Conv2d'), + in_channels=out_channels, + out_channels=inner_channels, + kernel_size=1, + stride=1, + bias=False), + build_norm_layer(dict(type='BN'), inner_channels)[1]) + res_layers.append( + block( + in_channels=out_channels, + out_channels=inner_channels, + downsample=downsample)) + + for _ in range(1, num_blocks): + res_layers.append(block(inner_channels, inner_channels)) + self.offset_feats = nn.Sequential(*res_layers) + + # build offset layers + self.num_offset_layers = len(dilations) + assert self.num_offset_layers > 0, 'Number of offset layers ' \ + 'should be larger than 0.' + + target_offset_channels = 2 * offsets_kernel**2 * deform_groups + + offset_layers = [ + build_conv_layer( + cfg=dict(type='Conv2d'), + in_channels=inner_channels, + out_channels=target_offset_channels, + kernel_size=offsets_kernel, + stride=1, + dilation=dilations[i], + padding=dilations[i], + bias=False, + ) for i in range(self.num_offset_layers) + ] + self.offset_layers = nn.ModuleList(offset_layers) + + # build deformable conv layers + assert digit_version(mmcv.__version__) >= \ + digit_version(self.minimum_mmcv_version), \ + f'Current MMCV version: {mmcv.__version__}, ' \ + f'but MMCV >= {self.minimum_mmcv_version} is required, see ' \ + f'https://github.com/open-mmlab/mmcv/issues/1440, ' \ + f'Please install the latest MMCV.' + + if has_mmcv_full: + deform_conv_layers = [ + DeformConv2d( + in_channels=out_channels, + out_channels=out_channels, + kernel_size=deform_conv_kernel, + stride=1, + padding=int(deform_conv_kernel / 2) * dilations[i], + dilation=dilations[i], + deform_groups=deform_groups, + im2col_step=self.im2col_step, + ) for i in range(self.num_offset_layers) + ] + else: + raise ImportError('Please install the full version of mmcv ' + 'to use `DeformConv2d`.') + + self.deform_conv_layers = nn.ModuleList(deform_conv_layers) + + self.freeze_layers() + + def freeze_layers(self): + if self.freeze_trans_layer: + self.trans_layer.eval() + + for param in self.trans_layer.parameters(): + param.requires_grad = False + + def init_weights(self): + for m in self.modules(): + if isinstance(m, nn.Conv2d): + normal_init(m, std=0.001) + elif isinstance(m, (_BatchNorm, nn.GroupNorm)): + constant_init(m, 1) + elif isinstance(m, DeformConv2d): + filler = torch.zeros([ + m.weight.size(0), + m.weight.size(1), + m.weight.size(2), + m.weight.size(3) + ], + dtype=torch.float32, + device=m.weight.device) + for k in range(m.weight.size(0)): + filler[k, k, + int(m.weight.size(2) / 2), + int(m.weight.size(3) / 2)] = 1.0 + m.weight = torch.nn.Parameter(filler) + m.weight.requires_grad = True + + # posewarper offset layer weight initialization + for m in self.offset_layers.modules(): + constant_init(m, 0) + + def _transform_inputs(self, inputs): + """Transform inputs for decoder. + + Args: + inputs (list[Tensor] | Tensor): multi-level img features. + + Returns: + Tensor: The transformed inputs + """ + if not isinstance(inputs, list): + return inputs + + if self.input_transform == 'resize_concat': + inputs = [inputs[i] for i in self.in_index] + upsampled_inputs = [ + resize( + input=x, + size=inputs[0].shape[2:], + mode='bilinear', + align_corners=self.align_corners) for x in inputs + ] + inputs = torch.cat(upsampled_inputs, dim=1) + elif self.input_transform == 'multiple_select': + inputs = [inputs[i] for i in self.in_index] + else: + inputs = inputs[self.in_index] + + return inputs + + def forward(self, inputs, frame_weight): + assert isinstance(inputs, (list, tuple)), 'PoseWarperNeck inputs ' \ + 'should be list or tuple, even though the length is 1, ' \ + 'for unified processing.' + + output_heatmap = 0 + if len(inputs) > 1: + inputs = [self._transform_inputs(input) for input in inputs] + inputs = [self.trans_layer(input) for input in inputs] + + # calculate difference features + diff_features = [ + self.offset_feats(inputs[0] - input) for input in inputs + ] + + for i in range(len(inputs)): + if frame_weight[i] == 0: + continue + warped_heatmap = 0 + for j in range(self.num_offset_layers): + offset = (self.offset_layers[j](diff_features[i])) + warped_heatmap_tmp = self.deform_conv_layers[j](inputs[i], + offset) + warped_heatmap += warped_heatmap_tmp / \ + self.num_offset_layers + + output_heatmap += warped_heatmap * frame_weight[i] + + else: + inputs = inputs[0] + inputs = self._transform_inputs(inputs) + inputs = self.trans_layer(inputs) + + num_frames = len(frame_weight) + batch_size = inputs.size(0) // num_frames + ref_x = inputs[:batch_size] + ref_x_tiled = ref_x.repeat(num_frames, 1, 1, 1) + + offset_features = self.offset_feats(ref_x_tiled - inputs) + + warped_heatmap = 0 + for j in range(self.num_offset_layers): + offset = self.offset_layers[j](offset_features) + + warped_heatmap_tmp = self.deform_conv_layers[j](inputs, offset) + warped_heatmap += warped_heatmap_tmp / self.num_offset_layers + + for i in range(num_frames): + if frame_weight[i] == 0: + continue + output_heatmap += warped_heatmap[i * batch_size:(i + 1) * + batch_size] * frame_weight[i] + + return output_heatmap + + def train(self, mode=True): + """Convert the model into training mode.""" + super().train(mode) + self.freeze_layers() + if mode and self.norm_eval: + for m in self.modules(): + if isinstance(m, _BatchNorm): + m.eval() diff --git a/mmpose/version.py b/mmpose/version.py index 03d77eb456..ea54d6f46f 100644 --- a/mmpose/version.py +++ b/mmpose/version.py @@ -1,6 +1,6 @@ # Copyright (c) Open-MMLab. All rights reserved. -__version__ = '0.20.0' +__version__ = '0.21.0' short_version = __version__ diff --git a/model-index.yml b/model-index.yml index e1575a0041..e928776228 100644 --- a/model-index.yml +++ b/model-index.yml @@ -75,6 +75,7 @@ Import: - configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/ochuman/resnet_ochuman.yml - configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/hrnet_posetrack18.yml - configs/body/2d_kpt_sview_rgb_img/topdown_heatmap/posetrack18/resnet_posetrack18.yml +- configs/body/2d_kpt_sview_rgb_vid/posewarper/posetrack18/hrnet_posetrack18_posewarper.yml - configs/body/3d_kpt_sview_rgb_img/pose_lift/h36m/simplebaseline3d_h36m.yml - configs/body/3d_kpt_sview_rgb_img/pose_lift/mpi_inf_3dhp/simplebaseline3d_mpi-inf-3dhp.yml - configs/body/3d_kpt_sview_rgb_vid/video_pose_lift/h36m/videopose3d_h36m.yml @@ -129,4 +130,6 @@ Import: - configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/hrnet_coco-wholebody.yml - configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/hrnet_dark_coco-wholebody.yml - configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/resnet_coco-wholebody.yml +- configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_coco-wholebody.yml +- configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/coco-wholebody/vipnas_dark_coco-wholebody.yml - configs/wholebody/2d_kpt_sview_rgb_img/topdown_heatmap/halpe/hrnet_dark_halpe.yml diff --git a/tests/data/posetrack18/annotations/test_posetrack18_human_detections.json b/tests/data/posetrack18/annotations/test_posetrack18_human_detections.json new file mode 100644 index 0000000000..fb1bcf3151 --- /dev/null +++ b/tests/data/posetrack18/annotations/test_posetrack18_human_detections.json @@ -0,0 +1,3061 @@ +[ + { + "bbox": [ + 1475.2755126953125, + 2.719658136367798, + 96.9671630859375, + 252.88242316246033 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.9290200471878052 + }, + { + "bbox": [ + 279.2542419433594, + 201.43528747558594, + 215.51690673828125, + 277.4363555908203 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.8697755932807922 + }, + { + "bbox": [ + 375.3135070800781, + 1.6077430248260498, + 102.83343505859375, + 205.19831776618958 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.8078259229660034 + }, + { + "bbox": [ + 1372.4200439453125, + 0.0, + 105.89013671875, + 242.61294555664062 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.7359948754310608 + }, + { + "bbox": [ + 879.8322143554688, + 166.1944122314453, + 129.68414306640625, + 265.45030212402344 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.7012330293655396 + }, + { + "bbox": [ + 1565.218994140625, + 0.6250243186950684, + 94.249267578125, + 251.48860788345337 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.6708132028579712 + }, + { + "bbox": [ + 1625.5699462890625, + 34.00221633911133, + 113.07080078125, + 336.9929618835449 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.6564908027648926 + }, + { + "bbox": [ + 1767.4072265625, + 0.0, + 94.924560546875, + 229.85476684570312 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.6467881202697754 + }, + { + "bbox": [ + 956.6194458007812, + 900.006103515625, + 149.72381591796875, + 173.7783203125 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.6429733037948608 + }, + { + "bbox": [ + 574.7518310546875, + 876.6203002929688, + 133.7698974609375, + 200.78741455078125 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.6194133758544922 + }, + { + "bbox": [ + 467.8788146972656, + 776.9996948242188, + 108.48025512695312, + 287.51483154296875 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.608767032623291 + }, + { + "bbox": [ + 302.0422058105469, + 732.33837890625, + 124.57574462890625, + 331.01220703125 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.5625099539756775 + }, + { + "bbox": [ + 638.8469848632812, + 743.0866088867188, + 117.85137939453125, + 317.97259521484375 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.5567368268966675 + }, + { + "bbox": [ + 335.7384948730469, + 507.2187194824219, + 145.80545043945312, + 159.55679321289062 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.5184996724128723 + }, + { + "bbox": [ + 1330.8204345703125, + 838.9266357421875, + 140.44580078125, + 240.1510009765625 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.5148675441741943 + }, + { + "bbox": [ + 720.7056884765625, + 2.9743223190307617, + 104.3197021484375, + 150.11820697784424 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.5129923820495605 + }, + { + "bbox": [ + 196.63421630859375, + 693.4352416992188, + 119.49697875976562, + 362.00836181640625 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.472736656665802 + }, + { + "bbox": [ + 666.0804443359375, + 180.66146850585938, + 95.970458984375, + 213.87698364257812 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.4722053110599518 + }, + { + "bbox": [ + 876.128173828125, + 339.4115905761719, + 135.45379638671875, + 319.6487121582031 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.4647904336452484 + }, + { + "bbox": [ + 667.529296875, + 415.2683410644531, + 104.7076416015625, + 229.71560668945312 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.45972582697868347 + }, + { + "bbox": [ + 112.86947631835938, + 264.6505432128906, + 144.888671875, + 191.26544189453125 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.45595934987068176 + }, + { + "bbox": [ + 1701.4876708984375, + 0.0, + 90.152587890625, + 221.60284423828125 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.45339658856391907 + }, + { + "bbox": [ + 1177.0682373046875, + 808.5385131835938, + 118.4273681640625, + 265.73162841796875 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.4308188259601593 + }, + { + "bbox": [ + 1581.5089111328125, + 773.6590576171875, + 153.54052734375, + 289.6710205078125 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.4269048273563385 + }, + { + "bbox": [ + 531.0040893554688, + 437.7104187011719, + 127.3616943359375, + 280.2588806152344 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.42152199149131775 + }, + { + "bbox": [ + 1797.8150634765625, + 778.5232543945312, + 102.983642578125, + 292.46649169921875 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.411865234375 + }, + { + "bbox": [ + 1084.093505859375, + 2.85404109954834, + 93.6932373046875, + 210.73848819732666 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.40260007977485657 + }, + { + "bbox": [ + 920.5157470703125, + 832.7113037109375, + 94.4918212890625, + 221.5032958984375 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.3867260217666626 + }, + { + "bbox": [ + 1115.3507080078125, + 847.74365234375, + 109.4945068359375, + 226.804931640625 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.3844665586948395 + }, + { + "bbox": [ + 1872.486083984375, + 19.00360679626465, + 42.8349609375, + 236.63503456115723 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.37733739614486694 + }, + { + "bbox": [ + 1349.9853515625, + 210.24911499023438, + 131.93798828125, + 167.93081665039062 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.3761371970176697 + }, + { + "bbox": [ + 766.0445556640625, + 879.2682495117188, + 124.82427978515625, + 201.08441162109375 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.3682442009449005 + }, + { + "bbox": [ + 817.4657592773438, + 0.0, + 80.7606201171875, + 168.49359130859375 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.3530486524105072 + }, + { + "bbox": [ + 147.0262451171875, + 1.8125637769699097, + 79.67684936523438, + 99.51723968982697 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.31355297565460205 + }, + { + "bbox": [ + 1159.018310546875, + 750.4727172851562, + 109.84375, + 160.12939453125 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.3134245276451111 + }, + { + "bbox": [ + 201.1594696044922, + 625.8055419921875, + 77.64781188964844, + 134.331787109375 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.3070683181285858 + }, + { + "bbox": [ + 1473.18359375, + 651.7177124023438, + 82.4835205078125, + 130.7080078125 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.30168840289115906 + }, + { + "bbox": [ + 932.6547241210938, + 0.0, + 94.53363037109375, + 160.51365661621094 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.3008910119533539 + }, + { + "bbox": [ + 1700.9190673828125, + 828.179931640625, + 121.2147216796875, + 245.9788818359375 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.29163801670074463 + }, + { + "bbox": [ + 1634.7724609375, + 446.2858581542969, + 132.4085693359375, + 209.66311645507812 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.291547566652298 + }, + { + "bbox": [ + 1556.4608154296875, + 473.771728515625, + 112.165283203125, + 180.64654541015625 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.2879399359226227 + }, + { + "bbox": [ + 583.9107055664062, + 1.929314374923706, + 73.5870361328125, + 123.53908467292786 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.28340914845466614 + }, + { + "bbox": [ + 1498.50634765625, + 698.7794799804688, + 96.718505859375, + 314.76446533203125 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.28129440546035767 + }, + { + "bbox": [ + 1280.0792236328125, + 775.8158569335938, + 76.7454833984375, + 188.51519775390625 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.27848634123802185 + }, + { + "bbox": [ + 1718.6058349609375, + 226.6940460205078, + 160.0238037109375, + 177.1758575439453 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.27552416920661926 + }, + { + "bbox": [ + 756.9520263671875, + 810.5991821289062, + 83.45086669921875, + 189.677001953125 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.27519550919532776 + }, + { + "bbox": [ + 1728.245849609375, + 640.5650024414062, + 117.093994140625, + 210.5716552734375 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.272867351770401 + }, + { + "bbox": [ + 1772.5546875, + 525.9481201171875, + 132.1446533203125, + 174.74395751953125 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.2701846957206726 + }, + { + "bbox": [ + 1305.05224609375, + 209.34393310546875, + 184.050048828125, + 414.58587646484375 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.26895296573638916 + }, + { + "bbox": [ + 810.69287109375, + 790.5480346679688, + 89.7996826171875, + 185.0943603515625 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.26855093240737915 + }, + { + "bbox": [ + 95.97314453125, + 724.7075805664062, + 114.75672912597656, + 298.14398193359375 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.26742294430732727 + }, + { + "bbox": [ + 1261.4110107421875, + 909.4841918945312, + 118.9820556640625, + 164.47723388671875 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.2666778564453125 + }, + { + "bbox": [ + 1339.5250244140625, + 434.0279846191406, + 87.82666015625, + 147.42294311523438 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.26228952407836914 + }, + { + "bbox": [ + 63.43070983886719, + 664.1151733398438, + 82.15074157714844, + 128.1494140625 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.26013079285621643 + }, + { + "bbox": [ + 1.3776787519454956, + 679.18505859375, + 111.62459480762482, + 224.9747314453125 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.2587812840938568 + }, + { + "bbox": [ + 1439.8868408203125, + 816.7938842773438, + 97.72802734375, + 256.11944580078125 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.256550669670105 + }, + { + "bbox": [ + 660.9515380859375, + 744.8563842773438, + 94.61444091796875, + 115.916259765625 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.2563660442829132 + }, + { + "bbox": [ + 556.6321411132812, + 0.0, + 31.12762451171875, + 77.6491470336914 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.2539074718952179 + }, + { + "bbox": [ + 414.3009948730469, + 682.0269165039062, + 92.76937866210938, + 310.0914306640625 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.25366705656051636 + }, + { + "bbox": [ + 1823.6094970703125, + 520.3126831054688, + 74.411865234375, + 80.507080078125 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.2529422640800476 + }, + { + "bbox": [ + 258.0948486328125, + 2.8098771572113037, + 73.0369873046875, + 90.99600052833557 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.25058287382125854 + }, + { + "bbox": [ + 508.9549560546875, + 714.0374145507812, + 132.6729736328125, + 206.59674072265625 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.24579626321792603 + }, + { + "bbox": [ + 1647.6907958984375, + 387.5267639160156, + 117.0858154296875, + 134.33120727539062 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.2425207644701004 + }, + { + "bbox": [ + 1445.354248046875, + 761.0438842773438, + 91.1209716796875, + 122.70550537109375 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.2403791844844818 + }, + { + "bbox": [ + 1028.0394287109375, + 751.615478515625, + 101.6038818359375, + 172.39617919921875 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.23425403237342834 + }, + { + "bbox": [ + 10.321240425109863, + 668.003173828125, + 92.43458843231201, + 93.92236328125 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.23368315398693085 + }, + { + "bbox": [ + 480.19140625, + 3.0881388187408447, + 101.267578125, + 78.71852469444275 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.2329442799091339 + }, + { + "bbox": [ + 1319.99755859375, + 813.53125, + 58.90185546875, + 112.30328369140625 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.23115667700767517 + }, + { + "bbox": [ + 0.0, + 628.298828125, + 47.96708679199219, + 120.50457763671875 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.2270287126302719 + }, + { + "bbox": [ + 298.7027893066406, + 666.9664306640625, + 119.76385498046875, + 144.8203125 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.2235877364873886 + }, + { + "bbox": [ + 1054.49609375, + 1.8778526782989502, + 65.3221435546875, + 154.7142035961151 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.22313834726810455 + }, + { + "bbox": [ + 296.7391052246094, + 680.0767822265625, + 35.053375244140625, + 69.30267333984375 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.21813228726387024 + }, + { + "bbox": [ + 1811.36962890625, + 285.1565246582031, + 102.1195068359375, + 269.7958679199219 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.21760663390159607 + }, + { + "bbox": [ + 114.75823974609375, + 719.09228515625, + 74.72804260253906, + 83.634765625 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.2161155790090561 + }, + { + "bbox": [ + 991.546875, + 1.210024356842041, + 59.4659423828125, + 152.63245916366577 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.2096937894821167 + }, + { + "bbox": [ + 1852.13916015625, + 519.2532958984375, + 38.265380859375, + 43.08807373046875 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.18011623620986938 + }, + { + "bbox": [ + 316.677978515625, + 0.0, + 44.184600830078125, + 62.04084396362305 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.17839768528938293 + }, + { + "bbox": [ + 1023.7964477539062, + 0.0, + 45.53558349609375, + 87.68540954589844 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.1771439015865326 + }, + { + "bbox": [ + 0.0, + 690.8153076171875, + 27.172204971313477, + 55.42034912109375 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.17463117837905884 + }, + { + "bbox": [ + 1663.4932861328125, + 4.420060634613037, + 65.2760009765625, + 114.99270486831665 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.1590556651353836 + }, + { + "bbox": [ + 1578.5491943359375, + 454.1618347167969, + 74.5714111328125, + 104.37033081054688 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.15501607954502106 + }, + { + "bbox": [ + 544.5846557617188, + 697.2288208007812, + 35.70989990234375, + 26.73150634765625 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.15327082574367523 + }, + { + "bbox": [ + 534.465087890625, + 881.8455200195312, + 78.7249755859375, + 172.04473876953125 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.14815860986709595 + }, + { + "bbox": [ + 1873.2293701171875, + 834.9508056640625, + 45.2706298828125, + 230.974609375 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.1479007452726364 + }, + { + "bbox": [ + 146.6645965576172, + 723.4815673828125, + 30.512222290039062, + 41.179443359375 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.13243095576763153 + }, + { + "bbox": [ + 740.52490234375, + 10.856040000915527, + 38.1209716796875, + 77.29609775543213 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.1309206336736679 + }, + { + "bbox": [ + 1783.414794921875, + 856.5660400390625, + 51.0806884765625, + 216.032958984375 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.13079363107681274 + }, + { + "bbox": [ + 1353.722900390625, + 4.124818801879883, + 26.04736328125, + 36.974050521850586 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.12728439271450043 + }, + { + "bbox": [ + 1423.4942626953125, + 875.3924560546875, + 16.2568359375, + 29.398681640625 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.1250089704990387 + }, + { + "bbox": [ + 1592.7584228515625, + 1.329086184501648, + 55.0660400390625, + 54.82293713092804 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.11483781039714813 + }, + { + "bbox": [ + 1385.247314453125, + 7.618640422821045, + 19.5557861328125, + 37.21356248855591 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.11478649824857712 + }, + { + "bbox": [ + 774.5552978515625, + 0.0, + 32.50115966796875, + 48.10002899169922 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.11244752258062363 + }, + { + "bbox": [ + 1030.501953125, + 792.454833984375, + 44.9681396484375, + 111.78228759765625 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.10898905247449875 + }, + { + "bbox": [ + 302.1847229003906, + 695.43701171875, + 20.343109130859375, + 28.063720703125 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.10741319507360458 + }, + { + "bbox": [ + 1729.3040771484375, + 2.0999855995178223, + 26.806884765625, + 36.02122259140015 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.10721274465322495 + }, + { + "bbox": [ + 1762.438720703125, + 4.751255989074707, + 24.288818359375, + 40.14107036590576 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.10624366253614426 + }, + { + "bbox": [ + 211.49954223632812, + 328.7121887207031, + 56.994140625, + 60.76922607421875 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.10590028017759323 + }, + { + "bbox": [ + 1792.0831298828125, + 261.65728759765625, + 92.417236328125, + 84.54769897460938 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.10410129278898239 + }, + { + "bbox": [ + 1547.43359375, + 4.291971683502197, + 28.6832275390625, + 69.40435552597046 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.10200422257184982 + }, + { + "bbox": [ + 1335.0888671875, + 3.258249282836914, + 23.91845703125, + 32.369855880737305 + ], + "category_id": 1, + "image_id": 10128340000, + "score": 0.10069120675325394 + }, + { + "bbox": [ + 1283.4007568359375, + 6.713701248168945, + 629.122802734375, + 1056.8606395721436 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.9853803515434265 + }, + { + "bbox": [ + 288.9501647949219, + 42.40924835205078, + 1185.7618713378906, + 999.2054977416992 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.9629650115966797 + }, + { + "bbox": [ + 649.4730834960938, + 315.6942138671875, + 143.35650634765625, + 229.676513671875 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.8901010751724243 + }, + { + "bbox": [ + 1058.3331298828125, + 258.07269287109375, + 310.98046875, + 259.15057373046875 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.8752242922782898 + }, + { + "bbox": [ + 790.96240234375, + 182.09800720214844, + 105.51129150390625, + 97.01622009277344 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.872738242149353 + }, + { + "bbox": [ + 777.576416015625, + 274.9346618652344, + 119.44439697265625, + 178.85000610351562 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.8679455518722534 + }, + { + "bbox": [ + 2.3131344318389893, + 412.2568054199219, + 273.67606234550476, + 235.93026733398438 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.8616952300071716 + }, + { + "bbox": [ + 8.783040046691895, + 198.89437866210938, + 196.3238935470581, + 266.4853515625 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.8512702584266663 + }, + { + "bbox": [ + 220.74649047851562, + 94.02008056640625, + 98.13226318359375, + 124.78965759277344 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.7501042485237122 + }, + { + "bbox": [ + 164.27354431152344, + 83.04096984863281, + 88.21920776367188, + 127.46699523925781 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.7067092061042786 + }, + { + "bbox": [ + 1087.515625, + 181.69656372070312, + 87.4686279296875, + 72.61752319335938 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.702244758605957 + }, + { + "bbox": [ + 1074.9063720703125, + 472.5963439941406, + 124.1480712890625, + 110.47763061523438 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.628270149230957 + }, + { + "bbox": [ + 343.7706604003906, + 30.924612045288086, + 59.412750244140625, + 86.91977119445801 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.5943357944488525 + }, + { + "bbox": [ + 69.42112731933594, + 103.34648132324219, + 112.67413330078125, + 108.37942504882812 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.5710238218307495 + }, + { + "bbox": [ + 79.45482635498047, + 437.8648376464844, + 270.02677154541016, + 180.55715942382812 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.40784332156181335 + }, + { + "bbox": [ + 1225.6717529296875, + 162.2100830078125, + 78.9639892578125, + 132.47430419921875 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.3427259922027588 + }, + { + "bbox": [ + 0.9485000371932983, + 54.5380973815918, + 92.79364931583405, + 115.03351211547852 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.33483877778053284 + }, + { + "bbox": [ + 1105.8240966796875, + 281.7027282714844, + 76.47314453125, + 55.8577880859375 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.3022329807281494 + }, + { + "bbox": [ + 0.0, + 258.510498046875, + 85.2731704711914, + 205.99591064453125 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.277988463640213 + }, + { + "bbox": [ + 1069.812255859375, + 430.1299133300781, + 178.785888671875, + 54.991607666015625 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.25947925448417664 + }, + { + "bbox": [ + 681.9738159179688, + 208.11050415039062, + 87.06488037109375, + 76.40863037109375 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.2577346861362457 + }, + { + "bbox": [ + 684.65625, + 209.45753479003906, + 65.76763916015625, + 48.37471008300781 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.25362637639045715 + }, + { + "bbox": [ + 1770.093017578125, + 45.35274887084961, + 148.260986328125, + 1012.7648048400879 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.23887047171592712 + }, + { + "bbox": [ + 167.9042510986328, + 22.85419273376465, + 81.45010375976562, + 74.9856128692627 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.23093517124652863 + }, + { + "bbox": [ + 686.263671875, + 45.065853118896484, + 418.443603515625, + 672.8133583068848 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.22159330546855927 + }, + { + "bbox": [ + 1190.727783203125, + 260.0331115722656, + 45.408203125, + 42.90838623046875 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.2191120684146881 + }, + { + "bbox": [ + 1051.7967529296875, + 212.4822998046875, + 37.3897705078125, + 71.61709594726562 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.13527318835258484 + }, + { + "bbox": [ + 906.1925659179688, + 454.3064880371094, + 249.45501708984375, + 209.19338989257812 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.13330410420894623 + }, + { + "bbox": [ + 852.9170532226562, + 360.49078369140625, + 25.87530517578125, + 70.86614990234375 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.15234917402267456 + }, + { + "bbox": [ + 609.119140625, + 295.8336181640625, + 98.669677734375, + 86.77999877929688 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.8445025086402893 + }, + { + "bbox": [ + 378.2210693359375, + 156.46856689453125, + 79.51510620117188, + 59.65052795410156 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.7748774886131287 + }, + { + "bbox": [ + 198.08822631835938, + 305.9843444824219, + 122.8443603515625, + 100.4822998046875 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.7065314054489136 + }, + { + "bbox": [ + 135.3995819091797, + 208.8668670654297, + 82.15673828125, + 32.42308044433594 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.6814215779304504 + }, + { + "bbox": [ + 535.6635131835938, + 300.5378112792969, + 94.14208984375, + 83.1962890625 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.6654942035675049 + }, + { + "bbox": [ + 483.58563232421875, + 197.45590209960938, + 74.43743896484375, + 57.176239013671875 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.6608478426933289 + }, + { + "bbox": [ + 215.0618896484375, + 210.8956756591797, + 69.7735595703125, + 29.752822875976562 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.6438001394271851 + }, + { + "bbox": [ + 166.78993225097656, + 260.73162841796875, + 81.71955871582031, + 33.886688232421875 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.6426426768302917 + }, + { + "bbox": [ + 194.13543701171875, + 302.4077453613281, + 132.185302734375, + 203.56118774414062 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.64094477891922 + }, + { + "bbox": [ + 24.686168670654297, + 160.48495483398438, + 65.35156631469727, + 43.957122802734375 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.6141790747642517 + }, + { + "bbox": [ + 61.93497848510742, + 206.81692504882812, + 67.95804214477539, + 35.73725891113281 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.6034325361251831 + }, + { + "bbox": [ + 684.8605346679688, + 296.6944274902344, + 60.11041259765625, + 79.523681640625 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.5703861713409424 + }, + { + "bbox": [ + 277.9051818847656, + 118.02881622314453, + 75.3424072265625, + 74.72411346435547 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.5354023575782776 + }, + { + "bbox": [ + 557.520751953125, + 208.25003051757812, + 63.16949462890625, + 47.47157287597656 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.5207008719444275 + }, + { + "bbox": [ + 389.46875, + 260.3998718261719, + 95.03842163085938, + 28.859283447265625 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.5194308757781982 + }, + { + "bbox": [ + 246.87026977539062, + 258.12652587890625, + 83.399658203125, + 36.68548583984375 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.47507211565971375 + }, + { + "bbox": [ + 230.82713317871094, + 51.341026306152344, + 59.52711486816406, + 42.373046875 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.4719221889972687 + }, + { + "bbox": [ + 371.5136413574219, + 302.7303771972656, + 84.49050903320312, + 68.41122436523438 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.44887304306030273 + }, + { + "bbox": [ + 449.14666748046875, + 303.34552001953125, + 95.31640625, + 48.94390869140625 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.42651283740997314 + }, + { + "bbox": [ + 59.20182800292969, + 77.63203430175781, + 69.07972717285156, + 36.52244567871094 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.42590340971946716 + }, + { + "bbox": [ + 370.47991943359375, + 210.2904510498047, + 66.41464233398438, + 33.1710205078125 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.4237402677536011 + }, + { + "bbox": [ + 475.22509765625, + 124.54940032958984, + 57.011474609375, + 40.61431121826172 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.3908300995826721 + }, + { + "bbox": [ + 467.0397033691406, + 66.16106414794922, + 47.917999267578125, + 27.583763122558594 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.38647398352622986 + }, + { + "bbox": [ + 288.4964904785156, + 305.16815185546875, + 99.31219482421875, + 87.7886962890625 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.3735053241252899 + }, + { + "bbox": [ + 444.114990234375, + 90.43252563476562, + 51.553955078125, + 31.16741943359375 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.37254029512405396 + }, + { + "bbox": [ + 99.98625183105469, + 40.55061340332031, + 76.22004699707031, + 65.01245880126953 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.3680468797683716 + }, + { + "bbox": [ + 294.51318359375, + 54.41352844238281, + 54.0465087890625, + 41.265953063964844 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.3454741835594177 + }, + { + "bbox": [ + 264.3034362792969, + 83.36378479003906, + 58.63067626953125, + 45.3909912109375 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.33034616708755493 + }, + { + "bbox": [ + 875.2257690429688, + 294.2908020019531, + 63.034912109375, + 73.73040771484375 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.31166598200798035 + }, + { + "bbox": [ + 552.3424072265625, + 102.28469848632812, + 53.5325927734375, + 32.012359619140625 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.31135886907577515 + }, + { + "bbox": [ + 447.3630065917969, + 159.95870971679688, + 75.57168579101562, + 79.81913757324219 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.3080102503299713 + }, + { + "bbox": [ + 744.2843627929688, + 170.82386779785156, + 48.20263671875, + 32.58000183105469 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.3024618923664093 + }, + { + "bbox": [ + 518.8668823242188, + 173.53623962402344, + 57.2681884765625, + 28.869842529296875 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.28725939989089966 + }, + { + "bbox": [ + 578.883056640625, + 242.28355407714844, + 105.27862548828125, + 45.62568664550781 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.2870064973831177 + }, + { + "bbox": [ + 620.3238525390625, + 214.0165557861328, + 57.0029296875, + 29.954849243164062 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.27958208322525024 + }, + { + "bbox": [ + 346.06988525390625, + 128.56320190429688, + 70.56277465820312, + 74.94837951660156 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.2788334786891937 + }, + { + "bbox": [ + 414.5040588378906, + 125.69651794433594, + 59.56060791015625, + 34.760101318359375 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.27825745940208435 + }, + { + "bbox": [ + 345.8397216796875, + 258.0870056152344, + 194.8671875, + 35.27862548828125 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.2586188018321991 + }, + { + "bbox": [ + 687.569091796875, + 163.837158203125, + 51.50909423828125, + 39.52703857421875 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.24999305605888367 + }, + { + "bbox": [ + 625.0399780273438, + 392.7872314453125, + 67.018310546875, + 72.13482666015625 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.2429981678724289 + }, + { + "bbox": [ + 498.5255432128906, + 99.42186737060547, + 53.512054443359375, + 31.006126403808594 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.24067141115665436 + }, + { + "bbox": [ + 142.8480224609375, + 309.98309326171875, + 82.30924987792969, + 98.9852294921875 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.23763252794742584 + }, + { + "bbox": [ + 536.9259643554688, + 133.77972412109375, + 53.9805908203125, + 43.579833984375 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.2375190556049347 + }, + { + "bbox": [ + 885.564453125, + 239.24940490722656, + 57.38165283203125, + 37.30012512207031 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.23535390198230743 + }, + { + "bbox": [ + 395.301513671875, + 92.57003784179688, + 47.01910400390625, + 38.36552429199219 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.23471194505691528 + }, + { + "bbox": [ + 409.6800537109375, + 60.70526123046875, + 51.487091064453125, + 32.35259246826172 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.21594807505607605 + }, + { + "bbox": [ + 590.739013671875, + 132.8422393798828, + 55.618408203125, + 34.99034118652344 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.21444948017597198 + }, + { + "bbox": [ + 142.70018005371094, + 14.566540718078613, + 56.78106689453125, + 33.07197093963623 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.2036537081003189 + }, + { + "bbox": [ + 320.72296142578125, + 194.36314392089844, + 42.888824462890625, + 34.97528076171875 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.20269575715065002 + }, + { + "bbox": [ + 479.15374755859375, + 264.8033142089844, + 71.17230224609375, + 25.205291748046875 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.1989617943763733 + }, + { + "bbox": [ + 0.3339415192604065, + 187.03533935546875, + 50.64700025320053, + 20.45751953125 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.19690930843353271 + }, + { + "bbox": [ + 74.00901794433594, + 105.07601165771484, + 66.710693359375, + 56.327720642089844 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.19045573472976685 + }, + { + "bbox": [ + 347.0372314453125, + 259.55914306640625, + 53.66485595703125, + 32.394195556640625 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.18698135018348694 + }, + { + "bbox": [ + 67.07357025146484, + 9.42569351196289, + 74.41902923583984, + 62.75996780395508 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.1855248659849167 + }, + { + "bbox": [ + 893.28857421875, + 213.1145782470703, + 46.3870849609375, + 34.87232971191406 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.17870844900608063 + }, + { + "bbox": [ + 611.6231079101562, + 106.5094223022461, + 44.85430908203125, + 29.061744689941406 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.17700931429862976 + }, + { + "bbox": [ + 847.1093139648438, + 286.3870849609375, + 56.32452392578125, + 86.06158447265625 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.16932892799377441 + }, + { + "bbox": [ + 445.4731140136719, + 97.76200103759766, + 49.56451416015625, + 45.203514099121094 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.16094166040420532 + }, + { + "bbox": [ + 83.2696304321289, + 238.672607421875, + 87.30387115478516, + 59.288787841796875 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.1571291834115982 + }, + { + "bbox": [ + 644.8650512695312, + 134.5099639892578, + 52.570556640625, + 45.77696228027344 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.14659520983695984 + }, + { + "bbox": [ + 798.9510498046875, + 176.64842224121094, + 34.15826416015625, + 27.026199340820312 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.14340169727802277 + }, + { + "bbox": [ + 289.8072204589844, + 2.8699655532836914, + 57.560302734375, + 31.036349296569824 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.12905792891979218 + }, + { + "bbox": [ + 273.2252502441406, + 120.26922607421875, + 33.325103759765625, + 36.83570861816406 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.12813062965869904 + }, + { + "bbox": [ + 536.1267700195312, + 301.2402038574219, + 105.0225830078125, + 164.69992065429688 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.1251327097415924 + }, + { + "bbox": [ + 577.738037109375, + 167.33460998535156, + 52.75921630859375, + 43.77146911621094 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.1169745996594429 + }, + { + "bbox": [ + 10.653980255126953, + 1.5155118703842163, + 64.12058639526367, + 63.142767548561096 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.11120772361755371 + }, + { + "bbox": [ + 290.7361145019531, + 305.92962646484375, + 81.94302368164062, + 186.35324096679688 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.10804451256990433 + }, + { + "bbox": [ + 383.0464172363281, + 33.47468948364258, + 42.016937255859375, + 40.26395034790039 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.10608372837305069 + }, + { + "bbox": [ + 373.3436279296875, + 299.032470703125, + 162.34857177734375, + 71.123291015625 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.10598088800907135 + }, + { + "bbox": [ + 347.5797424316406, + 7.471529960632324, + 51.544647216796875, + 25.57726001739502 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.10507849603891373 + }, + { + "bbox": [ + 9.35350513458252, + 944.8892211914062, + 1300.14759349823, + 121.89459228515625 + ], + "category_id": 1, + "image_id": 10034180000, + "score": 0.21530765295028687 + }, + { + "bbox": [ + 639.7239379882812, + 226.8717498779297, + 344.6689453125, + 663.6336212158203 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.988675594329834 + }, + { + "bbox": [ + 6.2749924659729, + 351.6357116699219, + 243.3602614402771, + 364.3725280761719 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.956828773021698 + }, + { + "bbox": [ + 461.7480163574219, + 277.44110107421875, + 115.16329956054688, + 186.4822998046875 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.9538608193397522 + }, + { + "bbox": [ + 1768.55322265625, + 245.51446533203125, + 138.985595703125, + 304.20843505859375 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.9133968949317932 + }, + { + "bbox": [ + 1155.5684814453125, + 359.0439453125, + 191.2630615234375, + 272.81744384765625 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.9098905920982361 + }, + { + "bbox": [ + 1259.7314453125, + 366.961181640625, + 90.6544189453125, + 138.16278076171875 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.7968080043792725 + }, + { + "bbox": [ + 480.37066650390625, + 386.0138854980469, + 150.568115234375, + 280.1358337402344 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.7637147307395935 + }, + { + "bbox": [ + 263.7475280761719, + 188.89967346191406, + 90.03085327148438, + 113.91123962402344 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.7468248605728149 + }, + { + "bbox": [ + 162.36859130859375, + 187.40757751464844, + 105.68603515625, + 143.9015655517578 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.7130147814750671 + }, + { + "bbox": [ + 139.2628936767578, + 291.9899597167969, + 106.13040161132812, + 205.92654418945312 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.7115177512168884 + }, + { + "bbox": [ + 1365.2760009765625, + 246.45489501953125, + 66.708984375, + 145.35330200195312 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.6987277865409851 + }, + { + "bbox": [ + 1486.121337890625, + 449.1069641113281, + 68.625732421875, + 118.49978637695312 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.6513593792915344 + }, + { + "bbox": [ + 1354.540771484375, + 443.40478515625, + 147.19580078125, + 194.12603759765625 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.6448480486869812 + }, + { + "bbox": [ + 1363.81591796875, + 373.9744567871094, + 81.1202392578125, + 102.91085815429688 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.5243184566497803 + }, + { + "bbox": [ + 1514.0146484375, + 319.5240783691406, + 75.83056640625, + 144.65200805664062 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.504604697227478 + }, + { + "bbox": [ + 355.92431640625, + 377.6044921875, + 114.5035400390625, + 120.37677001953125 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.4970506429672241 + }, + { + "bbox": [ + 1582.33203125, + 266.6174621582031, + 98.7462158203125, + 264.5225524902344 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.48399269580841064 + }, + { + "bbox": [ + 353.9928283691406, + 371.8907470703125, + 121.08633422851562, + 262.55682373046875 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.4818037748336792 + }, + { + "bbox": [ + 362.9367370605469, + 147.3871612548828, + 75.418212890625, + 109.99433898925781 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.4351760447025299 + }, + { + "bbox": [ + 1241.2064208984375, + 368.8930969238281, + 127.748291015625, + 264.2134704589844 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.38909056782722473 + }, + { + "bbox": [ + 1681.270263671875, + 256.126220703125, + 83.576416015625, + 137.42578125 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.364656925201416 + }, + { + "bbox": [ + 0.0, + 167.76327514648438, + 91.63196563720703, + 236.555419921875 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.35032832622528076 + }, + { + "bbox": [ + 1439.95703125, + 270.9534606933594, + 100.35986328125, + 218.63064575195312 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.346635103225708 + }, + { + "bbox": [ + 1318.2305908203125, + 424.5197448730469, + 115.10791015625, + 192.50259399414062 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.3269309401512146 + }, + { + "bbox": [ + 1052.64013671875, + 287.7257385253906, + 63.3641357421875, + 172.54461669921875 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.24086904525756836 + }, + { + "bbox": [ + 1053.502197265625, + 331.1842346191406, + 227.3038330078125, + 310.5895080566406 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.21309363842010498 + }, + { + "bbox": [ + 1070.9603271484375, + 360.4552917480469, + 96.628173828125, + 133.9866943359375 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.18517304956912994 + }, + { + "bbox": [ + 1665.9293212890625, + 255.31796264648438, + 146.314697265625, + 291.3702697753906 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.17204511165618896 + }, + { + "bbox": [ + 405.0735778808594, + 386.8234558105469, + 190.69692993164062, + 313.5556945800781 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.15523910522460938 + }, + { + "bbox": [ + 1589.0211181640625, + 265.5631103515625, + 84.9398193359375, + 150.40841674804688 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.15313847362995148 + }, + { + "bbox": [ + 0.9758958220481873, + 422.1836853027344, + 142.32709795236588, + 306.2699279785156 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.146592915058136 + }, + { + "bbox": [ + 1419.790283203125, + 240.48899841308594, + 55.875, + 102.48948669433594 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.14388331770896912 + }, + { + "bbox": [ + 1142.052001953125, + 372.945068359375, + 375.743896484375, + 263.99609375 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.1362028419971466 + }, + { + "bbox": [ + 1149.924560546875, + 228.89898681640625, + 77.2176513671875, + 141.24282836914062 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.13104568421840668 + }, + { + "bbox": [ + 7.145267009735107, + 362.8689270019531, + 148.28553438186646, + 151.63449096679688 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.130157008767128 + }, + { + "bbox": [ + 1115.1795654296875, + 359.9970703125, + 55.0574951171875, + 73.02313232421875 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.1132773831486702 + }, + { + "bbox": [ + 1797.716552734375, + 246.42071533203125, + 108.528076171875, + 179.66299438476562 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.10333290696144104 + }, + { + "bbox": [ + 1281.1473388671875, + 254.05291748046875, + 95.2158203125, + 128.24417114257812 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.09135308116674423 + }, + { + "bbox": [ + 483.60968017578125, + 383.16656494140625, + 106.47314453125, + 105.37130737304688 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.08747227489948273 + }, + { + "bbox": [ + 1183.970458984375, + 248.7894744873047, + 123.838623046875, + 133.18003845214844 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.07844730466604233 + }, + { + "bbox": [ + 1157.6649169921875, + 358.5057678222656, + 153.3060302734375, + 142.8681640625 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.07668760418891907 + }, + { + "bbox": [ + 158.5989532470703, + 3.899838924407959, + 94.29812622070312, + 113.55939722061157 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.0562337264418602 + }, + { + "bbox": [ + 1046.19189453125, + 303.1739196777344, + 146.7403564453125, + 295.9938049316406 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.05225243791937828 + }, + { + "bbox": [ + 1075.177490234375, + 351.35552978515625, + 187.2501220703125, + 145.95687866210938 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.052039798349142075 + }, + { + "bbox": [ + 4.226436614990234, + 596.753662109375, + 145.0108528137207, + 141.51971435546875 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.44805338978767395 + }, + { + "bbox": [ + 1471.1275634765625, + 546.7749633789062, + 409.1026611328125, + 85.891845703125 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.17510481178760529 + }, + { + "bbox": [ + 9.595407485961914, + 136.05421447753906, + 273.3134059906006, + 50.703155517578125 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.14366888999938965 + }, + { + "bbox": [ + 921.6530151367188, + 497.646484375, + 100.19329833984375, + 244.272216796875 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.41841089725494385 + }, + { + "bbox": [ + 1837.094482421875, + 311.22064208984375, + 30.9761962890625, + 48.001678466796875 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.08423541486263275 + }, + { + "bbox": [ + 1839.4462890625, + 311.10064697265625, + 37.092529296875, + 71.60287475585938 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.060598306357860565 + }, + { + "bbox": [ + 332.7347412109375, + 440.8306579589844, + 26.84356689453125, + 49.14508056640625 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.4217357635498047 + }, + { + "bbox": [ + 1074.7474365234375, + 455.2643127441406, + 38.0753173828125, + 24.68829345703125 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.10941091924905777 + }, + { + "bbox": [ + 1034.816162109375, + 433.4083251953125, + 37.64892578125, + 38.33526611328125 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.05890995264053345 + }, + { + "bbox": [ + 1133.7620849609375, + 508.0845642089844, + 70.1640625, + 130.23025512695312 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.4846752882003784 + }, + { + "bbox": [ + 3.005446195602417, + 553.9013671875, + 142.2049114704132, + 183.9932861328125 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.3487741947174072 + }, + { + "bbox": [ + 272.37786865234375, + 411.44207763671875, + 81.43817138671875, + 55.8065185546875 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.21865300834178925 + }, + { + "bbox": [ + 0.24188603460788727, + 453.31536865234375, + 148.4058190435171, + 234.45562744140625 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.20409443974494934 + }, + { + "bbox": [ + 30.815982818603516, + 605.8007202148438, + 125.22259140014648, + 55.677490234375 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.1920752078294754 + }, + { + "bbox": [ + 1133.945556640625, + 486.0797424316406, + 142.3828125, + 149.95669555664062 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.1483757048845291 + }, + { + "bbox": [ + 1113.4261474609375, + 458.69744873046875, + 106.506103515625, + 181.26995849609375 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.13916584849357605 + }, + { + "bbox": [ + 436.55487060546875, + 457.7103576660156, + 156.08184814453125, + 253.82962036132812 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.11243928223848343 + }, + { + "bbox": [ + 284.70098876953125, + 303.1107482910156, + 85.747802734375, + 79.47280883789062 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.09735624492168427 + }, + { + "bbox": [ + 341.12774658203125, + 492.6709289550781, + 93.78155517578125, + 206.94662475585938 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.08169478923082352 + }, + { + "bbox": [ + 0.0, + 549.1785278320312, + 119.3069839477539, + 111.58819580078125 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.06240745261311531 + }, + { + "bbox": [ + 7.89318323135376, + 645.31689453125, + 136.12907934188843, + 87.29620361328125 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.054731015115976334 + }, + { + "bbox": [ + 213.0941619873047, + 411.15179443359375, + 42.60209655761719, + 32.3763427734375 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.05244819447398186 + }, + { + "bbox": [ + 130.32546997070312, + 487.7962951660156, + 300.62261962890625, + 236.79757690429688 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.8464512825012207 + }, + { + "bbox": [ + 943.7500610351562, + 463.9021911621094, + 207.76824951171875, + 177.45816040039062 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.6438319087028503 + }, + { + "bbox": [ + 126.81778717041016, + 458.4678955078125, + 290.0162582397461, + 57.33453369140625 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.1522291600704193 + }, + { + "bbox": [ + 936.41162109375, + 449.2172546386719, + 192.6654052734375, + 35.686859130859375 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.14834310114383698 + }, + { + "bbox": [ + 887.5518798828125, + 464.12335205078125, + 357.5780029296875, + 257.0013427734375 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.1072755679488182 + }, + { + "bbox": [ + 7.024689197540283, + 405.5135498046875, + 338.4464716911316, + 278.21929931640625 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.09115041047334671 + }, + { + "bbox": [ + 161.556884765625, + 482.5937805175781, + 242.09451293945312, + 30.944366455078125 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.06512065976858139 + }, + { + "bbox": [ + 933.17236328125, + 423.4557800292969, + 280.425048828125, + 68.74118041992188 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.06368233263492584 + }, + { + "bbox": [ + 121.80384063720703, + 488.6224060058594, + 311.62242889404297, + 45.982086181640625 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.05987454578280449 + }, + { + "bbox": [ + 929.5904541015625, + 436.67840576171875, + 381.5384521484375, + 75.44134521484375 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.05840197578072548 + }, + { + "bbox": [ + 235.27882385253906, + 486.3999328613281, + 136.96372985839844, + 23.562835693359375 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.05732391029596329 + }, + { + "bbox": [ + 69.67058563232422, + 417.2310485839844, + 672.0211868286133, + 311.6492614746094 + ], + "category_id": 1, + "image_id": 10094730000, + "score": 0.05091623216867447 + } + +] diff --git a/tests/data/posetrack18/test_posetrack18.json b/tests/data/posetrack18/annotations/test_posetrack18_val.json similarity index 100% rename from tests/data/posetrack18/test_posetrack18.json rename to tests/data/posetrack18/annotations/test_posetrack18_val.json diff --git a/tests/data/posetrack18/annotations/val/003418_mpii_test.json b/tests/data/posetrack18/annotations/val/003418_mpii_test.json new file mode 100755 index 0000000000..00bf014969 --- /dev/null +++ b/tests/data/posetrack18/annotations/val/003418_mpii_test.json @@ -0,0 +1,762 @@ +{ + "categories": [ + { + "supercategory": "person", + "id": 1, + "name": "person", + "keypoints": [ + "nose", + "head_bottom", + "head_top", + "left_ear", + "right_ear", + "left_shoulder", + "right_shoulder", + "left_elbow", + "right_elbow", + "left_wrist", + "right_wrist", + "left_hip", + "right_hip", + "left_knee", + "right_knee", + "left_ankle", + "right_ankle" + ], + "skeleton": [ + [ + 16, + 14 + ], + [ + 14, + 12 + ], + [ + 17, + 15 + ], + [ + 15, + 13 + ], + [ + 12, + 13 + ], + [ + 6, + 12 + ], + [ + 7, + 13 + ], + [ + 6, + 7 + ], + [ + 6, + 8 + ], + [ + 7, + 9 + ], + [ + 8, + 10 + ], + [ + 9, + 11 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 4, + 6 + ], + [ + 5, + 7 + ] + ] + } + ], + "images": [ + { + "has_no_densepose": true, + "is_labeled": true, + "file_name": "images/val/003418_mpii_test/000000.jpg", + "nframes": 149, + "frame_id": 10034180000, + "vid_id": "003418", + "ignore_regions_y": [ + [ + 639, + 647, + 635, + 618, + 590, + 547, + 501, + 499, + 515, + 518, + 526, + 528, + 509, + 473, + 450, + 407, + 352, + 339, + 309, + 271, + 262, + 252, + 211, + 211, + 183, + 175, + 139, + 105, + 94, + 62, + 45, + 22, + 22, + 30, + 52, + 66, + 86, + 92, + 101, + 109, + 162, + 158, + 135, + 103, + 94, + 75, + 60, + 37, + 18, + 9, + 1, + 0, + 79, + 75, + 88, + 103, + 156, + 164, + 167, + 201, + 196, + 194, + 207, + 237, + 262, + 256 + ], + [ + 94, + 71, + 62, + 41, + 28, + 30, + 43, + 64, + 88, + 96, + 120, + 115, + 98 + ], + [ + 235, + 215, + 211, + 224, + 252, + 239, + 207, + 196, + 211, + 228, + 218, + 198, + 181, + 186, + 198, + 218, + 233, + 252, + 277, + 279, + 292, + 318, + 347, + 354, + 392, + 430, + 439, + 447, + 462, + 477, + 496, + 539, + 515, + 464, + 426, + 398, + 366, + 333, + 322, + 315, + 318, + 303, + 298, + 294, + 266, + 245 + ], + [ + 207, + 213, + 239, + 237, + 215, + 179, + 179, + 184, + 209, + 222, + 239, + 264, + 279, + 271, + 269, + 290, + 260, + 226 + ], + [ + 194, + 175, + 160, + 164, + 179, + 167, + 160, + 216, + 266, + 262, + 266, + 269, + 281, + 298, + 309, + 318, + 332, + 341, + 345, + 345, + 290, + 262, + 226 + ], + [ + 424, + 442, + 432, + 432, + 455, + 469, + 474, + 505, + 559, + 555, + 465, + 449, + 444 + ], + [ + 926, + 901, + 857, + 792, + 751, + 694, + 636, + 540, + 474, + 403, + 351, + 265, + 211, + 155, + 98, + 71, + 40, + 0, + 0, + 1078, + 1078, + 1007, + 924, + 869, + 807, + 865, + 892, + 955, + 1003, + 1057, + 1078, + 1078, + 1030, + 961, + 926 + ], + [ + 1050, + 1076, + 1078, + 1057, + 1032, + 1013, + 998, + 982, + 971, + 951, + 936, + 913, + 888, + 844, + 799, + 763, + 732, + 723, + 713, + 753, + 784, + 817, + 830, + 871, + 911, + 930 + ], + [ + 478, + 461, + 423, + 405, + 394, + 263, + 257, + 265, + 290, + 315, + 334, + 342, + 344, + 411, + 448, + 448, + 448, + 430, + 424, + 423, + 421, + 409, + 444 + ] + ], + "ignore_regions_x": [ + [ + 0, + 1, + 198, + 258, + 307, + 337, + 343, + 335, + 320, + 290, + 273, + 260, + 232, + 190, + 196, + 183, + 171, + 162, + 149, + 132, + 105, + 77, + 69, + 322, + 324, + 303, + 279, + 273, + 247, + 224, + 226, + 215, + 203, + 190, + 192, + 181, + 169, + 167, + 154, + 139, + 99, + 86, + 81, + 56, + 60, + 62, + 60, + 49, + 35, + 15, + 9, + 3, + 0, + 11, + 13, + 0, + 1, + 9, + 90, + 64, + 49, + 33, + 18, + 13, + 15, + 0 + ], + [ + 341, + 347, + 352, + 356, + 371, + 383, + 388, + 392, + 403, + 392, + 398, + 377, + 375 + ], + [ + 688, + 694, + 713, + 724, + 728, + 752, + 764, + 783, + 796, + 796, + 824, + 828, + 839, + 856, + 864, + 864, + 884, + 899, + 903, + 843, + 854, + 854, + 850, + 884, + 901, + 873, + 833, + 815, + 796, + 747, + 716, + 666, + 654, + 660, + 667, + 694, + 711, + 724, + 737, + 775, + 792, + 790, + 756, + 688, + 686, + 686 + ], + [ + 1047, + 1079, + 1079, + 1088, + 1099, + 1103, + 1122, + 1133, + 1141, + 1164, + 1175, + 1164, + 1181, + 1126, + 1092, + 1077, + 1069, + 1047 + ], + [ + 1252, + 1254, + 1258, + 1277, + 1292, + 1301, + 1322, + 1330, + 1350, + 1322, + 1296, + 1277, + 1256, + 1233, + 1213, + 1198, + 1173, + 1130, + 1098, + 1081, + 1101, + 1198, + 1232 + ], + [ + 1165, + 1184, + 1226, + 1246, + 1238, + 1226, + 1209, + 1215, + 1180, + 1126, + 1057, + 1053, + 1128 + ], + [ + 1455, + 1438, + 1438, + 1444, + 1442, + 1423, + 1426, + 1409, + 1399, + 1390, + 1374, + 1349, + 1330, + 1319, + 1307, + 1309, + 1324, + 1330, + 1919, + 1919, + 1884, + 1855, + 1830, + 1828, + 1776, + 1732, + 1734, + 1726, + 1728, + 1707, + 1713, + 1469, + 1461, + 1459, + 1455 + ], + [ + 1463, + 1411, + 1255, + 1250, + 1246, + 1261, + 1284, + 1280, + 1271, + 1265, + 1275, + 1299, + 1299, + 1296, + 1315, + 1340, + 1365, + 1396, + 1444, + 1428, + 1434, + 1432, + 1446, + 1440, + 1453, + 1455 + ], + [ + 1246, + 1271, + 1313, + 1344, + 1384, + 1346, + 1307, + 1286, + 1255, + 1203, + 1153, + 1096, + 1078, + 1061, + 1036, + 1090, + 1121, + 1148, + 1169, + 1205, + 1228, + 1265, + 1267 + ] + ], + "id": 10034180000, + "width": 1920, + "height": 1080, + "mask_file": "mask/val/003418_mpii_test/000000.jpg" + } + ], + "annotations": [ + { + "bbox_head": [ + 346, + 337, + 296, + 237 + ], + "keypoints": [ + 621, + 471, + 1, + 542.2835693, + 599.2855835, + 1, + 457.787323, + 347.6607971, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 371, + 737, + 1, + 753, + 579, + 1, + 387, + 981, + 1, + 1023, + 353, + 1, + 0, + 0, + 0, + 953, + 141, + 1, + 968, + 833, + 1, + 1152, + 843, + 1, + 0, + 0, + 0, + 1416, + 429, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "track_id": 0, + "image_id": 10034180000, + "bbox": [ + 214.25, + 15.0, + 1358.5, + 1092.0 + ], + "scores": [], + "category_id": 1, + "id": 1003418000000, + "iscrowd": false, + "num_keypoints": 11 + } + ] +} diff --git a/tests/data/posetrack18/annotations/val/009473_mpii_test.json b/tests/data/posetrack18/annotations/val/009473_mpii_test.json new file mode 100755 index 0000000000..0c0bb2c5c1 --- /dev/null +++ b/tests/data/posetrack18/annotations/val/009473_mpii_test.json @@ -0,0 +1,374 @@ +{ + "categories": [ + { + "supercategory": "person", + "id": 1, + "name": "person", + "keypoints": [ + "nose", + "head_bottom", + "head_top", + "left_ear", + "right_ear", + "left_shoulder", + "right_shoulder", + "left_elbow", + "right_elbow", + "left_wrist", + "right_wrist", + "left_hip", + "right_hip", + "left_knee", + "right_knee", + "left_ankle", + "right_ankle" + ], + "skeleton": [ + [ + 16, + 14 + ], + [ + 14, + 12 + ], + [ + 17, + 15 + ], + [ + 15, + 13 + ], + [ + 12, + 13 + ], + [ + 6, + 12 + ], + [ + 7, + 13 + ], + [ + 6, + 7 + ], + [ + 6, + 8 + ], + [ + 7, + 9 + ], + [ + 8, + 10 + ], + [ + 9, + 11 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 4, + 6 + ], + [ + 5, + 7 + ] + ] + } + ], + "images": [ + { + "has_no_densepose": true, + "is_labeled": true, + "file_name": "images/val/009473_mpii_test/000000.jpg", + "nframes": 101, + "frame_id": 10094730000, + "vid_id": "009473", + "ignore_regions_y": [ + [ + 228, + 237, + 243, + 230, + 220, + 230, + 228, + 232, + 220, + 211, + 226, + 258, + 364, + 417, + 475, + 562, + 615, + 646, + 656, + 637, + 649, + 645, + 603, + 585, + 547 + ], + [ + 0, + 1, + 137, + 130, + 166, + 235, + 309, + 384, + 452, + 526, + 583, + 658, + 694, + 709, + 599, + 684, + 707, + 733, + 660, + 679, + 762 + ] + ], + "ignore_regions_x": [ + [ + 1907, + 1820, + 1758, + 1662, + 1577, + 1492, + 1375, + 1305, + 1250, + 1177, + 1111, + 1033, + 1047, + 1062, + 1056, + 1130, + 1173, + 1232, + 1282, + 1332, + 1416, + 1471, + 1515, + 1541, + 1909 + ], + [ + 0, + 257, + 284, + 407, + 450, + 505, + 562, + 592, + 613, + 626, + 639, + 639, + 594, + 454, + 371, + 343, + 269, + 152, + 88, + 35, + 3 + ] + ], + "id": 10094730000, + "width": 1920, + "height": 1080, + "mask_file": "mask/val/009473_mpii_test/000000.jpg" + } + ], + "annotations": [ + { + "bbox_head": [ + 648, + 253, + 138, + 103 + ], + "keypoints": [ + 750, + 297.5, + 1, + 734.1937256, + 371.1997375, + 1, + 704.1047363, + 254.4751892, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 697, + 352.5, + 1, + 766, + 369, + 1, + 0, + 0, + 0, + 857, + 419, + 1, + 766, + 281, + 1, + 942, + 422.5, + 1, + 722, + 525, + 1, + 792, + 544, + 1, + 783, + 697, + 1, + 755, + 699, + 1, + 808.5, + 832.5, + 1, + 672, + 782.5, + 1 + ], + "track_id": 0, + "image_id": 10094730000, + "bbox": [ + 631.5, + 167.77146757999992, + 351.0, + 751.4322540400001 + ], + "scores": [], + "category_id": 1, + "id": 1009473000000, + "iscrowd": false, + "num_keypoints": 14 + }, + { + "bbox_head": [ + 878, + 201, + 90, + 125 + ], + "keypoints": [ + 900, + 272, + 1, + 905.657959, + 322.6206665, + 1, + 936.0065308, + 219.1595001, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 950, + 366, + 1, + 852, + 311, + 1, + 1021, + 428, + 1, + 759, + 303, + 1, + 986, + 422, + 1, + 704, + 374, + 1, + 912, + 516, + 1, + 856, + 524, + 1, + 876, + 663, + 1, + 908, + 680, + 1, + 849, + 828, + 1, + 959, + 804, + 1 + ], + "track_id": 1, + "image_id": 10094730000, + "bbox": [ + 656.45, + 127.83342511500007, + 412.0999999999999, + 791.4926498699999 + ], + "scores": [], + "category_id": 1, + "id": 1009473000001, + "iscrowd": false, + "num_keypoints": 15 + } + ] +} diff --git a/tests/data/posetrack18/annotations/val/012834_mpii_test.json b/tests/data/posetrack18/annotations/val/012834_mpii_test.json new file mode 100755 index 0000000000..c97cd0b91b --- /dev/null +++ b/tests/data/posetrack18/annotations/val/012834_mpii_test.json @@ -0,0 +1,1466 @@ +{ + "categories": [ + { + "supercategory": "person", + "id": 1, + "name": "person", + "keypoints": [ + "nose", + "head_bottom", + "head_top", + "left_ear", + "right_ear", + "left_shoulder", + "right_shoulder", + "left_elbow", + "right_elbow", + "left_wrist", + "right_wrist", + "left_hip", + "right_hip", + "left_knee", + "right_knee", + "left_ankle", + "right_ankle" + ], + "skeleton": [ + [ + 16, + 14 + ], + [ + 14, + 12 + ], + [ + 17, + 15 + ], + [ + 15, + 13 + ], + [ + 12, + 13 + ], + [ + 6, + 12 + ], + [ + 7, + 13 + ], + [ + 6, + 7 + ], + [ + 6, + 8 + ], + [ + 7, + 9 + ], + [ + 8, + 10 + ], + [ + 9, + 11 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 4, + 6 + ], + [ + 5, + 7 + ] + ] + } + ], + "images": [ + { + "has_no_densepose": true, + "is_labeled": true, + "file_name": "images/val/012834_mpii_test/000000.jpg", + "nframes": 140, + "frame_id": 10128340000, + "vid_id": "012834", + "ignore_regions_y": [ + [ + 1079, + 615, + 612, + 674, + 660, + 664, + 678, + 713, + 704, + 667, + 665, + 678, + 700, + 729, + 753, + 740, + 695, + 668, + 646, + 623, + 624, + 659, + 676, + 685, + 695, + 678, + 675, + 673, + 663, + 693, + 703, + 732, + 719, + 690, + 669, + 660, + 660, + 663, + 689, + 697, + 691, + 697, + 713, + 736, + 721, + 703, + 698, + 708, + 741, + 758, + 778, + 795, + 780, + 757, + 745, + 737, + 745, + 782, + 809, + 850, + 881, + 835, + 810, + 806, + 782, + 782, + 806, + 832, + 863, + 897, + 940, + 931, + 957, + 976, + 1003, + 1043, + 1045, + 1008, + 965, + 963, + 931, + 895, + 846, + 832, + 829, + 869, + 898, + 904, + 869, + 836, + 782, + 752, + 736, + 748, + 776, + 832, + 874, + 862, + 818, + 793, + 790, + 756, + 738, + 737, + 750, + 791, + 806, + 820, + 852, + 879, + 837, + 794, + 772, + 766, + 769, + 790, + 805, + 829, + 844, + 866, + 837, + 804, + 791, + 773, + 745, + 706, + 683, + 644, + 638, + 662, + 694, + 716, + 736, + 777, + 784, + 815, + 830, + 813, + 800, + 813, + 820, + 847, + 829, + 781, + 780, + 801, + 836, + 886, + 938, + 1018, + 1029, + 1079 + ], + [ + 0, + 21, + 43, + 60, + 90, + 95, + 95, + 43, + 40, + 84, + 104, + 104, + 74, + 6, + 4, + 71, + 69, + 0 + ], + [ + 0, + 4, + 48, + 106, + 214, + 207, + 46, + 50, + 170, + 156, + 96, + 157, + 160, + 62, + 65, + 156, + 165, + 162, + 140, + 93, + 93, + 7, + 4, + 121, + 129, + 84, + 75, + 68 + ], + [ + 0, + 0, + 739, + 729, + 720, + 740, + 768, + 785, + 803, + 815, + 757, + 735, + 632, + 620, + 632, + 640, + 662, + 656, + 607, + 645, + 645, + 628, + 604, + 570, + 543, + 512, + 485, + 467, + 451, + 448, + 456, + 482, + 512, + 548, + 554, + 542, + 498, + 479, + 454, + 404, + 387, + 398, + 415, + 528, + 546, + 468, + 410, + 400, + 359, + 375, + 373, + 273, + 254, + 284, + 253, + 204, + 206 + ] + ], + "ignore_regions_x": [ + [ + 3, + 0, + 30, + 44, + 74, + 99, + 106, + 102, + 115, + 121, + 141, + 156, + 165, + 187, + 200, + 211, + 196, + 198, + 210, + 226, + 252, + 266, + 263, + 271, + 291, + 299, + 326, + 339, + 360, + 399, + 412, + 424, + 437, + 432, + 439, + 461, + 489, + 510, + 534, + 548, + 559, + 567, + 587, + 593, + 604, + 612, + 633, + 652, + 645, + 638, + 649, + 650, + 661, + 654, + 662, + 685, + 713, + 727, + 733, + 752, + 762, + 769, + 785, + 812, + 841, + 863, + 869, + 877, + 899, + 909, + 918, + 906, + 902, + 909, + 917, + 900, + 932, + 932, + 941, + 919, + 926, + 935, + 950, + 957, + 983, + 1002, + 1007, + 1032, + 1034, + 1018, + 1018, + 1038, + 1074, + 1106, + 1119, + 1121, + 1130, + 1148, + 1152, + 1172, + 1195, + 1199, + 1209, + 1229, + 1242, + 1240, + 1242, + 1261, + 1264, + 1277, + 1285, + 1286, + 1296, + 1313, + 1336, + 1350, + 1367, + 1403, + 1417, + 1435, + 1459, + 1456, + 1429, + 1420, + 1465, + 1492, + 1496, + 1507, + 1529, + 1553, + 1570, + 1596, + 1609, + 1610, + 1649, + 1671, + 1703, + 1740, + 1763, + 1775, + 1803, + 1809, + 1815, + 1815, + 1857, + 1874, + 1881, + 1897, + 1896, + 1899, + 1888, + 1884 + ], + [ + 378, + 381, + 365, + 359, + 334, + 292, + 257, + 262, + 231, + 236, + 219, + 193, + 196, + 183, + 154, + 159, + 140, + 121 + ], + [ + 451, + 1173, + 1168, + 1168, + 1170, + 1085, + 1098, + 1070, + 1043, + 1000, + 993, + 979, + 934, + 937, + 918, + 903, + 893, + 832, + 785, + 759, + 726, + 710, + 667, + 664, + 585, + 576, + 507, + 485 + ], + [ + 1312, + 1918, + 1917, + 1895, + 1867, + 1835, + 1804, + 1779, + 1754, + 1720, + 1726, + 1739, + 1740, + 1735, + 1701, + 1635, + 1587, + 1578, + 1587, + 1564, + 1550, + 1543, + 1562, + 1579, + 1578, + 1581, + 1584, + 1589, + 1601, + 1610, + 1621, + 1637, + 1642, + 1659, + 1673, + 1681, + 1673, + 1671, + 1664, + 1671, + 1681, + 1728, + 1734, + 1789, + 1854, + 1807, + 1820, + 1778, + 1778, + 1717, + 1642, + 1635, + 1600, + 1520, + 1454, + 1415, + 1395 + ] + ], + "id": 10128340000, + "width": 1920, + "height": 1080, + "mask_file": "mask/val/012834_mpii_test/000000.jpg" + } + ], + "annotations": [ + { + "bbox_head": [ + 378, + 503, + 44, + 53 + ], + "keypoints": [ + 401, + 530, + 1, + 409.5254211, + 555.3547363, + 1, + 392.8559265, + 510.1089478, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 377, + 560, + 1, + 444, + 556, + 1, + 353, + 605, + 1, + 469.5, + 603.5, + 1, + 341.5, + 653.5, + 1, + 463, + 635, + 1, + 389, + 652, + 1, + 442, + 646, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "track_id": 0, + "image_id": 10128340000, + "bbox": [ + 322.3, + 488.60028996999995, + 166.39999999999998, + 186.40836786 + ], + "scores": [], + "category_id": 1, + "id": 1012834000000, + "iscrowd": false, + "num_keypoints": 11 + }, + { + "bbox_head": [ + 571, + 446, + 42, + 46 + ], + "keypoints": [ + 600.5, + 475.5, + 1, + 590.4649048, + 493.8685303, + 1, + 593.1513062, + 450.3486023, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 570.5, + 509.5, + 1, + 608.5, + 509.5, + 1, + 539, + 558.5, + 1, + 634, + 539, + 1, + 558.5, + 584.5, + 1, + 624.5, + 528.5, + 1, + 605, + 595, + 1, + 601, + 593, + 1, + 640, + 634.5, + 1, + 598, + 672, + 1, + 616.5, + 700.5, + 1, + 0, + 0, + 0 + ], + "track_id": 1, + "image_id": 10128340000, + "bbox": [ + 523.85, + 412.825892645, + 131.29999999999995, + 325.19681700999996 + ], + "scores": [], + "category_id": 1, + "id": 1012834000001, + "iscrowd": false, + "num_keypoints": 14 + }, + { + "bbox_head": [ + 159, + 259, + 42, + 47 + ], + "keypoints": [ + 201, + 284.5, + 1, + 169.9334106, + 305.6158752, + 1, + 187.549942, + 265.1630859, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 139.5, + 307.5, + 1, + 193.5, + 319.5, + 1, + 0, + 0, + 0, + 209, + 371, + 1, + 144, + 365.5, + 1, + 231, + 392, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 222, + 337, + 1, + 241, + 341.5, + 1, + 0, + 0, + 0, + 267, + 416, + 1 + ], + "track_id": 2, + "image_id": 10128340000, + "bbox": [ + 120.375, + 242.53754878499996, + 165.75, + 196.08798833000003 + ], + "scores": [], + "category_id": 1, + "id": 1012834000002, + "iscrowd": false, + "num_keypoints": 11 + }, + { + "bbox_head": [ + 372, + 205, + 44, + 44 + ], + "keypoints": [ + 410.5, + 230.5, + 1, + 387.8875732, + 251.1279602, + 1, + 398.5843201, + 208.9040375, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 359.5, + 262.5, + 1, + 409.5, + 266.5, + 1, + 337.5, + 308.5, + 1, + 450, + 306, + 1, + 292, + 314, + 1, + 480, + 311.5, + 1, + 390, + 339, + 1, + 409, + 339, + 1, + 405.5, + 418.5, + 1, + 447.5, + 366.5, + 1, + 391.5, + 464.5, + 1, + 437.5, + 440.5, + 1 + ], + "track_id": 3, + "image_id": 10128340000, + "bbox": [ + 263.8, + 170.56464312499998, + 244.39999999999998, + 332.27475125 + ], + "scores": [], + "category_id": 1, + "id": 1012834000003, + "iscrowd": false, + "num_keypoints": 15 + }, + { + "bbox_head": [ + 693, + 410, + 44, + 49 + ], + "keypoints": [ + 718.5, + 440.5, + 1, + 717.704834, + 460.703125, + 1, + 712.9713745, + 414.8476562, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 694.5, + 474, + 1, + 743.5, + 472.5, + 1, + 681.5, + 530.5, + 1, + 757.5, + 523.5, + 1, + 667.5, + 564.5, + 1, + 0, + 0, + 0, + 705.5, + 563.5, + 1, + 737.5, + 560.5, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 692.5, + 607.5, + 1, + 716.5, + 603.5, + 1 + ], + "track_id": 4, + "image_id": 10128340000, + "bbox": [ + 654.0, + 385.94980463, + 117.0, + 250.44804694000004 + ], + "scores": [], + "category_id": 1, + "id": 1012834000004, + "iscrowd": false, + "num_keypoints": 12 + }, + { + "bbox_head": [ + 923, + 347, + 46, + 58 + ], + "keypoints": [ + 965.5, + 382.5, + 1, + 933.9436646, + 403.0452576, + 1, + 955.0422363, + 355.7160645, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 922.5, + 403.5, + 1, + 932.5, + 431.5, + 1, + 0, + 0, + 0, + 960, + 475.5, + 1, + 0, + 0, + 0, + 991.5, + 462.5, + 1, + 934.5, + 512.5, + 1, + 922.5, + 506.5, + 1, + 946.5, + 567.5, + 1, + 964, + 578, + 1, + 900.5, + 598, + 1, + 936, + 634.5, + 1 + ], + "track_id": 5, + "image_id": 10128340000, + "bbox": [ + 886.85, + 313.89847417500005, + 118.29999999999995, + 362.4191161499999 + ], + "scores": [], + "category_id": 1, + "id": 1012834000005, + "iscrowd": false, + "num_keypoints": 13 + }, + { + "bbox_head": [ + 691, + 179, + 43, + 52 + ], + "keypoints": [ + 708.5, + 212.5, + 1, + 722.6444702, + 230.0113831, + 1, + 704.8916626, + 186.2414551, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 712, + 244, + 1, + 742, + 237.5, + 1, + 723, + 293.5, + 1, + 745.5, + 281.5, + 1, + 692, + 319, + 1, + 0, + 0, + 0, + 722, + 323.5, + 1, + 748.5, + 314, + 1, + 657.5, + 301.5, + 1, + 668.5, + 299.5, + 1, + 670.5, + 367.5, + 1, + 689.5, + 362.5, + 1 + ], + "track_id": 6, + "image_id": 10128340000, + "bbox": [ + 643.85, + 159.05267336499998, + 118.29999999999995, + 235.63610837 + ], + "scores": [], + "category_id": 1, + "id": 1012834000006, + "iscrowd": false, + "num_keypoints": 14 + }, + { + "bbox_head": [ + 927, + 160, + 39, + 52 + ], + "keypoints": [ + 952, + 189, + 1, + 946.763916, + 211.9986572, + 1, + 946.302063, + 166.5010071, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 914.5, + 234, + 1, + 979.5, + 236.5, + 1, + 890.5, + 270.5, + 1, + 998.5, + 286.5, + 1, + 894.5, + 324, + 1, + 0, + 0, + 0, + 932, + 326.5, + 1, + 958.5, + 327.5, + 1, + 1000.5, + 340.5, + 1, + 993.5, + 372.5, + 1, + 955.5, + 383.5, + 1, + 959.5, + 446.5, + 1 + ], + "track_id": 7, + "image_id": 10128340000, + "bbox": [ + 874.0, + 124.50115816500005, + 143.0, + 363.99869076999994 + ], + "scores": [], + "category_id": 1, + "id": 1012834000007, + "iscrowd": false, + "num_keypoints": 14 + }, + { + "bbox_head": [ + 1367, + 427, + 47, + 45 + ], + "keypoints": [ + 1406, + 451, + 1, + 1379.198608, + 472.946106, + 1, + 1398.976074, + 431.9154358, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1375.5, + 467.5, + 1, + 1372, + 501, + 1, + 0, + 0, + 0, + 1343.5, + 534.5, + 1, + 0, + 0, + 0, + 1339.5, + 573.5, + 1, + 1381.5, + 531.5, + 1, + 1376, + 539.5, + 1, + 1452.5, + 524.5, + 1, + 1453.5, + 535.5, + 1, + 1469.5, + 603.5, + 1, + 1466, + 610, + 1 + ], + "track_id": 8, + "image_id": 10128340000, + "bbox": [ + 1320.0, + 405.20275117000006, + 169.0, + 231.50993345999996 + ], + "scores": [], + "category_id": 1, + "id": 1012834000008, + "iscrowd": false, + "num_keypoints": 13 + }, + { + "bbox_head": [ + 1378, + 204, + 40, + 44 + ], + "keypoints": [ + 1389, + 234, + 1, + 1404.137573, + 248.9802094, + 1, + 1393.396851, + 208.7648468, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1375, + 272, + 1, + 1442.5, + 260.5, + 1, + 1374, + 315, + 1, + 1468, + 303.5, + 1, + 1367, + 340.5, + 1, + 1462.5, + 330.5, + 1, + 1407, + 349.5, + 1, + 1439, + 340.5, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "track_id": 9, + "image_id": 10128340000, + "bbox": [ + 1351.85, + 187.65457382, + 131.30000000000018, + 182.95569916 + ], + "scores": [], + "category_id": 1, + "id": 1012834000009, + "iscrowd": false, + "num_keypoints": 11 + }, + { + "bbox_head": [ + 407, + -29, + 35, + 40 + ], + "keypoints": [ + 0, + 0, + 0, + 425.1159668, + 12.25136662, + 1, + 424.0380249, + -24.93852425, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 455.5, + 21.5, + 1, + 395.5, + 29.5, + 1, + 474.5, + 64.5, + 1, + 391.5, + 67, + 1, + 474, + 108, + 1, + 379, + 107, + 1, + 446, + 88, + 1, + 426, + 88, + 1, + 424, + 113, + 1, + 403, + 113, + 1, + 430, + 173, + 1, + 415, + 171, + 1 + ], + "track_id": 10, + "image_id": 10128340000, + "bbox": [ + 364.675, + -54.62930288750002, + 124.14999999999998, + 257.32008152500003 + ], + "scores": [], + "category_id": 1, + "id": 1012834000010, + "iscrowd": false, + "num_keypoints": 14 + } + ] +} diff --git a/tests/data/posetrack18/test_posetrack18_human_detections.json b/tests/data/posetrack18/test_posetrack18_human_detections.json deleted file mode 100644 index 603a5edddd..0000000000 --- a/tests/data/posetrack18/test_posetrack18_human_detections.json +++ /dev/null @@ -1,1102 +0,0 @@ -[ - { - "bbox": [ - 1475.2755126953125, - 2.719658136367798, - 96.9671630859375, - 252.88242316246033 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.9290200471878052 - }, - { - "bbox": [ - 279.2542419433594, - 201.43528747558594, - 215.51690673828125, - 277.4363555908203 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.8697755932807922 - }, - { - "bbox": [ - 375.3135070800781, - 1.6077430248260498, - 102.83343505859375, - 205.19831776618958 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.8078259229660034 - }, - { - "bbox": [ - 1372.4200439453125, - 0.0, - 105.89013671875, - 242.61294555664062 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.7359948754310608 - }, - { - "bbox": [ - 879.8322143554688, - 166.1944122314453, - 129.68414306640625, - 265.45030212402344 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.7012330293655396 - }, - { - "bbox": [ - 1565.218994140625, - 0.6250243186950684, - 94.249267578125, - 251.48860788345337 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.6708132028579712 - }, - { - "bbox": [ - 1625.5699462890625, - 34.00221633911133, - 113.07080078125, - 336.9929618835449 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.6564908027648926 - }, - { - "bbox": [ - 1767.4072265625, - 0.0, - 94.924560546875, - 229.85476684570312 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.6467881202697754 - }, - { - "bbox": [ - 956.6194458007812, - 900.006103515625, - 149.72381591796875, - 173.7783203125 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.6429733037948608 - }, - { - "bbox": [ - 574.7518310546875, - 876.6203002929688, - 133.7698974609375, - 200.78741455078125 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.6194133758544922 - }, - { - "bbox": [ - 467.8788146972656, - 776.9996948242188, - 108.48025512695312, - 287.51483154296875 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.608767032623291 - }, - { - "bbox": [ - 302.0422058105469, - 732.33837890625, - 124.57574462890625, - 331.01220703125 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.5625099539756775 - }, - { - "bbox": [ - 638.8469848632812, - 743.0866088867188, - 117.85137939453125, - 317.97259521484375 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.5567368268966675 - }, - { - "bbox": [ - 335.7384948730469, - 507.2187194824219, - 145.80545043945312, - 159.55679321289062 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.5184996724128723 - }, - { - "bbox": [ - 1330.8204345703125, - 838.9266357421875, - 140.44580078125, - 240.1510009765625 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.5148675441741943 - }, - { - "bbox": [ - 720.7056884765625, - 2.9743223190307617, - 104.3197021484375, - 150.11820697784424 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.5129923820495605 - }, - { - "bbox": [ - 196.63421630859375, - 693.4352416992188, - 119.49697875976562, - 362.00836181640625 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.472736656665802 - }, - { - "bbox": [ - 666.0804443359375, - 180.66146850585938, - 95.970458984375, - 213.87698364257812 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.4722053110599518 - }, - { - "bbox": [ - 876.128173828125, - 339.4115905761719, - 135.45379638671875, - 319.6487121582031 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.4647904336452484 - }, - { - "bbox": [ - 667.529296875, - 415.2683410644531, - 104.7076416015625, - 229.71560668945312 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.45972582697868347 - }, - { - "bbox": [ - 112.86947631835938, - 264.6505432128906, - 144.888671875, - 191.26544189453125 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.45595934987068176 - }, - { - "bbox": [ - 1701.4876708984375, - 0.0, - 90.152587890625, - 221.60284423828125 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.45339658856391907 - }, - { - "bbox": [ - 1177.0682373046875, - 808.5385131835938, - 118.4273681640625, - 265.73162841796875 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.4308188259601593 - }, - { - "bbox": [ - 1581.5089111328125, - 773.6590576171875, - 153.54052734375, - 289.6710205078125 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.4269048273563385 - }, - { - "bbox": [ - 531.0040893554688, - 437.7104187011719, - 127.3616943359375, - 280.2588806152344 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.42152199149131775 - }, - { - "bbox": [ - 1797.8150634765625, - 778.5232543945312, - 102.983642578125, - 292.46649169921875 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.411865234375 - }, - { - "bbox": [ - 1084.093505859375, - 2.85404109954834, - 93.6932373046875, - 210.73848819732666 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.40260007977485657 - }, - { - "bbox": [ - 920.5157470703125, - 832.7113037109375, - 94.4918212890625, - 221.5032958984375 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.3867260217666626 - }, - { - "bbox": [ - 1115.3507080078125, - 847.74365234375, - 109.4945068359375, - 226.804931640625 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.3844665586948395 - }, - { - "bbox": [ - 1872.486083984375, - 19.00360679626465, - 42.8349609375, - 236.63503456115723 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.37733739614486694 - }, - { - "bbox": [ - 1349.9853515625, - 210.24911499023438, - 131.93798828125, - 167.93081665039062 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.3761371970176697 - }, - { - "bbox": [ - 766.0445556640625, - 879.2682495117188, - 124.82427978515625, - 201.08441162109375 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.3682442009449005 - }, - { - "bbox": [ - 817.4657592773438, - 0.0, - 80.7606201171875, - 168.49359130859375 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.3530486524105072 - }, - { - "bbox": [ - 147.0262451171875, - 1.8125637769699097, - 79.67684936523438, - 99.51723968982697 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.31355297565460205 - }, - { - "bbox": [ - 1159.018310546875, - 750.4727172851562, - 109.84375, - 160.12939453125 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.3134245276451111 - }, - { - "bbox": [ - 201.1594696044922, - 625.8055419921875, - 77.64781188964844, - 134.331787109375 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.3070683181285858 - }, - { - "bbox": [ - 1473.18359375, - 651.7177124023438, - 82.4835205078125, - 130.7080078125 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.30168840289115906 - }, - { - "bbox": [ - 932.6547241210938, - 0.0, - 94.53363037109375, - 160.51365661621094 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.3008910119533539 - }, - { - "bbox": [ - 1700.9190673828125, - 828.179931640625, - 121.2147216796875, - 245.9788818359375 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.29163801670074463 - }, - { - "bbox": [ - 1634.7724609375, - 446.2858581542969, - 132.4085693359375, - 209.66311645507812 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.291547566652298 - }, - { - "bbox": [ - 1556.4608154296875, - 473.771728515625, - 112.165283203125, - 180.64654541015625 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.2879399359226227 - }, - { - "bbox": [ - 583.9107055664062, - 1.929314374923706, - 73.5870361328125, - 123.53908467292786 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.28340914845466614 - }, - { - "bbox": [ - 1498.50634765625, - 698.7794799804688, - 96.718505859375, - 314.76446533203125 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.28129440546035767 - }, - { - "bbox": [ - 1280.0792236328125, - 775.8158569335938, - 76.7454833984375, - 188.51519775390625 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.27848634123802185 - }, - { - "bbox": [ - 1718.6058349609375, - 226.6940460205078, - 160.0238037109375, - 177.1758575439453 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.27552416920661926 - }, - { - "bbox": [ - 756.9520263671875, - 810.5991821289062, - 83.45086669921875, - 189.677001953125 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.27519550919532776 - }, - { - "bbox": [ - 1728.245849609375, - 640.5650024414062, - 117.093994140625, - 210.5716552734375 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.272867351770401 - }, - { - "bbox": [ - 1772.5546875, - 525.9481201171875, - 132.1446533203125, - 174.74395751953125 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.2701846957206726 - }, - { - "bbox": [ - 1305.05224609375, - 209.34393310546875, - 184.050048828125, - 414.58587646484375 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.26895296573638916 - }, - { - "bbox": [ - 810.69287109375, - 790.5480346679688, - 89.7996826171875, - 185.0943603515625 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.26855093240737915 - }, - { - "bbox": [ - 95.97314453125, - 724.7075805664062, - 114.75672912597656, - 298.14398193359375 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.26742294430732727 - }, - { - "bbox": [ - 1261.4110107421875, - 909.4841918945312, - 118.9820556640625, - 164.47723388671875 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.2666778564453125 - }, - { - "bbox": [ - 1339.5250244140625, - 434.0279846191406, - 87.82666015625, - 147.42294311523438 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.26228952407836914 - }, - { - "bbox": [ - 63.43070983886719, - 664.1151733398438, - 82.15074157714844, - 128.1494140625 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.26013079285621643 - }, - { - "bbox": [ - 1.3776787519454956, - 679.18505859375, - 111.62459480762482, - 224.9747314453125 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.2587812840938568 - }, - { - "bbox": [ - 1439.8868408203125, - 816.7938842773438, - 97.72802734375, - 256.11944580078125 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.256550669670105 - }, - { - "bbox": [ - 660.9515380859375, - 744.8563842773438, - 94.61444091796875, - 115.916259765625 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.2563660442829132 - }, - { - "bbox": [ - 556.6321411132812, - 0.0, - 31.12762451171875, - 77.6491470336914 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.2539074718952179 - }, - { - "bbox": [ - 414.3009948730469, - 682.0269165039062, - 92.76937866210938, - 310.0914306640625 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.25366705656051636 - }, - { - "bbox": [ - 1823.6094970703125, - 520.3126831054688, - 74.411865234375, - 80.507080078125 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.2529422640800476 - }, - { - "bbox": [ - 258.0948486328125, - 2.8098771572113037, - 73.0369873046875, - 90.99600052833557 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.25058287382125854 - }, - { - "bbox": [ - 508.9549560546875, - 714.0374145507812, - 132.6729736328125, - 206.59674072265625 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.24579626321792603 - }, - { - "bbox": [ - 1647.6907958984375, - 387.5267639160156, - 117.0858154296875, - 134.33120727539062 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.2425207644701004 - }, - { - "bbox": [ - 1445.354248046875, - 761.0438842773438, - 91.1209716796875, - 122.70550537109375 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.2403791844844818 - }, - { - "bbox": [ - 1028.0394287109375, - 751.615478515625, - 101.6038818359375, - 172.39617919921875 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.23425403237342834 - }, - { - "bbox": [ - 10.321240425109863, - 668.003173828125, - 92.43458843231201, - 93.92236328125 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.23368315398693085 - }, - { - "bbox": [ - 480.19140625, - 3.0881388187408447, - 101.267578125, - 78.71852469444275 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.2329442799091339 - }, - { - "bbox": [ - 1319.99755859375, - 813.53125, - 58.90185546875, - 112.30328369140625 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.23115667700767517 - }, - { - "bbox": [ - 0.0, - 628.298828125, - 47.96708679199219, - 120.50457763671875 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.2270287126302719 - }, - { - "bbox": [ - 298.7027893066406, - 666.9664306640625, - 119.76385498046875, - 144.8203125 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.2235877364873886 - }, - { - "bbox": [ - 1054.49609375, - 1.8778526782989502, - 65.3221435546875, - 154.7142035961151 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.22313834726810455 - }, - { - "bbox": [ - 296.7391052246094, - 680.0767822265625, - 35.053375244140625, - 69.30267333984375 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.21813228726387024 - }, - { - "bbox": [ - 1811.36962890625, - 285.1565246582031, - 102.1195068359375, - 269.7958679199219 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.21760663390159607 - }, - { - "bbox": [ - 114.75823974609375, - 719.09228515625, - 74.72804260253906, - 83.634765625 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.2161155790090561 - }, - { - "bbox": [ - 991.546875, - 1.210024356842041, - 59.4659423828125, - 152.63245916366577 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.2096937894821167 - }, - { - "bbox": [ - 1852.13916015625, - 519.2532958984375, - 38.265380859375, - 43.08807373046875 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.18011623620986938 - }, - { - "bbox": [ - 316.677978515625, - 0.0, - 44.184600830078125, - 62.04084396362305 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.17839768528938293 - }, - { - "bbox": [ - 1023.7964477539062, - 0.0, - 45.53558349609375, - 87.68540954589844 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.1771439015865326 - }, - { - "bbox": [ - 0.0, - 690.8153076171875, - 27.172204971313477, - 55.42034912109375 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.17463117837905884 - }, - { - "bbox": [ - 1663.4932861328125, - 4.420060634613037, - 65.2760009765625, - 114.99270486831665 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.1590556651353836 - }, - { - "bbox": [ - 1578.5491943359375, - 454.1618347167969, - 74.5714111328125, - 104.37033081054688 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.15501607954502106 - }, - { - "bbox": [ - 544.5846557617188, - 697.2288208007812, - 35.70989990234375, - 26.73150634765625 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.15327082574367523 - }, - { - "bbox": [ - 534.465087890625, - 881.8455200195312, - 78.7249755859375, - 172.04473876953125 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.14815860986709595 - }, - { - "bbox": [ - 1873.2293701171875, - 834.9508056640625, - 45.2706298828125, - 230.974609375 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.1479007452726364 - }, - { - "bbox": [ - 146.6645965576172, - 723.4815673828125, - 30.512222290039062, - 41.179443359375 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.13243095576763153 - }, - { - "bbox": [ - 740.52490234375, - 10.856040000915527, - 38.1209716796875, - 77.29609775543213 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.1309206336736679 - }, - { - "bbox": [ - 1783.414794921875, - 856.5660400390625, - 51.0806884765625, - 216.032958984375 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.13079363107681274 - }, - { - "bbox": [ - 1353.722900390625, - 4.124818801879883, - 26.04736328125, - 36.974050521850586 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.12728439271450043 - }, - { - "bbox": [ - 1423.4942626953125, - 875.3924560546875, - 16.2568359375, - 29.398681640625 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.1250089704990387 - }, - { - "bbox": [ - 1592.7584228515625, - 1.329086184501648, - 55.0660400390625, - 54.82293713092804 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.11483781039714813 - }, - { - "bbox": [ - 1385.247314453125, - 7.618640422821045, - 19.5557861328125, - 37.21356248855591 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.11478649824857712 - }, - { - "bbox": [ - 774.5552978515625, - 0.0, - 32.50115966796875, - 48.10002899169922 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.11244752258062363 - }, - { - "bbox": [ - 1030.501953125, - 792.454833984375, - 44.9681396484375, - 111.78228759765625 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.10898905247449875 - }, - { - "bbox": [ - 302.1847229003906, - 695.43701171875, - 20.343109130859375, - 28.063720703125 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.10741319507360458 - }, - { - "bbox": [ - 1729.3040771484375, - 2.0999855995178223, - 26.806884765625, - 36.02122259140015 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.10721274465322495 - }, - { - "bbox": [ - 1762.438720703125, - 4.751255989074707, - 24.288818359375, - 40.14107036590576 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.10624366253614426 - }, - { - "bbox": [ - 211.49954223632812, - 328.7121887207031, - 56.994140625, - 60.76922607421875 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.10590028017759323 - }, - { - "bbox": [ - 1792.0831298828125, - 261.65728759765625, - 92.417236328125, - 84.54769897460938 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.10410129278898239 - }, - { - "bbox": [ - 1547.43359375, - 4.291971683502197, - 28.6832275390625, - 69.40435552597046 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.10200422257184982 - }, - { - "bbox": [ - 1335.0888671875, - 3.258249282836914, - 23.91845703125, - 32.369855880737305 - ], - "category_id": 1, - "image_id": 10128340000, - "score": 0.10069120675325394 - } -] diff --git a/tests/test_backbones/test_hrnet.py b/tests/test_backbones/test_hrnet.py index 17f00b0f86..cb87880395 100644 --- a/tests/test_backbones/test_hrnet.py +++ b/tests/test_backbones/test_hrnet.py @@ -96,3 +96,34 @@ def test_hrnet_backbone(): feat = model(imgs) assert len(feat) == 1 assert feat[0].shape == torch.Size([2, 32, 56, 56]) + + # Test HRNet with the first three stages frozen + frozen_stages = 3 + model = HRNet(extra, in_channels=3, frozen_stages=frozen_stages) + model.init_weights() + model.train() + if frozen_stages >= 0: + assert model.norm1.training is False + assert model.norm2.training is False + for layer in [model.conv1, model.norm1, model.conv2, model.norm2]: + for param in layer.parameters(): + assert param.requires_grad is False + + for i in range(1, frozen_stages + 1): + if i == 1: + layer = getattr(model, 'layer1') + else: + layer = getattr(model, f'stage{i}') + for mod in layer.modules(): + if isinstance(mod, _BatchNorm): + assert mod.training is False + for param in layer.parameters(): + assert param.requires_grad is False + + if i < 4: + layer = getattr(model, f'transition{i}') + for mod in layer.modules(): + if isinstance(mod, _BatchNorm): + assert mod.training is False + for param in layer.parameters(): + assert param.requires_grad is False diff --git a/tests/test_backbones/test_vipnas_mbv3.py b/tests/test_backbones/test_vipnas_mbv3.py new file mode 100644 index 0000000000..83011daf46 --- /dev/null +++ b/tests/test_backbones/test_vipnas_mbv3.py @@ -0,0 +1,99 @@ +# Copyright (c) OpenMMLab. All rights reserved. +import pytest +import torch +from torch.nn.modules import GroupNorm +from torch.nn.modules.batchnorm import _BatchNorm + +from mmpose.models.backbones import ViPNAS_MobileNetV3 +from mmpose.models.backbones.utils import InvertedResidual + + +def is_norm(modules): + """Check if is one of the norms.""" + if isinstance(modules, (GroupNorm, _BatchNorm)): + return True + return False + + +def check_norm_state(modules, train_state): + """Check if norm layer is in correct train state.""" + for mod in modules: + if isinstance(mod, _BatchNorm): + if mod.training != train_state: + return False + return True + + +def test_mobilenetv3_backbone(): + with pytest.raises(TypeError): + # pretrained must be a string path + model = ViPNAS_MobileNetV3() + model.init_weights(pretrained=0) + + with pytest.raises(AttributeError): + # frozen_stages must no more than 21 + model = ViPNAS_MobileNetV3(frozen_stages=22) + model.train() + + # Test MobileNetv3 + model = ViPNAS_MobileNetV3() + model.init_weights() + model.train() + + # Test MobileNetv3 with first stage frozen + frozen_stages = 1 + model = ViPNAS_MobileNetV3(frozen_stages=frozen_stages) + model.init_weights() + model.train() + for param in model.conv1.parameters(): + assert param.requires_grad is False + for i in range(1, frozen_stages + 1): + layer = getattr(model, f'layer{i}') + for mod in layer.modules(): + if isinstance(mod, _BatchNorm): + assert mod.training is False + for param in layer.parameters(): + assert param.requires_grad is False + + # Test MobileNetv3 with norm eval + model = ViPNAS_MobileNetV3(norm_eval=True) + model.init_weights() + model.train() + assert check_norm_state(model.modules(), False) + + # Test MobileNetv3 forward + model = ViPNAS_MobileNetV3() + model.init_weights() + model.train() + + imgs = torch.randn(1, 3, 224, 224) + feat = model(imgs) + assert feat.shape == torch.Size([1, 160, 7, 7]) + + # Test MobileNetv3 forward with GroupNorm + model = ViPNAS_MobileNetV3( + norm_cfg=dict(type='GN', num_groups=2, requires_grad=True)) + for m in model.modules(): + if is_norm(m): + assert isinstance(m, GroupNorm) + model.init_weights() + model.train() + + imgs = torch.randn(1, 3, 224, 224) + feat = model(imgs) + assert feat.shape == torch.Size([1, 160, 7, 7]) + + # Test MobileNetv3 with checkpoint forward + model = ViPNAS_MobileNetV3(with_cp=True) + for m in model.modules(): + if isinstance(m, InvertedResidual): + assert m.with_cp + model.init_weights() + model.train() + + imgs = torch.randn(1, 3, 224, 224) + feat = model(imgs) + assert feat.shape == torch.Size([1, 160, 7, 7]) + + +test_mobilenetv3_backbone() diff --git a/tests/test_backbones/test_vipnas.py b/tests/test_backbones/test_vipnas_resnet.py similarity index 99% rename from tests/test_backbones/test_vipnas.py rename to tests/test_backbones/test_vipnas_resnet.py index d3ca70e174..279358929d 100644 --- a/tests/test_backbones/test_vipnas.py +++ b/tests/test_backbones/test_vipnas_resnet.py @@ -243,7 +243,7 @@ def test_vipnas_bottleneck_reslayer(): def test_resnet(): """Test ViPNAS_ResNet backbone.""" with pytest.raises(KeyError): - # ViPNAS_ResNet depth should be in [18, 34, 50, 101, 152] + # ViPNAS_ResNet depth should be in [50] ViPNAS_ResNet(20) with pytest.raises(AssertionError): diff --git a/tests/test_backward_compatibility/test_dataset_info_compatibility/test_top_down_dataset_compatibility.py b/tests/test_backward_compatibility/test_dataset_info_compatibility/test_top_down_dataset_compatibility.py index 76972f97f4..598303f8f6 100644 --- a/tests/test_backward_compatibility/test_dataset_info_compatibility/test_top_down_dataset_compatibility.py +++ b/tests/test_backward_compatibility/test_dataset_info_compatibility/test_top_down_dataset_compatibility.py @@ -198,7 +198,7 @@ def test_top_down_PoseTrack18_dataset_compatibility(): vis_thr=0.2, use_gt_bbox=True, det_bbox_thr=0.0, - bbox_file='tests/data/posetrack18/' + bbox_file='tests/data/posetrack18/annotations/' 'test_posetrack18_human_detections.json', ) # Test det bbox @@ -206,7 +206,8 @@ def test_top_down_PoseTrack18_dataset_compatibility(): data_cfg_copy['use_gt_bbox'] = False with pytest.warns(DeprecationWarning): _ = dataset_class( - ann_file='tests/data/posetrack18/test_posetrack18.json', + ann_file='tests/data/posetrack18/annotations/' + 'test_posetrack18_val.json', img_prefix='tests/data/posetrack18/', data_cfg=data_cfg_copy, pipeline=[], @@ -214,7 +215,8 @@ def test_top_down_PoseTrack18_dataset_compatibility(): with pytest.warns(DeprecationWarning): _ = dataset_class( - ann_file='tests/data/posetrack18/test_posetrack18.json', + ann_file='tests/data/posetrack18/annotations/' + 'test_posetrack18_val.json', img_prefix='tests/data/posetrack18/', data_cfg=data_cfg_copy, pipeline=[], @@ -223,7 +225,8 @@ def test_top_down_PoseTrack18_dataset_compatibility(): # Test gt bbox with pytest.warns(DeprecationWarning): custom_dataset = dataset_class( - ann_file='tests/data/posetrack18/test_posetrack18.json', + ann_file='tests/data/posetrack18/annotations/' + 'test_posetrack18_val.json', img_prefix='tests/data/posetrack18/', data_cfg=data_cfg, pipeline=[], diff --git a/tests/test_datasets/test_top_down_dataset.py b/tests/test_datasets/test_top_down_dataset.py index fac949e3f9..2aff4d2bb0 100644 --- a/tests/test_datasets/test_top_down_dataset.py +++ b/tests/test_datasets/test_top_down_dataset.py @@ -205,14 +205,15 @@ def test_top_down_PoseTrack18_dataset(): vis_thr=0.2, use_gt_bbox=True, det_bbox_thr=0.0, - bbox_file='tests/data/posetrack18/' + bbox_file='tests/data/posetrack18/annotations/' 'test_posetrack18_human_detections.json', ) # Test det bbox data_cfg_copy = copy.deepcopy(data_cfg) data_cfg_copy['use_gt_bbox'] = False _ = dataset_class( - ann_file='tests/data/posetrack18/test_posetrack18.json', + ann_file='tests/data/posetrack18/annotations/' + 'test_posetrack18_val.json', img_prefix='tests/data/posetrack18/', data_cfg=data_cfg_copy, pipeline=[], @@ -220,7 +221,8 @@ def test_top_down_PoseTrack18_dataset(): test_mode=True) _ = dataset_class( - ann_file='tests/data/posetrack18/test_posetrack18.json', + ann_file='tests/data/posetrack18/annotations/' + 'test_posetrack18_val.json', img_prefix='tests/data/posetrack18/', data_cfg=data_cfg_copy, pipeline=[], @@ -229,7 +231,8 @@ def test_top_down_PoseTrack18_dataset(): # Test gt bbox custom_dataset = dataset_class( - ann_file='tests/data/posetrack18/test_posetrack18.json', + ann_file='tests/data/posetrack18/annotations/' + 'test_posetrack18_val.json', img_prefix='tests/data/posetrack18/', data_cfg=data_cfg, pipeline=[], @@ -242,8 +245,191 @@ def test_top_down_PoseTrack18_dataset(): image_id = 10128340000 assert image_id in custom_dataset.img_ids assert len(custom_dataset.img_ids) == 3 + assert len(custom_dataset) == 14 _ = custom_dataset[0] + # Test evaluate function, use gt bbox + outputs = convert_db_to_output(custom_dataset.db) + with tempfile.TemporaryDirectory() as tmpdir: + infos = custom_dataset.evaluate(outputs, tmpdir, 'mAP') + assert_almost_equal(infos['Total AP'], 100) + + with pytest.raises(KeyError): + _ = custom_dataset.evaluate(outputs, tmpdir, 'PCK') + + # Test evaluate function, use det bbox + data_cfg_copy = copy.deepcopy(data_cfg) + data_cfg_copy['use_gt_bbox'] = False + + custom_dataset = dataset_class( + ann_file='tests/data/posetrack18/annotations/' + 'test_posetrack18_val.json', + img_prefix='tests/data/posetrack18/', + data_cfg=data_cfg_copy, + pipeline=[], + dataset_info=dataset_info, + test_mode=True) + + assert len(custom_dataset) == 278 + + outputs = convert_db_to_output(custom_dataset.db) + with tempfile.TemporaryDirectory() as tmpdir: + infos = custom_dataset.evaluate(outputs, tmpdir, 'mAP') + # since the det box input assume each keypoint position to be (0,0) + # the Total AP will be zero. + assert_almost_equal(infos['Total AP'], 0.) + + with pytest.raises(KeyError): + _ = custom_dataset.evaluate(outputs, tmpdir, 'PCK') + + +def test_top_down_PoseTrack18Video_dataset(): + dataset = 'TopDownPoseTrack18VideoDataset' + dataset_info = Config.fromfile( + 'configs/_base_/datasets/posetrack18.py').dataset_info + # test PoseTrack18Video dataset + dataset_class = DATASETS.get(dataset) + dataset_class.load_annotations = MagicMock() + dataset_class.coco = MagicMock() + + channel_cfg = dict( + num_output_channels=17, + dataset_joints=17, + dataset_channel=[ + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], + ], + inference_channel=[ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 + ]) + + data_cfg = dict( + image_size=[288, 384], + heatmap_size=[72, 96], + num_output_channels=channel_cfg['num_output_channels'], + num_joints=channel_cfg['dataset_joints'], + dataset_channel=channel_cfg['dataset_channel'], + inference_channel=channel_cfg['inference_channel'], + use_nms=True, + soft_nms=False, + nms_thr=1.0, + oks_thr=0.9, + vis_thr=0.2, + use_gt_bbox=True, + det_bbox_thr=0.0, + bbox_file='tests/data/posetrack18/annotations/' + 'test_posetrack18_human_detections.json', + # frame-related arguments + frame_index_rand=True, + frame_index_range=[-2, 2], + num_adj_frames=1, + frame_indices_test=[-2, 2, -1, 1, 0], + frame_weight_train=(0.0, 1.0), + frame_weight_test=(0.3, 0.1, 0.25, 0.25, 0.1), + ) + + # Test value of dataset_info + with pytest.raises(ValueError): + _ = dataset_class( + ann_file='tests/data/posetrack18/annotations/' + 'test_posetrack18_val.json', + img_prefix='tests/data/posetrack18/', + data_cfg=data_cfg, + pipeline=[], + dataset_info=None, + test_mode=False) + + # Test train mode (must use gt bbox) + _ = dataset_class( + ann_file='tests/data/posetrack18/annotations/' + 'test_posetrack18_val.json', + img_prefix='tests/data/posetrack18/', + data_cfg=data_cfg, + pipeline=[], + dataset_info=dataset_info, + test_mode=False) + + # Test gt bbox + test mode + custom_dataset = dataset_class( + ann_file='tests/data/posetrack18/annotations/' + 'test_posetrack18_val.json', + img_prefix='tests/data/posetrack18/', + data_cfg=data_cfg, + pipeline=[], + dataset_info=dataset_info, + test_mode=True) + + assert custom_dataset.test_mode is True + assert custom_dataset.dataset_name == 'posetrack18' + assert custom_dataset.ph_fill_len == 6 + + image_id = 10128340000 + assert image_id in custom_dataset.img_ids + assert len(custom_dataset.img_ids) == 3 + assert len(custom_dataset) == 14 + _ = custom_dataset[0] + + # Test det bbox + test mode + data_cfg_copy = copy.deepcopy(data_cfg) + data_cfg_copy['use_gt_bbox'] = False + custom_dataset = dataset_class( + ann_file='tests/data/posetrack18/annotations/' + 'test_posetrack18_val.json', + img_prefix='tests/data/posetrack18/', + data_cfg=data_cfg_copy, + pipeline=[], + dataset_info=dataset_info, + test_mode=True) + + assert custom_dataset.frame_indices_test == [-2, -1, 0, 1, 2] + assert len(custom_dataset) == 278 + + # Test non-random index + data_cfg_copy = copy.deepcopy(data_cfg) + data_cfg_copy['frame_index_rand'] = False + data_cfg_copy['frame_indices_train'] = [0, -1] + custom_dataset = dataset_class( + ann_file='tests/data/posetrack18/annotations/' + 'test_posetrack18_val.json', + img_prefix='tests/data/posetrack18/', + data_cfg=data_cfg_copy, + pipeline=[], + dataset_info=dataset_info, + test_mode=False) + + assert custom_dataset.frame_indices_train == [-1, 0] + + # Test evaluate function, use gt bbox + outputs = convert_db_to_output(custom_dataset.db) + with tempfile.TemporaryDirectory() as tmpdir: + infos = custom_dataset.evaluate(outputs, tmpdir, 'mAP') + assert_almost_equal(infos['Total AP'], 100) + + with pytest.raises(KeyError): + _ = custom_dataset.evaluate(outputs, tmpdir, 'PCK') + + # Test evaluate function, use det bbox + data_cfg_copy = copy.deepcopy(data_cfg) + data_cfg_copy['use_gt_bbox'] = False + + custom_dataset = dataset_class( + ann_file='tests/data/posetrack18/annotations/' + 'test_posetrack18_val.json', + img_prefix='tests/data/posetrack18/', + data_cfg=data_cfg_copy, + pipeline=[], + dataset_info=dataset_info, + test_mode=True) + + outputs = convert_db_to_output(custom_dataset.db) + with tempfile.TemporaryDirectory() as tmpdir: + infos = custom_dataset.evaluate(outputs, tmpdir, 'mAP') + # since the det box input assume each keypoint position to be (0,0), + # the Total AP will be zero. + assert_almost_equal(infos['Total AP'], 0) + + with pytest.raises(KeyError): + _ = custom_dataset.evaluate(outputs, tmpdir, 'PCK') + def test_top_down_CrowdPose_dataset(): dataset = 'TopDownCrowdPoseDataset' diff --git a/tests/test_models/test_top_down_forward.py b/tests/test_models/test_top_down_forward.py index f59192ad4e..eda2b8fb02 100644 --- a/tests/test_models/test_top_down_forward.py +++ b/tests/test_models/test_top_down_forward.py @@ -1,8 +1,10 @@ # Copyright (c) OpenMMLab. All rights reserved. +import copy + import numpy as np import torch -from mmpose.models.detectors import TopDown +from mmpose.models.detectors import PoseWarper, TopDown def test_vipnas_forward(): @@ -235,12 +237,241 @@ def test_topdown_forward(): _ = detector.forward_dummy(imgs) -def _demo_mm_inputs(input_shape=(1, 3, 256, 256), num_outputs=None): +def test_posewarper_forward(): + # test PoseWarper + model_cfg = dict( + type='PoseWarper', + pretrained=None, + backbone=dict( + type='HRNet', + in_channels=3, + extra=dict( + stage1=dict( + num_modules=1, + num_branches=1, + block='BOTTLENECK', + num_blocks=(4, ), + num_channels=(64, )), + stage2=dict( + num_modules=1, + num_branches=2, + block='BASIC', + num_blocks=(4, 4), + num_channels=(48, 96)), + stage3=dict( + num_modules=4, + num_branches=3, + block='BASIC', + num_blocks=(4, 4, 4), + num_channels=(48, 96, 192)), + stage4=dict( + num_modules=3, + num_branches=4, + block='BASIC', + num_blocks=(4, 4, 4, 4), + num_channels=(48, 96, 192, 384))), + frozen_stages=4, + ), + concat_tensors=True, + neck=dict( + type='PoseWarperNeck', + in_channels=48, + freeze_trans_layer=True, + out_channels=17, + inner_channels=128, + deform_groups=17, + dilations=(3, 6, 12, 18, 24), + trans_conv_kernel=1, + res_blocks_cfg=dict(block='BASIC', num_blocks=20), + offsets_kernel=3, + deform_conv_kernel=3), + keypoint_head=dict( + type='TopdownHeatmapSimpleHead', + in_channels=17, + out_channels=17, + num_deconv_layers=0, + extra=dict(final_conv_kernel=0, ), + loss_keypoint=dict(type='JointsMSELoss', use_target_weight=True)), + train_cfg=dict(), + test_cfg=dict( + flip_test=False, + post_process='default', + shift_heatmap=True, + modulate_kernel=11)) + + detector = PoseWarper(model_cfg['backbone'], model_cfg['neck'], + model_cfg['keypoint_head'], model_cfg['train_cfg'], + model_cfg['test_cfg'], model_cfg['pretrained'], None, + model_cfg['concat_tensors']) + assert detector.concat_tensors + + detector.init_weights() + + input_shape = (2, 3, 64, 64) + num_frames = 2 + mm_inputs = _demo_mm_inputs(input_shape, None, num_frames) + + imgs = mm_inputs.pop('imgs') + target = mm_inputs.pop('target') + target_weight = mm_inputs.pop('target_weight') + img_metas = mm_inputs.pop('img_metas') + + # Test forward train + losses = detector.forward( + imgs, target, target_weight, img_metas, return_loss=True) + assert isinstance(losses, dict) + + # Test forward test + with torch.no_grad(): + _ = detector.forward(imgs, img_metas=img_metas, return_loss=False) + _ = detector.forward_dummy(imgs) + + # test argument 'concat_tensors' + model_cfg_copy = copy.deepcopy(model_cfg) + model_cfg_copy['concat_tensors'] = False + + detector = PoseWarper(model_cfg_copy['backbone'], model_cfg_copy['neck'], + model_cfg_copy['keypoint_head'], + model_cfg_copy['train_cfg'], + model_cfg_copy['test_cfg'], + model_cfg_copy['pretrained'], None, + model_cfg_copy['concat_tensors']) + assert not detector.concat_tensors + + detector.init_weights() + + input_shape = (2, 3, 64, 64) + num_frames = 2 + mm_inputs = _demo_mm_inputs(input_shape, None, num_frames) + + imgs = mm_inputs.pop('imgs') + target = mm_inputs.pop('target') + target_weight = mm_inputs.pop('target_weight') + img_metas = mm_inputs.pop('img_metas') + + # Test forward train + losses = detector.forward( + imgs, target, target_weight, img_metas, return_loss=True) + assert isinstance(losses, dict) + + # Test forward test + with torch.no_grad(): + _ = detector.forward(imgs, img_metas=img_metas, return_loss=False) + _ = detector.forward_dummy(imgs) + + # flip test + model_cfg_copy = copy.deepcopy(model_cfg) + model_cfg_copy['test_cfg']['flip_test'] = True + + detector = PoseWarper(model_cfg_copy['backbone'], model_cfg_copy['neck'], + model_cfg_copy['keypoint_head'], + model_cfg_copy['train_cfg'], + model_cfg_copy['test_cfg'], + model_cfg_copy['pretrained'], None, + model_cfg_copy['concat_tensors']) + + detector.init_weights() + + input_shape = (1, 3, 64, 64) + num_frames = 2 + mm_inputs = _demo_mm_inputs(input_shape, None, num_frames) + + imgs = mm_inputs.pop('imgs') + target = mm_inputs.pop('target') + target_weight = mm_inputs.pop('target_weight') + img_metas = mm_inputs.pop('img_metas') + + # Test forward train + losses = detector.forward( + imgs, target, target_weight, img_metas, return_loss=True) + assert isinstance(losses, dict) + + # Test forward test + with torch.no_grad(): + _ = detector.forward(imgs, img_metas=img_metas, return_loss=False) + _ = detector.forward_dummy(imgs) + + # test different number of dilations + model_cfg_copy = copy.deepcopy(model_cfg) + model_cfg_copy['neck']['dilations'] = (3, 6, 12) + + detector = PoseWarper(model_cfg_copy['backbone'], model_cfg_copy['neck'], + model_cfg_copy['keypoint_head'], + model_cfg_copy['train_cfg'], + model_cfg_copy['test_cfg'], + model_cfg_copy['pretrained'], None, + model_cfg_copy['concat_tensors']) + + detector.init_weights() + + input_shape = (2, 3, 64, 64) + num_frames = 2 + mm_inputs = _demo_mm_inputs(input_shape, None, num_frames) + + imgs = mm_inputs.pop('imgs') + target = mm_inputs.pop('target') + target_weight = mm_inputs.pop('target_weight') + img_metas = mm_inputs.pop('img_metas') + + # Test forward train + losses = detector.forward( + imgs, target, target_weight, img_metas, return_loss=True) + assert isinstance(losses, dict) + + # Test forward test + with torch.no_grad(): + _ = detector.forward(imgs, img_metas=img_metas, return_loss=False) + _ = detector.forward_dummy(imgs) + + # test different backbone, change head accordingly + model_cfg_copy = copy.deepcopy(model_cfg) + model_cfg_copy['backbone'] = dict(type='ResNet', depth=18) + model_cfg_copy['neck']['in_channels'] = 512 + model_cfg_copy['keypoint_head'] = dict( + type='TopdownHeatmapSimpleHead', + in_channels=17, + out_channels=17, + loss_keypoint=dict(type='JointsMSELoss', use_target_weight=True)) + + detector = PoseWarper(model_cfg_copy['backbone'], model_cfg_copy['neck'], + model_cfg_copy['keypoint_head'], + model_cfg_copy['train_cfg'], + model_cfg_copy['test_cfg'], + model_cfg_copy['pretrained'], None, + model_cfg_copy['concat_tensors']) + + detector.init_weights() + + input_shape = (1, 3, 64, 64) + num_frames = 2 + mm_inputs = _demo_mm_inputs(input_shape, None, num_frames) + + imgs = mm_inputs.pop('imgs') + target = mm_inputs.pop('target') + target_weight = mm_inputs.pop('target_weight') + img_metas = mm_inputs.pop('img_metas') + + # Test forward train + losses = detector.forward( + imgs, target, target_weight, img_metas, return_loss=True) + assert isinstance(losses, dict) + + # Test forward test + with torch.no_grad(): + _ = detector.forward(imgs, img_metas=img_metas, return_loss=False) + _ = detector.forward_dummy(imgs) + + +def _demo_mm_inputs( + input_shape=(1, 3, 256, 256), num_outputs=None, num_frames=1): """Create a superset of inputs needed to run test or train batches. Args: input_shape (tuple): input batch dimensions + num_frames (int): + number of frames for each sample, default: 1, + if larger than 1, return a list of tensors """ (N, C, H, W) = input_shape @@ -264,12 +495,23 @@ def _demo_mm_inputs(input_shape=(1, 3, 256, 256), num_outputs=None): 'flip_pairs': [], 'inference_channel': np.arange(17), 'image_file': '.png', + 'frame_weight': np.random.uniform(0, 1, num_frames), } for _ in range(N)] mm_inputs = { - 'imgs': torch.FloatTensor(imgs).requires_grad_(True), 'target': torch.FloatTensor(target), 'target_weight': torch.FloatTensor(target_weight), 'img_metas': img_metas } + + if num_frames == 1: + imgs = torch.FloatTensor(rng.rand(*input_shape)).requires_grad_(True) + else: + + imgs = [ + torch.FloatTensor(rng.rand(*input_shape)).requires_grad_(True) + for _ in range(num_frames) + ] + + mm_inputs['imgs'] = imgs return mm_inputs diff --git a/tests/test_necks/test_posewarper_neck.py b/tests/test_necks/test_posewarper_neck.py new file mode 100644 index 0000000000..45faabfb5a --- /dev/null +++ b/tests/test_necks/test_posewarper_neck.py @@ -0,0 +1,143 @@ +# Copyright (c) OpenMMLab. All rights reserved. +import numpy as np +import pytest +import torch + +from mmpose.models.necks import PoseWarperNeck + + +def test_posewarper_neck(): + """Test PoseWarperNeck.""" + with pytest.raises(AssertionError): + # test value of trans_conv_kernel + _ = PoseWarperNeck( + out_channels=3, + in_channels=512, + inner_channels=128, + trans_conv_kernel=2) + + with pytest.raises(TypeError): + # test type of res_blocks_cfg + _ = PoseWarperNeck( + out_channels=3, + in_channels=512, + inner_channels=128, + res_blocks_cfg=2) + + with pytest.raises(AssertionError): + # test value of dilations + neck = PoseWarperNeck( + out_channels=3, in_channels=512, inner_channels=128, dilations=[]) + + in_channels = 48 + out_channels = 17 + inner_channels = 128 + + neck = PoseWarperNeck( + in_channels=in_channels, + out_channels=out_channels, + inner_channels=inner_channels) + + with pytest.raises(TypeError): + # the forward require two arguments: inputs and frame_weight + _ = neck(1) + + with pytest.raises(AssertionError): + # the inputs to PoseWarperNeck must be list or tuple + _ = neck(1, [0.1]) + + # test the case when num_frames * batch_size if larger than + # the default value of 'im2col_step' but can not be divided + # by it in mmcv.ops.deform_conv + b_0 = 8 # batch_size + b_1 = 16 + h_0 = 4 # image height + h_1 = 2 + + num_frame_0 = 2 + num_frame_1 = 5 + + # test input format + # B, C, H, W + x0_shape = (b_0, in_channels, h_0, h_0) + x1_shape = (b_1, in_channels, h_1, h_1) + + # test concat_tensors case + # at the same time, features output from backbone like ResNet is Tensors + x0_shape = (b_0 * num_frame_0, in_channels, h_0, h_0) + x0 = _demo_inputs(x0_shape, length=1) + frame_weight_0 = np.random.uniform(0, 1, num_frame_0) + + # test forward + y = neck(x0, frame_weight_0) + assert y.shape == torch.Size([b_0, out_channels, h_0, h_0]) + + # test concat_tensors case + # this time, features output from backbone like HRNet + # is list of Tensors rather than Tensors + x0_shape = (b_0 * num_frame_0, in_channels, h_0, h_0) + x0 = _demo_inputs(x0_shape, length=2) + x0 = [x0] + frame_weight_0 = np.random.uniform(0, 1, num_frame_0) + + # test forward + y = neck(x0, frame_weight_0) + assert y.shape == torch.Size([b_0, out_channels, h_0, h_0]) + + # test not concat_tensors case + # at the same time, features output from backbone like ResNet is Tensors + x1_shape = (b_1, in_channels, h_1, h_1) + x1 = _demo_inputs(x1_shape, length=num_frame_1) + frame_weight_1 = np.random.uniform(0, 1, num_frame_1) + + # test forward + y = neck(x1, frame_weight_1) + assert y.shape == torch.Size([b_1, out_channels, h_1, h_1]) + + # test not concat_tensors case + # this time, features output from backbone like HRNet + # is list of Tensors rather than Tensors + x1_shape = (b_1, in_channels, h_1, h_1) + x1 = _demo_inputs(x1_shape, length=2) + x1 = [x1 for _ in range(num_frame_1)] + frame_weight_1 = np.random.uniform(0, 1, num_frame_1) + + # test forward + y = neck(x1, frame_weight_1) + assert y.shape == torch.Size([b_1, out_channels, h_1, h_1]) + + # test special case that when in concat_tensors case, + # batch_size * num_frames is larger than the default value + # 'im2col_step' in mmcv.ops.deform_conv, but can not be divided by it + # see https://github.com/open-mmlab/mmcv/issues/1440 + x1_shape = (b_1 * num_frame_1, in_channels, h_1, h_1) + x1 = _demo_inputs(x1_shape, length=2) + x1 = [x1] + frame_weight_0 = np.random.uniform(0, 1, num_frame_1) + + y = neck(x1, frame_weight_1) + assert y.shape == torch.Size([b_1, out_channels, h_1, h_1]) + + # test the inappropriate value of `im2col_step` + neck = PoseWarperNeck( + in_channels=in_channels, + out_channels=out_channels, + inner_channels=inner_channels, + im2col_step=32) + with pytest.raises(AssertionError): + _ = neck(x1, frame_weight_1) + + +def _demo_inputs(input_shape=(80, 48, 4, 4), length=1): + """Create a superset of inputs needed to run backbone. + + Args: + input_shape (tuple): input batch dimensions. + Default: (1, 3, 64, 64). + length (int): the length of output list + nested (bool): whether the output Tensor is double-nested list. + """ + imgs = [ + torch.FloatTensor(np.random.random(input_shape)) for _ in range(length) + ] + return imgs diff --git a/tests/test_pipelines/test_shared_transform.py b/tests/test_pipelines/test_shared_transform.py index 23f57d30f6..af810e8951 100644 --- a/tests/test_pipelines/test_shared_transform.py +++ b/tests/test_pipelines/test_shared_transform.py @@ -2,11 +2,57 @@ import os.path as osp import numpy as np +import pytest from mmcv.utils import build_from_cfg from mmpose.datasets import PIPELINES +def test_load_image_from_file(): + # Define simple pipeline + load = dict(type='LoadImageFromFile') + load = build_from_cfg(load, PIPELINES) + + data_prefix = 'tests/data/coco/' + image_file = osp.join(data_prefix, '00000000078.jpg') + results = dict(image_file=image_file) + + # load an image that doesn't exist + with pytest.raises(FileNotFoundError): + results = load(results) + + # mormal loading + image_file = osp.join(data_prefix, '000000000785.jpg') + results = dict(image_file=image_file) + results = load(results) + assert results['img'].shape == (425, 640, 3) + + # load a single image from a list + image_file = [osp.join(data_prefix, '000000000785.jpg')] + results = dict(image_file=image_file) + results = load(results) + assert len(results['img']) == 1 + + # test loading multi images from a list + image_file = [ + osp.join(data_prefix, '000000000785.jpg'), + osp.join(data_prefix, '00000004008.jpg'), + ] + results = dict(image_file=image_file) + + with pytest.raises(FileNotFoundError): + results = load(results) + + image_file = [ + osp.join(data_prefix, '000000000785.jpg'), + osp.join(data_prefix, '000000040083.jpg'), + ] + results = dict(image_file=image_file) + + results = load(results) + assert len(results['img']) == 2 + + def test_albu_transform(): data_prefix = 'tests/data/coco/' results = dict(image_file=osp.join(data_prefix, '000000000785.jpg')) diff --git a/tests/test_visualization.py b/tests/test_visualization.py index 0f6e36732d..f04dad24e6 100644 --- a/tests/test_visualization.py +++ b/tests/test_visualization.py @@ -3,6 +3,7 @@ import mmcv import numpy as np +import pytest from mmpose.core import (apply_bugeye_effect, apply_sunglasses_effect, imshow_bboxes, imshow_keypoints, imshow_keypoints_3d) @@ -59,6 +60,15 @@ def test_imshow_bbox(): colors='red', show=False) + # test unmatched bboxes and labels + with pytest.raises(AssertionError): + _ = imshow_bboxes( + img, + np.zeros((0, 4), dtype=np.float32), + labels=labels[:1], + colors='red', + show=False) + def test_effects(): img = np.zeros((100, 100, 3), dtype=np.uint8) diff --git a/tools/analysis/get_flops.py b/tools/analysis/get_flops.py index 46bb823913..f492a877bc 100644 --- a/tools/analysis/get_flops.py +++ b/tools/analysis/get_flops.py @@ -1,9 +1,10 @@ # Copyright (c) OpenMMLab. All rights reserved. import argparse +from functools import partial -from mmcv import Config +import torch -from mmpose.models import build_posenet +from mmpose.apis.inference import init_pose_model try: from mmcv.cnn import get_model_complexity_info @@ -20,10 +21,40 @@ def parse_args(): nargs='+', default=[256, 192], help='input image size') + parser.add_argument( + '--input-constructor', + '-c', + type=str, + choices=['none', 'batch'], + default='none', + help='If specified, it takes a callable method that generates ' + 'input. Otherwise, it will generate a random tensor with ' + 'input shape to calculate FLOPs.') + parser.add_argument( + '--batch-size', '-b', type=int, default=1, help='input batch size') + parser.add_argument( + '--not-print-per-layer-stat', + '-n', + action='store_true', + help='Whether to print complexity information' + 'for each layer in a model') args = parser.parse_args() return args +def batch_constructor(flops_model, batch_size, input_shape): + """Generate a batch of tensors to the model.""" + batch = {} + + img = torch.ones(()).new_empty( + (batch_size, *input_shape), + dtype=next(flops_model.parameters()).dtype, + device=next(flops_model.parameters()).device) + + batch['img'] = img + return batch + + def main(): args = parse_args() @@ -35,10 +66,17 @@ def main(): else: raise ValueError('invalid input shape') - cfg = Config.fromfile(args.config) - model = build_posenet(cfg.model) - model = model.cuda() - model.eval() + model = init_pose_model(args.config) + + if args.input_constructor == 'batch': + input_constructor = partial(batch_constructor, model, args.batch_size) + else: + input_constructor = None + + if args.input_constructor == 'batch': + input_constructor = partial(batch_constructor, model, args.batch_size) + else: + input_constructor = None if hasattr(model, 'forward_dummy'): model.forward = model.forward_dummy @@ -47,8 +85,13 @@ def main(): 'FLOPs counter is currently not currently supported with {}'. format(model.__class__.__name__)) - flops, params = get_model_complexity_info(model, input_shape) + flops, params = get_model_complexity_info( + model, + input_shape, + input_constructor=input_constructor, + print_per_layer_stat=(not args.not_print_per_layer_stat)) split_line = '=' * 30 + input_shape = (args.batch_size, ) + input_shape print(f'{split_line}\nInput shape: {input_shape}\n' f'Flops: {flops}\nParams: {params}\n{split_line}') print('!!!Please be cautious if you use the results in papers. ' diff --git a/tools/train.py b/tools/train.py index f57c876fcd..f2bed1a2fb 100644 --- a/tools/train.py +++ b/tools/train.py @@ -12,7 +12,7 @@ from mmcv.utils import get_git_hash from mmpose import __version__ -from mmpose.apis import train_model +from mmpose.apis import init_random_seed, train_model from mmpose.datasets import build_dataset from mmpose.models import build_posenet from mmpose.utils import collect_env, get_root_logger @@ -134,12 +134,12 @@ def main(): logger.info(f'Config:\n{cfg.pretty_text}') # set random seeds - if args.seed is not None: - logger.info(f'Set random seed to {args.seed}, ' - f'deterministic: {args.deterministic}') - set_random_seed(args.seed, deterministic=args.deterministic) - cfg.seed = args.seed - meta['seed'] = args.seed + seed = init_random_seed(args.seed) + logger.info(f'Set random seed to {seed}, ' + f'deterministic: {args.deterministic}') + set_random_seed(seed, deterministic=args.deterministic) + cfg.seed = seed + meta['seed'] = seed model = build_posenet(cfg.model) datasets = [build_dataset(cfg.data.train)]