DE102021109413A1 - Augmentation von fahrzeugdaten - Google Patents

Augmentation von fahrzeugdaten Download PDF

Info

Publication number
DE102021109413A1
DE102021109413A1 DE102021109413.5A DE102021109413A DE102021109413A1 DE 102021109413 A1 DE102021109413 A1 DE 102021109413A1 DE 102021109413 A DE102021109413 A DE 102021109413A DE 102021109413 A1 DE102021109413 A1 DE 102021109413A1
Authority
DE
Germany
Prior art keywords
vehicle
trailer
images
image
deep neural
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
DE102021109413.5A
Other languages
English (en)
Inventor
Gautham Sholingar
Sowndarya Sundar
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 DE102021109413A1 publication Critical patent/DE102021109413A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/18Propelling the vehicle
    • B60W30/18009Propelling the vehicle related to particular drive situations
    • B60W30/18036Reversing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/10Conjoint control of vehicle sub-units of different type or different function including control of change-speed gearings
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/18Conjoint control of vehicle sub-units of different type or different function including control of braking systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/20Conjoint control of vehicle sub-units of different type or different function including control of steering systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • 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
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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
    • G06V10/7747Organisation of the process, 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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/584Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of vehicle lights or traffic lights
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2300/00Indexing codes relating to the type of vehicle
    • B60W2300/14Tractor-trailers, i.e. combinations of a towing vehicle and one or more towed vehicles, e.g. caravans; Road trains
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/403Image sensing, e.g. optical camera
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2555/00Input parameters relating to exterior conditions, not covered by groups B60W2552/00, B60W2554/00
    • B60W2555/20Ambient conditions, e.g. wind or rain
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2710/00Output or target parameters relating to a particular sub-units
    • B60W2710/10Change speed gearings
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2710/00Output or target parameters relating to a particular sub-units
    • B60W2710/18Braking system
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2710/00Output or target parameters relating to a particular sub-units
    • B60W2710/20Steering systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Combustion & Propulsion (AREA)
  • Chemical & Material Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Automation & Control Theory (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Electromagnetism (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)

Abstract

Die Offenbarung stellt eine Augmentation von Fahrzeugdaten bereit. Ein System, das einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen beinhaltet, die durch den Prozessor ausgeführt werden sollen, um ein oder mehrere Bilder von einem Fahrzeug zu empfangen, wobei ein erstes tiefes neuronales Netz, das in einem Computer in dem Fahrzeug eingeschlossen ist, eine Ausrichtung eines ersten Objekts in dem einen oder den mehreren Bildern nicht bestimmen konnte. Die Anweisungen können weitere Anweisungen zum Generieren einer Vielzahl von modifizierten Bildern mit einem Bildübersetzer mit wenigen Aufnahmen beinhalten, wobei die modifizierten Bilder jeweils ein modifiziertes Objekt beinhalten, das auf dem ersten Objekt basiert. Die Anweisungen können weitere Anweisungen zum erneuten Trainieren des tiefen neuronalen Netzes beinhalten, um die Ausrichtung des ersten Objekts auf Grundlage der Vielzahl von modifizierten Bilder zu bestimmen und das erneut trainierte tiefe neuronale Netz auf das Fahrzeug herunterzuladen.

Description

  • GEBIET DER TECHNIK
  • Die Offenbarung betrifft im Allgemeinen Fahrzeugsensoren.
  • 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 um das Fahrzeug auf Grundlage der Daten zu betreiben. Fahrzeugsensoren können Daten hinsichtlich zu fahrender Routen und zu vermeidender Objekte in der Umgebung des Fahrzeugs bereitstellen. Der Betrieb des Fahrzeugs kann sich auf das Erheben genauer und aktueller Daten zu Objekten in der Umgebung eines Fahrzeugs stützen, während das Fahrzeug auf einer Fahrbahn betrieben wird.
  • KURZDARSTELLUNG
  • Fahrzeuge können dazu ausgestattet sein, sowohl in einem autonomen als auch in einem insassengesteuerten Modus betrieben zu werden. Unter einem teil- oder vollautonomen Modus verstehen die Erfinder einen Betriebsmodus, in dem ein Fahrzeug teilweise oder vollständig von einer Rechenvorrichtung als Teil eines Systems betrieben werden kann, das Sensoren und Steuerungen aufweist. Das Fahrzeug kann besetzt oder unbesetzt 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, bei 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 Computer in einem Fahrzeug kann programmiert sein, um Daten bezüglich der Außenumgebung eines Fahrzeugs zu erheben und die Daten dazu zu verwenden, einen Fahrzeugpfad zu bestimmen, auf dem ein Fahrzeug in einem autonomen oder teilautonomen Modus betrieben werden soll. Ein Fahrzeug kann auf Grundlage eines Fahrzeugpfades auf einer Fahrbahn fahren, indem Befehle bestimmt werden, die Antriebsstrang-, Brems- und Lenkungskomponenten zum Betreiben des Fahrzeugs zu steuern, sodass das Fahrzeug den Pfad entlangfährt. Die Daten bezüglich der Außenumgebung können den Standort von einem oder mehreren Objekten, wie etwa einem Fahrzeug, einem Fußgänger oder einem Fahrzeuganhänger, in einer Umgebung um ein Fahrzeug beinhalten. Die Daten können durch einen Computer in dem Fahrzeug verarbeitet werden und können verwendet werden, um das Fahrzeug zu betreiben.
  • Eine Computer in einem Fahrzeug kann einen Fahrzeugpfad, auf dem das Fahrzeug betrieben werden soll, durch Eingeben von Fahrzeugsensordaten in ein tiefes neuronalen Netz bestimmen, das trainiert ist, um ein Objekt zu identifizieren und zu lokalisieren. Beispielsweise kann das tiefe neuronale Netz trainiert sein, um einen Winkel eines Fahrzeuganhängers in Bezug auf ein Fahrzeug zu bestimmen. Der Computer kann die Winkeldaten verwenden, um einen Fahrzeugpfad zu bestimmen, der es dem Fahrzeug ermöglicht, den Anhänger rückwärts zu fahren und zu parken. Das tiefe neuronale Netz kann auf Grundlage einer Vielzahl von Anhängerarten unter Verwendung von Sensordaten trainiert werden, die bei einer Vielzahl von Umgebungsbedingungen erhoben wurden. Trotz des Trainierens des tiefen neuronalen Netzes auf eine Vielzahl von Anhängerarten und eine Vielzahl von Umgebungsbedingungen kann es vorkommen, dass im realen Betrieb eine neue Anhängerart mit neuen Fahrzeuganhängerkomponenten angetroffen wird. In diesem Fall kann das tiefe neuronale Netz unter Umständen keine Winkeldaten bezüglich der neuen Anhängerart bestimmen. In dieser Schrift erörterte Techniken können die Sensordaten verwenden, die dem Fehlschlagen entsprechen, Winkeldaten bezüglich der neuen Anhängerart zu bestimmen, um eine Vielzahl von Bildern auf Grundlage der Fehlersensordaten zu generieren. Die Vielzahl von generierten Bilder kann verwendet werden, um ein tiefes neuronales Netz erneut zu trainieren, um Winkeldaten bezüglich der neuen Anhängerart bei einer Vielzahl von Umgebungsbedingungen zu bestimmen. Das erneut trainierte tiefe neuronale Netz kann auf das Fahrzeug heruntergeladen und zum Bedienen des Fahrzeugs auf Grundlage des Bestimmens der Winkeldaten bezüglich der neuen Anhängerart verwendet werden. In dieser Schrift ist ein Verfahren offenbart, das Folgendes beinhaltet: Empfangen eines oder mehrerer Bilder von einem Fahrzeug, wobei ein erstes tiefes neuronales Netz, das in einem Computer in dem Fahrzeug eingeschlossen ist, eine Ausrichtung eines ersten Objekts in dem einen oder den mehreren Bildern nicht bestimmen konnte, Generieren einer Vielzahl von modifizierten Bildern mit einem Bildübersetzer mit wenigen Aufnahmen, wobei die modifizierten Bilder jeweils ein modifiziertes Objekt beinhalten, das auf dem ersten Objekt basiert, und erneutes Trainieren des tiefen neuronalen Netzes, um die Ausrichtung des modifizierten Objekts auf Grundlage der Vielzahl von modifizierten Bildern zu bestimmen. Das erneut trainierte tiefe neuronale Netz kann auf das Fahrzeug heruntergeladen werden. Der Bildübersetzer mit wenigen Aufnahmen kann auf einem generativen kontradiktorischen Netz basieren und wird unter Verwendung einer Vielzahl von Bildern der realen Welt und einer Vielzahl von synthetischen Bildern trainiert, um ein oder mehrere Eingabebilder auf Grundlage des einen Bildes oder der mehreren Bilder von dem Fahrzeug in die Vielzahl von modifizierten Bildern zu übersetzen. Das Trainieren des Bildübersetzers mit wenigen Aufnahmen kann auf der Vielzahl von Bildern der realen Welt und einer Vielzahl von synthetischen Bildern basieren, die Fahrzeuganhänger und Ground-Truth-Daten bezüglich eines Winkels von jedem Fahrzeuganhänger jeweils in Bezug auf ein Fahrzeug für jedes Bild der realen Welt beinhalten. Die Vielzahl von Bildern der realen Welt und die Vielzahl von synthetischen Bildern können eine Vielzahl von Wetter- und Beleuchtungsbedingungen beinhalten, einschließlich Tageszeit, Nachtzeit, Regen, Schnee und einer Vielzahl von Sonnenlichtrichtungen.
  • Die Vielzahl von Fahrzeuganhängern in der Vielzahl von Bildern der realen Welt und der Vielzahl von synthetischen Bildern kann eine Vielzahl von Fahrzeuganhängerarten beinhalten, die eine Vielzahl von Anhängerkomponenten aufweisen, die in einer Vielfalt von Konfigurationen konfiguriert sind. Das erste Objekt kann ein Fahrzeuganhänger sein und das Bestimmen der Ausrichtung des ersten Objekts kann Bestimmen von jeweils einem Winkel eines Fahrzeuganhängers in Bezug auf ein Fahrzeug für jedes modifizierte Bild beinhalten. Die Vielzahl von modifizierten Bildern können jeweils Ground-Truth-Daten beinhalten, die einen entsprechenden Winkel eines Fahrzeuganhängers in Bezug auf ein Fahrzeug beinhalten. Jedes modifizierte Bild kann einen Fahrzeuganhänger beinhalten, der in einem Winkel in Bezug auf ein Fahrzeug ausgerichtet ist, der gleich einem Winkel eines Objekts ist, das in einem Eingabebild auftritt. Jedes modifizierte Objekt kann auf dem ersten Objekt basieren und beinhaltet Fahrzeuganhängerkomponenten, die in dem ersten Objekt eingeschlossen sind, in einer selben Konfiguration wie die Fahrzeuganhängerkomponenten, die in dem ersten Objekt eingeschlossen sind. Das tiefe neuronale Netz kann Faltungsschichten und vollständig verbundene Schichten beinhalten, wobei die Faltungsschichten Eingabebildaten verarbeiten und die vollständig verbundenen Schichten eine Ausgabe von den Faltungsschichten verarbeiten, um einen Winkel des Objekts in Bezug auf ein Fahrzeug zu bestimmen. Der Bildübersetzer mit wenigen Aufnahmen kann Inhaltskodierungsschichten, Klassenkodierungsschichten und Dekodierungsschichten beinhalten, wobei die Inhaltskodierungsschichten latente Restmerkmale auf Grundlage eines Eingabeobjekttyps und einer Objektausrichtung generieren und die Dekodierungsschichten ein Ausgabebild auf Grundlage der Klassenkodierungsschichten generieren. Das Fahrzeug kann durch Eingeben eines Bildes in das erneut trainierte tiefe neuronale Netz betrieben werden, um einen Anhängerwinkel eines angebrachten Anhängers zu bestimmen. Das Fahrzeug kann durch Bestimmen eines Fahrzeugpfades auf Grundlage der Eingabedaten, die einen angebrachten Anhänger beinhalten, betrieben werden. Das Fahrzeug kann durch Geben eines Befehls an einen Fahrzeugantriebsstrang, eine Fahrzeuglenkung und Fahrzeugbremsen, das Fahrzeug entlang des Fahrzeugpfades zu betreiben, betrieben werden, wodurch Kräfte auf den angebrachten Anhänger ausgeübt werden, um den angebrachten Anhänger in einer Zielausrichtung zu einem Zielstandort zu bewegen.
  • Ferner ist ein computerlesbares Medium offenbart, auf dem Programmanweisungen zum Ausführen einiger oder aller der vorangehenden Verfahrensschritte gespeichert sind. Ferner ist ein Computer offenbart, der zum Ausführen eines Teils oder aller der vorangehenden Verfahrensschritte programmiert ist und eine Computereinrichtung beinhaltet, die zu Folgendem programmiert ist: Empfangen eines oder mehrerer Bilder von einem Fahrzeug, wobei ein erstes tiefes neuronales Netz, das in einem Computer in dem Fahrzeug eingeschlossen ist, eine Ausrichtung eines ersten Objekts in dem einen oder den mehreren Bildern nicht bestimmen konnte, Generieren einer Vielzahl von modifizierten Bildern mit einem Bildübersetzer mit wenigen Aufnahmen, wobei die modifizierten Bilder jeweils ein modifiziertes Objekt beinhalten, das auf dem ersten Objekt basiert, und erneutes Trainieren des tiefen neuronalen Netzes, um die Ausrichtung des modifizierten Objekts auf Grundlage der Vielzahl von modifizierten Bildern zu bestimmen. Das erneut trainierte tiefe neuronale Netz kann auf das Fahrzeug heruntergeladen werden. Der Bildübersetzer mit wenigen Aufnahmen kann auf einem generativen kontradiktorischen Netz basieren und wird unter Verwendung einer Vielzahl von Bildern der realen Welt und einer Vielzahl von synthetischen Bildern trainiert, um ein oder mehrere Eingabebilder auf Grundlage des einen Bildes oder der mehreren Bilder von dem Fahrzeug in die Vielzahl von modifizierten Bildern zu übersetzen. Das Trainieren des Bildübersetzers mit wenigen Aufnahmen kann auf der Vielzahl von Bildern der realen Welt und einer Vielzahl von synthetischen Bildern basieren, die Fahrzeuganhänger und Ground-Truth-Daten bezüglich eines Winkels von jedem Fahrzeuganhänger jeweils in Bezug auf ein Fahrzeug für jedes Bild der realen Welt beinhalten. Die Vielzahl von Bildern der realen Welt und die Vielzahl von synthetischen Bildern können eine Vielzahl von Wetter- und Beleuchtungsbedingungen beinhalten, einschließlich Tageszeit, Nachtzeit, Regen, Schnee und einer Vielzahl von Sonnenlichtrichtungen.
  • Die Anweisungen können weitere Anweisungen beinhalten, wobei die Vielzahl von Fahrzeuganhängern in der Vielzahl von Bildern der realen Welt und der Vielzahl von synthetischen Bildern eine Vielzahl von Fahrzeuganhängerarten beinhalten kann, die eine Vielzahl von Anhängerkomponenten aufweisen, die in einer Vielfalt von Konfigurationen konfiguriert sind. Das erste Objekt kann ein Fahrzeuganhänger sein und das Bestimmen der Ausrichtung des ersten Objekts kann Bestimmen von jeweils einem Winkel eines Fahrzeuganhängers in Bezug auf ein Fahrzeug für jedes modifizierte Bild beinhalten. Die Vielzahl von modifizierten Bildern können jeweils Ground-Truth-Daten beinhalten, die einen entsprechenden Winkel eines Fahrzeuganhängers in Bezug auf ein Fahrzeug beinhalten. Jedes modifizierte Bild kann einen Fahrzeuganhänger beinhalten, der in einem Winkel in Bezug auf ein Fahrzeug ausgerichtet ist, der gleich einem Winkel eines Objekts ist, das in einem Eingabebild auftritt. Jedes modifizierte Objekt kann auf dem ersten Objekt basieren und beinhaltet Fahrzeuganhängerkomponenten, die in dem ersten Objekt eingeschlossen sind, die in dem ersten Objekt eingeschlossen sind. Das tiefe neuronale Netz kann Faltungsschichten und vollständig verbundene Schichten beinhalten, wobei die Faltungsschichten Eingabebildaten verarbeiten und die vollständig verbundenen Schichten eine Ausgabe von den Faltungsschichten verarbeiten, um einen Winkel des Objekts in Bezug auf ein Fahrzeug zu bestimmen. Der Bildübersetzer mit wenigen Aufnahmen kann Inhaltskodierungsschichten, Klassenkodierungsschichten und Dekodierungsschichten beinhalten, wobei die Inhaltskodierungsschichten latente Restmerkmale auf Grundlage eines Eingabeobjekttyps und einer Objektausrichtung generieren und die Dekodierungsschichten ein Ausgabebild auf Grundlage der Klassenkodierungsschichten generieren. Das Fahrzeug kann durch Eingeben eines Bildes in das erneut trainierte tiefe neuronale Netz betrieben werden, um einen Anhängerwinkel eines angebrachten Anhängers zu bestimmen. Das Fahrzeug kann durch Bestimmen eines Fahrzeugpfades auf Grundlage der Eingabedaten, die einen angebrachten Anhänger beinhalten, betrieben werden. Das Fahrzeug kann durch Geben eines Befehls an einen Fahrzeugantriebsstrang, eine Fahrzeuglenkung und Fahrzeugbremsen, das Fahrzeug entlang des Fahrzeugpfades zu betreiben, betrieben werden, wodurch Kräfte auf den angebrachten Anhänger ausgeübt werden, um den angebrachten Anhänger in einer Zielausrichtung zu einem Zielstandort zu bewegen.
  • 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 Systems zum Trainieren eines tiefen neuronalen Netzes.
    • 5 ist eine Darstellung eines Bildübersetzers mit wenigen Aufnahmen.
    • 6 ist eine Darstellung eines Systems zum erneuten Trainieren eines tiefen neuronalen Netzes mit einem Bildübersetzer mit wenigen Aufnahmen.
    • 7 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum erneuten Trainieren eines tiefen neuronalen Netzes.
  • 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 nichtautonom bezeichneten) Modus betrieben werden kann. Eine oder mehrere Rechenvorrichtungen 105 des Fahrzeugs 101 können Daten bezüglich des Betriebs des Fahrzeugs 100 von Sensoren 110 empfangen. Die Rechenvorrichtung 105 kann das Fahrzeug 101 in einem autonomen Modus, einem teilautonomen Modus oder einem nicht autonomen Modus betreiben.
  • Die Rechenvorrichtung 105 beinhaltet einen Prozessor und einen Speicher, wie sie bekannt sind. Ferner beinhaltet der Speicher eine oder mehrere Formen computerlesbarer Medien und auf diesem sind Anweisungen gespeichert, die durch den Prozessor dazu ausgeführt werden können, verschiedene Vorgänge durchzuführen, welche die in dieser Schrift offenbarten einschliel en. Beispielsweise kann die Rechenvorrichtung 105 eine Programmierung beinhalten, um eines oder mehrere von Bremsen, Antrieb (z. B. Beschleunigungssteuerung in dem Fahrzeug 101 durch Steuern von einem oder mehreren von einer Brennkraftmaschine, einem Elektromotor, einem Hybridmotor usw.), Lenkung, Klimaregelung, Innen- und/oder Außenleuchten usw. des Fahrzeugs zu betreiben sowie um zu bestimmen, ob und wann die Rechenvorrichtung 105 im Gegensatz zu einem menschlichen Fahrer derartige Vorgänge steuern soll.
  • Die Rechenvorrichtung 105 kann mehr als eine Rechenvorrichtung, z. B. Steuerungen oder dergleichen, die in dem Fahrzeug 101 zum Überwachen und/oder Steuern verschiedener Fahrzeugkomponenten 115 eingeschlossen sind, z. B. eine Antriebsstrangsteuerung, eine Bremssteuerung, eine Lenksteuerung usw., beinhalten oder z. B. über einen Fahrzeugkommunikationsbus, wie nachfolgend genauer beschrieben, kommunikativ an diese gekoppelt sein. Die Rechenvorrichtung 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 die Rechenvorrichtung 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 die Rechenvorrichtung 105 tatsächlich mehrere Vorrichtungen umfasst, das Fahrzeugkommunikationsnetzwerk zur Kommunikation zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als die Rechenvorrichtung 105 dargestellt sind. Ferner können, wie nachfolgend erwähnt, verschiedene Steuerungen oder Erfassungselemente, wie etwa die Sensoren 110, der Rechenvorrichtung 105 Daten über das Fahrzeugkommunikationsnetz bereitstellen.
  • Des Weiteren kann die Rechenvorrichtung 105 konfiguriert sein, um über ein Netzwerk 120, das, wie nachfolgend beschrieben, Hardware, Firmware und Software beinhaltet, die es der Rechenvorrichtung 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 Remote-Zugriffsservercomputer. Die Rechenvorrichtung 105 kann dementsprechend konfiguriert sein, einschließlich Prozessoren, eines Speichers, Sendeempfängers usw., die konfiguriert sind, um verschiedene drahtgebundene und/oder drahtlose Netzwerktechnologien zu nutzen, z. B. Mobilfunk, BLUETOOTH® und drahtgebundene und/oder drahtlose Paketnetzwerke. Die Rechenvorrichtung 105 kann zum Kommunizieren mit anderen Fahrzeugen 101 unter Verwendung von Fahrzeug-Fahrzeug-(vehicle-to-vehicle - V-V-)Netzwerken z. B. gemäßdedizierter Nahbereichsübertragung (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. Die Rechenvorrichtung 105 beinhaltet außerdem einen nicht flüchtigen Speicher, wie er bekannt ist. Die Rechenvorrichtung 105 kann Daten über das Speichern von Daten zum späteren Abrufen und Übermitteln über ein Fahrzeugübertragungsnetzwerk an einen Server 125 oder eine mobile Benutzervorrichtung in einem nicht flüchtigen Speicher protokollieren. Der Servercomputer 125 kann außerdem als eine Rechenvorrichtung 105 fungieren, die in einer stral enseitigen Infrastruktur oder einem Edge-Computing-Knoten eingeschlossen sein kann, wobei es sich bei einem Edge-Computing-Knoten um eine Rechenvorrichtung 105 handelt, die in oder an einem stationären Infrastrukturelement eingeschlossen ist, wie etwa einem Pfahl, einer Brücke, einer Wand, einem Gebäude usw., und die Sensordaten erhebt und mit Fahrzeugen 101 über eine V-1-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 der Rechenvorrichtung 105 ausgeführt werden können, im Allgemeinen eine Programmierung zum Betreiben einer oder mehrerer Komponenten des Fahrzeugs 101, z. B. Bremsung, Lenkung, Antrieb usw., ohne Eingreifen eines menschlichen Bedieners eingeschlossen. Unter Verwendung von in der Rechenvorrichtung 105 empfangenen Daten, z. B. der Sensordaten von den Sensoren 110, dem Servercomputer 125 usw., kann die Rechenvorrichtung 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 die Rechenvorrichtung 105 eine Programmierung zum Regulieren des Betriebsverhaltens des Fahrzeugs 101 (d. h. physischer Manifestationen des Betriebs des Fahrzeugs 101), wie etwa einer Geschwindigkeit, Beschleunigung, Abbremsung, Lenkung usw., und des taktischen Verhaltens (d. h. Steuerung des Betriebsverhaltens auf eine Weise, die in der Regel ein sicheres und effizientes Abfahren einer Route erreichen soll), wie etwa eines Abstands zwischen Fahrzeugen und/oder einer Zeit zwischen Fahrzeugen, Spurwechseln, des Mindestabstands zwischen Fahrzeugen, der Mindestzeit zur Überquerung des Pfades 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.
  • Im vorliegenden Zusammenhang schliel t der Ausdruck Steuerungen Rechenvorrichtungen ein, die in der Regel programmiert sind, um ein konkretes 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 in dieser Schrift beschrieben beinhaltet. Die Steuerungen können kommunikativ mit der Rechenvorrichtung 105 verbunden sein und Anweisungen von dieser empfangen, um das Teilsystem gemäl den Anweisungen zu betätigen.
  • Beispielsweise kann die Bremssteuerung Anweisungen von der Rechenvorrichtung 105 empfangen, um die Bremsen des Fahrzeugs 101 zu betätigen.
  • Die eine oder die mehreren Steuerungen für das Fahrzeug 101 können bekannte elektronische Steuereinheiten (electronic control units - ECUs) oder dergleichen einschliel en, 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 von der Rechenvorrichtung 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 konfiguriert sind, um 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 die Rechenvorrichtung 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, die Rechenvorrichtung 105 und die Fahrzeugkomponenten 115, einschließlich einer oder mehrerer Steuerungen. Die Sensoren 110 können Daten erheben, die sich auf das Fahrzeug 101 und die Umgebung beziehen, in der das Fahrzeug 101 betrieben wird. Beispielhaft und nicht einschränkend können die Sensoren 110 z. B. Folgende einschliel en: 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 erfassen: Phänomene, wie etwa Wetterbedingungen (Niederschlag, eine äul ere Umgebungstemperatur usw.), die Neigung einer Stral e, die Lage einer Stral e (z. B. unter Verwendung von Straßenrändern, Spurmarkierungen usw.) oder Standorte von Zielobjekten, wie etwa Nachbarfahrzeugen 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. Ein Anhänger 200 ist ein nicht angetriebenes Fahrzeug, das von einem Fahrzeug 101 gezogen werden kann. Der Anhänger 200 beinhaltet eine Zunge 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.
  • Die Anhängermittellinie 212 und die Fahrzeugmittellinie 214 sind jeweils Linien (gelegentlich als Achsen bezeichnet), die horizontalen Längsachsen von jeweils einem Anhänger 200 oder 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 stützt. 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 einem ausgewählten Standort rückwärtsfährt, zum Beispiel in einen Parkplatz.
  • Ein Videosensor 216 kann in einem Fahrzeug 101 eingeschlossen sein. Der Videosensor 216 kann so ausgerichtet sein, dass er ein Sichtfeld bereitstellt, das eine Ansicht eines Anhängers 200 beinhaltet, die den Anhängerkoppler 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 Videosensor 216 eingeschlossen sein, um Bilder aufzunehmen, die mehr von der Umgebung auf beiden Seiten des Anhängers 200 beinhalten, und kann ein dritter Videosensor 216 eingeschlossen sein, um Bilder von der Rückseite des Anhängers 200 aufzunehmen. Ein Computer 105 kann auf Grundlage von Bildern 300, die von dem Videosensor 216 aufgenommen wurden, einen Zielstandort für den Anhänger 200 bestimmen, wie etwa einen Standort eines Parkplatzes, eines Docks oder einer Rampe, z. B. einen Ort zum Parken und/oder Be- oder Entladen eines Anhängers 200. Ein Zielstandort kann bestimmt werden, indem das Bild 300 zum Beispiel mit einem tiefen neuronalen Netz 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 entsprechende Richtung dreht, um den Anhänger an dem Zielstandort zu positionieren. Bekanntlich kann das Rückwärtsfahren eines Fahrzeugs 101 mit einem angebrachten Anhänger 200 dazu führen, dass 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.
  • 3 ist eine Darstellung von zwei Videobildern 300a, 300b (zusammen Bilder 300), wobei jedes Videobild 300 von einem in einem Fahrzeug 101 eingeschlossenen Videosensor 216 aufgenommen wird. Jedes Videobild 300 beinhaltet ein entsprechendes Bild eines Anhängers 200a, 200b (zusammen 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 in dieser Schrift auf eine herkömmliche Anhängerkomponente, wie eine Zunge, ein Bett, ein Rad usw. In dem Videobild 300a ist der Anhänger 200a mit einer A-Rahmenzunge 202a konfiguriert, während in dem Videobild 300b der Anhänger 200b mit einer geraden Zunge 202b konfiguriert ist. Der Anhänger 200a ist mit einem Flachbett 314 ohne Seiten oder Klappe konfiguriert, während der Anhänger 200b mit Seiten 320 und einer Auflaufklappe 322 konfiguriert ist. Anhänger können außerdem konfiguriert sein, um eine Vielzahl von verschiedenen Ladungen zu befördern. Zu Ladungen können Materialien wie etwa Erde oder Stein, Kisten, Möbel und Maschinen gehören. Ladungen können Fahrzeuge wie etwa Traktoren, Automobile und Boote einschliel en. Unterschiedliche Ladungsarten können unterschiedliche Konfigurationen von Komponenten des Anhängers 200 erforderlich machen und können das Erscheinungsbild eines Anhängers 200 in Videobildern verändern. Das Verändern des Erscheinungsbildes von Anhängern 200 in Videobildern, z. B. da unterschiedliche Anhänger unterschiedliche Komponenten aufweisen, kann dazu führen, dass ein Computer 105 den Anhänger 200 nicht erkennen kann.
  • Unterschiedliche Konfigurationen und Erscheinungsbilder von Anhängerkomponenten können Herausforderungen bei der Bestimmung von Anhängerwinkeln 210 in Bezug auf ein Fahrzeug 101 darstellen. Die Anhängerwinkel 210 können durch Verarbeiten von Bildern 300 mit einem tiefen neuronalen Netz bestimmt werden, wie nachfolgen in Bezug auf 3 erläutert. Das Bestimmen eines Anhängerwinkels 210 mit einem tiefen neuronalen Netz auf Grundlage eines Bildes der realen Welt kann von einem Training des tiefen neuronalen Netzes mit einem Trainingsdatensatz abhängig sein, der Bilder von Anhängern 200 beinhaltet, die mit Komponenten in derselben Konfiguration wie der Anhänger 200 in dem Bild der realen Welt konfiguriert sind. Wenn sich die Anhängerladung von der in den Trainingsbildern eingeschlossenen Anhängerladung unterscheidet, kann dies dazu führen, dass das tiefe neuronale Netz den Anhängerwinkel nicht bestimmen kann. Der Erfolg beim Bestimmen eines Anhängerwinkels 210 ist als Bestimmen eines Anhängerwinkels 210 innerhalb von +/-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. Das Messen des Anhängerwinkels 210 mit physikalischen Instrumenten kann als Ground Truth zum Trainieren tiefer neuronaler Netze verwendet werden. Ein Fehlschlagen des Bestimmens eines Anhängerwinkels 210 beinhaltet, dass ein tiefes neuronales Netz überhaupt nicht in der Lage ist, einen Anhängerwinkel 210 für ein gegebenes Eingabebild zu bestimmen.
  • Das Bestimmen eines Anhängerwinkels 210 auf Grundlage eines Eingabebildes 300 wird typischerweise durch variierende Umgebungsbedingungen noch erschwert. Ein Bild 300 kann eine Vielzahl von Umgebungsbedingungen beinhalten, einschließlich Beleuchtung und Wetter. Die Lichtverhältnisse können von Tageszeit bis Nachtzeit und allen dazwischen liegenden Bedingungen reichen. Sonnenlicht kann Schatten werfen und Glanzlichter einführen, die abhängig von der Sonnenlichtrichtung in Bezug auf den Anhänger 200 variieren. Die Wetterbedingungen können Regen, Schnee und Nebel usw. einschliel en. Der Erfolg beim Bestimmen der Anhängerwinkel 210 kann erhöht werden, indem das tiefe neuronale Netz mit Bildern 300 trainiert wird, die Umgebungsbedingungen beinhalten, die bei der Verarbeitung von Bildern 300 auftreten, die während des Betreibens in der realen Welt aufgenommen werden.
  • In dieser Schrift erörterte Techniken können die Leistungsfähigkeit eines in Fahrzeug 101 eingeschlossenen Computers 105 bezüglich des Bestimmens der Anhängerwinkel 210, 216 verbessern. Diese Techniken beinhalten Speichern einer Vielzahl von Bildern 300, die dem Fehlschlagen des Bestimmens eines Anhängerwinkels 210 durch ein erstes tiefes neuronales Netz entsprechen, das in einem Computer 105 in einem Fahrzeug 101 eingeschlossen ist. Die gespeicherten Bilder werden an einen cloudbasierten Computer kommuniziert und verwendet, um einen Bildübersetzer mit wenigen Aufnahmen zu trainieren, wie nachfolgend in Bezug auf 5 definiert und beschrieben, um eine Vielzahl von Trainingsbildern zu generieren, die der Konfiguration des Anhängers 200 entsprechen, bei dem die fehlgeschlagenen Bilder 210, 216 auftreten. Die Trainingsbilder werden verwendet, um ein tiefes neuronales Netz erneut zu trainieren, um die Anhängerwinkel 210 auf Grundlage der Konfiguration des Anhängers 200 zu bestimmen, die in den fehlgeschlagenen Bildern 210 auftritt. Das erneut trainierte tiefe neuronale Netz wird auf einen Computer 105 in einem Fahrzeug 101 heruntergeladen, um verwendet zu werden, um Bilder des Fahrzeugsensors 216 einzugeben, die Bilder von Anhängern 200 beinhalten, und Anhängerwinkel 210 zu bestimmen. Das Fahrzeug 101 kann dann unter Verwendung des erneut trainierten tiefen neuronalen Netzes betrieben werden. In Beispielen, in denen ein Computer 105 in einem Fahrzeug 101 ein tiefes neuronales Netz beinhaltet, das keinen Anhängerwinkel 210 bestimmen konnte, kann das erneut trainierte tiefe neuronale Netz anstelle des ersten tiefen neuronalen Netzes verwendet werden.
  • 4 ist eine Darstellung eines Systems 400 eines tiefen neuronalen Netzes. Das System 400 eines tiefen neuronalen Netzes beinhaltet ein tiefes neuronales Netz 402, Trainingsbilder 404, eine Ground Truth 406, die den Trainingsbildern 404 entspricht, und Anhängerwinkel 210, die von dem tiefen neuronalen Netz 402 ausgegeben werden. Das tiefe neuronale Netz 402 kann eine Vielzahl von Faltungsschichten, die Eingabebilddaten verarbeiten, die Trainingsbilder 404 beinhalten, und eine Vielzahl von vollständig verbundenen Schichten beinhalten, welche die Ausgabe von den Faltungsschichten verarbeiten. Das tiefe neuronale Netz 402 kann Daten zu Trainingsbildern 404 von einem in einem Fahrzeug 101 eingeschlossenen Videosensor 216 oder synthetische Trainingsbilder 404 eingeben, die von einer fotorealistischen Rendering-Software generiert werden. In diesem Beispiel ist ein Videosensor 216 konfiguriert, um ein Sichtfeld bereitzustellen, das einen Anhänger 200 beinhaltet, wie vorangehend in Bezug auf 2 erörtert. Das erste tiefe neuronale Netz 402 wird trainiert, indem Trainingsbilder 404 verarbeitet werden, die einen Anhänger 200 beinhalten, um einen Anhängerwinkel 210, 216 zu schätzen.
  • Das erste tiefe neuronale Netz 402 wird trainiert, indem ein Datensatz verarbeitet wird, der eine große Anzahl (> 1000) an Trainingsbildern 404 beinhaltet, die eine Vielzahl von Arten von Anhängern 200 bei einer Vielzahl von Umgebungsbedingungen beinhalten. Jedes Bild in dem Datensatz weist eine entsprechende Ground Truth 406 auf, die einen Anhängerwinkel 210 des Anhängers 200 in dem Bild vorgibt. Bei der Ground Truth 406 handelt es sich um Daten bezüglich eines Trainingsbildes 404, die durch einen Prozess bestimmt werden, der von dem tiefen neuronalen Netz 402 unabhängig ist. Die Ground Truth 406 wird als Mal stab für die reale Welt angesehen. Beispielsweise kann ein Anhängerwinkel 210 der Ground Truth 406 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 Trainingskopien 404 in gedruckter Form. In weiteren Beispielen kann der Anhängerwinkel 210 der Ground Truth 406 geschätzt werden, indem der Anhängerwinkel 210 in der realen Welt unter Verwendung von Instrumenten, wie etwa Linealen und Winkelmessern, an dem Fahrzeug 101 und dem Anhänger 200 in der realen Welt gemessen wird, die von dem Videosensor 216 abgebildet werden. Während des Trainierens wird ein Anhängerwinkel 210 aus der Verarbeitung eines Eingabetrainingsbildes 404 zurückpropagiert und mit der Ground Truth 406 verglichen, die dem Eingabetrainingsbild 404 entspricht. Durch die Rückpropagierung kann eine Verlustfunktion auf Grundlage des Anhängerwinkels 210 und der entsprechenden Ground Truth 406 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 der entsprechenden Ground Truth 406 bestimmt werden. Durch die Verlustfunktion wird bestimmt, wie genau der Anhängerwinkel 210 mit der Ground Truth übereinstimmt, und diese wird verwendet, um die Parameter oder Gewichtungen einzustellen, durch die das tiefe neuronale Netz 402 gesteuert wird.
  • Parameter, durch welche die Verarbeitung des tiefen neuronalen Netzes 402 gesteuert werden, werden variiert, bis die ausgegebenen Ergebnisse des Anhängerwinkels 210 für jedes der Vielzahl von Trainingsbildern 404 in dem Trainingsdatensatz mit der Ground Truth 406 übereinstimmen. Wie aus verschiedenen Anwendungen der Bild- oder Mustererkennung unter Verwendung neuronaler Netze ersichtlich ist, schliel en die Parameter oder Gewichtungen die Koeffizienten von Faltungskernen ein, die zum Extrahieren von Merkmalen aus eingegebenen Bilddaten verwendet werden. Die Parameter oder Gewichtungen schliel en außerdem Koeffizienten ein, die von linearen und/oder nicht linearen Gleichungen verwendet werden, die in vollständig verbundenen Schichten eingeschlossen sind. Vollständig verbundene Schichten verarbeiten extrahierte Bildmerkmale, die von Faltungsschichten ausgegeben werden. Das Trainieren eines tiefen neuronalen Netzes 402 beinhaltet typischerweise systematisches Variieren dieser Parameter oder Gewichtungen und Vergleichen der ausgegebenen Ergebnisse mit einem gewünschten Ergebnis, das der Ground Truth 406 entspricht. Als Ergebnis des Variierens der Parameter oder Gewichtungen ü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.
  • Die Anzahl an Trainingsbildern 404 in dem Trainingsdatensatz kann erhöht werden, indem synthetische Bilder, die Anhänger 200 beinhalten, unter Verwendung einer fotorealistischen Rendering-Software generiert 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 Kamera in der realen Welt aufgenommen wurde, die eine Szene in der realen Welt betrachtet. Eine beispielhafte Software zum Rendern synthetischer Bilder ist die Unreal Engine, hergestellt von Epic Garnes, 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 vorgegeben werden, die zum Bestimmen des Renderprozesses verwendet wird. Bei dem Anhängerwinkel 210, der durch die Eingabedaten in die fotorealistische Rendering-Software bestimmt wird, handelt es sich um die Ground Truth-Daten, die mit den Ausgabebilddaten zum Trainieren eines tiefen neuronalen Netzes 402 verwendet werden sollen.
  • Bilddaten, die von einem fotorealistischen Rendering-Softwareprogramm ausgegeben werden, können in ein generatives kontradiktorisches Netz eingegeben werden, um die Anzahl und den Realismus von Bildern in dem Datensatz von Trainingsbildern zu erhöhen. Ein generatives kontradiktorisches Netz ist ein neuronales Netz, das ein generatives Netz, das Eingabebilder modifiziert, und ein Diskriminatornetz beinhaltet, das trainiert ist, um zu bestimmen, ob ein modifiziertes Bild einem realen Bild ähnlich ist. Die Bildähnlichkeit kann durch Vergleichen von Bildern unter Verwendung von Bildsubtraktion bestimmt werden, bei der ein erstes Bild von einem zweiten Bild subtrahiert wird und die absoluten oder quadratischen Differenzen zwischen den beiden Bildern summiert werden. Kleine absolute oder quadratische Differenzen (< 1 % der gesamten summierten Pixelwerte) geben ähnliche Bilder an. Die Bildähnlichkeit kann außerdem auf Grundlage von Korrelationstechniken bestimmt werden, die Regionen eines ersten Bildes mit Regionen eines zweiten Bildes korrelieren. Eine hohe Korrelation (> 90 %) zwischen den beiden Bildern gibt ähnliche Bilder an. Das generative kontradiktorische Netz ist trainiert, um synthetische Eingabebilder realistisch genug zu modifizieren, um von dem Diskriminatornetz als „real“ bestimmt zu werden. Ein generatives kontradiktorisches Netz kann trainiert werden, um ein Eingabebild zu modifizieren, um die Auswirkungen verschiedener Umgebungsbedingungen zu simulieren. Beispielsweise kann ein generatives kontradiktorisches Netz trainiert werden, um 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 generiert wurde. Ein generatives kontradiktorisches Netz kann außerdem den Realismus synthetischer Bilder erhöhen, indem dem synthetischen Bild visuelle Merkmale hinzugefügt werden, damit es so erscheint, als ob es mit einem Videosensor 216 der realen Welt aufgenommen worden wäre.
  • Wie vorangehend in Bezug auf 2 erörtert, können unterschiedliche Erscheinungsbilder von Anhängern 200 in Bildern 300, die zum Trainieren verwendet werden, dazu führen, dass das tiefe neuronale Netz 402 einen Anhängerwinkel 210, 216 nicht bestimmen kann. Wenn der Computer 105 bestimmt, dass das tiefe neuronale Netz 402 einen Anhängerwinkel 210, 216 nicht bestimmen konnte, besteht die erste Aktion, die der Computer 105 ausführen kann, darin, das Bild 300, welches das Fehlschlagen hervorgerufen hat, zu speichern und ein zweites Bild 300 von Fahrzeugsensoren aufzunehmen. Das zweite Bild 300 wird von dem ersten tiefen neuronalen Netz 302 verarbeitet, um zu bestimmen, ob es sich bei dem Problem um ein vorübergehendes Problem mit dem ersten Bild 300 gehandelt hat oder ob das zweite Bild 300 ebenfalls ein Fehlschlagen hervorruft. Wenn das zweite Bild 300 ebenfalls ein Fehlschlagen des Bestimmens eines Anhängerwinkel 210, 216 hervorruft, wird das zweite Bild 300 von dem Computer 105 gespeichert und wird ein drittes Bild 210 aufgenommen und verarbeitet. Wenn das dritte Bild 200, 205 ebenfalls ein Fehlschlagen hervorruft, wird das dritte Bild 200, 205 von dem Computer 105 gespeichert und kann der Prozess des Aufnehmens und Verarbeitens der Bilder 200, 205 eine Vielzahl von Malen (>10) wiederholt werden, um sicherzustellen, dass das Fehlschlagen andauert, und um eine Vielzahl von Bildern aufzunehmen, die einen Anhänger 200 beinhalten und dazu führen, dass das tiefe neuronale Netz 402 fehlschlägt.
  • 5 ist eine Darstellung eines Bildübersetzers 500 mit wenigen Aufnahmen. Bei einem Bildübersetzer 500 mit wenigen Aufnahmen handelt es sich um eine Art von generativem kontradiktorischen Netz, das modifiziert ist, um zu ermöglichen, dass der Bildübersetzer 500 mit wenigen Aufnahmen mit einem Trainingsdatensatz trainiert wird, der eine Vielzahl von Bildklassen 1 bis n (IC1, ICn) 512, 514 beinhaltet. Eine Bildklasse ist als ein Satz von Bildern definiert, wobei jedes Bild einen Anhänger 200 mit derselben Konfiguration in einer Vielzahl von Anhängerwinkeln 210 bei einer Vielzahl von Umgebungsbedingungen beinhaltet. Jede Bildklasse 512, 514 wird in einen Klassenkodierer (CLASS1, CLASSn) 508, 510 eingegeben. Bei den Klassenkodierern 508, 510 handelt es sich um neuronale Netze, die jeweils Faltungskodierungsschichten beinhalten, gefolgt von einer durchschnittlichen Pooling-Schicht. Jeder Klassenkodierer 508, 510 gibt latente Inhaltscodes aus, die den Konfigurationen des Anhängers 200 in kodiertem Format entsprechen. Die latenten Inhaltscodes (content latent codes - CLC) 516 werden in einen Mittelwertprozessor (mean processor - MN) 518 eingegeben, der einen Mittelwert und eine Varianz der latenten Inhaltscodes 516 bestimmt. Der Mittelwertprozessor gibt latente Klassenvektoren (latent class vectors - LCV) 522 aus, die den Mittelwert und die Varianz jedes der latenten Inhaltscodes 516 beinhalten.
  • Zur Trainingszeit werden ausgegebene latente Klassenvektoren 522, die auf Grundlage der Bildklassen 512, 514 in dem Trainingsdatensatz bestimmt wurden, an den Dekodierer (decoder - DEC) 524 gesendet. Die latenten Klassenvektoren 522 werden mit einer Vielzahl von vollständig verbundenen neuronalen Netzen in dem Dekodierer 524 verarbeitet, um Parameter zu bilden, die von einem affinen Transformationsprozessor in dem Dekodierer 524 verwendet werden sollen. Testeingabebilder (test input images - Test-IN) 504 werden in einen Inhaltskodierer (CONT) 502 eingegeben, der den Inhalt der Testeingabebilder 504 kodiert und latente Restmerkmale (latent residual features - LRF) 506 ausgibt. Der Inhaltskodierer 502 beinhaltet eine Vielzahl von Faltungsinhaltskodierungsschichten. Bei den latenten Restmerkmalen 506 handelt es sich um Daten, die den Komponenten des Anhängers 200 entsprechen, wie vorangehend in Bezug auf 2 und 3 beschrieben. Die latenten Restmerkmale 506 werden als Merkmalskarte ausgegeben, welche die Standorte der latenten Restmerkmale 506 in ein 16×16-Array kodiert.
  • Der Dekodierer 524 beinhaltet Dekodierungsschichten, die eine affine Transformation des latenten Restes durchführen, um die in den latenten Restmerkmalen 522 eingeschlossenen Merkmale in einem Format abzubilden, das dem latenten Klassenvektor entspricht. Eine affine Transformation beinhaltet Translations-, Rotations- und Skalierungsvorgänge, die auf das 16x16-Array angewendet werden. Der affine Transformationsvorgang bildet die latenten Restmerkmal 522, die aus einem Eingabebild 504 extrahiert wurden, in Bildmerkmalen ab, die einer der Bildklassen 512, 514 entsprechen, wobei die auf die Translation, Rotation und Skalierung angewendeten Parameter durch Trainieren bestimmt werden. Zur Trainingszeit wird das ausgegebene modifizierte Bild (MI) 526 zurückpropagiert, um es mit dem eingegebenen Trainingsbild 404 und den Bildklassen 512, 514 zu vergleichen. Das ausgegebene modifizierte Bild 526 wird getestet, indem der Anhängerwinkel 210 mit dem Anhängerwinkel des Eingabebildes 504 verglichen wird, während die Anhängerkomponenten in dem ausgegebenen modifizierten Bild 526 mit den Anhängerkomponenten in einer der Bildklassen 512, 514 verglichen werden. Wenn der Bildübersetzer 500 mit wenigen Aufnahmen das Training abgeschlossen hat, beinhaltet ein ausgegebenes modifiziertes Bild 526 Objekte mit derselben Objektausrichtung wie Objekte in dem eingegebenen Trainingsbild 404.
  • Der Bildübersetzer 500 mit wenigen Aufnahmen wird mit bekannten Bildklassen vortrainiert, um eine zufriedenstellende Bildübersetzungsqualität zu erhalten. Der Bildübersetzer 500 mit wenigen Aufnahmen wird dann durch Eingeben von gespeicherten Bildern 300 vortrainiert, die von einem Computer 105 in ein Fahrzeug 101 hochgeladen wurden und die dem Fehlschlagen des Bestimmens eines Anhängerwinkels 210 durch ein erstes tiefes neuronales Netz 302 durch Ersetzen einer der Quellklassen 512, 514 mit einer neuen Klasse, die aus Bildern aus den unbetrachteten fehlgeschlagenen Bildern besteht, entsprechen. Der Bildübersetzer 500 mit wenigen Aufnahmen wird mit bekannten Quellbildklassen vortrainiert, um eine zufriedenstellende Bildübersetzungsqualität für bekannte Klassen eines Anhängers 200 zu erhalten. Nach diesem Vortraining werden die fehlgeschlagenen oder unbetrachteten Bilder verwendet, um den Bildübersetzer 500 mit wenigen Aufnahmen als neue Klasse zu optimieren oder erneut zu trainieren. Die fehlgeschlagenen oder unbetrachteten Bilder werden verwendet, um das bereits vortrainierte Netz 500 des Bildübersetzers mit wenigen Aufnahmen erneut zu trainieren. Hierdurch wird der Bildübersetzer 500 mit wenigen Aufnahmen erneut trainiert, um die Eingabebilder 504 in dem Merkmalsraum abzubilden, der den gespeicherten Bildern 300 entspricht. Die Eingabebilder 504, die einer Vielzahl von Anhängerwinkeln 210 und einer Vielzahl von Umgebungsbedingungen entsprechen, werden in den Bildübersetzer 500 mit wenigen Aufnahmen eingegeben. Nach dem erneuten Trainieren kann der Bildübersetzer 500 mit wenigen Aufnahmen modifizierte Bilder 526 für die Bilder des Trailers 200 generieren, die den fehlgeschlagenen Bildern entsprechen. Modifizierte Bilder 526 beinhalten Bilder von Anhängern 200 in einer Vielzahl von Anhängerwinkeln 210 bei einer Vielzahl von Umgebungsbedingungen, die den Anhängerwinkeln und Umgebungsbedingungen des Eingabebildes 504 entsprechen, während sie die Merkmale der Anhänger in den gespeicherten Bildern 200, 205 beinhalten. Die ausgegebenen modifizierten Bilder 526 werden als zweiter Trainingsdatensatz für ein zweites tiefes neuronales Netz 610 verwendet.
  • 6 ist eine Darstellung eines Systems 600 zum erneuten Trainieren eines tiefen neuronalen Netzes. Das System 600 zum erneuten Trainieren des tiefen neuronalen Netzes beinhaltet einen Bildübersetzer mit wenigen Aufnahmen (FEW-SHOT IMAGE TRANSLATOR) 500 und ein tiefes neuronales Netz (deep neural network - DNN) 610. Bei dem tiefen neuronalen Netz 610 kann es sich um eine Kopie des tiefen neuronalen Netzes 402 handeln, das in einem Fahrzeug 101 eingeschlossen ist. Das tiefe neuronale Netz 610 kann ein Softwareprogramm sein, das auf einem cloudbasierten Computer ausgeführt wird, zum Beispiel dem Server 125, der über ein Netzwerk 120 mit dem in einem Fahrzeug 101 eingeschlossenen Computer 105 kommuniziert. Durch das Trainieren des tiefen neuronalen Netzes 610 mit den ausgegebenen modifizierten Bildern 526 kann das ursprüngliche tiefe neuronale Netz 610 erneut trainiert werden, um Anhängerwinkel 210 in Bildern zu bestimmen, die Anhänger 200 mit Komponenten aus den Bildern 300 beinhalten, die fehlgeschlagenen Versuchen durch das erste tiefe neuronale Netz 302 entsprechen. Die Bilder 300, die den fehlgeschlagenen Versuchen durch das erste tiefe neuronale Netz 302 entsprechen, werden als unbetrachtete Bilder (UNSEEN IMAGES) 604 in den Übersetzer mit wenigen Aufnahmen eingegeben. Unbetrachtete Bilder 604 werden als Bilder der Eingabeklasse 512, 514 in den Bildübersetzer 500 mit wenigen Aufnahmen eingegeben, um den Bildübersetzer 500 mit wenigen Aufnahmen so zu trainieren, dass er die eingegebenen Trainingsbilder 404 so modifiziert, dass sie Bildmerkmale beinhalten, zum Beispiel Anhängerkomponenten und Umgebungsbedingungen, die diese erscheinen lassen als wären sie unbetrachtete Bilder 604.
  • Die Trainingsbilder 404 sind in dem Trainingsdatensatz eingeschlossen, der zum Trainieren des tiefen neuronalen Netzes 402 verwendet wird. Da die Trainingsbilder 404 aus dem Trainingsdatensatz entnommen sind, beinhalten die Trainingsbilder 404 die entsprechende Ground Truth 406 bezogen auf den Anhängerwinkel 210. Der Bildübersetzer 500 mit wenigen Aufnehmen übersetzt die Trainingsbilder 404 in die Ausgabebilder 512, während die jedem Trainingsbild 404 entsprechende Ground Truth 406 erhalten bleibt. Der Bildübersetzer mit wenigen Aufnahmen modifiziert das Erscheinungsbild jedes eingegebenen Trainingsbildes 404, um es an das Erscheinungsbild von unbetrachteten Bildern 604 anzupassen, während der Anhängerwinkel 210 in den Trainingsbildern 404 erhalten bleibt. Das ausgegebene modifizierte Bild 526 kann an die Ground Truth angepasst werden, die dem eingegebenen Trainingsbild 404 entspricht, welches das ausgegebene modifizierte Bild 526 generiert hat, wodurch eine Ground Truth zum Trainieren des erneut trainierten tiefen neuronalen Netzes 610 bereitgestellt wird.
  • Wenn der Computer 105 eine Vielzahl von Bildern aufgenommen und gespeichert hat, die bewirken, dass das tiefe neuronale Netz 402 einen Anhängerwinkel 210, 216 nicht bestimmen kann, wird die gespeicherte Vielzahl von Bildern als unbetrachtete Bilder 604 in einen Bildübersetzer 500 mit wenigen Aufnahmen eingegeben. Bei einem Bildübersetzer 500 mit wenigen Aufnahmen handelt es sich um ein Softwareprogramm, das auf einem cloudbasierten Computer eines Verwaltungsrechenvorrichtungscomputers, zum Beispiel dem Server 125, ausgeführt wird. Auf dieses kann von einem Computer 105 in einem Fahrzeug 101 über ein Netzwerk 120 zugegriffen werden. Ein Bildübersetzer 500 mit wenigen Aufnahmen kann die unbetrachteten Bilder 604 eingeben, die eine neue Konfiguration des Anhängers 200 beinhalten, die nicht in den Trainingsbildern 404 eingeschlossen war, die zum Trainieren des ersten tiefen neuronalen Netzes 402 verwendet wurden. Der Bildübersetzer 500 mit wenigen Aufnahmen kann dann als Reaktion auf die Trainingsbilder 404 aus dem Trainingsdatensatz eine Vielzahl von zweiten Trainingsdatensätzen mit modifizierten Bildern 526 ausgeben, die Anhänger 200 beinhalten, die wie die neue Konfiguration des Anhängers 200 in einer Vielzahl von Anhängerwinkeln 210 entsprechend den Trainingsbildern 404 in dem ersten Trainingsdatensatz konfiguriert sind. Die modifizierten Bilder 526, die von dem Bildübersetzer 500 mit wenigen Aufnahmen ausgegeben werden, werden als modifizierte Bilder 526 bezeichnet, da die Trainingsbilder 404, wie nachfolgend in Bezug auf 5 erörtert, von dem Bildübersetzer 500 mit wenigen Aufnahmen verarbeitet werden, um das Erscheinungsbild der Anhänger 200 in den eingegebenen Trainingsbildern 404 auf Grundlage der unbetrachteten Bildern 604 zu verändern.
  • Der zweite Trainingsdatensatz, der die modifizierten Bilder 526 beinhaltet, die Bilder von Anhängern 200 beinhalten, die so modifiziert sind, dass sie in der neuen Konfiguration erscheinen, kann dem ersten Trainingsdatensatz hinzugefügt und zum erneuten Trainieren des ursprünglichen tiefen neuronalen Netzes 610 verwendet werden. Bei dem erneut trainierten tiefen neuronalen Netz 610 handelt es sich um ein Softwareprogramm, das auf einem cloudbasierten Verwaltungscomputer, zum Beispiel dem Server 125, ausgeführt wird. Das erneut trainierte tiefe neuronale Netz 610 ist eine Kopie des ersten tiefen neuronalen Netzes 302. Durch das erneute Trainieren des ursprünglichen tiefen neuronalen Netzes 610 zum Bestimmen der Anhängerwinkel 210, 216 unter Verwendung sowohl der Trainingsbilder 404 als auch der modifizierten Bilder 526 wird es dem erneut trainierten tiefen neuronalen Netz 610 ermöglicht, die Anhängerwinkel 210 für alle Anhänger 200 in sowohl den Trainingsbilder 404 als auch den modifizierten Bilder 526 zu bestimmen.
  • Nach dem Trainieren mit sowohl den Trainingsbildern 404 als auch den modifizierten Bildern 526 kann das erneut trainierte tiefe neuronale Netz 610 über das Netzwerk 120 auf einen Computer 105 in einem Fahrzeug 101 heruntergeladen werden, um die Anhängerwinkel 210 auf Grundlage der von einem in dem Fahrzeug eingeschlossenen Videosensor 216 aufgenommenen Eingabebildern 300 zu bestimmen. In Beispielen, in denen der Computer 105 kein tiefes neuronales Netz 402 beinhaltet, entspricht das Herunterladen des erneut trainierten tiefen neuronalen Netzes einer ersten Installation. In Beispielen, in denen ein Computer 105 in einem Fahrzeug 101 ein erstes tiefes neuronales Netz 402 beinhaltet, entspricht das erneut trainierte tiefe neuronale Netz 610 einer Aktualisierung des tiefen neuronalen Netzes 402 und ersetzt das tiefe neuronale Netz 402. Das Ersetzen kann erreicht werden, indem die Parameter oder Gewichtungen ersetzt werden, bei denen es sich um die Programmierdaten für ein tiefes neuronales Netz 402 handelt. Da das erneut trainierte tiefe neuronale Netz 610 sowohl unter Verwendung der Trainingsbilder 404 als auch der modifizierten Bilder 526 trainiert wurde, kann das erneut trainierte tiefe neuronale Netz 610 Anhängerwinkel 210 von Konfigurationen der Anhänger 200 erfolgreich bestimmen, einschließlich neuer Konfigurationen der Anhänger 200, die das Versagen des tiefen neuronalen Netzes 402 hervorgerufen haben.
  • 7 ist ein Ablaufdiagramm eines Prozesses 700 zum erneuten Trainieren eines tiefen neuronalen Netzes 610 und zum Herunterladen auf ein Fahrzeug 101. Der Prozess 700 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 700 beinhaltet mehrere Blöcke, die in der veranschaulichten Reihenfolge ausgeführt werden können. Der Prozess 700 könnte alternativ oder zusätzlich weniger Blöcke beinhalten oder kann die Blöcke in anderer Reihenfolge ausgeführt beinhalten.
  • Der Prozess 700 beginnt bei Block 702, bei dem ein erstes tiefes neuronales Netz 302, das in einem Fahrzeug 101 eingeschlossen ist, unbetrachtete Bilder 604 speichert, die fehlgeschlagenen Versuchen des Bestimmens eines Anhängerwinkels 210 in Bildern 300 entsprechen, die von einem in dem Fahrzeug 101 eingeschlossenen Videosensor 216 aufgenommen wurden.
  • Bei Block 704 lädt ein Computer 105 in dem Fahrzeug 101 die unbetrachteten Bilder 604 auf einen Bildübersetzer 500 mit wenigen Aufnahmen hoch. Der Bildübersetzer 500 mit wenigen Aufnahmen gibt die unbetrachteten Bilder 604 als Bildklasse 512, 513 ein, wodurch der Bildübersetzer 500 mit wenigen Aufnahmen trainiert wird, um Eingabebilder so zu modifizieren, dass sie dem Erscheinungsbild der unbetrachteten Bilder 604 entsprechen. Das Anpassen an das Erscheinungsbild der unbetrachteten Bildes 604 beinhaltet Modifizieren von Eingabebildern, um Komponenten des Anhängers 200 zu beinhalten, die in den unbetrachteten Bildern 604 eingeschlossen sind.
  • Bei Block 706 generiert der Bildübersetzer 500 mit wenigen Aufnahmen modifizierte Bilder 526 durch Eingeben von Trainingsbildern 404 und Übersetzen der Trainingsbilder 404 in modifizierte Bilder 526, wie vorangehend in Bezug auf 5 und 6 erörtert. Die ausgegebenen modifizierten Bilder 526 beinhalten Anhänger 200, die Anhängerwinkel 210 aufweisen, die mit den Anhängerwinkeln 210 in den Eingabebildern 504 übereinstimmen, während Komponenten der Anhänger 200 eingeschlossen sind, die mit den Komponenten der Anhänger 200 in den unbetrachteten Bildern 604 übereinstimmen.
  • Bei Block 708 werden die ausgegebenen modifizierten Bilder 526 mit der Ground Truth 406 aus den Trainingsbildern 404 kombiniert, um ein erneut trainiertes tiefes neuronales Netz 610 zu trainieren. Die ausgegebenen modifizierten Bilder 526 werden mit den Trainingsbildern 404 kombiniert, um das erneut trainierte tiefe neuronale Netz 610 zu trainieren, um die Anhängerwinkel 210 sowohl in den Trainingsbildern 404 als auch in den modifizierten Bildern 526 zu bestimmen. Auf diese Weise wird das erneut trainierte tiefe neuronale Netz 610 trainiert, um alle von tiefen neuronalen Netz 402 erkannten Arten von Anhängern 200 sowie die Arten der neuen Anhänger 200 zu verarbeiten, die den unbetrachteten Bildern 604 entsprechen, die das Fehlschlagen des tiefen neuronalen Netzes 402 hervorgerufen haben.
  • Bei Block 710 wird das erneut trainierte tiefe neuronale Netz 610 auf einen Computer 105 heruntergeladen, der in einem Fahrzeug 101 eingeschlossen ist. Das erneut trainierte tiefe neuronale Netz 610 kann von dem Computer 105 verwendet werden, um Anhängerwinkel 210 für Arten von Anhängern 200, einschließlich der Arten von Anhängern 200, die das Fehlschlagen des ersten tiefen neuronalen Netzes 302 hervorgerufen haben, erfolgreich zu bestimmen. In Beispielen, in denen der Computer 105 kein erstes tiefes neuronales Netz 402 beinhaltet, entspricht das Herunterladen des erneut trainierten tiefen neuronalen Netzes einer ersten Installation. In Beispielen, in denen ein Computer 105 in einem Fahrzeug 101 ein erstes tiefes neuronales Netz 402 beinhaltet, entspricht das erneut trainierte tiefe neuronale Netz 610 einer Aktualisierung des tiefen neuronalen Netzes 402 und ersetzt das tiefe neuronale Netz 402 oder programmiert dieses neu.
  • Das erneut trainierte tiefe neuronale Netz 610 kann ein Bild 404 eingeben, das einen Anhänger 200 beinhaltet, und einen Anhängerwinkel 210 bestimmen. Der Computer 105 kann die 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 Ausrichtung für einen Anhänger 200 auf Grundlage der Verarbeitung eines Eingabebildes 300 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. Im Anschluss an Block 710 endet der Prozess 700.
  • Rechenvorrichtungen, wie etwa die in dieser Schrift erörterten, beinhalten im Allgemeinen jeweils Befehle, die durch eine oder mehrere Rechenvorrichtungen, wie etwa die vorangehend genannten, und zum Ausführen von Blöcken oder Schritten von vorangehend beschriebenen Prozessen ausführbar sind. Die vorangehend erörterten Prozessblöcke können zum Beispiel als computerausführbare Befehle ausgeführt 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 ein 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 schliel en zum Beispiel optische oder magnetische Platten und sonstige Dauerspeicher ein. Flüchtige Medien schliel en einen dynamischen Direktzugriffsspeicher (dynamic random access memory - DRAM) ein, der typischerweise einen Hauptspeicher darstellt. Gängige Formen computerlesbarer Medien schliel 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. Typischerweise 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. Beispielsweise wird eine ASIC auf Grundlage von VHDL-Programmierung hergestellt, die vor der Herstellung bereitgestellt wird, wohingegen logische Komponenten innerhalb eines FPGA auf Grundlage von VHDL-Programmierung konfiguriert sein können, z. B. auf einem Speicher gespeichert sind, 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 die gleichen Bezugszeichen die gleichen 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äl 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 vorliegenden Beschreibungen von Prozessen zur Veranschaulichung bestimmter Ausführungsformen bereitgestellt und sollten keinesfalls dahingehend ausgelegt werden, dass sie die beanspruchte Erfindung einschränken.
  • Gemäl der vorliegenden Erfindung ist ein System bereitgestellt, das eine Verwaltungsrechenvorrichtung umfasst, die Folgendes aufweist: einen Prozessor; und einen Speicher, wobei der Speicher Anweisungen beinhaltet, die durch den Prozessor zu Folgendem ausgeführt werden können: Empfangen eines oder mehrerer Bilder von einem Fahrzeug, wobei ein erstes tiefes neuronales Netz, das in einem Computer in dem Fahrzeug eingeschlossen ist, eine Ausrichtung eines ersten Objekts in dem einen oder den mehreren Bildern nicht bestimmen konnte; Generieren einer Vielzahl von modifizierten Bildern mit einem Bild-zu-Bild-Übersetzer mit wenigen Aufnahmen, wobei die modifizierten Bilder jeweils ein modifiziertes Objekt beinhalten, das auf dem ersten Objekt basiert; Trainieren eines zweiten tiefen neuronalen Netzes, um die Ausrichtung des ersten Objekts auf Grundlage der Vielzahl von modifizierten Bildern zu bestimmen; und Herunterladen des trainierten zweiten tiefen neuronalen Netzes auf das Fahrzeug.
  • Gemäl einer Ausführungsform basiert der Bild-zu-Bild-Übersetzer mit wenigen Aufnahmen auf einem generativen kontradiktorischen Netz und wird unter Verwendung einer Vielzahl von Bildern der realen Welt und einer Vielzahl von synthetischen Bildern trainiert, um ein oder mehrere Eingabebilder auf Grundlage des einen Bildes oder der mehreren Bilder von dem Fahrzeug in die Vielzahl von modifizierten Bildern zu übersetzen.
  • Gemäl einer Ausführungsform beinhalten die Anweisungen weitere Anweisungen zum Trainieren des Bild-zu-Bild-Übersetzers mit wenigen Aufnahmen auf Grundlage der Vielzahl von Bildern der realen Welt und der Vielzahl von synthetischen Bilder, die einen Fahrzeuganhänger und Ground-Truth-Daten bezüglich eines Winkels von jedem Fahrzeuganhänger in Bezug auf ein Fahrzeug beinhalten.
  • Gemäl einer Ausführungsform beinhalten die Vielzahl von Bildern der realen Welt und die Vielzahl von synthetischen Bildern eine Vielzahl von Wetter- und Beleuchtungsbedingungen, einschließlich Tageszeit, Nachtzeit, Regen, Schnee und einer Vielzahl von Sonnenlichtrichtungen.
  • Gemäl einer Ausführungsform beinhaltet die Vielzahl von Fahrzeuganhängern in der Vielzahl von Bildern der realen Welt und der Vielzahl von synthetischen Bildern eine Vielzahl von Fahrzeuganhängerarten, die eine Vielzahl von Anhängerkomponenten aufweisen, die in einer Vielfalt von Konfigurationen konfiguriert sind.
  • Gemäl einer Ausführungsform ist das erste Objekt ein Fahrzeuganhänger und beinhaltet das Bestimmen der Ausrichtung des ersten Objekts Bestimmen von jeweils einem Winkel eines Fahrzeuganhängers in Bezug auf ein Fahrzeug für jedes modifizierte Bild.
  • Gemäl einer Ausführungsform beinhaltet die Vielzahl von modifizierten Bildern jeweils Ground-Truth-Daten, die einen entsprechenden Winkel eines Fahrzeuganhängers in Bezug auf ein Fahrzeug beinhalten.
  • Gemäl einer Ausführungsform beinhaltet jedes modifizierte Bild einen Fahrzeuganhänger, der in einem Winkel in Bezug auf ein Fahrzeug ausgerichtet ist, der gleich einem Winkel eines Objekts ist, das in einem Eingabebild auftritt.
  • Gemäl einer Ausführungsform basiert jedes modifizierte Objekt auf Fahrzeuganhängerkomponenten, die in dem ersten Objekt eingeschlossen sind, in einer selben Konfiguration wie die Fahrzeuganhängerkomponenten, die in dem ersten Objekt eingeschlossen sind.
  • Gemäl einer Ausführungsform beinhalten das erste und zweite tiefe neuronale Netz Faltungsschichten und vollständig verbundene Schichten, wobei die Faltungsschichten Eingabebildaten verarbeiten und die vollständig verbundenen Schichten eine Ausgabe von den Faltungsschichten verarbeiten, um einen Winkel des Objekts in Bezug auf ein Fahrzeug zu bestimmen.
  • Gemäl einer Ausführungsform beinhaltet der Bild-zu-Bild-Übersetzer mit wenigen Aufnahmen Inhaltskodierungsschichten, Klassenkodierungsschichten und Dekodierungsschichten, wobei die Inhaltskodierungsschichten latente Restmerkmale auf Grundlage eines Eingabeobjekttyps und einer Objektausrichtung generieren und die Dekodierungsschichten ein Ausgabebild auf Grundlage der Klassenkodierungsschichten generieren.
  • Gemäl einer Ausführungsform beinhalten die Anweisungen weitere Anweisungen zum Betreiben eines Fahrzeugs durch Eingeben eines Bildes in ein zweites tiefes neuronales Netz, um einen Anhängerwinkel eines angebrachten Anhängers zu bestimmen.
  • Gemäl einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Betreiben des Fahrzeugs durch Geben eines Befehls an einen Fahrzeugantriebsstrang, eine Fahrzeuglenkung und Fahrzeugbremsen, das Fahrzeug entlang des Fahrzeugpfades zu betreiben, wodurch Kräfte auf den angebrachten Anhänger ausgeübt werden, um den angebrachten Anhänger in einer Zielausrichtung zu einem Zielstandort zu bewegen.
  • Gemäl der vorliegenden Erfindung beinhaltet ein Verfahren Folgendes: Empfangen eines oder mehrerer Bilder von einem Fahrzeug, wobei ein erstes tiefes neuronales Netz, das in einem Computer in dem Fahrzeug eingeschlossen ist, eine Ausrichtung eines ersten Objekts in dem einen oder den mehreren Bildern nicht bestimmen konnte; Generieren einer Vielzahl von modifizierten Bildern mit einem Bild-zu-Bild-Übersetzer mit wenigen Aufnahmen, wobei die modifizierten Bilder jeweils ein modifiziertes Objekt beinhalten, das auf dem ersten Objekt basiert; Trainieren eines zweiten tiefen neuronalen Netzes, um die Ausrichtung des modifizierten Objekts auf Grundlage der Vielzahl von modifizierten Bildern zu bestimmen; und Herunterladen des trainierten zweiten tiefen neuronalen Netzes auf das Fahrzeug.
  • In einem Aspekt der Erfindung basiert der Bild-zu-Bild-Übersetzer mit wenigen Aufnahmen auf einem generativen kontradiktorischen Netz und wird unter Verwendung einer Vielzahl von Bildern der realen Welt und einer Vielzahl von synthetischen Bildern trainiert, um ein oder mehrere Eingabebilder auf Grundlage des einen Bildes oder der mehreren Bilder von dem Fahrzeug in die Vielzahl von modifizierten Bildern zu übersetzen.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren Trainieren des Bild-zu-Bild-Übersetzers mit wenigen Aufnahmen auf Grundlage der Vielzahl von Bildern der realen Welt und einer Vielzahl von synthetischen Bildern, die Fahrzeuganhänger und Ground-Truth-Daten bezüglich eines Winkels von jedem Fahrzeuganhänger jeweils in Bezug auf ein Fahrzeug für jedes Bild der realen Welt beinhalten.
  • In einem Aspekt der Erfindung beinhalten die Vielzahl von Bildern der realen Welt und die Vielzahl von synthetischen Bildern eine Vielzahl von Wetter- und Beleuchtungsbedingungen, einschließlich Tageszeit, Nachtzeit, Regen, Schnee und einer Vielzahl von Sonnenlichtrichtungen.
  • In einem Aspekt der Erfindung beinhaltet die Vielzahl von Fahrzeuganhängern in der Vielzahl von Bildern der realen Welt und der Vielzahl von synthetischen Bildern eine Vielzahl von Fahrzeuganhängerarten, die eine Vielzahl von Anhängerkomponenten aufweisen, die in einer Vielfalt von Konfigurationen konfiguriert sind.
  • In einem Aspekt der Erfindung ist das erste Objekt ein Fahrzeuganhänger und beinhaltet das Bestimmen der Ausrichtung des ersten Objekts Bestimmen von jeweils einem Winkel eines Fahrzeuganhängers in Bezug auf ein Fahrzeug für jedes modifizierte Bild.
  • In einem Aspekt der Erfindung beinhalten die Vielzahl von modifizierten Bildern jeweils Ground-Truth-Daten, die einen entsprechenden Winkel eines Fahrzeuganhängers in Bezug auf ein Fahrzeug beinhalten.

Claims (15)

  1. Verfahren, umfassend: Empfangen eines oder mehrerer Bilder von einem Fahrzeug, wobei ein erstes tiefes neuronales Netz, das in einem Computer in dem Fahrzeug eingeschlossen ist, eine Ausrichtung eines ersten Objekts in dem einen oder den mehreren Bildern nicht bestimmen konnte; Generieren einer Vielzahl von modifizierten Bildern mit einem Bild-zu-Bild-Übersetzer mit wenigen Aufnahmen, wobei die modifizierten Bilder jeweils ein modifiziertes Objekt beinhalten, das auf dem ersten Objekt basiert; Trainieren eines zweiten tiefen neuronalen Netzes, um die Ausrichtung des modifizierten Objekts auf Grundlage der Vielzahl von modifizierten Bildern zu bestimmen; und Herunterladen des trainierten zweiten tiefen neuronalen Netzes auf das Fahrzeug.
  2. Verfahren nach Anspruch 1, wobei der Bild-zu-Bild-Übersetzer mit wenigen Aufnahmen auf einem generativen kontradiktorischen Netz basiert und unter Verwendung einer Vielzahl von Bildern der realen Welt und einer Vielzahl von synthetischen Bildern trainiert wird, um ein oder mehrere Eingabebilder auf Grundlage des einen Bildes oder der mehreren Bilder von dem Fahrzeug in die Vielzahl von modifizierten Bildern zu übersetzen.
  3. Verfahren nach Anspruch 2, ferner umfassend Trainieren des Bild-zu-Bild-Übersetzers mit wenigen Aufnahmen auf Grundlage der Vielzahl von Bildern der realen Welt und einer Vielzahl von synthetischen Bildern, die Fahrzeuganhänger und Ground-Truth-Daten bezüglich eines Winkels von jedem Fahrzeuganhänger jeweils in Bezug auf ein Fahrzeug für jedes Bild der realen Welt beinhalten.
  4. Verfahren nach Anspruch 3, wobei die Vielzahl von Bildern der realen Welt und die Vielzahl von synthetischen Bildern eine Vielzahl von Wetter- und Beleuchtungsbedingungen beinhalten, einschließlich Tageszeit, Nachtzeit, Regen, Schnee und einer Vielzahl von Sonnenlichtrichtungen.
  5. Verfahren nach Anspruch 4, wobei die Vielzahl von Fahrzeuganhängern in der Vielzahl von Bildern der realen Welt und der Vielzahl von synthetischen Bildern eine Vielzahl von Fahrzeuganhängerarten beinhaltet, die eine Vielzahl von Anhängerkomponenten aufweisen, die in einer Vielfalt von Konfigurationen konfiguriert sind.
  6. Verfahren nach Anspruch 1, wobei das erste Objekt ein Fahrzeuganhänger ist und das Bestimmen der Ausrichtung des ersten Objekts Bestimmen von jeweils einem Winkel eines Fahrzeuganhängers in Bezug auf ein Fahrzeug für jedes modifizierte Bild beinhaltet.
  7. Verfahren nach Anspruch 1, wobei die Vielzahl von modifizierten Bildern jeweils Ground-Truth-Daten beinhalten, die einen entsprechenden Winkel eines Fahrzeuganhängers in Bezug auf ein Fahrzeug beinhalten.
  8. Verfahren nach Anspruch 1, wobei jedes modifizierte Bild einen Fahrzeuganhänger beinhaltet, der in einem Winkel in Bezug auf ein Fahrzeug ausgerichtet ist, der gleich einem Winkel eines Objekts ist, das in einem Eingabebild auftritt.
  9. Verfahren nach Anspruch 1, wobei jedes modifizierte Bild auf Grundlage des ersten Objekts Fahrzeuganhängerkomponenten, die in dem ersten Objekt eingeschlossen sind, in einer selben Konfiguration wie die Fahrzeuganhängerkomponenten beinhaltet, die in dem ersten Objekt eingeschlossen sind.
  10. Verfahren nach Anspruch 1, wobei das erste und zweite tiefe neuronale Netz Faltungsschichten und vollständig verbundene Schichten beinhalten, wobei die Faltungsschichten Eingabebildaten verarbeiten und die vollständig verbundenen Schichten eine Ausgabe von den Faltungsschichten verarbeiten, um einen Winkel des Objekts in Bezug auf ein Fahrzeug zu bestimmen.
  11. Verfahren nach Anspruch 1, wobei der Bild-zu-Bild-Übersetzer mit wenigen Aufnahmen Inhaltskodierungsschichten, Klassenkodierungsschichten und Dekodierungsschichten beinhaltet, wobei die Inhaltskodierungsschichten latente Restmerkmale auf Grundlage eines Eingabeobjekttyps und einer Objektausrichtung generieren und die Dekodierungsschichten ein Ausgabebild auf Grundlage der Klassenkodierungsschichten generieren.
  12. Verfahren nach Anspruch 1, ferner umfassend Betreiben eines Fahrzeugs durch Eingeben eines Bildes in ein zweites tiefes neuronales Netz, um einen Anhängerwinkel eines angebrachten Anhängers zu bestimmen.
  13. Verfahren nach Anspruch 1, ferner umfassend Betreiben eines Fahrzeugs durch Bestimmen eines Fahrzeugpfades auf Grundlage der Eingabedaten, die einen angebrachten Anhänger beinhalten.
  14. Verfahren nach Anspruch 12, ferner umfassend Betreiben des Fahrzeugs durch Geben eines Befehls an einen Fahrzeugantriebsstrang, eine Fahrzeuglenkung und Fahrzeugbremsen, das Fahrzeug entlang des Fahrzeugpfades zu betreiben, wodurch Kräfte auf den angebrachten Anhänger ausgeübt werden, um den angebrachten Anhänger in einer Zielausrichtung zu einem Zielstandort zu bewegen.
  15. System, das einen Computer umfasst, der programmiert ist, um die Verfahren nach einem der Ansprüche 1-14 durchzuführen.
DE102021109413.5A 2020-04-15 2021-04-14 Augmentation von fahrzeugdaten Pending DE102021109413A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/848,957 2020-04-15
US16/848,957 US20210323555A1 (en) 2020-04-15 2020-04-15 Vehicle data augmentation

Publications (1)

Publication Number Publication Date
DE102021109413A1 true DE102021109413A1 (de) 2021-10-21

Family

ID=77920120

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021109413.5A Pending DE102021109413A1 (de) 2020-04-15 2021-04-14 Augmentation von fahrzeugdaten

Country Status (3)

Country Link
US (1) US20210323555A1 (de)
CN (1) CN113525416A (de)
DE (1) DE102021109413A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7247790B2 (ja) * 2019-07-02 2023-03-29 株式会社デンソー 走行環境監視装置、走行環境監視システム、及び走行環境監視プログラム
US11592828B2 (en) * 2020-01-16 2023-02-28 Nvidia Corporation Using neural networks to perform fault detection in autonomous driving applications
US11299169B2 (en) * 2020-01-24 2022-04-12 Ford Global Technologies, Llc Vehicle neural network training
US11610412B2 (en) * 2020-09-18 2023-03-21 Ford Global Technologies, Llc Vehicle neural network training
WO2022271178A1 (en) * 2021-06-24 2022-12-29 Deere & Company Determining vehicle heading and implement heading of low speed farming machine

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10196088B2 (en) * 2011-04-19 2019-02-05 Ford Global Technologies, Llc Target monitoring system and method
US10706291B2 (en) * 2017-03-03 2020-07-07 Magna Electronics Inc. Trailer angle detection system for vehicle
WO2020171915A1 (en) * 2019-02-19 2020-08-27 Hrl Laboratories, Llc System and method for transferring electro-optical (eo) knowledge for synthetic-aperture-radar (sar)-based object detection
US11599980B2 (en) * 2020-02-05 2023-03-07 Google Llc Image transformation using interpretable transformation parameters
US11263487B2 (en) * 2020-03-25 2022-03-01 Microsoft Technology Licensing, Llc Multi-task GAN, and image translator and image classifier trained thereby

Also Published As

Publication number Publication date
US20210323555A1 (en) 2021-10-21
CN113525416A (zh) 2021-10-22

Similar Documents

Publication Publication Date Title
DE102017126877B4 (de) Kraftfahrzeug
DE102019122826A1 (de) Adaptives fahrzeuglernen
DE102021109413A1 (de) Augmentation von fahrzeugdaten
DE102019122027A1 (de) Fahrzeugwegplanung
DE102020110458A1 (de) Fahrzeugpfadvorhersage
DE102017120112A1 (de) Tiefenkartenschätzung mit stereobildern
DE102019131384A1 (de) Strassenbelagcharakterisierung unter verwendung von posenbeobachtungen von benachbarten fahrzeugen
DE102019119162A1 (de) Posenschätzung
DE102019121140A1 (de) Sensorfusion
DE102019101938A1 (de) Erstellung kognitiver Karten für Fahrzeuge
DE102020130387A1 (de) Fahrzeugwegplanung
DE102020117376A1 (de) Generierung eines fahrzeugbildes
DE102020113848A1 (de) Ekzentrizitätsbildfusion
DE112020001106T5 (de) Ausrichten von Straßeninformationen zur Navigation
DE102020126155A1 (de) Trainieren eines neuronalen netzwerks eines fahrzeugs
DE102019126542A1 (de) Lokalisierung einer stationären kamera
DE102018100987A1 (de) Objektverfolgung durch unüberwachtes lernen
DE102022114048A1 (de) Bildentzerrung
DE102021108470A1 (de) Realistische bildperspektiventransformation unter verwendung neuronaler netze
DE102022100152A1 (de) Sichtbasierte roboternavigation durch koppeln von tiefem bestärkendem lernen und einem wegplanungsalgorithmus
DE102020107339A1 (de) Objektverfolgung für fahrzeuge
DE102020107149A1 (de) Fahrzeugkapsel-netzwerke
DE102020116964A1 (de) Visuelle odometrie für fahrzeug
DE102021101270A1 (de) Trainieren eines neuronalen netzwerks eines fahrzeugs
DE102022114201A1 (de) Neuronales Netz zur Objekterfassung und -Nachverfolgung

Legal Events

Date Code Title Description
R082 Change of representative

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

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009620000

Ipc: G06V0030190000