-
EINLEITUNG
-
Die vorliegende Offenbarung bezieht sich allgemein auf autonome Fahrzeuge und insbesondere auf Systeme und Verfahren zur Objektverfolgung und insbesondere auf eine Objektverfolgung bei einer autonomen Fahrzeugsteuerung.
-
HINTERGRUND
-
Ein autonomes Fahrzeug ist ein Fahrzeug, das in der Lage ist, seine Umgebung zu erfassen und mit geringfügiger oder gar keiner Benutzereingabe zu navigieren. Ein autonomes Fahrzeug erfasst seine Umgebung unter Verwendung von Sensorvorrichtungen, wie beispielsweise Radar-, Lidar-, Bildsensoren und dergleichen, ab. Das autonome Fahrzeugsystem nutzt weiterhin Informationen von globalen Positionierungssystemen (GPS), Navigationssystemen, Fahrzeug-Fahrzeug-Kommunikationen, Fahrzeug-Infrastrukturtechniken und/oder drahtgesteuerten Systemen, um das Fahrzeug zu navigieren.
-
Die Fahrzeugautomatisierung wurde kategorisiert nach nummerischen Ebenen von Null, entsprechend keiner Automatisierung mit voller menschlicher Kontrolle, bis Fünf, entsprechend der vollen Automatisierung ohne menschliche Kontrolle. Verschiedene automatisierte Fahrerassistenzsysteme, wie beispielsweise Geschwindigkeitsregelung, adaptive Geschwindigkeitsregelung und Parkassistenzsysteme, entsprechen niedrigeren Automatisierungsebenen, während echte „fahrerlose“ Fahrzeuge mit höheren Automatisierungsebenen übereinstimmen.
-
Als Teil der Steuerung eines autonomen Fahrzeugs werden Objekte identifiziert und verfolgt, um beispielsweise eine Fahrzeugbremssteuerung, eine Fahrzeuglenksteuerung und eine darauf beruhende Fahrzeugbeschleunigungssteuerung zu ermöglichen.
-
Dementsprechend ist dieses wünschenswert, Objekte genau zu verfolgen. Darüber hinaus ist dieses wünschenswert, Anzahl, Größe und Abmessungen der umgebenden Objekte genau zu identifizieren. Außerdem werden andere wünschenswerte Merkmale und Eigenschaften der vorliegenden Erfindung aus der nachfolgenden ausführlichen Beschreibung der Erfindung und den hinzugefügten Ansprüchen in Verbindung mit den zugehörigen Zeichnungen und dem Hintergrund der Erfindung sichtbar.
-
KURZDARSTELLUNG
-
Ein System wird bereitgestellt, um ein Objekt zu verfolgen. Das System beinhaltet ein Datenempfangsmodul, das zweidimensionale Bildgebungsdaten empfängt, die ein Objekt und Höhenkartendaten beinhalten, die die Bodenhöhe und den Standort korrelieren. Das Zwei-zu-drei-Dimensionen-Transformationsmodul ermittelt den Standort des Objekts im dreidimensionalen Raum, basierend auf den zweidimensionalen Bildgebungsdaten und den Höhenkartendaten. Ein Verfolgungsmodul verfolgt das Objekt anhand der Position des Objekts.
-
In Ausführungsformen projiziert das Zwei-zu-drei-Dimensionen-Transformationsmodul das Objekt der zweidimensionalen Bildgebungsdaten in die Höhenkartendaten, um einen Punkt am Boden für das Objekt zu ermitteln. Basierend auf dem Punkt am Boden und der Korrelation von Bodenhöhe und Standort in den Höhenkartendaten ermittelt das Zwei-zu-drei-Dimensionen-Transformationsmodul den Standort des Objekts.
-
In Ausführungsformen werden die zweidimensionalen Bildgebungsdaten von einer Kamera empfangen. Das Datenempfangsmodul empfängt einen Echtzeit-Standort der Kamera. Das Zwei-zu-drei-Dimensionen-Transformationsmodul ortet die Kamera in den Höhenkartendaten basierend auf dem Echtzeit-Standort der Kamera und projiziert das Objekt der zweidimensionalen Bildgebungsdaten in die Höhenkartendaten von dem Kamerastandort in den Höhenkartendaten zum Ermitteln einer Position des Objekts in einem dreidimensionalen Raum.
-
In Ausführungsformen werden die zweidimensionalen Bildgebungsdaten von einer Kamera empfangen. Das Datenempfangsmodul empfängt Kalibrierungsdaten einschließlich Kamerastandortdaten. Das Zwei-zu-drei-Dimensionen-Transformationsmodul ermittelt den Kamerastandort in den Höhenkartendaten und projiziert das Objekt der zweidimensionalen Bildgebungsdaten in die Höhenkartendaten aus dem Kamerastandort in den Höhenkartendaten beim Ermitteln einer Position des Objekts im dreidimensionalen Raum.
-
In Ausführungsformen grenzt ein Objektidentifikationsmodul das Objekt ab, um zweidimensionale Objektdaten zu erhalten. Das Zwei-zu-drei-Dimensionen-Transformationsmodul ermittelt den Standort des Objekts im dreidimensionalen Raum basierend auf den zweidimensionalen Bildgebungsdaten, den Höhenkartendaten und den zweidimensionalen Objektdaten.
-
In Ausführungsformen ermittelt das Objektidentifikationsmodul einen Begrenzungsrahmen als zweidimensionale Objektdaten.
-
In Ausführungsformen transformiert das Zwei-zu-drei-Dimensionen-Transformationsmodul eine Unterseite des Begrenzungsrahmens zu einem Punkt am Boden in den Höhenkartendaten, um den Standort des Objekts im dreidimensionalen Raum zu ermitteln.
-
In Ausführungsformen führt ein visuelles Klassifizierungsmodul ein neuronales Netzwerk zum Klassifizieren des Objekts aus und ermittelt Dimensionen des Objekts basierend auf der Klassifizierung. Das Verfolgungsmodul verfolgt das Objekt anhand der Position des Objekts und der Abmessungen des Objekts.
-
In Ausführungsformen grenzt ein Objektidentifikationsmodul das Objekt ab, um einen Begrenzungsrahmen zu erhalten. Das visuelle Klassifizierungsmodul führt eine Begrenzungsrahmen-Regression an dem Begrenzungsrahmen unter Verwendung des neuronalen Netzwerks durch, um einen regressiven Begrenzungsrahmen zu erhalten. Das Zwei-zu-drei-Dimensionen-Transformationsmodul ermittelt den Standort des Objekts im dreidimensionalen Raum, basierend auf den zweidimensionalen Bildgebungsdaten, den Höhenkartendaten und dem regressiven Begrenzungsrahmen.
-
In Ausführungsformen verfolgt das Verfolgungsmodul das Objekt unter Verwendung des Standortes des Objekts und gibt darauf zutreffende Verfolgungsdaten aus. Ein Fahrzeugsteuermodul übt eine autonome Fahrzeugsteuerung, teilweise basierend auf den Verfolgungsdaten, aus.
-
In Ausführungsformen empfängt das Datenempfangsmodul dreidimensionale Bildgebungsdaten einschließlich eines anderen Objekts. Das Verfolgungsmodul verfolgt das Objekt basierend auf den zweidimensionalen Bildgebungsdaten und dem anderen Objekt basierend auf den dreidimensionalen Bildgebungsdaten.
-
Ein autonomes Fahrzeug wird bereitgestellt. Ein Sensorsystem beinhaltet eine Kamera zum Erhalten von zweidimensionalen Bildgebungsdaten. Ein Datenempfangsmodul empfängt zweidimensionale Bildgebungsdaten einschließlich eines Objekts und empfängt Höhenkartendaten, die die Bodenhöhe und den Standort korrelieren. Das Zwei-zu-drei-Dimensionen-Transformationsmodul ermittelt den Standort des Objekts im dreidimensionalen Raum, basierend auf den zweidimensionalen Bildgebungsdaten und den Höhenkartendaten. Ein Verfolgungsmodul verfolgt das Objekt unter Verwendung des Standortes des Objekts und gibt darauf zutreffende Verfolgungsdaten aus. Ein Fahrzeugsteuermodul des autonomen Fahrzeugs übt eine autonome Fahrzeugsteuerung, teilweise basierend auf den Verfolgungsdaten, aus.
-
In Ausführungsformen beinhaltet das Sensorsystem ein Positionierungssystem, einschließlich eines GPS (Global Position System)-Empfängers, der zum Bereitstellen von GPS-Daten dazu konfiguriert ist, einen Standort des autonomen Fahrzeugs zu schätzen. Das Datenempfangsmodul empfängt Kalibrierungsdaten einschließlich Kamerastandortdaten, die das autonome Fahrzeug und die Kamera räumlich in Beziehung setzen. Das Zwei-zu-drei-Dimensionen-Transformationsmodul ermittelt der Kamerastandort in den Höhenkartendaten basierend auf dem Standort des autonomen Fahrzeugs und den Kamerastandortdaten. Der Zwei-zu-drei-Dimensionen-Transformationsmodulstrahl führt ein Raytracing des Objekts der zweidimensionalen Bildgebungsdaten in die Höhenkartendaten aus dem Kamerastandort in den Höhenkartendaten aus, um einen Standort des Objekts im dreidimensionalen Raum zu ermitteln.
-
In Ausführungsformen transformiert das Zwei-zu-drei-Dimensionen-Transformationsmodul eine Höhe des Objekts in den zweidimensionalen Bildgebungsdaten zu einem Punkt am Boden in den Höhenkartendaten, um den Standort des Objekts im dreidimensionalen Raum zu ermitteln.
-
In Ausführungsformen grenzt ein Objektidentifikationsmodul das Objekt ab, um einen Begrenzungsrahmen zu erhalten. Ein visuelles Klassifizierungsmodul führt eine Begrenzungsrahmen-Regression an dem Begrenzungsrahmen unter Verwendung eines neuronalen Netzwerks durch, um einen regressiven Begrenzungsrahmen zu erhalten. Das Zwei-zu-drei-Dimensionen-Transformationsmodul ermittelt den Standort des Objekts im dreidimensionalen Raum, basierend auf den zweidimensionalen Bildgebungsdaten, den Höhenkartendaten und dem regressiven Begrenzungsrahmen.
-
In Ausführungsformen transformiert das Zwei-zu-drei-Dimensionen-Transformationsmodul eine Unterseite des Begrenzungsrahmens zu einem Punkt am Boden in den Höhenkartendaten, um den Standort des Objekts im dreidimensionalen Raum zu ermitteln.
-
Ein Verfahren zum Verfolgen eines Objekts wird bereitgestellt. Das Verfahren beinhaltet das Empfangen von zweidimensionalen Bildgebungsdaten, einschließlich eines Objekts, und das Empfangen von Höhenkartendaten über einen Prozessor, die die Bodenhöhe und den Echtzeit-Standort korrelieren. Das Verfahren beinhaltet das Ermitteln eines Echtzeit-Standortes des Objekts in einem dreidimensionalen Raum über einen Prozessor basierend auf den zweidimensionalen Bildgebungsdaten und den Höhenkartendaten. Das Verfahren beinhaltet das Verfolgen des Objekts über einen Prozessor unter Verwendung des Standortes des Objekts.
-
In Ausführungsformen beinhaltet der Verfolgungsschritt das Bereitstellen von Verfolgungsdaten-Ausgaben, und das Verfahren beinhaltet das Ausüben einer autonomen Fahrzeugsteuerung, teilweise basierend auf den Verfolgungsdaten.
-
In Ausführungsformen beinhaltet das Verfahren das Empfangen eines Echtzeit-Standortes eines autonomen Fahrzeugs mit einer Kamera zum Erhalten der zweidimensionalen Bildgebungsdaten. Das Verfahren beinhaltet das Empfangen von Kalibrierungsdaten, die Kamerastandortdaten beinhalten, die das autonome Fahrzeug und die Kamera räumlich in Beziehung setzen, über einen Prozessor. Das Verfahren beinhaltet das Ermitteln eines Kamerastandortes in den Höhenkartendaten, basierend auf dem Standort des Fahrzeugs und den Kamerastandortdaten, über einen Prozessor. Das Verfahren beinhaltet das Raytracing des Objekts der zweidimensionalen Bildgebungsdaten in die Höhenkartendaten aus dem Kamerastandort in den Höhenkartendaten, um einen Standort des Objekts im dreidimensionalen Raum zu ermitteln.
-
In Ausführungsformen beinhaltet das Verfahren das Ermitteln eines Punktes am Boden in den Höhenkartendaten auf der Grundlage des Objekts in den zweidimensionalen Bildgebungsdaten über einen Prozessor beim Ermitteln des Orts des Objekts im dreidimensionalen Raum.
-
Figurenliste
-
Die vorliegende Offenbarung wird nachfolgend in Verbindung mit den folgenden Zeichnungsfiguren beschrieben, worin gleiche Bezugszeichen gleiche Elemente bezeichnen und
- 1 ist ein Funktionsblockschaltbild, das ein autonomes Fahrsystem, das das Objektverfolgungssystem enthält, gemäß verschiedenen Ausführungsformen darstellt;
- 2 zeigt ein Funktionsblockdiagramm, das ein Transportsystem mit einem oder mehreren autonomen Fahrzeugen aus 1 gemäß verschiedenen Ausführungsformen darstellt;
- 3 ist ein Datenflussdiagramm, das ein autonomes Fahrsystem darstellt, das das Objektverfolgungssystem des autonomen Fahrzeugs gemäß verschiedenen Ausführungsformen beinhaltet;
- 4 ist ein Diagramm von Modulen sowie anderen Einheiten und dem dazwischen stattfindenden Datenfluss eines Objektverfolgungssystems des autonomen Fahrzeugs gemäß verschiedenen Ausführungsformen;
- 5 ist ein Flussdiagramm, das ein Steuerverfahren zum Steuern des autonomen Fahrzeugs, basierend auf einer Objektverfolgung gemäß verschiedenen Ausführungsformen, veranschaulicht; und
- 6 ist ein Flussdiagramm, das einen Zwei-zu-drei-Dimensionen-Transformationsprozess von einem identifizierten Objekt gemäß verschiedenen Ausführungsformen darstellt.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die folgende ausführliche Beschreibung dient lediglich als Beispiel und soll die Anwendung und Verwendung in keiner Weise einschränken. Weiterhin besteht keine Absicht, im vorstehenden technischen Bereich, Hintergrund, der Kurzzusammenfassung oder der folgenden ausführlichen Beschreibung an eine ausdrücklich oder implizit vorgestellte Theorie gebunden zu sein. Der hierin verwendete Begriff „Modul“ bezieht sich auf alle Hardware-, Software-, Firmwareprodukte, elektronische Steuerkomponenten, auf die Verarbeitungslogik und/oder Prozessorgeräte, einzeln oder in Kombinationen, unter anderem umfassend, eine anwendungsspezifische integrierte Schaltung (ASIC), eine elektronische Schaltung, einen Prozessor (gemeinsam genutzt, dediziert oder gruppiert) und einen Speicher, der ein oder mehrere Software- oder Firmwareprogramme, eine kombinatorische Logikschaltung und/oder andere geeignete Komponenten ausführt, die die beschriebene Funktionalität bieten.
-
Ausführungen der vorliegenden Offenbarung können hierin als funktionale und/oder logische Blockkomponenten und verschiedene Verarbeitungsschritte beschrieben sein. Es ist zu beachten, dass derartige Blockkomponenten aus einer beliebigen Anzahl an Hardware-, Software- und/oder Firmware-Komponenten aufgebaut sein können, die zur Ausführung der erforderlichen Funktionen konfiguriert sind. Zum Beispiel kann eine Ausführungsform der vorliegenden Offenbarung eines Systems oder einer Komponente verschiedene integrierte Schaltungskomponenten, beispielsweise Speicherelemente, digitale Signalverarbeitungselemente, Logikelemente, Wertetabellen oder dergleichen, einsetzen, die mehrere Funktionen unter der Steuerung eines oder mehrerer Mikroprozessoren oder anderer Steuervorrichtungen durchführen können. Zudem werden Fachleute auf dem Gebiet erkennen, dass die exemplarischen Ausführungsformen der vorliegenden Offenbarung in Verbindung mit einer beliebigen Anzahl an Systemen eingesetzt werden können, und dass das hierin beschriebene System lediglich eine exemplarische Ausführungsform der vorliegenden Offenbarung darstellt.
-
Der Kürze halber sind konventionelle Techniken in Verbindung mit der Signalverarbeitung, Datenübertragung, Signalgebung, Steuerung und weiteren funktionalen Aspekten der Systeme (und den einzelnen Bedienelementen der Systeme) hierin ggf. nicht im Detail beschrieben. Weiterhin sollen die in den verschiedenen Figuren dargestellten Verbindungslinien exemplarische Funktionsbeziehungen und/oder physikalische Verbindungen zwischen den verschiedenen Elementen darstellen. Es sollte beachtet werden, dass viele alternative oder zusätzliche funktionale Beziehungen oder physikalische Verbindungen in einer Ausführungsform der vorliegenden Offenbarung vorhanden sein können.
-
Unter Bezugnahme auf 1 ist bei 10 ein Objektverfolgungssystem allgemein dargestellt, das einem Fahrzeug 1010 gemäß verschiedenen Ausführungsformen zugeordnet ist. Im Allgemeinen identifiziert das Objektverfolgungssystem 10 Objekte in dreidimensionalen oder zweidimensionalen Bildgebungsdaten, verfeinert Größenabmessungen, Position und/oder Anzahl an Objekten basierend auf zweidimensionalen Abbildungsdaten und gibt dreidimensionale Daten aus, die Abmessungen und Position von Objekten darstellen. Das Objektverfolgungssystem 10 steuert das Fahrzeug 1010 basierend darauf intelligent.
-
Wie in 1 dargestellt, beinhaltet das Fahrzeug 1010 im Allgemeinen ein Fahrgestell 1012, eine Karosserie 1014, Vorderräder 1016 und Hinterräder 1018. Die Karosserie 1014 ist auf dem Fahrgestell 1012 angeordnet und umhüllt im Wesentlichen die anderen Komponenten des Fahrzeugs 1010. Die Karosserie 1014 und das Fahrgestell 1012 können gemeinsam einen Rahmen bilden. Die Räder 1016-1018 sind jeweils mit dem Fahrgestell 1012 in der Nähe einer jeweiligen Ecke der Karosserie 1014 drehbar gekoppelt.
-
In verschiedenen Ausführungsformen ist das Fahrzeug 1010 ein autonomes Fahrzeug und das Objektverfolgungssystem 10 ist in das autonome Fahrzeug 1010 (nachfolgend als das autonomes Fahrzeug 1010 bezeichnet) integriert. Das autonome Fahrzeug 1010 ist beispielsweise ein Fahrzeug, das automatisch gesteuert wird, um Passagiere von einem Ort zum anderen zu befördern. Das Fahrzeug 1010 ist in der veranschaulichten Ausführungsform als Pkw dargestellt, es sollte jedoch beachtet werden, dass auch jedes andere Fahrzeug, einschließlich Motorräder, Lastwagen, Sportfahrzeuge (SUVs - Sport Utility Vehicles), Freizeitfahrzeuge (RVs - Recreational Vehicles), Schiffe, Flugzeuge usw. verwendet werden können. In einer exemplarischen Ausführungsform ist das autonome Fahrzeug 1010 ein sogenanntes Level-Vier oder Level-Fünf Automatisierungssystem. Ein Level-Vier-System zeigt eine „hohe Automatisierung“ unter Bezugnahme auf die Fahrmodus-spezifische Leistung durch ein automatisiertes Fahrsystem aller Aspekte der dynamischen Fahraufgabe an, selbst wenn ein menschlicher Fahrer nicht angemessen auf eine Anforderung einzugreifen, reagiert. Ein Level-Fünf-System zeigt eine „Vollautomatisierung“ an und verweist auf die Vollzeitleistung eines automatisierten Fahrsystems aller Aspekte der dynamischen Fahraufgabe unter allen Fahrbahn- und Umgebungsbedingungen, die von einem menschlichen Fahrer verwaltet werden können.
-
Wie dargestellt, beinhaltet das autonome Fahrzeug 1010 im Allgemeinen ein Antriebssystem 1020, ein Übertragungssystem 1022, ein Lenksystem 1024, ein Bremssystem 1026, ein Sensorsystem 1028, ein Stellgliedsystem 1030, mindestens einen Datenspeicher 1032, mindestens eine Steuerung 1034 und ein Kommunikationssystem 1036. Das Antriebssystem 1020 kann in verschiedenen Ausführungsformen einen Verbrennungsmotor, eine elektrische Maschine, wie beispielsweise einen Traktionsmotor und/oder ein Brennstoffzellenantriebssystem, beinhalten. Das Übertragungssystem 1022 ist dazu konfiguriert, Leistung vom Antriebssystem 1020 zu den Fahrzeugrädern 1016-1018 gemäß den wählbaren Übersetzungen zu übertragen. Gemäß verschiedenen Ausführungsformen kann das Getriebesystem 1022 ein Stufenverhältnis-Automatikgetriebe, ein stufenlos verstellbares Getriebe oder ein anderes geeignetes Getriebe beinhalten. Das Bremssystem 1026 ist dazu konfiguriert, den Fahrzeugrädern 1016-1018 ein Bremsmoment bereitzustellen. Das Bremssystem 1026 kann in verschiedenen Ausführungsformen Reibungsbremsen, Brake-by-Wire, ein Nutzbremssystem, wie beispielsweise eine elektrische Maschine und/oder andere geeignete Bremssysteme beinhalten. Das Lenksystem 1024 beeinflusst die Position der Fahrzeugräder 1016-1018. Während in einigen Ausführungsformen innerhalb des Umfangs der vorliegenden Offenbarung zur Veranschaulichung als ein Lenkrad d dargestellt ist, kann das Lenksystem 1024 kein Lenkrad beinhalten müssen.
-
Das Sensorsystem 1028 beinhaltet eine oder mehrere Sensorvorrichtungen 1040a-40n, die beobachtbare Zustände der äußeren Umgebung und/oder der inneren Umgebung des autonomen Fahrzeugs 10 erfassen. Die Sensorvorrichtungen 1040a-40n können Radargeräte, Lidar-Systeme, globale Positionierungssysteme, optische Kameras, Wärmebildkameras, Ultraschallsensoren und/oder andere Sensoren beinhalten, sind aber nicht darauf beschränkt. Das Stellgliedsystem 1030 beinhaltet ein oder mehrere Stellgliedvorrichtungen 42a-42n, die ein oder mehrere Fahrzeugeigenschaften, wie zum Beispiel das Antriebssystem 20, das Getriebesystem 22, das Lenksystem 24 und das Bremssystem 26, steuern, sind aber nicht darauf beschränkt. In verschiedenen Ausführungsformen können die Fahrzeugmerkmale ferner Innen- und/oder Außenfahrzeugmerkmale, wie beispielsweise Türen, einen Kofferraum und Innenraummerkmale, wie z. B. Luft, Musik, Beleuchtung usw. beinhalten, sind jedoch nicht auf diese beschränkt (nicht nummeriert).
-
Das Kommunikationssystem 1036 ist dazu konfiguriert, Informationen drahtlos an und von anderen Entitäten 1048, wie beispielsweise, jedoch nicht beschränkt auf andere Fahrzeuge („V2V“-Kommunikation,) Infrastruktur („V2I“-Kommunikation), Fernsysteme und/oder persönliche Vorrichtungen (in Bezug auf 2 näher beschrieben), zu übermitteln bzw. von diesen zu empfangen. In einer exemplarischen Ausführungsform ist das drahtlose Kommunikationssystem 1036 dazu konfiguriert, über ein drahtloses lokales Netzwerk (WLAN) unter Verwendung des IEEE 802.11-Standards oder mittels einer mobilen Datenkommunikation zu kommunizieren. Im Geltungsbereich der vorliegenden Offenbarung werden jedoch auch zusätzliche oder alternative Kommunikationsverfahren, wie beispielsweise ein dedizierter Nahbereichskommunikations (DSRC)-Kanal, berücksichtigt. DSRC-Kanäle beziehen sich auf Einweg- oder Zweiwege-Kurzstreckenbis Mittelklasse-Funkkommunikationskanäle, die speziell für den Automobilbau und einen entsprechenden Satz von Protokollen und Standards entwickelt wurden.
-
Die Datenspeichervorrichtung 1032 speichert Daten zur Verwendung beim automatischen Steuern des autonomen Fahrzeugs 1010. In verschiedenen Ausführungsformen speichert das Datenspeichergerät 1032 definierte Landkarten der navigierbaren Umgebung. In verschiedenen Ausführungsformen werden die definierten Landkarten vordefiniert und von einem entfernten System (in weiteren Einzelheiten in Bezug auf 2 beschrieben) erhalten. So können beispielsweise die definierten Landkarten durch das Fernsystem zusammengesetzt und dem autonomen Fahrzeug 1010 (drahtlos und/oder drahtgebunden) mitgeteilt und in der Datenspeichervorrichtung 32 gespeichert werden. Wie ersichtlich, kann die Datenspeichervorrichtung 1032 ein Teil der Steuerung 1034, von der Steuerung 1034 getrennt oder ein Teil der Steuerung 1034 und Teil eines separaten Systems sein.
-
Die Steuerung 1034 beinhaltet mindestens einen Prozessor 1044 und eine computerlesbare Speichervorrichtung oder Medien 1046. Der Prozessor 1044 kann eine Spezialanfertigung oder ein handelsüblicher Prozessor sein, eine Zentraleinheit (CPU), eine Grafikprozessoreinheit (GPU), ein Hilfsprozessor unter mehreren Prozessoren verbunden mit der Steuerung 1034, ein Mikroprozessor auf Halbleiterbasis (in Gestalt eines Mikrochips oder Chip-Satzes), ein Makroprozessor, eine Kombination derselben oder allgemein jede beliebige Vorrichtung zur Ausführung von Anweisungen. Die computerlesbare Speichervorrichtung oder Medien 1046 können flüchtige und nichtflüchtige Speicher in einem Nur-Lese-Speicher (ROM - Read-Only Memory), einem Speicher mit direktem Zugriff (RAM - Random-Access Memory) und einem Keep-Alive-Memory (KAM) beinhalten. KAM ist ein persistenter oder nicht-flüchtiger Speicher, der verwendet werden kann, um verschiedene Betriebsvariablen zu speichern, während der Prozessor 1044 ausgeschaltet ist. Die computerlesbare Speichervorrichtung oder Medien 1046 können unter Verwendung einer beliebigen einer Anzahl an bekannten Speichervorrichtungen, wie beispielsweise PROMs (programmierbarer Nur-Lese-Speicher), EPROMs (elektrischer PROM), EEPROMs (elektrisch löschbarer PROM), Flash-Speicher oder beliebigen anderen elektrischen, magnetischen, optischen oder kombinierten Speichervorrichtungen implementiert werden, die Daten speichern können, von denen einige ausführbare Anweisungen darstellen, die von der Steuerung 1034 beim Steuern des autonomen Fahrzeugs 1010 verwendet werden.
-
Die Anweisungen können ein oder mehrere separate Programme beinhalten, von denen jede eine geordnete Auflistung von ausführbaren Anweisungen zum Implementieren von logischen Funktionen beinhaltet. Die Anweisungen, wenn diese vom Prozessor 1034 ausgeführt werden, empfangen und verarbeiten Signale vom Sensorsystem 1028, führen Logik, Berechnungen, Verfahren und/oder Algorithmen zur automatischen Steuerung der Komponenten des autonomen Fahrzeugs 1010 durch und erzeugen Steuersignale an das Stellgliedsystem 1030, um die Komponenten des autonomen Fahrzeugs 1010 basierend auf der Logik, den Berechnungen, den Verfahren und/oder Algorithmen automatisch zu steuern. Obwohl in 1 nur eine Steuerung 1034 dargestellt ist, können Ausführungsformen des autonomen Fahrzeugs 1010 eine beliebige Anzahl an Steuerungen 1034 beinhalten, die über ein geeignetes Kommunikationsmedium oder eine Kombination von Kommunikationsmedien kommunizieren und zusammenwirken, um die Sensorsignale zu verarbeiten, Logiken, Berechnungen, Verfahren und/oder Algorithmen durchzuführen, und Steuersignale zu erzeugen, um die Funktionen des autonomen Fahrzeugs 1010 automatisch zu steuern.
-
In verschiedenen Ausführungsformen sind eine oder mehrere Anweisungen des Controllers 1034 in dem Objektverfolgungssystem 10 verkörpert und, wenn diese durch den Prozessor 44 ausgeführt werden, implementieren diese Module, wie diese in Bezug auf 4 beschrieben sind, und Verfahrensschritte, wie diese in Bezug auf die 5 und 6 zum Verfolgen von Objekten beschrieben sind.
-
Jetzt unter Bezug auf 2, in verschiedenen Ausführungsformen kann das autonome Fahrzeug 1010, das mit Bezug auf 1 beschrieben ist, für den Einsatz im Rahmen eines Taxi- oder Shuttle-Systems in einem bestimmten geografischen Gebiet (z. B. einer Stadt, einer Schule oder einem Business Campus, einem Einkaufszentrum, einem Vergnügungspark, einem Veranstaltungszentrum oder dergleichen) geeignet oder einfach von einem Fernsystem gesteuert sein. So kann beispielsweise das autonome Fahrzeug 1010 einem autonomen fahrzeugbasierten Fernverkehrssystem zugeordnet sein. 2 veranschaulicht eine exemplarische Ausführungsform einer Betriebsumgebung, die im Allgemeinen bei 1050 dargestellt ist und ein autonomes fahrzeugbasiertes Transportsystem 1052 beinhaltet, das, wie mit Bezug auf 1 beschrieben, einem oder mehreren autonomen Fahrzeugen 10a-10n zugeordnet ist. In verschiedenen Ausführungsformen beinhaltet die Betriebsumgebung 1050 ferner eine oder mehrere Benutzervorrichtungen 1054, die mit dem autonomen Fahrzeug 1010 und/oder dem Fernverkehrssystem 1052 über ein Kommunikationsnetzwerk 1056 kommunizieren.
-
Das Kommunikationsnetzwerk 1056 unterstützt die Kommunikation zwischen Geräten, Systemen und Komponenten, die von der Betriebsumgebung 1050 unterstützt werden (z. B. über physische Kommunikationsverbindungen und/oder drahtlose Kommunikationsverbindungen). So kann beispielsweise das Kommunikationsnetzwerk 1056 ein Drahtlosträgersystem 1060 beinhalten, wie beispielsweise ein Mobiltelefonsystem, das eine Vielzahl von Mobilfunktürmen (nicht dargestellt), eine oder mehrere Mobilvermittlungsstellen (MSCs) (nicht dargestellt) sowie alle anderen Netzwerkkomponenten beinhalten, die zum Verbinden des Drahtlosträgersystems 1060 mit dem Festnetz erforderlich sind. Jeder Mobilfunkturm beinhaltet Sende- und Empfangsantennen und eine Basisstation, wobei die Basisstationen verschiedener Mobilfunktürme mit den MSC verbunden sind, entweder direkt oder über Zwischenvorrichtungen, wie beispielsweise eine Basisstationssteuerung. Das Drahtlosträgersystem 1060 kann jede geeignete Kommunikationstechnologie implementieren, beispielsweise digitale Technologien, wie CDMA (z. B. CDMA2000), LTE (z. B. 4G LTE oder 5G LTE), GSM/GPRS oder andere aktuelle oder neu entstehende drahtlose Technologien. Andere Mobilfünkturm/Basisstation/MSC-Anordnungen sind möglich und könnten mit dem Mobilfunkanbietersystem 60 verwendet werden. So könnten sich beispielsweise die Basisstation und der Mobilfunkturm an derselben Stelle oder entfernt voneinander befinden, jede Basisstation könnte für einen einzelnen Mobilfunkturm zuständig sein oder eine einzelne Basisstation könnte verschiedene Mobilfunktürme bedienen, oder verschiedene Basisstationen könnten mit einer einzigen MSC gekoppelt werden, um nur einige der möglichen Anordnungen zu nennen.
-
Abgesehen vom Verwenden des Drahtlosträgersystems 1060 kann ein zweites Drahtlosträgersystem in Form eines Satellitenkommunikationssystems 1064 verwendet werden, um eine unidirektionale oder bidirektionale Kommunikation mit dem autonomen Fahrzeug 1010a-1010n bereitzustellen. Dies kann unter Verwendung von einem oder mehreren Kommunikationssatelliten (nicht dargestellt) und einer aufwärts gerichteten Sendestation (nicht dargestellt) erfolgen. Die unidirektionale Kommunikation kann beispielsweise Satellitenradiodienste beinhalten, worin programmierte Inhaltsdaten (Nachrichten, Musik usw.) von der Sendestation empfangen werden, für das Hochladen gepackt und anschließend zum Satelliten gesendet werden, der die Programmierung an die Teilnehmer ausstrahlt. Die bidirektionale Kommunikation kann beispielsweise Satellitentelefondienste beinhalten, die den Satelliten verwenden, um Telefonkommunikationen zwischen dem Fahrzeug 1010 und der Station weiterzuleiten. Die Satellitentelefonie kann entweder zusätzlich oder anstelle des Drahtlosträgersystems 1060 verwendet werden.
-
Ein Festnetz-Kommunikationssystem 1062 kann ein konventionelles Festnetz-Telekommunikationsnetzwerk beinhalten, das mit einem oder mehreren Festnetztelefonen verbunden ist und das Drahtlosträgersystem 1060 mit dem Fernverkehrssystem 1052 verbindet. So kann beispielsweise das Festnetz-Kommunikationssystem 1062 ein Fernsprechnetz (PSTN) wie jenes sein, das verwendet wird, um festverdrahtetes Fernsprechen, paketvermittelte Datenkommunikationen und die Internetinfrastruktur bereitzustellen. Ein oder mehrere Segmente des Festnetz-Kommunikationssystems 1062 könnten durch Verwenden eines normalen drahtgebundenen Netzwerks, eines Lichtleiter- oder eines anderen optischen Netzwerks, eines Kabelnetzes, von Stromleitungen, anderen drahtlosen Netzwerken, wie drahtlose lokale Netzwerke (WLANs) oder Netzwerke, die drahtlosen Breitbandazugang (BWA - Broadband Wireless Access) bereitstellen oder jeder Kombination davon implementiert sein. Weiterhin muss das Fernverkehrssystem 1052 nicht über das Festnetz-Kommunikationssystem 1062 verbunden sein, sondern könnte eine Funktelefonausrüstung beinhalten, sodass diese direkt mit einem drahtlosen Netzwerk, wie z. B. dem Drahtlosträgersystem 1060, kommunizieren kann.
-
Obwohl in 2 nur eine Benutzervorrichtung 1054 dargestellt ist, können Ausführungsformen der Betriebsumgebung 1050 eine beliebige Anzahl an Benutzervorrichtungen 1054, einschließlich mehrerer Benutzervorrichtungen 1054 unterstützen, die das Eigentum einer Person sind, von dieser bedient oder anderweitig verwendet werden. Jede Benutzervorrichtung 1054, die von der Betriebsumgebung 1050 unterstützt wird, kann unter Verwendung einer geeigneten Hardwareplattform implementiert werden. In dieser Hinsicht kann das Benutzergerät 1054 in einem gemeinsamen Formfaktor realisiert werden, darunter auch in: Einen Desktop-Computer, einem mobilen Computer (z. B. einem Tablet-Computer, einem Laptop-Computer oder einem Netbook-Computer), einem Smartphone, einem Videospielgerät, einem digitalen Media-Player, einem Bestandteil eines Heimunterhaltungsgeräts, einer Digitalkamera oder Videokamera, einem tragbaren Computergerät (z. B. einer Smart-Uhr, Smart-Brille, Smart-Kleidung) oder dergleichen. Jede von der Betriebsumgebung 1050 unterstützte Benutzervorrichtung 1054 wird als computerimplementiertes oder computergestütztes Gerät mit der Hardware-, Software-, Firmware- und/oder Verarbeitungslogik anerkannt, die für die Durchführung der hier beschriebenen verschiedenen Techniken und Verfahren erforderlich ist. So beinhaltet beispielsweise die Benutzervorrichtung 1054 einen Mikroprozessor in Form einer programmierbaren Vorrichtung, die eine oder mehrere in einer internen Speicherstruktur gespeicherte Anweisungen beinhaltet und angewendet wird, um binäre Eingaben zu empfangen und binäre Ausgaben zu erzeugen. In einigen Ausführungsformen beinhaltet die Benutzervorrichtung 1054 ein GPS-Modul, das GPS-Satellitensignale empfangen und GPS-Koordinaten basierend auf diesen Signalen erzeugen kann. In weiteren Ausführungsformen beinhaltet die Benutzervorrichtung 1054 eine Mobilfunk-Kommunikationsfünktionalität, sodass die Vorrichtung Sprach- und/oder Datenkommunikationen über das Kommunikationsnetzwerk 1056 unter Verwendung eines oder mehrerer Mobilfunk-Kommunikationsprotokolle durchführt, wie hierin erläutert. In verschiedenen Ausführungsformen beinhaltet die Benutzervorrichtung 1054 eine visuelle Anzeige, wie zum Beispiel ein grafisches Touchscreen-Display oder eine andere Anzeige.
-
Das Fernverkehrssystem 1052 beinhaltet ein oder mehrere Backend-Serversysteme, die an dem speziellen Campus oder dem geografischen Standort, der vom Transportsystem 1052 bedient wird, Cloud-basiert, netzwerkbasiert oder resident sein können. Das Fernverkehrssystem 1052 kann mit einem Live-Berater, einem automatisierten Berater oder einer Kombination aus beidem besetzt sein. Das Fernverkehrssystem 1052 kann mit den Benutzervorrichtungen 1054 und den autonomen Fahrzeugen 1010a-1010n kommunizieren, um Fahrten zu planen, autonome Fahrzeuge 1010a-1010n zu versetzen und dergleichen. In verschiedenen Ausführungsformen speichert das Fernverkehrssystem 1052 Kontoinformationen, wie zum Beispiel Teilnehmerauthentifizierungsdaten, Fahrzeugkennzeichen, Profilaufzeichnungen, Verhaltensmuster und andere entsprechende Teilnehmerinformationen.
-
Gemäß einem typischen Anwendungsfall-Arbeitsablauf kann ein registrierter Benutzer des entfernten Fernverkehrssystems 1052 über die Benutzervorrichtung 1054 eine Fahrtanforderung erstellen. Die Fahrtanforderung gibt typischerweise den gewünschten Abholort des Fahrgastes (oder den aktuellen GPS-Standort), den gewünschten Zielort (der einen vordefinierten Fahrzeugstopp und/oder ein benutzerdefiniertes Passagierziel identifizieren kann) und eine Abholzeit an. Das Fernverkehrssystem 1052 empfängt die Fahrtanforderung, verarbeitet die Anforderung und sendet ein ausgewähltes der autonomen Fahrzeuge 1010a-1010n (wenn und sofern verfügbar), um den Passagier an dem vorgesehenen Abholort und zu gegebener Zeit abzuholen. Das Fernverkehrssystem 1052 kann zudem eine entsprechend konfigurierte Bestätigungsnachricht oder Benachrichtigung an die Benutzervorrichtung 1054 erzeugen und senden, um den Passagier zu benachrichtigen, dass ein Fahrzeug unterwegs ist.
-
Wie ersichtlich, bietet die hierin offenbarte Thematik bestimmte verbesserte Eigenschaften und Funktionen für das, was als ein standardmäßiges oder autonomes Fahrzeug 1010 in der Grundausführung und/oder ein autonomes fahrzeugbasiertes Fernverkehrssystem 1052 betrachtet werden kann. Zu diesem Zweck kann ein autonomes fahrzeugbasiertes Transportsystem modifiziert, erweitert oder anderweitig ergänzt werden, um die nachfolgend näher beschriebenen zusätzlichen Funktionen bereitzustellen.
-
Gemäß verschiedenen Ausführungsformen implementiert die Steuerung 1034 ein autonomes Fahrsystem (ADS - Autonomous Driving System) 1070, wie in 3 dargestellt. Das heißt, dass geeignete Soft- und/oder Hardwarekomponenten der Steuerung 1034 (z. B. der Prozessor 1044 und das computerlesbare Speichermedium 1046) verwendet werden, um ein autonomes Fahrsystem 1070 bereitzustellen, das in Verbindung mit dem Fahrzeug 1010 verwendet wird.
-
In verschiedenen Ausführungsformen können die Anweisungen des autonomen Antriebssystems 1070 je nach Funktion oder System gegliedert sein. Das autonome Fahrsystem 1070 kann beispielsweise, wie in 3 dargestellt, ein Sensorfusionssystem 1074, ein Positionierungssystem 1076, ein Lenksystem 1078 und ein Fahrzeugsteuerungssystem 1080 beinhalten. Wie ersichtlich ist, können die Anweisungen in verschiedenen Ausführungsformen in beliebig viele Systeme (z. B. kombiniert, weiter unterteilt usw.) gegliedert werden, da die Offenbarung nicht auf die vorliegenden Beispiele beschränkt ist.
-
In verschiedenen Ausführungsformen synthetisiert und verarbeitet das Sensorfusionssystem 1074 Sensordaten und prognostiziert Anwesenheit, Standort, Klassifizierung und/oder Verlauf von Objekten und Merkmalen der Umgebung des Fahrzeugs 1010. In verschiedenen Ausführungen kann das Sensorfusionssystem 1074 Informationen von mehreren Sensoren umfassen, einschließlich, aber nicht beschränkt auf Kameras, Lidar-Systeme, Radare und/oder eine beliebige Anzahl anderer Arten von Sensoren.
-
Das Positionierungssystem 1076 verarbeitet Sensordaten zusammen mit anderen Daten, um eine Position (z. B. eine lokale Position in Bezug auf eine Karte, eine exakte Position in Bezug auf die Fahrspur einer Straße, Fahrzeugrichtung, Geschwindigkeit usw.) des Fahrzeugs 1010 in Bezug auf die Umgebung zu ermitteln. Das Leitsystem 1078 verarbeitet Sensordaten zusammen mit anderen Daten, um eine Strecke zu ermitteln, der das Fahrzeug 1010 folgen soll. Das Fahrzeugsteuerungssystem 1080 erzeugt Steuersignale zum Steuern des Fahrzeugs 1010 entsprechend der ermittelten Strecke.
-
In verschiedenen Ausführungsformen implementiert die Steuerung 1034 maschinelle Lerntechniken, um die Funktionalität der Steuerung 1034 zu unterstützen, wie z. B. Merkmalerkennung/Klassifizierung, Hindernisminderung, Routenquerung, Kartierung, Sensorintegration, Ground-Truth-Bestimmung und dergleichen.
-
Das Fahrzeugsteuersystem 1080 ist dazu konfiguriert, eine Fahrzeugsteuerungsausgabe an das Stellgliedsystem 1030 zu übermitteln. In einer exemplarischen Ausführungsform beinhalten die Stellglieder 1042 eine Lenkkontrolle, eine Schaltkontrolle, eine Vergaser-Drosselklappensteuerung und eine Bremssteuerung. Die Lenksteuerung kann beispielsweise ein Lenksystem 1024 steuern, wie in 1 dargestellt. Die Gangschaltsteuerung kann beispielsweise ein Getriebesystem 1022 steuern, wie in 1 dargestellt. Die Vergaser-Drosselklappensteuerung kann beispielsweise ein Antriebssystem 1020 steuern, wie in 1 dargestellt. Die Bremssteuerung kann beispielsweise das Radbremssystem 1026 steuern, wie in 1 dargestellt.
-
Wie vorstehend kurz erwähnt wurde, ist das System 10 von 1 und 4 im autonomen Fahrsystem 1070, beispielsweise als Teil des Positionierungssystems 1076, beinhaltet. Das Objektverfolgungssystem 10 verschiedener Ausführungsformen der vorliegenden Offenbarung ermöglicht die Verwendung zweidimensionaler Bildgebungsdaten, z. B. Kameradaten, um die Objekterfassung aus dreidimensionalen Bilddaten, z. B. Lidar-Daten zu verbessern. Durch das Objektverfolgungssystem 10 können Objekte identifiziert, geortet und als Teil des Positionierungssystems 1076 ermittelt werden. Steuerdaten können zumindest teilweise durch das Objektverfolgungssystem 10 ermittelt werden, das teilweise zu der Fahrzeugsteuerungsausgabe des Fahrzeugsteuersystems beiträgt.
-
Zum Beispiel, wie bezüglich 4 und mit weiterer Bezugnahme auf 3 detaillierter dargestellt, beinhaltet das Objektverfolgungssystem 10 eine Vielzahl von Modulen und anderen Systemteilen zum Verfolgen der Position und der Abmessungen eines Objekts basierend auf dreidimensionalen und zweidimensionalen Bilddaten.
-
In exemplarischen Ausführungsformen empfängt das Objektverfolgungssystem 10 Sensordaten durch Sensorvorrichtungen des Sensorsystems 1028, die mindestens Radar-, Lidar- und Kamera-Datenerfassungsvorrichtungen 12a, 12b, 12c beinhalten. Die Lidar-Datenerfassungsvorrichtung 12a kann als eine dreidimensionale Bildgebungsvorrichtung betrachtet werden, da diese Daten betreffend die Entfernung von der Lidar-Datenerfassungsvorrichtung 12a zu einem reflektierenden Objekt für eine große Anzahl an Datenpunkten in einer Ebene, orthogonal zur Entfernungsrichtung von dem Gerät 12a entfernt, erfasst. Obwohl hier die Lidar-Datenerfassungsvorrichtung 12a zum Erhalten der dreidimensionalen Bildgebungsdaten exemplarisch dargestellt ist, könnten andere Entfernungsmesser verwendet werden, wie beispielsweise ein Radar. Die Lidar-Vorrichtung 12a kann an einem Fahrzeug, wie etwa auf dem Dach, angebracht sein. Die Kameras 12c umfassen üblicherweise mehrere Kameras 12c, die um das Fahrzeug herum verteilt sind. Die Kameras 12c können ausreichend verteilt sein, um 360° Rundumsicht zu ermöglichen.
-
In exemplarischen Ausführungsformen beinhaltet die Lidar-Datenerfassungsvorrichtung 12a Paare von Laseremissionsvorrichtungen und Lasererfassungsvorrichtungen zum Messen von Entfernungen durch Messen der Laufzeit (TOF - Time of Flight), die ein Laserimpuls benötigt, um von der Emissionsvorrichtung zu einem Objekt und zurück zu der Erfassungsvorrichtung zu gelangen und dabei die Entfernung über die bekannte Lichtgeschwindigkeit zu berechnen. Die Lidar-Erfassungsvorrichtung 12a kann mehrere Laser/Detektorpaare (zum Beispiel bis zu 64) für einen Sensor kombinieren und kann im Kilohertz-Bereich pulsen, um Messungen von Millionen von Datenpunkten pro Sekunde zu ermöglichen. Vertikale Sichtfelder von beispielsweise 30° bis 40° werden abgedeckt, wobei ein vollständiges horizontales 360°-Sichtfeld durch Drehen der Laser/Detektorpaare ermöglicht wird, beispielsweise bei Drehgeschwindigkeiten von bis zu 20 Umdrehungen pro Sekunde. Zusätzlich zu jeder Abstandsmessung ist die Lidar-Erfassungsvorrichtung 12a auch dafür konfiguriert, kalibrierte Reflektivitäten zu messen, die eine einfache Erkennung von Retro-Reflektoren wie Straßenschildern, Kennzeichen und Fahrbahnmarkierungen ermöglichen.
-
Die Kameras 12c sind dazu konfiguriert, von einem Objekt in die Kamera 12c reflektiertes Licht zu messen. Bilder sind in der Regel in Farbe und zeigen ein visuelles Bild der Umgebung. Anders als die Lidar-Datenerfassungsvorrichtung 12a und andere Entfernungsmessscanner messen Kamerabilder den Abstand nicht in drei Dimensionen. Bilder von den Kameras 12c können aus einzelnen Videodatenrahmen gebildet werden. Bilder von den Kameras 12c sind zweidimensional.
-
Es wurde festgestellt, dass die Lidar-Bildgebung Objekte abschneiden, zusammenführen, teilen oder übersehen kann. Dies kann bei nicht reflektierenden oder schwach reflektierenden Objekten (z. B. schwarzen Autos) der Fall sein oder wenn die Strahlen auf Objekte mit einem flachen Einfallswinkel abgestrahlt werden. Außerdem können Lidar-Strahlen divergieren und in einem bestimmten Schwellenabstand von der Lidar-Vorrichtung 12a ausreichend weit auseinander liegend sein, sodass Objekte übersehen werden können. Kamerabilddaten teilen diese Probleme jedoch nicht. Kamerabilder sind dichter und können weiter sehen. Ferner sind Kamerabilder nicht auf reflektierte Laserstrahlen angewiesen, so haben diese weniger Probleme mit Objekten mit geringem Reflexionsvermögen. Im Gegensatz dazu sind Kamerabilder zum Ableiten von Entfernungsdaten weniger effektiv. Dementsprechend stellt die vorliegende Offenbarung Systeme und Verfahren bereit, die die Verwendung von dreidimensionalen Bildgebungsdaten kombinieren, beispielsweise von Lidar- und Radarvorrichtungen 12a, 12b und zweidimensionalen Bildgebungsdaten, beispielsweise von Kameras 12c. Insbesondere werden Lidar-Bilder verwendet, um eine erste Schätzung der Position und Dimension von interessanten Objekten in einem zweidimensionalen Kamerabild bereitzustellen, und das zweidimensionale Kamerabild wird verwendet, um unsere Schätzung der Geometrie des Objekts (z. B. Position und Abmessungen) zu verfeinern. Die vorliegende Offenbarung ermöglicht zusätzlich oder alternativ, dass Objekte, die vollständig oder teilweise in dreidimensionalen Bildgebungsdaten 14a übersehen wurden, verfolgt werden, indem dreidimensionale Positionsdaten (Objektstandort) des Objekts aus den zweidimensionalen Abbildungsdaten 14b abgeleitet werden.
-
In exemplarischen Ausführungsformen beinhaltet das Objektverfolgungssystem 10 ein Datenempfangsmodul 16, das dazu konfiguriert ist, Bildgebungsdaten 14 von dem Sensorsystem 1028, optional über das Sensorfusionssystem 1076, zu empfangen. Somit umfasst das Datenempfangsmodul 16 eine Eingabedatenschnittstelle und eine Ausgabedatenschnittstelle sowie einen Prozessor, der Anweisungen ausführt, um Bildgebungsdaten 14 nach Bedarf an andere Module zu leiten. Der Prozessor kann der mindestens eine vorstehend beschriebene Prozessor 1044 sein. Insbesondere ist das Datenempfangsmodul 16 dazu konfiguriert, dreidimensionale Bildgebungsdaten 14a und zweidimensionale Abbildungsdaten 14b von dem Sensorsystem 1028 zu empfangen. Die Bildgebungsdaten 14 können eine vertikale Ebene abdecken, die sich in zwei und drei Dimensionen um das Fahrzeug herum erstreckt. Aufeinanderfolgende Rahmen solcher Bildgebungsdaten 14 können von dem Datenempfangsmodul 16 empfangen werden.
-
In exemplarischen Ausführungsformen beinhaltet das Objektverfolgungssystem 10 die Objektidentifikationsmodule 18, die zum Identifizieren und Abgrenzen von Objekten in den Abbildungsdaten 14 konfiguriert sind. Insbesondere beinhaltet das Objektverfolgungssystem 10 ein dreidimensionales Objektidentifikationsmodul 18a und ein zweidimensionales Objektidentifikationsmodul 18b, die dazu konfiguriert sind, jeweils dreidimensionale Bildgebungsdaten 18a und zweidimensionale Bildgebungsdaten 18b zu verarbeiten. Die Objektidentifikationsmodule 18 führen Objektidentifikationsanalysen durch, wobei diese Analysen mindestens eine von Hintergrundentfernungs- und Segmentierungsbildverarbeitungen beinhalten können. Die Analysen können mindestens einen Bildfiltervorgang beinhalten. Die Bildverarbeitung zum Identifizieren von Objekten steht dem Fachmann auf dem Gebiet zur Verfügung. Die Objektidentifikationsmodule 14 sind ferner dazu konfiguriert, einen Begrenzungsrahmen für jedes identifizierte Objekt in den Bildgebungsdaten zu ermitteln. Die Bildverarbeitung zum Identifizieren von Objekten und zum Erzeugen von Begrenzungsrahmen 20a, 20b für die identifizierten Objekte wird durch einen Prozessor ausgeführt, der Bildverarbeitungsbefehle verarbeitet.
-
In exemplarischen Ausführungsformen ist das Objektidentifikationsmodul 18a, das basierend auf dreidimensionalen Bildgebungsdaten 14a, z. B. Lidar-Daten arbeitet, dazu konfiguriert, dreidimensionale Begrenzungsrahmen 20a für identifizierte Objekte zu erstellen. Die Begrenzungsrahmen 20a können durch eine Datenstruktur gebildet werden, die dreidimensionale Positionskoordinaten in der realen Welt (im Gegensatz zum Bildraum) beinhaltet, wie z. B. x-, y- und z-Koordinaten (x ist horizontale Position, y ist vertikale Position und z ist Entfernung vom Fahrzeug oder vom Lidar-Vorrichtung 12a) relativ zum Fahrzeug oder der Lidar-Vorrichtung 12a, sowie dreidimensionale Dimensionen für den Begrenzungsrahmen, wie z. B. Länge, Breite und Höhe. Die Positionsdaten für die Begrenzungsrahmen 20a können ein Zentrum des Begrenzungsrahmens 20a orten. Die Begrenzungsrahmen 20b, die von den zweidimensionalen Bildgebungsdaten 14b abgeleitet sind, können durch eine Datenstruktur gebildet sein, die den Ort und die Abmessungen der Begrenzungsrahmen 20b identifiziert. Zum Beispiel können die Begrenzungsrahmen 20b durch die Mittelpunktposition in x- und y-Koordinaten (x ist eine horizontale Position, y ist eine vertikale Position) relativ zu dem realen Raum und den Höhen- und Breitenabmessungen identifiziert werden.
-
In exemplarischen Ausführungsformen beinhaltet das Objektverfolgungssystem 10 ein Registrierungsuntermodul 24, ein Drei-zu-zwei-Dimensionen-Transformationsmodul 26 (3D zu 2D), ein visuelles Klassifikationsuntermodul 32 und erste und zweite 2D-zu-3D-Untermodule 36, 38 als Teil eines Anpassungsmoduls 50. Das Anpassungsmodul 50 ist dazu konfiguriert, die Begrenzungsrahmen 20a, 20b in sowohl dreidimensionaler als auch zweidimensionaler Form als Bereichsvorschläge aufzunehmen und die Position und/oder Dimensionen der Bereichsvorschläge in der Form von ersten Begrenzungsrahmen 20a, 20b, basierend auf den zweidimensionalen Bildgebungsdaten 14b, die von den Kameras 12c erhalten werden, anzupassen. Insbesondere ist das Anpassungsmodul 50 dazu konfiguriert, die Begrenzungsrahmen 20a, 20b zu empfangen, um eine neuronale Netzwerkverarbeitungsmaschine unter Verwendung der zweidimensionalen Bildgebungsdaten 14b auszuführen, um eine Begrenzungsrahmen-Regression durchzuführen, um dadurch die Größe und Dimension der Begrenzungsrahmen 20a, 20b zu der Größe und Position des Objekts in den zweidimensionalen Bildgebungsdaten 14b genauer darzustellen. Das Objektverfolgungssystem 10 beinhaltet eine neuronale Netzwerkmaschine, die in einer Ausführungsform für die Objekte von Interesse für Fahrzeuge trainiert wurde, die trainierte Daten, trainierte Prozesse in Form von Computerprogrammanweisungen und einen Prozessor zum Ausführen dieser Anweisungen beinhaltet. Solche Objekte von Interesse, die einen Teil des Trainings des neuronalen Netzwerks bilden, beinhalten Fußgänger, Straßenschilder, Fahrzeuge, Gebäude, Straßenbeleuchtung, usw. Ferner sind die Computerprogrammbefehle in der Lage, den Begrenzungsrahmen-Regressionsprozess auszuführen.
-
Für dreidimensionale Begrenzungsrahmen 20a ist das Anpassungsmodul 50 konfiguriert, ein abgegrenztes dreidimensionales Objekt 20a, basierend auf den zweidimensionalen Bildgebungsdaten 14b, anzupassen und ein angepasstes dreidimensionales Objekt 40a auszugeben. Das abgegrenzte dreidimensionale Objekt 30a und das angepasste zweidimensionale Objekt werden durch Objektdaten 20a, 30a dargestellt, auf die das Anpassungsmodul 50 einwirkt, und zwar in Ausführungsformen als Begrenzungsrahmendaten. In Ausführungsformen ist das Anpassungsmodul 50 konfiguriert, einen Projektionsprozess auszuführen, der die dreidimensionalen Begrenzungsrahmen 20a in zweidimensionale Begrenzungsrahmen 30a transformiert, um danach eine Begrenzungsrahmen-Regression durch ein neuronales Netzwerk auszuführen, um, basierend auf den zweidimensionalen Bildgebungsdaten 14b, einen angepassten zweidimensionalen Begrenzungsrahmen 30a zu erhalten und anschließend einen Umkehrprojektionsprozess auszuführen, um den eingestellten zweidimensionalen Begrenzungsrahmen in einen angepassten dreidimensionalen Begrenzungsrahmen 40a umzuwandeln.
-
Es kann vorkommen, dass die erfassten dreidimensionalen Daten 14a, z. B. von der Lidar-Vorrichtung 12a, Teilinformation über ein Objekt aufweist. Zum Beispiel kann das 3D-Objektidentifikationsmodul 18a fälschlicherweise ermitteln, dass ein Objekt zwei Objekte ist, indem dieses zwei Begrenzungsrahmen 20a zurückgibt, wenn in Wirklichkeit nur ein Objekt vorhanden ist. Dies könnte bedingt durch schwarze Autos passieren, wenn, als ein mögliches Beispiel, die Lidar-Vorrichtung 12a keine Reflexionen von der Mitte des Autos empfängt, sondern nur die der Seiten, sodass die Lidar-Daten 14a anzeigen, dass das Auto in zwei geteilt wurde. Durch Durchführen einer Anpassung der abgegrenzten Objektdaten 20a durch das Anpassungsmodul 50 können, basierend auf zweidimensionalen Bildgebungsdaten 14b, korrigierte Objektdaten 34a, 40a ermittelt werden, in denen die separaten Objektdaten 20a oder Begrenzungsrahmen 20a neu zu einem kombinierten Objekt in den angepassten Objektdaten 34a, 40a gebildet werden. In einem anderen Szenario können Lidar-Daten und der nachfolgende Objektidentifikationsprozess durch das Objektidentifikationsmodul 18a mehrere Objekte als ein einzelnes Objekt auflösen. Zum Beispiel kann ein Segmentierungsprozess, der von dem Objektidentifikationsmodul 18a ausgeführt wird, mehrere Personen zu einem einzigen Objekt gruppieren. Das Anpassungsmodul 50 kann, basierend auf den zweidimensionalen Bildgebungsdaten 14b, erfassen, dass tatsächlich mehrere unterschiedliche Personen vorhanden sind, und folglich korrigierte Objektdaten 34a ausgeben. Dementsprechend ist das Anpassungsmodul 50 in Ausführungsformen in der Lage, Abmessungen, Position und Anzahl an Objekten, die durch das Objektidentifikationsmodul 18a ermittelt werden, durch Verfeinern von Objektdaten 20a, die von dem Anpassungsmodul 50 erhalten werden, basierend auf zweidimensionalen Bildgebungsdaten 14b, anzupassen.
-
Es kann auch vorkommen, dass die Lidar-Daten 14a ein Objekt übersehen. Dies kann in großen Entfernungen aufgrund der Lidar-Strahldivergenz oder wenn ein Objekt die Lidar-Strahlen praktisch nicht reflektiert, geschehen. In dieser Situation werden zweidimensionale Bildgebungsdaten 14b von der Kamera 12c aufgenommen. Aus diesem Grund schlägt die vorliegende Offenbarung vor, eine Objektidentifikation, eine Begrenzungsrahmen-Regression und 2D-zu-3D-Transformationsprozesse ausschließlich auf Basis der zweidimensionalen Bildgebungsdaten 14b durchzuführen. Auf diese Weise können in einigen Ausführungsformen Objektdaten 20a, die von den dreidimensionalen Bildgebungsdaten 14a herrühren, unter Verwendung der zweidimensionalen Bildgebungsdaten 14b verfeinert werden. In zusätzlichen oder alternativen Ausführungsformen können dreidimensionale Objektdaten 40b zur Verwendung bei der Objektverfolgung direkt aus den zweidimensionalen Bildgebungsdaten 14b abgeleitet werden, was besonders nützlich sein kann, wenn keine Lidar-Daten verfügbar sind oder wenn diese ein Objekt verfehlt haben. Die Art und Weise, wie zweidimensionale Bildgebungsdaten 14b zu dreidimensionalen Objektdaten verarbeitet werden, die zur Objektverfolgung nützlich sind, wird hierin unter Bezugnahme auf das 2D-Objektidentifikationsmodul, das visuelle Klassifikationsuntermodul und das zweite 2D-zu-3D-Transformationsuntemodul 38 beschrieben.
-
In der exemplarischen Ausführungsform von 4 wurde das Anpassungsmodul 50 zur Erleichterung der Erläuterung in eine Anzahl an Untermodulen unterteilt. Ein Registrierungsuntermodul 24 in Kommunikation mit Kalibrierungsdaten 22 ist dazu konfiguriert, eine Position der Begrenzungsrahmen in einem zweidimensionalen Raum der Bildgebungsdaten 14b zu ermitteln. Die Kalibrierungsdaten 22 können in der Datenspeichervorrichtung 1032 gespeichert werden. Das Registrierungsuntermodul 24 gibt Registrierungsdaten aus, die einer Registrierung oder räumlichen Korrelation der dreidimensionalen Bilder und der zweidimensionalen Bilder entsprechen, wodurch eine korrekte Position einer Projektion der dreidimensionalen Bildgebungsdaten 20a in einem zweidimensionalen Bildraum ermöglicht wird. Das Registrierungsuntermodul 24 verwendet intrinsische und extrinsische Kalibrierungsdaten 22, wie nachfolgend beschrieben, um eine 3D- bis 2D-Bildregistrierung durchzuführen.
-
Die Kalibrierungsdaten 22 beinhalten extrinsische und intrinsische Kalibrierungsdaten. Die extrinsischen Kalibrierungsdaten beschreiben den Kamerastandort 12c relativ zu dem Standort der Lidar-Vorrichtung 12a oder des Fahrzeugs 1010. Die extrinsischen Kalibrierungsdaten wurden durch einen extrinsischen Kalibrierungsprozess ermittelt, der jede Kamera 12c auf den Lidar 12a kalibriert. Der extrinsische Kalibrierungsprozess ermöglicht eine räumliche Korrespondenz zwischen Punkten in den Lidar-Bildgebungsdaten 14a zu Punkten in den Kamerabildern 14b und ermöglicht auch eine Zeitsynchronisation zwischen den Lidar-Bildgebungsdaten 14a und den KameraBildgebungsdaten 14b. Die intrinsischen Kalibrierungsdaten tragen der Verzerrung der Kamera und anderen intrinsischen Bildkorrekturprozessen Rechnung.
-
Das 3D-zu-2D-Transformationsuntermodul 26 ist dazu konfiguriert, Dimensionen der dreidimensionalen Begrenzungsrahmen 20a unter Verwendung der intrinsischen und extrinsischen Kalibrierungsdaten 22 in einen zweidimensionalen Bildraum zu projizieren. Dementsprechend arbeiten das Registrierungsuntermodul und das 3D-zu-2D-Transformationsuntermodul 26 zusammen, um Position und Abmessungen der dreidimensionalen Begrenzungsrahmen 20a in Position und Dimensionen von zweidimensionalen Begrenzungsrahmen 30a unter Verwendung der extrinsischen und intrinsischen Kalibrierungsdaten 22 zu projizieren. Das Registrierungsuntermodul 24 und das 3D-zu-2D-Transformationsmodul 26 beinhalten einen Prozessor und computerlesbare Anweisungen, die dazu konfiguriert sind, die erforderlichen Registrierungs- und Transformationsprozesse auszuführen. Das Registrierungsuntermodul und das 3D-zu-2D-Transformationsmodul 26 sind dazu konfiguriert, einen zweidimensionalen Begrenzungsrahmen 30a als einen Bereichsvorschlag für nachfolgende Begrenzungsrahmen-Regressionsprozesse auszugeben, die vorstehend beschrieben sind. Es versteht sich, dass das 3D-zu-2D-Transformationsuntermodul 26 und das Registrierungsuntermodul 24 hierin als separate Module beschrieben worden sind, aber auch ein einzelnes Modul kann bereitgestellt werden, um den Registrierungs- und Projektionsvorgang in einem integrierten Modul auszuführen.
-
In der exemplarischen Ausführungsform von 4 ist ein visuelles Klassifizierungsuntermodul 32 beinhaltet, das dazu konfiguriert ist, die zweidimensionalen Begrenzungsrahmen 20b von dem zweidimensionalen Objektidentifikationsmodul 18b und die Begrenzungsrahmen 30a von den Registrierungs- und 3D-zu-2D-Transformationsuntermodulen 24, 26 zu empfangen. Die zweidimensionalen Begrenzungsrahmen 20a wurden aus Objektidentifikations- und - abgrenzungsprozessen abgeleitet, die an zweidimensionalen Bildgebungsdaten 14b ausgeführt werden und können so als „2D-Bildursprungs-Begrenzungsrahmen“ bezeichnet werden. Im Gegensatz dazu wurden die zweidimensionalen Begrenzungsrahmen 30a von dreidimensionalen Bildgebungsdaten 14a abgeleitet und in einen zweidimensionalen Bildraum projiziert und können so als „3D-Bild-Ursprungs-Begrenzungsrahmen“ bezeichnet werden. Das visuelle Klassifikationsuntermodul 32 ist dazu konfiguriert, ein neuronales Netzwerk auf den Bereichsvorschlägen auszuführen, die jeweils durch die 2D- und3D-Bild-Ursprungs-Begrenzungsrahmen 20b, 30a gebildet wurden, um eine Klassifikation und eine Begrenzungsrahmenregression zu erhalten. Die Klassifizierung ist für andere Prozesse nützlich, ist jedoch für die vorliegende Offenbarung nicht direkt relevant. Der Begrenzungsrahmen-Regressionsprozess zielt darauf ab, das neuronale Netzwerk zu verwenden, um wirklichkeitsgetreuere Dimensionen eines Objekts basierend auf eingegebenen zweidimensionalen Bildgebungsdaten 14b im Vergleich zu den gröberen Schätzungen zu erhalten, die durch die Bereichsvorschläge bereitgestellt werden. Somit ist die Begrenzungsrahmen-Regression, die durch das visuelle Klassifizierungsuntermodul 32, insbesondere durch die vorstehend beschriebene neuronale Netzwerkmaschine, ausgeführt wird, in der Lage, die Begrenzungsrahmen 20b, 30a besser an die entsprechenden Objekte anzupassen. Auf diese Weise werden angepasste Begrenzungsrahmen 34a, 34b, die abgeglichenen abgegrenzten Objekten entsprechen, von dem Anpassungsmodul 50 ausgegeben, insbesondere dem visuellen Klassifizierungsuntermodul 32 davon.
-
Die Begrenzungsrahmen-Regression, die von dem visuellen Klassifizierungsuntermodul durchgeführt wird, ist dazu konfiguriert, zweidimensionale Bildgebungsdaten 14b und Begrenzungsrahmen 30a, 30b innerhalb der zweidimensionalen Bildgebungsdaten 14b zu empfangen. Die Begrenzungsrahmen-Regression führt ein neuronales Netzwerk auf den Begrenzungsrahmen 30a, 30b innerhalb der zweidimensionalen Bildgebungsdaten 14b aus. Das neuronale Netzwerk gibt Klassifizierungen und verfeinerte Begrenzungsrahmen aus, die enger an die Geometrie des zu klassifizierenden Objekts angepasst sind. Wird beispielsweise ein Lidar-Bild eines Stoßfängers eines entfernten Fahrzeugs als ein exemplarisches Objekt genommen, kann das Objektverfolgungssystem 10, durch das Registrierungsuntermodul 24 und das 3D-zu-2D-Transformationsuntermodul 26, den Ort und die Abmessungen des Stoßfängers als Bereichsvorschlag 30a ermitteln. Jedoch ist der Bereichsvorschlag 30a in einer oder mehreren Dimensionen tatsächlich kleiner als der tatsächliche Stoßdämpfer, möglicherweise wegen des Lidar-Einfallswinkels, des schlechten Reflexionsvermögens usw. Indem der vergleichsweise grobe Bereichsvorschlag 30a für das visuelle Klassifizierungsuntermodul 32 bereitgestellt wird, analysiert das neuronale Netzwerk die zweidimensionalen Bildgebungsdaten 14b und kann die wahren Abmessungen des Stoßfängers in dem Bild ermitteln, die beispielsweise breiter und größer sind. Das visuelle Klassifizierungsuntermodul 32 ist dazu konfiguriert, angepasste Begrenzungsrahmen 34a mit angepassten Abmessungen auszugeben. Nicht nur können Objektabmessungen basierend auf den zweidimensionalen Bildgebungsdaten 14b genauer ermittelt werden, sondern es können auch falsch geteilte Objekte, die auf der Grundlage von dreidimensionalen Abbildungsdaten 14a ermittelt werden, korrigiert werden. In dem Fall von zwei Objekten, die wirklich eins sein sollten, kann die Begrenzungsrahmen-Regression eines oder beide der Objekte, die durch die 3D-Bilderzeugungs-Begrenzungsrahen 30a repräsentiert werden, auf die tatsächliche Geometrie des Objekts zurückrechnen, wodurch die mehreren Begrenzungsrahmen 30a zu einem oder mehreren angepassten Begrenzungsrahmen 34 zusammengeführt werden.
-
In Fällen, in denen Begrenzungsrahmen 30a basierend auf den dreidimensionalen Bildgebungsdaten 14a mehrere Objekte zusammenführen, ist die Begrenzungsrahmenregression in der Lage, die Begrenzungsrahmen aufzuteilen, um mehrere regressive Begrenzungsrahmen 34 aus einem einzelnen 3D-Bildausgangsbegrenzungsrahmen 30a zu ermitteln.
-
In Fällen, in denen Objekte teilweise oder vollständig durch die dreidimensionalen Bildgebungsdaten 14a übersehen werden, können die 2D-Bildgebungs-Begrenzungsrahmen 20a verwendet werden, um fehlende Objektdaten zu ersetzen. Die Begrenzungsrahmen-Regression 20a kann immer noch auf den Begrenzungsrahmen 20a als Bereichsvorschlag ausgeführt werden, um wirklichkeitsgetreuere Dimensionen dafür zu erhalten, um angepasste zweidimensionale Begrenzungsrahmen 34b zu ermitteln.
-
In Ausführungsformen repräsentiert die Ausgabe der Begrenzungsrahmen-Regression, die durch das visuelle Klassifikationsuntermodul 32 durchgeführt wird, eine wirklichkeitsgetreuere Dimension in dem zweidimensionalen Bildraum. In Ausführungsformen ist das Verfolgungssystem 42 jedoch so konfiguriert, dass dieses eine Objektverfolgung in einem realen dreidimensionalen Raum durchführt. Dementsprechend ist ein erstes 2D-zu-3D-Transformationsuntermodul 36 dazu konfiguriert, die eingestellten zweidimensionalen Begrenzungsrahmen 34a, die von den dreidimensionalen Bildgebungsdaten 14a stammen, in dreidimensionale Begrenzungsrahmen 40a umzuwandeln. Das erste 2D-zu-3D-Transformationsuntermodul 36 ist dazu konfiguriert, als eine Eingabe Abstandsdaten des Objekts von der Lidar-Vorrichtung 12a zu nehmen, die aus den dreidimensionalen Begrenzungsrahmendaten 20a (von der z-Koordinate) ermittelt werden können. Ferner können intrinsische und extrinsische Kalibrierungsdaten 22 der Kamera 12c als eine weitere Eingabe verwendet werden. Aus den Entfernungsdaten und den Kalibrierungsdaten kann eine Rückprojektionstransformation durchgeführt werden. Das heißt, die durch die Registrierung und die 3D- zu 2D-Untermodule 24, 26 durchgeführte Transformation, wodurch Objektverfolgungsdaten 20a in drei Dimensionen in Koordinaten und Dimensionen in dem zweidimensionalen Bildraum umgewandelt werden, wird umgekehrt. Das heißt, das erste 2D-zu-3D-Transformationsuntermodul 36 ist dazu konfiguriert, die angepassten oder korrigierten Objektdaten 34a, die korrigierte oder angepasste Dimensionen beinhalten, zu korrigierten Objektdaten 40a zu transformieren, die Position und/oder Dimensionen wie Höhe und/oder Breite und/oder Länge des Objekts im dreidimensionalen Raum beinhalten. Die korrigierten Daten 40a bezüglich der Objektgeometrie werden an das Verfolgungssystem 42 als Rückmeldung ausgegeben, um dessen Information über ein interessierendes Objekt zu aktualisieren. Das Verfolgungssystem 42 kann Teil des Klassifizierungs- und Segmentierungsmoduls 1076 sein, wie mit Bezug auf 3 vorstehend beschrieben. Das erste 2D-zu-3D-Transformationsuntermodul 36 beinhaltet einen Prozessor und computerlesbare Anweisungen zum Ausführen des Dimensionstransformationsprozesses sowie zur Steuerung des Empfangs von zweidimensionalen Objektdaten 34a und zum Ausgeben von dreidimensionalen Objektdaten 34a.
-
Das erste 2D-zu-3D-Transformationsuntermodul 36 ist nicht in der Lage, die angepassten Begrenzungsrahmen 34b, die von den zweidimensionalen Daten 14a stammen, zu transformieren, da eine Rückprojektion unter Verwendung von dreidimensionalen Daten nicht verfügbar ist. Stattdessen beinhaltet das Objektverfolgungssystem 10 ein zweites 2D-zu-3D-Transformationsuntermodul 38, das mit den angepassten Objektdaten 34b arbeitet, die von den zweidimensionalen Bildgebungsdaten 14b stammen. Die zweidimensionalen Bildgebungsdaten 14b beinhalten keine Entfernungsmessungen im Gegensatz zu den dreidimensionalen Bildgebungsdaten 14a. Somit ist das zweite 2D-zu-3D-Transformationsuntermodul 38 dazu konfiguriert, Abstandsdaten von den zweidimensionalen Bildgebungsdaten 14b unter Verwendung einer geometrischen Analyse und basierend auf Höhenkartendaten abzuleiten. Das zweite 2D-zu-3D-Transformationsuntermodul 38 ist dazu konfiguriert, dreidimensionale Objektdaten 40a auszugeben, die in Ausführungsformen durch dreidimensionale Begrenzungsrahmen 40b gebildet werden. Das zweite 2D-zu-3D-Transformationsuntermodul 38 beinhaltet einen Prozessor und Softwareanweisungen, die von dem Prozessor ausgeführt werden können, um die erforderliche geometrische Analyse auszuführen und um den Empfang angepasster zweidimensionaler Objektdaten 34b zu und die Ausgabe angepasster dreidimensionaler Objektdaten 40b zu steuern.
-
Das zweite 2D-zu-3D-Transformationsuntermodul 38 ist dazu konfiguriert, zweidimensionale angepasste Objektdaten 34b, die in Ausführungsformen durch Begrenzungsrahmen 34b gebildet werden, zu empfangen und um zweidimensionale angepasste Objektdaten 34b in dreidimensionale angepasste Objektdaten 40b umzuwandeln, z. B. dreidimensional angepasste Begrenzungsrahmen 40b. Das zweite 2D-zu-3D-Transformationsuntermodul 38 ist dazu konfiguriert, den Standort zweidimensionaler angepasster Objektdaten 34b unter Verwendung eines trainierten neuronalen Netzwerks zu schätzen, das das gleiche neuronale Netzwerk sein kann, wie vorstehend unter Bezugnahme auf das visuelle Klassifizierungsuntermodul 32 beschrieben und ermittelt dadurch dreidimensionale Dimensionen für die dreidimensionalen Begrenzungsrahmen 40b. Das zweite 2D-zu-3D-Transformationsuntermodul 38 ist ferner zum Schätzen des dreidimensionalen Ortes auf Grundlage von Höhenkartendaten 52, die nachfolgend ausführlicher erläutert werden, und der Höhe der angepassten Begrenzungsrahmen 34b in dem zweidimensionalen Bereich des zweidimensionalen Bildes 14b konfiguriert. Das heißt, ein dreidimensionaler Ort eines Objekts wird basierend auf den zweidimensionalen Bildgebungsdaten 14b und den vorbestimmten Höhenkartendaten 52 gemäß den nachfolgend beschriebenen Systemen und Verfahren ermittelt, insbesondere in Bezug auf 6. Für die Entfernung ist das 2D-zu-3D-Transformationsmodul 38 dazu konfiguriert, geometrische Berechnungen unter Verwendung von zuvor abgebildeten Höhenkartendaten 52 zu implementieren. Die Höhenkartendaten 52 ermöglichen, dass eine Entfernung von dem Fahrzeug, basierend auf dem zweidimensional eingestellten Begrenzungsrahmen 34b, geschätzt wird.
-
Genauer gesagt korrelieren die Höhenkartendaten 52 Höheninformationen mit GPS- oder anderen Positionsdaten. Die Höhenkartendaten 52 können in der Datenspeichervorrichtung 1032 gespeichert werden. Die GPS-Positionsdaten können differentielle GPS-Positionsdaten für erhöhte Genauigkeit sein. Auf diese Weise sind die Höhenkartendaten 52 in der Lage, eine Höhe des Bodens, insbesondere Straßen, für vermessene GPS- oder andere Ortsdatenpunkte zu korrelieren. Dementsprechend ist eine dreidimensionale Höhenkarte 52 vorgefertigt und steht zur Verwendung durch das System 10 zur Verfügung. Die Höhenkartendaten 52 können aus Lidar-Daten, die von Kartierungsfahrzeugen gesammelt wurden, nachbearbeitet werden. Die Höhenkartendaten 52 können Kartierungskacheln (zum Beispiel von 10 cm mal 10 cm) beinhalten, die die Höhe des Bodens an dem Ort jeder Kachel enthalten, wobei jeder Ort GPS-referenziert sein kann.
-
Detaillierter und in einem Beispiel ist das zweite 2D-zu-3D-Transformationsuntermodul 38 dazu konfiguriert, einen Standort von mindestens einer Kamera 12c zu ermitteln, die die zweidimensionalen Bildgebungsdaten 12c relativ zu den Höhenkartendaten 52 erfasst hat. Das heißt, eine Position oder Standort der Kamera 12c in den Höhenkartendaten 52 wird ermittelt. Der Standort der Kamera 12c kann basierend auf dem Standort des Fahrzeugs 1010 in den Höhenkartendaten 52 mittels des GPS oder anderen Ortungsdaten des Fahrzeugs, des entsprechenden GPS oder anderer Ortungsdaten in den Höhenkartendaten 52 und einer vorbestimmten Information bezüglich der Größe und der relativen Position des Fahrzeugs und der Kamera 12c, die beispielsweise aus Kalibrierungsdaten 22 ermittelt werden können, ermittelt werden.
-
Das zweite 2D-zu-3D-Transformationsuntermodul 38 ist dazu konfiguriert, zumindest einen Teil der Begrenzungsrahmen 34b an ihren jeweiligen Positionen in den zweidimensionalen Bildgebungsdaten 14b in den dreidimensionalen Bildraum der Höhenkartendaten 52 zu projizieren. Das zweite 2D-zu-3D-Transformationsuntermodul 38 ist dazu konfiguriert, basierend auf den Höhenkartendaten 52 einen Schnittpunkt der Projektion mit dem Boden zu ermitteln. Aus den Schnittpunkt-Höhenkartendaten 52, z. B. Kacheln davon, kann eine dreidimensionale Position der Begrenzungsrahmen 34b und somit der entsprechenden Objekte geschätzt werden. In einer exemplarischen Ausführungsform wird eine vertikale Unterseite des Begrenzungsrahmens 34b projiziert, um den entsprechenden Punkt in den Höhenkartendaten 52 zu finden, wodurch eine ungefähre Entfernung in einem dreidimensionalen Raum von der Kamera 12c ermittelt werden kann. Die Projektion, die von dem zweiten 2D-zu-3D-Transformationsuntermodul 38 durchgeführt wird, kann einen Raytracing-Algorithmus verwenden. Um weiterhin zweidimensionale Daten genau in die dreidimensionalen Höhenkartendaten zu projizieren, werden nicht nur der Fahrzeug- und Kamerastandort, basierend auf GPS oder anderen Ortungsdaten und vorbestimmten Dimensionsinformationen, verwendet, sondern auch Kalibrierungsdaten 22 bezüglich der intrinsischen und extrinsischen Kalibrierung der Kamera 12c, die eine Sichtfeldinformation bereitstellt. Der Kamerastandort kann aus vorbestimmten Kamerastandortdaten 54 ermittelt werden, die in der Datenspeichervorrichtung 1032 gespeichert sein können und die in den Kalibrierungsdaten 22 eingearbeitet werden können. Ein Projektionsalgorithmus, z. B. basierend auf von Raytracing, verwendet die Kamerastandortdaten 54 und die Kamerakalibrierungsdaten 22, um den Strahl der Begrenzungsrahmen 34b in den Kamerabilddaten 14b mit den Höhenkartendaten 52 zu schneiden. Basierend auf dieser Projektion berechnet das zweite 2D-zu-3D-Transformationsuntermodul 38 eine relative Entfernung zwischen dem Fahrzeug und den erkannten Objekten, die durch die Begrenzungsrahmen 34b dargestellt sind.
-
Das zweite 2D-zu-3D-Transformationsuntermodul 38 ist dazu konfiguriert, dreidimensionale Standortdaten für die Begrenzungsrahmen 34b, die von dem visuellen Klassifizierungsuntermodul 32 erhältlich sind, und die geschätzten dreidimensionalen Ortsdaten, die wie vorstehend beschrieben erhalten werden, zu kombinieren, um dreidimensional angepasste Begrenzungsrahmen 40b zu erzeugen. Die angepassten Begrenzungsrahmen 40b in drei Dimensionen wurden aus zweidimensionalen Bildgebungsdaten 14b in Kombination mit vorbestimmten dreidimensionalen Höhenkartendaten 52 erhalten.
-
Das zweite 2D-zu-3D-Transformationsuntermodul 38 und die von diesen ausgeführten Algorithmen nutzen die Tatsache, dass in den Kamerabildgebungsdaten 14b unter der Annahme einer flachen Bodenfläche Böden von näher liegenden Objekten oder die diese repräsentierenden Begrenzungsrahmen 34b niedriger im Bild und weiter von der Horizontlinie entfernt sind. Diese Annahme ist jedoch falsch, wenn der Boden nicht flach ist. Die vorliegende Offenbarung verwendet in einer exemplarischen Ausführungsform die Höhenkartendaten 52, um selbst hügeliges Terrain zu kompensieren.
-
Das Verfolgungssystem 42, das ein Teil des Klassifizierungs- und Segmentierungsmoduls 1076 sein kann, ist dazu konfiguriert, Objekte rund um das Fahrzeug 1010 in drei Dimensionen und in Echtzeit, basierend auf den angepassten Begrenzungsrahmendaten 40a, 40b, zu verfolgen. Angepasste Objektdaten 40a, die auf dreidimensionalen Bildgebungsdaten 14a beruhen, werden berücksichtigt, ebenso wie angepasste Objektdaten 40b, die auf zweidimensionalen Bildgebungsdaten 14b beruhen. Das Verfolgungssystem 42 ist dazu konfiguriert, bekannte Verfolgungsalgorithmen auf die angepassten Objektdaten 40a, 40b durch einen Prozessor und geeignete konfigurierte computerlesbare Anweisungen auszuführen, um aufgrund von Steuerbefehlen 44 zu ermitteln. Die Steuerbefehle 44 werden durch das autonome Fahrsystem 1070 ausgegeben, um die Steuerung des Fahrzeugs 1010 zu unterstützen.
-
Die exemplarische Ausführungsform des Objektverfolgungssystems 10 von 4 ist in dem autonomen Fahrsystem 1070 beinhaltet. Das autonome Fahrsystem 1070 ist so konfiguriert, dass dieses unter anderen möglichen autonomen Fahrmöglichkeiten Lenk- und Geschwindigkeitssteuerungsmanöver ausführt, um Kollisionen zu vermeiden und sich kooperativ mit verfolgten Objekten, teilweise auf den Steuerbefehlen 44 basierend, zu bewegen. Das autonome Fahrsystem 1070 erteilt bekannte autonome Fahrzeugsteuercomputerbefehle durch einen Prozessor, der teilweise auf den Steuerdaten 44 basiert, wie vorstehend in Bezug auf 3 beschrieben.
-
5 zeigt ein Flussdiagramm, das exemplarische Verfahrens- und Systemaspekte der vorliegenden Offenbarung zum Verfolgen eines Objekts beschreibt. Die in 5 gezeigten Schritte des Ablaufdiagramms können durch Computerprogrammanweisungen implementiert werden, die auf einem computerlesbaren Medium gespeichert sind, und die von einem Prozessor wie dem mindestens einen Prozessor 1044 ausgeführt werden. Die Schritte können von den Modulen und Untermodulen ausgeführt werden, die mit Bezug auf 4 beschrieben sind und können auch weitere Aspekten des mit Bezug auf 4 beschriebenen autonomen Antriebssystems 1070 beinhalten.
-
Das Flussdiagramm beschreibt ein exemplarisches Verfahren 60 zum Verfolgen eines Objekts. Das Verfahren beinhaltet einen Schritt 62 zum Empfangen von dreidimensionalen Bildgebungsdaten und einen Schritt 64 zum Empfangen von zweidimensionalen Bildgebungsdaten. Die dreidimensionalen Bildgebungsdaten 14a werden durch eine Lidar-Vorrichtung 12a erfasst und die zweidimensionalen Bildgebungsdaten 14b werden in exemplarischen Ausführungsformen durch eine visuelle Kamera 12c erfasst. In Ausführungsformen können die zwei- und dreidimensionalen Daten die Umgebung des Fahrzeugs abbilden und können eine 360°-Rundumansicht sein. Die Daten werden von dem Datenempfangsmodul 16 empfangen. Dreidimensionale Daten 14a können Abmessungen eines Objekts aufgrund von Reflexionsproblemen beschneiden, oder ein Objekt kann teilweise oder vollständig von den dreidimensionalen Daten 14a übersehen werden. Die hierin beschriebenen Verfahren und Systeme schlagen Bildverarbeitungstechniken vor, um dreidimensionale Daten unter Verwendung zweidimensionaler Bildgebungsdaten 14b zu vervollständigen oder zu korrigieren.
-
In Ausführungsformen beinhaltet das Verfahren 60 einen Schritt 66, der durch das 3D-Objektidentifikationsmodul 18a ausgeführt wird, um eine dreidimensionale Geometrie eines Objekts basierend auf den dreidimensionalen Bildgebungsdaten 14a zu schätzen. In einer Ausführungsform beinhaltet der Schritt 66 das Identifizieren und Abgrenzen eines oder mehrerer Objekte in den dreidimensionalen Bildgebungsdaten 14a. Schritt 66 kann das Herausfiltern von Hintergrund- und Segmentierungsbildanalyseprozessen umfassen, um ein oder mehrere Objekte abzugrenzen. In einer Ausführungsform ermittelt Schritt 66 einen dreidimensionalen Begrenzungsrahmen 20a für jedes identifizierte Objekt in den dreidimensionalen Bildgebungsdaten 14a und gibt diesen aus. Jeder Begrenzungsrahmen 20a beinhaltet zweidimensionale Orts- und zweidimensionale Dimensionsobjektdaten.
-
Zusätzlich oder alternativ zu Schritt 66 beinhaltet das Verfahren 60 einen Schritt 68, der durch das 2D-Objektidentifikationsmodul 18b ausgeführt wird, um eine zweidimensionale Geometrie eines Objekts basierend auf den zweidimensionalen Bildgebungsdaten 14b zu schätzen. In einer Ausführungsform beinhaltet Schritt 68 das Identifizieren und Abgrenzen eines oder mehrerer Objekte in den dreidimensionalen Bildgebungsdaten 14b. Schritt 66 kann das Herausfiltern von Hintergrund- und Segmentierungsbildanalyseprozessen umfassen, um ein oder mehrere Objekte abzugrenzen. In einer Ausführungsform ermittelt Schritt 68 einen dreidimensionalen Begrenzungsrahmen 20b für jedes identifizierte Objekt in den dreidimensionalen Bildgebungsdaten 14b und gibt diesen aus. Jeder Begrenzungsrahmen 20b beinhaltet zweidimensionale Standort- und zweidimensionale Dimensionsobjektdaten.
-
Verfahren 60 beinhaltet einen ersten Anpassungsschritt 70, der durch die Registrierungs- und 3D-zu-2D-Transformationsuntermodule 24, 26 ausgeführt wird, um die geschätzte dreidimensionale Geometrie des einen oder der mehreren Objekte basierend auf den zweidimensionalen Bildgebungsdaten 14b anzupassen. Das heißt, Schritt 70 führt eine Bildverarbeitung an den von Schritt 66 ausgegebenen Objektdaten aus, um die Geometrie jedes identifizierten und abgegrenzten Objekts, basierend auf der Geometrie des einen oder der mehreren Objekte in den zweidimensionalen Bildgebungsdaten 14b, anzupassen oder zu korrigieren. In einer Ausführungsform beinhaltet Schritt 70 einen Unterschritt 70a zum Projizieren des dreidimensionalen Begrenzungsrahmens 20a von Schritt 66 in zweidimensionale Begrenzungsrahmen 30a, die in den zweidimensionalen Bildgebungsdaten registriert sind. Insbesondere werden intrinsische und extrinsische Kalibrierungsdaten 22 verwendet, um eine oder mehrere dreidimensionale Begrenzungsrahmen 20a von Schritt 66 in einen zweidimensionalen Bildraum zu positionieren und zu dimensionieren. Dementsprechend gibt der Projektionsteilschritt 70a einen oder mehrere Begrenzungsrahmen 30a aus, die zweidimensionale Positionsdaten und zweidimensionale Dimensionsdaten beinhalten, die gemäß Kalibrierungsdaten 22 positioniert sind und die eine Registrierung zwischen den dreidimensionalen Bildgebungsdaten 14a und den zweidimensionalen Bildgebungsdaten 14b ermöglichen.
-
Der erste Anpassungsschritt 70 beinhaltet einen Unterschritt 70b zum Ausführen einer Begrenzungsrahmen-Regression durch das visuelle Klassifizierungsuntermodul 32. Die Begrenzungsrahmen-Regression wird an der einen oder den mehreren zweidimensionalen Begrenzungsrahmen 30a ausgeführt. Die zweidimensionalen Begrenzungsrahmen 30a werden als ein Bereichsvorschlag genommen und durchlaufen ein neuronales Netzwerk zusammen mit den zweidimensionalen Bildgebungsdaten 14b. Basierend auf den zweidimensionalen Bildgebungsdaten 14b kann der Begrenzungsrahmen-Regressionsunterschritt 70b die Position und/oder die Dimensionen der einen oder der mehreren Begrenzungsrahmen 30a korrigieren oder anpassen, um angepasste zweidimensionale Versionen 34a davon auszugeben. Der Begrenzungsrahmen-Regressionsunterschritt verwendet den Bereichsvorschlag aus den dreidimensionalen Bildgebungsdaten-Ursprungs-Begrenzungsrahmen 30a, ermittelt entsprechende Objekte in den zweidimensionalen Bildgebungsdaten-Ursprungs-Begrenzungsrahmen 20b und verfeinert die dreidimensionalen Bildgebungsdaten-Ursprungs-Begrenzungsrahmen 30a auf Grundlage von präziseren Bilddaten, die von den ursprünglichen zweidimensionalen Daten 20b verfügbar sind, wodurch angepasste Begrenzungsrahmen 34a erzeugt werden.
-
In Ausführungsformen beinhaltet der erste Anpassungsschritt 70 einen Unterschritt 70c zum Transformieren der angepassten zweidimensionalen Begrenzungsrahmen 34a in dreidimensional angepasste Begrenzungsrahmen 40a. Der Transformierungsunterschritt 70c kehrt den Projektionsschritt 70a auf Grundlage von Kalibrierungsdaten 22, die die zweidimensionale Bilderfassungsvorrichtung 12c und die dreidimensionale Bilderfassungsvorrichtung 12a betreffen, und basierend auf Bereichsdaten, die von abgegrenzten Objekten 20a in der dreidimensionalen Bildgebungsdaten 14a ableitbar sind, um.
-
Der erste Anpassungsschritt 70 nimmt dreidimensionale Objektdaten oder Begrenzungsrahmen 20a auf und korrigiert einen Aspekt, wie z. B. Abmessungen, Anzahl und/oder Position des Objekts basierend auf den zweidimensionalen Bildgebungsdaten 12c. Der erste Anpassungsschritt 70 gibt korrigierte oder angepasste dreidimensionale Objektdaten oder Begrenzungsrahmen 34b aus. Der erste Anpassungsschritt 70 ist in der Lage, die Größe und/oder Position der Objektdaten 20a von dem Schätzschritt 66 zu teilen, zu vereinigen oder zu ändern.
-
Zusätzlich oder alternativ zu dem ersten Anpassungsschritt 70 kann das Verfahren 60 ferner einen zweiten Anpassungsschritt 72 beinhalten, der die zweidimensionalen Objektdaten 20b verarbeitet, die von dem Schätzschritt 68 erhalten werden, um angepasste dreidimensionale Objektdaten 40b zu ermitteln. In Ausführungsformen beinhaltet der zweite Anpassungsschritt 72 einen Unterschritt 72a zum Ausführen einer Begrenzungsrahmen-Regression. Dieser Unterschritt repliziert den vorstehend beschriebenen Unterschritt 70b. Das heißt, geschätzte zweidimensionale Begrenzungsrahmen 20b, die zweidimensionale Positions- und Dimensionsdaten beinhalten, werden durch das visuelle Klassifizierungsuntermodul 32 zwecks einer Begrenzungsrahmen-Regression ausgeführt. Der Begrenzungsrahmen-Regressionsunterschritt 72 verwendet ein neuronales Netzwerk und die zweidimensionalen Bildgebungsdaten 14b, um die Position, Anzahl und/oder Größe der Begrenzungsrahmen 20b zu verfeinern, um angepasste zweidimensionale Begrenzungsrahmen 34b zu ermitteln.
-
In Ausführungsformen beinhaltet der zweite Anpassungsschritt 72 einen Unterschritt 72b zum Transformieren der angepassten zweidimensionalen Objektdaten 34b, die aus einem oder mehreren zweidimensionalen Begrenzungsrahmen 34b bestehen, zu dreidimensionale Objektdaten oder Begrenzungsrahmen 40b. Der Unterschritt 72b zum Durchführen der dreidimensionalen Transformation kann den vorstehend beschriebenen Transformationsschritt 70c nicht replizieren, da keine Bereichsdaten für die zweidimensionalen Bildgebungsdaten 14b verfügbar sind, mit denen die Schritte 68 und 72 arbeiten. Dementsprechend verwendet der Transformierungsunterschritt 72b die Höhenkartendaten 52, wie diese nachstehend in Bezug auf 6 detailliert beschrieben sind. Das heißt, 6 zeigt ein exemplarisches Verfahren zum Transformieren zweidimensionaler Begrenzungsrahmen 34b, die von zweidimensionalen Bildgebungsdaten stammen, in dreidimensionale Bildgebungsdaten gemäß einer Implementierung von Unterschritt 72b.
-
In dem exemplarischen 2D-zu-3D-Transformationsverfahren von 6 werden Höhenkartendaten 52 in Schritt 62 empfangen. Die Höhenkartendaten 52 korrelieren die Position, z. B. GPS-Position und Bodenhöhe. Die Höhenkartendaten 52 können verarbeitete Daten sein, die von einer Entfernungsmessungsbildgebungsvorrichtung wie einer Lidar-Vorrichtung erhalten werden.
-
In Schritt 82 wird der Kamerastandort relativ zu Höhenkartendaten 52 geschätzt. Das heißt, vorbestimmte Standortdaten 54, die die Abmessungen des Fahrzeugs und der Kamera betreffen, werden abgerufen, und GPS- oder andere Ortungsdaten werden von dem Positionierungssystem 1076 einschließlich des GPS-Sensors 12d erhalten. Diese Daten werden kombiniert, um einen Kamerastandort, z. B. Position und Abmessungen relativ zu den Höhenkartendaten zu ermitteln.
-
In Schritt 86 werden zweidimensionale Objektdaten 34b in den zweidimensionalen Bildgebungsdaten 14b, basierend auf dem Kamerastandort von Schritt 82 relativ zu den Höhenkartendaten 52, projiziert. Das heißt, ein Raytracing wird von der Kamera 12c für zweidimensionale Objektdaten 34b in Höhenkartendaten 52 durchgeführt. Kalibrierungsdaten 22 für die Kamera 12c werden verwendet, um zweidimensionale Bildgebungsdaten 14b und Höhenkartendaten 52 zu registrieren. Es kann nur ein Teil der zweidimensionalen Objektdaten 34b genommen werden, insbesondere eine Unterseite jedes Begrenzungsrahmens 34b.
-
In Schritt 88 wird ein Punkt am Boden der Projektion oder Raytracing von Schritt 86 ermittelt.
-
In Schritt 90 werden Höhenkartendaten 52 verwendet, um zumindest die Entfernung von der Kamera 12c und/oder dem Fahrzeug basierend auf dem Punkt am Boden von Schritt 88 zu schätzen, sodass Bereichsdaten für die Objektdaten 34b, optional zusätzlich zu einem dreidimensionalen Ort in den anderen zwei räumlichen Dimensionen, erhalten werden können. Dreidimensionale Ortsdaten für die Objektdaten 34b werden aus den Bereichsdaten und optional auch aus anderen räumlichen Informationen gebildet, die von dem Punkt am Boden von Schritt 88 erhalten werden.
-
In Schritt 92 werden dreidimensionale Dimensionen der Objekte, die den Objektdaten 34b entsprechen, von dem visuellen Klassifizierungsuntermodul 32 empfangen, wie dies vorstehend beschrieben wurde. Diese Dimensionen von dem visuellen Klassifikationsuntermodul werden von einem neuronalen Netzwerkklassifizierungsprozess aus zweidimensionale Objektdaten 20b abgeleitet.
-
In Schritt 94 werden dreidimensionale Positionen und Dimensionen von dem zweiten Anpassungsschritt 72 zur Verwendung in nachfolgenden Schritten ausgegeben.
-
In dem Verfahren von 6 können die Objektdaten Begrenzungsrahmen sein, die, wie hierin weiter beschrieben, abgeleitet werden.
-
Dementsprechend erlaubt das Verfahren von 5, dass die Position eines Objekts, das durch Objektdaten 34b repräsentiert wird, basierend auf dem Fahrzeugstandort, wie durch den GPS-Sensor 12d und anderen Teilen des Ortungssystems 1076 ermittelt, und der Peilung (Projektion) von einem Kamerabild 14b eines identifizierten Objekts 34b abgeleitet wird. Die Geometrie der Höhenkartendaten 52 wird verwendet, um einen dreidimensionalen Ort des durch die Objektdaten 34b dargestellten Objekts zu finden. Insbesondere wird eine imaginäre Linie von der Kamera 12d (die die Peilung des identifizierten Objekts 34b von dem Bild 14b repräsentiert) gezeichnet, um zu festzustellen, wo diese imaginäre Linie die Höhenkartendaten 52 schneidet. Der Schnittpunkt kann mit dem dreidimensionalen Ort des identifizierten Objekts 34b unter Verwendung von Informationen in den Höhenkartendaten 52 korreliert werden.
-
Der zweite Anpassungsschritt 72 ist in der Lage, dreidimensionale Objektdaten 40b, die im Allgemeinen aus einem oder mehreren Begrenzungsrahmen bestehen, basierend auf zweidimensionalen Bildgebungsdaten 14b zu ermitteln, wenn dreidimensionale Bildgebungsdaten 14a nicht verfügbar oder unvollständig sind. Der zweite Anpassungsschritt 72 wird im Allgemeinen parallel zu den kombinierten Operationen an den dreidimensionalen und zweidimensionalen Bildgebungsdaten 14a, 14b ausgeführt, wie in Bezug auf die Schritte 66 und 70 oder alternativ dazu beschrieben. Die Operationen an den zweidimensionalen Bildgebungsdaten, die für die Schritte 68 und 72 beschrieben sind, können besonders nützlich für die Objektverfolgung für Entfernungen sein, bei denen Lidar-Strahlen von der Lidar-Vorrichtung 12a so divergieren, dass diese die Möglichkeit schaffen, ein Objekt zu übersehen.
-
Das Verfahren 60 beinhaltet ferner Schritt 70 zum Verfolgen eines Objekts unter Verwendung der angepassten dreidimensionalen Geometrie eines Objekts. Das heißt, der erste Anpassungsschritt 70 gibt Objektdaten 40a aus, die die Geometrie eines Objekts in drei Dimensionen darstellen, wobei die Objektdaten 40a im Allgemeinen aus einem dreidimensionalen Begrenzungsrahmen 40a bestehen. Ferner repräsentieren die Ausgabeobjektdaten 40b des zweiten Anpassungsschritts 72 die Geometrie eines anderen Objekts in drei Dimensionen, wobei die Objektdaten 40b im Allgemeinen durch einen dreidimensionalen Begrenzungsrahmen 40b gebildet werden. Eines oder beide der Objekte werden in einem realen Raum auf Grundlage vergangener dreidimensionaler Objektdaten und der vorliegenden dreidimensionalen Objektdaten 40a, 40b verfolgt. Verschiedene Parameter können aus der Verfolgung abgeleitet werden, einschließlich Geschwindigkeit und Beschleunigung des oder der verfolgten Objekte. Basierend auf Parametern, die von dem Verfolgungsschritt 74 abgeleitet werden, können Steuerdaten 44 zum Ausführen einer Steuerfunktion einer automatisierten Maschine wie etwa eines autonomen Fahrzeugs 1010 durch das autonome Fahrsystem 1200 erzeugt werden.
-
Das Verfahren 60 beinhaltet Schritt 76 zum Steuern der automatisierten Maschine, die in den exemplarischen Ausführungsformen ein autonomes Fahrzeug 1010 ist. Zum Beispiel wird die Bewegung der Maschine 1010 basierend auf den Steuerdaten 44 gesteuert. Das heißt, eine Lenk- und Geschwindigkeitssteuerung kann basierend auf den Steuerdaten 44 implementiert werden. Insbesondere wird eine autonome Fahrzeugsteuerung durch das autonome Fahrsystem 1070 ausgeführt und basiert teilweise auf Steuerdaten 44.
-
Während mindestens ein exemplarischer Aspekt in der vorstehenden ausführlichen Beschreibung der Erfindung dargestellt worden ist, sollte darauf hingewiesen werden, dass eine große Anzahl an Variationen existiert. Es versteht sich weiterhin, dass der exemplarische Aspekt bzw. die exemplarischen Aspekte lediglich Beispiele sind und den Umfang, die Anwendbarkeit oder die Konfiguration der Erfindung in keiner Weise einschränken sollen. Vielmehr wird die vorstehende ausführliche Beschreibung den Fachleuten einen bequemen Leitplan zur Implementierung eines exemplarischen Aspektes der Erfindung zur Verfügung stellen. Es versteht sich, dass verschiedene Änderungen an der Funktion und der Anordnung von Elementen vorgenommen werden können, die in einem exemplarischen Aspekt beschrieben sind, ohne vom Umfang der Erfindung abzuweichen, wie in den beigefügten Ansprüchen dargelegt.