Xiyang Dai, Yinpeng Chen, Bin Xiao, Dongdong Chen, Mengchen Liu, Lu Yuan, Lei Zhang
The complex nature of combining localization and classification in object detection has resulted in the flourished development of methods. Previous works tried to improve the performance in various object detection heads but failed to present a unified view. In this paper, we present a novel dynamic head framework to unify object detection heads with attentions. By coherently combining multiple self-attention mechanisms between feature levels for scale-awareness, among spatial locations for spatial-awareness, and within output channels for task-awareness, the proposed approach significantly improves the representation ability of object detection heads without any computational overhead. Further experiments demonstrate that the effectiveness and efficiency of the proposed dynamic head on the COCO benchmark. With a standard ResNeXt-101-DCN backbone, we largely improve the performance over popular object detectors and achieve a new state-of-the-art at 54.0 AP. Furthermore, with latest transformer backbone and extra data, we can push current best COCO result to a new record at 60.6 AP. The code will be released at https://github.com/microsoft/DynamicHead.
| Task | Dataset | Metric | Value | Model |
|---|---|---|---|---|
| Object Detection | COCO test-dev | AP50 | 78.5 | DyHead (Swin-L, multi scale, self-training) |
| Object Detection | COCO test-dev | AP75 | 66.6 | DyHead (Swin-L, multi scale, self-training) |
| Object Detection | COCO test-dev | APL | 74.2 | DyHead (Swin-L, multi scale, self-training) |
| Object Detection | COCO test-dev | APM | 64 | DyHead (Swin-L, multi scale, self-training) |
| Object Detection | COCO test-dev | box mAP | 60.6 | DyHead (Swin-L, multi scale, self-training) |
| Object Detection | COCO test-dev | AP50 | 77.1 | DyHead (Swin-L, multi scale) |
| Object Detection | COCO test-dev | AP75 | 64.5 | DyHead (Swin-L, multi scale) |
| Object Detection | COCO test-dev | APL | 72.8 | DyHead (Swin-L, multi scale) |
| Object Detection | COCO test-dev | APM | 62 | DyHead (Swin-L, multi scale) |
| Object Detection | COCO test-dev | box mAP | 58.7 | DyHead (Swin-L, multi scale) |
| Object Detection | COCO test-dev | AP50 | 72.1 | DyHead (ResNeXt-64x4d-101-DCN, multi scale) |
| Object Detection | COCO test-dev | AP75 | 59.3 | DyHead (ResNeXt-64x4d-101-DCN, multi scale) |
| Object Detection | COCO test-dev | box mAP | 54 | DyHead (ResNeXt-64x4d-101-DCN, multi scale) |
| Object Detection | COCO test-dev | AP50 | 65.7 | DyHead (ResNeXt-64x4d-101) |
| Object Detection | COCO test-dev | AP75 | 51.9 | DyHead (ResNeXt-64x4d-101) |
| Object Detection | COCO test-dev | box mAP | 47.7 | DyHead (ResNeXt-64x4d-101) |
| Object Detection | COCO test-dev | AP50 | 60.7 | DyHead (ResNet-50) |
| Object Detection | COCO test-dev | AP75 | 46.8 | DyHead (ResNet-50) |
| Object Detection | COCO test-dev | box mAP | 43 | DyHead (ResNet-50) |
| Object Detection | COCO-O | Average mAP | 35.3 | DyHead (Swin-L) |
| Object Detection | COCO-O | Effective Robustness | 10 | DyHead (Swin-L) |
| Object Detection | COCO-O | Average mAP | 19.3 | DyHead (ResNet-50) |
| Object Detection | COCO-O | Effective Robustness | 0.16 | DyHead (ResNet-50) |
| Object Detection | COCO 2017 val | AP50 | 68 | DyHead (Swin-T, multi scale) |
| Object Detection | COCO 2017 val | AP75 | 54.3 | DyHead (Swin-T, multi scale) |
| Object Detection | COCO 2017 val | APL | 64.2 | DyHead (Swin-T, multi scale) |
| Object Detection | COCO minival | AP50 | 78.2 | DyHead (Swin-L, multi scale, self-training) |
| Object Detection | COCO minival | APL | 74.2 | DyHead (Swin-L, multi scale, self-training) |
| Object Detection | COCO minival | box AP | 60.3 | DyHead (Swin-L, multi scale, self-training) |
| Object Detection | COCO minival | AP50 | 76.8 | DyHead (Swin-L, multi scale) |
| Object Detection | COCO minival | APL | 73.2 | DyHead (Swin-L, multi scale) |
| Object Detection | COCO minival | APM | 62.2 | DyHead (Swin-L, multi scale) |
| Object Detection | COCO minival | APS | 44.5 | DyHead (Swin-L, multi scale) |
| Object Detection | COCO minival | box AP | 58.4 | DyHead (Swin-L, multi scale) |
| Object Detection | COCO minival | box AP | 46.5 | DyHead (ResNet-101) |
| Object Detection | COCO minival | APL | 66.3 | DyHead (ResNeXt-64x4d-101-DCN, multi scale) |
| 3D | COCO test-dev | AP50 | 78.5 | DyHead (Swin-L, multi scale, self-training) |
| 3D | COCO test-dev | AP75 | 66.6 | DyHead (Swin-L, multi scale, self-training) |
| 3D | COCO test-dev | APL | 74.2 | DyHead (Swin-L, multi scale, self-training) |
| 3D | COCO test-dev | APM | 64 | DyHead (Swin-L, multi scale, self-training) |
| 3D | COCO test-dev | box mAP | 60.6 | DyHead (Swin-L, multi scale, self-training) |
| 3D | COCO test-dev | AP50 | 77.1 | DyHead (Swin-L, multi scale) |
| 3D | COCO test-dev | AP75 | 64.5 | DyHead (Swin-L, multi scale) |
| 3D | COCO test-dev | APL | 72.8 | DyHead (Swin-L, multi scale) |
| 3D | COCO test-dev | APM | 62 | DyHead (Swin-L, multi scale) |
| 3D | COCO test-dev | box mAP | 58.7 | DyHead (Swin-L, multi scale) |
| 3D | COCO test-dev | AP50 | 72.1 | DyHead (ResNeXt-64x4d-101-DCN, multi scale) |
| 3D | COCO test-dev | AP75 | 59.3 | DyHead (ResNeXt-64x4d-101-DCN, multi scale) |
| 3D | COCO test-dev | box mAP | 54 | DyHead (ResNeXt-64x4d-101-DCN, multi scale) |
| 3D | COCO test-dev | AP50 | 65.7 | DyHead (ResNeXt-64x4d-101) |
| 3D | COCO test-dev | AP75 | 51.9 | DyHead (ResNeXt-64x4d-101) |
| 3D | COCO test-dev | box mAP | 47.7 | DyHead (ResNeXt-64x4d-101) |
| 3D | COCO test-dev | AP50 | 60.7 | DyHead (ResNet-50) |
| 3D | COCO test-dev | AP75 | 46.8 | DyHead (ResNet-50) |
| 3D | COCO test-dev | box mAP | 43 | DyHead (ResNet-50) |
| 3D | COCO-O | Average mAP | 35.3 | DyHead (Swin-L) |
| 3D | COCO-O | Effective Robustness | 10 | DyHead (Swin-L) |
| 3D | COCO-O | Average mAP | 19.3 | DyHead (ResNet-50) |
| 3D | COCO-O | Effective Robustness | 0.16 | DyHead (ResNet-50) |
| 3D | COCO 2017 val | AP50 | 68 | DyHead (Swin-T, multi scale) |
| 3D | COCO 2017 val | AP75 | 54.3 | DyHead (Swin-T, multi scale) |
| 3D | COCO 2017 val | APL | 64.2 | DyHead (Swin-T, multi scale) |
| 3D | COCO minival | AP50 | 78.2 | DyHead (Swin-L, multi scale, self-training) |
| 3D | COCO minival | APL | 74.2 | DyHead (Swin-L, multi scale, self-training) |
| 3D | COCO minival | box AP | 60.3 | DyHead (Swin-L, multi scale, self-training) |
| 3D | COCO minival | AP50 | 76.8 | DyHead (Swin-L, multi scale) |
| 3D | COCO minival | APL | 73.2 | DyHead (Swin-L, multi scale) |
| 3D | COCO minival | APM | 62.2 | DyHead (Swin-L, multi scale) |
| 3D | COCO minival | APS | 44.5 | DyHead (Swin-L, multi scale) |
| 3D | COCO minival | box AP | 58.4 | DyHead (Swin-L, multi scale) |
| 3D | COCO minival | box AP | 46.5 | DyHead (ResNet-101) |
| 3D | COCO minival | APL | 66.3 | DyHead (ResNeXt-64x4d-101-DCN, multi scale) |
| 2D Classification | COCO test-dev | AP50 | 78.5 | DyHead (Swin-L, multi scale, self-training) |
| 2D Classification | COCO test-dev | AP75 | 66.6 | DyHead (Swin-L, multi scale, self-training) |
| 2D Classification | COCO test-dev | APL | 74.2 | DyHead (Swin-L, multi scale, self-training) |
| 2D Classification | COCO test-dev | APM | 64 | DyHead (Swin-L, multi scale, self-training) |
| 2D Classification | COCO test-dev | box mAP | 60.6 | DyHead (Swin-L, multi scale, self-training) |
| 2D Classification | COCO test-dev | AP50 | 77.1 | DyHead (Swin-L, multi scale) |
| 2D Classification | COCO test-dev | AP75 | 64.5 | DyHead (Swin-L, multi scale) |
| 2D Classification | COCO test-dev | APL | 72.8 | DyHead (Swin-L, multi scale) |
| 2D Classification | COCO test-dev | APM | 62 | DyHead (Swin-L, multi scale) |
| 2D Classification | COCO test-dev | box mAP | 58.7 | DyHead (Swin-L, multi scale) |
| 2D Classification | COCO test-dev | AP50 | 72.1 | DyHead (ResNeXt-64x4d-101-DCN, multi scale) |
| 2D Classification | COCO test-dev | AP75 | 59.3 | DyHead (ResNeXt-64x4d-101-DCN, multi scale) |
| 2D Classification | COCO test-dev | box mAP | 54 | DyHead (ResNeXt-64x4d-101-DCN, multi scale) |
| 2D Classification | COCO test-dev | AP50 | 65.7 | DyHead (ResNeXt-64x4d-101) |
| 2D Classification | COCO test-dev | AP75 | 51.9 | DyHead (ResNeXt-64x4d-101) |
| 2D Classification | COCO test-dev | box mAP | 47.7 | DyHead (ResNeXt-64x4d-101) |
| 2D Classification | COCO test-dev | AP50 | 60.7 | DyHead (ResNet-50) |
| 2D Classification | COCO test-dev | AP75 | 46.8 | DyHead (ResNet-50) |
| 2D Classification | COCO test-dev | box mAP | 43 | DyHead (ResNet-50) |
| 2D Classification | COCO-O | Average mAP | 35.3 | DyHead (Swin-L) |
| 2D Classification | COCO-O | Effective Robustness | 10 | DyHead (Swin-L) |
| 2D Classification | COCO-O | Average mAP | 19.3 | DyHead (ResNet-50) |
| 2D Classification | COCO-O | Effective Robustness | 0.16 | DyHead (ResNet-50) |
| 2D Classification | COCO 2017 val | AP50 | 68 | DyHead (Swin-T, multi scale) |
| 2D Classification | COCO 2017 val | AP75 | 54.3 | DyHead (Swin-T, multi scale) |
| 2D Classification | COCO 2017 val | APL | 64.2 | DyHead (Swin-T, multi scale) |
| 2D Classification | COCO minival | AP50 | 78.2 | DyHead (Swin-L, multi scale, self-training) |
| 2D Classification | COCO minival | APL | 74.2 | DyHead (Swin-L, multi scale, self-training) |
| 2D Classification | COCO minival | box AP | 60.3 | DyHead (Swin-L, multi scale, self-training) |
| 2D Classification | COCO minival | AP50 | 76.8 | DyHead (Swin-L, multi scale) |
| 2D Classification | COCO minival | APL | 73.2 | DyHead (Swin-L, multi scale) |
| 2D Classification | COCO minival | APM | 62.2 | DyHead (Swin-L, multi scale) |
| 2D Classification | COCO minival | APS | 44.5 | DyHead (Swin-L, multi scale) |
| 2D Classification | COCO minival | box AP | 58.4 | DyHead (Swin-L, multi scale) |
| 2D Classification | COCO minival | box AP | 46.5 | DyHead (ResNet-101) |
| 2D Classification | COCO minival | APL | 66.3 | DyHead (ResNeXt-64x4d-101-DCN, multi scale) |
| 2D Object Detection | COCO test-dev | AP50 | 78.5 | DyHead (Swin-L, multi scale, self-training) |
| 2D Object Detection | COCO test-dev | AP75 | 66.6 | DyHead (Swin-L, multi scale, self-training) |
| 2D Object Detection | COCO test-dev | APL | 74.2 | DyHead (Swin-L, multi scale, self-training) |
| 2D Object Detection | COCO test-dev | APM | 64 | DyHead (Swin-L, multi scale, self-training) |
| 2D Object Detection | COCO test-dev | box mAP | 60.6 | DyHead (Swin-L, multi scale, self-training) |
| 2D Object Detection | COCO test-dev | AP50 | 77.1 | DyHead (Swin-L, multi scale) |
| 2D Object Detection | COCO test-dev | AP75 | 64.5 | DyHead (Swin-L, multi scale) |
| 2D Object Detection | COCO test-dev | APL | 72.8 | DyHead (Swin-L, multi scale) |
| 2D Object Detection | COCO test-dev | APM | 62 | DyHead (Swin-L, multi scale) |
| 2D Object Detection | COCO test-dev | box mAP | 58.7 | DyHead (Swin-L, multi scale) |
| 2D Object Detection | COCO test-dev | AP50 | 72.1 | DyHead (ResNeXt-64x4d-101-DCN, multi scale) |
| 2D Object Detection | COCO test-dev | AP75 | 59.3 | DyHead (ResNeXt-64x4d-101-DCN, multi scale) |
| 2D Object Detection | COCO test-dev | box mAP | 54 | DyHead (ResNeXt-64x4d-101-DCN, multi scale) |
| 2D Object Detection | COCO test-dev | AP50 | 65.7 | DyHead (ResNeXt-64x4d-101) |
| 2D Object Detection | COCO test-dev | AP75 | 51.9 | DyHead (ResNeXt-64x4d-101) |
| 2D Object Detection | COCO test-dev | box mAP | 47.7 | DyHead (ResNeXt-64x4d-101) |
| 2D Object Detection | COCO test-dev | AP50 | 60.7 | DyHead (ResNet-50) |
| 2D Object Detection | COCO test-dev | AP75 | 46.8 | DyHead (ResNet-50) |
| 2D Object Detection | COCO test-dev | box mAP | 43 | DyHead (ResNet-50) |
| 2D Object Detection | COCO-O | Average mAP | 35.3 | DyHead (Swin-L) |
| 2D Object Detection | COCO-O | Effective Robustness | 10 | DyHead (Swin-L) |
| 2D Object Detection | COCO-O | Average mAP | 19.3 | DyHead (ResNet-50) |
| 2D Object Detection | COCO-O | Effective Robustness | 0.16 | DyHead (ResNet-50) |
| 2D Object Detection | COCO 2017 val | AP50 | 68 | DyHead (Swin-T, multi scale) |
| 2D Object Detection | COCO 2017 val | AP75 | 54.3 | DyHead (Swin-T, multi scale) |
| 2D Object Detection | COCO 2017 val | APL | 64.2 | DyHead (Swin-T, multi scale) |
| 2D Object Detection | COCO minival | AP50 | 78.2 | DyHead (Swin-L, multi scale, self-training) |
| 2D Object Detection | COCO minival | APL | 74.2 | DyHead (Swin-L, multi scale, self-training) |
| 2D Object Detection | COCO minival | box AP | 60.3 | DyHead (Swin-L, multi scale, self-training) |
| 2D Object Detection | COCO minival | AP50 | 76.8 | DyHead (Swin-L, multi scale) |
| 2D Object Detection | COCO minival | APL | 73.2 | DyHead (Swin-L, multi scale) |
| 2D Object Detection | COCO minival | APM | 62.2 | DyHead (Swin-L, multi scale) |
| 2D Object Detection | COCO minival | APS | 44.5 | DyHead (Swin-L, multi scale) |
| 2D Object Detection | COCO minival | box AP | 58.4 | DyHead (Swin-L, multi scale) |
| 2D Object Detection | COCO minival | box AP | 46.5 | DyHead (ResNet-101) |
| 2D Object Detection | COCO minival | APL | 66.3 | DyHead (ResNeXt-64x4d-101-DCN, multi scale) |
| 16k | COCO test-dev | AP50 | 78.5 | DyHead (Swin-L, multi scale, self-training) |
| 16k | COCO test-dev | AP75 | 66.6 | DyHead (Swin-L, multi scale, self-training) |
| 16k | COCO test-dev | APL | 74.2 | DyHead (Swin-L, multi scale, self-training) |
| 16k | COCO test-dev | APM | 64 | DyHead (Swin-L, multi scale, self-training) |
| 16k | COCO test-dev | box mAP | 60.6 | DyHead (Swin-L, multi scale, self-training) |
| 16k | COCO test-dev | AP50 | 77.1 | DyHead (Swin-L, multi scale) |
| 16k | COCO test-dev | AP75 | 64.5 | DyHead (Swin-L, multi scale) |
| 16k | COCO test-dev | APL | 72.8 | DyHead (Swin-L, multi scale) |
| 16k | COCO test-dev | APM | 62 | DyHead (Swin-L, multi scale) |
| 16k | COCO test-dev | box mAP | 58.7 | DyHead (Swin-L, multi scale) |
| 16k | COCO test-dev | AP50 | 72.1 | DyHead (ResNeXt-64x4d-101-DCN, multi scale) |
| 16k | COCO test-dev | AP75 | 59.3 | DyHead (ResNeXt-64x4d-101-DCN, multi scale) |
| 16k | COCO test-dev | box mAP | 54 | DyHead (ResNeXt-64x4d-101-DCN, multi scale) |
| 16k | COCO test-dev | AP50 | 65.7 | DyHead (ResNeXt-64x4d-101) |
| 16k | COCO test-dev | AP75 | 51.9 | DyHead (ResNeXt-64x4d-101) |
| 16k | COCO test-dev | box mAP | 47.7 | DyHead (ResNeXt-64x4d-101) |
| 16k | COCO test-dev | AP50 | 60.7 | DyHead (ResNet-50) |
| 16k | COCO test-dev | AP75 | 46.8 | DyHead (ResNet-50) |
| 16k | COCO test-dev | box mAP | 43 | DyHead (ResNet-50) |
| 16k | COCO-O | Average mAP | 35.3 | DyHead (Swin-L) |
| 16k | COCO-O | Effective Robustness | 10 | DyHead (Swin-L) |
| 16k | COCO-O | Average mAP | 19.3 | DyHead (ResNet-50) |
| 16k | COCO-O | Effective Robustness | 0.16 | DyHead (ResNet-50) |
| 16k | COCO 2017 val | AP50 | 68 | DyHead (Swin-T, multi scale) |
| 16k | COCO 2017 val | AP75 | 54.3 | DyHead (Swin-T, multi scale) |
| 16k | COCO 2017 val | APL | 64.2 | DyHead (Swin-T, multi scale) |
| 16k | COCO minival | AP50 | 78.2 | DyHead (Swin-L, multi scale, self-training) |
| 16k | COCO minival | APL | 74.2 | DyHead (Swin-L, multi scale, self-training) |
| 16k | COCO minival | box AP | 60.3 | DyHead (Swin-L, multi scale, self-training) |
| 16k | COCO minival | AP50 | 76.8 | DyHead (Swin-L, multi scale) |
| 16k | COCO minival | APL | 73.2 | DyHead (Swin-L, multi scale) |
| 16k | COCO minival | APM | 62.2 | DyHead (Swin-L, multi scale) |
| 16k | COCO minival | APS | 44.5 | DyHead (Swin-L, multi scale) |
| 16k | COCO minival | box AP | 58.4 | DyHead (Swin-L, multi scale) |
| 16k | COCO minival | box AP | 46.5 | DyHead (ResNet-101) |
| 16k | COCO minival | APL | 66.3 | DyHead (ResNeXt-64x4d-101-DCN, multi scale) |