본문 바로가기
Papers & Research Notes/Paper & Code Review

[논문 리뷰] EfficientDet: Scalable and Efficient Object Detection Review

by Air’s Big Data 2021. 3. 6.

안녕하세요! 오늘은 랩미팅 중 교수님께서 추천해주신 모델인 EfficientDet 을 리뷰해볼려고 합니다. Google Brain팀에서 publish한 논문이며, Code도 사용할 수 있도록 GitHub에 올려있습니다.

 

Introduction

 


https://paperswithcode.com/sota/object-detection-on-coco-minival

 

EfficientDet은 이름만큼이나 현재 DataseObject Detection on COCO minival dataset에서 Extra Traning data 없이 성능 측정한 모델 중 1위를 차지할 정도로 적은 연산량(FLOPS)과 정확도를 모두 잡은 Efficient한 Network인데요.  single-model single-scale로 진행한 성능 비교 실험에서도 1위 mAP를 달성하며 SOTA 를 갱신했다고 합니다. 

 


Challenges

Challenge1. Efficient multi-scale feature fusion

"different input features are at different resolutions"

 

대표적인 One stage detector은 Feature Pyramid Network(FPN)을 사용하고 있지만, 기존 모델들은 cross-scale feature fusion network structure을 개발해왔습니다. 본 논문에서는 input feature들 각 해상도가 다르기 때문에 output feature에 기여하는 정도를 다르게 가져가야 함을 지적하며, weighted bi-directional FPN(BiFPN) 구조를 제안하였습니다.

 

Challenge 2: model scaling

기존 방법들은 accuracy를 위해 거대한 backbone networks이나 큰 input image size에 의존했지만 본 논문에서는 Compound Scaling을 제안하여 높은 성능을 달성했습니다.

Compound Scaling 기법: 모델의 크기와 연산량를 결정하는 요소(input resolution, depth, width)을 동시에 고려하여 증가시키는 방법

 


Contribution

✔️ Weighted bidirectional feature network (BiFPN) 제안

✔️ Object Detection에 Compound Scaling 적용

✔️ BiFPN과 Compound Scaling을 접목하여 EfficientDet 제안

 


BiFPN

1. Cross-Scale Connections

✔️Feature network design

FPN(Feature Pyramid Network)를 이용한 방법들입니다. (b) PANet에서는 top-down과 bottom-up path를 한 번씩만 사용한 반면, 본 논문에서는 이러한 구조를 여러 번 반복하여 사용을 하였습니다.

 

(a) FPN

 - 전통적인 FPN 구조

(b) PANet

- bottom-up pathway를 FPN에 추가

(c) MAS-FPN

- AutoML의 Neural Architecture Search를 FPN 구조에 적용

- 불규칙적 구조

(d) Fully-connected FPN (본 논문에서 제안한 방식)

- FPN가 FC된 형태

(e) Simplified PANet (본 논문에서 제안한 방식)

- Input edge가 1개인 node들은 기여도가 적을 것 → 제거

(f) BiFPN (본 논문에서 제안한 방식)

- 보라색 선처럼 같은 scale에서 edge를 추가하여 더 많은 feature들이 fusion되도록 구성을 한 방식

 

✔️Ablation Study

(Table3)

 - 같은 backbone(EfficientNet-B3)에서 BiFPN의 성능이 가장 높음

 - 가장 높은 mAP, 가장 적은 Parameter수와 그에 따른 가장 적은 연산량(FLOPS)

(Table4)

 - 여러 Feature Network 방식에 따른 성능 변화를 분석한 결과

 - BiFPN을 사용하였을 때 가장 좋은 성능

 


2. Weighted Feature Fusion

✔️Conventional Feature Fusion vs Weighted Feature Fusion

 - 전통적 Feature Fusion: FPN에서 서로 다른 resolution의 input feature들을 합칠 때, 일반적으로는 같은 해상도가 되도록 resize를 시킨 뒤 합치는 방식

 - 제안하는 Feature Fusion: input feature에 가중치를 주고, 학습을 통해 가중치를 배울 수 있는 방식 → Weighted Feature Fusion

 

✔️Weighted Feature Fusion

Learnable weight은 scalar (per-feature), vector (per-channel), multi-dimensional tensor (per-pixel)가 있는데 정확도와 연산량 측면에서 효율적이기 때문에 Scalar를 사용했다고 합니다.

 

Weighted Feature Fusion

👎 기존 방식

 - Unbounded fusion: unbounded 되어있기 때문에 학습에 불안정성을 유발

 - SoftMax-based fusion: GPU 하드웨어에서 slowdown을 유발

👍 제안 방식: Fast normalized fusion

 - weight들은 ReLU를 거치기 때문에 non-zero임이 보장

 - 분모가 0이 되는 것을 막기 위해 0.0001 크기의 ε 추가

 - Weight 값이 0~1사이로 normalize가 되는 것은 SoftMax와 유사

 

 

✔️Ablation Study

(Figure 5)

- Weight 값이 0~1사이로 normalize가 되는 것은 SoftMax와 fast normalized feature fusion은 유사

- input 1과 input 2의 weight를 training step에 따라 plot한 결과

- 학습을 거치면서 weight가 빠르게 변화

- 각 feature들이 각자 다르게 output feature에 기여

(Table 5)

- SoftMax fusion과 Fast Fusion을 비교한 결과

- Fast Fusion을 사용하면 약간의 mAP 하락은 있지만 28%-30%의 속도 향상(Speedup)


 

EfficientDet

✔️EfficientDet Architecture

본 논문은 BiFPN을 기반으로 EfficientDet 이라는 One-Stage Detector 구조를 제안했습니다.

 - Backbone: ImageNet-pretrained EfficientNet

 - Feature Network: BiFPN, level 3-7 feature에 적용

 

EfficientDet Architecture

 

✔️Compound Scaling

input의 resolution과 backbone network의 크기를 늘렸으며, BiFPN과 Box/class network 도 동시에 키워줬습니다. 각 network마다 어떻게 키워줬는지는 수식 (1)~(3)에서 확인할 수 있습니다.

 - Backbone: ImageNet-pretrained EfficientNet-B0 ~ B6

Compound Scaling for EfficientDet

 


 

Experiments

Single-model single-scale 실험 결과 COCO 데이터셋에서 가장 높은 mAP 달성했으며, 특히 다른 모델들에 비해 연산 효율이 매우 높은 것을 알 수 있습니다. (a) 모델의 크기(parameter 수)와 (b), (c) Inference Latency를 측정한 그래프에서도 모델 크기도 작고, Latency도 낮음을 알 수 있습니다.

 

 


Conclusion

결론적으로 본 논문에서는 weighted bidirectional feature network와 customized compound scaling method를 제안했습니다. 또한, EfficientDet이라는 detector family를 만들었고, 매우 적은 parameter개수와 연산량만으로 accuracy 측면에서 SOTA를 달성하였습니다.

 

 

 

댓글