본문 바로가기
DeepLearning/논문 리뷰

[논문 리뷰] Deep High-Resolution Representation Learning for Human Pose Estimation, HRNet

by Wanda 2022. 3. 12.

0. Abstract 

 생략

 

1. Introduction

- 2D human pose estimation은 중요한 문제이지만, 그러나 computer vision영역에서는 challenging problem이였다.

 

- 본 논문은 single-person pose estimation에 관심을 두고 있다. ( 이는 나중에 multi-person pose estimation의 기초가 된다!) 

 

- 대부분 존재하는 기법들은, 직렬(series)로 연결된 high-to-low resolution subnetworks를 통과하고, 그리고 해상도를 복구하는 방법을 이용한다.(ex. Figure2 - (a)Hourglass: 대칭적인 구조를 이용 ,(c) SimpleBaseline: transposed convolution layers를 이용하여 highresolution으로 복구,  )

 

- 예를들어, Hourglass의 경우는 대칭적인 구조를 사용하여  저해상도 이미지를 고해상도로 복구하고, SimpleBaseline의 경우 transposed convolution layers를 이용하여 고해상도로 복구한다. 게다가, dilated convolution을 이용하여high-to-low resolution network의 마지막 layer를 blow-up한다. (ex. VGGNet, ResNet)

 (FIgure2 (a) : Hourglass, (c) : SimpleBaseline, (d) : dilated convolution 이용 예시) 

 

 

- 본 논문에서는 우리는 전체 과정에서 고해상도 표현(high-resolution representations)을 유지할 수 있는 High-Resolution Net(HRNet)이라는 새로운 architecture를 제시한다.

 

- 본 논문에서는 high-resolution subnetwork를 first stage로 시작하여 점차 high-resolution subnetwork를 하나씩 추가하여 더 많은 단계를 형성한다. 그리고 그렇게 생성된 multi-resolution subnetworks병렬(parallel)하게 연결한다. 

 

 

- 본 논문에서는 해당 네트워크를 통과한 high-resolution representations를 이용하여 key-points를 추정한다고 한다. 

 

- 본 논문에서 제시한 network는 기존의 포즈 추정을 위해 널리 쓰이는 networks에 비교하여 2 가지 이점이 있다. 

 

 1) 본 모델은 직렬이 아닌 병렬로 high-to-low resolution subnetworks을 연결하였기 때문에, 기존의 방법처럼 low-to-high 과정을 통해서 resolution을 복구하는 것이 아니기 때문에, 예상되는 heatmap은 potentially 더욱 정교하다.

(Q. 원래 그럼 그냥 high-resolution으로 적용하면 되는게 아닌가?) 

 

대부분의 기존 융합 체계는 낮은 수준의 표현과 높은 수준의 표현을 종합한다. 대신, 우리는 동일한 깊이와 유사한 수준의 저해상도 표현의 도움을 받아 고해상도 표현을 활성화하기 위해 반복적인 다중 스케일 퓨전을 수행하며, 그 반대의 경우도 마찬가지이므로 고해상도 표현은 포즈 추정에도 풍부하다.

 

 

 2)  대부분 존재하는 융합 체계 (fusion scheme)은 low-level 과 high-level representations을 종합한다. (aggregate) 대신, 본 논문에서는 동일한 깊이와 유사한 수준에서 low-resolution representations의 도움을 받아 high-resolution representations를 활성화 하기 위해 반복적인 multi-scale fusion을 수행하며, 그 반대의 경우도 마찬가지이므로, high-resolution representations은 pose 추정에도 풍부하다.

 

--> 결과적으로, 본 논문에서 예측되는 heatmap은 잠재적으로 더욱 정확할 수 있게 된다.

 

2. Related Work 

 생략 

 

우리는 널리 채택된 파이프라인[40, 72, 11]을 따라 해상도를 감소시키는 두 개의 분할된 컨볼루션, 입력 특성 맵과 동일한 분해능으로 특징 맵을 출력하는 주요 본체 및 키포의 열 지도를 추정하는 회귀기로 구성된 컨볼루션 네트워크를 사용하여 인간 요점을 예측한다. 위치가 선택되고 최대 분해능으로 변환됩니다. 본체 설계에 초점을 맞추고 그림 1에 묘사된 고해상도 넷(HRNet)을 소개한다.
 
 

3. Approach

-  Human pose estimation,일명 keypoint detection은 크기가 W*H*3인 image I로부터 K개의 keypoints 혹은 부분들(e.g., elbow, wrist,..)의 위치를 탐지하는데 목적을 두고있다.

 

- 최근의 기법은, 이 문제를 크기 W*H, { H1, H2, ....., Hk}의 K heatmaps의 추정으로 변환한다.

 

- 본 논문에서는 널리 보급된 pipeline인(Fig2, (a), (b), (c))를 따라 human keypoints를 예측하기 하는데, 이는  해상도를 감소시키는 두 개의 strided convolutions, input feature maps와 같은 해상도인 feature maps를 결과로 내는 main body, 그리고 어떤 keypoint positions이 선택 되고 full resolution(전체 해상도)로 변환되는 heatmaps을 추정하는 regressor가 존재하는 줄기로 구성되어 있다.  (Fig 1.)

 


 
 

 

* Sequential multi-resolution subnetworks

 

- pose estimation에 존재하는 networks은 high-to-low resolution subnetworks를 직렬로 연결하여 구축되며, 여기서 스테이지를 구성하는 각 하위 네트워크(subnetwork)는 일련의 convolutions으로 구성되며 인접한 subnetwork에 걸쳐 downsampling layer가 있어 해상도를 절반으로 낮춘다. 

* parallel multi-resolution subnetworks

우리는 첫 번째 단계(first stage) 로 high-resolution subnetwork 에서 시작하여 점차 high-to-low subnetwork를 하나씩 추가하여 새로운 단계를 형성하고 multi-resolution subnetworks를 병렬로 연결한다. 결과적으로, later stage의 parallel subnetwork에 대한 해상도는 이전 단계의 해상도(resolution)와 추가로 낮은 해상도(lower resolution)로 구성된다.
 

 

* Repeated multi-scale fusion

 

- 본 논문에서는 병렬의 subnetworks를 가로지르는 exchange units를 이용하여, 각 서브 네트워크는 반복적(reapeatedly)으로 다른 병렬 서브 네트워크로부터 정보를 수신한다.

 

 

* Exchange unite

- downsampling : 3*3 convolution, stride 2을 통해 진행하였다. 

- upsampling  : nearest neighbor sampling following a 1*1 convolution for aligning the number of channels

 

* Heatmap estimation

 

- 실험적으로 마지막 exhange unit 후의 high-representations output으로부터 heatmap을 역행하였다. l

 

- loss function은 mean squeared error를 이용하였는데, 이는 groundtruth heatmap과 predicted heatmaps을 비교할때 적용되었다. 

 

- ground truth heatmaps은 grouptruth(진짜 이렇게 적혀있음 근데 뭔지 모르겠음..) 위치를 중심으로 표준 편차가 1pixel인 2D Gaussian을 적용하여 생성된다. 

 

* Network instantiation

 

- HRNet, contains four stages with four parallel subnetworks, whose resolution is gradually decreased to a half, and accordingly, the width (the number of channels) is increased to double.

 

 

4. Experiments

 

4.1 COCO Keypoint Detection

 

Dataset.

 

- train : COCO train2017 dataset, including 57K images and 150 person instances

 

- evaluate : val2017 set and test-dev2017 set, containing 5000 images and 20K images, respectively

 

Evaluation metric.

 

- object Keypoint Similarity (OKS) 

- AP50 ( AP at OKS = 0.50)

- AP75, 

- AP ( the mean of AP scores at 10 positions, OKS = 0.50, 0.55, .....0.90, 0.95)

- AP(M) : for medium objects

- AP(L) : for large objects

- AR at OKS = 0.50,0.55,...,0.90,0.955

 

Training

 

- width : height = 4:3 ( human detection box)

- size : crop the box from the image, which is resized to a fixed size,256*192, 384*288

- augmentation : random rotation([-45,45]), random scale, flipping

* half-body data augmentation is al involved

 

Test

- two stage

1) detect the person instance using a person detector : provided by Simple-Baseline

2) predict detection keypoints