Offizielle Umsetzung eines neuronalen Betreibers, wie in Involution beschrieben: Umkehrung der Erben der Faltung für die visuelle Erkennung (CVPR'21)
Von Duo Li, Jie Hu, Changhu Wang, Xiangtai Li, Qi She, Lei Zhu, Tong Zhang und Qifeng Chen

Tl; Dr. involution ist ein allgemeiner neuronaler Primitiv, der für ein Spektrum von Deep-Learning-Modellen für verschiedene Sehaufgaben vielseitig ist. involution brücken convolution und self-attention im Design aus, während sie effizienter und wirksamer als convolution sind, einfacher als self-attention in Form.


Wenn Sie unsere Arbeit in Ihrer Forschung nützlich finden, zitieren Sie bitte:
@InProceedings{Li_2021_CVPR,
author = {Li, Duo and Hu, Jie and Wang, Changhu and Li, Xiangtai and She, Qi and Zhu, Lei and Zhang, Tong and Chen, Qifeng},
title = {Involution: Inverting the Inherence of Convolution for Visual Recognition},
booktitle = {IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2021}
}
Dieses Repository ist vollständig auf den OpenMMLAB -Toolkits aufgebaut. Für jede einzelne Aufgabe folgen die Konfigurations- und Modelldateien derselben Verzeichnisorganisation wie MMCLS, MMDET bzw. MMSEG.
Zum Beispiel in Bezug auf die Bewertung von Detektoren
git clone https://github.com/open-mmlab/mmdetection # and install
# copy model files
cp det/mmdet/models/backbones/ * mmdetection/mmdet/models/backbones
cp det/mmdet/models/necks/ * mmdetection/mmdet/models/necks
cp det/mmdet/models/dense_heads/ * mmdetection/mmdet/models/dense_heads
cp det/mmdet/models/roi_heads/ * mmdetection/mmdet/models/roi_heads
cp det/mmdet/models/roi_heads/mask_heads/ * mmdetection/mmdet/models/roi_heads/mask_heads
cp det/mmdet/models/utils/ * mmdetection/mmdet/models/utils
cp det/mmdet/datasets/ * mmdetection/mmdet/datasets
# copy config files
cp det/configs/_base_/models/ * mmdetection/configs/_base_/models
cp det/configs/_base_/schedules/ * mmdetection/configs/_base_/schedules
cp det/configs/involution mmdetection/configs -r
# evaluate checkpoints
cd mmdetection
bash tools/dist_test.sh ${CONFIG_FILE} ${CHECKPOINT_FILE} ${GPU_NUM} [--out ${RESULT_FILE} ] [--eval ${EVAL_METRICS} ]Weitere detailliertere Anleitungen finden Sie in den ursprünglichen MMCLS-, MMDET- und MMSEG -Tutorials.
Derzeit bieten wir eine speichereffiziente Implementierung des Involuton-Operators anhand von Cupy an. Bitte installieren Sie diese Bibliothek im Voraus. Ein maßgeschneiderter Cuda -Kernel würde eine weitere Beschleunigung der Hardware bewirken. Jeder Beitrag der Community zu diesem ist begrüßt!
Die Parameter/Flops ↓ und Leistung ↑ im Vergleich zu den Faltungsbasis sind in den Klammern gekennzeichnet. Ein Teil dieser Kontrollpunkte finden Sie in unseren Neuauflagen, deren Leistung nur geringfügige Unterschiede zu den in unserem Artikel angegebenen Unterschieden aufweisen kann. Die Modelle werden mit 64 GPUs auf ImageNet, 8 GPUs auf Coco und 4 GPUs auf Stadtcapes ausgebildet.
| Modell | Parameter (m) | Flops (g) | Top-1 (%) | Top-5 (%) | Konfiguration | Herunterladen |
|---|---|---|---|---|---|---|
| Rednet-26 | 9,23 (32,8%↓) | 1,73 (29,2%↓) | 75,96 | 93.19 | Konfiguration | Modell | Protokoll |
| Rednet-38 | 12,39 (36,7%↓) | 2,22 (31,3%↓) | 77,48 | 93.57 | Konfiguration | Modell | Protokoll |
| Rednet-50 | 15,54 (39,5%↓) | 2,71 (34,1%↓) | 78,35 | 94.13 | Konfiguration | Modell | Protokoll |
| Rednet-101 | 25,65 (42,6%↓) | 4,74 (40,5%↓) | 78,92 | 94.35 | Konfiguration | Modell | Protokoll |
| Rednet-152 | 33,99 (43,5%↓) | 6,79 (41,4%↓) | 79.12 | 94.38 | Konfiguration | Modell | Protokoll |
Bevor Sie die folgenden nachgeschalteten Aufgaben abschließen, laden Sie das vorgebrachte REDNET-50-Gewicht von ImageNet herunter und setzen Sie das pretrained Argument in det/configs/_base_/models/*.py oder seg/configs/_base_/models/*.py
| Rückgrat | Nacken | Kopf | Stil | LR Schd | Parameter (m) | Flops (g) | Box ap | Konfiguration | Herunterladen |
|---|---|---|---|---|---|---|---|---|---|
| Rednet-50-FPN | Faltung | Faltung | Pytorch | 1x | 31,6 (23,9%↓) | 177,9 (14,1%↓) | 39,5 (1,8 ↑) | Konfiguration | Modell | Protokoll |
| Rednet-50-FPN | Involution | Faltung | Pytorch | 1x | 29,5 (28,9%↓) | 135,0 (34,8%↓) | 40.2 (2,5 ↑) | Konfiguration | Modell | Protokoll |
| Rednet-50-FPN | Involution | Involution | Pytorch | 1x | 29,0 (30,1%↓) | 91,5 (55,8%↓) | 39,2 (1,5 ↑) | Konfiguration | Modell | Protokoll |
| Rückgrat | Nacken | Kopf | Stil | LR Schd | Parameter (m) | Flops (g) | Box ap | Mask AP | Konfiguration | Herunterladen |
|---|---|---|---|---|---|---|---|---|---|---|
| Rednet-50-FPN | Faltung | Faltung | Pytorch | 1x | 34,2 (22,6%↓) | 224,2 (11,5%↓) | 39,9 (1,5 ↑) | 35,7 (0,6 ↑) | Konfiguration | Modell | Protokoll |
| Rednet-50-FPN | Involution | Faltung | Pytorch | 1x | 32,2 (27,1%↓) | 181,3 (28,5%↓) | 40.8 (2,4 ↑) | 36.4 (1.3 ↑) | Konfiguration | Modell | Protokoll |
| Rednet-50-FPN | Involution | Involution | Pytorch | 1x | 29,5 (33,3%↓) | 104,6 (58,7%↓) | 39,6 (1,2 ↑) | 35,1 (0,0 ↑) | Konfiguration | Modell | Protokoll |
| Rückgrat | Nacken | Stil | LR Schd | Parameter (m) | Flops (g) | Box ap | Konfiguration | Herunterladen |
|---|---|---|---|---|---|---|---|---|
| Rednet-50-FPN | Faltung | Pytorch | 1x | 27,8 (26,3%↓) | 210,1 (12,2%↓) | 38,2 (1,6 ↑) | Konfiguration | Modell | Protokoll |
| Rednet-50-FPN | Involution | Pytorch | 1x | 26,3 (30,2%↓) | 199,9 (16,5%↓) | 38,2 (1,6 ↑) | Konfiguration | Modell | Protokoll |
| Verfahren | Rückgrat | Nacken | Erntegröße | LR Schd | Parameter (m) | Flops (g) | Miou | Konfiguration | herunterladen |
|---|---|---|---|---|---|---|---|---|---|
| Fpn | Rednet-50 | Faltung | 512x1024 | 80000 | 18,5 (35,1%↓) | 293,9 (19,0%↓) | 78,0 (3.6 ↑) | Konfiguration | Modell | Protokoll |
| Fpn | Rednet-50 | Involution | 512x1024 | 80000 | 16,4 (42,5%↓) | 205,2 (43,4%↓) | 79.1 (4,7 ↑) | Konfiguration | Modell | Protokoll |
| Upernet | Rednet-50 | Faltung | 512x1024 | 80000 | 56,4 (15,1%↓) | 1825.6 (3,6%↓) | 80.6 (2.4 ↑) | Konfiguration | Modell | Protokoll |