eehoeskrap / PaperReview

꾸준희의 꾸준하게 논문 읽기 프로젝트 ✨
8 stars 0 forks source link

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

Open eehoeskrap opened 1 year ago

eehoeskrap commented 1 year ago

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에 대한 성능이 제한됨

  1. localization 정확도를 높이기 위해 feature map의 resolution을 개선하려면 비용이 많이 드는 upsampling layer가 필요함
  2. 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 기반 방법과 비교했을 때 다른점은 다음과 같습니다.

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

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

eehoeskrap commented 1 year ago

simCC는 이런 느낌입니다.

image

최근 mmpose에서도 시도중입니다. https://github.com/open-mmlab/mmpose/pull/1971

image

eehoeskrap commented 1 year ago

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

eehoeskrap commented 1 year ago

참고 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