Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SimCC: a Simple Coordinate Classification Perspective for Human Pose Estimation #4

Open
eehoeskrap opened this issue Feb 19, 2023 · 3 comments
Labels
2022 Year ECCV European Conference on Computer Vision HPE

Comments

@eehoeskrap
Copy link
Owner

eehoeskrap commented Feb 19, 2023

Paper : https://arxiv.org/abs/2107.03332
GitHub : https://github.com/leeyegy/SimCC

Introduction

오늘 읽어볼 논문은 ECCV 2022에 소개된 SimCC라는 논문입니다. 구 버전 이름은 SimDR라고 하네요. ㅎㅎ 이 논문의 깃허브에 들어가보면 "Is 2D Heatmap Even Necessary for Human Pose Estimation?" 라고 써있는데요, 2D heatmap 기반 접근 방법의 quantization error로 인한 문제들을 지적하고 있습니다. 관련된 문제는 아래와 같습니다.

1. low-resolution input에 대한 성능이 제한됨
2. localization 정확도를 높이기 위해 feature map의 resolution을 개선하려면 비용이 많이 드는 upsampling layer가 필요함
3. quantization 오류를 줄이기 위한 후처리가 필요함

이러한 문제를 해결하기 위해 본 논문에서는 horizontal 및 vertical coordinate에 대한 two classification으로 포즈를 추정하는 방법을 제안합니다. 좌표에 대한 직접적인 regression이 아닌 2가지 방향의 좌표에 대한 classification으로 접근한게 신기하네요. 제안된 SimCC는 각 픽셀을 여러 bin으로 균일하게 분할하여 하위 픽셀의 정확도와 낮은 양자화 오류 결과를 달성하게 됩니다. 이러한 방법은 추가적인 refinement post-processing이 필요 없고, upsampling layer가 필요 없으므로 HPE를 위한 간단하고, 효과적인 파이프라인을 만들 수 있다고 합니다.

아래 그림은 2D or 1D heatmap 기반 방법과 본 논문에서 제안하는 SimCC의 방법을 비교해 놓은 그림입니다.

Main contribution

1. SimCC라는 coordinate classification pipeline을 제안, 기존 CNN 기반 및 Transformer 기반 HPE 모델에 쉽게 적용 가능
2. heatmap 기반 방법에서 리소스가 많이 드는 upsampling 및 post-processing을 생략하여 높은 효율성 달성
3. COCO, CrowdPose 및 MPII 데이터세트에 대한 실험을 수행하여 효율성 검증 완료

Method

SimCC는 CNN 또는 Transformer 기반 backbone을 통해 n개의 keypoint representation을 추출합니다. CNN기반 backbone의 경우 subsequent classification을 위해 추출된 keypoint representation을 $n, H, W$ 에서 $(n, H \times W)$ 으로 평면화 시킵니다. 그 다음 horizontal 및 vertical 축에 대한 coordinate classification을 독립적으로 수행하여 최종 예측을 산출하게 됩니다. 입력으로 i 번째 keypoint가 주어지면 horizontal and vertical coordinate classifiers는 각 i 번째 keypoint 예측을 생성하고, 각 픽셀을 여러 bin으로 균일하게 분할하게 됩니다. 이 때 Loss는 Kullback–Leibler divergence를 씁니다. 또한 성능을 향상 시키기 위해 Gaussian label smoothing을 사용합니다.

Comparisons to 2D heatmap-based approaches

본 논문에서 다른 2D heatmap 기반 방법과 비교했을 때 다른점은 다음과 같습니다.

  • Quantization error : high-resolution two-dimensional structure를 얻거나 유지하는 계산 비용으로 인해 2D Heatmap 방법은 λ× downscaled input resolution로 feature map을 출력하는 경향이 있어 Quantization error가 크게 증가합니다. 반대로 SimCC는 각 픽셀을 k개의 bin으로 균일하게 분할하여 계산하기 때문에 Quantization error를 줄일 수 있습니다.
  • Refinement post-processing : heatmap 기반 방식들은 post-processing에 상당히 의존적입니다. 이러한 방식들은 post-processing을 사용하지 않게 되면 성능이 크게 떨어지는 단점이 있습니다. 또한 이러한 계산 방식은 상당히 계산 비용이 많이 들게 됩니다.
  • Low/high resolution robustness : 다양한 입력 크기에서 heatmap 기반 방법보다 쉽게 성능이 우수합니다.
  • Speed : upsampling layer를 제거한 후 SimCC를 사용하는 SimpleBaseline-Res50은 57.3%의 GFLOP를 줄이고, 23.5%의 속도를 향상시키며, heatmap 기반 방식에 비해 +0.4AP를 얻습니다.

Experiments
본 논문에서는 COCO, CrowdPose, MPII에서 실험을 수행했으며 evaluation metric은 OKS(Object Keypoint Similarity)를 사용하였습니다. 실험결과는 다음과 같습니다. heatmap 기반 방식은 post-processing이 없으면 성능이 크게 하락하는 것을 볼 수 있습니다. post-processing이 없이 비교하면 성능이 거의 많게는 2배 정도까지 차이나는 걸 볼 수 있습니다.

full version : https://eehoeskrap.tistory.com/688

@eehoeskrap eehoeskrap added 2022 Year HPE ECCV European Conference on Computer Vision labels Feb 19, 2023
@eehoeskrap
Copy link
Owner Author

simCC는 이런 느낌입니다.

image

최근 mmpose에서도 시도중입니다. open-mmlab/mmpose#1971

image

@eehoeskrap
Copy link
Owner Author

strong-then-weak two-stage augmentation 전략으로 인해 성능이 70.7% -> 71.0% 밖에 안올라보이는데, COCO 데이터세트라 그런 듯. 실제 데이터 분포와 가깝게 학습하고, COCO가 아닌 실제 데이터에서 테스트한다면 더 높은 폭의 성능 향상이 있을듯.

@eehoeskrap
Copy link
Owner Author

참고
RTMPose: Real-Time Multi-Person Pose Estimation based on MMPose
MMPose 에서 SimCC 방법 기반으로 Real-Time Multi Person Pose Estimation 한 방법

Paper : https://arxiv.org/pdf/2303.07399v1.pdf
GitHub : https://github.com/open-mmlab/mmpose/tree/1.x/projects/rtmpose
Paper Review : https://eehoeskrap.tistory.com/696

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2022 Year ECCV European Conference on Computer Vision HPE
Projects
None yet
Development

No branches or pull requests

1 participant