Towards Accurate Multi-person Pose Estimation in the Wild

google
cvpr2017
2017
pose-estimation
cvpr

#1

Faster R-CNN 과 유사한 아키텍쳐로 Pose Estimation을 하는 방식을 제안합니다. 이후에 유사한 아키텍쳐를 비디오로 확장한 버전이 아래입니다.

큰 구조는, 이미지 내에서 사람을 찾고 각 사람의 Key point를 찾는 네트워크를 반복해서 수행하는 형태입니다. Key-point based NMS를 사용한 점도 의미있습니다.

#coco Dataset에서 2016년에 1위한 Openpose 성능을 넘었습니다.

Architecture

Faster RCNN 의 형태로, RPN을 통해 대략적인 사람의 위치를 얻습니다. 이후에 각 사람의 위치에 대해서 Keypoint를 뽑아내는 네트워크를 추가적으로 수행합니다. 이 부분은 Detect and Track 에서 더 자세하게 설명해두었습니다.

Offset Estimation

각 관절의 정확한 위치를 파악하기 위해서 조금 특별하게 설계를 했습니다. 기존에는 HeatMap에서 Local Maxima를 찾는 형태였는데, 이렇게 되면 HeatMap의 Resolution이 인풋에 비해서 낮기 때문에, 아무래도 offset의 위치가 아주 정확하지는 않게 돱니다.

이 논문에서는 Offset Field라는 개념을 추가했습니다.

관절 포인트 중심으로 일정 거리 내에 있는 곳에서 관절포인트를 가리키는 벡터를 학습하게 하고, 아래의 수식으로 Voting 형태로 정확한 값을 얻습니다.

G는 Bilinear Operation이고, h는 heatmap에서 얻은 score로, 점수 가중치를 주어 Voting하는 형태입니다.

위 그림처럼, Heatmap과 Offset Field를 합쳐서 최종적인 Activation Map을 얻게 됩니다.

Loss

Heatmap의 경우에는 일반적인 것과 유사하게 sigmoid cross entropy 입니다. Offset Field는 Huber robust Loss를 사용했습니다.

주 Output을 Weighted Sum(4:1)하는 것이 최종 Loss입니다.

NMS : Non-Maximum Suppression

Human Detection에는 IOU-NMS를 그대로 사용했지만, 최종 Human Instance들에 대해서는 OKS 점수를 가지고 NMS를 계산하도록 하는 방식을 사용했다고 합니다.

Results

기존 OpenPose 대비, 개선이 많이 되었는데, 이는 주로 많은 사람들이 등장하는 scene에 대해 퍼포먼스가 올라간 결과라고 합니다. COCO+int 는 internally 더 추가한 데이터셋을 의미합니다.

GT Human Box를 사용했을 때와 비교해보아도, Key point Regression 부분의 성능이 매우 나쁘지 않은 것 같습니다.


'Human Pose Estimation' 카테고리의 설명
PersonLab: Person Pose Estimation and Instance Segmentation with a Bottom-Up, Part-Based, Geometric Embedding Model