본문 바로가기

딥러닝

DeepLab v3 - 구글은 어떻게 공간 정보의 손실 없이 시맨틱 세그멘테이션을 정복했나?

반응형


일러두기 (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)

본 연구에서는 시맨틱 이미지 분할(Semantic Image Segmentation) 응용 분야에서 심층 합성곱 신경망(DCNN)이 계산하는 특징 응답(Feature Response)의 해상도를 제어하고 필터의 시야각(Field-of-View)을 명시적으로 조정하는 강력한 도구인 아트로스 합성곱(Atrous Convolution)을 재검토합니다. 다중 스케일(Multi-scale)의 객체를 분할하는 문제를 해결하기 위해, 본 논문에서는 여러 아트로스 비율(Atrous Rates)을 채택하여 다중 스케일 컨텍스트를 포착하도록 아트로스 합성곱을 직렬(Cascade) 또는 병렬(Parallel)로 배치하는 모듈을 설계합니다.

더 나아가, 다중 스케일에서 합성곱 특징을 탐색하는 이전에 제안된 아트로스 공간 피라미드 풀링(Atrous Spatial Pyramid Pooling, ASPP) 모듈에 전역 컨텍스트(Global Context)를 인코딩하는 이미지 수준의 특징(Image-level Features)을 추가하여 성능을 더욱 향상시킵니다. 또한, 본 연구에서는 시스템을 학습시키는 데 필요한 구현의 세부 사항과 경험을 공유합니다. 제안된 'DeepLabv3' 시스템은 이전 DeepLab 버전과 달리 DenseCRF와 같은 사후 처리(Post-processing) 없이도 성능을 크게 향상시키며, PASCAL VOC 2012 시맨틱 이미지 분할 벤치마크에서 다른 최신 모델들과 필적하는 성능을 달성합니다.

 

1. 한줄 요약 & 3줄 핵심 (Executive Summary)

Atrous Convolution과 병렬 공간 피라미드 풀링(ASPP)을 결합하여, 이미지의 공간 해상도를 잃지 않으면서도 다양한 크기의 객체를 픽셀 단위로 정확하게 분리해 내는 고성능 시맨틱 세그멘테이션 아키텍처입니다.

  1. 기존의 문제점 (Pain point): 기존의 합성곱 신경망은 이미지를 분류하기 위해 풀링(Pooling)을 반복하며 특징 맵의 크기를 줄이는데, 이로 인해 세밀한 픽셀 단위의 공간 정보(Spatial Information)가 파괴되어 객체의 정확한 형태와 경계선을 분할하기 어렵습니다.
  2. 이 논문의 해결책 (Solution): 이미지의 크기를 줄이는 대신 필터의 간격을 넓히는 아트로스 합성곱을 도입하여 시야각을 넓히고, 다양한 간격의 필터를 병렬로 배치한 ASPP 모듈에 이미지 전체의 문맥을 이해하는 전역 특징(Global Average Pooling)을 추가하여 다중 스케일 객체를 포착했습니다.
  3. 달성한 성과 (Key Result): 연산이 느리고 복잡한 사후 처리 알고리즘(DenseCRF)을 완전히 제거하고도 PASCAL VOC 2012 데이터셋에서 85.7%라는 높은 정확도(mIOU)를 달성하며 세그멘테이션 분야의 새로운 설계 표준을 제시했습니다.

 

2. 들어가며: 왜 이 연구가 필요했나? (The "Why")

이미지 안의 모든 픽셀이 어떤 객체에 속하는지 분류하는 시맨틱 세그멘테이션(Semantic Segmentation) 작업은 컴퓨터 비전 분야의 가장 핵심적이고 난이도 높은 과제 중 하나입니다. 자율주행 자동차가 도로, 보행자, 신호등을 구분하거나 의료 영상에서 종양의 정확한 경계를 파악하기 위해서는 이 기술이 필수적입니다. 이 작업을 수행하기 위해 연구자들은 이미지 분류(Image Classification) 대회인 ImageNet에서 큰 성공을 거둔 심층 합성곱 신경망(DCNN, 예를 들어 ResNet이나 VGGNet)을 가져와 세그멘테이션 작업에 적용하기 시작했습니다.

 

하지만 여기서 근본적인 모순과 치명적인 단점이 발생합니다. 이미지 분류를 목적으로 설계된 기존의 신경망 구조는 네트워크가 깊어질수록 특징을 추상화하기 위해 '최대 풀링(Max-pooling)'과 '스트라이드(Striding, 연산 시 픽셀을 건너뛰며 읽기)' 연산을 연속적으로 수행합니다. 이러한 구조는 이미지가 화면의 어느 위치에 있든 동일하게 인식하도록 만드는 위치 불변성(Translation Invariance)을 확보하는 데는 탁월합니다. 그러나 이 과정은 입력 이미지의 공간 해상도를 통상 원본 대비 32분의 1 크기로 대폭 축소시킵니다. 해상도가 줄어들면 사진 속 객체가 강아지인지 고양이인지를 파악하는 전체적인 분류에는 유리하지만, 픽셀 하나하나의 위치와 경계선을 정확하게 짚어내야 하는 밀집 예측(Dense Prediction) 및 분할 작업에서는 필수적인 세부 공간 정보가 완전히 붕괴되는 결과를 낳습니다.

 

더불어, 우리가 분석해야 하는 사진 속에는 멀리 있는 작은 자동차와 카메라 바로 앞에 있는 큰 자동차처럼 '객체의 크기가 매우 다양하다(Multi-scale)'는 또 다른 난제가 존재합니다. 작은 객체를 찾기 위해서는 좁은 시야가 필요하고, 큰 객체를 이해하기 위해서는 넓은 시야가 필요합니다. 연구자들은 특징 맵의 해상도 보존과 다중 스케일 처리라는 두 가지 딜레마를 해결하기 위해 본 논문 이전까지 주로 4가지 우회적인 방식을 사용해 왔습니다.

 

첫 번째 방식은 이미지 피라미드(Image Pyramid)입니다. 원본 이미지를 여러 가지 비율로 확대하거나 축소하여 각각 신경망에 넣고 결과를 합치는 직관적인 방식입니다. 이 방식은 성능 향상에는 도움이 되지만, 복잡하고 깊은 최신 신경망에 여러 장의 이미지를 통과시켜야 하므로 컴퓨터의 GPU 메모리가 감당하기 힘들 정도로 연산량이 폭증한다는 단점이 있습니다.

 

두 번째 방식은 인코더-디코더(Encoder-Decoder) 구조입니다. U-Net으로 대표되는 이 방식은 이미지를 작게 줄여가며 의미론적 특징을 뽑은 뒤(Encoder), 다시 원래 크기로 점진적으로 해상도를 복원하는(Decoder) 방식입니다. 공간 정보를 복구하는 데는 유리하지만 다중 스케일의 문맥(Context)을 한 번에 파악하는 능력은 상대적으로 부족합니다.

 

세 번째 방식은 컨텍스트 모듈(Context Module)의 도입입니다. 픽셀 간의 관계를 수학적으로 보정하기 위해 네트워크의 최종 출력단에 조건부 무작위 장(Conditional Random Fields, CRF)과 같은 사후 처리 알고리즘을 이어 붙이는 방식입니다. 초기 DeepLab 모델들이 이 방식을 채택했습니다. DenseCRF는 픽셀 간의 색상 차이와 위치를 계산하여 객체의 경계선을 다듬는 데 효과적이었으나, 학습 과정과 분리된 별도의 알고리즘이므로 전체 시스템을 한 번에 학습시키는 종단간(End-to-end) 학습이 불가능하고 추론 속도가 매우 느리다는 한계가 있었습니다.

 

네 번째 방식은 공간 피라미드 풀링(Spatial Pyramid Pooling)입니다. 입력된 특징 맵을 여러 크기의 그리드나 풀링 연산으로 나누어 분석한 뒤 결합하는 방식으로, 다양한 크기의 객체를 포착하는 데 우수한 성능을 보였습니다.

 

구글의 DeepLab 연구진은 이러한 기존 방식들의 한계를 극복하기 위해, 크기를 줄이지 않고 필터의 시야를 능동적으로 조절하는 방법에 집중했습니다. 연산량의 폭증이나 복잡하고 느린 사후 처리 과정 없이, 오직 신경망 내부의 합성곱 필터 구조를 혁신하는 것만으로 공간 정보와 다중 스케일 문제를 동시에 해결하는 더 강력한 신경망 구조를 고민한 결과가 바로 DeepLabv3입니다.

 

3. 이 논문의 뿌리 (Key Reference)

DeepLabv3가 탄생하고 현재의 아키텍처를 갖추기 위해 가장 큰 영감을 주었거나, 비판적으로 계승하여 발전시킨 핵심 연구들은 다음과 같습니다. 단순한 인용을 넘어 이 논문들이 어떻게 결합되었는지 그 관계성을 이해하는 것이 중요합니다.

  • DeepLabv1 & DeepLabv2 (Chen et al., 2015, 2016) 본 논문의 직접적인 전신이자 가장 중요한 출발점입니다. 이 이전 버전들에서 연구진은 이미 아트로스 합성곱(Atrous Convolution)을 도입하여 해상도 붕괴를 막는 시도를 했으며, 다중 스케일 대응을 위해 여러 비율의 아트로스 합성곱을 병렬로 배치한 ASPP(Atrous Spatial Pyramid Pooling)의 초기 개념을 제안하여 큰 성과를 거두었습니다. 그러나 이전 버전들은 예측된 픽셀의 경계선이 다소 거칠다는 단점이 있었고, 이를 무마하기 위해 DenseCRF라는 확률적 모델 기반의 사후 처리 기법에 크게 의존했습니다. DeepLabv3는 전작의 핵심 철학인 아트로스 합성곱과 ASPP를 계승하되, 구조를 더욱 고도화하여 느리고 무거운 DenseCRF를 과감히 버리고도 더 높은 경계선 분할 성능을 끌어냈습니다.
  • ResNet (He et al., 2015) 본 논문은 특징을 추출하는 뼈대(Backbone) 네트워크로 He et al.이 제안한 ResNet-50 및 ResNet-101 아키텍처를 채택했습니다. ResNet은 스킵 커넥션(Skip Connection)을 통해 신경망을 매우 깊게 쌓을 수 있게 해준 혁명적인 모델입니다. DeepLabv3 연구진은 원본 ResNet을 그대로 가져다 쓰지 않고, 네트워크 후반부(Block 4 이후)에 존재하는 스트라이드(Stride) 기반의 공간 축소 연산을 제거했습니다. 그 대신 빈자리에 아트로스 합성곱을 이식하여 모델의 깊이는 유지하면서도 출력 해상도가 과도하게 축소되는 현상을 방지하는 베이스 구조로 재창조했습니다.
  • PSPNet (Pyramid Scene Parsing Net, Zhao et al., 2016) & ParseNet DeepLabv3가 다중 스케일 및 전역 문맥(Global Context) 문제를 해결하는 데 있어 가장 큰 영감을 준 경쟁 논문들입니다. PSPNet은 이미지 전체를 다양한 그리드(Grid) 크기로 분할하여 풀링(Pooling)하는 피라미드 방식을 제안하여 2016년 ILSVRC 대회에서 1위를 차지했습니다. 특히 ParseNet과 PSPNet은 이미지 전체의 정보를 요약하는 '전역 평균 풀링(Global Average Pooling)'이 성능 향상에 큰 영향을 미친다는 것을 증명했습니다. DeepLabv3 연구진은 이 논문들의 장점을 수용하여, 기존 자신들의 ASPP 모듈에 이미지 수준의 특징(Image-level Feature)을 추출하는 전역 풀링 경로를 새롭게 추가함으로써 ASPP를 완성형으로 끌어올렸습니다.

 

4. 핵심 아이디어: 무엇이 다른가? (The "Aha!" Moment)

이 논문이 제시한 가장 위대한 발상의 전환은 "공간 정보를 보존하기 위해 이미지를 줄이지 않으면서도, 넓은 영역을 보기 위해 필터의 크기를 늘리지도 않는다"는 겉보기에 모순적인 목표를 해결한 것입니다.

 

이를 구현한 핵심 기술이 바로 아트로스 합성곱(Atrous Convolution)입니다. 때로는 팽창된 합성곱(Dilated Convolution)이라고도 불립니다. 여기서 'Atrous'는 프랑스어 'à trous'에서 파생된 단어로, 직역하면 '구멍이 뚫린(with holes)'이라는 뜻입니다.

 

일반적인 합성곱 연산은 입력된 특징 맵의 인접한 픽셀들에 필터 가중치를 곱하여 특징을 추출합니다. 하지만 아트로스 합성곱은 사용자가 지정한 '비율(Rate, $r$)' 값에 따라 픽셀 사이에 빈 공간을 삽입하여 필터를 팽창시킵니다. 비율 $r$이 커질수록 픽셀 사이의 간격이 넓어지며, 모델이 한 번에 바라보는 영역인 수용 영역(Receptive Field)이 획기적으로 커집니다.

 

일반적인 3x3 필터가 촘촘한 '작은 돋보기'라면, 아트로스 비율이 적용된 필터는 '일정 간격으로 구멍이 넓게 뚫린 채집망(체, Sieve)'을 통해 세상을 관찰하는 것과 같습니다.

  • 기존 방식 (Pooling & Striding 적용): 넓은 풍경(예: 화면 전체를 차지하는 기차)을 파악하기 위해, 이미지 자체의 픽셀을 압축하여 4분의 1, 16분의 1 크기로 축소한 뒤 작은 돋보기로 관찰합니다. 이 경우 전체적인 기차의 윤곽은 잡을 수 있지만, 기차 표면의 글씨나 뾰족한 모서리 같은 세밀한 공간 정보는 압축 과정에서 완전히 뭉개져 사라집니다.
  • 새로운 방식 (Atrous Convolution 적용): 특징 맵의 해상도를 축소하지 않고 그대로 유지합니다. 그 대신, 작은 돋보기의 알맹이(가중치)들을 일정한 간격으로 넓게 쪼개어 배치합니다. 가중치가 존재하는 픽셀만 계산하고 사이의 빈 공간은 연산을 건너뛰기 때문에 연산 횟수와 학습할 파라미터의 수는 기존 3x3 돋보기와 정확히 동일합니다. 하지만 필터의 다리(간격)가 넓게 벌어져 있기 때문에 한 번의 연산으로 관찰할 수 있는 물리적인 시야각(Field-of-View)은 사진을 축소했을 때처럼 대폭 넓어집니다.

이러한 접근법은 원본 해상도를 보존하면서도 큰 객체의 문맥을 효과적으로 읽어낼 수 있게 만들어 줍니다.

 

연구진은 이처럼 각기 다른 비율을 가진 아트로스 필터 여러 개를 마치 사람의 눈이 사물을 인식할 때 좁은 곳과 넓은 곳을 동시에 인지하듯 병렬로 배치하여, 하나의 네트워크가 모든 크기의 객체에 동시에 대응할 수 있도록 구조를 혁신했습니다.

 

5. 작동 원리: 어떻게 돌아가는가? (The "How")

DeepLabv3 모델이 입력된 이미지를 받아 최종적으로 픽셀 단위의 분할 지도를 출력하기까지의 흐름(Flow)은 단계별 데이터의 이동 궤적을 통해 명확하게 파악할 수 있습니다. 시스템의 전체 아키텍처 동작 과정은 크게 4단계로 구성됩니다.

 

Step 1. 공간 해상도를 지키는 뼈대 구축 (Modified Backbone Network)

입력 이미지는 가장 먼저 특징을 추출하는 깊은 뼈대 신경망(ResNet-50 또는 ResNet-101)으로 들어갑니다. 통상적인 ResNet 구조는 5개의 블록을 거치면서 풀링(Pooling)과 스트라이드(Stride) 연산을 통해 데이터의 공간 차원을 절반씩 지속적으로 깎아냅니다. 그대로 두면 결과물의 크기(Output Stride)가 원본 대비 32분의 1로 줄어듭니다. DeepLabv3는 이를 방지하기 위해 네트워크 중간 단계인 Block 4와 Block 5, 6, 7 등 뒤로 이어지는 블록들에서 공간 축소 연산을 멈추게 합니다. 스트라이드를 1로 고정하여 더 이상 해상도가 줄어들지 못하게 막은 뒤, 이후의 모든 합성곱 층을 아트로스 합성곱으로 교체합니다. 이를 통해 학습 시에는 출력 크기를 원본의 16분의 1(Output Stride = 16)로 유지하고, 평가 시에는 필요에 따라 8분의 1(Output Stride = 8)로 조절하여 촘촘한 밀집 예측을 수행할 수 있는 기반을 다집니다.

 

Step 2. 다중 그리드 구조 적용 (Multi-Grid Method)

뼈대 신경망 내부에서 단순히 동일한 비율의 아트로스 합성곱만 반복 적용하면, 특정 크기의 객체만 과도하게 잘 찾게 되는 스케일 편향(Scale Bias)이 발생합니다. 이를 방지하기 위해 연구진은 블록 내부에 속한 여러 개의 합성곱 층마다 서로 다른 비율을 곱해주는 다중 그리드(Multi-Grid) 기법을 설계했습니다. 예를 들어, 기본 아트로스 비율이 적용된 상태에서 내부적으로 $(r_1, r_2, r_3) = (1, 2, 4)$라는 배수를 부여합니다. 이렇게 하면 신경망이 깊어질수록 필터의 시야각이 좁은 영역에서 넓은 영역으로 자연스럽게 점진적 확장을 이루게 되어, 한 객체 내부에서도 다양한 크기의 문맥을 부드럽게 학습할 수 있습니다.

 

Step 3. 향상된 아트로스 공간 피라미드 풀링 (ASPP) 모듈 통과

뼈대 네트워크를 무사히 통과하여 풍부한 특징을 머금은 데이터는 이 논문의 심장부이자 다중 스케일 객체 인식의 핵심인 ASPP 모듈로 진입합니다. ASPP 모듈은 하나의 데이터를 5개의 갈래길로 나누어 동시에 병렬 연산을 수행합니다.

  1. 1x1 합성곱: 픽셀 고유의 위치 특징을 파악합니다.
  2. Rate=6 인 3x3 아트로스 합성곱: 비교적 작은 객체나 디테일한 경계를 파악합니다.
  3. Rate=12 인 3x3 아트로스 합성곱: 중간 크기 객체의 문맥을 봅니다.
  4. Rate=18 인 3x3 아트로스 합성곱: 화면을 크게 차지하는 객체의 형태를 읽어냅니다.
  5. 이미지 수준 특징 (Image Pooling): 이 갈래가 바로 이전 DeepLab 버전에 없던 새로운 도입부이자 핵심적인 문제 해결책입니다.

여기서 연구진이 직면했던 심각한 부작용(Failure Mode), 즉 '경계 효과(Boundary Effect)'를 짚고 넘어갈 필요가 있습니다. 아트로스 비율(Rate)을 24, 32처럼 무작정 키우다 보면, 필터의 가중치 간격이 너무 벌어져서 필터의 대부분이 실제 특징 맵의 경계선 바깥쪽, 즉 아무 의미 없는 0(Zero Padding) 영역을 덮게 됩니다. 이 경우 실제 유효한 데이터에 곱해지는 가중치는 9개 중 정가운데 위치한 1개뿐이 되어버립니다. 넓은 영역을 보기 위해 만든 3x3 필터가 가장 좁은 영역을 보는 단순한 1x1 필터로 퇴화해버리는 치명적인 오류가 발생하는 것입니다. 연구진은 이를 우회하기 위해 필터 비율을 극단적으로 키우는 대신, 특징 맵 전체 면적의 평균값을 하나로 요약하는 '전역 평균 풀링(Global Average Pooling)' 경로를 5번째 길로 추가했습니다. 이 경로는 사진 전체의 분위기(예: "현재 배경이 실내인가, 야외인가?", "화면 전체의 조도는 어떠한가?")를 수학적으로 인코딩하여 네트워크에 직접 전달함으로써, 퇴화 문제 없이 완벽한 전역 문맥(Global Context)을 확보하는 데 성공했습니다.

 

Step 4. 데이터 융합 및 업샘플링 (Concatenation and Upsampling)

5갈래의 각기 다른 시야각(수용 영역)에서 추출된 특징 맵들은 다시 하나의 거대한 텐서(Tensor)로 결합(Concatenation)됩니다. 이후 256개의 채널을 가진 1x1 합성곱 층과 배치 정규화(Batch Normalization)를 통과시켜 여러 정보의 가중치를 최적의 상태로 혼합하고 정리합니다. 마지막으로, 아직 원본 크기보다 8배 또는 16배 축소되어 있는 최종 결과물(Logits)을 픽셀 단위로 펼쳐 원본 해상도와 일치시키기 위해, 쌍선형 보간법(Bilinear Interpolation)이라는 수학적 확대 방식을 거칩니다. 이 과정을 마치면 모든 픽셀 공간에 대해 각 픽셀이 어떤 객체 클래스에 속할 확률을 지니는지 기록된 최종 예측 지도가 출력됩니다.

 

6. 작동 원리: 어떻게 학습하는가? (The "How")

학습 데이터의 종류 및 포맷

지도 학습(Supervised Learning)을 수행하기 위해서는 단순한 원본 사진뿐만 아니라, 모든 픽셀의 정답 위치가 칠해진 2차원 배열 형태의 '라벨 마스크(Label Mask)' 이미지가 짝을 이루어 필요합니다. 컴퓨터는 이를 다차원 텐서(Tensor)의 형태로 인식합니다.

  • 입력 데이터 (Input Data): 컴퓨터 비전에서 흔히 사용하는 2D RGB 컬러 이미지입니다. 예를 들어, 자율주행 차량의 블랙박스에 찍힌 도로 위 자동차와 보행자 사진입니다. 데이터의 형태는 `[배치 크기, 세로 픽셀, 가로 픽셀, 3]`의 구조를 가집니다.
  • 정답 출력 데이터 (Ground Truth Label): 원본 사진과 픽셀 크기가 완벽히 동일한 2D 이미지 행렬입니다. 하지만 색상 채널이 없으며 데이터 구조는 [배치 크기, 세로 픽셀, 가로 픽셀, 1]의 형태입니다. 각 픽셀의 위치에는 눈에 보이는 색상 대신 해당 객체를 의미하는 정수 형태의 클래스 식별 번호가 기록되어 있습니다. 예를 들어 15번은 사람, 7번은 자동차, 0번은 의미 없는 배경을 나타냅니다. 최종적으로 모델이 출력하는 예측 결과물 역시 이와 동일한 포맷을 가지게 되며, 각 픽셀별로 21개(클래스 수)의 확률 분포를 계산하여 가장 높은 값을 선택합니다.

 

수량 및 주요 데이터셋

본 논문에서는 모델의 범용성과 성능을 검증하기 위해 두 가지 거대 벤치마크 데이터셋을 주로 사용했습니다.

  1. PASCAL VOC 2012: 시맨틱 세그멘테이션의 표준 척도가 되는 데이터셋입니다. 사람, 동물(강아지, 고양이 등), 교통수단(자동차, 비행기, 자전거 등), 실내 사물(소파, 의자 등)을 포함한 20개의 전경 객체와 1개의 배경 클래스를 가집니다. 성능 향상을 위해 제공된 추가 주석을 모두 포함하여 총 10,582장의 정밀한 학습 이미지를 활용했습니다.
  2. Cityscapes: 자율주행 기술 연구에 특화된 고품질 도심 주행 이미지 데이터셋입니다. 도로, 인도, 보행자, 자전거, 신호등 등 19개의 핵심 클래스로 이루어져 있습니다. 2,975장의 매우 정밀하게 주석이 달린 학습 이미지와, 성능 보강을 위해 활용할 수 있는 20,000장의 대략적인(Coarse) 주석 이미지를 사용했습니다.

 

전처리와 부트스트래핑(Bootstrapping) 기법

아트로스 합성곱이 넓은 영역을 제대로 탐색하기 위해서는 모델에 입력되는 이미지 조각(Crop Size)의 물리적 크기 자체가 커야 합니다. 만약 이미지를 300x300처럼 작게 자르면, 앞서 언급한 경계 효과가 발생하여 가장자리의 빈 공간만 보게 됩니다. 따라서 PASCAL 데이터는 513x513 픽셀로, 해상도가 높은 Cityscapes는 769x769 픽셀로 큼직하게 잘라서 입력해야 학습이 정상적으로 이루어집니다. 모델이 다양한 크기와 각도에 유연하게 적응하도록 이미지를 무작위로 축소 및 확대(0.5배 ~ 2.0배)하거나 좌우로 뒤집어 입력하는 데이터 증강(Data Augmentation) 기법도 필수적으로 적용했습니다.

 

학습 과정에서 특히 눈여겨볼 점은 '어려운 문제'를 모델에 강제로 반복 학습시키는 부트스트래핑(Bootstrapping) 과정입니다. 실제 데이터 속에는 자전거의 바큇살이나 식탁 다리처럼 가느다란 선으로 이루어져 분할하기가 극도로 까다롭고, 사진에 등장하는 빈도마저 낮은 객체 클래스들이 존재합니다. 연구진은 복잡한 하드 마이닝 알고리즘을 짜는 대신, 이러한 자전거, 의자, 식탁, 화분, 소파 등 어려운 객체가 포함된 사진 파일 자체를 데이터셋 내에서 복제하여 신경망에 물리적으로 더 많이 노출시키는 단순하고 직관적인 방법론을 채택했습니다. 이 기법은 자전거와 같이 정교함이 요구되는 희귀 객체의 예측 인식률을 크게 끌어올리는 데 핵심적인 역할을 수행했습니다.

 

7. 결과: 얼마나 좋아졌나? (Results)

새로운 아키텍처와 치밀한 학습 전략으로 무장한 DeepLabv3는 당대 시맨틱 세그멘테이션 분야에서 압도적인 최고 수준(State-of-the-art, SOTA)의 성과를 입증했습니다. 성능 평가의 기준은 픽셀의 예측 영역과 실제 정답 영역이 겹치는 정도를 나타내는 평균 교집합 비율(mIOU, mean Intersection-Over-Union)입니다.

 

SOTA(State-of-the-art) 성능 달성 및 주요 지표

DeepLabv3는 조건부 무작위 장(DenseCRF)이라는 연산이 무겁고 복잡한 사후 처리 알고리즘을 완전히 폐기하고도 기존 버전을 뛰어넘는 쾌거를 이루었습니다.

 

모델 및 방법론 출력 해상도 비율 (Output Stride) MS-COCO 사전학습 mIOU 정확도
DeepLabv2 (전작, CRF 사용) 8 O 77.69%
DeepLabv3 (제안 아키텍처) 16 (학습) / 8 (추론) X 79.77%
DeepLabv3 (MS-COCO 추가) 8 (추론) O 82.70%
DeepLabv3 (최종 테스트 셋) 8 (추론) O 85.70%

 

세부 실험(Ablation Study) 결과를 보면 혁신의 원인이 더 명확해집니다. 네트워크의 깊이(ResNet-50 vs ResNet-101)와 다중 그리드 전략이 모델의 성능을 점진적으로 끌어올렸습니다.

  • 출력 해상도의 중요성: 아트로스 합성곱을 아예 사용하지 않아 32분의 1로 출력 해상도가 줄어든 모델은 mIOU가 20.29%로 폭락하여 사실상 분할 능력을 상실했습니다. 반면 아트로스 합성곱을 통해 해상도 손실을 방지한 설정에서는 75.18% 이상의 높은 성능을 보였습니다.
  • Cityscapes 벤치마크: 자율주행 환경인 Cityscapes 테스트 셋에서도 81.3%의 높은 성능을 달성하여 실도로 환경에서의 적용 가능성을 입증했습니다. 또한 구글 내부의 거대 데이터셋인 JFT-300M으로 뼈대를 사전 학습한 경우, PASCAL VOC 테스트 환경에서 정확도를 86.9%까지 한계 돌파시켰습니다.

 

속도 최적화 및 연산 효율

사후 처리인 DenseCRF를 덜어낸 덕분에 예측 추론 속도가 현저히 빨라졌습니다. 더불어 텐서플로우(TensorFlow) 기반의 비동기 분산 학습을 적용하여 인프라 활용도 극대화했습니다. 32개의 GPU 복제본을 활용하여 학습을 수행한 결과, 기존 단일 K80 GPU 환경에서 3.65일이 소요되던 기나긴 학습 시간을 성능 저하 없이 단 2.74시간으로 획기적으로 단축할 수 있음을 증명했습니다.

 

솔직한 한계점과 실패 케이스 (Failure Modes)

모든 문제를 완벽하게 해결한 것은 아닙니다. 논문은 신뢰도를 높이기 위해 모델이 극복하지 못한 실패 사례들을 명확히 공개했습니다.

  1. 유사 객체의 혼동: 소파(Sofa)와 의자(Chair)처럼 시각적 형태와 재질이 몹시 유사한 객체들이 겹쳐서 배치되어 있을 때, 두 객체를 하나의 덩어리로 오인하거나 경계를 명확히 구별하는 데 어려움을 겪었습니다.
  2. 복잡한 윤곽선 주변의 블러 현상: 얇은 다리가 많은 식탁과 그 주변을 둘러싼 여러 개의 의자가 얽혀있는 복잡한 환경에서는 객체의 경계 픽셀들이 다소 뭉개지는 현상이 발생했습니다.
  3. 희귀 시점 (Rare View): 카메라의 앵글이 지나치게 높거나 낮은 특이한 시점에서 촬영된 자전거나 가구의 경우, 학습 데이터 부족과 기하학적 왜곡으로 인해 형태를 파악하는 데 실패하는 경향을 보였습니다.

이러한 현상이 발생하는 근본적인 원인은, 특징 맵의 최종 출력 단계에서 손실된 해상도를 복구하기 위해 쌍선형 보간법(Bilinear Upsampling)이라는 단순한 픽셀 보간 수학 연산에만 의존했기 때문입니다. 전반적인 위치 파악에는 성공했지만 픽셀을 정교하게 깎아내는 '조각가' 역할이 부족하다는 이 발견은, 곧바로 이어지는 후속 연구의 거대한 동력이 되었습니다.

 

8. 이 논문의 계보와 발전 (Impact & Follow-ups)

딥러닝 아키텍처의 진화는 꼬리에 꼬리를 무는 개선의 연속입니다. DeepLabv3가 쟁취한 기술적 우위와 한계점에서 지적된 '경계선 뭉개짐'이라는 미완의 숙제는 즉각적으로 거대한 후속 연구들을 파생시켰으며, 2026년 현재까지도 이 모델의 유산은 학계와 산업계 전반에 굵직하게 뿌리내려 있습니다.

 

직계 후속작이자 완성형: DeepLabv3+의 탄생 (2018)

DeepLabv3 논문 발표 직후, 구글 연구진은 시각적 윤곽선의 모호함을 단번에 해결한 걸작, DeepLabv3+를 발표했습니다.

  • 디코더(Decoder) 구조의 결합: DeepLabv3가 다중 스케일 컨텍스트를 잘 읽어내는 훌륭한 '인코더(Encoder)' 역할을 했다면, v3+ 모델은 여기에 U-Net 구조에서 영감을 받은 강력한 '디코더' 모듈을 덧붙였습니다. 뼈대 네트워크의 초기 단계에서 생성된 선명한 저수준 특징(Low-level feature) 맵을 우회시켜 가져온 뒤, ASPP를 통과한 고수준의 의미론적 출력과 융합하는 방식입니다. 이 수정을 통해 톱니바퀴처럼 울퉁불퉁했던 객체의 픽셀 경계선을 칼로 자른 듯 정밀하게 복원해 냈습니다.
  • 백본의 진화와 경량화: 기존의 깊고 무거운 ResNet 대신, 모바일 환경이나 제한된 하드웨어에서도 빠르게 동작할 수 있도록 구조를 변경했습니다. 합성곱 연산을 깊이별 분리 합성곱(Depthwise Separable Convolution)으로 전환한 MobileNet과 Xception 아키텍처를 도입하여 연산량을 대폭 줄이면서도 정확도는 극대화하는 진보를 이루었습니다.

 

다양한 특화 도메인으로의 파생 모델 (2020~2025)

DeepLabv3 아키텍처는 그 안정성과 성능 덕분에 수많은 응용 분야의 척추 역할을 수행해 왔습니다.

  • 원격 탐사 및 위성 이미지 분석: 위성 사진에서 건물, 도로, 산림 지역을 구별하는 것은 매우 정교한 작업입니다. 최근 'MST-DeepLabv3+'와 같은 파생 모델들은 다중 스케일 어텐션(Attention) 기법을 V3 구조에 융합하여, 경쟁 모델인 PSPNet이나 UNet 대비 수치상으로 12%에서 최대 27% 높은 지표를 기록하며 복잡한 지형지물을 정확히 분류해 냈습니다.
  • 의료 및 3D 비전: 환자의 위암 병변이나 각종 장기의 종양을 오차 없이 분할하거나, LiDAR 센서에서 얻은 3D 포인트 클라우드 환경에서 보행자와 사물을 구별하는 데 있어서도 V3 계열의 알고리즘이 널리 채택되고 있습니다. 또한 Zoom, Google Meet 등 화상 회의 플랫폼에서 피사체와 배경을 실시간으로 분리하는 기술의 핵심 기반 역시 DeepLabv3에서 파생되었습니다.

 

최신 파운데이션 모델과의 공존 (Foundation Models vs Specialized CNNs in 2026)

2025년과 2026년 컴퓨터 비전 분야는 메타(Meta)의 SAM 3(Segment Anything Model 3)와 같은 거대 파운데이션 모델들의 폭발적인 성장기에 접어들었습니다. 이 트랜스포머(Transformer) 기반의 모델들은 사용자가 자연어 프롬프트를 입력하면 세상에 존재하는 27만 개 이상의 개념을 제로샷(Zero-shot)으로 분리해 내는 경이로운 범용성을 자랑합니다.

 

그렇다면 DeepLabv3 아키텍처는 이제 박물관으로 가야 할 구시대의 유물이 되었을까요? 산업 현장 최전선에 있는 머신러닝 엔지니어들의 평가는 전혀 다릅니다. SAM 3와 같은 거대 트랜스포머 모델은 범용성이 뛰어나지만, 추론 연산 속도가 전문화된 경량화 모델(예: YOLO11 또는 DeepLabv3+의 MobileNet 백본)에 비해 무려 55배 이상 느리다는 결정적인 단점을 안고 있습니다. 카메라 렌즈를 통해 초당 30프레임(FPS) 이상의 속도로 장애물과 차선을 즉각 판단해야 하는 실시간 자율주행 차량, 수천 장의 의료 슬라이드를 순식간에 판독해야 하는 환경, 공장 컨베이어 벨트의 실시간 불량 검출 라인 등 연산 자원이 한정된 실무(Production) 환경에서는 속도와 정확도의 타협점이 매우 중요합니다. 이러한 도메인에서는 철저하게 특정 목적에 맞게 세세히 조정된(Fine-tuned) DeepLabv3+나 Mask R-CNN과 같은 고전적이고 안정적인 특화 아키텍처가 여전히 최우선적인 실무 표준(Workhorse)으로 굳건히 자리 잡고 있습니다.

 

9. 마무리

지금까지 DeepLabv3 논문이 어떻게 아트로스 합성곱이라는 직관적이고 강력한 도구를 통해, 이미지 해상도의 손실이라는 고질적인 병폐를 치료하고 시맨틱 세그멘테이션 분야를 정복했는지 면밀하게 살펴보았습니다. 기존의 복잡했던 외부 사후 처리 파이프라인을 말끔히 걷어내고, 오직 신경망 본연의 필터 팽창 조작만으로 높은 성과를 달성한 이 연구는 컴퓨터 비전 설계에 있어 모델이 세상을 인지하는 '수용 영역(Receptive Field)'을 능동적으로 다루는 방법에 커다란 패러다임의 전환을 선사했습니다.   

 

해당 모델을 실무 현장에 적용하고자 하는 엔지니어의 관점에서, 이 논문이 제공하는 가장 귀중한 통찰은 단순히 정확도가 올랐다는 사실이 아니라 '학습 인프라 한계와 하이퍼파라미터 간의 물리적 타협의 기술'에 있습니다.

 

실무 적용 시 반드시 고려해야 할 주의점 및 인사이트

  1. 치명적인 GPU 메모리(VRAM) 장벽: 아트로스 합성곱은 파라미터 수를 늘리지 않으면서 시야각을 넓히는 기적의 도구처럼 보이지만, 치명적인 실무적 약점을 동반합니다. 뼈대 신경망을 지날 때 특징 맵의 공간 해상도를 32분의 1이 아니라 8분의 1 크기로 거대하게 유지한 채, 그 수많은 채널의 고해상도 텐서를 GPU 메모리 상에 지속적으로 올려두고 연산해야 합니다. 이로 인해 학습 과정에서 막대한 VRAM을 게걸스럽게 소모합니다. 무턱대고 출력 해상도 비율(Output Stride)을 8로 고정하여 학습을 시도하면, 최상급 연산 장비에서도 즉각적인 메모리 초과(Out Of Memory, OOM) 에러에 직면하게 됩니다.   
  2. 배치 정규화(Batch Normalization)의 딜레마: 딥러닝 모델이 편향 없이 안정적으로 학습하기 위해서는 신경망 내부의 배치 정규화 층이 올바른 통계 수치(평균과 분산)를 계산할 수 있도록, 한 번에 밀어 넣는 이미지의 양인 배치 사이즈(Batch Size)가 최소 16 이상 확보되어야 합니다. 하지만 앞서 언급한 메모리 부족 문제 때문에 커다란 고해상도 이미지를 16장씩 묶어 입력하는 것은 물리적으로 불가능에 가깝습니다. 논문의 저자들조차 구글의 막강한 인프라를 활용함에도 이 한계를 피해 가지 못했습니다. 그들은 1차 학습 시에는 Output Stride를 16으로 한 단계 양보하여 배치 사이즈 16을 간신히 확보해 정규화 가중치를 우선적으로 학습시켰습니다. 이후 해당 가중치를 동결(Freeze)한 상태에서 Output Stride를 8로 세밀하게 낮추어 추가 학습을 진행하는 매우 현실적이고 기교 넘치는 우회 테크닉을 구사했습니다.   
  3. 입력 이미지(Crop Size) 크기의 중요성: 아트로스 비율(Rate)을 18, 24처럼 크게 벌려 넓은 문맥을 잡으려면, 그물을 넓게 칠 수 있는 충분한 공간적 여유가 필요합니다. 만약 연산량을 줄이겠다고 이미지를 300x300 수준으로 작게 잘라 학습시키면, 팽창된 필터가 이미지 밖의 빈 공간(Zero Padding)만 덮게 되어 성능이 67.22%까지 대폭락하는 참사가 발생합니다. 따라서 현장에서 독자적인 데이터셋을 구축하고 모델을 미세 조정(Fine-tuning)할 때는 반드시 객체의 크기를 고려해 513x513 이상의 큰 픽셀 단위로 이미지를 입력해야 본 모델의 진가를 온전히 끌어낼 수 있습니다.   

 

DeepLabv3는 "공간 정보를 유지하며 넓은 문맥을 동시에 바라본다"는 세그멘테이션의 본질적이고도 모순적인 목적을 가장 우수한 수학적 발상으로 풀어낸 명작 아키텍처입니다. 향후 트랜스포머 기반의 거대 비전 파운데이션 모델들이 지배력을 넓히는 시대가 본격화되었음에도 불구하고, 연산 속도의 효율성과 공간 정보 인식의 균형을 완벽히 조율해 낸 이 구조적 유산은 자율주행과 의료 영상 분석처럼 즉각적이고 정밀한 결과가 요구되는 엣지(Edge) 인프라 환경에서 여전히 대체 불가능한 가치를 꾸준히 입증해 나갈 것입니다.

 

반응형