DE102019123756A1 - Neuronales Netzwerk zur Durchführung einer semantischen Segmentierung eines Eingabebildes - Google Patents

Neuronales Netzwerk zur Durchführung einer semantischen Segmentierung eines Eingabebildes Download PDF

Info

Publication number
DE102019123756A1
DE102019123756A1 DE102019123756.4A DE102019123756A DE102019123756A1 DE 102019123756 A1 DE102019123756 A1 DE 102019123756A1 DE 102019123756 A DE102019123756 A DE 102019123756A DE 102019123756 A1 DE102019123756 A1 DE 102019123756A1
Authority
DE
Germany
Prior art keywords
encoder
block
decoder
map
neural network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102019123756.4A
Other languages
English (en)
Inventor
Senthil Kumar Yogamani
Gabriel Oliveira
Thomas Brox
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Connaught Electronics Ltd
Original Assignee
Connaught Electronics Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Connaught Electronics Ltd filed Critical Connaught Electronics Ltd
Priority to DE102019123756.4A priority Critical patent/DE102019123756A1/de
Publication of DE102019123756A1 publication Critical patent/DE102019123756A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

Ein neuronales Netzwerk zur Durchführung einer semantischen Segmentierung eines Eingabebildes (12) umfasst eine Vielzahl von Kodierer-Dekodierer-Einheiten (200, 300, 400). Das neuronale Netzwerk ist konfiguriert, um neben Vorwärtssprungverbindungen eines oder mehrere der Folgenden zu enthalten: eine Rückwärtssprungverbindung, die konfiguriert ist, um Werte aus einer Ausgabe-Map einer Verarbeitungsschicht eines Dekodiererblocks mit entsprechenden Werten aus einer Ausgabe-Map derselben räumlichen Auflösung einer Verarbeitungsschicht eines Kodiererblocks aus einer nachfolgenden Kodierer-Dekodierer-Einheit zu aggregieren, um eine Eingabe-Map für eine nachfolgende Schicht des Kodiererblocks bereitzustellen; und eine gestapelte Restverbindung, die konfiguriert ist, um Werte aus einer Ausgabe-Map des Dekodiererblocks mit entsprechenden Ausgabewerten von einer letzten Verarbeitungsschicht des Dekodiererblocks der nachfolgenden Kodierer-Dekodierer-Einheit zu aggregieren, um die Ausgabe-Map für die nachfolgenden Kodierer-Dekodierer-Einheit bereitzustellen.

Description

  • Gebiet der Technik
  • Die vorliegende Anmeldung betrifft ein neuronales Netzwerk zur Durchführung einer semantischen Segmentierung eines Eingabebildes.
  • Hintergrund
  • Deep Learning-Ansätze sind zum Standard für Wahrnehmungsaufgaben geworden, wie etwa:
    • Klassifizierung, wie offenbart in: K. Simonyan, A. Zisserman, „Very deep convolutional networks for largescale image recognition“, International Conference on Learning Representations (ICLR), 2015; ResNet offenbart in K. He, X. Zhang, S. Ren, J. Sun, „Deep residual learning for image recognition“, CoRR abs/1512.03385, URL http: //arxiv.org/abs/1512.03385, 1512.03385, 2015; und G. Huang, Z. Liu, L. van der Maaten, K.Q. Weinberger, „Densely connected convolutional networks“, IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017;
    • Objekterkennung, wie offenbart in: R. Girshick, „Fast R-CNN", Proceedings of the 2015 IEEE International Conference on Computer Vision (ICCV), S. 1440-1448;
    • optischer Fluss, wie offenbart in:E. Ilg, N. Mayer, T. Saikia, M. Keuper, A. Dosovitskiy, T. Brox, „Flownet 2.0: Evolution of optical flow estimation with deep networks", IEEE Conference on Computer Vision and Pattern Recognition (CVPR) S. 1647-1655, 2017; und
    • semantische Segmentierung, wie offenbart in: J. Long, E. Shelhamer, T. Darrell, „Fully convolutional networks (FCNs) for semantic segmentation", IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015, die das Ersetzen der vollständig verbundenen Schichten von Klassifikatoren für ein faltendes neuronales Netzwerk (Convolutional Neural Network, CNN) durch einen Faltungsdekodierer offenbaren, der die Auflösung wiederherstellt, die durch das Abwärtsabtasten eines Kodierers verloren gegangen ist, um eine Ausgabe-Map zu erzeugen, die einem Eingabebild entspricht; ebenso das Deconv-Net, offenbart in H. Noh, S. Hong, B. Han, „Learning deconvolution network for semantic segmentation", International Conference on Computer Vision (ICCV) S.1520-1528, 2015, die eine Unpooling-Operation und ein sanduhrähnliches Netzwerk zum Erlernen des Prozesses der Abtastratenerhöung (Upsampling) offenbaren; O. Ronneberger, P. Fischer, T. Brox, „U-Net: Convolutional networks for biomedical image segmentation", Medical Image Computing and Computer-Assisted Intervention (MICCAI) S. 234-241, 2015; L.-C. Chen, G. Papandreou, I. Kokkinos, K. Murphy, A.L. Yuille, „Semantic image segmentation with deep convolutional nets and fully connected CRFs (Conditional Random Fields)", International Conference on Learning Representations (ICLR), 2015; und M.A. Islam, S. Naha, M. Rochan, N.D.B. Bruce, Y. Wang, „Label refinement network (LRN) for coarse-to-fine semantic segmentation", CoRR abs/1703.00551, URL http://arxiv. org/abs/1703.00551, 1703.00551, 2017, die einen Verfeinerungsansatz mit mehreren Auflösungen einführen, der zuerst eine semantische Maske mit niedriger Auflösung vorhersagt und dann die Vorhersagen schrittweise verfeinert, um ein detaillierteres Ergebnis zu erhalten.
  • Unter Bezugnahme auf 1 empfängt ein semantischer Segmentierungsbildprozessor 10 unabhängig von der spezifischen Art der verwendeten Netzwerkkonfiguration typischerweise ein Eingabebild 12 und erzeugt eine entsprechende Ausgabe-Map 14, in der Pixel in Bereiche gruppiert sind, denen jeweils eine bestimmte Bedeutung zugewiesen ist, die als eine Klasse bezeichnet wird. So werden beispielsweise Pixel im Bereich 16 als Straßenoberfläche klassifiziert, Pixel im Bereich 18 werden als Gehweg klassifiziert, während Pixel im Bereich 20 als zu einem Fahrzeug gehörig klassifiziert werden. In dem veranschaulichten Beispiel lässt sich nachvollziehen, dass einige der Pixel in der Region 20 fälschlicherweise als zu einem Fahrzeug gehörig klassifiziert wurden.
  • Für die semantische Segmentierung sind vollständig faltende Netzwerke (Fully Convolutional Networks, FCN) zum Standardansatz geworden, wie offenbart in Z. Wojna, V. Ferrari, S. Guadarrama, N. Silberman, L.-C. Chen, A. Fathi, J. Uijlings, „The devil is in the decoder“, arXiv preprint arXiv:170705847, 2017.
  • Es ist ein Ziel von semantischen Segmentierungsnetzwerken, ihre Ausgaben zu verbessern, um sowohl eine falsche positive als auch negative Segmentierung zu vermeiden, insbesondere ohne die erforderlichen Verarbeitungsressourcen unverhältnismäßig zu erhöhen.
  • Dies ist besonders wichtig in Kraftfahrzeuganwendungen, bei denen die Sicherheit autonomer oder halbautonomer Fahrzeuge von ihrer Fähigkeit abhängen kann, diskrete Objekte innerhalb eines Sichtfelds ihrer Kameras präzise zu identifizieren.
  • Einzelne Kodierer-Dekodierer-Netzwerke erreichen eine Sättigung in Bezug auf die Segmentierungsqualität und Effizienz pro Anzahl von Schichten.
  • Sohil Shah, Pallabi Ghosh, Larry S. Davis und Tom Goldstein, „Stacked U-Nets: A No-Frills Approach to Natural Image Segmentation“, arXiv:1804.10343v1 [cs.CV] 27.04.2018, offenbaren gestapelte U-Netzwerke (Stacked U-Nets, SUNets), die Merkmale aus verschiedenen Auflösungsskalen iterativ kombinieren und dabei die Auflösung beibehalten.
  • Andere Ansätze zielen auf Verbesserungen am Kodierer ab, beispielsweise Deeplab-V2, offenbart in L.-C. Chen, G. Papandreou, I. Kokkinos, K. Murphy, A.L. Yuille, „Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs.“, CoRR abs/1606.00915, URL http://arxiv.org/ abs/1606.00915, 1606.00915, 2016, die das Atrous Spatial Pyramid Pooling (ASPP) voschlagen, bei dem Merkmale in verschiedenen Sichtfeldern kombiniert werden, die durch eine Reihe erweiterter Faltungen vorgegeben sind, um einem ResNet-basierten Kodierer Kontext hinzuzufügen.
  • Verfahren wie das Zoom-Out, offenbart in M. Mostajabi, P. Yadollahpour, G. Shakhnarovich, „Feedforward semantic segmentation with zoom-out features", IEEE Conference on Computer Vision and Pattern Recognition (CVPR) S. 3376-3385, 2015, schlagen ein hierarchisches Kontextmerkmalnetzwerk vor; und das ParseNet, offenbart in B. Liu, X. He, „Multiclass semantic video segmentation with object-level active inference", IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015, enthält globale Pooling-Merkmale, die so konzipiert wurden, dass sie den Kontext explizit einbeziehen.
  • Das Global Convolutional Network (GCN), offenbart in C. Peng, X. Zhang, G. Yu, G. Luo, J. Sun, „Large kernel matters - improve semantic segmentation by global convolutional network“, IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017, bezieht den Kontext ein, indem große Kernel verwendet werden, um größere Rezeptionsfelder bereitzustellen.
  • Die DenseNets, erörtert in S. Jegou, M. Drozdzal, D. Väzquez, A. Romero, Y. Bengio, „The one hundred layers tiramisu: Fully convolutional DenseNets for semantic segmentation", CoRR abs/1611.09326, URL http://arxiv.org/abs/1611. 09326, 1611.09326, 2016, stellen dicht verbundene Blöcke bereit, bei denen jede Iteration die Ausgaben aller vorhergehenden Iterationen eines dichten Blocks mit eigenen Ausgabe-Feature-Maps verknüpft und diese an alle nachfolgenden Iterationen des dichten Blocks weiterleitet.
  • G.L. Oliveira, W. Burgard, T. Brox, „DPDB-Net: Exploiting dense connections for convolutional encoders", in Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), 2018, offenbaren einen dichten Doppelpfad-Block (Dual-Path Dense-Block, DPDB), der eine Restfunktion parallel zu einem dichten Pfad enthält.
  • Grenzansätze versuchen, die Vorhersagen in der Nähe von Objektkanten unter Verwendung von Nachbearbeitungstechniken, wie etwa Adelaide, zu verfeinern, wie offenbart in G. Lin, C. Shen, A. van dan Hengel, I. Reid, „Efficient piecewise training of deep structured models for semantic segmentation", IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016, die ein CRF verwenden, das auf einem vollständig verbundenen Graphen aufgebaut ist, der als Grenzverfeinerung nach dem CNN dient.
  • Alternative Lösungen zu CFRs werden vorgeschlagen von J.T. Barron, B. Poole, „The fast bilateral solver", European Conference on Computer Vision (ECCV), 2016, und V. Jampani, M. Kiefel, P.V. Gehler, „Learning sparse high dimensional filters: Image filtering, dense crfs and bilateral neural networks", IEEE Conference on Computer Vision and Pattern Recognition (CVPR) 2016, die einen bilateralen Filter vorschlagen, mit dem bestimmte Potenziale innerhalb von CNNs ermittelt werden können, sodass eine bis zu 10-fache Beschleunigung und eine mit CRFs vergleichbaren Leistung bereitgestellt wird.
  • Eine Reihe von Studien konzentrierte sich auf die Erforschung effizienter Faltungsnetzwerke, die von Ende zu Ende trainiert werden können, wie etwa Fast-Net, offenbart in G.L. Oliveira, W. Burgard, T. Brox, „Efficient deep models for monocular road segmentation", IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2016, bei dem der Schwerpunkt auf dem Beschneiden überparametrisierter Schichten liegt, um auf Effizienz in Bezug auf die Datenverarbeitungsanforderungen abzuzielen; E-Net, offenbart in A. Paszke, A. Chaurasia, S. Kim, E. Culurciello, „ENet: A deep neural network architecture for real-time semantic segmentation", CoRR abs/1606.02147, URL http:// arxiv.org/abs/1606.02147, 1606.02147, (2016), bei dem ein tiefes Faltungskodierer-Dekodierer-Modell mit einer Struktur verbleibender Engpässe eingeführt wird, um eine effiziente Netzwerkarchitektur aufzubauen; und SegNet, offenbart in V. Badrinarayanan, A. Handa, R. Cipolla, „Segnet: A deep convolutional encoder-decoder architecture for robust semantic pixel-wise labelling“, CoRR abs/1511.00561, URL
    http://arxiv.org/abs/1511.00561, 1511.00561, 2015.
  • Kurzfassung
  • Gemäß der vorliegenden Erfindung wird ein neuronales Netzwerk zur Durchführung einer semantischen Segmentierung eines Eingabebildes nach Anspruch 1 bereitgestellt.
  • Ausführungsformen umfassen eine tiefe Architektur mit mehreren gestapelten flachen Kodierer-Dekodierer-Einheiten zum Erfassen von mehr Informationsinhalten.
  • Die Kodierer-Dekodierer-Einheiten sind auf eine Weise verbunden, dass den flachen Dekodierern die Kontextinformationen bekannt sind und eine Merkmalserfassungsfähigkeit für Dekodierer beinhalten.
  • Die Netzwerkarchitektur extrahiert mehr informative Merkmale aus einem Eingabebild, als dies mit einer einstufigen Kodierer-Dekodierer-Einheit möglich ist. Somit kann sich zum Beispiel, wenn sich das Netzwerk mit der Klassifizierung eines Bildbereichs als eine Person befasst, der Rest des Netzwerks auf personenähnliche visuelle Muster konzentrieren, sobald den Merkmalserfassungsbereichen des Netzwerks bekannt ist, dass in einem Bereich eines Bildes eine Person enthalten ist.
  • Rückwärtssprungverbindungen, die Dekodiererblöcke mit nachfolgenden Kodiererblöcken verbinden, sollen Kontextinformationen explizit einführen, um informativere Merkmale zu erzeugen, während gestapelte Restverbindungen, die die Ein- und Ausgaben von Kodierer-Dekodierer-Einheiten aggregieren, den Informationsfluss verbessern, was zu besseren Segmentierungsausgaben führt, während sie berechnungseffizient sind.
  • Ausführungsformen stellen Verbindungen zwischen Kodierer-Dekodierer-, Dekodierer-Kodierer- und Dekodierer-Dekodierer-Blöcken bereit. Diese Verbindungen ermöglichen einen besseren Informationsfluss zu tieferen Netzwerken und gewähren Kodierern den Zugriff auf Kontextinformationen höherer Ebene.
  • Ausführungsformen erfassen effektiv mehr Informationen, sind weniger auf eine falsch-positive Erkennung konditioniert und können eine effizientere Architektur für eine gegebene Netzwerktiefe erzeugen.
  • In Bezug auf das Training können eine dynamische Gewichtungsfunktion und eine tiefe Überwachung eine einfachere Optimierung der Netzwerkarchitektur ermöglichen und in der Lage sein, unterscheidendere Merkmale zu erzeugen.
  • Die dynamische Gewichtungsfunktion soll Klassen neu ausgleichen, um die Aufmerksamkeit des Netzwerks auf unterrepräsentierte Objekte zu lenken.
  • Figurenliste
  • Eine Ausführungsform der Erfindung wird nun beispielhaft unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen:
    • 1 die semantische Segmentierung eines Eingabebildes veranschaulicht;
    • 2 ein Fahrzeug mit Bilderfassungsvorrichtungen veranschaulicht, die mit einem neuronalen Netzwerk verbunden sind, um eine semantische Segmentierung eines Eingabebildes gemäß einer Ausführungsform der Erfindung durchzuführen;
    • 3 eine neuronale Netzwerkarchitektur zur Durchführung einer semantischen Segmentierung eines Eingabebildes gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht;
    • 4 einen dichten Doppelpfad-Block (DPDB) veranschaulicht, der in einem Kodiererblock der Architektur von 3 verwendet wird;
    • 5 eine Ausführungsform der vorliegenden Erfindung unter Verwendung eines DeepLab v2-Kodiererblocks veranschaulicht;
    • 6 eine Ausführungsform der vorliegenden Erfindung unter Verwendung eines DeepLab v3-Kodiererblocks veranschaulicht; und
    • 7 eine Ausführungsform der vorliegenden Erfindung veranschaulicht, bei der der erste Kodiererblock mit Flussinformationen für das Eingabebild erweitert ist.
  • Beschreibung der Ausführungsformen
  • In 2 wird ein Fahrzeug 100 gezeigt, das eine Vielzahl von Bilderfassungsvorrichtungen 110, 120 umfasst, die mit einem Bildprozessor 130 zur Erzeugung semantisch segmentierter Maps 14 verbunden sind, die den jeweiligen Eingabebildern 12 entsprechen, die von den Vorrichtungen 110, 120 bereitgestellt werden. In dem Beispiel ist die Vorrichtung 110 eine nach vorne gerichtete Bilderfassungsvorrichtung und die Vorrichtung 120 ist eine nach rechts gerichtete Vorrichtung, es lässt sich jedoch nachvollziehen, dass auch nach links gerichtete und/oder nach hinten gerichtete Bilderfassungsvorrichtungen (nicht gezeigt) bereitgestellt werden können. Bei der Verbindung 104 zwischen den Vorrichtungen 110, 120 und dem Prozessor 130 kann es sich entweder um dedizierte Kabelverbindungen handeln oder es können Bilder über ein Fahrzeugnetzwerk übertragen werden, ungeachtet ob verkabelt oder drahtlos.
  • Die Bilderfassungsvorrichtungen 110, 120 können jede beliebige Art von Bilderfassungsvorrichtung umfassen. Beispielsweise kann eine Bilderfassungsvorrichtung eine Kamera der Art sein, die üblicherweise als Digitalkamera bezeichnet wird. Solche Kameras können beispielsweise CMOS-Kameras, eine Kamera mit ladungsgekoppelter Vorrichtung (Charged Coupled Device, CCD) und dergleichen sein. Es lässt sich nachvollziehen, dass die Bilderfassungsvorrichtungen 110, 120 dieselben oder verschiedene Arten von Vorrichtungen sein können und dass die Bilderfassungsvorrichtung in der Lage sein kann, ein Bild im sichtbaren und/oder nicht sichtbaren Spektrum, einschließlich entweder Ultraviolett- oder Infrarot-Bildinformationen, zu erfassen. Wie sich aus der nachfolgenden Beschreibung nachvollziehen lässt, muss allerdings, wenn Bilder von verschiedenen Kameras 110, 120 über dasselbe neuronale Netzwerk verarbeitet werden sollen, die Form der Bildinformationen, die von jeder Bilderfassungsvorrichtung 110, 120 bereitgestellt werden, mindestens die gleiche Auflösung und ein kompatibles Format aufweisen.
  • Von den Vorrichtungen 110, 120 erfasste Bilder 12 können auch verarbeitet werden, um einen Interessensbereich (Region of Interest, ROI) aus dem Bild auszuwählen und/oder dessen Auflösung zu verringern und nur den ROI als Eingabebild zu verwenden. Unabhängig davon kann das Eingabebild Bildinformationen in einer beliebigen Kombination von Intensitätsebenen umfassen, wie beispielsweise YCC, YUV oder LAB, oder eine beliebige Kombination von Farbebenen, beispielsweise RGB.
  • Der Bildprozessor 130 ist konfiguriert, um Schichten eines neuronalen Netzwerks zur Durchführung einer semantischen Segmentierung des Eingabebilds 12 zu verarbeiten. Wie sich aus der nachfolgenden Erörterung nachvollziehen lässt, umfasst das semantische Segmentierungsnetzwerk in der vorliegenden Anmeldung funktionell miteinander verbundene Schichten, einschließlich beispielsweise Faltungs-, Pooling-, Dekonvolutions-, Unpooling-, Aktivierungsfunktionen und Normalisierungsschichten. Wenn der Prozessor 130 jedoch auch benötigt wird, um andere Netzwerke für andere erforderliche Aufgaben/Anwendungen auszuführen, kann er möglicherweise auch vollständig verbundene Schichten verarbeiten. Somit kann der Prozessor umfassen: einen einzelnen Universalprozessor, der die von dem semantischen Segmentierungsnetzwerk benötigte Verarbeitung ausführt; einen dedizierten Prozessor, der insbesondere dazu vorgesehen ist, die Verarbeitung der neuronalen Netzwerkschichten handzuhaben, die das semantische Segmentierungsnetzwerk umfassen; oder einen Mehrprozessorkern, der eine Vielzahl von entweder dedizierten Prozessoren oder Universalprozessoren umfasst, die eine bestimmte Verarbeitung parallel ausführen können. Es lässt sich nachvollziehen, dass der Begriff Universalprozessor sowohl für Prozessoren mit großem Befehlssatz als auch für RISC-Prozessoren gilt, wie sie von ARM bereitgestellt werden.
  • Es wird nun auf 3 Bezug genommen, in der eine Architektur für ein beispielhaftes semantisches Segmentierungsnetzwerk gemäß einer Ausführungsform der vorliegenden Erfindung schematisch gezeigt wird.
  • In der Ausführungsform von 3 umfasst das Netzwerk 3 die nacheinander verbundenen Kodierer-Dekodierer-Einheiten 200, 300, 400. Es lässt sich jedoch nachvollziehen, dass es in Varianten dieser veranschaulichten Ausführungsform nur zwei Kodierer-Dekodierer-Einheiten geben kann, wie in den nachstehend ausführlicher erörterten 5 und 6 gezeigt, oder möglicherweise mehr als drei Einheiten.
  • In der Ausführungsform umfasst die erste Kodierer-Dekodierer-Einheit 200 einen Kodiererblock 200-A, der konfiguriert ist, um ein Eingabebild 12 zu empfangen, und der mindestens eine Reihe von Faltungsschichten umfasst, die miteinander verbunden sind, um einen dichten Doppelpfad-Block (DPDB)-Kodierer der Art zu bilden, wie von Oliveira et al. beschrieben, wie vorstehend erwähnt.
  • Der DPDB stellt eine effiziente Unternetzwerkarchitektur bereit, die Eigenschaften der Wiederverwendung von Merkmalen über einen Restpfad und der Erkundung von Merkmalen über einen dichten Pfad in einer einzelnen Kodierer-Dekodierer-Einheit umfasst.
  • Im Einzelnen sei x1 die Ausgabe einer 1-ten Schicht eines neuronalen Netzwerks. Standard-CNNs berechnen x1 durch Anwenden einer nichtlinearen Transformation f1 auf eine Ausgabe einer vorherigen Schicht x1-1. Beispielsweise definiert die Gleichung x1 = f1 (x1-1) f1 als einen Satz von Operationen, wie etwa Faltung, gefolgt von einer Aktivierungsfunktion, wie etwa exponentielle lineare Einheiten (Exponential Linear Units, ELUs), wie offenbart in D. Clevert, T. Unterthiner, S. Hochreiter, „Fast and accurate deep network learning by exponential linear units“, International Conference on Learning Representations (ICLR), 2016, und Dropout. Es lässt sich nachvollziehen, dass andere Aktivierungsfunktionen als die ELU, beispielsweise die ReLU, ebenfalls verwendet werden können, und dass Dropout in Schichten, in denen die Auflösung aufrechterhalten werden soll oder in denen Striding in der Faltungsschicht verwendet wurde, möglicherweise nicht verwendet wird.
  • Restblöcke summieren die Eingabe- und Ausgabeschichten wie folgt: x1 = f1 (x1-1) = ϕ1 (x1-1) + x1-1, wobei ϕ1 (x1-1) die nichtlineare Transformation innerhalb der Schicht umfasst. Dies ermöglicht die Wiederverwendung von Merkmalen und ermöglicht das direkte Fließen von Gradienten zu frühen Schichten. Durch das Teilen von Merkmalen in allen Schritten fördern Restblöcke die Wiederverwendung von Merkmalen und reduzieren so die Merkmalsredundanz.
  • Für dichte Blöcke kann eine durch einen dichten Block durchgeführte nichtlineare Transformation N1 als Wiederholung von Blöcken (üblicherweise Wiederholung t = 2) definiert werden, die eine Stapelnormalisierung, eine Aktivierungsfunktion und eine Faltung umfasst. Wie vorstehend erwähnt, verkettet jede Iteration eines dichten Blocks rekursiv die Ausgaben aller vorhergehenden Schichten des dichten Blocks mit ihren eigenen Ausgabe-Merkmals-Maps und leitet diese an alle nachfolgenden Schichten des dichten Blocks weiter. (Somit verwenden dichte Blöcke kein Dropout oder Striding innerhalb der Faltungsschicht.) Auf diese Weise kann die Ausgabe x1 eines dichten Blocks, der die Funktion N1 umfasst, definiert werden als: x1: = N1 ([x1-1, x1-2, x1-3, ... ,x0]), wobei jede Schicht eine Zusammensetzung aller vorherigen Schichten mittels Verkettung ist.
  • Die wichtigste Einschränkung des Restnetzwerks besteht darin, dass seine Summierungsoperation Informationen verschmilzt. Die Haupteigenschaft von dicht verbundenen Blöcken ist die Fähigkeit, neue Informationen aus früheren Ausgaben zu untersuchen. Auf diese Weise können dichte Netzwerke eine bessere Effizienz bereitstellen, andererseits weisen dichte Blöcke ein übermäßiges Parameterwachstum auf, weil dichten Blöcken die Eigenschaft zuteil ist, stets die vollständige Merkmalsgröße der Eingabe einzubeziehen, um eine neue Ausgabe-Merkmals-Map zu erstellen.
  • In 4 ist ein DPDB-Block gezeigt, wie er in dem Kodiererblock 200-A in einer Ausführungsform der Erfindung verwendet werden kann. Der Block umfasst zwei Pfade, die durch eine Engpassschicht 210 verlaufen, die eine Stapelnormalisierung (Batch Normalization, BN) 210-1, eine Faltung mit einer 3×3-Kernel-Faltungsschicht 210-2, gefolgt von einer ELU-Aktivierungsfunktion 210-3 umfasst. Die Aktivierungsfunktionsausgabe wird dann in ihre entsprechenden Restpfade und dichten Pfade aufgeteilt, die die spezifischen Aggregationsfunktionen der Addition für den Restpfad und der Verkettung für den dichten Pfad verwenden.
  • Dieser Block kann t Mal wiederholt werden, bevor die endgültige Ausgabe an eine Pooling-Schicht übergeben wird.
  • Formal ausgedrückt kann ein DPDB-Block mit x1,R und x1,D als Ausgabe für die 1-te Schicht des Restpfads und des dichten Pfads wie folgt formuliert werden: x l , R : = f l t ( x l , R t ) = x l , R l 1 + ϕ l t ( x l , R l 1 ) ,
    Figure DE102019123756A1_0001
    x l , D : = t = 0 l 1 N l t ( [ x l , D t ] ) ,
    Figure DE102019123756A1_0002
    r l : = [ x l , R , x l , D ] ,
    Figure DE102019123756A1_0003
    h l : = G l ( r l ) ,
    Figure DE102019123756A1_0004
    wobei ft1 und Nt 1 die Merkmalslernfunktion des Restpfads, der die Wiederverwendung von Merkmalen ermöglicht, und des dichten Pfads sind, der die Erkundung neuer Merkmale ermöglicht.
  • Wie zu sehen sein wird, wird die Ausgabe des Restpfads und des dichten Pfads durch Verkettung verschmolzen, um r1 210-4 bereitzustellen, anschließend kann r1 für eine endgültige Transformationsfunktion G1(r1) zum Durchführen der nächsten Zuordnung oder Vorhersage bereitgestellt werden.
  • Es lässt sich nachvollziehen, dass die Verwendung eines DPDB-basierten Blocks nicht notwendig ist und dass in Varianten einer solchen Ausführungsform der Kodiererblock 200-A der ersten Kodierer-Dekodierer-Einheit 200 ein Doppelpfad-Netzwerk der Art umfassen könnte, wie offenbart in Y. Chen, J. Li, H. Xiao, X. Jin, S. Yan, J. Feng, „Dual path networks“, CoRR abs/1707.01629, URL http://arxiv. org/abs/1707.01629, 1707.01629, 2017, in welchem Konzepte von ResNet und DenseNet kombiniert werden.
  • Gleichwohl unterscheidet sich der Block von 4 von dem in Chen et al. offenbarten Doppelpfad-Netzwerk, weil jedem von dem dichten Pfad und dem Restpfad eine ähnliche Gewichtung zugesprochen wird, und Chen et al. keinen Restblock als Hauptblock verwenden, sondern das von Chen et al. verwendete Netzwerk einen dünnen, dicht verbundenen Pfad aufweist.
  • Noch weitere Ausführungsformen erfordern keine Verwendung eines Restpfades innerhalb des ersten Kodiererblocks und könnten nur dichte Blöcke umfassen, wie nachstehend ausführlicher beschrieben.
  • Noch weitere Varianten des Kodiererblocks 200-A werden nachstehend in Bezug auf die 5 und 6 erörtert.
  • Unter erneuter Bezugnahme auf 3 unterscheiden sich in der Ausführungsform jeder nachfolgende Dekodiererblock 200-B, 300-B und 400-B sowie die nachfolgenden Kodiererblöcke 300-A und 400-A von dem ersten Kodiererblock 200-A darin, dass sie keine Restpfade verwenden. Stattdessen umfasst jeder Dekodierer 200-B, 300-B und 400-B eine Anzahl von dichten Blöcken, die zwischen Aufwärtsabtastblöcken liegen, während jeder Kodierer 300-A, 400-A eine Anzahl von dichten Blöcken umfasst, die zwischen Abwärtsabtastblöcken liegen. Typischerweise werden in jedem Kodierer und Dekodierer drei Ebenen der Aufwärts/Abwärtsabtastung verwendet, um eine 2x-, 4x- und 8x-Aufwärts-/Abwärtsabtastung bereitzustellen.
  • In der Ausführungsform erzeugt jeder nachfolgende Dekodiererblock 200-B, 300-B und 400-B eine Ausgabe-Merkmals-Map mit einer räumlichen Auflösung, die dem Eingabebild entspricht, und stellt die Ausgabe-Merkmals-Map als Eingabe-Map für den Kodiererblock 300-A , 400-A der nächsten Kodierer-Dekodierer-Einheit 300, 400 bereit. Die Ausgabe von dem endgültigen Dekodiererblock 400-B wird verwendet, um die endgültige Ausgabe-Merkmals-Map bereitzustellen, die die Segmentierungs-Map 14 für das Eingabebild 12 umfasst.
  • Um den Informationsfluss und die Unterscheidung innerhalb des Netzwerks sowie die Ausgabe-Map-Verbindungen zwischen den vorstehend beschriebenen Blöcken 200-B, 300-A und 300-B, 400-A weiter zu verbessern, wird eine Anzahl von Verbindungen zwischen den Kodierer- und Dekodiererblöcken sowie zwischen den Kodierer-Dekodierer-Einheiten bereitgestellt, wie nachstehend erläutert.
  • Die Verbindungen werden allgemein als Sprungverbindungen bezeichnet und umfassen: Vorwärts-, Rückwärts- und gestapelte Restverbindungen, die im Folgenden näher erläutert werden:
    • Vorwärtssprungverbindungen, die herkömmlicherweise in Netzwerken mit einzelnen Kodierer-Dekodierer-Einheiten Verwendung finden, werden in der vorliegenden Ausführungsform für das Zuordnen von Merkmalen von dem ersten Kodiererblock 200-A zu allen nachfolgenden Dekodierern 200-B, 300-B, 400-B verwendet. Somit verbinden Vorwärtssprungverbindungen Ausgabe-Maps des Kodierers 200-A mit jeweiligen entsprechenden Eingabeschichten mit gleicher Auflösung in den Dekodierern 200-B, 300-B und 400-B. Somit werden innerhalb des Kodierers die Merkmale aus der n-ten Schicht des ersten Kodierers in eine Faltungsschicht eingespeist, und die Anzahl der Merkmals-Maps wird auf Fn1 reduziert. Die reduzierten Merkmale Fn1 werden dann durch Verkettung zu der Ausgabe einer Aufwärtsabtastoperation innerhalb des jeweiligen Dekodierers 200-B, 300-B, 400-B aggregiert. Die Aufwärtsabtastoperation umfasst ein Entfalten oder Aufheben des Pools (Unpooling), gefolgt von einem dichten Block.
  • In der Ausführungsform werden Vorwärtssprungverbindungen mit mehr als einer Auflösung, d. h. für die Ausgabe von getrennten DPDB-(oder dichten) Blöcken, als Eingabe für jeweilige Blöcke der nachfolgenden Dekodierer 200-B, 300-B, 400-B bereitgestellt. In der Architektur von 3 werden Vorwärtssprungverbindungen mit zwei Auflösungen gezeigt, es lässt sich jedoch nachvollziehen, dass in alternativen Implementierungen drei oder mehr Vorwärtssprungverbindungen bereitgestellt werden können.
  • Diese Vorwärtssprungverbindungen fördern die Berücksichtigung von weniger fehlerhaften räumlichen Informationen als sie ausschließlich durch die Verbindung mit Merkmals-Maps minimaler Auflösung zwischen Kodierer- und Dekodiererblöcken bereitgestellt würden, und erzeugen folglich Grenzvorhersagen mit mehr Details.
  • Rückwärtssprungverbindungen verknüpfen Dekodierer- und Kodiererblöcke der benachbarten Kodierer-Dekodierer-Einheiten 200, 300, 400. Ausführungsformen stellen eine Verbindung von späten Faltungsschichten in einem Dekodiererblock 200-B, 300-B einer Kodierer-Dekodierer-Einheit 200, 300 zu frühen Faltungsschichten eines Kodiererblocks 300-A, 400-A einer nachfolgenden Kodierer-Dekodierer-Einheit 300, 400 bereit, um es frühen Faltungsschichten zu ermöglichen, den früheren Kontext zu verstehen, und somit in der Lage zu sein, informativere Merkmale adaptiv zu extrahieren.
  • Somit weist außer dem ersten Kodiererblock 200-A jeder andere Kodiererblock 300-A, 400-A Rückwärtssprungverbindungen von seinem vorherigen Dekodiererblock 200-B bzw. 300-B auf. Dies fördert den Fluss von semantischen Informationen auf hoher Ebene zu nachfolgenden Kodiererschichten und verbessert die Kodiereroptimierung.
  • In der Ausführungsform werden die Rückwärtssprungverbindungen unter Verwendung einer elementweisen Summierung (anstelle einer Verkettung) als Aggregationsfunktion zwischen Ausgabe-Maps einer gegebenen Auflösung von den Dekodiererblöcken 200-B, 300-B und entsprechenden Maps mit derselben Auflösung innerhalb der Kodiererblöcke 300-A bzw. 400-A implementiert, bevor die aggregierten Informationen in die nächste Schicht der Kodiererblöcke 300-A, 400-A eingespeist werden.
  • In der Architektur von 3 werden zwei Rückwärtssprünge mit jeweiligen Auflösungen bereitgestellt, es lässt sich jedoch nachvollziehen, dass bei anderen Implementierungen drei oder mehr Rückwärtssprünge bereitgestellt werden können. Wie in 5 gezeigt, die nachfolgend ausführlicher erörtert wird, können Vorwärts- und Rückwärtssprungverbindungen mit den gleichen Auflösungen innerhalb der Kodierer-Dekodierer-Einheiten 200, 300 und 400 und über Kodierer-Dekodierer-Einheiten hinweg bereitgestellt werden oder diese Auflösungen, wie in 6 gezeigt, müssen nicht übereinstimmen.
  • Zu beachten ist, dass eine Form einer Rückwärtssprungverbindung offenbart wurde in A. H. Abdulnabi, S. Winkler, G. Wang, „Beyond forward shortcuts: Fully convolutional master-slave networks (msnets) with backward skip connections for semantic segmentation“, CoRR abs/1707.05537, URL http://arxiv. org/abs/1707.05537, 1707.01629, 2017, bei der Master-Netzwerk für die Erstellung der Vorhersage des Zielsignals (Label) zuständig ist, während der Slave nur die Rückwärtssprungverbindungen zu den früheren Schichten des Masters bereitstellt. Diese Sprungverbindung weist einen bedeutenden Nachteil auf, nämlich die Verdoppelung des Berechnungsaufwands, während die Rückwärtssprungverbindungen der vorliegenden Ausführungsform ähnliche Auswirkungen haben, jedoch mit einer viel geringeren Berechnungslast.
  • Die endgültige Form der Zusammenschaltung, die im Rahmen der Ausführungsformen der vorliegenden Erfindung bereitgestellt wird, umfasst gestapelte Restverbindungen. Von dem zweiten Dekodierer 300-B wird die Ausgabe-Merkmals-Map F1n aus der endgültigen Schicht des n-ten Dekodierers mit der (möglicherweise verschmolzenen) Merkmals-Map F1n-1 aus der endgültigen Schicht des vorherigen Dekodierers n-1 durch elementweise Summierung verschmolzen, um eine neue verschmolzene Feature-Map zu erstellen: F ¯ l n = F l n F ¯ l n 1
    Figure DE102019123756A1_0005
    die dann als Eingabe-Map für die nächste Kodierer-Dekodierer-Einheit oder im Fall des Dekodierers 400-B als endgültige Segmentierungs-Map 14 dient.
  • Diese gestapelten Restverbindungen fungieren wie Makro-Restverbindungen zwischen den Ausgaben der nachfolgenden Dekodiererblöcke 200-B, 300-B und 400-B. Tatsächlich umfasst die endgültige Ausgabe-Segmentierungs-Map 14 die restlich gestapelte Ausgabe-Merkmals-Map des Dekodiererblocks 300-B und des Dekodiererblocks 400-B. Diese Makro-Restverbindungen zwischen den Blöcken 200-B, 300-B und 400-B erzeugen eine mehrstufige Segmentierungsmaskenvorhersage und können den Informationsfluss steigern und die Segmentierungsergebnisse verbessern.
  • Es wird nun auf 5 Bezug genommen, in der Varianten der vorstehend beschriebenen Ausführungsform anstelle eines Kodierers 200-A des DPDB-Typs eine Kodierer-Dekodierer-Architektur des DeepLab V2-Typs für die erste Kodierer-Dekodierer-Einheit 200' verwendet werden und nur eine weitere Kodierer-Dekodierer-Einheit 300' bereitgestellt wird. Wie vorstehend erwähnt, nutzt DeepLab V2 die erweiterte Faltung, die auch als Atrous Convolution bekannt ist, um für einen Dekodierer 200-B' eine Merkmals-Map mit einem pyramidenförmigen Modell mit der Bezeichnung Atrous Spatial Pyramid Pooling (ASPP) bereitzustellen.
  • Zusätzlich kann eine mehrskalige Eingabetechnik verwendet werden, wie offenbart in S. Lazebnik, C. Schmid, J. Ponce, „Beyond bags of features: Spatial pyramid matching for recognizing natural scene categories“, 2006.
  • In der Architektur von 5 werden drei Vorwärtssprungverbindungen mit den Abwärtsabtastebenen 2x, 4x und 8x zwischen dem DeepLab V2-Kodiererblock und jedem der Dekodierer 200-B' und 300-B' bereitgestellt. In ähnlicher Weise werden drei Sätze von Rückwärtssprungverbindungen mit Abwärtsabtastebenen von 2x, 4x und 8x zwischen dem Dekodierer 200-B' und dem Kodierer 300-A' der Kodierer-Dekodierer-Einheit 300' bereitgestellt.
  • Es wird nun auf 6 Bezug genommen, bei der in diesem Fall eine Kodierer-Dekodierer-Einheit 200" auf Basis von DeepLab v3+ verwendet wird, wie offenbart in L.-C. Chen, Y. Zhu, G. Papandreou, F. Schroff, H. Adam, „Encoder-decoder with atrous separable convolution for semantic image segmentation", ECCV, S. 833-851, 2018. DeepLab v3+ ist eine Weiterentwicklung von DeepLab v3 mit einem verbesserten ASPP-Modul und einem neuen Dekodierermodul zur Verfeinerung der Segmentierungsergebnisse.
  • In diesem Fall wird zwischen dem Kodiererblock mit DeepLab V3+ und den Dekodiererblöcken 200-B'' und 300-B'' nur eine Vorwärtssprungverbindung bei einer 4x-Abwärtsabtastung bereitgestellt.
  • Gleichwohl verbessern für die Architektur in 5 und in 6 sowohl die Bereitstellung der zweiten Kodierer-Dekodierer-Einheiten 300' und 300" als auch die Rückwärtssprungverbindungen und die gestapelte Restverbindung zwischen den Einheiten 200', 300' und 200", 300" die semantische Segmentierung, die von solchen Dekodierern mit den spezifischen Vorteilen in Abhängigkeit von der Topologie des Baseline-Ansatzes bereitgestellt wird.
  • Die vorstehend beschriebenen Ausführungsformen basieren auf einer Eingabe, die von einer Momentanaufnahme empfangen wird, um eine semantische Segmentierungs-Map dieses Bildes bereitzustellen. Es ist jedoch auch möglich, eine zusätzliche Eingabe zu verwenden, um die Segmentierungs-Map 14 eines gegebenen Eingabebildes 12 zu verbessern, beispielsweise wie beschrieben in A. Mousavian, H. Pirsiavash, J. Kosecka, „Joint semantic segmentation and depth estimation with deep convolutional networks“, CoRR URL http://arxiv.org/abs/ 1604.07480, 1604.07480, 2016, und Z. Zhang, Z. Cui, C. Xu, Z. Jie, X. Li, J. Yang, „Joint task recursive learning for semantic segmentation and depth estimation“, European Conference on Computer Vision (ECCV), 2018, die Tiefeninformationen als zusätzliche Eingabe verwenden.
  • Die semantische Segmentierung kann auch von der Bereitstellung von Bewegungsinformationen profitieren, bei denen der optische Fluss ergänzende Hinweise zu einer dynamischen Szene bereitstellen kann, die zur Erzeugung eines umfassenderen Modells der Szene verwendet werden können.
  • Versuche, Hinweise zu Erscheinung und Bewegung zu verschmelzen, wurden vorgeschlagen von J. Hur, S. Roth, „Joint optical flow and temporally consistent semantic segmentation", ECCV Workshops, 2016, S. Jain, B. Xiong, K. Grauman, „FusionSeg: Learning to combine motion and appearance for fully automatic segmention of generic objects in videos", CVPR, 2017, und J. Vertens, A. Valada, W. Burgard, „SMSNet: Semantic motion segmentation using deep convolutional neural networks", IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2017.
  • Es wird nun auf 7 Bezug genommen, in der eine Architektur gezeigt wird, die das Netzwerk von 3 umfasst, wobei ein zum Zeitpunkt T erfasstes Bild 12 zusammen mit einem zum vorherigen Zeitpunkt T-1 erfassten Referenzbild 13 für eine FlowNet V2-Kodierer-Dekodierer-Einheit 500 bereitgestellt wird, offenbart von Ilg et al. (Bezugnahme vorstehend), um eine Bewegungs-Map 15 für das Bild 12 bereitzustellen. (Zu beachten ist, dass das Referenzbild 13 auch an einem nachfolgenden Zeitpunkt T+1 erfasst werden könnte.)
  • Flownet V2 erzeugt eine 2-Kanal-Map 15 mit einer Größe und Richtung, welche mit dem Bild 12 mittels Kanal verschmolzen werden kann, bevor sie für das in 3 beschriebene Netzwerk bereitgestellt wird.
  • Zu beachten ist, dass in Variationen einer solchen Ausführungsform das Referenzbild 13 gleichzeitig von einer zweiten Kamera (nicht gezeigt), die räumlich benachbart zu der Kamera 110, 120 ist, erfasst werden könnte, die das Eingabebild 12 bereitstellt, für das die Segmentierungs-Map 14 erzeugt werden soll.
  • Diese frühe Verschmelzung der Bewegungs-Map 15 und des Eingabebildes 12 weist einen geringen Rechenaufwand im Vergleich zu einer Verschmelzung zu einem späteren Zeitpunkt im Netzwerk auf. Bei der Analyse der Leistung der Netzwerkarchitektur von 7 lässt sich erkennen, dass einige Klassen, wie Himmel, Schilder und Fußgänger, in hohem Maße von Flussinformationen profitieren.
  • In Bezug auf das Training kann jede der vorstehend beschriebenen und dargestellten Netzwerkarchitekturen von Ende zu Ende trainiert werden, beispielsweise durch Verwendung des Adam-Solvers, offenbart in D. Kingma, J. Ba, „Adam: A method for stochastic optimization", CoRR abs/1412.6980, URL http://arxiv. org/abs/1412.6980, 1412.6980, 2014.
  • Die Trainingsdatensätze können erweitert werden, um zusätzliche Bilder zu generieren, indem bekannte kommentierte Bilder gecroppt und gedreht werden oder eine Mittelsubtraktion auf Bilder angewendet wird.
  • Die Aufgaben der semantischen Segmentierung gehen häufig mit einer ungleichmäßigen Verteilung von Klassen in Trainingsbildern einher. Eine mögliche Lösung für die Ausgewogenheit der Klassen bieten Gewichtungsfunktionen. Die Gewichtungsfunktionen sind dafür zuständig, eine neue Klassenverteilung für den Verlust durch Kreuzentropie bereitzustellen, um allen Klassen dieselbe Wichtigkeit zuzuweisen. Ein starkes Merkmal der meisten Eingabebilder für die Segmentierung ist die normalerweise geringe Anzahl von Instanzen einer einzelnen Klasse pro Bild. Somit kommen kleinere Objekte daher pro Bild sehr wahrscheinlich weniger vor. Diese Eigenart führte zur Einführung einer neuen Gewichtungsfunktion, die die Klassenverteilung neu gewichtet, um die Aufmerksamkeit des Netzwerks für diese Klassen zu verbessern, die häufig von Ansätzen vernachlässigt werden, bei denen jede Klasse gleich wichtig ist.
  • Die mittlere Häufigkeit, wie erörtert in D. Eigen, R. Fergus, „Predicting depth, surface normals and semantic labels with a common multi-scale convolutional architecture", International Conference on Computer Vision (ICCV) S. 2650-2658, 2015, ist die Standardmethode zur Erzeugung einer ausgewogenen Gewichtung für die semantische Segmentierung geworden. Bei einigen Segmentierungsproblemen ist es jedoch erforderlich, vor dem Training auf einen gesamten Datensatz zuzugreifen, und für jedes Bild wird eine statische Gewichtungsverteilung erstellt. Dies schränkt den Anwendungsbereich und die Leistung ein.
  • In einigen Trainingsschemata für Netzwerke gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung können Gewichtungen dynamisch zugewiesen werden, ohne dass ein Vorverarbeitungsschritt erforderlich ist, um Klassen zu verstärken, die durch Standardansätze für den Klassenausgleich unterrepräsentiert sind.
  • Eine beispielhafte Gewichtungsfunktion wird nachstehend bereitgestellt, um eine inverse Gewichtung unter Verwendung der Klassenpixelhäufigkeit als Basis anzugeben, d. h. kleinere Objekte besitzen eine höhere Gewichtung: D W i = C b + i = 1 N C i C i
    Figure DE102019123756A1_0006
    wobei N die Anzahl der Klassen, Cb die Anzahl der Hintergrundpixel im Bild und Ci die Anzahl der Pixel der Klasse i ist. Der Nachteil dieser Funktion ist, dass häufige Klassen einen Leistungsabfall verzeichnen. Um diesen Effekt einzuschränken, begrenzen wir die Gewichtung so, dass sie stets größer als eine Konstante L ist: D W b o u n d e d , i = m a x ( D W i , L )
    Figure DE102019123756A1_0007
    wobei DWbounded,i die an Gewichtung für Klasse i an der Untergrenze ist. DWbounded, i wird dann durch L dividiert, um sicherzustellen, dass keine Klassengewichtung kleiner als 1 ist. Die Hintergrundgewichtung wird immer auf null gesetzt.
  • In Bezug auf das Training können tiefere Architekturen möglicherweise zu besseren Ergebnissen führen. Bei tieferen Netzwerken stellt sich jedoch das Problem der Gradientenausbreitung. Sprungverbindungen, wie etwa Rücksprung- und gestapelte Restverbindung, können den Informationsfluss verbessern, aber solche Probleme nicht vollständig abmildern. Eine tiefe Überwachung, wie offenbart in L. Wang, C.Y. Lee, Z. Tu, S. Lazebnik, „Training deeper convolutional networks with deep supervision“, CoRR abs/1505.02496, URL http://arxiv.org/abs/1505. 02496, 1505.02496, 2015, beinhaltet das Hinzufügen von zusätzlichen Überwachungszweigen nach bestimmten Zwischenschichten während des Trainings.
  • Einer der Schlüsselaspekte einer tief überwachten Schulung ist, an welcher Stelle die Überwachungszweige hinzugefügt werden. In einigen Ausführungsformen wird eine zusätzliche Überwachung an das Ende jedes Dekodiererblocks angefügt. Die kombinierte Verlustfunktion für das gesamte Netzwerk setzt sich dann aus K zusätzlichen Verlusten und einem Hauptverlust zusammen, wobei K die Anzahl der Dekodierer minus eins ist.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • R. Girshick, „Fast R-CNN“, Proceedings of the 2015 IEEE International Conference on Computer Vision (ICCV), S. 1440-1448 [0002]
    • E. Ilg, N. Mayer, T. Saikia, M. Keuper, A. Dosovitskiy, T. Brox, „Flownet 2.0: Evolution of optical flow estimation with deep networks“, IEEE Conference on Computer Vision and Pattern Recognition (CVPR) S. 1647-1655, 2017 [0002]
    • J. Long, E. Shelhamer, T. Darrell, „Fully convolutional networks (FCNs) for semantic segmentation“, IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015 [0002]
    • H. Noh, S. Hong, B. Han, „Learning deconvolution network for semantic segmentation“, International Conference on Computer Vision (ICCV) S.1520-1528, 2015 [0002]
    • O. Ronneberger, P. Fischer, T. Brox, „U-Net: Convolutional networks for biomedical image segmentation“, Medical Image Computing and Computer-Assisted Intervention (MICCAI) S. 234-241, 2015; [0002]
    • L.-C. Chen, G. Papandreou, I. Kokkinos, K. Murphy, A.L. Yuille, „Semantic image segmentation with deep convolutional nets and fully connected CRFs (Conditional Random Fields)“, International Conference on Learning Representations (ICLR), 2015 [0002]
    • M.A. Islam, S. Naha, M. Rochan, N.D.B. Bruce, Y. Wang, „Label refinement network (LRN) for coarse-to-fine semantic segmentation“, CoRR abs/1703.00551, URL http://arxiv. org/abs/1703.00551, 1703.00551, 2017 [0002]
    • M. Mostajabi, P. Yadollahpour, G. Shakhnarovich, „Feedforward semantic segmentation with zoom-out features“, IEEE Conference on Computer Vision and Pattern Recognition (CVPR) S. 3376-3385, 2015 [0010]
    • B. Liu, X. He, „Multiclass semantic video segmentation with object-level active inference“, IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015 [0010]
    • S. Jegou, M. Drozdzal, D. Väzquez, A. Romero, Y. Bengio, „The one hundred layers tiramisu: Fully convolutional DenseNets for semantic segmentation“, CoRR abs/1611.09326, URL http://arxiv.org/abs/1611. 09326, 1611.09326, 2016 [0012]
    • G.L. Oliveira, W. Burgard, T. Brox, „DPDB-Net: Exploiting dense connections for convolutional encoders“, in Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), 2018 [0013]
    • Hengel, I. Reid, „Efficient piecewise training of deep structured models for semantic segmentation“, IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016 [0014]
    • Alternative Lösungen zu CFRs werden vorgeschlagen von J.T. Barron, B. Poole, „The fast bilateral solver“, European Conference on Computer Vision (ECCV), 2016 [0015]
    • V. Jampani, M. Kiefel, P.V. Gehler, „Learning sparse high dimensional filters: Image filtering, dense crfs and bilateral neural networks“, IEEE Conference on Computer Vision and Pattern Recognition (CVPR) 2016 [0015]
    • G.L. Oliveira, W. Burgard, T. Brox, „Efficient deep models for monocular road segmentation“, IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2016 [0016]
    • A. Paszke, A. Chaurasia, S. Kim, E. Culurciello, „ENet: A deep neural network architecture for real-time semantic segmentation“, CoRR abs/1606.02147, URL http:// arxiv.org/abs/1606.02147, 1606.02147, (2016) [0016]
    • L.-C. Chen, Y. Zhu, G. Papandreou, F. Schroff, H. Adam, „Encoder-decoder with atrous separable convolution for semantic image segmentation“, ECCV, S. 833-851, 2018 [0063]
    • J. Hur, S. Roth, „Joint optical flow and temporally consistent semantic segmentation“, ECCV Workshops, 2016 [0068]
    • S. Jain, B. Xiong, K. Grauman, „FusionSeg: Learning to combine motion and appearance for fully automatic segmention of generic objects in videos“, CVPR, 2017 [0068]
    • J. Vertens, A. Valada, W. Burgard, „SMSNet: Semantic motion segmentation using deep convolutional neural networks“, IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2017 [0068]
    • D. Kingma, J. Ba, „Adam: A method for stochastic optimization“, CoRR abs/1412.6980, URL http://arxiv. org/abs/1412.6980, 1412.6980, 2014 [0073]
    • D. Eigen, R. Fergus, „Predicting depth, surface normals and semantic labels with a common multi-scale convolutional architecture“, International Conference on Computer Vision (ICCV) S. 2650-2658, 2015 [0076]

Claims (13)

  1. Neuronales Netzwerk zur Durchführung einer semantischen Segmentierung eines Eingabebildes (12), wobei das Netzwerk eine Vielzahl von Kodierer-Dekodierer-Einheiten (200, 300, 400) aufweist, wobei jede Kodierer-Dekodierer-Einheit einen Kodiererblock (200-A, 300-A, 400-A) mit einer Vielzahl von Verarbeitungsschichten (210) umfasst, die konfiguriert sind, um eine Eingabe-Map zu empfangen und eine Ausgabe-Map mit einer niedrigeren räumlichen Auflösung als die Eingabe-Map des Kodiererblocks für einen Dekodiererblock (200-B, 300-B, 400-B) bereitzustellen, wobei der Dekodiererblock eine Vielzahl von Verarbeitungsschichten aufweist, die konfiguriert sind, um eine Ausgabe-Map des Kodiererblocks als eine Eingabe-Map zu empfangen und eine Ausgabe-Map mit einer höheren räumlichen Auflösung als die Eingabe-Map des Dekodiererblocks bereitzustellen, wobei ein Kodiererblock (200-A) einer ersten Kodierer-Dekodierer-Einheit (200) konfiguriert ist, um das Eingabebild von einer Kamera (110, 120) zu empfangen, und die Vielzahl von Kodierer-Dekodierer-Einheiten nacheinander angeordnet sind, sodass eine Ausgabe-Map eines Dekodiererblocks als eine Eingabe-Map für einen Kodiererblock einer nachfolgenden Kodierer-Dekodierer-Einheit bereitgestellt wird, wobei eine Ausgabe-Map (14) einer letzten Kodierer-Dekodierer-Einheit (400) eine semantische Map für das Eingabebild umfasst; wobei das neuronale Netzwerk konfiguriert ist, um eines oder mehrere der Folgenden zu enthalten: eine Rückwärtssprungverbindung, wobei die eine oder jede Rückwärtssprungverbindung konfiguriert ist, um Werte aus einer Ausgabe-Map einer Verarbeitungsschicht eines Dekodiererblocks mit entsprechenden Werten aus einer Ausgabe-Map derselben räumlichen Auflösung einer Verarbeitungsschicht eines Kodiererblocks aus einer nachfolgenden Kodierer-Dekodierer-Einheit zu aggregieren, um eine Eingabe-Map für eine nachfolgende Schicht des Kodiererblocks bereitzustellen; und eine gestapelte Restverbindung, wobei die eine oder jede gestapelte Restverbindung konfiguriert ist, um Werte aus einer Ausgabe-Map des Dekodiererblocks mit entsprechenden Ausgabewerten von einer letzten Verarbeitungsschicht des Dekodiererblocks der nachfolgenden Kodierer-Dekodierer-Einheit zu aggregieren, um die Ausgabe-Map für die nachfolgende Kodierer-Dekodierer-Einheit bereitzustellen.
  2. Neuronales Netzwerk nach Anspruch 1, wobei die Verarbeitungsschichten jedes Kodiererblocks mindestens einen dichten Block enthalten, in dem eine Faltungsschicht t Mal ausgeführt wird, wobei die Ausgabe-Map-Werte jeder Faltung mit den entsprechenden Ausgabe-Map-Werten einer vorherigen Faltung verkettet sind.
  3. Neuronales Netzwerk nach Anspruch 2, wobei die Ausgabe-Map-Werte für mindestens einen dichten Block des Kodiererblocks der ersten Kodierer-Dekodierer-Einheit mit entsprechenden Ausgabe-Map-Werten einer Ausgabe-Map mit der gleichen Auflösung in mindestens einem der Dekodiererblöcke der Kodierer-Dekodierer-Einheiten des neuronalen Netzwerks aggregiert werden.
  4. Neuronales Netzwerk nach Anspruch 2, wobei auf den einen oder jeden dichten Block eine Pooling-Schicht folgt, um die räumliche Auflösung der Ausgabe-Map zu verringern.
  5. Neuronales Netzwerk nach Anspruch 1, wobei die Verarbeitungsschichten jedes Dekodiererblocks mindestens einen dichten Block enthalten, in dem eine Faltungsschicht t Mal ausgeführt wird, wobei die Ausgabe-Map-Werte jeder Faltung mit den entsprechenden Ausgabe-Map-Werten einer vorherigen Faltung verkettet sind.
  6. Neuronales Netzwerk nach Anspruch 5, wobei auf den einen oder jeden dichten Block eine Unpooling-Schicht folgt, um die räumliche Auflösung der Ausgabe-Map zu erhöhen.
  7. Neuronales Netzwerk nach Anspruch 1, wobei die Verarbeitungsschichten des Kodiererblocks der ersten Kodierer-Dekodierer-Einheit mindestens einen Doppelpfad-Block enthalten, der einen dichten Pfad umfasst, in dem eine Faltungsschicht t Mal ausgeführt wird, wobei die Ausgabe-Map-Werte jeder Faltung mit den entsprechenden Ausgabe-Map-Werten des dichten Pfads einer vorherigen Faltung verkettet sind; und einen Restpfad, in dem die Ausgabe-Map-Werte jeder Faltung mit entsprechenden Restpfadwerten aus einer vorherigen Iteration der Faltung aggregiert werden.
  8. Neuronales Netzwerk nach Anspruch 2 oder 5, bei dem jede Faltungsschicht umfasst: eine Stapelnormalisierung; eine Faltung; und eine Aktivierungsfunktion.
  9. Neuronales Netzwerk nach Anspruch 1, wobei das Aggregieren für die eine oder jede Rückwärtssprungverbindung eine elementweise Summierung umfasst.
  10. Neuronales Netzwerk nach Anspruch 1, wobei das Aggregieren für die eine oder jede gestapelte Restverbindung eine elementweise Summierung umfasst.
  11. Neuronales Netzwerk nach Anspruch 3, wobei das Aggregieren eine elementweise Verkettung umfasst.
  12. Neuronales Netzwerk nach Anspruch 1, ferner umfassend ein System zum Vergleichen des Eingabebildes mit einem zeitlich oder räumlich benachbarten Referenzbild, um eine Fluss-Map für das Eingabebild zu erzeugen, wobei die Fluss-Map für jedes Element eine Angabe der Bewegungsgröße und -richtung umfasst, wobei das Netzwerk konfiguriert ist, um die Fluss-Map mit dem Eingabebild zu verschmelzen, bevor die verschmolzenen Informationen für den Kodiererblock der ersten Kodierer-Dekodierer-Einheit bereitgestellt werden.
  13. Bilderfassungssystem, umfassend eine oder mehrere Kameras zur Bereitstellung aufeinanderfolgender Eingabebilder für einen Prozessor zum Ausführen eines neuronalen Netzwerks nach Anspruch 1.
DE102019123756.4A 2019-09-05 2019-09-05 Neuronales Netzwerk zur Durchführung einer semantischen Segmentierung eines Eingabebildes Withdrawn DE102019123756A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102019123756.4A DE102019123756A1 (de) 2019-09-05 2019-09-05 Neuronales Netzwerk zur Durchführung einer semantischen Segmentierung eines Eingabebildes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019123756.4A DE102019123756A1 (de) 2019-09-05 2019-09-05 Neuronales Netzwerk zur Durchführung einer semantischen Segmentierung eines Eingabebildes

Publications (1)

Publication Number Publication Date
DE102019123756A1 true DE102019123756A1 (de) 2021-03-11

Family

ID=74644278

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019123756.4A Withdrawn DE102019123756A1 (de) 2019-09-05 2019-09-05 Neuronales Netzwerk zur Durchführung einer semantischen Segmentierung eines Eingabebildes

Country Status (1)

Country Link
DE (1) DE102019123756A1 (de)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112990219A (zh) * 2021-03-25 2021-06-18 北京百度网讯科技有限公司 用于图像语义分割的方法和装置
CN113011429A (zh) * 2021-03-19 2021-06-22 厦门大学 一种基于阶段性特征语义对齐的实时街景图像语义分割方法
CN113298827A (zh) * 2021-06-09 2021-08-24 东北大学 一种基于DP-Net网络的图像分割方法
CN113763422A (zh) * 2021-07-30 2021-12-07 北京交通大学 一种rgb-d图像显著性目标检测方法
CN113807363A (zh) * 2021-09-08 2021-12-17 西安电子科技大学 基于轻量化残差网络的图像分类方法
CN114119637A (zh) * 2021-11-29 2022-03-01 大连大学 基于多尺度融合和拆分注意力的脑白质高信号分割方法
CN114240771A (zh) * 2021-11-23 2022-03-25 无锡学院 基于双重控制网络的图像去模糊系统及方法
CN115239765A (zh) * 2022-08-02 2022-10-25 合肥工业大学 基于多尺度可形变注意力的红外图像目标跟踪系统及方法
CN116030355A (zh) * 2023-03-30 2023-04-28 武汉城市职业学院 一种地物分类方法及系统
CN116579616A (zh) * 2023-07-10 2023-08-11 武汉纺织大学 一种基于深度学习的风险识别方法
CN116681962A (zh) * 2023-05-05 2023-09-01 江苏宏源电气有限责任公司 基于改进YOLOv5的电力设备热图像检测方法及系统
CN118429473A (zh) * 2024-07-04 2024-08-02 长春理工大学 一种特征信息引导的红外图像彩色化方法及系统
CN118429473B (zh) * 2024-07-04 2024-09-24 长春理工大学 一种特征信息引导的红外图像彩色化方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LEIVAS OLIVEIRA, Gabriel: Encoder-decoder methods for semantic segmentation:efficiency and robustness aspects. Technische Fakultät Albert-Ludwigs-Universität Freiburg, Dissertation. 22.07.2019. DOI: 10.6094/UNIFR/150065 *

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113011429B (zh) * 2021-03-19 2023-07-25 厦门大学 基于阶段性特征语义对齐的实时街景图像语义分割方法
CN113011429A (zh) * 2021-03-19 2021-06-22 厦门大学 一种基于阶段性特征语义对齐的实时街景图像语义分割方法
CN112990219A (zh) * 2021-03-25 2021-06-18 北京百度网讯科技有限公司 用于图像语义分割的方法和装置
CN112990219B (zh) * 2021-03-25 2023-08-08 北京百度网讯科技有限公司 用于图像语义分割的方法和装置
CN113298827A (zh) * 2021-06-09 2021-08-24 东北大学 一种基于DP-Net网络的图像分割方法
CN113298827B (zh) * 2021-06-09 2023-11-14 东北大学 一种基于DP-Net网络的图像分割方法
CN113763422B (zh) * 2021-07-30 2023-10-03 北京交通大学 一种rgb-d图像显著性目标检测方法
CN113763422A (zh) * 2021-07-30 2021-12-07 北京交通大学 一种rgb-d图像显著性目标检测方法
CN113807363A (zh) * 2021-09-08 2021-12-17 西安电子科技大学 基于轻量化残差网络的图像分类方法
CN113807363B (zh) * 2021-09-08 2024-04-19 西安电子科技大学 基于轻量化残差网络的图像分类方法
CN114240771A (zh) * 2021-11-23 2022-03-25 无锡学院 基于双重控制网络的图像去模糊系统及方法
CN114119637A (zh) * 2021-11-29 2022-03-01 大连大学 基于多尺度融合和拆分注意力的脑白质高信号分割方法
CN114119637B (zh) * 2021-11-29 2024-05-31 大连大学 基于多尺度融合和拆分注意力的脑白质高信号分割方法
CN115239765A (zh) * 2022-08-02 2022-10-25 合肥工业大学 基于多尺度可形变注意力的红外图像目标跟踪系统及方法
CN115239765B (zh) * 2022-08-02 2024-03-29 合肥工业大学 基于多尺度可形变注意力的红外图像目标跟踪系统及方法
CN116030355B (zh) * 2023-03-30 2023-08-11 武汉城市职业学院 一种地物分类方法及系统
CN116030355A (zh) * 2023-03-30 2023-04-28 武汉城市职业学院 一种地物分类方法及系统
CN116681962A (zh) * 2023-05-05 2023-09-01 江苏宏源电气有限责任公司 基于改进YOLOv5的电力设备热图像检测方法及系统
CN116579616A (zh) * 2023-07-10 2023-08-11 武汉纺织大学 一种基于深度学习的风险识别方法
CN116579616B (zh) * 2023-07-10 2023-09-29 武汉纺织大学 一种基于深度学习的风险识别方法
CN118429473A (zh) * 2024-07-04 2024-08-02 长春理工大学 一种特征信息引导的红外图像彩色化方法及系统
CN118429473B (zh) * 2024-07-04 2024-09-24 长春理工大学 一种特征信息引导的红外图像彩色化方法及系统

Similar Documents

Publication Publication Date Title
DE102019123756A1 (de) Neuronales Netzwerk zur Durchführung einer semantischen Segmentierung eines Eingabebildes
Akilan et al. A 3D CNN-LSTM-based image-to-image foreground segmentation
Shi et al. Real-time single image and video super-resolution using an efficient sub-pixel convolutional neural network
EP2368216B1 (de) Verfahren und einrichtung zur analyse von umgebungsobjekten und/oder umgebungsszenen, wie zur objekt- und szenenklassensegmentierung
US10339421B2 (en) RGB-D scene labeling with multimodal recurrent neural networks
Özkanoğlu et al. InfraGAN: A GAN architecture to transfer visible images to infrared domain
Hayat Super-resolution via deep learning
CN112561027A (zh) 神经网络架构搜索方法、图像处理方法、装置和存储介质
Ghosh et al. SegFast-V2: Semantic image segmentation with less parameters in deep learning for autonomous driving
DE202017007512U1 (de) Bewegungsschätzung durch maschinelles Lernen
Sellat et al. Intelligent Semantic Segmentation for Self‐Driving Vehicles Using Deep Learning
WO2014208963A1 (ko) 적응적 블록 분할을 이용한 다중 객체 검출 장치 및 방법
Grigorev et al. Depth estimation from single monocular images using deep hybrid network
CN110889360A (zh) 一种基于切换卷积网络的人群计数方法及系统
Shi et al. (SARN) spatial-wise attention residual network for image super-resolution
Abed et al. Architectural heritage images classification using deep learning with CNN
Liang et al. Cross-scene foreground segmentation with supervised and unsupervised model communication
Bouderbal et al. How would image down-sampling and compression impact object detection in the context of self-driving vehicles?
Hua et al. Dynamic scene deblurring with continuous cross-layer attention transmission
Amudhan et al. RFSOD: a lightweight single-stage detector for real-time embedded applications to detect small-size objects
Gupta et al. A robust and efficient image de-fencing approach using conditional generative adversarial networks
Gao et al. Spatio-temporal processing for automatic vehicle detection in wide-area aerial video
CN113688783B (zh) 人脸特征提取方法、低分辨率人脸识别方法及设备
Kumar et al. Enhanced machine perception by a scalable fusion of RGB–NIR image pairs in diverse exposure environments
Harish et al. Real-Time Semantic Edge Segmentation Using Modified Channelwise Feature Pyramid

Legal Events

Date Code Title Description
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06T0009400000

Ipc: G06T0001400000

R163 Identified publications notified
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee