You Only Look Once(YOLO)는 합성곱 신경망 기반의 실시간 객체 탐지 시스템 시리즈이다. 2015년 Joseph Redmon과 동료들에 의해 처음 소개된 YOLO는 여러 차례의 반복과 개선을 거쳐 가장 널리 사용되는 객체 탐지 프레임워크 중 하나가 되었다. "You Only Look Once"라는 이름은 알고리즘이 예측을 수행하기 위해 신경망을 통한 단 한 번의 순방향 전파만 필요하다는 사실을 의미하며, 이는 R-CNN과 같은 이전의 지역 제안 기반 기법이 단일 이미지에 대해 수천 번의 전파를 필요로 했던 것과 대조적이다.
YOLO는 객체 탐지를 단일 회귀 문제로 구성하여 이미지 픽셀에서 경계 상자 좌표와 클래스 확률을 직접 예측한다. 이 접근 방식은 여러 이미지 영역과 스케일에 분류기를 적용했던 초기 방법들과 대비되며, YOLO를 경쟁력 있는 정확도를 유지하면서도 훨씬 더 빠르게 만든다.
개요
R-CNN 및 OverFeat과 같은 이전 방법과 비교하여 YOLO는 모델을 여러 위치와 스케일에서 실행하는 대신 전체 이미지에 단일 신경망을 적용한다. 네트워크는 이미지를 영역의 격자로 나누고 각 영역에 대한 경계 상자와 클래스 확률을 예측한다. 이러한 경계 상자는 예측된 확률로 가중치가 부여되어 모델이 한 번의 전파로 최종 탐지 결과를 출력할 수 있게 한다.
OverFeat
OverFeat은 객체 분류와 위치 파악을 동시에 수행한 초기 영향력 있는 모델로, YOLO의 선구자 역할을 했다. 그 구조는 AlexNet과 같은 이미지 분류 전용 신경망을 훈련하는 것을 포함했다. 훈련된 네트워크의 마지막 레이어는 제거되었고, 가능한 모든 객체 클래스에 대해 마지막 레이어에 회귀 네트워크가 초기화되었다. 기본 네트워크의 매개변수는 고정되었고, 회귀 네트워크는 객체 경계 상자의 두 모서리 좌표를 예측하도록 훈련되었다.
추론 중에는 분류 훈련된 네트워크가 동일한 이미지에 대해 다양한 확대 수준과 잘라내기로 실행되었다. 각 실행에 대해 클래스 레이블과 확률이 출력되었다. 각 출력은 해당 클래스의 회귀 네트워크에 의해 처리되어 수천 개의 클래스 레이블과 확률을 가진 경계 상자가 생성되었다. 이러한 상자는 단일 클래스 레이블을 가진 하나의 상자만 남을 때까지 병합되었다. 이 다중 스케일 접근 방식은 계산 비용이 높아 YOLO와 같은 더 효율적인 방법의 필요성을 촉발했다.
버전
YOLO 시리즈는 두 부분으로 구성된다. 원래 부분은 YOLOv1, v2, v3를 포함하며 모두 Joseph Redmon이 유지 관리하는 웹사이트에 공개되었다. 이후 버전인 YOLOv4 이상은 다른 연구자들에 의해 개발되었으며 프레임워크의 기능을 확장했다.
YOLOv1
2015년에 소개된 원래 YOLO 알고리즘은 이미지를 S × S 격자 셀로 나눈다. 객체의 경계 상자 중심이 격자 셀에 속하면 해당 셀이 그 객체를 "포함"한다고 말한다. 각 격자 셀은 B개의 경계 상자와 해당 상자에 대한 신뢰 점수를 예측한다. 이러한 신뢰 점수는 모델이 상자에 객체가 포함되어 있다고 확신하는 정도와 상자가 얼마나 정확하다고 생각하는지를 반영한다.
더 자세히 설명하면, 네트워크는 S² 패치 각각에 대해 동일한 합성곱 연산을 수행한다. 각 패치에 대한 출력은 조건부 클래스 확률, 경계 상자 좌표 및 신뢰 점수를 포함하는 튜플이다. 구체적으로 각 셀에 대해 네트워크는 셀이 클래스 i의 객체를 포함한다는 조건부 확률 p_i를 출력하며, 이는 셀이 적어도 하나의 객체를 포함한다는 조건 하에 계산된다. 또한 각 B 상자에 대해 중심 좌표 (x_j, y_j), 너비 w_j, 높이 h_j, 그리고 실제 값과의 예측 교집합 대 합집합(IoU)을 나타내는 신뢰 점수 c_j를 출력한다.
각 셀에 대해 여러 경계 상자가 예측되어 각 예측이 특정 형태에 특화될 수 있게 한다. 예를 들어, 가느다란 객체는 한 상자로 예측되고 뚱뚱한 객체는 다른 상자로 예측될 수 있다. 네트워크 구조는 24개의 합성곱 레이어와 2개의 완전 연결 레이어로 구성된다.
훈련 중에는 실제 값 경계 상자를 포함하는 각 셀에 대해 실제 값과 가장 높은 IoU를 가진 예측 상자만 경사 하강에 사용된다. 좌표는 실제 값에 접근하도록 훈련되고, 올바른 클래스의 확률은 1로, 다른 클래스 확률은 0으로 밀어낸다. 셀에 실제 값 객체가 없으면 신뢰 점수가 0으로 훈련되어 오탐지를 줄인다.
영향과 유산
YOLO의 단일 전파 설계는 실시간 객체 탐지의 돌파구가 되어 비디오 감시, 자율 주행 및 로봇 공학 분야의 응용을 가능하게 했다. 그 속도와 단순성은 수많은 후속 연구와 변형을 영감시켰으며 컴퓨터 비전의 기초 모델로서의 위치를 확고히 했다. 원래 YOLO 논문은 널리 인용되었으며 프레임워크는 실시간 탐지 시스템의 벤치마크로 남아 있다.
관련 개념
YOLO는 합성곱 신경망을 기반으로 구축되었으며 이후 버전에서는 배치 정규화 및 데이터 증강과 같은 기술의 이점을 활용한다. 그 개발은 딥러닝 및 머신러닝의 더 넓은 분야의 일부이며, 여기에는 다른 시각 작업을 위한 잔차 네트워크 및 U-Net도 포함된다. YOLO의 효율성은 엣지 장치 및 클라우드 플랫폼에서의 인공지능 응용에도 영향을 미쳤다.