-
TECHNISCHES GEBIET
-
Die vorliegende Offenbarung bezieht sich allgemein auf autonome Fahrzeuge und insbesondere auf Systeme und Verfahren zum Klassifizieren von Objekten, die von verschiedenen Sensoren eines autonomen Fahrzeugs beobachtet werden.
-
HINTERGRUND
-
Ein autonomes Fahrzeug (AV) ist ein Fahrzeug, das in der Lage ist, seine Umgebung zu erfassen und mit wenig oder keiner Benutzereingabe zu navigieren. Dies geschieht durch den Einsatz von Sensorvorrichtungen wie Radar, Lidar, Bildsensoren und dergleichen. Autonome Fahrzeuge nutzen weiterhin Informationen von globalen Positioniersystemen (GPS), Navigationssystemen, Fahrzeug-Fahrzeug-Kommunikationen, Fahrzeug-Infrastruktur-Technologien und/oder drahtgesteuerten Systemen, um das Fahrzeug zu navigieren.
-
Während in den letzten Jahren signifikante Fortschritte bei AVs erzielt wurden, könnten solche Systeme in einer Reihe von Aspekten noch verbessert werden. Zum Beispiel könnte es für ein AV vorteilhaft sein, in der Lage zu sein, ein Objekt, das in seiner Umgebung erfasst wird, auf präzisere Art und Weise zu klassifizieren - z. B., unabhängig davon, ob ein im Umfeld erfasstes Objekt ein Mensch, ein Kraftfahrzeug oder dergleichen ist.
-
Dementsprechend ist es wünschenswert Systeme und Verfahren bereitzustellen, die in der Lage sind, in der Umgebung erfasste Objekte auf präzisere Art und Weise zu klassifizieren. Ferner werden andere wünschenswerte Funktionen und Merkmale der vorliegenden Erfindung aus der nachfolgenden ausführlichen Beschreibung und den beigefügten Ansprüchen, in Verbindung mit den beigefügten Zeichnungen, sowie mit dem vorangehenden technischen Gebiet und Hintergrund ersichtlich offensichtlich.
-
KURZDARSTELLUNG
-
Systeme und Verfahren werden zum Steuern eines autonomen Fahrzeugs bereitgestellt. In einer Ausführungsform beinhaltet ein Objektklassifizierungsverfahren das Erhalten von Sensordaten, die einem Objekt zugeordnet werden, das durch ein Sensorsystem eines autonomen Fahrzeugs erfasst wird und das Ermitteln einer den Sensordaten zugeordneten Begrenzungskurve mittels eines Prozessors. Das Verfahren beinhaltet ferner das Ermitteln einer Vielzahl von Begrenzungskurvenmerkmalen basierend auf einem Satz von Konvexitäten und Konkavitäten, die der Begrenzungskurve zugeordnet werden und das Klassifizieren des Objekts durch Anwenden der Vielzahl der Begrenzungskurvenmerkmale auf das Maschinenlernmodell und das Erhalten einer Klassifizierungsausgabe, die das Objekt zum Assistieren bei der Steuerung des autonomen Fahrzeugs klassifiziert.
-
In einer Ausführungsform beinhaltet ein System zum Steuern eines Fahrzeugs ein Objektklassifizierungsmodul, einschließlich eines Prozessors. Das Objektklassifizierungsmodul ist ausgestaltet, Sensordaten zu erhalten, die einem Objekt zugeordnet werden, das durch ein Sensorsystem eines autonomen Fahrzeugs erfasst wird; eine Begrenzungskurve, die den Sensordaten zugeordnet wird, zu ermitteln; eine Vielzahl von Begrenzungskurvenmerkmalen basierend auf einem Satz von Konvexitäten und Konkavitäten, die der Begrenzungskurve zugeordnet werden zu ermitteln; und das Objekt durch Anwenden der Vielzahl von Begrenzungskurvenmerkmalen auf ein Maschinenlernmodell zu klassifizieren, welches das Objekt zum Assistieren beim Steuern des autonomen Fahrzeugs klassifiziert.
-
Figurenliste
-
Die exemplarischen Ausführungsformen werden nachfolgend in Verbindung mit den folgenden Zeichnungen beschrieben, worin gleiche Bezugszeichen gleiche Elemente bezeichnen, und worin gilt:
- 1 ist ein Funktionsblockdiagramm, das ein autonomes Fahrzeug mit einem Steuersystem gemäß verschiedenen Ausführungsformen veranschaulicht;
- 2 ist ein Funktionsblockdiagramm, das ein Transportsystem mit einem oder mehreren autonomen Fahrzeugen aus 1 gemäß verschiedenen Ausführungsformen veranschaulicht;
- 3 ist ein Funktionsblockdiagramm, das ein autonomes Antriebssystem (ADS) in Verbindung mit einem autonomen Fahrzeug gemäß verschiedenen Ausführungsformen veranschaulicht;
- 4 ist ein Datenflussdiagramm, das ein Objektklassifizierungssystem gemäß verschiedenen Ausführungsformen darstellt;
- 5 ist ein konzeptionelles Blockdiagramm eines künstlichen neuralen Netzwerks (ANN) gemäß verschiedenen Ausführungsformen;
- 6 ist ein Flussdiagramm, das ein Steuerverfahren zur Objektklassifizierung gemäß verschiedenen Ausführungsformen veranschaulicht;
- 7 veranschaulicht verschiedene Begrenzungskurven, die exemplarischen Punktwolken gemäß verschiedenen Ausführungsformen entsprechen;
- 8 veranschaulicht die Begrenzungskurven aus 7 mit verschiedenen entsprechenden Konvexitäten und Konkavitäten;
- 9 veranschaulicht das Extrahieren von Merkmalen aus einem Abschnitt der exemplarischen Begrenzungskurven gemäß verschiedenen Ausführungsformen; und
- 10 veranschaulicht das Extrahieren von Merkmalen aus einem Abschnitt exemplarischer Begrenzungskurven gemäß verschiedenen Ausführungsformen.
-
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 detaillierten 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, Verarbeitungslogik und/oder Prozessorgeräte, einzeln oder in allen Kombinationen, unter anderem beinhaltend, eine anwendungsspezifische integrierte Schaltung (ASIC), ein feldprogrammierbares Gate-Array (FPGA), eine elektronische Schaltung, einen Prozessor (gemeinsam genutzt, dediziert oder Gruppenprozessor) und einen Speicher, der ein oder mehrere Software- oder Firmwareprogramme, eine kombinatorische Logikschaltung und/oder andere geeignete Komponenten ausführt, welche 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 werden herkömmliche Techniken in Bezug auf Signalverarbeitung, Datenübertragung, Signalisierung, Steuerung, autonome Fahrzeuge, maschinelles Lernen, Bildanalyse, neurale Netzwerke, Lidar, analytische Geometrie und andere funktionale Aspekte der Systeme (und der einzelnen Betriebskomponenten der Systeme) hierin nicht im Detail beschrieben werden. 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 ein Objektklassifizierungssystem (oder einfach „System“) 100 einem autonomen Fahrzeug (AV) 10 gemäß verschiedenen Ausführungsformen zugeordnet. Im Allgemeinen beinhaltet das der Klassifizierungssystem 100 Maschinenlernmodell (ML) (z. B., ein neuronales Netzwerk), das in der Lage ist, Objekte, die sich in der Nähe des Fahrzeugs 10 befinden, basierend auf den Begrenzungskurven dieser Objekte zu klassifizieren - z. B., die Attribute der verschiedenen „Ausbuchtungen“ und „Einbuchtungen“ (auch jeweils als Konvexitäten und Konkavitäten bezeichnet), die in der Begrenzungskurve (oder „Kontur“) erfasst werden. Diese Attribute oder Merkmale können die Steigung der Begrenzungskurve zwischen angrenzenden Konvexitäten und Konkavitäten beinhalten. Diese Attribute können auch die Entfernungen zwischen angrenzenden Konvexitäten und Konkavitäten, die Erhebung (basierend auf einem angemessenen Massenbezug) dieser Konvexitäten und Konkavitäten, und alle anderen geometrischen Merkmale beinhalten, verwendet werden könnten, um ein neuronales Netzwerk oder ein anderes klassifizierungsartiges ML-Modell zu trainieren. Das resultierende ML-Modell kann auf jede Anzahl an Fahrzeugen verteilt werden, und kann automatisch in regelmäßigen oder konfigurierbaren Intervallen aktualisiert werden.
-
Bezugnehmend auf 1 beinhaltet ein autonomes Fahrzeug („AV“ oder einfach „Fahrzeug“) 10 allgemein ein Fahrgestell 12, eine Karosserie 14, Vorderräder 16 und Hinterräder 18. Die Karosserie 14 ist auf dem Fahrgestell 12 angeordnet und umhüllt im Wesentlichen die anderen Komponenten des Fahrzeugs 10. Die Karosserie 14 und das Fahrgestell 12 können gemeinsam einen Rahmen bilden. Die Räder 16-18 sind jeweils mit dem Fahrgestell 12 in der Nähe einer jeweiligen Ecke der Karosserie 14 drehbar verbunden.
-
In verschiedenen Ausführungsformen ist das Fahrzeug 10 ein autonomes Fahrzeug und das Objektklassifizierungssystem 100 ist in das autonome Fahrzeug 10 eingebaut. Das autonome Fahrzeug 10 ist beispielsweise ein Fahrzeug, das automatisch gesteuert wird, um Passagiere von einem Ort zum anderen zu befördern. Das Fahrzeug 10 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), Freizeitfahrzeuge (RVs), Schiffe, Flugzeuge usw. verwendet werden können.
-
In einer exemplarischen Ausführungsform entspricht das autonome Fahrzeug 10 einem Automatisierungssystem des Levels vier oder Levels fünf gemäß der Standardtaxonomie automatisierter Fahrlevels der Society of Automotive Engineers (SAE) „J3016“. Mit dieser Terminologie bezeichnet ein Level-Vier-System eine „hohe Automatisierung“ unter Bezugnahme auf einen Fahrmodus, bei dem das automatisierte Fahrsystem alle Aspekte der dynamischen Fahraufgabe übernimmt, selbst wenn ein menschlicher Fahrer nicht angemessen auf eine Aufforderung zum Eingreifen reagiert. Ein Level-Fünf-System hingegen zeigt eine „Vollautomatisierung“ und bezeichnet einen Fahrmodus, bei dem das automatisierte Fahrsystem alle Aspekte der dynamischen Fahraufgabe unter allen Fahrbahn- und Umweltbedingungen erfüllt, die ein menschlicher Fahrer bewältigen kann. Es wird geschätzt werden, dass die Ausführungsformen gemäß der vorliegenden Thematik nicht auf eine bestimmte Taxonomie oder Rubrik der Automatisierungskategorien beschränkt sind. Ferner können Systeme und Verfahren gemäß der vorliegenden Ausführungsform in Verbindung mit jedem autonomen Fahrzeug verwendet werden, das ein Navigationssystem verwendet, um eine Routenführung bereitzustellen.
-
Wie dargestellt, beinhaltet das autonome Fahrzeug 10 im Allgemeinen ein Antriebssystem 20, ein Übertragungssystem 22, ein Lenksystem 24, ein Bremssystem 26, ein Sensorsystem 28, ein Stellgliedsystem 30, mindestens einen Datenspeicher 32, mindestens eine Steuerung 34 und ein Kommunikationssystem 36. Das Antriebssystem 20 kann in verschiedenen Ausführungsformen einen Verbrennungsmotor, eine elektrische Maschine, wie beispielsweise einen Traktionsmotor und/oder ein Brennstoffzellenantriebssystem, beinhalten. Das Übertragungssystem 22 ist dazu konfiguriert, Leistung vom Antriebssystem 20 auf die Fahrzeugräder 16 und 18 gemäß den wählbaren Übersetzungsverhältnissen zu übertragen. Gemäß verschiedenen Ausführungsformen kann das Getriebesystem 22 ein Stufenverhältnis-Automatikgetriebe, ein stufenlos verstellbares Getriebe oder ein anderes geeignetes Getriebe beinhalten.
-
Das Bremssystem 26 ist dazu konfiguriert, den Fahrzeugrädern 16 und 18 ein Bremsmoment bereitzustellen. Das Bremssystem 26 kann in verschiedenen Ausführungsformen Reibungsbremsen, Bake-by-Wire, ein regeneratives Bremssystem, wie beispielsweise eine elektrische Maschine und/oder andere geeignete Bremssysteme, beinhalten.
-
Das Lenksystem 24 beeinflusst eine Position der Fahrzeugräder 16 und/oder 18. Während in einigen Ausführungsformen innerhalb des Umfangs der vorliegenden Offenbarung zur Veranschaulichung als ein Lenkrad 25 dargestellt, kann das Lenksystem 24 kein Lenkrad beinhalten.
-
Das Sensorsystem 28 beinhaltet eine oder mehrere Sensorvorrichtungen 40a-40n, die beobachtbare Zustände der äußeren Umgebung und/oder der inneren Umgebung des autonomen Fahrzeugs 10 erfassen. Die Abtastvorrichtungen 40a-40n können Radargeräte, Lidare, globale Positionierungssysteme, optische Kameras, Wärmebildkameras, Ultraschallsensoren und/oder andere Sensoren beinhalten, sind aber nicht darauf beschränkt. Das Stellantriebssystem 30 beinhaltet eine oder mehrere Stellantriebs-Vorrichtungen 42a-42n, die ein oder mehrere Fahrzeugmerkmale, wie zum Beispiel das Antriebssystem 20, das Getriebesystem 22, das Lenksystem 24 und das Bremssystem 26, steuern, jedoch nicht darauf beschränkt sind. In verschiedenen Ausführungsformen kann das autonome Fahrzeug 10 auch Fahrzeug-Innen- und/oder Außenausstattungen beinhalten, die nicht in 1 dargestellt sind, wie beispielsweise verschiedene Türen, Kofferraum- und Kabinenausstattungen, wie Luft, Musik, Beleuchtung, Touchscreen-Display-Komponenten (wie sie in Verbindung mit Navigationssystemen verwendet werden) und dergleichen.
-
Die Datenspeichervorrichtung 32 speichert Daten zur Verwendung beim automatischen Steuern des autonomen Fahrzeugs 10. In verschiedenen Ausführungsformen speichert die Datenspeichervorrichtung 32 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 entfernte System zusammengesetzt und dem autonomen Fahrzeug 10 (drahtlos und/oder drahtgebunden) mitgeteilt und in der Datenspeichervorrichtung 32 gespeichert werden. Routeninformationen können auch in der Datenvorrichtung 32 gespeichert werden - d. h., in einer Reihe von Straßenabschnitten (die geografisch mit einer oder mehreren der definierten Karten verknüpft sind), die zusammen eine Route definieren, die der Benutzer von einem Startort (z. B. dem aktuellen Standort des Benutzers) zu einem Zielort zurücklegen kann. Wie ersichtlich ist, kann die Datenspeichervorrichtung 32 ein Teil der Steuerung 34, von der Steuerung 34 getrennt, oder ein Teil der Steuerung 34 und Teil eines separaten Systems sein.
-
Die Steuerung 34 beinhaltet mindestens einen Prozessor 44 und eine computerlesbare Speichervorrichtung oder Medien 46. Der Prozessor 44 kann eine Spezialanfertigung oder ein handelsüblicher Prozessor sein, eine Zentraleinheit (CPU), eine Grafikprozessoreinheit (GPU) unter mehreren Prozessoren verbunden mit der Steuerung 34, ein Mikroprozessor auf Halbleiterbasis (in Form eines Mikrochips oder Chip-Satzes) eine Kombination derselben oder allgemein jede beliebige Vorrichtung zur Ausführung von Anweisungen. Die computerlesbare Speichervorrichtung oder Medien 46 können flüchtige und nicht-flüchtige Speicher in einem Nur-Lese-Speicher (ROM), einem Speicher mit direktem Zugriff (RAM) und einem Keep-Alive-Memory (KAM) beinhalten. KAM ist ein persistenter oder nichtflüchtiger Speicher, der verwendet werden kann, um verschiedene Betriebsvariablen zu speichern, während der Prozessor 44 ausgeschaltet ist. Die computerlesbare Speichervorrichtung oder Medien 46 können unter Verwendung einer beliebigen einer Anzahl an bekannten Speichervorrichtungen, wie beispielsweise PROMs (programmierbarer Nur-Lese-Speicher), EPROMs (elektrische PROM), EEPROMs (elektrisch löschbarer PROM), Flash-Speicher oder beliebige andere elektrischen, magnetischen, optischen oder kombinierten Speichervorrichtungen implementiert werden, die Daten speichern können, von denen einige ausführbare Anweisungen darstellen, die von der Steuerung 34 beim Steuern des autonomen Fahrzeugs 10 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 umfasst. Die Anweisungen empfangen und verarbeiten, wenn diese vom Prozessor 44 ausgeführt werden, Signale vom Sensorsystem 28, führen Logik, Berechnungen, Verfahren und/oder Algorithmen zur automatischen Steuerung der Komponenten des autonomen Fahrzeugs 10 durch und erzeugen Steuersignale, die an das Stellgliedsystem 30 übertragen werden, um die Komponenten des autonomen Fahrzeugs 10 basierend auf der Logik, den Berechnungen, den Verfahren und/oder Algorithmen automatisch zu steuern. Obwohl in 1 nur eine Steuerung 34 dargestellt ist, können Ausführungsformen des autonomen Fahrzeugs 10 eine beliebige Anzahl an Steuerungen 34 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 10 automatisch zu steuern. In einer Ausführungsform, wie im Detail unten diskutiert, ist die Steuerung 34 konfiguriert, Objekte in der Umgebung unter Verwendung eines ML-Modells zu klassifizieren, das zuvor basierend auf der Art der Berandungskurve, die solchen Objekten zugeordnet ist, trainiert wurde.
-
Das Kommunikationssystem 36 ist dazu konfiguriert, Informationen drahtlos an und von anderen Einheiten 48, wie beispielsweise, jedoch nicht beschränkt auf andere Fahrzeuge („V2V“-Kommunikation), Infrastruktur („V2I“-Kommunikation), entfernte Transportsysteme und/oder Benutzervorrichtungen (in Bezug auf 2 näher beschrieben), zu übermitteln. In einer exemplarischen Ausführungsform ist das drahtlose Kommunikationssystem 36 dazu konfiguriert, über ein drahtloses lokales Netzwerk (WLAN) unter Verwendung des IEEE 802.11-Standards, über Bluetooth 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-Kurzstrecken- bis Mittelklasse-Funkkommunikationskanäle, die speziell für den Automobilbau und einen entsprechenden Satz von Protokollen und Standards entwickelt wurden.
-
Mit weiterem Bezug auf 2 in verschiedenen Ausführungsformen kann das autonome Fahrzeug 10, das mit Bezug auf 1 beschrieben ist, für den Einsatz im Rahmen eines Taxi- oder Shuttle-Unternehmens in einem bestimmten geografischen Gebiet (z. B. einer Stadt, einer Schule oder einem Geschäftscampus, einem Einkaufszentrum, einem Vergnügungspark, einem Veranstaltungszentrum oder dergleichen) geeignet sein. So kann beispielsweise das autonome Fahrzeug 10 einem autonomen fahrzeugbasierten Transportsystem zugeordnet sein. 2 veranschaulicht eine exemplarische Ausführungsform einer Betriebsumgebung, die im Allgemeinen bei 50 dargestellt ist und ein autonomes fahrzeugbasiertes Transportsystem (oder einfach „entferntes Transportsystem“) 52 beinhaltet, das, wie mit Bezug auf 1 beschrieben, einem oder mehreren autonomen Fahrzeugen 10a-10n zugeordnet ist. In verschiedenen Ausführungsformen beinhaltet die Betriebsumgebung 50 (die ganz oder teilweise den in 1 dargestellten Einheiten 48 entsprechen können) ferner eine oder mehrere Benutzervorrichtungen 54, die mit dem autonomen Fahrzeug 10 und/oder dem entfernten Transportsystem 52 über ein Kommunikationsnetzwerk 56 kommunizieren.
-
Das Kommunikationsnetzwerk 56 unterstützt die Kommunikation zwischen Geräten, Systemen und Komponenten, die von der Betriebsumgebung 50 unterstützt werden (z. B. über physische Kommunikationsverbindungen und/oder drahtlose Kommunikationsverbindungen). So kann beispielsweise das Kommunikationsnetzwerk 56 ein drahtloses Trägersystem 60 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 drahtlosen Trägersystems 60 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 60 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 Mobilfunkturm/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 drahtlosen Trägersystems 60 kann ein zweites drahtloses Trägersystem in Form eines Satellitenkommunikationssystems 64 verwendet werden, um unidirektionale oder bidirektionale Kommunikation mit dem autonomen Fahrzeug 10a-10n 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 10 und der Station weiterzugeben. Die Satellitentelefonie kann entweder zusätzlich oder anstelle des Mobilfunkanbietersystems 60 verwendet werden.
-
Ein Festnetz-Kommunikationssystem 62 kann ein konventionelles Festnetz-Telekommunikationsnetzwerk beinhalten, das mit einem oder mehreren Festnetztelefonen verbunden ist und das drahtlose Trägersystem 60 mit dem entfernten Transportsystem 52 verbindet. So kann beispielsweise das Festnetz-Kommunikationssystem 62 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 62 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 Breitbandzugang (BWA) bereitstellen oder jeder Kombination davon implementiert sein. Weiterhin muss das entfernte Transportsystem 52 nicht über das Festnetz-Kommunikationssystem 62 verbunden sein, sondern könnte Funktelefonausrüstung beinhalten, sodass sie direkt mit einem drahtlosen Netzwerk, wie z. B. dem drahtlosen Trägersystem 60, kommunizieren kann.
-
Obwohl in 2 nur eine Benutzervorrichtung 54 dargestellt ist, können Ausführungsformen der Betriebsumgebung 50 eine beliebige Anzahl an Benutzervorrichtungen 54, einschließlich mehrerer Benutzervorrichtungen 54 unterstützen, die das Eigentum einer Person sind, von dieser bedient oder anderweitig verwendet werden. Jede Benutzervorrichtung 54, die von der Betriebsumgebung 50 unterstützt wird, kann unter Verwendung einer geeigneten Hardwareplattform implementiert werden. In dieser Hinsicht kann die Benutzervorrichtung 54 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; eine Komponente 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 50 unterstützte Benutzervorrichtung 54 ist als computerimplementiertes oder computergestütztes Gerät mit der Hardware-, Software-, Firmware- und/oder Verarbeitungslogik realisiert, die für die Durchführung der hier beschriebenen verschiedenen Techniken und Verfahren erforderlich ist. So beinhaltet beispielsweise die Benutzervorrichtung 54 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 54 ein GPS-Modul, das GPS-Satellitensignale empfangen und GPS-Koordinaten basierend auf diesen Signalen erzeugen kann. In weiteren Ausführungsformen beinhaltet die Benutzervorrichtung 54 eine Mobilfunk-Kommunikationsfunktionalität, sodass die Vorrichtung Sprach- und/oder Datenkommunikationen über das Kommunikationsnetzwerk 56 unter Verwendung eines oder mehrerer Mobilfunk-Kommunikationsprotokolle durchführt, wie hierin erläutert. In verschiedenen Ausführungsformen beinhaltet die Benutzervorrichtung 54 eine visuelle Anzeige, wie zum Beispiel ein grafisches Touchscreen-Display oder eine andere Anzeige.
-
Das entfernte Transportsystem 52 beinhaltet ein oder mehrere Backend-Serversysteme, nicht dargestellt), die an dem speziellen Campus oder dem geografischen Standort, der vom Transportsystem 52 bedient wird, Cloud-basiert, netzwerkbasiert oder resident sein können. Das entfernte Transportsystem 52 kann mit einem Live-Berater, einem automatisierten Berater, einem System der künstlichen Intelligenz oder einer Kombination davon besetzt sein. Das entfernte Transportsystem 52 kann mit den Benutzervorrichtungen 54 und den autonomen Fahrzeugen 10a-10n kommunizieren, um Fahrten zu planen, autonome Fahrzeuge 10a-10n zu versetzen und dergleichen. In verschiedenen Ausführungsformen speichert das entfernte Transportsystem 52 Kontoinformationen, wie zum Beispiel Teilnehmer-Authentisierungsdaten, Fahrzeugkennzeichen, Profilaufzeichnungen, biometrische Daten, Verhaltensmuster und andere entsprechende Teilnehmerinformationen. In einer Ausführungsform, wie nachstehend ausführlicher beschrieben, beinhaltet das entfernte Transportsystem 52 eine Routendatenbank 53, die Informationen in Bezug auf Navigationssystemrouten speichert.
-
Gemäß einem typischen Anwendungsfall-Arbeitsablauf kann ein registrierter Benutzer des Ferntransportsystems 52 über die Benutzervorrichtung 54 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 entfernte Transportsystem 52 empfängt die Fahrtanforderung, verarbeitet die Anforderung und sendet ein ausgewähltes der autonomen Fahrzeuge 10a-10n (wenn und sofern verfügbar), um den Passagier an dem vorgesehenen Abholort und zu gegebener Zeit abzuholen. Das Transportsystem 52 kann zudem eine entsprechend konfigurierte Bestätigungsnachricht oder Benachrichtigung an die Benutzervorrichtung 54 erzeugen und senden, um den Passagier zu benachrichtigen, dass ein Fahrzeug unterwegs ist.
-
Wie ersichtlich, bietet der hierin offenbarte Gegenstand bestimmte verbesserte Eigenschaften und Funktionen für das, was als ein standardmäßiges oder Basislinien autonomes Fahrzeug 10 und/oder ein autonomes fahrzeugbasiertes Transportsystem 52 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äß verschiedener Ausführungsformen realisiert die Steuerung 34 ein autonomes Antriebssystem (ADS) 70, wie in 3 dargestellt. Das heißt, dass geeignete Soft- und/oder Hardwarekomponenten der Steuerung 34 (z. B. der Prozessor 44 und das computerlesbare Speichermedium 46) verwendet werden, um ein autonomes Antriebssystem 70 bereitzustellen, das in Verbindung mit dem Fahrzeug 10 verwendet wird.
-
In verschiedenen Ausführungsformen können die Anweisungen des autonomen Antriebssystems 70 je nach Funktion oder System gegliedert sein. Das autonome Antriebssystem 70 kann beispielsweise, wie in 3 dargestellt, ein Sensorfusionssystem 74, ein Positioniersystem 76, ein Lenksystem 78 und ein Fahrzeugsteuerungssystem 80 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 74 Sensordaten und prognostiziert Anwesenheit, Lage, Klassifizierung und/oder Verlauf von Objekten und Merkmalen der Umgebung des Fahrzeugs 10. In verschiedenen Ausführungen kann das Sensorfusionssystem 74 Informationen von mehreren Sensoren beinhalten, einschließlich, aber nicht beschränkt auf Kameras, Lidars, Radars und/oder eine beliebige Anzahl anderer Arten von Sensoren.
-
Das Positionierungssystem 76 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 10 in Bezug auf die Umgebung zu ermitteln. Das Leitsystem 78 verarbeitet Sensordaten zusammen mit anderen Daten, um eine Strecke zu ermitteln, dem das Fahrzeug 10 folgen soll. Das Fahrzeugsteuerungssystem 80 erzeugt Steuersignale zum Steuern des Fahrzeugs 10 entsprechend der ermittelten Strecke.
-
In verschiedenen Ausführungsformen implementiert die Steuerung 34 maschinelle Lerntechniken, um die Funktionalität der Steuerung 34 zu unterstützen, wie z. B. Merkmalerkennung/Klassifizierung, Hindernisminderung, Routenüberquerung, Kartierung, Sensorintegration, Boden-Wahrheitsbestimmung und dergleichen.
-
Wie vorstehend kurz erwähnt, ist das System 100 aus 1 in der Lage, Objekte, die sich in der Nähe des Fahrzeugs 10 befinden, basierend auf den Begrenzungskurven dieser Objekte zu klassifizieren. In verschiedenen Ausführungsformen werden Klassifizierungen basierend auf den Attributen der verschiedenen „Ausbuchtungen“ und „Einbuchtungen“ (auch jeweils als Konvexitäten und Konkavitäten bezeichnet), die in der Begrenzungskurve des Objekts erfasst werden, durchgeführt. Diese Attribute oder Merkmale können die Steigung der Begrenzungskurve zwischen angrenzenden Konvexitäten und Konkavitäten, die Entfernung zwischen angrenzenden Konvexitäten und Konkavitäten, die Steigung dieser Konvexitäten und Konkavitäten und alle anderen geometrischen Merkmale beinhalten, die verwendet werden können, um ein neuronales Netzwerk oder ein anderes klassifizierungsartiges ML-Modell zu trainieren.
-
4 ist ein Datenflussdiagramm, das verschiedene Ausführungsformen des Systems 100 veranschaulicht, die in die Steuerung 34 eingebettet sein können. Unter Bezugnahme auf 5 beinhaltet ein exemplarisches System im Allgemeinen ein Objektklassifizierungsmodul 420, das Sensordaten 402 in Bezug zur Umgebung des Fahrzeugs (z. B., Kamerabilder, Lidardaten, oder alle anderen Sensordaten, die vom Sensorsystem 28 erhalten werden) erhält, und als seine Ausgabe 403 eine Bestimmung hinsichtlich der Klasse (oder Kategorie) der verschiedenen Objekte aufweist, die in der Umgebung des Fahrzeugs erfasst werden. In verschiedenen Ausführungsformen implementiert das Modul 420 ein ML-Modell, das zuvor unter Verwendung eines Corpus von exemplarischen Bildern (z. B., exemplarische Bilder der bekannten Objektarten) trainiert worden ist.
-
Es versteht sich, dass verschiedene Ausführungsformen des Systems 100 gemäß der vorliegenden Offenbarung eine beliebige Anzahl an Untermodulen beinhalten können, die in der Steuerung 34 eingebettet sind. Wie zu erkennen ist, können dann alle Module/Untermodule, die in 4 dargestellt sind, kombiniert und/oder weiter unterteilt werden, um ähnlich die verschiedenen hierin beschriebenen Verfahren durchzuführen. Eingaben in das System 100 können vom Sensorsystem 28 empfangen werden, die von anderen Steuermodulen (nicht dargestellt) empfangen werden, die dem autonomen Fahrzeug 10 zugeordnet sind, die vom Kommunikationssystem 36 empfangen werden und/oder von anderen Untermodulen (nicht dargestellt), die innerhalb der Steuerung 34 von 1 ermittelt/modelliert werden. Modul 420 kann zum Beispiel in einem der verschiedenen in 3 veranschaulichten Module implementiert sein.
-
Das Objektklassifizierungsmodul 420 kann eine Vielzahl von Maschinenlernmethoden implementieren, wie einem künstlichen neuronalen Netzwerk, das unter Verwendung eines Satzes von Bildern, die zuvor erfasst und gespeichert worden sind (z. B., in Server 53 aus 2), trainiert wird. In dieser Hinsicht ist 5 eine konzeptionelle Übersicht einer Konfiguration eines künstlichen neuronalen Netzwerks 500, das in Verbindung mit verschiedenen Ausführungsformen verwendet werden könnte. Im Allgemeinen sind ANNs, wie dasjenige, das in 5 dargestellt wird, mathematische Modelle (die unter Verwendung jeder geeigneten Kombination von Hardware und/oder Software implementiert werden), die bis zu einem gewissen Grad die neuronale Struktur der zerebralen Kortex von Säugetieren nachahmen.
-
Das ANN 500 beinhaltet eine Reihe von Eingangsknoten 501 (z. B., 501a-501n), eine Reihe von Ausgangsknoten 504 (z. B., 504a-504n), und eine oder mehrere miteinander verbundene Knotenschichten, die als „ausgeblendete Schichten“ konfiguriert sind (in diesem Fall zwei ausgeblendete Schichten: Knoten 502a-502n und Knoten 503a-503n). Jede Knotenschicht 502, 503, und 504 erhält Eingaben von vorhergehenden Schichten über ein Netzwerk von gewichteten Verbindungen (als Pfeile in 5 veranschaulicht). Jeder der Knoten weist eine entsprechende „Aktivierungsfunktion“, die im Allgemeinen je nach der jeweiligen Anwendung variiert. Die Eingabe (in der Form von optischen Mustern, numerischen Merkmalen usw.) wird dem ANN 500 über die Eingabeschicht (Knoten 501) vorgestellt, die mit ausgeblendeten Schichten oder Schichten (Knoten 502 und 503) verbunden ist, wobei das tatsächliche „Lernen“ durch Trainieren erfolgt. Die ausgeblendeten Schichten (Knoten 502 und 503) sind mit einer Ausgangsschicht (Knoten 504) verbunden.
-
Das ANN 500 wird über die Lernregel, die Gewichtungen der Verbindungen gemäß den Eingabemustern, die der Eingabeschicht 501 bereitgestellt werden, modifiziert, „trainiert“, wodurch dem ANN 500 erlaubt wird, anhand von Beispielen zu lernen. Ein solches Lernen kann beaufsichtigt werden (mit bekannten Beispielen als Eingabe), unbeaufsichtigt (mit nicht kategorisierten Beispielen als Eingabe) oder mit verstärkendem Lernen verbunden sein (wo während des Trainings etwas von „Belohnung“ bereitgestellt wird). Sobald das neuronale Netzwerk auf ein zufriedenstellendes Niveau „trainiert“ ist, kann es als ein analytisches Werkzeug verwendet werden, um Vorhersagen zu treffen. Das bedeutet, dass neue Eingaben den Eingangsknoten 501, in die sie hineingefiltert werden, präsentiert werden, und durch die mittleren Schichten 502-503 so verarbeitet werden, als ob das Training stattfinden würde; zu diesem Zeitpunkt ist die Ausgabe einer Ausführung der Ausbreitung nach vorne jedoch das vorhergesagte Modell für die Eingabedaten, das dann für die weitere Analyse und Interpretation verwendet werden kann.
-
Wie nachstehend detaillierter beschrieben werden wird, kann das ANN 500 aus 5 verwendet werden, um das Klassifizierungsmodul 420 aus 4 durch Folgendes zu implementieren: das Annehmen von Eingaben 501, die den Attributen der verschiedenen Konvexitäten und Konkavitäten einer beobachteten Begrenzungskurve des Objekts entsprechen und das Erstellen einer Klassifizierung des einen oder der mehreren beobachteten Objekte als eine Ausgabe (504). Zum Beispiel kann die Ausgabe 504a einer „menschlichen“ Klassifizierung (zusammen mit einigen Konfidenzwerten, die dieser Klassifizierung zugeordnet werden), kann die Ausgabe 504b einer „Motorrad“ Klassifizierung entsprechen, und kann die Ausgabe 504c einer „Fahrzeug“ Klassifizierung, entsprechen usw. Diese Klassifizierungen sollen jedoch nicht einschränkend sein und können jede Anzahl an Objektarten beinhalten, die in der Regel durch das AV 10 während des Betriebs beobachtet werden, wie Autos, Lastwagen, Kinderwagen, Fahrräder, Menschen, Hunde, Lichtpfeiler, und dergleichen.
-
Es versteht sich, dass die vorliegenden Ausführungsformen nicht auf das oben beschriebene ANN-Modell 500 beschränkt sind. Eine Vielzahl von maschinellen Lerntechniken kann verwendet werden, einschließlich beispielsweise andere künstliche neuronale Netzwerke, wie wiederkehrende neuronale Netzwerke (RNN), sowie zufällige Waldklassifizierer, Bayes-Klassifizierer (z. B. naive Bayes), Hauptkomponentenanalyse (PCA), Unterstützungsvektormaschinen, lineare Diskriminantanalyse, und dergleichen.
-
6 ist ein Flussdiagramm, das ein Steuerverfahren zur Objektklassifizierung gemäß verschiedenen Ausführungsformen darstellt und wird nun in Verbindung mit 1-5 sowie 7-10 beschrieben. Im Allgemeinen, und wie nachfolgend näher beschrieben, veranschaulicht 7 verschiedene Begrenzungskurven, die gemäß verschiedenen Ausführungsformen exemplarischen Punktwolken entsprechen. 8 veranschaulicht die Begrenzungskurven aus 7 mit verschiedenen entsprechenden Konvexitäten und Konkavitäten, und die 9-10 veranschaulichen das Extrahieren von Merkmalen aus einem Abschnitt der exemplarischen Begrenzungskurven gemäß verschiedenen Ausführungsformen.
-
Bezugnehmend auf 6 kann ein Steuerverfahren 600 durch das System 100 von 1 in Verbindung mit Objektklassifizierungsmodul 420 von 4 ausgeführt werden. Wie angesichts der Offenbarung erkannt werden wird, ist die Reihenfolge des Betriebs innerhalb des Verfahrens 600 nicht auf die sequenzielle Ausführung beschränkt, wie sie in 6 veranschaulicht ist, sondern kann in einem oder mehreren unterschiedlichen Aufträgen, wie es anwendbar und gemäß der vorliegenden Offenbarung ist, durchgeführt werden.
-
Das Steuerungsverfahren 600 beginnt bei 601 mit dem Trainieren eines Maschinenlernmodells, basierend auf einem Satz (oder „Corpus“) von Trainingsdaten. Wie in Verbindung mit dem ANN 500 aus 5 beschrieben, kann dieser Korpus von Trainingsdaten einen großen Satz von Bildern beinhalten, die Objekte beinhalten, die mit hoher Wahrscheinlichkeit durch das AV 10 (z. B., verschiedene Fahrzeuge, Menschen usw.) zusammen mit bekannten Klassifizierungen, die diesen Bildern zugeordnet werden, gefunden werden. Dieser Trainingsschritt 601 beinhaltet im Allgemeinen das Ermitteln der Begrenzungskurve der Objekte, sowie das Extrahieren von Merkmalen, welches nachstehend detaillierter beschrieben werden wird. Sobald das ANN trainiert worden ist (das im Allgemeinen innerhalb eines sich außerhalb des AV 10 befindlichen Systems durchgeführt wird), kann das Modell einem oder mehreren Fahrzeugen (z. B., AV 10) (z. B. über das Kommunikationsnetzwerk 56) bereitgestellt werden.
-
Als Nächstes werden bei 602 Sensordaten durch das AV 10 erfasst. Wie oben erwähnt, können die Sensordaten beliebige verfügbare Daten beinhalten, die von dem Sensorsystem 28 während des Betriebs von AV 10 erfasst werden. In verschiedenen Ausführungsformen sind optische Kameradaten und Lidardaten im Hinblick auf das obige Klassifizierungsverfahren von besonderem Interesse. Trotzdem können alle verfügbaren Sensordaten verwendet werden.
-
Eine Begrenzungskurve, die den erfassten Sensordaten zugeordnet wird, wird dann bei 603 ermittelt. Wie hierin verwendet, bezeichnet der Begriff „Begrenzungskurve“ eine Kurve, die im Wesentlichen der Kontur eines Objekts innerhalb des Sichtfelds der Sensoren entspricht, die verwendet werden, um die Sensordaten zu erfassen. 7 veranschaulicht zum Beispiel eine Lidarwolke 710, die der Rückkehr vom Heck eines Fahrzeugs entspricht, neben einer Lidarwolke 720, die der Rückkehr eines Fußgängers entspricht (wie aus dem Standpunkt von AV 10 gesehen werden könnte). Eine exemplarische Begrenzungskurve 701, wie im Wesentlichen veranschaulicht, entspricht der Kontur der Lidarpunktwolke 710 des Fahrzeugs, während eine Begrenzungskurve 702 im Wesentlichen der Kontur einer Lidarwolke 720 eines Menschen entspricht.
-
Während die in den 7 und 8 dargestellten Begrenzungskurven 701 und 702 als geschlossene Kurven veranschaulicht werden, ist der hierin beschriebene Gegenstand nicht so stark eingeschränkt. In einigen Ausführungsformen kann die Begrenzungskurve nur teilweise ein Objekt umfassen, und daher eine offene Kurve sein. Je nach der Art des Objekts, der Art der Sensordaten, und sonstigen Faktoren, kann die Begrenzungskurve kontinuierlich oder nicht kontinuierlich, glatt (d. h. kontinuierlich differenzierbar) oder nicht glatt, geradlinig (z. B. polygonale) oder kurvenförmig usw. sein. Ferner muss die Begrenzungskurve nicht unbedingt alle Sensordaten beinhalten, die einem Objekt zugeordnet werden, und kann eine Annäherung sein, die von einem geeigneten Algorithmus, der auf dem Stand der Technik bekannt ist (z. B. Kantenerfassungsalgorithmen, die im Bereich der optischen Bildanalyse verwendet werden), abgeleitet wird. Demnach kann die Art einer Begrenzungskurve im Allgemeinen weitgehend variieren, solange geeignete Merkmale der Kurve extrahiert werden können, um ein ML-Modell auf effektive Art und Weise zu trainieren, um die entsprechenden Objekte zu klassifizieren.
-
Anschließend wird die Begrenzungskurve, die bei 603 ermittelt wird, bei 604 basierend auf Konvexitäten und Konkavitäten, die innerhalb der Begrenzungskurve erfasst werden, charakterisiert (d. h. die Merkmale der Begrenzungskurve werden extrahiert). Unter nunmehriger Bezugnahme auf 8 werden die Begrenzungskurven 701 und 702 aus 7 als Begrenzungskurven 810 und 820 dargestellt. In diesen Beispielen sind die Begrenzungskurven 810 und 820, wie oben beschrieben, geschlossene, sich nicht selbst überschneidende kontinuierliche Schleifen in einer Ebene (z. B., „einfache geschlossene Kurven“, oder „Jordan“-Kurven), die, wie in den Figuren offensichtlich werden wird, entsprechende Innenbereiche und Außenbereiche aufweisen. Jede der Begrenzungskurven 810 und 820 kann durch einen entsprechenden Schwerpunkt 831 und 832 charakterisiert werden.
-
In verschiedenen Ausführungsformen werden die Begrenzungskurven 810 und 820 durch ihre entsprechenden Sätze von Konkavitäten und Konvexitäten (auch jeweils als „Einbuchtungen“ und „Ausbuchtungen“ bezeichnet) charakterisiert. Die Konkavitäten entsprechen im Allgemeinen intuitiv den Kurvensegmenten, die „nach außen geöffnet“ sind (d. h. weg vom Innenbereich der Begrenzungskurve), während die Konvexitäten im Allgemeinen denjenigen Kurvensegmenten entsprechen, die „nach innen geöffnet“ sind (d. h. in Richtung des Innenbereichs der Begrenzungskurve).
-
Unter Bezugnahme auf die Begrenzungskurve 810 aus 8 kann zum Beispiel eine Anzahl an alternierenden Konvexitäten und Konkavitäten einschließlich der Konvexitäten 811, 813, 815, und 817, Konkavitäten 812, 814, 816 und 818, dargestellt werden. Aus Gründen der Übersichtlichkeit (unter Beachtung ihrer Asymmetrie), wird nur die Hälfte der Begrenzungskurve 810 in dieser Figur charakterisiert. Auf ähnliche Art und Weise beinhaltet die Begrenzungskurve 820 die Konvexitäten 821, 823, 825, 827, und 829, und die Konkavitäten 822, 824, 826, und 828.
-
In Übereinstimmung mit verschiedenen Ausführungsformen werden die Eigenschaften der Konvexitäten und Konkavitäten, die den Begrenzungskurven 810 und 820 zugeordnet werden, auf eine Weise extrahiert, die einem sachgemäß trainierten ANN erlaubt, zwischen einem Fahrzeug (durch die Begrenzung 810 dargestellt) und eine Menschen (durch die Begrenzungskurve 820 dargestellt) zu unterscheiden. Die extrahierten Merkmale, die einer gegebenen Begrenzungskurve zugeordnet werden, können als ein Vektor von realen Zahlen, ganzen Zahlen, oder sonstigen angemessenen variablen Arten, die als Eingaben in das ML-Modell (z. B., Eingaben 501a-n aus 5) verwendet werden, dargestellt werden.
-
In einigen Ausführungsformen (unter Verwendung der Begrenzungskurve 810, als nicht einschränkendes Beispiel) beinhalten die extrahierten Merkmale für jede Konkavität und Konvexität (811-818) die Erhebung (d. h. der Abstand zwischen entlang der z-Achse) der entsprechenden Konkavität/Konvexität. Demnach weist die Konvexität 811 eine größere Erhebung als die Konkavität 813 auf, wobei die Konvexität 813 eine größere Erhebung als die Konvexität 815 aufweist usw. Dieses Merkmal entspricht intuitiv der Beobachtung, dass bestimmte Klassen von Objekten im Allgemeinen (wie durch das AV 10 gesehen) „größer“ als andere Objekte sein werden. Das bedeutet, dass die Konkavitäten/Konvexitäten sich in einer herkömmlichen, mittelgroßen Limousine im Allgemeinen bei einer größeren Erhebung als diejenigen eines typischen Kinderwagens befinden werden.
-
In einigen Ausführungsformen wird die Steigung zwischen angrenzenden Konvexitäten/Konkavitäten als ein extrahiertes Merkmal verwendet. Dieses Merkmal entspricht intuitiv der Idee, dass bestimmte Objekte (wie Menschen) im Allgemeinen eine Reihe von eng beabstandeten und „tiefen“ Konkavitäten beinhalten, während andere (wie Motorfahrzeuge) im Allgemeinen weniger eng beabstandete Konkavitäten beinhalten. In dieser Hinsicht bezeichnet der Begriff „weit beabstandet“ einen größeren Abstand entlang der Begrenzungskurve. Zu berücksichtigen ist zum Beispiel ein Punkt 841, wie auf der Begrenzungskurve 810 dargestellt, der sich um die Begrenzungskurve 810 herum bewegt (in diesem Fall gegen den Uhrzeigersinn). Die bis zu diesem Punkt zurückgelegte parametrische Entfernung kann während sie um die Begrenzungskurve 810 herum fortschreitet, hierin als eine Entfernung s bezeichnet werden (um sie von anderen Entfernungen innerhalb des in 8 dargestellten kartesischen Rahmens zu unterscheiden). Dasselbe gilt auch für Punkt 842 der Begrenzungskurve 820, wie veranschaulicht.
-
Die Art derartiger „Steigungen“ wird ferner in 9 dargestellt, die zwei exemplarische Begrenzungskurven veranschaulicht: 901 (oben) und 902 (unten). Aus Gründen der Einfachheit, werden die Kurven in 9 als „unausgepackt“ und in einem kartesischen Koordinatensystem und nicht einem Polarkoordinatensystem platziert, dargestellt, da dies für eine Begrenzungskurve, die im Großen und Ganzen ein Objekt umgibt, natürlicher sein könnte. Das bedeutet, dass während die Steigungen nachstehend in dem Kontext eines kartesischen Koordinatensystems ausgedrückt werden kann (z. B. dz/dx), verstanden werden wird, dass dieselben Prinzipien der Krümmung und Steigung auch in einem Polarkoordinatensystem gelten (z. B. dr/dθ).
-
Die Begrenzungskurve 901, die den Konturen eines Fahrzeugs entsprechen kann, weist einen Innenbereich 932 und einen Außenbereich 931 auf, und beinhaltet die Konvexität 911, Konkavität 912 und Konvexität 913. Auf ähnliche Art und Weise weist die Begrenzungskurve 902, die den Konturen eines Menschen entsprechen kann, einen Innenbereich 942, einen Außenbereich 941, eine Konvexität 921, eine Konkavität 922 und eine Konvexität 923 auf.
-
Unter Bezugnahme auf die Begrenzungskurve 901 aus 9 ist ersichtlich, dass der Übergang von der Konvexität 911 zur Konkavität 912 durch einen Tangentenvektor 971, der einen Winkel θ1 aufweist, charakterisiert werden kann und der Übergang von der Konkavität 912 zur Konvexität 913 durch einen Tangentenvektor 972, der einen Winkel θ2 aufweist, charakterisiert werden kann. Auf ähnliche Art und Weise ist mit Bezug auf die Begrenzungskurve 902 ersichtlich, dass der Übergang von der Konvexität 921 zur Konkavität 922 durch einen Tangentenvektor 973 der einen Winkel θ3 aufweist, charakterisiert werden kann, und der Übergang von der Konkavität 922 zur Konvexität 923 durch einen Tangentenvektor 974 der einen Winkel von θ4 aufweist, charakterisiert werden kann.
-
Somit ist ersichtlich, dass die Steigungen 971 und 972 weniger stark als diejenigen der Steigungen 973 und 974.variieren (und eine geringere Größenordnung aufweisen). Ferner ist die Entfernung zwischen angrenzenden Konvexitäten (d. h. wie durch eine intervenierende Konkavität getrennt) im Allgemeinen auch in der Begrenzungskurve 901 größer als in der Begrenzungskurve 902. Demnach kann der Umfang dieser Steigungen und Entfernungen (und andere zwischen aufeinanderfolgenden Konvexitäten und Konkavitäten) als extrahierbare Merkmale verwendet werden, die in das ANN 500 einzuspeisen sind.
-
10 zeigt ferner eine andere Art und Weise, um die Begrenzungskurven 901 und 902, die in 9 dargestellt werden, zu charakterisieren. Das bedeutet, dass der Radius der Kurve bei Punkten entlang jeder Kurve 901, 902 unter Verwendung von Standardalgorithmen berechnet werden kann, die zum Beispiel in einen Kreis an jedem Wendepunkt anpassen können und dann den Radius jedes Kreises verwenden können, um die Krümmung zu charakterisieren. In 10 ist die Begrenzungskurve 901 zum Beispiel durch die Kreise 951, 952, und 953 charakterisiert, während die Begrenzungskurve 902 durch die Kreise 954, 955, und 956 charakterisiert ist. Die Krümmungen dieser Kreise können als extrahierte Merkmale für das ANN 500 aus 5 verwendet werden. Wie in 10 vereinfacht dargestellt, sind die Radien der Kreise 951, 952, und 953 im Durchschnitt größer als die der Kreise 954, 955, und 956.
-
Unter erneuter Bezugnahme auf 6 ist das Objekt bei 605 durch das ML-Modell unter Verwendung der bei 604 extrahierten Merkmale klassifiziert. Wie vorstehend in Verbindung mit 5 erwähnt, beinhaltet diese Klassifizierung in einer Ausführungsform im Allgemeinen das Einspeisen der extrahierten Begrenzungskurvenmerkmale in die Eingaben 501 des ANN 500 aus 5, und dann das Verwenden der Ausgaben 504, um die Wascheinigkeit zu ermitteln, dass verschiedene Klassen von Objekten sich innerhalb des Sichtfelds des AV 10 befinden, während es sich innerhalb seiner Umgebung bewegt.
-
Während mindestens eine exemplarische Ausführungsform in der vorstehenden ausführlichen Beschreibung dargestellt wurde, versteht es sich, dass es eine große Anzahl an Varianten gibt. Es versteht sich weiterhin, dass die exemplarische Ausführungsform oder die exemplarischen Ausführungsformen lediglich Beispiele sind und den Umfang, die Anwendbarkeit oder die Konfiguration dieser Offenbarung in keiner Weise einschränken sollen. Die vorstehende ausführliche Beschreibung stellt Fachleuten auf dem Gebiet vielmehr einen zweckmäßigen Plan zur Implementierung der exemplarischen Ausführungsform bzw. der exemplarischen Ausführungsformen zur Verfügung. Es versteht sich, dass verschiedene Veränderungen an der Funktion und der Anordnung von Elementen vorgenommen werden können, ohne vom Umfang der Offenbarung, wie er in den beigefügten Ansprüchen und deren rechtlichen Entsprechungen aufgeführt ist, abzuweichen.