You Only Look OnceYOLO
YOLO(You Only Look Once)는 이미지를 단 한 번의 네트워크 통과로 객체를 감지하는 실시간 객체 탐지(Object Detection) 알고리즘이다. 2015년 Joseph Redmon 등이 제안했으며, 객체 탐지를 하나의 회귀 문제로 취급하여 전체 이미지에서 바운딩 박스와 클래스 확률을 동시에 예측한다. R-CNN 계열의 2단계 탐지기보다 훨씬 빠르면서도 높은 정확도를 유지해 실시간 응용에 널리 쓰인다.
핵심 아이디어
그리드 셀 담당 원칙: 객체의 중심점이 속한 셀이 해당 객체의 탐지를 담당한다. 각 셀은 B개의 바운딩 박스와 신뢰도 점수를 예측하며, 신뢰도는 다음과 같이 계산된다.
신뢰도가 높을수록 해당 박스에 객체가 존재하며 위치도 정확하다는 의미다.
2단계 탐지기 vs YOLO (1단계):
| 방식 | 과정 | 속도 | 정확도 | 적합 용도 |
|---|---|---|---|---|
| R-CNN 계열 | 영역 제안 → 분류 (2단계) | 느림 | 높음 | 의료 영상 등 최고 정밀도 요구 |
| YOLO | 전체 이미지 단일 패스 (1단계) | 빠름 | 경쟁력 있음 | 자율주행·실시간 영상·모바일 앱 |
아키텍처 구성
현대 YOLO는 세 부분으로 구성된다.
다중 스케일 탐지 (FPN/PANet)
앵커 기반 vs 앵커프리
| 방식 | 설명 | 대표 버전 |
|---|---|---|
| 앵커 기반 | 사전 정의된 앵커 박스로 오프셋 예측 | YOLOv2~v7 |
| 앵커프리 | 격자 셀에서 직접 박스 예측 | YOLOv8, YOLO11 |
앵커프리 방식은 앵커 하이퍼파라미터 튜닝 없이 학습 가능하며, 작은 객체 탐지에 유리하다.
장점과 단점
장점
실시간 처리 속도 단일 네트워크 패스로 전체 이미지를 처리하기 때문에 초당 수십~수백 프레임의 실시간 추론이 가능하다. 라이브 영상 스트림에서도 즉각적인 탐지를 수행할 수 있다.
전역 문맥 인식 (Global Context) 이미지를 그리드로 분할해 전체를 한 번에 보기 때문에, 배경과 객체의 관계를 전역적으로 파악한다. R-CNN처럼 패치별로 처리할 때보다 오탐(False Positive)이 적다.
높은 일반화 성능 자연 이미지뿐 아니라 예술 작품·위성 이미지·의료 영상 등 다양한 도메인에서도 합리적인 성능을 보인다.
통합 아키텍처 YOLOv8/YOLO11은 단일 프레임워크에서 탐지·세그멘테이션·포즈 추정·분류·추적을 모두 지원한다.
단점
소형 객체 탐지 취약 초기 버전(v1·v2)에서 그리드 해상도가 낮아 작은 객체를 놓치는 경향이 있었다. YOLOv3 이후 다중 스케일 탐지(FPN·PAN)로 개선됐으나 여전히 고밀도 소형 객체 탐지에는 한계가 있다.
비정상 종횡비 객체 훈련 데이터에서 보지 못한 특이한 가로세로 비율의 객체(매우 가늘고 긴 물체 등)는 바운딩 박스 예측 정확도가 떨어진다.
밀집 객체 처리 동일 그리드 셀 안에 여러 객체의 중심이 겹치면 일부 객체를 누락할 수 있다. 앵커프리 + 고해상도 입력으로 완화되고 있다.
학습 데이터 의존성 레이블이 정교하게 붙은 충분한 학습 데이터가 없으면 커스텀 클래스 성능이 급격히 떨어진다.
버전 히스토리
| 버전 | 연도 | 주요 혁신 |
|---|---|---|
| YOLOv1 | 2015 | 최초 단일 패스 탐지, S×S 그리드 방식 |
| YOLOv2 | 2016 | 배치 정규화, 앵커 박스, 차원 클러스터링 |
| YOLOv3 | 2018 | 다중 스케일 탐지, Darknet-53 백본 |
| YOLOv4 | 2020 | CSPNet 백본, 모자이크 증강, CIoU 손실 |
| YOLOv5 | 2020 | PyTorch 구현, 하이퍼파라미터 최적화, 자동 내보내기 |
| YOLOv6 | 2022 | Meituan 개발, 자율배송 로봇 최적화 |
| YOLOv7 | 2022 | E-ELAN 아키텍처, 포즈 추정 지원 |
| YOLOv8 | 2023 | Ultralytics 재설계, 앵커프리, 다중 태스크 |
| YOLOv9 | 2024 | PGI + GELAN, 정보 병목 문제 해결 |
| YOLOv10 | 2024 | End-to-End (NMS 제거), 청화대학 개발 |
| YOLO11 | 2024 | Ultralytics, 다중 태스크 최고 성능 |
YOLOv9: PGI + GELAN
- •PGI (Programmable Gradient Information): 역전파 시 정보 손실 방지
- •GELAN (Generalized Efficient Layer Aggregation Network): 더 가벼운 네트워크로 높은 정확도
YOLOv10: End-to-End 탐지
NMS를 제거하여 추론 파이프라인 단순화. 이중 할당 전략으로 학습·추론 분리.
지원 태스크
Ultralytics YOLOv8/YOLO11은 단일 프레임워크에서 6가지 태스크를 지원한다.
| 태스크 | 설명 | 출력 |
|---|---|---|
| 객체 탐지 | 바운딩 박스 + 클래스 예측 | [x,y,w,h, class] |
| 인스턴스 세그멘테이션 | 픽셀 단위 객체 마스크 | 마스크 + 박스 |
| 포즈 추정 | 인체 키포인트 좌표 | 17개 관절 좌표 |
| 방향성 박스(OBB) | 회전된 바운딩 박스 | 회전 각도 포함 박스 |
| 이미지 분류 | 이미지 전체 클래스 예측 | 클래스 확률 |
| 객체 추적 | 프레임 간 ID 유지 | ID + 박스 |
Ultralytics API 사용법
추론
커스텀 데이터셋 학습
CLI 사용
세그멘테이션·포즈 추정
YOLOv5/v8 스타일 헤드 구현
NMS (Non-Maximum Suppression)
같은 객체를 가리키는 중복 박스를 제거하는 후처리 과정.
손실 함수
- •IoU Loss → GIoU → DIoU → CIoU: 박스 예측 손실 점진적 개선
- •Focal Loss: 클래스 불균형 문제 완화 (RetinaNet에서 도입)
성능 벤치마크
| 모델 | mAP50-95 (COCO) | FPS (A100) | 파라미터 |
|---|---|---|---|
| YOLOv5n | 28.0 | ~1000 | 1.9M |
| YOLOv8n | 37.3 | ~573 | 3.2M |
| YOLOv9c | 53.0 | ~100 | 25.3M |
| YOLOv10n | 38.5 | ~835 | 2.3M |
| YOLO11n | 39.5 | ~900 | 2.6M |
| YOLO11x | 54.7 | ~100 | 56.9M |
mAP50-95: COCO val 기준, IoU threshold 0.50~0.95 평균 정밀도
모델 내보내기 (Export) 형식
| 형식 | 대상 플랫폼 | 특징 |
|---|---|---|
| ONNX | 범용 | 프레임워크 독립적 |
| TensorRT | NVIDIA GPU | 최고 GPU 추론 속도 |
| TFLite | 모바일/임베디드 | 경량화 |
| CoreML | Apple Silicon | iOS/macOS |
| OpenVINO | Intel CPU/VPU | Intel 하드웨어 최적화 |
| NCNN | 모바일 | Tencent 경량 프레임워크 |
평가 지표
| 지표 | 설명 |
|---|---|
| mAP@50 | IoU=0.5 기준 평균 정밀도 |
| mAP@50-95 | IoU 0.50~0.95 구간 평균 (COCO 표준) |
| Precision | 예측한 것 중 실제 정답 비율 |
| Recall | 실제 정답 중 탐지한 비율 |
| FPS | 초당 처리 프레임 수 |
활용 분야
| 분야 | 세부 활용 | 요구사항 |
|---|---|---|
| 자율주행·ADAS | 보행자·차량·신호등·차선 실시간 탐지. 충돌 경고·차선 이탈 감지 | 초저지연, 높은 리콜 |
| 보안·감시 | CCTV 영상에서 침입자·무기·이상 행동 자동 감지. 출입 통제 연동 | 24시간 연속, 야간 대응 |
| 스마트팩토리 품질 검사 | 제조 라인에서 불량품·스크래치·결함 자동 감지. 인간 검사자 대체 | 고정밀도, 고속 처리 |
| 의료 영상 분석 | CT·X-ray·내시경에서 병변·종양·폴립 자동 감지. 의사 의사결정 보조 | 높은 정밀도, 설명 가능성 |
| 리테일·유통 자동화 | 선반 재고 모니터링, 무인 계산대 상품 인식, 고객 동선 분석 | 실시간, 다양한 상품 클래스 |
| 드론·위성 영상 | 농작물 피해 탐지, 산불 감시, 군사 정찰 | 소형 객체, 광각 처리 |
| 스포츠 분석 | 선수·공·심판 추적, 전술 분석, 자동 하이라이트 생성 | 고속 움직임, 다중 추적 |
라이선스
| 라이선스 | 용도 |
|---|---|
| AGPL-3.0 | 교육·연구·오픈소스 프로젝트 |
| 엔터프라이즈 | 상업 제품 통합 시 필요 |
관련 개념
- •CNN — YOLO의 핵심 구성 요소
- •컴퓨터 비전 — YOLO의 응용 분야
- •딥러닝 — YOLO 학습 기반
- •전이 학습 — 사전학습 가중치 활용
- •모델 서빙 — YOLO 추론 서버 구성
- •Docker — YOLO 컨테이너화 배포
- •PyTorch — Ultralytics YOLO 구현 프레임워크
참고문헌
- 1.Redmon, J., et al. (2015). You Only Look Once: Unified, Real-Time Object Detection. CVPR 2016.
- 2.Redmon, J., & Farhadi, A. (2018). YOLOv3: An Incremental Improvement. arXiv.
- 3.Wang, C.-Y., et al. (2024). YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information. arXiv.
- 4.Wang, A., et al. (2024). YOLOv10: Real-Time End-to-End Object Detection. arXiv.
- 5.JaylenHan. (2024). YOLO 완벽 가이드. Tistory.
- 6.Ultralytics. YOLO11 Documentation. https://docs.ultralytics.com