본문 바로가기

머신러닝/Human Action Recognition

[논문 리뷰] A Review on Human Pose Estimation (2021)

반응형

human pose estimation에 대한 리뷰 논문의 리뷰(?)입니다.

저는 human pose estimation 중에서도 딥러닝을 이용한 body pose estimation에 관심이 있습니다.

따라서 body 위주의 내용을 다루려고 합니다.

 논문 링크 : https://arxiv.org/abs/2110.06877

 

A Review on Human Pose Estimation

The phenomenon of Human Pose Estimation (HPE) is a problem that has been explored over the years, particularly in computer vision. But what exactly is it? To answer this, the concept of a pose must first be understood. Pose can be defined as the arrangemen

arxiv.org


1. Introduction to Human Pose Estimation (HPE)

body/hand/face

Pose란?

사람의 관절을 특정 방식으로 배치한 것

-> 따라서 HPE는 이미지나 영상에서 사람의 관절이나 미리 정의된 랜드마크의 localization 문제라고 볼 수 있음

 

Human Pose Estimation는 여러가지 종류가 있음

  • body
  • face
  • hand

2. Deep learning in HPE and What was done before

(1) Classical Approaches to HPE

Pictorial Structures Model

body part를 spatial correlation으로 모델링함

  • 트리구조의 그래프 모델로 표현
  • 관절의 위치를 예측하기 위함
  • spatial connection은 스프링을 이용해 표현됨

[문제점]

  • 보이지 않는 신체 일부 간 상관 관계를 알 수가 없는 문제가 있음
  • 즉, 사람의 팔 다리가 보이지 않으면 에러를 보이는 경향이 있음

Flexible Mixture-of Parts ( FMP)

템플릿을 사용해 보이지 않는 신체를 매칭함

  • 각 모델은 global, part templates이 있음
  • 작고 방향이 없는 부분의 조합으로 만듦
  • viewpoint에 따라 limb가 어떻게 보이고 변하는지를 확인할 수 있음
  • dp를 사용해 similar warp 간 계산을 빠르고 효율적으로 함

(2) Deep Learning in Convolutional Pose Machine

Convolutional Pose Machine (CPM)

  • 최초의 딥러닝 기반 pose estimation 모델
  • multi class predictor 각 계층에서 각 part의 location을 예측하도록 학습된 multi class predictor
  • sequential prediction 프레임워크는 이전 단계의 belief map에 대해 더 큰 receptive field를 사용
  • vanishing gradient 문제는 각 단계 직후 supervision으로 해결함
  • CPM 의 첫번째 단계에서 7층의 CNN을 사용한 local image evidence 만을 이용해 part belief를 예측함
  • 위 단계로부터의 belief map은 input data에 추가됨
  • 이후 단계에서는 effective receptive field가 정확도를 높임

-> 그래프 모델로의 추론 없이도 image feature와 image dependent spatial model을 학습할 수 있게 함 


3. Accuracy and Metrics

(1) Definition of Accuracy and Concept of Metrics

HPE 성능을 평가할 때 고려해야할 것들이 다양하기 때문에 다양한 평가 지표가 존재함


(2) Different Metrics Used in HPE

Intersection Over Union (IOU)

  • GT와 predicted bounding box 간 차이 계산
  • 보통 0.5 이하면 없앰

Percentage of Correct Parts (PCP) and Percentage of Detected Joints(PDJ)

PCP

  • 요즘은 잘 쓰이진 않음
  • limb에 대한 localization accuracy을 계산하기 위함
  • predicted joint 와 GT joint 사이의 거리가 limb length의 특정 비율보다 작은지 판단
  • 높은 PCP measure는 높은 성능을 의미함
  • short length의 limb 에서 정확하지 않기 때문에  PDJ가 만들어짐

PDJ

  • PCP와 같은 logic
  • torso diameter를 이용함
  • threshold에 대한 모든 관절을 결정하는 accuracy를 의미함
+ torso diameter)
The torso diameter is defined as the distance between left shoulder and right hip of each ground-truth pose

 

 

Percentage of Correct Keypoints (PCK)

  • 특정 threshold 내의 다양한 keypoint의 localization accuracy를 측정하기 위함
  • 머리 길이의 50%로 설정됨
  • PCK 값이 클수록 좋은 성능을 의미함

Average Precistion (AP)

total positive result에 대한 TP 비율 (TP/ (TP +FP)) 

모든 recall value에 대한 precision 평균

  • Mean Average Precision (MAP)
    • 모든 class의 평균 precision에 대한 평균

Average Recall (AR)

GT positive에 대한 TP 비율 

모든 recall value에 대한 recall 평균

  • Mean Average Recall(MAR)
    • 모든 class의 평균 recall에 대한 평균

Object Keypoint Similarity (OKS)

  • 모든 object keypoint 간 평균 keypoint similarity
  • subject의 scale과 gt와 predticted keypoint 간 거리에 따라 계산함
  • AP, AR을 계산하는데 도움이 됨

Mean Per Joint Error (MPJPE)

  • 3D HPE에서 가장 많이 쓰이는 지표
  • 측정된 3D joint와 gt position 간 Euclidean Distance를 계산함

4. Standards and Categorization for HPE

(1) Table of Standards

HPE에서 Standard는 landmark의 개수를 의미함 (localize되어야 하는 관절의 수나 미리 정의된 landmark)

이 개수는 방법에 따라 다양하게 정의됨

HPE 별 landmark 개수

face의 경우 대부분 68개의 landmark 사용 (실험적으로 68개 이외에는 성공적이지 못했음)

단 MediaPipe Face Mesh의 경우 468개 이기도 함

 

마찬가지로 hand의 경우에도 대부분 21개 사용 (마찬가지로 21개 이외에는 성공적이지 못했음)

a,b : body landmarks( 33개, 18개) / c,d : face landmarks(468개, 68개)


(2) Categorization for HPE

HPE에서 categorization은 해상도와 landmark의 개수로 정할 수 있음

 

First Category : low resolution with up to 30 landmarks

  • 매칭해야 할 landmark가 많지 않다면, 낮은 해상도로도 충분함
  • 20개의 landmark 정도로 적은 body estimation에 주로 해당됨
  • + occlusion과 complex pose의 문제는 큰 receptive field로 해결할 수 있으므로 높은 해상도가 필요하지 않음

 

Second Category : high resolution for dense poses

  • 30개 이상의 landmark의 경우, 정확한 localization을 위해 높은 해상도가 필요함
  • face와 hand estimation이 해당됨

5. Datasets used in HPE

논문에서는 Body, Face, Hand로 나누어 설명하고 있지만,

관심이 있는 Body pose estimation를 집중적으로 소개하겠습니다.

(1) Body Datasets

COCO

  • multi-person 2D body dataset으로 가장 많이 쓰임
  • 200k의 17개 까지의 keypoint가 라벨링 된 people 이미지
  • HPE를 위한 두 가지 버전이 있음
    • 2016 / 2017 COCO keypoints
    • train/val/test의 분리 여부 차이

MPII

  • single person 2D body dataset
  • 16개 까지의 joint가 annotation된 40k명의 사람을 포함한 25k개의 이미지
  • 410개의 라벨링 된 human activity도 있음
  • YouTube 영상에서 얻음
  • + body part occlusion, 3D torso, head orientation 같은 advanced annotation도 라벨링 되어있음
  • 2014년에 만들어짐

AI Challenger Human keypoint Detection

  • 2D body dataset
  • 2D 중 가장 큰 dataset
  • 14개의 keypoint가 annotation 되어있는 300k개의 고화질 이미지
  • 600k개의 testing 이미지
  • internet search engine에서 얻음
  • MPII와 유사하게, 다양한 자세의 daily activity에 대한 dataset
  • + zero-shot recognition 기반의 attribute가 있고 chinese captioning이 있음
  • 2017년에 만들어짐

PoseTrack

  • multi-person 2D video based body dataset
  • 약 1356개의 video sequence, 46k개의 annotated frame, 276k개의 body pose annotation
  • 사람마다 unique track ID를 제공함
  • 15개의 keypoint
  • 2017년에 만들어짐

Human3.6M

  • 3D body dataset
  • 가장 유명하고 가장 큰 indoor dataset
  • 11명의 전문 배우가 17 가지의 행동을 4가지 view에서 수행
  • 24개의 keypoint

(2) Face Datasets

  • 300W
  • AFLW
  • MERL-RAV
  • COFW
  • WFLW

(3) Hand Datatsets

  • BigHand2.2M
  • GANerated Hand Dataset
  • NYU Hand Dataset
  • HandNet Dataset

(4) Whole Body Datasets

  • COCO-WholeBody

6. 2D vs 3D HPE

이 장에서는 2D, 3D 별 face, hand, body 논문과 github 레포지토리를 표로 정리해놓았습니다.

논문을 참고하시면 좋을 것 같습니다.


7. Pose Estimation on Images and Videos

이 장에서는 input이 single image인 경우, video인 경우의 논문과 github 레포지토리를 표로 정리해놓았습니다.

마찬가지로 논문을 참고하시면 좋을 것 같습니다.


리뷰 논문을 통해서 pose estimation의 전반적인 내용을 살펴보았습니다.

관심있는 분야인 body pose estimation을 중심으로 읽어보았는데요, 저는 그 중에서도 흥미가 있는 video 기반의 연구에 대해 좀 더 알아보려고 합니다. 😊

반응형