SpineNet: Learning Scale-Permuted Backbone for Recognition and Localization

Convolutional neural networks typically encode an input image into a series of intermediate features with decreasing resolutions. While this structure is suited to classification tasks, it does not perform well for tasks requiring simultaneous recognition and localization (e.g., object detection). The encoder-decoder architectures are proposed to resolve this by applying a decoder network onto a backbone model designed for classification tasks. In this paper, we argue encoder-decoder architecture is ineffective in generating strong multi-scale features because of the scale-decreased backbone. We propose SpineNet, a backbone with scale-permuted intermediate features and cross-scale connections that is learned on an object detection task by Neural Architecture Search. Using similar building blocks, SpineNet models outperform ResNet-FPN models by ~3% AP at various scales while using 10-20% fewer FLOPs. In particular, SpineNet-190 achieves 52.5% AP with a MaskR-CNN detector and achieves 52.1% AP with a RetinaNet detector on COCO for a single model without test-time augmentation, significantly outperforms prior art of detectors. SpineNet can transfer to classification tasks, achieving 5% top-1 accuracy improvement on a challenging iNaturalist fine-grained dataset. Code is at: https://github.com/tensorflow/tpu/tree/master/models/official/detection.

PDF Abstract CVPR 2020 PDF CVPR 2020 Abstract
Task Dataset Model Metric Name Metric Value Global Rank Uses Extra
Training Data
Result Benchmark
Instance Segmentation COCO minival RetinaNet (SpineNet-190, 1536x1536) mask AP 46.1 # 43
Object Detection COCO minival RetinaNet (SpineNet-190, 1536x1536) box AP 52.2 # 65
Object Detection COCO test-dev RetinaNet (SpineNet-96, 1024x1024) box mAP 48.6 # 89
AP50 68.4 # 49
AP75 52.5 # 56
APS 32 # 35
APM 52.3 # 43
APL 62 # 43
Object Detection COCO test-dev RetinaNet (SpineNet-143, 1280x1280) box mAP 50.7 # 70
AP50 70.4 # 30
AP75 54.9 # 41
APS 33.6 # 27
APM 53.9 # 33
APL 62.1 # 40
Object Detection COCO test-dev RetinaNet (SpineNet-190, 1280x1280) box mAP 52.1 # 59
AP50 71.8 # 22
AP75 56.5 # 32
APS 35.4 # 17
APM 55 # 20
APL 63.6 # 25
Object Detection COCO test-dev RetinaNet (SpineNet-49S, 640x640) box mAP 41.5 # 167
AP50 60.5 # 116
AP75 44.6 # 118
APS 23.3 # 107
APM 45 # 103
APL 58 # 63
Object Detection COCO test-dev RetinaNet (SpineNet-49, 640x640) box mAP 44.3 # 142
AP50 63.8 # 88
AP75 47.6 # 88
APS 25.9 # 84
APM 47.7 # 72
APL 61.1 # 42
Instance Segmentation COCO test-dev Mask R-CNN (SpineNet-190, 1536x1536) mask AP 46.1 # 36
Object Detection COCO test-dev SpineNet-49 (640, RetinaNet, single-scale) box mAP 42.8 # 151
AP50 62.3 # 102
AP75 46.1 # 107
APS 23.7 # 102
APM 45.2 # 100
APL 57.3 # 69
Object Detection COCO test-dev RetinaNet (SpineNet-49, 896x896) box mAP 46.7 # 119
AP50 66.3 # 59
AP75 50.6 # 66
APS 29.1 # 54
APM 50.1 # 51
APL 61.7 # 37
Image Classification ImageNet SpineNet-143 Top 1 Accuracy 79% # 727
Number of params 60.5M # 770
GFLOPs 9.1 # 287
Image Classification iNaturalist SpineNet-143 Top 1 Accuracy 63.6% # 9
Top 5 Accuracy 84.8% # 2

Methods