반응형


YOLOX: Exceeding YOLO Series in 2021

 

YOLOv4와 달리 YOLO의 Architecture를 충실히 따르면서도, SOTA를 달성했던 YOLOX에 대해 리뷰해보자.

 

 

 

Abstract


  • 본 논문에서 저자들은 기존의 YOLO Detector에 Anchor-free 방식을 적용하였고, Decoupled Head, SimOTA와 같은 다양한 탐지 테크닉을 적용하여 SOTA를 달성하였다.
  • 또한 YOLOX-L 모델은 CVPR2021의 자율주행 워크샵에서 별도의 Ensemble없이 단일 모델 성능만으로 1위를 차지하였다.

 

 

Introduction


  • YOLO 시리즈들은 실시간 이미지 처리를 위해서 최적의 Speed / Accuracy Trade-off를 가지게끔 설계되곤 했었다.
  • 최근에 YOLOV5 모델의 경우 13.7ms 만에 48.2% AP를 가지는 최적의 Trade Off를 가지고 있다.
  • 뿐만 아니라, 2년간 Object Detection 기술이 발전하면서 학계에서는 Anchor Free Detector, Advanced Label Assignment Strategies, End-to-end Detector등 다양한 기법을 연구해나가고 있다.
  • YOLO 시리즈는 아직까지 이러한 최신 기법들이 적용된 사례가 존재하지 않으며, 따라서 본 논문에서 저자들은 YOLO 에 이러한 최신 기법들을 적용하는 시도를 진행하였다.
  • YOLOv4와 YOLOv5의 파이프라인은 Anchor Based 위주로 최적화가 진행되어있기 때문에, General 한 성능이 오히려 떨어질 수 있다고 생각하여 본 논문의 저자들은 YOLOv3-SPP를 기본 베이스 모델로 삼았다.
  • 다양한 기법을 적용한 결과, Baseline에 비해서 AP가 크게 개선되었으며, 기존에 공개됬던 ultralytics의 YOLOv3 보다도 높은 성능을 지닌다.

 

 

YOLOX


  • YOLOX는 기본적으로 1 Stage Detector로 Input - Backbone - Neck - Dense Prediction의 구조를 가진다.
  • YOLOX는 Darknet53의 Backbone을 통해 Feature Map을 추출하며, SPP Layer를 통해 성능을 개선한다.
  • FPN을 통해 Multi-Scale Feature Map을 얻고 이를 통해 작은 해상도의 Feature Map에서는 큰 Object를 추출하고 큰 해상도의 Feature Map에서는 작은 Object를 추출하게끔 한 Neck 구조를 차용하였다.
  • 최종적으로 Head 부분에서는 기존 YOLOv3와 달리 Decoupled Head를 사용하였다.

 

 

Decoupled Head

  • YOLOv3에서는 하나의 Head에서 Classification과 Localization을 함께 진행하였으나, Classification과 Bbox Regression는 서로 다른 특성을 가진다는 내용이 연구되었다. Classification에는 Fully Connected Layer가 효과적이지만, 반면에 Localization에는 Convolution Head가 보다 적절한데 이 두가지가 서로 상충된다.
  • 따라서 다양한 연구에서 이러한 Head 부분을 Double-Head 방식으로 변경하여 Classification엔 FC Head를, Localization에는 Convolution Head를 적용함으로써 성능 향상을 이룩해내었다.
  • 본 논문에서는 YOLO에 이러한 최신 연구를 반영하여 Decoupled Head 방식을 적용하였다. Classification 에는 BCE Loss를 사용하고 Localization에는 IoU Loss를 사용하여 학습을 진행한다.
  • 실험 결과, 해당 방식이 기존 Coupled Head 방식보다 Convergence 속도가 빠르고 AP가 향상되었다고 한다.

 

 

Strong Augmentation

 

  • 본 논문에서는 ultralytics의 YOLOv3 에서 적용된 Mosaic Augmentation과 Object Detection에서 사용되는 MixUp Augmentation을 적용하여 데이터를 증강시키고 학습을 진행하였다.
  • 또한, Strong Data Augmentation을 활용하여 학습을 했을 때, ImageNet 사전 학습 모델이 그다지 큰 효용이 없었기 때문에 단순히 Train from scratch 방식으로 처음부터 학습을 시작했다고 한다.

 

 

Anchor-free Manner

 

  • 최근 2년간 빠르게 발전한 Anchor Free 방식의 Detector들은 Anchor 방식의 방법론과 견줄 정도의 성능을 가질 정도로 그 수준이 많이 올라왔다.
  • 기존 Anchor 기반의 Detector들은 비록 그 성능은 뛰어날 수 있지만, 개발자들이 직접 Heuristic 하게 Tuning을 진행해주어야 하는 불편함이 존재했다. 또한 그렇게 Tuning된 Anchor Size 또한 특정 Task에 종속적이므로 General한 성능은 떨어지는 이슈가 존재하였다.
  • Anchor Free 방식은 학습을 보다 간편하고 편하게 해주고, 다양한 Hyperparameter들을 Tuning해야 하는 필요성이 없으며, 그로 인해 다양한 분야에 General 하게 일정한 성능을 보장한다.

 

 

Multi Positive

 

  • 기존 YOLOv3의 Assigning Rule을 그대로 유지한다면 원래 Anchor Free Version에서도 중앙 위치 값 1개 만을 Positive Sample로 지정하여야 하지만, 이는 그 주변에 꽤 괜찮게 예측한 다른 데이터들을 모두 무시하게 되는 효과를 가진다.
  • 따라서 Positive Sample을 중앙 위치 값 주변 3x3 사이즈로 모두 지정함으로써 이러한 고품질의 예측 값에 대해서 이득을 취할 수 있도록 한다. (FCOS의 Center Sampling 기법)
  • 이렇게 positive Sample을 증강해줌으로써, 심각한 class imbalance도 어느정도 상쇄시킬 수 있다.

 

SimOTA

 

  • 향상된 Label Assign 전략을 사용하였다. Object Detection에서의 Label Assignment는 각 지점에 대하여 Positive과 Negative를 할당해주는 것이다.
  • Anchor Free방식은 Ground Truth의 박스 중앙 부분을 Positive로 처리하는데, 문제는 하나의 지점이 다수의 박스 내부에 존재할 때이다.
  • 이런 경우 단순히 point by point가 아닌 Global Labeling이 필요한데, 이를 최적화하는 방식으로 저자는 SimOTA를 적용하였다.
  • OTA(Optimal Transportation Algorithm)은 Sinkhorn-knopp iteration등의 방법을 통해서 최적의 값을 찾아내는데 사용되는데, 이러한 iteration으로 인해 약 25%의 추가 학습 연산이 필요하게 된다.
  • 약 300Epoch의 학습이 필요한 YOLOX에게 있어서 이는 꽤나 큰 오버헤드이므로, 저자들은 이를 간단하게 iteration 없이 수행하는 Simple OTA(SimOTA)를 적용하였으며 AP 45.0%를 47.3%로 향상시키는 효과가 있었다.

 

 

Result


 

  • SOTA를 달성하였으며 여태 나온 YOLO Series 모두를 능가하는 AP를 얻었다.
  • 기존 YOLO 모델들과 마찬가지로 속도와 성능간의 Trade Off가 존재하지만, 다른 모델들과 비교했을 때 높은 성능과 FPS를 동시에 얻어내는 모습을 보인다.
  • CVPR 2021의 WAD Challenge에서 단일 모델만으로 1위를 달성하였다.

 

 

Conclusion


  • 본 논문의 저자들은 YOLO에 최신 Object Detection 기법들을 적용한 YOLOX를 소개하였다.
  • Decoupled Head, Multi-Postive, SimOTA, Strong Augmentation등 최신 연구 내용을 바탕으로 YOLOv3 기반의 모델을 효과적으로 향상시켰으며, YOLOv5에 적용했을 때도 유의미한 성능 향상을 보였다.
  • Anchor Free 방식을 적용하여 General한 성능을 보장하며, 모델 구현자로 하여금 Anchor와 관련된 다양한 Hyperparameter를 Tuning할 필요없이 간편하게 학습이 가능하도록 하였다.
반응형
블로그 이미지

Hyunsoo Luke HA

석사를 마치고 현재는 Upstage에서 전문연구요원으로 활동중인 AI 개발자의 삽질 일지입니다! 이해한 내용을 정리하는 용도로 만들었으니, 틀린 내용이 있으면 자유롭게 의견 남겨주세요!

,