2016 CVPR에 발표된 You Only Look Once: Unified, Real-Time Object Detection 논문에 대한 내용으로 YOLO 시리즈의 첫 번째 논문 YOLO v1 이라고도 많이 불립니다. 객체 탐지 분야의 유명한 논문으로, 논문 발표 당시 주로 사용되던 2 stage object detection 방법을 대신하여 입력 이미지를 CNN으로 추출해 바로 계산하는 1 stage object detection 방법을 제안하는 논문입니다. 기존의 Classifier 방식을 공간적으로 분리된 Bounding box와 관련된 Class 확률에 대한 regression 문제로 재정의하여 2 stage detector들과 성능이 비슷하면서도 훨씬 빠른 속도를 가지고, 일반화 능력이 좋아 다른 도메인에서도 잘 동작하는 새로운 방법론을 소개합니다.
You Only Look Once: Unified, Real-Time Object Detection
Abstract
본 논문에서는 YOLO로 불리는 객체 탐지의 새로운 접근법에 대해 소개합니다. 이전 객체 탐지에서는 Classifier를 따로 만들어 사용하는 2 stage 모델을 흔히 사용하였습니다. 본 논문에서는 Box Regression과 Class 의 확률 예측을 동시에 수행하는 방법을 제안합니다. 전체 Detection pipeline이 단일 네트워크인 ene-to-end 방식이기 때문에 논문의 이름처럼 한 번만 모델을 거치면 위치와 Class 를 모두 알 수 있게 되는 것입니다. 이 모델 구조의 장점을 빠르다는 것인데 YOLO 모델의 경우 45 fps, Fase YOLO 의 경우 155 fps 를 나타내며 심지어 정확도 측면에서도 다른 모델들과 비슷한 mAP(mean Average Precision)를 보였습니다.
1. Introduction
사람은 이미지를 보자마자 빠르고 정확하게 어떤 물체가 있고, 어디에 있는지, 어떻게 상호작용하고 있는지를 파악할 수 있습니다. 사람처럼 작동하기 위해서는 빠른 속도가 중요하지만 현재의 Detection 알고리즘들은 Classifier를 따로 사용하기 때문에 속도가 느려질 수 밖에 없습니다. 최근의 접근법 중 R-CNN 계열의 경우 Bounding boxes 를 생성하고, Classifier를 사용하는 2 stage 구조를 사용할 뿐 아니라, 분류 이후에도 중복 탐지를 제거하거나 rescore 등의 Post-Processing 도 진행하기 때문에 속도가 느리고 복잡하다는 단점이 있었습니다. 이를 해결하기 위해 Class와 Box를 동시에 찾아내는 모델을 설계하였고 Figure 1의 과정으로 동작합니다.
이렇게 설계된 모델은 3가지의 장점을 가집니다.
1) 매우 빠른 속도
Object Detection 이라는 회귀 문제임에도 불구하고 복잡한 파이프라인을 가지지 않습니다. Titan X GPI 에서 45 FPS, 경량화 모델은 150 FPS 의 성능을 보였는데 이것이 뜻하는 바는 충분히 Real-time Task 에 사용 가능하다는 것을 의미합니다. 또한 정확도 측면에서도 다른 모델보다 2배 가량 높은 성능을 보였습니다.
2) 이미지의 전체적인 부분을 통해 물체를 예측
Fase R-CNN에서 활용되는 RPN(Region Propasal Network) 와는 다르게 YOLO는 이미지 전체를 보고 클래스에 대한 contextual information 을 더 잘 학습합니다. Fast R-CNN의 경우 Region만 보기 때문에 Background에 대한 Error가 많이 발생했습니다. 반면 YOLO는 전체를 보면서 학습하기 때문에 이러한 Error 가 절반 이하로 줄어들었습니다.
3) 물체의 특징을 학습할 때 일반화가 잘된다.
natural image 로 학습하고, art work 와 같은 test image 를 통해 검증하였을 때 YOLO는 DPM이나 R-CNN 보다 더 좋은 결과를 나타냈습니다. 즉 Generalization 이 잘 되었다고 할 수 있으며 일반적인 사진으로 학습을 진행했을 때 처음 보는 사진에 대해서도 높은 성능을 나타낸다는 것을 의미합니다.
2. Unified Detection
본 논문에서는 object detection 을 수행하던 여러 요소들을 하나로 통합하였습니다. 전체 이미지를 통해 feature를 추출하고, 그를 이용해 각 Bouding Box를 예측합니다. 또한 Bounding box 와 Class 를 동시에 찾을 수 있도록 네트워크를 구성했습니다. YOLO는 정확도는 유지하며 속도를 빠르게 하였고, end-to-end 학습이 가능하도록 하였습니다.
이 시스템은 입력 이미지를 $S\times S$ grid로 나누어 Object의 중심이 Grid cell에 들어가게 되면 그 Grid cell을 이용하여 object detection을 진행합니다. 각 Grid cell은 $B$개의 Bounding Box와 각 Box의 Confidence Score 를 예측합니다. 이 때 Confidence score는 Box 안에 물체가 있을 확률과 Box가 예측한 값이 얼마나 정확하다고 판단하는지에 대한 값이 반영됩니다. 구하는 식은 아래와 같습니다.
$$ \text{Pr(Object)} * \text{IOU}_{\text{truth}}^{\text{pred}}$$
각 Bounding Box 는 $x$, $y$, $w$, $h$, $\text{Confidence}$ 라는 5개의 예측값으로 구성됩니다. $(x, \ y)$는 Box 의 Center 좌표를 의미하고, $w$와 $h$는 각각 너비와 높이입니다. Confidence 는 Ground truth Box와 Predicted Box의 IOU(Intersection over Union의 약어로 머신러닝의 객체 탐지 분야에서 2개의 영역이 "얼마나 겹쳐져 있는가"를 표시하는 지표)를 나타냅니다.
각 Grid cell 은 $C$개의 조건부 확률을 예측하는데 이는 Object가 존재할 때 Class에 대한 확률을 의미합니다. ( $\text{Conditional Class Probability}$ )
$$ \text{Pr(Class}_i|\text{Object)} $$
Bounding Box의 갯수와 상관없이 각 Grid cell당 하나의 Class 확률 분포를 구하게 됩니다. Test를 할 때는 조건부 확률과 Confidence score를 곱해줍니다. ( $\text{Conditional Class Probability * Confidence score = Class Specific Confidence Score}$ )
$$ \text{Pr(Class}_i | \text{Object}) * \text{Pr(Object)} * \text{IOU}_{\text{truth}}^{\text{pred}} = \text{Pr(Class}_i ) * \text{IOU}_{\text{truth}}^{\text{pred}} $$
위처럼 계산을 하게 되면 Class 별 Confidence score 가 나오게 됩니다. Class와 Object의 Joint Probability 가 되어야 하지 않냐고 생각할 수 있지만 Object가 존재해야 Class가 존재하므로 이 둘의 관계는 포함관계에 속합니다. 결론적으로 위 식은 Class에 대한 확률도 포함하지만 Object에 제대로 맞게 Box를 예측했는지에 대한 정보도 함께 포함되어 있습니다.
2.1. Network Design
이 모델은 PASCAL VOC Detection dataset에 대해 실험되었습니다. 모델 초반의 Convolution Layer는 Feature Extractor 의 역할을 하고, Fully Connected Layer는 확률과 위치 좌표를 예측하는 역할을 합니다. 모델의 아키텍처는 GoogLeNet 이미지 분류 모델에서 착안되었습니다. 24개의 Convolution Layer와 2개의 FC Layer를 사용하였고 Inception Module 대신 $1\times1$의 Reduction Layer만 사용하고 $3\times3$ Convolution 을 사용하였습니다.
또한 Fast version YOLO 도 학습하였는데 이 모델은 24개가 대신 9개의 Convolution Layer 만 사용하였고, Filter의 개수 또한 적게 사용되었습니다. PASCAL VOC Dataset 에 대한 최종 출력은 $7\times7\times30$ 이 됩니다.
2.2. Training
우선 Convolution Layer 들을 ImageNet Dataset에 대해 Pretrain 을 진행했습니다. 이 때 앞 20개의 Convolution Layer 에 대해서만 학습을 진행하고 뒤에 Average Pooling과 FC Layer를 붙여 Classification 모델을 만든 뒤에 학습을 진행하였습니다. 모든 학습과 추론 과정에서 Darknet framework 를 사용했습니다.
이 후 모델을 detection 모델로 전환하여 20개의 Layer 이후 4개의 Convolution Layer 와 2개의 FC Layer를 추가하였습니다. 또한 Input Resolution 을 기존의 $224\times224$에서 $448\times448$ 로 증가시켰습니다.
결론적으로 마지막 Layer는 물체의 확률과 위치를 모두 예측하게 됩니다. Bounding box의 $w$와 $h$를 입력 영상의 Width와 Height 로 나누어 정규화를 진행하여 $0~1$ 값을 가지도록 만들었고 Bounding Box의 $x$, $y$는 Grid cell 위치의 Offset으로 지정하였습니다. 마지막 Layer에만 Linear Layer를 사용하고 나머지 모든 Layer는 leaky ReLU 를 사용하였습니다.
$$ \varphi (x)=\begin{cases}x,\ \quad \ \ \ \ \ \ \text{if}\ >\ 0\\0.1x\quad \ \ \ \ \text{otherwise}\end{cases} $$
Optimaization 을 쉽게 하기 위해 SSE(Sum-Squared Error) 를 사용하였습니다. 그러나 이 방법은 평균 정확도를 최대화 하는 목표에는 완벽하지 않은 방법입니다. Localization Error와 Classification Error가 동일한 크기의 Loss가 발생하지 않기 때문인데, Loss가 클 수록 그 방향으로 학습을 하려고 하기 때문입니다. 모든 사진의 대부분의 Grid cell 에 Object가 없는 경우가 많기 때문에 Confidence score 는 대부분 0이 나오게 됩니다. 그래서 Object가 있는 Cell 에서 생긴 Gradient가 무시될 수 있습니다(논문에서는 zero cell이 often overpowering 한다고 표현).
이를 해결하기 위해 Bounding Box 좌표에 대한 Loss를 증가시키고 Object가 없는 Box의 Confidence 에 대한 Loss 를 감소시킬 것입니다. 이를 위해 파라미터 $\lambda_{coord}$, $\lambda_{noobj}$ 를 사용하였으며 $\lambda_{coord} = 5$, $\lambda_{noobj}=0.5$로 설정하였습니다.(Bounding Box Loss 는 5배, Object 없는 Box의 Confidence Loss 를 0.5배로 만들었다는 말입니다) 또한 SSE는 큰 Box와 작은 Box는 작은 차이로 생기는 변화로 생기는 Loss 값이 다를 수 밖에 없습니다. 큰 박스는 작은 변화에 Loss 변화가 크지 않지만, 작은 박스는 작은 변화에도 큰 Loss 변화가 생깁니다. 이를 방지하기 위해 Width와 Height를 예측할 때, 루트를 씌운 값을 예측하도록 하였습니다.
YOLO는 Grid cell 당 여러 개의 Bounding Box를 찾습니다. 하지만 학습할 때에는 Object 당 하나의 Bounding Box만 사용해야 하기 때문에 가장 IOU가 높은 것을 선택하여 학습을 진행합니다. 이렇게 학습을 진행하여 정확한 크기와 Ratio, Class, Recall 측면에서 성능이 개선된 결과를 얻어낼 수 있었습니다.
Loss function 은 다음과 같의 정의하였습니다.
$\mathbb{1}_i^{obj}$는 object가 나타난 $i$번째 cell을 의미하고(즉, Grid cell $i$ 안에 객체가 존재하는지의 여부를 나타낸다. 존재하면 1, 아니면 0) $\mathbb{1}_{ij}^{obj}$는 object가 존재하는 $i$번째 Cell 에 있는 $j$번째 Bounding Box 를 의미합니다. $\mathbb{1}_{ij}^{noobj}$는 object가 존재하지 않는 $i$번째 Grid cell의 $j$번째 Bounding Box를 의미합니다.
위 식을 위에서부터 순서대로 전개 과정을 설명하면 1번째 줄은 Object 가 존재하는 Grid cell $i$의 Predictor bounding box $j$에 대해 $x$와 $y$의 Loss 를 계산한 식입니다. $\lambda_{coord}$는 위에서 언급했던 Loss에 덧붙이는 가중치입니다.
2번째 줄은 Object 가 존재하는 Grid cell $i$의 Predictor bounding box $j$에 대해 $w$와 $h$의 Loss 를 계산한 식입니다. 위에서 언급한 내용으로 큰 박스와 작은 박스는 변화에 대한 Loss 변화의 정도가 다르기 때문에 제곱근을 취한 후 SSE를 계산합니다.
3번째 줄은 Object가 존재하는 Grid cell $i$의 Predictor bounding box $j$에 대해 Confidence score의 Loss 를 계산하는 식입니다. 이 때 Object가 존재하므로 $C_i=1$이 됩니다.
4번째 줄은 Object가 존재하지 않는 Grid cell $i$의 Predictor bounding box $j$에 대해 Confidence score의 Loss 를 계산하는 식입니다. 이 때 Object가 존재하지 않으므로 $C_i=0$이 됩니다.
5번째 줄은 Object가 존재하는 Grid cell $i$의 Conditional class probability의 Loss 를 계산하는 식입니다. Correct class c에 대해 $p_i(c) = 1$, 나머지에 대해서는 $p_i(c)=0$ 이 됩니다.
또한 처음 $S\times S$의 Grid 로 구성되어 있다고 했으므로 $\sum_{i=0}^{S^2}$ 이 의미하는 것은 모든 Grid cell 에 대해 연산을 진행한다는 의미입니다.
위 식을 통해 알아낼 수 있는 추가적인 의미는 Classification 의 경우 Object가 Grid cell 에 존재할 때만 포함되고( 없는 경우의 연산은 0이기 때문에 연산값이 0이 나오므로 ), Bounding Box cordinate Loss (x, y에 대한 Loss)에 대해서는 1개의 Bounding Box만 사용되는 것을 알 수 있습니다. (가장 IOU가 높은 Grid 에 대해서 )
2.3. Inference
YOLO는 1 stage 모델이기 때문에 Inference Time에도 좋은 성능을 보입니다. Grid cell을 사용하면서 공간의 다양성을 확보하여 Bounding Box Prideiction의 성능을 높였습니다. 대부분의 경우 하나의 Object가 속하는 Grid cell 이 명확하고 하나의 Bounding Box가 사용되지만, 몇몇의 큰 Object나 경계 근처에 있는 Object는 여러 개의 Cell을 이용해야 Localization이 잘 될수 있습니다. 이렇게 여러 개의 Cell을 사용하는 경우에는 고정을 위해 Non-maximal suppression(NMS) 이 사용됩니다.
2.4. Limitations of YOLO
YOLO는 Bounding Box의 공간적 제약이 존재하는데, 각 Grid cell마다 2개의 Box와 1개의 Class 만 예측할 수 있다는 점입니다. 그렇기 때문에 근접해 있는 물체나, 작고 무리를 지어 다니는 물체를 찾기 어렵습니다. 또한 새로운 사진이나 특이한 비율의 사진이 들어오면 객체를 찾고 일반화 하는 작업이 어렵습니다. Bounding Box의 크기마다 Error의 크기 또한 달라지게 되는데, 가중치를 두더라도 IOU로 인해 작은 Box일 수록 작은 변화에도 Error가 커지는 문제는 여전히 존재합니다.
3. Comparison to Other Detection Systems
Detection pipeline 은 일반적으로 입력 이미지로부터 features들을 추출하는 것으로 시작됩니다. 그러면 classifier나 localizer가 feature space에서 object를 구별합니다. 이러한 Classifier와 Localizer 들은 Sliding Window를 사용하며 Feature 전체를 보거나 특정한 영역을 확인하여 예측합니다. 아래에서는 YOLO 와 논문 발표 당시의 SOTA 모델들과의 비교합니다.
Deformable parts models.
DPM(Deformable Parts Models) 는 Sliding Window를 이용하여 Object detection 을 하는 모델입니다. DPM은 Feature Extractor, Classification Region, Prediction Bounding Box로 파이프 라인을 나눕니다. 반면 YOLO 는 이 모든 부분을 하나의 Network 로 만들었습니다. 이 Network는 Feature Extraction, Bounding Box Prediction, NMS 등을 한 번에 진행하며 YOLO 아키텍쳐가 DPM 보다 더 빠르고 정확하게 동작한다는 것을 시사합니다.
R-CNN.
R-CNN은 이미지의 객체를 찾기 위해 Sliding Windows 대신 Region Proposal 을 사용합니다. Selective Search를 이용해 Bounding Box가 있을만한 위치를 찾아내고, Convolution Layer가 Feature 를 추출하고, SVM이 Box의 점수를 매기며 NMS를 사용합니다. 각 단계들은 복잡하고 독립적으로 작용합니다. 그렇게 때문에 속도가 매우 느립니다.
YOLO는 R-CNN과 공통점도 가지고 있는데, Grid cell이 R-CNN에서의 Region Proposal과 비슷하면서 이를 Convolution Layer에 사용한다는 점이 비슷합니다. 그러나 Grid cell의 경우 하나의 Object에 여러 Detection을 방지하기 위한 공간적인 제약이 존재합니다. 그럼에도 더 좋은 이유는 한 이미지에 대해서 평균적으로 98개의 Bounding Box가 생길 때 Selective Search는 2000개의 Proposal 을 생성하기 때문입니다. 또한 YOLO는 R-CNN의 모든 요소를 하나의 네트워크로 만들었고, 최적화에 성공했습니다.
Other Fast Detectors
Fast and Faster R-CNN 은 속도를 올리는 것에 중점을 두어 R-CNN의 프레임워크를 나누고 Seletive Search 대신 뉴럴 네트워크를 사용합니다. 이는 R-CNN보다 개선된 속도와 정확도를 제공했지만 Real-time performance에 사용하기에는 부족했습니다.
DPM 파이프라인에서는 많은 연구들이 속도를 올리는 것에 집중했는데 속도를 올리기 위해 cascade 구조도 사용해보고, GPU에 push 도 해보고, 등등의 여러 속도 향상 기법이 있었지만 결론적으로 오직 30Hz DPM 만이 실제로 Real-time에 수행 가능했습니다.
Large detection pipeline에 대해 individual components를 최적하려는 노력 대신 YOLO는 파이프라인을 아예 전체적으로 다루는 디자인을 제안했습니다. 얼굴이나 사람과 같은 single class에 대한 Detector는 훨씬 적은 variation 을 연산하기 때문에 쉽게 최적화될 수 있습니다. 결론적으로 말하면 YOLO가 더 빠르다는 것을 말하고 있습니다.
Deep MultiBox.
R-CNN과는 다르게 Deep MultiBox는 Selective search를 사용하지 않고 Region Proposal을 CNN으로 뽑아냅니다. MultiBox는 single object와 single class에 대해 Object detection을 할 수 있지만, 일반적인 Object detection은 불가능하며 여전히 Large detection pipeline의 일부이기 때문에 image patch classification이 요구됩니다. YOLO와 MultiBox 모두 Convolution Layer를 사용해 Bounding Box를 예측하지만 YOLO 가 더욱 완벽한 Object Detection System입니다.
OverFeat.
OverFeat은 CNN을 이용해 Localization 을 진행한 모델입니다. OverFeat은 Localization을 효율적으로 수행하지만 Detection 보다는 Localization 에 초점이 맞춰져 있습니다. DPM과 비슷하게 localizer는 오직 local information 만을 이용해 학습을 하게 됩니다. 그렇기 때문에 OverFeat은 global context를 추론할 수 없고, 맥락에 따른 일관성 있는 탐지를 하기 위해서는 상당한 post-processing 이 필요합니다. 이 점이 Global Information 을 사용할 수 있는 YOLO와 가장 크게 다른 점입니다.
MultiGrasp.
YOLO는 Grasp detection과 가장 비슷하다고 할 수 있으며 Grid cell 방법 또한 MultiGrasp System을 참고하여 만든 것입니다. 하지만 Grasp detection은 Object detection보다 단순하고 더 쉽습니다. MultiGrasp는 하나의 graspable region 을 찾으면 되지만 Object detection은 object의 크기, 위치, 경계, class 를 모두 고려해야 합니다. YOLO는 이미지 내 여러 물체와 여러 개의 Class에 대해 Bounding Box와 class probability를 모두 찾을 수 있습니다.
4. Experiments
PASCAL VOC 2007을 이용해 다른 모델과 YOLO의 성능을 비교합니다. 특히 YOLO와 R-CNN의 차이를 비교하기 위해 가장 높은 성능을 보이는 버전의 Fast R-CNN과 YOLO를 사용해 Error의 특징들을 확인합니다. 실험을 통해 YOLO가 Background로부터 생기는 False Positive를 줄인 것을 확인할 수 있습니다. VOC 2012에 대해서도 실험을 진행하고, 마지막으로 새로운 도메인인 artwork dataset 에 대해서도 실험을 진행합니다.
4.1. Comparison to Other Real-Time Systems
많은 선행 연구들이 object detection 에서 standard detection pipeline을 빠르게 만드는 것에 초점을 두었습니다. 그러나 거의 대부분 real-time 내에 동작하지 못했습니다. Fast TOLO의 경우 PASCAL Dateset을 사용한 모델 중 가장 빨랐고, 52.7% mAP를 달성합니다. 일반 YOLO는 63.4% mAP의 성능을 달성했습니다. Fasted DPM은 DPM에서 정확도를 포기하고 속도를 매우 높인 모델인데, 그럼에도 Real time까지의 속도가 나오지 않았씁니다. R-CNN에서 minus R로 만든 모델은 속도가 빨라졌으나 Real-time에 조금 못 미치는 성능을 보였으며 Fast R-CNN은 mAP는 높지만 0.5 FPS로 매우 느리고, Faster R-CNN은 10 FPS로 빨라졌지만 YOLO보다는 6배나 느리다는 결과를 얻었습니다.
4.2. VOC 2007 Error Analysis
YOLO와 다른 모델을 비교하기 위해서는 mAP 성능 뿐만 아니라 세부적인 부분을 확인할 필요가 있습니다. 성능을 확인하기 위해 다음과 같은 방법들을 사용했는데, 각 카테고리마다 N개의 가장 높은 Prediction을 뽑아 이 Pridiction이 정답인지를 확인하는데, Correct 가 아닌 경우 나머지 Error 는 다음과 같이 분류합니다.
- Correct: correct class and IOU > .5
- Localization: correct class, .1 < IOU < .5
- Similar: class is similar, IOU > .1
- Other: class is wrong, IOU > .1
- Background: IOU < .1 for any object
YOLO는 Localization Error 가 더 심하다는 것을 확인할 수 있습니다. 반면 Fast R-CNN의 경우 상대적으로 Localization Error는 적으나 Background 에러는 훨씬 큰 것을 확인할 수 있습니다.
4.3. Combining Fast R-CNN and YOLO
YOLO가 Background Error를 줄여준다는 것을 이용해 Fast R-CNN에 적용하여 성능 향상을 이끌어냈습니다. R-CNN이 예측한 모든 Bounding Box에 대해 YOLO가 Similar Box로 인식했는지 확인하고, 만약 그렇다면 만약 YOLO에 의해 예측된 확률과 두 상자 사이의 겹침을 기반으로 예측에 가중치를 더합니다( prediction a boost 를 이렇게 해석함 ). 원래의 Fast R-CNN 모델은 PASCAL VOC 2007에 대해 71.8%의 mAP 성능을 보이지만, YOLO와 합친 모델은 75.0% mAP로 3.2% 개선된 성능을 확인할 수 있습니다.
4.4. VOC 2012 Results
VOC 2012 Test Dataset에 대해 YOLO는 57.9% mAP를 달성하고, SOTA 모델보다는 낮은 성능을 보입니다. 크기가 작은 물체를 찾는 것이 어렵고 특정 카테고리에 대해서는 성능이 높지만, 특정 카테고리에서는 낮은 성능을 보였습니다. YOLO와 Fast R-CNN을 합친 모델은 상위권의 성능을 보였습니다.
4.5. Generalizability: Person Detection in Artwork
학술적인(Academic) 데이터셋은 객체 탐지 Training과 Testing 데이터세트가 같은 분포를 가집니다. 그러나 실생활(real-world)에서 마주치는 적용들은 예측하기 어렵고, 모든 경우에 대한 Data 또한 학습할 수 없습니다. 그렇기 때문에 모델들은 이전에 보았던 이미지에 대해 수렴하도록 학습하는 것이 일반적입니다. 피카소 데이터세트와 People-Art Dataset과 같은 Artwork Dataset을 이용해 사람 그림을 Test 사진으로 하여 YOLO 모델이 얼마나 여러 상황에 대해 일반화 된 성능을 보이는지 확인하는 실험을 진행했습니다.
위 사진을 통해 확인할 수 있는 것은 YOLO 모델이 일반화된 결과 예측에서 다른 객체 탐지 모델들에 비해 높은 성능을 보인다는 점입니다. R-CNN의 경우 artwork로 가면 성능이 갑자기 많이 떨어지는데 이는 Selective Search가 실제 이미지에서 영역을 뽑도록 만들어졌기 때문입니다. DPM 모델의 경우 성능이 조금만 떨어지는데, 이는 DPM이 Object의 Layout과 Shape를 잘 찾는 모델이기 때문에 그렇습니다. 이는 곧 YOLO 모델 또한 Object의 Layout이나 Shape를 잘 학습한다는 것을 알 수 있습니다.
5. Real-Time Detection In The Wild
YOLO는 컴퓨터 비전 분야에서 사용할 수 있는 빠르고 정확한 Object detector 입니다. 이 모델은 Real-Time의 성능을 보이기 때문에 웹캠을 연결하는 것과 같은 분야 외에도 여러 분야에서 활용할 수 있습니다. YOLO는 사진을 하나씩 개별적으로 처리하기 때문에 모델을 사용하면 Object Tracking 같은 기능도 수행할 수 있습니다.
6. Conclusion
본 논문에서는 YOLO 라는 통합된 Object detection 모델을 소개했습니다. Classifier-based 접근 방식이 아니기 때문에 학습을 한 번에 진행할 수 있고, 구성하기 간단하며 Full image를 직접적으로 학습할 수 있습니다. Fast YOLO의 경우 Object Detection 분야에서 가장 빠른 모델이고, 또한 YOLO는 새로운 도메인에 Generalization이 잘 되는 모델입니다.

Reference :
https://curt-park.github.io/2017-03-26/yolo/
https://blog.naver.com/sogangori/220993971883
원본 논문 : 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