mmpose icon indicating copy to clipboard operation
mmpose copied to clipboard

[Bug] bad results of RTMW model when the image size is 384x288

Open JokerCD opened this issue 5 months ago • 2 comments

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:

Image

x-256:

Image

l-384:

Image

l-256:

Image

m-256:

Image

Additional information

  1. I got all weights from https://github.com/open-mmlab/mmpose/blob/main/configs/wholebody_2d_keypoint/rtmpose/cocktail14/rtmw_cocktail14.md
  2. 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;
  3. I tried other images, the conclusion was same;
  4. I tried different “--kpt-thr” in "topdown_demo_with_mmdet.py" file, didn't help, hard to find the balance;
  5. Are the provided weights wrong or I should set some params? Thank you!

JokerCD avatar Jul 28 '25 09:07 JokerCD

Maybe related to this? https://github.com/Tau-J/rtmlib/issues/36

davidpagnon avatar Sep 26 '25 13:09 davidpagnon

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

simonetortorella avatar Oct 10 '25 07:10 simonetortorella