객체 탐지 알고리즘 비교: Fast R-CNN·Faster R-CNN·YOLO·SSD의 선택 기준
Fast R-CNN·Faster R-CNN·YOLO·SSD 객체 탐지 알고리즘의 구조와 mAP·FPS 성능 차이를 비교하고 상황별 선택 기준을 정리한다.
2026-08-13 · 최초 발행 2025-05-23
자율주행차가 보행자를 인식하는 데 걸리는 시간과, 그 인식이 얼마나 정확한지는 서로 다른 문제다. 객체 탐지(Object Detection) 알고리즘의 계보는 이 둘 사이에서 어느 쪽에 무게를 싣느냐로 갈라져 왔다. 이미지나 비디오 안에서 객체의 위치를 찾아내는(Localization) 작업과 그 종류를 분류(Classification)하는 작업을 하나로 묶는 이 기술은, 전통적인 컴퓨터 비전 알고리즘에서 딥러닝 기반 모델로 전환되면서 수작업 특징 엔지니어링 대신 신경망이 특징을 자동으로 학습하고, ImageNet·COCO 같은 대규모 데이터셋으로 정확도를 끌어올리며, 알고리즘 최적화로 실시간 처리까지 가능해지는 세 갈래의 발전을 겪었다.
후보 영역을 먼저 뽑을 것인가, 한 번에 예측할 것인가
객체 탐지 알고리즘은 크게 두 가지 접근 방식으로 나뉜다. 2단계 탐지기(Two-stage Detectors)는 R-CNN 계열(R-CNN, Fast R-CNN, Faster R-CNN)로, 후보 영역을 먼저 제안한 뒤 그 영역을 분류하는 순서를 따른다. 1단계 탐지기(One-stage Detectors)는 YOLO·SSD 계열로, 후보 제안 단계 없이 위치와 클래스를 한 번에 예측한다. 이 구조적 차이가 이후 각 알고리즘의 속도·정확도 트레이드오프를 결정짓는다.
Fast R-CNN, 병목을 하나로 줄이다
R-CNN의 주요 병목 현상을 해결하기 위해 2015년 Ross Girshick이 제안한 Fast R-CNN은 이미지 전체에 대해 한 번의 CNN 연산만 수행해 특징 맵(feature map)을 만든다. 여기서 RoI(Region of Interest) Pooling으로 관심 영역만 추출해 고정 크기의 특징 벡터로 바꾸고, 객체 분류와 바운딩 박스 회귀를 동시에 최적화하는 멀티태스크 손실 함수를 쓴다.
이 구조로 R-CNN 대비 훈련 속도는 9배, 테스트 속도는 213배 빨라졌고 정확도도 향상됐다(mAP 66.9%). 메모리 효율성도 함께 좋아졌지만, 지역 제안(Region Proposal) 단계 자체는 여전히 별도 알고리즘에 의존해 병목으로 남아 있었다.
Faster R-CNN, 제안 단계까지 신경망에 넣다
2015년 Shaoqing Ren이 제안한 Faster R-CNN은 Fast R-CNN에 남아 있던 지역 제안 단계를 딥러닝으로 통합해 엔드-투-엔드(end-to-end)로 학습 가능한 네트워크를 만들었다. VGG·ResNet 같은 백본 네트워크가 전체 이미지에서 특징을 추출하면, 지역 제안 네트워크(Region Proposal Network, RPN)가 특징 맵에서 객체가 있을 만한 영역을 제안하고, RoI Pooling이 이 영역에서 고정 크기 특징 벡터를 뽑아 최종 클래스와 위치를 예측한다.
지역 제안 속도는 CPU 기반 selective search보다 10배 이상 빨라졌고, 훈련·추론 전 과정이 하나로 통합돼 최적화가 쉬워졌다. PASCAL VOC 2007 데이터셋에서 mAP 73.2%를 기록했고 다양한 객체 크기에도 강건해, 지금도 높은 정확도가 요구되는 분야에서 널리 쓰인다.
YOLO, 한 번만 보고 끝낸다
2016년 Joseph Redmon이 제안한 YOLO(You Only Look Once)는 접근 자체를 바꿨다. 2단계 탐지기처럼 후보 영역을 먼저 뽑지 않고, 이미지를 한 번만 보고(Single Shot) 객체의 위치와 클래스를 동시에 예측한다. 이미지를 S×S 그리드로 나눠 각 셀이 탐지를 담당하고, 바운딩 박스 좌표는 직접 회귀로 예측하며, 분류와 위치 파악을 단일 신경망 안에서 동시에 처리한다.
YOLOv1은 45 FPS로 최초의 실시간 객체 탐지를 구현했지만 정확도는 다소 낮았다. 이후 YOLOv2(YOLO9000)는 Batch Normalization과 앵커 박스, 다중 스케일 학습으로 정확도를 끌어올렸고, YOLOv3는 다중 스케일 예측과 Darknet-53 백본, 개선된 손실 함수로 성능을 더 높였으며, YOLOv4·v5·v7은 이런 개선을 계속 이어갔다. 실시간 처리(30-60 FPS)와 낮은 배경 오류(False Positives), 높은 일반화 능력이 장점이지만, 작은 객체 탐지와 밀집된 객체 분리에는 여전히 약하고 2단계 탐지기 대비 정확도도 다소 낮다.
SSD, 여러 층에서 동시에 본다
2016년 Wei Liu가 제안한 SSD(Single Shot Detector)는 YOLO의 아이디어를 확장하면서 정확도를 끌어올린 1단계 탐지기다. 다양한 크기의 객체를 잡기 위해 여러 층의 특징 맵을 동시에 활용하고, 다양한 비율과 크기의 기본 박스(Default Boxes)를 앵커로 쓰며, 백본으로는 VGG16 같은 검증된 분류 네트워크를 그대로 가져다 쓴다.
300×300 입력 기준으로 59 FPS의 실시간 처리가 가능하고, 다양한 크기의 객체 탐지에 뛰어나며, VOC2007에서 mAP 74.3%로 Faster R-CNN에 버금가는 정확도를 낸다. 구현과 훈련도 비교적 쉬운 편이다. 다만 작은 객체 탐지에서는 여전히 어려움을 겪고, 다양한 하이퍼파라미터 튜닝이 필요하다는 부담이 있다.
속도와 정확도, 숫자로 보면
| 알고리즘 | mAP(PASCAL VOC) | 속도(FPS) | 실시간 가능 | 주요 특징 |
|---|---|---|---|---|
| Fast R-CNN | 68.4% | 0.5 | ❌ | 단일 CNN, RoI Pooling |
| Faster R-CNN | 73.2% | 7 | ❌ | 통합 RPN, 높은 정확도 |
| YOLOv3 | 57.9% | 45 | ✅ | 속도 우선, 단순 구조 |
| SSD | 74.3% | 59 | ✅ | 다중 스케일, 균형적 성능 |
자율주행부터 제조 라인까지
자율주행 자동차에서는 높은 정확도가 필요한 객체 인식에 Faster R-CNN을, 실시간으로 보행자·차량·신호등을 탐지하는 데는 YOLO나 SSD를 쓰는 식으로 역할이 나뉜다. 영상 감시 시스템은 이상 행동 탐지, 사람 수 계산과 혼잡도 측정, 침입자 감지에 이 알고리즘들을 활용한다.
리테일·마케팅 영역에서는 매장 내 고객 행동 분석, 재고 관리 자동화, 선반 분석(Shelf Analytics)에 쓰이고, 의료 영상 분석에서는 X-ray·CT·MRI 등에서 이상 징후를 탐지하거나 세포·종양을 검출하고 의료 영상 주석을 자동화하는 데 활용된다. 제조업에서는 불량품 검사, 공정 모니터링, 로봇 비전에 적용된다.
상황에 따라 갈리는 선택
의료·보안·정밀 검사처럼 정확도가 무엇보다 중요한 경우는 Faster R-CNN이 맞는 선택이고, 자율주행·실시간 모니터링·모바일 응용처럼 속도가 우선인 경우는 YOLO 쪽으로 기운다. 정확도와 속도가 둘 다 필요하면 SSD가 균형점을 제공하고, 모바일·임베디드처럼 컴퓨팅 자원이 제한된 환경에서는 MobileNet-SSD나 Tiny-YOLO 같은 경량화 버전을 고려하게 된다.
다음 세대 탐지기가 향하는 곳
모바일·엣지 디바이스에서 효율적으로 돌아가도록 양자화·가지치기 같은 기법으로 모델을 경량화하는 흐름과, 라벨이 없는 대규모 데이터셋으로 사전 학습한 뒤 미세 조정하는 자기 지도 학습(Self-supervised Learning) 접근이 함께 진행되고 있다. LiDAR·RGB-D 카메라를 활용한 3D 객체 탐지는 자율주행·로봇공학 분야에서 중요성이 커지고 있고, 시간적 정보를 활용해 비디오 스트림에서 객체를 추적하며 행동 인식과 통합하는 방향, 이미지·텍스트·음성 등 여러 모달리티를 결합해 맥락 이해로 정확도를 높이는 방향도 함께 발전하고 있다.