일러두기 (Disclaimer)
본 글은 AI의 도움을 받아 작성되었습니다. 최대한 정확한 정보를 전달하기 위해 검수를 거쳤으나, AI 모델의 특성상 내용에 일부 오류나 부정확한 정보가 포함될 수 있습니다. 따라서 실제 논문의 상세한 수식이나 실험 세부 조건 등은 반드시 원문을 직접 확인하시기 바랍니다.
논문 링크 : https://arxiv.org/abs/1706.05587
Rethinking Atrous Convolution for Semantic Image Segmentation
In this work, we revisit atrous convolution, a powerful tool to explicitly adjust filter's field-of-view as well as control the resolution of feature responses computed by Deep Convolutional Neural Networks, in the application of semantic image segmentatio
arxiv.org
초록 (Abstract)
공간 피라미드 풀링 모듈(Spatial pyramid pooling module) 또는 인코더-디코더(encoder-decoder) 구조는 의미론적 분할(semantic segmentation) 작업을 위한 심층 신경망에서 널리 사용됩니다. 전자의 네트워크는 다중 비율과 다중 유효 수용 영역(effective fields-of-view)을 가진 필터나 풀링 연산을 통해 들어오는 특징을 조사하여 다중 스케일의 맥락적 정보를 인코딩할 수 있는 반면, 후자의 네트워크는 공간 정보를 점진적으로 복구하여 더 날카로운 객체 경계를 포착할 수 있습니다. 본 연구에서는 두 방법의 장점을 결합하는 것을 제안합니다. 구체적으로, 제안하는 모델인 DeepLabv3+는 객체 경계를 따라 분할 결과를 개선하기 위해 간단하면서도 효과적인 디코더 모듈을 추가하여 DeepLabv3를 확장합니다. 나아가 Xception 모델을 탐색하고 깊이별 분리 합성곱(depthwise separable convolution)을 Atrous Spatial Pyramid Pooling과 디코더 모듈 모두에 적용하여, 더 빠르고 강력한 인코더-디코더 네트워크를 도출합니다. 제안된 모델의 효과를 PASCAL VOC 2012 및 Cityscapes 데이터셋에서 입증하였으며, 어떠한 후처리 없이도 각각 89.0%와 82.1%의 테스트 세트 성능을 달성했습니다. 본 논문은 제안된 모델의 텐서플로우(Tensorflow) 기반 참조 구현체와 함께 공개됩니다.
1. 한줄 요약 & 3줄 핵심 (Executive Summary)
다중 스케일의 맥락을 파악하는 공간 피라미드 풀링(ASPP) 기반의 인코더에, 손실된 공간 정보를 되살려 객체의 정밀한 경계를 복원하는 디코더 구조를 성공적으로 결합하여 의미론적 분할의 새로운 기준을 제시한 모델입니다.
- 기존의 문제점 (Pain point): 기존의 심층 합성곱 신경망은 이미지를 압축하며 특징을 추출하는 과정에서 위치 공간 정보가 크게 손실되어, 분할 결과물에서 객체의 윤곽선이 뭉개지거나 해상도가 저하되는 치명적인 한계가 존재했습니다.
- 이 논문의 해결책 (Solution): 해상도 저하를 방지하는 Atrous 합성곱과 다양한 크기의 맥락을 포착하는 ASPP를 인코더로 활용하고, 신경망 앞단의 저수준 특징(Low-level feature)을 가져와 병합하는 디코더 모듈을 새롭게 도입하여 디테일을 살려냈습니다.
- 달성한 성과 (Key Result): 모델의 구조적 개선만으로 무거운 수학적 후처리 과정 없이 PASCAL VOC 2012 테스트에서 89.0%, Cityscapes에서 82.1%의 정확도를 기록하며 당시 최고 성능(SOTA)을 경신했습니다.
2. 들어가며: 왜 이 연구가 필요했나? (The "Why")
컴퓨터 비전 분야의 발전 과정을 살펴보면, 심층 신경망은 이미지가 무엇인지 맞추는 '이미지 분류(Image Classification)' 작업에서 출발하여 객체가 어디에 있는지 네모난 상자로 표시하는 '객체 탐지(Object Detection)'로 진화했습니다. 그리고 마침내 이미지의 모든 픽셀이 각각 어떤 객체에 속하는지 색칠하는 '의미론적 분할(Semantic Segmentation)'이라는 더 복잡한 과제에 도달하게 되었습니다. 자율주행 자동차가 카메라를 통해 주행 가능 영역과 보행자를 픽셀 단위로 정확히 구분하거나, 의료 인공지능이 환자의 자기공명영상(MRI)에서 종양의 미세한 경계를 오려내기 위해서는 이 의미론적 분할 기술의 고도화가 필수적입니다.
하지만 연구자들이 의미론적 분할 시스템을 구축할 때 가장 큰 벽에 부딪힌 부분은 바로 기존 심층 합성곱 신경망(DCNN)의 본질적인 구조적 한계였습니다. 심층 신경망은 본래 이미지 분류를 위해 설계되었습니다. 분류 작업에서는 사진 속 고양이가 중앙에 있든 구석에 있든 '고양이'라는 사실만 알아내면 됩니다. 이를 위해 신경망은 풀링(Pooling)이나 스트라이드(Stride) 연산을 통해 이미지를 계속해서 작게 압축해 나갑니다. 이미지를 압축하면 연산량이 줄어들고 객체의 위치 변화에 둔감해지는 장점이 있지만, 의미론적 분할에서는 이 압축 과정이 치명적인 독이 됩니다. 이미지가 작아지면서 각 픽셀이 원래 어느 위치에 있었는지에 대한 정밀한 공간 정보(Spatial information)가 영구적으로 유실되기 때문입니다. 결국 압축된 특징 맵을 원본 이미지 크기로 다시 억지로 늘려놓고 보면, 객체의 테두리가 계단 현상처럼 거칠고 심하게 뭉개지는 문제가 발생합니다.
이러한 해상도 손실 및 경계선 붕괴 문제를 해결하기 위해 구글 연구진을 비롯한 학계는 끊임없는 고민을 거듭했습니다. 초기 세대인 DeepLabv1과 v2 모델에서는 신경망이 대략적으로 색칠한 거친 결과물의 경계를 다듬기 위해, 조건부 무작위장(CRF, Conditional Random Field)이라는 확률적 그래피컬 모델을 후처리 기법으로 도입했습니다. 이는 인접한 픽셀들의 색상과 위치 정보를 수학적으로 계산하여 경계선을 부드럽게 깎아내는 방식이었습니다. 하지만 이러한 후처리 과정은 계산 비용이 매우 비싸고 신경망의 종단간(End-to-End) 학습을 방해하는 요인이 되었습니다.
이후 후처리에 의존하지 않기 위해 DeepLabv3가 등장합니다. 이 모델은 이미지를 무리하게 압축하는 대신, 픽셀 사이의 간격을 띄워서 연산하는 방식을 사용하여 해상도를 보존하면서도 다양한 크기의 물체를 인식할 수 있도록 설계되었습니다. 이를 통해 후처리 없이도 뛰어난 성능을 달성했지만, 여전히 마지막 출력 단계에서 결과물을 단순히 16배 크기로 크게 확대(Bilinear upsampling)하여 사용했기 때문에 윤곽선을 섬세하게 잡아내는 데에는 구조적인 한계를 보였습니다.
"이미지의 전반적인 맥락은 잘 파악하지만, 정작 중요한 물체의 경계선 지점에서는 픽셀들이 어디까지 뻗어 나가야 하는지 헷갈려 한다." 연구자들은 이 딜레마를 해결하기 위해 새로운 접근 방식을 모색했습니다. 전체적인 맥락을 파악하는 데 특화된 공간 피라미드 풀링(Spatial Pyramid Pooling) 모델의 압도적인 맥락 파악 능력과, 해상도를 점진적으로 복구하여 날카로운 경계를 찾아내는 인코더-디코더(Encoder-Decoder) 모델의 디테일 복원 능력을 하나로 합치는 발상의 전환을 시도한 것입니다. 이것이 바로 본 논문이 제안하는 핵심적인 배경이며, 컴퓨터 비전 역사의 흐름 속에서 필연적으로 등장할 수밖에 없었던 기술적 진보의 맥락입니다.
3. 이 논문의 뿌리 (Key Reference)
이 논문은 컴퓨터 비전 분야의 굵직한 역사를 장식한 핵심 아이디어들을 비판적으로 계승하고 정교하게 조립하여 탄생한 결과물입니다. 이 모델이 완성되기 위해 가장 큰 영감을 주었던 선행 연구들과의 관계를 살펴보면 논문의 지향점을 더욱 명확히 이해할 수 있습니다.
- DeepLabv3 (2017)의 비판적 계승: 오늘 리뷰하는 모델의 직전 버전이자, 이름에서 알 수 있듯 본 논문의 토대입니다. 이 논문에서는 DeepLabv3를 완전히 새로운 구조로 교체한 것이 아니라, DeepLabv3를 '인코더(Encoder)' 백본 모듈로 그대로 차용했습니다. DeepLabv3는 다양한 크기의 물체를 인식하는 모듈을 통해 풍부한 맥락 정보(Contextual information)를 성공적으로 추출해 냈으나, 공간 정보 복원력이 부족했습니다. 본 연구는 이 인코더가 추출한 양질의 특징을 바탕으로, 부족했던 공간 복원 능력을 새로운 디코더(Decoder) 모듈의 결합을 통해 보완하는 확장적 진보를 이루어냈습니다.
- FCN (2015) 및 U-Net (2015) 구조의 차용: 의료 이미지 분할에서 대성공을 거두며 분할 네트워크의 표준이 된 U-Net과 그 시초 격인 FCN은 인코더-디코더 구조의 정수입니다. 이 모델들은 압축된 고수준 특징을 다시 원본 해상도로 확장할 때, 압축되기 전 신경망 앞단에서 추출된 초기 저수준 특징(Low-level feature)을 건너뛰어 연결(Skip Connection)해 주는 방식을 통해 잃어버린 위치 정보를 훌륭히 보존했습니다. DeepLabv3+는 이러한 구조적 아이디어를 적극 차용하여, 자신들의 강력한 인코더에 알맞은 독자적인 디코더를 설계함으로써 객체의 테두리를 완벽하게 복원하는 능력을 갖추게 되었습니다.
- Xception (2017)과 MobileNet (2017)의 효율성 통합: 의미론적 분할 네트워크는 픽셀 단위의 연산을 수행하므로 모델이 복잡해질수록 연산량과 메모리 요구량이 폭발적으로 증가합니다. 이를 막기 위해 본 논문은 Xception과 MobileNet 구조에서 제안된 '깊이별 분리 합성곱(Depthwise Separable Convolution)'이라는 혁신적인 연산 개념을 도입했습니다. 단순히 연산 방식만 가져온 것을 넘어, 의미론적 분할 작업에 맞게 Xception 모델의 구조를 수정하고 개선하여 백본으로 활용함으로써, 처리 속도와 예측 정확도를 동시에 비약적으로 끌어올리는 성과를 낳았습니다.
4. 핵심 아이디어: 무엇이 다른가? (The "Aha!" Moment)
이 논문이 제시하는 해결책의 본질은 세 가지 핵심 아이디어의 유기적인 결합에 있습니다.
첫 번째 아이디어: 빈 공간을 두고 훑어보기 (Atrous Convolution)
앞서 언급했듯, 일반적인 신경망은 픽셀들을 촘촘하게 묶어서 분석합니다. 하지만 이렇게 하면 넓은 풍경(맥락)을 보기 위해 이미지를 계속해서 절반, 또 절반으로 축소해야만 합니다. 프랑스어로 '구멍이 있는(à trous)'이라는 뜻을 가진 Atrous Convolution(또는 팽창 합성곱, Dilated Convolution)은 필터의 픽셀들 사이에 일정한 간격(구멍)을 띄우고 이미지를 훑는 방식입니다.
이처럼 필터의 렌즈 크기(실제 연산량)를 무식하게 키우지 않고도, 픽셀 사이의 간격 비율(Rate)을 조절하여 띄엄띄엄 분석함으로써 더 넓은 시야(수용 영역, Receptive Field)를 확보하는 마법 같은 기술입니다. 이를 통해 이미지를 작게 뭉개지 않고도 고해상도를 유지한 채 넓은 맥락을 파악할 수 있게 되었습니다.
두 번째 아이디어: 다양한 시야로 동시에 관찰하기 (ASPP)
카메라에 찍힌 물체는 가까이 있으면 화면을 꽉 채우게 크고, 멀리 있으면 점처럼 작습니다. 인공지능 모델이 다양한 크기의 물체를 모두 잘 인식하게 하려면 어떻게 해야 할까요? ASPP(Atrous Spatial Pyramid Pooling)는 앞서 설명한 Atrous Convolution의 '구멍 간격 비율(Rate)'을 다르게 설정한 여러 개의 필터를 병렬로 배치하여 동시에 사용하는 모듈입니다.
간격 비율이 6, 12, 18인 필터들을 나란히 배치하여 좁은 시야부터 넓은 시야까지 한 번에 포착한 뒤 이를 하나로 융합합니다. 결과적으로 모델은 거대한 자동차와 멀리 있는 작은 보행자의 맥락을 동시에 이해할 수 있게 됩니다.
세 번째 아이디어: 큰 그림과 디테일의 만남 (Encoder-Decoder 구조)
이 논문의 가장 결정적인 "Aha!" 모멘트는 바로 디코더의 도입입니다. 이전 모델은 큰 그림(맥락)은 아주 잘 그렸지만, 완성된 스케치를 단순히 도화지 크기에 맞게 16배로 잡아 늘려서 제출하는 바람에 물체의 윤곽선이 심하게 흐릿해졌습니다. 이에 연구진은 '디테일 복원 전문가'인 디코더(Decoder) 모듈을 새롭게 추가했습니다.
5. 작동 원리: 어떻게 돌아가는가? (The "How")
실제 이미지가 모델에 입력되어 최종적인 분할 지도가 출력될 때까지 모델 내부에서 일어나는 과정을 데이터의 흐름(Flow) 위주로 단계별로 살펴보겠습니다.
Step 1. 인코더 (특징 추출 및 맥락 파악)
- 사용자가 촬영한 이미지가 특징 추출을 담당하는 강력한 백본 신경망(예: Xception 또는 ResNet-101)에 입력됩니다.
- 이미지가 깊은 신경망 층을 차례로 통과하며 점차 추상적인 특징으로 변환됩니다. 이때 이미지가 무작정 축소되어 공간 정보가 사라지는 것을 막기 위해, 신경망 후반부 층에는 앞서 설명한 Atrous Convolution이 적용됩니다. 그 결과, 원본 이미지 대비 가로세로 해상도가 $\frac{1}{16}$로 줄어든 압축된 특징 맵(Feature Map)이 생성됩니다.
- 이 $\frac{1}{16}$ 크기의 특징 맵은 곧바로 다중 스케일 분석기인 ASPP 모듈을 통과합니다. 다양한 시야각(비율 6, 12, 18)의 필터들이 특징 맵을 분석하고, 이미지 전체를 관통하는 전역 평균 풀링(Global Average Pooling) 정보까지 하나로 합쳐집니다. 이 모듈을 빠져나온 결과물은 256개의 두터운 채널을 가지며 "이 영역의 픽셀 뭉치는 강아지이고, 저 영역은 잔디밭이다"라는 매우 풍부하고 강력한 의미 정보를 포함하게 됩니다.
Step 2. 디코더 (공간 정보 복원 및 윤곽선 다듬기)
- 인코더가 전달해 준 256개 채널의 $\frac{1}{16}$ 크기 결과물을 먼저 4배로 확대(Bilinear upsampling)하여 $\frac{1}{4}$ 크기로 만들어 줍니다.
- 이와 동시에, 이미지가 백본 신경망의 아주 앞부분(예: ResNet의 Conv2 단계)을 통과할 때 만들어졌던 $\frac{1}{4}$ 크기의 저수준 특징(Low-level feature)을 창고에서 꺼내옵니다. 이 저수준 특징은 의미 정보는 아직 부족하지만 객체의 윤곽선이나 모서리 같은 물리적인 형태 정보를 고스란히 간직하고 있습니다.
- 여기서 매우 중요한 조정 작업을 거칩니다. 창고에서 꺼내온 저수준 특징은 채널 수가 아주 많습니다(예: 512개 채널). 이를 그대로 256개 채널의 고수준 특징과 물리적으로 융합하면, 의미 없는 테두리 정보가 너무 강력해져서 인코더가 힘들게 파악한 중요한 의미 정보가 묻혀버리는 부작용이 발생합니다. 따라서 1x1 합성곱이라는 압축 연산을 통해 저수준 특징의 채널 수를 48개로 대폭 줄여주어 밸런스를 맞춥니다.
- 균형이 맞춰진 저수준 특징과 4배 확대된 고수준 특징을 하나의 블록으로 나란히 이어 붙입니다(Concatenation).
- 이렇게 이어 붙인 데이터를 3x3 합성곱 연산에 몇 번 통과시키며 테두리의 공간 정보와 의미 정보를 자연스럽게 융합하고 날카롭게 다듬어 줍니다.
Step 3. 최종 출력 (결과물 생성)
완벽하게 다듬어진 특징 맵을 다시 4배 확대하여 원본 이미지와 똑같은 크기로 만듭니다. 최종적으로 각 픽셀 위치마다 이 픽셀이 어떤 클래스에 속하는지를 확률적으로 계산하여 최종 예측 결과물을 산출합니다.
더 빠르게 만들기 위한 마법: 깊이별 분리 합성곱 (Depthwise Separable Convolution)
이 모든 과정을 수행하면 연산량이 너무 많아져 모델이 느려질 수 있습니다. 논문에서는 효율성을 극대화하기 위해 Xception 모델의 아이디어를 빌려와 깊이별 분리 합성곱이라는 연산 방식을 채택하고, 이를 Atrous 연산과 결합하여 'Atrous Separable Convolution'을 완성했습니다.
일반적인 합성곱 연산이 모든 채널(RGB 색상이나 수백 개의 특징들)과 공간(가로, 세로 영역)을 한꺼번에 뒤섞어서 무겁게 계산한다면, 이 방식은 연산을 두 단계로 나눕니다. 첫째, 각 채널별로 따로따로 필터를 적용하여 "공간적인 모양"부터 먼저 찾습니다(깊이별 합성곱). 둘째, 그렇게 찾아낸 모양들을 1x1 필터로 콕콕 찔러가며 "채널들을 하나로 섞어주는" 작업(점별 합성곱)을 수행합니다. 이처럼 계산 과정을 분리하여 적용하면 예측 성능의 하락을 거의 방지하면서도 실제 연산량을 30~40% 이상 획기적으로 줄일 수 있어 속도와 정확도를 모두 잡는 결과를 도출했습니다.
6. 작동 원리: 어떻게 학습하는가? (The "How")
이러한 정교한 구조의 모델이 똑똑하게 작동하기 위해서는, 모델의 가중치를 업데이트하기 위한 매우 잘 가공된 대규모 학습 데이터가 필수적입니다. 단순히 사진 한 장을 주고 "이것은 강아지입니다"라고 알려주는 분류 작업과 달리, 이미지 분할 학습은 사진 속 수십만 개의 픽셀 하나하나에 정답표를 달아주어야 하는 지난한 과정이 필요합니다.
입력 데이터 (Input Data)
학습을 위해 신경망에 들어가는 입력 데이터는 일반적인 사진입니다.
- 종류 및 포맷: 주로 RGB 색상 채널을 가진 2D 이미지 데이터가 활용됩니다. 학습 시에는 컴퓨터 그래픽 메모리(VRAM)의 한계와 학습 효율성을 고려하여, 원본 이미지를 $513 \times 513$ 등의 고정된 해상도로 무작위로 잘라내어(Random Crop) 텐서(Tensor) 형태로 변환해 입력합니다.
- 데이터 수량과 예시 (데이터셋):
- PASCAL VOC 2012: 분할 알고리즘의 전통적인 성능 평가 무대입니다. 비행기, 자전거, 새, 사람, 소파 등 20개의 전경 객체 클래스와 1개의 배경(Background) 클래스를 합쳐 총 21개의 분류 카테고리를 가집니다. 학습 시에는 원본 데이터에 추가 주석 데이터를 덧붙여(Data Augmentation) 약 10,582장의 정밀한 학습 이미지를 활용합니다.
- Cityscapes: 자율주행 기술 연구를 위해 독일 등 전 세계 50개 도시에서 촬영된 실제 도로 주행 이미지 데이터셋입니다. 차량, 도로, 보행자 등 다양한 도시 환경 객체를 포함하며, 주요 평가지표로는 19개의 핵심 클래스를 사용합니다. 정밀하게 픽셀이 칠해진 5,000장의 이미지와, 연구의 유연성을 위해 대략적으로만 칠해진 20,000장의 이미지를 훈련 데이터로 제공합니다.
출력 데이터 및 정답 데이터 (Output & Target Data)
모델이 학습을 통해 내놓는 결과물과, 모델을 채찍질하기 위해 준비된 정답 레이블 데이터는 사람이 보는 일반적인 사진 형태가 아닙니다.
- 출력 포맷: 원본 입력 이미지와 동일한 크기(예: $513 \times 513$)를 가지는 2차원 배열(행렬) 형태입니다.
- 구체적인 형태: 픽셀의 색상 정보(RGB)가 아니라, 각 픽셀 위치마다 부여된 정수 형태의 인덱스(Index) 값으로 이루어져 있습니다.
- 예를 들어 PASCAL VOC 데이터에서, 모델이 분석한 결과 특정 픽셀이 배경이라면 그 픽셀 위치의 값은 0, 비행기라면 1, 자전거라면 2, 사람이라면 15라는 정수 값이 적히게 됩니다.
- 학습의 핵심, 무시 레이블 (Ignore Index 255): 실제 사진에서 물체와 물체가 만나는 경계선은 사람의 눈으로도 정확히 구분하기 어렵습니다. 머리카락과 배경이 만나는 모호한 지점이나 판독이 불가능한 영역은 정답 데이터에서 255라는 특수한 인덱스 값을 부여받습니다(Void label). 학습 과정에서 모델의 손실 함수(Loss function)는 이 255라는 값이 있는 픽셀은 과감히 무시하도록 설계됩니다. 애매모호한 영역 때문에 신경망 모델이 불필요한 혼란을 겪는 것을 원천적으로 차단하기 위한 훌륭한 실무적 장치입니다.
모델은 자신이 예측한 픽셀별 확률 분포와 사람이 만들어둔 정답 레이블을 픽셀 단위로 일일이 비교하며 오차를 계산하고(Pixel-wise Cross-Entropy Loss), 이 오차를 줄이는 방향으로 내부의 수많은 가중치(필터)들을 업데이트하며 점차 똑똑해집니다.
7. 결과: 얼마나 좋아졌나? (Results)
수많은 구조적 실험과 검증 끝에 탄생한 DeepLabv3+는 단순한 개선 수준을 넘어, 당시 시대를 대표하는 벤치마크 데이터셋에서 최고 성능(SOTA, State-of-the-Art)을 압도적으로 갱신하는 쾌거를 이루었습니다.
SOTA(최고 성능)의 달성
연구진은 모델의 성능을 평가하는 기준으로 의미론적 분할 분야의 공통 지표인 mIoU(Mean Intersection-over-Union)를 사용했습니다. 이는 모델이 예측한 영역과 실제 정답 영역의 교집합을 합집합으로 나눈 비율의 평균을 의미하며, 100%에 가까울수록 인간과 똑같이 분할했음을 의미합니다.
- PASCAL VOC 2012 테스트: 인코더 단독으로 존재했던 이전 모델 DeepLabv3가 86.9%를 기록했던 것에 비해, 디코더를 결합하고 JFT-300M이라는 거대한 외부 데이터셋으로 사전 학습을 진행한 DeepLabv3+는 최종적으로 89.0%라는 놀라운 mIoU를 달성했습니다.
- Cityscapes 테스트: 자율주행을 위한 복잡한 도심 환경에서도 어떠한 추가적인 사후 보정 처리 없이 82.1%의 mIoU를 기록하며 새로운 기준을 확립했습니다.
| 평가 데이터셋 | 뼈대 네트워크 (Backbone) | 추가 평가 기법 적용 | 평가 지표 (mIoU) |
| PASCAL VOC 2012 | ResNet-101 (Baseline) | 없음 | 77.21% |
| PASCAL VOC 2012 | ResNet-101 + Decoder | 적용 (다중 스케일 등) | 80.57% |
| PASCAL VOC 2012 | Xception (제안 모델) | JFT 사전 학습 적용 | 89.0% |
| Cityscapes | Xception-71 | 추가 학습 데이터 사용 | 82.1% |
경계선 복원의 증명: Tripmap 실험
가장 주목해야 할 시각적, 수치적 결과는 새롭게 고용한 '디테일 복원 전문가'인 디코더의 위력입니다. 연구진은 객체의 경계선이 실제로 얼마나 날카로워졌는지 증명하기 위해, 경계선 주변의 픽셀들만 따로 떼어내어 그 구역 안에서의 정확도만을 측정하는 'Trimap' 실험을 진행했습니다. 그 결과, 기존 모델들처럼 16배를 단순히 잡아 늘렸을 때(Bilinear upsampling)보다 제안된 디코더를 사용했을 때 경계선 주변의 분할 정확도가 최대 5.4%까지 대폭 상승하는 결과를 얻어냈습니다. 가느다란 자전거의 바퀴살이나 강아지의 털 윤곽선처럼 섬세한 영역을 모델이 정확히 구별해 내게 되었음을 과학적으로 입증한 것입니다.
한계점과 실패 케이스 (Failure Modes)
논문의 훌륭한 점 중 하나는 자신들의 모델이 가진 솔직한 한계점과 실패 사례를 명확히 밝혔다는 것입니다.
- 유사한 객체의 맥락적 혼동: 모델은 종종 '소파(Sofa)'와 '의자(Chair)'를 헷갈려 했습니다. 이는 두 객체가 시각적인 질감이나 놓여 있는 맥락(실내, 가구)이 너무 비슷하기 때문에, 단순히 픽셀의 형태만 보고 판단하는 모델이 분류에 어려움을 겪는 현상입니다.
- 가려짐 및 특이한 시점: 물체의 대부분이 다른 큰 물체에 심하게 가려져 있거나(Heavy occlusion), 일반적이지 않은 아주 희귀한 각도(뒷모습 등)에서 찍힌 물체를 분할할 때는 여전히 픽셀을 엉뚱한 클래스로 분류하는 오류를 보였습니다. 이는 모델이 물체의 완전한 3차원적 형상을 이해하는 것이 아니라, 2차원적 패턴에 의존하고 있음을 시사합니다.
8. 이 논문의 계보와 발전 (Impact & Follow-ups)
DeepLabv3+가 학계에 발표된 2018년 이후, 의미론적 이미지 분할 분야는 이 구조를 절대적인 벤치마크이자 든든한 기초 백본으로 삼아 비약적인 발전을 거듭해 왔습니다. 이 논문이 뿌린 씨앗이 어떻게 자라났는지 살펴보면 최근 컴퓨터 비전 트렌드를 읽을 수 있습니다.
- Panoptic-DeepLab (2020)의 탄생: 구글 연구진은 본 논문의 대성공 이후 만족하지 않고 후속작인 Panoptic-DeepLab을 발표했습니다. 이 모델은 하늘, 도로 같은 배경을 구분하는 '의미론적 분할(Semantic Segmentation)'과 자동차 1, 자동차 2처럼 개별 객체를 구분하는 '인스턴스 분할(Instance Segmentation)'을 하나의 네트워크에서 동시에 수행하는 '파놉틱 분할(Panoptic Segmentation)' 모델입니다. DeepLabv3+의 강력한 인코더 구조를 그대로 공유하되, 뒤쪽의 디코더 헤드를 두 갈래로 나누어 설계함으로써 실시간에 가까운 추론 속도로 파놉틱 분할 분야의 최고 성능을 달성하는 기염을 토했습니다.
- 트랜스포머(Transformer) 시대로의 진입과 비교: 최근 몇 년 사이, 본래 자연어 처리(NLP) 분야를 평정했던 트랜스포머 아키텍처가 시각 분야(Vision Transformer)까지 장악하기 시작했습니다. SegFormer나 Mask2Former와 같은 최신 모델들은 기존의 CNN 백본을 버리고 어텐션(Attention) 기반의 트랜스포머를 사용하여 복잡한 이미지 분할에서 DeepLabv3+를 뛰어넘는 극강의 정확도를 보여주고 있습니다.
- 그럼에도 살아남은 DeepLabv3+의 생명력: 매우 흥미로운 점은, 2025~2026년 현재까지도 산업 현장과 실무에서는 DeepLabv3+가 가장 사랑받는 모델 중 하나로 활발히 쓰이고 있다는 점입니다. 최신 트랜스포머 모델인 Mask2Former 등은 구조가 지나치게 무거워 학습에 최소 15GB에서 32GB 이상의 거대한 GPU VRAM을 요구하며, 추론 속도도 느립니다. 반면 DeepLabv3+는 8GB 수준의 상대적으로 적은 메모리 인프라에서도 매우 안정적으로 동작하며 유의미한 최고 수준의 정확도를 보장합니다. 더불어 MobileNetV2와 같이 매우 가벼운 뼈대 네트워크와 결합하면(MST-DeepLabV3+ 등), 연산 자원이 극도로 제한된 드론, 산업용 엣지 디바이스(Edge Device), 실시간 모바일 애플리케이션에서도 훌륭하게 구동이 가능합니다.
현재 DeepLabv3+는 자율주행의 고속 차선 검출 및 도로 환경 분석, 의료 인공지능의 정밀한 종양 경계 픽셀 추출, 인공위성 사진을 통한 산림 훼손 및 지형 변화 탐지 등 픽셀 단위의 정확도와 연산 속도 간의 치열한 타협이 필요한 다양한 산업 영역에서 여전히 '가장 믿음직한 표준(Baseline)'으로 자리매김하고 있습니다.
9. 마무리
DeepLabv3+는 기존의 심층 합성곱 신경망이 고질적으로 앓고 있던 딜레마, 즉 "전체 맥락을 챙기기 위해 이미지를 줄이면 픽셀의 윤곽선 디테일이 죽고, 디테일을 챙기자니 전체 맥락을 놓치게 되는" 본질적인 문제를 극복한 명작입니다. Atrous 합성곱을 이용한 다중 스케일 인코딩과, 신경망 초기의 날것 그대로의 선형 데이터를 끌어와 융합하는 단순명료한 디코더의 조합은 분할 기술의 역사에 큰 획을 그었습니다. 특히, 예측 성능을 올리기 위해 모델의 복잡성을 무작정 팽창시키는 대신, 효율성을 극대화하는 깊이별 분리 합성곱(Depthwise Separable Convolution)을 전면적으로 차용해 속도와 실용성까지 빈틈없이 챙겼다는 점에서 구글 연구진의 노련한 시스템 엔지니어링 정수를 보여줍니다.
다만, 이 훌륭한 모델을 실제 실무나 연구 환경에 가져와 훈련시키고 적용할 때는 몇 가지 현실적인 제약사항들을 반드시 숙지해야 합니다.
- 치명적인 GPU 메모리 부족 현상 (Out-of-Memory): 모델 학습 시 Atrous Convolution의 특성상 이미지를 크게 압축하지 않고 고해상도 특징 맵을 계속 유지하며 연산해야 하므로, 그래픽 카드(GPU)의 메모리 소비가 극심합니다. 논문에서 실험한 것처럼 출력 스트라이드(Output Stride)를 16에서 8로 낮추어 해상도를 4배 더 선명하게 만들면 예측력은 상승하지만, 메모리 요구량과 연산량 역시 기하급수적으로 폭발하게 됩니다. 한정된 VRAM 환경에서는 스트라이드를 16으로 타협하고, 혼합 정밀도(Mixed Precision, FP16) 학습을 적용하여 메모리 부담을 덜어주거나, 입력 이미지의 크롭(Crop) 사이즈를 하드웨어 한계에 맞게 조절하는 튜닝이 필수적입니다.
- 배치 정규화(Batch Normalization)의 함정: 모델의 안정적인 학습을 돕는 배치 정규화 층이 제 역할을 하려면 한 번에 신경망에 들어가는 이미지의 묶음(Batch Size)이 최소 12 이상은 되어야 합니다. 메모리 부족으로 인해 배치 사이즈를 2나 4로 줄여서 강제로 학습시키면 성능이 급락하는 현상이 발생하므로 하드웨어 스펙 산정 시 이를 반드시 고려해야 합니다.
- 목적에 맞는 뼈대(Backbone)의 유연한 선택: 최고의 절대적 정확도가 필요한 의료 영상 분석이나 위성 사진 판독에서는 무겁지만 정교한 Xception이나 ResNet-101 같은 백본을 사용하는 것이 바람직합니다. 반면 초당 30프레임 이상을 처리해야 하는 로봇 비전이나 자율주행, 스마트폰 앱 등 지연 시간(Latency) 최소화가 최우선인 환경에서는 정확도를 소폭 희생하더라도 MobileNet 등을 뼈대로 끼워 넣어 실시간성을 보장하는 전략적 선택이 요구됩니다.
결론적으로, DeepLabv3+는 학계에 등장한 지 제법 오랜 시간이 흘렀음에도 불구하고, 시각 정보를 다루는 인공지능 프로젝트에 착수할 때 가장 먼저 최우선으로 검토해야 할 1순위 모델입니다. 화려하지만 극도로 무거운 최신 트랜스포머 아키텍처의 유혹에 빠지기 전에, 탄탄한 구조와 이미 검증된 성능, 그리고 방대한 커뮤니티 지원을 자랑하는 DeepLabv3+를 기준점(Baseline)으로 삼아 데이터를 학습시켜 보는 것을 실무자들에게 강력히 권장합니다.