🚗 YOLO v3, 실시간 객체 탐지의 새로운 전환점
YOLO(You Only Look Once)는 “이미지를 한 번만 본다”는 이름처럼, 전체 이미지를 한 번에 처리하여 객체를 탐지하는 혁신적인 알고리즘입니다. 특히 YOLO v3는 이전 버전보다 정확도와 속도 모두에서 향상된 성능을 보여주며, 자율주행차·CCTV·드론·로봇 등 다양한 실시간 비전 시스템의 핵심으로 자리 잡았습니다.

🧠 1. YOLO v3의 핵심 아이디어
YOLO v3는 CNN(합성곱 신경망) 기반의 단일 네트워크 구조로, 입력 이미지 전체를 한 번에 처리하여 객체의 **위치(Bounding Box)**와 **클래스(Class)**를 동시에 예측합니다.
핵심은 “속도와 정확도의 균형”에 있습니다.
- YOLO v1: 매우 빠르지만 작은 객체 인식이 어려움
- YOLO v2 (YOLO9000): 앵커 박스(anchor box) 개념 도입으로 성능 개선
- YOLO v3: Feature Pyramid Network(FPN) 구조를 통해 다중 스케일 객체 탐지 가능
⚙️ 2. YOLO v3의 네트워크 구조
YOLO v3는 크게 3개의 주요 블록으로 구성됩니다.
(1) Backbone – Darknet-53
- 53개의 CNN 계층으로 구성된 특성 추출기
- ResNet의 잔차 연결(residual connection) 방식을 채택
- 입력 이미지로부터 **다양한 크기의 특징(feature map)**을 추출
(2) Neck – FPN (Feature Pyramid Network)
- 작은 객체부터 큰 객체까지 모두 인식하기 위해
**3가지 크기 (13×13, 26×26, 52×52)**의 feature map을 사용 - 상하위 feature를 결합해 풍부한 표현력을 확보
(3) Head – Detection Layer
- 각 grid cell마다 **Bounding Box 좌표 (x, y, w, h)**와 객체 존재 확률(Objectness Score), **클래스 확률(Class Probability)**을 예측
- 최종적으로 3개의 scale에서 총 9개의 앵커 박스를 활용
🔍 3. YOLO v3의 동작 과정
1️⃣ 이미지를 416×416 등 고정 크기로 리사이즈
2️⃣ Backbone에서 feature map 추출
3️⃣ FPN을 통해 다중 해상도의 feature 결합
4️⃣ 각 scale마다 객체 후보 박스 예측
5️⃣ Non-Maximum Suppression(NMS)으로 중복 박스 제거
결과적으로, 한 장의 이미지를 단 한 번의 forward pass로 수십 개의 객체를 실시간 탐지할 수 있습니다.
🧩 4. YOLO v3의 장점과 한계
✅ 장점
- GPU 환경에서 초당 30fps 이상 탐지 가능
- 다중 객체 탐지에 강함
- 다른 모델보다 학습 속도가 빠름
⚠️ 한계
- 매우 작은 객체(멀리 있는 사람, 도로 표지판 등)에 대한 탐지율 낮음
- 정밀한 세그멘테이션에는 부적합
🧪 5. 실제 응용 분야
- 자율주행차: 보행자·신호등·차량 인식
- 스마트 시티 CCTV: 이상행동·침입 감지
- 로봇 비전: 작업대의 사물 인식 및 위치 추정
- 의료 영상 분석: 병변 부위 자동 탐지
💡 6. YOLO v3 학습 시 고려할 점
- GPU 메모리: batch size 조정 필요
- 데이터 라벨링 품질이 정확도에 큰 영향
- **학습률(learning rate)**과 confidence threshold 조절로 성능 향상 가능
🚀 7. 마무리
YOLO v3는 “한 번에 객체를 탐지하는” 딥러닝 비전의 대표 모델입니다.
이 구조를 이해하면, YOLO v4·v5·v8 등 최신 버전의 발전 방향을 파악하는 데도 큰 도움이 됩니다.
📘 다음 글 예고
👉 [Day 67: YOLO v5 설치 및 실행]
YOLO v3의 개념을 이해했다면, 이제 직접 실행해볼 차례입니다.
다음 글에서는 YOLO v5를 실제로 설치하고, 간단한 이미지에서 객체를 탐지하는 과정을 단계별로 따라가 보겠습니다.
'자율주행' 카테고리의 다른 글
| Day 67: YOLO v5 설치 및 실행 (0) | 2025.11.02 |
|---|---|
| Day 65: 보행자 행동 예측 모델 구현 (0) | 2025.10.31 |
| Day 64: RNN, LSTM 개념 학습 (0) | 2025.10.30 |
| Day 63: 차량/보행자 이미지 분류 CNN 구현 (0) | 2025.10.29 |
| Day 62: 합성곱, 풀링 연산 실습 (0) | 2025.10.28 |