- FCN : semantic segmentation 을 위해 CNN 기반 모델 (AlexNet, VGG16, GoogleNet) 을 변형
- 'Image classification' to 'semantic segmentation model' 은 3가지 과정으로 표현됨
1. Convoluionalization 2. Deconvolution (upsampling) 3. skip architecture
- Convolutionalization
- Image classification 은 중간까지는 CNN 으로 image feature 추출하고, 출력층에서 fc 로 classify 함
- fc layer 한계 : 이미지 위치 정보가 사라짐
-> 따라서 fc layer 를 모두 conv layer 로 대체하여 위치 정보 내포
하지만, 픽셀 단위 예측과 비교 했을때 FCN 최종 출력 feature map 은 너무 coasrse 함 (알맹이가 큼)
따라서 coarse map 을 원본 이미지 크기에 가까운 dense map 변환 필요
*Pooling 을 안 쓰면 feature map 크기가 작아지는 걸 피할 수 있지만, 그럼 receptive field 가 줄어들어 이미지의 컨텍스트를 놓치게 되며, 학습 파라미터 감소 효과가 사라짐
- Deconvolution
- Coarse map 에서 dense map 얻는 방법 : interpolation, deconvolution, unpooling, shift and stitch
- 초기 segmentation 모델은 bilinear intepolation, backwards convolution 두 가지 방법을 사용했으나, 근본적으로 feature map 의 크기가 너무 작아서, 예측된 dense map 정보는 여전히 정교하지 못 했음
- Skip architecture
- CNN 의 얕은 층은 주로 직선,곡선,색상 등 낮은 수준의 특징에 활성화
- 깊은층은 보다 복잡하고 포괄적인 개체 정보에 활성화
- 따라서 앞에서 구한 Dense map 에 얕은 층의 정보를 결합하여 segmentation 품질 개선 가능
- 실제 정보 결합을 앞단에서부터 끌어와서 할 수록 성능 개선됨
출처 : medium.com/@msmapark2/fcn-논문-리뷰-fully-convolutional-networks-for-semantic-segmentation-81f016d76204
'ML, DL > 논문 정리' 카테고리의 다른 글
Stress GAN : A Generative deep learning model for 2d stress distribution prediction (0) | 2022.07.17 |
---|