You Only Look Once:
yolo의 특징
- 딱 한번만 본다(You Only Look Once)
- 지금까지 있던 것들을 합쳤다. (Unified)
- 실시간이다.(Real-Time Object Detection)
Faster R-CNN에서 성능을 줄이더라도 속도를 높이자!
Main Concept
-
Object Detection
- Regression problem(회귀 분석) : 기대되는 목적값이 continuous 한 연속성을 가지고 있을 때 사용
-
Yolo
- Only One Feedforward
- Global context
-
Unified (Real-time detection)
- YOLO : 45FPS
- Fast YOLO : 155FPS
-
General representation (없어도될듯..?)
- Robust on various background
- Other domain
Object Detection as Regression Problem
Deformable Parts Models (DPM)
R-CNN based methods
1. generate potential bounding boxes.
2. run classifiers on these proposed boxes
3. post-processing (refinement, elimination, rescore)
- 물체가 있을 법한, 혹은 아무데나 bb를 뿌려두고 그것들을 detection하고 classifier한 다음 post-processing을 통해 지우고, rescore하여 합치는 방식
YOLO : Single Regression Problem (한번만 보자!)
- 이미지를 보고 resizing을 하고
- convolutional net-work를 한번만 거치고
- non maxium supperation을 통해 한번만 추리면
- 물체가 튀어나온다!
image -> bounding box coordinate and class probability. (Extremely Fast)
Unified Detection
All BBox, All classes에 대해 한번에 고려
S X S X (B X 5 + C) tensor -> 7x7x30의 tensor
- image -> S X S grids
이미지를 S X S의 grid로 나눈다.
- grid cell
B : BBoxes and Confidence score(BB가 얼마나 물체를 포함하고 있는지)
score가 큰 부분은 진한 box로 표현한다.
C : class probabilities w.r.t #classes
(class 개수에 맞춰서, 각 class가 얼마나 나타날 수 있는지를 probabilities에 대한 벡터로 표현)
predict(예측) :
1. 하나의 class probabilities만을 grid에 대해서 계산
2. 계산된 것을 BB에 대해서 같이 계산을 한다.
3. test time에서는 각 BB 별로 class에 대한 Confidence prediction score가 나오게 된다.
4. 해당하는 BB가 어떤 클래스인지 최종적으로 detection 하는걸로 마지막 결과가 나오게 된다.
731