Fully Convolutional Network

21일 월요일 세미나때 설명드렸던 FCN에 관한 내용입니다! 혹시 세미나시 질문을 받지 못한 부분 여기에 질문해 주시면 감사드리겠습니다.

그림 1. 컨볼루션화 (논문 발췌)

FCN은 간단히 말하자면 그림 1에서 확인할 수 있듯이 성능이 좋은 classification network의 fully connected layer 부분을 1×1 Convolution으로 가정하여 convolution layer로 바꾸어 모델을 컨볼볼션화 하는 것 이다.

fully connected layer를 1×1 convolution으로 가정한다는것에 대해 추가 설명 드리자면 다음의 그림2와 같다. [그림 주소]

그림 2. fully convolution network

Convolution 화를 통해 레이어의 input 사이즈가 자유로워질 수 있고(그 대신 output size가 input에 종속적이 됩니다), 위치정보를 잃지 않을 수 있습니다.

Fully connected layer로 변경 후 출력으로 coarse map을 얻게 됩니다. segmentation 마스크를 이용하기 위해 이 coarse map을 up-sampling을 진행하여야 한다. 이를 위해 논문은 deep jet 방식을 소개 한다.

그림3. 논문에서 제안하는 deep jet

세부정보를 가지고 있는 lower layer를 혼합하여 up sampling 하는 방식이다.

그림 4. 전체 방법 흐름

추가로 논문에서 Shift and Stitch upsampling 방식을 convolution으로 구현한 식 소개하였다. [그림 5 링크]
그림처럼 이미지를 shifting하여 얻은 결과 이미지를 stitching하여 up-sampling을 하는 방식이다.

그림 5. shift and stitch upsampling
논문에서 소개한, 위의 알고리즘을 Convolution으로 구현하는 방법

Author: 황 유진

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다