성장通

[Paper Review] RefineNet: Multi-Path Refinement Networks for High-Resolution Semantic Segmentation (Lin et al., 2017) 본문

리뷰/논문 리뷰

[Paper Review] RefineNet: Multi-Path Refinement Networks for High-Resolution Semantic Segmentation (Lin et al., 2017)

백악기작은펭귄 2022. 7. 29. 10:45

RefineNet: Multi-Path Refinement Networks for High-Resolution Semantic Segmentation

Guosheng Lin, Anton Milan, Chunhua Shen, Ian Reid; Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017, pp. 1925-1934

 

Abstract

지금까지 리뷰한 논문들은 성공적인 Semantic Segmentation을 위해 이미지 처리의 자타공인 강자, CNNs를 수정한 구조들을 제시하였다. 기본적인 CNN은 층을 거칠수록 resolution이 낮아진다는 문제를 해결하기 위해 Upsampling이나 Dilated Convolution 같은 기법들을 사용한 것이 이전 리뷰 논문들이었다.

 

하지만 이러한 방법에도 문제가 있었다. Upsampling에 의존하는 경우(FCN 등) 너무 단순한 복원 구조로 인해 이미 손실된 정보를 되살리기 어려웠고, Dilated Convolution 등을 이용해 Resolution 자체의 감소를 줄이려는 시도의 경우(DeepLab, DilatedNet 등) 중간 layer에서의 feature들을 모두 기억해야 해서 상대적으로 많은 메모리 소모를 야기하였다.

 

이러한 문제점을 해결하고자, 해당 논문의 저자들은 long-range residual connection을 이용해 Down-sampling 단계에서 얻어지는 정보를 모두 활용하는 generic multi-path refinement network인 RefineNet을 제안했다.

 

해당 구조는 PASCAL VOC 2012 데이터셋에 대하여 IoU 83.4를 기록하며 당시 최고 기록을 달성하였다.

 

Multi-Path Refinement

저자들은 Potentially long-range connections를 통한 정보와 다양한 resolution 레벨에서 얻어진 정보를 동화시키기 위해 새로운 프레임워크를 제시하였다. 이것을 Multi-Path Refinement라고 하는데, 가능한 구조의 예시는 다음과 같다.

 

 

RefineNet은 high-resolution semantic feature map을 생성하기 위해 coarse high-level semantic features부터 finger-grained low-level features 까지를 융합시키기 위한 일반화된 방법론을 제시한다.

 

저자들은 기본적인 Multi-path architecture를 구축하기 위해 먼저 ImageNet 데이터셋으로 pre-trained 된 ResNet을 feature map의 resolution에 따라 4개의 block으로 나누고 각 block에 대해 RefineNet unit을 cascading 시켰다. ResNet의 output은 해당 block에 cascading 되어 있는 RefineNet에 직접적으로 입력되며, 앞선 RefineNet의 결과 또한 입력으로 받게 된다.

 

여기서 주목할 점은, 위와 같은 구조는 기본 프레임일 뿐이라는 것이다. 해당 구조는 굉장히 flexible 하기 때문에 목적에 따라 variation을 다양하게 줄 수 있다는 장점을 가진다. 다음은 2-scale ResNet에 4개의 RefineNet을 cascading 한 구조이다.

 

 

해당 구조는 ResNet block과 RefineNet module 사이 long-range residual connections를 제시했다는 점에서 의의가 있다. 순전파 중에는 이러한 long-range residual connections가 coarse high-level feature map을 refine 하기 위해 low-level feature를 전달하고, 학습 단계에서는 앞쪽 합성곱 층으로의 direct gradient propagation을 수행하여 End-to-End 학습이 가능하다.

 

RefineNet

Multi-path refinement 네트워크의 전체적인 구조는 다음과 같다.

 

 

위 그림에서 알 수 있듯이, RefineNet은 크게 4단계, 즉 Adaptive Convolution, Multi-resolution Fusion, Chained Residual Pooling, 그리고 Output Convolution으로 이루어진다.

 

각 단계가 어떻게 구성되는지 알아보도록 하자.

 

1) Adaptive Convolution

RefineNet block의 첫 부분으로, pre-trained ResNet을 목적에 맞게 fine-tuning 하는 부분이다. 이를 위해, 각 input path는 기존 ResNet에 있는 합성곱 unit의 단순화된 버전(batch-nomalization 층 제거)인 RCU(Residual Convolution Unit)을 통해 순차적으로 전달된다.

 

 

2) Multi-resolution Fusion

모든 path로부터의 입력은 Multi-resolution fusion block에 의해 high-resolution feature map으로 통합된다. 해당 블록은 먼저 입력값 중 가장 작은 차원으로 feature map을 생성한다. 이때 input 값에 대해 합성곱이 적용되며, 이렇게 만들어진 결괏값은 입력값 중 가장 큰 차원으로 Upsampling 된다. 이처럼 서로 다른 차원의 입력값에 대해 같은 차원의 feature map을 생성하는 과정을 Identity mapping이라고 하며, 이로 인해 RefineNet은 End-to-End 학습이 가능하다.

 

마지막으로 이 feature map들을 summation을 통합하는 것으로 해당 블록의 작업이 종료된다. 이러한 과정은 다양한 레벨의 resolution으로부터의 정보를 적절히 잘 취합할 수 있도록 한다.

 

 

만약 input path가 한 개인 경우 해당 value는 변환 없이 블록을 통과하게 된다.

 

3) Chained residual pooling

앞에서 출력된 output feature map은 Chained residual pooling block을 통과하게 된다. 해당 블록은 large image region으로부터 background context를 capture 하기 위해 제안된 것으로, multiple window size로 feature를 추출하는 작업을 효율적으로 수행할 수 있으며 학습 가능한 가중치를 이용해 이들을 적절하게 통합할 수 있다.

 

 

위 그림처럼, 다중 풀링 블록의 연쇄로 이루어져 있으며, 각 풀링 블록은 한 개의 max pooling 층과 한 개의 합성곱 층으로 이루어져 있다. 이 덕분에 다음 단계의 pooling block은 large region에 대한 별도의 처리 없이 이전 블록의 결과를 사용할 수 있다. 각 단계의 결과는 residual connection의 summation 연산으로 결과를 출력하게 된다.

 

4) Output convolutions

RefineNet block의 마지막 단계는 또 다른 RCU이다. 여기서의 목표는 feature를 생성하기 위한 multi-path fused feature map에 non-linearity operation을 적용하는 것이다. 이때 feature dimension은 변화하지 않는다.

 

Results

논문의 저자들은 7개의 데이터셋을 이용해 SOTA 모델과의 비교를 진행하였다. 결과부터 말하자면, 모든 데이터셋과 task에 대하여 기존 SOTA를 능가하는 성능을 보여주었다.

 

1) Person-Part

Person-Part 데이터셋은 인체 여섯 부분(Head, Torso, Upper/Lower Arms, Upper/Lower Legs)에 대한 pixel-level의 label을 제공한다. 모델은 1,717장의 이미지로 학습되었고 1,818장의 이미지로 테스트되었다.

 

 

해당 논문에서 제안된 구조인 RefineNet은 SOTA 모델인 DeepLabv1과 DeepLabv2를 모두 큰 차이로 압도했다.

 

2) NYUD-v2

해당 데이터셋은 40개의 클래스를 가지는 1,449장의 RGB-D 실내 이미지로 이루어져 있다. 학습 세트로 795장, 검증 세트로 654장의 이미지를 사용했으며, Depth 여부에 따른 두 경우 모두에서 기존 SOTA를 압도하였다.

 

 

3) PASCAL-VOC 2012

Semantic Segmentation에서 가장 많이 사용되는 벤치마크 중 하나인 PASCAL-VOC 2012에 대한 실험 또한 진행하였다. 해당 데이터셋은 20개의 object category와 1개의 background class를 가진다. 학습, 검증, 실험을 각각 1,464, 1,449, 1,456장으로 나누어 실험을 진행하였고, FCN-8s, DeconvNet, CRF-RNN과 DeepLab 등 앞서 리뷰한 모든 모델들의 성능을 압도하였다.

 

 

4) Cityscapes

해당 데이터셋은 50개 유럽 국가의 거리 이미지로 이루어져 있다. 길, 차, 행인, 자전거, 하늘 등 다양한 클래스에 대해 fine-grained pixel-level의 annotation을 제공한다. 2,975장의 학습 데이터와 500장의 검증 데이터로 이루어져 있으며 해당 논문에서는 19개 클래스에 대하여 모델 학습을 하였다. 해당 데이터셋에 대해서도 기존 SOTA를 모두 능가하는 성능을 보였다.

 

 

5) PASCAL-Context

해당 데이터셋은 PASCAL-VOC 이미지에 대한 whole-scene segmentation labels를 제공한다. 총 60개의 클래스와 1개의 배경을 가지며 학습 세트는 4,998장, 검증 세트는 5,105장이다. 여기서도 역시나, 기존 SOTA들을 능가하였다.

 

 

6) SUN-RGBD

37개 클래스로 구성된 pixel labeled 실내 RGB-D 이미지 10,000장으로 이루어져 있는 데이터셋이다. Depth를 학습에 고려하지 않은 결과 RefineNet은 또한 기존 모델을 압도하였다.

 

 

7) ADE20K MIT

20,000장 이상의 이미지로 이루어진 대용량 scene parsing 데이터셋이다. 사람, 차, 하늘 등 다양한 개체들로 이루어진 150개의 클래스를 가지며 충분한 양적 검증을 위해 2,000장의 검증 데이터셋을 제공한다. 역시나 RefineNet의 성능이 가장 좋았으며, 심지어는 SegNet과 DilatedNet의 cascaded 버전의 성능 또한 뛰어넘었다.

 

 

Conclusion

해당 논문에서 제안된 구조인 RefineNet은 Refine Block을 통해 multiple level에서의 features를 합쳐 high resolution segmentation map을 생성했다. 또한 long & short range connection을 통해 backpropagation을 쉽게 만들어 손쉬운 End-to-End 학습을 구현해냈다는 점도 주목할만하다. Chained residual pooling을 통해 더 큰 receptive field를 수용해 global 한 시야를 가질 수 있게 하였으며 최종적으로 7개 데이터셋 모두에서 당시 SOTA였던 DeepLabv2를 누르고 SOTA를 달성했다.

 

ResNet 구조와 RefineNet 구조의 Cascaded architecture를 통해 효율적인 feature fusion을 실현했다는 점이 핵심이며, Identity mapping의 개념을 도입해 backpropagation & End-to-End 학습을 가능케 한 점 또한 포인트이다.

 

성능도 좋고 확장성 또한 뛰어난 모델인지라 상당히 즐겁게 읽을 수 있었던 것 같다.

 

다음 논문으로는 Semantic Segmentation 분야에 Classification과 Localization 이슈를 가져온 논문인 GCN에 대해서 리뷰해보도록 하겠다.

 

Reference

[1] Guosheng Lin, Anton Milan, Chunhua Shen, Ian Reid; RefineNet: Multi-path Refinement Networks for High-Resolution Semantic Segmentation, 2017, CVPR
https://www.semanticscholar.org/paper/RefineNet%3A-Multi-path-Refinement-Networks-for-Lin-Milan/de4ee92cfad3734ca820d004bc9ee75fc9dcfbf4