728x90
반응형

 

 

Paper : https://arxiv.org/pdf/2112.13635.pdf

Github : https://github.com/buptxyb666/AdaptivePose

 

GitHub - buptxyb666/AdaptivePose: This is an official implementation of our AAAI2022 paper“AdaptivePose: Human Parts as Adapti

This is an official implementation of our AAAI2022 paper“AdaptivePose: Human Parts as Adaptive Points” - GitHub - buptxyb666/AdaptivePose: This is an official implementation of our AAAI2022 paper“A...

github.com

 

 

 

이번에 리뷰할 논문은 AAAI 2022에서 소개된 "AdaptivePose : Human Parts as Adaptive Points" 라는 논문입니다. multi-person pose estimation 방법은 보통 bottom up 이나 top down 방식으로 진행이 되는데 이는 high computation cost 및 low efficiency를 갖는다고 지적하고 있으며, 이를 위해 compact 및 efficient pipeline을 제안합니다.

 

본 논문에서 pose를 human part를 point로 표현하고, human center를 포함하는 adaptive point set과 7개의 human-part related points를 사용하여 세분화된 방식으로 human instance를 표현하는 방식을 사용합니다. 이러한 representation은 다양한 포즈를 추정할 수 있고, long-range center-to-joint displacement를 적응적으로 factorize 할 수 있으므로 AdaptivePose라고 하는 signle-stage 미분 가능한 신경망을 제안합니다.

 

inference를 위해 제안된 신경망은 refinement 뿐만 아니라 grouping을 제거하고 multi-person pose를 위해 single-step disentangling process 만을 필요로 합니다. 본 논문에서 제안하는 방법은 COCO test-dev 데이터세트에서 DLA-34 백본을 사용하여 67.4% AP / 29.4fps 를 달성하고, HRNet-W48 백본을 사용하여 71.3% AP / 9.1fps의 SOTA를 달성한다고 합니다. 정확도 및 속도 둘 다 우월한 수치를 보여주네요. 

 

 

 

 

본 논문의 main contribution은 다음과 같습니다. 

 

  • human part를 point로 표현하고, human instance를 표현하기 위해 adaptive point set을 추가로 활용할 것을 제안, 이러한 representation은 various pose deformation을 더 잘 추정하게 되고, long-range center-to-joint offset을 daptively factorize 하는 fine-gained 및 adaptive body representation을 처음으로 제안함 
  • 이러한 novel representation을 기반으로 Adaptive-pose라는 compact single-stage differentiable network를 제안, 7개의 human part related points를 회귀하여 human part를 인식하는 novel Part Perception Module을 제안함. human part related points를 사용하여 human center를 정확하게 인식해내는 Enhanced Center-aware Branch와 long-rangle center-to-joint offset을 효과적으로 인수분해하는 Two-hop Regression Branch를 추가로 제안함. 
  • 이러한 방법은 multi-person pose estimation을 크게 단순화 시키고 SOTA를 달성함. 심지어 어떠한 refinement 및 post-processing도 없음. 

 

 

 

 

 

본 논문에서 제안하는 AdaptivePose 모델의 구성은 아래와 같습니다.

확실히 7개의 joint를 나타내는 새로운 representation이 효과가 있어 보입니다. 왜 7개 인지 궁금하네요. 

 

 

찾아봤더니 7개의 joint는 아래와 같습니다. 각 face, shoulder, left arm, right arm, hip, left leg, right leg 를 나타낸다고 합니다. 딱 필수 joint 만 모은 느낌이네요. 얼굴과 어깨는 하나로 합쳐놓았습니다. 

 

 

이러한 representation 방식은 다양한 변형이 생기고 구조화된 인간의 자세들을 미세하게 추정하고, 고정된 joint를 따라 전파되는 accumulated error를 방지한다고 합니다. 

 

 

 

 

 

아래 그림은 Part Perception Module을 설명해놓은 그림입니다. 빨간색 화살표 표시는 loss가 적용되는 위치라고 합니다. 

 

Part Perception Module은 novel representation을 바탕으로 인체의 고유한 구조에 따라 각 사람을 7개의 세분화 된 part로 나눕니다. 이 7개의 point를 예측하여 human part를 인지할 수 있도록 제안하게 됩니다. 각 part에 대해 explicit supervision 없이도 해당 부분을 나타내기 위해 자동으로 adaptive point를 regression 시킵니다. 그림 4에서 볼 수 있듯 feature $F_k$는 중ㅅ미에서 7개의 adaptive human part related points로 14 channel x-y offset을 regression 하기 위해 3x3 conv layer에 feed 됩니다. 이러한 adaptive point는 subsequent prediction에 사용되는 intermediate node가 됩니다. 

 

 

Enhanced Center-aware Branch에서 Loss 계산 시 Gaussian distribution을 사용하여 GT center heatmap을 생성합니다. 또한 Enhanced Center-aware Branch의 loss를 위해 pixel-wise focal loss를 도입하게 됩니다. pixel-wise 기반 focal loss에서 패널티는 아래와 같이 계산 됩니다. 

 

 

여기서 $N$은 positive sample 개수이고, $\bar{P}_c$ 및 $\bar{P}$은 predicted confidence score 및 corresponding GT를 나타냅니다. 또한 α 및 β 는 하이퍼파라미터이며, 2 및 4로 적용됩니다. joint를 나타내는 confidence 값에 focal loss를 적용하나봅니다. 

 

 

 

Two-hop Regression Branch

center-to-joint offsets을 직접 regression 하는 대신 displacement를 예측하기 위해 two-hop regression 방법을 사용합니다. 이러한 방식으로 Part Per-ception Module에서 에측한 point는 one-hop node로 작용하여 long-range center-to-joint offsets을 center-to-part 및 part-to-joint로 나눌 수 있게 됩니다. Enhanced Center-aware Branch와 유사하게 먼저 3x3 conv-relu 구조를 활용하여 $F_r$ Two-hop Regression Branch라는 branch-specific feature를 생성합니다. 그 다음 $F_r$을 separate deformable convolutions에 feed하여 각 human part에 대해 separate feature $F_{p}^{i}$를 생성하게 됩니다. 그 다음 feature $F_{p}^{i}$에 대해 warp 연산을 수행한 다음 adaptive point에서 feature vector를 추출합니다. 추출된 feature는 별도의 1x1 conv laer에 의해 해당 부분에 속하는 keypoint를 찾는 역할을 하게 됩니다. 예를 들어 $F_{face}$는 눈, 귀 및 코를 localization 하는데 사용하고, $F_{la}$는 왼쪽 손목과 왼쪽 팔꿈치를 localization 하는데 사용하게 됩니다. two hop regression branch는 x-y offset $\bar{off}$에 해당하는 34 channel tensor를 출력합니다. center를 17개의 keypoint로 지정하고 다음과 같이 two-hop 방식으로 regression 합니다. 

 

 

$\bar{off}_1$ 및 $\bar{off}_2$는 center에서 adaptive human-part related  point 까지의 offset을 나타냅니다. 예측된 offset $\bar{off}$은 $L1$ loss에 의해 학습되며, 이는 positive keypoint localization에서만 작동하고 다른 negative location은 무시됩니다. 손실 함수는 아래와 같습니다. 

 

 

$\bar{off}_{gt}^{n}$은 center에서 각 joint 까지의 GT offset을 나타냅니다. $K$는 positive keyopint location의 갯수 입니다. 

 

 

 

 

여기까지 최종 로스의 형태는 아래와 같습니다. 

 

성능은 아래와 같습니다. 

 

 

 

정리해보자면 본 논문의 특징은 아래와 같습니다. 

 

Simple

single-forward pass에서 human instance와 해당 keypoint 간의 관계를 효과적으로 모델링 할 수 있는 효율적이고 강력한 single-stage multi-person pose estimation pipeline 제안 

 

Generalizability

crowded 및 3D scene에서 성능이 좋음 

 

Fast

매우 컴팩트한 MPPE pipeline이며, heuristics grouping을 제거하고 center NMS를 제외하고 hand-crafted post-processing이 필요 없음 

 

Strong

다양한 human pose를 충분히 encode 하기 위해 adaptive human part-related point의 feature와 center feature를 사용하며, 속도 및 정확도 면에서 flip 및 multi-scale test 없이 기존 bottom-up 및 single stage estimation 방법들의 성능보다 좋음 

728x90
반응형