늦깎이 공대생의 인공지능 연구실

AI가 세상을 바라보는 방법(3) - 더 멀리, 더 촘촘히 보는 법: DenseASPP 본문

AI기술설명

AI가 세상을 바라보는 방법(3) - 더 멀리, 더 촘촘히 보는 법: DenseASPP

Justin T. 2025. 12. 26. 00:06

- 이 포스팅은 GPT5의 초안을 바탕으로 작성한 글임을 밝힙니다.
 
 앞선 두 편에서 우리는 인공지능이 이미지를 이해하는 방식이 어떻게 발전해 왔는지를 살펴봤습니다. 픽셀 하나만 보던 단계에서 시작해, 주변 정보를 함께 고려하고, 더 멀리 떨어진 문맥(context)까지 활용하는 방향으로 점점 확장되어 왔습니다.

 이번 포스팅에서는 그 흐름의 한 지점에서 등장한 구조인 DenseASPP를 통해, “문맥을 본다”는 말이 실제로 어떤 구조적 의미를 가지는지를 정리하며 이 시리즈를 마무리해 보려 합니다.

자율주행 장면에서 Semantic Segmentation의 한계

 
 DenseASPP 논문은 처음부터 이 문제를 매우 구체적으로 설정합니다. 이 연구가 다루는 대상은 일반적인 영상이 아니라, 자율주행 환경의 도로 장면(street scenes)입니다.
 


 이 장면이 어려운 이유는 단순히 복잡해서가 아닙니다. 문제의 핵심은 객체 크기(scale)의 변화 방식에 있습니다. 자율주행 장면에서는 다음과 같은 상황들이 동시에 발생합니다.

  • 카메라 바로 앞에 있어 화면을 가득 채우는 버스나 트럭
  • 수십 미터 떨어져 작게 보이는 신호등이나 표지판
  • 같은 클래스(person, car)이지만 거리 차이로 전혀 다른 크기로 나타남

여기서 중요한 점은 이 크기 변화가 몇 개의 정해진 단계로 나뉘는 것이 아니라, 마치 볼륨 조절 다이어처럼 객체의 크기가 아주 작은 상태에서 아주 큰 상태 까지 끊임없이 이어지듯 연속적인 스펙트럼을 이룬다는 점입니다.

즉, “작다 / 크다” 정도로 나눌 수 있는 문제가 아니라 그 사이의 수많은 중간 크기들을 모두 고려해야 하는 상황입니다.

논문에서는 이를 다음과 같이 표현합니다.

“Objects in autonomous driving scenes exhibit very large scale changes.”
"자율 주행 시나리오 내의 객체들은 매우 광범위한 스케일 변화(scale changes)를 보입니다."

 

ASPP는 무엇을 해결했고, 무엇이 부족했는가?

 ASPP(Atrous Spatial Pyramid Pooling)는 Semantic Segmentation의 흐름에서 매우 중요한 구조입니다. ASPP의 핵심 아이디어는 다음과 같습니다.

  • 서로 다른 dilation rate를 가진 atrous convolution을 병렬로 배치
  • 각기 다른 receptive field를 가진 feature map을 동시에 생성
  • 하나의 픽셀이 여러 거리의 문맥을 함께 참고하도록 설계

 이를 통해 ASPP는 기존 CNN이 가지던 “한 픽셀은 하나의 시야만 가진다”는 한계를 분명히 넘어섰습니다. 하지만 DenseASPP 논문은 ASPP가 여전히 해결하지 못한 구조적 한계를 짚어냅니다.

첫 번째 한계: 스케일 공간을 성기게(듬성듬성, 몇 개의 대표 크기만 골라) 본다

ASPP는 보통 dilation rate 6, 12, 18, 24와 같이 몇 개의 대표적인 스케일만 선택합니다. 이는 곧, 객체 크기의 세계(스케일 공간)를 성기게(중간 크기들은 건너뛰고) 샘플링한다는 의미입니다. 아주 작은 객체와 아주 큰 객체는 잘 처리할 수 있지만, 그 사이에 있는 수많은 중간 크기 객체는 어느 스케일에도 정확히 대응하지 못할 수 있습니다.

두 번째 한계: 큰 dilation은 넓지만 비효율적이다

 Atrous convolution은 dilation rate가 커질수록 receptive field는 커지지만, 실제로 계산에 참여하는 픽셀은 띄엄띄엄 선택됩니다.즉, 넓게는 보지만 그 안의 정보는 충분히 활용하지 못하는 구조가 됩니다. 논문에서는 이를 kernel degradation problem(커널 열화 문제)이라고 설명합니다.

큰 Dilation에서의 픽셀 샘플링 구조

 
 DenseASPP는 이 두 가지 문제를 동시에 해결하기 위해 설계된 구조입니다.

DenseASPP는 스케일을 어떻게 ‘촘촘하게’ 만들었는가

DenseASPP의 핵심 아이디어는 단순하지만 강력합니다. ASPP와 동일하게 atrous convolution을 사용하지만, 연결 방식을 완전히 바꿉니다. DenseASPP는 atrous convolution을 병렬로 배치하지 않습니다. 대신 다음과 같은 구조를 취합니다.

  • dilation rate가 작은 atrous convolution부터 시작
  • 점점 더 큰 dilation을 가진 convolution을 순차적으로 쌓고
  • 각 단계의 출력(feature map)을 모두 concat하여 다음 단계의 입력으로 사용

 즉, 각 단계는 이전 단계에서 얻은 모든 스케일 정보를 함께 보고 판단합니다.

DenseASPP 전체 구조


이 구조는 두 가지 중요한 효과를 만듭니다.

(1) 스케일 축의 고해상도화

 각 atrous convolution 조합은 새로운 receptive field 크기를 만들어냅니다. 그 결과 DenseASPP는 ASPP가 제공하던 몇 개의 스케일뿐 아니라, 그 사이에 존재하는 중간 스케일까지 자연스럽게 채웁니다. 즉, 스케일 공간을 성기게(듬성듬성) 보던 방식에서 촘촘하게 연속적으로 보는 방식으로 바꾼 것입니다.

ASPP vs DenseASPP 스케일 피라미드 비교. DenseASPP가 훨씬 촘촘한 스케일 분해능을 가졌음을 알 수 있음

 

(2) receptive field가 커지는 이유

 DenseASPP 논문에는 receptive field를 설명하는 수식이 등장합니다. 이 수식들은 단순한 계산이 아니라, DenseASPP가 왜 더 넓은 문맥을 볼 수 있는지를 설명하기 위한 근거입니다.

① 단일 atrous convolution의 receptive field
$$R = (d - 1) \times (K - 1) + K$$

R: 한 픽셀이 참고하는 입력 이미지 영역의 크기
d (dilation rate): 픽셀을 얼마나 띄엄띄엄 보는지
K (kernel size): 커널 크기 (보통 3)

이 수식은 dilation rate가 커질수록 receptive field가 커진다는 것을 보여줍니다. 하지만 중요한 점은, 사용되는 픽셀 수는 늘어나지 않는다는 사실입니다. 즉, atrous convolution은 “적은 픽셀로 넓은 범위를 본 것처럼 만드는 기술”입니다.

② convolution을 여러 층 쌓았을 때의 receptive field

DenseASPP는 atrous convolution을 연속으로 여러 층 쌓습니다. 이때 receptive field는 다음과 같이 누적됩니다.
$$R_{total} = R_1 + R_2 - 1$$
R₁, R₂: 각 convolution의 receptive field
\( R_{total} \): 두 convolution을 연속 적용했을 때의 전체 receptive field

여기서 ‘-1’은 두 receptive field가 중앙 픽셀 하나를 공유하기 때문에 중복을 제거하기 위한 보정입니다. 이 누적 효과 덕분에 DenseASPP는 하나의 큰 dilation에 의존하지 않고, 여러 중간 스케일이 차곡차곡 쌓이며 큰 문맥을 형성합니다.

논문에서는 이를 수치로 비교합니다.
ASPP(6, 12, 18, 24): 최대 receptive field ≈ 51
DenseASPP(6, 12, 18, 24): 최대 receptive field ≈ 122

ASPP vs DenseASPP 실제 reception filed 시각화

 

DenseASPP는 왜 실제 성능 향상으로 이어졌는가

DenseASPP의 구조적 장점은 Cityscapes 실험 결과에서도 명확히 드러납니다. 논문에 따르면 DenseASPP는 Cityscapes test set에서 80.6% mIoU를 기록하며 당시 최고 성능을 달성했습니다.


Cityscapes testset 성능 비교


하지만 숫자보다 중요한 것은 어떤 클래스에서 성능이 좋아졌는가입니다. DenseASPP는 특히 다음과 같은 경우에서 큰 개선을 보입니다.

vegetation ↔ terrain
bus ↔ truck ↔ train

이 클래스들의 공통점은 분명합니다. 픽셀 하나의 색이나 질감만으로는 구분이 어렵고 주변 환경, 즉 장면 전체의 문맥이 중요합니다DenseASPP는 작은 스케일의 세밀한 정보와 큰 스케일의 전역 문맥을 항상 함께 고려하기 때문에, 픽셀을 “고립된 점”이 아니라 “장면 속 구성 요소”로 해석할 수 있습니다.

DenseASPP와 Baseline 예측 결과 비교

결론

 이번 시리즈에서는 AI가 이미지를 “본다”는 말이 무엇을 의미하는지를 구조의 진화라는 관점에서 따라왔습니다. DenseASPP는 이 흐름 속에서 하나의 중요한 결론을 제시합니다.

 문맥을 본다는 것은 단순히 범위를 넓히는 문제가 아니라, 그 범위를 얼마나 촘촘한 해상도로 이해하느냐의 문제다.



 DenseASPP가 나온 이후 Kernel 방식에서 Transformer 방식의 모델들이 더 좋은 성능을 보이고 있습니다. 차후 기회가 된다면 Transformer 형식의 딥러닝 모델에 대해 정리하는 시간을 가져보도록 하겠습니다.
 
 
참고자료: https://openaccess.thecvf.com/content_cvpr_2018/papers/Yang_DenseASPP_for_Semantic_CVPR_2018_paper.pdf

반응형