[Bug] bad results of RTMW model when the image size is 384x288
Prerequisite
- [x] I have searched Issues and Discussions but cannot get the expected help.
- [x] The bug has not been fixed in the latest version(https://github.com/open-mmlab/mmpose).
Environment
OrderedDict([('sys.platform', 'linux'), ('Python', '3.11.3 (main, May 15 2023, 15:45:52) [GCC 11.2.0]'), ('CUDA available', True), ('MUSA available', False), ('numpy_random_seed', 2147483648), ('GPU 0', 'Tesla V100-PCIE-16GB'), ('CUDA_HOME', '/usr/local/cuda'), ('NVCC', 'Cuda compilation tools, release 11.7, V11.7.99'), ('GCC', 'gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0'), ('PyTorch', '2.0.0+cu117'), ('PyTorch compiling details', 'PyTorch built with:\n - GCC 9.3\n - C++ Version: 201703\n - Intel(R) oneAPI Math Kernel Library Version 2022.2-Product Build 20220804 for Intel(R) 64 architecture applications\n - Intel(R) MKL-DNN v2.7.3 (Git Hash 6dbeffbae1f23cbbeae17adb7b5b13f1f37c080e)\n - OpenMP 201511 (a.k.a. OpenMP 4.5)\n - LAPACK is enabled (usually provided by MKL)\n - NNPACK is enabled\n - CPU capability usage: AVX2\n - CUDA Runtime 11.7\n - NVCC architecture flags: -gencode;arch=compute_37,code=sm_37;-gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_80,code=sm_80;-gencode;arch=compute_86,code=sm_86\n - CuDNN 8.5\n - Magma 2.6.1\n - Build settings: BLAS_INFO=mkl, BUILD_TYPE=Release, CUDA_VERSION=11.7, CUDNN_VERSION=8.5.0, CXX_COMPILER=/opt/rh/devtoolset-9/root/usr/bin/c++, CXX_FLAGS= -D_GLIBCXX_USE_CXX11_ABI=0 -fabi-version=11 -Wno-deprecated -fvisibility-inlines-hidden -DUSE_PTHREADPOOL -DNDEBUG -DUSE_KINETO -DLIBKINETO_NOROCTRACER -DUSE_FBGEMM -DUSE_QNNPACK -DUSE_PYTORCH_QNNPACK -DUSE_XNNPACK -DSYMBOLICATE_MOBILE_DEBUG_HANDLE -O2 -fPIC -Wall -Wextra -Werror=return-type -Werror=non-virtual-dtor -Werror=bool-operation -Wnarrowing -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wunused-local-typedefs -Wno-unused-parameter -Wno-unused-function -Wno-unused-result -Wno-strict-overflow -Wno-strict-aliasing -Wno-error=deprecated-declarations -Wno-stringop-overflow -Wno-psabi -Wno-error=pedantic -Wno-error=redundant-decls -Wno-error=old-style-cast -fdiagnostics-color=always -faligned-new -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Werror=format -Werror=cast-function-type -Wno-stringop-overflow, LAPACK_INFO=mkl, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, TORCH_DISABLE_GPU_ASSERTS=ON, TORCH_VERSION=2.0.0, USE_CUDA=ON, USE_CUDNN=ON, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_MKL=ON, USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=1, USE_NNPACK=ON, USE_OPENMP=ON, USE_ROCM=OFF, \n'), ('TorchVision', '0.15.0+cu117'), ('OpenCV', '4.10.0'), ('MMEngine', '0.10.7'), ('MMPose', '1.3.2+71ec36e')])
mmcv 2.1.0 mmdet 3.3.0 mmengine 0.10.7 mmpose 1.3.2
Reproduces the problem - code sample
using topdown_demo_with_mmdet.py file
Reproduces the problem - command or script
x-384:
python demo/topdown_demo_with_mmdet.py
demo/mmdetection_cfg/rtmdet_m_640-8xb32_coco-person.py
weights/rtmdet_m_8xb32-100e_coco-obj365-person-235e8209.pth
configs/wholebody_2d_keypoint/rtmpose/cocktail14/rtmw-x_8xb320-270e_cocktail14-384x288.py
weights/rtmw/rtmw-x_simcc-cocktail14_pt-ucoco_270e-384x288-f840f204_20231122.pth
--input tests/data/coco/git.png
--output-root ./ --draw-bbox
x-256:
python demo/topdown_demo_with_mmdet.py
demo/mmdetection_cfg/rtmdet_m_640-8xb32_coco-person.py
weights/rtmdet_m_8xb32-100e_coco-obj365-person-235e8209.pth
configs/wholebody_2d_keypoint/rtmpose/cocktail14/rtmw-x_8xb704-270e_cocktail14-256x192.py
weights/rtmw/rtmw-x_simcc-cocktail14_pt-ucoco_270e-256x192-13a2546d_20231208.pth
--input tests/data/coco/git.png
--output-root ./ --draw-bbox
l-384:
python demo/topdown_demo_with_mmdet.py
demo/mmdetection_cfg/rtmdet_m_640-8xb32_coco-person.py
weights/rtmdet_m_8xb32-100e_coco-obj365-person-235e8209.pth
configs/wholebody_2d_keypoint/rtmpose/cocktail14/rtmw-l_8xb320-270e_cocktail14-384x288.py
weights/rtmw/rtmw-dw-x-l_simcc-cocktail14_270e-384x288-20231122.pth
--input tests/data/coco/git.png
--output-root ./ --draw-bbox
l-256:
python demo/topdown_demo_with_mmdet.py
demo/mmdetection_cfg/rtmdet_m_640-8xb32_coco-person.py
weights/rtmdet_m_8xb32-100e_coco-obj365-person-235e8209.pth
configs/wholebody_2d_keypoint/rtmpose/cocktail14/rtmw-l_8xb1024-270e_cocktail14-256x192.py
weights/rtmw/rtmw-dw-x-l_simcc-cocktail14_270e-256x192-20231122.pth
--input tests/data/coco/git.png
--output-root ./ --draw-bbox
m-256:
python demo/topdown_demo_with_mmdet.py
demo/mmdetection_cfg/rtmdet_m_640-8xb32_coco-person.py
weights/rtmdet_m_8xb32-100e_coco-obj365-person-235e8209.pth
configs/wholebody_2d_keypoint/rtmpose/cocktail14/rtmw-m_8xb1024-270e_cocktail14-256x192.py
weights/rtmw/rtmw-dw-l-m_simcc-cocktail14_270e-256x192-20231122.pth
--input tests/data/coco/git.png
--output-root ./ --draw-bbox
Reproduces the problem - error message
got original image from : https://github.com/open-mmlab/mmpose/issues/2741
x-384:
x-256:
l-384:
l-256:
m-256:
Additional information
- I got all weights from https://github.com/open-mmlab/mmpose/blob/main/configs/wholebody_2d_keypoint/rtmpose/cocktail14/rtmw_cocktail14.md
- When the size is "384x288", the results are bad. And the effect of "rtmw-x_simcc-cocktail14_pt-ucoco_270e-256x192-13a2546d_20231208.pth" model is not so good;
- I tried other images, the conclusion was same;
- I tried different “--kpt-thr” in "topdown_demo_with_mmdet.py" file, didn't help, hard to find the balance;
- Are the provided weights wrong or I should set some params? Thank you!
Maybe related to this? https://github.com/Tau-J/rtmlib/issues/36
The problem is that RTMPose need a whole figure inside the bbox, because it has no confidence. Your legs are not visible, but you are saying to the model that the "whole figure is inside the bbox" which is not true