-
Die Erfindung betrifft ein computerimplementiertes Verfahren zum Verarbeiten eines Satzes von Scanpunkten, die mittels eines aktiven optischen Sensorsystems eines Kraftfahrzeugs erhalten wurden, wobei der Satz von Scanpunkten in Form eines 2D-Bildes als Eingabe einem neuronalen Netzwerk zum Verarbeiten des Satzes von Scanpunkten in Form des 2D-Bildes zugeführt wird, wobei das neuronale Netzwerk einen Backbone-Teil aufweist, welcher als ein faltendes neuronales Netzwerk ausgebildet ist, welches Merkmale aus dem 2D-Bild extrahiert und als Ergebnis eine finale Merkmalskarte ausgibt.
-
Objektdetektion in 3D ist ein entscheidender Schritt in Richtung autonomes Fahren. In letzter Zeit haben sich aktive optische Sensorsysteme, wie Lidarsensoren, als Stand der Technik für eine 3D-Erfassung entwickelt. Es wurden ebenfalls mehrere Algorithmen für die Objektdetektion unter Verwendung von Lidar-Punktewolken vorgeschlagen. Die meisten dieser Architekturen folgen entweder einem voxelbasierten 3D-Faltungsansatz oder einem Punkt-basierten, dreidimensional faltenden neuronalen Netzwerk. Jedoch, im Streben nach höherer Genauigkeit, sind die vorgeschlagenen Modelle aus Sicht der Latenz und Leistungseffizienz nicht für den Einsatz in eingebetteten Systemen optimiert. Da sich Objektdetektionsalgorithmen für das autonome Fahren darauf fokussiert haben, den Stand der Technik für die Genauigkeit der Detektion voranzutreiben, wurde eine bessere Leistung hinsichtlich Genauigkeit, Latenz, Speicherkapazität und rechnerischer Komplexität oft vernachlässigt. Jedoch ist aus Sicht der Sicherheit und Echtzeit die Latenz der Detektion genauso wichtig wie Genauigkeit, wenn nicht wichtiger. Abgesehen von der Tatsache, dass eine niedrigere Latenz zu schnelleren Kollisionsvermeidungsmanövern führen kann, schafft sie auch Raum für multiple, redundante Systeme für sicherheitskritische Anwendungen, wie das autonome Fahren. Dies ist ein besonders relevanter Anspruch für das städtische Fahren in dichtem Verkehr. In gleicher Weise sind für ein maschinenlernendes Modell, um letztendlich in einem eingebetteten Ziel eingesetzt zu werden, solche wie elektronische Fahrzeug-Steuereinheiten (ECU), eine eingebettete GPU (Graphic Processing Unit), oder benutzerdefinierte Beschleunigungsplattformen wie einem ASIC (Anwendungsspezifische Integrierte Schaltung), Speicher und rechnerische Komplexität ebenfalls Schlüsselaspekte.
-
Herkömmliche Verfahren zur Objektdetektion aus 3D-Punktewolken, wie bereits oben erwähnt, verwenden entweder 3D-Faltungen oder verwenden Techniken wie Voxelisierung, um eine gitterbasierte Repräsentation der ungeordneten Punktewolken zu schaffen und sagen dann Objekte in diesen Voxeln vorher. Beide dieser Schritte sind ungeeignet für eine Echtzeitleistung aufgrund der aufwändigen 3D-Faltungs- und Voxelisierungsoperationen. Eine weitere gängige Praxis bei Objektdetektionsmodellen ist die Verwendung von Ankerboxen und Schritte der Non-Maximum-Unterdrückung. Beide dieser Schritte sind ebenfalls sehr rechen- und speicherintensive Operationen und tragen somit zu den Problemen für den eingebetteten Einsatz und die Echtzeitleistung bei. Die Verwendung von zum Beispiel 2D-Bildern als Eingabe für ein neuronales Netzwerk zur Merkmalsdetektion erlaubt die Verwendung von schnellen und effizienten 2D-Faltungen. Ein 2D-Bild kann in Form eines Entfernungsbildes oder eines Vogelperspektivenbildes bereitgestellt werden.
-
Zum Beispiel beschreibt das Dokument „Training a Fast Object Detector for LiDAR Range Images Using Labeled Data from Sensors with Higher Resolution“, Manuel Herzog und Klaus Dietmayer, veröffentlicht am 5.12.2019 auf arXiv:1995.03066v3 eine Strategie zum Trainieren eines neuronalen Netzwerks zur Objektdetektion in Entfernungsbildern, die von einer Art von Lidarsensor erhalten werden, unter Verwendung gelabelter Daten von einer anderen Art von Lidarsensor. Weiterhin ist das Netzwerk als ein vollständig faltendes Netzwerk ausgestaltet, welches aus residualen Blöcken gebildet ist. Alle Schichten verwenden die volle Auflösung des Entfernungsbildes, wodurch kein Stride oder Pooling erforderlich ist.
-
Weiterhin beschreibt das Dokument „PIXOR: Real-time 3D Object Detection from Point Clouds“, Bin Yang, Wenjie Luo and Raquel Urtasun, veröffentlicht in Proceedings of the IEEE conference on Computer Vision and Pattern Recognition, Seiten 7652-7660, 2018, dass die 3D-Daten aus der Vogelperspektive dargestellt werden. Weiterhin wird ein einstufiges Detektionsmodul verwendet, um orientierte Bounding-Boxen für Objekte vorherzusagen. Die Netzwerkarchitektur weist ein Backbone-Netzwerk auf, welches ein faltendes neuronales Netzwerk darstellt, welches aus Faltungs-Schichten und Pooling-Schichten zusammengesetzt ist. Faltungs-Schichten werden dazu verwendet, um eine übervollständige Darstellung des Eingangsmerkmals zu extrahieren, während die Pooling-Schichten verwendet werden, um die Merkmalskartengröße herunterzurechnen, um Berechnungen einzusparen und dabei zu helfen, eine robustere Darstellung zu schaffen. Weiterhin ist, um die Merkmalskarte zu upsampeln, ein Oben-Unten-Pfad hinzugefügt, welcher die Merkmalskarte jedes Mal um zwei upsampled. Diese wird dann mit der Unten-Oben-Merkmalskarte bei korrespondierender Auflösung mittels pixelweiser Summation kombiniert.
-
Obwohl die Verwendung von 2D-Bildern als Eingabe für ein neuronales Netzwerk zur Merkmalsextraktion sehr vorteilhaft ist, insbesondere mit Bezug auf Latenzzeiten und Rechenleistung, besteht nichtsdestoweniger immer noch das Bedürfnis nach einer noch weiteren Reduktion von Latenzzeiten.
-
Daher ist es Aufgabe der vorliegenden Erfindung, ein computerimplementiertes Verfahren, ein computerlesbares Medium, ein Computerprogrammprodukt und ein Fahrerassistenzsystem bereitzustellen, welche es ermöglichen, Scanpunkte mit möglichst geringen Latenzzeiten zu verarbeiten und eine Merkmalskarte und insbesondere Detektionsergebnisse mit ausreichender Genauigkeit bereitzustellen.
-
Diese Aufgabe wird gelöst durch ein computerimplementiertes Verfahren, ein Computerprogrammprodukt, ein computerlesbares Medium und ein Fahrerassistenzsystem mit den Merkmalen gemäß den unabhängigen Ansprüchen. Vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der abhängigen Patentansprüche, der Beschreibung und der Figuren.
-
Gemäß einem erfindungsgemäßen computerimplementierten Verfahren zum Verarbeiten eines Satzes von Scanpunkten, die mittels eines aktiven optischen Sensorsystems eines Kraftfahrzeugs erhalten wurden, wird der Satz von Scanpunkten in Form eines 2D-Bildes als Eingabe einem neuronalen Netzwerk zum Verarbeiten des Satzes von Scanpunkten in Form des 2D-Bildes zugeführt, wobei das neuronale Netzwerk ein Backbone-Teil aufweist, welcher als ein faltendes neuronales Netzwerk ausgebildet ist, welches Merkmale aus dem 2D-Bild extrahiert und als Ergebnis eine finale Merkmalskarte ausgibt. Darüber hinaus weist der Backbone-Teil mehrere Merkmalsextraktionsblöcke und mindestens einen Upsampling-Block auf, wobei mindestens ein erster Merkmalsextraktionsbock der mehreren Merkmalsextraktionsblöcke das 2D-Bild als Eingabe empfängt und eine erste und zweite Ausgabe bereitstellt, die sich voneinander mit Bezug auf ihre räumliche Auflösung unterscheiden. Darüber hinaus wird dem mindestens einen Upsampling-Block eine erste Eingabe und eine zweite Eingabe zugeführt, die sich voneinander mit Bezug auf ihre räumliche Auflösung unterscheiden, und die auf der Basis des 2D-Bildes bereitgestellt werden. Darüber hinaus fusioniert der mindestens eine Upsampling-Block die ersten und zweiten Eingaben und stellt die finale Merkmalskarte in Abhängigkeit von der fusionierten ersten und zweiten Eingabe bereit.
-
Daher können Merkmale auf unterschiedlichen Auflösungsleveln extrahiert werden, und insbesondere können auch Low-Level-Merkmale viel stärker hochgesampelt werden, was eine ausreichende Genauigkeit und gleichzeitig eine schnelle Verarbeitung erlaubt. Insbesondere ermöglicht diese Struktur dieser Merkmalsextraktionsblöcke, die auch als Downsampling-Blöcke bezeichnet werden können, und des mindestens einen Upsampling-Blocks eine Netzwerkarchitektur des Backbone-Netzwerks in Form eines einstufig monolithischen Encoder-Decoder-Backbones unter Verwendung einer Aggregation tiefer Schichten (DLA). Solch eine Aggregation tiefer Schichten erlaubt es, iterativ und hierarchisch die Merkmalshierarchie zusammenzufügen, um Netzwerke mit besserer Genauigkeit und weniger Parametern bereitzustellen. So erlauben es die Merkmalsextraktionsblöcke, die Ausgabepfade mit Bezug auf ihre räumliche Auflösung aufzuteilen, die zu einem späteren Zeitpunkt mittels des mindestens einen Upsampling-Blocks, wieder zusammengefügt werden können, der es vorteilhafterweise erlaubt Eingaben mit unterschiedlichen räumlichen Auflösungen zu fusionieren, um letztendlich die finale Merkmalskarte bereitzustellen. Weiterhin können, da ein 2D-Bild als Eingabe verwendet wird, schnelle und effiziente 2D-Bild-Extraktionsmodule, wie 2D-Faltungen, innerhalb der einzelnen Blöcke verwendet werden, was es erlaubt, die rechnerischen Hürden, die mit 3D-Faltungen und anderen intermediären Darstellungen im Zusammenhang stehen, zu vermeiden. Dies erlaubt eine wirklich schnelle Objektdetektion. Letztendlich können mittels einer solchen Netzwerkarchitektur eindrucksvolle Bildraten von 200 Bildern pro Sekunde, wenn multiple Objekte detektiert werden, und 1000 Bildern pro Sekunde, wenn nur Kraftfahrzeuge detektiert werden, erreicht werden.
-
Das aktive optische Sensorsystem zum Bereitstellen der Scanpunkte kann zum Beispiel als ein Lidarsensor ausgestaltet sein. Die Scanpunkte können durch das aktive optische Sensorsystem in Polarkoordinaten bereitgestellt werden, wobei jeder Scanpunkt durch einen Polarwinkel, einen Azimutwinkel und eine Entfernung vom aktiven optischen Sensorsystem definiert ist. Auch die Azimut- und Polarwinkel sind mit Bezug auf das aktive optische Sensorsystem als Mittelpunkt des Koordinatensystems definiert. Der Polarwinkel definiert zum Beispiel den Winkel in vertikaler Richtung mit Bezug auf eine horizontale Ebene. Der Azimutwinkel definiert den Winkel in der horizontalen Richtung mit Bezug auf eine vertikale Ebene. Optional können die Scanpunkte in Punktewolkekoordinaten transformiert werden. Da jedoch die Eingabe des neuronalen Netzwerks in Form eines 2D-Bildes bereitgestellt wird, kann dieser Schritt der Transformation vermieden werden, und das 2D-Bild zum Beispiel kann in Form eines Entfernungsbildes bereitgestellt werden, welches die Scanpunkte in Polarkoordinaten direkt verwenden kann, oder die Scanpunkte können in das Vogelperspektivenbild transformiert werden, welches oben beschrieben wurde.
-
Der Backbone-Teil des neuronalen Netzwerks, welcher ebenfalls ein Backbone-Netzwerk darstellen kann, stellt typischerweise den merkmalsextrahierenden Teil des neuronalen Netzwerks bereit. Basierend auf der finalen Ausgabe eines solchen Backbone-Netzwerks, nämlich der finalen Merkmalskarte, können weitere Detektionsaufgaben ausgeführt werden, insbesondere durch sogenannte Detektionsköpfe, die ebenfalls in Form eines neuronalen Netzwerks bereitgestellt werden können. Somit weist das hier beschriebene neuronale Netzwerk den Backbone-Teil und vorzugsweise, wie dies unten detaillierter beschrieben wird, mindestens einen Detektionsteil in Form eines Detektionskopfes auf.
-
Die Merkmalsextraktionsblöcke sowie der mindestens eine Upsampling-Block können als funktionale Modelle angesehen werden, die bestimmte Operationen mit Eingangsdaten durchführen, die hier einfach als Eingabe bezeichnet werden, und eine jeweilige Ausgabe bereitstellen. Die Eingabe des ersten Merkmalsextraktionsbocks ist das 2D-Bild, welches oben beschriebene Scanpunkte repräsentiert. Alle anderen Eingaben und Ausgaben, die im Rahmen der Erfindung erwähnt und beschrieben sind, haben die Form von Merkmalskarten. Analog zum 2D-Bild weist auch jede solche Merkmalskarte eine Auflösung auf, die die Anzahl der Pixel, die in einer solchen Merkmalskarte enthalten sind, darstellt. Im Allgemeinen weist ein Bild wie das 2D-Bild oder eine solche Merkmalskarte Zeilen und Spalten auf, wobei jedes Pixel durch jeweilige Zeilen- und Spaltenkoordinaten definiert ist. Die Bilder, nämlich die 2D-Bilder sowie die Merkmalskarten, können weiterhin eine dritte Dimension aufweisen, die als Kanal bezeichnet wird. Zum Beispiel würde ein herkömmliches Farbbild drei Kanäle aufweisen, einen für rot, grün und blau. Gegenwärtig ist es bevorzugt, dass das 2D-Bild ein 2D-Bild mit einem einzelnen Kanal darstellt. Dies erlaubt sehr schnelle Berechnungen und stellt dennoch ausreichend genaue Ergebnisse bereit. Die Anzahl an Kanälen der finalen Merkmalskarte kann vom Design und dem Zweck abhängen. Zum Beispiel enthält die ausgegebene Merkmalskarte, nämlich die finale Merkmalskarte, so viele Kanäle wie es Objektklassen von Interesse gibt. Im Falle, dass nur Kraftfahrzeuge detektiert werden sollen, wäre ein einzelner Kanal ausreichend. Dies erlaubt wiederum sehr schnelle Berechnungen. Die Merkmalskarte, nämlich die finalen Merkmalskarten sowie intermediäre Merkmalskarten, die zu den Eingaben und Ausgaben der jeweiligen Blöcke korrespondieren, können ebenfalls Multikanalmerkmalskarten sein, das heißt sie können mehrere Kanäle besitzen.
-
Ein sehr großer Vorteil der Erfindung besteht jedoch darin, dass diese Art des Backbone-Teils es möglich macht, direkt einen Detektionskopf zur semantischen Segmentierung auf die finale Merkmalskarte anzuwenden, insbesondere zur Schlüsselpunktklassifikation, welche später erläutert wird. Die Struktur des Backbone-Teils ist daher perfekt an eine nachfolgende semantische Segmentierung angepasst, insbesondere eine Schlüsselpunktdetektion, was es erlaubt, die rechenaufwändige Verwendung von Ankerboxen und Non-Maximum-Unterdrückungs-Schritten zu vermeiden. Dies ist besonders vorteilhaft, da Berechnungszeiten und Latenzzeiten enorm reduziert werden können.
-
Daher stellt es eine weitere vorteilhafte Ausgestaltung der Erfindung dar, wenn in Abhängigkeit von der finalen Merkmalskarte eine Schlüsselpunktklassifikation durchgeführt wird, wobei ein Schlüsselpunkt als Mittelpunkt eines Objekts definiert ist. Dabei kann jedes Objekt als ein Schlüsselpunkt repräsentiert werden, was es erlaubt, eine ultraschnelle Objektdetektion durchzuführen. Die Verwendung eines geeigneten Schlüsselpunkts eliminiert automatisch die Notwendigkeit von Ankerboxen vollständig und einer Non-Maximum-Unterdrückung in großem Ausmaß. Ein Netzwerk kann dann trainiert werden, um solche Schlüsselpunkte mit Bezug auf eine jeweilige Objektklasse zu klassifizieren. Die Definition eines Schlüsselpunkts kann entweder der Objektmittelpunkt auf einer definierten Grundebene sein oder das tatsächliche Objekzentrum. Experimentell führt die Verwendung eines Objektzentrums als der Schlüsselpunkt zu besseren Resultaten, da dies das Problem von teilweise verdeckten Objekten in gewissem Ausmaß vermeidet, die in Entfernungsbildern die gleiche Schlüsselpunktposition haben. Somit kann vorteilhafterweise die herkömmliche Aufgabe der semantischen Segmentierung in eine Klassifikation von nur Pixeln, die Schlüsselpunkte in jedem Objekt darstellen, modifiziert werden. Damit stellt die Schlüsselpunktdetektion einen Spezialfall der semantischen Segmentierung dar, wobei die finale Segmentierungsmaske auf die Vorhersage von Bereichen von Interesse als der Schlüsselpunkt begrenzt wird. Semantische Segmentierung bedeutet, dass jedes Pixel des ausgegebenen Bildes, nämlich der finalen Merkmalskarte, als zu einer bestimmten Objektklasse gehörend klassifiziert wird, zum Beispiel Kraftfahrzeug oder Hintergrund. Im Allgemeinen kann auch eine solche semantische Segmentierung basierend auf der finalen Merkmalskarte durchgeführt werden. Die Aufgabe der Klassifikation von Schlüsselpunkten jedoch ist darauf beschränkt, jedes Pixel als Schlüsselpunkt eines bestimmten Objekts oder nicht zu klassifizieren. Auch können alle weiteren Berechnungen auf den Schlüsselpunkten basieren, wie die Schlüsselbox-Dimensionsregression, die dann einfach für jeden Schlüsselpunkt oder Schlüsselpunktgruppe ausgeführt werden kann, und die Rotationsklassifikation für jede Gruppe von Schlüsselpunkten. Daher kann vorteilhafterweise eine Darstellung von 3D-Objekten als 2D-Schlüsselpunkte in 2D-Bildern, wie Entfernungsbildern oder Vogelperspektivenbildern, und eine einfache Rekonstruktion von 3D-Boxen aus 2D-Vorhersagen bereitgestellt werden. Dies erlaubt weiterhin eine effiziente Möglichkeit, um die Rotation von Boxen aus 2D-Bildern vorherzusagen, wie 2D-Entfernungsbilder oder 2D-Vogelperspektivenbilder, was ein Hauptproblem bei der Objektdetektion unter Verwendung spärlicher Punktewolken oder Entfernungsbildern war.
-
Gemäß einer weiteren vorteilhaften Ausgestaltung der Erfindung wird das 2D-Bild in Form eines Vogelperspektivenbildes mit einer Vielzahl von Pixeln bereitgestellt, die in Zeilen und Spalten angeordnet sind, wobei die Zeilen zu einer ersten horizontalen Richtung korrespondieren, die Spalten zu einer zweiten horizontalen Richtung senkrecht zur ersten horizontalen Richtung korrespondieren und der Pixelinhalt durch eine Höhe der Scanpunkte in einer dritten vertikalen Richtung senkrecht zur ersten und zweiten horizontalen Richtung definiert ist. Im Falle, dass die Erfindung oder ihre Ausführungsformen in einem Kraftfahrzeug verwendet werden, kann dann zum Beispiel die erste horizontale Richtung zur Fahrzeugquerrichtung korrespondieren, die zweite horizontale Richtung zur Fahrzeuglängsrichtung und die dritte vertikale Richtung zur Fahrzeughochrichtung. Durch die Verwendung eines 2D-Vogelperspektivenbildes ist es möglich, die 3D-Information eines jeweiligen Scanpunkts in einem 2D-Bild zu bewahren. Die Verwendung von Vogelperspektivenbildern erlaubt es, schnelle und effiziente 2D-Faltungen zu verwenden und zeigt auch einen Weg, die rechnerischen Hürden, die mit 3D-Faltungen und anderen intermediären Darstellungen verbunden sind, zu vermeiden. Vorzugsweise wird nur die Höhe als Pixelwert im Vogelperspektivenbild verwendet. Dies ist wiederum im Interesse von geringerem Speicher- und Rechenaufwand. Jedoch können im Allgemeinen auch andere Parameter durch jedes Pixel repräsentiert werden, wie Besetzung und Intensität. Das Vogelperspektivenbild kann den größten Höhenwert von 3D-Punkten, die in jeweilige räumliche Zellen fallen, die durch korrespondierende Achsenabschnitte in der ersten und zweiten horizontalen Richtung definiert sind, verwenden. Das mag etwas Informationsverlust erzeugen, aber erlaubt eine deutlich schnellere Verarbeitung. Im Speziellen bieten Vogelperspektivenbilder einige einzigartige Vorteile, die sie zu einem geeigneten Kandidaten für eine 2D-Repräsentation einer 3D-Punktewolke machen, und welche darin bestehen, dass Vogelperspektivenbilder verdeckungsfrei sind. Dies bedeutet, dass Objekte im Vogelperspektivenbild unterschiedliche Positionen einnehmen und sich daher nicht gegenseitig verdecken. Ein weiterer Vorteil ist, dass einfachere Vorhersagen von Rotationen möglich sind, da die vollständigen Objektposen sichtbar sind. Somit ist es relativ einfach, die Rotation der Bounding-Box für das Objekt vorherzusagen.
-
Gemäß einer weiteren vorteilhaften Ausgestaltung der Erfindung wird das 2D-Bild in Form eines Entfernungsbildes mit einer Vielzahl von Pixeln bereitgestellt, die in Zeilen und Spalten angeordnet sind, wobei die Zeilenkoordinaten und Spaltenkoordinaten der Pixel jeweils durch einen Azimutwinkel und einen Polarwinkel definiert sind, und der Pixelinhalt durch eine Entfernung eines Scanpunkts von der Position des aktiven optischen Sensorsystems definiert ist. Insbesondere kann das Entfernungsbild wie bereits oben erläutert definiert sein. Somit können Entfernungsbilder direkt durch die sphärischen Koordinatendaten, die vom aktiven optischen Sensorsystem erzeugt werden, bereitgestellt werden, insbesondere einem Lidarsensor. Auch die Verwendung von Entfernungsbildern erlaubt die Verwendung von schnellen und effizienten 2D-Faltungen und zeigt einen Weg, um die Nachverarbeitung zu vermeiden, die bei der Konvertierung von Lidarrohdaten in sphärischen Koordinaten zu 3D-Punktewolken involviert ist, wie dies üblicherweise in den meisten Lidarsensoren von heute gemacht wird. Somit stellen auch Entfernungsbilder einen effizienten Weg dar, Lidardaten als ein 2D-Gitter darzustellen.
-
Gemäß einer weiteren sehr vorteilhaften Ausgestaltung der Erfindung ist eine räumliche Auflösung einer finalen Merkmalskarte gleich der räumlichen Auflösung eines 2D-Bildes. Mit anderen Worten weist die Ausgabe des Backbone-Netzwerks die gleiche räumliche Dimension wie die Eingabe auf. Das ist besonders vorteilhaft mit Bezug auf oben beschriebenen Schlüsselpunktklassifikation. Der Grund hierfür besteht darin, dass jedes Ausgangspixel der finalen Merkmalskarte als möglicher Kandidat, ein solcher Schlüsselpunkt zu sein, in Betracht gezogen werden kann. Oft werden Eingangsdaten heruntergerechnet, und daher weisen die Ausgaben geringere Dimensionen als die Eingaben auf, um Rechenzeit zu sparen. In diesem Fall jedoch kann Rechenzeit gerade dadurch gespart werden, indem die Dimension der finalen Merkmalskarte nicht reduziert wird. Dies basiert auf der Erkenntnis, dass die Schlüsselpunktdetektion und andere Detektionsaufgaben basierend auf der Schlüsselpunktdetektion deutlich effizienter ausgeführt werden können als zum Beispiel die Verwendung von Ankerboxen oder einer herkömmlichen semantischen Segmentierung. Um dennoch ein ausreichend genaues Ergebnis bereitzustellen, ist es vorteilhaft, die Auflösung der finalen Merkmalskarte nicht zu reduzieren, und somit können Latenzzeiten insgesamt reduziert werden.
-
Obwohl es bevorzugt ist, dass die räumliche Auflösung der finalen Merkmalskarte gleich der räumlichen Auflösung des 2D-Bildes ist, wären kleine Abweichungen in der räumlichen Auflösung zwischen dem 2D-Bild und der finalen Merkmalskarte ebenfalls akzeptabel, wie Abweichungen im einstelligen Prozentbereich.
-
Im Folgenden soll die Architektur des Backbone-Teils des neuronalen Netzwerks detaillierter beschrieben werden. Dabei stellt es ein weitere vorteilhafte Ausgestaltung der Erfindung dar, wenn jeder der mehreren Merkmalsextraktionsblöcke einem bestimmten Auflösungslevel zugeordnet wird, so dass jedes Auflösungslevel nur einem der Merkmalsextraktionsblöcken zugeordnet ist, wobei jeder der mehreren Merkmalsextraktionsblöcke eine Eingabe mit einer räumlichen Auflösung empfängt, die dem zugeordneten Auflösungslevel entspricht und wobei jedes Auflösungslevel einer Anzahl an Upsampling-Blöcken zugeordnet ist, die zur der Anzahl an niedrigeren Auflösungsleveln korrespondiert. Weiterhin ist es bevorzugt, dass jeder Upsampling-Block eine erste Eingabe von einem der Blöcke desselben Auflösungslevels empfängt und eine zweite Eingabe von einem der Blöcke des nächst niedrigeren Auflösungslevels. Hierbei kann ein Block einen Merkmalsextraktionsbock oder einen weiteren Upsampling-Block darstellen. Weiterhin stellt jeder der Merkmalsextraktionsblöcke außer einem zweiten Merkmalsextraktionsblock, der dem niedrigsten Auflösungslevel zugeordnet ist, eine jeweilige erste und zweite Ausgabe bereit, die sich voneinander mit Bezug auf ihre räumliche Auflösung unterscheiden.
-
Somit kann die Architektur des Backbone-Teils im Allgemeinen horizontale Pfade definieren, zum Beispiel von links nach rechts, und Oben-Unten-Pfade, wobei jede Ebene eines solchen Oben-Unten-Pfads einem anderen Auflösungslevel zugeordnet ist, wobei das Auflösungslevel von oben nach unten abnimmt. Somit kann zum Beispiel der Merkmalsextraktionsbock das 2D-Bild empfangen und die zwei Ausgaben wie beschrieben bereitstellen. Eine Ausgabe, zum Beispiel die erste Ausgabe, kann die gleiche Auflösung haben wie das 2D-Eingangsbild, welches entlang des horizontalen Pfads einem oder mehrere Upsampling-Blöcken übergeben werden kann, während die zweite Ausgabe mit der niedrigeren Auflösung zum nächsten Merkmalsextraktionsbock in der Richtung nach unten des Oben-Unten-Pfads übergeben wird, nämlich auf dem nächst niedrigeren Auflösungslevel. Hier stellt wieder der Merkmalsextraktionsbock dieses nächst niedrigeren Auflösungslevels zwei Ausgaben bereit, eine mit der gleichen Auflösung wie die Eingabe, die entlang eines weiteren horizontalen Pfads weitergegeben wird, zum Beispiel zu einem weiteren Upsampling-Block, und eine zweite Ausgabe mit niedrigerer Auflösung wird dem nächsten Merkmalsextraktionsbock im Oben-Unten-Pfad bereitgestellt, nämlich dem Merkmalsextraktionsbock auf dem nächst niedrigeren Auflösungslevel, und so weiter. Der oben definierte Merkmalsextraktionsbock, welcher dem niedrigsten Auflösungslevel zugeordnet ist, stellt keine zwei Ausgaben mit unterschiedlichen Auflösungen bereit, sondern nur eine einzige, insbesondere mit der gleichen Auflösung wie die Eingabe. Insbesondere soll sich in diesem Kontext der Ausdruck Auflösung nur auf die räumliche Auflösung beziehen. Die Anzahl an Kanälen kann sich ändern. Weiterhin weist jeder horizontale Pfad eine Anzahl an Upsampling-Blöcken auf, und die Anzahl korrespondiert zur Anzahl an existierenden niedrigeren Auflösungsleveln. Mit anderen Worten umfassen obere horizontale Pfade mehr Upsampling-Blöcke als niedrigere horizontale Pfade. Dies führt zu einer Art Dreiecksanordnung der Merkmalsextraktions- und Upsampling-Blöcke, was insbesondere eine Aggregation tiefer Schichten erlaubt.
-
Weiterhin wurde festgestellt, dass das Aufweisen von fünf Auflösungsleveln und daher von fünf Merkmalsextraktionsblöcken am vorteilhaftesten im Hinblick auf Latenz und Genauigkeit ist. Weiterhin erlaubt diese Struktur, dass auch Low-Level-Merkmale vielmehr upgesampled werden als zum Beispiel in einzelnen residualen Backbones, wie das, das von Pixor verwendet wird, welches zu Anfang beschrieben wurde.
-
Gemäß einer weiteren vorteilhaften Ausgestaltung der Erfindung ist jeder der Merkmalsextraktionsblöcke als ein residuales Netzwerk ausgebildet und weist insbesondere mehrere Faltungsmodule auf, insbesondere zwei 2D-Faltungsmodule. Eine residuale Netzwerkstruktur, die auch als ResNet bezeichnet wird, ist dem verschwindenden Gradientenproblem ausgesetzt, wenn das künstliche neuronale Netzwerk mit gradientenbasierten Lernverfahren und Backpropagation trainiert wird. Insbesondere im Falle eines tiefen neuronalen Netzwerks können Gradienten verschwindend gering werden, was ohne eine solche residuale Struktur effektiv die Gewichte vom Ändern ihres Werts abhält. In einem residualen Netzwerk sind überspringende Verbindungen oder residuale Verbindung Teil der Netzwerkarchitektur. Diese überspringenden Verbindungen erlauben es Gradienteninformationen durch die Schichten zu gelangen, indem Informationshighways erzeugt werden, wobei die Ausgabe einer vorhergehenden Schicht oder eine Aktivierung zur Ausgabe einer tieferen Schicht addiert wird. Dies erlaubt es, Informationen aus früheren Pfaden des Netzwerks an die tieferen Teile des Netzwerks zu übergeben, was hilft, die Signalausbreitung sogar in tieferen Netzwerken zu erhalten.
-
Die oben genannten mehreren Faltungsmodule sind vorzugsweise als 3x3-Faltungen ausgebildet. Diese Faltungen dienen als Filter für die Merkmalsextraktion. Die Gewichte der Faltungskerne, die eine solche Faltung definieren, werden während der Trainingsphase des Netzwerks gelernt. Weiterhin können die Merkmalsextraktionsblöcke auch eine Aktivierungsfunktion in Form einer rektifizierten linearen Einheit (ReLU) und eine Batchnormalisierung auf die Ausgabe der Faltungen anwenden. Eine solche ReLU-Batchnormalisierung kann auch nur auf manche der Faltungsergebnisse angewandt werden.
-
Gemäß einer weiteren, sehr vorteilhaften Ausgestaltung der Erfindung gibt jeder der Merkmalsextraktionsblöcke, insbesondere außer dem zweiten Merkmalsextraktionsblock, ein vorläufiges Ergebnis aus, welches identisch zu der ersten Ausgabe des jeweiligen Merkmalsextraktionsblocks ist, wobei die zweite Ausgabe des jeweiligen Merkmalsextraktionsblocks durch Anwenden einer Pooling-Operation, insbesondere einer Max-Pooling-Operation, auf die vorläufige Ausgabe bereitgestellt wird. Mit anderen Worten kann der Merkmalsextraktionsbock eine vorläufige Ausgabe bereitstellen, die eine erste räumliche Auflösung aufweist, die vorzugsweise zur Auflösung der Eingabe korrespondiert. Diese vorläufige Ausgabe kann einfach als die erste Ausgabe des jeweiligen Merkmalsextraktionsbocks genommen werden. Um die zweite Ausgabe mit einer niedrigeren Auflösung zu erzeugen, kann einfach eine Pooling-Operation, wie Max-Pooling oder Average-Pooling, auf die vorläufige Ausgabe angewandt werden, wodurch die räumlichen Dimensionen reduziert werden.
-
Zusammenfassend verwendet jeder Downsampling-Block vorzugsweise eine ResNet-artige Basis, die, außer für den zweiten Downsampling-Block, modifiziert wird, um zwei Ausgaben bereitzustellen, eine mit der gleichen räumlichen Auflösung wie die Eingabe und die andere, deren Breite und/oder Höhe die Hälfte der der Eingabe darstellt. Vorzugsweise wird Max-Pooling oder Average-Pooling verwendet, um die Eingangsmerkmale down zu samplen. Optional können alle oder manche der niedrigeren Downsampling-Blöcke, nämlich die, die sich weiter oben im Oben-Unten-Pfad befinden, mit einem Kontextaggregationsmodul ausgestattet werden. Vorzugsweise wird ein solches Kontextaggregationsmodul (CAM) nur in den ersten drei Downsampling-Blöcken im Oben-Unten-Pfad verwendet. Solch ein Kontextaggregationsmodul kann die Sensitivität für ausgegebenes Rauschen reduzieren. Die CAM kann mit einem Max-Pooling mit einer relativ großen Kernelgröße beginnen. Das Max-Pooling aggregiert Kontextinformationen um ein Pixel mit einem viel größeren rezeptiven Feld und ist viel weniger sensitiv für fehlende Daten innerhalb seines rezeptiven Feldes. Auch kann Max-Pooling effizient berechnet werden, sogar mit einer großen Kernelgröße. Die Max-Pooling-Schichten sind dann gefolgt von zwei kaskadierten Faltungsschichten mit einer dazwischen befindlichen ReLU-Aktivierung. Die Sigmoid-Funktionen können verwendet werden, um die Ausgabe der Module zu normalisieren, und eine elementweise Multiplikation kann verwendet werden, um die Ausgabe mit der Eingabe zu kombinieren. Durch das Verwenden einer solchen CAM kann die Sensitivität für ausgegebenes Rauschen reduziert werden, insbesondere ist der Fehler bei den gleichen fehlerhaften Eingangsdaten signifikant reduziert.
-
Darüber hinaus kann die Pooling-Operation, um die zweite Ausgabe des jeweiligen Merkmalsextraktionsbocks bereitzustellen, an die Art des Eingangsbildes angepasst werden, insbesondere an das Seitenverhältnis des 2D-Eingangsbildes. Beispielsweise unterscheiden sich im Fall, dass das Eingangsbild, nämlich das 2D-Bild, in Form eines Vogelperspektivenbildes bereitgestellt wird, die Höhe und Breite eines solchen Bildes nicht so sehr wie im Falle eines Entfernungsbildes. Beispielsweise kann ein Vogelperspektivenbild 512 Pixel in Richtung der Höhe und 256 in Richtung der Breite aufweisen. Im Gegensatz dazu kann ein Entfernungsbild 64 Pixel in Richtung der Höhe und 256 in Richtung der Breite aufweisen. Im Falle eines Vogelperspektivenbildes ist es bevorzugt, dass die Pooling-Operation sowohl in Richtung der Breite als auch in Richtung der Höhe der vorläufigen Ausgabe durchgeführt wird. Zum Zwecke der Vereinfachung ist es weiterhin bevorzugt, dass das Pooling symmetrisch in Richtung der Höhe und Breite im Falle des Vogelperspektivenbildes durchgeführt wird. Jedoch ist das Seitenverhältnis (1:4) des Entfernungsbildes derart bemessen, dass ein einheitliches Downsampling entlang der Höhe und Breite zu Netzwerken äußerst geringer Tiefe führt, was die Menge an Low-Level-Merkmalen begrenzt, die auf der Ausgangsebene des Netzwerks verwendet werden. Dieses Problem kann dadurch gelöst werden, indem entlang der Höhe nicht downgesampled wird, um Informationen entlang dieser Dimension zu bewahren, was zudem ein tieferes Netzwerk ermöglicht. Daher ist es bevorzugt, dass im Falle eines Entfernungsbildes die Pooling-Operation nur die Dimension der vorläufigen Ausgabe in Richtung der Breite reduziert, aber nicht in Richtung der Höhe, wobei die Breitenrichtung vielmehr Pixel aufweist als die Höhenrichtung.
-
Auch hier wäre es ebenfalls möglich, anstatt die Dimension in der Höhenrichtung im Falle eines solchen Entfernungsbildes nicht zu reduzieren, eine Pooling-Operation bereitzustellen, gemäß welcher die Dimension in der Höhenrichtung reduziert wird, aber vorzugsweise weniger als in der Breitenrichtung.
-
Gemäß einer weiteren vorteilhaften Ausgestaltung der Erfindung führt der mindestens eine Upsampling-Block, insbesondere jeder der oben beschriebenen Upsampling-Blöcke, eine transponierte Faltung aus, insbesondere angewandt auf die Eingabe mit der niedrigeren Auflösung, und weist ein nachfolgendes Faltungs-ReLU-Batchnormalisierungs-Modul auf, welchem die Ausgabe der transponierten Faltung nach Addition oder Konkatenation mit der Eingabe mit der höheren Auflösung zugeführt wird. Wie zuvor beschrieben, empfängt der Upsampling-Block zwei Eingaben, zum Beispiel eine erste Eingabe mit höherer Auflösung und eine zweite Eingabe mit niedrigerer Auflösung. In diesem Fall wird eine transponierte Faltung mit der zweiten Eingabe ausgeführt, und das Ergebnis wird zur ersten Eingabe addiert. Anstelle dieser Additionsoperation ist auch eine Konkatenation möglich. Experimentell hat sich herausgestellt, dass die Additionsoperation zu besseren Ergebnissen führt als eine Konkatenation. Das Ergebnis der Additionsoperation kann dann einem 3x3-Faltungs-ReLU-Batchnormalisierungs-Modul zugeführt werden, um eine Faltung durchzuführen, eine ReLU-Aktivierungsfunktion anzuwenden und eine Batchnormalisierung durchzuführen. Letztendlich sammelt somit ein Upsampling-Block Low-Level-Merkmale, upsampled die High-Level-Merkmale auf die gleichen räumlichen Dimensionen und fusioniert die Merkmale entweder durch Addition oder Konkatenation. Der Idee von DLA folgend werden die Low-Level-Merkmalskarten mehrere Male in hierarchischer Weise upgesampled.
-
Gemäß einer weiteren vorteilhaften Ausgestaltung der Erfindung wird in Abhängigkeit von der finalen Merkmalskarte eine Bounding-Box-Bestimmung durchgeführt, welche Bounding-Boxen mit den vorhergesagten Schlüsselpunkten als Mittelpunkte vorhersagt. Dadurch kann vorteilhafterweise eine Boxregression als eine einfache Aufgabe ohne die Verwendung von Ankerboxen bewerkstelligt werden. Für das Trainieren kann eine einfache L 1-Verlustfunktion verwendet werden, was für letzte absolute Abweichungen steht, und die den Fehler minimiert, welcher die Summe aller absoluten Differenzen zwischen dem wahren und dem vorhergesagten Wert darstellt. Der Vorhersagekopf zum Durchführen der Boxregressionsdimensionsvorhersage hat drei Kanäle, je einen für Länge, Breite und Höhe.
-
Im Allgemeinen kann jedes der Module des künstlichen neuronalen Netzwerks, nämlich des Backbone-Teils und der Detektionsköpfe durch ein jeweiliges Set an Netzwerkparametern definiert sein, die insbesondere trainierbare Netzwerkparameter darstellen. Die Netzwerkparameter können zum Beispiel gewichtete Faktoren und/oder Beeinflussungsfaktoren zum Gewichten und/oder Beeinflussen der jeweiligen Neuronen darstellen. Daher kann das Adaptieren der Module des künstlichen neuronalen Netzwerks so verstanden werden, dass es ein Anpassen oder Ändern der jeweiligen Netzwerkparameter des anzupassenden Moduls umfasst.
-
Zu diesem Zweck können eine oder mehrere Verlustfunktionen entwickelt werden, um ein Set von minimierenden Netzwerkparametern zu finden, die den Wert der einen oder mehreren Verlustfunktionen minimieren. Die eine oder mehreren Verlustfunktionen hängen daher von den jeweiligen Netzwerkparametern sowie von dem vorhergehenden Simulationsumgebungszustand der jeweiligen Trainingsepoche ab. Der Bounding-Box-Regressionskopf verwendet einen L1-Verlust, während der Schlüsselpunktdetektionskopf und der Boxrotationsdetektionskopf jeweils einen gewichteten Kreuzentropieverlust verwenden können.
-
Gemäß einer weiteren vorteilhaften Ausgestaltung der Erfindung wird in Abhängigkeit von der finalen Merkmalskarte eine Bounding-Box-Rotationsbestimmung durchgeführt, wobei eine Anzahl von Klassen definiert ist, wobei jede Klasse zu einem bestimmten Rotationswinkelbereich korrespondiert, wobei alle Klassen einen gesamten Rotationswinkelbereich zwischen 0° und 180° definieren und wobei jede Schlüsselpunktgruppe, die einem Objekt zugeordnet ist, einer der Klassen zugeordnet wird.
-
Insbesondere ist eine Bounding-Box derart definiert, dass diese vorzugsweise das Objekt, zu welchem sie korrespondiert, vollständig einschließt und so klein wie möglich ist, so dass die Wände einer solchen Bounding-Box den Wänden oder Begrenzungen des Objekts so nahe wie möglich kommen. Die Vorhersage einer Rotation von Objekten ist viel schwieriger in Entfernungsbildern oder Vogelperspektivenbilden als in 3D-Punktewolken. Dies kann vorteilhafterweise in einer sehr effizienten Weise gemäß der oben beschriebenen Ausführungsform durchgeführt werden. Somit kann eine Rotation von Boxen aus einem 2D-Vogelperspektivenbild oder Entfernungsbild vorhergesagt werden. Somit wird die Region von Interesse als eine Klassifikation unter mehreren Klassen vorhergesagt, zum Beispiel 21 Klassen, wobei ein gewichteter Kreuzentropieverlust verwendet werden kann, insbesondere wie der Schlüsselpunktklassifikationskopf für die Klassifikation der Schlüsselpunkte. Zum Trainieren des Netzwerks in Bezug auf die Vorhersage von Rotationen kann ein Datenset verwendet werden, welches Rotationen von Boxen im Bereich zwischen [-π, π] im Bogenmaß um die y-Achse in Kamerakoordinaten bereitstellt. Vorteilhafterweise können zunächst alle Boxrotationen in den Bereich [0,180]° abgebildet werden, und dann kann der Bereich in mehrere Klassen eingeteilt werden, zum Beispiel 21 Klassen von jeweils 9°. Dann besteht die Aufgabe darin, jede Gruppe von Schlüsselpunkten und das korrespondierende rezeptive Feld in eine dieser 21 Klassen zu klassifizieren. Es hat sich herausgestellt, dass dies ziemlich genaue Boxrotationsvorhersagen erzeugt. Jede mögliche Orientierung einer Box kann entweder durch eine Rotation gegen den Uhrzeigersinn oder im Uhrzeigersinn erhalten werden.
-
Nach der Durchführung der oben beschriebenen Vorhersageaufgaben können auch einige Nachverarbeitungsschritte stattfinden. Das Netzwerk sagt Schlüsselpunkte, Boxen und Rotationen, alle im 2D-Bild vorher. Zuerst kann für jede Gruppe von Schlüsselpunkten ein einzelner Schlüsselpunkt erhalten werden, der den Mittelpunkt eines Objekts kennzeichnet. Dies erfolgt unter Verwendung eines einfachen und entfernungsbasierten Schwellwertverfahrens und einer Unterdrückung von Schlüsselpunkten in der Nähe. Da der gewählte Schlüsselpunkt einen Objektmittelpunkt darstellt, sind die Schlüsselpunkte inhärent durch die Körper der Objekte um sie herum separiert, und folglich überlappen Boxen im Allgemeinen nicht. Nach dem Schritt kann für jeden Schlüsselpunkt ein quadratisches Fenster, zum Beispiel (3,3) Pixel, welches am selben Ort wie der Schlüsselpunkt zentriert ist, in der Box gewählt werden, und die Rotationsvorhersageausgabe und die korrespondierenden Boxdimensionen und Rotationen können unter der Verwendung einer Maximumsoperation auf dem Fenster erfasst werden. Am Ende des Schritts ist die einzige verbleibende Aufgabe diejenige, die Zeilen- und Spaltenindizes der vorhergesagten Schlüsselpunkte im 2D-Bild, wie das Entfernungsbild und das Vogelperspektivenbild, in 3D-kartesische Koordinaten in der Punktewolke zu konvertieren.
-
Entsprechend stellt es eine weitere vorteilhafte Ausgestaltung der Erfindung dar, wenn in Abhängigkeit von der finalen Merkmalskarte ein Detektionsverfahren ausgeführt wird, um mindestens ein Merkmal eines Objekts zu detektieren, wobei im Falle, dass das mindestens eine Merkmal detektiert wird, eine Koordinatentransformation ausgeführt wird, um Koordinaten des Merkmals aus dem 2D-Bild in den 3D-Raum zu transformieren. Somit können alle detektierten Merkmale, wie Schlüsselpunkte, Boxen und Boxrotationen in 3D dargestellt werden, während all die Berechnungen in 2D ausgeführt wurden.
-
Das Netzwerk kann Ende-zu-Ende trainiert werden, zum Beispiel unter Verwendung eines ADAM-Optimierers. In diesem Fall wurden Batch-Größen von 8, 16, 24, 32 und 48 ausprobiert, von welchen eine Batch-Größe von 16 die beste Leistung gebracht hat. Im Falle von GPU-Begrenzungen funktioniert eine Batch-Größe von 8 auch einigermaßen gut. Netzwerke wurden für 50, 60, 80 und 120 Epochen trainiert, und 80 Epochen funktionierten am besten. Im Gegensatz zu anderen Verfahren ist es nicht bevorzugt, irgendwelche vortrainierten Gewichte zu verwenden, und das Netzwerk wird von Grund auf unter Verwendung des erweiterten Datensatzes trainiert. Das Trainieren dauert ungefähr 30 Stunden auf einer Titan-RTX GPU mit 24 GB-Speicher.
-
Die Erfindung betrifft auch ein Computerprogramm, aufweisend Anweisungen, die, wenn sie von einem Computersystem ausgeführt werden, das Computersystem dazu veranlassen, ein erfindungsgemäßes computerimplementiertes Verfahren oder eine seiner Ausführungsformen auszuführen.
-
Ein Computerprogramm ist eine Sammlung von Anweisungen zum Ausführen einer speziellen Aufgabe, die zur Lösung einer speziellen Klasse von Problemen entworfen ist. Die Anweisungen eines Programms sind entworfen, um von einem Computer ausgeführt zu werden, und es ist erforderlich, dass ein Computer in der Lage ist, Programme auszuführen, damit er funktioniert.
-
Darüber hinaus betrifft die Erfindung auch ein computerlesbares Speichermedium, auf welchem ein Computerprogramm gemäß der Erfindung oder eines ihrer Ausgestaltungen gespeichert ist.
-
Daten speichern ist das Aufzeichnen (Speichern) von Informationen (Daten) auf einem Speichermedium. Das Aufzeichnen wird praktisch durch jede Energieform erreicht. Elektronische Datenspeicher erfordern elektrische Energie, um Daten zu speichern und abzurufen.
-
Weiterhin betrifft die Erfindung ein Fahrerassistenzsystem für ein Kraftfahrzeug, welches ein computerlesbares Speichermedium gemäß der Erfindung oder einer ihrer Ausgestaltungen aufweist.
-
Weiterhin kann das Fahrerassistenzsystem beispielsweise das aktive optische Sensorsystem, beispielsweise einen Lidar-Sensor, umfassen. Die Erfindung betrifft auch ein Kraftfahrazeug mit einem solchen Fahrerassistenzsystem.
-
Weitere Merkmale der Erfindung ergeben sich aus den Ansprüchen, den Figuren und der Figurenbeschreibung. Die vorstehend in der Beschreibung genannten Merkmale und Merkmalskombinationen sowie die nachfolgend in der Figurenbeschreibung genannten und/oder in den Figuren alleine gezeigten Merkmale und Merkmalskombinationen sind nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen verwendbar, ohne den Rahmen der Erfindung zu verlassen. Es sind somit auch Ausführungen von der Erfindung als umfasst und offenbart anzusehen, die in den Figuren nicht explizit gezeigt und erläutert sind, jedoch durch separierte Merkmalskombinationen aus den erläuterten Ausführungen hervorgehen und erzeugbar sind. Es sind auch Ausführungen und Merkmalskombinationen als offenbart anzusehen, die somit nicht alle Merkmale eines ursprünglich formulierten unabhängigen Anspruchs aufweisen. Es sind darüber hinaus Ausführungen und Merkmalskombinationen, insbesondere durch die oben dargelegten Ausführungen, als offenbart anzusehen, die über die in den Rückbezügen der Ansprüche dargelegten Merkmalskombinationen hinausgehen oder abweichen.
-
Die Erfindung wird nun unter Bezugnahme auf bevorzugte Ausführungsformen sowie unter Bezugnahme auf die beigefügten Zeichnungen näher erläutert.
-
Dabei zeigen:
- 1 eine schematische Darstellung eines Kraftfahrzeugs mit einem Fahrerassistenzsystem, aufweisend einen Lidarsensor und eine Steuereinheit zum Verarbeiten der Scanpunkte, die vom Lidarsensor bereitgestellt werden, gemäß einem Ausführungsbeispiel der Erfindung;
- 2 eine schematische Darstellung eines Gesamtnetzwerk-Blockdiagramms gemäß einem Ausführungsbeispiel der Erfindung;
- 3 eine schematische Darstellung eines Merkmalsextraktions- und Downsamplingblocks gemäß einem Ausführungsbeispiel der Erfindung;
- 4 eine schematische Darstellung eines Upsampling-Blocks gemäß einem Ausführungsbeispiel der Erfindung;
- 5 eine schematische Darstellung der Backbone-Architektur gemäß einem Ausführungsbeispiel der Erfindung;
- 6 eine schematische Darstellung der detektierten Schlüsselpunkte als Objektmittelpunkte gemäß einem Ausführungsbeispiel der Erfindung;
- 7 eine schematische Darstellung der Abbildung von Boxrotationen gemäß einem Ausführungsbeispiel der Erfindung;
- 8 eine schematische Darstellung einer 3D-Punktewolke mit Objekten und korrespondierenden Bounding-Boxen als Grundwahrheit;
- 9 eine schematische Darstellung einer 3D-Punktewolke mit Objekten und korrespondierenden Bounding-Boxen als Grundwahrheit und Detektionsergebnissen gemäß einem Ausführungsbeispiel der Erfindung, insbesondere eine schematische Darstellung von Detektionen in einer Szene, die von einem Netzwerk gemäß einem Ausführungsbeispiel der Erfindung bereitgestellt werden, im Vergleich zu Grundwahrheitswerten; und
- 10 eine schematische Darstellung von Latenzzeiten und einer mittleren Genauigkeit, die mittels Ausführungsformen der Erfindung im Vergleich zu anderen Netzwerken erreicht werden kann.
-
1 zeigt eine schematische Darstellung eines Kraftfahrzeugs 1, aufweisend ein Fahrerassistenzsystem 2 gemäß einem Ausführungsbeispiel der Erfindung. Das Fahrerassistenzsystem 2 weist ein aktives optisches Sensorsystem 3 auf, welches in diesem Beispiel als ein Lidarsensor 3 ausgebildet ist. Die Position des Lidarsensors 3 definiert ein Koordinatensystem, insbesondere dessen Zentrum, mit einer x-, y- und zu z-Achse, die ebenfalls in 1 illustriert sind. Weiterhin weist das Fahrerassistenzsystem 2 eine Steuereinheit 4 auf, welche ein computerlesbares Medium 5 mit einem Programmcode 6 umfasst, der, wenn er von der Steuereinheit 4 ausgeführt wird, ein Verfahren zum Verarbeiten von Scanpunkten, die vom Lidar 3 in einer Form bereitgestellt werden, die im Detail später erklärt wird, ausführt. Der Lidar 3 scannt die Umgebung 7 des Kraftfahrzeugs 1, um andere Objekte 8 zu detektieren, wie in diesem Beispiel ein weiteres Kraftfahrzeug 8. Licht, welches vom Lidarsensor 3 ausgesandt wird, und welches durch solch ein Objekt reflektiert und von einem Detektor des Lidarsensors 3 wieder empfangen wird, stellt einen Scanpunkt bereit. Typischerweise können solche Scanpunkte in Polarkoordinaten als Rohdaten, die vom Lidarsensor 3 bereitgestellt werden, repräsentiert werden. Die Polarkoordinaten sind durch einen Azimutwinkel α definiert, wie in 1 illustriert, welche einen Winkel zwischen der Position des Scanpunkts und einer vertikalen Ebene durch die x-Achse definiert, hier die x-z-Ebene, mit einer Position des Lidars 3 als Zentrum. Insbesondere liegt dieser Azimutwinkel α in der horizontalen Ebene x-y oder einer dazu parallelen Ebene. Polarkoordinaten sind weiterhin durch einen Polarwinkel zwischen der horizontalen Ebene, hier der x-y-Ebene und der Position des Scanpunkts in vertikaler Richtung definiert, und der Entfernung r zum Objekt 8.
-
Üblicherweise werden zum Verarbeiten von solchen Scanpunkte die Scanpunkte in Form einer Punktewolke repräsentiert. Zum Verarbeiten einer 3D-Punktewolke werden ein voxel-basierter 3D-Faltungsansatz oder ein punktbasiertes dreidimensional faltendes neuronales Netzwerks verwendet. Diese Systeme leiden jedoch unter einer niedrigen Effizienz im Hinblick auf Latenz- und Leistungseffizienz.
-
Gemäß der Erfindung und ihrer Ausgestaltungen wird ein Verfahren zum Verarbeiten solcher Scanpunkte bereitgestellt, welches ein neuronales Netzwerk verwendet, welches in einem Gesamtnetzwerk-Blockdiagramm in 2 dargestellt. Dieses künstliche neuronale Netzwerk 9 weist einen Backbone-Teil 10 auf, welcher vorzugsweise in Form eines DLA-ResNet-Hybrid-Backbone-Netzwerks zur Merkmalsextraktion und drei Klassifikationsköpfen H1, H2, H3 bereitgestellt ist. Ein erster Klassifikationskopf H1 ist in diesem Beispiel ein Multiklassen-Klassifikationskopf zur Schlüsselpunktdetektion und - Klassifikation, und der zweite Detektionskopf H2 ist ein Regressionskopf zur Boxdimensionsregression, und der dritte Detektionskopf H3 ist ein Klassifikationskopf zur Rotationsvorhersage als Klassen-Klassifikationsaufgabe. Nun werden vorteilhafterweise die Scanpunkte, die durch den Lidar 3 bereitgestellt werden, diesem Netzwerk 9 in Form eines 2D-Bildes 11 zugeführt. Ein 2D-Bild 11, wie ein Entfernungsbild oder ein Vogelperspektivenbild, sind eine effiziente Art und Weise, um Lidardaten als ein 2D-Gitter darzustellen.
-
In diesem Beispiel ist das zweite Bild 11 in Form eines Vogelperspektivenbildes 11 bereitgestellt. Solch ein Vogelperspektivenbild 11 stellt mehrere Pixel bereit, die in Zeilen 13 und Spalten 12 angeordnet sind, wobei in 2 die Richtung der Zeilen 13 und Spalten 12 jeweils durch Pfeile illustriert sind. Somit kann hier das Pixel in seiner Position mittels einer Zeilenkoordinate und eine Spaltenkoordinate identifiziert werden. Daher können die Zeilen 13 und Spalten 12 zu den räumlichen Richtungen x und y korrespondieren, eventuell in die entgegengesetzte Richtung zeigend und mit einem beliebig definierbaren Offset zur Zentrumsposition des Lidars 3, die in 2 durch den Punkt Z illustriert ist. Der Inhalt eines jeden Pixels in diesem Vogelperspektivenbild 11 korrespondiert zur Höhe des Objekts 8 in z-Richtung, das heißt dessen z-Koordinate mit Bezug auf das Koordinatenzentrum von 1. Im Falle, dass mehrere Scanpunkte eines Objekts 8 innerhalb derselben „Pixelzelle“ detektiert werden, wird dann der größte z-Wert genommen.
-
Somit werden die Scanpunkte, die vom Lidar 3 erfasst wurden, in Form dieses 2D-Bildes repräsentiert. Ein exemplarischer Scanpunkt ist in 2 mit P bezeichnet. In diesem Fall ist die Auflösung des 2D-Bildes 11, in diesem Fall das Vogelperspektivenbild, 512 Pixel in der Höhenrichtung H, die zur Richtung der Spalten 12 korrespondiert, und 256 Pixel in der Breitenrichtung W, die zur Richtung der Zeilen 13 korrespondiert. Daher hat jede Zeile 13 die Länge von 256 Pixeln, und jede Spalte 12 hat die Länge von 512 Pixeln. Alternativ kann dem Netzwerk 9 auch ein 2D-Bild 11 in Form eines Entfernungsbildes zugeführt werden. Ein solches Entfernungsbild kann direkt durch die Sensorrohdaten des Lidars 3 in Polarkoordinaten bereitgestellt werden. Solch ein Entfernungsbild hätte eine andere Auflösung, zum Beispiel 64 Pixel in der Höhenrichtung H und 256 Pixel in der Breitenrichtung W.
-
2 zeigt weiterhin das Gesamtblockdiagramm des Netzwerks 9 und veranschaulicht die Idee der Objektdetektion mit Schlüsselpunkten K (vergleiche 6). Das Modell modifiziert die Aufgabe der semantischen Segmentierung wesentlich, indem nur Pixel, die Schlüsselpunkte K in jedem Objekt darstellen, klassifiziert werden. Die Definition eines Schlüsselpunkts K kann entweder der Mittelpunkt des Objekts auf der Grundebene sein oder das Zentrum des Objekts. Experimentell liefert die Verwendung des Objektzentrums als Schlüsselpunkt K bessere Resultate, da dies das Problem von teilweise verdeckten Objekten 8, die im Entfernungsbild die gleiche Schlüsselpunktposition K aufweisen, in gewissem Ausmaß vermeidet. Ein Trainingsdatensatz kann in Form von Objektzentren auf einer Grundebene in Polarkoordinaten bereitgestellt werden. Dieses kann dann in Lidarkoordinaten transformiert werden und dann in Pixelkoordinaten des Entfernungsbildes oder des Vogelperspektivenbildes 11. Das Netzwerk 9 wird dann trainiert, um solche Schlüsselpunkte K mit einer jeweiligen Objektklasse zu identifizieren.
-
Der Backbone-Teil 10 besteht aus einem Encoderteil 10a und einem Decoder 10b. Der Encoder 10a verwendet eine Zeile von Merkmalsextraktionsfaltungsblöcken, die die Eingangsmerkmalskarte entlang der Breite W downsamplen. Im Falle eines Vogelperspektivenbildes 11 als Eingabe wird ein solches Downsampling auch entlang der Höhenrichtung H durchgeführt. Im Falle eines Entfernungsbildes als Eingangsbild wird kein vertikales Downsampling in der Höhenrichtung H durchgeführt, um Informationen in dieser Dimension zu erhalten. Die Upsampling-Blöcke U (vergleiche 4 und 5) verwenden eine transponierte Faltung TC, die von einer normalen Faltungs-ReLu-Batchnormalisierungsstufe C3' gefolgt wird, um Low-Level- und High-Level-Merkmale aus den korrespondierenden Hierarchien zu sammeln, sie auf kompatible Dimensionen zu bringen und sie zu fusionieren, was später detaillierter erklärt wird. Letztendlich, wie bereits erwähnt, sind am Backbone-Netzwerk 10 drei Detektionsköpfe H1, H2, H3 hinzugefügt, die jeweils eine Schlüsselpunktklassifikation, eine Boxdimensionsregression für jeden Schlüsselpunkt K und eine Rotationsklassifikation für jeden Schlüsselpunkt K durchführen.
-
Der Backbone-Teil 10 der Architektur weist fünf Merkmalsextraktionsblöcke B1, B2, B3, B4, B5 auf, die zum Beispiel in 5 in hierarchischer Zeilenfolge dargestellt sind. Außer dem letzten, fünften Merkmalsextraktionsbock B5 führen die Merkmalsextraktionsblöcke B1, B2, B3, B4 auch ein Downsampling aus, so dass sie auch Merkmalsextraktions- und Downsampling-Blöcke B1, B2, B3, B4 genannt werden können. Solch ein Merkmalsextraktionsbock B1, B2, B3, B4 ist in 3 dargestellt. Jeder Merkmalsextraktionsbock B1, B2, B3, B4, B5 verwendet eine ResNet-artige Basis, was bedeutet, dass dieser einen residualen Pfad 14 aufweist, wobei die Blöcke B1, B2, B3, B4 weiterhin jeweils modifiziert sind, um zwei Ausgaben U1, U2 bereitzustellen.
-
Im Allgemeinen werden Eingaben im Folgenden durch I bezeichnet, und Ausgaben von Blöcken im Allgemeinen durch O. Die Ausgabe O eines Blocks kann gleichzeitig die Eingabe E eines anderen Blocks sein. Solche Eingaben I und Ausgaben O stellen Merkmalskarten dar, wobei die Eingabe des Netzwerks 9 und daher die Eingabe des ersten Merkmalsextraktionsbocks B1 gleichzeitig das 2D-Bild 11 darstellt. Letztendlich gibt der Backbone-Teil 10 eine finale Merkmalskarte 15 (vergleiche 2 und 5) aus, auf deren Basis die Detektionsköpfe H1, H2, H3 die korrespondierende Detektionsaufgabe durchführen.
-
Nun gibt solch ein Merkmalsextraktionsbock B1, B2, B3, B4 jetzt nicht nur eine einzelne Merkmalskarte aus, sondern stellt zwei Ausgaben O1, O2 bereit, nämlich eine erste Ausgabe O1 mit der gleichen räumlichen Auflösung wie die Eingabe I und die andere, deren Breite W und/oder Höhe A die Hälfte der Eingabe I beträgt. Dabei wird Max-Pooling MP in diesem Beispiel oder im Allgemeinen eine Pooling-Operation, wie beispielsweise auch Average-Pooling, verwendet, um die Eingangsmerkmale downzusamplen. Mit anderen Worten können die Merkmalsextraktionsblöcke B1, B2, B3, B4 zunächst eine Zwischenausgabe IO bereitstellen, die mit der ersten Ausgabe O1 identisch ist und die die gleiche Auflösung aufweist und auf welche zusätzlich ein Max-Pooling MP angewandt wird, um die zweite Ausgabe O2 mit einer reduzierten Auflösung bereitzustellen. Weiterhin verwenden diese Merkmalsextraktionsblöcke B1 bis B5 eine Zeile von Faltungen, um die Eingabe I zu transformieren. In 3 stellt das Modul C1 eine 1x1-Faltung bereit, das Modul C3 stellt eine 3x3-Faltung bereits, das Modul bezeichnet mit C3' eine 3x3-Faltung kombiniert mit einer ReLU-Batchnormalisierung, und das Modul RB stellt eine ReLU-Batchnormalisierung bereit. Optional können alle oder manche der niedrigeren Downsampling-Blöcke B1, B2, B3, B4, B5 mit einem Kontextaggregationsmodul (CAM) ausgestattet sein, wie dieses zuvor definiert wurde. Vorzugsweise werden CAM-Module nur in den ersten Downsampling-Blöcken B1, B2, B3 verwendet.
-
4 zeigt einen der Upsampling-Blöcke U1. Der Upsampling-Block U1 sammelt Low-Level-Merkmale, upsampled die High-Level-Merkmale auf die gleiche räumliche Dimension und führt eine Merkmalsfusion entweder durch Addition oder Konkatenation aus. Experimentell hat es sich gezeigt, dass eine Additionsoperation A bessere Resultate als eine Konkatenation erzeugt. Der Idee von DLA folgend, werden die Low-Level-Merkmalskarten mehrere Male in hierarchischer Weise upgesampled. Die Upsampling-Blöcke verwenden für diesen Zweck eine transponierte Faltung TC, gefolgt von einer normalen Faltungs-ReLU-Batchnormalisierungsstufe C3'. Insbesondere wird die transponierte Faltung TC nur auf die Eingabe I2 mit einer niedrigeren Auflösung angewandt. Im Allgemeinen empfängt jeder Upsampling-Block O1 zwei Eingaben I, nämlich eine erste Eingabe I1 und eine zweite Eingabe I2 und stellt eine Ausgabe O bereit, die die gleiche Auflösung wie die erste Eingabe I1 hat, die wiederum eine höhere Auflösung als die zweite Eingabe I2 hat. Diese Merkmalsextraktionsblöcke B1 bis B5 und die Upsampling-Blöcke U1, U2 können angeordnet und zueinander in Verbindung gesetzt sein, wie in 5 illustriert.
-
5 zeigt eine schematische Darstellung der kompletten Architektur des Backbones 10 gemäß einem Ausführungsbeispiel der Erfindung. Wie man sieht, sind die Eingangs- und Ausgangsdimensionen für die Pixelvorhersage gleich. Insbesondere können in der Unten-Oben-Richtung unterschiedliche Auflösungslevel definiert werden. Alle Merkmalskarten innerhalb der ersten Auflösungsschicht L1 weisen die gleiche räumliche Auflösung wie das Eingangsbild und das Ausgangsbild 15 auf. Die Merkmalskarten der zweiten Auflösungsschicht L2 weisen eine kleinere Auflösung als in der ersten Auflösungsschicht L1 auf. Insbesondere kann die Auflösung in der Breite W und/oder Höhe H reduziert sein. Vorzugsweise wird die Auflösung von Level zu Level in der Unten-Oben-Richtung um einen Faktor 2 reduziert, insbesondere nur mit Bezug auf die Breite W im Falle eines Entfernungsbildes und zusätzlich mit Bezug auf die Höhe H im Falle eines Vogelperspektivenbildes 11. Weiterhin stellen die inneren Upsampling-Blöcke U die Ausgabe O zweimal bereit, einmal dem nächsten Upsampling-Block U innerhalb der gleichen Auflösungsschicht und noch einmal an einen Upsampling-Block U in der nächst höheren Auflösungsschicht.
-
Die gesamte Vorhersageaufgabe schließt drei Teile ein, nämlich eine Schlüsselpunktklassifikation, die das Objektzentrum darstellt, eine Boxdimensionsregression für jede Schlüsselpunktsgruppe, nämlich Länge, Breite und Höhe, und eine Rotationsklassifikationsaufgabe für jede Gruppe von Schlüsselpunkten K, was nun im Folgenden erläutert wird. Daher kann der gesamte Verlust L
total wie folgt definiert sein:
-
Die Verluste werden mit w
1 = 1, w
2 = 0.98 und w
3 = 0.95 in diesem Beispiel gewichtet, die abstimmbare Hyperparameter darstellen. Eine gewichtete Kreuzentropie wird für die Schlüsselpunktklassifikation verwendet:
c bezeichnet die Objektklasse, wobei die Summe über alle definierten Objektklassen genommen wird. Die Gewichte w
c für die Klasse c sind invers proportional zu deren Häufigkeit f
c. Dies behebt das Ungleichgewichts-Problem großer Klassen in Entfernungsbildern, da die meisten Pixel nicht zu dem Objekt von Interesse gehören. Die ausgegebene Merkmalskarte enthält so viele Kanäle wie es Klassen von Interesse gibt. Die Ausgabe dieses Schlüsselpunktdetektionskopfes H1 ist in
6 illustriert, wo exemplarisch neun Schlüsselpunkte K im Vogelperspektivenbild 11 identifizieren wurden.
-
Für die Boxdimensionen wird ein einfacher L1-Verlust verwendet. Da die Eingangs- und Ausgangskarten die gleiche Dimension aufweisen, wird keine Offset-Anpassung für die Mittelpunkte und Boxen benötigt. Die vorhergesagten Schlüsselpunkte K stellen direkt die Objektzentren im 2D-Bild 11 bereit, die später direkt in 3D-Zentren transformiert werden können. Der Verlust L
box der Boxregression ist wie folgt definiert:
-
Der Vorhersagekopf hat drei Kanäle, je einen für Länge, Breite und Höhe.
-
Die Rotation wird als eine Klassifikation aus unter 21 Klassen vorhergesagt und verwendet einen gewichteten Kreuzentropieverlust wie der Schlüsselpunktsklassifikationskopf H1. Im Folgenden wird das Rotationsvorhersageschema detaillierter beschrieben.
-
Das Vorhersagen eines kontinuierlichen Werts als Regressionsziel ist eine ziemlich schwere Aufgabe beim Arbeiten mit Entfernungsbildern oder Vogelperspektivenbilden aufgrund des schiefen Seitenverhältnisses und der großen Variation in Objektdimensionen im Nah- und Fernbereich. Um dies zu überwinden, werden zunächst alle Boxrotationen auf den Bereich von [0,180]° abgebildet und dann der Bereich [0,180]° in 21 Klassen von je 9° eingeteilt. Die Aufgabe besteht dann darin, jede Gruppe von Schlüsselpunkten K und die korrespondierenden rezeptiven Felder zu einer dieser 21 Klassen zu identifizieren. Experimentell hat sich herausgestellt, dass dies ziemlich genaue Boxrotationsvorhersagen liefert. Jede mögliche Orientierung einer Box 15 (vergleiche
7) kann erhalten werden entweder durch Rotation gegen den Uhrzeigersinn sowie Rotation im Uhrzeigersinn. Zum Beispiel demonstriert
7, wie die Orientierung, die durch +45° erzeugt wird, die gleiche ist wie -145°, solange die Zeigerichtung keine Rolle spielt. Daher kann jeder Rotationswinkel abgebildet werden als:
wobei Φ die ursprüngliche Boxrotation darstellt.
-
Das Netzwerk 9 sagt Schlüsselpunkte K vorher, Boxen 15 und Rotationen, alle im 2D-Bild, wie das Entfernungsbild oder Vogelperspektivenbild 11. Zuerst wird für jede Gruppe von Schlüsselpunkten K ein einzelner Schlüsselpunkt K erhalten, der einen Objektmittelpunkt kennzeichnet. Dies wird unter Verwendung eines einfachen abstandsbasierten Schwellwertverfahrens und einer Unterdrückung naher Schlüsselpunkte K gemacht. Da der gewählte Schlüsselpunkt K einen Objektmittelpunkt darstellt, sind die Schlüsselpunkte K inhärent voneinander durch die Objektkörper um sie herum separiert, und folglich überlappen sich die Boxen 15 im Allgemeinen nicht. Jedoch kann eine nachfolgende Non-Maximum-Unterdrückung für Objekte 8 angewandt werden, die zu nahe beieinander erscheinen, so dass die Boxen 15 eine gewisse Überlappung aufweisen. Nach diesem Schritt kann für jeden Schlüsselpunkt K zum Beispiel ein (3.3) Fenster in der Box 15 gewählt werden, welches an der gleichen Stelle wie der Schlüsselpunkt K zentriert ist, und die Rotationsvorhersageausgaben und die korrespondierenden Boxdimensionen und Rotationen werden unter Verwendung einer Maximumsoperation auf dem Fenster erfasst. Am Ende dieses Schritts ist es die einzige verbleibende Aufgabe, die Zeilen- und Spaltenindizes der vorhergesagten Schlüsselpunkte K im Entfernungs- oder Vogelperspektivenbild in 3D-kartesische Koordinaten (x, y, z) in der Punktewolke zu konvertieren. Im Falle eines Entfernungsbildes kann dies einfach unter Verwendung der Tiefeninformation aus dem Entfernungsbild an der Position des Schlüsselpunkts K und den Winkeln erfolgen, die durch die Zeilen- und Spaltenindizes des Schlüsselpunkts kodiert sind:
-
Hier korrespondiert Φ zum Azimutwinkel (genannt α in
1) und θ zum Polarwinkel. Im Falle des Vogelperspektivenbildes wird dies einfach unter Verwendung der x-, y-, z-Bereiche und Zellauflösungen gemacht, die für die Erzeugung des Vogelperspektivenbildes 11, wie unten beschrieben, verwendet wurden:
wobei δ die Zellauflösung des Vogelperspektivenbildes darstellt, in diesem Fall 0,1 m, wobei der z-Wert direkt durch Auslesen des Vogelperspektivenbildes 11 an der korrespondierenden Zeilen- und Spaltenposition erhalten wird, da die Pixelwerte die Höhe angeben. Daher können die Resultate wieder in die Punktewolkendarstellung übertragen werden, wie zum Beispiel in
9 dargestellt, die eine schematische Darstellung von Detektionen in einer Szene in der 3D-Punktewolke 16b illustriert, wobei insbesondere
8 nur Grundwahrheitsboxen 15' in der 3D-Punktewolke 16a illustriert und
9 die 3D-Punktewolke 16b mit den Detektionsergebnissen in Form der detektierten Boxen 15 und ihren jeweiligen Grundwahrheiten 15'.
-
Weiterhin zeigt 10 eine schematische Darstellung der Latenzzeiten t in Millisekunden und die Durchschnittsgenauigkeit AP der Ergebnisse gemäß einem Ausführungsbeispiel der Erfindung, welches mit 17 bezeichnet ist und andere getestete Netzwerke 18. Wie man sehen kann, können, obwohl die Genauigkeit und Präzision ein bisschen niedriger sind als die der meisten anderen Netzwerke, die Latenzzeiten enorm reduziert werden mit Bezug auf die anderen existierenden Netzwerke.
-
Somit schlagen die Erfindung und ihre Ausführungsformen eine neue Architektur vor, welche eine einfache 2D-Repräsentation von Sensordaten verwendet und dann eine semantische Segmentierung als eine einzelne einheitliche Backbone-Operation zur Detektion von Schlüsselpunkten und zur Vorhersage von Boxen verwendet. Durch die Darstellung von Objekten als Schlüsselpunkte kann die Notwendigkeit von Ankerboxen und einer Non-Maximum-Unterdrückung vollständig eliminiert werden, die beide rechenintensive Operationen sind. Obwohl hier für eine Schlüsselpunktaufgabe vorgestellt, ist das gesamte Netzwerk ohne Änderungen am Backbone direkt für eine semantische Segmentierung verwendbar. Auch wird eine neue Technik präsentiert, um Rotationen von 3D-Bounding-Boxen vorherzusagen, was eine sehr schwierige Aufgabe in Vogelperspektivenbildern oder Entfernungsbildern oder Punktewolken aufgrund der Diversität ihrer Punktewolke darstellt. Die vorgeschlagene Architektur übertrifft alle Modelle in Bezug auf die Latenz um ein Vielfaches und ist dennoch konkurrenzfähig in Bezug auf die Genauigkeit bei der Erkennung von Objekten im Nah- und Mittelbereich, wie in dargestellt. Diese Art der Architektur eignet sich besonders für den Einsatz im Stadtverkehr, wo die Latenz eine entscheidende Rolle bei der Vermeidung von Kollisionen spielt. Dies hat den Vorteil, dass die Echtzeit-Performance von Deep-Learning-Modellen auf einem eingebetteten Ziel bei gleichzeitig angemessener Genauigkeit gewährleistet ist. Eine einstufige vollständig faltende Netzwerkarchitektur kann aus der semantischen Segmentierung für die ultraschnelle Erkennung von Schlüsselpunkten in 2D-Bildern adaptiert werden. Speziell im Hinblick auf Entfernungsbilder kann auch eine Möglichkeit geschaffen werden, die Entfernung, nämlich die Reichweite von Objekten, als Mittel zu nutzen, um die Aufmerksamkeit des Netzwerks auf Objekte mit kurzer oder langer Reichweite zu lenken, wodurch es möglich wird, das Netzwerk für Fahrszenarien mit niedriger und hoher Geschwindigkeit neu zu konfigurieren.