EfficientDet을 읽고 내용을 정리하고자 한다.

Abstact

CV에서 모델의 효율성은 점점 더 중요해지고 있다. 해당 논문에서, 효율성을 상승시키기 위한 몇가지 최적화 방법과 network architecture에 대해서 소개한다. 첫번째는 BiFPN, 두번째는 compound scaling이다. 이와 같은 기법을 통해 EfficientDet이라는 모델을 만들었고, 해당 모델은 COCO test-dev 에서 55.1 AP를 기록하며, SOTA를 달성했다.

개요

시간이 지나면서 더 좋은 성능을 가지는 detection 모델들이 많이 나왔다. 하지만, 대부분 매우 많은 파라미터를 가지고 있기 때문에 다양한 device에는 적용이 어려웠음. 자율주행차 등 제약사항이 많은 곳에 사용되는 효율적인 모델들에 대한 필요성이 대두되었지만, 그 요구사항을 충족시키기 위해서 해결해야할 근본적인 문제가 있었다.

높은 정확성과 더 나은 효율을 동시에 달성하는 것이 가능한가?

이전의 SOTA 모델이 효율적인 모델을 만들고 싶지 않아서 그런 것은 아닐 것이다... 더 높은 성능을 달성하려면, 더 크고 무거운 모델이 필요하기 때문이니까...

EfficientDet의 저자들은 근본적인 문제를 해결하기 위해서 성능은 유지하고 효율성을 증대시킬 수 있는 해결책을 둘로 나눠 제시했다.

  1. efficient multi-scale feature fusion

    input image의 여러 scale feature들을 fusion하여 성능을 높이는 방법인 FPN이 널리 사용되었지만, 기존 FPN은 scale을 단순 합 계산을 하기 때문에 각각의 scale이 output feature에 다르게 기여하는 것을 반영하지 못함.

    연구진들은 다른 input feature들이 가지는 중요도(가중치)를 반영한 FPN인 BiFPN을 제안함으로써, 기존 FPN이 가지고 있던 성능은 유지하고 계산방식을 더 효율적으로 변경했다.

  2. model scaling

    efficient net에서 제안하는 Compound scailing을 EfficientDet에 도입한다. conpound scaling은 depth, width, resolution을 복합적으로 scaling하는 방식으로 각각 하나씩 scaling할 때 보다 좋은 성능을 보여준다.

    저자들은 compound scaling을 적용할 때 feature network 뿐만 아니라 box/class prediction network에도 또한 적용해야 더 효율적이라는 것을 발견했고, compound scaling, EfficientNet, BiFPN을 합쳐서 EfficientDet을 만들었다.

BiFPN

FPN

efficient multi-scale feature fusion을 위해 제안한 BiFPN이다.

기존 FPN은 (a)와 같이 구성되며, 자세하게는 아래와 같은 방식으로 구성된다.

FPN에 대한 자세한 설명은 https://herbwood.tistory.com/18를 참조.