-
Gebiet
-
Die vorliegende Offenbarung betrifft das Gebiet des computergestützten oder des autonomen Fahrens (CA/AD; computer-assisted or autonomous driving). Insbesondere betrifft die vorliegende Offenbarung ein Verfahren und eine Vorrichtung zur kollaborativen Erstellung einer 3-D-Ansicht einer Umgebung um ein CA/AD-Fahrzeug.
-
Hintergrund
-
Wenn CA/AD-Fahrzeuge und von Personen gelenkte Fahrzeuge auf derselben Fahrbahn fahren, insbesondere auf Autobahnen oder Schnellstraßen, kann es zu Koexistenz-, Vertrauens- und Sicherheitsproblemen kommen. Zum Beispiel kann es Unterschiede in den Antwortzeiten, Geschwindigkeiten, Beschleunigungsraten, Situationsbewusstsein und Wachsamkeitsniveaus zwischen den Fahrzeugen geben, was Unfälle oder andere Fahrbahnzwischenfälle verursachen kann, wenn die Fahrzeuge ihre Umgebung nicht kennen.
-
Figurenliste
-
Ausführungsbeispiele sind aus der nachfolgenden detaillierten Beschreibung in Verbindung mit den beiliegenden Zeichnungen ohne weiteres offensichtlich. Um diese Beschreibung zu vereinfachen, bezeichnen gleiche Bezugszeichen ähnliche strukturelle Elemente. Ausführungsbeispiele sind in den Figuren der beiliegenden Zeichnungen beispielhaft und nicht einschränkend dargestellt.
- 1 veranschaulicht gemäß verschiedenen Ausführungsbeispielen einen Überblick einer Umgebung für CA/AD-Fahrzeuge, der durch die Kollaborative-Dreidimensionale-(3-D-)-Kartierungs-(Mapping-)Technologie der vorliegenden Offenbarung in unterstützt wird.
- 2 veranschaulicht gemäß verschiedenen Ausführungsbeispielen ein Blockdiagramm von beispielhaften CA/AD-Datenflüssen zum Implementieren einer kollaborativen 3-D-Karte.
- 3 veranschaulicht gemäß verschiedenen Ausführungsbeispielen beispielhafte detektierte Objekte zur Auswertung für die Aufnahme in eine kollaborative 3-D-Karte.
- 4 veranschaulicht gemäß verschiedenen Ausführungsbeispiel ein Blockdiagramm eines CA/AD-Fahrzeugs, das mit der Kollaborative-3-D-Kartierungs-Technologie der vorliegenden Offenbarung aufgenommen wird.
- 5 veranschaulicht gemäß verschiedenen Ausführungsbeispielen einen beispielhaften Prozess für das Sammeln von Daten, die in der kollaborativen 3-D- Kartierung verwendet werden sollen.
- 6 veranschaulicht gemäß verschiedenen Ausführungsbeispielen ein beispielhaftes neuronales Netzwerk, das für die Verwendung bei der vorliegenden Offenbarung geeignet ist.
- 7 veranschaulicht gemäß verschiedenen Ausführungsbeispielen eine Software-Komponenten-Ansicht eines CA/AD-Systems in einem CA/AD-Fahrzeug.
- 8 veranschaulicht gemäß verschiedenen Ausführungsbeispielen eine Hardwarekomponenten-Ansicht eines CA/AD-Systems in einem CA/AD-Fahrzeug.
- 9 veranschaulicht gemäß verschiedenen Ausführungsbeispielen ein Speichermedium mit Anweisungen zum praktischen Ausführen von Verfahren, die mit Bezugnahme auf 1-10 beschrieben sind.
- 10 veranschaulicht gemäß verschiedenen Ausführungsbeispielen ein Beispiel von Entscheidungsgrenzen, die sich aus der Anwendung des neuronalen Netzwerkes von 6 ergeben können.
-
Detaillierte Beschreibung
-
Offenbarungen hierin können auf ein Verfahren, eine Technik oder eine Vorrichtung gerichtet sein, das/die einem CA/AD zugeordnet ist, das eine Systemsteuerung umfasst, die in einem ersten CA/AD-Fahrzeug angeordnet ist, um eine kollaborative dreidimensionale (3-D) Abbildung einer Umgebung um das erste CA/AD-Fahrzeug zu verwalten, wobei die Systemsteuerung ausgebildet ist, von einem anderen CA/AD-Fahrzeug in der Nähe des ersten CA/AD-Fahrzeugs eine Angabe zumindest eines Abschnitts einer anderen 3-D-Karte einer anderen Umgebung um sowohl das erste CA/AD-Fahrzeug als auch das andere CA/AD-Fahrzeug zu empfangen, und die empfangene Angabe des zumindest einen Abschnitts der 3-D-Karte in der Nähe des ersten CA/AD-Fahrzeugs und des anderen CA/AD-Fahrzeugs in die durch die Systemsteuerung verwaltete 3-D-Karte der Umgebung des ersten CA/AD-Fahrzeugs aufzunehmen. Bei Ausführungsbeispielen umfasst die 3-D-Karte eine Angabe eines oder mehrerer Objekte, wobei ein Objekt eine Klassifizierung umfasst, die aus einer von einer Mehrzahl von Klassifizierungen ausgewählt ist, und wobei eines des einen oder der mehreren Objekte durch das andere CA/AD-Fahrzeug detektiert wird und durch das erste CA/AD-Fahrzeug nicht detektierbar ist. Bei anderen Ausführungsbeispielen können ein oder mehrere Objekte aus mehreren CA/AD-Fahrzeugen oder aus anderen Quellen verglichen werden, um Diskrepanzen zu identifizieren, um zu bestimmen, ob eines des einen oder der mehreren Objekte in der kollaborativen 3-D-Karte weggelassen werden sollte.
-
Die Anzahl von CA/AD-Fahrzeugen auf der Straße wird in absehbarer Zeit weiter zunehmen. Diese CA/AD-Fahrzeuge werden von verschiedenen Herstellern gebaut, wobei verschiedene Komponenten und Teile von verschiedenen Automobil-Originalausrüstungsherstellern (OEMs; original equipment manufacturers) geliefert werden. Diese verschiedenen CA/AD-Fahrzeuge können sehr unterschiedliche Techniken zum Scannen, Identifizieren und Klassifizieren von Objekten in einer 3-D-Karte der Umgebung in der Nähe des CA/AD-Fahrzeugs einsetzen. Während des Betriebs eines CA/AD-Fahrzeugs kann sein Sichtfeld durch andere Fahrzeuge oder Objekte blockiert werden. Infolgedessen können Sensoren des CA/AD-Fahrzeugs, umfassend Kameras, daran gehindert werden, Objekte in der Nähe des CA/AD-Fahrzeugs zu identifizieren und zu klassifizieren, die für den CA/AD-FahrzeugBetrieb relevant sein können.
-
Es ist wichtig, dass ein CA/AD-Fahrzeug eine umfassende Sicht auf seine nähere Umgebung hat, damit es sich auf sichere und effiziente Weise in der Umgebung bewegen kann. Bei den hier beschriebenen Ausführungsbeispielen können Informationen von anderen CA/AD-Fahrzeugen mit dem CA/AD-Fahrzeug gemeinschaftlich verwendet werden, um eine umfassende kollaborative 3-D-Karte bereitzustellen, die Objekte in der Umgebung umfasst. Diese Informationen können z. B. Abschnitte der 3-D-Karte eines der anderen CA/AD-Fahrzeuge, Daten von den Sensoren des anderen CA/AD-Fahrzeugs und Positionsdaten der Sensoren des anderen CA/AD-Fahrzeugs umfassen, die zum Aufbau einer kollaborativen 3-D-Karte der Umgebung verwendet werden, die Objekte umfasst, die von der Sicht des CA/AD-Fahrzeugs blockiert sind.
-
Bei Ausführungsbeispielen werden verschiedene Objekte, die in der Umgebung klassifiziert wurden, in einer bestimmten CA/AD-Fahrzeug-Karte dargestellt und können einem Koordinatensystem zugeordnet sein, das lokal auf dem bestimmten CA/AD-Fahrzeug ist. Bevor diese verschiedenen Objekte in eine kollaborative 3-D-Karte aufgenommen werden, kann eine Lokalisierungstechnik angewendet werden, um das Koordinatensystem der Lage der verschiedenen klassifizierten Objekte innerhalb der bestimmten CA/AD-Fahrzeug-Karte in das Koordinatensystem der kollaborativen 3-D-Karte umzuwandeln. Bei Ausführungsbeispielen kann diese Lokalisierungstechnik entfernt ausgeführt werden (z. B. auf einem entfernten Server) in Bezug auf ein bestimmtes CA/AD-Fahrzeug oder kann als Teil eines Systems innerhalb des CA/AD-Fahrzeugs ausgeführt werden.
-
Darüber hinaus kann es vor der Erweiterung der kollaborativen 3-D-Karte durch verschiedene klassifizierte Objekte aus einzelnen CA/AD-Fahrzeugen eine kollaborative 3-D-Kartesvergleichstechnik geben, die angewendet wird, um die Quelle der verschiedenen klassifizierten Objekte, die integriert werden können, zu bewerten und um die Vertrauenswürdigkeit der jeweiligen klassifizierten Objekte zu bestimmen, um zu bestimmen, welche verwendet werden sollen, um die kollaborative 3-D-Karte zu erweitern. Bei einem Beispiel kann ein Objekt von mehreren CA/AD-Fahrzeugen identifiziert werden, das Objekt kann jedoch von einem oder mehreren der Fahrzeuge falsch klassifiziert werden, und es kann ein Gewichtungssystem oder ein anderes Abstimmungssystem verwendet werden, um über die richtige Klassifizierung des Objekts zu entscheiden. Bei einem anderen Beispiel können Daten in Bezug auf klassifizierte Objekte scheinbar aus gültigen CA/AD-Fahrzeugen stammen, wurden aber tatsächlich möglicherweise von einem böswilligen Akteur manipuliert, der beabsichtigt, die kollaborative 3-D-Karte zu beschädigen oder einen anderen gegnerischen Angriff (Adversarial Attack) auszuführen. In diesem Fall können Quellenidentifizierungsinformationen sowie andere Gewichtungsinformationen verwendet werden, um die gefälschten Daten zu identifizieren und zu verwerfen. Auf diese Weise wird die Vielfalt der Quellen von Kollaborative-3-D-Karte-Informationen genutzt, um vor einen White Box-Angriff zu schützen.
-
Während des Betriebs verwendet ein CA/AD-Fahrzeug eine Anzahl von Kameras und anderen Sensoren, um die Umgebung zu erfassen. Diese Informationen werden an die Rechensysteme innerhalb des CA/AD-Fahrzeugs zur Verarbeitung und zur Navigationsverwendung gesendet. Aufgrund von Verdeckungen durch andere Fahrzeuge und andere Objekte kann die lokale Sicht des CA/AD-Fahrzeugs auf die Umgebung teilweise eingeschränkt oder versperrt sein, und es ist möglicherweise nicht in der Lage, bestimmte Objekte zu sehen, die von den anderen Fahrzeugen blockiert werden. Die hier beschriebenen Ausführungsbeispiele betreffen im Allgemeinen, dem CA/AD-Fahrzeug zu ermöglichen, den Standort und die Klassifizierung dieser Objekte für die Weg- und Trajektorie-Planung zu identifizieren. Die Nutzung der Sensoren und der Fähigkeit anderer CA/AD-Fahrzeuge, Objekte zu identifizieren und dann eine kollaborative 3-D-Karte der Umgebung aufzubauen, wird durch die Verfügbarkeit von Fahrzeug-zu-Fahrzeug- (V2V-; vehicle to vehicle) Kommunikations-Technologien erleichtert. Bei Ausführungsbeispielen kann ein CA/AD-Fahrzeug eine 3-D-Karte seiner Umgebung erstellen, unter Verwendung z. B. von 3-D-Rekonstruktionstechniken aus mehreren von dem CA/AD-Fahrzeug erfassten 2D-Bildern.
-
Ausführungsbeispiele können auf ein Konsens-basiertes Objekt-Beobachter- und - Klassifikator-System gerichtet sein, um es CA/AD-Fahrzeugen zu ermöglichen, durch Nutzung von Informationen von anderen CA/AD-Fahrzeugen eine genaue 3-D-Karte ihrer Umgebung zu erzeugen. Die Vielfalt der Objektklassifikatoren versetzt das System in die Lage, Objekte in der Umgebung zu detektieren, die für ein CA/AD-Fahrzeug aufgrund von Verdeckungen der Objekte in Bezug auf ihre Sensoren möglicherweise nicht sichtbar sind. Außerdem verringert das System durch Nutzung mehrerer Arten von Klassifikatoren die Anfälligkeit für neue Szenarien, die durch das Training auf einem oder mehreren der neuronalen Netzwerke, die in einem CA/AD-Fahrzeug eingebettet sein können, möglicherweise nicht ausreichend abgedeckt werden. Verschiedene Anbieter können neuronale Netzwerke basierend auf verschiedenen Trainingssätzen trainieren, die aus dem realen Fahrbetrieb oder Fahrsimulation hergeleitet werden können. Durch die Kollaboration mit anderen CA/AD-Fahrzeugen ist es möglich, einen größeren und vielfältigeren Trainingssatz zu nutzen.
-
Bei Ausführungsbeispielen können neuronale Netzwerke anfällig für gegnerische Beispiele (Adversarial Examples) sein (d. h. Eingaben, die den natürlichen Eingaben nahe kommen, aber falsch klassifiziert sind). Gegnerische Beispiele, die durch geringfügige Störungen (z. B. wie in 3 gezeigt) zur Eingabe von Bildern mit der Absicht, ein tiefes neuronales Netzwerk zu täuschen, erstellt werden können, können mit hoher Zuverlässigkeit falsch klassifiziert werden. Bei den Störungen kann es sich um geschickt gestaltete Sicherheitsangriffe böswilliger Akteure handeln. Bei Ausführungsbeispielen können solche Störungen identifiziert werden und die spezifische Klasse kann aus der Segmentierungsausgabe entfernt werden (z. B. Entfernen von Fußgängern oder Autos von der Straße). Diese Art von Sicherheitsangriffen kann zu Ergebnissen führen, die erhebliche Fehler in selbstfahrenden Fahrzeugen und anderen realen Systemen verursachen. Die Nutzung des vielfältigen Satzes tiefer neuronaler Netzwerke, die in verschiedenen Fahrzeugen in unmittelbarer Nähe zueinander eingebettet sein können, macht den kollektiven Satz tiefer neuronaler Netzwerke immuner gegen gegnerische Angriffe. Die Vielfalt der eingebetteten Implementierungen in mehreren CA/AD-Fahrzeugen führt zu tiefen neuronalen Netzwerken mit unterschiedlichen Topologien und Hyperparametern. Die Menge der CA/AD-Fahrzeuge, die kollaborieren, um eine kollaborative, überzeugende 3-D-Ansicht der Umgebung aufzubauen, ist a priori nicht bekannt. Die Vielfalt der neuronalen Netzwerke und die stochastische Natur der Gesamtheit von neuronalen Netzwerken, die zur Identifizierung und Klassifizierung von Objekten in der unmittelbaren Umgebung verwendet werden, führen zu einer größeren Widerstandsfähigkeit gegenüber gegnerischen Angriffen.
-
In der nachfolgenden Beschreibung sind verschiedene Aspekte der darstellenden Implementierungen unter Verwendung von Begriffen beschrieben, die gemeinhin von Fachleuten verwendet werden, um die Substanz ihrer Arbeit anderen Fachleuten auf dem Gebiet zu vermitteln. Für Fachleute ist es jedoch offensichtlich, dass Ausführungsbeispiele der vorliegenden Offenbarung mit nur einigen der beschriebenen Aspekte in der Praxis ausgeführt werden können. Zu Erklärungszwecken werden bestimmte Zahlen, Materialien und Konfigurationen dargelegt, um ein tiefgreifendes Verständnis der darstellenden Implementierungen bereitzustellen. Für einen Fachmann ist es jedoch offensichtlich, dass Ausführungsbeispiele der vorliegenden Offenbarung ohne die bestimmten Details in der Praxis ausgeführt werden können. In anderen Fällen werden bekannte Merkmale weggelassen oder vereinfacht, um die darstellenden Implementierungen nicht zu verunklaren.
-
In der nachfolgenden Beschreibung wird Bezug auf die beiliegenden Zeichnungen genommen, die einen Teil derselben bilden, wobei gleiche Bezugszeichen durchgehend gleiche Teile bezeichnen, und in denen auf darstellende Weise Ausführungsbeispiele gezeigt sind, bei denen der Gegenstand der vorliegenden Offenbarung in der Praxis ausgeführt werden kann. Es versteht sich, dass andere Ausführungsbeispiele verwendet werden können sowie strukturelle oder logische Änderungen vorgenommen werden können, ohne von dem Schutzbereich der vorliegenden Offenbarung abzuweichen. Daher soll die folgende, detaillierte Beschreibung nicht in einem einschränkenden Sinne genommen werden und der Schutzbereich der Ausführungsbeispiele ist durch die beigefügten Ansprüche und ihre Entsprechungen definiert.
-
Für die Zwecke der vorliegenden Offenbarung bezeichnet der Ausdruck „A und/oder B“ (A), (B) oder (A und B). Für die Zwecken der vorliegenden Offenbarung bezeichnet der Ausdruck „A, B, und/oder C“ (A), (B), (C), (A und B), (A und C), (B und C) oder (A, B und C).
-
Die Beschreibung kann perspektiven-basierte Beschreibungen wie oben/unten, innen/außen, oben/unten und Ähnliches verwenden. Solche Beschreibungen werden nur verwendet, um die Erörterung zu erleichtern und sollen nicht die Anwendung von Ausführungsbeispielen, die hierin beschrieben sind, auf irgendeine bestimmte Ausrichtung einschränken.
-
Die Beschreibung kann die Ausdrücke „bei einem Ausführungsbeispiel“ oder „bei Ausführungsbeispielen“ verwenden, die sich jeweils auf ein oder mehrere desselben oder unterschiedlicher Ausführungsbeispiele beziehen können. Ferner sind die Ausdrücke „aufweisen“, „umfassen“ und Ähnliches, wie sie hierin im Hinblick auf Ausführungsbeispiele der vorliegenden Offenbarung verwendet werden, synonym.
-
Die Ausdrucke „gekoppelt mit“ oder „gekoppelt an“ und Ähnliches können hierin verwendet werden. „Gekoppelt“ kann eine oder mehrere der folgenden Bedeutungen haben. „Gekoppelt“ kann bedeuten, dass zwei oder mehr Elemente in direktem physischem oder elektrischem Kontakt sind. „Gekoppelt“ kann jedoch auch bedeuten, dass zwei oder mehr Elemente einander indirekt kontaktieren, jedoch weiter miteinander kooperieren oder interagieren, und kann bedeuten, dass ein oder mehr andere Elemente zwischen die Elemente gekoppelt oder verbunden sind, die angeblich miteinander gekoppelt sind. Als Beispiel und nicht als Einschränkung kann „gekoppelt“ bedeuten, dass zwei oder mehr Elemente oder Vorrichtungen durch elektrische Verbindungen auf einer gedruckten Schaltungsplatine, wie z. B. einer Hauptplatine, gekoppelt sind. Als Beispiel und nicht als Einschränkung kann „gekoppelt“ zwei oder mehr Elemente/Vorrichtungen bedeuten, die über eine oder mehrere Netzwerkverbindungen, wie z. B. verdrahtete und/oder drahtlose Netzwerke, kooperieren und/oder interagieren. Als Beispiel und nicht als Einschränkung kann eine Rechenvorrichtung zwei oder mehr Rechenvorrichtungen umfassen, die auf einer Hauptplatine oder durch eine oder mehrere Netzwerkverbindungen „gekoppelt“ sind.
-
Der Begriff „Modul“ kann sich auf eine anwendungsspezifische integrierte Schaltung (ASIC; Application Specific Integrated Circuit), eine elektronische Schaltung, einen Prozessor (gemeinschaftlich verwendet, dediziert oder Gruppe) und/oder einen Speicher (gemeinschaftlich verwendet, dediziert oder Gruppe), die ein oder mehrere Software- oder Firmware-Programme ausführen, eine kombinatorische Logikschaltung und/oder andere geeignete Komponenten, die die beschriebene Funktionalität bereitstellen, bezeichnen, Teil davon sein oder umfassen.
-
Der Begriff „computerlesbare Speichermedien“ kann Medien bezeichnen, ein Teil davon sein oder anderweitig Medien umfassen, auf denen sich Daten, einschließlich Anweisungen eines Moduls, das ausgeführt werden kann, befinden können. Computerlesbare Speichermedien können entweder flüchtig oder nichtflüchtig sein.
-
Nach hiesiger Verwendung ist der Begriff „halbautonomes Fahren“ synonym mit computergestütztem Fahren. Der Begriff bedeutet nicht, dass genau 50 % der Fahrfunktionen automatisiert sind. Der Prozentsatz der automatisierten Fahrfunktionen kann ein Bruchteil eines Prozentsatzes bis zu fast 100 % sein.
-
Verschiedene Operationen sind wiederum als mehrere diskrete Operationen beschrieben, auf eine Weise, die beim Verständnis des beanspruchten Gegenstands besonders hilfreich ist. Die Reihenfolge der Beschreibung sollte jedoch nicht derart ausgelegt werden, dass sie impliziert, dass diese Operationen zwingend von der Reihenfolge abhängig sind.
-
1 veranschaulicht gemäß verschiedenen Ausführungsbeispielen einen Überblick einer Umgebung für ein CA/AD-Fahrzeug, das durch die Kollaborative-Dreidimensionale-(3-D-)Kartierungs-Technologie der vorliegenden Offenbarung unterstützt wird. Diagramm 100 zeigt ein Beispiel von drei CA/AD-Fahrzeugen 102, 104, 106, die entlang einer Fahrbahn 108 fahren. Jedes der CA/AD-Fahrzeuge 102, 104, 106 umfasst im Allgemeinen ein bordeigenes System 114, Sensoren 122 und Fahrsteuereinheiten 124 verschiedener Typen, die gleich oder unterschiedlich sein können. Bei Ausführungsbeispielen können die Sensoren 122 kamerabasierte Sensoren (nicht gezeigt) und/oder LIDAR-basierte Sensoren (nicht gezeigt) umfassen, die um den Umfang des CA/AD-Fahrzeugs 102, 104, 106 herum positioniert werden können, um Bildmaterial in der Nähe des Fahrzeugs zu erfassen, um relevante Objekte in der Umgebung zu identifizieren und zu kategorisieren. Bei Ausführungsbeispielen können die Fahrsteuereinheiten 124 verschiedene elektronische und mechanische Steuereinheiten zur Steuerung des Motors, des Getriebes und/oder der Bremssysteme der CA/AD-Fahrzeuge 102, 104 und 106 umfassen.
-
Bei Ausführungsbeispielen sind die CA/AD-Fahrzeuge 102, 104, 106 auch mit einer Kommunikationsschaltungsanordnung ausgebildet, um den Fahrzeugen eine Kommunikation miteinander via Kommunikationsverbindungen 126, 128, 130 zu ermöglichen, und können Informationen bezogen auf die unmittelbare Umgebung gemeinschaftlich verwenden. Insbesondere ist für die dargestellten Ausführungsbeispiele zumindest das CA/AD-Fahrzeug 102 mit einer kollaborativen 3-D-Karte-Systemsteuerung 120 ausgebildet, die in die Kollaborative-3-D-Kartierungs-Technologie der vorliegenden Offenbarung aufgenommen ist, um die CA/AD-Fahrzeuge 102 mit einer genaueren kollaborativen 3-D-Karte auszustatten, um das CA/AD-Fahrzeug 102 bei der Navigation durch die Umgebung auf der Fahrbahn 108 zu seinem Zielort zu führen/zu unterstützen. Die kollaborative 3-D-Karte-Systemsteuerung 120 ist ausgebildet, verschiedene Sensor- und Objektinformationen zu empfangen, die von den CA/AD-Systemen der anderen CA/AD-Fahrzeuge 104 und 106 gesammelt/detektiert werden. Die Informationen werden von der kollaborativen 3-D-Karte-Systemsteuerung 120 bewertet und mit lokalen Sensor- und Objektdetektionsdaten kombiniert, um eine potenziell genauere kollaborative 3-D-Karte zu erstellen.
-
Entlang der Fahrbahn 108 können sich verschiedene Objekte befinden, wie z. B. ein Geschwindigkeitsbegrenzungsschild 132 oder ein Ausfahrtschild 134, die für die CA/AD-Fahrzeuge 102 nützlich sind, um die Navigationszwecken zu kennen. Wie in Diagramm 100 gezeigt, sind jedoch einige dieser verschiedenen Objekte durch das CA/AD-Fahrzeug 102 möglicherweise nicht detektierbar, da sie aus der Sicht des Fahrzeugs verdeckt sein können. Beispielsweise ist das Geschwindigkeitsbegrenzungsschild 132 durch das CA/AD-Fahrzeug 104 möglicherweise nicht detektierbar, weil das CA/AD-Fahrzeug 106 die Sichtlinie 136 des de CA/AD-Fahrzeugs 104 behindert. Ähnlich kann es sein, dass das Ausfahrtschild 134 durch das CA/AD-Fahrzeug 102 möglicherweise nicht detektierbar ist, weil das CA/AD-Fahrzeug 104 die Sichtlinie 138 des CA/AD-Fahrzeugs 102 behindert. Für jedes der CA/AD-Fahrzeuge 102, 104, 106 ist es von Vorteil, Zugang zu einer genauen 3-D-Karte der Umgebung zu haben, die alle relevanten Objekte umfasst, nicht nur diejenigen, die von einem bestimmten CA/AD-Fahrzeug gesehen werden können. Zum besseren Verständnis konzentriert sich die verbleibende Beschreibung jedoch auf die Kollaborative-3-D-Kartierungs-Technologie der vorliegenden Offenbarung in Bezug auf das CA/AD-Fahrzeug 102, das Sensor- und/oder Objektdaten von anderen CA/AD-Fahrzeugen 104 und 106 empfängt, und beschreibt diese weiter. Neben ihrer Unterstützung bei der gemeinschaftlichen Verwendung ihrer Sensor- und/oder Objektdetektionsdaten können die anderen CA/AD-Fahrzeuge 104 und 106 selbst die vollständige Kollaborative-3-D-Kartierungs-Technologie der vorliegenden Offenbarung in der Praxis ausführen, oder möglicherweise auch nicht. Es versteht sich, dass die vorliegende Offenbarung nicht derart begrenzt ist. Die vorliegende Offenbarung kann mit einigen oder allen der CA/AD-Fahrzeuge 102, 104 und 106 in der Praxis ausgeführt werden, die die Kollaborative-3-D-Kartierungs-Technologie der vorliegenden Offenbarung aufweisen.
-
Hierin beschriebene Ausführungsbeispiele sind auf Systeme, Prozesse, Vorrichtungen und Techniken für CA/AD-Fahrzeuge 102, 104, 106 gerichtet, um alle oder Abschnitte einer kollaborativen 3-D-Karte von klassifizierten Objekten für eine Umgebung in der Nähe der CA/AD-Fahrzeuge 102, 104, 106 zu implementieren. Die kollaborative 3-D-Karte kann durch die gemeinschaftliche Verwendung von Abschnitten einer 3-D-Karte, die in der 3-D-Karte-Systemsteuerung 120 jeweils innerhalb der CA/AD-Fahrzeuge 102, 104, 106 gespeichert sind, erweitert werden. Die Objekte innerhalb der 3-D-Karte können unter Verwendung von Sensoren 122 jeweils der CA/AD-Fahrzeuge 102, 104, 106 identifiziert und kollektiv validiert werden. Zusätzlich können sensorbasierte Objektidentifizierung und Abschnitte einer kollaborativen 3-D-Karte unterhalten, gespeichert oder von anderen Einheiten gemeinschaftlich verwendet werden, wie z. B. ein fest positionierter Beacon 140, der in der Nähe der Fahrbahn 108 und in der Nähe der CA/AD-Fahrzeuge 102, 104, 106 positioniert werden kann.
-
Bei Ausführungsbeispielen können ein oder mehrere Server 142 Abschnitte der Techniken zur Erstellung, Unterhaltung und Verteilung einer kollaborativen 3-D-Karte implementieren. Der eine oder die mehreren Server 142 können via das Internet 144 und in Kommunikation mit einem oder mehreren der CA/AD-Fahrzeuge 102, 104, 106 via drahtlose Kommunikationsantennen 146 gekoppelt werden. Bei Ausführungsbeispielen können Abschnitte der kollaborativen 3-D-Karte identifiziert, aktualisiert und/oder zwischen den CA/AD-Fahrzeugen 102, 104, 106 gemeinschaftlich verwendet werden. Bei Ausführungsbeispielen können die CA/AD-Fahrzeuge 102, 104, 106 Sensordaten mit dem einem oder den mehreren Servern 142 gemeinschaftlich verwenden, und/oder können Aktualisierungen der kollaborativen 3-D-Karte von dem einem oder den mehreren Servern 142 empfangen oder darauf zugreifen.
-
Ausführungsbeispiele sind auch darauf gerichtet, die Integrität der kollaborativen 3-D-Karte aufrecht zu erhalten, indem fehlerhafte oder falsche Beobachtungen oder Klassifikationen von Objekten identifiziert werden, die nicht in die kollaborative 3-D-Karte aufgenommen werden sollen. Diese fehlerhaften oder falschen Beobachtungen können das Ergebnis minderwertiger Sensor- 122 Daten sein, oder können die Versuche anderer sein, Objekte wie das Geschwindigkeitsbegrenzungsschild 132 oder das Ausfahrtschild 134 böswillig zu verdecken oder anderweitig elektronisch oder physisch zu verändern.
-
2 veranschaulicht gemäß verschiedenen Ausführungsbeispielen ein Blockdiagramm von beispielhaften CA/AD-Datenflüssen zum Implementieren einer kollaborativen 3-D-Karte. Diagramm 200 zeigt ein Beispiel von CA/AD-Datenströmen von Fahrzeugen 202a-202n, die den CA/AD-Fahrzeugen 104 und 106 von 1 ähnlich sein können. 1, die jeweils die Daten 223a-223n umfassen, die Daten basierend auf Sensordaten umfassen können, die von Sensoren der CA/AD-Fahrzeuge 104 und 106 von 1 gesammelt wurden. Bei Ausführungsbeispielen können diese Daten fotografische Bilder, LIDAR-Bilder, Infrarot- und/oder Ultraviolett-Bildmaterial umfassen. Bei anderen Ausführungsbeispielen können die Daten Radar-, Sonar- oder anderes ähnliches Bildmaterial umfassen.
-
Bei Ausführungsbeispielen können die Daten 223a-223n eine Identifizierung und/oder Klassifizierung von Objekten umfassen, z. B. die Identifizierung eines Geschwindigkeitsbegrenzungsschild 132- Objekts als Geschwindigkeitsbegrenzungsschild oder Ausfahrtsschild 134- Objekts als Ausfahrtschild. Bei Ausführungsbeispielen kann erfasstes Bildmaterial, wie oben beschrieben, analysiert werden, um diese Objekte zu identifizieren und zu klassifizieren. Zusätzliche Informationen können in den Daten 223a-223n umfasst sein, z. B. Standortinformationen oder zusätzliche Informationen, die verwendet werden können, um eine der korrekten Identifizierung oder Klassifizierung des Objekts zugeordnete Wahrscheinlichkeit zuzuweisen. Bei Ausführungsbeispielen können die Daten 223a-223n auch Abschnitte einer 3-D-Karte umfassen, die von den Fahrzeugen 202a-202n verwendet werden. Die gesamte oder Abschnitte der 3-D-Karte können von einigen oder allen der Fahrzeuge 202a-202n erzeugt und unterhalten werden.
-
Ein Lokalisierer (localizer) 250a-250n auf den jeweiligen CA/AD-Fahrzeugen kann verwendet werden, um einen Standort für Objekte, umfassend klassifizierte Objekte, die in den Daten 223a-223n dargestellt sind, zu identifizieren. Bei Ausführungsbeispielen kann der Lokalisierer 250 den identifizierten Standort der Objekte verglichen mit einem Standort des sendenden Fahrzeugs 202a-202n bestimmen. Bei anderen Ausführungsbeispielen kann der Lokalisierer 250a-250n die Objekte in den Daten 223a-223n in Bezug auf ein 3-D-Koordinatensystem identifizieren, das jeweils lokal auf den Fahrzeuge 202a-202n ist. Bei einigen Ausführungsbeispielen, wobei in die sendenden CA/AD-Fahrzeuge auch das gesamte Spektrum der Kollaborative-3-D-Kartierungs-Technologie eingebaut ist, können die sendenden CA/AD-Fahrzeuge auch eine Übersetzung von den Koordinatensystemen der Fahrzeuge 202a-202n in ein Koordinatensystem bestimmen, das von dem Kollaborative-3-D-Karte-Komparator 252 verwendet wird. Der 3-D-Karte-Komparator 252 kann Teil der Kollaborative-3-D-Karte-Systemsteuerung 120 von 1 sein.
-
Der Lokalisierer 250a-250n kann die Technik verwenden, um die Tatsache zu nutzen, dass die Fahrzeuge 202a-202n überlappende Sichtfelder haben, wenn sie auf derselben Straße fahren. Dies kann als auf Stereovision-basierende simultane Positionsbestimmung und Kartenerstellung (SLAM; simultaneous localization and mapping) bezeichnet werden. Bei Ausführungsbeispielen kann ein erstes CA/AD-Fahrzeug 202a spärliche 3-D-Merkmale der Umgebung erzeugen, die als Oriented FAST und Rotated BRIEF (ORB) Merkmale bezeichnet werden, wobei jedes Merkmal einer genauen Position verglichen mit einem gut definierten Koordinaten-Referenzrahmen zugeordnet ist. Ein weiteres CA/AD-Fahrzeug 202b wird die passenden Merkmale in seinem Sichtfeld finden. Bei Ausführungsbeispielen kann eine Starrkörper-Transformationsmatrix zwischen den beiden CA/AD-Fahrzeugen 202a, 202b bestimmt werden.
-
In Bezug auf diese Technik wird die Anpassungsgüte (goodness of match) anhand der Anpassungskosten zwischen den Fahrzeugen gemessen
wobei
P self der Standort eines Merkmals in der Bildebene des Referenz-CA/AD-Fahrzeugs,
P other
die Position des entsprechenden Merkmals in der Bildebene des anderen Fahrzeugs und Π eine Funktion ist, die Merkmale von der Bildebene des anderen Fahrzeugs auf die Bildebene des Referenzfahrzeugs projiziert. Die Summierung wird aus den Satz der entsprechenden Merkmale übernommen. Π hängt von kamerainternen Charakteristika (die bekannt sind) und Transformationsparametern
R und
t ab.
-
Der Lokalisierer 250a-205n kann die Technik der Nutzung von spärlichen 3-D-High-Definition- (HD-; hochauflösende) Karten verwenden, die zusätzlich zu den Bildern von Fahrzeug A und Fahrzeug B erfasst wurden. Für Fahrzeug A wird ein Satz von Anpassungen zwischen dem 2D-Bild und seinen entsprechenden spärlichen 3-D-Volumendaten gefunden.
-
Aufgrund der bekannten 3-D-Informationen wird nun ein Punkt von Fahrzeug A auf die Kamera in Fahrzeug B als Funktion von
R, t projiziert. Der projizierte Bildpunkt wird dann mit dem beobachteten Bildpunkt in dem Bild, das von der Kamera in Fahrzeug B gebildet wird, verglichen. Formal ist die Kostenfunktion, die minimiert wird,
wobei
P map die 3-D-Koordinate des Schlüsselpunktes ist, der
P self entspricht.
-
Ein CA/AD-Fahrzeug 202a-202n verarbeitet dann jeden 3-D-Rahmen, extrahiert die ORB-Merkmale und passt diese dann an die spärliche 3-D-Karte an. Das Fahrzeug kann sich dann gegenüber dem globalen Koordinatensystem, das in der HD-Karte verwendet wird, lokalisieren. Andere CA/AD-Fahrzeuge 202a-202n können sich auch selbst in Bezug auf die gleiche Referenz lokalisieren. Somit können Transformationen von unterschiedlichen Blickwinkeln zu einem gemeinsamen Referenz-Blickwinkel auftreten.
-
Bei einem anderen Ausführungsbeispiel wird die 3-D-Karte direkt unter Verwendung der Objekte und Bounding Boxes (umschließende Rechtecke) ausgerichtet, die durch Ausführen eines Tiefes-Neuronales-Netzwerk-Klassifizierers bestimmt werden. Sobald diese semantischen Informationen verfügbar sind, können sie verwendet werden, um gemeinsame Objekte und ihre Lage in dem Volumenraum zu finden. Gemeinsame Schlüsselpunkte können für die gleichen Objekte gefunden werden, wie von verschiedenen Fahrzeugen gesehen. Es kann eine Fundamentalmatrix F berechnet werden, die in eine relative Rotation R und eine Translation t zerlegt wird.
-
Ein anderes Ausführungsbeispiel ist die direkte Ausrichtung der 3-D-Karte unter Verwendung der semantischen Informationen wie Beschriftungen und Standorte gemeinsamer Objekte, die von beiden Fahrzeugen aus sichtbar sind. Jedes Fahrzeug unterhält einen Satz von Objekten, die für es sichtbar sind, und ihre entsprechenden Standorte und Posen in seinem eigenen lokalen Bezugsrahmen. Durch Vergleichen der Beschriftungen des von einem anderen Fahrzeug erhaltenen Satzes an Objekten wird die Schnittmenge von Objekten, die von beiden sichtbar sind, bestimmt. Der Standort und die Pose eines gemeinsamen Objekts in den beiden lokalen Fahrzeugbezugsrahmen kann dann verwendet werden, um die Transformationsmatrix zu berechnen, die zur Ausrichtung der 3-D-Karten erforderlich ist.
-
Die Kostenfunktion kann hier definiert werden als
-
Die Gesamtkostenfunktion ist eine gewichtete Kombination der obigen Komponenten:
wobei die Gewichte λ von der relativen Genauigkeit jedes Verfahrens abhängen. Da zum Beispiel die GPS-basierte Lokalisierung weniger genau ist als die beiden anderen Verfahren, wäre ihr Gewicht am geringsten. Eine solche Formulierung erlaubt die Flexibilität, eine Modalität zu ignorieren, indem ihr Gewicht auf Null gesetzt wird.
-
Bei Ausführungsbeispielen können, nachdem die Daten 223a-223n von dem Lokalisierer 250a-250n verarbeitet und an das empfangende CA/AD-Fahrzeug (z. B. CA/AD-Fahrzeug 102 in 1) gesendet wurden, die resultierenden lokalisierten Daten verglichen und auch mit einer vorhandenen kollaborativen 3-D-Karte unter Verwendung eines Kollaborative-3-D-Karte-Komparators 252 verglichen werden, der Teil der Kollaborative-3-D-Karte-Systemsteuerung 120 von 1 sein kann. Bei anderen Ausführungsbeispielen kann der Kollaborative-3-D-Karte-Komparator 252 stattdessen Teil des Systems 142 von 1 sein.
-
Um auf die Daten 223a-223n zurückzukommen, kann bei Ausführungsbeispielen der Standort identifizierter und klassifizierter Objekte in einer kompakten Darstellung des 3-D-Raums bereitgestellt sein, die verwendet werden kann, um die ganze oder Abschnitte einer 3-D-Karte lokal zu einem Fahrzeug oder einer kollaborativen 3-D-Karte darzustellen. Eine solche kompakte Darstellung eines 3-D-Raumes kann als Volumetrische-Kartierungs-Darstellung bezeichnet werden. Ein Ansatz für eine Volumetrische-Kartierungs-Darstellung ist die Verwendung eines Octrees. Ein Octree partitioniert einen 3-D-Raum in 8 Oktanten. Diese Partitionierung kann rekursiv erfolgen, um immer mehr Details zu zeigen, und kann verwendet werden, ein 3-D-Modell von Umgebungen zu erzeugen, das leicht aktualisierbar, flexibel und kompakt ist. Bei Ausführungsbeispielen kann eine 3-D-Ansicht, die jedes Fahrzeug basierend auf Sensor- 122 Daten oder anderen Techniken erstellt, unter Verwendung eines Octrees dargestellt werden.
-
Bei Ausführungsbeispielen ist das Octree eine Darstellung aus einem Blickwinkel eines CA/AD-Fahrzeugs 202a-202n, die eine Position und Pose umfasst. Zum Beispiel erzeugt ein fotografisches Bild, das von einem Kamerasensor 122 von 1 erfasst wurde, ein 2-D-Bild. Eine sich ergebende 3-D-Darstellung kann aus vielen 2-D-Bildern von Beobachtungen erstellt werden, die aus verschiedenen Blickwinkeln erfasst wurden. Während einer Erstellung einer 3-D-Darstellung können die 2-D-Bilder auf einen einzigen Blickwinkel auf dem Fahrzeug 202a-202n referenziert werden. Eine Octree-Darstellung eines Objekts kann aus verschiedenen Blickwinkeln erfolgen. Um den Standort eines Objekts innerhalb einer 3-D-Karte zu identifizieren, kann ein Koordinatensystem neu positioniert werden, um es auf die beiden Beobachtungen von z. B. unterschiedlichen Kameras auszurichten. Dies kann unter Verwendung einer Starrkörper-Transformation erfolgen.
-
Die Starrkörper-Transformationsmatrix T
cw umfasst eine 3x3-Rotationsmatrix und einen 3-Element-Translationsvektor. Diese Transformationsmatrix beschreibt, wie eine Position von dem Koordinatenrahmen einer Kamera in einen anderen transformiert werden kann.
-
Die obige Transformation kann durch Optimieren einer Kostenfunktion, C, geschätzt werden, die minimiert wird, wenn die Szenen von den beiden Kameras registriert werden. Die Kostenfunktion C kann eine Anzahl von Komponenten umfassen, die wie folgt beschrieben werden.
-
Wie vorstehend erwähnt, kann es verschiedene Wege geben, eine kollaborative 3-D-Karte der Umgebung unter Verwendung des Kollaborative-3-D-Karte-Komparators 252 aufzubauen. Bei Ausführungsbeispielen können unterschiedliche Fahrzeuge 202a-202n daran beteiligt sein, periodisch die serialisierte Darstellung ihres Octrees zusammen mit einem Zeitstempel und seinem Bezugsrahmen rundzusenden (broadcast), z. B. eine gemeinsame Referenz wie beispielsweise von einer High-Definition- (HD-) Karte. Andere Fahrzeuge 202a-202n werden dann ihr Octree aktualisieren, insbesondere in den Bereichen, in denen sie aufgrund von Hindernissen und anderen Beeinträchtigungen ein geringes Vertrauen haben. Dies kann aus Bandbreiten-Sicht etwas weniger effizient sein, aber insgesamt verursacht das Übertragen von Octrees mit semantischen Informationen weniger Mehraufwand als das Übertragen von z.B. Rohpunktwolken.
-
Bei der Implementierung dieser Ausführungsbeispiele stellt eine erhöhte Genauigkeit für den bestimmten Standort der klassifizierten Objekte, oder der CA/AD-Fahrzeuge 202a-202n, eine genauere kollaborative 3-D-Karte bereit. Beispielsweise sind GPS-Koordinaten und die Pose der verschiedenen CA/AD-Fahrzeuge 202a-202n, von denen Daten 223a-223n empfangen werden, ein Weg, die Translation und Rotation zu schätzen, um die Koordinatenreferenzen zu vereinheitlichen. Standard-GPS-Daten weisen einen Fehler in der Größenordnung von 5 Metern auf. Dies stimmt insbesondere für städtische Canyons sowie andere dichte städtische Umgebungen. Präzisions-GPS-Systeme erfordern umfangreiche stationäre Kalibrierungszeiten oder komplexe Ausrüstungskonfigurationen und sind teuer. Einige Systeme erreichen Sub-Meter-Genauigkeit, wobei sie nur ein Einfrequenz-GPS verwenden, das ein Netzwerk von Empfängern verwendet, die Roh-Satellitenmessungen gemeinschaftlich verwenden. Es ist möglich, dass jedes teilnehmende CA/AD-Fahrzeug 202a-202n (Knoten) in der Lage ist, alle anderen CA/AD-Fahrzeuge 202a-202n in dem Netzwerk unter Verwendung paarweiser Kombinationen von Satellitenbeobachtungen zu lokalisieren. Daher ist jedes CA/AD-Fahrzeug 202a-202n in der Lage, eine interne Kartierung der Standorte jedes der anderen CA/AD-Fahrzeuge 202a-202n in Form eines Satzes von 3-D-Positionsvektoren in Bezug auf sein eigenes lokales Koordinatensystem zu erstellen. Auch neue GPS-Chips können das Genauigkeitsproblem lösen, wobei sie eine Genauigkeit von 30 Zentimetern (cm) erreichen. Diese neuen GPS-Chips nutzen die Satelliten der neueren Generation, die zusätzlich zu dem bisherigen L1-Signal das komplexere L5-Signal rundsenden. Das L5-Signal ist gegen Mehrweginterferenzen, die in dichten städtischen Umgebungen häufig sind, aufgrund der Tatsache, dass es eine schmalere Dauer und eine ausgeprägtere Spitze aufweist, weniger immun.
-
Es ist zu beachten, dass GPS nur translatorische Informationen, nicht die Orientierung, bereitstellen kann. Sei
es der Standort des Referenz-CA/AD-Fahrzeugs, wie von seinem GPS berichtet, und
sei der Standort des anderen CA/AD-Fahrzeugs. Dann ist
ein Kostenfaktor, der die geschätzte Translation zwingt, sie an die GPS-Messungen anzupassen.
-
Ein anderer Ansatz zum Aufbau einer kollaborativen 3-D-Karte der Umgebung besteht darin, dass die Fahrzeuge 202a-202n nur eine Teilmenge des Octrees rundsenden. Beispielsweise kann ein Fahrzeug 202a-202n den/die Teilbaum/e, in den/die das Fahrzeug 202a-202n ein geringes Vertrauen hat, rundsenden und dann eine Anfrage an ein anderes Fahrzeug 202a-202n senden, um den Fahrzeuge-Vertrauenswert zu verbessern.
-
Ein anderer Ansatz zum Aufbau einer kollaborativen 3-D-Karte der Umgebung ist sich auf die Infrastruktur, z. B. Server 142 von 1, zu verlassen, um eine aggregierte Berechnung aus den von den verschiedenen Fahrzeugen 202a-202n oder von anderen Quellen, wie beispielsweise dem Beobachtungspunkt 140, empfangenen Daten zu erzeugen und dann die gesamte oder einen Teil der sich ergebenden kollaborativen 3-D-Karte von einem gemeinsamen Bezugspunkt, z. B. der Antenne 146, an die Fahrzeuge 202a-202n rundzusenden.
-
Der Kollaborative-3-D-Karte-Komparator 252 kann auch eine Diskrepanzdetektion ausführen, wobei er lokalisierte Daten von jedem der Lokalisierer 250a-250n nimmt und bei dem Prozess der Erstellung einer kollaborativen 3-D-Karte verschiedene Diskrepanzen zwischen den lokalisierten Daten identifiziert und auch verschiedene Wahrscheinlichkeiten zuweisen kann, die die Grade der Gültigkeit der unterschiedlichen Diskrepanz angeben können. Ein Beispiel einer Diskrepanz können unterschiedliche Identifizierungen eines Objekts und/oder unterschiedliche Charakterisierungen des Objekts basierend auf Daten von verschiedenen Fahrzeugen 202a-202n sein. Diese Diskrepanz- und Wahrscheinlichkeitsdaten 254 können dann an eine Wertungseinheit 256 gesendet werden, die Teil der Kollaborative-3-D-Karte-Systemsteuerung 120 von 1 oder des Servers 142 von 1 sein kann, um zu bestimmen, welche Diskrepanzen in die erweiterte kollaborative 3-D-Karte 260 aufgenommen werden sollen, und welche Diskrepanzen tatsächlich Anomalie-Objekte 258a-258n sind, die nicht in die erweiterte kollaborative 3-D-Karte 260 aufgenommen werden sollen.
-
Wenn jedes Fahrzeug 202a-202n seine Sensoren 122 zur Identifizierung, Bestimmung des Standorts und/oder Klassifizierung von Objekten in seiner unmittelbaren Umgebung verwendet, wird es bei einem Vergleich mit lokalisierten Daten, die sich jeweils aus den Lokalisierern 250a-250n ergeben, Diskrepanzen in diesen Daten geben. Somit können Ausführungsbeispiele eine oder mehrere Techniken umfassen, die zur Konsensbildung verwendet werden, um zu bestimmen, welche Objekte und ihre jeweilige Klassifizierung und Lage in die erweiterte kollaborative 3-D-Karte 260 aufgenommen werden sollen.
-
Bei Ausführungsbeispielen kann eine Mehrheitswahltechnik verwendet werden, wobei ein Stimmgewicht eine Funktion der Detektionswahrscheinlichkeit ist. Bei Ausführungsbeispielen kann dieses Stimmgewicht auf jedes Objekt in dem Octree angewandt werden. Die Wahrscheinlichkeit aus der semantischen Szenensegmentierung kann in der Gewichtungsformel zusammen mit einem Gewicht für diese Beobachtung verwendet werden, die z. B. 1 (für einfache Mehrheitswahl) sein kann, oder sie kann entweder durch statistische oder andere empirische Verfahren berechnet werden. Bei Ausführungsbeispielen kann die Kombination von Gewichten für die Objekte durch ein vollständig verbundenes neuronales Netzwerk, das verdeckte (hidden) Schichten umfassen kann, oder durch eine Support-Vektor-Machine (SVM) ersetzt werden, wobei die Gewichte während der Trainingsphase berechnet werden.
-
Der Objektdetektionsrahmen eines CA/AD-Fahrzeugs 202a-202n oder eine Straßenverkehrsanalytikanwendung, die am Rand/an einer Straßenrandeinheit läuft, wie z. B. 140 von 1, kann eine Pipeline von Bildverarbeitungsmodulen umfassen. Diese Pipeline nimmt von einer oder mehreren Kameras erfasste Rahmen (frames) als Eingabe auf und wendet einen Klassifikator auf die Rahmendaten zur Objektdetektion an. Die Genauigkeit und Berechnungskomplexität der Objektdetektion hängt von der Eingangsauflösung (z. B. HD oder SD) und der Anzahl der Schichten ab, die in dem zugeordneten neuronalen, zur Klassifizierung verwendeten Netzwerk verwendet werden. Eine Konfiguration erfordert weniger Rechenressourcen, bietet aber eine bessere Genauigkeit gegenüber einem bestimmten Vertrauensschwellenwert. Somit können Konfigurationen eines solchen neuronalen Netzwerks zwischen CA/AD-Fahrzeugen 202a-202n von verschiedenen Herstellern oder sogar verschiedener Marken innerhalb eines Herstellers aufgrund der Möglichkeit verschiedener Komponentenlieferanten variieren. Diese Konfigurationsunterschiede können den Kompromiss zwischen Genauigkeits-Vertrauensschwellenwerten und verfügbaren Rechenressourcen ausnutzen. Bei Ausführungsbeispielen können ferner die unterschiedlichen Neuronales-Netzwerk-Klassifikatoren zwischen den CA/AD-Fahrzeugen 202a-202n auf verschiedenen Trainingssätzen trainiert worden sein, und als Folge davon gibt es eine Vielfalt bei ihren Entscheidungsgrenzen zum Identifizieren von Objekten und Klassifizierungen für diese Objekte. Folglich kann eine Detektion verwendet werden, um die Vielfalt neuronaler Netzwerke und ihre verschiedenen Entscheidungsgrenzen mit CA/AD-Fahrzeugen 202a-202n zu nutzen, um die Klassifikatoren widerstandsfähig gegen ein unzureichendes Einzelfahrzeug-Neuronales-Netzwerk-Training und/oder gezielte gegnerische Angriffe zu machen, um die Gültigkeit der kollaborativen 3-D-Karte anzugreifen.
-
Sensoren 112 und insbesondere Kameras sind für das Funktionieren eines CA/AD-Fahrzeugs nützlich. Eine Anomalie in dem Kamera-Datenstrom kann katastrophale Folgen im Hinblick auf die Fahrzeugnavigation haben. Kameras können anfällig für einen Angriff durch einen bösartigen Akteur sein, z. B. durch einen Hacker, der den Inhalt des Bildstroms verändern kann, was zu einer falschen Objektidentifizierung und/oder -klassifizierung führen kann. In anderen Situationen kann die Kamera versehentlich fehlerhaft sein und falsche Bilder zur Verarbeitung bereitstellen.
-
Ein weiteres Verfahren für Angriffe ist die physische Manipulation der realen Umgebung. Ein Beispiel wäre die physische Manipulation mit einem STOPP-Schild 365 von 3, um die Inferenzmotoren in autonomen Autos zu täuschen, indem das Schild durch Anwendung der Regionen 364a-364d verdeckt wird. Ein weiteres Beispiel ist die Störung eines Geschwindigkeitsbegrenzungsschilds 363, um das Schild schwer als Geschwindigkeitsbegrenzungsobjekt erkennbar zu machen, um die Geschwindigkeitsbegrenzungsnummer 362a durch Verunstaltung 362b zu verdecken oder um die Objektklassifizierung als Geschwindigkeitsbegrenzungsschild zu verwirren, indem 362c die Worte „AUSFAHRT“ überlagert werden, um zu verursachen, dass das Geschwindigkeitsbegrenzungsschild als Ausfahrtsschild klassifiziert wird. Nachstehend folgen einige Beispiele für umweltbedingte Störungen.
-
Es gibt eine Verbindung zwischen der Empfindlichkeit gegenüber additiven Störungen in den Eingaben und der Krümmung ihrer Entscheidungsgrenzen. Die Richtungen, wo die Entscheidungsgrenze gekrümmt ist, charakterisiert die Richtungen, gegenüber denen der Objektklassifikator am anfälligsten für Störungen ist, die verursachen können, dass er eine Fehlklassifikation verursacht. Zum Beispiel zeigt 10 eine Situation, in der die Entscheidungsgrenzen 1004, 1024 von zwei Klassifikatoren 1002, 1022 unterschiedliche Krümmungen aufweisen. Bei der Entscheidungsgrenze 1004 können Figurstörungen auf nur einer der vier Achsen 1006 zu einer Fehlklassifikation führen, während es bei der Entscheidungsgrenze 1024 möglich ist, Störungen auf drei der vier Achsen 1026a, 1026b, 1026c zu verursachen, um eine Fehlklassifikation zu verursachen. Die Entscheidungsgrenzen 1004, 1024 sind abhängig von Trainingsdaten und dem Modell. Die Verwendung einer Kollaborationsmethode nutzt die Vielfalt der tiefen neuronalen Netzwerke in verschiedenen CA/AD-Fahrzeugen. Diese Vielfalt der Implementierungen führt auch zu einer Vielfalt von Entscheidungsoberflächen, was sie weniger anfällig für gegnerische Angriffe macht.
-
Bei Ausführungsbeispielen wird der Kollaborative-3-D-Karte-Komparator 252 die lokalisierten Objektbeobachtungen 251 von verschiedenen CA/AD-Fahrzeug- 202a-202n Beobachtern anpassen und die Wertungseinheit 256 verwenden, um irgendwelche Diskrepanzen unter Verwendung der semantischen Segmentierungswahrscheinlichkeiten zu einer Gewichtungsfunktion zu bewerten. Die Gewichte können empirisch berechnet werden oder unter Verwendung einer SVM oder eines neuronalen Netzwerks nach dem Training berechnet werden.
-
Da bei Ausführungsbeispielen eine Gesamtheit von den verschiedenen Fahrzeugen 202 zugeordneten, neuronalen Netzwerken/Klassifikatoren verwendet wurde, die unterschiedliche Topologien, unterschiedliche Hersteller (die die zugrundeliegende Technologie von verschiedenen OEM-Zulieferern gekauft haben) aufweisen und daher unterschiedlich trainiert sind, sind die Entscheidungsgrenzen unterschiedlich. Dies macht den verteilten und konsensbasierten Klassifikator-Ansatz widerstandsfähiger gegen White-Box- und Black-Box-Angriffe. Es fängt auch Objektdetektionsausfälle (Anomalie-Objekte 258) auf, die sich aufgrund von unzureichendem Training, Hacks oder Modifikationen der physischen Umgebung ergeben können, und erleichtert CA/AD-Fahrzeugen 202a-202n durch kollaboratives Verständnis der Umgebung sicher zu arbeiten.
-
4 veranschaulicht gemäß verschiedenen Ausführungsbeispielen ein Blockdiagramm eines CA/AD-Fahrzeugs, das in die Kollaborative-3-D-Kartierungs-Technologie der vorliegenden Offenbarung aufgenommen ist. Diagramm 400 zeigt eine Kollaborative-3-D-Karte-Systemsteuerung 420, die einer kollaborativen 3-D-Karte-Systemsteuerung 120 von 1 ähnlich sein kann, zugeordnet einem CA/AD-Fahrzeug wie beispielsweise dem CA/AD-Fahrzeug 102 von 1. Bei Ausführungsbeispielen kann die Kollaborative-3-D-Karte-Systemsteuerung 420 ganz oder teilweise in dem IVI 114 umfasst sein oder kann sich außerhalb des IVI 114 des CA/AD-Fahrzeugs 102 befinden. Bei Ausführungsbeispielen kann die Kollaborative-3-D-Karte-Systemsteuerung 420 eine Mehrzahl von Angaben von Daten von einem oder mehreren Sensoren 122 eines CA/AD-Fahrzeugs 102 empfangen oder kann Angabeabschnitte einer 3-D-Karte von einer anderen Quelle wie beispielsweise einem CA/AD-Fahrzeug 102 oder einem System 140 empfangen.
-
Bei Ausführungsbeispielen kann die Kollaborative-3-D-Karte-Systemsteuerung 420 eine Kommunikationsschnittstelle 430 umfassen, die Informationen von Signalen, die von einem oder mehreren CA/AD-Fahrzeugen 104, 106 von 1 gesendet werden, oder von Knoten 140 empfängt, und kommuniziert diese Informationen zur Verarbeitung an die Kollaborative-3-D-Karte-Systemsteuerung 420. Bei Ausführungsbeispielen kann die Kommunikationsschnittstelle 430 auch Übertragungen von einem Antennenturm 140 oder von einer anderen Übertragungsquelle empfangen, die zusätzliche Informationen an das CA/AD-Fahrzeug 102 bereitstellen kann.
-
Eine Fahrsteuereinheit (DCU; driving control unit) 432 kann Befehle von der kollaborativen 3-D-Karte-Systemsteuerung 420 empfangen, die Fahranpassungen darstellen können, und dann verursachen, dass diese Fahranpassungen in dem CA/AD-Fahrzeug 102 implementiert werden.
-
Die Sensoreingabe 422 kann, wie vorangehend beschrieben wurde, auch von verschiedenen Sensoren empfangen werden, die sich innerhalb des CA/AD-Fahrzeugs 102 befinden. Diese Sensoreingabe 422 kann auch an die Steuerung 420 gesendet werden, um Objekte in der Nähe des CA/AD-Fahrzeugs 102 zu identifizieren und/oder zu klassifizieren, und um vorzunehmende Fahranpassungen zu verarbeiten und/oder zu bestimmen.
-
Bei Ausführungsbeispielen kann die Kollaborative-3-D-Karte-Systemsteuerung 420 in Hardware, Software oder einer Kombination derselben implementiert sein. Hardware-Implementierungen können ASIC oder programmierbare Schaltungen umfassen. Software-Implementierungen können einen Prozessor, Speicher und Anweisungen umfassen, die in der unten beschriebenen Logik der Logikblöcke in 4 verkörpert sind.
-
Beispielhafte Hardware-Implementierungen können eine anwendungsspezifische integrierte Schaltung (ASIC) oder programmierbare Schaltungen (wie feld-programmierbare Gate-Arrays (FPGA; Field Programmable Gate Array)), die mit der Operationslogik programmiert sind, umfassen, sind aber nicht darauf beschränkt. Software-Implementierungen können Implementierungen in Anweisungen von Anweisungssatzarchitekturen (ISA; instruction set architecture) umfassen, die von den Zielprozessoren unterstützt werden, oder irgendeine einer Anzahl von höheren Programmiersprachen, die in eine Anweisung der ISA der Zielprozessoren kompiliert werden können. Bei einigen Ausführungsbeispielen, insbesondere bei solchen Ausführungsbeispielen, bei denen die Steuerung 326 zumindest ein neuronales Netzwerk umfasst, kann zumindest ein Abschnitt der Kollaborative-3-D-Karte-Systemsteuerung 420 in einem Beschleuniger implementiert sein. Eine beispielhafte Software-Architektur und eine beispielhafte Hardware-Rechenplattform werden später unter Bezugnahme auf 7-8 näher beschrieben.
-
5 veranschaulicht einen beispielhaften Prozess für das Sammeln von Daten, die in der kollaborativen 3-D-Kartierung verwendet werden sollen, gemäß verschiedenen Ausführungsbeispielen. Der Prozess 500 kann unter Verwendung der Merkmale, Komponenten oder Systeme, wie in 1-4 und 6-9 beschrieben, implementiert werden.
-
Bei Block 502 kann der Prozess ein Empfangen, von einem anderen CA/AD-Fahrzeug in der Nähe des ersten CA/AD-Fahrzeugs, einer Angabe zumindest eines Abschnitts einer anderen 3-D-Karte einer anderen Umgebung um sowohl das erste CA/AD-Fahrzeug als auch das andere CA/AD-Fahrzeug herum umfassen. Bei Ausführungsbeispielen kann das erste CA/AD-Fahrzeug das Fahrzeug 102 von 1 sein und das andere CA/AD-Fahrzeug in der Nähe des ersten CA/AD-Fahrzeugs kann Fahrzeug 104, 106 sein. Bei Ausführungsbeispielen kann das andere CA/AD-Fahrzeug der Beacon 140 von 1 sein.
-
Bei Block 504 kann der Prozess das Aufnehmen der empfangenen Angabe des zumindest einen Abschnitts der 3-D-Karte in der Nähe des ersten CA/AD-Fahrzeugs und des anderen CA/AD-Fahrzeugs in die 3-D-Karte der Umgebung des ersten CA/AD-Fahrzeugs, die von der Systemsteuerung verwaltet wird, umfassen. Bei Ausführungsbeispielen kann die Systemsteuerung der Kollaborative-3-D-Karte-Systemsteuerung 120 von 1 ähnlich sein. Bei anderen Ausführungsbeispielen kann sich die Systemsteuerung in dem System 142 von 1 befinden. Bei Ausführungsbeispielen kann das Aufnehmen der empfangenen Angabe ein Bereitstellen einer Lokalisierung unter Verwendung eines Lokalisierers 250 und eines Kollaborative-3-D-Karte-Komparators 252 umfassen, um verschiedene Objekte dem anderen CA/AD-Fahrzeug zuzuordnen, um Anomalien innerhalb der verglichenen 3-D-Karten zu identifizieren, die den Anomalien und Wahrscheinlichkeiten 254 ähnlich sein können, die dann von einer Wertungseinheit 256 verarbeitet werden können, um eine erweiterte kollaborative 3-D-Karte 260 zu erstellen.
-
Bei einigen Ausführungsbeispielen kann die Kollaborative-3-D-Karte-Systemsteuerung 420 bei Ausführung ihrer Bestimmungen und/oder Bewertungen ein oder mehrere trainierte neuronale Netzwerke umfassen. 6 veranschaulicht gemäß verschiedenen Ausführungsbeispielen ein beispielhaftes neuronales Netzwerk, das für die Verwendung bei der vorliegenden Offenbarung geeignet ist. Wie gezeigt, kann das beispielhafte neuronale Netzwerk 600 ein Multischicht- Feedforward-Neuronales-Netzwerk (FNN; feedforward neural network) sein, das eine Eingabeschicht 612, eine oder mehrere verdeckte Schichten 614 und eine Ausgabeschicht 616 umfasst. Die Eingabeschicht 612 empfängt Daten der Eingabevariablen (xi) 602. Die verdeckte(n) Schicht(en) 614 verarbeitet die Eingaben, und schließlich gibt die Ausgabeschicht 616 die Bestimmungen oder Bewertungen (yi) 604 aus. Bei einer beispielhaften Implementierung werden die Eingabevariablen (xi) 602 des neuronalen Netzwerks als Vektor gesetzt, der die relevanten Variablendaten umfasst, während die Ausgabebestimmung oder -bewertung (yi) 604 des neuronalen Netzwerks auch als Vektor gesetzt wird.
-
Ein Multischicht- Feedforward-Neuronales-Netzwerk (FNN) kann durch die folgenden Gleichungen ausgedrückt werden:
wobei ho
i und y
i jeweils die Verdeckte-Schicht-Variablen und die finalen Ausgaben sind. f() ist typischerweise eine nichtlineare Funktion, wie beispielsweise die Sigmoidfunktion oder die gleichgerichtete lineare (ReLu) Funktion, die die Neuronen des menschlichen Gehirns imitiert. R ist die Anzahl der Eingaben. N ist die Größe der verdeckten Schicht oder die Anzahl von Neuronen. S ist die Anzahl der Ausgaben.
-
Das Ziel des FNN ist es, eine Fehlerfunktion E zwischen den Netzwerkausgaben und den erwünschten Zielen zu minimieren, indem die Netzwerkvariablen i
w, h
w, h
b und o
b durch Training wie folgt angepasst werden:
wobei y
kp und t
kp jeweils die vorhergesagten und die Ziel-Werte der p. Ausgabeeinheit für den Abtastwert k sind, und m die Anzahl von Abtastwerten ist.
-
Bei einigen Ausführungsbeispielen kann die Kollaborative-3-D-Karte-Systemsteuerung 420 ein vortrainiertes neuronales Netzwerk 600 umfassen, um die von den CA/AD-Fahrzeugen 102, 104, 106 empfangenen Sensoren und Objektdetektionssignale abzustimmen. Die Eingabevariablen (xi) 602 können Sensor- und Objektdaten umfassen, die von den benachbarten CA/AD-Fahrzeugen empfangen werden, sowie Sensor- und Objektdaten, die von verschiedenen lokalen Fahrzeugsensoren, wie z. B. Beschleunigungssensoren, Gyroskope, IMU usw., gesammelt/detektiert werden. Die Ausgabevariablen (yi) 604 können die abgestimmten Objekte der Umgebung und ihre Positionen umfassen. Die Netzwerkvariablen der verdeckten Schicht(en) für das neuronale Netzwerk der Kollaborative-3-D-Karte-Systemsteuerung 420 können durch die Trainingsdaten bestimmt werden.
-
Bei dem Beispiel von 6 gibt es für eine vereinfachte Darstellung nur eine verdeckte Schicht in dem neuronalen Netzwerk. Bei einigen anderen Ausführungsbeispielen kann es viele verdeckte Schichten geben. Ferner kann das neuronale Netzwerk in einigen anderen Arten von Topologie sein, wie z.B. Convolutional Neural Network (CNN; faltendes neuronales Netzwerk), Recurrent Neural Network (RNN; rekurrentes neuronales Netzwerk) usw.
-
7 veranschaulicht eine Software-Komponenten-Ansicht eines CA/AD-Systems in einem CA/AD-Fahrzeug gemäß verschiedenen Ausführungsbeispielen. Wie gezeigt, umfasst bei den Ausführungsbeispielen das CA/AD-System 700, das IVS 114 von 1 sein kann, Hardware 702 und Software 710. Die Software 710 umfasst den Hypervisor 712, der eine Anzahl von virtuellen Maschinen (VMs; virtual machines) 722 -728 hostet. Der Hypervisor 712 ist ausgebildet, eine Ausführung von VMs 722-728 zu hosten. Die VMs 722-728 umfassen eine Dienst-VM 722 und eine Anzahl von Benutzer-VMs 724-728. Die Dienstmaschine 722 umfasst ein Dienst-Betriebssystem (-OS), das die Ausführung einer Anzahl von Instrumentengruppe-Anwendungen 732 hostet. Die Benutzer-VMs 724-728 können eine erste Benutzer-VM 724 mit einem ersten Benutzer-OS umfassen, das die Ausführung von Vordersitz-Infotainment-Anwendungen 734 hostet, eine zweite Benutzer-VM 726 mit einem zweiten Benutzer-OS, das die Ausführung von Rücksitz-Infotainment-Anwendungen 736 hostet, eine dritte Benutzer-VM 728 mit einem dritten Benutzer-OS, das die Ausführung einer Kollaborative-3-D-Karte-Systemsteuerung 738 hostet, wie z. B. der Kollaborative-3-D-Karte-Systemsteuerung 120 von 1 oder 420 von 4 usw.
-
Mit Ausnahme der aufgenommenen Kollaborative-3-D-Karte-Systemsteuerung 738 der vorliegenden Offenbarung können die Elemente 712-738 der Software 710 irgendwelche einer Anzahl von diesen, im Stand der Technik bekannten Elemente sein. Beispielsweise kann Hypervisor 712 irgendeiner von einer Anzahl von im Stand der Technik bekannten Hypervisoren sein, wie beispielsweise KVM, ein Open-Source-Hypervisor, Xen, erhältlich bei Citrix Inc. in Fort Lauderdale, FL, oder VMware, erhältlich bei VMware Inc. in Palo Alto, CA, usw. In ähnlicher Weise können das Dienst-OS der Dienst-VM 722 und das Benutzer-OS der Benutzer-VMs 724-728 irgendeines einer Anzahl von im Stand der Technik bekannten OS sein, wie z.B. Linux™, erhältlich z. B. von Red Hat Enterprise of Raleigh, NC, oder Android, erhältlich von Google in Mountain View, CA.
-
8 veranschaulicht gemäß verschiedenen Ausführungsbeispielen eine Hardwarekomponente-Ansicht eines CA/AD-Systems in einem CA/AD-Fahrzeug. Wie gezeigt, kann die Rechenplattform 800, die die Hardware 702 von 7 sein kann, einen oder mehrere System-auf-Chips (SoCs; system-on-chips) 802, ROM 803 und Systemspeicher 804 umfassen. Jedes SoC 802 kann einen oder mehrere Prozessorkerne (CPUs; processor cores), eine oder mehrere Grafikprozessoreinheiten (GPUs; graphics processor units), einen oder mehrere Beschleuniger, wie z.B. Computer Vision (CV) und/oder Deep Learning (DL-) Beschleuniger, umfassen. ROM 803 kann grundlegende Eingabe-/Ausgabe-System-Dienste (BIOS) 805 umfassen. CPUs, GPUs und CV/DL-Beschleuniger können irgendeines einer Anzahl dieser im Stand der Technik bekannter Elemente sein. In ähnlicher Weise können ROM 803 und BIOS 805 irgendeines von einer Anzahl von im Stand der Technik bekannten ROMs und BIOSs sein, und der Systemspeicher 804 kann irgendeiner von einer Anzahl im Stand der Technik bekannter flüchtiger Speicher sein.
-
Zusätzlich kann die Rechenplattform 800 Dauerspeichervorrichtungen 806 umfassen. Ein Beispiel für Dauerspeichervorrichtungen 806 kann Flash-Laufwerke, Festplatten, CD-Nurlesespeicher (CD-ROM; compact disk read-only memory) und so weiter sein, sind aber nicht darauf beschränkt. Ferner kann die Rechenplattform 800 eine oder mehrere Eingabe/Ausgabe- (I/O-; input/output) Schnittstellen 808 umfassen, um eine Schnittstelle mit einer oder mehreren I/O-Vorrichtungen, wie z. B. Sensoren 820, zu bilden. Andere beispielhafte I/O-Vorrichtungen können Anzeige, Tastatur, Cursorsteuerung usw. umfassen, sind aber nicht darauf beschränkt. Die Rechenplattform 800 kann auch eine oder mehrere Kommunikationsschnittstellen 810 (wie beispielsweise Netzwerkschnittstellenkarten, Modems usw.) umfassen. Kommunikationsvorrichtungen können irgendeine Anzahl von im Stand der Technik bekannten Kommunikations- und I/O-Vorrichtungen umfassen. Beispiele von Kommunikationsvorrichtungen können Netzwerkschnittstellen für Bluetooth®, Nahfeldkommunikation (NFC; Near Field Communication), WiFi, zellulare Kommunikation (wie LTE 4G/5G) usw. umfassen, sind aber nicht darauf beschränkt. Die Elemente können über den Systembus 811, der einen oder mehrere Busse darstellen kann, miteinander gekoppelt werden. Im Falle mehrerer Busse können sie durch eine oder mehrere Busbrücken überbrückt werden (nicht gezeigt).
-
Jedes dieser Elemente kann seine im Stand der Technik bekannten konventionellen Funktionen ausführen. Insbesondere kann ROM 803 das BIOS 805 mit einem Bootloader umfassen. Der Systemspeicher 804 und die Massenspeichervorrichtungen 806 können verwendet werden, um eine Arbeitskopie und eine dauerhafte Kopie der Programmieranweisungen zu speichern, die die dem Hypervisor 712, dem Dienst-/Benutzer-OS der Service-/Benutzer-VM 722-728 und den Komponenten des IVI 114 (Instrumentengruppe 732, Vordersitz-Unterhaltungssystem 734, Rücksitz-Unterhaltungssystem 736, Kollaborative-3-D-Karte-Systemsteuerung 738) zugeordneten Operationen implementieren, die zusammen als Berechnungslogik 822 bezeichnet werden. Die verschiedenen Elemente können durch Assembler-Anweisungen implementiert werden, die von Prozessorkern(en) des SoCs 802 oder von Hochsprachen, wie z. B. C, unterstützt werden, die zu solchen Anweisungen kompiliert werden können. Bei einigen Ausführungsbeispielen kann ein Abschnitt der Berechnungslogik 822 mit Beschleunigern des SoC 802 implementiert werden.
-
Wie für den Fachmann verständlich ist, kann die vorliegende Offenbarung als Verfahren oder Computerprogrammprodukte verkörpert sein. Dementsprechend kann die vorliegende Offenbarung nicht nur, wie zuvor beschrieben, in Hardware verkörpert sein, sondern auch die Form eines vollständigen Software-Ausführungsbeispiels (einschließlich Firmware, residenter Software, Mikrocode etc.) oder eines Ausführungsbeispiels annehmen, das Software- und Hardware-Aspekte kombiniert, die alle allgemein als „Schaltung“, „Modul“ oder „System“ bezeichnet werden können. Ferner kann die vorliegende Offenbarung die Form eines Computerprogrammprodukts haben, das in einem greifbaren oder nichflüchtigen Ausdrucksmedium verkörpert ist, mit einem in dem Medium verkörperten, computerverwendbaren Programmcode.
-
9 veranschaulicht gemäß verschiedenen Ausführungsbeispielen ein Speichermedium mit Anweisungen zum praktischen Ausführen von Verfahren, die mit Bezugnahme auf 1-8 und 10 beschrieben sind. Das computerlesbare, nichtflüchtige Speichermedium, das zur Verwendung zum Speichern von Anweisungen geeignet sein kann, die verursachen, dass eine Vorrichtung, ansprechend auf die Ausführung der Anweisungen durch die Vorrichtung, ausgewählte Aspekte der vorliegenden Offenbarung in der Praxis ausführt. Wie gezeigt, kann das nichtflüchtige computerlesbare Speichermedium 902 eine Anzahl von Programmieranweisungen 904 umfassen. Die Programmieranweisungen 904 können ausgebildet sein, eine Vorrichtung, z. B. die Rechenplattform 800, dazu zu befähigen, ansprechend auf die Ausführung der Programmieranweisungen (Aspekte des) Hypervisor(s) 712, das Dienst-/Benutzer-OS der Dienst/Benutzer-VM 722-728 und die Komponenten des IVI 114 (Instrumentengruppe 732, Vordersitz-Unterhaltungssystem 734, Rücksitz-Unterhaltungssystem 736, Kollaborative-3-D-Karte-Systemsteuerung 738) zu implementieren. Bei alternativen Ausführungsbeispielen können die Programmieranweisungen 904 stattdessen auf mehreren computerlesbaren, nichtflüchtigen Speichermedien 902 angeordnet werden. Bei noch anderen Ausführungsbeispielen können die Programmieranweisungen 904 auf computerlesbaren nichtflüchtigen Speichermedien 902, wie z. B. Signalen, angeordnet werden.
-
Irgendeine Kombination aus einem oder mehreren computerverwendbaren oder computerlesbaren Medium/Medien kann verwendet werden. Das computerverwendbare oder computerlesbare Medium kann zum Beispiel ein elektronisches, magnetisches, optisches, elektromagnetisches, infrarot- oder Halbleiter-System, ein Gerät, eine Vorrichtung oder ein Ausbreitungsmedium sein, ist aber nicht darauf beschränkt. Spezifischere Beispiele (eine nicht erschöpfende Liste) des computerlesbaren Mediums würden Folgendes umfassen: eine elektrische Verbindung mit einem oder mehreren Drähten, eine tragbare Computerdiskette, eine Festplatte, einen Direktzugriffsspeicher (RAM; random access memory), einen Nur-Lese-Speicher (ROM), einen löschbaren programmierbaren Nur-Lese-Speicher (EPROM; (erasable programmable read-only memory) oder Flash-Speicher), eine optische Faser, einen tragbaren Compact-Disc-Nurlesespeicher (CD-ROM), eine optische Speichervorrichtung, ein Übertragungsmedium wie beispielsweise diejenigen, die das Internet oder ein Intranet unterstützen, oder eine magnetische Speichervorrichtung. Es ist zu beachten, dass das computerverwendbare oder computerlesbare Medium sogar Papier oder ein anderes geeignetes Medium sein kann, auf das das Programm gedruckt wird, da das Programm elektronisch erfasst werden kann, durch z. B. optisches Scannen des Papiers oder eines anderen Mediums, und dann, falls erforderlich, kompiliert, interpretiert oder anderweitig in geeigneter Weise verarbeitet und dann in einem Computerspeicher gespeichert werden kann. In dem Kontext dieses Dokuments kann ein computerverwendbares oder computerlesbares Medium irgendein Medium sein, das das Programm zur Verwendung durch oder in Verbindung mit dem Anweisungsausführungssystem, dem Gerät oder der Vorrichtung umfassen, speichern, kommunizieren, ausbreiten oder transportieren kann. Das computerverwendbare Medium kann ein ausgebreitetes Datensignal mit dem darin verkörperten computerverwendbaren Programmcode umfassen, entweder im Basisband oder als Teil einer Trägerwelle. Der computerverwendbare Programmcode kann unter Verwendung irgendeines geeigneten Mediums gesendet werden, einschließlich, aber nicht beschränkt auf drahtlose, schnurgebundene, optische Glasfaserkabel, RF etc.
-
Ein Computerprogrammcode zum Ausführen von Operationen der vorliegenden Offenbarungen können in irgendeiner Kombination aus einer oder mehreren Programmiersprachen geschrieben sein, umfassend eine objektorientierte Programmiersprache, wie beispielsweise Java, Smalltalk, C++ oder Ähnliches und herkömmliche prozedurale Programmiersprachen, wie beispielsweise die Programmiersprache „C“ oder ähnliche Programmiersprachen. Der Programmcode kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernten Computer oder vollständig auf dem entfernten Computer oder Server ausgeführt werden. In dem letzteren Fall kann der entfernte Computer mit dem Computer des Benutzers durch irgendeine Art von Netzwerk verbunden sein, einschließlich eines lokalen Netzwerks (LAN) oder eines Weitbereich-Netzwerks (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (z. B. über das Internet unter Verwendung eines Internetdi enstanbi eters).
-
Die vorliegende Offenbarung wird unter Bezugnahme auf Flussdiagramm-Darstellungen und/oder Blockdiagramme von Verfahren, Vorrichtungen (Systemen) und Computerprogramm-Produkten gemäß Ausführungsbeispielen der Offenbarung beschrieben. Es versteht sich, dass jeder Block der Flussdiagramm-Darstellungen und/oder Blockdiagramme und Kombinationen von Blöcken in den Flussdiagramm-Darstellungen und/oder Blockdiagrammen durch Computerprogramm-Anweisungen implementiert werden kann. Diese Computerprogramm-Anweisungen können an einen Prozessor eines Allzweckcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung zur Erzeugung einer Maschine bereitgestellt werden, derart, dass die Anweisungen, die via den Prozessor des Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, Mittel zum Implementieren der in dem Flussdiagramm und/oder Blockdiagrammblock oder -blöcken angegebenen Funktionen/Handlungen schaffen.
-
Diese Computerprogramm-Anweisungen können auch in einem computerlesbaren Medium gespeichert werden, das einen Computer oder eine andere programmierbare Datenverarbeitungsvorrichtung anweisen kann, in einer bestimmten Weise zu funktionieren, derart, dass die in dem computerlesbaren Medium gespeicherten Anweisungen einen Herstellungsgegenstand erzeugen, der Anweisungsmittel umfasst, die die in dem Flussdiagramm und/oder Blockdiagrammblock oder -blöcken angegebene Funktion/Handlung implementieren.
-
Die Computerprogramm-Anweisungen können auch auf einen Computer oder eine andere programmierbare Datenverarbeitungsvorrichtung geladen werden, um zu verursachen, dass eine Reihe von Betriebsschritten, die auf dem Computer oder einer anderen programmierbaren Vorrichtung ausgeführt werden, einen computerimplementierten Prozess erzeugen, derart, dass die Anweisungen, die auf dem Computer oder einer anderen programmierbaren Vorrichtung ausgeführt werden, Prozesse zur Implementierung der in dem Flussdiagramm und/oder Blockdiagrammblock oder -blöcken angegebenen Funktionen/Handlungen bereitstellen.
-
Das Flussdiagramm und die Blockdiagramme in den Figuren veranschaulichen die Architektur, Funktionalität und Operation möglicher Implementierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsbeispielen der vorliegenden Offenbarung. In dieser Hinsicht kann jeder Block in dem Flussdiagramm oder den Blockdiagrammen ein Modul, ein Segment oder einen Code-Abschnitt darstellen, der eine oder mehrere ausführbare Anweisungen zur Implementierung der angegebenen logischen Funktion(en) umfasst. Auch ist zu beachten, dass bei einigen alternativen Implementierungen die Funktionen, die in jedem Block angegeben sind, möglicherweise nicht in der Reihenfolge auftreten, die in den Figuren angegeben ist. Zum Beispiel können zwei nacheinander gezeigte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden oder die Blöcke können manchmal in der umgekehrten Reihenfolge ausgeführt werden, abhängig von der beteiligten Funktionalität. Es ist auch zu beachten, dass jeder Block der Blockdiagramme und/oder der Flussdiagrammdarstellung sowie Kombinationen von Blöcken in den Blockdiagrammen und/oder der Flussdiagrammdarstellung durch Spezialzweck-Hardware-basierte Systeme implementiert werden kann, die die spezifizierten Funktionen oder Handlungen oder Kombinationen von Spezialzweck-Hardware und Computeranweisungen ausführen.
-
Die hierin verwendete Terminologie ist nur zum Zweck des Beschreibens bestimmter Ausführungsbeispiele und soll nicht einschränkend für die Offenbarung sein. Nach hiesigem Gebrauch sollen die Singularformen „ein, eine“ und „der, die, das“ auch Pluralformen umfassen, sofern aus dem Zusammenhang nicht eindeutig etwas anderes hervorgeht. Es versteht sich ferner, dass die Begriffe „umfasst“ und/oder „umfassend“ bei Verwendung in dieser Beschreibung das Vorhandensein von angegebenen Merkmalen, Ganzzahlen, Schritten, Operationen, Elementen und/oder Komponenten angeben, aber das Vorhandensein oder Hinzufügen von einem oder mehreren anderen Merkmalen, Ganzzahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen derselben nicht ausschließen.
-
Ausführungsbeispiele können als ein Computerprozess, ein Rechensystem oder als Herstellungsgegenstand, wie z. B. ein Computerprogrammprodukt aus computerlesbaren Medien, implementiert werden. Das Computerprogrammprodukt kann ein Computerspeichermedium sein, das von einem Computersystem gelesen werden kann und Computerprogramm-Anweisungen zur Ausführung eines Computerprozesses kodiert.
-
Die entsprechenden Strukturen, Material, Handlungen und Äquivalente aller Mittel oder Schritte plus Funktionselemente in den nachfolgenden Ansprüchen sollen irgendeine Struktur, irgendein Material oder irgendeine Handlung zur Ausführung der Funktion in Kombination mit anderen beanspruchten Elementen umfassen. Die Beschreibung der vorliegenden Offenbarung wurde zu Illustrations- und Beschreibungszwecken vorgelegt, soll aber weder erschöpfend noch auf die Offenbarung in der offenbarten Form beschränkt sein. Viele Modifikationen und Variationen sind für den Fachmann offensichtlich, ohne von dem Schutzbereich und Wesen der Offenbarung abzuweichen. Das Ausführungsbeispiel wurde ausgewählt und beschrieben, um die Grundsätze der Offenbarung und die praktische Anwendung bestmöglich zu beschrieben, und um es anderen Fachleuten zu ermöglichen, die Offenbarung für Ausführungsbeispiele mit verschiedenen Modifikationen, wie sie für die bestimmte, in Betracht gezogene Verwendung geeignet sind, zu verstehen.
-
BEISPIELE
-
Beispiele gemäß verschiedenen Ausführungsbeispielen können Folgendes umfassen.
-
Beispiel 1 kann eine Vorrichtung für computergestütztes oder autonomes Fahren (CA/AD) sein, umfassend: eine Systemsteuerung, die in einem ersten CA/AD-Fahrzeug angeordnet ist, um eine kollaborative dreidimensionale (3-D) Karte einer Umgebung um das erste CA/AD-Fahrzeug zu verwalten, wobei die Systemsteuerung ausgebildet ist, von einem anderen CA/AD-Fahrzeug in der Nähe des ersten CA/AD-Fahrzeugs eine Angabe zumindest eines Abschnitts einer anderen 3-D-Karte einer anderen Umgebung um sowohl das erste CA/AD-Fahrzeug als auch das andere CA/AD-Fahrzeug zu empfangen; und die empfangene Angabe des zumindest einen Abschnitt der 3-D-Karte in der Nähe des ersten CA/AD-Fahrzeugs und des anderen CA/AD-Fahrzeugs in die durch die Systemsteuerung verwaltete 3-D-Karte der Umgebung des ersten CA/AD-Fahrzeugs aufzunehmen.
-
Beispiel 2 kann die Vorrichtung von Beispiel 1 umfassen, wobei die 3-D-Karte eine Angabe eines oder mehrere Objekte umfasst, wobei ein Objekt eine Klassifizierung umfasst, die aus einer von einer Mehrzahl von Klassifizierungen ausgewählt ist, und wobei eines des einen oder der mehreren Objekte durch das andere CA/AD-Fahrzeug detektiert wird und durch das erste CA/AD-Fahrzeug nicht detektierbar ist.
-
Beispiel 3 kann die Vorrichtung von Beispiel 1 umfassen, wobei die Systemsteuerung ferner ausgebildet ist, von Sensoren innerhalb des ersten CA/AD-Fahrzeugs Beobachtungen der Umgebung um das erste AV zu empfangen und basierend auf den empfangenen Beobachtungen Angaben zumindest eines Abschnitts der 3-D-Karte der Umgebung um das erste AV (AV, Autonomous Vehicle; autonomes Fahrzeug) zu bestimmen; und wobei die Vorrichtung ferner ein Kommunikationsteilsystem umfasst, das in dem ersten AV angeordnet ist und mit der Systemsteuerung gekoppelt ist, um die bestimmten Angaben des zumindest einen Abschnitts der 3-D-Karte der Umgebung des ersten CA/AD-Fahrzeugs an das andere CA/AD-Fahrzeug zu senden.
-
Beispiel 4 kann die Vorrichtung von Beispiel 1 umfassen, wobei die Systemsteuerung ferner ausgebildet ist, die empfangene Angabe des zumindest einen Abschnitts der 3-D-Karte der anderen Umgebung um sowohl das erste CA/AD-Fahrzeug als auch das andere CA/AD-Fahrzeug zu bewerten, um zu bestimmen, ob die empfangene Angabe in die 3-D-Karte der Umgebung um das erste CA/AD-Fahrzeug aufgenommen werden soll.
-
Beispiel 5 kann die Vorrichtung von Beispiel 4 umfassen, wobei das Bewerten der empfangenen Angabe zumindest des Abschnitts der 3-D-Karte der anderen Umgebung um sowohl das erste CA/AD-Fahrzeug als auch das andere CA/AD-Fahrzeug ferner umfasst: Bewerten eines Stimmgewichts, das der empfangenen Angabe des zumindest einen Abschnitts der 3-D-Karte der anderen Umgebung um sowohl das erste CA/AD-Fahrzeug als auch das andere CA/AD-Fahrzeug zugewiesen werden soll; und basierend auf der Bewertung, Bestimmen, wie viel des Abschnitts der empfangenen Angabe des zumindest einen Abschnitts der 3-D-Karte der anderen Umgebung um sowohl das erste CA/AD-Fahrzeug als auch das andere CA/AD-Fahrzeug in die 3-D-Karte der Umgebung um das erste CA/AD-Fahrzeug aufgenommen werden soll.
-
Beispiel 6 kann die Vorrichtung von Beispiel 5 umfassen, wobei das Bewerten eines zuzuweisenden Stimmgewichts ein Bewerten eines Stimmgewichts einer Angabe eines Objekts mit einer Klassifizierung in der empfangenen Angabe des zumindest einen Abschnitts der 3-D-Karte der anderen Umgebung um das erste CA/AD-Fahrzeug und das andere CA/AD-Fahrzeug umfasst.
-
Beispiel 7 kann die Vorrichtung von Beispiel 5 umfassen, wobei das Bewerten des zuzuweisenden Stimmgewichts ein Bewerten des zuzuweisenden Stimmgewichts basierend auf einem neuronalen Netzwerk oder einer Support-Vektor-Maschine (SVM) umfasst.
-
Beispiel 8 kann die Vorrichtung von Beispiel 5 umfassen, wobei das Stimmgewicht durch eine Detektionswahrscheinlichkeit bestimmt wird.
-
Beispiel 9 kann die Vorrichtung von Beispiel 1 umfassen, wobei die Angabe des zumindest einen Abschnitts der 3-D-Karte der Umgebung um sowohl das erste CA/AD-Fahrzeug als auch das andere CA/AD-Fahrzeug eine Angabe einer visuellen Darstellung umfasst.
-
Beispiel 10 kann die Vorrichtung von Beispiel 9 umfassen, wobei die Angabe der visuellen Darstellung ein Octree oder eine Teilmenge eines Octrees umfasst.
-
Beispiel 11 kann die Vorrichtung von Beispiel 10 umfassen, wobei das Octree oder die Teilmenge des Octrees einen Zeitstempel oder einen Referenzrahmen umfasst.
-
Beispiel 12 kann ein Verfahren umfassen zum Verwalten einer kollaborativen 3-D-Karte einer Umgebung eines ersten CA/AD-Fahrzeugs, umfassend: Empfangen, von einem anderen CA/AD-Fahrzeug in der Nähe des ersten CA/AD-Fahrzeugs, einer Angabe zumindest eines Abschnitts einer anderen 3-D-Karte einer anderen Umgebung um sowohl das erste CA/AD-Fahrzeug als auch das andere CA/AD-Fahrzeug; und Aufnehmen der empfangenen Angabe des zumindest einen Abschnitts der 3-D-Karte in der Nähe des ersten CA/AD-Fahrzeugs und des anderen CA/AD-Fahrzeugs in die 3-D-Karte der Umgebung des ersten CA/AD-Fahrzeugs.
-
Beispiel 13 kann das Verfahren von Beispiel 12 umfassen, wobei die 3-D-Karte eine Angabe eines oder mehrerer Objekte umfasst, wobei ein Objekt eine Klassifizierung umfasst, die aus einer von einer Mehrzahl von Klassifizierungen ausgewählt ist, und wobei eines des einen oder der mehreren Objekte durch das andere CA/AD-Fahrzeug detektiert wird und durch das erste CA/AD-Fahrzeug nicht detektierbar ist.
-
Beispiel 14 kann das Verfahren von Beispiel 13 umfassen, wobei die Mehrzahl von Klassifizierungen ausgebildet ist, Anomalien zu detektieren, gegnerische Angriffe zu bekämpfen oder eine Trainingssatzgröße zu erweitern.
-
Beispiel 15 kann das Verfahren von Beispiel 12 umfassen, ferner umfassend: Empfangen, von Sensoren innerhalb des ersten CA/AD-Fahrzeugs, von Beobachtungen der Umgebung um das erste CA/AD und basierend auf den empfangenen Beobachtungen ein Bestimmen von Angaben zumindest eines Abschnitts der 3-D-Karte der Umgebung um das erste AV; und Senden, durch ein in dem ersten AV angeordnetes Kommunikationsteilsystem, der bestimmten Angaben des zumindest einen Abschnitts der 3-D-Karte der Umgebung des ersten CA/AD-Fahrzeugs an das andere CA/AD-Fahrzeug.
-
Beispiel 16 kann das Verfahren von Beispiel 15 umfassen, wobei das Empfangen und das Senden via eine CA/AD-Fahrzeug-zu-CA/AD-Fahrzeug-Kommunikation erfolgen.
-
Beispiel 17 kann das Verfahren von Beispiel 12 umfassen, ferner umfassend ein Bewerten der empfangenen Angabe des zumindest einen Abschnitts der 3-D-Karte der anderen Umgebung um sowohl das erste CA/AD-Fahrzeug als auch das andere CA/AD-Fahrzeug, um zu bestimmen, ob die empfangene Angabe in die 3-D-Karte der Umgebung um das erste CA/AD-Fahrzeug aufgenommen werden soll.
-
Beispiel 18 kann das Verfahren von Beispiel 17 umfassen, wobei das Bewerten der empfangenen Angabe des zumindest einen Abschnitts der 3-D-Karte der anderen Umgebung um sowohl das erste CA/AD-Fahrzeug als auch das andere CA/AD-Fahrzeug ferner umfasst: Bewerten eines Stimmgewichts, das der empfangenen Angabe des zumindest einen Abschnitts der 3-D-Karte der anderen Umgebung um sowohl das erste CA/AD-Fahrzeug als auch das andere CA/AD-Fahrzeug zugewiesen werden soll; und basierend auf dem Bewerten, Bestimmen, ob wie viel des Abschnitts der empfangenen Angabe des zumindest einen Abschnitts der 3-D-Karte der anderen Umgebung um sowohl das erste CA/AD-Fahrzeug als auch das andere CA/AD-Fahrzeug in die 3-D-Karte der Umgebung um das erste CA/AD-Fahrzeug aufgenommen werden soll.
-
Beispiel 19 kann das Verfahren von Beispiel 18 umfassen, wobei das Bewerten eines zuzuweisenden Stimmgewichts ein Bewerten eines Stimmgewichts einer Angabe eines Objekts mit einer Klassifizierung in der empfangenen Angabe des zumindest einen Abschnitts der 3-D-Karte der anderen Umgebung um sowohl das erste CA/AD-Fahrzeug als auch das andere CA/AD-Fahrzeug umfasst.
-
Beispiel 20 kann das Verfahren von Beispiel 18 umfassen, wobei das Bewerten des zuzuweisenden Stimmgewichts ein Bewerten des zuzuweisenden Stimmgewichts basierend auf einem neuronalen Netzwerk oder einer Support-Vektor-Maschine (SVM) umfasst.
-
Beispiel 21 umfasst das Verfahren von Beispiel 18 umfassen, wobei das Stimmgewicht durch eine Detektionswahrscheinlichkeit oder ein einem Anbieter, der einen Klassifikator liefert, entgegengebrachtes Vertrauen bestimmt wird.
-
Beispiel 22 kann ein oder mehrere computerlesbare Medien sein, umfassend Anweisungen, die verursachen, dass eine Rechenvorrichtung in einem CA/AD-Fahrzeug, ansprechend auf die Ausführung der Anweisungen durch die Rechenvorrichtung: von einem anderen CA/AD-Fahrzeug in der Nähe des ersten CA/AD-Fahrzeugs eine Angabe zumindest eines Abschnitts einer anderen 3-D-Karte einer anderen Umgebung um sowohl das erste CA/AD-Fahrzeug als auch das andere CA/AD-Fahrzeug empfängt, und den zumindest einen Abschnitt der 3-D-Karte in der Nähe des ersten CA/AD-Fahrzeugs und des anderen CA/AD-Fahrzeugs in die 3-D-Karte der Umgebung des ersten CA/AD-Fahrzeugs aufnimmt.
-
Beispiel 23 kann die eine oder die mehreren computerlesbaren Medien von Beispiel 22 umfassen, wobei die 3-D-Karte eine Angabe eines oder mehrerer Objekte umfasst, wobei ein Objekt eine Klassifizierung umfasst, die aus einer von einer Mehrzahl von Klassifizierungen ausgewählt ist, und wobei eines des einen oder der mehreren Objekte durch das andere CA/AD-Fahrzeug detektiert wird und durch das erste CA/AD-Fahrzeug nicht detektierbar ist.
-
Beispiel 24 kann das eine oder die mehreren computerlesbaren Medien von Beispiel 22 umfassen, wobei die Anweisungen ferner ausgebildet sind: von Sensoren innerhalb des ersten CA/AD-Fahrzeugs Beobachtungen der Umgebung um das erste AV zu empfangen und basierend auf den empfangenen Beobachtungen bestimmte Angaben zumindest eines Abschnitts der 3-D-Karte der Umgebung um das erste AV zu bestimmen; die empfangene Angabe des zumindest einen Abschnitts der 3-D-Karte der anderen Umgebung um sowohl das erste CA/AD-Fahrzeug als auch das andere CA/AD-Fahrzeug zu bewerten, um zu bestimmen, ob die empfangene Angabe in die 3-D-Karte der Umgebung um das erste CA/AD-Fahrzeug aufgenommen werden soll; und durch ein in dem ersten AV angeordnetes Kommunikationsteilsystem, die bestimmten Angaben des zumindest einen Abschnitts der 3-D-Karte der Umgebung des ersten CA/AD-Fahrzeugs an das andere CA/AD-Fahrzeug zu senden.
-
Beispiel 25 kann die eine oder die mehreren computerlesbaren Medien von Beispiel 24 umfassen, wobei das Bewerten der empfangenen Angabe zumindest des Abschnitts der 3-D-Karte der anderen Umgebung um sowohl das erste CA/AD-Fahrzeug als auch das andere CA/AD-Fahrzeug ferner umfasst: Bewerten eines Stimmgewichts, das der empfangenen Angabe des zumindest einen Abschnitts der 3-D-Karte der anderen Umgebung um sowohl das erste CA/AD-Fahrzeug als auch das andere CA/AD-Fahrzeug zugewiesen werden soll; und basierend auf der Bewertung, Bestimmen, wie viel des Abschnitts der empfangenen Angabe des zumindest einen Abschnitts der 3-D-Karte der anderen Umgebung um sowohl das erste CA/AD-Fahrzeug als auch das andere CA/AD-Fahrzeug in die 3-D-Karte der Umgebung um das erste CA/AD-Fahrzeug aufgenommen werden soll.