Scale의 변화는 object detection분야에서 중요한 요소중 하나이며 다양한 방법론들이 제안되고 있다.
Proposed Method
- backbone과 Multi-Level Feature Pyramid Network(MLFPN)에서 features를 추출한다.
- SSD와 유사하게 bounding box와 class에 대한 정보를 얻는다.
- NMS를 통해 최종적인 값을 불러온다.
MLFPN – Multi-Level Feature Pyramid Network
- 구성
- FFM – Feature Fusion Module.
- TUM – Thinned U-shape Module.
- SFAM – Scale-wise Feature Aggregation Module.
FFMv1 – 백본의 피쳐 맵을 융합하여 의미 정보를 기본 피쳐로 풍부하게 한다.
TUM – 멀티 스케일feature 그룹을 형성한다. 그후 FFMv2와 같이 멀티 레벨feature를 추출한다.
SFAM – scale-wise feature concatenation operation와 adaptive attention mechanism를 통해서 multi-level feature pyramid로 feature를 종합한다.
MLFPN – Multi-Level Feature Pyramid Network – Detail
- FFM
- conv 1 * 1을 사용한다.
- FFMv1는 backbone으로부터 서로다른 두개의 feature map을 받아 출력되는 feature map을 upsample을 통해 맞춘후 concatenation한다.
- FFMv2는 FFMv1에서 받은 feature를 conv 1*1를 통과시켜 TUM에서 받은 feature를 concatenation한다.
- TUM
- encode는 conv 3*3에 stride는 2이다.
- decode는 output의 feature map을 참고한다.
- decoder branch부분의 upsample 과 elementwise sum operation이후에 conv 1*1을 추가해 학습 성능 향상과 feature의 자연스러움을 향상 시켰다고한다.
- decoder의 output은 현재 level의 multi-scale features를 출력한다.
- 깊이에 따라 shallow-level features, medium-level features, deep-level features 순으로 다단계의 feature를 출력한다.
- SFAM
- TUM에서 나온 다양한 scale level의 feature을 same scale로 concatenate한다.
- channel-wise module을 사용하여 가장 의미있는 channel에 초점을 맞춘다.
- SE(Squeeze Excitation) block을 채용하여, channel-wise의 속성을 global average pooling를 사용하여 squeeze단계에서 얻으며 아래의 수식에서 z이다.
- 조금더 정확한 channel-wise를 얻기위해 2개의 Fully connected layer 를 통해 학습한다.
- Squeeze Excitation
- channel-wise feature response를 적절하게 조절해주는 역활을 한다. 해당 네트워크는 아래의 그림과 같으며 Classification 네트워크든 마지막단에 붙여 성능향상을 보인다고 한다.
Network Configurations
FFM, TUM, SFAM세가지로 구성되어 있는 네트워크는 두개의 네트워크를 앙상블로 사용 하였다. 전체 신경망을 학습하기 전에 ImageNet 2012 데이터 세트에서 백본을 사전에 훈련해야한다. MLFPN의 모든 기본 구성에는 8개의 TUM이 포함되어 있으며, 각 TUM에는 5개의 striding-convs 및 5개의 업샘플링 작업이 있으므로 6개의 스케일로 특징을 출력한다. 그리고 파라미터 수를 줄이기 위하여 256개의 체널로 각각의 TUM feature 스케일을 고정 시킨다. 또한 입력 영상의 크기는 SSD, RefineDet 그리고 RetinaNet들과 동일하게 설정한다.(320,512,800)
6개의 pyramidal features에 location regression과 classification을 하기위해 두개의 conv를 추가한다. 6개의 default boxes를 추출할때는 기존의 SSD와 동일하게 한다. 입력 크기가 800 x 800 이라면, 가장 큰 특징 맵의 최소 크기를 유지하는 것을 제외하고 스케일의 범위가 비례적으로 증가한다. pyramidal features 의 각 픽셀에서 3개의 비율로 6개의 앵커(Anchor) 를 설정했다. 이후에 낮은 스코어를 가지는 앵커를 걸러내기 위해 threshold 을 0.05로 사용하였다. 그 다음 Post-processing 을 위해 선형 커널(Linear-kernel) 과 함께 soft-NMS를 사용하여 경계 상자를 탐지한다. threshold를 0.01 로 줄이면 성능향상을 기대할 수있지만, inference time이 느려질 수 있으므로 이이상 실험을 진행하지 않았다고 한다.
TUM에서 decoder와 encoder를 가지고 있는 U shape을 썻다고 하는데 이 모듈의 의미는 무엇인가요? reconstruction할 때 전체 network에 가져다 주는 메리트가 있나요?
scale에 강인하게 되면 얻게되는 이점이 무엇인가요?
기존 ssd가 scale에 관련해 어떤 문제가 있기에 이를 강인하게 만드는지
예시를 들어 설명해주시면 감사하겠습니다.