YOLO v1 개요
-
YOLO v1 모델은 기존의 2-stage detector 방식(R-CNN 계열 등)과 달리, 단일 신경망을 사용하여 입력 이미지에서 객체 위치(localization)와 분류(classification)를 동시에 수행하는 1-stage detector 접근 방식을 제안함.
-
당시 정확도(mAP)는 2-stage detector인 Faster R-CNN 보다 부족하였지만, 이미지 전체를 한 번만 보고 예측하므로(You Only Look Once), 매우 빠른 실시간 객체 탐지 속도를 달성하여 딥러닝 기반 실시간 객체 탐지 모델의 표준을 제시함.
-
Paper: You Only Look Once: Unified, Real-Time Object Detection (CVPR 2016)
Key-Points

- localization과 classification을 하나의 문제로 정의하여 network가 동시에 두 task를 수행하도록, 이미지를 지정한 grid로 나누고, 각 grid cell이 한번에 bounding box와 class 정보라는 2가지 정답을 도출하도록 함.
- 또한 각 grid cell에서 얻은 정보를 feature map이 잘 encode할 수 있도록 독자적인 Convolutional Network인 DarkNet을 도입함.
- 이를 통해 얻은 feature map을 활용하여 자체적으로 정의한 regression loss를 통해 전체 모델을 학습시킴.
1-stage detector
- YOLO v1은 별도의 region proposals를 사용하지 않고 전체 이미지를 입력에 사용하며, 이를 통해 selective search를 사용한 Fast R-CNN에 비해 background error(배경 이미지를 배경이라고 정확하게 인식)를 두 배 이상 줄였다.
- 또한, 전체 이미지에 대하여 학습을 하기 때문에 다른 도메인에서도 좋은 성능을 보인다. (일반화)
Grid Cell
- 입력 이미지를 (S x S) 크기의 grid로 분할하고, 각 grid cell 마다
- CNN의 마지막 feature map의 공간 차원이 곧 그리드