작심삼일

[YOLOv4 리뷰] Optimal Speed and Accuracy of Object Detection (arXiv 20) 본문

Deep Learning/Vision

[YOLOv4 리뷰] Optimal Speed and Accuracy of Object Detection (arXiv 20)

yun_s 2022. 8. 7. 20:49
728x90
반응형

My Summary & Opinion

요약: Object detection에 쓰이는 여러 방법들을 모두 사용해본 뒤, 제일 좋은 것들만 골라서 사용한 것이 YOLOv4다.

 

개인적으로 논문을 읽으면서 이것이 YOLOv4의 논문인지, 아니면 ojbect detection에 쓰이는 수많은 방법들을 정리한 summary paper인지 헷갈렸다. (나는 Simple is the best라고 생각하는 사람이라 ㅎㅎ)

이 논문이 arXiv에만 있는 것을 보면 저자가 학회에 제출하지 않았거나, 제출했지만 reject 된 것일텐데, 차라리 이런 것들로 실험해본 summary paper로 주제를 틀고, 더 자세히 적는 것이 어땠을까 하는 생각이 든다.

Object detection에서 어떤 방법들이 사용되는지 대충 훑어보고싶을 때 보면 좋을 것 같다.


Introduction

최근의 성능 좋은 네트워크들은 real time이 아니며 GPU가 많이 필요하다.

이와 달리 우리는 GPU하나만 사용하고, real-time으로 동작하는 네트워크를 만들고자 한다.

SOTA Bag-of-Freebies(BoF)와 Bag-of-Specials(BoS), 그리고 학습에 도움을 주는 여러 방법들을 이용하고자 했다.


Related Word

Object detection models

최근 사용되는 detector는 ImageNet으로 pre-train한 backbone과 class와 bounding box를 예측하는 head로 이루어져있다.

Object detector는 요새 backbone과 head 사이에 layer를 좀 쌓는 경향이 있는데, 이부분을 neck이라고 하겠다.

각 부분별로 주로 사용되는 모델들은 아래 그림과 같다.

 

Bag of freebies

Inference cost를 증가시키지 않고도 정확도를 높이는 방법이 몇가지 있는데, 우리는 이것을 "bag of freebies(BoF)"라고 부른다.

BoF의 종류는 아래와 같다. (이 많은 것에 대한 설명이 한 줄씩 써있지만, 다 다루면 논문 요약이 아니라 논문 번역이 되기 때문에 설명은 적지 않겠다.)

  • Data Augmentation
    • Photometic distortion
      • Brightness, contrast, hue, saturation, noise
    • Geometric distortion
      • Random scaling, cropping, flipping, rotating
    • Others
      • Random erase, CutOut, hide-and-seek, grid mask, MixUp, CutMix
  • Regularization Methods
    • DropOut, DropConnect, DropBlock
  • For imbalanced dataset
    • Focal loss, label smoothing
  • Objective function of Bounding Box(BBox)
    • MSE loss, IoU loss, GIoU loss, DIoU loss, CIoU loss

 

Bag of specials

Inference cost를 조금만 더 사용하고도 정확성이 많이 향상시키는 방법을 "bag of specials(BoS)"로 부르기로 했다.

BoS의 종류는 다음과 같다.

  • Enhance receptive field
    • SPP, ASPP, RFB
  • Attention module
    • Squeeze-and-Excitation(SE), Spatial Attention Module(SAM)
  • Feature integration
    • Skip connection, hyper-column, SFAM, ASFF, BiFPN
  • Activation function
    • ReLU, LReLU, PReLU, ReLU6, SELU, Swish, hard-Swish
  • Post-processing
    • NMS, greedy NMS, soft NMS, DIoU NMS

Methodology

Selection of architecture

첫번째 목표는, Input network resolution, the convolutional layer number, the parameter number$(filter size^2 * filters * channel / groups)$, the nu,ber of layer outputs(filters)를 balance 좋게 맞추는 것이다.

두번째 목표는 receptive field를 늘리기 위한 additional block의 선택과 different backbone level에 대해서 parameter aggregation을 잘 할수 있는 방법의 선택이다.

Network input size가 클수록 작은 크기의 물체를 잘 탐지할 수 있고, layer가 많을 수록 receptive field가 커지며 parameter가 많아질수록 모델의 capacity가 커진다.

 

아래 표를 참고해서 우리는 CSPDarknet53을 backbone으로 삼았다.

왜냐하면 parameter 수가 많음에도 불구하고 속도가 빠르며, receptive field의 크기도 작지 않기 때문이다.

그리고 PANet을 neck으로, YOLOv3의 head를 head로 삼았다. (이것저것 다 해봤는데 이 성능이 제일 좋았던 것 같다.)

 

Selection of BoF and BoS

아까 정리한 BoF와 BoS 중 몇 개를 고를 것이다. (고른 것은 아래 YOLOv4의 설명에서 나와있기 때문에 여기서는 다루지 않겠다.)

 

Additional improvements

Data augmentation의 새로운 방법인 Mosaic, Self-Adversarial Training(SAT)를 사용했고, optimal hyper-parameter를 골랐으며, 기존의 방법들을 수정한 modified SAM, modified PAN, Cross mini-Batch Normalization(CmBN)을 사용했다.

CutMix가 두가지 이미지만 섞지만, mosaic는 이미지 4장을 섞는 것이다.

SAT는 두단계로 나뉘는데, 첫번째 단계에서 network weight를 바꾸는 대신 원본 이미지를 바꾼다.

이로 인해 네트워크는 스스로 adversarial attack을 가하게 된다.

두번째 단계에서는 그전에 해왔던 것처럼 이 바뀐 이미지에서 물체를 detect하는 것이다.

 

CmBN은 CBM을 수정한 것인데, single batch 안의 mini-batch들 사이에서 statistics를 구한다.

(CBM이 이전 iteration에서 사용된 batch로 평균과 분산을 추정한다면 CmBN은 4개 batch에서 평균과 분산을 추정하는 듯)

 

Modified SAM은 spatial-wise attention에서 point-wise attention으로 바꾼 것이다.

Modified PAN은 shortcut connection을 concatenation으로 수정한 것이다.


YOLOv4

다음과 같이 구성되어 있다.


 

Experiments

Data augmentation은 CutMix, Mosaic, Label Smoothing을 사용하는 것이 제일 성능이 좋았고, 추가로 Mish activation을 사용하니 성능이 더 좋아졌다.

 

각 약어는 논문을 참고하길 바란다. 약어가 너무 많다..

 

 

 

이렇게 수많은 실험을 해서 제일 좋은 것을 사용했다.


Results

성능은 빠르고 뛰어나다.


Reference

Bochkovskiy, Alexey, Chien-Yao Wang, and Hong-Yuan Mark Liao. "Yolov4: Optimal speed and accuracy of object detection." arXiv preprint arXiv:2004.10934 (2020).

 

 

 

 

 

 

728x90
반응형
Comments