본문 바로가기
논문 리뷰/딥러닝

[FCN] Long et al., 2015, Fully Convolutional Networks for Semantic Segmentation

by 펄서까투리 2022. 11. 24.

# 세줄 요약 #

  • 저자들이 소개한 FCN은 엔드 투 엔드(end-to-end), 픽셀에서 픽셀로(pixels-to-pixels) 학습되어, 즉 입력으로도 '영상'이 들어가고, 출력에서도 분할된 '영상'이 나오는 시멘틱 분할(semantic segmentation)에서 가장 높은 성능을 보인 합성곱 신경망이다. 
  • FCN의 핵심은 네트워크 이름에도 들어가 있듯이 'Fully convolutional Network'(완전 연결된 합성곱 신경망) 구조가 핵심 아이디어이며, 이를 구현하기 위해서 기존의 분류에 사용된 합성곱신경망 모델인 AlexNet, VGG, GoogLeNet 등을 기본모델(baseline model)로 사용하고, 이들 모델의 학습된 웨이트(weight)를 미세조정(fine-tuning)하여 분할(segmentation) 작업에 사용하였다. 
  • 그 결과, FCN은 2012년도에 PASCAL VOC에서 직전 대회보다 성능을 거의 20% 이상 향상시켜 62.2%의 mean IU값을 달성하였고, 그 외에도 NYUDv2, SIFT Flow 등의 여러 공개된 데이터셋에서도 가장 높은 성적을 보인 분할모델이었다.

 

# 상세 리뷰 #

1. Introduction

  • 저자들은 fully convolutional network (FCN)을 end-to-end, pixels-to-pixels로 학습시킴으로서 semantic segmentation 성능을 기존의 기계학습(머신러닝; 예. 전처리 또는 후처리와 결합, superpixels 포함, random field or classifier를 통한 사후 개선) 기반의 방법들보다 우수한 SOTA(state-of-the-art) 성능을 달성할 수 있었다.
  • FCN은 최근 classification에서 성공한 모델(AlexNet, VGG, GoogLeNet 등)들의 모든 convolution layers 또는 fine-tuning을 통해 학습된 표현들을 transfer learning 기법으로 사용함으로서, 매우 정밀한 segmentation prediction을 가능하게 했다.
  • 저자들은 semantic segmentation 성능을 더 올리기 위해서, 깊고 대략적인 영상의 추상적인 정보와 얕고 섬세한 영상의 지엽적인 정보 모두 결합하여 사용하기 위하여 skip-architecture를 사용하여 실험한 결과 좀더 높은 성능을 달성할 수 있었다(후에 U-Net에서 핵심적인 구조로서 사용된다).

[* Ref. Long et al., 2015]

 

2. Network Architecture

  • 저자들은 ILSVRC (ImageNet Large Scale Visual Recognition Challenge)에서 사용된 분류 모델들에 Upsampling과 pixel-wise loss를 추가하여 FCN을 구성하고, fine-tuning으로 segmentation을 학습하였다.
  • FCN의 기본 구조는 각 분류 모델(ex. AlexNet, VGG, GoogLeNet, etc..)에서 끝부분인 classifier(=fully connected layer)를 제거하고 upsampling & fully convolution layer로 변환 후에, 1x1 convolution layer로 예측해야할 레이블의 수만큼의 채널로 outputs을 출력해주면 된다(그 결과, fine-tuning만을 사용한 FCN-VGG16 모델에서 이미 SOTA(state-of-the-arts) 성능을 달성하였다!).

[* Ref. Long et al., 2015]

  • 다음으로 저자들은 최종 예측 레이어와 상대적으로 feature map이 덜 뭉쳐진(해상도가 크므로) 이전 convolution block의 레이어들을 합쳐주는 'skip-connection'이라는 기법을 사용함으로서, 최종 예측 레이어의 깊고 추상적인 정보와 이전 레이어의 얕지만 세밀하고 지엽적인 정보들을 합성되어 FCN의 성능을 더 개선할 수 있었다. 

[* Ref. Long et al., 2015]
[* Ref. Long et al., 2015]
[* Ref. Long et al., 2015]

 

 

3. Experiment Result

  • FCN의 Semantic Segmentation 성능 검증을 위해, PASCAL VOC, NYUDv2, SIFT Flow 등의 오픈 데이터셋에서, 분할 모델 검증에 자주 쓰이는 4개의 metric (pixel accuracy, mean accuracy, mean IU, fequency weighted IU) 등을 사용하여 FCN과 기존 모델들의 성능을 비교하였다.

[* Ref. Long et al., 2015]

  • PASCAL VOC 데이터셋에서는 FCN-8s 모델을 사용한 결과, PASCAL VOC 2011, 2012 test sets 모두에서 이전 모델(SDS, R-CNN) 대비 20% 정도의 성능 향상을 보였다.

[* Ref. Long et al., 2015]
[* Ref. Long et al., 2015]

  • NYUDv2 (1449 RGB-D images & 40 labels)와 SIFT Flow (2,688 images & 33 labels) 데이터셋에서는 skip-connection을 사용한 FCN-16s, FCN-32s 등의 모델을 사용하였으며, 두 데이터셋 모두에서 기존 결과들을 뛰어넘는 SOTA 성능을 달성하였다.

[* Ref. Long et al., 2015]
[* Ref. Long et al., 2015]

 

# Reference: Long, Jonathan, Evan Shelhamer, and Trevor Darrell. "Fully convolutional networks for semantic segmentation." Proceedings of the IEEE conference on computer vision and pattern recognition. 2015.

728x90
728x90

댓글