DE112021000482T5 - Erkennung von fremdkörpern in einem fahrzeugweg - Google Patents

Erkennung von fremdkörpern in einem fahrzeugweg Download PDF

Info

Publication number
DE112021000482T5
DE112021000482T5 DE112021000482.4T DE112021000482T DE112021000482T5 DE 112021000482 T5 DE112021000482 T5 DE 112021000482T5 DE 112021000482 T DE112021000482 T DE 112021000482T DE 112021000482 T5 DE112021000482 T5 DE 112021000482T5
Authority
DE
Germany
Prior art keywords
determining
pixel group
image
road
foreign object
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
DE112021000482.4T
Other languages
English (en)
Inventor
Naveen Kumar BANGALORE RAMAIAH
Subrata Kumar KUNDU
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.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Astemo Ltd
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 Hitachi Astemo Ltd filed Critical Hitachi Astemo Ltd
Publication of DE112021000482T5 publication Critical patent/DE112021000482T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • 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/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/09Taking automatic action to avoid collision, e.g. braking and steering
    • 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
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • 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/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • 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
    • 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/16Anti-collision systems
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • G08G1/165Anti-collision systems for passive traffic, e.g. including static obstacles, trees
    • 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
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • B60W2050/146Display means
    • 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/93Radar or analogous systems specially adapted for specific applications for anti-collision purposes
    • G01S13/931Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • G01S2013/9323Alternative operation using light waves
    • 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
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • G08G1/164Centralised systems, e.g. external to vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Traffic Control Systems (AREA)

Abstract

In einigen Beispielen können ein oder mehrere Prozessoren mindestens ein Bild einer Straße empfangen und mindestens eine Pixel-Kandidatengruppe in dem Bild als potenziell zu Fremdkörpern auf der Straße gehörend bestimmen. Der eine oder die mehreren Prozessoren können mindestens zwei höhenbasierte Merkmale für die Pixel-Kandidatengruppe bestimmen. Die mindestens zwei höhenbasierten Merkmale können beispielsweise eine maximale Höhe, die der Pixel-Kandidatengruppe relativ zu einer Oberfläche der Straße zugeordnet ist, und eine durchschnittliche Höhe, die der Pixel-Kandidatengruppe relativ zu der Oberfläche der Straße zugeordnet ist, umfassen. Darüber hinaus kann der eine oder die mehreren Prozessoren mindestens einen Gewichtungsfaktor bestimmen, der auf dem Vergleich der mindestens zwei höhenbasierten Merkmale mit den jeweiligen Schwellenwerten beruht, und kann zumindest auf der Grundlage des Vergleichs bestimmen, ob die Pixelgruppe einem Fremdkörper entspricht.

Description

  • Stand der Technik
  • Erweiterte Fahrerassistenzsysteme (ADAS) sowie halbautonome Fahrzeugsysteme, selbstfahrende Systeme oder anderweitig autonome Fahrsysteme (AD) sind Systeme, die die Fahrzeugsteuerung automatisieren oder anderweitig verbessern, um die Sicherheit zu erhöhen, die Navigation zu automatisieren und dergleichen. Diese Systeme umfassen in der Regel eine Funktion zur Erkennung anderer Fahrzeuge, großer Hindernisse, Fußgänger usw. auf dem Straßenweg, um Kollisionen zu vermeiden. Die Erkennung und Vermeidung von Fremdkörpern im Fahrweg eines Fahrzeugs kann jedoch schwieriger sein als die Erkennung größerer Hindernisse, z. B. aufgrund der im Allgemeinen geringeren Größe von Fremdkörpern und der großen Vielfalt möglicher Fremdkörpertypen. Jüngste Erhebungen zeigen, dass in den USA zwischen 2011 und 2014 etwa 200.000 Unfälle mit Fremdkörpern stattfanden, bei denen rund 500 Menschen ums Leben kamen. Dementsprechend kann das Erkennen und Vermeiden von Fremdkörpern auf Straßenwegen die Fahrzeugsicherheit verbessern, Unfälle reduzieren, Fahrzeugschäden verringern und Ähnliches mehr.
  • Zusammenfassung der Erfindung
  • Technisches Problem
  • In einigen Implementierungen können ein oder mehrere Prozessoren mindestens ein Bild einer Straße empfangen und mindestens eine Pixel-Kandidatengruppe in dem Bild als potenziell zu Fremdkörpern auf der Straße gehörend bestimmen. Der eine oder die mehreren Prozessoren können mindestens zwei höhenbasierte Merkmale für die Pixel-Kandidatengruppe bestimmen. Die mindestens zwei höhenbasierten Merkmale können beispielsweise eine maximale Höhe, die der Pixel-Kandidatengruppe relativ zu einer Oberfläche der Straße zugeordnet ist, und eine durchschnittliche Höhe, die der Pixel-Kandidatengruppe relativ zu der Oberfläche der Straße zugeordnet ist, umfassen. Darüber hinaus kann der eine oder die mehreren Prozessoren mindestens einen Gewichtungsfaktor bestimmen, der auf dem Vergleich der mindestens zwei höhenbasierten Merkmale mit den jeweiligen Schwellenwerten basiert, und kann zumindest auf der Grundlage des Vergleichs bestimmen, ob die Pixelgruppe einem Fremdkörper entspricht.
  • Figurenliste
    • [1] 1 zeigt ein beispielhaftes Fremdkörpererfassungssystem, das für die Erkennung von Fremdkörpern auf dem Weg eines Fahrzeugs gemäß einigen Implementierungen konfiguriert ist.
    • [2] 2 veranschaulicht eine Beispielarchitektur einer Fremdkörpererfassung und eines Fahrzeugsteuerungssystems, das gemäß einigen Implementierungen in das Fahrzeug eingebaut werden kann.
    • [3] 3 veranschaulicht eine Beispielarchitektur einer Fremdkörpererfassung und eines Fahrzeugsteuerungssystems, das gemäß einigen Implementierungen in das Fahrzeug eingebaut werden kann.
    • [4] 4 ist ein Flussdiagramm, das einen beispielhaften Prozess veranschaulicht, in dem ein Algorithmus zur Erkennung von Fremdkörpern, der von den oben beschriebenen Systemen gemäß einigen Implementierungen ausgeführt werden kann.
    • [5] 5 zeigt ein Beispiel für die Aufnahme von linken und rechten Bildern mit dem Kamerasystem 108 gemäß einigen Implementierungen.
    • [6] 6 zeigt ein Beispiel e der Bestimmen von Spurinformationen, eines Ungleichheitsbildes und eines Randbildes gemäß einiger Implementierungen.
    • [7] 7 ist ein Flussdiagramm, das ein Beispielverfahren zur Erzeugung eines Schwellenwert-Ungleichheitsbildes gemäß einigen Implementierungen zeigt.
    • [8] 8 zeigt ein Beispiel für das Bestimmen von Fremdkörper-Kandidaten und Rauschen durch die Durchführung der Kandidatenextraktion gemäß einiger Implementierungen.
    • [9] 9 ist ein Flussdiagramm, das ein Beispielverfahren zum Trennen von Rauschen von Fremdkörper-Kandidaten gemäß einigen Implementierungen zeigt.
    • [10] 10 ist ein Flussdiagramm, das ein Beispielverfahren zur Schätzung der Straßenoberflächenebene gemäß einigen Implementierungen veranschaulicht.
    • [11] 11 ist ein Flussdiagramm, das einen Beispielprozess für die Pixelvalidierung gemäß einigen Implementierungen illustriert.
    • [12] 12 zeigt ein Beispiel für einen ausgewählten Kandidaten in Matrixform gemäß einigen Implementierungen.
    • [13] 13 zeigt ein Beispiel für den ausgewählten Kandidaten aus 12 als 3D-Karte in Matrixform gemäß einigen Implementierungen.
    • [14] 14 zeigt ein Beispiel für die Auswahl der Schrittgröße gemäß einigen Implementierungen.
    • [15] 15 zeigt Beispiele für die Schätzung der Neigung bergauf und der Neigung bergab gemäß einigen Implementierungen.
    • [16] 16 zeigt ein Beispiel der Maskenmatrix des ausgewählten Kandidaten vor und nach der Pixelvalidierung gemäß einigen Implementierungen.
    • [17] 17 zeigt eine beispielhafte Datenstruktur mit Merkmalen und entsprechender Merkmalsstärke gemäß einigen Implementierungen.
    • [18] 18 zeigt ein Beispiel für die Fremdkörpererfassung im Vergleich zur Straßenoberfläche für die oben in Bezug auf 17 diskutierten Merkmale gemäß einigen Implementierungen.
    • [19] 19 zeigt ein Beispiel für einen starken Klassifizierungsalgorithmus gemäß einigen Implementierungen.
    • [20] 20 zeigt ein Beispiel für einen schwachen Klassifizierungsalgorithmus, der gemäß einigen Implementierungen ausgeführt werden kann.
  • Beschreibung der Ausführungsformen
  • Einige Implementierungen hierin beziehen sich auf Techniken und Anordnungen, die in der Lage sind, kleine Hindernisse und andere Arten von Fremdkörpern auf dem Fahrweg eines Fahrzeugs zu erkennen, beispielsweise zur Unterstützung von ADAS- und AD-Steuergeräten sowie zur Verbesserung der Sicherheit und des Komforts der Fahrzeuginsassen. So kann das Fremdkörpererfassungssystem beispielsweise in der Lage sein, den Ort und die Höhe von Fremdkörpern in einem Fahrweg in Echtzeit zu erkennen, indem es nur die Eingaben einer Kamera verwendet. Beispielsweise kann die Kamera Bilddaten liefern, die das System zum Bestimmen von Straßenweg-Rändern und zur Erstellung einer Ungleichheitskarte zur Extraktion von Kandidaten für die Fremdkörpererkennung verwenden kann. Darüber hinaus kann das System eine Pixelvalidierungstechnik verwenden, um mehrere Merkmale zu extrahieren, und es kann auf starken und schwachen Merkmalen basierende Klassifikatoren einsetzen, um Fremdkörper in Echtzeit und mit geringeren Kosten als bei herkömmlichen Verfahren zu erkennen. Herkömmliche Verfahren können beispielsweise mehrere verschiedene Arten von Sensoren wie Kameras, Radar, LIDAR und Fusionstechnologie einsetzen, um ein Fremdkörpererfassungssystem zu erstellen, was sowohl in Bezug auf die erforderliche Hardware als auch auf die erforderliche Rechenkapazität teuer sein kann.
  • Darüber hinaus sind die Höhen von Hindernissen, die von herkömmlichen ADAS- und AD-Technologien erkannt werden, wie z. B. Fußgängererkennung, Fahrzeugerkennung und Hinderniserkennung, typischerweise vergleichsweise höher als übliche Straßenweg-Fremdkörper. Dementsprechend kann in einigen Beispielen der erkannte Fremdkörper jedes kleine Hindernis oder jeden Fremdkörper umfassen, der sich auf der Straßenoberfläche befindet und eine Gefahr für das Fahrzeug oder die Fahrzeuginsassen darstellen oder anderweitig Unannehmlichkeiten für die Fahrzeuginsassen verursachen kann. Fremdkörper können zum Beispiel durch herabfallende Gegenstände von anderen Fahrzeugen, durch Unfälle, durch Straßenbau usw. entstehen. Fremdkörper auf einem Straßenweg können Schäden an einem Fahrzeug verursachen und in einigen Fällen den Fahrer oder andere Fahrzeuginsassen gefährden. Fremdkörper können beispielsweise einen Reifenplatzer oder andere Reifenschäden verursachen, die Fahrzeugaufhängung beschädigen, plötzliches Bremsen des Fahrers verursachen und dergleichen. Folglich sind die hier vorgestellten Implementierungen so konfiguriert, dass Fremdkörper frühzeitig erkannt werden, so dass Anpassungen an der Fahrzeugfahrt vorgenommen werden können, um den Fremdkörper zu vermeiden.
  • Einige Beispiele hierin umfassen ein kamerabasiertes System zur Erkennung kleiner Hindernisse, Fragmente, Müll, Fahrzeugteile und verschiedener anderer Arten von Fremdkörpern in einem Fahrzeugfahrweg. Die von diesem System bestimmte Informationen über die Fremdkörpererfassung können zur Unterstützung oder anderweitigen Bereitstellung von Informationen für verschiedene Fahrzeugsteuerungssysteme verwendet werden, damit die Fahrzeugsteuerungssysteme Anpassungen der Fahrzeugsteuerung vornehmen können, um die Fremdkörper zu vermeiden oder sich anderweitig auf der Grundlage der erkannten Fremdkörper anzupassen. Darüber hinaus können die hier beschriebenen automatischen Fremdkörpererfassungstechniken erhebliche Vorteile bieten, um ADAS- und/oder AD-Fahrzeugsysteme in die Lage zu versetzen, die Sicherheit und den Fahrkomfort für Fahrzeuginsassen zu verbessern.
  • Darüber hinaus kann das vorliegende System in einigen Implementierungen auch zur Erkennung von Schlaglöchern im Straßenweg verwendet werden, um eine Umgehung der Schlaglöcher zu ermöglichen. Zum Beispiel kann das System durch Modifizierung der Gewichtungen, die von den unten besprochenen Klassifizierungsmerkmalen verwendet werden, Löcher im Straßenbelag in einer Weise erkennen, die der Erkennung von Fremdkörpern ähnelt, die sich auf der Oberseite des Straßenbelags nach oben erstrecken. Zahlreiche andere Variationen sind für den Fachmann, der mit der vorliegenden Offenbarung vertraut ist, offensichtlich.
  • In einigen Fällen können Informationen über den erkannten Fremdkörper und den Standort des Fremdkörpers auf einen Server oder eine andere Dienstcomputereinrichtung hochgeladen werden, und die Fremdkörperinformationen können anschließend anderen Fahrzeugen zur Verfügung gestellt werden. Auf diese Weise können die anderen Fahrzeuge anhand der Standortinformationen Strecken oder gewisse Spuren, auf denen Fremdkörper erkannt wurden, meiden und so mögliche Schäden an den anderen Fahrzeugen vermeiden. Darüber hinaus können die auf die Dienstcomputervorrichtung hochgeladenen Informationen zur Fremdkörpererfassung von Straßenverwaltungspersonal o.ä. verwendet werden, um Fremdkörper zu lokalisieren und zu entfernen, damit die Straßenoberfläche schneller geräumt werden kann. Dementsprechend ist ein Fremdkörpererfassungssystem, wie hier beschrieben, in der Lage, Fremdkörper mit nur einer oder mehreren Kameras als Sensoren genau zu erkennen, und kann erhebliche Vorteile für die Verbesserung der Fahrzeugsicherheit, die Vermeidung von Fahrzeugschäden und die Verbesserung des Komforts der Fahrzeuginsassen bieten.
  • Zu Diskussionszwecken werden einige Beispielimplementierungen in der Umgebung der Erfassung und Analyse von Bildern zur Erkennung von Fremdkörpern in einem Fahrweg eines Fahrzeugs beschrieben. Die hier beschriebenen Implementierungen sind jedoch nicht auf die angegebenen Beispiele beschränkt und können auf andere Arten von Kameras, andere Arten von Erfassungsgeräten, andere Arten von Fahrzeugen, andere Arten von Hindernissen, andere Arten von Fremdkörpern, andere Arten von Hindernissen mit geringer Sichtbarkeit, wie z. B. Schlaglöcher, usw. ausgedehnt werden, wie es für Fachleute im Lichte der hier beschriebenen Offenlegung offensichtlich ist.
  • 1 zeigt ein Beispiel für ein Fremdkörpererfassungssystem 100, das zum Erkennen von Fremdkörpern auf dem Weg eines Fahrzeugs 102 gemäß einigen Implementierungen konfiguriert ist. In diesem Beispiel fährt das Fahrzeug 102 auf einem Straßenweg oder einem anderen Fahrweg 104 in einer durch den Pfeil 106 angegebenen Richtung. Das vorliegende Fremdkörpererfassungssystem 100 kann mindestens ein Kamerasystem 108 umfassen, das an dem Fahrzeug 102 angebracht sein kann. Im dargestellten Beispiel kann das Kamerasystem 108 eine Stereokamera umfassen, in anderen Beispielen kann das Kamerasystem 108 jedoch z.B. eine Monokamera oder mehrere Mono- und/oder Stereokameras umfassen. Das Sichtfeld 110 der Kamera kann breit genug sein, um die Straße oder einen anderen Fahrweg 104 vor dem Fahrzeug 102 zu erfassen. In einigen Fällen kann das Kamerasystem 108 kontinuierlich Bilder des Sichtfeldes 110 aufnehmen, z. B. 15 Bilder pro Sekunde, 30 Bilder pro Sekunde, 60 Bilder pro Sekunde oder mit einer anderen gewünschten Frequenz, die Bilder mit einer ausreichend hohen Rate liefert, um eine rechtzeitige Identifizierung von Fremdkörpern 112 auf dem Fahrweg 104 zu ermöglichen, um Ausweichmaßnahmen zu ergreifen oder sich anderweitig an die Fremdkörper 112 anzupassen. Ferner kann in einigen Beispielen die Bildaufnahmefrequenz des Kamerasystems 108 mit zunehmender Fahrzeuggeschwindigkeit steigen.
  • Das Fahrzeug 102 kann ein oder mehrere Fahrzeugrechengeräte 114 enthalten, wie weiter unten noch erläutert wird. Die Fahrzeugrechenvorrichtung(en) 114 kann/können ein Fremdkörpererfassungsprogramm 116 und ein Fahrzeugsteuerungsprogramm 118 ausführen. In einigen Fällen kann das Fremdkörpererfassungsprogramm 116 die von der/den Kamera(s) des Kamerasystems 108 aufgenommenen Bilder empfangen und eine Analyse der Bilder durchführen, um zu bestimmen, ob sich der Fremdkörper 112 auf dem aktuellen Fahrweg 104 des Fahrzeugs 102 befindet. Das Fremdkörpererfassungsprogramm 116 kann Fremdkörperinformationen über erkannte Fremdkörper 112 an das Fahrzeugsteuerungsprogramm 118 weitergeben, das auf der Grundlage der Fremdkörperinformationen eine oder mehrere Aktionen einleiten kann, wie z. B. die Warnung eines Fahrers, das Abbremsen des Fahrzeugs 102, das Lenken des Fahrzeugs 102 oder Ähnliches.
  • In einigen Fällen kann das Kamerasystem 108 mindestens ein Fahrzeugrechengerät 114 umfassen, das das Fremdkörpererfassungsprogramm 116 ausführt. In anderen Fällen kann/können die Fahrzeugrechenvorrichtung(en) 114 vom Kamerasystem 108 getrennt sein und an anderer Stelle im Fahrzeug 102 das Fremdkörpererfassungsprogramm 116 ausführen. In jedem Fall können die Fahrzeugrechenvorrichtung(en) 114 Bilder vom Kamerasystem 108 empfangen und die Bilder analysieren, um den Fremdkörper 112 zu erkennen.
  • In einigen Beispielen kann das Fremdkörpererfassungsprogramm 116 eine Parallaxenkarte aus den empfangenen Bildern erzeugen, z. B. unter Verwendung von Monokamerabildern, Stereokamerabildern oder Bildern, die von mehreren Kameras aufgenommen wurden. Wenn eine Monokamera verwendet wird, kann eine Tiefenkarte mit Hilfe eines trainierten Maschinen-Lernmodells berechnet werden. So können beispielsweise zunächst eine Reihe von Monobildern und die dazugehörigen Parallaxenkarten erfasst und zum Trainieren des maschinellen Lernmodells verwendet werden. Anschließend kann das maschinelle Lernmodell verwendet werden, um ungefähre Werte der Parallaxenkarte in Abhängigkeit von neu aufgenommenen Bildern vorherzusagen.
  • Im Falle einer Stereokamera oder mehrerer Kameras können die Bilder auch von zwei oder mehr als zwei Kameras erfasst werden. Die erfassten Bilder können zur Berechnung einer Parallaxe unter Verwendung von Blockabgleichsverfahren, wie semiglobaler Blockabgleich oder andere geeignete Verfahren, verwendet werden. In einigen Beispielen wird hier ein Stereokamerasystem als Beispielsystem verwendet, um einige Beispielimplementierungen zu erläutern, aber Fachleute werden verstehen, dass ähnliche Anordnungen und Techniken auch mit Systemen mit einer einzelnen Monokamera oder mehreren Monokameras angewendet werden können.
  • Mindestens ein Teil der , , , und enthält Flussdiagramme, die Beispielalgorithmen oder andere Prozesse gemäß einigen Implementierungen illustrieren. Die Prozesse sind als Sammlungen von Blöcken in logischen Flussdiagrammen dargestellt, die eine Abfolge von Tätigkeiten darstellen, von denen einige oder alle in Hardware, Software oder einer Kombination davon implementiert sein können. Im Zusammenhang mit Software können die Blöcke computerausführbare Anweisungen darstellen, die auf einem oder mehreren computerlesbaren Medien gespeichert sind und bei Ausführung durch einen oder mehrere Prozessoren die Prozessoren so programmieren, dass sie die genannten Tätigkeiten ausführen. Zu den computerausführbaren Anweisungen gehören im Allgemeinen Routinen, Programme, Objekte, Komponenten, Datenstrukturen und dergleichen, die bestimmte Funktionen ausführen oder bestimmte Datentypen implementieren. Die Reihenfolge, in der die Blöcke beschrieben werden, ist nicht als Einschränkung zu verstehen. Eine beliebige Anzahl der beschriebenen Blöcke kann in beliebiger Reihenfolge und/oder parallel kombiniert werden, um den Prozess oder alternative Prozesse zu implementieren, und es müssen nicht alle Blöcke ausgeführt werden. Zu Diskussionszwecken werden die Prozesse unter Bezugnahme auf die in den Beispielen beschriebenen Umgebungen, Rahmenwerke und Systeme beschrieben, obwohl die Prozesse in einer Vielzahl von anderen Umgebungen, Rahmenwerken und Systemen implementiert werden können.
  • 2 zeigt eine Beispielarchitektur einer Fremdkörpererfassung und eines Fahrzeugsteuerungssystems 200, das gemäß einigen Implementierungen in das Fahrzeug 102 integriert werden kann. Jedes Fahrzeug-Rechengerät 114 kann einen oder mehrere Prozessoren 202, ein oder mehrere computerlesbare Medien 204 und eine oder mehrere Kommunikationsschnittstellen (I/Fs) 206 umfassen. In einigen Beispielen können die Fahrzeug-Rechnervorrichtung(en) 114 ein oder mehrere Steuergeräte (ECUs) oder verschiedene andere Arten von Rechnern umfassen. Zum Beispiel kann die Rechnereinheit(en) 114 eine oder mehrere ADAS/AD-ECUs zur Steuerung kritischer Fahrzeugsysteme enthalten, um ADAS- und/oder AD-Aufgaben wie Navigation, Bremsen, Lenken, Beschleunigen, Abbremsen usw. durchzuführen. Die Rechnereinheit(en) 114 kann (können) auch andere ECUs zur Steuerung anderer Fahrzeugsysteme enthalten.
  • ECU ist ein allgemeiner Begriff für jedes eingebettete System, das eines oder mehrere der Systeme, Subsysteme oder Komponenten in einem Fahrzeug steuert. Software, wie das Fremdkörpererfassungsprogramm 116 und das Fahrzeugsteuerungsprogramm 118, kann von einem oder mehreren Steuergeräten ausgeführt und in einem Teil der computerlesbaren Medien 204 (z.B. Programm-ROM) gespeichert werden, die dem jeweiligen Steuergerät zugeordnet sind, damit das Steuergerät als eingebettetes System arbeiten kann. Steuergeräte können typischerweise über einen Fahrzeugbus 208 gemäß einem Fahrzeugbusprotokoll miteinander kommunizieren. Ein Beispiel ist das Controller Area Network Bus (CAN-Bus)-Protokoll, ein Fahrzeugbusprotokoll, das es Steuergeräten und anderen Fahrzeuggeräten und -systemen ermöglicht, ohne einen Host-Computer miteinander zu kommunizieren. Der CAN-Bus kann mindestens zwei verschiedene Typen umfassen. Der Hochgeschwindigkeits-CAN kann beispielsweise in Anwendungen verwendet werden, bei denen der Bus von einem Ende der Umgebung zum anderen verläuft, während der fehlertolerante CAN häufig dort eingesetzt wird, wo Gruppen von Knoten miteinander verbunden sind.
  • Jedes Steuergerät oder andere Fahrzeugrechengerät 114 kann einen oder mehrere Prozessoren 202 enthalten, die eine oder mehrere zentrale Verarbeitungseinheiten (CPUs), Grafik-Verarbeitungseinheiten (GPUs), Mikroprozessoren, Mikrocomputer, Mikrocontroller, digitale Signalprozessoren, Zustandsautomaten, Logikschaltungen und/oder beliebige Geräte, die Signale auf der Grundlage von Tätigkeitsanweisungen manipulieren, umfassen können. Als ein Beispiel kann der Signalprozessor(en) 202 einen oder mehrere Hardwareprozessoren und/oder Logikschaltungen eines beliebigen geeigneten Typs enthalten, die speziell für die Ausführung der hier beschriebenen Algorithmen und anderen Prozesse programmiert oder konfiguriert sind. Der Signalprozessor(en) 202 kann so konfiguriert sein, dass er computerlesbare Anweisungen, die in den computerlesbaren Medien 204 gespeichert sind, abruft und ausführt, die den Signalprozessor(en) 202 so programmieren können, dass er die hierin beschriebenen Funktionen ausführt.
  • Die computerlesbaren Medien 204 können flüchtige und nichtflüchtige Speicher und/oder entfernbare und nicht entfernbare Medien umfassen, die in jeder Art von Technologie zur Speicherung von Informationen implementiert sind, wie beispielsweise computerlesbare Anweisungen, Datenstrukturen, Programme, Programmmodule und andere Codes oder Daten. Zu den computerlesbaren Medien 204 können beispielsweise RAM, ROM, EEPROM, Flash-Speicher oder andere Speichertechnologien, optische Speicher, Festkörperspeicher, Magnetplatten, Cloud-Speicher oder jedes andere Medium gehören, das zum Speichern der gewünschten Informationen verwendet werden kann und auf das eine Rechenvorrichtung zugreifen kann, ohne darauf beschränkt zu sein. Je nach Konfiguration der Fahrzeugrechenvorrichtung(en) 114 kann es sich bei den computerlesbaren Medien 204 um ein greifbares nichttransitorisches Medium handeln, wobei nichttransitorische computerlesbare Medien, wenn sie erwähnt werden, Medien wie Energie, Trägersignale, elektromagnetische Wellen und/oder Signale als solche ausschließen. In einigen Fällen können sich die computerlesbaren Medien 204 am selben Ort wie das Fahrzeugrechengerät 114 befinden, während in anderen Beispielen die computerlesbaren Medien 204 teilweise von dem Fahrzeugrechengerät 114 entfernt sein können.
  • Die computerlesbaren Medien 204 können dazu verwendet werden, eine beliebige Anzahl von Funktionskomponenten zu speichern, die von dem Signalprozessor(en) 202 ausgeführt werden können. In vielen Implementierungen umfassen diese funktionalen Komponenten Anweisungen oder Programme, die von dem Signalprozessor(en) 202 ausführbar sind und die, wenn sie ausgeführt werden, den Signalprozessor(en) 202 spezifisch programmieren, um die hierin dem Fahrzeugrechengerät 114 zugeschriebenen Aktionen durchzuführen.
  • Zu den in den computerlesbaren Medien 204 gespeicherten Funktionskomponenten können das Fremdkörpererfassungsprogramm 116 und das Fahrzeugsteuerungsprogramm 118 gehören, die jeweils ein oder mehrere Computerprogramme, Anwendungen, ausführbaren Code oder Teile davon enthalten können. Auch wenn diese Programme in diesem Beispiel zusammen dargestellt sind, können einige oder alle dieser Programme während der Verwendung auf separaten Fahrzeug-Computergeräten 114 ausgeführt werden.
  • Darüber hinaus können die computerlesbaren Medien 204 Daten, Datenstrukturen und andere Informationen speichern, die zur Ausführung der hier beschriebenen Funktionen und Dienste verwendet werden. Beispielsweise können die computerlesbaren Medien 204 Fremdkörperinformationen 212, Fahrzeugdaten 214, Bilddaten 216, ein oder mehrere maschinelle Lernmodelle 218 und so weiter speichern. Während diese Daten und Datenstrukturen in diesem Beispiel zusammen dargestellt sind, können während der Verwendung einige oder alle dieser Daten und/oder Datenstrukturen auf separaten Rechengeräten 114 gespeichert sein. Die Rechnereinheit(en) 114 kann/können auch andere funktionale Komponenten und Daten enthalten oder verwalten, die Programme, Treiber usw. und die von den funktionalen Komponenten verwendeten oder erzeugten Daten umfassen können. Darüber hinaus kann (können) das (die) Computergerät(e) 114 viele andere logische, programmatische und physische Komponenten enthalten, von denen die oben beschriebenen lediglich Beispiele sind, die sich auf die Diskussion hier beziehen.
  • Die eine oder mehreren Kommunikationsschnittstellen 206 können eine oder mehrere Software- und Hardwarekomponenten enthalten, um die Kommunikation mit verschiedenen anderen Geräten zu ermöglichen, beispielsweise über den CAN-Bus 208 und/oder über ein oder mehrere Netzwerke 220. Beispielsweise können die Kommunikationsschnittstelle(n) 206 die Kommunikation über ein oder mehrere LANs, das Internet, Kabelnetze, Mobilfunknetze, drahtlose Netze (z. B. Wi-Fi) und drahtgebundene Netze (z. B. CAN, Fibre Channel, Glasfaser, Ethernet), Direktverbindungen sowie Nahbereichskommunikation wie BLUETOOTH (eingetragenes Warenzeichen) und dergleichen ermöglichen, wie an anderer Stelle hierin zusätzlich aufgezählt.
  • Das (die) Computergerät(e) 114 kann (können) mit dem Kamerasystem 108 über den CAN-Bus 208, eine direkte Verbindung oder eine andere Art von Verbindung kommunizieren, um Bilddaten 216 vom Kamerasystem 108 zu empfangen. Zum Beispiel kann das Programm zur Fremdkörpererfassung, wie unten im Detail beschrieben, die Bilddaten 216 vom Kamerasystem 108 empfangen und alle in den Bildern vorhandenen Fremdkörper erkennen. In dem Beispiel von 2 können die empfangenen Bildinformationen als Rohbilddaten ohne wesentliche Verarbeitung empfangen werden. Alternativ kann das Kamerasystem 108 in anderen Beispielen, wie weiter unten, z. B. in Bezug auf 3, erörtert, die Fremdkörpererfassung durchführen, anstatt die rohen Bilddaten 216 an das Fahrzeugrechengerät 114 zu senden.
  • Darüber hinaus können die Rechnereinrichtung(en) 114 Fahrzeugdaten 214 von anderen Systemen und/oder anderen Sensoren im Fahrzeug empfangen. Beispielsweise kann das Fahrzeug neben dem Kamerasystem 108 eine Vielzahl anderer Sensoren 222 enthalten, die vom Fahrzeugsteuerungsprogramm 118 verwendete Sensorinformationen liefern können. Einige nicht erschöpfende Beispiele für andere Sensoren können Radar, LIDAR, Ultraschall, ein GPS-Empfänger (Global Positioning System), andere Kameras, die z. B. in andere Richtungen gerichtet sind, und Ähnliches umfassen. Darüber hinaus können die Fahrzeugdaten 214, die vom Fahrzeugsteuerungsprogramm 118 verwendet werden, Informationen enthalten, die von verschiedenen Fahrzeugsystemen empfangen werden oder diesen zugeordnet sind, beispielsweise von einem Aufhängungssteuergerät 224, das dem Aufhängungssystem zugeordnet ist, einem Lenkungssteuergerät 226, das dem Lenksystem zugeordnet ist, einem Fahrzeuggeschwindigkeitssteuergerät 228, das einem Brems- und Beschleunigungssystem zugeordnet ist, usw.
  • Als ein Beispiel kann das Fremdkörpererfassungsprogramm 116, wie bei 230 angegeben, die Bilddaten 216 vom Kamerasystem 108 kontinuierlich empfangen, z. B. wenn das Kamerasystem 108 Bilder des Fahrwegs des Fahrzeugs erfasst, während das Fahrzeug in Bewegung ist. Darüber hinaus kann das Fremdkörpererfassungsprogramm 116 bei 232 Fremdkörper-Größen wie Länge, Breite und Höhe von Fremdkörpern in den empfangenen Bildern, die Lage der Fremdkörper, die Oberflächenrauhigkeit usw. bestimmen. Das Fremdkörpererfassungsprogramm 116 kann Fremdkörperinformationen über jeden erkannten Fremdkörper, wie z. B. Größe, Ort usw., an das Fahrzeugsteuerungsprogramm 118 weitergeben, das als Reaktion auf die Erkennung von Fremdkörpern eine oder mehrere Maßnahmen ergreifen kann.
  • Zum Beispiel kann das Fahrzeugsteuerungsprogramm 118 bei 234 regelbasierte und/oder auf künstlicher Intelligenz basierende Steuerungsalgorithmen verwenden, um Parameter für die Fahrzeugsteuerung zu bestimmen. Beispielsweise kann das Fahrzeugsteuerungsprogramm 118 eines oder mehrere der maschinellen Lernmodelle 218 anwenden, um eine geeignete Aktion wie Bremsen, Lenken, Abbremsen oder Ähnliches zu bestimmen. Darüber hinaus kann das Fahrzeugsteuerungsprogramm 118, wie bei 236 angegeben, als Reaktion auf den erkannten Fremdkörper ein oder mehrere Steuersignale 238 an ein oder mehrere Fahrzeugsysteme senden. Beispielsweise kann das Fahrzeugsteuerprogramm 118 Steuersignale 238 an die Aufhängungssteuerung 224, die Lenkungssteuerung 226 und/oder die Fahrzeuggeschwindigkeitssteuerung 228 senden. Die Steuersignale 238 können beispielsweise einen bestimmten Federkoeffizienten und/oder Informationen zur Dämpfungssteuerung enthalten, die an das Federungssteuergerät 224 gesendet werden; einen bestimmten Lenkwinkel, der an das Lenkungssteuergerät 226 gesendet wird; und/oder bestimmte Informationen zur Bremssteuerung oder Verzögerungssteuerung, die an das Fahrzeuggeschwindigkeitssteuergerät 228 gesendet werden.
  • Zusätzlich oder alternativ, z. B. für den Fall, dass das Fahrzeug von einem menschlichen Fahrer gesteuert wird, kann das Fahrzeugsteuerungsprogramm 118 ein Steuersignal 238 an ein Display 240 senden, um einen Alarm und/oder an eine oder mehrere Warnvorrichtungen 242, wie z. B. eine akustische oder visuelle Warnvorrichtung, anzuzeigen. Beispiele für Warnvorrichtungen 242 sind Lautsprecher, die einen akustischen Alarm erzeugen können, haptische Vorrichtungen, die eine Vibration oder eine andere Art von taktilem Alarm erzeugen können (z. B. in einem Sitz oder Lenkrad), und/oder eine visuelle Signalvorrichtung, die einen visuellen Alarm erzeugen kann.
  • Darüber hinaus kann das Fremdkörpererfassungsprogramm 116 auch so konfiguriert sein, dass es die Fremdkörperinformation 212 über das eine oder die mehreren Netzwerke 220 an ein oder mehrere Dienstrechengeräte 250 liefert. Das (die) Dienstrechengerät(e) 250 kann (können) einen oder mehrere Server oder andere Arten von Rechengeräten umfassen, die in einer beliebigen Anzahl von Arten verkörpert sein können. Im Falle eines Servers können die Programme, andere funktionale Komponenten und Daten beispielsweise auf einem einzelnen Server, einem Server-Cluster, einer Server-Farm oder einem Rechenzentrum, einem in der Cloud gehosteten Rechendienst usw. implementiert werden, obwohl auch andere Computerarchitekturen zusätzlich oder alternativ verwendet werden können.
  • Während die Figuren die funktionalen Komponenten und Daten des Dienstrechengeräts 250 an einem einzigen Ort zeigen, können diese Komponenten und Daten alternativ auch auf verschiedene Rechengeräte und verschiedene Orte verteilt sein, wie auch immer. Folglich können die Funktionen von einem oder mehreren Dienstrechengeräten implementiert werden, wobei die hierin beschriebenen Funktionen auf verschiedene Weise auf die verschiedenen Rechengeräte verteilt sind. Mehrere Dienstcomputer 250 können sich gemeinsam oder getrennt voneinander befinden und z. B. als virtuelle Server, Serverbanken und/oder Serverfarmen organisiert sein. Die beschriebenen Funktionen können von den Servern einer einzigen Einrichtung oder eines einzigen Unternehmens bereitgestellt werden, oder sie können von den Servern und/oder Diensten mehrerer verschiedener Einrichtungen oder Unternehmen bereitgestellt werden.
  • In dem gezeigten Beispiel kann jedes Dienstrechengerät 250 einen oder mehrere Prozessoren 252, ein oder mehrere computerlesbare Medien 254 und eine oder mehrere Kommunikationsschnittstellen 256 umfassen. Jeder Prozessor 252 kann eine einzelne Verarbeitungseinheit oder eine Anzahl von Verarbeitungseinheiten sein und kann einzelne oder mehrere Recheneinheiten oder mehrere Verarbeitungskerne umfassen. Der/die Signalprozessor(en) 252 kann/können als ein oder mehrere Mikroprozessoren, Mikrocomputer, Mikrocontroller, digitale Signalprozessoren, zentrale Verarbeitungseinheiten, Zustandsautomaten, logische Schaltungen und/oder beliebige Geräte implementiert werden, die Signale auf der Grundlage von Tätigkeitsanweisungen manipulieren. Beispielsweise kann es sich bei dem Signalprozessor(en) 252 um einen oder mehrere Hardwareprozessoren und/oder Logikschaltungen jedes geeigneten Typs handeln, die speziell für die Ausführung der hier beschriebenen Algorithmen und Prozesse programmiert oder konfiguriert sind. Der/die Signalprozessor(en) 252 kann/können so konfiguriert werden, dass er/sie computerlesbare Anweisungen, die in den computerlesbaren Medien 254 gespeichert sind, abruft und ausführt, die den/die Signalprozessor(en) 252 so programmieren können, dass er/sie die hier beschriebenen Funktionen ausführt.
  • Die computerlesbaren Medien 254 können flüchtige und nichtflüchtige Speicher und/oder auswechselbare und nicht auswechselbare Medien umfassen, die in jeder Art von Technologie zur Speicherung von Informationen implementiert sind, wie z. B. computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten. Solche computerlesbaren Medien 254 können unter anderem RAM, ROM, EEPROM, Flash-Speicher oder andere Speichertechnologien, optische Speicher, Festkörperspeicher, Magnetbänder, Magnetplattenspeicher, RAID-Speichersysteme, Speicherarrays, Netzwerkspeicher, Speichernetzwerke, Cloud-Speicher oder jedes andere Medium umfassen, das zum Speichern der gewünschten Informationen verwendet werden kann und auf das eine Rechenvorrichtung zugreifen kann. Je nach Konfiguration der Dienstrechenvorrichtung 250 kann es sich bei den computerlesbaren Medien 254 um eine Art von computerlesbaren Speichermedien und/oder um greifbare nichttransitorische Medien handeln, wobei nichttransitorische computerlesbare Medien, wenn sie hier erwähnt werden, Medien wie Energie, Trägersignale, elektromagnetische Wellen und Signale als solche ausschließen.
  • Die computerlesbaren Medien 254 können verwendet werden, um eine beliebige Anzahl von funktionalen Komponenten zu speichern, die von den Prozessoren 252 ausführbar sind. In vielen Implementierungen umfassen diese funktionalen Komponenten Anweisungen oder Programme, die von den Prozessoren 252 ausführbar sind und die, wenn sie ausgeführt werden, den einen oder die mehreren Prozessoren 252 spezifisch konfigurieren, um die Aktionen auszuführen, die oben dem Service-Computergerät 250 zugeschrieben werden. Zu den in den computerlesbaren Medien 254 gespeicherten funktionalen Komponenten kann ein Kommunikationsprogramm 258 gehören, das ausgeführt werden kann, um das Service-Computing-Gerät 250 so zu konfigurieren, dass es Fremdkörperinformationen in einer Fremdkörperinformations-Datenstruktur 260 empfängt und speichert. Darüber hinaus kann das Kommunikationsprogramm 258 die Service-Rechenvorrichtung 252 so konfigurieren, dass sie Fremdkörperinformationen aus der Fremdkörperinformations-Datenstruktur 260 abruft und die Fremdkörperinformationen an ein anderes Fahrzeug sendet, das auf dem Fahrweg unterwegs ist, auf dem Fremdkörper erkannt worden sind.
  • Zusätzlich oder alternativ kann das Kommunikationsprogramm 258 die Fremdkörperinformationen in der Fremdkörperinformations-Datenstruktur 260 einer Straßenerhaltungs-Crew oder ähnlichem zur Verfügung stellen, die Fremdkörper von Straßenorten, an denen Fremdkörper identifiziert wurden, räumen wird. In einigen Beispielen kann die Service-Rechenvorrichtung 250 Fremdkörperinformationen 212 von einer Vielzahl von Fahrzeugen empfangen, die denselben Fahrweg befahren, und die Fremdkörperinformationen von einer Vielzahl von Fahrzeugen zusammenfassen, um den jeweiligen Standort des erkannten Fremdkörpers sowie die Größe und Form des erkannten Fremdkörpers genauer zu identifizieren.
  • Darüber hinaus können die computerlesbaren Medien 254 Daten speichern, die für die Durchführung der hier beschriebenen Tätigkeiten verwendet werden. So können die computerlesbaren Medien 254 die Fremdkörperinformations-Datenstruktur 260 enthalten, wie oben beschrieben. Darüber hinaus kann das Service-Computergerät 250 auch andere funktionale Komponenten und Daten enthalten oder verwalten, die in 2 nicht speziell dargestellt sind, z. B. Programme, Treiber usw. und die von den funktionalen Komponenten verwendeten oder erzeugten Daten. Darüber hinaus kann das Service-Computing-Gerät 250 viele andere logische, programmatische und physische Komponenten enthalten, von denen die oben beschriebenen lediglich Beispiele sind, die sich auf die Diskussion hierin beziehen.
  • Während in 2 die Komponenten und Daten des/der Dienstrechengeräte(s) 250 an einem einzigen Ort dargestellt sind, können diese Komponenten und Daten alternativ auch auf verschiedene Rechengeräte und verschiedene Orte verteilt sein, wie auch immer. Folglich können die Funktionen von einem oder mehreren Computergeräten implementiert werden, wobei die oben beschriebenen Funktionen auf verschiedene Weise auf die verschiedenen Computergeräte verteilt sind.
  • Die Kommunikationsschnittstelle(n) 256 kann/können eine oder mehrere Schnittstellen und Hardwarekomponenten umfassen, um die Kommunikation mit verschiedenen anderen Geräten zu ermöglichen, z. B. über das/die Netzwerk(e) 220. Zum Beispiel kann (können) die Kommunikationsschnittstelle(n) 256 die Kommunikation über das Internet, Kabelnetze, Mobilfunknetze, drahtlose Netze (z. B. Wi-Fi) und drahtgebundene Netze (z. B. Glasfaser und Ethernet) sowie Nahbereichskommunikation wie BLUETOOTH (eingetragenes Warenzeichen), BLUETOOTH (eingetragenes Warenzeichen) Low Energy und dergleichen ermöglichen, wie an anderer Stelle hier zusätzlich aufgezählt.
  • Das eine oder die mehreren Netzwerke 220 können jedes geeignete Netzwerk umfassen, einschließlich eines drahtlosen Netzwerks, wie z.B. ein zellulares Netzwerk; ein Weitverkehrsnetzwerk, wie z.B. das Internet; ein lokales Netzwerk, wie z.B. ein Intranet; ein lokales drahtloses Netzwerk, wie z.B. Wi-Fi; drahtlose Nahbereichskommunikation, wie z.B. BLUETOOTH (Eingetragenes Warenzeichen); ein verdrahtetes Netzwerk, wie z.B. Glasfaser und Ethernet; jede Kombination davon oder jedes andere geeignete Kommunikationsnetzwerk. Die für solche Kommunikationstechnologien verwendeten Komponenten können zumindest teilweise von der Art des Netzes, der gewählten Umgebung oder beidem abhängen. Die Protokolle für die Kommunikation über solche Netze sind allgemein bekannt und werden hier nicht im Detail erörtert.
  • 3 zeigt eine Beispielarchitektur eines Fremdkörpererfassungs- und Fahrzeugsteuerungssystems 300, das gemäß einigen Implementierungen im Fahrzeug 102 enthalten sein kann. In diesem Beispiel kann das Kamerasystem 108 eine Verarbeitungsfunktion zum Bestimmen von Fremdkörperinformationen 212 unabhängig von den Fahrzeugrechengeräten 114 enthalten. Dementsprechend umfasst das Kamerasystem 180 einen oder mehrere Prozessoren 302, ein oder mehrere computerlesbare Medien 304, und eine oder mehrere Kommunikationsschnittstellen 306. Bei dem einen oder den mehreren Prozessoren 302 kann es sich um einen der oben in Bezug auf 2 besprochenen Prozessoren 202 oder um andere geeignete Prozessoren zur Durchführung der hier beschriebenen Tätigkeiten handeln oder diese umfassen. Darüber hinaus kann es sich bei dem einen oder den mehreren computerlesbaren Medien 302 um eines der oben in Bezug auf 2 besprochenen computerlesbaren Medien 204 oder um andere geeignete computerlesbare Medien handeln oder diese umfassen. In ähnlicher Weise können die Kommunikationsschnittstellen 306 beliebige der oben in Bezug auf 2 besprochenen Kommunikationsschnittstellen 206 oder andere geeignete Kommunikationsschnittstellen sein oder umfassen.
  • Darüber hinaus umfasst das Kamerasystem 108 Bildaufnahmehardware 308, die ein oder mehrere Objektive, ein oder mehrere Fokussierungssysteme und einen oder mehrere Bildsensoren umfassen kann, wie in der Technik bekannt ist. In diesem Beispiel kann das Kamerasystem 108 das Fremdkörpererfassungsprogramm 116 auf dem einen oder den mehreren Prozessoren 302 ausführen. Dementsprechend kann die Bildaufnahmehardware 308 Bilder im Sichtfeld des Kamerasystems 108 erfassen und die erfassten Bilder 310 auf dem computerlesbaren Medium 304 speichern.
  • Bei 314 empfängt das Fremdkörpererfassungsprogramm 116 die erfassten Bilder von der Bildaufnahmehardware. Beispielsweise kann das Fremdkörpererfassungsprogramm 116 kontinuierlich erfasste Bilder 310 von der Bildaufnahmehardware 308 empfangen, während die Bilder erfasst werden. Bei 316 kann das Fremdkörpererfassungsprogramm 116 die Fremdkörper-Größe etc. bestimmen, wie weiter unten im Detail beschrieben. Das Fremdkörpererfassungsprogramm 116 kann dann Fremdkörperinformationen 212 oder beliebige identifizierende Fremdkörper an die Fahrzeugrechengeräte 114 senden. Das Fahrzeugsteuerungsprogramm 118 kann dann die Fremdkörperinformationen zur Steuerung des Fahrzeugs verarbeiten, wie oben in Bezug auf 2 und zusätzlich unten beschrieben. Darüber hinaus kann mindestens eines der beiden Programme, nämlich das Fremdkörpererfassungsprogramm 116 oder das Fahrzeugsteuerungsprogramm 118, die Fremdkörperinformationen 212 über das/die Netzwerk(e) 220 an die Service-Rechenvorrichtung 250 zur Speicherung in der Fremdkörperinformations-Datenstruktur 260 senden.
  • 4 ist ein Flussdiagramm, das einen Beispielprozess 400 illustriert, der einen Algorithmus zur Erkennung von Fremdkörpern darlegt, der von den oben diskutierten Systemen 200, 300 gemäß einigen Implementierungen ausgeführt werden kann. In einigen Beispielen kann der Prozess 400 von dem oben beschriebenen System 200 oder 300 durch Ausführung des Fremdkörpererfassungsprogramms 116 ausgeführt werden. Im dargestellten Beispiel umfasst der Prozess 400 den Empfang von Eingaben 402, die Durchführung der Extraktion 404, die Durchführung der Auswahl 406, die Durchführung der Erfassung 408, die Durchführung der Verfolgung 410 und die Anwendung der Ergebnisse 412. Beispielsweise kann zunächst eine Parallaxe und/oder Ungleichheit berechnet werden, z. B. aus Bildern, die von dem Stereokamerasystem 108 oder dergleichen aufgenommen wurden. Eine Region von Interesse (ROI) in dem/den Bild(ern) kann erkannt werden, die eine Straßenoberfläche, kleine Hindernisse oder andere Fremdkörper enthalten kann, und Fremdkörper-Kandidaten können aus dem/den Bild(ern) extrahiert werden. Aus den anfänglich extrahierten Kandidaten werden potenzielle Kandidaten auf der Grundlage der Anwendung einer Kontrollentscheidungslogik ausgewählt. Die ausgewählten potenziellen Kandidaten können mit einem auf gültigen Pixeln basierenden Stark-Schwach-Merkmal-Klassifikator klassifiziert werden. Ferner wird ein Tracking-Verfahren durchgeführt, um den Fremdkörper-Ort im nächsten Bildrahmen für Tracking- und Ortungszwecke vorherzusagen. Darüber hinaus kann ein Ergebnis des Prozesses 400 von dem System 200, 300 verwendet werden, um mindestens eine Aktion auf der Grundlage des Ergebnisses durchzuführen.
  • In diesem Beispiel können die empfangenen Eingaben 402 Bilder umfassen, die von dem oben beschriebenen Kamerasystem 108 empfangen werden, sowie andere Eingaben. Beispiele für Eingaben 402 können linke und/oder rechte Bilder 414, die von dem Kamerasystem 108 empfangen werden können, Spurinformationen 416, ein Schwellenwert-Ungleichheitsbild 418, ein Randbild 420 und Fahrzeugdaten 422 umfassen. Die Spurinformation 416, das Schwellenwert-Ungleichheitsbild 418 und das Randbild 420 können wie weiter unten beschrieben bestimmt werden.
  • Während der Extraktion 404 kann eine Region von Interesse (ROI) 424 aus den linken/rechten Bildern 414 und der Spurinformation 416 bestimmt werden. Darüber hinaus kann das Verfahren bei 426 Kandidaten als potenzielle Fremdkörper basierend auf der Region von Interesse 424, dem Schwellenwert-Ungleichheitsbild 418 und dem Randbild 420 extrahieren. Während der Auswahl 406, wie bei 430 angegeben, kann das Verfahren Kandidaten für Straßen-Fremdkörper auswählen, z. B. auf der Grundlage von Dimensionsbegrenzungen wie mit und Höhenbegrenzungen.
  • Während der Erkennung 408, wie bei 432 angegeben, kann das Verfahren gültige Pixel aus den ausgewählten potenziellen Kandidaten-Straßen-Fremdkörpern extrahieren, und bei 434 kann das Verfahren starke und/oder schwache Merkmale extrahieren, z. B. unter Verwendung eines starken/schwachen Klassifizierers, wie weiter unten beschrieben. Bei 436 kann das Verfahren Fremdkörper-Abmessungen schätzen, z. B. auf der Grundlage gültiger pixelbasierter Höhe, Breite und Entfernung. Darüber hinaus kann das Verfahren bei 438 die Straßenebene schätzen. Bei 440 kann der Prozess, basierend auf der geschätzten Straßenebene 438 und den geschätzten Fremdkörper-Abmessungen, gültige Pixel klassifizieren.
  • Während der Verfolgung 410 umfasst das Verfahren die Vorhersage der Fremdkörper-Position im nächsten Bild bei 442 auf der Grundlage der klassifizierten gültigen Pixel und ferner auf der Grundlage der Fahrzeugdaten 422. Darüber hinaus kann der Prozess eine Vorhersagekorrektur bei 444 auf der Grundlage der vorhergesagten Fremdkörper-Position im nächsten Bild und des Randbildes 420 durchführen. Nach der Vorhersagekorrektur kann der Prozess bei 446 eine Verfolgungsdatenstruktur abgleichen und aktualisieren und bei 448 die Kandidaten für das Bestimmen des Fremdkörpers zusammenführen. Bei Anwendung der Ergebnisse 412 kann der Prozess die Ergebnisse wie Höhe, Breite und Abstand des Fremdkörpers ausgeben (siehe 450) und mindestens eine Aktion auf der Grundlage der Ergebnisse durchführen (siehe 452). Jede der Phasen 402-412 des Prozesses 400 wird im Folgenden ausführlicher beschrieben.
  • 5 zeigt ein Beispiel 500 für die Aufnahme von linken und rechten Bildern mit dem Kamerasystem 108 gemäß einigen Implementierungen. In diesem Beispiel kann das Kamerasystem 108 eine Stereokamera enthalten, die zwei Kameras umfasst, z. B. eine rechte Kamera 502 und eine linke Kamera 504. Die rechte und die linke Kamera 502 und 504 sind fest zueinander angeordnet und so positioniert, dass sie dieselbe Szene aus zwei verschiedenen Blickwinkeln beobachten. Dementsprechend kann das Kamerasystem 108 ein linkes Bild 506 und ein rechtes Bild 508 aufnehmen, die jeweils denselben Fremdkörper 510 in dem jeweiligen Bild 506, 508 enthalten können. Während in einigen Ausführungsformen eine Stereokamera verwendet wird, kann in anderen Beispielen stattdessen eine Monokamera verwendet werden, wie für Fachleute, die mit der vorliegenden Offenbarung vertraut sind, ersichtlich ist. Beispielsweise kann die Monokamera mit einem der maschinellen Lernmodelle 218 verwendet werden, um einen Abstand eines beliebigen Punktes in einem Bild von der Kamera auf der Grundlage des Empfangs von aufeinanderfolgenden Bildern und/oder auf der Grundlage des Empfangs einer aktuellen Geschwindigkeit des Fahrzeugs zu bestimmen.
  • 6 zeigt ein Beispiel 600 für das Bestimmen von Spurinformationen, eines Ungleichheitsbildes und eines Randbildes gemäß einigen Implementierungen. Beispielsweise kann das System auf der Grundlage der empfangenen linken und rechten Bilder 506 und 508 das Fremdkörpererfassungsprogramm 116 ausführen, um zusätzliche Bilder wie ein Spurinformationsbild 602 zu erzeugen, das Spurinformationen enthält, wie in Zeile 604 angegeben. In einigen Fällen können Straßenmarkierungen, ein Straßenrand, Straßengrößeninformationen oder ähnliches verwendet werden, um die Spurinformation 604 zu bestimmen.
  • Ferner kann auf der Grundlage der Spurinformation eine Region von Interesse (ROI) 603 bestimmt werden, wie durch die gestrichelte Linie 605 angezeigt. Die ROI 603 kann beispielsweise auf der Grundlage bestimmter Abstände von der Kamera bestimmt werden, bei denen es sich um Standardabstände handeln kann. In einigen Fällen können die festgelegten Abstände auf der Grundlage der Fahrzeuggeschwindigkeit angepasst werden, z. B. durch Vergrößerung der festgelegten Abstände, wenn die Fahrzeuggeschwindigkeit zunimmt, und durch Verringerung der festgelegten Abstände, wenn die Fahrzeuggeschwindigkeit abnimmt.
  • In einigen Fällen kann bei der Erkennung der ROI 603 eine Straßenrand- und/oder Spurmarkierungserkennung in Pixelreihen durchgeführt werden, die alle paar Meter oder Bruchteile von Metern auf dem empfangenen Bild 602 entsprechen, um die linken und rechten Spurgrenzen in jeder Pixelreihe des gesamten Bildes 602 zu berechnen. Der angegebene Entfernungsabstand zur Erkennung einer oberen und einer unteren Grenze der ROI 603 kann auf das Spurinformationsbild 602 angewendet werden, um die Region von Interesse 603 zu bestimmen. Als einige nicht einschränkende Beispiele kann der untere Bereich 3 bis 10 Meter und der obere Bereich 30-50 Meter betragen, um die ROI 603 festzulegen, wobei die linke und rechte Grenze den Spurgrenzen entsprechen kann. Nachdem der ROI 603 bestimmt wurde, können Fremdkörper-Kandidaten innerhalb des ROI 603 erkannt werden, während solche außerhalb des ROI 603 ignoriert werden können. Insbesondere können in einigen Beispielen die eingegebenen Bilder (z. B. das Randbild, das Ungleichheits-Kartenbild und das Schwellenwert-Ungleichheitsbild) nur für den ROI verarbeitet werden, um den Gesamtprozess für die Echtzeitverarbeitung geeignet zu machen, wodurch zusätzliche Verarbeitungszeit für andere Teile dieser Bilder vermieden wird. So können in einigen Implementierungen Pixel des Randbildes und des Schwellenwert-Ungleichheitsbildes nur dann extrahiert werden, wenn diese Pixel zu der erkannten ROI 603 gehören.
  • Zusätzlich kann das System die linken und rechten Bilder 506 und 508 verwenden, um ein Parallaxenbild zu bestimmen, das als Ungleichheits-Kartenbild 606 bezeichnet wird. Zum Beispiel kann das System das Ungleichheits-Kartenbild 606 unter Verwendung der beiden linken und rechten Stereobilder 506 und 508 auf der Grundlage eines Block-Matching-Verfahrens berechnen. Ein Beispiel: Wenn ein Punkt PL = (u1, v1) im linken Bild 506 ist, kann der entsprechende Punkt PR = (u2, v2) im rechten Bild 508 auf der gleichen Höhe wie PL liegen, d. h. v1 = v2, gemessen von einer gemeinsamen Basislinie. Somit kann die Parallaxenmessung mit Hilfe einer einfachen Stereokameratheorie bestimmt werden, bei der die Parallaxe wie folgt definiert werden kann:
  • d = u 2 u 1
    Figure DE112021000482T5_0001
  • Basierend auf der bestimmten Parallaxe können Implementierungen hierin das Ungleichheitsbild 606 bestimmen, indem sie die Tiefeninformation eines 3D-Punktes aus der Parallaxe bestimmen, da die Ungleichheit umgekehrt proportional zur entsprechenden Parallaxe ist. Dementsprechend kann die Tiefe mit Hilfe von linken und rechten Bildern und der aktuellen Ungleichheit berechnet werden, z.B.:
  • Z = ƒ b / d
    Figure DE112021000482T5_0002
    wobei Z die Entfernung (Tiefe) entlang der Kameraachse, f die Brennweite in Pixeln, b die Grundlinie in Metern und d die Ungleichheit in Pixeln ist.
  • Darüber hinaus kann das Randbild 608 aus mindestens einem der linken oder rechten Bilder 506 oder 508 bestimmt werden, indem eine der verschiedenen in der Technik bekannten Kantendetektionstechniken verwendet wird. In diesem Beispiel kann das Randbild 608 beispielsweise aus dem rechten Bild 508 bestimmt werden und kann Kanten anzeigen, die innerhalb des rechten Bildes 508 identifiziert wurden. Die für das Randbild 608 bestimmte Randinformation kann beispielsweise dabei helfen, zu bestimmen, wie viel Rauschen bei der nachfolgenden Verarbeitung aus dem Ungleichheitsbild 606 entfernt werden muss, wie weiter unten noch erläutert wird.
  • 7 ist ein Flussdiagramm, das einen Beispielprozess 700 zur Erzeugung eines Schwellenwert-Ungleichheitsbildes 701 gemäß einigen Implementierungen illustriert. In einigen Beispielen kann der Prozess 700 von dem oben beschriebenen System 200 oder 300 durch Ausführung des Fremdkörpererfassungsprogramms 116 ausgeführt werden. Beispielsweise kann das System nach der Berechnung des Ungleichheitsbildes 608, das oben in Bezug auf 6 diskutiert wurde, das Randbild 610 verwenden, um Pixel mit ungültigen Ungleichheitswerten aus dem Ungleichheitsbild zu entfernen, um ein Schwellenwert-Ungleichheitsbild zu erhalten. Zum Beispiel kann die Menge der Randinformation im Randbild 610 steuern, wie viel Rauschen aus dem Ungleichheitsbild zu entfernen ist und/oder wie viel Ungleichheitsinformation in das Schwellenwert-Ungleichheitsbild aufzunehmen ist.
  • Bei 702 erhält das System ein neu bestimmtes Randbild und bei 704 erhält das System ein neu bestimmtes Ungleichheitsbild. Das Randbild und das Ungleichheitsbild können z. B. so bestimmt werden, wie oben in 6 beschrieben.
  • Bei 706 kann das System für jedes Pixel im Randbild bestimmen, ob der Kantenwert eines ausgewählten aktuellen Pixels größer als ein Rand-Schwellenwert ETH ist. Wenn nicht, geht der Prozess zu 708. Wenn ja, wird mit 710 fortgefahren. Der Rand-Schwellenwert ETH kann beispielsweise durch statistische Analyse großer Bilddatensätze ermittelt werden. Die Bilddaten können beispielsweise verschiedene Szenarien abdecken, wie verschiedene Straßenoberflächenbedingungen (z. B. verschiedene Straßenoberflächenfarben, wie Asphalt oder Beton usw.), Wetterbedingungen, Tageszeit und dergleichen. Außerdem kann der Rand-Schwellenwert ETH auf der Grundlage der Wetter- und Straßenoberflächenbedingungen aktualisiert werden.
  • Bei 708 kann das System, wenn der Kantenwert des Pixels nicht größer als der Rand-Schwellenwert ETH ist, den Ungleichheitswert für dieses Pixel verwerfen.
  • Bei 710 kann das System, wenn der Kantenwert des Pixels größer als der Rand-Schwellenwert ETH ist, bestimmen, ob der Ungleichheitswert des aktuellen Pixels größer als ein Ungleichheits-Schwellenwert DTH ist. Der Ungleichheits-Schwellenwert DTH kann beispielsweise durch statistische Analyse großer Bilddatensätze abgeleitet werden. Die Bilddaten können beispielsweise verschiedene Szenarien abdecken, wie z. B. verschiedene Straßenoberflächenbedingungen (z. B. verschiedene Straßenoberflächenfarben, wie Asphalt oder Beton usw.), Wetterbedingungen, Tageszeit und ähnliches. Außerdem kann der Ungleichheits-Schwellenwert DTH auf der Grundlage der Wetter- und Straßenoberflächenbedingungen aktualisiert werden. Das System kann den Ungleichheitswert aus der Position des entsprechenden Pixels in dem bei 704 empfangenen Ungleichheitsbild bestimmen. Wenn der Ungleichheitswert des Pixels nicht größer ist als der Ungleichheits-Schwellenwert DTH, wird mit 716 fortgefahren. Wenn der Ungleichheitswert des Pixels größer als der Ungleichheits-Schwellenwert DTH ist, geht der Prozess zu 712 über.
  • Bei 712 kann das System, wenn der Ungleichheitswert des aktuellen Pixels größer ist als der Ungleichheits-Schwellenwert DTH, den Pixel-Ungleichheitswert für das aktuelle Pixel in einem temporären Speicherplatz speichern.
  • Bei 714 kann das System den Ungleichheitswert des aktuellen Pixels im Schwellenwert-Ungleichheitsbild 701 speichern.
  • Bei 716 kann das System, wenn der Ungleichheitswert des Pixels nicht größer als der Ungleichheits-Schwellenwert DTH ist, aus dem temporären Speicherplatz einen zuvor gespeicherten Pixel-Ungleichheitswert für ein zuvor verarbeitetes Pixel (z.B. ein benachbartes Pixel) abrufen und den abgerufenen Pixel-Ungleichheitswert in das Schwellenwert-Ungleichheitsbild 701 anstelle des Ungleichheitswertes für das aktuelle Pixel speichern.
  • 8 zeigt ein Beispiel 800 für das Bestimmen von Fremdkörper-Kandidaten und Rauschen durch Durchführung der Kandidatenextraktion gemäß einigen Implementierungen. In diesem Beispiel kann nach der Bestimmen der ROI 603 und des Schwellenwert-Ungleichheitsbildes 701 in einigen Beispielen ein CCL-Algorithmus (Connected Component Labeling) verwendet werden, um die Fremdkörper-Kandidaten und das Rauschen aus dem Schwellenwert-Ungleichheitsbild 701 in der ROI 603 zu extrahieren. Wie in der Technik bekannt, kann ein CCL-Algorithmus beispielsweise die Erkennung zusammenhängender Pixelflecken in einem digitalen Bild beinhalten. Insbesondere kann der CCL-Algorithmus zusammenhängende Pixelblöcke identifizieren und extrahieren, die sich von den umgebenden Pixeln unterscheiden lassen, beispielsweise auf der Grundlage eines Unterschieds zwischen Hell- und Dunkelwerten. Als Ergebnis der Extraktion mit dem CCL-Algorithmus können Fremdkörper und Rauschen in der ROI identifiziert werden, wie im gestrichelten Kreis 802 in Bild 804 dargestellt. Wie weiter unten in Bezug auf 9 erläutert, kann das extrahierte Rauschen anschließend mit Hilfe einer Kontrollentscheidungslogik von den Fremdkörper-Kandidaten getrennt werden.
  • 9 ist ein Flussdiagramm, das einen Beispielprozess 900 zum Trennen von Rauschen von Fremdkörper-Kandidaten gemäß einigen Implementierungen zeigt. Der Prozess 900 kann von dem System 200 oder 300 durchgeführt werden, das das Fremdkörpererfassungsprogramm 116 ausführt.
  • Bei 902 kann das System einen der extrahierten Kandidaten für die Verarbeitung auswählen. Zum Beispiel kann der CCL-Algorithmus, wie oben beschrieben, eine Vielzahl von Flecken aus dem Ungleichheitsbild 701 in der ROI 603 extrahieren. Jeder der extrahierten Flecken kann verarbeitet werden, um zu bestimmen, ob der Fleck verworfen oder als Fremdkörper-Kandidat beibehalten werden soll.
  • Bei 904 kann das System bestimmen, ob die Fleckgröße kleiner als eine spezielle Fleckgröße ist. So kann beispielsweise verlangt werden, dass der Fleck eine Mindesthöhe und -breite, z. B. in Zentimetern, einhält, so dass Objekte, die kleiner als eine bestimmte Größe sind, ignoriert werden können. Außerdem kann der Fleckgrößen-Schwellenwert auf der Grundlage einer geschätzten Entfernung des Kleckses von der Kamera variabel sein. So kann ein Fleck, der weiter von der Kamera entfernt ist, z. B. 40 Meter, einen kleineren Fleckgrößen-Schwellenwert haben als ein Fleck, der näher an der Kamera liegt, z. B. 20 Meter. Wenn die Fleckgröße kleiner als der Fleckgröße-Schwellenwert ist, geht der Prozess bei 906 weiter. Wenn nicht, geht der Prozess zu 908 über.
  • Bei 906 wird der ausgewählte Kandidat verworfen und der Prozess geht zu 914, um festzustellen, ob alle Kandidaten bearbeitet wurden.
  • Bei 908 kann das System, wenn die Fleckgröße gleich oder größer als der Fleckgröße-Schwellenwert ist, bestimmen, ob die Pixelanzahl des ausgewählten Kandidaten größer als ein minimaler Pixelzähl-Schwellenwert PCMIN und kleiner als ein maximaler Pixelzähl-Schwellenwert PCMAX ist. Liegt beispielsweise die Anzahl der Pixel im Fleck unter dem minimalen Schwellenwert PCMIN, kann der Kandidatenfleck als zu klein angesehen werden, um als Fremdkörper zu gelten. Wenn die Anzahl der Pixel in dem Fleck größer ist als der maximale Schwellenwert PCMAX, kann der Fleck als nicht ein Fremdkörper seiend angesehen werden, und ein Algorithmus zur Hinderniserkennung oder ähnliches kann verwendet werden, um eine Kollision mit dem Hindernis zu vermeiden. Dementsprechend kann dieser Schritt kleines Rauschen zusammen mit großen Rausch-Kandidaten entfernen. Darüber hinaus kann die Anzahl der Schwellenwerte, ähnlich wie beim Schritt 904 zur Erkennung der Fleckgröße, vom Abstand des Flecks von der Kamera abhängig sein. Zum Beispiel kann ein Fleck, der weiter von der Kamera entfernt ist, kleinere minimale und maximale Pixelanzahl Schwellenwerte haben als ein Fleck, der näher an der Kamera ist. Wenn der ausgewählte Kandidat zwischen dem minimalen Pixelzähl-Schwellenwert und dem maximalen Pixelzähl-Schwellenwert liegt, geht der Prozess zu 910. Andernfalls geht der Prozess zu 906 über, um den ausgewählten Kandidaten zu verwerfen.
  • Bei 910 kann das System bestimmen, ob der Abstand zwischen dem ausgewählten Kandidaten und dem Spurränder geringer ist als ein Mindestabstand DMIN. Beispielsweise ist es unwahrscheinlich, dass Kandidaten auf der Seite der Straße eine Gefahr für das Fahrzeug darstellen und können daher ignoriert werden. Wenn der Abstand zwischen dem Kandidaten und dem/den Spurrand(en) geringer ist als der Mindestabstand, geht der Prozess zu 906 über, um den ausgewählten Kandidaten zu verwerfen. Andernfalls wird mit 912 fortgefahren.
  • Bei 912 wird der ausgewählte Kandidat beibehalten, weil festgestellt wurde, dass er den Fleckgröße-Schwellenwert überschreitet, eine Pixelanzahl zwischen der minimalen und der maximalen Pixelanzahl aufweist und größer ist als der Mindestabstand vom Rand der Straße.
  • Bei 914 kann das System bestimmen, ob alle Kandidaten bearbeitet worden sind. Wenn nicht, kehrt der Prozess zu 902 zurück, um den nächsten Kandidaten für die Verarbeitung auszuwählen. Wenn dies der Fall ist, können die verbleibenden Kandidaten den drei Kandidaten entsprechen, die im Bild 916 innerhalb der Rechtecke 918 nach Entfernung des Rauschens angezeigt werden. Darüber hinaus werden in anderen Beispielen nicht alle Blöcke des Prozesses 900 ausgeführt. So könnte in einigen Beispielen nur eine der Tätigkeiten 904, 908 oder 910 durchgeführt werden, um die Verarbeitungsgeschwindigkeit in Echtzeit zu verbessern.
  • 10 ist ein Flussdiagramm, das einen Beispielprozess 1000 zur Schätzung der Straßenoberflächenebene gemäß einigen Implementierungen veranschaulicht. Nachdem beispielsweise ein oder mehrere Kandidaten ausgewählt wurden, wie oben in Bezug auf 5-9 beschrieben, kann das System die Daten jedes Kandidaten analysieren und eindeutige Merkmale extrahieren, um zwischen Fremdkörpern und allen anderen Kandidaten (wie der Straßenoberfläche) zu unterscheiden. Anschließend kann jeder Kandidat auf der Grundlage der extrahierten Merkmale als Fremdkörper oder Nicht-Fremdkörper klassifiziert werden. Die Erkennungsphase kann in drei Teile unterteilt werden, nämlich die Pixelvalidierung, die Merkmalsextraktion und die Klassifizierung mit einem auf starken/schwachen Merkmalen basierenden Klassifikator.
  • Bevor jedoch die Pixelvalidierung und die anderen Erkennungstätigkeiten durchgeführt werden, können diese Implementierungen eine Schätzung der Straßenoberflächenebene durchführen, um die Straßenebene zu schätzen und die X-, Y- und Z-Koordinaten (reale Koordinatenwerte) für jedes Pixel unter Verwendung des oben beschriebenen Ungleichheits-Kartenbildes zu berechnen. Jeder Kandidat kann einzeln betrachtet werden und alle Pixel können vom UV-Koordinatenraum in Bodenkoordinaten (XYZ) umgerechnet werden. Das System kann dann die Straßenoberflächenebene separat für jeden Fremdkörper-Kandidaten schätzen und X, Y und Z in Bezug auf die geschätzte Straßenoberflächenebene berechnen.
  • Bei 1002 kann das System einen der Kandidaten für die Straßenebenenabschätzung auswählen.
  • Bei 1004 kann das System alle Pixel aus dem UV-Koordinatenraum in die Bodenkoordinaten, z. B. XYZ-Koordinaten, umwandeln.
  • Bei 1006 kann das System die Straßenoberflächenebene separat für jeden ausgewählten Kandidaten schätzen.
  • Bei 1008 kann das System X, Y und Z für die Straßenoberfläche berechnen, wobei Pixel des ausgewählten Kandidaten bei der Berechnung der Straßenoberfläche ignoriert werden.
  • Bei 1010 kann das System bestimmen, ob alle Kandidaten bearbeitet worden sind. Ist dies der Fall, kann der Prozess mit 1012 fortgesetzt werden. Wenn nicht, kann der Prozess zu Block 1002 zurückkehren, um den nächsten Kandidaten auszuwählen.
  • Bei 1012 kann das System, wenn alle Kandidaten verarbeitet worden sind, mit dem Pixel-Validierungsprozess fortfahren, wie weiter unten beschrieben.
  • 11 ist ein Flussdiagramm, das einen Beispielprozess 1100 für die Pixelvalidierung gemäß einigen Implementierungen veranschaulicht. In diesem Beispiel kann nach der Berechnung der X-, Y- und Z-Werte die Gültigkeit jedes Pixels anhand der geometrischen Eigenschaften des Pixels in der aktuellen Szene bestimmt werden. Dieser Prozess kann auch die segmentierte Kandidatenregion neu definieren, um eine genaue Form- und Dimensionsverwaltung von kleinen Hindernissen oder anderen Fremdkörpern zu extrahieren. Ferner können die extrahierten Kandidaten durch Werte in 0 oder 1 dargestellt werden, um zwischen Pixeln, die zu den Fremdkörper-Kandidaten gehören, und Pixeln aus benachbarten Regionen wie der Straßenoberfläche zu unterscheiden.
  • Bei 1102 kann das System Kandidaten mit geschätzten 3D-Daten für jedes Pixel und jeden Kandidaten auswählen.
  • Bei 1104 kann das System die Schrittgröße für mindestens eine von abwärts gerichteter Neigung, aufwärts gerichteter Neigung oder hoher Verschiebung berechnen.
  • Bei 1106 kann das System die abwärts gerichtete Neigung SD berechnen.
  • Bei 1108 kann das System die aufwärts gerichteter Neigung SU berechnen.
  • Bei 1110 kann das System die Höhenverschiebung H berechnen.
  • Bei 1012 kann das System bestimmen, ob die abwärts gerichtete Neigung SD größer ist als die aufwärts gerichtete Neigung SU. Wenn ja, geht der Prozess zu 1114. Wenn nicht, geht der Prozess zu 1116.
  • Bei 1114 setzt das System, wenn die abwärts gerichtete Neigung größer ist als die aufwärts gerichtete Neigung, die Neigung gleich der abwärts gerichteten Neigung SD.
  • Bei 1116 setzt das System, wenn die abwärts gerichtete Neigung nicht größer ist als die aufwärts gerichtete Neigung, die Neigung gleich der aufwärts gerichteten Neigung SU.
  • Bei 1118 bestimmt das System, ob die Neigung S größer als ein erster Schwellenwert ist. Wenn ja, geht der Prozess zu 1120. Wenn nicht, geht der Prozess zu 1122.
  • Bei 1120 bestimmt das System, wenn die Neigung größer als der erste Schwellenwert ist, ob die Höhenverschiebung größer als ein zweiter Schwellenwert ist. Wenn ja, ist das Pixel gültig und der Prozess geht weiter zu 1124. Wenn nicht, ist das Pixel ungültig und der Prozess geht weiter zu 1126.
  • Bei 1122 bestimmt das System, wenn die Neigung nicht größer als der erste Schwellenwert ist, ob die Höhenverschiebung größer als ein dritter Schwellenwert ist. Wenn ja, ist das Pixel gültig und der Prozess geht weiter zu 1124. Wenn nicht, ist das Pixel ungültig und der Prozess geht zu 1126.
  • Bei 1124 wurde festgestellt, dass das Pixel gültig ist. Dementsprechend kann das System das Pixel als gültiges Pixel beibehalten.
  • Bei 1126 wurde festgestellt, dass das Pixel ungültig ist. Dementsprechend nimmt das System das Pixel nicht in das Fremdkörper-Bild auf.
  • Dementsprechend können diese Implementierungen im Gegensatz zur herkömmlichen Fremdkörpererfassung die Neigung der erkannten Fremdkörper berücksichtigen, wie z. B. eine maximale Neigung, eine durchschnittliche Neigung usw., um den Erkennungsabstand für die Erkennung von Fremdkörpern zu erhöhen. Darüber hinaus können die oben diskutierten ersten, zweiten und dritten Schwellenwerte zur Verwendung im Pixelvalidierungsalgorithmus auf der Grundlage einer statistischen Analyse unter Verwendung eines oder mehrerer Modelle, die mit Daten bekannter, von einem Kamerasystem erfasster Fremdkörper trainiert wurden, oder durch verschiedene andere empirische Verfahren bestimmt werden.
  • 12 zeigt ein Beispiel für einen ausgewählten Kandidaten in Matrixform gemäß einigen Implementierungen. Angenommen, einer der Kandidaten 1202 aus dem Bild 916, das zuvor wie oben beschrieben bestimmt wurde, z. B. in Bezug auf 9, wird für die Pixelvalidierung ausgewählt. Der ausgewählte Kandidat 1202 kann in einer Matrix 1204 zusammen mit einem umgebenden Bereich dargestellt werden, wobei jede Zahl in der Matrix ein Pixel darstellt, das entweder den Wert Null oder Eins hat, um zwischen Pixeln zu unterscheiden, die zu den Fremdkörper-Kandidaten gehören, und Pixeln, die zu dem benachbarten Bereich gehören. Insbesondere zeigt in diesem Beispiel eine Eins an, dass Pixel zu weißen Regionen gehören, die dem Fremdkörper-Kandidaten 1202 entsprechen können, während Pixel mit einer Null den Bereichen entsprechen können, die zu den weißen Regionen benachbart sind, wie z. B. der Straßenoberfläche oder ähnlichem. Dementsprechend wird der Kandidat 1202 durch den Bereich in der Matrix 1204 dargestellt, der von der gestrichelten Linie 1206 umgeben ist.
  • 13 zeigt ein Beispiel 1300 des ausgewählten Kandidaten 1202 aus 12 als 3D-Karte in Matrixform gemäß einigen Implementierungen. In diesem Beispiel kann der ausgewählte Kandidat 1202 aus 12 durch eine Vielzahl von Matrizen 1302, 1304 und 1306 dargestellt werden, die eine 3D-Karte mit X-, Y- und Z-Werten bereitstellen, d.h. die Matrix 1302 kann die X-Achse, die Matrix 1304 die Y-Achse und die Matrix 1306 die Z-Achse des XYZ-Koordinatensystems darstellen. So kann beispielsweise die X-Koordinate Informationen über die seitliche Position (rechts oder links), die Y-Koordinate Informationen über die Höhe und die Z-Koordinate Informationen über die Entfernung (z. B. in Fahrtrichtung) liefern.
  • Unter Verwendung der Ungleichheitskarte und der Koordinatentransformationsmatrix werden für jedes einzelne Pixel X-, Y- und Z-Werte berechnet. Zum Beispiel kann jedes Pixel von der u-v-Koordinaten-Bildebene in die XYZ-Koordinaten der realen 3D-Ebene umgerechnet werden. Anhand dieser X-, Y- und Z-Werte kann die Straßenebenenabschätzung durchgeführt werden, die detaillierte Informationen darüber liefert, ob die Straße eben ist oder eine Neigung aufweist (z. B. eine positive Neigung oder eine negative Neigung) und so weiter. Nachdem die Straßenebene geschätzt wurde, kann die Y-Koordinate (d. h. die Höheninformation) auf der Grundlage der geschätzten Straßenoberflächenebene aktualisiert werden. Die X-, Y- und Z-Werte können für die Schätzung von Höhe und Neigung bergauf/bergab verwendet werden. Die XYZ-Werte können in Matrixform angeordnet werden, um die Matrizen 1302, 1304 und 1306 zu erstellen.
  • Die gestrichelten Linien 1308 stellen XYZ-Informationen dar, die für die Berechnung von bergauf/bergab-Höhe und Steigungen und Gefällen verwendet werden können. Der ausgewählte Kandidat 1202, der oben in Bezug auf 12 besprochen wurde, kann dem gestrichelten Linienbereich 1308 entsprechen, z.B. auf den jeweiligen Matrizen 1302, 1304 und 1306. Zum Beispiel kann die 3D-Karte die Neigung bergauf, die Neigung bergab, die Höhe bergauf und die Höhe bergab darstellen, die unter Verwendung des Ungleichheitsbildes für jedes Pixel geschätzt werden.
  • 14 zeigt ein Beispiel 1400 für die Auswahl der Schrittgröße gemäß einigen Implementierungen. In diesem Beispiel wird der ausgewählte Kandidat in der Matrix 1204 dargestellt, wie oben in Bezug auf 12 beschrieben. Die Schrittgröße zwischen einem vorherigen Pixel (n-1) und einem aktuellen Pixel (n) sowie zwischen dem aktuellen und dem nächsten Pixel (n+1) kann dynamisch auf der Grundlage von Kameraparametern und dem Abstand des aktuellen Kandidaten zum Fahrzeug geschätzt werden. In dem Bereich 1402, der durch die gestrichelte Linie 1402 der Matrix 1204 angezeigt wird, beträgt die Schrittweite beispielsweise 1.
  • Angenommen, das aktuell ausgewählte Pixel befindet sich bei (4,4) in der Matrix 1204. Bei einer Schrittweite von 1 befindet sich das vorherige Pixel (n-1) bei (3,4), und das nächste Pixel (n+1) befindet sich bei (5,4). Alternativ kann, wie bei 1404 angegeben, eine Schrittweite von zwei verwendet werden, wobei sich das vorherige Pixel (n-1) bei (2,4) und das nächste Pixel (n+1) bei (6,4) befindet.
  • 15 illustriert Beispiele 1500 für die Schätzung der Neigung bergauf und der Neigung bergab gemäß einigen Implementierungen. In diesem Beispiel kann, wie bei 1502 angegeben, die bergauf gerichtete Neigung der Oberfläche des Fremdkörper-Kandidaten 1202 auf einer Pixel-für-Pixel-Basis bestimmt werden, wie sie von der Kamera 1504 erfasst wird. Nehmen wir zum Beispiel an, dass das aktuelle Pixel P1 ist, dann ist, wie oben in Bezug auf 14 beschrieben, das nächste Reihenpixel P2' und das vorherige Reihenpixel P2". In diesem Beispiel kann die bergauf gerichtete Neigung SU anhand der folgenden Gleichung bestimmt werden:
  • S U = P 2 ' ' y P 1 y P 2 ' ' z P 1 z
    Figure DE112021000482T5_0003
  • In ähnlicher Weise kann, wie bei 1506 angegeben, auch die bergab gerichtete Neigung der Oberfläche des Fremdkörper-Kandidaten 1202 bestimmt werden. In diesem Beispiel nehmen wir an, dass das aktuelle Pixel P1 ist, dann ist, wie oben in Bezug auf 14 besprochen, das nächste Reihenpixel P2' und das vorherige Reihenpixel P2". Somit kann die bergab gerichtete Neigung SD unter Verwendung der folgenden Gleichung bestimmt werden:
  • S U = P 1 y P 2 ' y P 1 z P 2 ' z
    Figure DE112021000482T5_0004
  • Darüber hinaus können die bergaufwärts gerichtete Höhe HD und die bergabwärts gerichtete Höhe HU für jeden Bildpunkt anhand der folgenden Gleichung bestimmt werden:
  • H = { H D = P 1 y = P 2 ' y H D > H U H D = P 2 ' ' y P 1 y H D > H U
    Figure DE112021000482T5_0005
  • 16 zeigt ein Beispiel 1600 der Maskenmatrix des ausgewählten Kandidaten vor und nach der Pixelvalidierung gemäß einigen Implementierungen. Nachdem die Neigung bergauf, die Neigung bergab und die Höhe für jedes Pixel des ausgewählten Kandidaten berechnet wurde, kann jedes Pixel mit einem Schwellenwert verglichen werden. Der Schwellenwert kann z. B. durch statistische Analyse oder empirische Verfahren gewählt werden. Auf der Grundlage dieses Ergebnisses kann jedes Pixel als gültig oder ungültig klassifiziert werden, wobei diese Klassifizierung anschließend für die Merkmalsextraktion verwendet werden kann. Je nachdem, ob die Pixel als gültig oder ungültig bestimmt werden, kann die Kandidatenmaske in der Matrix 1204 aktualisiert werden.
  • In diesem Beispiel ist die ursprüngliche Kandidatenmaske 1602 im oberen Beispiel der Matrix 1204 dargestellt, und die aktualisierte Kandidatenmaske 1604 ist im unteren Beispiel der Matrix 1204 dargestellt. In der ursprünglichen Kandidatenmaske 1602 belegten die Pixel des ursprünglichen Kandidaten Teile der Zeilen 4, 5 und 6 der Matrix 1204. Nach der Pixelvalidierung wurde festgestellt, dass die Pixel in Zeile 6 alle ungültig sind, d. h. nicht in den Fremdkörper-Kandidaten aufgenommen wurden, während eine Reihe von Pixeln 1606 in Zeile 3 und ein Pixel in Zeile 4 (wie durch die Schraffur angedeutet) als in den Fremdkörper-Kandidaten aufgenommen bestimmt wurden. Außerdem wurden einige ursprüngliche Pixel in den Reihen 4 und 5 als gültig eingestuft, wie durch den Pfeil 1608 angezeigt.
  • 17 zeigt eine beispielhafte Datenstruktur 1700 mit Merkmalen und entsprechender Merkmalsstärke gemäß einigen Implementierungen. Beispielsweise können nach der Validierung der Pixel der Fremdkörper-Kandidaten, wie oben beschrieben, Merkmale extrahiert und zur genauen Klassifizierung der Kandidaten als Fremdkörper oder Nicht-Fremdkörper verwendet werden. In den vorliegenden Beispielen kann eine Vielzahl verschiedener Merkmale verwendet werden, um zwischen Fremdkörpern und dem Straßenweg oder verschiedenen anderen Bildanomalien, die Nicht-Fremdkörper sind, zu unterscheiden. Die Datenstruktur 1700 enthält Merkmale 1702, einen jedem Merkmal entsprechenden Schwellenwert 1704, eine Falsch-Positiv-Rate 1706 für jedes Merkmal und eine Wahr-Positiv-Rate 1708 für jedes Merkmal.
  • In diesem Beispiel werden fünf Hauptmerkmale angegeben, die zur Klassifizierung der Kandidaten in Fremdkörper beitragen, obwohl in anderen Beispielen zusätzliche oder alternative Merkmale verwendet werden können. Zu den Merkmalen in diesem Beispiel gehören eine durchschnittliche Höhe 1710 des Fremdkörper-Kandidaten, eine maximale Höhe 1712 des Fremdkörper-Kandidaten, eine durchschnittliche Neigung 1714 des Fremdkörper-Kandidaten, eine maximale Neigung 1716 des Fremdkörper-Kandidaten und ein Spitzensteigungsprozentsatz 1718, der einem Prozentsatz von Pixeln mit einer Neigung > 5 oder ähnlichem entsprechen kann. Dementsprechend können in den vorliegenden Implementierungen zwei höhenbasierte Merkmale und drei neigungsbasierte Merkmale verwendet werden.
  • In einigen Fällen können die Schwellenwerte 1704 durch statistische Analyse großer Bilddatensätze bestimmt werden. Die Bilddaten können zum Beispiel verschiedene Szenarien abdecken, wie verschiedene Straßenoberflächenbedingungen (z. B. Straßenoberflächenfarbe wie Asphalt oder Beton usw.), Wetterbedingungen, Tageszeit usw. Daher können die Schwellenwerte 1704 auf der Grundlage der Wetter- und Straßenoberflächenbedingungen aktualisiert werden.
  • Außerdem zeigen die Falsch-Positiv-Rate 1706 und die Wahr-Positiv-Rate 1708 für jedes Merkmal, dass die höhenbasierten Merkmale tendenziell genauer sind als die neigungsbasierten Merkmale. Dementsprechend werden die höhenbasierten Merkmale 1710 und 1712 als starke Merkmale 1720 und die neigungsbasierten Merkmale 1714, 1716 und 1718 als schwache Merkmale 1722 betrachtet. So können beispielsweise die starken Merkmale 1720 den Gewichtungsfaktor reduzieren, um Fehlerkennungen zu verringern und dadurch die Erkennungsgenauigkeit zu verbessern. Außerdem können die schwachen Merkmale 1722 dazu beitragen, den Gewichtungsfaktor zu erhöhen und dadurch die Erkennungsreichweite zu verbessern.
  • 18 zeigt ein Beispiel für die Fremdkörpererfassung im Vergleich zur Straßenoberfläche für die oben in Bezug auf 17 diskutierten Merkmale gemäß einigen Implementierungen. So können beispielsweise für jeden Kandidaten Merkmale extrahiert werden, die für die Klassifizierung des Kandidaten als Fremdkörper oder Nicht-Fremdkörper verwendet werden. Jedes Merkmal kann eine Trennung zwischen der Straßenoberfläche und dem Fremdkörper bewirken. Jedes Merkmal kann mit den anderen verglichen und analysiert werden. Auf der Grundlage der Trennung und der Unempfindlichkeit gegenüber Rauschen/Falschmeldungen werden die Merkmale in starke und schwache Merkmale eingeteilt, wie oben in Bezug auf 17 erläutert. 18 zeigt einen Vergleich der einzelnen Merkmale, einschließlich der Gesamtzahl der richtig positiven Erkennungen und der Gesamtzahl der falsch positiven Erkennungen für dieses Merkmal. Beispielsweise können herkömmliche Verfahren alle Pixel in einem Bild verwenden, um eine Analyse des Bildes durchzuführen, während die hier vorgestellten Implementierungen zunächst die zu verwendenden Pixel validieren und nur die validierten Pixel für die anschließende Merkmalsextraktion und -klassifizierung verwenden können, die eine validierte durchschnittliche Höhe, eine validierte maximale Höhe, eine validierte Entfernung und validierte Breiteninformationen für die erkannten Fremdkörper liefern können.
  • Im Beispiel von 18 wird gezeigt, dass die durchschnittliche Höhe eine große Anzahl von richtig positiven Ergebnissen aufweist, wie bei 1802 angegeben, und keine falsch positiven Ergebnisse. In ähnlicher Weise wird gezeigt, dass die maximale Höhe eine große Anzahl von richtig positiven Ergebnissen 1802 und zwei falsch positive Ergebnisse 1804 aufweist, bei denen ein Teil des Straßenwegs fälschlicherweise als Fremdkörper identifiziert wurde. Darüber hinaus zeigt der Prozentsatz der Pixel mit maximalem Neigungsmerkmal vier falsch positive Ergebnisse 1804, das durchschnittliche Neigungsmerkmal zwei falsch positive Ergebnisse 1804 und das maximale Neigungsmerkmal drei falsch positive Ergebnisse 1804. Darüber hinaus sind, wie in 1806, 1808 und 1810 angegeben, mehrere der falsch positiven Ergebnisse 1804 für die drei neigungsbasierten Merkmale für denselben Fremdkörper-Kandidaten aufgetreten, was zu gemeinsamen falsch positiven Ergebnissen für diesen bestimmten Fremdkörper-Kandidaten führt.
  • 19 illustriert einen beispielhaften starken Merkmal-Klassifizierungsalgorithmus 1900 gemäß einigen Implementierungen. Zum Beispiel kann der starke Klassifizierungsalgorithmus 1900 durch das Fremdkörpererfassungsprogramm auf den Systemen 200 oder 300 ausgeführt werden, wie oben in Bezug auf die 1-3 diskutiert. Nachdem beispielsweise alle Merkmale aus einem ausgewählten Kandidaten extrahiert worden sind, werden die Merkmale zunächst auf den Algorithmus 1900 zur Klassifizierung von starken Merkmalen und dann auf einen Algorithmus zur Klassifizierung von schwachen Merkmalen angewendet, wie weiter unten in Bezug auf 20 erläutert. Unter Verwendung einer Kombination von starken und schwachen Merkmalsklassifikatoren kann der Fremdkörper-Kandidat mit hoher Genauigkeit als Fremdkörper oder Nicht-Fremdkörper klassifiziert werden. In den folgenden Tätigkeiten können z.B. die Gewichtungen (z.B. W1, W2, W3 und W4) zumindest teilweise auf der Basis von True-Positive-Raten für das jeweilige Merkmal bestimmt werden und die Schwellenwerte bestimmt werden, z.B. wie oben in 17 beschrieben.
  • Bei 1902 erhält das System einen Kandidaten für die Verarbeitung der starken Merkmale.
  • Bei 1904 bestimmt das System, ob die durchschnittliche Höhe größer ist als der Durchschnittshöhen-Schwellenwert. Wenn ja, wird mit 1910 fortgefahren. Wenn nicht, wird mit 1908 fortgefahren.
  • Bei 1906 stellt das System außerdem fest, ob die dem Kandidaten zugeordnete maximale Höhe größer ist als der Maximalhöhen-Schwellenwert. Wenn ja, geht der Prozess zu 1910. Wenn nicht, wird mit 1908 fortgefahren.
  • Bei 1908 wird, wenn die durchschnittliche Höhe des empfangenen Kandidaten nicht höher ist als der Durchschnittshöhen-Schwellenwert oder wenn die maximale Höhe des empfangenen Kandidaten nicht höher ist als der Maximalhöhen-Schwellenwert, der empfangene Kandidat als kein Fremdkörper klassifiziert und das System kann den Algorithmus 1900 für einen anderen Kandidaten einleiten.
  • Bei 1910 kann das System bestimmen, ob die durchschnittliche Höhe größer ist als ein erster Schwellenwert und die maximale Höhe größer ist als ein zweiter Schwellenwert, wenn ja, geht der Prozess zu 1912. Wenn nicht, wird mit 1914 fortgefahren.
  • Bei 1912 kann das System, wenn die Bedingungen bei 1910 erfüllt sind, die Gewichtung WG gleich einer ersten Gewichtung W1 setzen und mit Block 1924 fortfahren.
  • Bei 1914 kann das System bestimmen, ob die durchschnittliche Höhe größer ist als ein dritter Schwellenwert und die maximale Höhe größer ist als ein vierter Schwellenwert. Wenn ja, geht der Prozess zu 1916. Wenn nicht, wird mit 1918 fortgefahren.
  • Bei 1916 kann das System, wenn die Bedingungen in 1914 erfüllt sind, die Gewichtung WG gleich einer zweiten Gewichtung W2 setzen und mit Block 1924 fortfahren.
  • Bei 1918 kann das System bestimmen, ob die durchschnittliche Höhe größer ist als der dritte Schwellenwert und die maximale Höhe größer ist als ein fünfter Schwellenwert. Wenn ja, geht der Prozess zu 1920. Wenn nicht, wird mit 1922 fortgefahren.
  • Bei 1920 kann das System, wenn die Bedingungen von 1918 erfüllt sind, die Gewichtung WG gleich einer dritten Gewichtung W3 setzen und mit Block 1924 fortfahren.
  • Bei 1922 kann das System, wenn die Bedingungen in Block 1918 nicht erfüllt sind, die Gewichtung WG gleich einer vierten Gewichtung W4 setzen, die auch ein Standard-Gewichtungswert sein kann.
  • Bei 1924 kann das System die Gewichtung WG an den Klassifikator für schwache Merkmale zur weiteren Verarbeitung des ausgewählten Kandidaten senden.
  • 20 zeigt ein Beispiel für einen schwachen Klassifizierungsalgorithmus 2000, der gemäß einigen Implementierungen ausgeführt werden kann. Der schwache Klassifizierungsalgorithmus 2000 kann beispielsweise durch das Fremdkörpererfassungsprogramm 116 ausgeführt werden, wie oben, z. B. in Bezug auf die 1-3, beschrieben. In diesem Beispiel können, nachdem ein Kandidat den starken Merkmalsklassifikator 1900 durchlaufen hat, der die meisten Kandidaten für die Straßenoberfläche entfernt, der Kandidat und eine entsprechende Gewichtung WG, die durch den starken Merkmalsalgorithmus 1900 bestimmt wurde, durch den schwachen Merkmalsalgorithmus 2000 empfangen werden. So kann beispielsweise auf der Grundlage der starken Merkmale die Gewichtung WG berechnet und als Multiplikator für die schwachen Merkmale verwendet werden. Wie weiter unten noch erläutert wird, kann die Gesamtgewichtung aus einigen oder allen schwachen Merkmalen aufsummiert und mit einem oder mehreren Schwellenwert-Werten verglichen werden, um den Kandidaten schließlich als Fremdkörper oder Nicht-Fremdkörper einzustufen. In den folgenden Tätigkeiten können beispielsweise die Gewichtungen (z. B. erste Wt, zweite Wt und dritte Wt) zumindest teilweise auf der Grundlage wahrer Positivraten für das jeweilige Merkmal bestimmt werden, und die jeweiligen Schwellenwerte können bestimmt werden, z. B. wie oben in Bezug auf 17 erläutert. Wie bereits erwähnt, können sich die Schwellenwerte je nach Wetterlage, Straßenoberflächenbedingungen usw. ändern.
  • Bei 2002 erhält das System, das den schwachen Merkmal-Klassifizierungsalgorithmus 2000 ausführt, eine Gewichtung WG und eine Angabe eines zugeordneten Kandidaten aus dem starken Merkmal-Klassifizierungsalgorithmus 1900, der oben in Bezug auf 19 diskutiert wurde.
  • Bei 2004 bestimmt das System, ob die durchschnittliche Neigung multipliziert mit WG größer ist als der Durchschnittsneigungs-Schwellenwert. Wenn ja, wird mit 2006 fortgefahren. Wenn nicht, geht der Prozess zu 2007 über.
  • Bei 2006 liefert das System, wenn die Bedingung von 2004 erfüllt ist, an Block 2016 das erste Gewicht, das ein Produkt aus der Gewichtung WG und einer anderen Gewichtung sein kann, die dem durchschnittlichen Neigungsmerkmal zugeordnet ist (z. B. zumindest teilweise auf der wahren Positivrate für das durchschnittliche Neigungsmerkmal basierend).
  • Wenn die Bedingung von 2004 nicht erfüllt ist, setzt das System Bei 2007 das erste Gewicht auf Null und gibt diesen Wert an den Block 2016 weiter.
  • Bei 2008 kann das System bestimmen, ob die maximale Neigung multipliziert mit der Gewichtung WG größer ist als der Maximalneigungs-Schwellenwert. Wenn ja, wird mit 2010 fortgefahren. Wenn nicht, wird mit 2011 fortgefahren.
  • Bei 2010 liefert das System, wenn die Bedingung von 2008 erfüllt ist, das zweite Gewicht Wt an den Block 2016. Beispielsweise kann das zweite Wt ein Produkt aus der Gewichtung WG und einer dem maximalen Neigungsmerkmal zugeordneten Gewichtung sein (z. B. zumindest teilweise basierend auf der wahren positiven Rate für das maximale Neigungsmerkmal).
  • Bei 2011 setzt das System, wenn die Bedingung von 2008 nicht erfüllt ist, das zweite Gewicht auf Null und gibt diesen Wert an den Block 2016 weiter.
  • Bei 2012 bestimmt das System, ob der Spitzenneigungs-Prozentsatz multipliziert mit der Gewichtung WG größer ist als der Spitzenneigungs-Prozentsatz-Schwellenwert. Wenn ja, geht der Prozess bis 2014 weiter. Wenn nicht, geht der Prozess bis 2015 weiter.
  • Bei 2014 liefert das System, wenn die Bedingung von 2012 erfüllt ist, dem Block bei 2016 das dritte Wt. Das dritte Wt kann beispielsweise ein Produkt aus der Gewichtung WG multipliziert mit einer Gewichtung sein, die dem prozentualen-Spitzenwert-der-Steigung-Merkmal zugeordnet ist (z. B. zumindest teilweise basierend auf der wahren positiven Rate für den prozentualen-Spitzenwert-der-Steigung-Merkmal).
  • Bei 2015 setzt das System, wenn die Bedingung von 2012 nicht erfüllt ist, das dritte Gewicht auf Null und gibt diesen Wert an den Block 2016 weiter.
  • Bei 2016 bestimmt das System eine Gesamtgewichtung, indem es das erste Wt, das zweite Wt und das dritte Wt, die auf der Grundlage der in den Blöcken 2004, 2008 bzw. 2012 getroffenen Entscheidungen erhalten wurden, addiert.
  • Bei 2018 stellt das System fest, ob die Gesamtgewichtung größer ist als ein Gesamtgewichts-Schwellenwert. Wenn nicht, geht der Prozess zu 2020. Wenn ja, geht der Prozess zu 2022 weiter.
  • Bei 2020 wird der Kandidat, wenn die Gesamtgewichtung unter dem Gesamtgewichts-Schwellenwert liegt, als Nicht-Fremdkörper eingestuft.
  • Bei 2022 wird der Kandidat, wenn die Gesamtgewichtung den Gesamtgewichts-Schwellenwert übersteigt, als Fremdkörper eingestuft.
  • Nachdem ein oder mehrere Kandidaten erkannt und als Fremdkörper klassifiziert wurden, können die Fremdkörper für den Rest der Bilder verfolgt werden, und die entsprechenden Dimensionsinformationen können angezeigt oder anderweitig einer Ausgabe zugeordnet werden. Beispielsweise kann ein Bild mit den identifizierten Fremdkörpern und ferner mit Fremdkörper-Größen und Entfernungsinformationen in einem Bild des Straßenwegs auf einem Display für den Fahrer des Fahrzeugs angezeigt werden, z. B. durch Hervorhebung der Fremdkörper, Ertönen eines Warnsignals o. Ä. Alternativ können im Falle eines AD- oder ADAS-Fahrzeugs die Fremdkörper-Ort- und Größeninformationen dem Fahrzeugsteuerungsprogramm 118 zur Verfügung gestellt werden, z. B. wie oben in Bezug auf die 1-4 beschrieben. Auf der Grundlage von Fahrzeuggeschwindigkeit, Ort und Größe des Fremdkörpers und anderen Bedingungen kann das System ein oder mehrere Steuersignale bestimmen, die an ein oder mehrere Fahrzeugsysteme gesendet werden, um den Fremdkörper zu umfahren.
  • Zusätzlich können, wie oben in Bezug auf 1-3 erwähnt, der Standort, die Größe und andere Informationen über den Fremdkörper auf einen Cloud-Server oder ein anderes Netzwerk-Computing-Gerät zur Speicherung in einer Fremdkörperinformations-Datenstruktur hochgeladen werden. Die Fremdkörperinformationen in der Cloud können mit anderen Fremdkörperinformationen, die von anderen Fahrzeugen empfangen werden, zusammengeführt werden, um die Genauigkeit der Fremdkörperinformationen zu verbessern, die in der Netzwerk-Computereinrichtung gespeichert sind. Darüber hinaus können die anderen Fahrzeuge die Fremdkörperinformationen in Echtzeit empfangen und den Fremdkörper auf der Grundlage der empfangenen Fremdkörperinformationen vermeiden. Darüber hinaus kann die Dienstberechnungsvorrichtung für jede von einem Fahrzeug oder einem Fahrer geplante Route Informationen über Fremdkörper, die Fremdkörper-Ort Fremdkörper-Größe bevorzugte Routen und andere Informationen bereitstellen, während der Fremdkörper bestimmt wird, um im Fahrweg des Fahrzeugs an dem identifizierten Ort zu bleiben.
  • Die hier beschriebenen Beispielprozesse sind nur Beispiele für Prozesse, die zu Diskussionszwecken bereitgestellt werden. Zahlreiche andere Variationen werden für den Fachmann im Lichte der vorliegenden Offenbarung offensichtlich sein. Auch wenn die vorliegende Offenbarung mehrere Beispiele für geeignete Rahmen, Architekturen und Umgebungen zur Ausführung der Prozesse enthält, sind die hier beschriebenen Implementierungen nicht auf die gezeigten und diskutierten Beispiele beschränkt. Darüber hinaus bietet diese Offenlegung verschiedene Beispielimplementierungen, wie sie in den Zeichnungen beschrieben und dargestellt sind. Diese Offenbarung ist jedoch nicht auf die hier beschriebenen und abgebildeten Implementierungen beschränkt, sondern kann sich auf andere Implementierungen erstrecken, die dem Fachmann bekannt sind oder bekannt werden.
  • Verschiedene hierin beschriebene Anweisungen, Prozesse und Techniken können im allgemeinen Kontext von computerausführbaren Anweisungen betrachtet werden, wie z. B. Computerprogramme und Anwendungen, die auf computerlesbaren Medien gespeichert sind und von dem/den hierin beschriebenen Signalprozessor(en) ausgeführt werden. Im Allgemeinen können die Begriffe Programm und Anwendung austauschbar verwendet werden und können Anweisungen, Routinen, Module, Objekte, Komponenten, Datenstrukturen, ausführbaren Code usw. zur Durchführung bestimmter Aufgaben oder zur Implementierung bestimmter Datentypen umfassen. Diese Programme, Anwendungen usw. können als nativer Code ausgeführt oder heruntergeladen und ausgeführt werden, z. B. in einer virtuellen Maschine oder einer anderen Just-in-Time-Kompilierungsumgebung. In der Regel kann die Funktionalität der Programme und Anwendungen in verschiedenen Implementierungen beliebig kombiniert oder verteilt werden. Eine Implementierung dieser Programme, Anwendungen und Techniken kann auf Computerspeichermedien gespeichert oder über eine Art von Kommunikationsmedium übertragen werden.
  • Obwohl der Gegenstand in einer Sprache beschrieben wurde, die für strukturelle Merkmale und/oder methodische Handlungen spezifisch ist, ist es zu verstehen, dass der in den beigefügten Ansprüchen definierte Gegenstand nicht notwendigerweise auf die beschriebenen spezifischen Merkmale oder Handlungen beschränkt ist. Vielmehr werden die spezifischen Merkmale und Handlungen als Beispiel für die Umsetzung der Ansprüche offengelegt.

Claims (20)

  1. System umfassend: einen oder mehrere Prozessoren; und ein oder mehrere nichttransitorische computerlesbare Medien, die ausführbare Anweisungen enthalten, die, wenn sie von dem einen oder den mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren so konfigurieren, dass sie Tätigkeiten durchführen, die Folgendes umfassen: Erhalten mindestens eines Bildes von einer Straße; Bestimmen von mindestens einer Pixel-Kandidatengruppe im Bild, die potenziell einem Fremdkörper auf der Straße entspricht; Bestimmen von mindestens zwei höhenbasierten Merkmalen für die Pixel-Kandidatengruppe, wobei die mindestens zwei höhenbasierten Merkmale eine der Pixel-Kandidatengruppe zugeordnete maximale Höhe relativ zu einer Oberfläche der Straße und eine der Pixel-Kandidatengruppe zugeordnete durchschnittliche Höhe relativ zu der Oberfläche der Straße umfassen; Bestimmen mindestens eines Gewichtungsfaktors auf der Grundlage des Vergleichs der mindestens zwei höhenbasierten Merkmale mit jeweiligen Schwellenwerten; Bestimmen eines oder mehrerer neigungsbasierter Merkmale, die der Pixel-Kandidatengruppe zugeordnet sind; Anwenden des mindestens einen Gewichtungsfaktors auf mindestens eine Gewichtung, die mit mindestens einem der ein oder mehreren neigungsbasierten Merkmale verbunden ist, um eine Gesamtgewichtung zu bestimmen; und Bestimmen, ob die Pixelgruppe einem Fremdkörper entspricht, zumindest auf der Grundlage der Gesamtgewichtung.
  2. System nach Anspruch 1, wobei die Tätigkeiten ferner das Bestimmen einer Gültigkeit der Pixel in der Pixelgruppe umfassen, die zumindest auf der Bestimmen basiert, ob einzelne Pixel in der Pixelgruppe die Oberfläche der Straße darstellen.
  3. System nach Anspruch 2, wobei das Bestimmen der Gültigkeit der Pixel weiterhin auf mindestens einer der folgenden Bestimmen für die einzelnen Pixel in der Pixelgruppe basiert: eine Aufwärtsneigung, die einem einzelnen Pixel relativ zu benachbarten Pixeln zugeordnet ist; eine Abwärtsneigung, die dem einzelnen Pixel relativ zu benachbarten Pixeln zugeordnet ist; eine dem einzelnen Pixel zugeordnete Höhe relativ zu benachbarten Pixeln.
  4. System nach Anspruch 2, wobei die Tätigkeiten ferner das Bestimmen einer Straßenebenenabschätzung der Oberfläche der Straße vor der Bestimmen der Gültigkeit der Pixel in der Pixelgruppe umfassen.
  5. System nach Anspruch 1, wobei die Tätigkeiten ferner Folgendes umfassen: Bestimmen einer Region von Interesse in dem Bild zumindest teilweise auf der Grundlage von aus dem Bild bestimmten Spurinformationen; und Bestimmen der mindestens einen Pixel-Kandidatengruppe in dem Bild zumindest auf der Grundlage der Bestimmung, dass sich die mindestens eine Pixel-Kandidatengruppe innerhalb der Region von Interesse befindet.
  6. System nach Anspruch 1, bei dem zwei Bilder von einer Stereokamera empfangen werden, wobei die Tätigkeiten weiterhin umfassen: Bestimmen eines Ungleichheitsbildes aus den empfangenen Bildern; Bestimmen von Randinformationen für mindestens eines der empfangenen Bilder; Bestimmen eines modifizierten Ungleichheitsbildes basierend auf dem Ungleichheitsbild und den Randinformationen; und Bestimmen der mindestens einen Pixel-Kandidatengruppe aus dem modifizierten Ungleichheitsbild.
  7. System nach Anspruch 1, wobei die ein oder mehreren neigungsbasierten Merkmale mindestens eines der folgenden Merkmale umfassen: eine durchschnittliche Neigung, die einzelnen Pixeln relativ zu benachbarten Pixeln zugeordnet ist; eine einzelnen Pixeln zugeordnete maximale Neigung; oder ein Prozentsatz von Pixeln in der Pixelgruppe, die einer Neigung zugeordnet sind, die einen angegebenen Wert überschreitet.
  8. System nach Anspruch 1, wobei die Tätigkeiten ferner das Senden mindestens eines Steuersignals auf der Grundlage der Bestimmung, dass die Pixelgruppe einem Fremdkörper entspricht, umfassen, wobei das mindestens eine Steuersignal mindestens eines der folgenden Signale enthält: eine Anweisung zur Steuerung eines Fahrzeugs, um das Fahrzeug zu veranlassen, dem Fremdkörper auszuweichen; eine Anweisung zur Auslösung eines Alarms; eine Anweisung, die die Anzeige von Informationen über den Fremdkörper auf einem Display bewirkt.
  9. System nach Anspruch 1, wobei die Tätigkeiten ferner Folgendes umfassen: basierend auf der Bestimmung, dass die Pixelgruppe einem Fremdkörper entspricht, Senden von Fremdkörperinformationen, die sich auf den Fremdkörper beziehen, über ein Netzwerk an eine Rechenvorrichtung, um die Rechenvorrichtung zumindest teilweise zu veranlassen, die Fremdkörperinformationen in einer Datenstruktur zu speichern; und Empfangen zusätzlicher Fremdkörperinformationen von der Rechenvorrichtung, wobei die Fremdkörperinformationen einen Ort zusätzlicher Fremdkörper in einem anderen Straßenweg angeben; und Bestimmen einer Route zu einem Ziel, die zumindest auf den zusätzlichen Fremdkörperinformationen basiert.
  10. Verfahren, umfassend: Empfangen mindestens eines Bildes einer Straße durch einen oder mehrere Prozessoren; Bestimmen mindestens einer Pixel-Kandidatengruppe in dem Bild als potenziell einem Fremdkörper auf der Straße entsprechend; Bestimmen von mindestens zwei höhenbasierten Merkmalen für die Pixel-Kandidatengruppe, wobei die mindestens zwei höhenbasierten Merkmale eine der Pixel-Kandidatengruppe zugeordnete maximale Höhe relativ zu einer Oberfläche der Straße und eine der Pixel-Kandidatengruppe zugeordnete durchschnittliche Höhe relativ zu der Oberfläche der Straße umfassen; Bestimmen mindestens eines Gewichtungsfaktors auf der Grundlage des Vergleichs der mindestens zwei höhenbasierten Merkmale mit jeweiligen Schwellenwerten; und Bestimmen, ob die Pixelgruppe einem Fremdkörper entspricht, mindestens auf der Grundlage des Vergleichs.
  11. Verfahren nach Anspruch 10, ferner umfassend das Bestimmen eines oder mehrerer neigungsbasierter Merkmale, die der Pixel-Kandidatengruppe zugeordnet sind, wobei das eine oder die mehreren neigungsbasierten Merkmale mindestens eines der folgenden Merkmale umfassen: eine durchschnittliche Neigung, die einzelnen Pixeln relativ zu benachbarten Pixeln zugeordnet ist; eine einzelnen Pixeln zugeordnete maximale Neigung; oder ein Prozentsatz von Pixeln in der Pixelgruppe, die einer Neigung zugeordnet sind, die einen angegebenen Wert überschreitet.
  12. Verfahren nach Anspruch 11, das ferner umfasst Bestimmen mindestens eines Gewichtungsfaktors auf der Grundlage des Vergleichs der mindestens zwei höhenbasierten Merkmale mit jeweiligen Schwellenwerten; Anwenden des mindestens einen Gewichtungsfaktors auf mindestens eine Gewichtung, die mit mindestens einem der ein oder mehreren neigungsbasierten Merkmale verbunden ist, um eine Gesamtgewichtung zu bestimmen; und Bestimmen, ob die Pixelgruppe einem Fremdkörper entspricht, zumindest auf der Grundlage der Gesamtgewichtung.
  13. Verfahren nach Anspruch 10, ferner umfassend das Bestimmen einer Gültigkeit der Pixel in der Pixelgruppe zumindest auf der Grundlage des Bestimmens, ob einzelne Pixel in der Pixelgruppe die Oberfläche der Straße darstellen.
  14. Verfahren nach Anspruch 10, das ferner umfasst Bestimmen einer Region von Interesse in dem Bild zumindest teilweise auf der Grundlage der aus dem Bild bestimmten Spurinformation; und Bestimmen der mindestens einen Pixel-Kandidatengruppe in dem Bild zumindest auf der Grundlage der Bestimmung, dass sich die mindestens eine Pixel-Kandidatengruppe innerhalb der Region von Interesse befindet.
  15. Verfahren nach Anspruch 10, wobei zwei Bilder von einer Stereokamera empfangen werden, wobei das Verfahren ferner umfasst Bestimmen eines Ungleichheitsbildes aus den empfangenen Bildern; Bestimmen von Randinformationen für mindestens eines der empfangenen Bilder; Bestimmen eines modifizierten Ungleichheitsbildes basierend auf dem Ungleichheitsbild und den Randinformationen; und Bestimmen der mindestens einen Pixel-Kandidatengruppe aus dem modifizierten Ungleichheitsbild.
  16. Ein System, das folgendes umfasst: einen oder mehrere Prozessoren; und ein oder mehrere nichttransitorische computerlesbare Medien, die ausführbare Anweisungen enthalten, die, wenn sie von dem einen oder den mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren so konfigurieren, dass sie Tätigkeiten durchführen, die Folgendes umfassen: Empfangen mindestens eines Bildes einer Straße, die von einem Fahrzeug befahren wird; Bestimmen mindestens einer Pixel-Kandidatengruppe in dem Bild, die potenziell einem Fremdkörper auf der Straße entspricht; Bestimmen einer Vielzahl von neigungsbasierten Merkmalen, die der Pixel-Kandidatengruppe zugeordnet sind, wobei die neigungsbasierten Merkmale mindestens eines der folgenden Merkmale umfassen: eine durchschnittliche Neigung, die einzelnen Pixeln relativ zu benachbarten Pixeln zugeordnet ist; eine den einzelnen Pixeln zugeordnete maximale Neigung; oder ein Prozentsatz von Pixeln in der Pixelgruppe, die einer Neigung zugeordnet sind, die einen angegebenen Wert überschreitet; Anwendung mindestens eines Gewichtungsfaktors auf mindestens eine Gewichtung, die mindestens einem der mehreren neigungsbasierten Merkmale zugeordnet ist, um eine Gesamtgewichtung zu bestimmen; und Bestimmen, ob die Pixelgruppe einem Fremdkörper entspricht, zumindest auf der Grundlage der Gesamtgewichtung.
  17. System nach Anspruch 16, wobei die Tätigkeiten ferner das Bestimmen einer Gültigkeit der Pixel in der Pixelgruppe umfassen, die mindestens auf Bestimmen, ob einzelne Pixel in der Pixelgruppe die Oberfläche der Straße darstellen.
  18. System nach Anspruch 16, wobei die Tätigkeiten ferner umfassen: Bestimmen eines oder mehrerer höhenbasierter Merkmale für die Pixel-Kandidatengruppe, wobei das eine oder die mehreren höhenbasierten Merkmale mindestens eines der folgenden Merkmale umfassen: eine maximale Höhe, die der Pixel-Kandidatengruppe relativ zu einer Oberfläche der Straße zugeordnet ist, oder eine durchschnittliche Höhe, die der Pixel-Kandidatengruppe relativ zur Oberfläche der Straße zugeordnet ist; Bestimmen des mindestens einen Gewichtungsfaktors auf der Grundlage des Vergleichs mindestens eines der höhenbasierten Merkmale mit einem Schwellenwert.
  19. System nach Anspruch 16, wobei die Tätigkeiten ferner Folgendes umfassen: Bestimmen einer Region von Interesse in dem Bild zumindest teilweise auf der Grundlage von aus dem Bild bestimmten Spurinformationen; und Bestimmen der mindestens einen Pixel-Kandidatengruppe in dem Bild zumindest auf der Grundlage der Bestimmung, dass sich die mindestens eine Pixel-Kandidatengruppe innerhalb der Region von Interesse befindet.
  20. System nach Anspruch 16, wobei zwei Bilder von einer Stereokamera empfangen werden, wobei die Tätigkeiten ferner umfassen: Bestimmen eines Ungleichheitsbildes aus den empfangenen Bildern; Bestimmen von Randinformationen für mindestens eines der empfangenen Bilder; Bestimmen eines modifizierten Ungleichheitsbildes auf der Grundlage des Ungleichheitsbildes und der Randinformationen; und Bestimmen der mindestens einen Pixel-Kandidatengruppe aus dem modifizierten Ungleichheitsbild.
DE112021000482.4T 2020-03-30 2021-01-18 Erkennung von fremdkörpern in einem fahrzeugweg Pending DE112021000482T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/833,759 US11314974B2 (en) 2020-03-30 2020-03-30 Detecting debris in a vehicle path
US16/833,759 2020-03-30
PCT/JP2021/001439 WO2021199584A1 (en) 2020-03-30 2021-01-18 Detecting debris in a vehicle path

Publications (1)

Publication Number Publication Date
DE112021000482T5 true DE112021000482T5 (de) 2022-11-24

Family

ID=77856373

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021000482.4T Pending DE112021000482T5 (de) 2020-03-30 2021-01-18 Erkennung von fremdkörpern in einem fahrzeugweg

Country Status (4)

Country Link
US (1) US11314974B2 (de)
JP (1) JP7454685B2 (de)
DE (1) DE112021000482T5 (de)
WO (1) WO2021199584A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230192067A1 (en) * 2021-11-23 2023-06-22 Motional Ad Llc Motion planner constraint generation based on road surface hazards
US20230415737A1 (en) * 2022-06-22 2023-12-28 Toyota Motor Engineering & Manufacturing North America, Inc. Object measurement system for a vehicle

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3868876B2 (ja) 2002-09-25 2007-01-17 株式会社東芝 障害物検出装置及び方法
US7741961B1 (en) * 2006-09-29 2010-06-22 Canesta, Inc. Enhanced obstacle detection and tracking for three-dimensional imaging systems used in motor vehicles
US8462988B2 (en) * 2007-01-23 2013-06-11 Valeo Schalter Und Sensoren Gmbh Method and system for universal lane boundary detection
JP5181602B2 (ja) * 2007-09-28 2013-04-10 コニカミノルタホールディングス株式会社 物体検出装置
JP5441549B2 (ja) * 2009-07-29 2014-03-12 日立オートモティブシステムズ株式会社 道路形状認識装置
JP5827508B2 (ja) * 2011-07-13 2015-12-02 ヤマハ発動機株式会社 車両用障害物検出装置及びそれを用いた車両
US9256791B2 (en) * 2012-12-04 2016-02-09 Mobileye Vision Technologies Ltd. Road vertical contour detection
JP6151150B2 (ja) 2013-10-07 2017-06-21 日立オートモティブシステムズ株式会社 物体検出装置及びそれを用いた車両
JP5959073B2 (ja) 2014-09-30 2016-08-02 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 検出装置、検出方法、及び、プログラム
US9672446B1 (en) * 2016-05-06 2017-06-06 Uber Technologies, Inc. Object detection for an autonomous vehicle
US10296794B2 (en) * 2016-12-20 2019-05-21 Jayant Rtti On-demand artificial intelligence and roadway stewardship system
US10460180B2 (en) * 2017-04-20 2019-10-29 GM Global Technology Operations LLC Systems and methods for visual classification with region proposals
US10591605B2 (en) * 2017-10-19 2020-03-17 Gerard Dirk Smits Methods and systems for navigating a vehicle including a novel fiducial marker system
US10696257B2 (en) * 2018-07-17 2020-06-30 Denso International America, Inc. Automatic crowd sensing and reporting system for road incidents
US11338807B2 (en) * 2019-01-30 2022-05-24 Allstate Insurance Company Dynamic distance estimation output generation based on monocular video
US20210097311A1 (en) * 2019-09-27 2021-04-01 Dish Network L.L.C. Wireless vehicular systems and methods for detecting roadway conditions
US11961243B2 (en) * 2020-02-26 2024-04-16 Nvidia Corporation Object detection using image alignment for autonomous machine applications

Also Published As

Publication number Publication date
US20210303875A1 (en) 2021-09-30
US11314974B2 (en) 2022-04-26
WO2021199584A1 (en) 2021-10-07
JP7454685B2 (ja) 2024-03-22
JP2023511454A (ja) 2023-03-17

Similar Documents

Publication Publication Date Title
DE102015100812B4 (de) Verfahren zum Verwenden von Strassenniveaubildern zum Verbessern eines Modus eines automatisierten Fahrens für ein Fahrzeug
DE102011086512B4 (de) Nebeldetektion
DE102012207620B4 (de) System und Verfahren für die Lichtsignaldetektierung
DE102018218220A1 (de) Steuergerät für ein Fahrzeug
DE112018000479T5 (de) Ereignisvorhersagesystem, Ereignisvorhersageverfahren, Aufzeichnungsmedium und sich bewegender Körper
DE102017218141B4 (de) Fahrunterstützungsvorrichtung unter verwendung einer frontüberwachungsvorrichtung und fahrunterstützungsverfahren unter verwendung einer frontüberwachungsvorrichtung
DE102018203807A1 (de) Verfahren und Vorrichtung zur Erkennung und Bewertung von Fahrbahnzuständen und witterungsbedingten Umwelteinflüssen
DE102015209947A1 (de) Evakuierungsfahrtassistenzvorrichtung
DE102014112601A1 (de) Fahrzeugumgebungerkennungsvorrichtung
EP2629243A1 (de) Verfahren zum Erkennen und Verfolgen von Fahrspurmarkierungen
DE102014110206B4 (de) Fahrzeugaußenumgebungerkennungsvorrichtung
WO2013029722A2 (de) Verfahren zur umgebungsrepräsentation
DE102021103149A1 (de) Verfahren und vorrichtung zur bestimmung der optimalen kreuzungsspur in einem unterstützten fahrsystem
DE102018111935A1 (de) Bildverarbeitungssystem, Bildverarbeitungsverfahren, Informationsverarbeitungsvorrichtung und Aufzeichnungsmedium
DE102018121008A1 (de) Kreuzverkehrserfassung unter verwendung von kameras
DE112021005856T5 (de) Kombinieren von informationen einer kamera für sichtbares licht und einer wärmekamera
DE102017106952A1 (de) Abstandssteuerung für ein fahrzeug mit anhänger
DE112021000482T5 (de) Erkennung von fremdkörpern in einem fahrzeugweg
DE112021005607T5 (de) Systeme und Verfahren für kamera-LiDAR-fusionierte Objektdetektion
DE102014212216A1 (de) Verfahren und Fahrerassistenzsystem zur Erfassung eines Fahrzeugumfel-des
DE102022134876A1 (de) STRAßENKARTENERSTELLSYSTEM UND VERFAHREN ZUR NUTZUNG
DE112022001403T5 (de) Lichtinterferenzdetektion während der fahrzeugnavigation
DE102018133457B4 (de) Verfahren und System zum Bereitstellen von Umgebungsdaten
DE102019112279A1 (de) Verfahren und vorrichtung zur diagonalen spurerkennung
DE102021119871B4 (de) Verfahren und Prozessorschaltung zum Betreiben einer automatisierten Fahrfunktion mit Objektklassifikator in einem Kraftfahrzeug, sowie Kraftfahrzeug

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R081 Change of applicant/patentee

Owner name: HITACHI ASTEMO, LTD., HITACHINAKA-SHI, JP

Free format text: FORMER OWNER: HITACHI ASTEMO, LTD., HITACHINAKA-SHI, IBARAKI-KEN, JP

R083 Amendment of/additions to inventor(s)