성장通

[Paper Review] Large Kernel Matters -- Improve Semantic Segmentation by Global Convolutional Network (Peng et al., 2017) 본문

리뷰/논문 리뷰

[Paper Review] Large Kernel Matters -- Improve Semantic Segmentation by Global Convolutional Network (Peng et al., 2017)

백악기작은펭귄 2022. 8. 18. 18:04

Large Kernel Matters -- Improve Semantic Segmentation by Global Convolutional Network

Chao Peng, Xiangyu Zhang, Gang Yu, Guiming Luo, Jian Sun; Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017, pp. 4353-4361

 

Abstract

네트워크 아키텍처 디자인 연구에 있어, 당시 트렌드는 큰 커널 대신 작은 필터(1x1 혹은 3x3)를 여러 개 쌓는 형태를 선호하는 모습을 보였다. 이는 이미지 처리 분야에서 같은 컴퓨팅 자원 소모 대비 성능이 좋았기 때문인데, Semantic Segmentation에서는 이야기가 달랐다. Semantic Segmentation은 픽셀 단위의 dense prediction을 수행해야 했는데, 이를 위해서는 큰 커널 사이즈가 유리함을 확인하였다. 따라서 저자들은 이 두 가지 경우를 모두 만족시키기 위한 방법으로 Global Convolution Networks 구조를 제안했다.

해당 아키텍처를 이용해 실험한 결과, PASCAL VOC 2012와 Cityscape 데이터셋에 대하여 SOTA를 달성했다.

 

Classification과 Localization 간 Contradictory

Semantic Segmentation은 픽셀 단위의 Classification 문제로 볼 수도 있다. 이 task를 수행하기 위해서는 두 가지 도전적인 포인트가 존재하는데, Classification과 Localization이다. 특정 의미론적 개념과 관련된 물체가 적절히 분류되어야 하며 각 픽셀에 대한 레이블 값이 출력 score map에 적절히 align 되어야 한다. 즉, '잘 만들어진 Segmentation 모델'은 이 두 가지 문제를 하나의 구조로 해결할 수 있어야 한다.

 

하지만 이 두 문제는 다소 반대 성질을 가진다. Classification의 경우 다양한 입력값 변환에 강건한 invariance를 가져야 하는 반면, Localization의 경우 입력값 변화에 민감할 필요가 있다. 이러한 차이 때문에 기존의 모델들은 둘 중 한쪽에만 집중하곤 했고, 이에 따라 남은 task에 대한 성능 하락이 동반되었다.

 

 

기존 classification을 위한 구조(a)에서는 feature map과 per-pixel classifier 사이 dense 한 연결을 위해 큰 커널 사이즈가 채택되었다. localization information을 최대한 유지하기 위한 모델 구조(b)는 fully convolution으로 이루어져 있으며, 해당 구조에는 fully-connected pooling이나 global pooling이 없다. 이에 따라 두 문제를 동시에 해결하고자 저자들은 위 그림(c)과 같은 발전된 형태의 네트워크 아키텍처인 Global Convolution Network(이하 GCN)를 제안했다.

 

GCN과 Boundary Refinement (BR)

기본적으로 FCN과 유사한 구조를 basic framework로 사용했으며, 최종적으로 Semantic score map을 만드는 것을 목표로 한다. ImageNet 데이터셋에 의해 pretrain 된 ResNet을 backbone으로 하였으며, GCN 구조는 다음과 같이 아키텍처에 삽입되었다.

 

 

위 그림에서 알 수 있듯이, GCN 뒤에는 Boundary Refinement (이하 BR) 모듈 구조가 따라온다. 이어 low resolution의 score map은 Deconvolution 층에 의해 Upsampling 되어 high resolution 결과에 더해지며 이렇게 만들어진 결과는 다시 BR 모듈과 Deconv 층을 거쳐 최종 Semantic score map을 만들게 된다.

 

1) GCN 모듈

 

GCN은 큰 사이즈의 커널이나 global convolution을 직접 사용하기보다는 $1\times k + k \times +1$과 $k\times 1 + 1 \times k$ convolution의 combination을 사용했다. 이로써 feature map 내 k x k region에 대해 dense connection을 만들 수 있었다. 이러한 구조는 기존의 k x k convolution과 비교했을 때, $O(2/k)$ 수준으로 훨씬 적은 컴퓨팅 리소스로 계산을 수행할 수 있다는 장점이 있다.

 

2) BR 모듈

 

위 그림에서 볼 수 있듯이, boundary alignment는 residual 한 구조로 모델링 되었다. 저자들은 또한 refined score map $\tilde {S}$를 정의했는데, 이는 다음과 같다. 다음 식에서 $S$는 coarse map, $\mathcal {R}(\cdot)$는 residual branch이다.

 

$$
\tilde {S} = S + \mathcal {R}(S)
$$

 

이는 object 근처 boundary의 prediction을 refine 하는 Boundary alignment을 residual structure로 모델링한 것으로, 더 정확한 경계선 예측을 통해 전반적인 IoU를 높이는 데에 기여한다.

 

Ablation Study

해당 논문의 저자들은 PASCAL VOC 2012 데이터셋과 Semantic Boundaries Dataset을 사용하여 여러 실험을 진행해보았다. 이 실험의 내용 및 결과는 다음과 같다.

 

1) Large Kernel Matters - Are more parameters helpful?

GCN의 핵심 차별점 중 하나는, 커널 사이즈가 파라미터 k에 의해 유연하게 조절될 수 있다는 점이다. 다음은 k의 값을 3부터 15까지 변경하여 그 score를 실험한 결과이다. base의 경우 GCN 대신 1x1 convolution을 사용하였다.

 

 

위 결과를 보면, k의 값이 커질수록 score가 증가함을 알 수 있으며, 특히 global convolution(k=15) 버전은 기존 base보다 5.5% p만큼 능가하는 모습을 보여주고 있다. 이로써 저자들은 k의 값이 클수록 GCN의 성능이 좋아짐을 확인하였다.

 

이렇게만 이야기하면 당연한 소리 같을 수 있지만, 기존 k x k Conv에서는 k가 5에서 7로 증가할 때 성능 하락을 관측할 수 있었으며, k가 증가함에 따라 전체 파라미터 수가 기하급수적으로 늘어남을 확인할 수 있지만, GCN의 경우 꾸준한 성능 향상은 물론, 파라미터 수 또한 기존 방법에 비해 훨씬 완만하게 증가함을 알 수 있다.

 

 

2) GCN vs. 3 x 3 small Convolution 쌓기

저자들은 GCN을 사용하지 않고 큰 커널 사이즈를 만들기 위해 3 x 3의 작은 convolution을 쌓는 방식을 채택해 비교 실험을 진행하였다. 이는 VGG-net 등 기존 CNN 기반 방식에서 흔히 사용되던 방식이다. 적절한 비교를 위해 convolution stack에 대해서는 non-linearity를 제거하였다.

 

 

실험 결과, k가 7보다 큰 'large kernel'에서 GCN이 stack형보다 더 좋은 성능을 보임을 알 수 있다. 이는 GCN의 파라미터 수가 더 적음에도 불구하고 더 좋은 성능을 내었다는 점에서 의의를 가진다.

 

3) GCN과 BR이 Segmentation 결과에 미치는 영향은?

Score map은 기본적으로 object 중심에 가까울수록 부각되는 경향이 있다.

 

 

기존 방법론은 Validation Receptive Field (VRF)를 커널 사이즈에 비례하도록 유지시키는데, 모델의 인풋으로 들어오는 object의 크기가 커질 경우 이 VRF가 object를 충분히 커버하지 못한다는 문제가 발생한다. 이는 feature map의 사이즈가 커질수록 더욱 심해지며, classification과 localization의 성능 간극을 늘려 전체적인 segmentation 성능 저하를 일으킨다.

 

 

이에 반해, 물체의 경계선을 고려하는 BR을 적용한 GCN 구조의 경우 전체 VRF를 물체 사이즈에 맞춰 확장시킬 수 있기 때문에 segmentation 성능 향상을 가져올 수 있었다.

 

 

정량적 지표에 의한 결과는 다음과 같다. GCN 구조를 이용해 Internal pixel에 대한 segmentation 성능을 향상하고, BR을 추가 적용하여 Boundary pixel에 대한 성능 또한 향상했음을 알 수 있다.

 

 

4) GCN vs. ResNet as a backbone

그렇다면 여기서 의문이 든다. 지금까지의 결과는 GCN이 ResNet보다 우수함을 주장하고 있다. 그런데 왜 저자들이 제시한 구조에서는 여전히 backbone으로 ResNet을 사용하고 있을까?

 

저자들은 이에 대한 실험 또한 진행하였다. 다음 그림에서 왼쪽은 기존의 ResNet Bottleneck 모듈이고 오른쪽은 ResNet-GCN 모듈이다.

 

 

 

위 실험 결과에서 알 수 있듯이, ImageNet에 대해서는 기존 ResNet을 사용했을 때 에러가 더 낮았으며, GCN-BR을 모두 사용했을 때의 성능 향상도 미미했다. 따라서 저자들은 backbone으로는 ResNet을 유지하는 것이 낫다는 결론을 냈다.

 

Results

저자들은 SOTA 모델들에 대해 PASCAL VOC 2012와 Cityscape 데이터셋에 대하여 성능 측정을 수행하였다.

 

PASCAL VOC 2012

MS COCO 데이터셋에 대해 pretrain 된 모델이 사용되었으며, 각 training phase는 3단계로 나뉜다. 1단계에서는 COCO, SBD, PASCAL 데이터셋 모두가 학습에 사용되었으며, 2단계에서는 SBD와 PASCAL 데이터셋이, 3단계에서는 PASCAL 데이터셋만이 사용되었다.

 

평가에는 PASCAL VOC 2012 Validation set이 사용되었다.

 

 

3단계에서 GCN + BR 구조는 80.3% IoU를 달성했으며, Multi-Scale과 CRF를 사용한 결과 81.0%를 달성했다.

 

 

test set에 대하여서는 해당 논문에서 제안된 구조가 82.2%의 mean IoU를 달성했으며, SOTA인 CRF-RNN과 DeepLabv2를 능가하였다.

 

아래 그림은 Qualitative result이다.

 

 

Cityscape

해당 데이터셋에 대한 모델 학습은 두 단계로 나뉘어 진행되었으며, 1단계에서는 coarse annotated 이미지와 training set이 복합적으로 사용되었으며 2단계에서는 training set에 대한 fine-tuning만이 진행되었다.

 

 

마찬가지로 최종 단계에 MS와 CRF를 적용한 결과가 가장 좋았으며, 77.4%를 달성하였다.

 

 

마찬가지로 SOTA 모델들을 능가하는 성능을 보여주었다.

 

Conclusion

해당 논문은 독특한 커널 구조를 제시함으로써 합성곱 층의 적재 없이도 충분히 큰 커널 사이즈를 확보하였으며, Border refinement block을 통해 VRF를 확장하여 인풋 사이즈 변동에 강건한 Segmentation 모델을 만들었다. 또한 단일 모델로도 Classification과 Localization 두 task 모두에서 준수한 성능을 보이도록 함에도 의의를 가진다.