-
GEBIET DER TECHNIK
-
Die Offenbarung betrifft im Allgemeinen neuronale Fahrzeugnetzwerke.
-
ALLGEMEINER STAND DER TECHNIK
-
Fahrzeuge können mit Rechenvorrichtungen, Netzwerken, Sensoren und Steuerungen ausgestattet sein, um Daten bezüglich der Umgebung des Fahrzeugs zu erheben und das Fahrzeug auf Grundlage der Daten zu betreiben. Fahrzeugsensoren können Daten bezüglich zurückzulegender Routen und zu umfahrender Objekte in der Umgebung des Fahrzeugs bereitstellen. Der Betrieb des Fahrzeugs kann sich auf das Erfassen genauer und aktueller Daten zu Objekten in der Umgebung eines Fahrzeugs, während das Fahrzeug auf einer Fahrbahn betrieben wird, stützen.
-
KURZDARSTELLUNG
-
Ein Computer in einem Fahrzeug kann dazu programmiert sein, Daten bezüglich der Außenumgebung eines Fahrzeugs zu erfassen und die Daten dazu zu verwenden, ein Fahrzeug in einem autonomen oder teilautonomen Modus zu betreiben. Beispielsweise kann ein tiefes neuronales Netzwerk dazu trainiert sein, einen Winkel eines Fahrzeuganhängers in Bezug auf ein Fahrzeug zu bestimmen. Der Computer kann die Winkeldaten dazu verwenden, einen Fahrzeugpfad zu bestimmen, der es dem Fahrzeug ermöglicht, den Anhänger rückwärtszufahren und zu parken. Ein tiefes neuronales Netzwerk kann für eine Vielzahl von Anhängerarten mit Eingabesensordaten trainiert werden, die bei einer Vielzahl von Umgebungsbedingungen erfasst wurden. Ferner kann ein tiefes neuronales Netzwerk unter Verwendung von realen Daten trainiert werden, die durch synthetische Daten ergänzt werden, die unter Verwendung von fotorealistischer Rendering-Software und generativen kontradiktorischen Netzwerken erzeugt wurden. Die Ausgabe des trainierten tiefen neuronalen Netzwerks kann analysiert werden, um eine Verteilung von Eingabedatenarten zu bestimmen, die einem Versagen, die Struktur eines Anhängers zu identifizieren, entsprechen. Ein zweiter Satz von synthetischen Bildern kann entsprechend der Verteilung von Eingabedatenarten, die einem Versagen entsprechen, erzeugt und dazu verwendet werden, das tiefe neuronale Netzwerk nachzutrainieren. Das nachtrainierte tiefe neuronale Netzwerk kann auf ein Fahrzeug heruntergeladen und dazu verwendet werden, das Fahrzeug auf Grundlage von Bestimmen eines Anhängerwinkels zu betreiben.
-
Das Trainieren von tiefen neuronalen Netzwerken kann große Trainingsdatensätze erfordern. Bilddaten, die dem Erscheinungsbild von Anhängern und dem Erscheinungsbild von Umgebungsbedingungen entsprechen, wie nachstehend in Bezug auf 2 definiert, die in realen Situationen anzutreffen sind, sollten in den Trainingsbilddaten beinhaltet sein. Das Beinhalten von Bilddaten in Trainingsdatensätzen, das jede mögliche Kombination des Anhängererscheinungsbilds vorwegnimmt, kann die Produktion von sehr großen, sehr zeitaufwendigen und sehr teuren Trainingsdatensätzen erfordern. Das Produzieren sehr großer Datensätze zum Trainieren neuronaler Netzwerke kann viele Stunden Rechenzeit und große Mengen an bereitzustellenden Eingabedaten erfordern. Trainingsdatensätze erfordern Ground Truth, um die erfassten Bilddaten zu begleiten. Ground Truth ist als Daten bezüglich des Inhalts eines Bildes definiert, das durch andere Mittel als den Algorithmus, der zum Verarbeiten der Bilddaten verwendet wird, erfasst wurde. Zum Beispiel kann Ground Truth Daten bezüglich des Anhängerwinkels sein, wie nachstehend in Bezug auf 2 definiert, die erhalten werden, indem ein Mensch den Winkel entweder durch Messen des Anhängers in der realen Welt oder unter Verwendung von photogrammetrischen Werkzeugen zum Messen des Anhängerwinkels in den Bildern bestimmt. Photogrammetrische Werkzeuge sind Softwareanwendungen, die Entfernungen und Winkel in Bildern messen.
-
In dieser Schrift beschriebene Techniken verbessern das Trainieren von tiefen neuronalen Netzwerken durch Erfassen neuer Bilddaten aus realen Situationen und Verarbeiten der neuen Bilddaten, um einen neuen Trainingsdatensatz zu produzieren, der zum Trainieren eines tiefen neuronalen Netzwerks zum Bestimmen eines Anhängerwinkels verwendet werden soll. Auf diese Weise können Anhängererscheinungsbilder und Umgebungsbedingungen, die nicht in einem ursprünglichen Trainingsdatensatz beinhaltet sind, erfolgreich durch ein tiefes neuronales Netzwerk verarbeitet werden, wodurch die Notwendigkeit sehr großer Trainingsdatensätze vermieden wird. Hierin beschriebene Techniken trainieren neuronale Netzwerke, ohne dass die Sammlung von realen Bildern, die in Trainingsdatensätzen beinhaltet sind, erforderlich ist, die jede mögliche Kombination aus Anhängererscheinungsbild, Anhängerwinkel und Umgebungsbedingungen beinhalten. Dies reduziert die Kosten, die Zeit und den Aufwand, die zum Trainieren eines neuronalen Netzwerks erforderlich sind, indem die Anzahl der erforderlichen Bilder reduziert wird. Hierin erörterte Techniken reduzieren die Zeit und die Kosten, die mit dem Erfassen von Trainingsdatensätzen verbunden sind, einschließlich des Produzierens der entsprechenden Ground Truth.
-
Die hierin beschriebenen Verfahren beinhalten Trainieren eines tiefen neuronalen Netzwerks auf Grundlage einer Vielzahl von realen Bildern und Bestimmen, dass die Genauigkeit des tiefen neuronalen Netzwerks unter einem Schwellenwert liegt, auf Grundlage von Identifizieren eines oder mehrerer physischer Merkmale durch das tiefe neuronale Netzwerk, einschließlich einer oder mehrerer Objektarten, in der Vielzahl von realen Bildern. Eine Vielzahl von synthetischen Bildern wird erzeugt auf Grundlage von Bestimmen, dass die Genauigkeit des tiefen neuronalen Netzwerks auf Grundlage des Identifizierens des einen oder der mehreren physischen Merkmale unter Verwendung eines fotorealistischen Bildrendering-Softwareprogramms und eines generativen kontradiktorischen Netzwerks unter einem Schwellenwert liegt, Nachtrainieren des tiefen neuronalen Netzwerks auf Grundlage der Vielzahl von realen Bildern und der Vielzahl von synthetischen Bildern und Ausgeben des nachtrainierten tiefen neuronalen Netzwerks. Eine Genauigkeit des nachtrainierten tiefen neuronalen Netzwerks kann bestimmt werden auf Grundlage des Identifizierens des einen oder der mehreren physischen Merkmale, Erzeugens einer zweiten Vielzahl von synthetischen Bildern aus dem fotorealistischen Bildrendering-Softwareprogramm und dem generativen kontradiktorischen Netzwerk auf Grundlage des Bestimmens, dass die Genauigkeit des tiefen neuronalen Netzwerks unter einem Schwellenwert für das eine oder die mehreren physischen Merkmale und eine oder mehrere Umgebungsbedingungen liegt, und Nachtrainierens des tiefen neuronalen Netzwerks auf Grundlage der Vielzahl von realen Bildern, der ersten Vielzahl von synthetischen Bildern und der zweiten Vielzahl von synthetischen Bildern. Die physischen Merkmale, die in der ersten Vielzahl von synthetischen Bildern beinhaltet sind, können aus den realen Bildern bestimmt werden. Die physischen Merkmale können eine oder mehrere Objektarten beinhalten, einschließlich einer Vielzahl von Arten von Fahrzeuganhängern, wobei jede Objektart mindestens eine oder mehrere Anhängerkomponenten oder einen oder mehrere Anhängerwinkel in Bezug auf ein Fahrzeug beinhaltet. Die Anhängerkomponenten können eine Anhängerdeichselkonfiguration, Anhängerseitenkonfigurationen, eine Anhängerfarbe und eine Anhängertextur beinhalten.
-
Die physischen Merkmale können Umgebungsbedingungen beinhalten, einschließlich Wetter, Beleuchtung, atmosphärische Gegebenheiten, Bodenart und -textur und Hintergrundbewuchs. Die physischen Merkmale, die der Vielzahl von realen Bildern entsprechen, können in das fotorealistische Bildrendering-Softwareprogramm eingegeben werden, um die erste Vielzahl von synthetischen Bildern zu erzeugen. Die Ausgabe aus dem fotorealistischen Bildrendering-Softwareprogramm kann in das generative kontradiktorische Netzwerk eingegeben werden, um die zweite Vielzahl von synthetischen Bildern zu erzeugen. Die physischen Merkmale, einschließlich des Anhängerwinkels, die der Vielzahl von realen Bildern entsprechen, können als Ground Truth verwendet werden, um das tiefe neuronale Netzwerk zu trainieren. Das generative kontradiktorische Netzwerk kann ein generatives Netzwerk, das modifizierte synthetische Bilder erzeugt, und ein diskriminatives Netzwerk, das bestimmt, ob die modifizierten synthetischen Bilder realen Bildern entsprechen, beinhalten. Das generative kontradiktorische Netzwerk kann dazu trainiert werden, modifizierte synthetische Bilder zu erzeugen, die das diskriminative Netzwerk als realen Bildern entsprechend akzeptiert. Das diskriminative Netzwerk kann unter Verwendung von realen Bildern trainiert werden. Die Vielzahl von realen Bildern und die erste Vielzahl von synthetischen Bildern können in einen Trainingsabschnitt und einen Testabschnitt auf Grundlage von Verteilungen aufgeteilt werden, die einem Auftreten der physischen Merkmale in der Vielzahl von realen Bildern und der Vielzahl von synthetischen Bildern entsprechen. Das nachtrainierte tiefe neuronale Netzwerk kann an einen Fahrzeugcomputer ausgegeben werden, der einen Prozessor und einen Speicher umfasst, wobei der Speicher das nachtrainierte tiefe neuronale Netzwerk speichert.
-
Ferner wird ein computerlesbares Medium offenbart, auf dem Programmanweisungen zum Ausführen einiger oder aller der vorstehenden Verfahrensschritte gespeichert sind. Ferner wird ein Computerprogramm zum Ausführen einiger oder aller der obigen Verfahrensschritte offenbart, beinhaltend Trainieren eines tiefen neuronalen Netzwerks auf Grundlage einer Vielzahl von realen Bildern und Bestimmen, dass die Genauigkeit des tiefen neuronalen Netzwerks unter einem Schwellenwert liegt, auf Grundlage von Identifizieren eines oder mehrerer physischer Merkmale durch das tiefe neuronale Netzwerk, einschließlich einer oder mehrerer Objektarten, in der Vielzahl von realen Bildern. Eine Vielzahl von synthetischen Bildern wird erzeugt auf Grundlage von Bestimmen, dass die Genauigkeit des tiefen neuronalen Netzwerks auf Grundlage des Identifizierens des einen oder der mehreren physischen Merkmale unter Verwendung eines fotorealistischen Bildrendering-Softwareprogramms und eines generativen kontradiktorischen Netzwerks unter einem Schwellenwert liegt, Nachtrainieren des tiefen neuronalen Netzwerks auf Grundlage der Vielzahl von realen Bildern und der Vielzahl von synthetischen Bildern und Ausgeben des nachtrainierten tiefen neuronalen Netzwerks. Eine Genauigkeit des nachtrainierten tiefen neuronalen Netzwerks kann bestimmt werden auf Grundlage des Identifizierens des einen oder der mehreren physischen Merkmale, Erzeugens einer zweiten Vielzahl von synthetischen Bildern aus dem fotorealistischen Bildrendering-Softwareprogramm und dem generativen kontradiktorischen Netzwerk auf Grundlage des Bestimmens, dass die Genauigkeit des tiefen neuronalen Netzwerks unter einem Schwellenwert für das eine oder die mehreren physischen Merkmale und eine oder mehrere Umgebungsbedingungen liegt, und Nachtrainierens des tiefen neuronalen Netzwerks auf Grundlage der Vielzahl von realen Bildern, der ersten Vielzahl von synthetischen Bildern und der zweiten Vielzahl von synthetischen Bildern. Die physischen Merkmale, die in der ersten Vielzahl von synthetischen Bildern beinhaltet sind, können aus den realen Bildern bestimmt werden.
-
Die physischen Merkmale können eine oder mehrere Objektarten beinhalten, einschließlich einer Vielzahl von Arten von Fahrzeuganhängern, wobei jede Objektart mindestens eine oder mehrere Anhängerkomponenten oder einen oder mehrere Anhängerwinkel in Bezug auf ein Fahrzeug beinhaltet. Die Anhängerkomponenten können eine Anhängerdeichselkonfiguration, Anhängerseitenkonfigurationen, eine Anhängerfarbe und eine Anhängertextur beinhalten. Die physischen Merkmale können Umgebungsbedingungen beinhalten, einschließlich Wetter, Beleuchtung, atmosphärische Gegebenheiten, Bodenart und -textur und Hintergrundbewuchs. Die physischen Merkmale, die der Vielzahl von realen Bildern entsprechen, können in das fotorealistische Bildrendering-Softwareprogramm eingegeben werden, um die erste Vielzahl von synthetischen Bildern zu erzeugen. Die Ausgabe aus dem fotorealistischen Bildrendering-Softwareprogramm kann in das generative kontradiktorische Netzwerk eingegeben werden, um die zweite Vielzahl von synthetischen Bildern zu erzeugen. Die physischen Merkmale, einschließlich des Anhängerwinkels, die der Vielzahl von realen Bildern entsprechen, können als Ground Truth verwendet werden, um das tiefe neuronale Netzwerk zu trainieren. Das generative kontradiktorische Netzwerk kann ein generatives Netzwerk, das modifizierte synthetische Bilder erzeugt, und ein diskriminatives Netzwerk, das bestimmt, ob die modifizierten synthetischen Bilder realen Bildern entsprechen, beinhalten. Das generative kontradiktorische Netzwerk kann dazu trainiert werden, modifizierte synthetische Bilder zu erzeugen, die das diskriminative Netzwerk als realen Bildern entsprechend akzeptiert. Das diskriminative Netzwerk kann unter Verwendung von realen Bildern trainiert werden. Die Vielzahl von realen Bildern und die erste Vielzahl von synthetischen Bildern können in einen Trainingsabschnitt und einen Testabschnitt auf Grundlage von Verteilungen aufgeteilt werden, die einem Auftreten der physischen Merkmale in der Vielzahl von realen Bildern und der Vielzahl von synthetischen Bildern entsprechen. Das nachtrainierte tiefe neuronale Netzwerk kann an einen Fahrzeugcomputer ausgegeben werden, der einen Prozessor und einen Speicher umfasst, wobei der Speicher das nachtrainierte tiefe neuronale Netzwerk speichert.
-
Figurenliste
-
- 1 ist eine Darstellung eines beispielhaften Verkehrsinfrastruktursystems.
- 2 ist eine Darstellung eines beispielhaften Fahrzeuganhängers.
- 3 ist eine Darstellung von zwei beispielhaften Fahrzeuganhängern.
- 4 ist eine Darstellung eines beispielhaften tiefen neuronalen Netzwerks.
- 5 ist eine Darstellung eines beispielhaften generativen kontradiktorischen Netzwerks.
- 6 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum Trainieren eines tiefen neuronalen Netzwerks.
-
DETAILLIERTE BESCHREIBUNG
-
1 ist eine Darstellung eines Verkehrsinfrastruktursystems 100, das ein Fahrzeug 101 beinhaltet, das in einem autonomen („autonom“ für sich bedeutet in dieser Offenbarung „vollständig autonom“), einem teilautonomen und einem insassengesteuerten (auch als nicht autonom bezeichneten) Modus betrieben werden kann. Eine oder mehrere Computer 105 des Fahrzeugs 101 können Daten bezüglich des Betriebs des Fahrzeugs 101 von Sensoren 110 empfangen. Der Computer 105 kann das Fahrzeug 101 in einem autonomen Modus, einem halbautonomen Modus oder einem nichtautonomen Modus betreiben.
-
Der Computer 105 beinhaltet einen Prozessor und einen Speicher, wie sie bekannt sind. Ferner beinhaltet der Speicher eine oder mehrere Formen von computerlesbaren Medien und speichert Anweisungen, die durch den Prozessor ausführbar sind, um verschiedene Vorgänge, einschließlich der hierin offenbarten, durchzuführen. Beispielsweise kann der Computer 105 eine Programmierung zum Betreiben eines oder mehrerer von Bremsen, Antrieb (z. B. Steuern der Beschleunigung in dem Fahrzeug 101 durch Steuern eines oder mehrerer von einer Brennkraftmaschine, einem Elektromotor, einem Hybridmotor usw.), Lenkung, Klimasteuerung, Innen- und/oder Außenbeleuchtung usw. des Fahrzeugs und zum Bestimmen, ob und wann der Computer 105 derartige Vorgänge anstelle eines menschlichen Bedieners steuern soll, beinhalten.
-
Der Computer 105 kann mehr als eine Rechenvorrichtung, z. B. Steuerungen oder dergleichen, die in dem Fahrzeug 101 zum Überwachen und/oder Steuern verschiedener Fahrzeugkomponenten 115 beinhaltet sind, z.B. eine Antriebsstrangsteuerung, eine Bremssteuerung, eine Lenksteuerung usw., beinhalten oder z. B. über einen Fahrzeugkommunikationsbus, wie nachstehend ausführlicher beschrieben, kommunikativ an diese gekoppelt sein. Der Computer 105 ist im Allgemeinen zur Kommunikation in einem Fahrzeugkommunikationsnetzwerk angeordnet, das z. B. einen Bus in dem Fahrzeug 101, wie etwa ein Controller Area Network (CAN) oder dergleichen, beinhaltet; das Netzwerk des Fahrzeugs 101 kann zusätzlich oder alternativ drahtgebundene oder drahtlose Kommunikationsmechanismen, wie sie bekannt sind, beinhalten, z. B. Ethernet oder andere Kommunikationsprotokolle.
-
Über das Fahrzeugnetzwerk kann der Computer 105 Nachrichten an verschiedene Vorrichtungen in dem Fahrzeug übertragen und/oder Nachrichten von den verschiedenen Vorrichtungen empfangen, z. B. von Steuerungen, Aktoren, Sensoren usw., einschließlich der Sensoren 110. Alternativ oder zusätzlich kann in Fällen, in denen der Computer 105 tatsächlich mehrere Vorrichtungen umfasst, das Fahrzeugkommunikationsnetzwerkwerk für Kommunikationen zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als der Computer 105 dargestellt sind. Ferner können, wie nachstehend erwähnt, verschiedene Steuerungen oder Erfassungselemente, wie etwa die Sensoren 110, dem Computer 105 Daten über das Fahrzeugkommunikationsnetzwerk bereitstellen.
-
Des Weiteren kann der Computer 105 dazu konfiguriert sein, über ein Netzwerk 120, das, wie nachfolgend beschrieben, Hardware, Firmware und Software beinhaltet, die es dem Computer 105 ermöglichen, über ein Netzwerk 120, wie etwa über drahtloses Internet (WI-FI®) oder Mobilfunknetzwerke, mit einem Server 125 zu kommunizieren, durch eine Fahrzeug-Infrastruktur(vehicle-to-infrastructure - V-I)-Schnittstelle mit einem Server 125 zu kommunizieren, z. B. mit einem Cloud-Server oder einem entfernten Servercomputer. Der Computer 105 kann dementsprechend so konfiguriert sein, dass er Prozessoren, Speicher, Sendeempfänger usw. beinhaltet, die dazu konfiguriert sind, verschiedene drahtgebundene und/oder drahtlose Netzwerktechnologien zu nutzen, z. B. Mobilfunk, BLUETOOTH® und drahtgebundene und/oder drahtlose Paketnetzwerke. Der Computer 105 kann zum Kommunizieren mit anderen Fahrzeugen 101 unter Verwendung von Fahrzeug-Fahrzeug(vehicle-to-vehicle - V-V)-Netzwerken, z. B. gemäß dedizierter Nahbereichskommunikation (dedicated short range communications - DSRC) und/oder dergleichen, konfiguriert sein, die z. B. ad hoc zwischen Fahrzeugen 101 in der Nähe gebildet werden oder durch infrastrukturbasierte Netzwerke über V-I-Kommunikationen gebildet werden. Der Computer 105 beinhaltet außerdem einen nichtflüchtigen Speicher, wie er bekannt ist. Der Computer 105 kann Daten aufzeichnen, indem er die Daten zum späteren Abrufen und Übertragen über ein Fahrzeugkommunikationsnetzwerk an einen Server 125 oder eine mobile Benutzervorrichtung in einem nichtflüchtigen Speicher speichert. Der Servercomputer 125 kann außerdem als ein Computer 105 fungieren, der in einer straßenseitigen Infrastruktur oder einem Edge-Computing-Knoten beinhaltet ist, wobei es sich bei einem Edge-Computing-Knoten um einen Computer 105 handelt, der in oder an einem stationären Infrastrukturelement beinhaltet ist, wie etwa einem Pfosten, einer Brücke, einer Wand, einem Gebäude usw., und Sensordaten erfasst und mit Fahrzeugen 101 über eine V-I-Schnittstelle oder dergleichen in einem lokalen Abschnitt von einem oder mehreren von einer Fahrbahn, einem Parkplatz oder einer Parkstruktur usw. kommuniziert.
-
Wie bereits erwähnt, ist in Anweisungen, die auf dem Speicher gespeichert und durch den Prozessor des Computers 105 ausführbar sind, im Allgemeinen eine Programmierung zum Betreiben einer oder mehrerer Komponenten des Fahrzeugs 101, z. B. Bremsung, Lenkung, Antrieb usw., ohne Eingreifen eines menschlichen Bedieners beinhaltet. Unter Verwendung von im Computer 105 empfangenen Daten, z. B. der Sensordaten von den Sensoren 110, einem im Server 125 beinhalteten Computer usw., kann der Computer 105 ohne einen Fahrer zum Betreiben des Fahrzeugs 101 verschiedene Bestimmungen vornehmen und/oder verschiedene Komponenten und/oder Vorgänge des Fahrzeugs 101 steuern. Beispielsweise kann der Computer 105 eine Programmierung zum Regulieren des Betriebsverhaltens des Fahrzeugs 101 (d. h. physischer Manifestationen des Betriebs des Fahrzeugs 101), wie etwa Geschwindigkeit, Beschleunigung, Abbremsung, Lenkung usw. und des taktischen Verhaltens (d. h. Steuerung des Betriebsverhaltens in der Regel in einer Weise, die ein sicheres und effizientes Abfahren einer Route erreichen soll), wie etwa einer Entfernung zwischen Fahrzeugen und/oder einer Zeit zwischen Fahrzeugen, Spurwechseln, des Mindestabstands zwischen Fahrzeugen, der Mindestzeit zur Überquerung des Wegs bei Linksabbiegung, der Zeit bis zur Ankunft an einem bestimmten Standort und der Mindestzeit bis zum Überqueren der Kreuzung an einer Kreuzung (ohne Ampel) beinhalten.
-
Steuerungen beinhalten im hierin verwendeten Sinne Rechenvorrichtungen, die in Regel dazu programmiert sind, ein bestimmtes Fahrzeugteilsystem zu überwachen und/oder zu steuern. Zu Beispielen zählen eine Antriebsstrangsteuerung, eine Bremssteuerung und eine Lenksteuerung. Eine Steuerung kann eine elektronische Steuereinheit (electronic control unit - ECU) sein, wie sie bekannt ist, die möglicherweise eine zusätzliche Programmierung wie hierin beschrieben beinhaltet. Die Steuerungen können kommunikativ mit dem Computer 105 verbunden sein und Anweisungen von diesem empfangen, um das Teilsystem gemäß den Anweisungen zu betätigen. Beispielsweise kann die Bremssteuerung Anweisungen zum Betätigen der Bremsen des Fahrzeugs 101 vom Computer 105 empfangen.
-
Die eine oder die mehreren Steuerungen für das Fahrzeug 101 können bekannte elektronische Steuereinheiten (ECUs) oder dergleichen beinhalten, zu denen als nicht einschränkende Beispiele eine oder mehrere Antriebsstrangsteuerungen, eine oder mehrere Bremssteuerungen und eine oder mehrere Lenksteuerungen gehören. Jede der Steuerungen kann jeweilige Prozessoren und Speicher und einen oder mehrere Aktoren beinhalten. Die Steuerungen können für einen Kommunikationsbus des Fahrzeugs 101 programmiert und damit verbunden sein, wie etwa einem Controller-Area-Network(CAN)-Bus oder Local-Interconnect-Network(LIN)-Bus, um Anweisungen vom Computer 105 zu empfangen und Aktoren auf Grundlage der Anweisungen zu steuern.
-
Die Sensoren 110 können eine Vielfalt von Vorrichtungen beinhalten, die für die Bereitstellung von Daten über den Fahrzeugkommunikationsbus bekannt sind. Beispielsweise kann ein Radar, das an einem vorderen Stoßfänger (nicht gezeigt) des Fahrzeugs 101 befestigt ist, einen Abstand von dem Fahrzeug 101 zu einem nächsten Fahrzeug vor dem Fahrzeug 101 bereitstellen oder kann ein Sensor für ein globales Positionsbestimmungssystem (GPS), der in dem Fahrzeug 101 angeordnet ist, geografische Koordinaten des Fahrzeugs 101 bereitstellen. Fahrzeugstandort- und -ausrichtungsdaten können außerdem von einem Sensor einer Trägheitsmesseinheit (inertial measurement unit - IMU) bereitgestellt werden. Eine IMU beinhaltet Beschleunigungsmesser, die dazu konfiguriert sind, die dreidimensionale Bewegung eines Fahrzeugs 101 aufzuzeichnen. Der/die durch das Radar und/oder die anderen Sensoren 110 bereitgestellte(n) Abstand/Abstände und die durch den GPS- und/oder IMU-Sensor bereitgestellten geografischen Koordinaten können durch den Computer 105 verwendet werden, um das Fahrzeug 101 zum Beispiel autonom oder teilautonom zu betreiben.
-
Das Fahrzeug 101 ist im Allgemeinen ein Landfahrzeug 101, das zu autonomem und/oder teilautonomem Betrieb in der Lage ist und das drei oder mehr Räder aufweist, z. B. ein Personenkraftwagen, ein Kleinlastwagen usw. Das Fahrzeug 101 beinhaltet einen oder mehrere Sensoren 110, die V-I-Schnittstelle, die V-V-Schnittstelle, den Computer 105 und die Fahrzeugkomponenten 115, einschließlich einer oder mehrerer Steuerungen. Die Sensoren 110 können Daten bezüglich des Fahrzeugs 101 und der Umgebung, in der das Fahrzeug 101 betrieben wird, sammeln. Beispielhaft und nicht einschränkend können die Sensoren 110 z. B. Folgendes beinhalten: Höhenmesser, Kameras, Lidar, Radar, Ultraschallsensoren, Infrarotsensoren, Drucksensoren, Beschleunigungsmesser, Gyroskope, Temperatursensoren, Drucksensoren, Hallsensoren, optische Sensoren, Spannungssensoren, Stromsensoren, mechanische Sensoren, wie etwa Schalter, usw. Die Sensoren 110 können dazu verwendet werden, die Umgebung zu erfassen, in der das Fahrzeug 101 betrieben wird; z. B. können die Sensoren 110 Folgendes detektieren: Phänomene, wie etwa Wetterbedingungen (Niederschlag, eine äußere Umgebungstemperatur usw.), die Neigung einer Straße, die Lage einer Straße (z. B. unter Verwendung von Straßenrändern, Spurmarkierungen usw.) oder Standorte von Zielobjekten, wie etwa benachbarten Fahrzeugen 101. Die Sensoren 110 können ferner dazu verwendet werden, Daten zu sammeln, einschließlich dynamischer Daten des Fahrzeugs 101, die sich auf Vorgänge des Fahrzeugs 101 beziehen, wie etwa einen Geschwindigkeitsvektor, eine Gierrate, einen Lenkwinkel, eine Motordrehzahl, einen Bremsdruck, einen Öldruck, den auf die Fahrzeugkomponenten 115 in dem Fahrzeug 101 angewendeten Leistungspegel, einer Konnektivität zwischen Fahrzeugkomponenten 115 und einer genauen und rechtzeitigen Leistung von Fahrzeugkomponenten 115.
-
2 ist eine Darstellung eines Anhängers 200, der an einem Fahrzeug 101 angebracht ist. Fahrzeuge 101 können dazu ausgestattet sein, sowohl in einem autonomen als auch in einem insassenbetriebenen Modus betrieben zu werden. Unter einem teil- oder vollautonomen Modus verstehen die Erfinder einen Betriebsmodus, in dem ein Fahrzeug 101 teilweise oder vollständig durch eine Rechenvorrichtung als Teil eines Systems, das Sensoren und Steuerungen aufweist, betrieben werden kann. Das Fahrzeug 101 kann belegt oder unbelegt sein, wobei das Fahrzeug in beiden Fällen teilweise oder vollständig ohne Unterstützung eines Insassen betrieben werden kann. Für die Zwecke dieser Offenbarung ist ein autonomer Modus als ein Modus definiert, in dem jedes von Antrieb (z. B. über einen Antriebsstrang, der eine Brennkraftmaschine und/oder einen Elektromotor beinhaltet), Bremsung und Lenkung des Fahrzeugs durch einen oder mehrere Fahrzeugcomputer gesteuert wird; in einem teilautonomen Modus steuert/steuern die Fahrzeugcomputersteuerung(en) eines oder zwei von Antrieb, Bremsung und Lenkung des Fahrzeugs. In einem nicht autonomen Modus wird keines von diesen durch einen Computer gesteuert.
-
Ein Anhänger 200 ist ein Fahrzeug (typischerweise ohne unabhängigen Antrieb), das durch ein Fahrzeug 101 gezogen werden kann. Der Anhänger 200 beinhaltet eine Deichsel 202, die eine Anhängerkupplung 204 beinhaltet. Die Anhängerkupplung 204 verbindet den Anhänger 200 mit dem Fahrzeug 101, indem die Anhängerkupplung 204 über einer Anhängerkugel 206 platziert wird, um die Anhängerkupplung 204 lösbar mit der Anhängerkugel 206 zu verbinden. Die Anhängerkugel 206 ist durch einen Kugelkopf 208 an dem Fahrzeug 101 angebracht. Die Ausrichtung eines Anhängers 200 in Bezug auf ein Fahrzeug 101, mit dem er verbunden ist, kann durch einen Anhängerwinkel 210 beschrieben werden. Der Anhängerwinkel 210 ist als der Winkel definiert, den eine Anhängermittellinie 212 in Bezug auf eine Fahrzeugmittellinie 214 bildet. Das Identifizieren und Lokalisieren eines Anhängers 200 kann das Bestimmen eines Anhängerwinkels 210 in Bezug auf ein Zugfahrzeug 101 beinhalten.
-
Die Anhängermittellinie 212 und die Fahrzeugmittellinie 214 sind jeweils Linien (gelegentlich als Achsen bezeichnet), die horizontalen Längsachsen von einem Anhänger 200 bzw. Fahrzeug 101 entsprechen, d. h., die Mittellinien 212, 214 sind parallel zu einer Bodenfläche, typischerweise einer Fahrbahn, die den Anhänger 200 und das Fahrzeug 101 trägt. Dementsprechend wird eine Anhängermittellinie 212 bestimmt, indem eine Linie durch die geometrische Mitte eines Bildes des Anhängers 200 mit Sicht von oben und eine seitliche Mittelachse der Anhängerkupplung 204 konstruiert wird, d. h., die Anhängermittellinie 212 verläuft von vorne nach hinten durch den Anhänger 200, vorausgesetzt, dass der Anhänger 200 im Wesentlichen rechteckig ist oder als solches behandelt werden kann (d. h., ein geometrisches Rechteck kann vorgesehen werden, um den Anhänger 200 darzustellen), wobei Punkte der Mittellinie 212 als seitliche Mittelachse des Anhängers 200 bestimmt werden, d. h., die Mittellinie 212 halbiert den Anhänger 200 in Längsrichtung. Auf ähnliche Weise wird eine Fahrzeugmittellinie 214 bestimmt, indem eine Linie konstruiert wird, die durch die seitliche Mittellinie eines Bildes des Fahrzeugs 101 mit Sicht von oben verläuft, wobei das Fahrzeug 101 als im Wesentlichen rechteckig behandelt wird, wobei die Mittellinie 214 weiter durch die Anhängerkugel 206 verläuft, die mit dem Fahrzeug 101 verbunden ist. Der Anhängerwinkel 210 ist durch den Winkel der Anhängermittellinie 212 und der Fahrzeugmittellinie 214 bestimmt; der Scheitelpunkt des Winkels 210 ist durch einen Schnittpunkt der Anhängermittellinie 212 mit der Fahrzeugmittellinie 214 im Zentrum der Anhängerkugel 206 gebildet.
-
Der Anhängerwinkel 210 eines an einem Fahrzeug 101 angebrachten Anhängers 200 kann durch einen Computer 105 in einem Fahrzeug 101 bestimmt werden, um das Fahrzeug 101 mit einem angebrachten Anhänger 200 zu betreiben. Ein Anhängerwinkel 210 kann geschätzt werden, indem ein Bild eines Anhängers 200 verarbeitet wird, und verwendet werden, um zum Beispiel ein Fahrzeug 101 mit einem angebrachten Anhänger 200 in einer Rückwärtsrichtung zu betreiben. Das Bestimmen eines Anhängerwinkels 210 eines angebrachten Anhängers 200 kann es einem Computer 105 in einem Fahrzeug 101 ermöglichen, Befehle zu bestimmen, die an Lenkungskomponenten des Fahrzeugs 101 gesendet werden sollen und bewirken, dass das Fahrzeug 101, das den Anhänger 200 zieht, den Anhänger 200 an einen ausgewählten Standort rückwärtsfährt, zum Beispiel in einen Parkplatz.
-
Ein Kamerasensor 216, typischerweise eine Videokamera, kann in einem Fahrzeug 101 beinhaltet sein. Der Kamerasensor 216 kann so ausgerichtet sein, dass er ein Sichtfeld bereitstellt, das eine Ansicht eines Anhängers 200 beinhaltet, welche die Anhängerkupplung 204, den an dem Fahrzeug 101 angebrachten Kugelkopf 208 und eine Umgebung auf beiden Seiten des Anhängers 200 beinhaltet. In einigen Beispielen kann ein zweiter Kamerasensor 216 beinhaltet sein, um Bilder zu erfassen, die mehr von der Umgebung auf beiden Seiten des Anhängers 200 beinhalten, und kann ein dritter Kamerasensor 216 beinhaltet sein, um Bilder von der Rückseite des Anhängers 200 zu erfassen. Ein Computer 105 kann auf Grundlage von Bildern 300, die von dem Kamerasensor 216 erfasst werden, einen Zielstandort für den Anhänger 200 bestimmen, wie etwa einen Standort eines Parkplatzes, eines Docks oder einer Rampe, z. B. einen Standort zum Parken und/oder Be- oder Entladen eines Anhängers 200, und einen Anhängerwinkel, der dem Standort des Anhängers in Bezug auf das Fahrzeug 110 entspricht. Ein Zielstandort kann bestimmt werden, indem das Bild 300 zum Beispiel mit einem tiefen neuronalen Netzwerk verarbeitet wird. Auf Grundlage eines bestimmten Zielstandorts und eines bestimmten Anhängerwinkels 210 kann ein Computer 105 einen Fahrzeugpfad bestimmen, auf dem das Fahrzeug 101 betrieben werden soll und der bewirkt, dass sich der angebrachte Anhänger 200 mit der geeigneten Geschwindigkeit in die geeignete Richtung dreht, um den Anhänger an dem Zielstandort zu positionieren. Zum Beispiel kann der Anhängerwinkel verwendet werden, um eine Richtung zu bestimmen, in der das Fahrzeug 110 rückwärtsgefahren werden soll, um den Anhänger zu einem gewünschten Ort zu bewegen. Bekanntlich führt das Rückwärtsfahren eines Fahrzeugs 101 mit einem angebrachten Anhänger 200 dazu, dass, wenn sich das Fahrzeug dreht, sich der Anhänger in eine Richtung dreht, die der Richtung entgegengesetzt ist, in die sich das Fahrzeug 101 dreht. Aus diesem Grund kann der von dem Computer 105 bestimmte Fahrzeugpfad, um den Anhänger 200 an den Zielstandort zu bewegen, zum Beispiel sowohl eine Vorwärts- als auch eine Rückwärtsbewegung des Fahrzeugs 101 erforderlich machen.
-
Zum Beispiel kann der Computer 105 einen Zielstandort und eine Zielausrichtung für einen Anhänger 200 auf Grundlage einer Verarbeitung eines durch den Kamerasensor 216 erfassten Eingabebilds bestimmen. Der Zielstandort kann zum Beispiel ein Parkplatz oder eine Rampe sein. Der Computer 105 kann ein kinematisches Simulationsprogramm oder dergleichen verwenden, um eine Bewegung eines Anhängers 200 als Reaktion auf eine Bewegung des Zugfahrzeugs 101 zu prognostizieren. Ein kinematisches Simulationsprogramm verwendet mathematische Modelle von Anhängern 200 und Fahrzeugen 101, um die Bewegung eines Anhängers 200 als Reaktion auf ausgeübte Kräfte auf Grundlage eines Startanhängerwinkels 210 zu simulieren. Der Computer 105 kann einen Fahrzeugpfad bestimmen, durch den Kräfte auf einen Anhänger 200 ausgeübt werden, um den Anhänger 200 auf Grundlage des Startanhängerwinkels 210 in einer Zielausrichtung zu einem Zielstandort zu bewegen. Der Computer 105 kann Befehle an einen Fahrzeugantriebsstrang, eine Fahrzeuglenkung und Fahrzeugbremsen übertragen, um das Fahrzeug 101 auf dem Fahrzeugpfad zu betreiben und dadurch die bestimmten Kräfte auf den Anhänger 200 auszuüben und diesen in einer Zielausrichtung zu einem Zielstandort zu bewegen.
-
3 ist eine Darstellung von zwei Videobildern 300a, 300b (zusammen die Bilder 300), wobei jedes Videobild 300 von einem in einem Fahrzeug 101 beinhalteten Kamersensor 216 erfasst wird. Jedes Videobild 300 beinhaltet ein jeweiliges Bild eines Anhängers 200a, 200b (zusammen die Anhänger 200). Die Anhänger 200 können eine Vielzahl von verschiedenen Komponenten aufweisen, die in einer Vielzahl von verschiedenen Konfigurationen konfiguriert sind. Eine Anhängerkomponente bezieht sich hierin auf eine herkömmliche Anhängerkomponente, d. h. einen herkömmlichen Teil eines Anhängers, wie etwa eine Deichsel, eine Ladefläche, ein Rad usw. Komponenten des Anhängers 200 können Attribute beinhalten (ein Attribut bedeutet in diesem Zusammenhang eine Beschreibung eines physischen Merkmals oder einer physischen Eigenschaft des Anhängers), wie etwa Anhängerdeichselarten, Anhängerseitenarten, Anhängerfarbe und Anhängertextur. Zum Beispiel kann eine Anhängerdeichsel gerade sein, wobei sich eine einzelne gerade Stange von der Anhängerladefläche zur Anhängerkupplung erstreckt. Eine A-Rahmen-Anhängerdeichsel weist zwei Stangen auf, die sich von jeder Seite der Anhängerladefläche erstrecken und sich an der Anhängerkupplung treffen. Ein Anhänger kann eine flache Ladefläche mit einer Seitenart ohne Seiten oder sich vertikal erstreckenden Seiten aufweisen, d. h., die sich vertikal von den Kanten der Ladefläche erstrecken. Eine Seitenart kann alternativ oder zusätzlich beispielsweise eine niedrige oder hohe Art angeben, wobei sich die niedrige Art z. B. vertikal einen oder zwei Fuß von der Anhängerladefläche erstreckt, oder eine hohe Art, die sich z. B. zwei oder mehr Fuß von der Anhängerladefläche erstreckt. Anhängertextur bezeichnet eine Oberflächentopografie von Anhängeroberflächenmaterialien, wie etwa Holz oder Metall, die verwendet werden, um die Anhängerladefläche und -seiten zu konstruieren. Die Anhängertextur kann durch Farbe oder andere Beschichtungen, die auf die Anhängerdeichsel, -ladefläche und -seiten aufgebracht sind, einschließlich Beschriftungen und Designs usw., geändert werden. Eine Kombination von einem oder mehreren Anhängerattributen, z. B. Anhängerseitenart, Anhängertextur und Deichselart, werden hierin als die Konfiguration des Anhängers 200 bezeichnet. Das Trainieren eines tiefen neuronalen Netzwerks, um Anhängerwinkel 210 für eine Vielzahl von Konfigurationen des Anhängers 200 zu bestimmen, kann ein Bestimmen eines Trainingsdatensatzes beinhalten, der Beispiele für jede Konfiguration des Anhängers 200 beinhaltet.
-
Das Erscheinungsbild eines Anhängers 200 in einem Videobild 300 kann auch durch Umgebungsbedingungen beeinflusst werden. Umgebungsbedingungen können Beleuchtung, Wetter, atmosphärische Bedingungen, Bodenart und -textur und Hintergrundbewuchs beinhalten. Beleuchtung beinhaltet natürliches Licht, wie etwa Sonnenlicht, und künstliches Licht, wie etwa Straßenlaternen. Sonnenlicht kann von hellem Sonnenlicht bis zu keinem, d. h. Nacht, variieren. Sonnenlicht ist gerichtet und kann sich ändernde Muster von Licht(ern) und Schatten erzeugen, abhängig von der Ausrichtung oder Stellung eines Anhängers 200, der Wolkendecke, Hindernissen, wie etwa Gebäuden oder Bäumen, und der Uhrzeit. Wetter kann Regen, Schnee und andere Formen von Niederschlag, einschließlich Nebel, beinhalten. Das Videobild 300b veranschaulicht die Wirkung von Regen (gestrichelte Linien) 302 auf das Erscheinungsbild des Anhängers 200b. Atmosphärische Bedingungen beinhalten Staub, Dunst und Smog, die das Erscheinungsbild eines Anhängers 200 in einem Videobild 300 verändern können. Die Bodenart, wie etwa Asphalt, Beton, Kies, Erde oder Gras, und die Textur jeder Art von Boden neben dem Anhänger können das Erscheinungsbild des Anhängers in einem Bild verändern. Außenbewuchs in der Nähe eines Anhängers 200 kann das Erscheinungsbild eines Anhängers 200 in einem Videobild verändern. Zum Beispiel können Baumäste oder hohes Gras Abschnitte eines Anhängers 200 in einem Videobild verdecken.
-
Unterschiedliche Erscheinungsbilder von Anhängern 200 können Herausforderungen bei der Bestimmung von Anhängerwinkeln 210 in Bezug auf ein Fahrzeug 101 darstellen. Anhängerwinkel 210 können durch Verarbeiten von Bildern 300 mit einem tiefen neuronalen Netzwerk bestimmt werden, wie nachfolgen in Bezug auf 4 erläutert. Das Bestimmen eines Anhängerwinkels 210 mit einem tiefen neuronalen Netzwerk auf Grundlage eines realen Bildes, das von einem Kamerasensor 216 in einem Fahrzeug 101 erfasst wird, kann davon abhängig sein, dass das tiefe neuronale Netzwerk mit einem Trainingsdatensatz trainiert wurde, der Bilder von Anhängern 200 mit den gleichen Komponenten in den gleichen Umgebungsbedingungen wie der Anhänger 200 in dem realen Bild beinhaltet. Der Erfolg beim Bestimmen eines Anhängerwinkels 210 ist als Bestimmen eines Anhängerwinkels 210 innerhalb eines spezifizierten Maßes, z. B. +/-5 Grad, eines Anhängerwinkels 210 definiert, der durch Messen des Anhängerwinkels 210 in der realen Welt mit physischen Instrumenten, zum Beispiel Linealen und Winkelmessern, erhalten würde. Ein typisches Versagen beim Bestimmen eines Anhängerwinkels 210 beinhaltet, dass ein tiefes neuronales Netzwerk überhaupt nicht in der Lage ist, einen Anhängerwinkel 210 für ein gegebenes reales Bild zu bestimmen. Die hierin erörterten Techniken verbessern die Fähigkeit einer Rechenvorrichtung 115 in einem Fahrzeug 101, den Anhängerwinkel 210 in Videodaten zu bestimmen, indem Trainingsdaten für ein neuronales Netzwerk auf Grundlage von erfassten Daten erzeugt werden, um das neuronale Netzwerk dazu zu trainieren, Anhängerwinkel 210 für Anhängerarten in Umgebungsbedingungen zu erkennen, die nicht in den ursprünglichen Trainingsdaten enthalten waren.
-
Die hierin erörterten Techniken können die Leistung eines in dem Fahrzeug 101 beinhalteten Computers 105 beim Bestimmen von Anhängerwinkeln 210 durch Analysieren von Trainingsdatensätzen verbessern, um Verteilungen von Rauschcharakteristiken in Trainingsbildern zu identifizieren. In Beispielen, in denen die Analyse der Verteilungen von Rauschcharakteristiken bestimmte Rauschcharakteristiken identifiziert, die in dem Trainingsdatensatz unterrepräsentiert sind, können zusätzliche Trainingsbilder erzeugt werden, um Bilder zu liefern, die den unterrepräsentierten Rauschcharakteristiken entsprechen. Rauschcharakteristiken sind Daten, die in einem Satz von Bilddaten beinhaltet sind, die sich zumindest teilweise aus Umgebungsbedingungen ergeben, z. B. Wetter, wie etwa Regen oder Schnee, Beleuchtung, wie etwa Sonnenlichtrichtung und atmosphärischen Bedingungen usw. Verteilungen von Rauschcharakteristiken werden durch Auftragen einer Häufigkeit des Auftretens der Rauschcharakteristik nach Art der Rauschcharakteristik bestimmt.
-
Bilder können durch die offensichtlichen Rauschcharakteristiken klassifiziert werden, die in jedem Bild vorhanden sind. Offensichtliche in den Bildern beinhaltete Rauschcharakteristiken können vom Menschen klassifiziert werden, wenn sie zur Einbeziehung erfasst werden. Zum Beispiel kann Regen als leicht, mittel oder stark klassifiziert werden. Beleuchtung kann als schwach, durchschnittlich oder hell klassifiziert werden. Ein Bild kann mehr als eine Klassifizierung aufweisen, zum Beispiel kann ein Bild sowohl schwache Beleuchtung als auch leichten Regen beinhalten. Bilder können auch klassifiziert werden, indem die Bilder mit einer Bildverarbeitungssoftware verarbeitet werden, die Korrelationen zwischen Bildbereichen berechnet. Der Mensch kann eine Probe von Bildern bestimmen, die jede Art von offensichtlichen Rauschcharakteristiken beinhalten. Erfasste reale Bilder können mit Bereichen der klassifizierten Probenbilder korreliert werden. Bilder, die in Bezug auf die klassifizierten Proben stark korrelieren (> 90 % Korrelation), würden ebenfalls klassifiziert.
-
Sobald die Bilder klassifiziert sind, sei es durch menschliche Entscheidung oder Korrelation, können sie statistischen Messungen unterzogen werden. Statistische Messgrößen, einschließlich Mittelwert und Standardabweichung, können auf jede Rauschcharakteristikverteilung angewendet werden. Statistische Messgrößen, die auf jede Verteilung von Rauschcharakteristiken angewendet werden, können analysiert werden, um zu bestimmen, ob die Vielzahl von Bildern in Daten eine akzeptable Verteilung von Rauscheigenschaften beinhaltet. Eine akzeptable Verteilung von Rauschcharakteristiken ist definiert als eine Verteilung, die niedrige, mittlere und hohe Rauschpegel in erwarteten Verhältnissen auf Grundlage von entweder menschlicher Auswahl oder Korrelationstechniken beinhaltet.
-
Die erwarteten Verhältnisse können auf der Annahme beruhen, dass die Rauschcharakteristiken gemäß einer Normal- oder Gauß-Verteilung verteilt sind. Eine Normal- oder Gauß-Verteilung ist eine Wahrscheinlichkeitsverteilung, die davon ausgeht, dass die Anzahl der Vorkommen einer bestimmten Rauschcharakteristik von dem Wert der Rauschcharakteristik abhängig ist. Wenn der gemessene Wert der Rauschcharakteristik das Kontrastverhältnis x ist, der Mittelwert der Normalverteilung m ist und die Standardabweichung σ ist, definiert eine Normalverteilung die Anzahl der Vorkommen y durch die folgende Gleichung:
-
Sobald die Verteilungen der Rauschcharakteristiken bestimmt sind, können Bilder, die Kontrastverhältnissen entsprechen, die als in dem Trainingsdatensatz unterrepräsentiert bestimmt werden, durch fotorealistische Rendering-Software erzeugt und unter Verwendung eines generativen kontradiktorischen Netzwerks verarbeitet werden, um den Realismus der Bilder zu verbessern. Die fotorealistische Rendering-Software kann ein Bild erzeugen, das einen Anhänger 200 mit spezifizierten Komponenten in einem spezifizierten Anhängerwinkel 210 beinhaltet. Das generative kontradiktorische Netzwerk kann das Bild verarbeiten, um Rauschcharakteristiken auf Grundlage von Training unter Verwendung von realen Bildern hinzuzufügen, wie nachstehend in den Abschnitten zum Trainieren generativer kontradiktorischer Netzwerke erörtert. Die erzeugten und verarbeiteten Bilder können dem Trainingsdatensatz zusammen mit Ground-Truth-Daten hinzugefügt werden, welche die von der fotorealistischen Rendering-Software ausgegebenen Anhängerwinkel 210 spezifizieren. Der Trainingsdatensatz, der mit zusätzlichen Trainingsbildern ergänzt wurde, die zuvor unterrepräsentierten Rauschcharakteristiken entsprechen, kann dann verwendet werden, um ein tiefes neuronales Netzwerk nachzutrainieren und erneut zu testen, um Anhängerwinkel 210 in Bilddaten zu identifizieren.
-
Die Anzahl an Bildern in dem Trainingsdatensatz kann erhöht werden, indem synthetische Bilder, die Anhänger 200 beinhalten, unter Verwendung von fotorealistischer Rendering-Software erzeugt werden. Fotorealistisch ist so definiert, dass es einem Betrachter so erscheint, als würde er ein Bild einer realen Szene betrachten. Bei der fotorealistischen Rendering-Software handelt es sich um ein Softwareprogramm, mit dem ein Bild erstellt werden kann, das so erscheint, als ob es von einer realen Kamera aufgenommen wurde, die eine reale Szene betrachtet. Eine beispielhafte Software zum Rendern synthetischer Bilder ist die Unreal Engine, hergestellt von Epic Games, Cary, NC 27518.
-
Die fotorealistische Rendering-Software gibt Daten ein, die eine Szene im mathematischen Format beschreiben. Beispielsweise kann ein zu rendernder Anhänger 200 als eine Sammlung von geometrischen Formen und Oberflächenbeschaffenheiten beschrieben werden. Jede Anhängerart kann eine andere Sammlung von geometrischen Formen und Oberflächenbeschaffenheiten aufweisen. Ein Standort und eine Ausrichtung jedes zu rendernden Anhängers 200 sind ebenfalls vorgegeben. Der Standort und die Ausrichtung jedes Anhängers 200 können in einen Anhängerwinkel 210 umgewandelt werden, indem ein Standort und ein Sichtfeld einer virtuellen Kamera spezifiziert werden, die zum Bestimmen des Renderprozesses verwendet wird. Bei dem Anhängerwinkel 210, der durch die Ausgabedaten von der fotorealistischen Rendering-Software bestimmt wird, handelt es sich um die Ground Truth-Daten, die mit den Ausgabebilddaten zum Trainieren eines tiefen neuronalen Netzwerks 400 verwendet werden sollen.
-
Bilddaten, die von einem fotorealistischen Rendering-Softwareprogramm ausgegeben werden, können in ein generatives kontradiktorisches Netzwerk eingegeben werden, um Bilder in dem Datensatz von Trainingsbildern zu erzeugen, die unterrepräsentierten Rauschcharakteristiken entsprechen. Ein generatives kontradiktorisches Netzwerk ist ein neuronales Netzwerk, das ein generatives Netzwerk, das Eingabebilder modifiziert, und ein Diskriminatornetzwerk beinhaltet, das dazu trainiert ist, zu bestimmen, ob ein modifiziertes Bild einem echten Bild ähnlich ist. Das generative kontradiktorische Netzwerk ist dazu trainiert, synthetische Eingabebilder realistisch genug zu modifizieren, um von dem Diskriminatornetzwerk als „echt“ bestimmt zu werden.
-
Ein generatives kontradiktorisches Netzwerk beinhaltet zwei Hauptabschnitte, einen Generator, der dazu trainiert werden kann, die Effekte unterschiedlicher Rauschcharakteristiken zu simulieren, und einen Diskriminator, der dazu trainiert werden kann, „echte“ von „falschen“ Bildern zu unterscheiden. Der Diskriminator wird zuerst trainiert, um „echte“ von „gefälschten“ Bildern zu unterscheiden, indem er echte und synthetische Bilder zusammen mit Ground Truth eingibt, welche die Quelle der Bilder in den Diskriminator identifiziert. Ein echtes Bild ist ein Bild, das von einer realen Kamera aufgenommen wurde, die eine reale Szene betrachtet. Synthetische Bilder werden unter Verwendung einer fotorealistischen Rendering-Software erzeugt, wie vorstehend erörtert. Der Diskriminator ist dazu trainiert, einen Wert auszugeben, der „echt“ entspricht, zum Beispiel 1,0, wenn ein echtes Bild eingegeben wird, und einen Wert, der „falsch“ entspricht, zum Beispiel 0,0, wenn ein synthetisches Bild eingegeben wird. Der Generator wird dann dazu trainiert, ein eingegebenes synthetisches Bild zu modifizieren, um den Diskriminator zu veranlassen, einen „echten“ Wert als Reaktion auf ein modifiziertes synthetisches Bild auszugeben. Der Generator ist dazu trainiert, das synthetische Bild so zu modifizieren, dass es realistisch genug erscheint, dass der Diskriminator bestimmt, dass das modifizierte synthetische Bild ein echtes Bild ist.
-
Beispielsweise kann ein generatives kontradiktorisches Netzwerk dazu trainiert werden, ein synthetisches Bild eines Anhängers, das in vollem Sonnenlicht gerendert wurde, so zu modifizieren, dass es so erscheint, als hätte es geregnet, als das fotorealistische Bild erzeugt wurde. Das generative kontradiktorische Netzwerk kann dazu trainiert werden, Ausgabebilder mit einem spezifizierten Rauschpegel und dem gleichen Anhängerwinkel wie das synthetische Eingabebild zu produzieren. Zum Beispiel kann ein generatives kontradiktorisches Netzwerk ein Ausgabebild mit geringen, mittleren oder hohen Regenmengen produzieren, während der gleiche Anhängerwinkel wie das eingegebene synthetische Bild beibehalten wird.
-
Ein tiefes neuronales Netzwerk kann trainiert und getestet werden, indem der ursprüngliche reale Trainingsdatensatz in zwei Abschnitte aufgeteilt wird. Der Trainingsdatensatz kann auf Grundlage von Anhängerwinkeln 210 und Rauschcharakteristiken aufgeteilt werden, um sicherzustellen, dass sowohl die Trainingsdaten als auch die Testdaten im Wesentlichen die gleiche Anzahl von Bildern beinhalten, die jedem Anhängerwinkel 210 entsprechen, wobei jeder Anhängerwinkel 210 eine im Wesentlichen ähnliche Verteilung von Rauschcharakteristiken aufweist. Der Trainingsdatensatz kann analysiert werden, um zu bestimmen, ob eine Art von Rauschcharakteristik „unterrepräsentiert“ ist. Eine unterrepräsentierte Rauschcharakteristik ist definiert als eine Verteilung von Rauschcharakteristiken, die weniger Beispiele beinhaltet, als in einem realen Beispiel erwartet. Wenn zum Beispiel der ursprüngliche Trainingsdatensatz 10 % der Bilder mit starkem Regen beinhaltet, sollte der Trainingsdatensatz, der durch hierin beschriebene Techniken erzeugt wird, mindestens 10 % der Bilder mit starkem Regen beinhalten. Auf diese Weise können die hierin beschriebenen Techniken sicherstellen, dass das neue Training die gleichen Umgebungsbedingungen wie der ursprüngliche Trainingsdatensatz abdeckt. Da Bilder, welche die unterrepräsentierten Umgebungsbedingungen beinhalten, durch ein generatives kontradiktorisches Netzwerk erzeugt werden, können Bilder mit unterrepräsentierten Rauschcharakteristiken schnell und einfach erzeugt werden. Hierin erörterte Techniken können das Problem der Unterrepräsentation von Rauschcharakteristiken lösen, ohne dass eine zusätzliche Erfassung von realen Bildern und entsprechender Ground Truth erforderlich ist, wodurch die Kosten und Zeit vermieden werden, die das Erfassen von realen Trainingsdatensätzen, die eine Vielzahl von Rauschcharakteristiken für eine bestimmte Art von Anhängerkonfiguration beinhalten, mit sich bringen. Das Erzeugen synthetischer Daten und Ground Truth mit einer Vielzahl von Rauschbedingungen unter Verwendung von fotorealistischer Rendering-Software und generativen kontradiktorischen Netzwerken kann kostengünstiger und weniger zeitaufwändig sein als das Erfassen von realen Daten.
-
Ein tiefes neuronales Netzwerk kann unter Verwendung der Trainingsbilder trainiert werden, wie nachstehend in Bezug auf 4 erörtert, und dann unter Verwendung der Testbilder getestet werden, wobei die den Testbildern entsprechenden Ground-Truth-Daten verwendet werden, um die Leistung des tiefen neuronalen Netzwerks zu bewerten. Die Ergebnisse aus dem Testen des tiefen neuronalen Netzwerks können in Bezug auf die Rauschcharakteristiken analysiert werden, um Pegel und Arten von Rauschcharakteristiken zu bestimmen, die zu einer schlechten Leistung des tiefen neuronalen Netzwerks führen. Eine schlechte Leistung ist definiert als Versagen, den korrekten Anhängerwinkels 210, der in der Ground Truth beinhaltet ist, zu bestimmen. Eine schlechte Leistung kann durch eine Differenz, z. B. eine Anzahl von Grad, zwischen dem Ground-Truth-Anhängerwinkel 210 und dem Anhängerwinkel 210, der durch das tiefe neuronale Netzwerk gemeldet wird, einschließlich des Versagens durch das tiefe neuronale Netzwerk, irgendeinen Anhängerwinkel 210 zu finden, beurteilt werden.
-
Hierin erörterte Techniken können Fehlerverteilungen für Versagen bestimmen, indem Fehler des Anhängerwinkels 210 als Funktion von Rauschen aufgetragen werden. Zum Beispiel kann bestimmt werden, dass ein trainiertes tiefes neuronales Netzwerk bei Bildern, die starken Regenfall und eine schwache Beleuchtung beinhalten, schlecht abschneidet. Hierin erörterte Techniken können das Trainieren von tiefen neuronalen Netzwerken verbessern, indem Versagensdaten verwendet werden, um einen zweiten Trainingsdatensatz zu erzeugen, der mehr Bilder beinhaltet, die Anhängerwinkel 210 und Rauschen beinhalten, die ein Versagen in dem ersten Trainingsdatensatz verursacht haben. Die Bilder werden unter Verwendung von fotorealistischer Rendering-Software und generativen kontradiktorischen Netzwerken erzeugt, um Bilddaten und Ground Truth bereitzustellen. Das tiefe neuronale Netzwerk kann unter Verwendung der erzeugten Trainingsbilder nachtrainiert und unter Verwendung eines Testdatensatzes, der reale Bilder beinhaltet, erneut getestet werden. Dieser Prozess kann wiederholt werden, bis das tiefe neuronale Netzwerk trainiert ist, um genaue Ergebnisse für alle spezifizierten Rauschcharakteristiken bereitzustellen. Genaue Ergebnisse können definiert werden als Bestimmen von korrekten Anhängerwinkeln auf innerhalb eines spezifizierten Genauigkeitswerts, z. B. +/-5 Grad bei 90 % der Testbilder. Das Ergänzen von Testdatensätzen mit synthetischen Daten ist eine unabhängige Aufgabe vom Ergänzen von Trainingsdatensätzen mit synthetischen Daten. Das Ergänzen von Testdatensätzen mit synthetischen Daten erfordert zusätzliches Testen, um sicherzustellen, dass Testergebnisse aus Tests mit synthetischen Daten richtig auf reale Daten verallgemeinert werden können.
-
4 ist eine Darstellung eines tiefen neuronalen Netzwerks 400. Das tiefe neuronale Netzwerk 400 kann ein Softwareprogramm sein, das auf einem Verwaltungscomputer, einschließlich einem Server 125, ausgeführt wird. Sobald es trainiert ist, kann ein tiefes neuronales Netzwerk auf einen Computer 105 heruntergeladen werden, der in einem Fahrzeug 101 beinhaltet ist. Ein Computer 105 in einem Fahrzeug 101 kann ein tiefes neuronales Netzwerk verwenden, um ein Fahrzeug 101 zu betreiben, das einen Anhänger 200 zieht. Der Computer 105 kann die bestimmten Anhängerwinkel 210 verwenden, um einen Fahrzeugpfad zum Betreiben des Fahrzeugs 101 mit einem angebrachten Anhänger 200 zu bestimmen. Zum Beispiel kann ein Computer 105 einen Zielstandort und eine Zielausrichtung für einen Anhänger 200 auf Grundlage einer Verarbeitung eines Eingabebilds 300 bestimmen. Der Zielstandort und die Zielausrichtung können verwendet werden, um eine Richtung zu bestimmen, in der das Fahrzeug rückwärtsgefahren werden soll, um den Anhänger zu dem Zielstandort zu bewegen. Der Zielstandort kann zum Beispiel ein Parkplatz oder eine Rampe sein, wobei eine Rampe ein Standort zum Beladen oder Entladen eines Anhängers 200 ist. Der Computer 105 kann ein kinematisches Simulationsprogramm oder dergleichen verwenden, um eine Bewegung eines Anhängers 200 als Reaktion auf eine Bewegung des Zugfahrzeugs 101 zu prognostizieren. Ein kinematisches Simulationsprogramm verwendet mathematische Modelle von Anhängern 200 und Fahrzeugen 101, um die Bewegung eines Anhängers 200 als Reaktion auf ausgeübte Kräfte auf Grundlage eines Startanhängerwinkels 210 zu simulieren. Der Computer 105 kann einen Fahrzeugpfad bestimmen, durch den Kräfte auf einen Anhänger 200 ausgeübt werden, um den Anhänger 200 auf Grundlage des Startanhängerwinkels 210 in einer Zielausrichtung zu einem Zielstandort zu bewegen. Der Computer 105 kann Befehle an einen Fahrzeugantriebsstrang, eine Fahrzeuglenkung und Fahrzeugbremsen übertragen, um das Fahrzeug 101 auf dem Fahrzeugpfad zu betreiben und dadurch die bestimmten Kräfte auf den Anhänger 200 auszuüben und diesen in einer Zielausrichtung zu einem Zielstandort zu bewegen.
-
Das tiefe neuronale Netzwerk 400 kann eine Vielzahl von Faltungsschichten (convolutional layers - CONV) 404 beinhalten, die Eingabebilder (input images - IN) 402 verarbeiten, indem die Eingabebilder 402 unter Verwendung von Faltungskernen gefaltet werden, um latente Variablen (LV) 406 zu bestimmen. Das tiefe neuronale Netzwerk 400 beinhaltet eine Vielzahl von vollständig verbundenen Schichten (fully-connected layers - FC) 408, welche die latenten Variablen 406 verarbeiten, um einen ausgegebenen Anhängerwinkel (trailer angle - TA) 210 zu erzeugen. Das tiefe neuronale Netzwerk 400 kann ein Bild 402 von einem in einem Fahrzeug 101 beinhalteten Kamerasensor 216 eingeben, der ein Bild eines angebrachten Anhängers 200 beinhaltet, um einen Anhängerwinkel 210 zu bestimmen.
-
Das tiefe neuronale Netzwerk 400 wird trainiert, indem ein Datensatz verarbeitet wird, der eine große Anzahl (> 1000) an Trainingsbildern beinhaltet, die eine Vielzahl von Arten von Anhängern 200 bei einer Vielzahl von Anhängerwinkeln 210 in einer Vielzahl von Umgebungsbedingungen beinhalten. Jedes Bild in dem Datensatz weist eine entsprechende Ground Truth auf, die den Anhängerwinkel 210 des Anhängers 200 in dem Bild spezifiziert. Ground-Truth-Daten sind Daten bezüglich eines Eingabebildes 402, die durch einen Prozess bestimmt werden, der von dem tiefen neuronalen Netzwerk 400 unabhängig ist. Die Ground-Truth-Daten werden als ein Maß für die reale Welt angesehen. Beispielsweise kann ein Ground-Truth-Anhängerwinkel 210 durch manuelle Prüfung des Bildes geschätzt werden, d. h. durch Schätzen eines Anhängerwinkels 210 in Bilddaten unter Verwendung von Instrumenten, einschließlich Linealen und Winkelmessern, zum Beispiel in Bildkopien in gedruckter Form. In weiteren Beispielen kann ein Ground-Truth-Anhängerwinkel 210 geschätzt werden, indem der Anhängerwinkel 210 in der realen Welt unter Verwendung von Instrumenten, wie etwa Linealen und Winkelmessern, an dem realen Fahrzeug 101 und Anhänger 200 gemessen wird, die von dem Kamerasensor 216 abgebildet werden. Während des Trainierens wird ein Anhängerwinkel 210 aus der Verarbeitung eines von dem tiefen neuronalen Netzwerk 400 bestimmten Eingabebildes 402 zurückpropagiert und mit dem Ground-Truth-Anhängerwinkel 210, der dem Eingabebild 402 entspricht, verglichen. Durch die Rückpropagierung kann eine Verlustfunktion auf Grundlage des Anhängerwinkels 210 und entsprechenden Ground-Truth-Anhängerwinkels 210 berechnet werden. Eine Verlustfunktion ist eine mathematische Funktion, die einen Wert, wie etwa einen Anhängerwinkel 210, einer reellen Zahl zuordnet, die Kosten entspricht. In diesem Beispiel können die Kosten als Gradunterschied zwischen dem bestimmten Anhängerwinkel 210 und dem Anhängerwinkel 210 in den entsprechenden Ground-Truth-Daten bestimmt werden. Durch die Verlustfunktion wird bestimmt, wie genau der Anhängerwinkel 210 mit dem Winkel in den Ground-Truth-Daten übereinstimmt, und wird verwendet, um die Parameter oder Gewichtungen einzustellen, die das tiefe neuronale Netzwerk steuern.
-
Parameter oder Gewichtungen, welche die Verarbeitung des tiefen neuronalen Netzwerks 400 steuern, werden variiert, bis die ausgegebenen Ergebnisse des Anhängerwinkels 210 mit der Ground Truth für die Vielzahl von Bildern in dem Trainingsdatensatz übereinstimmen. Wie aus verschiedenen Anwendungen der Bild- oder Mustererkennung unter Verwendung tiefer neuronaler Netzwerke 400 ersichtlich ist, beinhalten die Parameter oder Gewichtungen die Faltungskoeffizienten für die Faltungskerne in den Faltungsschichten 404. Parameter oder Gewichtungen beinhalten auch Parameter oder Gewichtungen, welche die linearen und/oder nichtlinearen Funktionen steuern, welche die latenten Variablen 406 verarbeiten, um den ausgegebenen Anhängerwinkel 210 zu bestimmen. Das Trainieren eines tiefen neuronalen Netzwerks 400 beinhaltet typischerweise systematisches Variieren dieser Parameter oder Gewichtungen und Vergleichen des ausgegebenen Anhängerwinkels 210 mit einem gewünschten Ergebnis, das dem Ground-Truth-Anhängerwinkel 210 entspricht. Als Ergebnis des Variierens der Parameter über eine Vielzahl von Versuchen über eine Vielzahl von Eingabebildern hinweg kann ein Satz von Parametern oder Gewichtungen bestimmt werden, die ein Ergebnis erzielen, das der Ground Truth entspricht.
-
5 ist eine Darstellung eines generativen kontradiktorischen Netzwerks 500. Das generative kontradiktorische Netzwerk 500 beinhaltet ein generatives Netzwerk (generative network - GEN) 502 und ein Diskriminatornetzwerk (discriminator network - DISC) 506. Das generative Netzwerk 504 ist dazu trainiert, synthetische Bilder (synthetic images - SI) 502 einzugeben und sie unter Verwendung von Faltungskernen zu verarbeiten, um Zwischenbilder (intermediate images - II) 508 auszugeben. Das generative Netzwerk 504 fügt den eingegebenen synthetischen Bildern 502 Bilddetails hinzu, die den Rauschcharakteristiken entsprechen. Diese Bilddetails beinhalten das Erscheinungsbild von Wetter, wie Regen, Schnee und Nebel, und die Beleuchtungseffekte, wie Sonnenlicht und Schatten. Das generative Netzwerk 504 ist dazu trainiert, realistische Mengen an Bilddetails zu Eingabebildern 502 hinzuzufügen, indem die Zwischenbilder 502 mit dem Diskriminatornetzwerk 506 verarbeitet werden.
-
Das Diskriminatornetzwerk 506 gibt Zwischenbilder 508 ein und verarbeitet die Zwischenbilder 508, um zu bestimmen, ob die Zwischenbilder 508 nicht von realen Bildern zu unterscheiden sind. Wenn bestimmt wird, dass die Zwischenbilder 508 nicht von realen Bildern zu unterscheiden sind, gibt das Diskriminatornetzwerk 506 eine Wahrheitsvariable (W/F) 510 gleich „WAHR“ aus und gibt die Zwischenbilder 508 als modifizierte Bilder (modified images - MI) 514 aus. Wenn das Diskriminatornetzwerk 506 bestimmt, dass die Zwischenbilder 508 von realen Bildern zu unterscheiden sind, gibt das Diskriminatornetzwerk 506 eine Wahrheitsvariable 510 gleich „FALSCH“ aus und gibt die Zwischenbilder 508 als modifizierte Bilder 514 aus. Die Wahrheitsvariable 510 kann ein Wert zwischen 0,0 und 1,0 sein, wobei zum Beispiel WAHR als ein beliebiger Wert größer oder gleich 0,5 definiert ist und FALSCH als ein beliebiger Wert kleiner als 0,5 definiert ist.
-
Das Diskriminatornetzwerk 506 ist dazu trainiert, reale Bilder von synthetischen Bildern zu unterscheiden, indem reale Bilder und synthetische Bilder und entsprechende Ground Truth eingegeben werden, die angeben, ob sie als Trainingsbilder (training images - TI) 512 real oder synthetisch sind. Durch Vergleichen der ausgegebenen Wahrheitsvariablen 510, die sich aus der Verarbeitung der eingegebenen Trainingsbilder 512 ergibt, mit den entsprechenden Ground-Truth-Daten kann das Diskriminatornetzwerk 506 trainiert werden, um zwischen realen und synthetischen Bildern zu unterscheiden. Ground-Truth-Daten für Trainingsbilder 512 können durch Beobachter bestimmt werden, die jedem Trainingsbild 512 einen Wert zwischen 0,0 und 1,0 zuweisen, basierend darauf für wie realistisch der Beobachter das Trainingsbild 512 hält. Während der Trainingszeit werden Parameter oder Gewichtungen, die das Diskriminatornetzwerk 506 programmieren, variiert, während Trainingsbilder 512 eingegeben werden. Sätze von Parametern oder Gewichtungen, die bewirken, dass das Diskriminatornetzwerk 506 konsistent korrekte Wahrheitsvariablen 510 ausgibt, die mit der Ground Truth übereinstimmen, werden als Parameter oder Gewichtungen gespeichert, die das Diskriminatornetzwerk 506 korrekt programmieren, um reale Bilder genau von synthetischen Bildern zu unterscheiden.
-
Das generative Netzwerk 504 wird nach dem Trainieren des Diskriminatornetzwerks 506 trainiert. Synthetische Bilder 502 werden in das generative Netzwerk 504 eingegeben. Parameter oder Gewichtungen, welche die Faltungskerne innerhalb des generativen Netzwerks 506 programmieren, werden systematisch variiert, um eine Vielzahl von Zwischenbildern 508 zu produzieren. Die Zwischenbilder 508 werden in das Diskriminatornetzwerk 506 eingegeben, das zwischen realen und synthetischen Bildern unterscheidet. Wenn das generative Netzwerk 506 ein Zwischenbild 508 produziert, das von dem Diskriminatornetzwerk 506 als ein reales Bild akzeptiert wird, wie durch das Diskriminatornetzwerk 506 angegeben, und es eine Wahrheitsvariable gleich „WAHR“ ausgibt, werden die Parameter oder Gewichtungen, die das Zwischenbild 508 produziert haben, welches das Diskriminatornetzwerk 506 getäuscht hat, als Parameter oder Gewichtungen gespeichert, die das generative Netzwerk 504 korrekt programmieren.
-
Im Betrieb gibt ein trainiertes generatives kontradiktorisches Netzwerk 500 ein synthetisches Bild 502 ein und gibt ein modifiziertes Bild 514 aus, das einem realen Bild mit Rauschcharakteristiken entspricht, die mit den Rauschcharakteristiken übereinstimmen, für deren Reproduktion das generative kontradiktorische Netzwerk 500 trainiert wurde. Das generative kontradiktorische Netzwerk 500 dazu kann trainiert werden, modifizierte Bilder 514 zu erzeugen, die eine bestimmte Rauschcharakteristik beinhalten. Das generative kontradiktorische Netzwerk 500 weist eine Vielzahl von Sätzen von Parametern oder Gewichtungen auf, die jedem Satz von Rauschcharakteristiken entsprechen, die das generative kontradiktorische Netzwerk 500 voraussichtlich reproduzieren wird. Zum Beispiel kann das generative kontradiktorische Netzwerk 500 einen Satz von Parametern für jedes von geringem, mittlerem und starkem Regenfall zu jeder einer Morgen-, Mittags- und Abendbeleuchtung aufweisen.
-
6 ist ein Ablaufdiagramm eines Prozesses 600 zum Trainieren eines tiefen neuronalen Netzwerks 400 und Herunterladen auf ein Fahrzeug 101. Der Prozess 600 kann durch einen Prozessor einer Rechenvorrichtung umgesetzt werden, der zum Beispiel Informationen von Sensoren als Eingabe verwendet und Befehle ausführt und Objektinformationen ausgibt. Der Prozess 600 beinhaltet mehrere Blöcke, die in der veranschaulichten Reihenfolge ausgeführt werden können. Der Prozess 600 könnte alternativ oder zusätzlich weniger Blöcke beinhalten oder kann beinhalten, dass die Blöcke in anderen Reihenfolgen ausgeführt werden.
-
Der Prozess 600 beginnt bei Block 602, wo Verteilungen, die einem Trainingsdatensatz von Bildern entsprechen, durch einen Computer, wie etwa einen Verwaltungscomputer in einem Server 125, analysiert werden. Der Datensatz von Bildern beinhaltet reale Bilder, die durch einen in einem Fahrzeug 101 enthaltenen Kamerasensor 216 erfasst wurden, und synthetische Bilder, die durch eine fotorealistische Rendering-Software erzeugt und durch ein generatives kontradiktorisches Netzwerk 500 verarbeitet wurden, um realistisches Rauschen hinzuzufügen. Der Datensatz von Bildern beinhaltet Bilder einer Vielzahl von Arten von Anhängern 200, die von Fahrzeugen 101 mit einer Vielzahl von Anhängerwinkeln 210 in einer Vielzahl von Umgebungsbedingungen, die einer Vielzahl von Rauschcharakteristiken entsprechen, gezogen werden. Die Umgebungsbedingungen beinhalten Wetter, wie etwa Regen und Schnee, Beleuchtung, wie etwa bedecktes und helles Sonnenlicht, und atmosphärische Gegebenheiten, wie etwa Smog und Staub. Jedes Bild wird unter Verwendung von Techniken des maschinellen Sehens verarbeitet, um die Rauschart zu klassifizieren und eine Verteilung jeder Art von Rauschen zu bestimmen, die in den Bildern vorhanden ist. Zum Beispiel kann ein Bild verarbeitet werden, um ein durchschnittliches Kontrastverhältnis zu bestimmen, wobei das Kontrastverhältnis als ein Verhältnis des Durchschnittswerts von dunklen Pixeln zu hellen Pixeln definiert ist. Ein Bild kann verarbeitet werden, um die Menge und Größe von Details mit hoher Ortsfrequenz zu bestimmen, indem das Bild geglättet wird, das geglättete Bild von dem Originalbild subtrahiert und das Differenzbild summiert wird. Ergebnisse der Verarbeitung des Eingabebilds zum Klassifizieren der Art von vorhandenem Rauschen können durch Bestimmen eines statistischen Maßes, wie etwa Mittelwert und Standardabweichung, für die Verteilung jeder Rauschart zusammengefasst werden. Die Verteilungen werden dann analysiert, um zu bestimmen, ob jede Art und jeder Pegel von Rauschen in dem Trainingsdatensatz gemäß Erwartungen auf Grundlage von Normalverteilungen von Rauschcharakteristiken unterrepräsentiert ist.
-
Bei Block 604 kann ein Computer in dem Server 125 die Verteilungen von Rauscharten in den erfassten Bildern mit Verteilungen von Rauscharten vergleichen, die für den Satz von Trainingsbildern in dem ursprünglichen Trainingsdatensatz bestimmt wurden, der zum Trainieren des tiefen neuronalen Netzwerks verwendet wurde. Auf Grundlage des Vergleichs der Verteilungen von Rauscharten in den erfassten Bildern mit den Verteilungen von Rauscharten in den ursprünglichen Trainingsdaten kann der Computer synthetische Bilder erzeugen, die Rauscharten und -pegeln entsprechen, die in dem Trainingsdatensatz unterrepräsentiert sind, und diese mit einem generativen kontradiktorischen Netzwerk 500 verarbeiten, um den synthetischen Bildern realistische Rauschpegel hinzuzufügen, wie vorstehend in Bezug auf 5 erörtert.
-
Bei Block 606 trainiert ein Computer in dem Server 125 ein tiefes neuronales Netzwerk 400 unter Verwendung des Trainingsdatensatzes, der synthetische Bilder beinhaltet, die den unterrepräsentierten Rauscharten und -pegeln entsprechen, um Anhängerwinkel 210 zu bestimmen, wie vorstehend in Bezug auf 4 erörtert.
-
Bei Block 608 testet ein Computer in dem Server 125 die Leistung des tiefen neuronalen Netzwerks 400 unter Verwendung eines Testdatensatzes, der einem Abschnitt des Trainingsdatensatzes entspricht. Der Testdatensatz wird so bestimmt, dass er Anhängerwinkel 210 und Rauscheigenschaften mit Verteilungen beinhaltet, die mit den Verteilungen in dem Trainingsdatensatz übereinstimmen, wie vorstehend in Bezug auf 3 erörtert.
-
Bei Block 610 wird die Leistung des tiefen neuronalen Netzwerks 400 durch einen Computer in dem Server 125 überprüft, um auf Grundlage jeder Art von Rauschcharakteristik zu bestimmen, ob die Leistung des tiefen neuronalen Netzwerks 400 OK ist oder nicht. Die OK-Leistung wird durch Überprüfen bestimmt, um zu sehen, ob das tiefe neuronale Netzwerk 400 einen Anhängerwinkel 210 auf innerhalb eines spezifizierten Werts, z. B. +/-5 Grad des Ground-Truth-Anhängerwinkels 210, für 90 % jeder Art von Rauschcharakteristik bestimmt. Wenn bestimmt wird, dass irgendwelche Rauschcharakteristikarten keinen korrekten Anhängerwinkel 210 erreichen, z.B. +/-5 Grad der Ground Truth für einen spezifizierten Prozentsatz, z. B. 90 %, die durch ein tiefes neuronales Netzwerk ausgegeben wird, werden die Daten, bei denen die Rauschcharakteristikarten den vorgegebenen Prozentsatz, z. B. 90 %, von korrekten Anhängerwinkeln 210 nicht erreichen, an Block 612 weitergegeben. Wenn alle Rauschcharakteristikarten mindestens 90 % einer korrekten Ausgabe von Anhängerwinkeln 210 erreichen, geht der Prozess 600 zu Block 614 über.
-
Bei Block 612 werden die Verteilungen der Geräuscheigenschaften durch einen Computer in dem Server 125 erneut analysiert, um zu bestimmen, welche Rauscharten und -pegel Versagen beim Bestimmen korrekter Anhängerwinkel 210 entsprechen. Der Computer in dem Server 125 erhöht die Anzahl von Bildern, die diesen Arten und Pegeln von Rauschcharakteristiken in den Verteilungen von Rauschcharakteristiken entsprechen, und leitet die erhöhten Verteilungen zurück zu Block 604, um zusätzliche synthetische Bilder zu haben, die diesen Rauschcharakteristiken entsprechen, die durch generative kontradiktorische Netzwerke 500 erzeugt und verarbeitet werden, um realistisches Rauschen hinzuzufügen, das den bei Block 612 bestimmten erhöhten Verteilungen entspricht. Die erhöhte Anzahl von Bildern und entsprechende Ground Truth werden verwendet, um das tiefe neuronale Netzwerk 400 bei Block 606 nachzutrainieren, das bei Block 608 erneut getestet und bei Block 608 erneut überprüft werden kann.
-
Bei Block 614 wurde die Leistung des tiefen neuronalen Netzwerks 400 durch einen Computer in dem Server 125 bestimmt, um korrekte Anhängerwinkel 210 für 90 % aller Eingabebilder zu finden, die allen Arten und Pegeln von Rauschen entsprechen, das in den Verteilungen von Rauschcharakteristiken beinhaltet ist. Das trainierte tiefe neuronale Netzwerk 400 kann auf ein Fahrzeug 101 heruntergeladen und verwendet werden, um das Fahrzeug 101 zu betreiben, wie vorstehend in Bezug auf 2 erörtert. Ein Computer 105 in einem Fahrzeug 101 kann das heruntergeladene tiefe neuronale Netzwerk 400 verwenden, um einen Anhängerwinkel 210 für einen Anhänger 200 zu bestimmen, der an dem Fahrzeug 101 angebracht ist. Der Computer 105 kann den bestimmten Anhängerwinkel 210 verwenden, um einen Fahrzeugpfad zum Betreiben des Fahrzeugs zu bestimmen, das einen angebrachten Anhänger 200 an einem bestimmten Zielstandort lokalisiert, wie vorangehend in Bezug auf 2 erörtert. Beispielsweise kann der Computer 105 einen Zielstandort und eine Zielausrichtung für einen Anhänger 200 auf Grundlage der Verarbeitung eines von einem Kamerasensor 216 erfassten Eingabebildes bestimmen. Der Zielstandort kann zum Beispiel ein Parkplatz oder eine Rampe sein. Der Computer 105 kann einen Fahrzeugpfad bestimmen, durch den Kräfte auf einen Anhänger 200 ausgeübt werden, um den Anhänger 200 auf Grundlage des Startanhängerwinkels 210 in einer Zielausrichtung zu einem Zielstandort zu bewegen. Der Computer 105 kann Befehle an einen Fahrzeugantriebsstrang, eine Fahrzeuglenkung und Fahrzeugbremsen übertragen, um das Fahrzeug 101 auf dem Fahrzeugpfad zu betreiben und dadurch die bestimmten Kräfte auf den Anhänger 200 auszuüben und diesen in einer Zielausrichtung zu einem Zielstandort zu bewegen. Nach Block 614 endet der Prozess 600.
-
Rechenvorrichtungen, wie etwa die in dieser Schrift erörterten, beinhalten im Allgemeinen jeweils Befehle, die durch eine oder mehrere Rechenvorrichtungen, wie etwa die vorstehend genannten, und zum Ausführen von Blöcken oder Schritten von vorstehend beschriebenen Prozessen ausgeführt werden können. Zum Beispiel können die vorstehend erörterten Prozessblöcke als computerausführbare Befehle umgesetzt sein.
-
Computerausführbare Befehle können von Computerprogrammen kompiliert oder interpretiert werden, die unter Verwendung einer Vielfalt von Programmiersprachen und/oder - technologien erstellt wurden, einschließlich unter anderem, entweder allein oder in Kombination Java™, C, C++, Python, Julia, SCALA, Visual Basic, Java Script, Perl, HTML usw. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Befehle, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Befehle aus, wodurch er einen oder mehrere Prozesse durchführt, einschließlich eines oder mehrerer der hierin beschriebenen Prozesse. Derartige Befehle und andere Daten können in Dateien gespeichert und unter Verwendung einer Vielfalt von computerlesbaren Medien übertragen werden. Eine Datei in einer Rechenvorrichtung ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium gespeichert ist, wie etwa einem Speichermedium, einem Direktzugriffsspeicher usw.
-
Ein computerlesbares Medium beinhaltet ein beliebiges Medium, das am Bereitstellen von Daten (z. B. Befehlen) beteiligt ist, die durch einen Computer ausgelesen werden können. Ein derartiges Medium kann viele Formen annehmen, einschließlich unter anderem nichtflüchtiger Medien, flüchtiger Medien usw. Nichtflüchtige Medien beinhalten zum Beispiel optische oder magnetische Platten und sonstige Dauerspeicher. Flüchtige Medien beinhalten einen dynamischen Direktzugriffsspeicher (dynamic random access memory - DRAM), der in der Regel einen Hauptspeicher darstellt. Gängige Formen computerlesbarer Medien schließen zum Beispiel Folgendes ein: 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.
-
Bei dem Computer 105 kann es sich um einen Computer 105 wie vorangehend beschrieben handeln oder dieser kann eine dedizierte elektronische Schaltung beinhalten, die eine ASIC beinhaltet, die für einen bestimmten Vorgang hergestellt wurde, z. B. eine ASIC zum Verarbeiten von Sensordaten und/oder Kommunizieren der Sensordaten. In einem weiteren Beispiel kann der Computer 140 ein FPGA beinhalten, bei dem es sich um eine integrierte Schaltung handelt, die so hergestellt ist, dass sie durch einen Benutzer konfiguriert werden kann. In der Regel wird eine Hardware-Beschreibungssprache, wie etwa VHDL (Hardware-Beschreibungssprache für integrierte Schaltungen mit sehr hoher Geschwindigkeit), in der elektronischen Designautomatisierung verwendet, um digitale und Mischsignal-Systeme, wie etwa FPGA und ASIC, zu beschreiben. Zum Beispiel wird eine ASIC auf Grundlage von VHDL-Programmierung hergestellt, die vor der Herstellung bereitgestellt wird, wohingegen logische Komponenten in einem FPGA auf Grundlage von VHDL-Programmierung konfiguriert sein können, die z. B. in einem Speicher gespeichert ist, der elektrisch mit der FPGA-Schaltung verbunden ist. In einigen Beispielen kann eine Kombination aus Prozessor(en), ASIC(s) und/oder FPGA-Schaltungen in dem Computer 105 eingeschlossen sein.
-
Allen in den Patentansprüchen verwendeten Ausdrücken soll deren allgemeine und gewöhnliche Bedeutung zukommen, wie sie vom Fachmann verstanden wird, sofern in dieser Schrift keine ausdrückliche gegenteilige Angabe erfolgt. 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.
-
Der Ausdruck „beispielhaft“ wird in dieser Schrift in dem Sinne verwendet, dass er ein Beispiel angibt, z. B. sollte eine Bezugnahme auf ein „beispielhaftes Gerät“ einfach als Bezugnahme auf ein Beispiel für ein Gerät gelesen werden.
-
Das einen Wert oder ein Ergebnis modifizierende Adverb „ungefähr“ bedeutet, dass eine Form, eine Struktur, ein Messwert, ein Wert, eine Bestimmung, eine Berechnung usw. von einer/einem genau beschriebenen Geometrie, Entfernung, Messwert, Wert, Bestimmung, Berechnung usw. aufgrund von Mängeln hinsichtlich Materialien, Bearbeitung, Herstellung, Sensormessungen, Berechnungen, Verarbeitungszeit, Übertragungszeit usw. abweichen kann.
-
In den Zeichnungen geben gleiche Bezugszeichen jeweils gleiche Elemente an. Ferner könnten einige oder alle dieser Elemente geändert werden. Hinsichtlich der in dieser Schrift beschriebenen Medien, Prozesse, Systeme, Verfahren usw. versteht es sich, dass, obwohl die Schritte oder Blöcke derartiger Prozesse usw. zwar als gemäß einer bestimmten Abfolge erfolgend beschrieben worden sind, derartige Prozesse jedoch so umgesetzt werden könnten, dass die beschriebenen Schritte in einer anderen Reihenfolge als der in dieser Schrift beschriebenen Reihenfolge durchgeführt werden. Es versteht sich ferner, dass bestimmte Schritte gleichzeitig durchgeführt, andere Schritte hinzugefügt oder bestimmte in dieser Schrift beschriebene Schritte weggelassen werden könnten. Anders ausgedrückt werden die Beschreibungen von Prozessen in dieser Schrift zur Veranschaulichung bestimmter Ausführungsformen bereitgestellt und sollten keinesfalls dahingehend ausgelegt werden, dass sie die beanspruchte Erfindung einschränken.
-
Gemäß der vorliegenden Erfindung wird ein System bereitgestellt, das Folgendes aufweist: eine Rechenvorrichtung, die Folgendes beinhaltet: einen Prozessor; und einen Speicher, wobei der Speicher Anweisungen beinhaltet, die durch den Prozessor zu Folgendem ausführbar sind: Trainieren eines tiefen neuronalen Netzwerks auf Grundlage einer Vielzahl von realen Bildern; Bestimmen, dass die Genauigkeit des tiefen neuronalen Netzwerks unter einem Schwellenwert liegt, auf Grundlage von Identifizieren eines oder mehrerer physischer Merkmale durch das tiefe neuronale Netzwerk, einschließlich einer oder mehrerer Objektarten, in der Vielzahl von realen Bildern; Erzeugen einer Vielzahl von synthetischen Bildern auf Grundlage dessen, dass die Genauigkeit des tiefen neuronalen Netzwerks auf Grundlage des Identifizierens des einen oder der mehreren physischen Merkmale unter Verwendung eines fotorealistischen Bildrendering-Softwareprogramms und eines generativen kontradiktorischen Netzwerks unter einem Schwellenwert liegt; Nachtrainieren des tiefen neuronalen Netzwerks auf Grundlage der Vielzahl von realen Bildern und der Vielzahl von synthetischen Bildern; und Ausgeben des nachtrainierten tiefen neuronalen Netzwerks.
-
Gemäß einer Ausführungsform ist die Erfindung ferner durch Folgendes gekennzeichnet: Anweisungen zum Bestimmen einer Genauigkeit des nachtrainierten tiefen neuronalen Netzwerks auf Grundlage des Identifizierens des einen oder der mehreren physischen Merkmale; Erzeugen einer zweiten Vielzahl von synthetischen Bildern aus dem fotorealistischen Bildrendering-Softwareprogramm und dem generativen kontradiktorischen Netzwerk auf Grundlage des Bestimmens, dass die Genauigkeit des tiefen neuronalen Netzwerks unter einem Schwellenwert für das eine oder die mehreren physischen Merkmale und eine oder mehrere Umgebungsbedingungen liegt; und Nachtrainieren des tiefen neuronalen Netzwerks auf Grundlage der Vielzahl von realen Bildern, der ersten Vielzahl von synthetischen Bildern und der zweiten Vielzahl von synthetischen Bildern.
-
Gemäß einer Ausführungsform werden die physischen Merkmale, die in der ersten Vielzahl von synthetischen Bildern beinhaltet sind, aus den realen Bildern bestimmt.
-
Gemäß einer Ausführungsform beinhalten die physischen Merkmale eine oder mehrere Objektarten, einschließlich einer Vielzahl von Arten von Fahrzeuganhängern, wobei jede Objektart mindestens eine oder mehrere Anhängerkomponenten oder einen oder mehrere Anhängerwinkel in Bezug auf ein Fahrzeug beinhaltet.
-
Gemäß einer Ausführungsform beinhalten die Anhängerkomponenten eine Anhängerdeichselkonfiguration, Anhängerseitenkonfigurationen, eine Anhängerfarbe und eine Anhängertextur.
-
Gemäß einer Ausführungsform beinhalten die physischen Merkmale Umgebungsbedingungen, einschließlich Wetter, Beleuchtung, atmosphärische Gegebenheiten, Bodenart und -textur und Hintergrundbewuchs.
-
Gemäß einer Ausführungsform werden die physischen Merkmale, die der Vielzahl von realen Bildern entsprechen, in das fotorealistische Bildrendering-Softwareprogramm eingegeben, um die erste Vielzahl von synthetischen Bildern zu erzeugen.
-
Gemäß einer Ausführungsform wird die Ausgabe aus dem fotorealistischen Bildrendering-Softwareprogramm in das generative kontradiktorische Netzwerk eingegeben, um die zweite Vielzahl von synthetischen Bildern zu erzeugen.
-
Gemäß einer Ausführungsform werden die physischen Merkmale, einschließlich des Anhängerwinkels, die der Vielzahl von realen Bildern entsprechen, als Ground Truth verwendet, um das tiefe neuronale Netzwerk zu trainieren.
-
Gemäß einer Ausführungsform beinhaltet das generative kontradiktorische Netzwerk ein generatives Netzwerk, das modifizierte synthetische Bilder erzeugt, und ein diskriminatives Netzwerk, das bestimmt, ob die modifizierten synthetischen Bilder realen Bildern entsprechen.
-
Gemäß einer Ausführungsform wird das generative kontradiktorische Netzwerk dazu trainiert, modifizierte synthetische Bilder zu erzeugen, die das diskriminative Netzwerk als realen Bildern entsprechend akzeptiert.
-
Gemäß einer Ausführungsform wird das diskriminative Netzwerk unter Verwendung von realen Bildern trainiert.
-
Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch Anweisungen zum Aufteilen der Vielzahl von realen Bildern und der ersten Vielzahl von synthetischen Bildern in einen Trainingsabschnitt und einen Testabschnitt auf Grundlage von Verteilungen, die einem Auftreten der physischen Merkmale in der Vielzahl von realen Bildern und der Vielzahl von synthetischen Bildern entsprechen.
-
Gemäß einer Ausführungsform wird das nachtrainierte tiefe neuronale Netzwerk an einen Fahrzeugcomputer ausgegeben, der einen Prozessor und einen Speicher umfasst, wobei der Speicher das nachtrainierte tiefe neuronale Netzwerk speichert.
-
Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch einen Fahrzeugcomputerspeicher, der Anweisungen speichert, um Bilder in das nachtrainierte tiefe neuronale Netzwerk einzugeben, um einen Fahrzeugpfad zu bestimmen, auf dem es betrieben werden soll.
-
Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren Folgendes: Trainieren eines tiefen neuronalen Netzwerks auf Grundlage einer Vielzahl von realen Bildern; Bestimmen, dass die Genauigkeit des tiefen neuronalen Netzwerks unter einem Schwellenwert liegt, auf Grundlage von Identifizieren eines oder mehrerer physischer Merkmale durch das tiefe neuronale Netzwerk, einschließlich einer oder mehrerer Objektarten, in der Vielzahl von realen Bildern; Erzeugen einer Vielzahl von synthetischen Bildern auf Grundlage dessen, dass die Genauigkeit des tiefen neuronalen Netzwerks auf Grundlage des Identifizierens des einen oder der mehreren physischen Merkmale unter Verwendung eines fotorealistischen Bildrendering-Softwareprogramms und eines generativen kontradiktorischen Netzwerks unter einem Schwellenwert liegt; Nachtrainieren des tiefen neuronalen Netzwerks auf Grundlage der Vielzahl von realen Bildern und der Vielzahl von synthetischen Bildern; und Ausgeben des nachtrainierten tiefen neuronalen Netzwerks.
-
In einem Aspekt der Erfindung beinhaltet das Verfahren Folgendes: Bestimmen einer Genauigkeit des nachtrainierten tiefen neuronalen Netzwerks auf Grundlage des Identifizierens des einen oder der mehreren physischen Merkmale; Erzeugen einer zweiten Vielzahl von synthetischen Bildern aus dem fotorealistischen Bildrendering-Softwareprogramm und dem generativen kontradiktorischen Netzwerk auf Grundlage des Bestimmens, dass die Genauigkeit des tiefen neuronalen Netzwerks unter einem Schwellenwert für das eine oder die mehreren physischen Merkmale und eine oder mehrere Umgebungsbedingungen liegt; und Nachtrainieren des tiefen neuronalen Netzwerks auf Grundlage der Vielzahl von realen Bildern, der ersten Vielzahl von synthetischen Bildern und der zweiten Vielzahl von synthetischen Bildern.
-
In einem Aspekt der Erfindung werden die physischen Merkmale, die in der ersten Vielzahl von synthetischen Bildern beinhaltet sind, aus den realen Bildern bestimmt.
-
In einem Aspekt der Erfindung beinhalten die physischen Merkmale eine oder mehrere Objektarten, einschließlich einer Vielzahl von Arten von Fahrzeuganhängern, wobei jede Objektart mindestens eine oder mehrere Anhängerkomponenten oder einen oder mehrere Anhängerwinkel in Bezug auf ein Fahrzeug beinhaltet.
-
In einem Aspekt der Erfindung beinhalten die Anhängerkomponenten eine Anhängerdeichselkonfiguration, Anhängerseitenkonfigurationen, eine Anhängerfarbe und eine Anhängertextur.