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

Week 8/9/10 - Object Detection - Neck의 개념

미미수 2021. 11. 4. 15:56

 

일반적으로 사용되는 2stage detector는 아래와 같다.

일반적으로 사용되는 2stage detector :

Input이 Backbone 네트워크를 통과해서 맨 위에 다다랐을때, 마지막 feature map을 활용해 region proposla (ROI)를 검출한다.

 

->꼭 마지막 feature map을 사용할 필요가 있을까?

정답은 없다이다.

 

 

Neck은 위와같은 의문점에서 출발해 굳이 마지막 feature map만을 사용하지 않고 중간 layer feature map들도 사용한다.

 

Neck의 필요성 ?

 

 

 

객체는 크기가 다 제각각이다.

일반적으로 작은 feature map일수록 큰 범위를 보고,

큰 feature map일수록 작은 범위를 본다고 알려져 있다. (참고)

 

 

 

 

 

- 다양한 크기의 객체를 더 잘 탐지하기 위해서 (Especially 작은 객체)

 

 

구조

다양한 사이즈의 feature map들을 사용하는게 Neck의 의의라면, 그냥 다양한 feature map에서 각각 ROI를 추출하는것도 방법일 수 있다. 하지만  low-level과 high-level의 localization + semantic정보를 섞으면, 서로 보완이 되기 때문에 Neck에서는 feature map을 섞는다.

 

 

 

Neck을 사용한 대표적인 모델들

  • FPN
  • PANet
  • DetectorRS
  • BiFPN
  • NASFPN
  • AugFPN