Image Classification 은 하나의 이미지 전체에 대해 Classify 를 하는 것이며,
Semantic Segmentation 은 각 Pixel 마다 Classify 하는 것이다.
Semantic Segmentation 시, 같은 Category의 Instance는 동일하게 취급한다.
- Sementaic Segmentation 을 위한 첫 end-to-end 아키텍처 이다.
- Image Classification 모델의 FC Layer 를 1x1 Conv와 Up-Sampling Layer로 대체한 것이다.
FCN Step
- Conv Layer를 통한 Feature Extract
- 1x1 Conv 를 이용하여 Class Presence Feature Map Extract
- Up-Sampling 을 통해 low-resolution Feature Map 을 , Input Image 의 resolution 과 동일하게함.
- 최종 Feature Map 과 Label Featrue Map 의 차이를 이용하여 모델 학습
1x1 Convolution
Up-Sampling
- 1x1 Conv 를 통해 나온 Feature Map은 low resolution을 가지며, Input Image 의 정보를 대략적으로만 가지고 있다.
- 이러한 Feature Map을 Up-Sampling 한 들, 디테일하지 못한 결과가 나온다.
Skip architecture
- 최종 Feature map 은 Up-sampling 을 한 들, 디테일 하지 못한다.
- 따라서, Extract 중간 단계의 Feature Map 도 Up-sampling 에 포함시켜 정보 손실을 막는다.
- FCN-32s
- 5th Convolution Block 의 Feature Map을 1x1 Conv Layer에 통과시킴.
- 이렇게 나온 7x7 Feature Map 을 32x Up-Sampling
- FCN-16s
- 4th Convolution Block 의 Feature Map (14x14)
- 5th Convolution Block 의 Feature Map을 1x1 Conv Layer에 통과시킴. (14x14)
- 위 두개의 Feature Map 을 Sum 한 이후, 16x Up-Sampling
- FCN-8s
- FCN-16s의 최종 Sum 한 Featur Map을 2x Up-Sampling (28x28)
- 3rd Convolution Bloc 의 Feature Map을 1x1 Conv Layer에 통과시킴. (28x28)
- 위 두개의 Feature Map 을 Sum 한 이후, 8x Up-Sampling
최종 Feature Map
- 모델의 구조가 U 와 비슷하여 지어진 이름
- 3 Part 로 나누어 짐.
- Contracting Path : Input Image 의 채널을 늘리고, Size 를 Halve 하면서 Holistic Context 추출
- Bottle Neck : Contracting 에서 Expanding Path 로 전환되는 구간
- Expanding Path : Holistic Context 를 Feature Map 과 결합
- Input Size 가 홀수 일 때, Downsampling 과 Upsampling 시 문제가 발생.
→ 짝수로만 가능.