Object detection에 많은 영향을 끼친 대표적인 논문이다. 

 

Joseph Redmon 이라는 수학자? 엔지니어? 가 쓴 논문으로써 기존에 쓰이던 Two-stage가 아닌 One-stage 방식으로  detection을 한다 

 

One-stage Two-stage에 대한 설명은 다음 블로그에 설명해 놓았다.

https://house-of-e.tistory.com/entry/1-Image-detection-One-stage-Two-stage

 

(1) Image detection - One-stage, Two-stage

1. One-stage Detector Regional proposal(영역 제안)과 classification(분류)을 동시에 수행한다 대표적으로 YOLO(You Only Look Once)가 있다 - 당신은 한번만 본다 라는 이름 자체의 뜻처럼 이미지를 한번만..

house-of-e.tistory.com

또한 Anchor based detection 방식으로 기존에 설정해 놓은 anchor 크기 만큼의 물체를 검출한다.

 

기존의 Two-stage 방식은 이미지 분류와 크기 예상의 과정이 나눠저 있엇 복잡도가 증가하고 (느리고) 최적화가 어려웠다. 

 

training, test에서 YOLO는 한장의 이미지를 부분 부분 나눠서 검출하는 방식이 아닌 한 이미지 전체를 보고 객체를 검출하는 방법에서 실제 사람이 물체를 보는 방식과 닮아있다

 

YOLO에서는 기본적으로 하나의 이미지를 S 개의 grid cell로 나눈다 

그리고 나서 해당 grid cell마다 어떤 클래스가 해당하는지, 어떤 크기의 객체가 존재하는지 검출한다.

각 grid cell 마다 정해놓은 하이퍼파라미터 만큼의 bounding box를 예측하게 되고 - 논문에서는 2개

그리고 나서 어떤 임계값을 기준으로 임계값보다 낮은 anchor boxes 를 지운다.

예를 들어 416x416의 이미지가 인풋으로 들어가면 conv layer와 FCL(Fully Connected Layer)을 거친 후 7x7의 grid cell이 나오게 되고 하나의 grid cell마다 각각 어떤 클래스가 있을지 하는 class probability 와 객체가 있는지 없는지에 대한 confidence와 anchor box의 좌표값을 grid cell에 비례하여 0~1 사잇값으로  나오게 된다 

 

YOLOv1 의 layer는 다음과 같이 쌓았으며 해당 layer는 GoogLeNet 모델을 따랐다

 

학습에는 ImageNet 1000-class competitiom dataset을 이용하였고  

처음 20개의 conv layer는 pretraining된 weight를 사용하였고 

모든 학습 과정에는 Darknet이라는 Joseph Redmon 본인이 만든 framework를 이용하였다

 

마지막 output layer에서는 linear actication function 를 이용하였고 다른 모든 layer에서는 leaky relu를 이용하였다 

Leaky relu의 0 이하의 값에 대해서는 0.1을 곱한 값을 사용했다

또한 기존에 쉽게 사용할 수 있는 sum-squared error를 이용할 때 
전체 이미지에서 grid cell에 객체가 없을 확률이 높아 해당 cell들의 confidence가 대부분 0이 되어버리면 학습이 불안정해지는 문제가 있다 - 수렴하지않고 발산할 위험이 있다. 

객체가 없는 grid cell에 대하여 추가적인 하이퍼파라미터를 추가하여 발산 문제를 줄였다 - 람다 noobj = x0.5

또한 큰 bounding box와 작은 bounding box에 대하여 같은 error를 적용하면 작은 bounding box는 더 작은 error가 적용될 수밖에 없다. 그래서 bounding box 의 크기에 대한 loss를 계산할 때는 root 를 추가하여 서로 비슷한 loss를 가질 수 있도록 하였다 - 람다 coord = x5 

정답데이터와 가장 높은 IoU를 가진 bounding box에 대해서만 loss를 적용하였다 - 1 obj ij

 

 

https://arxiv.org/abs/1506.02640

 

You Only Look Once: Unified, Real-Time Object Detection

We present YOLO, a new approach to object detection. Prior work on object detection repurposes classifiers to perform detection. Instead, we frame object detection as a regression problem to spatially separated bounding boxes and associated class probabili

arxiv.org

 

+ Recent posts