DE102021107914A1 - Verbesserter fahrzeugbetrieb - Google Patents

Verbesserter fahrzeugbetrieb Download PDF

Info

Publication number
DE102021107914A1
DE102021107914A1 DE102021107914.4A DE102021107914A DE102021107914A1 DE 102021107914 A1 DE102021107914 A1 DE 102021107914A1 DE 102021107914 A DE102021107914 A DE 102021107914A DE 102021107914 A1 DE102021107914 A1 DE 102021107914A1
Authority
DE
Germany
Prior art keywords
vehicle
polygonal
machine learning
image
layer
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
DE102021107914.4A
Other languages
English (en)
Inventor
Mayar Arafa
Vidya Nariyambut murali
Xianling Zhang
Nikita Jaipuria
Rohan Bhasin
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 DE102021107914A1 publication Critical patent/DE102021107914A1/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
    • 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/06Automatic manoeuvring for parking
    • 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/586Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of parking space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • 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
    • G06V20/588Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/14Traffic control systems for road vehicles indicating individual free spaces in parking areas
    • G08G1/141Traffic control systems for road vehicles indicating individual free spaces in parking areas with means giving the indication of available parking spaces
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/14Traffic control systems for road vehicles indicating individual free spaces in parking areas
    • G08G1/141Traffic control systems for road vehicles indicating individual free spaces in parking areas with means giving the indication of available parking spaces
    • G08G1/143Traffic control systems for road vehicles indicating individual free spaces in parking areas with means giving the indication of available parking spaces inside the vehicles
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/14Traffic control systems for road vehicles indicating individual free spaces in parking areas
    • G08G1/145Traffic control systems for road vehicles indicating individual free spaces in parking areas where the indication depends on the parking areas
    • G08G1/146Traffic control systems for road vehicles indicating individual free spaces in parking areas where the indication depends on the parking areas where the parking area is a limited parking space, e.g. parking garage, restricted space
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/14Traffic control systems for road vehicles indicating individual free spaces in parking areas
    • G08G1/145Traffic control systems for road vehicles indicating individual free spaces in parking areas where the indication depends on the parking areas
    • G08G1/147Traffic control systems for road vehicles indicating individual free spaces in parking areas where the indication depends on the parking areas where the parking area is within an open public zone, e.g. city centre
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Traffic Control Systems (AREA)
  • Image Analysis (AREA)

Abstract

Diese Offenbarung stellt verbesserten Fahrzeugbetrieb bereit. Ein Computer beinhaltet einen Prozessor und einen Speicher, wobei der Speicher durch den Prozessor ausführbare Anweisungen speichert zum Eingeben eines Bilds in eine erste Schicht eines Programms zum maschinellen Lernen, wobei die erste Schicht darauf trainiert ist, eine oder mehrere viereckige Regionen in dem Bild zu identifizieren, nach dem Identifizieren der einen oder mehreren viereckigen Regionen Eingeben des erfassten Bilds in eine zweite Schicht eines Programms zum maschinellen Lernen, wobei die zweite Schicht darauf trainiert ist, eine Vielzahl von Sätzen von Eckpunkten zu identifizieren, wobei jeder Satz von Eckpunkten eine jeweilige polygonale Fläche definiert, Identifizieren einer der polygonalen Flächen, in der ein Fahrzeug geparkt werden soll, und Betätigen einer oder mehrerer Fahrzeugkomponenten, um das Fahrzeug in die identifizierte polygonale Fläche zu bewegen.

Description

  • GEBIET DER TECHNIK
  • Die Offenbarung betrifft im Allgemeinen Fahrzeugsensoren.
  • ALLGEMEINER STAND DER TECHNIK
  • Fahrzeuge können mit Rechenvorrichtungen, Netzen, Sensoren und Steuerungen ausgestattet sein, um Daten zu der Umgebung des Fahrzeugs zu erheben und 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
  • Ein System beinhaltet einen Computer, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher durch den Prozessor ausführbare Anweisungen speichert zum Eingeben eines Bilds in eine erste Schicht eines Programms zum maschinellen Lernen, wobei die erste Schicht darauf trainiert ist, eine oder mehrere viereckige Regionen in dem Bild zu identifizieren, nach dem Identifizieren der einen oder mehreren viereckigen Regionen Eingeben des erfassten Bilds in eine zweite Schicht eines Programms zum maschinellen Lernen, wobei die zweite Schicht darauf trainiert ist, eine Vielzahl von Sätzen von Eckpunkten zu identifizieren, wobei jeder Satz von Eckpunkten eine jeweilige polygonale Fläche definiert, Identifizieren einer der polygonalen Flächen, in der ein Fahrzeug geparkt werden soll, und Betätigen einer oder mehrerer Fahrzeugkomponenten, um das Fahrzeug in die identifizierte polygonale Fläche zu bewegen.
  • Die Anweisungen können ferner Anweisungen zum Eingeben des Satzes von Eckpunkten der identifizierten polygonalen Fläche in einen Pfadplanungsalgorithmus beinhalten, um einen Pfad auszugeben, um das Fahrzeug in die identifizierte polygonale Fläche zu bewegen.
  • Die Anweisungen können ferner Anweisungen zum Identifizieren einer linken Grenze und einer rechten Grenze der polygonalen Fläche und zum Betätigen der einen oder mehreren Fahrzeugkomponenten, um das Fahrzeug zwischen der linken Grenze und der rechten Grenze zu bewegen, beinhalten.
  • Die Anweisungen können ferner Anweisungen zum Identifizieren des Satzes von Eckpunkten einer der polygonalen Flächen auf Grundlage eines Standorts eines Zielfahrzeugs, das in dem erfassten Bild identifiziert ist, beinhalten.
  • Die Anweisungen können ferner Anweisungen zum Identifizieren des Satzes von Eckpunkten einer der polygonalen Flächen zwischen dem Zielfahrzeug und einem zweiten Zielfahrzeug beinhalten.
  • Die erste Schicht des Programms zum maschinellen Lernen kann mit einer Vielzahl von Referenzbildern trainiert sein, in der Grenzen von viereckigen Referenzregionen mit Anmerkungen versehen sind.
  • Die zweite Schicht des Programms zum maschinellen Lernen kann mit einer Vielzahl von Referenzbildern trainiert sein, in der Referenzsätze von Eckpunkten einer oder mehrerer polygonaler Referenzflächen mit Anmerkungen versehen sind.
  • Das Programm zum maschinellen Lernen kann mit einer Vielzahl von synthetischen Bildern trainiert sein, wobei jedes synthetische Bild durch Hinzufügen mindestens eines von einem Beleuchtungsmerkmal, einem Wettermerkmal, einem Oberflächentexturmerkmal oder einem simulierten Fahrzeug zu einem realen Bild oder einem simulierten Bild erzeugt wird.
  • Die Vielzahl von synthetischen Bildern kann Anmerkungen von polygonalen Referenzflächen beinhalten.
  • Mindestens ein synthetisches Bild kann eine Anmerkung beinhalten, die eine polygonale Region identifiziert, in der das Parken nicht erlaubt ist, und das Programm zum maschinellen Lernen kann durch Eingeben des mindestens einen synthetischen Bilds darauf trainiert sein, die polygonale Region als falsche Identifizierung der polygonalen Fläche zu identifizieren.
  • Mindestens ein synthetisches Bild kann eine Anmerkung beinhalten, die Grenzen einer Fläche identifiziert, der Grenzlinienmarkierungen fehlen.
  • Das Programm zum maschinellen Lernen kann darauf trainiert sein, die polygonale Fläche zu identifizieren, wenn dem erfassten Bild eine oder mehrere Grenzlinienmarkierungen fehlen.
  • Ein Verfahren beinhaltet Eingeben eines erfassten Bilds in eine erste Schicht eines Programms zum maschinellen Lernen, wobei die erste Schicht darauf trainiert ist, eine oder mehrere viereckige Regionen zu identifizieren, nach dem Identifizieren der einen oder mehreren viereckigen Regionen Eingeben des erfassten Bilds in eine zweite Schicht eines Programms zum maschinellen Lernen, wobei die zweite Schicht darauf trainiert ist, eine Vielzahl von Sätzen von Eckpunkten zu identifizieren, wobei jeder Satz von Eckpunkten eine jeweilige polygonale Fläche definiert, Identifizieren einer der polygonalen Flächen, in der ein Fahrzeug geparkt werden soll, und Betätigen einer oder mehrerer Fahrzeugkomponenten, um das Fahrzeug in die identifizierte polygonale Fläche zu bewegen.
  • Das Verfahren kann ferner Eingeben des Satzes von Eckpunkten der identifizierten polygonalen Fläche in einen Pfadplanungsalgorithmus beinhalten, um einen Pfad auszugeben, um das Fahrzeug in die identifizierte polygonale Fläche zu bewegen.
  • Das Verfahren kann ferner Identifizieren einer linken Grenze und einer rechten Grenze der polygonalen Fläche und Betätigen der einen oder mehreren Fahrzeugkomponenten, um das Fahrzeug zwischen der linken Grenze und der rechten Grenze zu bewegen, beinhalten.
  • Das Verfahren kann ferner Identifizieren des Satzes von Eckpunkten einer der polygonalen Flächen auf Grundlage eines Standorts eines Zielfahrzeugs, das in dem erfassten Bild identifiziert ist, beinhalten.
  • Das Verfahren kann ferner Identifizieren des Satzes von Eckpunkten einer der polygonalen Flächen zwischen dem Zielfahrzeug und einem zweiten Zielfahrzeug beinhalten.
  • Das Verfahren kann ferner Trainieren der ersten Schicht des Programms zum maschinellen Lernen mit einer Vielzahl von Referenzbildern beinhalten, in der Grenzen von viereckigen Referenzregionen mit Anmerkungen versehen sind.
  • Das Verfahren kann ferner Trainieren der zweiten Schicht des Programms zum maschinellen Lernen mit einer Vielzahl von Referenzbildern beinhalten, in der Referenzsätze von Eckpunkten einer oder mehrerer polygonaler Referenzflächen mit Anmerkungen versehen sind.
  • Das Verfahren kann ferner Trainieren des Programms zum maschinellen Lernen mit einer Vielzahl von synthetischen Bildern beinhalten, wobei jedes synthetische Bild durch Hinzufügen mindestens eines von einem Beleuchtungsmerkmal, einem Wettermerkmal, einem Oberflächentexturmerkmal oder einem simulierten Fahrzeug zu einem realen Bild oder einem simulierten Bild erzeugt wird.
  • Mindestens ein synthetisches Bild kann eine Anmerkung beinhalten, die eine polygonale Region identifiziert, in der das Parken nicht erlaubt ist, und das Verfahren kann ferner Trainieren des Programms zum maschinellen Lernen durch Eingeben des mindestens einen synthetischen Bilds darauf beinhalten, die polygonale Region als falsche Identifizierung der polygonalen Fläche zu identifizieren.
  • Das Verfahren kann ferner Trainieren des Programms zum maschinellen Lernen darauf beinhalten, die polygonale Fläche zu identifizieren, wenn dem erfassten Bild eine oder mehrere Grenzlinienmarkierungen fehlen.
  • Ein System beinhaltet ein Fahrzeug, das einen Sensor und eine Vielzahl von Fahrzeugkomponenten beinhaltet, Mittel zum Erfassen eines Bilds mit dem Sensor, Mittel zum Eingeben eines erfassten Bilds in eine erste Schicht eines Programms zum maschinellen Lernen, wobei die erste Schicht darauf trainiert ist, eine oder mehrere viereckige Regionen zu identifizieren, Mittel zum Eingeben des erfassten Bilds in eine zweite Schicht eines Programms zum maschinellen Lernen, wobei die zweite Schicht darauf trainiert ist, eine Vielzahl von Sätzen von Eckpunkten zu identifizieren, wobei jeder Satz von Eckpunkten eine jeweilige polygonale Fläche definiert, nach dem Identifizieren der einen oder mehreren viereckigen Regionen, Mittel zum Identifizieren einer der polygonalen Flächen, in der das Fahrzeug geparkt werden soll, und Mittel zum Betätigen einer oder mehrerer der Vielzahl von Fahrzeugkomponenten, um das Fahrzeug in die identifizierte polygonale Fläche zu bewegen.
  • Das System kann ferner Mittel zum Eingeben des Satzes von Eckpunkten der identifizierten polygonalen Fläche in einen Pfadplanungsalgorithmus beinhalten, um einen Pfad auszugeben, um das Fahrzeug in die identifizierte polygonale Fläche zu bewegen.
  • Das System kann ferner Mittel zum Identifizieren einer linken Grenze und einer rechten Grenze der polygonalen Fläche und Betätigen der einen oder mehreren Fahrzeugkomponenten, um das Fahrzeug zwischen der linken Grenze und der rechten Grenze zu bewegen, beinhalten.
  • Ferner ist eine Rechenvorrichtung offenbart, die dazu programmiert ist, beliebige der vorstehenden Verfahrensschritte auszuführen. Noch ferner ist ein Fahrzeug offenbart, das die Rechenvorrichtung umfasst. Noch ferner ist ein Computerprogrammprodukt offenbart, das ein computerlesbares Medium umfasst, das Anweisungen speichert, die durch einen Computerprozessor ausführbar sind, um beliebige der vorstehenden Verfahrensschritte auszuführen.
  • Figurenliste
    • 1 ist ein Diagramm eines beispielhaften Systems zum Einparken eines Fahrzeugs.
    • 2 ist eine Ansicht eines Bilds eines beispielhaften Parkplatzes.
    • 3 ist ein Diagramm eines beispielhaften Programms zum maschinellen Lernen.
    • 4 ist ein Diagramm eines Servers, der ein synthetisches Bild erzeugt.
    • 5 ist ein Diagramm eines beispielhaften Prozesses zum Einparken des Fahrzeugs.
    • 6 ist ein Diagramm eines beispielhaften Prozesses zum Erzeugen synthetischer Bilder.
  • DETAILLIERTE BESCHREIBUNG
  • Autonome Fahrzeuge können unbelegte Parkplätze detektieren, auf denen sie einparken können. Die Plätze können z. B. mit Bilddaten von einer oder mehreren Kameras detektiert werden. Ein Computer in einem Fahrzeug kann viereckige Regionen von Interesse mit einem Objektdetektionsmodell identifizieren und dann ein Polygon mit einem Programm zum maschinellen Lernen mit Polygonregression anpassen, um eine Vielzahl von Eckpunkten an einen Parkplatz anzupassen. Die Verwendung der Polygonregression zum Identifizieren des Parkplatzes stellt verbesserte Effizienz, z. B. Geschwindigkeit, der Verarbeitung des Computers bereit und erleichtert den Fahrzeugbetrieb in Echtzeit. Das Programm zum maschinellen Lernen kann Kontext einer Umgebung um das Fahrzeug verwenden, um die Parkplätze zu identifizieren, wenn Markierungen auf der Fahrbahn verdeckt oder beschädigt sind.
  • Das Programm zum maschinellen Lernen kann mit einer Vielzahl von synthetischen Bildern trainiert werden. Die synthetischen Bilder können aus realen Bildern und/oder simulierten Bildern erzeugt werden. Ein Programm für realistische Merkmale kann den realen Bildern und/oder den simulierten Bildern Merkmale hinzufügen, um realistische Merkmale einzubeziehen. Die synthetischen Bilder mit den realistischen Merkmalen können mehr Trainingsdaten mit vielseitigen Merkmalen und Szenarien bereitstellen als reale Bilder und/oder simulierte Bilder allein, wodurch das Training des Programms zum maschinellen Lernen verbessert wird.
  • 1 veranschaulicht ein beispielhaftes System 100 zum Einparken eines Fahrzeugs 101. Ein Computer 105 in dem Fahrzeug 101 ist dazu programmiert, erfasste Daten von einem oder mehreren Sensoren 110 zu empfangen. Zum Beispiel können Daten des Fahrzeugs 101 einen Standort des Fahrzeugs 101, Daten über eine Umgebung um ein Fahrzeug, Daten über ein Objekt aul erhalb des Fahrzeugs, wie etwa ein anderes Fahrzeug, usw. beinhalten. Ein Standort des Fahrzeugs 101 wird typischerweise in einer herkömmlichen Form bereitgestellt, z. B. als Geokoordinaten, wie etwa Breitengrad- und Längengradkoordinaten, die über ein Navigationssystem erlangt werden, das das globale Positionsbestimmungssystem (Global Positioning System - GPS) verwendet. Weitere Beispiele für Daten können Messwerte von Systemen und Komponenten des Fahrzeugs 101 beinhalten, z. B. eine Geschwindigkeit des Fahrzeugs 101, eine Trajektorie des Fahrzeugs 101 usw.
  • Der Computer 105 ist im Allgemeinen für Kommunikationen auf einem Netz des Fahrzeugs 101 programmiert, das z. B. einen herkömmlichen Kommunikationsbus des Fahrzeugs 101, wie etwa einen CAN-Bus, einen LIN-Bus usw. und/oder andere drahtgebundene und/oder drahtlose Technologien beinhaltet, z. B. Ethernet, WIFI usw. Über das Netz, den Bus und/oder andere drahtgebundene oder drahtlose Mechanismen (z. B. ein drahtgebundenes oder drahtloses lokales Netz in dem Fahrzeug 101) kann der Computer 105 Nachrichten an verschiedene Vorrichtungen in einem Fahrzeug 101 übertragen und/oder Nachrichten von den verschiedenen Vorrichtungen, z. B. Steuerungen, Aktoren, Sensoren usw., einschliel lich der Sensoren 110, empfangen. Alternativ oder zusätzlich kann in Fällen, in denen der Computer 105 tatsächlich mehrere Vorrichtungen umfasst, das Fahrzeugnetz für Kommunikation zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als der Computer 105 dargestellt sind. Zusätzlich kann der Computer 105 zum Kommunizieren mit dem Netz 120 programmiert sein, das, wie nachstehend beschrieben, verschiedene drahtgebundene und/oder drahtlose Vernetzungstechnologien beinhalten kann, z. B. Mobilfunk, Bluetooth®, Bluetooth® Low Energy (BLE), drahtgebundene und/oder drahtlose Paketnetze usw.
  • Der Speicher kann eine beliebige Art sein, z. B. Festplattenlaufwerke, Festkörperlaufwerke, Server oder beliebige flüchtige oder nichtflüchtige Medien. Der Speicher kann die von den Sensoren 110 gesendeten erfassten Daten speichern. Der Speicher kann eine von dem Computer 105 getrennte Vorrichtung sein und der Computer 105 kann durch den Speicher gespeicherte Informationen über ein Netz in dem Fahrzeug 101 abrufen, z. B. über einen CAN-Bus, ein drahtloses Netz usw. Alternativ oder zusätzlich kann der Speicher Teil des Computers 105 sein, z. B. als Speicher des Computers 105.
  • Die Sensoren 110 können eine Vielfalt von Vorrichtungen beinhalten. Zum Beispiel können verschiedene Steuerungen in einem Fahrzeug 101 als Sensoren 110 betrieben werden, um Daten über das Netz oder den Bus des Fahrzeugs 101 bereitzustellen, z. B. Daten bezüglich der Geschwindigkeit, Beschleunigung, Position des Fahrzeugs, des Status von Teilsystemen und/oder Komponenten usw. Ferner könnten andere Sensoren 110 Kameras, Bewegungsmelder usw. beinhalten, d.h. Sensoren 110 zum Bereitstellen von Daten zum Beurteilen einer Position einer Komponente, Beurteilen einer Neigung einer Fahrbahn usw. Die Sensoren 110 könnten zudem unter anderem Kurzstreckenradar, Langstreckenradar, LIDAR und/oder Ultraschallwandler beinhalten.
  • Erfasste Daten können eine Vielfalt von Daten beinhalten, die in einem Fahrzeug 101 erfasst werden. Beispiele für erfasste Daten sind vorstehend bereitgestellt und darüber hinaus werden Daten im Allgemeinen unter Verwendung eines oder mehrerer Sensoren 110 erfasst und können zusätzlich Daten beinhalten, die aus diesen in dem Computer 105 und/oder auf dem Server 125 berechnet werden. Im Allgemeinen können erfasste Daten beliebige Daten beinhalten, die durch die Sensoren 110 gesammelt und/oder aus derartigen Daten berechnet werden können.
  • Das Fahrzeug 101 kann eine Vielzahl von Fahrzeugkomponenten 115 beinhalten. In diesem Kontext beinhaltet jede Fahrzeugkomponente 115 eine oder mehrere Hardwarekomponenten, die dazu ausgelegt sind, eine mechanische Funktion oder einen mechanischen Betrieb durchzuführen - wie etwa Bewegen des Fahrzeugs 101, Verlangsamen oder Anhalten des Fahrzeugs 101, Lenken des Fahrzeugs 101 usw. Nicht einschränkende Beispiele für Komponenten 115 beinhalten eine Antriebskomponente (die z. B. eine Brennkraftmaschine und/oder einen Elektromotor usw. beinhaltet), eine Getriebekomponente, eine Lenkkomponente (die z. B. eines oder mehrere von einem Lenkrad, einer Lenkungszahnstange usw. beinhalten kann), eine Bremskomponente, eine Einparkhilfekomponente, eine Komponente für adaptive Geschwindigkeitsregelung, eine Komponente für adaptives Lenken, einen beweglichen Sitz und dergleichen.
  • Für die Zwecke dieser Offenbarung wird der Ausdruck „autonomes Fahrzeug“ zur Bezugnahme auf ein Fahrzeug 101 verwendet, das in einem vollautonomen Modus betrieben wird. Ein vollautonomer Modus ist als ein Modus definiert, in dem jedes von dem Antrieb (typischerweise über einen Antriebsstrang, der einen Elektromotor und/oder eine Brennkraftmaschine beinhaltet), der Bremsung und der Lenkung des Fahrzeugs 101 durch den Computer 105 gesteuert wird. Ein halbautonomer Modus ist ein Modus, in dem mindestens eines von dem Antrieb (typischerweise über einen Antriebsstrang, der einen Elektromotor und/oder eine Brennkraftmaschine beinhaltet), der Bremsung und der Lenkung des Fahrzeugs 101 mindestens teilweise durch den Computer 105 und nicht durch einen menschlichen Fahrzeugführer gesteuert wird. In einem nichtautonomen Modus, d. h. einem manuellen Modus, werden der Antrieb, die Bremsung und die Lenkung des Fahrzeugs 101 durch den menschlichen Fahrzeugführer gesteuert.
  • Das System 100 kann ferner ein Netz 120 beinhalten, das mit einem Server 125 verbunden ist. Der Computer 105 kann ferner dazu programmiert sein, mit einem oder mehreren entfernten Standorten, wie etwa dem Server 125, über das Netz 120 zu kommunizieren, wobei ein derartiger entfernter Standort möglicherweise einen Prozessor und einen Speicher beinhaltet. Das Netz 120 stellt einen oder mehrere Mechanismen dar, durch die ein Fahrzeugcomputer 105 mit einem entfernten Server 125 kommunizieren kann. Dementsprechend kann es sich bei dem Netz 120 um einen oder mehrere verschiedener drahtgebundener oder drahtloser Kommunikationsmechanismen handeln, die eine beliebige gewünschte Kombination aus drahtgebundenen (z. B. Kabel und Glasfaser) und/oder drahtlosen (z. B. Mobilfunk, drahtlos, Satelliten, Mikrowellen und Hochfrequenz) Kommunikationsmechanismen und eine beliebige gewünschte Netztopologie (oder Netztopologien, wenn mehrere Kommunikationsmechanismen genutzt werden) beinhalten. Beispielhafte Kommunikationsnetze beinhalten drahtlose Kommunikationsnetze (z. B. unter Verwendung von Bluetooth®, Bluetooth® Low Energy (BLE), IEEE 802.11, Fahrzeug-zu-Fahrzeug (vehicle-to-vehicle - V2V), wie etwa dedizierte Nahbereichskommunikation (Dedicated Short Range Communications - DSRC) usw.), lokale Netze (local area networks - LAN) und/oder Weitverkehrsnetze (wide area networks - WAN) einschliel lich des Internets, die Datenkommunikationsdienste bereitstellen.
  • 2 veranschaulicht ein Bild 200, das mindestens einen Parkplatz beinhaltet. Ein „Bild“ ist eine zweidimensionale Anordnung von Werten, die visuelle Daten kodiert, z. B. eine Fotografie. Zum Beispiel kann das Bild eine zweidimensionale Anordnung von Werten sein. Jedes Element der Anordnung kann ein Graustufenwert (d. h. eine natürliche Zahl zwischen 0 und 100) eines Pixels einer digitalen Fotografie sein. In einem anderen Beispiel kann jedes Element der Anordnung ein Rot-Blau-Grün-(RGB-)Wert (z. B. eine Hexadezimalzahl zwischen 00 und FF für jeden der Rot-, Blau- und Grünwerte) eines Pixels einer digitalen Fotografie sein. Ein „Parkplatz“ ist eine geografische Fläche, in der das Parken eines Fahrzeugs 101 erlaubt ist. Das Bild 200 beinhaltet eine Vielzahl von polygonalen Flächen 205, die Parkplätze angeben. Eine „polygonale Fläche“ 205 ist ein Satz von Pixeln in dem Bild, der eine Fläche umschliel t, die eine Grenze aufweist, die durch eine Vielzahl von Eckpunkten 210 definiert ist, die durch Liniensegmente verbunden ist. Die Eckpunkte 210 sind jeweilige Sätze von Pixeln, die die polygonale Fläche 205 definieren.
  • Der Computer 105 kann viereckige Regionen von Interesse identifizieren, die Parkplätze beinhalten können. Eine „Region von Interesse“ ist eine geografisches Fläche, die einen Parkplatz beinhalten kann. Wie nachstehend beschrieben, weisen Parkplätze typischerweise eine viereckige Form auf, wie etwa ein Rechteck oder ein Parallelogramm. Das Identifizieren von viereckigen Regionen von Interesse kann die möglichen Stellen eines Parkplatzes in einem Bild 200 reduzieren. Das heil t, da Parkplätze typischerweise viereckig sind, kann das Identifizieren der viereckigen Regionen von Interesse potenzielle Parkplätze schneller identifizieren.
  • Die polygonale Fläche 205 entspricht einem Satz von Koordinaten in einem lokalen Koordinatensystem, das einen Ursprung an dem Fahrzeug 101 (z. B. einem Mittelpunkt einer Hinterachse, einem Mittelpunkt eines vorderen Stoß fängers usw.) aufweist. Das lokale Koordinatensystem kann ein rechteckiges Koordinatensystem sein, d. h. das lokale Koordinatensystem definiert eine Querachse x und eine Längsachse y, wie in 2 gezeigt. Die Längsachse y erstreckt sich entlang einer Fahrzeugvorwärtsrichtung, d. h. der Richtung, in die ein Antrieb das Fahrzeug 101 bewegt, wenn sich eine Lenkung in einer neutralen Position befindet. Die Querachse x erstreckt sich senkrecht zu der Längsachse y. Jeder Sensor 110 des Fahrzeugs 101 kann Daten in dem lokalen Koordinatensystem erfassen.
  • Nach dem Identifizieren einer polygonalen Fläche 205 kann der Computer 105 eine oder mehrere Komponenten 115 betätigen, um das Fahrzeug 101 in die durch die polygonale Fläche 205 dargestellte geografische Fläche zu bewegen. Wie vorstehend beschrieben, definiert eine polygonale Fläche 205 einen Satz von Koordinaten in dem lokalen Koordinatensystem des Fahrzeugs 101. Wenn der Computer 105 eine Vielzahl von polygonalen Flächen 205 identifiziert, kann der Computer 105 eine der polygonalen Flächen 205 auswählen, in der das Fahrzeug 101 geparkt werden soll, wie nachstehend beschrieben. Der Computer 105 gibt die ausgewählte polygonale Fläche 205 in einen Pfadplanungsalgorithmus ein, um einen Pfad zu erzeugen. Der Pfad endet an der Stelle, die durch die polygonale Fläche 205 definiert ist.
  • Bei dem Pfadplanungsalgorithmus handelt es sich um Programmierung des Computers 105, die einen Pfad für das Fahrzeug 101 erzeugt, wenn sich das Fahrzeug 101 von einem Ursprung zu einem Ziel bewegt. Der Pfadplanungsalgorithmus kann in einem Speicher des Computers 105 gespeichert sein. Bei dem Pfadplanungsalgorithmus kann es sich z. B. um einen Navigationsalgorithmus handeln, der im Zeitverlauf Standortkoordinaten für das Fahrzeug 101 erzeugt. Als ein Beispiel kann der Pfadplanungsalgorithmus den Pfad mithilfe eines Pfadpolynoms bestimmen. Bei dem Pfadpolynom p(s) handelt es sich um ein Modell, das den Pfad als eine durch eine Polynomgleichung nachverfolgte Linie vorhersagt. Das Pfadpolynom p(s) sagt den Pfad für eine vorbestimmte bevorstehende Strecke x vorher, indem es eine laterale Koordinate y bestimmt, die z. B. in Metern gemessen wird: p ( x ) = a 0 + a 1 s + a 2 s 2 + a 3 s 3
    Figure DE102021107914A1_0001
    wobei a0 ein Versatz ist, d. h. ein seitlicher Abstand zwischen dem Pfad und einer Mittellinie des Fahrzeugs 101 auf der bevorstehenden Strecke x, a1 ein Kurswinkel des Pfads ist, a2 die Krümmung des Pfads ist und a3 die Krümmungsrate des Pfads ist. Im vorliegenden Kontext ist die „bevorstehende Strecke“ s eine vorbestimmte Längsstrecke vor dem Fahrzeug 101 von einem vorderen Stoß fänger des Fahrzeugs 101, auf der die Sensoren 110 Daten erfassen und der Computer 105 den Pfad vorhersagt. Die bevorstehende Strecke x kann z. B. auf Grundlage einer aktuellen Geschwindigkeit des Fahrzeugs 101, eines vorbestimmten Zeitschwellenwerts, der auf Grundlage empirischer Simulationsdaten bestimmt wird, eines Detektionsbereichs der Sensoren 110 usw. bestimmt werden. Der Zeitschwellenwert kann z. B. 1 Sekunde betragen. Das Pfadpolynom kann eine oder mehrere Bezier-Kurven beinhalten, d. h. Polynomfunktionen, die jeweils eine disjunkte Teilmenge von Punkten darstellen, die den Pfad darstellt, und die zusammengenommen die Gesamtmenge von Punkten darstellen, die den Pfad darstellt. Bezier-Kurven können darauf beschränkt sein, dass sie kontinuierlich differenzierbar sind, und Einschränkungen oder Begrenzungen für die erlaubten Ableitungen aufweisen, z. B. Begrenzungen für die Änderungsraten ohne Diskontinuitäten. Bezier-Kurven können zudem darauf beschränkt sein, an Grenzen übereinstimmende Ableitungen mit anderen Bezier-Kurven aufzuweisen, wodurch reibungslose Übergänge zwischen Teilmengen bereitgestellt werden. Beschränkungen bei Bezier-Kurven können ein Fahrzeugpfadpolynom zu einem Polynom des lenkbaren Pfads machen, indem die Raten von Längs- und Querbeschleunigungen begrenzt werden, die erforderlich sind, um ein Fahrzeug entlang des Fahrzeugpfadpolynoms zu steuern, wobei Bremsmoment und Antriebsstrangdrehmoment als positive und negative Längsbeschleunigung angewendet werden und Lenkdrehmoment im Uhrzeigersinn und gegen den Uhrzeigersinn als linke und rechte Querbeschleunigung angewendet werden. Durch Bestimmen der Quer- und Längsbeschleunigung zum Erreichen von vorbestimmten Zielwerten innerhalb vorbestimmter Einschränkungen innerhalb vorbestimmter Anzahlen von Zeiträumen kann das Fahrzeugpfadpolynom so beschränkt werden, dass ein Fahrzeugpfadpolynom bereitgestellt wird, auf Grundlage dessen der Computer 105 betrieben werden kann, ohne die Begrenzungen hinsichtlich der Quer- und Längsbeschleunigung zu überschreiten.
  • Der Computer 105 kann eine jeweilige Einfahrtslinie 215 für jede polygonale Fläche 205 identifizieren. Eine „Einfahrtslinie“ 215 ist ein Liniensegment, das zwei der Eckpunkte 210 verbindet und über das das Fahrzeug 101 fährt, um in den durch die polygonale Fläche 205 dargestellten Parkplatz einzufahren. Das heil t, der Pfadplanungsalgorithmus kann einen Pfad planen, der über die mit der Einfahrtslinie 215 assoziierten Koordinaten verläuft, um in den Parkplatz einzufahren. Durch Identifizieren der Einfahrtslinie 215 kann der Computer 105 Objekte in der Nähe anderer Liniensegmente der polygonalen Fläche 205 vermeiden, z. B. andere Fahrzeuge 101 auf benachbarten Parkplätzen.
  • Der Computer 105 kann eine linke Grenze 220 und eine rechte Grenze 225 der polygonalen Fläche 205 identifizieren. Eine „linke“ Grenze 220 ist ein Liniensegment, das zwei Eckpunkte 210 verbindet und das sich links von dem Fahrzeug 101 befinden würde, wenn es die Einfahrtslinie 215 überquert. Eine „rechte“ Grenze 225 ist ein Liniensegment, das zwei Eckpunkte 210 verbindet und das sich rechts von dem Fahrzeug 101 befinden würde, wenn es die Einfahrtslinie 215 überquert. Die linke und rechte Grenze 220, 225 spezifizieren die linken und rechten Extrema der polygonalen Fläche 205. Das heil t, die linke Grenze 220 ist der am weitesten links liegende Abschnitt der polygonalen Fläche 205 und die rechte Grenze 225 ist der am weitesten rechts liegende Abschnitt der polygonalen Fläche 205. Wenn sich das Fahrzeug 101 vollständig in der polygonalen Fläche 205 befindet, befindet sich das Fahrzeug 101 zwischen der linken Grenze 220 und der rechten Grenze 225. Der Computer 105 kann die eine oder mehreren Fahrzeugkomponenten 115 betätigen, um das Fahrzeug 101 zwischen der linken Grenze 220 und der rechten Grenze 225 zu bewegen.
  • Der Computer 105 kann die Eckpunkte 210 der polygonalen Fläche 205 auf Grundlage eines Standorts eines Zielfahrzeugs 101a identifizieren, das in dem Bild 200 identifiziert ist. Parkplätze können zwischen anderen Fahrzeugen 101 angeordnet sein, und nach dem Identifizieren eines Standorts eines Zielfahrzeugs 101a in dem lokalen Koordinatensystem kann der Computer 105 einen Abschnitt eines Parkplatzgeländes, der an das Zielfahrzeug 101a angrenzt, als Teil einer viereckigen Region von Interesse identifizieren. Auf Grundlage der viereckigen Region von Interesse kann der Computer 105 Eckpunkte 210 einer polygonalen Fläche 205 identifizieren. Der Computer 105 kann einen Standort eines zweiten Zielfahrzeugs 101b identifizieren. Ein Abschnitt eines Parkplatzgeländes zwischen dem ersten Zielfahrzeug 101a und dem zweiten Zielfahrzeug 101b kann ein Parkplatz sein und der Computer 105 kann Eckpunkte 210 einer polygonalen Fläche 205 zwischen dem Zielfahrzeug 101a und dem zweiten Zielfahrzeug 101b identifizieren.
  • Der Computer 105 kann eine der polygonalen Flächen 205 auswählen, in der das Fahrzeug 101 geparkt werden soll. Eine polygonale Fläche kann gemäl einer Regel ausgewählt werden, die zum Einparken des Fahrzeugs spezifiziert ist, wobei die Regel z. B. für einen Fahrzeugführer des Fahrzeugs 101, einen geografischen Standort und/oder einen anderen Status des Fahrzeugs 101 spezifiziert ist. Zum Beispiel kann der Computer 105 eine polygonale Fläche 205 identifizieren, die dem Fahrzeug 101 am nächsten ist, und eine oder mehrere Komponenten 115 betätigen, um einem Pfad in die polygonale Fläche 205 zu folgen. In einem anderen Beispiel kann der Computer 105 eine polygonale Fläche 205 identifizieren, der einem Ziel eines Fahrzeugführers des Fahrzeugs 101 am nächsten ist.
  • 3 ist ein Blockdiagramm eines beispielhaften Programms 300 zum maschinellen Lernen, um Parkplätze zu detektieren. Der Computer 105 kann ein Bild 200 in das Programm 300 zum maschinellen Lernen eingeben und als Ausgabe mindestens eine identifizierte polygonale Fläche 205, die einen Parkplatz darstellt, und eine jeweilige Einfahrtslinie 215 für die polygonale Fläche 205 empfangen. Wie vorstehend beschrieben, kann der Computer 105 die polygonale Fläche 205 und die Einfahrtslinie 215 in einen Pfadplanungsalgorithmus eingeben, um einen Pfad zu erzeugen, um das Fahrzeug 101 auf den Parkplatz zu bewegen. Das Programm 300 zum maschinellen Lernen ist ein neuronales Netz, z. B. kann es ein rekurrentes Netz sein, das sequentielle Berechnungen an Eingaben verwendet, um eine Ausgabe vorherzusagen.
  • Das Programm 300 zum maschinellen Lernen beinhaltet eine Kontextlernschicht 305. Die Kontextlernschicht 305 identifiziert ein oder mehrere realistische Merkmale in dem eingegebenen Bild 200. Ein „realistisches Merkmal“ ist ein Objekt oder eine Umgebungsbedingung in einem Bild, die den Parkplatz verdecken oder Informationen darüber bereitstellen kann. Zum Beispiel kann das realistische Merkmal eine Änderung der Beleuchtung, Wetter wie etwa Niederschlag, eine Oberflächentextur einer Fahrbahn, ein anderes Fahrzeug, eine Bordsteinkante, ein Bürgersteig usw. sein. Die Kontextlernschicht 305 kann durch Eingeben eines oder mehrerer Bilder 200 trainiert werden, auf denen realistische Merkmale beschriftet sind. Alternativ oder zusätzlich kann die Kontextlernschicht 305 durch Eingeben eines oder mehrerer synthetische Bilder 200 (d. h. eines Bilds 200, zu dem ein Merkmal hinzugefügt worden ist) trainiert werden, die Beschriftungen realistischer Merkmale beinhalten, wie nachstehend beschrieben. Der Server 125 kann die mit Anmerkungen versehenen Referenzbilder 200 und die synthetischen Bilder 200 eingeben und kann eine Kostenfunktion der Kontextlernschicht 305 z. B. mit Gradientenabstieg, einem gradientenfreien genetischen Algorithmus usw. minimieren. Wenn die Kostenfunktion minimiert ist, kann die Kontextlernschicht 305 ein oder mehrere realistische Merkmale in dem eingegebenen Bild 200 identifizieren. Auf Grundlage des in der Kontextlernschicht 305 identifizierten Kontexts kann das Programm 300 zum maschinellen Lernen darauf trainiert werden, die polygonale Fläche 205 zu identifizieren, wenn dem erfassten Bild 200 eine oder mehrere Grenzlinienmarkierungen fehlen. Das heil t, Linienmarkierungen auf einer Fahrbahn können im Laufe der Zeit verblassen und der in der Kontextlernschicht 305 identifizierte Kontext kann eine polygonale Fläche 205 identifizieren, die einen Parkplatz angibt, wenn die Linienmarkierungen verblasst sind.
  • Das Programm 300 zum maschinellen Lernen beinhaltet eine Schicht 310 zur Detektion von viereckigen Regionen. Eine „viereckige Region“ ist eine Region, die eine Grenze definiert, die ein vierseitiges Polygon ist, d.h. ein Viereck. Die Schicht 310 zur Detektion von viereckigen Regionen identifiziert eine oder mehrere viereckige Regionen in dem eingegebenen Bild 200. Parkplätze weisen typischerweise eine viereckige Form auf, sodass die Schicht zur Detektion von viereckigen Regionen viereckige Regionen von Interesse identifizieren kann, die Parkplätze sein können. Die Schicht 310 zur Detektion von viereckigen Regionen kann durch Eingeben eines oder mehrerer Referenzbilder 200 mit Anmerkungen von viereckigen Regionen trainiert werden. Der Server 125 kann eine Kostenfunktion der Schicht 310 zur Detektion von viereckigen Regionen z.B. mit Gradientenabstieg, einem gradientenfreien genetischen Algorithmus usw. minimieren. Wenn die Kostenfunktion minimiert ist, kann die Schicht 310 zur Detektion von viereckigen Regionen eine oder mehrere viereckige Regionen in dem eingegebenen Bild 200 identifizieren.
  • Das Programm 300 zum maschinellen Lernen beinhaltet eine Polygonregressionsschicht 315. Die Polygonregressionsschicht 315 identifiziert Eckpunkte 210 und Liniensegmente von polygonalen Flächen 205 in dem eingegebenen Bild 200. Wie vorstehend beschrieben, sind die polygonalen Flächen 205 Parkplätze, auf denen das Fahrzeug 101 parken kann. Die Polygonregressionsschicht 315 kann durch Eingeben eines oder mehrerer Referenzbilder 200 mit Anmerkungen von Eckpunkten 210 und Liniensegmenten von polygonalen Flächen 205 trainiert werden. Der Server 125 kann eine Kostenfunktion der Polygonregressionsschicht 315 z. B. mit Gradientenabstieg, einem gradientenfreien genetischen Algorithmus usw. minimieren. Die Kostenfunktion kann z. B. ein mittlerer Fehler einer Stelle von Eckpunkten 210 sein. Da ein Viereck vier Eckpunkte aufweist, kann die Kostenfunktion Folgendes sein: ( 1 4 i = 1 4 | v i g t v i p | n ) 1 n
    Figure DE102021107914A1_0002
    wobei v i g t
    Figure DE102021107914A1_0003
    ein Ground-Truth-Eckpunkt 210 ist, d. h. ein Eckpunkt 210, der in einem Referenzbild mit Anmerkungen versehen ist, v i p
    Figure DE102021107914A1_0004
    eine Vorhersage eines Eckpunkts 210 ist, der durch die Polygonregressionsschicht 315 identifiziert wird, und n eine ganze Zahl ist, die eine statistische Fehlerfunktion spezifiziert. Die ganze Zahl n kann 1 oder 2 sein, wobei ein Wert von 1 einen mittleren absoluten Fehler ausgibt und ein Wert von 2 einen quadratischen Mittelwertfehler ausgibt. Wenn die Kostenfunktion minimiert ist, kann die Polygonregressionsschicht 315 einen Satz von Eckpunkten 210 und Liniensegmenten, die die Eckpunkte 210 einer oder mehrerer polygonaler Flächen 205 verbinden, in dem eingegebenen Bild 200 identifizieren. Für ein Polygon mit einer anderen Anzahl von Eckpunkten 210, z. B. ein Fünfeck mit fünf Eckpunkten, ein Sechseck mit sechs Eckpunkten usw., können die jeweiligen 4en in Gleichung 2 durch die Anzahl von Eckpunkten 210 des Polygons ersetzt werden.
  • Das Programm 300 zum maschinelle Lernen beinhaltet eine Einfahrtslinienklassifizierungsschicht 320. Die Einfahrtslinienklassifizierungsschicht 320 identifiziert eine Einfahrtslinie 215 der polygonalen Fläche 205. Wie vorstehend beschrieben, ist die Einfahrtslinie 215 ein Liniensegment, das zwei der Eckpunkte 210 verbindet, durch die sich das Fahrzeug 101 in die polygonale Fläche 205 bewegt. Die Einfahrtslinienklassifizierungsschicht 320 kann durch Eingeben eines oder mehrerer Referenzbilder 200 mit Anmerkungen von Einfahrtslinien 215 trainiert werden. Der Server 125 kann eine Kostenfunktion der Einfahrtslinienklassifizierungsschicht 320 z. B. mit Gradientenabstieg, einem gradientenfreien genetischen Algorithmus usw. minimieren. Wenn die Kostenfunktion minimiert ist, kann die Einfahrtslinienklassifizierungsschicht 320 eine Einfahrtslinie 215 der polygonalen Fläche 205 identifizieren.
  • 4 ist ein Diagramm, das den Server 125 veranschaulicht, der dazu programmiert ist, reale Bilder 400 und/oder simulierte Bilder 405 in ein Programm 410 für realistische Merkmale einzugeben, um synthetische Bilder 415 zu erzeugen. Die „synthetischen Bilder“ 415 sind reale Bilder 400 und/oder simulierte Bilder 405, denen realistische Merkmale hinzugefügt worden sind. Ein „realistisches Merkmal“ ist ein Merkmal (z. B. ein Objekt, eine Umgebungsbedingung usw.), das in einem realen Bild vorhanden ist und zu einem Bild 400, 405 hinzugefügt werden kann, um ein synthetisches Bild 415 zu erzeugen. Realistische Merkmale können z. B. ein Beleuchtungsmerkmal, ein Wettermerkmal, ein Oberflächentexturmerkmal, ein simuliertes Fahrzeug 101 usw. beinhalten. Um die synthetischen Bilder 415 zu erzeugen, kann der Server 125 ein Referenzbild 400, 405, das in einem Speicher des Servers 125 gespeichert ist, in ein Programm 410 für realistische Merkmale eingeben, um ein oder mehrere realistische Merkmale hinzuzufügen. Bei dem „Programm 415 für realistische Merkmale“ handelt es sich um einen oder mehrere Algorithmen zum Hinzufügen eines realistischen Merkmals zu einem eingegebenen Bild 400, 405. Das heil t, das Programm 415 für realistische Merkmale ist Programmierung, die durch einen Prozessor des Servers 125 ausführbar ist. Das Programm 410 für realistische Merkmale kann ein realistisches Referenzmerkmal in das eingegebene Bild 400, 405 eingeben, um das synthetische Bild 415 zu erzeugen. Der Server 125 kann das synthetische Bild 415 in dem Speicher des Servers 125 speichern. Das heil t, das Programm 410 für realistische Merkmale kann einen Merkmalsvektor des eingegebenen Bilds 400, 405 erzeugen, Werte des Merkmalsvektors gemäl einem Merkmalsvektor des realistischen Referenzmerkmals einstellen und dann den Merkmalsvektor in das synthetische Bild 415 umwandeln. Das Programm 410 für realistische Merkmale kann z. B. ein erzeugendes gegnerisches Netz (generative adversarial network - GAN), ein Variationsautoencoder (variational autoencoder - VAE) usw. sein.
  • Der Server 125 kann ein oder mehrere simulierte Bilder 405 mit einer Bilderzeugungsmaschine erzeugen. Die Bilderzeugungsmaschine (oder Bildmaschine) ist Programmierung des Servers 125, um simulierte Bilder 405 zu erzeugen. Das heilt, eine „Maschine“ ist Softwareprogrammierung und der Server 125 führt Anweisungen aus, die durch die Bilderzeugungsmaschine bereitgestellt werden, um simulierte Bilder 405 zu erzeugen, wie in dieser Schrift offenbart. Die Bilderzeugungsmaschine kann z. B. UNREAL ENGINE®, UNITY®, CRYENGINE®, ID TECH® usw. sein.
  • Ein „simuliertes“ Bild 405 ist ein Bild, das durch Programmierung des Servers 125, z. B. mit der Bilderzeugungsmaschine, ohne Eingabe aus einem realen Bild 400 erzeugt wird. Das heil t, das simulierte Bild 405 kann eine Anordnung von Graustufenwerten sein, die Pixel eines Bilds darstellen. Die Bilderzeugungsmaschine kann typischerweise eine Vielzahl von simulierten Bildern 405 schneller und mit vielseitigeren Szenarien erzeugen, als eine Kamera reale Bilder 400 erfassen kann. Die simulierten Bilder 405 können Eingabedaten für ein Programm zum maschinellen Lernen wie etwa das Programm 300 zum maschinellen Lernen bereitstellen. Die simulierten Bilder 405 können in einem Speicher des Servers 125 gespeichert werden.
  • Der Server 125 kann die synthetischen Bilder 415 verwenden, um die Schichten 305, 310, 315, 320 des Programms 300 zum maschinellen Lernen zu trainieren. Die synthetischen Bilder 415 können eine Anzahl von Referenzbildern erhöhen, mit denen das Programm 300 zum maschinellen Lernen trainiert werden kann. Zum Beispiel können die synthetischen Bilder 415 Szenarien beinhalten, die in den realen Bildern 400 oder den simulierten Bildern 405 nicht vorhanden sind, z. B. Änderungen der Beleuchtung, Änderungen der Wolkenopazität, Schattenintensität, Bodentexturen, beschädigte Markierungen usw. Zum Beispiel kann das Programm 410 für realistische Merkmale realistische Merkmale in die realen Bilder 400 einbeziehen, wie etwa Änderungen der Beleuchtung und des Wetters. Das heil t, die realen Bilder 400 können bei Tageslicht und klarem Wetter erfasst werden, einem Zeitpunkt, zu dem das Erfassen der Bilder 400 einfacher sein kann als das Erfassen bei Nacht oder bei stürmischem Wetter, da das Tageslicht Merkmale eines realen Orts beleuchtet, die beim Trainieren des Programms 300 zum maschinellen Lernen nützlich sein können. Das heil t, bei Dunkelheit oder bei stürmischem Wetter können nicht beleuchtete Merkmale und/oder durch Niederschlag verdeckte Merkmale nicht durch Kameras aufgenommen werden, die die realen Bilder 400 erfassen. Das Programm 410 für realistische Merkmale kann realistische Merkmale wie etwa Dunkelheit, Regen und Wolken einbeziehen, um synthetische Bilder 415 zu erzeugen, die Szenarien zu Zeitpunkten beinhalten, zu denen das Erfassen der realen Bilder 400 schwierig sein kann, z. B. bei stürmischem Wetter, bei Dunkelheit usw. Das Programm 410 für realistische Merkmale kann mit Referenzbildern aus realen Datensätzen eines Referenzorts bei unterschiedlichen Umgebungslichtmengen und bei unterschiedlichen Wetterbedingungen trainiert werden.
  • In einem anderen Beispiel kann das Programm 410 für realistische Merkmale realistische Merkmale in simulierte Bilder 405 einbeziehen, um synthetische Bilder 415 zu erzeugen, die realen Bildern 400 ähnlicher sind als die simulierten Bilder 405, die durch eine vorstehend beschriebene Bilderzeugungsmaschine simuliert werden. Das heil t, den simulierten Bildern 405 können Merkmale fehlen, die in realen Bildern 400 vorhanden sind, und/oder sie können Merkmale beinhalten, die in realen Bildern 400 nicht vorhanden sind. Das Programm 410 für realistische Merkmale kann diese Merkmale aus realen Bildern 400 in die simulierten Bilder 405 einschliel en und/oder kann Merkmale, die in den realen Bildern 400 nicht vorhanden sind, aus den simulierten Bildern 405 entfernen, um synthetische Bilder 415 zu erzeugen, die den realen Bildern 400 ähnlicher sind als die simulierten Bilder 405. Das Programm 410 für realistische Merkmale kann mit realen Referenzbildern 400 und simulierten Referenzbildern 405 trainiert werden, die die Merkmale der realen Bilder 400 simulieren. Zum Beispiel kann das Programm 410 für realistische Merkmale mit einem realen Referenzbild 400 eines Parkplatzgeländes bei klarem Tageslicht und einem simulierten Referenzbild 405, das das Parkplatzgelände bei klarem Tageslicht simuliert, trainiert werden.
  • Die Referenzbilder können falsch positive Identifizierungen von Parkplätzen durch das Programm 300 zum maschinellen Lernen reduzieren, indem eine Anzahl von Bildern erhöht wird, die zu einer echten negativen Ausgabe führen würden, z. B. Bildern mit Bordsteinen, Bürgersteigen, Rissen usw. Die synthetischen Bilder 415 können die Detektion von Parkplätzen in eingegebenen Bildern verbessern, die verblasste oder verdeckte Stral enmarkierungen aufweisen, wie etwa Markierungen, die einen Parkplatz definieren. Die synthetischen Bilder 415 können ähnliche Referenzbilder aus unterschiedlichen realen Datensätzen erzeugen. Zum Beispiel können die realen Bilder 400 an unterschiedlichen Orten erfasst werden, und die synthetischen Bilder 415, die aus den realen Bildern 400 erzeugt werden, können Merkmale in Bilder von einem der Orte einbeziehen, die in Bildern von dem anderen Ort nicht vorhanden sind. Somit verwenden die synthetischen Bilder 415 Merkmale von beiden Orten, wodurch die Anzahl der durch das Programm 300 zum maschinellen Lernen berücksichtigten Merkmale erhöht wird und das Training des Programms 300 zum maschinellen Lernen verbessert wird.
  • Die synthetischen Bilder 415 können Anmerkungen beinhalten, die in den eingegebenen realen Bildern 400 und/oder den eingegebenen simulierten Bildern 405 bereitgestellt sind und Referenzen zum Trainieren des Programms 300 zum maschinellen Lernen angeben. Das heil t, die realen Bilder 400 und/oder die simulierten Bilder 405 können Anmerkungen beinhalten, die polygonale Referenzflächen 205, Referenzeckpunkte 210, Referenzeinfahrtslinien 215, viereckige Referenzregionen von Interesse und Referenzgrenzen 220, 225 einer polygonalen Fläche 205 angeben. Das Programm 410 für realistische Merkmale kann die Anmerkungen der Bilder 400, 405 in die ausgegebenen synthetischen Bilder 415 einschliel en. Um das Programm 300 zum maschinellen Lernen darauf zu trainieren, echte Negative zu identifizieren, d. h. kann mindestens ein synthetisches Bild 415 eine Anmerkung beinhalten, die eine Region identifiziert, in der das Parken nicht erlaubt ist. Das Programm zum maschinellen Lernen kann durch Eingeben des synthetischen Bilds 415 darauf trainiert werden, die Region als falsche Identifizierung einer polygonalen Fläche 205 zu identifizieren. Das heil t, das Programm 300 zum maschinellen Lernen kann eine Region, in der das Parken nicht erlaubt ist, als Region von Interesse und polygonale Fläche 205 identifizieren, die einen Parkplatz 205 angibt. Das synthetische Bild 415 kann eine Anmerkung beinhalten, die angibt, dass das Parken in der Region nicht erlaubt ist, und das Programm 300 zum maschinellen Lernen kann darauf trainiert werden, Regionen zu identifizieren, in denen das Parken nicht erlaubt ist. Mindestens ein synthetisches Bild 415 kann eine Anmerkung beinhalten, die Grenzen 225, 230 eines Abschnitts einer Fahrbahn identifiziert, der Grenzlinienmarkierungen fehlen. Das heil t, Linienmarkierungen auf einer Fahrbahn können im Laufe der Zeit verblassen und das synthetische Bild 415 kann das Programm 300 zum maschinellen Lernen darauf trainieren, eine polygonale Fläche 205 und entsprechende Grenzen 225, 230 zu identifizieren, wenn die Linienmarkierungen verblasst sind.
  • 5 ist ein Diagramm eines beispielhaften Prozesses 500 zum Einparken eines Fahrzeugs 101. Der Prozess 500 beginnt in einem Block 505, in dem ein Computer 105 eines Fahrzeugs 101 ein durch einen Sensor 110 erfasstes Bild 200 in eine Regionenerkennungsschicht 310 eines Programms 300 zum maschinellen Lernen eingibt. Die Regionenerkennungsschicht 310 ist darauf trainiert, Regionen in dem Bild 200 zu identifizieren, in denen das Fahrzeug 101 parken kann, z. B. viereckige Regionen, die eine Größe aufweisen, die mindestens so groß ist wie das Fahrzeug 101.
  • Als Nächstes identifiziert die Regionenerkennungsschicht 310 in einem Block 510 eine oder mehrere verfügbare viereckige Regionen in dem Bild 200. Wie vorstehend beschrieben, identifiziert die Regionenerkennungsschicht 310 viereckige Regionen, die einer Form eines Parkplatzes entsprechen. Die viereckigen Regionen in dem Bild 200 sind Regionen, die einen Parkplatz für das Fahrzeug 101 beinhalten können. Die Regionenerkennungsschicht 310 kann Kontextinformationen verwenden, die z. B. von einer Kontextdetektionsschicht 305 bestimmt worden sind, um die viereckigen Regionen zu identifizieren.
  • Als Nächstes gibt das Programm 300 zum maschinellen Lernen in einem Block 515 das Bild 200 mit den identifizierten viereckigen Regionen in eine Polygonregressionsschicht 315 ein. Die Polygonregressionsschicht 315 passt ein Polygon an die viereckigen Regionen an, die durch die Regionenerkennungsschicht 310 identifiziert worden sind, wie vorstehend beschrieben.
  • Als Nächstes identifiziert die Polygonregressionsschicht 315 in einem Block 520 einen Satz von Eckpunkten 210 und Liniensegmente, die die Eckpunkte 210 einer polygonalen Fläche 205 verbinden, für jede Region. Wie vorstehend beschrieben, ist die polygonale Fläche 205 durch Eckpunkte 210 und die dazwischen verbindenden Liniensegmente definiert. Die Polygonregressionsschicht 315 kann Kontextinformationen verwenden, die z. B. von einer Kontextdetektionsschicht 305 bestimmt worden sind, um die Eckpunkte 210 und Liniensegmente zu identifizieren. Die polygonalen Flächen 205 sind Parkplätze, auf denen der Computer 105 das Fahrzeug 101 einparken kann.
  • Als Nächstes wählt der Computer 105 in einem Block 525 eine der polygonalen Flächen 205 aus und betätigt eine oder mehrere Komponenten 115, um das Fahrzeug 101 auf den durch die polygonale Fläche 205 dargestellten Parkplatz zu bewegen. Der Computer 105 kann die polygonale Fläche 205 z. B. auf Grundlage der Nähe zu dem Fahrzeug 101, der Nähe zu einem Ziel, der Nähe zu einem anderen Fahrzeug 101 usw. auswählen. Der Computer 105 kann eine Einfahrtslinie 215 identifizieren, die von einer Einfahrtslinienklassifizierungsschicht 320 des Programms 300 zum maschinellen Lernen ausgegeben wird, und die polygonale Fläche 205 in einen Pfadplanungsalgorithmus eingeben, um einen Pfad zu dem Parkplatz zu erzeugen. Der Computer 105 kann eine oder mehrere Komponenten 115 betätigen, um dem Pfad über die Einfahrtslinie 215 hinweg und in die den Parkplatz darstellende polygonale Fläche zu folgen und das Fahrzeug 101 anzuhalten. Im Anschluss an den Block 525 endet der Prozess 500.
  • 6 ist ein Diagramm eines beispielhaften Prozesses 600 zum Trainieren eines Programms 300 zum maschinellen Lernen. Der Computer 105 kann das gemäl dem Prozess 600 trainierte Programm 300 zum maschinellen Lernen verwenden, um Parkplätze gemäl dem vorstehend beschriebenen Prozess 500 zu identifizieren. Der Prozess 600 beginnt in einem Block 605, in dem ein Server 125 ein oder mehrere reale Bilder 400 erfasst. Der Server 125 kann die realen Bilder 400 von einer oder mehreren Kameras eines oder mehrerer Fahrzeuge 101 erfassen. Die realen Bilder 400 können Bilder von z. B. Parkplatzgeländen beinhalten, die freie Parkplätze beinhalten.
  • Als Nächstes erzeugt der Server 125 in einem Block 610 ein oder mehrere simulierte Bilder 405. Die simulierten Bilder 200, wie vorstehend beschrieben, können mit einer Bilderzeugungsmaschine, z. B. Unreal®, erzeugt werden. Die Bilderzeugungsmaschine kann simulierte Bilder 405 von simulierten Parkplatzgeländen mit simulierten Parkplätzen und simulierten Fahrzeugen 101 erzeugen. Der Prozess 600 kann einen der Blöcke 605 oder 610 weglassen, d. h. der Prozess 600 kann nur mit realen Bildern 400, nur mit simulierten Bildern 405 oder beiden fortfahren.
  • Als Nächstes gibt der Server 125 in einem Block 615 die realen Bilder 400 und/oder die simulierten Bilder 405 in ein Programm 410 für realistische Merkmale ein, um eine Vielzahl von synthetischen Bildern 415 zu erzeugen. Wie vorstehend beschrieben, fügt das Programm 410 für realistische Merkmale den realen Bildern 400 und/oder den simulierten Bildern 405 ein oder mehrere realistische Merkmale hinzu, um synthetische Bilder 415 zu erzeugen, die das Programm 300 zum maschinellen Lernen mit einer Vielzahl von Merkmalen trainieren können, die unter Umständen nicht durch die Bilder 400, 405 erfasst worden sind. Die realistischen Merkmale können z. B. ein Beleuchtungsmerkmal, ein Wettermerkmal, ein Oberflächentexturmerkmal und/oder ein simuliertes Fahrzeug 101 beinhalten.
  • Als Nächstes gibt der Server 125 in einem Block 620 reale Bilder 400 und/oder simulierte Bilder 405 und/oder synthetische Bilder 415 in Schichten 305, 310, 315, 320 eines Programms 300 zum maschinellen Lernen ein, um das Programm 300 zum maschinellen Lernen zu trainieren. Das heil t, der Server 125 kann als Eingabedaten für das Programm 300 zum maschinellen Lernen einen Satz von Bildern verwenden, der reale Bilder 400 und/oder simulierte Bilder 405 und/oder synthetische Bilder 415 beinhalten kann. Wie vorstehend beschrieben, können die Bilder 400, 405, 415 realistische Merkmale beinhalten, die die Schichten 305, 310, 315, 320 identifizieren können, und das Programm 300 zum maschinellen Lernen kann eine jeweilige Kostenfunktion für jede Schicht 305, 310, 315, 320 auf Grundlage der eingegebenen Bilder 400, 405, 415 minimieren.
  • Als Nächstes bestimmt der Server 125 in einem Block 625, ob das Programm 300 zum maschinellen Lernen ausreichend trainiert worden ist. Zum Beispiel kann der Server 125 ein Testbild 200 in das Programm 300 zum maschinellen Lernen eingeben, und falls das Programm 300 zum maschinellen Lernen einen Parkplatz korrekt identifiziert, kann der Server 125 bestimmen, dass das Programm 300 zum maschinellen Lernen trainiert ist. Falls der Server 125 bestimmt, dass das Programm 300 zum maschinellen Lernen nicht trainiert ist, kehrt der Prozess 600 zu dem Block 605 zurück, um mehr Bilder 200 zum Trainieren des Programms 300 zum maschinellen Lernen zu erfassen. Andernfalls endet der Prozess 600.
  • In dieser Schrift erörterte Rechenvorrichtungen, einschliel lich des Computers 105, beinhalten Prozessoren und Speicher, wobei die Speicher im Allgemeinen jeweils Anweisungen beinhalten, die durch eine oder mehrere Rechenvorrichtungen, wie etwa die vorstehend identifizierten, und zum Ausführen vorstehend beschriebener Blöcke oder Schritte von Prozessen ausführbar sind. Computerausführbare Anweisungen können von Computerprogrammen kompiliert oder interpretiert werden, die unter Verwendung einer Vielfalt von Programmiersprachen und/oder -technologien erstellt worden sind, die entweder allein oder in Kombination unter anderem Java™, C, C++, Visual Basic, Java Script, Python, Perl, HTML usw. beinhalten. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Anweisungen aus, wodurch er einen oder mehrere Prozesse durchführt, die einen oder mehrere der in dieser Schrift beschriebenen Prozesse beinhalten. Derartige Anweisungen und andere Daten können unter Verwendung einer Vielfalt von computerlesbaren Medien gespeichert und übertragen werden. Eine Datei in dem Computer 105 ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium gespeichert sind, wie etwa einem Speichermedium, einem Direktzugriffsspeicher usw.
  • Ein computerlesbares Medium beinhaltet ein beliebiges Medium, das am Bereitstellen von Daten (z. B. Anweisungen) beteiligt ist, die durch einen Computer ausgelesen werden können. Ein derartiges Medium kann viele Formen annehmen, einschliel lich unter anderem nichtflüchtiger Medien, flüchtiger Medien usw. Nichtflüchtige Medien beinhalten zum Beispiel optische oder magnetische Platten und anderen Dauerspeicher. Flüchtige Medien beinhalten dynamischen Direktzugriffsspeicher (dynamic random access memory - DRAM), der typischerweise einen Hauptspeicher darstellt. Gängige Formen computerlesbarer Medien beinhalten zum Beispiel eine Diskette, eine Folienspeicherplatte, eine Festplatte, ein Magnetband, ein beliebiges anderes magnetisches Medium, eine CD-ROM, eine DVD, ein beliebiges anderes optisches Medium, Lochkarten, Lochstreifen, ein beliebiges anderes physisches Medium mit Lochmustern, einen RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, einen beliebigen anderen Speicherchip oder eine beliebige andere Speicherkassette oder ein beliebiges anderes Medium, das ein Computer auslesen kann.
  • Hinsichtlich der in dieser Schrift beschriebenen Medien, Prozesse, Systeme, Verfahren usw. sollte es sich verstehen, dass, obwohl die Schritte derartiger Prozesse usw. als in einer bestimmten geordneten Sequenz erfolgend beschrieben worden sind, die beschriebenen Schritte bei der Ausführung derartiger Prozesse in einer Reihenfolge durchgeführt werden könnten, bei der es sich nicht um die in dieser Schrift beschriebene Reihenfolge handelt. Es versteht sich ferner, dass bestimmte Schritte gleichzeitig durchgeführt werden könnten, dass andere Schritte hinzugefügt werden könnten oder dass bestimmte in dieser Schrift beschriebene Schritte weggelassen werden könnten. In dem Prozess 600 könnten zum Beispiel einer oder mehrere der Schritte weggelassen werden oder die Schritte könnten in einer anderen Reihenfolge als in 6 gezeigt ausgeführt werden. Mit anderen Worten sind die Beschreibungen von Systemen und/oder Prozessen in dieser Schrift zum Zweck der Veranschaulichung bestimmter Ausführungsformen bereitgestellt und sollten keinesfalls dahingehend ausgelegt werden, dass sie den offenbarten Gegenstand einschränken.
  • Dementsprechend versteht es sich, dass die vorliegende Offenbarung, einschliel lich der vorstehenden Beschreibung und der beigefügten Figuren und nachfolgenden Patentansprüche, veranschaulichend und nicht einschränkend sein soll. Viele Ausführungsformen und Anwendungen, bei denen es sich nicht um die bereitgestellten Beispiele handelt, wären dem Fachmann beim Lesen der vorstehenden Beschreibung ersichtlich. Der Umfang der Erfindung sollte nicht unter Bezugnahme auf die vorstehende Beschreibung bestimmt werden, sondern stattdessen unter Bezugnahme auf die Patentansprüche, die dieser Schrift beigefügt sind und/oder in einer hierauf beruhenden, nicht vorläufigen Patentanmeldung enthalten sind, gemeinsam mit dem vollständigen Umfang von Äquivalenten, zu denen derartige Patentansprüche berechtigen. Es wird vorweggenommen und ist beabsichtigt, dass es zukünftige Entwicklungen im in dieser Schrift erörterten Stand der Technik geben wird und dass die offenbarten Systeme und Verfahren in derartige zukünftige Ausführungsformen aufgenommen werden. Insgesamt versteht es sich, dass der offenbarte Gegenstand modifiziert und variiert werden kann.
  • Der ein Nomen modifizierende Artikel „ein(e)“ sollte dahingehend verstanden werden, dass er eine(n) oder mehrere bedeutet, es sei denn, es ist etwas anderes angegeben oder der Kontext erfordert etwas anderes. Der Ausdruck „auf Grundlage von“ schließt teilweise oder vollständig auf Grundlage von ein.
  • Gemäl der vorliegenden Erfindung ist ein System bereitgestellt, das einen Computer aufweist, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher durch den Prozessor ausführbare Anweisungen speichert zum: Eingeben eines Bilds in eine erste Schicht eines Programms zum maschinellen Lernen, wobei die erste Schicht darauf trainiert ist, eine oder mehrere viereckige Regionen in dem Bild zu identifizieren; nach dem Identifizieren der einen oder mehreren viereckigen Regionen Eingeben des erfassten Bilds in eine zweite Schicht eines Programms zum maschinellen Lernen, wobei die zweite Schicht darauf trainiert ist, eine Vielzahl von Sätzen von Eckpunkten zu identifizieren, wobei jeder Satz von Eckpunkten eine jeweilige polygonale Fläche definiert; Identifizieren einer der polygonalen Flächen, in der ein Fahrzeug geparkt werden soll; und Betätigen einer oder mehrerer Fahrzeugkomponenten, um das Fahrzeug in die identifizierte polygonale Fläche zu bewegen.
  • Gemäl einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Eingeben des Satzes von Eckpunkten der identifizierten polygonalen Fläche in einen Pfadplanungsalgorithmus, um einen Pfad auszugeben, um das Fahrzeug in die identifizierte polygonale Fläche zu bewegen.
  • Gemäl einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Identifizieren einer linken Grenze und einer rechten Grenze der polygonalen Fläche und zum Betätigen der einen oder mehreren Fahrzeugkomponenten, um das Fahrzeug zwischen der linken Grenze und der rechten Grenze zu bewegen.
  • Gemäl einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Identifizieren des Satzes von Eckpunkten einer der polygonalen Flächen auf Grundlage eines Standorts eines Zielfahrzeugs, das in dem erfassten Bild identifiziert ist.
  • Gemäl einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Identifizieren des Satzes von Eckpunkten einer der polygonalen Flächen zwischen dem Zielfahrzeug und einem zweiten Zielfahrzeug.
  • Gemäl einer Ausführungsform ist die erste Schicht des Programms zum maschinellen Lernen mit einer Vielzahl von Referenzbildern trainiert, in der Grenzen von viereckigen Referenzregionen mit Anmerkungen versehen sind.
  • Gemäl einer Ausführungsform ist die zweite Schicht des Programms zum maschinellen Lernen mit einer Vielzahl von Referenzbildern trainiert, in der Referenzsätze von Eckpunkten einer oder mehrerer polygonaler Referenzflächen mit Anmerkungen versehen sind.
  • Gemäl einer Ausführungsform ist das Programm zum maschinellen Lernen mit einer Vielzahl von synthetischen Bildern trainiert, wobei jedes synthetische Bild durch Hinzufügen mindestens eines von einem Beleuchtungsmerkmal, einem Wettermerkmal, einem Oberflächentexturmerkmal oder einem simulierten Fahrzeug zu einem realen Bild oder einem simulierten Bild erzeugt wird.
  • Gemäl einer Ausführungsform beinhaltet die Vielzahl von synthetischen Bildern Anmerkungen von polygonalen Referenzflächen.
  • Gemäl einer Ausführungsform beinhaltet mindestens ein synthetisches Bild eine Anmerkung, die eine polygonale Region identifiziert, in der das Parken nicht erlaubt ist, und das Programm zum maschinellen Lernen ist durch Eingeben des mindestens einen synthetischen Bilds darauf trainiert, die polygonale Region als falsche Identifizierung der polygonalen Fläche zu identifizieren.
  • Gemäl einer Ausführungsform beinhaltet mindestens ein synthetisches Bild eine Anmerkung, die Grenzen einer Fläche identifiziert, der Grenzlinienmarkierungen fehlen.
  • Gemäl einer Ausführungsform ist das Programm zum maschinellen Lernen darauf trainiert, die polygonale Fläche zu identifizieren, wenn dem erfassten Bild eine oder mehrere Grenzlinienmarkierungen fehlen.
  • Gemäl der vorliegenden Erfindung beinhaltet ein Verfahren Folgendes: Eingeben eines erfassten Bilds in eine erste Schicht eines Programms zum maschinellen Lernen, wobei die erste Schicht darauf trainiert ist, eine oder mehrere viereckige Regionen zu identifizieren; nach dem Identifizieren der einen oder mehreren viereckigen Regionen Eingeben des erfassten Bilds in eine zweite Schicht eines Programms zum maschinellen Lernen, wobei die zweite Schicht darauf trainiert ist, eine Vielzahl von Sätzen von Eckpunkten zu identifizieren, wobei jeder Satz von Eckpunkten eine jeweilige polygonale Fläche definiert; Identifizieren einer der polygonalen Flächen, in der ein Fahrzeug geparkt werden soll; und Betätigen einer oder mehrerer Fahrzeugkomponenten, um das Fahrzeug in die identifizierte polygonale Fläche zu bewegen.
  • Gemäl einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch Eingeben des Satzes von Eckpunkten der identifizierten polygonalen Fläche in einen Pfadplanungsalgorithmus, um einen Pfad auszugeben, um das Fahrzeug in die identifizierte polygonale Fläche zu bewegen.
  • Gemäl einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch Identifizieren einer linken Grenze und einer rechten Grenze der polygonalen Fläche und Betätigen der einen oder mehreren Fahrzeugkomponenten, um das Fahrzeug zwischen der linken Grenze und der rechten Grenze zu bewegen.
  • Gemäl einer Ausführungsform ist das Programm zum maschinellen Lernen mit einer Vielzahl von synthetischen Bildern trainiert, wobei jedes synthetische Bild durch Hinzufügen mindestens eines von einem Beleuchtungsmerkmal, einem Wettermerkmal, einem Oberflächentexturmerkmal oder einem simulierten Fahrzeug zu einem realen Bild oder einem simulierten Bild erzeugt wird.
  • Gemäl der vorliegenden Erfindung ist ein System bereitgestellt, das Folgendes aufweist: ein Fahrzeug, das einen Sensor und eine Vielzahl von Fahrzeugkomponenten beinhaltet; Mittel zum Erfassen eines Bilds mit dem Sensor; Mittel zum Eingeben eines erfassten Bilds in eine erste Schicht eines Programms zum maschinellen Lernen, wobei die erste Schicht darauf trainiert ist, eine oder mehrere viereckige Regionen zu identifizieren; Mittel zum Eingeben des erfassten Bilds in eine zweite Schicht eines Programms zum maschinellen Lernen, wobei die zweite Schicht darauf trainiert ist, eine Vielzahl von Sätzen von Eckpunkten zu identifizieren, wobei jeder Satz von Eckpunkten eine jeweilige polygonale Fläche definiert, nach dem Identifizieren der einen oder mehreren viereckigen Regionen; Mittel zum Identifizieren einer der polygonalen Flächen, in der das Fahrzeug geparkt werden soll; und Mittel zum Betätigen einer oder mehrerer der Vielzahl von Fahrzeugkomponenten, um das Fahrzeug in die identifizierte polygonale Fläche zu bewegen.
  • Gemäl einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch Mittel zum Eingeben des Satzes von Eckpunkten der identifizierten polygonalen Fläche in einen Pfadplanungsalgorithmus, um einen Pfad auszugeben, um das Fahrzeug in die identifizierte polygonale Fläche zu bewegen.
  • Gemäl einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch Mittel zum Identifizieren einer linken Grenze und einer rechten Grenze der polygonalen Fläche und Betätigen der einen oder mehreren Fahrzeugkomponenten, um das Fahrzeug zwischen der linken Grenze und der rechten Grenze zu bewegen.
  • Gemäl einer Ausführungsform ist das Programm zum maschinellen Lernen mit einer Vielzahl von synthetischen Bildern trainiert, wobei jedes synthetische Bild durch Hinzufügen mindestens eines von einem Beleuchtungsmerkmal, einem Wettermerkmal, einem Oberflächentexturmerkmal oder einem simulierten Fahrzeug zu einem realen Bild oder einem simulierten Bild erzeugt wird.

Claims (15)

  1. Verfahren, umfassend: Eingeben eines Bilds in eine erste Schicht eines Programms zum maschinellen Lernen, wobei die erste Schicht darauf trainiert ist, eine oder mehrere viereckige Regionen in dem Bild zu identifizieren; nach dem Identifizieren der einen oder mehreren viereckigen Regionen Eingeben des erfassten Bilds in eine zweite Schicht eines Programms zum maschinellen Lernen, wobei die zweite Schicht darauf trainiert ist, eine Vielzahl von Sätzen von Eckpunkten zu identifizieren, wobei jeder Satz von Eckpunkten eine jeweilige polygonale Fläche definiert; Identifizieren einer der polygonalen Flächen, auf der ein Fahrzeug geparkt werden soll; und Betätigen einer oder mehrerer Fahrzeugkomponenten, um das Fahrzeug in die identifizierte polygonale Fläche zu bewegen.
  2. Verfahren nach Anspruch 1, ferner umfassend Eingeben des Satzes von Eckpunkten der identifizierten polygonalen Fläche in einen Pfadplanungsalgorithmus, um einen Pfad auszugeben, um das Fahrzeug in die identifizierte polygonale Fläche zu bewegen.
  3. Verfahren nach Anspruch 1, ferner umfassend Identifizieren einer linken Grenze und einer rechten Grenze der polygonalen Fläche und Betätigen der einen oder mehreren Fahrzeugkomponenten, um das Fahrzeug zwischen der linken Grenze und der rechten Grenze zu bewegen.
  4. Verfahren nach Anspruch 1, ferner umfassend Identifizieren des Satzes von Eckpunkten einer der polygonalen Flächen auf Grundlage eines Standorts eines Zielfahrzeugs, das in dem erfassten Bild identifiziert ist.
  5. Verfahren nach Anspruch 4, ferner umfassend Identifizieren des Satzes von Eckpunkten einer der polygonalen Flächen zwischen dem Zielfahrzeug und einem zweiten Zielfahrzeug.
  6. Verfahren nach Anspruch 1, wobei die erste Schicht des Programms zum maschinellen Lernen mit einer Vielzahl von Referenzbildern trainiert ist, in der Grenzen von viereckigen Referenzregionen mit Anmerkungen versehen sind.
  7. Verfahren nach Anspruch 1, wobei die zweite Schicht des Programms zum maschinellen Lernen mit einer Vielzahl von Referenzbildern trainiert ist, in der Referenzsätze von Eckpunkten einer oder mehrerer polygonaler Referenzflächen mit Anmerkungen versehen sind.
  8. Verfahren nach einem der Ansprüche 1-7, wobei das Programm zum maschinellen Lernen mit einer Vielzahl von synthetischen Bildern trainiert ist, wobei jedes synthetische Bild durch Hinzufügen mindestens eines von einem Beleuchtungsmerkmal, einem Wettermerkmal, einem Oberflächentexturmerkmal oder einem simulierten Fahrzeug zu einem realen Bild oder einem simulierten Bild erzeugt wird.
  9. Verfahren nach Anspruch 8, wobei die Vielzahl von synthetischen Bildern Anmerkungen von polygonalen Referenzflächen beinhaltet.
  10. Verfahren nach Anspruch 8, wobei mindestens ein synthetisches Bild eine Anmerkung beinhaltet, die eine polygonale Region identifiziert, in der das Parken nicht erlaubt ist, und das Programm zum maschinellen Lernen durch Eingeben des mindestens einen synthetischen Bilds darauf trainiert ist, die polygonale Region als falsche Identifizierung der polygonalen Fläche zu identifizieren.
  11. Verfahren nach Anspruch 8, wobei mindestens ein synthetisches Bild eine Anmerkung beinhaltet, die Grenzen einer Fläche identifiziert, der Grenzlinienmarkierungen fehlen.
  12. Verfahren nach Anspruch 11, wobei das Programm zum maschinellen Lernen darauf trainiert ist, die polygonale Fläche zu identifizieren, wenn dem erfassten Bild eine oder mehrere Grenzlinienmarkierungen fehlen.
  13. Computer, der dazu programmiert ist, das Verfahren nach einem der Ansprüche 1-7 durchzuführen.
  14. Fahrzeug, das den Computer nach Anspruch 13 umfasst.
  15. Computerprogrammprodukt, das ein computerlesbares Medium umfasst, das durch einen Computerprozessor ausführbare Anweisungen speichert, um das Verfahren nach einem der Ansprüche 1-7 auszuführen.
DE102021107914.4A 2020-03-30 2021-03-29 Verbesserter fahrzeugbetrieb Pending DE102021107914A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/834,069 2020-03-30
US16/834,069 US11176823B2 (en) 2020-03-30 2020-03-30 Enhanced vehicle operation

Publications (1)

Publication Number Publication Date
DE102021107914A1 true DE102021107914A1 (de) 2021-09-30

Family

ID=77659115

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021107914.4A Pending DE102021107914A1 (de) 2020-03-30 2021-03-29 Verbesserter fahrzeugbetrieb

Country Status (3)

Country Link
US (1) US11176823B2 (de)
CN (1) CN113525349A (de)
DE (1) DE102021107914A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11367289B1 (en) * 2021-07-16 2022-06-21 Motional Ad Llc Machine learning-based framework for drivable surface annotation
DE102022205910A1 (de) * 2022-06-10 2023-12-21 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Erkennen eines Parkplatzes für ein Fahrzeug mithilfe maschineller Lernverfahren

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8571722B2 (en) 2010-10-22 2013-10-29 Toyota Motor Engineering & Manufacturing North America, Inc. Method for safely parking vehicle near obstacles
US10078789B2 (en) 2015-07-17 2018-09-18 Magna Electronics Inc. Vehicle parking assist system with vision-based parking space detection
US20170053192A1 (en) 2015-08-18 2017-02-23 Parking Vision Information Technologies, INC. Systems and methods for detecting parking occupancy status
US10152639B2 (en) 2017-02-16 2018-12-11 Wipro Limited Method and system for identifying a vacant parking space in a parking lot
US10836379B2 (en) 2018-03-23 2020-11-17 Sf Motors, Inc. Multi-network-based path generation for vehicle parking
WO2020190880A1 (en) * 2019-03-16 2020-09-24 Nvidia Corporation Object detection using skewed polygons suitable for parking space detection

Also Published As

Publication number Publication date
CN113525349A (zh) 2021-10-22
US20210304602A1 (en) 2021-09-30
US11176823B2 (en) 2021-11-16

Similar Documents

Publication Publication Date Title
DE102020112314A1 (de) Verifizierung von fahrzeugbildern
DE102020110458A1 (de) Fahrzeugpfadvorhersage
DE102019101938A1 (de) Erstellung kognitiver Karten für Fahrzeuge
DE102019125303A1 (de) Reinigung des fahrzeugsensors
DE102007013023B4 (de) Probabilistische Rasterkarte
DE102019121140A1 (de) Sensorfusion
DE102019119162A1 (de) Posenschätzung
DE102019122826A1 (de) Adaptives fahrzeuglernen
DE102015203016B4 (de) Verfahren und Vorrichtung zur optischen Selbstlokalisation eines Kraftfahrzeugs in einem Umfeld
DE102019133536A1 (de) Verfahren und Vorrichtung zum Ermöglichen der sequentiellen Bodenansichts-Bildprojektionssynthese und der komplizierten Szenenrekonstruktion an Kartenanomalie-Hotspots
DE112019000383T5 (de) Odometriesystem und Verfahren zum Verfolgen von Ampelanlagen
DE102017125493A1 (de) Verkehrszeichenerkennung
DE102017120112A1 (de) Tiefenkartenschätzung mit stereobildern
DE102020113848A1 (de) Ekzentrizitätsbildfusion
DE102019126542A1 (de) Lokalisierung einer stationären kamera
DE102020117376A1 (de) Generierung eines fahrzeugbildes
DE102021100101A1 (de) Fahrzeugsensorkalibrierung
DE112020002592T5 (de) Systeme und verfahren zur fahrzeugnavigation basierend auf bildanalyse
WO2013029722A2 (de) Verfahren zur umgebungsrepräsentation
DE102020107149A1 (de) Fahrzeugkapsel-netzwerke
DE102021114724A1 (de) Verbesserter fahrzeugbetrieb
DE102021107914A1 (de) Verbesserter fahrzeugbetrieb
DE102019110528A1 (de) Technik zur positionsbestimmung
DE102020126155A1 (de) Trainieren eines neuronalen netzwerks eines fahrzeugs
DE102018121008A1 (de) Kreuzverkehrserfassung unter verwendung von kameras

Legal Events

Date Code Title Description
R082 Change of representative

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

R081 Change of applicant/patentee

Owner name: FORD GLOBAL TECHNOLOGIES, LLC, DEARBORN, US

Free format text: FORMER OWNER: FORD GLOBAL TECHNOLOGIES, LLC, DEARBORN, MICH., US