상세 컨텐츠

본문 제목

[4주차 / 문성빈 / 논문리뷰] Fully Convolutional Networks for Semantic Segmentation

방학 세션/CV

by Brian Moon 2023. 2. 7. 23:51

본문

0. Background

 FCN은 Semantic Segmentation이라는 분야에 관한 논문으로, 딥러닝을 이용해 Semantice segmentation의 문제를 해결하는 다른 모델들의 베이스가 되는 논문입니다.

 FCN이전에는 기존의 Classification network 구조를 이용하여 Semantic segmentation문제를 해결하려 했습니다. 예를 들어, 아래와 같이 VGG16에서는 FC layer가 존재하였는데, 이는 공간 정보가 포함되어 있는 features를 1D vector로 연산하기 때문에 위치에 대한 정보를 잃어버리게 됩니다. 또한, 추가적으로 FC layer가 존재하면 input image size를 고정시켜야 합니다.

 

 Semantic Segmentation은 모든 픽셀의 정보를 구분해야 하는 주제이므로 위와 같은 1D vector 계산은 적합하지 않습니다.

이에 FCN은 FC layer를 제거하고 모든 layer를 convolution layer로만 구성하여 위와 같은 문제를 해결하였습니다.

VGG16 Architecture

1. Convolutionalization

이 논문에서 모든 layer는 colvolution layer로 구성되어 있습니다. 이는 합성곱 연산을 이용해서 2D feature를 유지합니다.

합성곱 연산을 통해 모든 layer를 convolution layer로 구성하면 network에서 위치 정보가 소실되지 않고 유지됩니다.

2. Upsampling

 위의 구조에서 볼 수 있듯이 pooling layer로 인해 spatial size가 점점 줄어듭니다. Semantic segmentation에서 pooling layer를 사용하는 것은 연산량을 줄인다는 이점이 있을 뿐만 아니라 receptive field가 넓어짐에 따라 한 pixel의 computation에 더 많은 pixel이 연관된다는 장점 또한 있습니다.

 

 하지만, Ground Truth와 비교하기 위해 pooling으로 줄어든 이미지를 기존의 input과 같은 크기로 만들어야 합니다. 이러한 과정을 Upsampling 중 bilinear interpolation을 이용하는데, 그 계산은 아래와 같이 이루어집니다.

3. Pixel-wise Prediction (Skip Connection Architecture)

줄어든 feature를 위에 나온 방법인 bilinear interpolation만 이용해 보정하면, 물체 간 경계 구분이 힘든 결과가 도출됩니다. 이러한 문제를 해결하기 위해 skip connection을 이 논문에서는 제안합니다.

최종 feature map뿐만 아니라, feature extraction 단계의 feature map도 upsampling에 포함시키는 것입니다.

성능은 위와 같이 FCN-8s가 가장 높게 나옵니다.

4. Conclusion

FCN은 R-CNN, SDS등과 비교했을 때 월등한 성능을 내며, 이전의 방법들과 비교하여 큰 성능 향상을 이끌어냈기 때문에 의미있는 모델이라고 할 수 있습니다.

 

관련글 더보기

댓글 영역