DE102018217092A1 - Verfahren, künstliches neuronales Netz, Vorrichtung, Computerprogramm und maschinenlesbares Speichermedium zur semantischen Segmentierung von Bilddaten - Google Patents

Verfahren, künstliches neuronales Netz, Vorrichtung, Computerprogramm und maschinenlesbares Speichermedium zur semantischen Segmentierung von Bilddaten Download PDF

Info

Publication number
DE102018217092A1
DE102018217092A1 DE102018217092.4A DE102018217092A DE102018217092A1 DE 102018217092 A1 DE102018217092 A1 DE 102018217092A1 DE 102018217092 A DE102018217092 A DE 102018217092A DE 102018217092 A1 DE102018217092 A1 DE 102018217092A1
Authority
DE
Germany
Prior art keywords
neural network
tensor
artificial neural
slice
image data
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.)
Pending
Application number
DE102018217092.4A
Other languages
English (en)
Inventor
Masato Takami
Uwe Brosch
Dimitrios Bariamis
Ferran Diego Andilla
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102018217092.4A priority Critical patent/DE102018217092A1/de
Priority to PCT/EP2019/076032 priority patent/WO2020069964A1/de
Priority to US17/282,372 priority patent/US11908142B2/en
Priority to CN201980080536.XA priority patent/CN113168558A/zh
Publication of DE102018217092A1 publication Critical patent/DE102018217092A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

Verfahren (500) zur berechnungs- und speicherressourcenschonenden semantischen Segmentierung von Bilddaten (111, 211) eines bildgebenden Sensors mittels eines künstlichen neuronalen Netzes, insbesondere eines Convolutional Neural Networks, wobei das künstliche neuronale Netz einen Encoder-Pfad (110, 210, 380), einen Decoder-Pfad (120, 220, 340) aufweist, umfassend die Schritte:- Teilen (520) eines Input-Tensors (310) in Abhängigkeit von einer Teilungsfunktion (320, 420) in mindestens einen ersten Slice-Tensor (330) und mindestens einen zweiten Slice-Tensor (350), wobei der Input-Tensor (310) abhängig von den Bilddaten (111, 211) ist;- Ausgeben (530) des mindestens einen ersten Slice-Tensors (330) an den Decoder-Pfad (120, 220, 340) des neuronalen Netzes;- Verbinden (540) des mindestens einen ersten Slice-Tensors (330) mit dem mindestens einen zweiten Slice-Tensor (350) in Abhängigkeit von einer Verbindungsfunktion (360) um einen Output-Tensor (370) zu erhalten;- Ausgeben (550) des Output-Tensors (370) an den Encoder-Pfad (110, 210, 380) des neuronalen Netzes.

Description

  • Stand der Technik
  • „Evan Shelhamer, Jonathan Long, Trevor Darrell. Fully Convolutional Models for Semantic Segmentation. PAMI 2016.“ offenbart eine Weiterentwicklung von Convolutional Neural Networks. Convolutional Neural Networks sind starke künstliche neuronale Netze zur Verarbeitung von visuellen Daten, die eine semantische Merkmalshierachie der visuellen Daten hervorbringen können. Die Schrift offenbart den Ansatz ein „Fully Convolutional Network“ einzusetzen, das Eingangsdaten eines beliebigen Umfangs aufnehmen und eine in Größe korrespondiere Ausgabe mit effizienter Ableitung der Merkmale ausgeben kann.
  • „Olaf Ronneberger, Philipp Fischer, Thomas Brox. U-Net: Convolutional Networks for Biomedical Image Segmentation. Medical Image Computing and Computer-Assisted Intervention (MICCAI), Springer, LNCS, Vol.9351“ offenbart eine Architektur eines künstlichen neuronalen Netzes und eine Trainingsstrategie, für dieses Netz, die auf der Nutzung von erweiterten (augmented) Trainingsdaten basiert, um die vorhandenen annotierten Beispiele effizienter zu nutzen. Die Architektur des Netzes umfasst einen „Contracting Path“ (Encoder-Pfad) um den Kontext der Eingangsdaten zu erfassen und symmetrisch dazu einen „Expanding Path“ (Decoder-Pfad), der eine präzise Lokalisierung des erfassten Kontextes ermöglicht. Dieses künstliche neuronale Netz lässt sich mit einer vergleichbar geringen Anzahl an Trainingsdaten trainieren.
  • Offenbarung der Erfindung
  • Künstliche neuronale Netze, insbesondere sog. Convolutional Neural Networks (CNN), zur semantischen Segmentierung, insbesondere zur Lokalisierung und Klassifizierung von Merkmalen in Bilddaten weisen einen hohen Bedarf an Berechnungsressourcen auf. Durch das Hinzufügen einer Decoder- bzw. Upsampling-Komponente und einer Verbindungskomponente (Skip-Component), durch die nach der semantischen Analyse in der Encoder-Komponente, die Bilddaten bis zur ursprünglichen Auflösung wiederhergestellt werden, steigt der Bedarf an Berechnungsressource weiter stark an. In manchen Umsetzungen kann dies zu einem exponentiellen Anstieg der Berechnungsressourcen führen.
  • Zusätzlich zu dem Anstieg der Berechnungsressourcen benötigt eine semantische Segmentierung von Bilddaten auf Pixelbasis beim Einsatz von künstlichen neuronalen Netzen, insbesondere beim Einsatz von CNN, mehr Speicherressourcen, d.h. mehr Speicherbandbreite, Speicherzugriffe und Speicherplatz während der Trainingsphase und der Anwendung des Netzes.
  • Der Nachteil dieses zusätzlichen Bedarfs an Berechnungs- und Speicherressourcen verstärkt sich, sobald die Anwendung nicht auf speicherstarken und verteilt rechnenden Spezialrecheneinheiten, wie Graphical Processing Units Clustern (GPU-Clustern) erfolgt, sondern auf eingebetteten Recheneinheiten, wie embedded Hardware oder dergleichen laufen soll.
  • Vor diesem Hintergrund setzt die vorliegende Erfindung eines Verfahrens, eines künstlichen neuronalen Netzes, einer Vorrichtung, eines Computerprogramms und eines maschinenlesbaren Speichermediums zur semantischen Segmentierung von Bilddaten eines bildgebenden Sensors an.
  • Unter Bilddaten können vorliegend Daten eines bildgebenden Sensors verstanden werden. In erster Linie sind darunter die Daten eines Videosensors, mithin einer Kamera, zu verstehen. Aufgrund der Ähnlichkeit der Daten können ebenso Daten eines Radar-, Ultraschall-, Lidar-Sensor oder dergleichen als Bilddaten mittels der vorliegenden Erfindung verarbeitet werden. Somit können in Bezug auf die vorliegende Erfindung Radar-, Ultraschall-, Lidar-Sensoren oder dergleichen als bildgebende Sensoren verstanden werden.
  • Von besonderer Bedeutung für diese Erfindung sind dabei Bilddaten eines für den Einsatz in einem Fahrzeug geeigneten bildgebenden Sensors oder dergleichen, mithin ein Automotive Bildsensor.
  • Unter semantischer Segmentierung ist vorliegend die Bearbeitung von Bilddaten mit dem Ziel, sowohl die semantischen Klassen der in dem Bild enthaltenen Objekte als auch deren Lokalisierung in dem Bild zu ermitteln, zu verstehen. Dabei ist zu berücksichtigen, dass globale Informationen in dem Bild Rückschlüsse auf die semantische Klasse der Objekte erlauben, hingegen lokale Information in dem Bild Rückschlüsse auf die Lokalisierung der Objekte in dem Bild dem erlauben.
  • Ein Aspekt der Erfindung ist ein Verfahren zur semantischen Segmentierung von Bilddaten mittels eines künstlichen neuronalen Netzes, insbesondere eines Convolutional Neural Networks (CNN). Das künstliche neuronale Netz weist einen Encoder-Pfad zur Ermittlung der semantischen Klassen in den Bilddaten und einen Decoder-Pfad zur Lokalisierung der ermittelten Klassen in den Bilddaten auf. Das Verfahren umfasst die Schritte:
    • Teilen eines Input-Tensors in Abhängigkeit von einer Teilungsfunktion in mindestens einen ersten Slice-Tensor und mindestens einen zweiten Slice-Tensor, wobei der Input-Tensor abhängig von den Bilddaten ist;
    • Ausgeben des mindestens einen ersten Slice-Tensors an den Decoder-Pfad des künstlichen neuronalen Netzes;
    • Verbinden des mindestens einen ersten Slice-Tensors mit dem mindestens einen zweiten Slice-Tensor in Abhängigkeit von einer Verbindungsfunktion, um einen Output-Tensor zu erhalten;
    • Ausgeben des Output-Tensors an den Encoder-Pfad des künstlichen neuronalen Netzes.
  • Unter einem künstlichen neuronalen Netz ist vorliegend ein Netz aus künstlichen Neuronen zur Informationsverarbeitung, bspw. zur semantischen Segmentierung von Bilddaten, insbesondere zur Lokalisierung und Klassifizierung von Merkmalen in Bilddaten zu verstehen.
  • Unter einem Convolutional Neural Network (CNN) ist vorliegend eine Klasse von künstlichen neuronalen Netzen zu verstehen, die im Bereich der Klassifizierung als „State of the Art“ (Stand der Technik) gelten. Der grundsätzliche Aufbau eines CNN besteht aus einer beliebigen Abfolge aus Convolutional Layern und Pooling Layern, die von einem oder mehreren Fully-connected Layern abgeschlossen werden. Die jeweiligen Layers sind aus künstlichen Neuronen aufgebaut.
  • Unter einem Encoder-Pfad ist vorliegend der Pfad der Verarbeitung der Bilddaten bis zur Klassifizierung von Merkmalen, wie bspw. Objekten, in den Bilddaten zu verstehen.
  • Unter einem Decoder-Pfad ist vorliegend der Pfad zu verstehen, der sich an den Encoder-Pfad anschließt und ausgehend von der Klassifizierung die ursprünglichen Bilddaten zur Lokalisierung der klassifizierten Merkmale wiederherstellt.
  • Unter einer Verbindungskomponente ist vorliegend eine Architekturkomponente in einem semantisch segmentierenden künstlichen neuronalen Netz zu verstehen, die Informationen aus dem Encoder-Pfad einer korrespondierenden Stelle des Decoder-Pfads zur Verfügung stellt. Verbindungskomponenten treten als Skip-Connections oder als Skip-Module auf.
  • Unter einem Tensor ist vorliegend eine Datenrepräsentation während der Verarbeitung in einem künstlichen neuronalen Netz zu verstehen. Der Datensatz umfasst einen verarbeiteten Stand der Bilddaten und zugehörige Feature Maps. Ein Tensor des i-ten Schritts im künstlichen neuronalen Netzwerk wird typischer repräsentiert als xi ∈ Rn×m×f mit n Zeilen, m Spalten und f Feature Maps.
  • Ein Input-Tensor ist eine Datenrepräsentation vor der Verarbeitung durch das Verfahren der vorliegenden Erfindung.
  • Ein Slice-Tensor ist eine Datenrepräsentation nach dem Schritt des Teilens gemäß dem Verfahren der vorliegenden Erfindung.
  • Ein Output-Tensor ist eine Datenrepräsentation zur weiteren Verarbeitung auf dem Encoder-Pfad des künstlichen neuronalen Netzes.
  • Unter einer Teilungsfunktion kann vorliegend jede Funktion verstanden werden, die dazu geeignet ist, aus dem Input Tensor und der Menge der zugehörigen Feature Maps eine geeignete Menge auszuwählen. Dies kann nach Teilungsfaktoren, nach Indizes oder dergleichen erfolgen.
  • Unter einer Verbindungsfunktion kann vorliegend jede Funktion verstanden werden, die dazu geeignet ist, den mindestens einen erste Slice-Tensor mit dem mindestens einen zweiten Slice-Tensor zu verbinden. Dies kann durch Konkatenation, Summation, Ersetzung, Reproduktion oder dergleichen erfolgen.
  • Der Vorteil des Verfahrens der vorliegenden Erfindung liegt in dem Schritt des Teilens. Durch diesen Schritt ist es möglich eine genaue semantische Segmentierung der Bilddaten zu erreichen und gleichzeitig die notwendigen Berechnungsressourcen und die notwendigen Speicherressourcen zu minimieren, indem die Berechnungen, die in dem Encoder-Pfad durchgeführt werden, optimal ausgenutzt werden.
  • Dies erlaubt die Durchführung des Verfahrens der vorliegenden Erfindung auf eingebetteten Recheneinheiten (sog. Embedded Hardware), wie typischerweise im Automotive Umfeld zum Einsatz kommen.
  • Nach einer Ausführungsform des Verfahrens der vorliegenden Erfindung ist die Teilungsfunktion im Schritt des Teilens derart ausgestaltet, dass nur eine Teilmenge der Feature Maps des Input-Tensors zur Bildung des mindestens einen ersten Slice-Tensors ausgewählt wird.
  • Unter einer Feature Map ist vorliegend die Ausgabe einer Schicht (Layer) eines künstlichen neuronalen Netzes zu verstehen. Bei einem CNN handelt es sich typischerweise um das Ergebnis der Verarbeitung durch ein Convolutional Layer gefolgt von dem zugehörigen Pooling Layer und kann als Eingangsdaten für die Folgeschicht (Layer) oder - falls vorgesehen - den Fully-connected Layer dienen.
  • Nach einer Ausführungsform des Verfahrens der vorliegenden Erfindung ist die Verbindungsfunktion (Merge) im Schritt des Verbindens derart ausgestaltet ist, dass die Dimension des Input-Tensors erhalten bleibt.
  • Diese Ausführungsform weist den Vorteil auf, dass man in Bezug auf die einzusetzenden Berechnungsressourcen mit weniger Ressourceneinsatz und damit günstiger Informationen aus verschiedenen Layern des künstlichen neuronalen Netzes, insbesondere des Convolutional Neural Networks (CNN) weiterverwenden kann.
  • Nach einer Ausführungsform des Verfahrens der vorliegenden Erfindung weist das Verfahren den vorhergehenden Schritt des Empfangens auf, wobei im Schritt des Empfangens der Input-Tensor und die Teilungsfunktion empfangen werden.
  • Diese Ausführungsform des Verfahrens weist den Vorteil auf, dass das künstliche neuronale Netz bei geringeren Kosten im Vergleich zu einer parallelen Ausführung eines konventionellen künstlichen neuronalen Netzes flexibler ist und feingranularer auf den jeweiligen Schichten (Layern) auf die jeweiligen Input-Tensoren reagieren kann.
  • Nach einer Ausführungsform des Verfahrens der vorliegenden Erfindung wird im Schritt des Teilens eine erste Funktion eines künstlichen neuronalen Netzes auf den mindestens einen ersten Slice-Tensor angewendet wird und eine zweite Funktion eines künstlichen neuronalen Netzes auf den mindestens einen zweiten Slice-Tensor angewendet wird.
  • Unter einer Funktion eines künstlichen neuronalen Netzes kann vorliegend eine beliebige Funktion einer Neuronenschicht eines künstlichen neuronalen Netzes verstanden werden. Dies kann Faltung (Convolution) - auch in der Ausprägung eines Convolutional Blocks - d.h. einer mehrfachen Anwendung von Faltungen, Depth-wise Convolution, Squeeze, Restwert (Residual), Dichte (Dense), Inception, Aktivierung (Activation, Act), Normalisierung, Sammlung (Pooling) oder dergleichen sein.
  • Unter Inception ist vorliegende eine Architekturvariation eines künstlichen neuronalen Netzes, insbesondere eines Convolutional Neural Networks, wie sie zuerst in Szegedy et al. Going deeper with convolutions. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, S. 1 - 9, 2015 beschrieben wurde, zu verstehen.
  • Nach einer Ausführungsform des Verfahrens der vorliegenden Erfindung ist die Teilungsfunktion im Schritt des Teilens derart gestaltet, dass die Teilungsfunktion die zu berechnende Anzahl an Feature Maps und den jeweiligen Funktionen eines künstlichen neuronalen Netzes bzw. Berechnungsgraphen zur Berechnung des mindestens einen ersten Slice-Tensors und des mindestens einen zweiten Slice-Tensors umfasst.
  • Diese Ausführungsform des Verfahrens der vorliegenden Erfindung weist den Vorteil auf, dass auf einfache Art und Weise auf den mindestens einen ersten Slice-Tensor und den mindestens einen zweiten Slice-Tensor unterschiedliche Funktionen eines künstlichen neuronalen Netzes angewendet werden können. Dadurch wird das künstliche neuronale Netz bei geringeren Kosten im Vergleich zu einer parallelen Ausführung eines konventionellen künstlichen neuronalen Netzes flexibler und das künstliche neuronale Netz kann feingranularer auf die jeweiligen Input-Tensoren reagieren.
  • Ein weiterer Aspekt der vorliegenden Erfindung ist ein künstliches neuronales Netz zur semantischen Segmentierung von Bilddaten, wobei das künstliche neuronale Netz einen Encoder-Pfad zur Klassifizierung der Bilddaten, einen Decoder-Pfad zur Lokalisierung der Bilddaten aufweist und derart eingerichtet ist, Schritte des Verfahren gemäß der vorliegenden Erfindung auszuführen.
  • Ein derart eingerichtetes künstliches neuronales Netz wird vorzugsweise in einem technischen System, insbesondere in einem Roboter, einem Fahrzeug, einem Werkzeug oder einer Werkmaschine eingesetzt, um abhängig von Eingangsgrößen Ausgangsgrößen zu bestimmen. Als Eingangsgrößen des künstlichen neuronalen Netzes kommen Sensordaten oder Größen, die von Sensordaten abhängig sind, in Frage. Die Sensordaten können von Sensoren des technischen Systems stammen oder von dem technischen System von extern empfangen werden. Abhängig von den Ausgangsgrößen des künstlichen neuronalen Netzes wird durch eine Steuereinrichtung des technischen Systems mindestens ein Aktor des technischen Systems mit einem Ansteuersignal angesteuert. So kann bspw. eine Bewegung eines Roboters oder Fahrzeugs gesteuert werden oder ein Werkzeug bzw. eine Werkmaschine angesteuert werden.
  • In einer Ausführungsform des künstlichen neuronalen Netzes gemäß der vorliegenden Erfindung kann das künstliche neuronale Netz als Convolutional Neural Network ausgestaltet sein.
  • Ein weiterer Aspekt der vorliegenden Erfindung ist eine Vorrichtung, die eingerichtet ist, Schritte des Verfahren gemäß der vorliegenden Erfindung auszuführen.
  • Ein weiterer Aspekt der vorliegenden Erfindung ist ein Computerprogramm, welches eingerichtet ist, Schritte des Verfahrens gemäß der vorliegenden Erfindung auszuführen.
  • Ein weiterer Aspekt der vorliegenden Erfindung ist ein maschinenlesbares Speichermedium, auf dem das künstliche neuronale Netz gemäß der vorliegenden Erfindung bzw. das Computerprogramm gemäß der vorliegenden Erfindung gespeichert ist.
  • Nachfolgend werden Einzelheiten und Ausführungsformen der Erfindung anhand mehrerer Figuren näher erläutert.
  • Es zeigen:
    • 1 ein Blockdiagramm eines Fully Convolutional Network aus dem Stand der Technik;
    • 2 ein Blockdiagramm der U-Net Architektur eines Convolutional Network aus dem Stand der Technik;
    • 3 ein Blockdiagramm eines Teils eines Ausführungsform eines künstlichen neuronalen Netzwerks gemäß der vorliegenden Erfindung;
    • 4 ein Blockdiagramm eines Teils eines weiteren Ausführungsform eines künstlichen neuronalen Netzwerks gemäß der vorliegenden Erfindung;
    • 5 Ablaufdiagramm des Verfahrens gemäß der vorliegenden Erfindung.
  • 1 zeigt ein Blockdiagramm eines Fully Convolutional Network aus „Evan Shelhamer, Jonathan Long, Trevor Darrell. Fully Convolutional Models for Semantic Segmentation. PAMI 2016.“
  • Die Abbildung fasst Teile des dargestellten Ablaufs in einem künstlichen neuronalen Netz in Blöcke zusammen.
  • In dem Block Encoder 110 sind die Verarbeitungsschritte ausgehend von Bilddaten als Eingabedaten 111 über mehrere Schichten (Layer) eines Convolutional Neural Networks (CNN) dargestellt. Der Abbildung sind deutlich die Convolutional Layer 112a und die Pooling Layer 112b zu entnehmen.
  • In dem Block Decoder 120 sind „entfaltete (deconvolutioned)“ Ergebnisse 121, 122, 123 des CNN dargestellt. Deconvolution kann dabei durch Umkehr der Convolutionsschritte erreicht werden. Dabei ist eine Abbildung des grobgranularen Klassifizierungsergebnisses auf die ursprünglichen Bilddaten möglich, um so eine Lokalisierung der klassifizierten Merkmale zu erreichen.
  • In dem Block Skip Module 130 sind Verbindungen höher-leveliger Klassifizierungszwischenergebnisse des CNN zu den „entfalteten (deconvolutioned)“ Ergebnissen dargestellt. So sind in Zeile 2 die Zwischenergebnisse des 4. Pools mit den Endergebnissen 122 verknüpft worden und in Zeile 3 die Zwischenergebnisse des 3. und des 4. Pools mit den Endergebnissen 123.
  • Der Vorteil dieser Verknüpfungen liegt in der Möglichkeit feinere Details zu bestimmen und gleichzeitig eine höher-levelige semantische Information zu erhalten.
  • 2 zeigt ein Blockdiagramm der U-Net Architektur eines Convolutional Network aus „Olaf Ronneberger, Philipp Fischer, Thomas Brox. U-Net: Convolutional Networks for Biomedical Image Segmentation. Medical Image Computing and Computer-Assisted Intervention (MICCAI), Springer, LNCS, Vol.9351“
  • In dem Block Encoder 210 sind die Verarbeitungsschritte ausgehend von Bilddaten als Eingabedaten 211 über mehrere Schichten (Layer) eines Convolutional Neural Networks (CNN) zur Klassifizierung der Eingabedaten 211 dargestellt.
  • In dem Block Decoder 220 sind die „Entfaltungsschritte (Upconvolution)“ ausgehend von der tiefsten Klassifizierungsebene über eine korrespondierende Anzahl an Deconvolutional Schichten (Layer) hin zu einer semantisch segmentierten Karte 221 mit lokalisierten und klassifizierten Merkmalen der Eingabedaten 211 dargestellt.
  • In dem Block 230 sind Verbindungen (Skip Connections) zwischen den Schichten (Layern) des Blocks Encoder 210 und den korrespondierenden Schichten (Layern) des Blocks Decoder 220 dargestellt. Diese Verbindungen stellen den Informationsfluss in dem künstlichen neuronalen Netz zwischen der Klassifizierungsaufgabe und der Lokalisierungsaufgabe dar. Dadurch ist es möglich grobgranulare semantische Segmentierung mit einem höheren Grad der Wiederherstellung der Eingangsdaten in Übereinstimmung zu bringen.
  • 3 zeigt ein Blockdiagramm eines Teils eines Ausführungsform eines künstlichen neuronalen Netzwerks gemäß der vorliegenden Erfindung. Nach dieser Ausführungsform wird das künstliche neuronale Netz bzw. das Verfahren gemäß der vorliegenden Erfindung im einem sog. „Tensor Mode“ betrieben.
  • Vorliegend ist ein Input Tensor xi ∈ Rn×m×f 310 mit einer Anzahl Zeilen n, einer Anzahl Spalten m und einer Anzahl Feature Maps f im i-ten Schritt eines künstlichen neuronalen Netzes dargestellt. Ferner liegt eine Teilungsfunktion (Slice) 320 vor. Der Input-Tensor wird gemäß der Teilungsfunktion (Slice) 320 in mindestens einen ersten Slice-Tensor 330 und in mindestens einen zweiten Slice-Tensor 350 aufgeteilt. Die Aufteilung kann dabei nach einer beliebigen Teilungsfunktion (Slice) 320 erfolgen. Denkbar sind u. a. Teilung nach Teilungsfaktoren (splitting factor), nach Indizes oder dergleichen.
  • Der mindestens eine erste Slice-Tensor 330 ist dafür vorgesehen dem Decoder-Pfad 340 des künstlichen neuronalen Netzes zugeführt zu werden, um dort mit grober, abstrakter Merkmalsrepräsentationen verknüpft zu werden.
  • Der mindestens eine zweite Slice-Tensor 350 wird zusammen mit dem mindestens einen ersten Slice-Tensor 330 einer Verbindungsfunktion (Merge) 360 zugeführt, um einen Output-Tensor 370 zu generieren. Als Verbindungsfunktion (Merge) 360 kann jede Vorschrift angewendet werden, die dazu geeignet ist den ersten Slice-Tensor 320 mit dem zweiten Slice-Tensor 350 zu verbinden. Denkbar sind u. a. die Konkatenation, die Summation, die Ersetzung, die Replikation oder dergleichen. Der Output-Tensor 370 ist vorgesehen weiter entlang des Encoder-Pfads 380 durch das künstliche neuronale Netz verarbeitet zu werden.
  • 4 zeigt ein Blockdiagramm eines Teils eines weiteren Ausführungsform eines künstlichen neuronalen Netzwerks gemäß der vorliegenden Erfindung. Nach dieser Ausführungsform wird das künstliche neuronale Netz bzw. das Verfahren gemäß der vorliegenden Erfindung im einem sog. „Function Mode“ 400 betrieben.
  • Die Eingabedaten des Function Mode 400 umfassen neben dem Input-Tensor 310 auch die Teilungsfunktion (Slice) 420. Die Teilungsfunktion (Slice) 420 wird auf den Input-Tensor 310 angewendet, um einen ersten Slice-Tensor 330 und einen zweiten Slice-Tensor 350 zu erhalten. Im Unterschied zum „Tensor Mode“ 300 wird zudem auf den ersten Slice-Tensor 330 und den zweiten Slice-Tensor 350 eine beliebige Funktion eines künstlichen neuronalen Netzes 421, 422 angewendet. Denkbar sind u. a. Faltung (Convolution), Restwert (Residual), Dichte (Dense), Inception, Aktivierung (Activation, Act), Normalisierung, Sammlung (Pooling) oder dergleichen. Auf den ersten Slice-Tensor 330 und den zweiten Slice-Tensor 350 können unterschiedliche Funktionen eines künstlichen neuronalen Netzes 421, 422 angewendet werden.
  • Nachfolgend wird der erste Slice-Tensor 330 dem Decoder-Pfad 340 des künstlichen neuronalen Netzes zugeführt, um dort mit grober, abstrakter Merkmalsrepräsentationen verknüpft zu werden.
  • Der mindestens eine zweite Slice-Tensor 350 wird zusammen mit dem mindestens einen ersten Slice-Tensor 330 einer Verbindungsfunktion (Merge) 360 zugeführt, um einen Output-Tensor 370 zu genieren. Als Verbindungsfunktion (Merge) 360 kann jede Vorschrift angewendet werden, die dazu geeignet ist den ersten Slice-Tensor 330 mit dem zweiten Slice-Tensor 350 zu verbinden. Denkbar sind u. a. die Konkatenation, die Summation, die Ersetzung, die Replikation oder dergleichen. Der Output-Tensor 370 ist vorgesehen weiter entlang des Encoder-Pfads 380 durch das künstliche neuronale Netz verarbeitet zu werden.
  • 5 zeigt ein Ablaufdiagramm des Verfahrens gemäß der vorliegenden Erfindung.
  • Schritt 510 ist gestrichelt dargestellt. Dies gibt an, dass Schritt 510 als optionaler Schritt anzusehen ist. In Schritt 510 werden ein Input-Tensor 310 und eine Teilungsfunktion 320, 420 empfangen.
  • In Schritt 520 wird der Input-Tensor 310 in Abhängigkeit von der Teilungsfunktion 320, 420 in mindestens einen ersten Slice-Tensor 330 und mindestens einen zweiten Slice-Tensor ge350 teilt, wobei der Input-Tensor 310 abhängig von den Bilddaten 111, 211 ist.
  • Findet der optionale Schritt 510 nicht statt, ist die Teilungsfunktion 320, 430 vorgegeben und der Input-Tensor 310 liegt als Eingangsdatum des Verfahrens vor.
  • In Schritt 530 wir der mindestens eine erste Slice-Tensors 330 an den Decoder-Pfad 120, 220 des neuronalen Netzes ausgegeben. Im Decoder-Pfad 120, 220 kann der mindestens eine erste Slice-Tensor 330 mit einer groben, abstrakten Merkmalsrepräsentation verknüpft zu werden.
  • In Schritt 540 wird der mindestens einen ersten Slice-Tensors 320 mit dem mindestens einen zweiten Slice-Tensor 350 in Abhängigkeit von einer Verbindungsfunktion (Merge) 360 verbunden, um einen Output-Tensor 370 zu erhalten. Der Output-Tensor 370 ist dafür vorgesehen auf dem Encoder-Pfad 110, 210 des künstlichen neuronalen Netzes verarbeitet zu werden.
  • In Schritt 550 wird der Output-Tensors 370 an den Encoder-Pfad 110, 210 des neuronalen Netzes ausgegeben, um weitere durch das künstliche neuronale Netz verarbeitet zu werden.
  • Die vorliegende Erfindung eignet sich bevorzugt für den Einsatz in einem Automotive System, insbesondere im Zusammenhang mit Fahrerassistenzsystemen bis hin zum teil- bzw. vollautomatisierten Fahren.
  • Von besonderem Interesse ist dabei die Verarbeitung von Bilddaten bzw. Bildströmen, die das Umfeld eines Fahrzeugs repräsentieren.
  • Solche Bilddaten bzw. Bildströme können von bildgebenden Sensoren eines Fahrzeugs erfasst werden. Die Erfassung kann dabei mittels eines einzelnen Sensors erfolgen. Denkbar ist die Fusionierung von Bilddaten bzw. Bildströmen mehrerer Sensoren ggf. von mehreren Sensoren, mit unterschiedlichen Erfassungstechnologien, wie bspw. Video-, Radar, Ultraschall-, Lidar-Sensoren.
  • Dabei kommt der Ermittlung von freien Räumen (Free Space Detection) und der semantischen Unterscheidung von Vordergrund und Hintergrund in den Bilddaten bzw. Bildströmen eine besondere Bedeutung zu.
  • Diese Merkmale können durch die Verarbeitung von Bilddaten bzw. Bildströmen durch die Anwendung eines künstlichen neuronalen Netzes gemäß der vorliegenden Erfindung ermittelt werden. Basierend auf dieser Information kann das Steuerungssystem für die Fahrzeuglängs- bzw. -quersteuerung entsprechend angesteuert werden, sodass das Fahrzeug zu einer angemessenen Reaktion auf die Erfassung dieser Merkmale in den Bilddaten bzw. Bildströmen angesteuert werden kann.
  • Ein weiteres Anwendungsfeld der vorliegenden Erfindung kann darin gesehen werden für ein Kamera-basierte Fahrzeugsteuerungssystem eine genaue Vorbezeichnung (pre-Iabeling) von Bilddaten bzw. Bilddatenströmen durchzuführen.
  • Dabei stellen die zu vergebenden Bezeichner (Label) Objektklassen dar, die in Bilddaten bzw. Bildströmen erkannt werden sollen.
  • Die Erfindung ist ferner in allen Gebieten, bspw. Automotive, Robotik, Gesundheit, Überwachung, etc. einsetzbar, die eine genaue Pixel-basierte Objekteerkennung (pixel-wise prediction) mittels künstlichen neuronalen Netzen erfordern. Beispielhaft können dabei genannt werden: Optischer Fluss, Tiefe aus Monobilddaten, Zahlen, Grenzerkennung, Schlüsselkarten, Objektdetektion etc.

Claims (10)

  1. Verfahren (500) zur berechnungs- und speicherressourcenschonenden semantischen Segmentierung von Bilddaten (111, 211) eines bildgebenden Sensors mittels eines künstlichen neuronalen Netzes, insbesondere eines Convolutional Neural Networks, wobei das künstliche neuronale Netz einen Encoder-Pfad (110, 210, 380), einen Decoder-Pfad (120, 220, 340) aufweist, umfassend die Schritte: - Teilen (520) eines Input-Tensors (310) in Abhängigkeit von einer Teilungsfunktion (320, 420) in mindestens einen ersten Slice-Tensor (330) und mindestens einen zweiten Slice-Tensor (350), wobei der Input-Tensor (310) abhängig von den Bilddaten (111, 211) ist; - Ausgeben (530) des mindestens einen ersten Slice-Tensors (330) an den Decoder-Pfad (120, 220, 340) des neuronalen Netzes; - Verbinden (540) des mindestens einen ersten Slice-Tensors (330) mit dem mindestens einen zweiten Slice-Tensor (350) in Abhängigkeit von einer Verbindungsfunktion (360) um einen Output-Tensor (370) zu erhalten; - Ausgeben (550) des Output-Tensors (370) an den Encoder-Pfad (110, 210, 380) des neuronalen Netzes.
  2. Verfahren (500) nach Anspruch 1, wobei im Schritt des Teilens die Teilungsfunktion (320, 430) derart ausgestaltet ist, dass nur eine Teilmenge der Feature Maps des Input-Tensors (310) zur Bildung des mindestens einen ersten Slice-Tensors (330) ausgewählt wird.
  3. Verfahren (500) nach Anspruch 1 oder 2, wobei die Verbindungsfunktion (360) derart ausgestaltet ist, dass die Dimension des Input-Tensors (310) erhalten bleibt.
  4. Verfahren (500) nach einem der vorhergehenden Ansprüche mit dem vorhergehenden Schritt des Empfangens (510), wobei im Schritt des Empfangens (510) der Input-Tensor (310) und die Teilungsfunktion (320, 420) empfangen werden.
  5. Verfahren (500) nach einem der vorhergehenden Ansprüche, wobei im Schritt des Teilens (520) eine erste Funktion (421) eines neuronalen Netzes auf den mindestens einen ersten Slice-Tensor (330) angewendet wird und eine zweite Funktion (422) eines neuronalen Netzes auf den mindestens einen zweiten Slice-Tensor (350) angewendet wird.
  6. Verfahren (500) nach Anspruch 5, wobei die Teilungsfunktion (420) derart gestaltet ist, dass sie die zu berechnende Anzahl an Feature Maps und die jeweiligen Funktionen (421, 422) eines künstlichen neuronalen Netzes zur Berechnung des mindestens einen ersten Slice-Tensors (330) und des mindestens einen zweiten Slice-Tensors (350) umfasst.
  7. Künstliches neuronales Netz, insbesondere Convolutional Neural Network, zur semantischen Segmentierung von Bilddaten eines bildgebenden Sensors, wobei das künstliche neuronale Netz einen Encoder-Pfad (110, 210) zur Klassifizierung der Bilddaten (111, 211), einen Decoder-Pfad (120, 220) zur Lokalisierung der Bilddaten (111, 211) aufweist und derart eingerichtet ist, Schritte des Verfahrens (500) nach einem der Ansprüche 1 bis 6 auszuführen.
  8. Vorrichtung, insbesondere aufweisend ein künstliches neuronales Netz gemäß Anspruch 7, die eingerichtet ist, Schritte des Verfahrens (500) nach einem der Ansprüche 1 bis 6 auszuführen.
  9. Computerprogramm, welches eingerichtet ist, alle Schritte des Verfahrens (500) nach einem der Ansprüche 1 bis 6 auszuführen.
  10. Maschinenlesbares Speichermedium, auf dem das künstliche neuronale Netz nach Anspruch 7 und/oder das Computerprogramm nach Anspruch 9 gespeichert ist.
DE102018217092.4A 2018-10-05 2018-10-05 Verfahren, künstliches neuronales Netz, Vorrichtung, Computerprogramm und maschinenlesbares Speichermedium zur semantischen Segmentierung von Bilddaten Pending DE102018217092A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102018217092.4A DE102018217092A1 (de) 2018-10-05 2018-10-05 Verfahren, künstliches neuronales Netz, Vorrichtung, Computerprogramm und maschinenlesbares Speichermedium zur semantischen Segmentierung von Bilddaten
PCT/EP2019/076032 WO2020069964A1 (de) 2018-10-05 2019-09-26 Verfahren, künstliches neuronales netz, vorrichtung, computerprogramm und maschinenlesbares speichermedium zur semantischen segmentierung von bilddaten
US17/282,372 US11908142B2 (en) 2018-10-05 2019-09-26 Method, artificial neural network, device, computer program, and machine-readable memory medium for the semantic segmentation of image data
CN201980080536.XA CN113168558A (zh) 2018-10-05 2019-09-26 用于图像数据的语义分割的方法、人工神经网络、设备、计算机程序和机器可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018217092.4A DE102018217092A1 (de) 2018-10-05 2018-10-05 Verfahren, künstliches neuronales Netz, Vorrichtung, Computerprogramm und maschinenlesbares Speichermedium zur semantischen Segmentierung von Bilddaten

Publications (1)

Publication Number Publication Date
DE102018217092A1 true DE102018217092A1 (de) 2020-04-09

Family

ID=68172167

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018217092.4A Pending DE102018217092A1 (de) 2018-10-05 2018-10-05 Verfahren, künstliches neuronales Netz, Vorrichtung, Computerprogramm und maschinenlesbares Speichermedium zur semantischen Segmentierung von Bilddaten

Country Status (4)

Country Link
US (1) US11908142B2 (de)
CN (1) CN113168558A (de)
DE (1) DE102018217092A1 (de)
WO (1) WO2020069964A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021100765A1 (de) 2021-01-15 2022-07-21 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Verfahren, System und Computerprogrammprodukt zur Bestimmung von sicherheitskritischen Ausgabewerten einer technischen Entität

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11507831B2 (en) 2020-02-24 2022-11-22 Stmicroelectronics International N.V. Pooling unit for deep learning acceleration
CN113065551B (zh) * 2021-03-19 2023-08-08 杭州迪英加科技有限公司 利用深度神经网络模型执行图像分割的方法
CN116802646A (zh) * 2021-12-27 2023-09-22 华为技术有限公司 数据处理的方法和装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8494285B2 (en) * 2010-12-09 2013-07-23 The Hong Kong University Of Science And Technology Joint semantic segmentation of images and scan data
EP3329424B1 (de) * 2015-07-29 2023-07-12 Nokia Technologies Oy Objekterkennung mit neuronalem netzwerk
US10303979B2 (en) * 2016-11-16 2019-05-28 Phenomic Ai Inc. System and method for classifying and segmenting microscopy images with deep multiple instance learning
CN107226087B (zh) * 2017-05-26 2019-03-26 西安电子科技大学 一种结构化道路自动驾驶运输车及控制方法
CN107644426A (zh) * 2017-10-12 2018-01-30 中国科学技术大学 基于金字塔池化编解码结构的图像语义分割方法
CN108053027B (zh) * 2017-12-18 2021-04-30 中山大学 一种加速深度神经网络的方法及装置
CN108256527A (zh) * 2018-01-23 2018-07-06 深圳市唯特视科技有限公司 一种基于端到端全卷积网络的皮肤病变多类语义分割方法
DE102018217091A1 (de) * 2018-10-05 2020-04-09 Robert Bosch Gmbh Verfahren, künstliches neuronales Netz, Vorrichtung, Computerprogramm und maschinenlesbares Speichermedium zur semantischen Segmentierung von Bilddaten
JPWO2021201269A1 (de) * 2020-04-02 2021-10-07
CN113920213B (zh) * 2021-09-27 2022-07-05 深圳技术大学 基于长距离注意力模型重建的多层磁共振成像方法及装置
US20230153601A1 (en) * 2021-11-15 2023-05-18 International Business Machines Corporation Global neural transducer models leveraging sub-task networks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZHANG, Richard; [et al.]. Split-brain autoencoders: Unsupervised learning by cross-channel prediction. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017. S. 645-654 DOI: 10.1109/CVPR.2017.76. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021100765A1 (de) 2021-01-15 2022-07-21 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Verfahren, System und Computerprogrammprodukt zur Bestimmung von sicherheitskritischen Ausgabewerten einer technischen Entität

Also Published As

Publication number Publication date
WO2020069964A1 (de) 2020-04-09
US11908142B2 (en) 2024-02-20
CN113168558A (zh) 2021-07-23
US20210343019A1 (en) 2021-11-04

Similar Documents

Publication Publication Date Title
WO2020069964A1 (de) Verfahren, künstliches neuronales netz, vorrichtung, computerprogramm und maschinenlesbares speichermedium zur semantischen segmentierung von bilddaten
DE102018217090A1 (de) Verfahren, künstliches neuronales Netz, Vorrichtung, Computerprogramm und maschinenlesbares Speichermedium zur semantischen Segmentierung von Bilddaten
DE102018217091A1 (de) Verfahren, künstliches neuronales Netz, Vorrichtung, Computerprogramm und maschinenlesbares Speichermedium zur semantischen Segmentierung von Bilddaten
EP3785177B1 (de) Verfahren und vorrichtung zum ermitteln einer netzkonfiguration eines neuronalen netzes
DE102018128531A1 (de) System und Verfahren zum Analysieren einer durch eine Punktwolke dargestellten dreidimensionalen Umgebung durch tiefes Lernen
WO2019001649A1 (de) Wissenstransfer zwischen verschiedenen deep-learning architekturen
EP3788552A1 (de) Verfahren und vorrichtung zum ermitteln eines tiefeninformationsbilds aus einem eingangsbild
DE102019214402A1 (de) Verfahren und vorrichtung zum verarbeiten von daten mittels eines neuronalen konvolutionsnetzwerks
DE102021201124A1 (de) Trainieren von bildklassifizierernetzen
DE102021128523A1 (de) Hierarchische bildzerlegung zur defekterkennung
DE102020105070A1 (de) Verfahren zum Erkennen eines befahrbaren Bereichs in einer Umgebung eines Fahrzeugs mithilfe eines binären künstlichen neuronalen Netzes, Recheneinrichtung sowie Fahrerassistenzsystem
EP3736742A1 (de) Maschinelles lernsystem, sowie ein verfahren, ein computerprogramm und eine vorrichtung zum erstellen des maschinellen lernsystems
DE102019129029A1 (de) System und verfahren zur objektdetektion
DE202019102260U1 (de) Vorrichtung zum Erstellen eines neuronalen Netzes
DE102021200643B3 (de) Verfahren zur Umfelderkennung für teilautonome oder autonome Fahrfunktionen eines Kraftfahrzeugs mittels eines neuronalen Netzes
DE102018132627A1 (de) Verfahren zum Erfassen einer Umgebung eines Kraftfahrzeugs mittels zeitlicher Fusion von Bildern durch ein künstliches neuronales Netz; Steuereinheit, Fahrerassistenzsystem; Computerprogrammprodukt
EP4211599A1 (de) Computerimplementiertes verfahren zur umfelderkennung für ein automatisiertes fahrsystem, maschinenlernverfahren, steuergerät für ein automatisiertes fahrsystem und computerprogramm für ein derartiges steuergerät
DE102020126690A1 (de) Verfahren zum Bestimmen eines Bewegungsmodells eines Objekts in einer Umgebung eines Kraftfahrzeugs, Computerprogrammprodukt, computerlesbares Speichermedium sowie Assistenzsystem
DE102020132028A1 (de) Bestimmung einer optimierten Struktur für Neuronale Netze, insbesondere für Verwendung in einem Embedded System
DE202020107031U1 (de) Kombinierte Vorhersage von Merkmal und Merkmalsbewegung
DE102021118311A1 (de) Automatische Wahrnehmung und zumindest teilweise automatisches Führen eines Fahrzeugs
DE102022200353A1 (de) Verfahren zum Erzeugen von Daten zum Trainieren eines auf künstlicher Intelligenz basierenden Objekterkennungsverfahrens
WO2024120687A1 (de) Verfahren zur verarbeitung von bilddaten für die anwendung eines maschinenlern-modells
DE102021119951A1 (de) Verfahren, System und Computerprogrammprodukt zur Erkennung der Umgebung eines Kraftfahrzeugs
DE102020119943A1 (de) Automatische visuelle Wahrnehmung

Legal Events

Date Code Title Description
R163 Identified publications notified