[2022.07] YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors

HJW·2022년 8월 13일
0

Paper Reading

목록 보기
2/5

Abstract

YOLOv7은 5FPS~160FPS 범위에서 현재까지 알려진 obejct detector와 비교했을 때 speed와 accuracy 측면에서 앞선다. 300FPS이상의 GPU V100에서 56.8%의 accuacy로, all known real-time object detector 중에서 가장 높은 accuracy를 보인다.

YOLOv7는 다른 dataset이나 pre-trained weight를 쓰지 않고, 오직 MS COCO dataset 만으로 학습시켰다. 그럼에도 현존하는 모든 YOLO based-object detector와 여러 transformer-based object dector에 대하여 speed와 accuracy 측면에서 모두 앞선다.

  • GPU V100, A100(tensor core GPU)

Introduction

  • real-time object detection을 수행하는 computing device는 주로 mobile CPU/GPU, NPU를 사용하는 edge device이다.

    edge CPU의 inference speed 향상: MCUnet, NanoDet
    다양한 GPU의 inference speed 향상: YOLOX, YOLOR

  • CPU를 사용하는 real-time object detector는 MobileNet, ShuffleNet, GhostNet을 기반으로 한다
    GPU를 사용하는 real-time object detector는 (ResNet, DarkNet, DLA)+CSPNet 을 기반으로 한다

  • trainable bag-of-freebies: training cost를 키우고, inference cost는 유지하는 방식으로 object detection의 성능을 향상시키는 modules과 optimization methods

  • Model re-parameterization -> gradient propagation path, planned re-parameterized model
    Dynamic label assignment -> coarse-to-fine lead guided label assignment

contribution

  • 1) Trainable bag-of-freebies -> inference cost 그대로, training cost 증가 -> accuracy 향상

    2) Trainable bag-of-freebies
    Model re-parameterization -> original module로 대체
    Dynamic label assignment -> assignment to different output layer로 다룬다

    3) "extend", "compound scaling" -> parameter와 computation을 효율적으로 다룬다

    4) 위의 방법으로 SOTA real-time object detector에 대하여 parameter를 40%, computation을 50% 줄이고, inference speed와 detection accuracy을 높일 수 있었다

Related Work

Real-time object detectors

  • 현재 SOTA real-time object detector는 YOLO, FCOS(Fully convolutional one-stage)을 기반으로 한다.

이를 위해서는 다음 특성을 가지고 있어야 한다.
1) a faster and stronger network architecture
2) a more effective feature integration method
3) a more accurate detection method
4) a more robust loss function
5) a more efficient label assignment method
6) a more efficient training method

  • 이 논문에서는, 추가적인 data가 필요한 self-supervised leaning이나 large model이 필요한 knowledge distillation을 다루지 않는다 -> trainable bag-of-freebies

Model re-parameterization

  • module-level ensemble: 동일한 여러 model들을 각각 다른 training data로 학습시켜 weight를 구한 후, 평균을 내는 방식으로 학습한다.
    training time 동안 하나의 module을 다수의 같거나/다른 module branch들로 나누고,
    inference time 동안 하나의 module로 통합한다.
    많이 연구되고 있는 문제

    model-level emsemble: 가중치가 고려된 model weight의 평균을 다른 iteration number로 학습시킨다.

Model scaling

  • 이미 design 되어있는 model을 scale up/down 하여 다른 computing device에 사용하는 것
  • Model마다 다른 scaling factor를 적용한다. resolution(size of input image), depth(number of layer), width(number of channel), stage(number of feature pyramid)
  • NAS(Neural Architecture Search): 복잡한 rule 없이 search space로 부터 적절한 scaling factor를 찾는다. but, correlated 되어있지 않은 scaling factor를 다룬다
    ex) DenseNet, VoVNet 같은 concatenation-based model은 depth를 scaling 하면 width가 변한다.
    -> correlation을 고려한 새로운 compound scaling factor를 구하는 method가 필요하다.

Architecture

Extended efficient layer aggregation networks(E-ELAN)

expand(group convolution)/shuffle/merge cardinality -> 더 다양한 feature를 학습할 수 있다.

기존의 efficient 구조는 parameter의 개수, computation의 양, coomputation density만을 고려했지만, E-ELAN은 memory access cost, input/output channel ratio, architecture의 branch 개수, element-wise operation 등을 고려하는 것이다.

CSPNet(gradient path) -> 더 다양한 feature를 학습할 수 있도록 함

Model scaling for concatenation-based models

Trainable bag-of-freebies

Planned re-parameterized convolution

Coarse for auxiliary and fine for lead loss

Experiments

  • Ablation study
profile
be passionate

0개의 댓글