DE102020128978A1 - Trainieren von tiefen neuronalen netzwerken mit synthetischen bildern - Google Patents

Trainieren von tiefen neuronalen netzwerken mit synthetischen bildern Download PDF

Info

Publication number
DE102020128978A1
DE102020128978A1 DE102020128978.2A DE102020128978A DE102020128978A1 DE 102020128978 A1 DE102020128978 A1 DE 102020128978A1 DE 102020128978 A DE102020128978 A DE 102020128978A DE 102020128978 A1 DE102020128978 A1 DE 102020128978A1
Authority
DE
Germany
Prior art keywords
neural network
image
deep neural
processor
synthetic image
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
DE102020128978.2A
Other languages
English (en)
Inventor
Nikita Jaipuria
Rohan Bhasin
Shubh Gupta
Gautham Sholingar
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.)
Ford Global Technologies LLC
Original Assignee
Ford Global Technologies LLC
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 Ford Global Technologies LLC filed Critical Ford Global Technologies LLC
Publication of DE102020128978A1 publication Critical patent/DE102020128978A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • 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
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • 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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/772Determining representative reference patterns, e.g. averaging or distorting patterns; Generating dictionaries
    • 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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/778Active pattern-learning, e.g. online learning of image or video features
    • G06V10/7784Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors
    • G06V10/7788Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors the supervisor being a human, e.g. interactive learning with a human teacher
    • 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
    • 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/20081Training; Learning
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)

Abstract

Die Offenbarung stellt Trainieren von tiefen neuronalen Netzwerken mit synthetischen Bildern bereit. Die vorliegende Offenbarung offenbart ein System und ein Verfahren. Das System und das Verfahren erzeugen, über ein tiefes neuronales Netzwerk, ein erstes synthetisches Bild auf Grundlage eines simulierten Bildes, erzeugen eine Segmentierungsmaske auf Grundlage des synthetischen Bildes, vergleichen die Segmentierungsmaske mit einer Ground-Truth-Maske des synthetischen Bildes, aktualisieren das tiefe neuronale Netzwerk auf Grundlage des Vergleichs und erzeugen, über das aktualisierte tiefe neuronale Netzwerk, ein zweites synthetisches Bild auf Grundlage des simulierten Bildes.

Description

  • GEBIET DER TECHNIK
  • Die Offenbarung betrifft im Allgemeinen tiefe neuronale Netzwerke.
  • ALLGEMEINER STAND DER TECHNIK
  • Tiefe neuronale Netzwerke (deep neural networks - DNNs) können verwendet werden, um viele Aufgaben zum Verstehen von Bildern durchzuführen, die Klassifizierung, Segmentierung und Untertitelung beinhalten. Typischerweise erfordern DNNs große Mengen an Trainingsbildern (Zehntausende bis Millionen). Zusätzlich müssen diese Trainingsbilder typischerweise zum Zwecke des Trainings und der Vorhersage mit Anmerkungen versehen werden.
  • KURZDARSTELLUNG
  • Ein System umfasst einen Computer, der einen Prozessor und einen Speicher beinhaltet, und der Speicher beinhaltet derartig Anweisungen, dass der Prozessor dazu programmiert ist, über ein tiefes neuronales Netzwerk ein erstes synthetisches Bild auf Grundlage eines simulierten Bildes zu erzeugen, eine Segmentierungsmaske auf Grundlage des synthetischen Bildes zu erzeugen, die Segmentierungsmaske mit einer Ground-Truth-Maske des synthetischen Bildes zu vergleichen, das tiefe neuronale Netzwerk auf Grundlage des Vergleichs zu aktualisieren und über das aktualisierte tiefe neuronale Netzwerk ein zweites synthetisches Bild auf Grundlage des simulierten Bildes zu erzeugen.
  • In anderen Merkmalen ist der Prozessor ferner dazu programmiert, die Segmentierungsmaske über ein siamesisches neuronales Netzwerk mit der Ground-Truth-Maske zu vergleichen.
  • In anderen Merkmalen bildet das simulierte Bild eine Vielzahl von Objekten ab.
  • In anderen Merkmalen umfasst die Segmentierungsmaske eine binäre Maske, die ähnliche Objekte der Vielzahl von Objekten als eine einzelne Instanz klassifiziert.
  • In anderen Merkmalen wird das simulierte Bild durch eine Spiel-Engine erzeugt.
  • In anderen Merkmalen umfasst das tiefe neuronale Netzwerk ein neuronales Dekonvol uti onsnetzwerk.
  • In anderen Merkmalen ist der Prozessor ferner dazu programmiert, einen Kontrastverlust auf Grundlage des Vergleichs zu bestimmen und das tiefe neuronale Netzwerk auf Grundlage des Kontrastverlusts zu aktualisieren.
  • In anderen Merkmalen ist der Prozessor ferner dazu programmiert, mindestens eine Gewichtung zu aktualisieren, die einem Neuron des tiefen neuronalen Netzwerks zugeordnet ist.
  • In anderen Merkmalen ist der Prozessor ferner dazu programmiert, das zweite synthetische Bild auszuwerten und eine Vorhersage zu erzeugen, die angibt, ob das zweite synthetische Bild maschinell erzeugt wurde oder aus einer realen Datenverteilung stammt.
  • In anderen Merkmalen ist der Prozessor ferner dazu programmiert, eine Rückmeldung auf Grundlage der Vorhersage zu erzeugen und mindestens eine Gewichtung zu aktualisieren, die einem Neuron des tiefen neuronalen Netzwerks zugeordnet ist, wenn die Vorhersage angibt, dass das zweite synthetische Bild maschinell erzeugt wurde.
  • In anderen Merkmalen ist der Prozessor ferner dazu programmiert, das zweite synthetische Bild über ein neuronales Faltungsnetzwerk auszuwerten.
  • Ein Verfahren umfasst Folgendes: das Erzeugen, über ein tiefes neuronales Netzwerk, eines ersten synthetischen Bildes auf Grundlage eines simulierten Bildes, das Erzeugen einer Segmentierungsmaske auf Grundlage des synthetischen Bildes, das Vergleichen der Segmentierungsmaske mit einer Ground-Truth-Maske des synthetischen Bildes, das Aktualisieren des tiefen neuronalen Netzwerkes auf Grundlage des Vergleichs und das Erzeugen, über das aktualisierte tiefe neuronale Netzwerk, eines zweiten synthetischen Bildes auf Grundlage des simulierten Bildes.
  • In anderen Merkmalen beinhaltet das Verfahren das Vergleichen der Segmentierungsmaske über ein siamesisches neuronales Netzwerk mit der Ground-Truth-Maske.
  • In anderen Merkmalen bildet das simulierte Bild eine Vielzahl von Objekten ab.
  • In anderen Merkmalen umfasst die Segmentierungsmaske eine binäre Maske, die ähnliche Objekte der Vielzahl von Objekten als eine einzelne Instanz klassifiziert.
  • In anderen Merkmalen wird das simulierte Bild durch eine Spiel-Engine erzeugt.
  • In anderen Merkmalen umfasst das tiefe neuronale Netzwerk ein neuronales Dekonvol uti onsnetzwerk.
  • In anderen Merkmalen beinhaltet das Verfahren das Bestimmen eines Kontrastverlustes auf Grundlage des Vergleichs und das Aktualisieren des tiefen neuronalen Netzwerkes auf Grundlage des Kontrastverlusts.
  • In anderen Merkmalen beinhaltet das Verfahren das Aktualisieren mindestens einer Gewichtung, die einem Neuron des tiefen neuronalen Netzwerks zugeordnet ist.
  • In anderen Merkmalen beinhaltet das Verfahren das Auswerten des zweiten synthetischen Bildes und das Erzeugen einer Vorhersage, die angibt, ob das zweite synthetische Bild maschinell erzeugt wurde oder aus einer realen Datenverteilung stammt.
  • Figurenliste
    • 1 ist ein Schaubild eines beispielhaften Systems zum Trainieren eines kontradiktorischen Netzwerkes.
    • 2 ist ein Schaubild eines beispielhaften Servers innerhalb des Systems.
    • 3 ist ein Schaubild eines beispielhaften kontradiktorischen Netzwerkes.
    • 4 ist ein Schaubild eines beispielhaften tiefen neuronalen Netzwerkes.
    • 5 ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Trainieren eines kontradiktorischen Netzwerkes veranschaulicht.
    • 6 ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Bestimmen veranschaulicht, ob ein Bild aus einer realen Datenverteilung stammt oder maschinell erzeugt wurde.
  • DETAILLIERTE BESCHREIBUNG
  • Autonome Fahrzeuge setzen typischerweise Wahrnehmungsalgorithmen oder - agenten ein, um die Umgebung um das Fahrzeug herum wahrzunehmen. Das Trainieren der Wahrnehmungsalgorithmen erfordert jedoch typischerweise große Datenmengen. Es können Spiel-Engines verwendet werden, um Daten, wie etwa synthetische Bilder, zu simulieren, die für die Wahrnehmungsalgorithmen Objekte von Interesse abbilden. Die Objekte von Interesse können andere Fahrzeuge, Anhänger, Fußgänger, Straßenmarkierungen, Schilder oder dergleichen beinhalten. Die synthetischen Daten erscheinen jedoch möglicherweise nicht als „echt“. Infolgedessen entspricht das Training von Wahrnehmungsalgorithmen unter Verwendung synthetischer Daten möglicherweise nicht dem Training von Wahrnehmungsalgorithmen unter Verwendung von echten, das heißt nichterzeugten Daten.
  • In einigen Beispielen werden generative kontradiktorische Netzwerke (generative adversarial networks - GANs) verwendet, um simulierte Daten so umzuwandeln, dass sie fotorealistischer erscheinen. Die Stellung, Größe und/oder Form der Objekte innerhalb der simulierten Daten werden jedoch während der Umwandlung nicht beibehalten, was aus der Simulation erzeugte Ground-Truth-Labels für Trainingszwecke unbrauchbar machen kann.
  • Die vorliegende Offenbarung offenbart ein kontradiktorisches neuronales Netzwerk, das eine Segmentierungsmaske mit einer Ground-Truth-Maske vergleicht, um die Bildübersetzung zu verbessern, wie etwa Simulation-zu-Real. Zum Beispiel kann das kontradiktorische neuronale Netzwerk der vorliegenden Offenbarung fotorealistische Bilder aus simulierten Bildern erzeugen und Ground Truth für Trainingszwecke beibehalten. Wie in dieser Schrift erörtert, kann das kontradiktorische neuronale Netzwerk einen Generator beinhalten, der ein synthetisches Bild auf Grundlage eines simulierten Eingabebilds erzeugt. Ein Segmentierer erzeugt eine Segmentierungsmaske auf Grundlage des synthetischen Bildes und ein siamesisches Netzwerk vergleicht die Segmentierungsmaske mit einer Ground-Truth-Maske des simulierten Eingabebildes. Auf Grundlage des Vergleichs erzeugt das siamesische Netzwerk eine Kontrastverlustausgabe, die dem Generator bereitgestellt wird. Der Generator kann auf Grundlage der Kontrastverlustausgabe aktualisiert werden, um den Ground-Truth-Verlust des Objekts, wie etwa eine Größe, eine Stellung und eine Form der Objekte, während der Bildübersetzung abzuschwächen.
  • Obwohl die vorliegende Offenbarung ein Fahrzeugsystem und einen Server beschreibt, versteht es sich, dass ein beliebiges geeignetes Computersystem verwendet werden kann, um die Methoden und/oder die Funktion des in dieser Schrift beschriebenen kontradiktorischen neuronalen Netzwerkes durchzuführen. Zusätzlich können die in dieser Schrift beschriebenen Methoden das Trainieren eines Generators für Bilderzeugungszwecke beinhalten, was zu verbesserter Verarbeitungseffizienz innerhalb von Fahrzeugsystemen führen kann. Zum Beispiel kann/können ein oder mehrere neuronale Netze, das/die innerhalb der Fahrzeugsysteme verwendet wird/werden, mit dem in dieser Schrift beschriebenen Generator trainiert werden, um die Leistung der neuronalen Netze zu verbessern.
  • 1 ist ein Blockschaubild eines beispielhaften Fahrzeugsystems 100. Das System 100 beinhaltet ein Fahrzeug 105, das ein Landfahrzeug ist, wie etwa ein Auto, ein Lastwagen usw. Das Fahrzeug 105 beinhaltet einen Computer 110, Fahrzeugsensoren 115, Aktoren 120, um unterschiedliche Fahrzeugkomponenten 125 zu betätigen, und ein Fahrzeugkommunikationsmodul 130. Über ein Netzwerk 135 ermöglicht es das Kommunikationsmodul 130 dem Computer 110, mit einem Server 145 zu kommunizieren.
  • Der Computer 110 beinhaltet einen Prozessor und einen Speicher. Der Speicher beinhaltet eine oder mehrere Formen von computerlesbaren Medien und auf diesem sind Anweisungen gespeichert, die durch den Computer 110 zum Durchführen verschiedener Vorgänge ausgeführt werden können, welche die in dieser Schrift offenbarten beinhalten.
  • Der Computer 110 kann ein Fahrzeug 105 in einem autonomen, einem teilautonomen oder einem nichtautonomen (manuellen) Modus betreiben. Für die Zwecke dieser Offenbarung ist ein autonomer Modus als ein Modus definiert, in dem jedes von Antrieb, Bremsung und Lenkung des Fahrzeugs 105 durch den Computer 110 gesteuert wird; in einem teilautonomen Modus steuert der Computer 110 eines oder zwei von Antrieb, Bremsung und Lenkung des Fahrzeugs 105; in einem nichtautonomen Modus steuert ein menschlicher Fahrzeugführer jedes von Antrieb, Bremsung und Lenkung des Fahrzeugs 105.
  • Der Computer 110 kann eine Programmierung beinhalten, um eines oder mehrere von Bremsen, Antrieb (z. B. Steuerung der Beschleunigung im Fahrzeugs durch das Steuern von einem oder mehreren von einer Brennkraftmaschine, einem Elektromotor, einem Hybridmotor usw.), Lenken, Klimasteuerung, Innen- und/oder Außenbeleuchtung usw. des Fahrzeugs 105 zu betreiben, sowie um zu bestimmen, ob und wann der Computer 110, im Gegensatz zu einem menschlichen Fahrzeugführer, derartige Vorgänge steuern soll. Zusätzlich kann der Computer 110 programmiert sein, zu bestimmen, ob und wann ein menschlicher Fahrzeugführer derartige Vorgänge steuern soll.
  • Der Computer 110 kann mehr als einen Prozessor, z.B. in den Elektroniksteuerungseinheiten (electronic controller units - ECUs) oder dergleichen beinhaltet, die in dem Fahrzeug 105 zum Überwachen und/oder Steuern verschiedener Fahrzeugkomponenten 125, z. B. einer Antriebsstrangsteuerung, einer Bremssteuerung, einer Lenkungssteuerung usw., beinhaltet sind, beinhalten oder kommunikativ an diesen gekoppelt sein, z. B. über das Kommunikationsmodul 130 des Fahrzeugs 105, wie nachfolgend ausführlicher beschrieben. Ferner kann der Computer 110 über das Kommunikationsmodul 130 des Fahrzeugs 105 mit einem Navigationssystem kommunizieren, welches das globale Positionsbestimmungssystem (GPS) verwendet. Als ein Beispiel kann der Computer 110 Standortdaten des Fahrzeugs 105 anfordern und empfangen. Die Standortdaten können in einer bekannten Form vorliegen, z. B. Geokoordinaten (Breiten- und Längskoordinaten).
  • Der Computer 110 ist im Allgemeinen zur Kommunikation in dem Kommunikationsmodul 130 des Fahrzeugs 105 und außerdem mit einem internen drahtgebundenen und/oder drahtlosen Netzwerk des Fahrzeugs 105 angeordnet, z. B. ein Bus oder dergleichen in dem Fahrzeug 105, wie etwa in einem Controller Area Network (CAN) oder dergleichen, und/oder in anderen drahtgebundenen und/oder drahtlosen Mechanismen.
  • Über das Kommunikationsnetzwerk des Fahrzeugs 105 kann der Computer 110 Mitteilungen an unterschiedliche Vorrichtungen in dem Fahrzeug 105 übermitteln und/oder Mitteilungen von den unterschiedlichen Vorrichtungen empfangen, z. B. Fahrzeugsensoren 115, Aktoren 120, Fahrzeugkomponenten 125, einer Mensch-Maschine-Schnittstelle (human machine interface - HMI) usw. Alternativ oder zusätzlich kann das Kommunikationsnetzwerk des Fahrzeugs 105 in Fällen, in denen der Computer 110 tatsächlich eine Vielzahl von Vorrichtungen umfasst, zur Kommunikation zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als der Computer 110 dargestellt sind. Ferner können, wie nachfolgend erwähnt, unterschiedliche Steuerungen und/oder Fahrzeugsensoren 115 dem Computer 110 Daten bereitstellen.
  • Die Fahrzeugsensoren 115 können eine Reihe von Vorrichtungen beinhalten, die dem Computer 110 bekanntermaßen Daten bereitstellen. Zum Beispiel können die Fahrzeugsensoren 115 (einen) Light-Detection-and-Ranging-Sensor(en) (LIDAR-Sensor(en)) 115 usw. beinhalten, der/die auf einer Oberseite des Fahrzeugs 105, hinter einer Windschutzscheibe des Fahrzeugs 105, um das Fahrzeug 105 herum usw. angeordnet ist/sind und diesbezügliche Standorte, Größen und Formen von Objekten und/oder Verhältnissen bereitstellen, die das Fahrzeug 105 umgeben. Als ein weiteres Beispiel können ein oder mehrere Radarsensoren 115, der/die an Stoßfängern des Fahrzeugs 105 befestigt ist/sind, Daten bereitstellen, um die Geschwindigkeit von Objekten (möglicherweise zweite Fahrzeuge 106 beinhaltend) usw. in Bezug auf die Stellung des Fahrzeugs 105 bereitzustellen und zu klassifizieren. Die Fahrzeugsensoren 115 können ferner (einen) Kamerasensor(en) 115 beinhalten, der/die z. B. nach vorne, zur Seite, nach hinten usw. gerichtet ist/sind, der/die Bilder von einem Sichtfeld innerhalb und/oder außerhalb des Fahrzeugs 105 bereitstellt/bereitstellen.
  • Die Aktoren 120 des Fahrzeugs 105 sind über Schaltungen, Chips, Elektromotoren oder andere elektronische und/oder mechanische Komponenten umgesetzt, die unterschiedliche Fahrzeugteilsysteme gemäß geeigneten Steuersignalen, wie bekannt, betätigen können. Die Aktoren 120 können verwendet werden, um Steuerelemente 125 zu steuern, die Bremsung, Beschleunigung und Lenkung, eines Fahrzeugs 105 beinhalten.
  • Im Zusammenhang mit der vorliegenden Offenbarung ist eine Fahrzeugkomponente 125 eine oder mehrere Hardwarekomponenten, die angepasst ist/sind, um eine(n) mechanische(n) oder elektromechanische(n) Funktion oder Vorgang durchzuführen - wie etwa das Fahrzeug 105 bewegen, das Fahrzeug 105 abbremsen oder anhalten, das Fahrzeug 105 lenken usw. Nichteinschränkende Beispiele für Komponenten 125 beinhalten Folgendes: eine Antriebskomponente (die z. B. eine Brennkraftmaschine und/oder einen Elektromotor usw. beinhaltet), eine Getriebekomponente, eine Lenkkomponente (die z. B. eines oder mehrere von einem Lenkrad, einer Zahnstange usw. beinhalten kann), eine Bremskomponente (wie nachfolgend beschrieben), eine Einparkunterstützungskomponente, eine Abstandsregeltempomat-Komponente, eine Komponente zum adaptiven Lenken, einen beweglichen Sitz usw.
  • Zusätzlich kann der Computer 110 zur Kommunikation über ein(e) Fahrzeug-zu-Fahrzeug-Kommunikationsmodul oder -Schnittstelle 130 mit Vorrichtungen außerhalb des Fahrzeugs 105 konfiguriert sein, z. B. durch drahtlose Fahrzeug-zu-Fahrzeug-(V2V-) oder Fahrzeug-zu-Infrastruktur-(V2X-)Kommunikation mit einem anderen Fahrzeug, (typischerweise über das Netzwerk 135) mit einem Fernzugriffsserver 145. Das Modul 130 könnte einen Mechanismus oder mehrere Mechanismen beinhalten, durch die der Computer 110 kommunizieren kann, was eine beliebige gewünschte Kombination aus drahtlosen (z. B. Mobilfunk-, Drahtlos-, Satelliten-, Mikrowellen- und Hochfrequenz-)Kommunikationsmechanismen und einer beliebigen gewünschten Netztopologie (oder Netztopologien, wenn eine Vielzahl von Kommunikationsmechanismen genutzt wird) beinhaltet. Beispielhafte über das Modul 130 bereitgestellte Kommunikation beinhaltet Mobilfunk-, Bluetooth®-, IEEE 802.11-, dedizierte Nahbereichskommunikations-(dedicated short range communication - DSRC) und/oder Weitverkehrsnetzwerke (wide area networks - WAN), die das Internet beinhalten, die Datenkommunikationsdienste bereitstellen.
  • Das Netzwerk 135 kann einer oder mehrere von verschiedenen drahtgebundenen oder drahtlosen Kommunikationsmechanismen sein, die jede gewünschte Kombination aus drahtgebundenen (z. B. Kabel- und Glasfaser-) und/oder drahtlosen (z. B. Mobilfunk-, Drahtlos-, Satelliten-, Mikrowellen- und Hochfrequenz-) Kommunikationsmechanismen und jeder gewünschten Netzwerktopologie (oder -topologien, wenn mehrere Kommunikationsmechanismen genutzt werden) beinhalten. Beispielhafte Kommunikationsnetzwerke beinhalten drahtlose Kommunikationsnetzwerke (z. B. unter Verwendung von Bluetooth, Bluetooth Low Energy (BLE), IEEE 802.11, Fahrzeug-zu-Fahrzeug (V2V), wie etwa Nahbereichskommunikation (DSRC) usw.), lokale Netzwerke (local area network - LAN) und/oder Weitverkehrsnetzwerke (WAN), die das Internet beinhalten, die Datenkommunikationsdienste bereitstellen.
  • Ein Computer 110 kann im Wesentlichen durchgehend, zeitweise und/oder wenn durch einen Server 145 angewiesen usw. Daten von den Sensoren 115 empfangen und analysieren. Ferner können Ojektklassifizierungs- oder -identifizierungsmethoden verwendet werden, z.B. in einem Computer 110 auf Grundlagen von Daten von einem LIDAR-Sensor 115, einem Kamerasensor 115 usw., um eine Objektart, z. B. ein Fahrzeug, eine Person, einen Stein, ein Schlagloch, ein Fahrrad, ein Motorrad usw., sowie physische Merkmale von Objekten zu identifizieren.
  • 2 ist ein Blockschaubild eines beispielhaften Servers 145. Der Server 145 beinhaltet einen Computer 235 und ein Kommunikationsmodul 240. Der Computer 235 beinhaltet einen Prozessor und einen Speicher. Der Speicher beinhaltet eine oder mehrere Formen von computerlesbaren Medien und auf diesem sind Anweisungen gespeichert, die durch den Computer 235 zum Durchführen verschiedener Vorgänge ausgeführt werden können, welche die in dieser Schrift offenbarten beinhalten. Das Kommunikationsmodul 240 ermöglicht es dem Computer 235, mit anderen Vorrichtungen, wie etwa dem Fahrzeug 105, zu kommunizieren.
  • 3 ist ein Schaubild eines beispielhaften kontradiktorischen neuronalen Netzwerkes 300. Ein kontradiktorisches neuronales Netzwerk 300 kann ein Softwareprogramm sein, das in einen Speicher geladen und durch einen Prozessor zum Beispiel in dem Fahrzeug 105 und/oder auf dem Server 145 ausgeführt werden kann. Wie gezeigt, beinhaltet das kontradiktorische neuronale Netzwerk 300 einen Generator 305, einen Diskriminator 310, einen Segmentierer 315 und ein siamesisches Netzwerk 320. Im vorliegenden Kontext umfassen der Generator 305 und der Diskriminator 310 ein generatives kontradiktorisches Netzwerk (GAN). Das GAN ist ein tiefes neuronales Netzwerk, das eine Klasse von Algorithmen mit künstlicher Intelligenz einsetzt, die beim maschinellen Lernen verwendet werden und durch ein System von zwei neuronalen Netzwerken umgesetzt werden, die in einem kontradiktorischen Nullsummenspielframework gegeneinander antreten.
  • In einer beispielhaften Umsetzung empfängt der Generator 305 ein Eingabebild und erzeugt ein synthetisches Bild auf Grundlage des Eingabebildes. Zum Beispiel empfängt der Generator 305 ein simuliertes Rot-Grün-Blau-(RGB-)Bild, das ein oder mehrere darin dargestellte Merkmale oder Objekte beinhaltet. Unter Verwendung des simulierten Bilds erzeugt der Generator 305 ein synthetisches Bild, das Merkmale oder Objekte beinhaltet, die innerhalb des Eingabebildes abgebildet sind. Im vorliegenden Zusammenhang kann das synthetische Bild eine Bild-zu-Bild-Übersetzung des simulierten Bildes sein, z. B. wird das Eingabebild von einer Domäne (Simulation) in eine andere Domäne (real) übersetzt. In einer oder mehreren Umsetzungen kann der Generator 305 ein neuronales Dekonvolutionsnetzwerk umfassen. Es versteht sich jedoch, dass andere neuronale Netzwerke gemäß der vorliegenden Offenbarung verwendet werden können.
  • Der Diskriminator 310 ist dazu konfiguriert, ein Bild zu empfangen, das empfangene Bild auszuwerten und eine Vorhersage zu erzeugen, die angibt, ob das empfangene Bild durch den Generator 305 maschinell erzeugt wurde oder aus einer realen Datenverteilung stammt. Wie in 3 gezeigt, empfängt der Diskriminator 310 durch den Generator 305 erzeugte synthetische Bilder und Bilder aus einer realen Datenverteilung als Eingabe. In einer oder mehreren Umsetzungen kann der Diskriminator ein neuronales Faltungsnetzwerk umfassen. Es versteht sich jedoch, dass andere neuronale Netzwerke gemäß der vorliegenden Offenbarung verwendet werden können.
  • Das Training des Generators 305 kann Reinforcement Learning verwenden, um das generative Modell zu trainieren. Reinforcement Learning ist eine Art von dynamischer Programmierung, die Algorithmen unter Verwendung eines Belohnungs- und Bestrafungssystems trainiert. Ein Reinforcement-Learning-Algorithmus oder Reinforcement-Learning-Agent lernt durch Interaktion mit seiner Umgebung. Der Agent erhält Belohnungen durch korrektes Verhalten und Strafen für falsches Verhalten. Zum Beispiel lernt der Reinforcement-Leaming-Agent ohne Eingreifen eines Menschen durch das Maximieren der Belohnung und das Minimieren der Strafe.
  • Der Segmentierer 315 empfängt das synthetische Bild und erzeugt eine Maske auf Grundlage des synthetischen Bildes. Die Maske kann eine binäre Maske umfassen, die innerhalb des synthetischen Bildes erfasste Merkmale oder Objekte klassifiziert. In einer beispielhaften Umsetzung kann der Segmentierer 315 eine semantische Segmentierungsmaske unter Verwendung semantischer Segmentierungsmethoden erzeugen, die ähnliche Merkmale oder Objekte als eine einzelne Instanz klassifizieren. Zum Beispiel wird jedes in einem Bild identifizierte Auto als eine einzelne Instanz klassifiziert. In einem weiteren Beispiel wird jeder in einem Bild identifizierte Fußgänger als eine einzelne Instanz klassifiziert. In einer oder mehreren Umsetzungen kann der Segmentierer 315 einMask R-neuronales Faltungsnetzwerk (Mask R-CNN) umfassen. Es versteht sich jedoch, dass der Segmentierer 315 andere geeignete neuronale Netzwerke umfassen kann, die dazu konfiguriert sind, ähnliche Merkmale oder Objekte, die in einem Bild abgebildet sind, als eine einzelne Instanz zu klassifizieren.
  • Das siamesische Netzwerk 320 empfängt als Eingabe die durch den Segmentierer 315 erzeugte Segmentierungsmaske und eine Ground-Truth-Maske des Eingabebildes, d. h. das in den Generator 305 eingegebene Bild. Die Ground-Truth-Maske stellt eine binäre Maske dar, die ähnliche Merkmale oder Objekte als eine einzelne Instanz klassifiziert, die in dem simulierten Eingabebild abgebildet ist. Das siamesische Netzwerk 320 vergleicht die Ground-Truth-Maske mit der erzeugten Segmentierungsmaske und erzeugt eine Kontrastverlustausgabe, die eine Differenz zwischen der Ground-Truth-Maske und der erzeugten Segmentierungsmaske darstellt.
  • Wie in 3 gezeigt, wird die Kontrastverlustausgabe dem Generator 305 bereitgestellt. Der Generator 305 kann die Kontrastverlustausgabe verwenden, um eine oder mehrere Gewichtungen des Generators 305 zu aktualisieren, um die Kontrastverlustausgabe zu minimieren. Zum Beispiel kann der Generator 305 eine oder mehrere Gewichtungen innerhalb des Generators 305 unter Verwendung von Rückpropagierung oder dergleichen aktualisieren. Der Generator 305 kann auch eine oder mehrere Gewichtungen auf Grundlage der durch den Diskriminator 310 erzeugten Vorhersage aktualisieren. In einer oder mehreren Umsetzungen ist der Generator 305 auf Grundlage der Aktualisierungen des Generators 305 dazu konfiguriert, ein weiteres synthetisches Bild zu erzeugen, welches das der Ground-Truth-Maske entsprechende Objekt beinhaltet.
  • 4 ist ein Schaubild eines beispielhaften tiefen neuralen Netzwerkes (DNN) 400. Das DNN 400 kann repräsentativ für den Generator 305, den Diskriminator 310, den Segmentierer 315 und/oder das vorstehend beschriebene siamesische Netzwerk 320 sein. Das DNN 400 beinhaltet mehrere Knoten 405 und die Knoten 405 sind so angeordnet, dass das DNN 400 eine Eingabeschicht, eine oder mehrere verborgene Schichten und eine Ausgabeschicht beinhaltet. Jede Schicht des DNN 400 kann eine Vielzahl von Knoten 405 beinhalten. Obwohl 4 drei (3) verborgene Schichten veranschaulicht, versteht es sich, dass das DNN 400 zusätzliche oder weniger verborgene Schichten beinhalten kann. Die Eingabe- und Ausgabeschichten können auch mehr als einen (1) Knoten 405 beinhalten.
  • Die Knoten 405 werden manchmal als künstliche Neuronen 405 bezeichnet, da sie dazu ausgestaltet sind, biologische, z. B. menschliche, Neuronen nachzuahmen. Ein Satz von Eingaben (dargestellt durch die Pfeile) für jedes Neuron 405 wird jeweils mit den jeweiligen Gewichtungen multipliziert. Die gewichteten Eingaben können dann in einer Eingabefunktion summiert werden, um eine Nettoeingabe bereitzustellen, die möglicherweise um eine Verzerrung angepasst ist. Die Nettoeingabe kann dann der Aktivierungsfunktion bereitgestellt werden, die wiederum einem verbundenen Neuron 405 eine Ausgabe bereitstellt. Die Aktivierungsfunktion kann eine Reihe von geeigneten Funktionen sein, die üblicherweise auf Grundlage einer empirischen Analyse ausgewählt werden. Wie durch die Pfeile in 4 veranschaulicht, können die Ausgaben des Neurons 405 dann zur Aufnahme in einen Satz von Eingaben in ein oder mehrere Neuronen 405 in einer nächsten Schicht bereitgestellt werden.
  • Das DNN 400 kann trainiert werden, um Daten als Eingabe anzunehmen und eine Ausgabe auf Grundlage der Eingabe zu erzeugen. Das DNN 400 kann mit Ground-Truth-Daten trainiert werden, d. h. Daten über eine(n) reale(n) Bedingung oder Zustand. Zum Beispiel kann das DNN 400 durch einen Prozessor mit Ground-Truth-Daten trainiert oder mit zusätzlichen Daten aktualisiert werden. Die Gewichtungen können zum Beispiel unter Verwendung einer Gauß-Verteilung initialisiert werden und eine Verzerrung für jeden Knoten 405 kann auf null gesetzt werden. Das Trainieren des DNN 400 kann das Aktualisieren von Gewichtungen und einer Verzerrung durch geeignete Techniken beinhalten, wie etwa die Rückpropagierung mit Optimierungen. Ground-Truth-Daten können Daten, die Objekte innerhalb eines Bildes spezifizieren, oder Daten beinhalten, die einen physikalischen Parameter spezifizieren, z. B. Winkel, Geschwindigkeit, Entfernung oder Winkel eines Objekts in Bezug auf ein anderes Objekt, ohne darauf beschränkt zu sein. Zum Beispiel können die Ground-Truth-Daten Daten sein, die Objekte und Objektlabel darstellen.
  • 5 ist ein Ablaufdiagramm eines beispielhaften Prozesses 500 zum Trainieren eines Generators unter Verwendung der Erzeugung synthetischer Bilder innerhalb eines kontradiktorischen neuronalen Netzwerkes. Blöcke des Prozesses 500 können durch den Computer 110 oder den Computer 235 ausgeführt werden. Der Prozess 500 beginnt bei Block 505, in dem ein simuliertes Eingabebild empfangen wird. Wie vorstehend beschrieben, empfängt der Generator 305 ein simuliertes Eingabebild. Das simulierte Eingabebild kann durch eine Spiel-Engine oder dergleichen erzeugt sein. Bei Block 510 erzeugt der Generator 305 ein synthetisches Bild, z. B. ein maschinell erzeugtes Bild, auf Grundlage des simulierten Eingabebilds. Das synthetische Bild kann ein oder mehrere Objekte beinhalten, die in dem simulierten Eingabebild abgebildet sind. Der Segmentierer 315 erzeugt bei Block 515 eine Segmentierungsmaske auf Grundlage des synthetischen Bildes. Wie vorstehend erörtert ist die Segmentierungsmaske eine binäre Maske, die ähnliche Merkmale oder Objekte als eine einzelne Instanz klassifiziert.
  • Bei Block 520 wird die dem synthetischen Bild entsprechende Segmentierungsmaske mit der Ground-Truth-Maske des simulierten Bildes verglichen. Zum Beispiel ist das siamesische Netzwerk 320 dazu konfiguriert, eine Kontrastverlustausgabe zu erzeugen, die eine Differenz zwischen der Ground-Truth-Maske und der erzeugten Segmentierungsmaske darstellt. Bei Block 525 wird eine Bestimmung vorgenommen, ob die Kontrastverlustausgabe größer als ein vorbestimmter Fehlerschwellenwert ist. Wenn die Kontrastverlustausgabe kleiner oder gleich dem vorbestimmten Fehlerschwellenwert ist, endet der Prozess 500.
  • Andernfalls wird der Generator 305 unter Verwendung der Kontrastverlustausgabe bei Block 530 aktualisiert und der Prozess 500 kehrt zu Block 510 zurück. Zum Beispiel werden eine oder mehrere Gewichtungen, die den Knoten, wie etwa den Knoten 405, des Generators 305 zugeordnet sind, über geeignete Methoden aktualisiert, wie etwa Rückpropagierung mit Optimierungen. Der Kontrastverlust kann einen oder mehrere Gradienten von Interesse zwischen der Segmentierungsmaske und der Ground-Truth-Maske beinhalten, und die Gewichtungen des Generators 305 können auf Grundlage der Gradienten von Interesse aktualisiert werden. Zusätzliche synthetische Bilder können durch den Generator 305 erzeugt werden, bis der Kontrastverlust kleiner oder gleich dem vorbestimmten Fehlerschwellenwert ist.
  • 6 ist ein Ablaufdiagramm eines beispielhaften Prozesses 600 zum Erzeugen einer Vorhersage, die angibt, ob ein Bild maschinell erzeugt ist oder aus einer realen Datenverteilung stammt. Blöcke des Prozesses 600 können durch den Computer 110 oder den Computer 235 ausgeführt werden. Der Prozess 600 beginnt bei Block 605, bei dem eine Bestimmung erfolgt, ob ein Bild empfangen wird. In einer beispielhaften Umsetzung empfängt der Diskriminator 310 ein Bild. Das Bild kann ein synthetisches Bild sein, das durch den Generator 305 erzeugt wurde, oder ein Bild aus einer realen Datenverteilung. Wenn keine Bild empfangen wird, kehrt der Prozess 600 zu Block 605 zurück.
  • Andernfalls wertet der Diskriminator 310 bei Block 610 das empfangene Bild aus und erzeugt eine Vorhersage auf Grundlage des empfangenen Bildes. Zum Beispiel wendet der Diskriminator 310 eine oder mehrere neuronale Faltungsnetzwerkmethoden auf das empfangene Bild an, um eine Wahrscheinlichkeit zu bestimmen, dass das bewertete Bild synthetisch ist oder aus einer realen Datenverteilung stammt. Bei Block 615 wird eine Bestimmung vorgenommen, ob das empfangene Bild synthetisch ist, z. B. maschinell erzeugt. Wenn zum Beispiel die Wahrscheinlichkeit größer als ein vorbestimmter Schwellenwert ist, bestimmt der Diskriminator 310, dass das Bild maschinell erzeugt ist.
  • Wenn die Bestimmung lautet, dass das empfangene Bild als nicht synthetisch bestimmt wird, endet der Prozess 600. Wenn die Bestimmung lautet, dass das empfangene Bild als synthetisch bestimmt ist, stellt der Diskriminator 310 bei Block 625 eine Rückmeldung an den Generator 305 bereit. In einigen Umsetzungen werden die Gradienten des empfangenen Bildes bestimmt und dem Generator 305 bereitgestellt. Zum Beispiel können Rückpropagierungsmethoden verwendet werden, um Gradienten von Interesse innerhalb des empfangenen Bildes zu identifizieren. Die Gradienten können dann derartig dem Generator 305 bereitgestellt werden, dass die Gewichtungen des Generators 305 in Bezug auf die Gradienten aktualisiert werden können.
  • Im Allgemeinen können die beschriebenen Rechensysteme und/oder - Vorrichtungen ein beliebiges aus mehreren Computerbetriebssystemenn einsetzen, die Folgende beinhalten, ohne darauf beschränkt zu sein: Versionen und/oder Varianten der Anwendung Ford Sync®, der Middleware AppLink/Smart Device Link, des Betriebssystems Microsoft Automotive®, des Betriebssystems Microsoft Windows®, des Betriebssystems Unix (z. B. des Betriebssystems Solaris®, vertrieben durch die Oracle Corporation in Redwood Shores, Kalifornien, USA), des Betriebssystems AIX UNIX, vertrieben durch International Business Machines in Armonk, New York, USA, des Betriebssystems Linux, der Betriebssysteme Mac OSX und iOS, vertrieben durch die Apple Inc. in Cupertino, Kalifornien, USA, des BlackBerry OS, vertrieben durch die Blackberry, Ltd. in Waterloo, Kanada, und des Betriebssystems Android, entwickelt durch die Google, Inc. und die Open Handset Alliance, oder der QNX® CAR Platform for Infotainment, angeboten durch QNX Software Systems. Beispiele für Rechenvorrichtungen beinhalten, ohne darauf beschränkt zu sein, einen fahrzeuginternen Fahrzeugcomputer, einen Computerarbeitsplatz, einen Server, einen Desktop-, Notebook-, Laptop- oder Handheld-Computer oder ein anderes Rechensystem und/oder eine andere Rechenvorrichtung.
  • Computer und Rechenvorrichtungen beinhalten im Allgemeinen computerausführbare Anweisungen, wobei die Anweisungen durch eine oder mehrere Rechenvorrichtungen ausgeführt werden können, wie etwa durch die vorstehend aufgeführten. Computerausführbare Anweisungen können von Computerprogrammen zusammengestellt oder ausgewertet werden, die unter Verwendung einer Vielfalt von Programmiersprachen und/oder -technologien erstellt werden, die ohne Beschränkung und entweder für sich oder in Kombination Folgendes beinhalten: Java™, C, C++, Matlab, Simulink, Stateflow, Visual Basic, Java Script, Perl, HTML usw. Einige dieser Anwendungen können auf einer virtuellen Maschine zusammengestellt und ausgeführt werden, wie etwa der Java Virtual Machine, der Dalvik Virtual Machine oder dergleichen. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Anweisungen aus, wodurch er einen oder mehrere Prozesse durchführt, die einen oder mehrere der in dieser Schrift beschriebenen Prozesse beinhalten. Derartige Anweisungen und andere Daten können unter Verwendung einer Vielfalt an computerlesbaren Medien gespeichert und übertragen werden. Eine Datei in einer Rechenvorrichtung ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium, wie etwa einem Speichermedium, einem Direktzugriffsspeicher usw., gespeichert sind.
  • Der Speicher kann ein computerlesbares Medium (auch als prozessorlesbares Medium bezeichnet) beinhalten, das ein beliebiges nichtflüchtiges (z. B. greifbares) Medium beinhaltet, das am Bereitstellen von Daten (z. B. Anweisungen) beteiligt ist, die durch einen Computer (z. B. durch einen Prozessor eines Computers) ausgelesen werden können. Ein derartiges Medium kann viele Formen annehmen, die, ohne darauf beschränkt zu sein, nichtflüchtige Medien und flüchtige Medien beinhalten. Nichtflüchtige Medien können zum Beispiel Bild- und Magnetplatten und anderen dauerhaften Speicher beinhalten. Flüchtige Medien können zum Beispiel dynamischen Direktzugriffsspeicher (dynamic random-access memory - DRAM) beinhalten, der typischerweise einen Hauptspeicher darstellt. Derartige Anweisungen können durch ein oder mehrere Übertragungsmedien übertragen werden, die Koaxialkabel, Kupferdraht und Glasfaser beinhalten, welche die Drähte beinhalten, aus denen ein Systembus besteht, der an einen Prozessor einer ECU gekoppelt ist. Übliche Formen computerlesbarer Medien beinhalten zum Beispiel eine Diskette, eine Folienspeicherplatte, eine Festplatte, ein Magnetband, ein beliebiges anderes magnetisches Medium, eine CD-ROM, eine DVD, ein beliebiges anderes optisches Medium, Lochkarten, Lochstreifen, ein beliebiges anderes physisches Medium mit Lochmustern, einen RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, einen beliebigen anderen Speicherchip oder eine beliebige andere Speicherkassette oder ein beliebiges anderes Medium, das von einem Computer ausgelesen werden kann.
  • Datenbanken, Datendepots oder andere Datenspeicher, die in dieser Schrift beschrieben sind, können unterschiedliche Arten von Mechanismen zum Speichern von, Zugreifen auf und Abrufen von unterschiedliche(n) Arten von Daten beinhalten, die eine hierarchische Datenbank, einen Satz von Dateien in einem Dateisystem, eine Anwendungsdatenbank in einem proprietären Format, ein relationales Datenbankverwaltungssystem (relational database management system - RDBMS) usw. beinhalten. Jeder derartige Datenspeicher ist im Allgemeinen in einer Rechenvorrichtung beinhaltet, die ein Computerbetriebssystem einsetzt, wie etwa eines der vorstehend erwähnten, und es wird auf eine oder mehrere von vielfältigen Weisen über ein Netzwerk darauf zugegriffen. Auf ein Dateisystem kann von einem Computerbetriebssystem zugegriffen werden und es kann in verschiedenen Formaten gespeicherte Dateien beinhalten. Ein RDBMS setzt im Allgemeinen die Structured Query Language (SQL) zusätzlich zu einer Sprache zum Erzeugen, Speichern, Bearbeiten und Ausführen gespeicherter Prozeduren ein, wie etwa die vorstehend erwähnte PL/SQL-Sprache.
  • In einigen Beispielen können Systemelemente als computerlesbare Anweisungen (z. B. Software) auf einer oder mehreren Rechenvorrichtungen (z. B. Servern, PCs usw.) umgesetzt sein, die auf computerlesbaren Medien gespeichert sind (z. B. Platten, Speicher usw.), die diesen zugeordnet sind. Ein Computerprogrammprodukt kann derartige auf computerlesbaren Medien gespeicherte Anweisungen zum Ausführen der in dieser Schrift beschriebenen Funktionen umfassen.
  • Hinsichtlich der in dieser Schrift beschriebenen Medien, Prozesse, Systeme, Verfahren, Heuristiken usw. versteht es sich, dass, auch wenn die Schritte derartiger Prozesse usw. als gemäß einer bestimmten Reihenfolge erfolgend beschrieben worden sind, derartige Prozesse jedoch so umgesetzt werden können, dass die beschriebenen Schritte in einer Reihenfolge durchgeführt werden, die von der in dieser Schrift beschriebenen Reihenfolge verschieden ist. Es versteht sich ferner, dass gewisse Schritte gleichzeitig durchgeführt, andere Schritte hinzugefügt oder gewisse in dieser Schrift beschriebene Schritte weggelassen werden können. Mit anderen Worten dienen die Beschreibungen von Prozessen in dieser Schrift dem Zwecke der Veranschaulichung bestimmter Ausführungsformen und sollten keinesfalls dahingehend ausgelegt werden, dass sie die Patentansprüche einschränken.
  • Dementsprechend versteht es sich, dass die vorstehende Beschreibung veranschaulichend und nicht einschränkend sein soll. Viele Ausführungsformen und Anwendungen, bei denen es sich nicht um die bereitgestellten Beispiele handelt, werden dem Fachmann beim Lesen der vorstehenden Beschreibung ersichtlich. Der Schutzumfang der Erfindung sollte nicht unter Bezugnahme auf die vorstehende Beschreibung festgelegt werden, sondern sollte stattdessen unter Bezugnahme auf die beigefügten Patentansprüche zusammen mit dem vollständigen Schutzumfang von Äquivalenten, zu denen solche Patentansprüche berechtigen, festgelegt werden. Es ist davon auszugehen und beabsichtigt, dass es zukünftige Entwicklungen im in dieser Schrift erörterten Stand der Technik geben wird und dass die offenbarten Systeme und Verfahren in derartige zukünftige Ausführungsformen aufgenommen werden. Insgesamt versteht es sich, dass die Erfindung modifiziert und variiert werden kann und lediglich durch die folgenden Patentansprüche eingeschränkt ist.
  • Alle in den Patentansprüchen verwendeten Ausdrücke sollen ihre klare und gewöhnliche Bedeutung aufweisen, wie sie von einem Fachmann verstanden wird, sofern in dieser Schrift nicht ausdrücklich das Gegenteil angegeben wird. Insbesondere ist die Verwendung der Singularartikel, wie etwa „ein“, „eine“, „der“, „die“, „das“ usw., dahingehend auszulegen, dass ein oder mehrere der aufgeführten Elemente genannt werden, sofern ein Anspruch nicht eine ausdrückliche gegenteilige Einschränkung enthält.
  • Gemäß der vorliegenden Erfindung ist ein System bereitgestellt, das Folgendes umfasst: einen Computer, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher derartig Anweisungen beinhaltet, dass der Prozessor zu Folgendem programmiert ist: das Erzeugen, über ein tiefes neuronales Netzwerk, eines ersten synthetischen Bildes auf Grundlage eines simulierten Bildes, das Erzeugen einer Segmentierungsmaske auf Grundlage des synthetischen Bildes, das Vergleichen der Segmentierungsmaske mit einer Ground-Truth-Maske des synthetischen Bildes, das Aktualisieren des tiefen neuronalen Netzwerks auf Grundlage des Vergleichs und das Erzeugen, über das aktualisierte tiefe neuronale Netzwerk, eines zweiten synthetisches Bildes auf Grundlage des simulierten Bildes.
  • Gemäß einer Ausführungsform ist der Prozessor ferner dazu programmiert, die Segmentierungsmaske über ein siamesisches neuronales Netzwerk mit der Ground-Truth-Maske zu vergleichen.
  • Gemäß einer Ausführungsform bildet das simulierte Bild eine Vielzahl von Objekten ab.
  • Gemäß einer Ausführungsform umfasst die Segmentierungsmaske eine binäre Maske, die ähnliche Objekte der Vielzahl von Objekten als eine einzelne Instanz klassifiziert.
  • Gemäß einer Ausführungsform wird das simulierte Bild durch eine Spiel-Engine erzeugt.
  • Gemäß einer Ausführungsform umfasst das tiefe neuronale Netzwerk ein neuronales Dekonvolutionsnetzwerk.
  • Gemäß einer Ausführungsform ist der Prozessor ferner zu Folgendem programmiert: das Bestimmen eines Kontrastverlusts auf Grundlage des Vergleichs; und das Aktualisieren des tiefen neuronalen Netzwerks auf Grundlage des Kontrastverlusts.
  • Gemäß einer Ausführungsform ist der Prozessor ferner zu Folgendem programmiert: das Aktualisieren mindestens einer Gewichtung, die einem Neuron des tiefen neuronalen Netzwerks zugeordnet ist.
  • Gemäß einer Ausführungsform ist der Prozessor ferner zu Folgendem programmiert: das Auswerten des zweiten synthetischen Bildes; und das Erzeugen einer Vorhersage, die angibt, ob das zweite synthetische Bild maschinell erzeugt wurde oder aus einer realen Datenverteilung stammt.
  • Gemäß einer Ausführungsform ist der Prozessor ferner zu Folgendem programmiert: das Erzeugen einer Rückmeldung auf Grundlage der Vorhersage; und das Aktualisieren mindestens einer Gewichtung, die einem Neuron des tiefen neuronalen Netzwerks zugeordnet ist, wenn die Vorhersage angibt, dass das zweite synthetische Bild maschinell erzeugt wurde.
  • Gemäß einer Ausführungsform ist der Prozessor ferner zu Folgendem programmiert: das Auswertendes zweiten synthetischen Bildes über ein neuronales Faltungsnetzwerk.
  • Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren Folgendes: das Erzeugen, über ein tiefes neuronales Netzwerk, eines ersten synthetischen Bildes auf Grundlage eines simulierten Bildes, das Erzeugen einer Segmentierungsmaske auf Grundlage des synthetischen Bildes, das Vergleichen der Segmentierungsmaske mit einer Ground-Truth-Maske des synthetischen Bildes, das Aktualisieren des tiefen neuronalen Netzwerkes auf Grundlage des Vergleichs und das Erzeugen, über das aktualisierte tiefe neuronale Netzwerk, eines zweiten synthetischen Bildes auf Grundlage des simulierten Bildes.
  • Gemäß einer Ausführungsform ist der Prozessor ferner durch das Vergleichen der Segmentierungsmaske über ein siamesisches neuronales Netzwerk mit der Ground-Truth-Maske gekennzeichnet.
  • Gemäß einer Ausführungsform bildet das simulierte Bild eine Vielzahl von Objekten ab.
  • Gemäß einer Ausführungsform umfasst die Segmentierungsmaske eine binäre Maske, die ähnliche Objekte der Vielzahl von Objekten als eine einzelne Instanz klassifiziert.
  • Gemäß einer Ausführungsform wird das simulierte Bild durch eine Spiel-Engine erzeugt.
  • Gemäß einer Ausführungsform umfasst das tiefe neuronale Netzwerk ein neuronales Dekonvolutionsnetzwerk.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner durch Folgendes gekennzeichnet: das Bestimmen eines Kontrastverlusts auf Grundlage des Vergleichs; und das Aktualisieren des tiefen neuronalen Netzwerks auf Grundlage des Kontrastverlusts.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner durch das Aktualisieren mindestens einer Gewichtung gekennzeichnet, die einem Neuron des tiefen neuronalen Netzwerks zugeordnet ist.
  • Gemäß einer Ausführungsform ist die vorstehende Erfindung ferner durch Folgendes gekennzeichnet: das Auswerten des zweiten synthetischen Bildes; und das Erzeugen einer Vorhersage, die angibt, ob das zweite synthetische Bild maschinell erzeugt wurde oder aus einer realen Datenverteilung stammt.

Claims (11)

  1. System, umfassend einen Computer, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher derartig Anweisungen beinhaltet, dass der Prozessor zu Folgendem programmiert ist: das Erzeugen, über ein tiefes neuronales Netzwerk, eines ersten synthetischen Bildes auf Grundlage eines simulierten Bildes; das Erzeugen einer Segmentierungsmaske auf Grundlage des synthetischen Bildes; das Vergleichen der Segmentierungsmaske mit einer Ground-Truth-Maske des synthetischen Bildes; das Aktualisieren des tiefen neuronalen Netzwerkes auf Grundlage des Vergleichs; und das Erzeugen, über das aktualisierte tiefe neuronale Netzwerk, eines zweiten synthetischen Bildes auf Grundlage des simulierten Bildes.
  2. System nach Anspruch 1, wobei der Prozessor ferner zu Folgendem programmiert ist: das Vergleichen, über ein siamesisches neuronales Netzwerk, der Segmentierungsmaske mit der Ground-Truth-Maske.
  3. System nach Anspruch 1, wobei das simulierte Bild eine Vielzahl von Objekten darstellt.
  4. System nach Anspruch 3, wobei die Segmentierungsmaske eine binäre Maske umfasst, die ähnliche Objekte der Vielzahl von Objekten als eine einzelne Instanz klassifiziert.
  5. System nach Anspruch 1, wobei das simulierte Bild durch eine Spiel-Engine erzeugt wird.
  6. System nach Anspruch 1, wobei das tiefe neuronale Netzwerk ein neuronales Dekonvolutionsnetzwerk umfasst.
  7. System nach Anspruch 1, wobei der Prozessor ferner zu Folgendem programmiert ist: das Bestimmen eines Kontrastverlustes auf Grundlage des Vergleichs; und das Aktualisieren des tiefen neuronalen Netzwerkes auf Grundlage des Kontrastverlustes.
  8. System nach Anspruch 1, wobei der Prozessor ferner zu Folgendem programmiert ist: das Aktualisieren mindestens einer Gewichtung, die einem Neuron des tiefen neuronalen Netzwerks zugeordnet ist.
  9. System nach Anspruch 1, wobei der Prozessor ferner zu Folgendem programmiert ist: das Auswerten des zweiten synthetischen Bildes; und das Erzeugen einer Vorhersage, die angibt, ob das zweite synthetische Bild maschinell erzeugt wurde oder aus einer realen Datenverteilung stammt.
  10. System nach Anspruch 9, wobei der Prozessor ferner zu Folgendem programmiert ist: das Erzeugen einer Rückmeldung auf Grundlage der Vorhersage; und das Aktualisieren mindestens einer Gewichtung, die einem Neuron des tiefen neuronalen Netzwerks zugeordnet ist, wenn die Vorhersage angibt, dass das zweite synthetische Bild maschinell erzeugt wurde.
  11. System nach Anspruch 9, wobei der Prozessor ferner zu Folgendem programmiert ist: das Auswerten des zweiten synthetischen Bildes über ein neuronales Faltungsnetzwerk.
DE102020128978.2A 2019-11-08 2020-11-03 Trainieren von tiefen neuronalen netzwerken mit synthetischen bildern Pending DE102020128978A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/678,708 US11100372B2 (en) 2019-11-08 2019-11-08 Training deep neural networks with synthetic images
US16/678,708 2019-11-08

Publications (1)

Publication Number Publication Date
DE102020128978A1 true DE102020128978A1 (de) 2021-05-12

Family

ID=75584011

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020128978.2A Pending DE102020128978A1 (de) 2019-11-08 2020-11-03 Trainieren von tiefen neuronalen netzwerken mit synthetischen bildern

Country Status (3)

Country Link
US (1) US11100372B2 (de)
CN (1) CN112784867A (de)
DE (1) DE102020128978A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019220456A1 (de) * 2019-12-20 2021-06-24 Siemens Healthcare Gmbh Medizinische Bilddaten für longitudinale Studien
US11960570B2 (en) * 2021-08-25 2024-04-16 Nvidia Corporation Learning contrastive representation for semantic correspondence
US20230081128A1 (en) * 2021-09-16 2023-03-16 Samsung Electronics Co., Ltd. Picture quality-sensitive semantic segmentation for use in training image generation adversarial networks

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10699412B2 (en) 2017-03-23 2020-06-30 Petuum Inc. Structure correcting adversarial network for chest X-rays organ segmentation
US10186038B1 (en) 2017-07-18 2019-01-22 Siemens Healthcare Gmbh Segmentation and representation network for pose discrimination
US20190130220A1 (en) * 2017-10-27 2019-05-02 GM Global Technology Operations LLC Domain adaptation via class-balanced self-training with spatial priors
US10643320B2 (en) 2017-11-15 2020-05-05 Toyota Research Institute, Inc. Adversarial learning of photorealistic post-processing of simulation with privileged information
US20190286938A1 (en) * 2018-03-13 2019-09-19 Recogni Inc. Real-to-synthetic image domain transfer
US11341356B2 (en) * 2018-06-15 2022-05-24 Uatc, Llc System and method for determining object intention through visual attributes

Also Published As

Publication number Publication date
CN112784867A (zh) 2021-05-11
US11100372B2 (en) 2021-08-24
US20210142116A1 (en) 2021-05-13

Similar Documents

Publication Publication Date Title
DE102018121595B4 (de) Unbeaufsichtigtes anlernen von agenten für autonome fahranwendungen
DE102020128978A1 (de) Trainieren von tiefen neuronalen netzwerken mit synthetischen bildern
DE102021108470A1 (de) Realistische bildperspektiventransformation unter verwendung neuronaler netze
DE102020122357A1 (de) Fahrerbewusstseinserfassungssystem
DE102021112616A1 (de) Selbstüberwachte schätzung einer beobachteten fahrzeugpose
DE102021104044A1 (de) Neuronales netzwerk zur positionsbestimmung und objektdetektion
DE102021128041A1 (de) Verbesserung eines neuronalen fahrzeugnetzwerks
DE102022123187A1 (de) Adaptives Reduzieren von neuronalen Netzsystemen
DE102021104184A1 (de) Fahrzeugsteuersystem
DE102021104178A1 (de) Dynamisch gerouteter felddiskriminator
DE102020122086A1 (de) Messen von vertrauen in tiefen neuronalen netzwerken
DE102021114724A1 (de) Verbesserter fahrzeugbetrieb
DE102022123358A1 (de) Frequenzbasierte merkmalsbeschränkung für ein neuronales netz
DE102020127253A1 (de) Quantifizieren von fotorealismus in simulierten daten mit gan
DE102022127647A1 (de) Kalibrieren von parametern innerhalb einer virtuellen umgebung unter verwendung verstärkenden lernens
DE102022123257A1 (de) Selektives Ausscheiden der Merkmale für entgegenwirkende Robustheit neuronaler Netze
DE102022125228A1 (de) Automatisiertes fahrsystem mit gewünschtem niveau der fahraggresivität
DE102021107247A1 (de) Domänenübersetzungsnetzwerk zur durchführung einer bildübersetzung
DE102021134645A1 (de) Erneutes trainieren von neuronalem netzwerk in echtzeit
DE102020134530A1 (de) Rückaufprallwarnsystem mit temporärem cnn
DE102021122407A1 (de) Segmentierung und klassifizierung von punktwolkendaten
DE102022124848A1 (de) System und prozess unter verwendung homomorpher verschlüsselung, um parameter neuronaler netze für ein kraftfahrzeug zu sichern
DE102020126154A1 (de) Zertifizierte robustheit gegenüber gegnerischen angriffen für tiefes bestärkendes lernen
US20220188621A1 (en) Generative domain adaptation in a neural network
DE102022100545A1 (de) Verbesserte objekterkennung

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: BONSMANN - BONSMANN - FRANK PATENTANWAELTE, DE