본문으로 건너뛰기

© 2026 Molayo

Lilian헤드라인2026. 05. 07. 04:28

객체 탐지를 위한 초보자를 위한 가이드 Part 2: CNN, DPM 과 Overfeat

요약

본 기사는 객체 탐지를 위한 초보자 가이드의 두 번째 파트로, 이미지 분류를 위한 핵심 기술인 CNN(Convolutional Neural Network)을 깊이 있게 다룹니다. 컨볼루션 연산의 원리부터 시작하여 AlexNet, VGG, ResNet과 같은 주요 아키텍처들을 소개하며, 각 모델의 구조적 특징과 발전 과정을 설명합니다. 또한 객체 탐지 성능 평가 지표인 mAP와 변형 부분 모델(DPM) 등 관련 고급 개념들까지 포괄적으로 다루고 있습니다.

핵심 포인트

  • CNN은 컴퓨터 비전 문제 해결을 위한 표준 딥러닝 솔루션이며, 인간 시각 시스템에서 영감을 받았습니다.
  • 컨볼루션 연산은 커널(필터)을 입력 특징 맵 위로 슬라이딩하며 곱하고 더하여 출력을 생성하는 핵심 과정입니다. 패딩과 스트라이드 조절이 가능합니다.
  • AlexNet, VGG, ResNet 등 주요 CNN 아키텍처는 각기 다른 구조적 혁신을 보여주며 발전해 왔습니다 (예: ResNet의 잔차 블록).
  • 객체 탐지 성능은 mAP(mean Average Precision)라는 지표로 평가되며, 이는 IoU와 PR 곡선을 기반으로 계산됩니다.
  • DPM(Deformable Part Model)은 객체를 인식하기 위해 거친 루트 필터와 여러 부분 필터를 결합한 그래피컬 모델을 사용합니다.

"객체 탐지를 위한 초보자를 위한 가이드" 시리즈의 Part 1 은 다음을 소개했습니다:

(1) 이미지 경사 벡터 (image gradient vector) 의 개념과 HOG 알고리즘이 하나의 이미지 내 모든 경사 벡터의 정보를 어떻게 요약하는지;

(2) 객체가 포함될 가능성이 있는 영역을 탐지하기 위한 이미지 분할 (image segmentation) 알고리즘이 어떻게 작동하는지;

(3) 이미지 분할의 결과를 더 나은 영역 제안 (region proposal) 을 위해 어떻게 개선하는지 Selective Search 알고리즘.

Part 2 에서 우리는 이미지 분류를 위한 고전적인 컨볼루션 신경망 (Convolutional Neural Network, CNN) 아키텍처에 대해 더 알아내게 될 것입니다. 이는 객체 탐지를 위한 딥러닝 모델의 추가 발전의 기초가 됩니다. R-CNN 과 관련된 모델을 배우고 싶다면 Part 3 을 확인하세요.

시리즈의 모든 글 링크:
[Part 1]
[Part 2]
[Part 3]
[Part 4].

이미지 분류를 위한 CNN
CNN 은 "Convolutional Neural Network" 의 약자로, 딥러닝 세계의 컴퓨터 비전 (computer vision) 문제 해결을 위한 표준 솔루션입니다. 이는 어느 정도 인간 시각 피질 시스템 (human visual cortex system) 의 작동 방식에서 영감을 받았습니다.

컨볼루션 연산 (Convolution Operation)
이 컨볼루션 산술 (convolution arithmetic) 가이드를 강력히 추천합니다. 이 가이드는 수많은 시각화 및 예시와 함께 깔끔하고 견고한 설명을 제공합니다. 여기서는 이미지 작업과 관련되어 있으므로 2 차원 컨볼루션에 집중하겠습니다.

간단히 말해, 컨볼루션 연산은 미리 정의된 커널 (또는 "필터"라고도 함) 을 입력 특징 맵 (image pixels 의 행렬) 위에 슬라이딩하며, 커널 값과 부분 입력 특징의 값을 곱하고 더하여 출력 (output) 을 생성합니다. 일반적으로 커널은 입력 이미지보다 훨씬 작으므로, 이 값들은 출력 행렬을 형성합니다.

입력 특징 맵에 커널을 적용하여 출력을 생성하는 일러스트레이션입니다. (이미지 출처: River Trail 문서화)
Figure 2 는 3x3 커널을 5x5 수치 값의 2 차원 행렬 위에 컨볼루션하여 3x3 행렬을 생성하는 실제 두 가지 예시를 보여줍니다. 패딩 크기 (padding size) 와 스트라이드 길이 (stride length) 를 제어함으로써, 특정 크기의 출력 행렬을 생성할 수 있습니다.

2 차원 합성 연산의 예시 2 가지: (상단) 패딩 없음 및 1x1 스트라이드; (하단) 1x1 테두리 제로 패딩 및 2x2 스트라이드. (이미지 출처: deeplearning.net)

AlexNet (Krizhevsky et al, 2012)
5 개의 합성 연산 [+ 선택적 최대 풀링] 레이어 + 2 개 MLP 레이어 + 1 개 LR 레이어
데이터 증강 기법을 사용하여 훈련 데이터셋을 확장합니다. 이미지 변환, 수평 반사, 패치 추출 등을 포함합니다.
AlexNet 의 구조. (이미지 출처: 링크)

VGG (Simonyan and Zisserman, 2014)
해당 네트워크는 당시에는 "매우 깊음"으로 간주되었습니다; 19 개의 레이어
구조는 매우 단순화되어 있으며 3x3 합성 연산 레이어와 2x2 풀링 레이어 만 포함됩니다. 작은 필터의 스택은 적은 파라미터로 더 큰 필터를 모방합니다.

ResNet (He et al., 2015)
해당 네트워크는 실제로 매우 깊습니다; 단순 구조의 152 개의 레이어.
잔차 블록 (Residual Block): 특정 레이어의 일부 입력은 두 레이어 뒤의 구성 요소에 전달될 수 있습니다. 잔차 블록은 깊은 네트워크를 훈련 가능하게 유지하고 결국 작동하는 데 필수적입니다. 잔차 블록이 없으면 평범한 네트워크의 학습 손실은 층 수가 증가함에 따라 단조롭게 감소하지 않습니다. 이는 사라지는 및 폭발하는 기울기 때문입니다.

ResNet 의 잔차 블록의 일러스트레이션. 어떤 의미에서는, 잔차 블록의 설계가 인간 시각 피질 시스템에서 V1 에서 직접 V4 에 입력을 받는 것을 영감을 받은 것이라고 말할 수 있습니다. (왼쪽 이미지 출처: Wang et al., 2017)

평가 지표: mAP
많은 객체 인식 및 탐지 작업에 사용되는 일반적인 평가 지표는 "mAP"입니다, 이는 "평균 평균 정확도"의 약자입니다. 0 에서 100 사이의 숫자이며, 더 높은 값이 좋습니다.
모든 테스트 이미지에서 모든 탐지를 결합하여 각 클래스의 정밀도 - 회귀 곡선 (PR curve) 을 그립니다; "평균 정밀도"(AP) 는 PR 곡선 아래의 영역입니다.
목표 객체가 다른 클래스에 있으므로, 우리는 먼저 각 클래스별로 AP 를 계산한 후 클래스를 평균합니다.
탐지는 지면 진실 박스 (ground-truth box) 와 "교차 합집합 비율" (IoU) 이 특정 임계값 (보통 0.5; 만약 그렇다면 지표는 "mAP@0.5") 보다 큰 경우에만 "진실 양성"입니다.

변형 부분 모델 (DPM) (Felzenszwalb et al., 2010) 은 변형 가능한 부분의 혼합 그래피컬 모델 (Markov random fields) 으로 객체를 인식합니다. 모델은 세 가지 주요 구성 요소로 이루어져 있습니다:

거친 루트 필터는 전체 객체를 대략적으로 덮는 탐지 창을 정의합니다. 필터는 지역 특징 벡터에 대한 가중치를 지정합니다.
객체의 더 작은 부분을 덮는 다수의 부분 필터입니다. 부분 필터는 루트 필터의 2 배 해상도에서 학습됩니다.
루트에 대한 부분 필터의 위치를 점수하는 공간 모델입니다.

DPM 모델은 (a) 루트 필터, (b) 2 배 해상도의 다수의 부분 필터, 및 (c) 부분의 위치 및 변형을 점수하는 모델을 포함합니다.

객체를 탐지하는 품질은 필터의 점수를 변형 비용에서 뺀 값으로 측정됩니다. 평범한 용어로는 정합 점수 $f$는:

$$
f( ext{model}, x) = f(eta_ ext{root}, x) +
\sum_{\beta_ ext{part} \in \text{part filters}} \max_y [f(\beta_ ext{part}, y) - \text{cost}(\beta_ ext{part}, x, y)]
$$

여기서,

$x$ 는 지정된 위치와 스케일을 가진 이미지이며,
$y$ 는 $x$ 의 부분 영역입니다.
$eta_ ext{root}$ 는 루트 필터이며,
$eta_ ext{part}$ 는 부분 필터의 하나입니다.
cost() 는 부분이 루트에 대한 이상적인 위치에서 벗어나는 페널티를 측정합니다.
기본 점수 모델은 필터 $eta$ 와 지역 특징 벡터 $oldsymbol{ heta}(x)$ 사이의 내적이며: $f(eta, x) = eta \cdot \Phi(x)$입니다. 특징 집합 $oldsymbol{\Phi}(x)$ 는 HOG 나 다른 유사 알고리즘으로 정의될 수 있습니다.

높은 점수를 갖는 루트 위치는 객체가 포함될 확률이 높은 영역을 감지하며, 부분의 높은 점수 위치는 인식된 객체 가설을 확인합니다. 이 논문은 분류기를 모델링하기 위해 잠재 SVM 을 채택했습니다.

DPM 의 매칭 과정 (이미지 출처: Felzenszwalb et al., 2010 )
저자는 나중에 DPM 과 CNN 모델이 객체 인식에 대한 두 개의 다른 접근법이 아님을 주장했습니다. 대신, DPM 모델을 CNN 으로 표현할 수 있으며, 이는 DPM 추론 알고리즘을 언롤링하고 각 단계를 동등한 CNN 레이어에 매핑하는 것입니다. (Girshick et al., 2015 에서 자세한 내용을 확인하세요 !)

Overfeat
Overfeat [paper ][code ] 는 객체 감지, 위치 지정 및 분류 작업을 하나의 컨볼루션 신경망으로 통합하는 선구자 모델입니다. 주요 아이디어는 (i) 이미지에서 여러 스케일의 영역의 다양한 위치에 슬라이딩 윈도우 방식으로 이미지 분류를 수행하고, (ii) 동일한 컨볼루션 레이어 위에 훈련된 리그레서로 경계 박스 위치를 예측하는 것입니다.

Overfeat 모델 아키텍처는 AlexNet 과 매우 유사합니다. 다음과 같이 훈련됩니다:

Overfeat 모델의 훈련 단계. (이미지 출처: link )

  1. 이미지 분류 작업에 대해 CNN 모델을 훈련합니다.

  2. 다음, 우리는 상부 분류기 레이어를 리그레서 네트워크로 대체하고 각 공간 위치 및 스케일에서 객체 경계 박스를 예측하도록 훈련합니다. 리그레서는 클래스 특이적이며, 하나의 이미지 클래스마다 생성됩니다.
    입력: 분류 및 경계 박스가 있는 이미지
    출력: $(x_ ext{left}, x_ ext{right}, y_ ext{top}, y_ ext{bottom})$, 총 4 개의 값으로, 경계 박스 모서리의 좌표를 나타냅니다.
    손실: 리그레서는 훈련된 각 예제에 대해 생성된 경계 박스와 실제 값 사이의 $l2$ 노름을 최소화하도록 훈련됩니다.
    감지 시간에는,

  3. 사전 훈련된 CNN 모델을 사용하여 각 위치에서 분류를 수행합니다.

  4. 분류기가 생성한 모든 분류된 영역에서 객체 경계 박스를 예측합니다.

  5. 감지 및 분류기에서 동일한 객체라고 충분히 확신할 수 있는 충분한 중첩을 갖는 경계 박스를 병합합니다.

참조:

@article{weng2017detection2,
title = "Object Detection for Dummies Part 2: CNN, DPM and Overfeat",
author = "Weng, Lilian",
...

참고
[1] Vincent Dumoulin 과 Francesco Visin. “Convolution arithmetic 을 위한 딥러닝 가이드.” arXiv preprint arXiv:1603.07285 (2016).

[2] Haohan Wang, Bhiksha Raj, 그리고 Eric P. Xing. “딥러닝의 기원.” arXiv preprint arXiv:1702.07800 (2017).

[3] Pedro F. Felzenszwalb, Ross B. Girshick, David McAllester, 그리고 Deva Ramanan. “분별적으로 훈련된 부분 기반 모델로 객체 감지.” IEEE transactions on pattern analysis and machine intelligence 32, no. 9 (2010): 1627-1645.

[4] Ross B. Girshick, Forrest Iandola, Trevor Darrell, 그리고 Jitendra Malik. “변형 부분 모델은 컨볼루션 신경망입니다.” IEEE Computer Vision and Pattern Recognition (CVPR) 회의 Proceedings 에서 pp. 437-446. 2015.

[5] Sermanet, Pierre, David Eigen, Xiang Zhang, Michaël Mathieu, Rob Fergus, and Yann LeCun. "OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks" arXiv preprint arXiv:1312.6229 (2013).

AI 자동 생성 콘텐츠

본 콘텐츠는 Lilian Weng Blog의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0