-
TECHNISCHES GEBIET
-
Die Offenbarung betrifft allgemein die Detektion kleiner Objekte unter Verwendung von Generative-Adversarial-Network-Modellen. Insbesondere betrifft die Offenbarung die Detektion kleiner Objekte in Straßenszenen unter Verwendung von Generative-Adversarial-Network-Modellen.
-
HINTERGRUND
-
Das Verständnis einer Straßenszene ist in autonomen Fahranwendungen wichtig. Die Objektdetektion spielt eine wichtige Rolle bei dem Verständnis einer Straßenszene. Das Detektieren kleiner Objekte in Bilddaten (beispielsweise von Ampeln) ist jedoch schwierig, da sich kleine Objekte im Allgemeinen weit entfernt vom Detektor befinden und im Vergleich zu ihrer Umgebung einen sehr geringen Kontrast aufweisen.
-
KURZDARSTELLUNG
-
Zur Detektion von Objekten in Bilddaten werden tiefe Detektormodelle verwendet. Die Detektion kleiner Straßenobjekte bleibt jedoch eine Herausforderung für tiefe Detektormodelle. Somit liefert die Offenbarung unter anderem Systeme, Verfahren und nichtflüchtige computerlesbare Medien zur Detektion kleiner Objekte in einer Straßenszene.
-
Die Offenbarung liefert ein System zum Detektieren kleiner Objekte in einer Straßenszene. In manchen Implementierungen beinhaltet das System eine Kamera und eine elektronische Steuerung. Das Kamera ist mit einem Fahrzeug gekoppelt und dazu ausgelegt, ein Bild einer Straßenszene zu erfassen. Die elektronische Steuerung ist mit der Kamera gekoppelt. Die elektronische Steuerung ist dazu ausgelegt, das Bild der Straßenszene von der Kamera zu empfangen. Die elektronische Steuerung ist außerdem dazu ausgelegt, ein Generative-Adversarial-Network(GAN)-Modell unter Verwendung des Bildes der Straßenszene zu erzeugen. Die elektronische Steuerung ist ferner dazu ausgelegt, unter Verwendung des GAN-Modells eine Verteilung zu bestimmen, die angibt, wie wahrscheinlich jeder Ort in dem Bild der Straßenszene ein Straßenobjekt enthalten kann. Die elektronische Steuerung ist auch dazu ausgelegt, mehrere Orte in dem Bild der Straßenszene durch Sampeln der Verteilung zu bestimmen. Die elektronische Steuerung ist ferner dazu ausgelegt, das Straßenobjekt an einem der mehreren Orte im Bild der Straßenszene zu detektieren.
-
Die Offenbarung liefert auch ein Verfahren zum Detektieren kleiner Objekte in einer Straßenszene. Das Verfahren beinhaltet Empfangen, mit einem elektronischen Prozessor, eines Bildes einer Straßenszene von einer Kamera, die mit einem Fahrzeug gekoppelt ist. Das Verfahren beinhaltet außerdem Erzeugen, mit dem elektronischen Prozessor, eines Generative-Adversarial-Network(GAN)-Modells unter Verwendung des Bildes der Straßenszene. Das Verfahren beinhaltet ferner Bestimmen, mit dem elektronischen Prozessor, unter Verwendung des GAN-Modells einer Verteilung, die angibt, wie wahrscheinlich jeder Ort in dem Bild der Straßenszene ein Straßenobjekt enthalten kann. Das Verfahren beinhaltet auch Bestimmen, mit dem elektronischen Prozessor, mehrerer Orte in dem Bild der Straßenszene durch Sampeln der Verteilung. Das Verfahren beinhaltet ferner Detektieren, mit dem elektronischen Prozessor, des Straßenobjekts an einem der mehreren Orte im Bild der Straßenszene.
-
Die Offenbarung liefert auch ein nichtflüchtiges computerlesbares Medium, das computerlesbare Anweisungen speichert, die bei ihrer Ausführung durch einen elektronischen Prozessor eines Computers bewirken, dass der Computer Operationen durchführt. Die Operationen beinhalten Empfangen eines Bildes einer Straßenszene von einer Kamera, die mit einem Fahrzeug gekoppelt ist. Die Operationen beinhalten außerdem Erzeugen eines Generative-Adversarial-Network(GAN)-Modells unter Verwendung des Bildes der Straßenszene. Die Operationen beinhalten ferner Bestimmen unter Verwendung des GAN-Modells einer Verteilung, die angibt, wie wahrscheinlich jeder Ort in dem Bild der Straßenszene ein Straßenobjekt enthalten kann. Die Operationen beinhalten auch Bestimmen mehrerer Orte in dem Bild der Straßenszene durch Sampeln der Verteilung. Die Operationen beinhalten ferner Detektieren des Straßenobjekts an einem der mehreren Orte im Bild der Straßenszene.
-
Figurenliste
-
Die begleitenden Zeichnungen, in denen sich überall in den separaten Ansichten gleiche Bezugsziffern auf identische und funktionell ähnliche Elemente beziehen, zusammen mit der untenstehenden ausführlichen Beschreibung sind in der Spezifikation eingeschlossen und bilden einen Teil von dieser, und dienen zum zusätzlichen Veranschaulichen von Ausführungsformen und zum Erläutern verschiedener Prinzipien und Vorteile dieser Ausführungsformen.
- 1 ist ein Blockdiagramm eines Beispiels eines Fahrzeugs, das mit einem System zum Detektieren kleiner Objekte in einer Straßenszene ausgestattet ist, gemäß manchen Ausführungsformen.
- 2 ist ein Blockdiagramm eines Beispiels einer elektronischen Steuerung, die in dem in 1 veranschaulichten System enthalten ist, gemäß manchen Ausführungsformen.
- 3 ist ein Blockdiagramm eines Beispiels eines Generative-Adversarial-Network(GAN)-Modells, gemäß manchen Ausführungsformen.
- 4 ist ein Flussdiagramm eines Beispiels eines Verfahrens zum Detektieren kleiner Objekte in einer Straßenszene, gemäß manchen Ausführungsformen.
-
Die System- und Verfahrenskomponenten wurden gegebenenfalls durch herkömmliche Symbole in den Zeichnungen repräsentiert, die nur jene spezifischen Einzelheiten zeigen, die für das Verständnis der Ausführungsformen relevant sind, sodass die Offenbarung nicht mit Einzelheiten verschleiert wird, die Durchschnittsfachleuten mit der Kenntnis der Beschreibung hierin leicht ersichtlich sind.
-
AUSFÜHRLICHE BESCHREIBUNG
-
1 ist ein Blockdiagramm eines Beispiels eines Fahrzeugs 100, das mit einem System 102 zum Detektieren kleiner Objekte in einem Straßenbild ausgestattet ist. Das in 1 veranschaulichte Fahrzeug 100 ist ein Kraftfahrzeug, das vier Räder 104, 106, 108 und 110 beinhaltet. In manchen Implementierungen ist das System 102 für ein Fahrzeug mit mehr oder weniger als vier Rädern vorgesehen. Beispielsweise kann das System 102 für ein Motorrad, einen Lastwagen, einen Bus, einen Anhänger und dergleichen vorgesehen sein. In der Praxis beinhaltet das Fahrzeug 100 zusätzliche Komponenten wie etwa ein Antriebssystem, ein Lenksystem, ein Bremssystem und dergleichen. Zur Einfachheit der Erläuterung sind diese zusätzlichen Komponenten hier nicht veranschaulicht.
-
Das in 1 veranschaulichte System 102 beinhaltet eine Kamera 112 und eine elektronische Steuerung 114. In manchen Implementierungen beinhaltet das System 102 in Konfigurationen, die sich von der in 1 veranschaulichten unterscheiden, weniger oder zusätzliche Komponenten. Die Kamera 112 ist mit einer Komponente des Fahrzeugs 100 gekoppelt, die in die Vorwärtsfahrtrichtung zeigt (beispielsweise einer vorderen Stoßstange, einer Motorhaube, einem Rückspiegel und dergleichen). Die Kamera 112 ist dazu ausgelegt, Bilder einer Straßenszene der Umgebung des Fahrzeugs 100 (beispielsweise einer Verkehrsszene) zu erfassen. Die Bilder der Straßenszene können kleine Straßenobjekte beinhalten. Kleine Straßenobjekte beinhalten beispielsweise Straßenmarkierungen, Verkehrsschilder, Ampeln, Straßenrandobjekte (zum Beispiel Bäume und Masten) und andere übliche Objekte, die in einer Straßenszene aufgefunden werden können. In manchen Implementierungen beinhaltet die Kamera 112 eine oder mehrere Videokameras, eine oder mehrere fotografische Kameras oder eine Kombination davon. Die Kamera 112 ist dazu ausgelegt, die erfassten Bilder der Straßenszene zu der elektronischen Steuerung 114 zu übertragen.
-
2 ist ein Blockdiagramm eines Beispiels der elektronischen Steuerung 114. Die in 2 veranschaulichte elektronische Steuerung 114 beinhaltet einen elektronischen Prozessor 202 (beispielsweise eine(n) oder mehrere Mikroprozessoren, anwendungsspezifische integrierte Schaltungen (ASICs), Systems-on-Chip (SoCs) oder andere elektronische Steuerungen), einen Speicher 204, eine Eingabe/Ausgabe-Schnittstelle 206, eine Benutzerschnittstelle 208 und einen Bus 210. In manchen Implementierungen beinhaltet die elektronische Steuerung 114 in Konfigurationen, die sich von der in 2 veranschaulichten unterscheiden, weniger oder zusätzliche Komponenten. In der Praxis kann die elektronische Steuerung 114 beispielsweise zusätzliche Komponenten wie etwa eine oder mehrere Leistungsversorgungen, einen oder mehrere Sensoren und dergleichen beinhalten. Zur Einfachheit der Erläuterung sind diese zusätzlichen Komponenten hier nicht veranschaulicht.
-
Die Eingabe/Ausgabe-Schnittstelle 206 beinhaltet Routinen zum Transferieren von Informationen zwischen Komponenten in der elektronischen Steuerung 114 und sich extern zu der elektronischen Steuerung 114 befindlichen Komponenten. Beispielsweise ermöglicht die Eingabe/Ausgabe-Schnittstelle 206 dem elektronischen Prozessor 202, mit externer Hardware wie etwa der Kamera 112 zu kommunizieren. Die Eingabe/Ausgabe-Schnittstelle 206 ist dazu ausgelegt, Daten über eine oder mehrere drahtgebundene Kopplungen (zum Beispiel Drähte, optische Faser und dergleichen), drahtlos oder eine Kombination davon zu übertragen.
-
Die Benutzerschnittstelle 208 beinhaltet beispielsweise einen oder mehrere Eingabemechanismen (zum Beispiel einen Touchscreen, ein Tastenfeld, eine Taste, einen Knopf und dergleichen), einen oder mehrere Ausgabemechanismen (zum Beispiel eine Anzeige, einen Drucker, einen Lautsprecher und dergleichen) oder eine Kombination davon. In manchen Implementierungen beinhaltet die Benutzerschnittstelle 208 eine berührungsempfindliche Schnittstelle (zum Beispiel eine Touchscreen-Anzeige), die eine visuelle Ausgabe anzeigt, die durch vom elektronischen Prozessor 202 ausgeführten Softwareanwendungen erzeugt wird. Eine visuelle Ausgabe beinhaltet beispielsweise grafische Indikatoren, Lichter, Farben, Text, Bilder, grafische Benutzeroberflächen (GUIs), Kombinationen des Vorstehenden und dergleichen. Die berührungsempfindliche Schnittstelle empfängt auch eine Benutzereingabe unter Verwendung eines detektierten physischen Kontakts (beispielsweise detektierte Kapazität oder detektierter Widerstand). In manchen Implementierungen ist die Benutzerschnittstelle 208 von der elektronischen Steuerung 114 getrennt.
-
Der Bus 210 verbindet verschiedene Komponenten der elektronischen Steuerung 114, einschließlich beispielsweise den Speicher 204 mit dem elektronischen Prozessor 202. Der Speicher 204 beinhaltet zum Beispiel Nur-Lese-Speicher (ROM), Direktzugriffsspeicher (RAM), einen elektrisch löschbaren programmierbaren Nur-Lese-Speicher (EEPROM), andere nichtflüchtige computerlesbare Medien oder eine Kombination davon. In manchen Implementierungen ist der Speicher 204 im elektronischen Prozessor 202 enthalten. Der elektronische Prozessor 202 ist dazu ausgelegt, computerlesbare Anweisungen und Daten aus dem Speicher 204 abzurufen und die computerlesbaren Anweisungen auszuführen, um die hierin beschriebene Funktionalität durchzuführen. Der in 2 veranschaulichte Speicher 204 beinhaltet eine Detektionsplattform 212 und ein Generative-Adversarial-Network(GAN)-Modell 214. Die Detektionsplattform 212 beinhaltet computerlesbare Anweisungen, die bewirken, dass der elektronische Prozessor 202 unter anderem die hierin beschriebenen Verfahren durchführt. Beispielsweise beinhaltet die Detektionsplattform 212 computerlesbare Anweisungen, die bewirken, dass der elektronische Prozessor 202 das GAN-Modell 214 erzeugt, um Ampeln (und andere kleine Straßenobjekte) in Bilddaten zu detektieren.
-
Gegenwärtige tiefe Detektormodelle sind auf das Detektieren von Merkmalen eines Objekts angewiesen. Falls das Objekt in einer beobachteten Szene zu klein ist, kann das Detektormodell daran scheitern, das Objekt zu detektieren. Dies kann Gefahren während des Fahrens für Fahrzeuge verursachen, insbesondere für autonome Fahrzeuge, da wichtige kleine Objekte, wie etwa Ampeln, möglicherweise nicht detektiert werden, und geeignete Handlungen, wie etwa das Anhalten an einer roten Ampel, nicht durchgeführt wird. Die Semantik einer Straßenszene kann ein effizientes Verfahren bereitstellen, um vorherzusagen, wie wahrscheinlich ein Straßenobjekt möglicherweise in der Straßenszene vorhanden ist. Beispielsweise kann menschliche Wahrnehmung vorhersagen, wie wahrscheinlich ein Straßenobjekt an gewissen Orten vorhanden sein kann, basierend auf der Semantik einer Straßenszene, und ohne das Straßenobjekt selbst zu sehen. Wie nachstehend ausführlicher beschrieben, ist das GAN-Modell 214 dazu ausgelegt, das Vorhandensein eines Straßenobjekts unter Verwendung der Semantik der Straßenszene vorherzusagen, anstatt auf Merkmale des Straßenobjekts angewiesen zu sein.
-
Ein GAN ist eine Klasse maschineller Lernsysteme, in denen zwei neuronale Netzwerke in einem Spiel miteinander konkurrieren. Beispielsweise erzeugt ein neuronales Netzwerk erweiterte Bilder einer Straßenszene, die authentisch erscheinen, und das zweite neuronale Netzwerk beurteilt die erweiterten Bilder der Straßenszene auf Authentizität. Das GAN-Modell 214 wird dahingehend trainiert, die Semantik einer Straßenszene zu verstehen und zu bestimmen, wie wahrscheinlich ein jeglicher Ort ein Straßenobjekt enthalten kann. Um die Semantik von Straßenszenen zu verstehen, wird in manchen Implementierungen das GAN-Modell 214 unter Verwendung von inpainted Bildern trainiert, in denen ein Straßenobjekt aus einem Bild einer Straßenszene entfernt wird, und das GAN-Modell 214 bestimmt das Vorhandensein des entfernten Straßenobjekts unter Verwendung der ursprünglichen Groundtruth des ursprünglichen Bildes. In manchen Implementierungen ist die Ausgabe des GAN-Modells 214 eine Multi-Skalen-Vorhersage, in der eine Skala die Mitte des Straßenobjekts vorhersagt und die zweite Skala eine Verteilung (oder Heatmap) vorhersagt, die angibt, wie wahrscheinlich jeder Ort in dem Bild der Straßenszene das Straßenobjekt enthalten kann. In manchen Implementierungen wird das GAN-Modell 214 unter Verwendung einer „IoU“(Intersection over Union)-Funktion, einer Rekonstruktionsverlustfunktion, einer GAN-Verlustfunktion oder einer Kombination davon trainiert.
-
3 ist ein Blockdiagramm eines Beispiels des GAN-Modells 214. Das in 3 veranschaulichte GAN-Modell 214 beinhaltet einen Bild-Inpainter 302, einen Generator 304, einen ersten Diskriminator 306 und einen zweiten Diskriminator 308. In manchen Implementierungen beinhaltet das GAN-Modell 214 in Konfigurationen, die sich von der in 3 veranschaulichten unterscheiden, weniger oder zusätzliche Komponenten. Beispielsweise kann das GAN-Modell 214 mehr als einen Generator und mehr oder weniger als zwei Diskriminatoren beinhalten. In der Praxis kann das GAN-Modell 214 auch zusätzliche Komponenten beinhalten, wie etwa ein oder mehrere Rückkopplungsnetzwerke, ein oder mehrere Rückpropagationsnetzwerke, ein oder mehrere Codierer, ein oder mehrere Decodierer und dergleichen. Zur Einfachheit der Erläuterung sind diese zusätzlichen Komponenten hier nicht veranschaulicht.
-
Der Bild-Inpainter 302 ist dazu ausgelegt, ein Bild einer Straßenszene zu empfangen und ein oder mehrere darin enthaltene Ampeln zu entfernen, um ein inpainted Bild zu erzeugen, in dem die eine oder die mehreren Ampeln entfernt wurden. In manchen Implementierungen setzt der Bild-Inpainter 302 jedes Pixel in dem Bild der Straßenszene, das eine Ampel enthält, auf einen vorbestimmten Wert (beispielsweise null). Das inpainted Bild wird in den Generator 304 eingegeben. Der in 3 veranschaulichte Generator 304 beinhaltet ein Komprimierungsnetzwerk 310 und ein Rekonstruktionsnetzwerk 312. Das Komprimierungsnetzwerk 310 ist dazu ausgelegt, den Inhalt des inpainted Bildes in eine kleinere Inhaltsmenge zu komprimieren. Die vom Komprimierungsnetzwerk 310 ausgegebene kleinere Inhaltsmenge ist der aussagekräftigste Inhalt des inpainted Bildes und repräsentiert ein Verständnis von Schüsselverbindungen zwischen der Positionierung von Straßenobjekten und ihrer Umgebung. Das Rekonstruktionsnetzwerk 312 ist dazu ausgelegt, das ursprüngliche Bild zu rekonstruieren, angefangen mit dem aussagekräftigsten Inhalt, der durch das Komprimierungsnetzwerk 310 ausgegeben wird. Beispielsweise verwendet das Rekonstruktionsnetzwerk 312 den aussagekräftigsten Inhalt, um einen Ort zum Hinzufügen eines Straßenobjekts auszuwählen, der wahrscheinlich mit der Straßenszene semantisch konsistent ist. Der erste Diskriminator 306 und der zweite Diskriminator 308 sind dazu ausgelegt, durch den Generator 304 erzeugte rekonstruierte Bilder mit dem ursprünglichen Bild zu vergleichen, um zu bestimmen, ob die rekonstruierten Bilder realistisch oder unrealistisch sind. Der erste Diskriminator 306 und der zweite Diskriminator 308 vergleichen unterschiedliche Skalen rekonstruierter Bilder. Beispielsweise bestimmt der erste Diskriminator 306, ob das durch den Generator 304 erzeugte finale rekonstruierte Bild realistisch oder unrealistisch ist. Ferner bestimmt der zweite Diskriminator 308, ob eine frühere Stufe des durch den Generator 304 erzeugten rekonstruierten Bildes realistisch oder unrealistisch ist. Basierend auf den Bestimmungen des ersten Diskriminators 306 und des zweiten Diskriminators 308 ist der Generator 304 dazu ausgelegt, Parameter in dem verwendeten Komprimierungsnetzwerk 310 und Rekonstruktionsnetzwerk 312 anzupassen, um Orte zum Hinzufügen von Straßenobjekten zu bestimmen, die wahrscheinlich semantisch konsistent mit der Straßenszene sind.
-
Nach zahlreichen Iterationen des oben beschriebenen Trainings ist der Generator 304 dazu ausgelegt, rekonstruierte Bilder konsistent zu erzeugen, die durch den ersten Diskriminator 306, den zweiten Diskriminator 308 oder beide als authentisch bestimmt werden. Infolge des Trainings bestimmt der erste Diskriminator 306 eine Verteilung, wie wahrscheinlich ein jeglicher Ort in einem Bild einer Straßenszene ein Straßenobjekt enthalten kann, basierend auf der Semantik der Straßenszene. Infolge des Trainings bestimmt ferner der zweite Diskriminator 308 die Orte der Mitten von Straßenobjekten in dem Bild der Straßenszene (d. h. Ankermitten, die gesampelt werden können, um kleine und verdeckte Straßenobjekte zu detektieren). Die bestimmte Verteilung und die Ankermitten werden verwendet, um Straßenobjekte in Bildern der Straßenszene zu detektieren, wie nachstehend ausführlicher beschrieben wird.
-
4 ist ein Flussdiagramm eines Beispiels eines Verfahrens 400 zum Detektieren kleiner Objekte in einer Straßenszene. In manchen Implementierungen beinhaltet die Detektionsplattform 212 computerlesbare Anweisungen, die bewirken, dass der elektronische Prozessor 202 alle (oder eine beliebige Kombination) der nachstehend beschriebenen Blöcke des Verfahrens 400 durchführt. Bei Block 402 wird ein Bild einer Straßenszene von der Kamera 112 empfangen, die wie oben beschrieben mit dem Fahrzeug 100 gekoppelt ist. Beispielsweise empfängt der elektronische Prozessor 202 ein Bild einer Straßenszene von der Kamera 112 über die Eingabe/Ausgabe-Schnittstelle 206. In manchen Implementierungen erfasst die Kamera 112 kontinuierlich Videodaten der Straßenszene und überträgt die Videodaten als das Bild der Straßenszene zu dem elektronischen Prozessor 202. In manchen Implementierungen erfasst die Kamera 112 Standbilder der Straßenszene und überträgt die Standbilder als das Bild der Straßenszene zu dem elektronischen Prozessor 202. Bei Block 404 wird das GAN-Modell 214 unter Verwendung des Bildes der Straßenszene erzeugt. Beispielsweise wird das GAN-Modell 214 unter Verwendung des inpainted Bildes erzeugt, wie oben in Bezug auf 3 beschrieben.
-
Bei Block 406 wird unter Verwendung des GAN-Modells 214 eine Verteilung bestimmt, die angibt, wie wahrscheinlich jeder Ort in dem Bild der Straßenszene ein Straßenobjekt enthalten kann. Beispielsweise bestimmt der elektronische Prozessor 202 die Verteilung unter Verwendung des GAN-Modells 202, wie oben in Bezug auf 3 beschrieben. In manchen Implementierungen ist das GAN-Modell 214 dazu ausgelegt, die Verteilung nur basierend auf der Semantik des Bildes der Straßenszene zu bestimmen. Beispielsweise können sich Ampeln über dem Fahrzeug 100 oder an der Seite einer Straße befinden, auf der das Fahrzeug 100 fährt. In beiden Fälle würden die Ampeln von Masten oder anderen Hängemechanismen gestützt werden. Das GAN-Modell 214 kann dazu ausgelegt sein, einen Pfosten oder Mast, die zum Halten einer Ampel ausgebildet sind, oder einen Fußgängerüberweg, der eine Kreuzung angibt, die eine Ampel enthalten kann, zu identifizieren. In manchen Implementierungen ist das GAN-Modell 214 dazu ausgelegt, die Verteilung basierend auf der Semantik des Bildes der Straßenszene und mindestens einem Merkmal des Straßenobjekts zu bestimmen. Beispielsweise ist das GAN-Modell 214 zum Detektieren einer Ampel dazu ausgelegt, drei benachbart platzierte Kreise (d. h. das rote, gelbe und grüne Licht) zu identifizieren.
-
In manchen Implementierungen definiert die Verteilung einen Satz von zu sampelnden Ankerpunkten zum Detektieren des Straßenobjekts. In manchen Implementierungen beinhaltet die Verteilung eine Heatmap, die einen oder mehrere vorhergesagte Orte des Straßenobjekts veranschaulicht. In manchen Implementierungen beinhaltet die Verteilung mehrere Heatmaps mit eindeutigen Konfigurationen basierend auf Zufallsvektoren. Die Zufallsvektoren sind mit unterschiedlichen Faktoren der Straßenszene assoziiert (zum Beispiel Beleuchtung, Hintergrundbeleuchtung und dergleichen). Basierend auf dem Zufallsvektor weist jede erzeugte Heatmap der mehreren Heatmaps eine eindeutige Konfiguration auf.
-
Bei Block 408 werden mehrere Orte in dem Bild der Straßenszene durch Sampeln der Verteilung ausgewählt. Beispielsweise sampelt der elektronische Prozessor 202 die Verteilung, um mehrere Orte mit einer hohen Wahrscheinlichkeit dafür, ein Straßenobjekt zu enthalten, auszuwählen. Bei Block 410 wird das Straßenobjekt an einem der mehreren Orte im Bild der Straßenszene detektiert. Beispielsweise ist der elektronische Prozessor 202 dazu ausgelegt, ein tiefes neuronales Netzwerkmodell zu verwenden, um jeden der mehreren Orte in dem Bild der Straßenszene zu analysieren und das Straßenobjekt an einem der mehreren Orte zu detektieren.
-
In manchen Implementierungen ist der elektronische Prozessor 202 dazu ausgelegt, mindestens eine Handlung für das Fahrzeug 100 basierend auf dem Detektieren des Straßenobjekts bei Block 410 vorzunehmen. Die Handlung kann das Verfolgen des Straßenobjekts in später erfassten Bildern der Straßenszene oder das Durchführen eines Fahrmanövers basierend auf dem Straßenobjekt einschließen. Falls beispielsweise das Straßenobjekt eine Ampel ist, kann die Ampel verfolgt werden, und falls die Ampel gelb oder rot zeigt, kann der elektronische Prozessor 202 einen Befehl für das Fahrzeug 100 zum Anhalten an der Ampel erzeugen.
-
Das hierin beschriebene GAN-Modell
214 ermöglicht die Detektion kleiner Straßenobjekte, die unter Verwendung anderer Modelle nicht detektierbar sind. Beispielsweise veranschaulicht Tabelle 1 Beispiele für Prozentsätze von Ampeln, die nicht durch andere Modelle detektiert wurden, aber unter Verwendung des hierin beschriebenen GAN-Modells
214 detektiert wurden.
TABELLE 1. VERGLEICH DER SAMPLING-EFFIZIENZ
50 Samples | 100 Samples | 300 Samples | 500 Samples | 1.000 Samples | 2.000 Samples |
0,196 | 0,3 | 0,52 | 0,571 | 0,588 | 0,594 |
-
Verschiedene Aspekte der Offenbarung können eine oder mehrere beliebige der folgenden beispielhaften Konfigurationen annehmen.
-
EEE(1) Ein System zum Detektieren kleiner Objekte in einer Straßenszene, wobei das System Folgendes umfasst: eine Kamera, die mit einem Fahrzeug gekoppelt ist, wobei die Kamera dazu ausgelegt ist, ein Bild einer Straßenszene zu erfassen; und eine elektronische Steuerung, die mit der Kamera gekoppelt ist, wobei die elektronische Steuerung ausgelegt ist zum: Empfangen des Bildes der Straßenszene von der Kamera, Erzeugen eines Generative-Adversarial-Network(GAN)-Modells unter Verwendung des Bildes der Straßenszene, Bestimmen einer Verteilung, die angibt, wie wahrscheinlich jeder Ort in dem Bild der Straßenszene ein Straßenobjekt enthalten kann, unter Verwendung des GAN-Modells, Bestimmen mehrerer Orte in dem Bild der Straßenszene durch Sampeln der Verteilung, und Detektieren des Straßenobjekts an einem der mehreren Orte in dem Bild der Straßenszene.
-
EEE(2) Das System von EEE(1), wobei die elektronische Steuerung ferner ausgelegt ist zum: Entfernen des Straßenobjekts aus dem Bild der Straßenszene, um ein inpainted Bild zu erzeugen, und Erzeugen des GAN-Modells unter Verwendung des inpainted Bildes.
-
EEE(3) Das System von EEE(1) oder EEE(2), wobei das GAN-Modell dazu ausgelegt ist, die Verteilung nur basierend auf Semantik des Bildes der Straßenszene zu bestimmen.
-
EEE(4) Das System von EEE(1) oder EEE(2), wobei das GAN-Modell dazu ausgelegt ist, die Verteilung basierend auf Semantik des Bildes der Straßenszene und mindestens einem Merkmal des Straßenobjekts zu bestimmen.
-
EEE(5) Das System eines von EEE(1) bis EEE(4), wobei die Verteilung einen Satz von Ankerpunkten zum Sampeln nach dem Straßenobjekt definiert.
-
EEE(6) Das System eines von EEE(1) bis EEE(5), wobei die Verteilung eine Heatmap beinhaltet, die einen oder mehrere vorhergesagte Orte des Straßenobjekts veranschaulicht.
-
EEE(7) Das System eines von EEE(1) bis EEE(6), wobei die Verteilung mehrere Heatmaps beinhaltet, wobei jede der mehreren Heatmaps eine eindeutige Konfiguration basierend auf einem Zufallsvektor aufweist.
-
EEE(8) Das System von EEE(7), wobei der Zufallsvektor auf einem Satz von Faktoren des Bildes der Straßenszene basiert.
-
EEE(9) Das System eines von EEE(1) bis EEE(8), wobei die elektronische Steuerung ferner dazu ausgelegt ist, mindestens eine Handlung für das Fahrzeug basierend auf dem Detektieren des Straßenobjekts vorzunehmen.
-
EEE(10) Ein Verfahren zum Detektieren kleiner Objekte in einer Straßenszene, wobei das Verfahren Folgendes umfasst: Empfangen, mit einem elektronischen Prozessor, eines Bildes einer Straßenszene von einer Kamera, die mit einem Fahrzeug gekoppelt ist; Erzeugen, mit dem elektronischen Prozessor, eines Generative-Adversarial-Network(GAN)-Modells unter Verwendung des Bildes der Straßenszene; Bestimmen, mit dem elektronischen Prozessor, einer Verteilung, die angibt, wie wahrscheinlich jeder Ort in dem Bild der Straßenszene ein Straßenobjekt enthalten kann, unter Verwendung des GAN-Modells; Bestimmen, mit dem elektronischen Prozessor, mehrerer Orte in dem Bild der Straßenszene durch Sampeln der Verteilung; und Detektieren, mit dem elektronischen Prozessor, des Straßenobjekts an einem der mehreren Orte in dem Bild der Straßenszene.
-
EEE(11) Das Verfahren von EEE(10), ferner umfassend: Entfernen, mit dem elektronischen Prozessor, des Straßenobjekts aus dem Bild der Straßenszene, um ein inpainted Bild zu erzeugen; und Erzeugen, mit dem elektronischen Prozessor, des GAN-Modells unter Verwendung des inpainted Bildes.
-
EEE(12) Das Verfahren von EEE(10) oder EEE(11), wobei das GAN-Modell die Verteilung nur basierend auf Semantik des Bildes der Straßenszene bestimmt.
-
EEE(13) Das Verfahren von EEE(10) oder EEE(11), wobei das GAN-Modell die Verteilung basierend auf Semantik des Bildes der Straßenszene und mindestens einem Merkmal des Straßenobjekts bestimmt.
-
EEE(14) Das Verfahren eines von EEE(10) bis EEE(13), wobei die Verteilung einen Satz von Ankerpunkten zum Sampeln nach dem Straßenobjekt definiert.
-
EEE(15) Das Verfahren eines von EEE(10) bis EEE(14), wobei die Verteilung eine Heatmap beinhaltet, die einen oder mehrere vorhergesagte Orte des Straßenobjekts veranschaulicht.
-
EEE(16) Das Verfahren eines von EEE(10) bis EEE(15), wobei die Verteilung mehrere Heatmaps beinhaltet, wobei jede der mehreren Heatmaps eine eindeutige Konfiguration basierend auf einem Zufallsvektor aufweist.
-
EEE(17) Das Verfahren von EEE(16), wobei der Zufallsvektor auf einem Satz von Faktoren des Bildes der Straßenszene basiert.
-
EEE(18) Das Verfahren eines von EEE(11) bis EEE(17), ferner umfassend Vornehmen, mit dem elektronischen Prozessor, mindestens einer Handlung für das Fahrzeug basierend auf dem Detektieren des Straßenobjekts.
-
EEE(19) Ein nichtflüchtiges computerlesbares Medium, das computerlesbare Anweisungen speichert, die bei Ausführung durch einen elektronischen Prozessor eines Computers bewirken, dass der Computer Operationen durchführt, die Folgendes umfassen: Empfangen eines Bildes einer Straßenszene von einer Kamera, die mit einem Fahrzeug gekoppelt ist; Erzeugen eines Generative-Adversarial-Network(GAN)-Modells unter Verwendung des Bildes der Straßenszene; Bestimmen einer Verteilung, die angibt, wie wahrscheinlich jeder Ort in dem Bild der Straßenszene ein Straßenobjekt enthalten kann, unter Verwendung des GAN-Modells; Bestimmen mehrerer Orte in dem Bild der Straßenszene durch Sampeln der Verteilung; und Detektieren des Straßenobjekts an einem der mehreren Orte in dem Bild der Straßenszene.
-
EEE(20) Das nichtflüchtige computerlesbare Medium von EEE(19), wobei die Operationen ferner Folgendes umfassen: Entfernen des Straßenobjekts aus dem Bild der Straßenszene, um ein inpainted Bild zu erzeugen; und Erzeugen des GAN-Modells unter Verwendung des inpainted Bildes.
-
Somit liefert die Offenbarung unter anderem Systeme, Verfahren und nichtflüchtige computerlesbare Medien zur Detektion kleiner Objekte in einer Straßenszene. Verschiedene Merkmale, Vorteile und Ausführungsformen werden in den folgenden Ansprüchen dargelegt.
-
Maschinelles Lernen bezieht sich allgemein auf die Fähigkeit eines Computerprogramms, zu lernen, ohne explizit dafür programmiert zu sein. In manchen Implementierungen ist ein Computerprogramm (zum Beispiel eine Lernen-Engine) dazu ausgelegt, einen Algorithmus basierend auf Eingaben zu erstellen. Überwachtes Lernen beinhaltet das Präsentieren eines Computerprogramms mit Beispieleingaben und ihren gewünschten Ausgaben. Das Computerprogramm ist dazu ausgelegt, eine allgemeine Regel, die die Eingaben auf die Ausgaben abbildet, aus den empfangenen Trainingsdaten zu erlernen. Beispielhafte maschinelle Lernen-Engines beinhalten Entscheidungsbaum-Lernen, Assoziationsregel-Lernen, künstliche neuronale Netzwerke, Klassifizierer, induktive Logikprogrammierung, Support-Vektor-Maschinen, Clustering, Bayessche Netzwerke, bestärkendes Lernen, Repräsentationslemen, Ähnlichkeits- und Metrik-Lernen, Sparse-Dictionary-Lernen und genetische Algorithmen. Unter Verwendung eines oder mehrerer der oben beschriebenen Ansätze kann ein Computerprogramm Daten aufnehmen, parsen und verstehen und Algorithmen zur Datenanalyse schrittweise verfeinern.
-
In der vorstehenden Beschreibung wurden spezifische Ausführungsformen beschrieben. Allerdings erkennt der Durchschnittsfachmann, dass verschiedene Modifikationen und Änderungen vorgenommen werden können, ohne vom Schutzumfang der Erfindung, wie sie in den nachstehenden Ansprüchen dargelegt ist, abzuweichen. Dementsprechend sollen die Beschreibung und die Figuren als in einem veranschaulichenden statt einem beschränkenden Sinne angesehen werden, und alle solchen Modifikationen sollen innerhalb des Schutzumfangs der vorliegenden Lehren eingeschlossen sein.
-
Die Nutzen, Vorteile, Lösungen für Probleme und ein oder mehrere jegliche Elemente, die veranlassen können, dass ein jeglicher Nutzen, ein jeglicher Vorteil oder eine jegliche Lösung auftreten oder ausgeprägter werden, sollen nicht als kritische, erforderliche oder wesentliche Merkmale oder Elemente irgendeines oder aller Ansprüche angesehen werden. Die Erfindung wird einzig durch die angehängten Ansprüche einschließlich jeglicher während der Anhängigkeit dieser Anmeldung vorgenommener Änderungen und aller Äquivalente dieser Ansprüche in veröffentlichter Form definiert.
-
Darüber hinaus können in diesem Dokument beziehungsbezeichnende Ausdrücke wie etwa erster und zweiter, oben und unten und dergleichen alleinig verwendet werden, um eine Entität oder Handlung von einer anderen Entität oder Handlung zu unterscheiden, ohne notwendigerweise irgendeine derartige tatsächliche Beziehung oder Reihenfolge zwischen derartigen Entitäten oder Handlungen zu erfordern oder zu implizieren. Die Ausdrücke „umfasst“, „umfassend“, „weist auf“, „aufweisend“, „beinhaltet“, „einschließlich“, „enthält“, „enthaltend“ oder eine beliebige andere Variation davon sollen einen nicht ausschließenden Einschluss abdecken, sodass ein Prozess, ein Verfahren, ein Gegenstand oder eine Einrichtung, der/das/die eine Liste von Elementen umfasst, aufweist, beinhaltet, enthält, nicht nur diese Elemente beinhaltet, sondern andere Elemente beinhalten kann, die nicht ausdrücklich aufgelistet oder einem derartigen Prozess, einem derartigen Verfahren, einem derartigen Gegenstand oder einer derartigen Einrichtung inhärent sind. Ein Element, dem „umfasst ein...“, „weist ein ... auf“, „beinhaltet ein...“ oder „enthält ein...“ vorausgeht, schließt, ohne weitere Beschränkungen, nicht das Vorhandensein zusätzlicher identischer Elemente in dem Prozess, dem Verfahren, dem Gegenstand oder der Einrichtung aus, der/das/die das Element umfasst, aufweist, beinhaltet, enthält. Die Ausdrücke „eine“ und „eine“ sind als eins oder mehrere definiert, insofern hierin nicht ausdrücklich anders angemerkt. Die Ausdrücke „im Wesentlichen“, „wesentlich“, „ungefähr“, „etwa“ oder eine beliebige andere Version davon sind als naheliegend definiert, so wie es der Durchschnittsfachmann versteht, und bei einer nicht beschränkenden Ausführungsform ist der Ausdruck so definiert, dass er innerhalb von 10 % liegt, bei einer weiteren Ausführungsform innerhalb von 5 % liegt, bei einer anderen Ausführungsform innerhalb von 1 % liegt, und bei einer anderen Ausführungsform innerhalb von 0,5 % liegt. Der Ausdruck „gekoppelt“, wie hierin verwendet, ist als verbunden definiert, obwohl nicht notwendigerweise direkt und nicht notwendigerweise mechanisch. Eine Vorrichtung oder Struktur, die auf eine gewisse Weise „konfiguriert“ ist, ist in zumindest dieser Weise konfiguriert, kann aber auch auf Weisen konfiguriert sein, die nicht aufgelistet sind.
-
Die Zusammenfassung ist bereitgestellt, um dem Leser zu ermöglichen, das Wesen der technischen Offenbarung schnell zu ermitteln. Sie wird mit dem Verständnis eingereicht, dass sie nicht zum Interpretieren oder Beschränken des Schutzumfangs oder der Bedeutung der Ansprüche verwendet wird. Zusätzlich kann in der vorstehenden ausführlichen Beschreibung erkannt werden, dass verschiedene Merkmale bei verschiedenen Ausführungsformen zum Zweck der Optimierung der Offenbarung zusammengruppiert sind. Dieses Verfahren zur Offenbarung soll nicht so interpretiert werden, dass es eine Absicht widerspiegelt, dass die beanspruchten Ausführungsformen mehr Merkmale erfordern, als ausdrücklich in jedem Anspruch dargelegt sind. Stattdessen liegt der erfindungsgemäße Gegenstand, wie die folgenden Ansprüche widerspiegeln, in weniger als allen Merkmalen einer einzelnen offenbarten Ausführungsform. Somit werden die folgenden Ansprüche hiermit in die ausführliche Beschreibung aufgenommen, wobei jeder Anspruch für sich allein als ein separater beanspruchter Gegenstand steht.