
YOLO(You Only Look Once) 모델은 실시간 객체 탐지(Object Detection)를 위해 설계된 딥러닝 객체 인식 모델이다. 기존 객체 검출 방식은 2-Stage Detector 구조의 한계로 여러 단계의 파이프라인을 거쳐야 하기에 처리 속도가 느렸다. 또한, 각 단계마다 별도로 최적화가 필요하여 전체 시스템의 복잡도가 높았다. 이를 극복하기 위해 YOLO 모델은 객체 검출을 단일 회귀 문제로 재정의하고 전체 검출 파이프라인을 하나의 신경망으로 구성하여 한 번에 학습하고 최적화하는 방식으로 접근한다.

YOLO 모델의 구성은 Dark Net 기준 24개의 Convolution Layer와 2개의 FCL로 이루어져 있다. FCL은 일반적으로 448448 크기의 이미지를 입력으로 받아 SS(PASCAL VOC 데이터셋의 경우 7*7)그리드로 나누고, 각 그리드 셀이 B개의 Bounding Box와 5개의 값(중심좌표(x,y), width, height, 신뢰도)으로 위치를 예측한다. 또한 각 셀별로 C개의 클래스에 대한 확률도 예측하는 2개의 완전 연결 계층을 사용한다.

이후 개별 클래스 별로 NMS(Non Max Suppression)을 수행하여 Confidence 와 IoU 임계값으로 필터링하여 겹치는 박스를 제거한다. 이러한 접근법을 통해 YOLO는 단일 네트워크 구성으로 빠른 처리속도와 전체 이미지를 처리하여 전역 문맥을 반영하여 다양한 도메인에서 뛰어난 일반화 능력을 가지는 장점이 있다. 그러나 단일 회귀 방식이기에 위치 예측의 정밀도가 부족하다는 점과 그리드 셀 당 예측 가능한 객체 수가 제한된다는 점, 작은 객체일수록 손실함수의 오차가 상대적으로 크게 작용하여 탐지가 어렵다는 단점이 있다.