논문 리뷰

[HRNet] Deep High-Resolution Representation Learning for Visual Recognition 논문 리뷰

수수킴 2022. 2. 14.
 

Deep High-Resolution Representation Learning for Visual Recognition

High-resolution representations are essential for position-sensitive vision problems, such as human pose estimation, semantic segmentation, and object detection. Existing state-of-the-art frameworks first encode the input image as a low-resolution represen

arxiv.org

 

GitHub - HRNet/HRNet-Object-Detection: Object detection with multi-level representations generated from deep high-resolution rep

Object detection with multi-level representations generated from deep high-resolution representation learning (HRNetV2h). This is an official implementation for our TPAMI paper "Deep High-Reso...

github.com

Abstract

기존의 state-of-the-art framework들은 아래의 그림처럼 입력 이미지를 High Resolution 에서 Low Resolution으로 encoding한 이후, Low Resolution에서 High Resolution으로 복구한다. (e.g. ResNet, VGGNet)

하지만 High-Resolution Network (HRNet)은 모든 과정에서 High Resolution을 유지한다.

 

HRNet은 아래 두개의 특징이 있다.

  1. Connect the high-to-low resolution convolution streams in parallel
  2. Repeatedly exchange the information across resolutions

 이를 통해 우린 semantically richer, spatially more precise한 결과를 얻어낼 수 있다.

 

Introduction

HRNet은 아래 그림처럼 high-resolution convolution stream에서 시작하여, 점차적으로 high-to-low resolution convolution streams을 하나씩 추가하여 multi-resolution stream를 병렬적으로 연결한다.

결과적으로 nth stage는 n resolutions에 해당하는 n streams를 포함한다. 또한 병렬적으로 연결된 streams에서 정보를 반복적으로 교환함으로써 multi-resolution fusion을 수행한다.

 

HRNet에는 두가지 version이 있다.

  1. HRNetV1 : only outputs the high-resolution representation computed from the high-resolution convolution stream → apply to human pose estimation
  2. HRNetV2 : combines the representations from all the high-to-low resolution parallel streams → apply to semantic segmantation

COCO pose estimation에서는 HRNetV1, HRNetV2 모두 비슷한 성능을 보였고, semantic segmantation에서는 HRNetV2가 HRNet1보다 좋은 성능을 보였다. 

 

추가적으로 HRNetV2p는 multi-level representation으로 HRNetV2에서 나온 high-resolution representation output을 state-of-the-art detection frameworks (e.g. Faster R-CNN, Cascade R-CNN, FCOS, CenterNet), state-of-the-art joint detection and instance segmentation frameworks (e.g. Mask R-CNN, Cascade Mask R-CNN, Hyrbrid Task Cascade)에 적용한 모델이다.

 

High-Resolution Networks

1. Parallel Multi-Resolution Convolutions

High-resolution convolution stream을 1번째 stage로 시작한다. 이후 점차적으로 새로운 stage를 만들면서 high-to-low resolution strams를 하나씩 추가하여 multi-resolution streams를 병렬로 연결한다. 결과적으로, 다음 번째 stage의  resolution은 직전 stage의 resolution들을 포함한다.

2. Repeated Multi-Resolution Fusions

Fusion module의 목적은 multi-resolution representations에서 정보를 교환하기 위함이다. 이것은 여러번 반복된다. (e.g. 4 residual units 마다)

위의 그림처럼 3-resolution representations를 fusing하는 예를 살펴보자.

 

Input은 3개의 representations를 포함한다. (r : resolution index)

Output resolition은 아래와 같이 표현된다.

각 Output representation은 3개의 input들의 transformed representations의 합이다.

Stage에 걸친 Fusion(stage 3 ~ stage 4)은 아래와 같은 output을 갖게 된다.

Transform Function $f_{xr}(·)$은 input resolution index $x$와 output resolution index $r$과 종속적이다.

  • $x = r$인 경우, $f_{xr}(R) = R$
  • $x < r$인 경우, $f_{xr}(R)$은 input resolution $R$을 $(r-s)$ stride-2 3 X 3 convolutions를 통해 downsample
  • $x < r$인 경우, $f_{xr}(R)$은 input resolution $R$을 bilinear upsample (1 X 1 convolution for aligning the number of channels)

3. Representation Head

  1. HRNetV1 : output is the representation only from the high-resolution stream (Other three representations are ignored)
  2. HRNetV2 : rescale the low-resolution representations through bilinear upsampling without changing the number of channels to the high resolution, and concatenate the four representations, followed by 1 X 1 convolution to mix the four represantations
  3. HRNetV2p : construct multi-level representations by downsampling the high-representation output from HRNetV2 to multiple levels

4. Instantiation

위 그림을 예시로 들자면, Main Body는 4개의 stages들이 four parallel convolution streams로 구성되어있다. Resolution은 각각 1/4, 1/8, 1/16, 1/32이다.

 

첫번째 stage에서는 4개의 residual units을 포함한다. 각 unit들은 너비 64인 bottleneck으로 구성되어있다. 하나의 3 X 3 convolution은 특징맵의 너비를 C로 바꾼다.

두번째, 세번째, 4번째 stage는 각각 1, 4, 3 modularized blocks로 구성되어 있다. Modularized block의 Multi-resolution parallel convolution 안의 branch들은 각각 4개의 residual units들을 포함한다. 각  unit은 각 resolution에 대해 2개의 3 X 3 convolution을 포함한다. 각 convolution 이후 batch normalization과 nonlinear activation ReLU를 적용한다.

 

Convolution 결과 4개의 resolution의 너비 (채널수)는 C, 2C, 4C, 8C이다.

 

5. Analyze

Modularized block을 2개의 요소로 분석해보자 : Multi-resolution parallel convolutions, multi-resolution fusion

 

Multi-resolution parallel convolution은 group convolution과 유사하다. Multi-resolution parallel convolution은 input channels들을 서로 다른 spatial resolution을 가진 channel로 나눈 후 일반적인 convolution을 진행한다. 반면 group convolution에서의 resolution은 모두 같다. 이는 multi-resolution parallel convolution이 group convolution의 장점을 가질 수 있다는 것이다.

 

Multi-resolution fusion은 multi-branch full-connection form의 일반적인 convolution과 유사하다. Input channel, output channel 모두 여러 부분집합으로 나뉜다. 그리고 각 부분집합들은 fully-connected로 연결된 일반적인 convolution이다. Multi-resolution fusion은 각각 다른 resolution에 대해 처리를 해야한다는 점에서 multi-branch full-connection form의 일반적인 convolution과 다르다.

 

Results

1) Human Pose Estimation

[Dataset]

  • COCO - 200,000 images, 250,000 person instances labeled with 17 key-points
  • COCO train2017 - 57K images, 150K person instances
  • val2017 - 5000 images
  • test-dev2017 - 20K images

2) Semantic Segmentation

[Dataset]

  • Cityscapes - 5,000 high quality pixel-level finely annotated images (Training :  2,975/Validation : 500/testing : 1,525 images), 19 classes used for evaluation
  • PASCAL-Context - Training : 4,998 scene images/Testing : 5,105 imges, 59 semantic labels, 1 background label
  • LIP - 50,462 elaborately annotated human images (Training : 30,462/Validation : 10,000), 19 human part labels, 1 background label

3) COCO Object Detection

[Dataset]

  • MS COCO 2017 detection - Training : 118k images/Vaidation (val) : 5k images/Testing (test-dev) : ~20k images

 

댓글