2025. 3. 3. 12:25ㆍIT/AI
YOLO(You Only Look Once)는 실시간 객체 탐지(Object Detection)를 위한 딥러닝 기반 알고리즘으로, 2016년 Joseph Redmon이 처음 제안했습니다. YOLO는 기존의 R-CNN 계열 방식(Faster R-CNN 등)보다 빠르고 효율적으로 객체를 탐지할 수 있어 실시간 컴퓨터 비전 애플리케이션에서 널리 사용됩니다.
YOLO
YOLO는 이미지에서 한 번의 전처리만으로 객체의 위치와 클래스를 동시에 예측하는 End-to-End 방식의 딥러닝 객체 탐지 모델입니다.
🔹 기존 방식(R-CNN, Faster R-CNN)과 차이점
R-CNN 계열: 이미지에서 후보 영역(Region Proposal)을 생성한 후, CNN을 여러 번 실행하여 객체를 탐지
YOLO: 전체 이미지를 한 번(One Shot)만 보고 객체 위치와 클래스 정보를 동시에 예측
🔹 YOLO의 장점
- 매우 빠름 – 실시간 탐지가 가능 (수백 FPS)
- End-to-End 학습 가능 – 한 번의 신경망 실행만으로 객체 탐지
- 전역(Context) 정보 활용 가능 – 이미지를 한 번에 처리하여 객체 간 관계를 더 잘 파악
⛔ YOLO의 단점
- 작은 객체 탐지 성능이 낮음 – 그리드 기반 방식이므로 작은 물체를 놓칠 가능성이 있음
- 경계 박스 정확도(R-CNN 대비 약간 낮음) – 중심 기반 탐지 방식이므로 박스 위치가 정확하지 않을 수 있음
YOLO의 동작 원리
YOLO는 이미지를 S×S 크기의 그리드(Cell)로 나눈 후, 각 셀에서 객체를 예측하는 방식으로 작동합니다.
🔹 YOLO의 예측 방식
- 입력 이미지 크기: 416×416 또는 608×608 픽셀
- CNN을 사용하여 이미지를 특징 맵으로 변환
- 이미지를 S×S 그리드(Cell)로 분할 (예: S=7 → 7×7 그리드)
- 각 셀에서 B개의 바운딩 박스와 신뢰도 예측
- 높은 신뢰도를 가진 바운딩 박스를 선택하고, Non-Maximum Suppression(NMS)을 적용하여 최종 탐지 결과 도출
💡 출력 예측 값
- 각 그리드 셀은 (x, y, w, h, confidence, class probabilities) 형태로 예측
- (x, y) → 바운딩 박스 중심 좌표
- (w, h) → 바운딩 박스 크기
- confidence → 박스 안에 객체가 있을 확률
- class probabilities → 객체의 클래스 확률 분포
YOLO의 주요 버전 및 발전 과정
YOLO는 여러 차례 업그레이드되면서 속도와 정확도가 개선되었습니다.
| YOLO 버전 | 주요 특징 | FPS (속도) | mAP (정확도) |
| YOLOv1 (2016) | 최초 버전, 빠른 속도, 정확도는 낮음 | 45 FPS | 63.4% |
| YOLOv2 (2017) | 앵커 박스 도입, 성능 향상 | 67 FPS | 76.8% |
| YOLOv3 (2018) | 다중 스케일 예측, 더 깊은 네트워크 | 30-60 FPS | 81.5% |
| YOLOv4 (2020) | CSPDarknet, 데이터 증강 기법 추가 | 30-60 FPS | 89.0% |
| YOLOv5 (2021) | PyTorch 기반, 경량화 모델 추가 | 140+ FPS | 90.0% |
| YOLOv7 (2022) | 속도-정확도 최적화, 최신 연구 반영 | 160+ FPS | 91.5% |
| YOLOv8 (2023) | 성능 최적화 및 최신 기능 추가 | 170+ FPS | 92.0% |
💡 YOLOv8 최신 버전은 이전 모델 대비 정확도와 속도가 모두 향상됨.
YOLO의 활용 사례
YOLO는 다양한 실시간 객체 탐지 분야에서 활용됩니다.
📌 자율주행 자동차 🚗
- 보행자, 차량, 신호등, 도로 표지판 탐지
- 실시간 위험 감지 및 경로 계획
📌 보안 및 감시 시스템 🔍
- CCTV 영상 분석 및 침입 탐지
- 무단출입 감지 및 경고 시스템
📌 의료 영상 분석 🏥
- CT, MRI, X-ray 영상에서 종양 및 질병 탐지
- 내시경 영상에서 병변 감지
📌 스마트 팩토리 및 산업 자동화 🏭
- 공장에서 부품 및 제품 탐지
- 품질 검사 및 불량품 분류
📌 5. 스포츠 분석 ⚽
- 선수 및 공의 움직임 추적
- 경기 중 이벤트 분석 (예: 골, 오프사이드 판정)
YOLO 사용 방법
YOLO는 Python과 PyTorch 또는 TensorFlow를 이용해 쉽게 사용할 수 있습니다.
YOLOv8 실행 예제 (Ultralytics 라이브러리 활용)
# YOLOv8 설치
!pip install ultralytics
# YOLOv8 불러오기
from ultralytics import YOLO
# 사전 학습된 YOLOv8 모델 로드
model = YOLO("yolov8n.pt")
# 이미지에서 객체 탐지
results = model("test.jpg")
# 결과 시각화 results.show()
YOLO를 사용한 웹캠 실시간 객체 탐지
# 실시간 웹캠 탐지 실행
model.predict(source=0, show=True)
YOLO와 다른 객체 탐지 모델 비교
YOLO는 다른 딥러닝 기반 객체 탐지 모델과 비교했을 때 속도와 정확성에서 강점을 가집니다.
| 모델 | 방식 | 속도(FPS) | 정확도(mAP) | 특징 |
| Faster R-CNN | 2-Stage | 7~17 FPS | 86% | 높은 정확도, 느린 속도 |
| SSD | 1-Stage | 22~59 FPS | 79% | 중간 속도 및 정확도 |
| YOLO | 1-Stage | 45~170 FPS | 90%+ | 실시간 탐지 가능, 빠름 |
| EfficientDet | 1-Stage | 20~50 FPS | 92% | 정확도 높음, 속도 중간 |
앞으로의 전망
✅ YOLO의 정확도와 속도는 계속 발전 중
✅ 경량화 및 모바일 적용 가능성 증가
✅ AI + YOLO 융합을 통한 더 정교한 탐지 가능 (예: AI 기반 자율주행, 스마트 시티 등)
'IT > AI' 카테고리의 다른 글
| MS 드래곤 코파일럿 : 의료진을 위한 AI 음성 어시스턴트 (3) | 2025.03.04 |
|---|---|
| 온 디바이스 기반 생성형 AI 활용 사례 (5) | 2025.03.04 |
| 데이터 시각화의 혁신적인 도구, 타블로, chatGPT와 활용방안 (10) | 2025.03.03 |
| GPT-4.5 출시! 어떤 점이 달라졌을까? (8) | 2025.03.01 |
| Google Colab의 정의, 특징, 사용법에 대해 (2) | 2025.02.28 |