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

지난 주 횔동을 하며 Object Detection 관련해 좀 더 조사해보고 싶었고, Object Detection 관련 기본적인 논문들 중 읽어보면 좋겠다는 생각이 들어 읽게 되었습니다.

Object Detection에 대한 새로운 접근 방식인 YOLO는 공간적으로 분리된 bounding boxes, 이와 관련된 class probabilities에 대한 regression 문제로 Object Detedction을 구성한다.

이 당시 R-CNN과 같은 최신 Object Detection 방식은 region proposal methods(영역 제안 방법)을 사용하여 이미지에서 potential bounding boxes를 생성 후 이 boxes에서 classifier를 실행하게 되는데, 개별 구성 요소들은 별도로 학습 해야하므로 이런 복잡한 파이프라인은 느리고 최적화가 어렵다는 단점이 있었지만, 저자들은 위와 같은 방식으로 어떤 물체가 있고, 어디에 있는지 예측하기 위해 이미지를 한 번만 보게 되어 매우 빠르고 일반화가 가능한 표현들을 학습하는 것과 같은 장점을 갖게 된다고 설명하고 있다. YOLO v1의 구조는 GoogLeNet에서 영감을 받은 구조이며 24개의 convolutional layer와 2개의 fully connected layer로 구성되어 있다. 손실함수로 Sum-Squared Error(제곱합 함수)를 이용한다.

Detection 시 base network의 경우 45fps, 경량화된 fast network에서는 150fps의 결과에서 볼 수 있듯이 매우 빠른 성능을 갖고 있는 것을 알 수 있고, 일반화 가능한 표현을 학습하여 새로운 도메인이나 예상치 못한 입력 이미지에 대해 상대적으로 강한 모습을 보인다. 하지만 grid cell 내에 있는 여러 객체를 탐지하지 못하는 단점이 존재한다고 한다.

기존에 YOLO에 대해 이 자체의 단어만 알고 있고, 뭔지는 하나도 몰랐지만, 이번 기회를 통해 또 하나를 알아가게 됐다. 이 이후로도 개선된 모델들을 더 알아가고 싶다.