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 Result Benchmark
Instance Segmentation COCO minival RetinaNet (SpineNet-190, 1536x1536) mask AP 46.1 # 22
Object Detection COCO minival RetinaNet (SpineNet-190, 1536x1536) box AP 52.2 # 34
Object Detection COCO test-dev RetinaNet (SpineNet-190, 1280x1280) box AP 52.1 # 47
AP50 71.8 # 24
AP75 56.5 # 31
APS 35.4 # 20
APM 55 # 31
APL 63.6 # 35
Hardware Burden None # 1
Operations per network pass None # 1
Object Detection COCO test-dev RetinaNet (SpineNet-49, 640x640) box AP 44.3 # 114
AP50 63.8 # 95
AP75 47.6 # 93
APS 25.9 # 92
APM 47.7 # 83
APL 61.1 # 52
Hardware Burden None # 1
Operations per network pass None # 1
Object Detection COCO test-dev RetinaNet (SpineNet-96, 1024x1024) box AP 48.6 # 73
AP50 68.4 # 50
AP75 52.5 # 55
APS 32 # 38
APM 52.3 # 47
APL 62 # 46
Hardware Burden None # 1
Operations per network pass None # 1
Object Detection COCO test-dev RetinaNet (SpineNet-49S, 640x640) box AP 41.5 # 149
AP50 60.5 # 122
AP75 44.6 # 122
APS 23.3 # 115
APM 45 # 114
APL 58 # 73
Hardware Burden None # 1
Operations per network pass None # 1
Object Detection COCO test-dev SpineNet-49 (640, RetinaNet, single-scale) box AP 42.8 # 133
AP50 62.3 # 109
AP75 46.1 # 111
APS 23.7 # 110
APM 45.2 # 111
APL 57.3 # 79
Instance Segmentation COCO test-dev Mask R-CNN (SpineNet-190, 1536x1536) mask AP 46.1 # 18
Object Detection COCO test-dev RetinaNet (SpineNet-49, 896x896) box AP 46.7 # 91
AP50 66.3 # 68
AP75 50.6 # 71
APS 29.1 # 62
APM 50.1 # 62
APL 61.7 # 47
Hardware Burden None # 1
Operations per network pass None # 1
Object Detection COCO test-dev RetinaNet (SpineNet-143, 1280x1280) box AP 50.7 # 56
AP50 70.4 # 31
AP75 54.9 # 40
APS 33.6 # 30
APM 53.9 # 37
APL 62.1 # 43
Hardware Burden None # 1
Operations per network pass None # 1
Image Classification ImageNet SpineNet-143 Top 1 Accuracy 79% # 432
Top 5 Accuracy 94.4% # 144
Number of params 60.5M # 473
Image Classification iNaturalist SpineNet-143 Top 1 Accuracy 63.6% # 8
Top 5 Accuracy 84.8% # 2

Methods