YOLOv3: An incremental Improvement

fast-inference
convolutional
singleshot-detector
detection

(Curtis Kim) #1

논문까지는 아니고, 아래의 두 논문에 이은 3번째 버전에 대한 글입니다. 블로그를 통해 공개되었습니다. https://pjreddie.com/yolo


핵심은, 이런저런 시도를 해보았던 것들에 대해서 적어두었고, 새로운 backbone network를 사용했더니 성능이 좋아졌다라는 점입니다.

Network Architecture

Darknet-53 아키텍쳐를 새로 제안했습니다. 주로 3x3, 1x1 Conv 로 이루어져 있는데, Residual Connection도 보입니다.

image

기존 Darknet-19 (yolo 에서 사용하던) 대비해서 Imagenet Classification 성능은 Resnet101만큼 올라왔지만, 속도는 좀 더 빠릅니다.

Multi-Scale Prediction

기본적으로 네트워크에서 나오는 Output 이외에 추가적인 Scale의 Prediction을 추가했습니다.

마지막 Layer를 2배 Upsample하고, 그전의 레이어와 합친 Feature를 이용해서 Prediction을 추가로 하는 것입니다.

이렇게 다른 스케일로의 Prediction을 1번 더 하는 것으로, 총 3가지의 Scale로 Prediction을 하게 됩니다.

Experiments

YOLOv2 대비 성능이 많이 올랐고, #sota 인 RetinaNet 대비해서는 COCO의 Metric 에서 다소 떨어집니다만, 저자가 주장하기로는 APs, APm 등의 기본적인 Metric에서 성능이 나쁘지 않다 고 주장합니다. 아무튼 YOLOv2 대비해서는 성능 개선이 많은 것은 확실하고 기본 SSD 대비해서도 나쁘지 않은 성능으로 보입니다.

Inference Time 대비해서 보면 YOLO의 장점은 더 극대화되죠. 3배 이상 빠르면서 성능은 더 나은 것으로 보여지고 있습니다.

Focal Loss 등 다양한 시도를 했으나 성능개선은 없다고 하면서, 현재의 아키텍쳐와 구성이 적어도 지역 최적점 수준은 되는 것 같다라고 주장합니다.

Conclusion

빠르고 나쁘지 않은, 사용하기 좋은 Detector로써 많이 다듬어진 것 같습니다.


'Object Detection' Outline
#2

개인적으로 너무나도 위트 넘치는 논문(?)입니다. 제출용이 아니라 그냥 정보공유용(tech report)으로 썼다고 저자 본인이 인트로에 썼습니다. 재미삼아 읽어보시는 것도 추천합니다