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