2021 네이버 부스트캠프 - Ai tech

Week 8/9/10 - Object Detection - EfficientDet

미미수 2021. 11. 8. 14:59

EfficientDet : The importance of Efficiency in Object Detection through Model Scaling

 


Efficient Net이란?

[주요 Contribution]

 

Image Net competition이후 점점 deep 하고 방대한 모델들이 등장했고, 성능면에서도 향상을 보였다.

하지만 무조건 깊게 쌓는것만이 능사는 아니다.

모델이 깊어질 수록 파라미터 수가 많아지고, 그럼 계산속도와 효율 측면에서 오히려 역효과를 낳기도 한다.

 

Efficient Det에서는 어떻게 하면 효과적으로 쌓을 수 있을지(=Model Scaling)방법에 대해 연구했다.

 

 

EfficientNet 팀의 연구는 네트워크의 폭 (Width), 깊이 (Depth),해상도 (Resolution) 모든 차원에서의 균형을 맞추는 것이 중요하다는 것을 보여주었다. 그리고 이러한 균형은 각가의 크기를 일정한 비율로 확장하는 것으로 달성할 수 있었다!!!

 

 

EfficientDet은 그 균형을 미세하게 조절해 실험적으로 최적의 비율을 찾아냈다고 할 수 있다.

 


 

Scaling 방법에는 세가지가 있다.

 

1. Width Scaling - Wide한 네트워크 사용

2. Depth Scaling - 모델 layer를 깊게 쌓음

3. Resolution Scaling - 고화질의 이미지를 이용해 미세한 패턴 잡아내기

 

 

 

= 모델 Accuracy를 최대로 하는 d,w,r을 찾아라

단, 모델 메모리는 target memory보다 작아야하고,

모델 FLOPS는 target FLOPS보다 작아야 한다.

 

 

 


Observation

 

1. 네트워크의 폭, 깊이, 해상도를 각각 키우면 정확도가 향상되지만, 일정 수준을 넘으면 정확도 향상 정도가 감소한다.

2. 더 나은 정확도와 효율성을 위해서는 Scale Up과정에서 폭, 깊이, 해상도의 균형을 맞춰줘야 한다.

 

-> 그래서 EfficientDet가 제안하는 Compund Scaling Method

 

Step 1 :

 

Step 2 :

세타를 늘려가면서 scale up -> 각각 B1~B7이 된다.

 

 


여기까지가 Efficient Net 의 Compound Scaling에 대한 Background 였고,

지금부터는 Detection에 해당 방법을 적용하는 법을 보자!

 

Efficient Det

주요 Contribution

 

1. Efficient multi-scale feature fusion

 

: Efficient Det 이전에는 multi-scale-fusion을 위해서

그냥 feature map들을 단순합 해줬다.

: BiFPN 구조 제안 - 가중합

 

 

 

 

 

 

 

2. Model Scaling

 

: Efficient Net B0~B6을 backbone으로 사용. scaling이 된 모델을 backbone으로.

 

 


Results