Aravind Srinivas, Tsung-Yi Lin, Niki Parmar, Jonathon Shlens, Pieter Abbeel, Ashish Vaswani
We present BoTNet, a conceptually simple yet powerful backbone architecture that incorporates self-attention for multiple computer vision tasks including image classification, object detection and instance segmentation. By just replacing the spatial convolutions with global self-attention in the final three bottleneck blocks of a ResNet and no other changes, our approach improves upon the baselines significantly on instance segmentation and object detection while also reducing the parameters, with minimal overhead in latency. Through the design of BoTNet, we also point out how ResNet bottleneck blocks with self-attention can be viewed as Transformer blocks. Without any bells and whistles, BoTNet achieves 44.4% Mask AP and 49.7% Box AP on the COCO Instance Segmentation benchmark using the Mask R-CNN framework; surpassing the previous best published single model and single scale results of ResNeSt evaluated on the COCO validation set. Finally, we present a simple adaptation of the BoTNet design for image classification, resulting in models that achieve a strong performance of 84.7% top-1 accuracy on the ImageNet benchmark while being up to 1.64x faster in compute time than the popular EfficientNet models on TPU-v3 hardware. We hope our simple and effective approach will serve as a strong baseline for future research in self-attention models for vision
| Task | Dataset | Metric | Value | Model |
|---|---|---|---|---|
| Object Detection | COCO minival | AP50 | 71.3 | BoTNet 200 (Mask R-CNN, single scale, 72 epochs) |
| Object Detection | COCO minival | AP75 | 54.6 | BoTNet 200 (Mask R-CNN, single scale, 72 epochs) |
| Object Detection | COCO minival | box AP | 49.7 | BoTNet 200 (Mask R-CNN, single scale, 72 epochs) |
| Object Detection | COCO minival | AP50 | 71 | BoTNet 152 (Mask R-CNN, single scale, 72 epochs) |
| Object Detection | COCO minival | AP75 | 54.2 | BoTNet 152 (Mask R-CNN, single scale, 72 epochs) |
| Object Detection | COCO minival | box AP | 49.5 | BoTNet 152 (Mask R-CNN, single scale, 72 epochs) |
| Object Detection | COCO minival | box AP | 45.9 | BoTNet 50 (72 epochs) |
| Image Classification | ImageNet | GFLOPs | 19.3 | BoTNet T5 |
| Image Classification | ImageNet | GFLOPs | 10.9 | BoTNet T4 |
| Image Classification | ImageNet | GFLOPs | 7.3 | BoTNet T3 |
| 3D | COCO minival | AP50 | 71.3 | BoTNet 200 (Mask R-CNN, single scale, 72 epochs) |
| 3D | COCO minival | AP75 | 54.6 | BoTNet 200 (Mask R-CNN, single scale, 72 epochs) |
| 3D | COCO minival | box AP | 49.7 | BoTNet 200 (Mask R-CNN, single scale, 72 epochs) |
| 3D | COCO minival | AP50 | 71 | BoTNet 152 (Mask R-CNN, single scale, 72 epochs) |
| 3D | COCO minival | AP75 | 54.2 | BoTNet 152 (Mask R-CNN, single scale, 72 epochs) |
| 3D | COCO minival | box AP | 49.5 | BoTNet 152 (Mask R-CNN, single scale, 72 epochs) |
| 3D | COCO minival | box AP | 45.9 | BoTNet 50 (72 epochs) |
| Instance Segmentation | COCO minival | mask AP | 44.4 | BoTNet 200 (Mask R-CNN, single scale, 72 epochs) |
| Instance Segmentation | COCO minival | mask AP | 43.7 | BoTNet 152 (Mask R-CNN, single scale, 72 epochs) |
| Instance Segmentation | COCO minival | mask AP | 40.7 | BoTNet 50 (72 epochs) |
| 2D Classification | COCO minival | AP50 | 71.3 | BoTNet 200 (Mask R-CNN, single scale, 72 epochs) |
| 2D Classification | COCO minival | AP75 | 54.6 | BoTNet 200 (Mask R-CNN, single scale, 72 epochs) |
| 2D Classification | COCO minival | box AP | 49.7 | BoTNet 200 (Mask R-CNN, single scale, 72 epochs) |
| 2D Classification | COCO minival | AP50 | 71 | BoTNet 152 (Mask R-CNN, single scale, 72 epochs) |
| 2D Classification | COCO minival | AP75 | 54.2 | BoTNet 152 (Mask R-CNN, single scale, 72 epochs) |
| 2D Classification | COCO minival | box AP | 49.5 | BoTNet 152 (Mask R-CNN, single scale, 72 epochs) |
| 2D Classification | COCO minival | box AP | 45.9 | BoTNet 50 (72 epochs) |
| 2D Object Detection | COCO minival | AP50 | 71.3 | BoTNet 200 (Mask R-CNN, single scale, 72 epochs) |
| 2D Object Detection | COCO minival | AP75 | 54.6 | BoTNet 200 (Mask R-CNN, single scale, 72 epochs) |
| 2D Object Detection | COCO minival | box AP | 49.7 | BoTNet 200 (Mask R-CNN, single scale, 72 epochs) |
| 2D Object Detection | COCO minival | AP50 | 71 | BoTNet 152 (Mask R-CNN, single scale, 72 epochs) |
| 2D Object Detection | COCO minival | AP75 | 54.2 | BoTNet 152 (Mask R-CNN, single scale, 72 epochs) |
| 2D Object Detection | COCO minival | box AP | 49.5 | BoTNet 152 (Mask R-CNN, single scale, 72 epochs) |
| 2D Object Detection | COCO minival | box AP | 45.9 | BoTNet 50 (72 epochs) |
| 16k | COCO minival | AP50 | 71.3 | BoTNet 200 (Mask R-CNN, single scale, 72 epochs) |
| 16k | COCO minival | AP75 | 54.6 | BoTNet 200 (Mask R-CNN, single scale, 72 epochs) |
| 16k | COCO minival | box AP | 49.7 | BoTNet 200 (Mask R-CNN, single scale, 72 epochs) |
| 16k | COCO minival | AP50 | 71 | BoTNet 152 (Mask R-CNN, single scale, 72 epochs) |
| 16k | COCO minival | AP75 | 54.2 | BoTNet 152 (Mask R-CNN, single scale, 72 epochs) |
| 16k | COCO minival | box AP | 49.5 | BoTNet 152 (Mask R-CNN, single scale, 72 epochs) |
| 16k | COCO minival | box AP | 45.9 | BoTNet 50 (72 epochs) |