Object detection에서 scale variation 중요한 문제이다. 이 논문에서는 receptive fields가 scale variation에 미치는 영향을 나타냈다. 또한 실험 결과를 통해 Trident network라는 방법을 제안한다. Trident network는 scale-specific feature map을 생성하는 네트워크이다. Trident network는 병렬의 멀티 브랜치 구조를 가지며, 이 브랜치들은 같은 파라미터를 공유하지만 서로다른 receptive field를 가지는게 특징이다. 또한 논문에서는 이렇게 제안하는 네트워크를 학습하기 위한 scale-aware training scheme를 제공한다.
논문에서 이야기하는 contribution은 다음과 같다.
- object detection 분야에서 receptive field가 scale variation에 미치는 영향을 실험적으로 분석한 최초의 논문이다.
- scale variation 문제를 해결할 Trident network를 소개하며, 이 네트워크의 구조와 scale-ware training scheme를 통해 균일한 표현력을 갖는 scale specific feature map을 생성한다.
- 파라미터를 공유하는 trident block 을 설계하여 하나의 major branch로도 빠른 근사가 가능한 TridentNet Fast를 제안한다.
- 제안하는 방법의 효과를 증명하기 위해 COCO 벤치마크 데이터셋에 대해서 ablation 실험을 수행하였고, mAP 48.4를 달성하였다.
Receptive Field
Receptive Field는 Dilated Convolution의 dilation rate를 값을 통해 조절할 수 있다. dilation rate를 ds라고 하고, feature map 전체의 stride를 s라고 할때, n번째 convolution layer가 갖는 receptive field의 크기는 다음과 같다.
receptive field = 2(ds-1)*s*n
이러한 내용을 근거로 실제 ResNet-50과 ResNet-101의 dilation rate를 조절해 평가한 결과는 다음과 같다. 이때 s는 작은객체, m는 중간객체, l은 큰 객체를 의미한다.
위 결과를 통해 다음과 같은 생각이 가능하다.
- 다른 스케일의 객체 검출 성능은 receptive field의 영향을 받는다.
- ResNet-101은 large object(greater than 96*96 resolution)을 커버하기에 이론적으로 충분히 큰 receptive field를 가지고 있지만, dilation rate를 ㄹ더 키우면 large object의 성능이 더 증가한다. 이를 통해 효과적인 receptive field는 이론적인 receptive field보다 작다는것을 발견했다(???) 따라서 효과적인 receptive field는 작은 객체와 큰 객체 사이의 밸런스를 맞추는게 필요하다. dilation rate를 키우는 것은 large object만 강조하기 때문에 small object와 적절히 균형을 맞춰 효과적인 receptive field를 만들어야 한다.
Trident Network
병렬로 브랜치를 따서 scale specific feature map을 만드는데, 이때 convolution은 같은 parameters를 공유하고 dilation rate만 다르게 설정한다.
Network Structure
- Multi-branch Block
- Weight sharing among branches
파라미터를 공유하여 브랜치를 추가해도 전체적인 파라미터 수는 달라지지 않고, 다른 스케일의 객체에 대해서도 같은 표현력을 가지며, 동일한 파라미터로 서로 다른 receptive field에서 다양한 스케일을 학습할 수 있다.
Scale-aware Training scheme
앞서 제안한 방법은 미리 정의된 dilation rate에 따라서 scale specific feature map을 만든다. 하지만 앞서 진행한 dilation rate에 따른 성능 표와 같이 scale mismatching에 의한 성능하락이 존재할 수 있다. 따라서 논문에서는 모든 브랜치의 scale awareness를 향상시키고 mismatch된 브랜치에서 극단적 스케일(예를들면 small object를 large reception field에서 학습하는 경우)의 학습을 방지하는 scale aware training scheme를 제안하고있다.
각 브랜치마다 유효 범위를 설정하고 해당 범위에 속하는 proposal과 GTbbox만 선택해 학습하였다. 구체적으로 이야기하자면 ROI 과정에서 resize 이전의 w와 h를 가지고 브랜치 i의 유효범위를 다음과 같이 설정해 학습하면 된다.
Fast Inference Approximation
정리하자면, 여러개의 병럴 브랜치에서 하나의 브랜치만 inference 과정에서 사용하면 Fast Inference가 된다고 한다. 보통은 중간 브랜치를 major 브랜치로 이용하면 된다. 이러한 접근이 가능한 이유는 모든 브랜치 레이어가 weight를 공유하고 있기 때문이다.
Experiments
본 논문에서는 제안한 방법에 따른 다양한 조합을 ablation 실험으로 나타냈다.
number of branches
Stage of Trident blocks
Number of trident blocks
Performance of each branch
Fast Inference Approximation
Comparison with State-of-the-Arts