2024. 12. 20. 02:37ㆍMOOC
Semantic Segmentation
What is Semantic Segmentation?
Semantic Segmentation은 이미지의 각 픽셀을 분류하여 특정 클래스에 속하게 만드는 작업이다. 예를 들어, 픽셀 단위로 사람이면 "사람", 자동차면 "자동차"로 분류하며, 같은 클래스로 분류된 픽셀들은 동일한 그룹으로 간주된다. 이는 이미지 단위로 분류하는 Image Classification과 달리, 보다 세부적인 정보를 제공한다.
Where can Semantic Segmentation be applied to?
Semantic Segmentation은 의료 영상 분석, 자율주행 자동차 등 장면 이해가 필요한 다양한 분야에 활용된다.
Semantic Segmentation Architectures
Fully Convolutional Networks (FCN)
FCN은 Semantic Segmentation을 위한 최초의 end-to-end 모델이다. 기존에는 알고리즘들을 결합하여 작업을 수행했지만, FCN은 입력부터 출력까지 모두 학습 가능한 구조를 가진다. 이를 통해 이미지 크기와 관계없이 동작 가능하다.
- 1x1 Convolution 사용: Fully Connected Layer 대신 각 픽셀 위치마다 classification을 수행하기 위해 1x1 Convolution을 활용한다.
- Upsampling 사용: Pooling으로 인한 저해상도 문제를 해결하기 위해 Upsampling Layer를 도입하며, Transposed Convolution과 Upsample and Convolution 방식을 사용한다.
- 작아진 이미지를 크게 늘리면서 픽셀 단위로 예측
-
- Receptive Field 확보: FCN은 낮은 레이어의 세부 정보와 높은 레이어의 전반적인 의미를 결합하여, 지역적이고 의미론적인 정보를 모두 반영한다. 이를 위해 Skip Connection을 활용하며, 단순히 합하는 대신 Concatenation을 사용한다.
- 초기 레이어는 "작고 구체적인 디테일(예: 가장자리, 텍스처)"을 보고,
- 후반부 레이어는 "전체 이미지의 큰 의미(예: 고양이인지 강아지인지)"를 본다

Hypercolumns for Object Segmentation
Hypercolumn은 FCN과 유사한 구조를 가지지만, 낮은 레이어와 높은 레이어의 특징 결합을 더욱 강조한다. FCN과 달리 물체의 Bounding Box를 추가 입력으로 사용한다는 점에서 차이가 있다.
U-Net
U-Net은 Downsampling(Contracting Path)과 Upsampling(Expanding Path)을 대칭적으로 수행하는 구조를 가진다. Downsampling에서는 Pooling을 통해 해상도를 줄이고 채널 수를 늘리며, Upsampling에서는 반대로 해상도를 늘리고 채널 수를 줄인다.
- Skip Connection 활용: Downsampling 과정에서 얻은 지역 정보를 Upsampling 과정에서 Segmentation Map에 결합하여 세부 정보를 보존한다.
- 홀수 해상도 처리: 홀수 크기의 입력 데이터를 처리할 때도 해상도 맞춤 과정을 통해 정확히 복원한다.
- 이미지를 줄여가면서 중요한 특징을 추출한 뒤, 다시 늘리면서 원래 크기로 복원
-
DeepLab
DeepLab은 Semantic Segmentation의 성능을 크게 향상시킨 모델로, 다음과 같은 주요 기술을 포함한다:
- Conditional Random Fields (CRF): Neural Network의 경계선 흐림 현상을 보완하기 위해 Rough한 Score Map과 Edge 정보를 결합하여 경계를 명확히 한다.
- Dilated Convolution: Dilation Factor를 적용하여 넓은 Receptive Field를 확보한다.
- Depthwise Separable Convolution: 연산 효율성을 높이고 계산량을 줄이기 위해 사용된다.
DeepLab v3+는 Multi-Scale 정보를 처리하기 위해 Spatial Pyramid Pooling을 적용하며, Decoder에서 낮은 레이어의 Feature Map과 결합하여 최종 Segmentation Map을 생성한다.
Semantic Segmentation의 주요 특징
- FCN은 입력 해상도에 관계없이 학습 가능하며, Upsampling과 Skip Connection을 통해 세부 정보를 보존한다.
- Hypercolumns는 레이어 간 특징 결합을 강조하며, 물체의 Bounding Box를 추가로 활용한다.
- U-Net은 대칭적인 구조와 Skip Connection을 통해 지역 정보와 전반적인 특징을 모두 반영한다.
- DeepLab은 CRF, Dilated Convolution, Depthwise Separable Convolution을 조합하여 효율적이고 강력한 성능을 제공한다.
'MOOC' 카테고리의 다른 글
[컴퓨터 비전의 모든 것] CNN Visualization (1) : 동작 원리 (2) | 2024.12.20 |
---|---|
[컴퓨터 비전의 모든 것] Object Detection (2) | 2024.12.20 |
[컴퓨터 비전의 모든 것] Image Classification (3) : 모델 비교 (0) | 2024.12.20 |
[컴퓨터 비전의 모든 것] Image Classification (2) : 대표 모델 (0) | 2024.12.20 |
[컴퓨터 비전의 모든것] Annotation Efficient Learning (0) | 2024.12.20 |