이미지 세그멘테이션의 핵심 기술
CNN에서 피처맵 크기를 키우는 업샘플링 방법과 이를 활용한 U-Net 아키텍처에 대해 배운 내용을 정리해봤다. 특히 공간 정보와 컨텍스트 정보의 균형을 맞추는 구조적 혁신이 흥미로웠다.
1. 다운샘플링과 업샘플링의 상보적 관계
CNN에서는 컨볼루션과 맥스풀링을 통해 피처맵 크기를 점점 줄이는 다운샘플링이 일반적이다. 이는 분류 작업에 효과적이지만, 이미지 세그멘테이션처럼 픽셀 단위 예측이 필요한 작업에서는 공간 정보가 손실된다. 업샘플링은 이렇게 손실된 공간 정보를 복원하면서 고해상도의 출력을 생성하는 과정이다.
2. 수학적 보간법의 한계. 단순히 크기를 키우는 방법으로는 Nearest Neighbor, Bilinear, Bicubic 등의 보간법이 있다. 이들은 계산식으로 픽셀 값을 채우지만, 작은 피처맵에서 큰 피처맵으로 확장할 때 의미 있는 세부 정보를 복원하기 어렵다. 이러한 한계를 극복하기 위해 학습 기반 접근법이 필요하다.
3. Transposed Convolution의 원리
일반 컨볼루션의 주요 특성은 '위치적 연결성'과 '다대일 관계'다. Transposed convolution은 이 특성을 반대로 적용하여 '일대다 관계'를 구현한다. 즉, 작은 피처맵의 한 픽셀이 큰 피처맵의 여러 픽셀에 영향을 미치게 된다. 이는 수학적으로 컨볼루션 매트릭스의 전치(transpose)를 사용하여 구현된다.
4. 학습 가능한 가중치의 중요성
Transposed convolution에서 사용되는 가중치는 원래 컨볼루션의 가중치를 그대로 사용하지 않고 새롭게 학습된다. 이렇게 함으로써 단순한 크기 확장이 아닌, 의미 있는 고해상도 특징을 생성할 수 있다. 이는 9×9 필터로 3×3 컨볼루션을 3번 적용한 것과 유사한 receptive field를 가지면서도 학습 파라미터는 훨씬 적다.
5. Fractionally-strided Convolution의 직관적 이해
이 방법은 입력 피처맵의 픽셀 사이에 0을 삽입하여 크기를 확장한 후, 일반 컨볼루션을 적용한다. 이는 마치 stride가 1보다 작은 효과(예: 0.5 stride)를 내므로 Fractionally-strided라고 불린다. 이 방법은 Transposed convolution보다 구현이 간단하면서도 효과적인 업샘플링이 가능하다.
6. U-Net의 혁신적 아키텍처
U-Net은 다운샘플링 경로(Contracting path)와 업샘플링 경로(Expanding path)로 구성된 U자형 구조를 가진다. 다운샘플링 경로에서는 컨텍스트 정보를 추출하고, 업샘플링 경로에서는 정확한 위치 정보를 복원한다. 이 두 경로를 효율적으로 연결하기 위해 Skip connection을 사용한다.
7. Skip Connection의 결정적 역할. U-Net의 핵심은 대응되는 다운샘플링 레이어와 업샘플링 레이어 사이의 직접 연결이다. 이 연결을 통해 다운샘플링 과정에서 포착한 고해상도 특징 정보를 업샘플링 과정에 직접 전달할 수 있다. 업샘플링 경로에서는 이 고해상도 정보와 컨텍스트 정보를 결합하여 정확한 세그멘테이션을 수행한다.
8. Copy and Crop 전략. 다운샘플링 레이어의 피처맵이 업샘플링 레이어의 피처맵보다 크기가 큰 경우, 중앙 부분만 잘라내어(crop) 연결한다. 이렇게 함으로써 네트워크는 중요한 중앙 영역에 집중하면서도 다양한 스케일의 특징을 통합할 수 있다.
9. 점진적 채널 관리. U-Net에서는 다운샘플링 시 피처맵 크기가 절반으로 줄어들 때마다 채널 수를 두 배로 늘리고, 업샘플링 시에는 크기가 두 배로 늘어날 때 채널 수를 절반으로 줄인다. 이러한 균형 잡힌 설계가 네트워크의 표현력과 계산 효율성을 모두 고려한다.
업샘플링은 CNN의 응용 범위를 크게 확장시켰으며, 특히 의료 이미지 분석과 같은 고정밀 분할 작업에서 U-Net은 획기적인 성능 향상을 가져왔다. 이러한 구조적 혁신은 복잡한 시각 인식 문제를 해결하는 데 있어 CNN의 유연성과 강력함을 보여주는 좋은 예다.