AI 인공지능/논문리뷰
[논문 리뷰] HRNet_Pose Estimation
에하유
2023. 8. 3. 16:33
HRNet : Deep High-Resolution Representation Learning for Human Pose Estimation
INDEX
1. Introduction
2. Related Work
3. Approach
- Sequential multi-resolution subnetworks
- Parallel multi-resolution subnetworks
- Repeated multi-scale fusion
- Heatmap estimation
- Repeated multi-scale fusion
4. Experiments
5. Conclusion and Future Works
Introduction
HRNet?
고해상도의 표현에 중점을 두고, human pose estimation의 과제를 다루고 있으며, 고해상도를 전체 과정동안 그대로 유지하면서 병렬적으로 forward하는 방식으로 진행하는게 가장 큰 특징인 모델
Related Work
이전 방식 Hourglass
-
High-to-low and low-to-high
- 고해상도→저해상도로 압축을 하고, 저해상도→고해상도로 복원을 하는 방식
- 키포인트는 마지막 고해상도에서 찾음 (직렬적인 시퀀셜한 구조)
-
이러한 직렬적인 구조는 한계점이 존재
- 압축하는 과정에서 정보 손실 발생
- 모든 프로세스가 up-sampling에 과도하게 의존
HRNET
- 병렬구조의 다양한 Scale(기존방식) + 크기가 동일한 Feature map 구성
: 근본적으로 scale에 변화를 주면서 다양한 resolution에서 정보를 추출하는 기존 방식의 원리를 사용하지만, 하나의 row에서 크기가 동일한 feature map을 구성하고 있음 - 4개의 stage로 구성
- 스테이지 1 : 하나의 레졸루션이 유지되고 쪼개지는 구조를 가짐
- 스테이지 2 : 기존 레졸루션을 유지하고, 다운샘플링해서 쪼개짐. 2개의 레졸루션이 유지되고 서로 퓨전을 시작
다운 샘플링 : 가로세로 2씩 나눠서 사이즈를 줄임 - 스테이지 3 : 3개의 스케일로 나눠짐
- 스테이지 4 : 4개의 레졸루션이 존재함. 마지막 부분엔 heatmap estimation이 적용
Approach
subnetworks
subnetworks (1) Sequential multi-resolution subnetworks
- 각 STAGE 별로 각각의 Stage number와 레졸루션 인덱스를 갖고 있음.
- Down sampling layer 가 존재하여 레졸루션을 반으로 줄임
subnetworks (2) Parallel multi-resolution subnetworks
- high-resolution subnetwork을 처음 stage로 시작하고 하나씩 추가한다.
-
•첫번째 스테이지 이후 두개 이상의 resolution index를 가지고 있음 멀티 레졸루션 multi-resolution subnetworks 를 병렬로 연결시킨다.
Repeated multi-scale fusion
Multi-Scale Fusion
- Resolution row간 정보를 주고 받는 방법이 multi-scale fusion 이다.
- multi-resolution 이미지들을 multiple networks로 분리하고 각 output resoponse map 들을 aggregate 한다.
- 다양한 scale을 반복적으로 fusion 하는 과정에서 Exchange unit을 사용
How Exchange unit aggregates the information
- Exchange Unit : 병렬 서브네트워크 간에 정보를 전달해주는 역할
- 그림은 exchage unit이 어떻게 하이 미디엄 로우의 각 레졸루션을 위해 정보를 aggregate 하는지 나타냄
- 서로 다른 resolution 정보를 합칠 때는 upsample과 down sample이 필요함.
- 레졸루션이 유지되면서도 작은 레졸루션이 정보가 높은 레졸루션으로 유입됨
- 파란색 네모가 upsampling 방법 1*1 컨볼루션 filter로 channel 수 를 정할 수 있으며, upsampling의 경우, Nearest Neighbor Upsampling 을 사용함
- Down-sampling 시에는 input image에 2stride 3*3 convolution을 사용하게 되고, 1/4 로 해상도를 감소시킴
- R을 빼고 sb만 앱실론으로 가져가서 인풋의 계산됫 값들이 각 아웃풋이 됨
- stage 4 에서 shape를 맞춰 준 후에 merge하며, 최종 prediction heat map을 얻음
Heatmap Estimation
- Stage 4 에서 Last exchange unit으로 부터 나온 최종 high resolution representations output으로 prediction heat map을 얻음
- Ground truth heatmap : 2d Gaussian
- Loss function : MSE
Network instantiation
- Hrnet : 4개의 stage, 4개의 parallel subnetwork을 지닌다.
- resolution ½ 될 때마다, width는 2배로 증가한다.
- stage1 : 4 residual units
- 총 8개의 exchange units과 8개의 multi-scale fusions으로 구성됨
- 각 units은 ResNet-50과 같이 width가 64인 Bottleneck과 함께 feature의 width를 C로 줄여주는 3x3 convolution 을 가진다.따라서 총 8개의 exchange units과 8개의 multi-scale fusions가 구성된다.
- stage2,3,4는 각각 1,4,3, exhange blocks를 가지고, 하나의 exchange block은 4개의 residual units(각 units은 2개의 3x3 convolutions 을 지닌다)과 exchange unit을 가진다.
논문 읽기 어렵다. pose estimation 하려고 찾아본 가장 베이직 논문