-
QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
-
Die vorliegende Patentanmeldung beansprucht die Priorität der vorläufigen Anmeldung Nr. 62/473 054 mit dem Titel „JOINT 3D OBJECT DETECTION AND ORIENTATION ESTIMATION VIA MULTIMODAL FUSION“, die am 17. März 2017 eingereicht und an deren Abtretungsempfänger abgetreten wurde und durch Bezugnahme in ihrer Gesamtheit hierin aufgenommen wird.
-
HINTERGRUND
-
Ein Verständnis einer dreidimensionalen (3D) Szene kann für viele Anwendungen hilfreich sein, einschließlich automatisierter Fahr- und hochentwickelter Fahrassistenzsysteme. Bei diesen Anwendungen kann es hilfreich sein, verschiedene Verkehrsteilnehmer, z. B. Fahrzeuge, Fußgänger und Radfahrer, für Entscheidungsfindung, Risikobewertung und Bewegungsplanung zu lokalisieren und zu erkennen. Auf einer automatisierten Fahrplattform werden häufig multimodale sensorische Vorrichtungen verwendet, da jeder Sensor seine Vor- und Nachteile hat. Kameras und Lichterfassung und Entfernungsmessung (light detection and ranging (LiDAR)) sind zwei gängige Wahrnehmungssensoren. Bilder enthalten eine große Menge visueller Hinweise für Erkennungsaufgaben. Die Bildqualität kann jedoch durch unterschiedliche Beleuchtungsvariationen beeinträchtigt werden, und es kann aufgrund der perspektivischen Projektion schwierig sein, Tiefeninformationen aus Bilddaten zu rekonstruieren. Andererseits stellen LiDAR-Sensoren genaue Tiefenmessungen bereit und sind unveränderlich gegenüber der Beleuchtung. Die LiDAR-Sensordaten sind jedoch relativ spärlich, so dass es schwierig sein kann, Objekte so genau zu erkennen wie im Bildbereich.
-
In Anbetracht des Vorstehenden kann es Möglichkeiten geben, Objekte von Interesse genauer zu erfassen und ihre Ausrichtung in 3D abzuschätzen. Weitere Vorteile ergeben sich aus der nachstehend bereitgestellten Offenbarung.
-
KURZDARSTELLUNG
-
Diese Kurzdarstellung wird bereitgestellt, um eine Auswahl von Konzepten in vereinfachter Form vorzustellen, die nachstehend in der DETAILLIERTEN BESCHREIBUNG näher beschrieben werden. Diese Kurzdarstellung ist weder dazu bestimmt, Schlüsselmerkmale des beanspruchten Gegenstands zu kennzeichnen, noch soll sie als Hilfe beim Bestimmen des Schutzumfangs des beanspruchten Gegenstands verwendet werden.
-
In einem Gesichtspunkt stellt die Offenbarung ein Verfahren zum Identifizieren von Objekten aus einer 3D-Punktwolke und einem 2D-Bild bereit. Das Verfahren kann ein Bestimmen eines ersten Satzes von 3D-Vorschlägen unter Verwendung von euklidischem Clustering auf der 3D-Punktwolke einschließen. Das Verfahren kann ein Bestimmen eines zweiten Satzes von 3D-Vorschlägen aus der 3D-Punktwolke basierend auf einem neuronalen 3D-Faltungsnetzwerk einschließen. Das Verfahren kann ein Zusammenführen (pooling) des ersten Satzes von 3D-Vorschlägen und des zweiten Satzes von 3D-Vorschlägen einschließen, um einen Satz von 3D-Kandidaten zu bestimmen. Das Verfahren kann ein Projizieren des ersten Satzes von 3D-Vorschlägen auf das 2D-Bild einschließen. Das Verfahren kann ein Bestimmen eines ersten Satzes von 2D-Vorschlägen basierend auf dem Bild unter Verwendung eines neuronalen 2D-Faltungsnetzes einschließen. Das Verfahren kann ein Zusammenführen des projizierten ersten Satzes von 3D-Vorschlägen und des ersten Satzes von 2D-Vorschlägen einschließen, um einen Satz von 2D-Kandidaten zu bestimmen. Das Verfahren kann ein Zusammenführen des Satzes von 3D-Kandidaten und des Satzes von 2D-Kandidaten einschließen.
-
In einem weiteren Gesichtspunkt stellt die Offenbarung ein Fahrzeug mit einer Kamera bereit, die dazu konfiguriert ist, ein 2D-Bild zu erlangen, und ein „Lichterfassungs- und Entfernungsmessungs“(LiDAR)-System, das dazu konfiguriert ist, eine 3D-Punktwolke zu erlangen. Das Fahrzeug kann ein multimodales Fusionssystem einschließen, das dazu konfiguriert ist, Objekte aus der 3D-Punktwolke und dem 2D-Bild zu identifizieren. Das multimodale Fusionssystem kann einen Speicher und einen Prozessor einschließen, der kommunikativ mit dem Speicher gekoppelt ist. Der Prozessor kann dazu konfiguriert sein, einen ersten Satz von 3D-Vorschlägen unter Verwendung von euklidischem Clustering auf der 3D-Punktwolke zu bestimmen. Der Prozessor kann dazu konfiguriert sein, einen zweiten Satz von 3D-Vorschlägen aus der 3D-Punktwolke basierend auf einem neuronalen 3D-Faltungsnetz zu bestimmen. Der Prozessor kann dazu konfiguriert sein, den ersten Satz von 3D-Vorschlägen und den zweiten Satz von 3D-Vorschlägen zusammenzuführen, um einen Satz von 3D-Kandidaten zu bestimmen. Der Prozessor kann dazu konfiguriert sein, den ersten Satz von 3D-Vorschlägen auf das 2D-Bild zu projizieren. Der Prozessor kann dazu konfiguriert sein, einen ersten Satz von 2D-Vorschlägen basierend auf dem Bild unter Verwendung eines neuronalen 2D-Faltungsnetzes zu bestimmen. Der Prozessor kann dazu konfiguriert sein, den projizierten ersten Satz von 3D-Vorschlägen und den ersten Satz von 2D-Vorschlägen zusammenzuführen, um einen Satz von 2D-Kandidaten zu bestimmen. Der Prozessor kann dazu konfiguriert sein, den Satz von 3D-Kandidaten und den Satz von 2D-Kandidaten zusammenzuführen.
-
In einem weiteren Gesichtspunkt stellt die Offenbarung ein nichtflüchtiges, computerlesbares Medium mit Anweisungen bereit, die bei Ausführen durch einen Prozessor den Prozessor veranlassen, Objekte aus der 3D-Punktwolke und dem 2D-Bild zu identifizieren. Das computerlesbare Medium kann Anweisungen einschließen, um einen ersten Satz von 3D-Vorschlägen unter Verwendung von euklidischem Clustering auf der 3D-Punktwolke zu bestimmen. Das computerlesbare Medium kann Anweisungen einschließen, um einen zweiten Satz von 3D-Vorschlägen aus der 3D-Punktwolke basierend auf einem neuronalen 3D-Faltungsnetz zu bestimmen. Das computerlesbare Medium kann Anweisungen einschließen, um den ersten Satz von 3D-Vorschlägen und den zweiten Satz von 3D-Vorschlägen zusammenzuführen, um einen Satz von 3D-Kandidaten zu bestimmen. Das computerlesbare Medium kann Anweisungen einschließen, um den ersten Satz von 3D-Vorschlägen auf das 2D-Bild zu projizieren. Das computerlesbare Medium kann Anweisungen einschließen, um einen ersten Satz von 2D-Vorschlägen basierend auf dem Bild unter Verwendung eines neuronalen 2D-Faltungsnetzes zu bestimmen. Das computerlesbare Medium kann Anweisungen einschließen, um den projizierten ersten Satz von 3D-Vorschlägen und den ersten Satz von 2D-Vorschlägen zusammenzuführen, um einen Satz von 2D-Kandidaten zu bestimmen. Das computerlesbare Medium kann Anweisungen einschließen, um den Satz von 3D-Kandidaten und den Satz von 2D-Kandidaten zusammenzuführen.
-
Diese und andere Gesichtspunkte der Erfindung werden nach einem Überblick über die detaillierte Beschreibung, die folgt, umfassender verstanden werden.
-
Figurenliste
-
Die neuartigen Merkmale, von denen angenommen wird, dass sie charakteristisch für die Offenbarung sind, sind in den beiliegenden Ansprüchen dargelegt. In den folgenden Beschreibungen sind ähnliche Teile in der gesamten Patentschrift und in den Zeichnungen jeweils mit denselben Ziffern gekennzeichnet. Die Zeichnungsfiguren sind nicht notwendigerweise maßstabsgetreu gezeichnet, und bestimmte Figuren können der Klarheit und Kürze wegen in übertriebener oder verallgemeinerter Form gezeigt sein. Die Offenbarung selbst sowie eine bevorzugte Art der Nutzung, weitere Objekte und Weiterentwicklungen davon lassen sich jedoch am besten unter Bezugnahme auf die folgende detaillierte Beschreibung der veranschaulichenden Gesichtspunkte der Offenbarung verstehen, wenn sie in Verbindung mit den beigefügten Zeichnungen gelesen wird, wobei:
- 1 eine schematische Ansicht einer Beispielbetriebsumgebung eines multimodalen Fusionssystems für eine 3D-Objekterfassung und Ausrichtung gemäß Gesichtspunkten der vorliegenden Offenbarung veranschaulicht;
- 2 ein konzeptionelles Diagramm veranschaulicht, das eine Gesamtarchitektur für ein multimodales Fusionssystem gemäß Gesichtspunkten der vorliegenden Offenbarung veranschaulicht;
- 3 eine Beispiel-3D-Punktwolke zur Objekterfassung gemäß Gesichtspunkten der vorliegenden Offenbarung veranschaulicht;
- 4 ein Beispiel-2D-Bild zur Objekterfassung gemäß Gesichtspunkten der vorliegenden Offenbarung veranschaulicht;
- 5 ein Flussdiagramm veranschaulicht, das ein Beispielverfahren zur Objekterfassung und -lokalisierung gemäß Gesichtspunkten der vorliegenden Offenbarung zeigt;
- 6 ein exemplarisches Systemdiagramm verschiedener Hardwarekomponenten und anderer Merkmale zur Verwendung gemäß Gesichtspunkten der vorliegenden Offenbarung vorstellt; und
- 7 ein Blockdiagramm verschiedener exemplarischer Systemkomponenten zur Verwendung gemäß Gesichtspunkten der vorliegenden Offenbarung ist.
-
DETAILLIERTE BESCHREIBUNG
-
Das Folgende schließt Definitionen von ausgewählten Begriffen ein, die hierin verwendet werden. Die Definitionen schließen verschiedene Beispiele und/oder Formen von Komponenten ein, die in den Schutzumfang eines Begriffs fallen und die zur Implementierung verwendet werden können. Die Beispiele sollen nicht einschränkend sein.
-
Ein „Prozessor“, wie hierin verwendet, verarbeitet Signale und führt allgemeine Berechnungen und arithmetische Funktionen durch. Von dem Prozessor verarbeitete Signale können digitale Signale, Datensignale, Computeranweisungen, Prozessoranweisungen, Nachrichten, ein Bit, einen Bitstrom oder andere Berechnungen einschließen, die empfangen, übertragen und/oder erfasst werden können.
-
Ein „Bus“, wie hierin verwendet, bezieht sich auf eine vernetzte Architektur, die funktionsfähig verbunden ist, um Daten zwischen Computerkomponenten innerhalb eines einzelnen oder mehrerer Systeme zu übertragen. Der Bus kann unter anderem ein Speicherbus, eine Speichersteuerung, ein Peripheriebus, ein externer Bus, ein Kreuzschienenschalter und/oder ein lokaler Bus sein. Der Bus kann auch ein Fahrzeugbus sein, der Komponenten innerhalb eines Fahrzeugs unter Verwendung von Protokollen, wie unter anderem beispielsweise Controller Area Network (CAN), Local Interconnect Network (LIN), verbindet.
-
Ein „Speicher“, wie er hierin verwendet wird, kann einen flüchtigen Speicher und/oder einen nichtflüchtigen Speicher einschließen. Ein nichtflüchtiger Speicher kann zum Beispiel ROM (Read Only Memory), PROM (Programmable Read Only Memory), EPROM (Löschbarer PROM) und EEPROM (Elektrisch Löschbarer PROM) einschließen. Der flüchtige Speicher kann zum Beispiel RAM (Direktzugriffsspeicher), synchronen RAM (SRAM), dynamischen RAM (DRAM), synchronen DRAM (SDRAM), doppelten Datenraten-SDRAM (DDR SDRAM) und/oder direkten RAM-Bus-RAM (DRRAM) einschließen.
-
Eine „funktionsfähige Verbindung“, wie sie hierin verwendet wird, kann eine Verbindung einschließen, durch die Einheiten „funktionsfähig verbunden“ sind, und ist eine Verbindung, in der Signale, physische Kommunikation und/oder logische Kommunikation gesendet und/oder empfangen werden können. Eine funktionsfähige Verbindung kann eine physische Schnittstelle, eine Datenschnittstelle und/oder eine elektrische Schnittstelle einschließen.
-
Ein „Fahrzeug“, wie es hierin verwendet wird, bezieht sich auf jedes sich bewegende Fahrzeug, das durch irgendeine Form von Energie angetrieben wird. Ein Fahrzeug kann menschliche Insassen oder Fracht transportieren. Der Begriff „Fahrzeug“ schließt ein, ist aber nicht beschränkt auf: PKW, LKW, Kastenwagen, Kleinbusse, SUVs, Motorräder, Motorroller, Boote, Wassermotorräder und Flugzeuge. In manchen Fällen schließt ein Kraftfahrzeug einen oder mehrere Motoren ein.
-
Die jüngsten Arbeiten zur 2D-Objekterfassung haben aufgrund des Erfolgs von tiefen neuronalen Faltungsnetzen einen großen Fortschritt erzielt. Das Rekonstruieren von Tiefeninformationen aus einem Bild ist jedoch bekanntermaßen eine Herausforderung, da die Tiefeninformationen für die 3D-Objekterfassung erforderlich sein können. Diese Offenbarung stellt ein System zum Nutzen von LiDAR-Punktwolkendaten und Bilddaten zum Lokalisieren von Objekten in 3D bereit. Die Offenbarung stellt einen effektiven 3D-Objektvorschlagsalgorithmus zum Behandeln von Mehrklassenobjekten im Fahrszenario bereit. Die Offenbarung stellt einen Rahmen bereit, der neuronale 2D- und 3D-Faltungsnetze mit 2D- und 3D-Regionen von Interesse (Region of Interest (ROI)) integriert. Die Offenbarung stellt einen multimodalen Rahmen bereit, der einen kompakten bilinearen Pooling-Algorithmus verwendet, um Informationen aus dem Bild und der Punktwolke einzubeziehen. Der Rahmen zeigt günstige Ergebnisse bei anspruchsvollen realen Datensätzen wie beispielsweise dem KITTI-Datensatz.
-
Unter Hinwendung zu 1 wird eine schematische Ansicht einer Beispielbetriebsumgebung 100 eines Objekterfassungssystems 110 für eine 3D-Objekterfassung und Ausrichtung gemäß eines Gesichtspunktes der Offenbarung bereitgestellt. Das Objekterfassungssystem 110 kann sich in einem Fahrzeug 102 befinden. Die Komponenten des Objekterfassungssystems 110 sowie die Komponenten anderer hierin erörterter Systeme, Hardware- und Softwarearchitekturen können kombiniert, weggelassen oder in verschiedenen Implementierungen angeordnet werden.
-
Das Fahrzeug 102 kann allgemein eine elektronische Steuereinheit (electronic control unit (ECU)) 112 einschließen, die eine Vielzahl von Fahrzeugsystemen betrieblich steuert. Die Fahrzeugsysteme können unter anderem einschließen, sind jedoch nicht beschränkt auf das Objekterfassungssystem 110 einschließlich eines multimodalen Fusionssystems 140, einschließlich Fahrzeugheizungs-, -lüftungs- und -klimaanlagensysteme, (HVAC-Systeme), Fahrzeugaudiosysteme, Fahrzeugvideosysteme, Fahrzeuginfotainmentsysteme, Fahrzeugtelefonsysteme und dergleichen. Das multimodale Fusionssystem 140 kann eine Kamera 120 oder eine andere Bildaufnahmevorrichtung (z. B. einen Scanner) einschließen, die auch an die ECU 112 angeschlossen werden kann, um Bilder der Umgebung um das Fahrzeug 102 herum bereitzustellen, wie nachstehend detaillierter beschrieben. Das multimodale Fusionssystem 140 kann auch einen LiDAR-Sensor 122 einschließen, der eine 3D-Punktwolke aufnehmen kann. Das Objekterfassungssystem 110 kann auch einen Prozessor 114 und einen Speicher 116 einschließen, die mit der Kamera 120, dem LiDAR-Sensor 122, einer Kommunikationsvorrichtung 130 und einem automatischen Fahrsystem 132 kommunizieren.
-
Die ECU 112 kann einen internen Verarbeitungsspeicher, eine Schnittstellenschaltung und Busleitungen zum Übertragen von Daten, zum Senden von Befehlen und zum Kommunizieren mit den Fahrzeugsystemen einschließen. Die ECU 112 kann einen internen Prozessor und Speicher einschließen, nicht gezeigt. Das Fahrzeug 102 kann auch einen Bus zum internen Senden von Daten zwischen den verschiedenen Komponenten des Objekterfassungssystems 110 einschließen.
-
Das Fahrzeug 102 kann ferner eine Kommunikationsvorrichtung 130 (z. B. drahtloses Modem) zum Bereitstellen einer drahtgebundenen oder drahtlosen Computerkommunikation einschließen, die verschiedene Protokolle zum Senden/Empfangen elektronischer Signale intern in Bezug auf Merkmale und Systeme innerhalb des Fahrzeugs 102 und in Bezug auf externe Vorrichtungen verwendet. Diese Protokolle können ein drahtloses System einschließen, das Hochfrequenz(HF)-Kommunikation (z. B. IEEE 802.11 (Wi-Fi), IEEE 802.15.1 (Bluetooth®)), ein Nahfeldkommunikationssystem (near field communication (NFC)) (z. B. ISO 13157), ein lokales Netzwerk (local area network (LAN)), ein drahtloses Weitverkehrsnetzwerk (wireless wide area network (WWAN)) (z. B. Mobilfunk) und/oder ein Punkt-zu-Punkt-System verwendet. Darüber hinaus kann die Kommunikationsvorrichtung 130 des Fahrzeugs 102 funktionsfähig zur internen Computerkommunikation über einen Bus (z. B. einen CAN- oder LIN-Protokollbus) verbunden werden, um die Datenein- und -ausgabe zwischen der elektronischen Steuereinheit 112 und den Fahrzeugmerkmalen und -systemen zu erleichtern. In einem Gesichtspunkt kann die Kommunikationsvorrichtung 130 für eine Fahrzeug-zu-Fahrzeug-Kommunikation (vehicle-to-vehicle (V2V) communications) konfiguriert sein. Zum Beispiel kann die V2V-Kommunikation drahtlose Kommunikation über ein reserviertes Frequenzspektrum einschließen. Als weiteres Beispiel kann die V2V-Kommunikation ein Ad-hoc-Netzwerk zwischen Fahrzeugen einschließen, das unter Verwendung von Wi-Fi oder Bluetooth® eingerichtet wurde.
-
Das Fahrzeug 102 kann mindestens eine Kamera 120 einschließen. Die Kamera 120 kann eine Digitalkamera sein, die fähig ist, ein oder mehrere Bilder oder Bildströme aufzunehmen, oder eine andere Bilderfassungsvorrichtung, wie beispielsweise ein Scanner, sein. Die Kamera 120 kann ein Bild eines Raumes direkt vor dem Fahrzeug 102 bereitstellen. Andere Kameras können Bilder von anderen Räumen in der Umgebung des Fahrzeugs 102 bereitstellen. Zum Beispiel kann sich eine Rückkamera über einem Stoßfänger des Fahrzeugs befinden. Die Kamera 120 kann das Bild einem 2D-Zweig 146 des multimodalen Fusionssystems 140 und einem 3D-Zweig 144 des multimodalen Fusionssystems 140 bereitstellen.
-
Das Fahrzeug 102 kann mindestens einen Lichterfassungs- und Entfernungsmessungssensor (LiDAR) 122 einschließen. Der LiDAR-Sensor 122 kann einen Bereich mit einem Laserlicht ausleuchten und Rückstreuung erfassen. Der LiDAR-Sensor 122 kann eine 3D-Punktwolke erzeugen, die mögliche Orte anzeigt, an denen ein Objekt das Laserlicht reflektierte. Der LiDAR-Sensor 122 kann auch die 3D-Punktwolke für den 3D-Zweig 144 und ein 3D-Vorschlagsmodul 142 des multimodalen Fusionssystems 140 bereitstellen.
-
Das Fahrzeug 102 kann ein automatisches Fahrsystem 132 zum Steuern des Fahrzeugs 102 einschließen. Das automatische Fahrsystem 132 kann ein Spurhalteassistenzsystem, ein Kollisionswarnsystem oder ein vollautonomes Fahrsystem einschließen. Das automatische Fahrsystem 132 kann Objektpositions- und Ausrichtungsinformationen vom multimodalen Fusionssystem 140 empfangen. In einem Gesichtspunkt kann das multimodale Fusionssystem 140 eine Komponente des automatischen Fahrsystems 132 sein.
-
2 veranschaulicht ein konzeptionelles Diagramm 200, das einen Gesamtrahmen des multimodalen Fusionssystems veranschaulicht. Der gesamte Rahmen ist aus mehreren Teilen zusammengesetzt: einem 3D-Objektvorschlagsmodul 142, einem neuronalen 3D-Netzzweig 144, einem neuronalen 2D-Netzzweig 146 und einer multimodalen kompakten bilinearen (multimodal compact bilinear (MCB)) Pooling-Schicht 148 zur Erfassung und Ausrichtungsabschätzung.
-
Das 3D-Objektvorschlagsmodul 142 kann einen kleinen Satz von 3D-Kandidatenboxen erzeugen, um die meisten Vordergrundobjekte im 3D-Raum zu lokalisieren. Das 3D-Objektvorschlagsmodul 142 kann die Belegungsabschätzung unter diskretisierten 3D-Gittern und die 3D-Geometrieanalyse mit Rohpunktwolke nutzen, um genaue Objektvorschläge im 3D-Raum vorzuschlagen. 3 veranschaulicht ein Beispiel einer LiDAR-Punktwolke 202. Mit einem Einzelbild der LiDAR-Punktwolke 202 (z. B. vom LiDAR-Sensor 122) ist es aufgrund der Verdeckung und der Grenzen des LiDAR-Bereichs schwierig, jedes umliegende Objekt zu lokalisieren. Zum Beispiel würden die LiDAR-Strahlen, die auf ein Vordergrundobjekt treffen, ein anderes Objekt verdecken. Als weiteres Beispiel können die LiDAR-Strahlen für ein entferntes Objekt aufgrund der exponentiellen LiDAR-Leistungsabnahme mit zunehmender Entfernung spärlich sein. LiDAR kann jedoch in einer Einzelbild-LiDAR-Punktwolke optimal eingesetzt werden, um eine gute Abschätzung der Umgebung zu erhalten. Durch das Verfolgen jedes LiDAR-Strahls in einem Einzelbild kann das 3D-Objektvorschlagsmodul 142 die Belegungswahrscheinlichkeit des Raumes abschätzen. Dieses Verfahren kann als binäres Belegungsgittermodell bezeichnet werden und kann ein binäres Belegungsgitter 204 erzeugen. Nach dem Diskretisieren des 3D-Raums in Voxel kann das 3D-Objektvorschlagsmodul 142 für jedes Voxel, gleich ob belegt oder unbelegt, einen binären Zustand annehmen. Das 3D-Objektvorschlagsmodul 142 kann die logarithmierten Belegungschancen jedes Voxels, das von LiDAR-Strahlen durchquert wird, iterativ aktualisieren. Zum Beispiel wird eine Prozedur zum Aktualisieren der logarithmierten Belegungschancen von Voxeln beschrieben in D. Maturana und S. Scherer, „VoxNet: A 3D Convolutional Neural Network for Real-Time Object Recognition“, IROS, 2015, das durch Bezugnahme hierin eingeschlossen ist. Das 3D-Objektvorschlagsmodul 142 kann eine Belegungswahrscheinlichkeit erstellen, die jedem Voxel im Bereich von [0, 1] entspricht. Für Voxel ohne Aktualisierung in der Prozedur, wie sie sich hinter der LiDAR-Auftreffoberfläche befinden (z. B. eine verdeckende Oberfläche), kann das 3D-Objektvorschlagsmodul sie als belegt annehmen und die Wahrscheinlichkeit auf 1 setzen, was sich von der Prozedur von Maturana und Scherer unterscheidet. Das diskretisierte Belegungsgitter stellt nicht nur eine LiDAR-Auftreffoberfläche bereit, die den möglichen Ort von Vordergrundobjekten eingrenzt, sondern reduziert auch die Größe der 3D-Eingabe für die weitere Merkmalsextraktion im End-to-End-Fusionsnetzwerk.
-
Eine Einzelbild-LiDAR-Punktwolke 202, die im Rahmen des Fahrszenarios im Freien aufgenommen wurde, weist ein ähnliches Muster auf, und es ist einfach, aus ihr sinnvolle Cluster zu extrahieren, indem man nur die Geometriehinweise der LiDAR-Rohpunktwolke berücksichtigt. Das 3D-Objektvorschlagsmodul 142 kann zunächst die Bodenpunkte unter Verwendung eines Bodenentfernungsmoduls 220 entfernen, das beispielsweise einen progressiven morphologischen Filteralgorithmus ausführen kann.
-
Ein Beispielalgorithmus ist beschrieben in K. Zhang, S.-C. Chen, D. Whitman, M.-L. Shyu, J. Yan und C. Zhang, „A Progressive Morphological Filter for Removing Nonground Measurements From Airborne LIDAR Data“. IEEE TRANSACTIONS ON GEOSCIENCE AND REMOTE SENSING, 41(4):872 bis 882, 2003, die hierin durch Bezugnahme aufgenommen ist. Der Beispielalgorithmus wird häufig verwendet, um Bodenpunkte zu extrahieren, und ist robust gegen Stöße auf der Straße. Nachdem die Bodenpunkte aus der Punktwolke entfernt wurden, kann das 3D-Objektvorschlagsmodul 142 ein euklidisches Clustering-Modul 222 verwenden, das einen euklidischen Clustering-Algorithmus ausführen kann, um den Rest der Punktwolke 202 zu bündeln und mögliche Objektcluster zu erlangen. Für einen Punkt p in einem Cluster c kann das 3D-Objektvorschlagsmodul 142 den euklidischen Abstand zwischen p und seinem nächsten Nachbarn als d1 bezeichnen. Wenn der Abstand d1 kleiner oder gleich dem Schwellenwert th ist, dann wird der nächste Nachbar in den Cluster eingeschlossen. Da der Abstand zwischen Objekten im Freien unterschiedlich ist, können unterschiedliche Schwellenwerte th gewählt werden, um Objektcluster mit unterschiedlicher Granularität zu extrahieren.
-
Obwohl die aus der 3D-Geometrieanalyse erlangten Objektcluster ungefähre Orte von umliegenden Objekten anzeigen können, kann das 3D-Objektvorschlagsmodul 142 ferner 3D-Boxen mit genaueren Orten und Größen vorschlagen. Das 3D-Objektvorschlagsmodul 142 kann ein 3D-Vorschlagsgenerierungsmodul 224 einschließen, um jede 3D-Vorschlagsbox 226 durch (l, w, h, x, y, z) zu parametrieren, die die Größe (Länge, Breite und Höhe) und die Mitte (x, y, z) (in Metern) der 3D-Vorschlagsboxen 226 im LiDAR-Koordinatensystem darstellen. Das 3D-Objektvorschlagsmodul 142 kann einen kleinen Satz von Größen, SGröße, für 3D-Vorschlagsboxen 226 bezeichnen, die den üblichen Seitenverhältnissen für Zielobjektkategorien entspricht. Ein Beispielalgorithmus zur Generierung von 3D-Objektvorschlägen ist in X. Chen, H. Ma, J. Wan, B. Li und T. Xia, „Multi-View 3D Object Detection Network for Autonomous Driving“ in CVPR, 2017, beschrieben, das hierin durch Bezugnahme aufgenommen wird.
-
Das 3D-Objektvorschlagsmodul 142 kann Bodenwahrheits(ground truth (GT))-Objektgrößen im Trainingssatz unter Verwendung eines Mittelwert-Shift-Clustering-Algorithmus bündeln, um SGröße zu erlangen. Für jeden Objektcluster, der aus der 3D-Geometrieanalyse gewonnen wird, kann das 3D-Objektvorschlagsmodul 142 Boxen vorschlagen mit (1, w, h) ∈ SGröße. Die Ausrichtungen der Vorschläge können so festgelegt werden, dass sie mit der Hauptachse im LiDAR-Koordinatensystem übereinstimmen.
-
Bezüglich des Orts jeder 3D-Vorschlagsbox 226 kann die z-Koordinate der Boxmitte basierend auf einer Bodenhöhe aus der 3D-Geometrieanalyse und der Objekthöhe h berechnet werden. Das Bestimmen (x, y) kann die Belegungsabschätzung in dem aus dem Belegungsgitter 204 abgeleiteten 3D-Raum verwenden. Intuitiv kann davon ausgegangen werden, dass sich die umgebenden Objekte nicht vor der LiDAR-Auftreffoberfläche befinden und den Freiraum verdecken sollten. Daher kann das 3D-Objektvorschlagsmodul 142 durch Nutzen des LiDAR-Auftreffoberflächenhinweises aus dem Belegungsgitter 204 für jedes Seitenverhältnis eine Vorschlagsbox 226 erzeugen, die gleichzeitig den Objektcluster umschließen und den belegten Raum größtenteils verdecken kann. Das 3D-Objektvorschlagsmodul 142 kann (x, y) variieren, um die am stärksten belegte Box zu finden, da z bereits festgelegt ist. Die Grenze des Objektclusters auf der xy-Ebene kann angegeben werden als: (Objxmin, Objymin, Objxmax, Objymax). Bei der Vorschlagsgröße (1, w) reicht der mögliche Ort des Zentrums von [Objxmax - 1/2, Objxmin + 1/2] × [Objymax - w/2, Objymin + w/2]. Für jeden möglichen Ort des Zentrums kann das 3D-Objektvorschlagsmodul 142 die Summe der logarithmierten Belegungschancen in der Box berechnen und schließlich diejenige mit der maximalen Belegungswahrscheinlichkeit auswählen. Wenn der Objektcluster zu groß ist, um von der Box eingeschlossen zu werden, was geschieht, wenn Objxmax - 1/2 > Objxmin + 1/2 oder Objymax - w/2 > Objymin + w/2, dann kann das 3D-Objektvorschlagsmodul 142 eine Box 226 mit x = (Objxmin + Objxmax)/2 und y = (Objymin + Objymax)/2 erzeugen, da die Objektcluster nicht immer perfekt sind. Am Ende, wenn es N verschiedene Größen in SGröße und K Objektcluster aus der 3D-Geometrieanalyse gibt, dann gibt es NK verschiedene Vorschlagsboxen. Die Anzahl der Vorschläge wird für jedes Einzelbild der Punktwolke unterschiedlich sein, da die Anzahl der Objektcluster K aus der 3D-Geometrieanalyse unterschiedlich ist.
-
Das multimodale Fusionssystem 140 kann genaue 3D-Lokalisierungs- und Klassifizierungsergebnisse aus multimodalen Informationen bereitstellen. Während die LiDAR-Punktwolke 202 eine zuverlässigere 3D-Lokalisierung (einschließlich Ort und Ausrichtung) von Objekten bereitstellen kann, kann die Analyse der LiDAR-Punktwolke 202 ein Objekt mit spärlichen Daten nicht gut erkennen. Andererseits hat das Bild 206 eine viel bessere Fähigkeit, Objekte zu erkennen, da das Bild 206 Informationen von Rot-Grün-Blau (RGB)-Kanälen aufweist und dichter strukturierte Daten bereitstellt. 4 veranschaulicht ein Beispielbild 206, das eine Darstellung der gleichen Umgebung wie die Punktwolke 202 in 3 zeigt. Daher kann das multimodale Fusionssystem 140 den neuronalen 3D-Netzzweig 144 und den neuronalen 2D-Netzzweig 146 nutzen, um Vorteile aus beiden Datensätzen zu nutzen, und kann gemeinsam 3D-Objektvorschläge klassifizieren und eine 3D-Vorschlagsboxregression vornehmen.
-
Der 3D-Zweig 144 des multimodalen Fusionssystems 140 kann das gesamte Belegungsgitter 204, das die ursprüngliche 3D-LiDAR-Punktwolke 202 mit geringerer Auflösung darstellt, als Eingabe verwenden. Der 3D-Zweig 144 kann Merkmale unter Verwendung mehrerer 3D-Faltungsschichten 210, 214 und Max-Pooling-Schichten 212 extrahieren. Der 3D-Zweig 144 kann für jede 3D-Vorschlagsbox 226 eine Faltungsmerkmalskarte in 3D erstellen. Eine Beispieltechnik ist in R. Girshick, „Fast R-CNN“, in ICCV, 2015, beschrieben, die hierin durch Bezugnahme aufgenommen wird. Der 3D-Zweig 144 kann eine 3D-Region-of-Interest(ROI)-Pooling-Schicht 216 dazu verwenden, 3D-Merkmalsvektoren fester Größe aus der von den Faltungsschichten 214 ausgegebenen Merkmalskarte zu extrahieren. Eine vollständig verbundene Schicht 218 kann am Ende des 3D-Zweiges 144 gestapelt werden, um den Merkmalsvektor für den weiteren Fusionsprozess zu glätten.
-
Für das Netzwerkdesign stapelt der Beispiel-3D-Zweig 144 zwei 3D-Faltungsschichten 210 mit einer Max-Pooling-Schicht 212, gefolgt von weiteren zwei 3D-Faltungsschichten 214, um Merkmale aus dem Belegungsgitter zu extrahieren. So können zum Beispiel die 3D-Faltungsschichten 210 Parameter von (32, 5, 2, 1) für die neuronalen Netze verwenden. Die Faltungsschichten 214 können Parameter von (64, 5, 2, 1) für die neuronalen Netze verwenden. Die Größe der Zielobjekte (z. B. Auto, Fußgänger, Radfahrer) in einer Verkehrsszene (z. B. Punktwolke 202) kann im Vergleich zum gesamten 3D-Raum sehr klein sein, so dass der 3D-Zweig 144 nur eine Max-Pooling-Schicht 212 dazu verwenden kann, eine große Merkmalskarte zum Erfassen dieser kleinen Objekte zu behalten. Da die strukturierten Informationen im Belegungsgitter 204 im Vergleich zum Bild 206 geringer sind, wurde festgestellt, dass dieses Architekturdesign ein Erlernen leistungsfähiger Darstellungen in 3D ermöglicht.
-
Der 2D-Zweig 146 des Fusionsnetzwerks 200 kann ein 2D-Faltungsnetzwerk 230 einschließen, wie beispielsweise ein Fast-RCNN-Netzwerk, wie von Girshick beschrieben.
-
Das Fast-RCNN-Netzwerk kann ein ganzes Bild 206 als Eingabe nehmen und 2D-Merkmalskarten unter Verwendung eines VGG16-Netzwerks erstellen. Zusätzlich können 2D-Vorschlagsboxen 232 aus den 3D-Vorschlagsboxen 226 durch Projektion erlangt werden. Dann kann eine 2D-ROI-Pooling-Schicht 234 feste 2D-Merkmalsvektoren für jede 2D-Vorschlagsbox 232 extrahieren. Als Nächstes kann eine vollständig verbundene Schicht 236 die 2D-Merkmalsvektoren wie im 3D-Zweig 144 glätten.
-
Um die Vorteile beider Eingänge (Punktwolke 202 und Bild 206) zu nutzen, kann eine multimodale kompakte bilineare (MCB) Pooling-Schicht 148 dazu verwendet werden, multimodale Merkmale effizient und ausdrucksstark zu kombinieren. Das ursprüngliche bilineare Pooling-Modell berechnete das äußere Produkt zwischen zwei Vektoren, was eine multiplikative Interaktion zwischen allen Elementen beider Vektoren ermöglicht. Anschließend verwendete das ursprüngliche bilineare Pooling-Modell eine Count-Sketch-Projektionsfunktion, um die Dimensionalität zu reduzieren und die Effizienz des bilinearen Poolings zu verbessern. Beispiele für ursprüngliche Bilinear-Pooling-Modelle sind beschrieben in A. Fukui, D. H. Park, D. Yang, A. Rohrbach, T. Darrell und M. Rohrbach, „Multimodal Compact Bilinear Pooling for Visual Question Answering and Visual Grounding“ in arXiv, 2016, und in Y. Gao, O. Beijbom, N. Zhang und T. Darrell, „Compact Bilinear Pooling“ in CVPR, 2016, die beide durch Bezugnahme hierin aufgenommen sind. Die ursprüngliche kompakte bilineare Pooling-Schicht wurde auf eine visuelle Fragebeantwortungsaufgabe angewendet, indem multimodale Merkmale aus visuellen und textuellen Darstellungen kombiniert wurden. Der Erfolg des multimodalen kompakten bilinearen Poolings hat sein Potenzial gezeigt, die Fusion von Merkmalen aus zwei sehr unterschiedlichen Domänen zu bewältigen.
-
In einem Gesichtspunkt kann die multimodale kompakte bilineare Pooling-Schicht 148 zwei geglättete Merkmalsvektoren aufnehmen, die aus der 3D-Domäne durch den 3D-Zweig 144 und aus der 2D-Domäne durch den 2D-Zweig 146 extrahiert wurden und eine 4096-D multimodale Darstellung für die Klassifizierung und 3D-Begrenzungsbox-Regression erstellen. Die Klassifizierung kann durch das Klassifizierungsmodul 240 durchgeführt werden.
-
Aufgrund der Fusionsdarstellung aus der multimodalen kompakten bilinearen Pooling-Schicht 148 kann das Begrenzungsbox-Regressionsmodul 242 die Ausrichtung und Größe der 3D-Begrenzungsboxen aus den 3D-Vorschlagsboxen 226 durch Regression zurücksetzen. Für die Größenregression kann das Begrenzungsbox-Regressionsmodul 242 ähnlich wie Fast-RCNN das Regressionsziel parametrieren durch t = (Δ x, Δy, Δz, Δl, Δw, Δh), wobei (Δx, Δy, Δz) die um Vorschlagsgrößen normierten Mittelpunktoffsets sind und (Δl, Δw, Δh) als Δs = log(sGT/sVorschlag), s ∈ {l, w, h} berechnet werden. Für die Ausrichtungsregression kann das 3D-Ausrichtungsregressionsmodul 244 das Regressionsziel durch Δθ = θGT - θVorschlag parametrieren, wobei θ der Drehwinkel der 3D-Begrenzungsbox um die z-Achse ist. In der Fahrzeugeinstellung wird die Bodenwahrheit (GT) so annotiert, dass (1, w, h) immer mit den (x, y, z) Achsen ausgerichtet sind, so dass der Winkelbereich in [-π/4, π/4] eingeschränkt werden kann, was die Ausrichtungsregression erleichtert. Da die Vorschlagsboxen so eingestellt sind, dass sie mit der Hauptachse in LiDAR-Koordinaten ausgerichtet sind (θVorschlag = 0), kann das Ausrichtungsziel als Δθ =ΔGT vereinfacht werden.
-
5 veranschaulicht ein Flussdiagramm eines Beispielverfahrens 500 zum Erfassen von Objekten und Ausrichtungen. Das Verfahren 500 kann durch ein Objekterfassungssystem 110 in einem Fahrzeug 102 durchgeführt werden.
-
Bei Block 510 kann das Verfahren 500 ein Bestimmen eines ersten Satzes von 3D-Vorschlägen unter Verwendung von euklidischem Clustering auf der 3D-Punktwolke einschließen. In einem Gesichtspunkt kann das 3D-Vorschlagsmodul 142 zum Beispiel einen ersten Satz von 3D-Vorschlägen unter Verwendung von euklidischem Clustering auf der 3D-Punktwolke bestimmen. In einem Gesichtspunkt kann der Block 510 ein Erzeugen eines Belegungsgitters einschließen, das diskretisierte Voxel der 3D-Punktwolke darstellt. Zum Beispiel kann das 3D-Vorschlagsmodul 142 das binäre Belegungsgitter 204 erzeugen. Der Block 510 kann ein Bezeichnen jedes Voxels als entweder belegt oder unbelegt basierend auf der 3D-Punktwolke einschließen. Zum Beispiel kann das 3D-Vorschlagsmodul 142 jedes Voxel des binären Belegungsgitters 204 basierend auf der Punktwolke 202 als entweder belegt oder unbelegt bezeichnen. Der Block 510 kann ein Aktualisieren des Belegungsgitters mit einer Belegungswahrscheinlichkeit einschließen, die den von LiDAR-Strahlen durchquerten Voxeln entspricht. Zum Beispiel kann das 3D-Vorschlagsmodul 142 das binäre Belegungsgitter 204 mit einer Belegungswahrscheinlichkeit aktualisieren, die den von LiDAR-Strahlen durchquerten Voxeln entspricht. Der Block 510 kann ein Einstellen der Belegungswahrscheinlichkeit von verborgenen Voxeln einschließen, um anzuzeigen, dass das Voxel belegt ist. Zum Beispiel kann das 3D-Vorschlagsmodul 142 die Belegungswahrscheinlichkeit von verborgenen Voxeln im binären Belegungsgitter 204 einstellen, um anzuzeigen, dass das Voxel belegt ist. Zum Beispiel kann davon ausgegangen werden, dass Voxel, die von einer Oberfläche eingeschlossen werden, von einem Objekt hinter der Oberfläche belegt sind.
-
In einem weiteren Gesichtspunkt kann der Block 510 ein Entfernen von Bodenpunkten aus der 3D-Punktwolke einschließen. Zum Beispiel kann das Bodenentfernungsmodul 220 Bodenpunkte aus der Punktwolke 202 entfernen. Der Block 510 kann Clustering-Punkte der Punktwolke mit einem euklidischen Abstand von weniger als einem Schwellenwert zu vorgeschlagenen Clustern einschließen. Zum Beispiel kann das euklidische Clustering-Modul 222 Punkte der Punktwolke 202 mit einem euklidischen Abstand von weniger als einem Schwellenwert zu vorgeschlagenen Clustern bündeln.
-
In einem Gesichtspunkt kann der Block 510 ein Parametrieren jedes vorgeschlagenen Clusters als 3D-Vorschlagsbox mit Längen-, Breiten-, Höhen- und Mittelpunktkoordinaten einschließen. Zum Beispiel kann das 3D-Vorschlagsgenerierungsmodul 224 jeden vorgeschlagenen Cluster als 3D-Vorschlagsbox 226 mit Längen-, Breiten-, Höhen- und Mittelpunktkoordinaten parametrieren. Das 3D-Vorschlagsgenerierungsmodul 224 kann eine z-Koordinate der Mittelpunktkoordinaten basierend auf einer Bodenhöhe (bestimmt durch das Bodenentfemungsmodul 220) und der Höhe der Vorschlagsbox 226 einstellen. In einem Gesichtspunkt kann der Block 510 ein Erzeugen mindestens einer Vorschlagsbox 226 mit einer festen Länge und Höhe einschließen. Die x-Koordinate und y-Koordinate der Mittelpunktkoordinaten der Vorschlagsbox 226 können ausgewählt werden, um die Belegungswahrscheinlichkeit von Voxeln innerhalb der Vorschlagsbox 226 zu maximieren. Zum Beispiel kann das 3D-Vorschlagsgenerierungsmodul 224 die feste Länge und Höhe einstellen (z. B. basierend auf einem vorgegebenen Objekttyp) und die x-Koordinate und die y-Koordinate auswählen, die die Belegung der Vorschlagsbox 226 maximieren. Das 3D-Vorschlagsgenerierungsmodul 224 kann eine Vielzahl von Vorschlagsboxen für einen vorgeschlagenen Cluster erzeugen, wobei jede Vorschlagsbox eine unterschiedliche Kombination aus Länge, Höhe und Breite aufweist (z. B. entsprechend verschiedenen vorbestimmten Objekttypen). Bei Block 520 kann das Verfahren 500 ein Bestimmen eines zweiten Satzes von 3D-Vorschlägen aus der 3D-Punktwolke basierend auf einem neuronalen 3D-Faltungsnetz einschließen. In einem Gesichtspunkt kann der 3D-Zweig 144 zum Beispiel einen zweiten Satz von 3D-Vorschlägen aus der 3D-Punktwolke basierend auf einem neuronalen 3D-Faltungsnetz bestimmen. In einem Gesichtspunkt kann der 3D-Zweig 144 die mehreren Faltungsschichten und mindestens eine Max-Pooling-Schicht dazu anwenden, eine Faltungsmerkmalskarte mit dem zweiten Satz von 3D-Vorschlägen zu erstellen. Zum Beispiel kann das neuronale 3D-Faltungsnetz die 3D-Faltungsschichten 310, die Max-Pooling-Schicht 212 und die 3D-Faltungsschichten 312 einschließen.
-
Bei Block 530 kann das Verfahren 500 ein Zusammenführen des ersten Satzes von 3D-Vorschlägen und des zweiten Satzes von 3D-Vorschlägen einschließen, um einen Satz von 3D-Kandidaten zu bestimmen. In einem Gesichtspunkt kann zum Beispiel der 3D-Zweig 144 den ersten Satz von 3D-Vorschlägen und den zweiten Satz von 3D-Vorschlägen zusammenführen, um einen Satz von 3D-Kandidaten zu bestimmen. In einem Gesichtspunkt kann das Zusammenführen des ersten Satzes von 3D-Vorschlägen und des zweiten Satzes von 3D-Vorschlägen in Block 530 ein Extrahieren von 3D-Merkmalsvektoren fester Größe aus der Faltungsmerkmalskarte für jeden 3D-Vorschlag des zweiten Satzes von 3D-Vorschlägen einschließen. Zum Beispiel kann die 3D-ROI-Pooling-Schicht 144 für jeden 3D-Vorschlag des zweiten Satzes von 3D-Vorschlägen die 3D-Merkmalsvektoren fester Größe aus der Faltungsmerkmalskarte extrahieren. Block 530 kann auch ein Glätten der 3D-Merkmalsvektoren fester Größe unter Verwendung einer vollständig verbundenen Schicht einschließen. Zum Beispiel kann der 3D-Zweig 144 die 3D-Merkmalsvektoren fester Größe unter Verwendung der vollständig verbundenen Schicht 218 glätten.
-
Bei Block 540 kann das Verfahren 500 ein Projizieren des ersten Satzes von 3D-Vorschlägen auf das 2D-Bild einschließen. In einem Gesichtspunkt kann der 2D-Zweig 146 zum Beispiel den ersten Satz von 3D-Vorschlägen auf das 2D-Bild projizieren. Der 2D-Zweig 146 kann die 2D-Vorschlagsboxen 232 erzeugen.
-
Bei Block 550 kann das Verfahren 500 ein Bestimmen eines ersten Satzes von 2D-Vorschlägen basierend auf dem Bild unter Verwendung eines neuronalen 2D-Faltungsnetzes einschließen. In einem Gesichtspunkt kann zum Beispiel der 2D-Zweig 146 einen ersten Satz von 2D-Vorschlägen basierend auf dem Bild unter Verwendung des neuronalen 2D-Faltungsnetzes 230 bestimmen. Zum Beispiel kann das neuronale 2D-Faltungsnetz 230 2D-Merkmalskarten mit dem ersten Satz von 2D-Vorschlägen erstellen.
-
Bei Block 560 kann das Verfahren 500 ein Zusammenführen des projizierten ersten Satzes von 3D-Vorschlägen und des ersten Satzes von 2D-Vorschlägen einschließen, um einen Satz von 2D-Kandidaten zu bestimmen. In einem Gesichtspunkt kann die multimodale kompakte bilineare Pooling-Schicht 148 den projizierten ersten Satz von 3D-Vorschlägen und den ersten Satz von 2D-Vorschlägen zusammenführen, um einen Satz von 2D-Kandidaten zu bestimmen.
-
Bei Block 570 kann das Verfahren 500 ein Zusammenführen des Satzes von 3D-Kandidaten und des Satzes von 2D-Kandidaten einschließen. In einem Gesichtspunkt kann zum Beispiel die multimodale kompakte bilineare Pooling-Schicht 148 den Satz von 3D-Kandidaten und den Satz von 2D-Kandidaten zusammenführen. In einem Gesichtspunkt kann Block 570 ein Berechnen des äußeren Produkts zwischen 3D-Merkmalsvektoren, die den Satz von 3D-Kandidaten darstellen, und 2D-Merkmalsvektoren, die den Satz von 2D-Kandidaten darstellen, einschließen, um eine multimodale Darstellung zu erzeugen. Block 570 kann ferner eine Regression einer Größe und Ausrichtung der 3D-Vorschlagsboxen aus der multimodalen Darstellung einschließen. Zum Beispiel kann das 3D-Begrenzungsbox-Regressionsmodul 242 die Größe der 3D-Vorschlagsboxen regredieren und das 3D-Ausrichtungs-Regressionsmodul 244 die Ausrichtung der 3D-Vorschlagsboxen regredieren.
-
Gesichtspunkte der vorliegenden Offenbarung können unter Verwendung von Hardware, Software oder einer Kombination derselben implementiert werden und können in einem oder mehreren Computersystemen oder anderen Verarbeitungssystemen implementiert werden. In einem Gesichtspunkt ist die Offenbarung auf ein oder mehrere Computersysteme ausgerichtet, die fähig sind, die hierin beschriebenen Funktionalität auszuführen. 6 stellt ein Beispielsystemdiagramm verschiedener Hardwarekomponenten und anderer Merkmale dar, die gemäß den Gesichtspunkten der vorliegenden Offenbarung verwendet werden können. Gesichtspunkte der vorliegenden Offenbarung können unter Verwendung von Hardware, Software oder einer Kombination derselben implementiert werden und können in einem oder mehreren Computersystemen oder anderen Verarbeitungssystemen implementiert werden. Gemäß einer beispielhaften Variation sind Gesichtspunkte der Offenbarung auf ein oder mehrere Computersysteme abgestellt, die fähig sind, die hierin beschriebene Funktionalität auszuführen. Ein Beispiel eines solchen Computersystems 600 ist in 6 gezeigt.
-
Ein Computersystem 600 schließt einen oder mehrere Prozessoren, wie beispielsweise einen Prozessor 604 ein. Der Prozessor 604 ist mit einer Kommunikationsinfrastruktur 606 (z. B. einem Kommunikationsbus, einer Kreuzschiene oder einem Netzwerk) verbunden. Im Rahmen dieses Beispielcomputersystems werden verschiedene Softwaregesichtspunkte beschrieben. Nach dem Lesen dieser Beschreibung wird dem Fachmann der relevanten Fachrichtung(en) klar, wie Gesichtspunkte der Offenbarung unter Verwendung von anderen Computersystemen und/oder Architekturen implementiert werden können.
-
Das Computersystem 600 kann eine Anzeigeschnittstelle 602 einschließen, die Grafiken, Texte und andere Daten von der Kommunikationsinfrastruktur 606 (oder von einem nicht gezeigten Frame-Puffer) zur Anzeige auf einer Anzeigeeinheit 630 weiterleitet. Das Computersystem 600 schließt auch einen Hauptspeicher 608, vorzugsweise einen Direktzugriffsspeicher (RAM), ein und kann auch einen Sekundärspeicher 610 einschließen. Der Sekundärspeicher 610 kann zum Beispiel eine Festplatte 612 und/oder ein Wechseldatenspeicherlaufwerk 614 einschließen, das ein Diskettenlaufwerk, ein Magnetbandlaufwerk, ein optisches Plattenlaufwerk usw. darstellt. Das Wechseldatenspeicherlaufwerk 614 liest in bekannter Weise von und/oder schreibt auf einer Wechseldatenspeichereinheit 618. Die Wechseldatenspeichereinheit 618 stellt eine Diskette, ein Magnetband, eine optische Platte usw. dar, die durch das Wechseldatenspeicherlaufwerk 614 gelesen und auf dieses geschrieben wird. Wie zu erkennen ist, schließt die Wechseldatenspeichereinheit 618 ein computertaugliches Datenspeichermedium ein, in dem Computersoftware und/oder Daten gespeichert sind.
-
In alternativen Gesichtspunkten kann der Sekundärspeicher 610 andere ähnliche Vorrichtungen einschließen, die es ermöglichen, Computerprogramme oder andere Anweisungen in das Computersystem 600 zu laden. Solche Vorrichtungen können zum Beispiel eine Wechseldatenspeichereinheit 622 und eine Schnittstelle 620 einschließen. Beispiele dafür können eine Programmkassette und eine Kassettenschnittstelle (wie sie in Videospielvorrichtungen zu finden ist), einen abnehmbaren Speicherchip (wie beispielsweise einen löschbaren programmierbaren Nur-Lese-Speicher (EPROM) oder einen programmierbaren Nur-Lese-Speicher (PROM)) und einen zugehörigen Steckplatz sowie andere Wechseldatenspeichereinheiten 622 und Schnittstellen 620 einschließen, die es ermöglichen, Software und Daten von der Wechseldatenspeichereinheit 622 auf das Computersystem 600 zu übertragen.
-
Das Computersystem 600 kann auch eine Kommunikationsschnittstelle 624 einschließen. Die Kommunikationsschnittstelle 624 ermöglicht es, Software und Daten zwischen dem Computersystem 600 und externen Vorrichtungen zu übertragen. Beispiele für die Kommunikationsschnittstelle 624 können ein Modem, eine Netzwerkschnittstelle (wie beispielsweise eine Ethernet-Karte), einen Kommunikationsanschluss, einen Steckplatz und eine Karte der Personal Computer Memory Card International Association (PCMCIA) usw. einschließen. Die über die Kommunikationsschnittstelle 624 übertragene Software und Daten liegen in Form von Signalen 628 vor, die elektronische, elektromagnetische, optische oder andere Signale sein können, die durch die Kommunikationsschnittstelle 624 empfangen werden können. Diese Signale 628 werden der Kommunikationsschnittstelle 624 über einen Kommunikationsweg (z. B. Kanal) 626 bereitgestellt. Dieser Weg 626 überträgt die Signale 628 und kann unter Verwendung von Draht oder Kabel, Faseroptik, einer Telefonleitung, einer Mobilfunkverbindung, einer Hochfrequenz(HF)-Verbindung und/oder anderen Kommunikationskanälen implementiert werden. In diesem Dokument werden die Begriffe „Computerprogrammmedium“ und „computertaugliches Medium“ verwendet, um sich allgemein auf Medien wie beispielsweise ein Wechseldatenspeicherlaufwerk 680, eine in einem Festplattenlaufwerk 670 installierte Festplatte und die Signale 628 zu beziehen. Diese Computerprogrammprodukte stellen dem Computersystem 600 Software bereit. Gesichtspunkte der Offenbarung sind auf solche Computerprogrammprodukte gerichtet.
-
Computerprogramme (auch als Computersteuerlogik bezeichnet) werden in dem Hauptspeicher 608 und/oder dem sekundären Speicher 610 gespeichert. Computerprogramme können auch über die Kommunikationsschnittstelle 624 empfangen werden. Solche Computerprogramme ermöglichen es dem Computersystem 600, wenn sie ausgeführt werden, verschiedene Merkmale gemäß in dieser Offenbarung beschriebenen Gesichtspunkten auszuführen, wie hierin erörtert. Insbesondere ermöglichen es die Computerprogramme bei Ausführen dem Prozessor 604, solche Merkmale durchzuführen. Dementsprechend stellen solche Computerprogramme Steuerungen des Computersystems 600 dar.
-
Bei Variationen, bei denen Gesichtspunkte der Offenbarung unter Verwendung von Software ausgeführt werden, kann die Software in einem Computerprogrammprodukt gespeichert und unter Verwendung des Wechseldatenspeicherlaufwerks 614, der Festplatte 612 oder der Kommunikationsschnittstelle 620 in das Computersystem 600 geladen werden. Die Steuerlogik (Software) bewirkt, wenn sie durch den Prozessor 604 ausgeführt wird, dass der Prozessor 604 die Funktionen gemäß Gesichtspunkten der Offenbarung, wie hierin beschrieben, ausführt. In einer anderen Variation werden Gesichtspunkte hauptsächlich in Hardware implementiert, zum Beispiel unter Verwendung von Hardwarekomponenten, wie beispielsweise anwendungsspezifischen integrierten Schaltungen (application specific integrated circuits (ASICs)). Die Implementierung der Hardware-Zustandsmaschine zum Durchführen der hierin beschriebenen Funktionen ist für den Fachmann der relevanten Fachrichtung(en) ersichtlich.
-
In noch einer weiteren Beispielvariation werden Gesichtspunkte der Offenbarung unter Verwendung einer Kombination von sowohl Hardware als auch Software implementiert.
-
7 ist ein Blockdiagramm von verschiedenen Beispielsystemkomponenten, die gemäß Gesichtspunkten der vorliegenden Offenbarung verwendet werden können. Zum Beispiel können sich die verschiedenen Komponenten innerhalb des Fahrzeugs 102 befinden, oder es befinden sich eventuell nur manche der Komponenten innerhalb des Fahrzeugs 102, und andere Komponenten können vom Fahrzeug 102 entfernt sein. Das System 700 schließt einen oder mehrere Zugangsberechtigte 760, 762 (im Folgenden auch hierin austauschbar als ein oder mehrere „Benutzer“ bezeichnet) und ein oder mehrere Terminals 742, 766 ein (solche Terminals können zum Beispiel verschiedene Merkmale des Objekterfassungssystems 110 sein oder einschließen). In einem Gesichtspunkt werden Daten zur Verwendung gemäß Gesichtspunkten der vorliegenden Offenbarung zum Beispiel von den Zugangsberechtigten 760, 762 über die Terminals 742, 766 eingegeben und/oder abgerufen, wie beispielsweise Personalcomputer (PCs), Minicomputer, Großrechner, Mikrocomputer, Telefonvorrichtungen oder drahtlose Vorrichtungen, wie beispielsweise persönliche digitale Assistenten („PDAs“) oder handgehaltene drahtlose Vorrichtungen, die mit einem Server 743 gekoppelt sind, wie beispielsweise einem PC, Minicomputer, Großrechner, Mikrocomputer oder einer anderen Vorrichtung mit einem Prozessor und einem Speicher für Daten und/oder einer Verbindung zu einem Speicher für Daten, zum Beispiel über ein Netzwerk 744, wie beispielsweise das Internet oder ein Intranet, und Kopplungen 745, 746, 764. Die Kopplungen 745, 746, 764 schließen zum Beispiel drahtgebundene, drahtlose oder faseroptische Verbindungen ein. In einer weiteren Beispielvariation arbeiten das Verfahren und das System gemäß Gesichtspunkten der vorliegenden Offenbarung in einer eigenständigen Umgebung, wie beispielsweise auf einem einzigen Terminal.
-
Die hierin erörterten Gesichtspunkte der Offenbarung können auch im Kontext eines computerlesbaren Datenspeichermediums beschrieben und implementiert werden, das computerausführbare Anweisungen speichert. Computerlesbare Datenspeichermedien schließen Computerdatenspeichermedien und Kommunikationsmedien ein. Zum Beispiel Flash-Speicherlaufwerke, DVDs (Digital Versatile Discs), CDs (Compact Discs), Disketten und Bandkassetten. Computerlesbare Datenspeichermedien können flüchtige und nichtflüchtige, entfernbare und nicht entfernbare Medien umfassen, die in einem beliebigen Verfahren oder einer beliebigen Technologie zur Speicherung von Informationen wie beispielsweise computerlesbaren Anweisungen, Datenstrukturen, Modulen oder anderen Daten implementiert sind.
-
Es wird verstanden werden, dass verschiedene Implementierungen der oben offenbarten und anderer Merkmale und Funktionen oder Alternativen oder Varianten davon in vielen anderen Systemen oder Anwendungen wünschenswert kombiniert werden können. Auch dass verschiedene derzeit unvorhergesehene oder unerwartete Alternativen, Änderungen, Variationen oder Verbesserungen darin nachträglich vom Fachmann vorgenommen werden können, die auch von den folgenden Ansprüchen erfasst werden sollen.