Artikelübersicht über FarSee-Net - ein neuer Ansatz zur semantischen Segmentierung in Echtzeit

In diesem Artikel schlagen die Autoren die CF-ASPP-Architektur (Cascaded Factorized Atrous Spatial Pyramid Pooling) für die semantische Echtzeitsegmentierung vor. Das neue CF-ASPP-Modul und die Verwendung der Superauflösung verbessern den Kompromiss zwischen Latenz und Genauigkeit. Die Überprüfung wurde vom führenden Entwickler von MTS Andrey Lukyanenko vorbereitet.

Bild

Die semantische Echtzeitsegmentierung ist für viele Aufgaben mit begrenzten Ressourcen unerlässlich. Eine der großen Schwierigkeiten besteht darin, mit Objekten unterschiedlicher Größe zu arbeiten und den Kontext zu verwenden. In diesem Artikel schlagen die Autoren die CF-ASPP-Architektur (Cascaded Factorized Atrous Spatial Pyramid Pooling) vor.

Heutzutage besteht ein üblicher Ansatz darin, die Größe von Bildern in den Anfangsstadien schnell zu reduzieren, und dann wird die Maske der ursprünglichen Größe unter Verwendung von Upsampling erhalten. Die Autoren schlagen vor, Super-Resolution-Ansätze anstelle von einfachem Upsampling zu verwenden.

Das neue Modul und die Verwendung der Superauflösung können den Kompromiss zwischen Latenz und Genauigkeit verbessern.

In der Terminologie der Autoren wird das trainierte Netzwerk für die Merkmalsextraktion als Front-End-Netzwerk und der Rest als Back-End-Netzwerk bezeichnet.

Bild

Begründung für Verbesserungen

Da dasselbe Objekt in verschiedenen Bildern unterschiedliche Größen haben kann, ist es sehr wichtig, Kontextinformationen effektiv nutzen zu können, insbesondere für kleine und schmale Objekte. Das Front-End führt normalerweise eine Kontextaggregation auf mehreren Skalen durch. Normalerweise arbeiten diese Module jedoch in tiefen Ebenen neuronaler Netze, in denen die Anzahl der Kanäle hoch ist. Infolgedessen erfordern selbst Faltungsschichten mit einer Kernelgröße von 3 ziemlich viele Rechenressourcen. Daher schlagen die Autoren ein eigenes Modul vor, das es effektiver macht.

Ein weiteres Back-End-Problem für die semantische Segmentierung besteht darin, dass Feature-Maps nach dem Front-End eine erheblich kleinere räumliche Dimension aufweisen. Außerdem verwenden viele Ansätze Bilder mit reduzierter Größe, um die Geschwindigkeit zu erhöhen. Dadurch ist die Größe noch kleiner. Die Autoren schlagen vor, während des Trainings eine Originalmaske zur Überwachung zu verwenden. Mit der Superauflösung können Sie eine hochauflösende Maske effizient aus einer niedrigauflösenden Maske wiederherstellen.

Das Wesentliche der Verbesserungen

Jedes trainierte Netz wie VGG, ResNet, MobileNet kann als Front-End verwendet werden.

Der springende Punkt ist das Back-End:

Bild

Cascaded Factorized ASPP

Atrous Faltungen werden häufig in der semantischen Segmentierung verwendet - ihr Unterschied zum Standardansatz besteht darin, dass zwischen den Filtern r - 1 Nullen hinzugefügt werden. Auf diese Weise können Sie die Sichtbarkeit jedes Filters erheblich verbessern, ohne die Rechenkosten zu erhöhen. Da jedoch für große Feature-Maps schwerwiegende Windungen gelten, ist das Rechnen immer noch kostspielig.

Die Autoren schlagen vor, eine 3 × 3-Atrous-Faltung in zwei Teile zu zerlegen: punktweise Faltung, um die Anzahl der Kanäle zu verringern, und dann tiefen- und atrous-Faltung, um den Rechenaufwand zu verringern. Infolgedessen sind ungefähr 8,8-mal weniger Berechnungen erforderlich.

Zusätzlich wird das ASPP-Modul zweimal in Kaskade angewendet. Einerseits empfängt das Modell mehr Kontexte mit unterschiedlichen Maßstäben, andererseits gelangen kleinere Bilder zum zweiten ASPP, sodass das Raster nicht sehr verlangsamt wird, sondern die Genauigkeit zunimmt.

Feature Space Super-Auflösung

Aufgrund des Front-End-Vorgangs wird die Bildgröße stark reduziert, und wir müssen ein hochauflösendes Ergebnis basierend auf diesem reduzierten Bild erhalten. Die Autoren verwenden hierfür den Super-Resolution-Ansatz.

In der Trainingsphase wird ein Miniaturbild als Eingabe verwendet, und das Originalbild wird als Grundwahrheit verwendet.

Im Modul erfolgt das Back-End-Upsampling mithilfe der Subpixel-Faltung, die nur für Aufgaben mit hoher Auflösung verwendet wird.

Bild

Experimente

Als Datensatz wurden Stadtlandschaften verwendet. Der Code wurde in Pytorch 1.1, CuDNN v7.0 geschrieben. Die Interferenz wurde auf Nvidia Titan X (Maxwell) durchgeführt. Verwendet ResNet-18 als trainiertes Netz. Die Features wurden aus der letzten Ebene vor dem durchschnittlichen Pooling und aus der Ebene conv3_x übernommen.
SGD, 400 Epochen und viele Erweiterungen.

Ablationsstudie zur Netzwerkstruktur

Bild

4 Ansätze getestet:

  1. Frontend - ResNet-18, Backend - ASPP, Decoder - DeeplabV3 +
  2. Frontend - ResNet-18, Backend - ein F-ASPP, Decoder - DeeplabV3 +
  3. Front-End - ResNet-18, Back-End - CF-ASPP (ohne Auflösung des Funktionsbereichs)
  4. Der volle Ansatz.

Vergleich mit anderen Ansätzen.

Bild

Die Qualität ist wirklich hoch und die Inferenzrate ist fast die beste.

Bild

All Articles