-
EINLEITUNG
-
Die vorliegende Offenbarung betrifft die digitale Bildverarbeitung und insbesondere ein Fahrzeugbildsegmentierungssystem.
-
Moderne Fahrzeuge erheben und verarbeiten eine ständig zunehmende Menge an Daten. Andererseits haben Fahrzeuge begrenzte Blickpunkte ihrer Umgebungen. Die gemeinsame Nutzung von Informationen zwischen Fahrzeugen und/oder anderen Systemen wie etwa Informationsservern der Infrastruktur oder des städtischen Transports kann ihr Verständnis der Umgebungen verbessern und die Leistungsfähigkeit derartiger Systeme erhöhen. Es gib zwei Hauptvorgehensweisen, um die gemeinsame Nutzung von Informationen zu ermöglichen. Die erste Vorgehensweise, die als „die direkte Vorgehensweise“ bezeichnet wird, umfasst ein Fahrzeug/eine Infrastruktur oder eine andere Quelle von Informationen, das bzw. die die Informationen an den interessierten Teilnehmer, d. h. an ein anderes Fahrzeug, übermittelt. Diese Vorgehensweise wird üblicherweise als V2V oder V21 bezeichnet. Die zweite Vorgehensweise, die als die „indirekte Vorgehensweise“ bezeichnet wird, umfasst das Erheben der Informationen in einem Cloud- oder Edge-Computersystem, wo sie verarbeitet werden, bevor sie an die interessierten Fahrzeuge verteilt werden. Diese Vorgehensweise wird üblicherweise als V2N bezeichnet, da die Informationen von dem Fahrzeug an das Netz geliefert werden. Da die gemeinsam genutzten Informationen zum Steuern und Koordinieren des Fahrzeugbetriebs verwendet werden, müssen die Informationen in beiden Fällen schnell verarbeitet werden und müssen die verarbeiteten Ergebnisse mit niedriger Latenzzeit gemeinsam genutzt und ausgetauscht werden.
-
Üblicherweise enthalten die Informationen, die unter Verwendung von V2V, V21 und/oder V2N ausgetauscht werden, Bilddaten. Eine Vorgehensweise zur Verarbeitung von Bilddaten für die Verwendung der Fahrzeugsteuerung ist die Implementierung von Bildsegmentierungssystemen in dem Fahrzeug. Die Bildsegmentierung ist der Prozess des Erzeugens eines hochauflösenden Rohbilds zu einem kleinvolumigen segmentierten Bild. Das Rohbild enthält verschiedene Typen von Zielobjekten (z. B. Fußgänger, Fahrzeuge, Straßen usw.), die in der Umgebung des Fahrzeugs vorhanden sind. Das resultierende segmentierte Bild enthält ein oder mehrere Segmente, die zusammen das Rohbild, das die Zielobjekte enthält, repräsentieren. Dementsprechend kann das Computersystem des Fahrzeugs die Begrenzungen von den segmentierten Objekten identifizieren, um die in den Rohbilddaten enthaltenen Zielobjekte zu bestimmen, und kann es auf der Grundlage der Orte und/oder der Typen der identifizierten Zielobjekte Fahrentscheidungen treffen.
-
ZUSAMMENFASSUNG
-
Gemäß einer nicht einschränkenden Ausführungsform umfasst ein Fahrzeugkommunikations- und Fahrzeugsteuersystem ein erstes Fahrzeug in Signalkommunikation mit einem fernen Computersystem und/oder mit einem zweiten Fahrzeug. Das erste Fahrzeug enthält einen Sensor, der dafür konfiguriert ist, ein Rohbild, das ein erstes Bildvolumen aufweist und wenigstens ein Zielobjekt enthält, zu erfassen. In dem ersten Fahrzeug ist ein Bildcodierer enthalten und dieser ist dafür konfiguriert, das Rohbild in ein maskiertes Bild umzusetzen, das ein zweites Bildvolumen, das kleiner als das erste Bildvolumen ist, aufweist. In dem fernen Computersystem und/oder in dem zweiten Fahrzeug ist eine Segmentierungseinheit enthalten. Die Segmentierungseinheit ist dafür konfiguriert, aus dem maskierten Bild das wenigstens eine Zielobjekt zu bestimmen, ein maskiertes segmentiertes Bild zu erzeugen, das eine dünn besetzte Segmentierung des wenigstens einen Zielobjekts enthält, und die dünn besetzte Segmentierung des wenigstens einen Zielobjekts in wenigstens ein wiedergewonnenes segmentiertes Zielobjekt, das das wenigstens eine Zielobjekt angibt, umzusetzen.
-
Ferner enthält das System ein Merkmal, in dem die Segmentierungseinheit ein neuronales Faltungsnetz (CNN) und einen Bilddecodierer umfasst. Das CNN ist dafür konfiguriert, die dünn besetzte Segmentierung des wenigstens einen Zielobjekts durch Anwenden eines Etiketts auf Pixel, die dem wenigstens einen Zielobjekt zugeordnet sind, und Ausschließen von Pixeln, die dem wenigstens einen Zielobjekt nicht zugeordnet sind, zu erzeugen. Der Bilddecodierer ist dafür konfiguriert, das wenigstens eine wiedergewonnene segmentierte Zielobjekt auf der Grundlage des auf die Pixel angewendeten Etiketts zu erzeugen.
-
Ferner enthält das System ein Merkmal, in dem der Bildcodierer das maskierte Bild gemäß einer Zufallspixelmaske erzeugt und der Bilddecodierer das wiedergewonnene segmentierte Zielobjekt in Übereinstimmung mit der Zufallspixelmaske erzeugt.
-
Ferner enthält das System ein Merkmal, in dem das wenigstens eine wiedergewonnene segmentierte Zielobjekt eine Approximation des wenigstens einen in dem Rohbild enthaltenen Zielobjekts ist.
-
Ferner enthält das System ein Merkmal, in dem das wenigstens eine Zielobjekt einen ersten Typ eines Zielobjekts und einen zweiten Typ eines Zielobjekts, der von dem ersten Typ eines Zielobjekts verschieden ist, enthält und in dem das CNN auf Pixel, die dem ersten Typ eines Zielobjekts zugeordnet sind, ein erstes Etikett anwendet und auf Pixel, die dem zweiten Typ eines Zielobjekts zugeordnet sind, ein zweites Etikett, das von dem ersten Etikett verschieden ist, anwendet.
-
Ferner enthält das System ein Merkmal, in dem der Bilddecodierer das Decodieren der Pixel, denen das erste Etikett zugeordnet ist, gegenüber dem von Pixeln, denen das andere, zweite Etikett zugeordnet ist, priorisiert.
-
Ferner enthält das System ein Merkmal, in dem der Bilddecodierer auf die dünn besetzte Segmentierung des wenigstens einen Zielobjekts einen Matrixvervollständigungsalgorithmus anwendet, um das wiedergewonnene segmentierte Zielobjekt zu erzeugen.
-
Gemäß einer anderen nicht einschränkenden Ausführungsform umfasst ein Fernbildsegmentierungssystem einen Bildcodierer, ein neuronales Faltungsnetz (CNN) und einen Bilddecodierer. Der Bildcodierer ist in einem Fahrzeug enthalten und dafür konfiguriert, ein Rohbild zu empfangen, das ein erstes Bildvolumen aufweist und wenigstens ein Zielobjekt enthält, und ein maskiertes Bild, das ein zweites Bildvolumen, das kleiner als das erste Bildvolumen ist, aufweist, zu erzeugen. Das CNN befindet sich fern von dem Bildcodierer. Das CNN ist dafür konfiguriert, aus dem maskierten Bild das wenigstens eine Zielobjekt zu bestimmen und ein maskiertes segmentiertes Bild, das eine dünn besetzte Segmentierung des wenigstens einen Zielobjekts enthält, zu erzeugen. Der Bilddecodierer befindet sich fern von dem Bildcodierer und ist dafür konfiguriert, die dünn besetzte Segmentierung des wenigstens einen Zielobjekts in wenigstens ein wiedergewonnenes segmentiertes Zielobjekt, das das wenigstens eine Zielobjekt angibt, umzusetzen.
-
Ferner enthält das Fernbildsegmentierungssystem ein Merkmal, in dem das wenigstens eine wiedergewonnene segmentierte Zielobjekt eine Approximation des wenigstens einen in dem Rohbild enthaltenen Zielobjekts ist.
-
Ferner enthält das Fernbildsegmentierungssystem ein Merkmal, in dem der Bildcodierer das maskierte Bild in Übereinstimmung mit einer Zufallsmaske erzeugt und in dem der Bilddecodierer das wenigstens eine wiedergewonnene segmentierte Zielobjekt in Übereinstimmung mit der Zufallsmaske erzeugt.
-
Ferner enthält das Fernbildsegmentierungssystem ein Merkmal, in dem das CNN auf Pixel, die in dem maskierten Bild enthalten sind, ein Etikett anwendet, um das maskierte segmentierte Bild zu erzeugen, und in dem der Bilddecodierer das wenigstens eine wiedergewonnene segmentierte Zielobjekt auf der Grundlage des auf die Pixel angewendeten Etiketts erzeugt.
-
Ferner enthält das Fernbildsegmentierungssystem ein Merkmal, in dem das wenigstens eine Zielobjekt einen ersten Typ eines Zielobjekts und einen zweiten Typ eines Zielobjekts, der von dem ersten Typ des Zielobjekts verschieden ist, enthält, wobei das CNN auf die Pixel, die dem ersten Typ eines Zielobjekts zugeordnet sind, ein erstes Etikett anwendet und auf die Pixel, die dem zweiten Typ eines Zielobjekts zugeordnet sind, ein zweites Etikett, das von dem ersten Etikett verschieden ist, anwendet.
-
Ferner enthält das Fernbildsegmentierungssystem ein Merkmal, in dem der Bilddecodierer das Decodieren der Pixel, denen das erste Etikett zugeordnet ist, gegenüber dem von Pixeln, denen das andere, zweite Etikett zugeordnet ist, priorisiert.
-
Ferner enthält das Fernbildsegmentierungssystem ein Merkmal, in dem der Bilddecodierer auf die dünn besetzte Segmentierung des wenigstens einen Zielobjekts einen Matrixvervollständigungsalgorithmus anwendet, um das wenigstens eine wiedergewonnene segmentierte Zielobjekt zu erzeugen.
-
Gemäß einer nochmals anderen nicht einschränkenden Ausführungsform wird ein Verfahren zum Austauschen von Daten mit einem Fahrzeug geschaffen. Das Verfahren umfasst das Erfassen eines Rohbilds, das ein erstes Bildvolumen aufweist und wenigstens ein Zielobjekt enthält, über einen in dem Fahrzeug enthaltenen Sensor und das Erzeugen eines maskierten Bilds, das ein zweites Bildvolumen, das kleiner als das erste Bildvolumen ist, aufweist, über einen in dem Fahrzeug enthaltenen Bildcodierer. Ferner umfasst das Verfahren das Liefern des maskierten Bilds an ein neuronales Faltungsnetz (CNN), das sich fern von dem Fahrzeug befindet, das Bestimmen des wenigstens einen Zielobjekts aus dem maskierten Bild und das Erzeugen eines maskierten segmentierten Bilds, das eine dünn besetzte Segmentierung des wenigstens einen Zielobjekts enthält, über das CNN. Ferner umfasst das Verfahren das Umsetzen der dünn besetzten Segmentierung des wenigstens einen Zielobjekts in wenigstens ein wiedergewonnenes segmentiertes Zielobjekt, das das wenigstens eine Zielobjekt angibt, über einen Bilddecodierer, der sich fern von dem Fahrzeug befindet.
-
Ferner enthält das Verfahren ein Merkmal, in dem das wenigstens eine wiedergewonnene segmentierte Zielobjekt eine Approximation des wenigstens einen Zielobjekts auf der Grundlage der Rohdaten ist.
-
Ferner umfasst das Verfahren das Erzeugen des maskierten Bilds in Übereinstimmung mit einer Zufallsmaske und das Erzeugen des wenigstens einen wiedergewonnenen segmentierten Zielobjekts in Übereinstimmung mit der Zufallsmaske.
-
Ferner umfasst das Verfahren das Anwenden eines Etiketts auf Pixel, die in dem maskierten Bild enthalten sind, um das maskierte segmentierte Bild zu erzeugen, und das Erzeugen des wenigstens einen wiedergewonnenen segmentierten Zielobjekt auf der Grundlage des auf die Pixel angewendeten Etiketts über den Bilddecodierer über das CNN.
-
Ferner umfasst das Verfahren das Anwenden eines ersten Etiketts auf die einem ersten Typ eines Zielobjekts zugeordneten Pixel und das Anwenden eines anderen, zweiten Etiketts auf die einem zweiten Typ eines Zielobjekts, der von dem ersten Typ eines Zielobjekts verschieden ist, zugeordneten Pixel über das CNN.
-
Ferner umfasst das Verfahren das Priorisieren des Decodierens der Pixel, denen das erste Etikett zugeordnet ist, gegenüber dem von Pixeln, denen das andere, zweite Etikett zugeordnet ist.
-
Die obigen Merkmale und Vorteile und weitere Merkmale und Vorteile der Offenbarung gehen leicht aus der folgenden ausführlichen Beschreibung hervor, wenn sie zusammen mit den beigefügten Zeichnungen genommen wird.
-
Figurenliste
-
Weitere Merkmale, Vorteile und Einzelheiten erscheinen nur beispielhaft in der folgenden ausführlichen Beschreibung, wobei sich die ausführliche Beschreibung auf die Zeichnungen bezieht; es zeigen:
- 1 eine schematische Darstellung eines Fahrzeugkommunikations- und Fahrzeugsteuersystems gemäß einer oder mehreren Ausführungsformen;
- 2 ein Fernbildsegmentierungssystem gemäß einer oder mehreren Ausführungsformen;
- 3 einen Prozess zum Erzeugen eines wiedergewonnenen segmentierten Bilds auf der Grundlage von Rohbilddaten, die durch ein Fahrzeug erfasst werden, gemäß einer oder mehreren Ausführungsformen; und
- 4 einen Ablaufplan eines Verfahrens zum Austauschen von durch ein Fahrzeug erfassten Daten gemäß einer oder mehreren Ausführungsformen.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die folgende Beschreibung ist dem Wesen nach lediglich beispielhaft und soll die vorliegende Offenbarung, ihre Anwendung oder Verwendungen nicht einschränken. Selbstverständlich bezeichnen einander entsprechende Bezugszeichen überall in den Zeichnungen gleiche oder einander entsprechende Teile und Merkmale.
-
Wie hier beschrieben ist, kann das Implementieren der Bildsegmentierung in einem Fahrzeug unterschiedliche Typen von Objekten (Fahrzeugen, Fußgängern usw.) in erfassten Rohbilddaten zu unterscheiden ermöglichen. Allerdings bietet die Erfassung, Verarbeitung und Analyse von Bilddaten, die die Umgebung (z. B. aktuelle Verkehrsbedingungen), die das Fahrzeug umgibt, repräsentieren, Herausforderungen hinsichtlich der Verarbeitung und des Austauschs derartig großer Mengen von Daten und dies auf schnelle, leistungseffiziente und kostengünstige Weise vorzunehmen. Insbesondere erfordert die gemeinsame Nutzung der Rohdaten, die durch die Sensoren des Fahrzeugs erfasst werden, hohe Kompressionsraten. Somit führt die Ausführung der Bildcodierung und Bilddecodierung unter Verwendung des lokalen Computersystems des Fahrzeugs zu wesentlichem Verlust an Bildqualität, zu verringerter Bilddetektierungsfähigkeit und zu erhöhter Latenzzeit.
-
Verschiedene hier beschriebene nicht einschränkende Ausführungsformen führen ein Fahrzeugbild-Fernsegmentierungssystem ein, das verringerte Computerleistung erfordert, um verringerte Datenaustauschraten und Latenzzeitmetriken zu erzielen, die notwendig sind, um an Bilddaten, die die Umgebung eines Fahrzeugs repräsentieren, eine Bildsegmentierung auszuführen. Das Fahrzeugbild-Fernsegmentierungssystem enthält einen Bildcodierer, ein leichtes neuronales Faltungsnetz (CNN) und einen Bilddecodierer. Der Bildcodierer wird lokal in dem Fahrzeugcomputersystem genutzt. Allerdings werden das CNN und der Bilddecodierer in einem fern befindlichen Computersystem wie etwa z. B. in einem Cloud-Computersystem und/oder in einem fern befindlichen Fahrzeug genutzt.
-
Das Fahrzeug kann ein ursprünglich erfasstes hochauflösendes Bild (hier als ein „Rohbild“ bezeichnet), das ein oder mehrere Zielobjekte enthält, codieren. Das resultierende codierte Bild ist ein kleinvolumiges maskiertes Bild, das daraufhin von dem Fahrzeug heruntergeladen und an das fern befindliche CNN geliefert wird. Ein kleinvolumiges Bild, wie es hier beschrieben ist, bezieht sich auf ein Bild, das im Vergleich zu der Gesamtzahl in dem Rohbild enthaltener Pixel einen Teil oder einen verringerten „Satz“ von Pixeln enthält. Der verringerte Satz von Pixeln wird gemäß einer randomisierten Pixelmaske ausgewählt, die in dem Codierer programmiert ist und die auf das Rohbild angewendet wird, um das maskierte Bild zu erzeugen.
-
Das CNN identifiziert aus dem maskierten Bild ein oder mehrere Zielobjekte und erzeugt eine resultierende maskierte Bildsegmentierung. Die maskierte Bildsegmentierung enthält ein oder mehrere dünn besetzte Segmentierungen der Zielobjekte. Die maskierte Bildsegmentierung wird an den Bilddecodierer geliefert, der auf die dünn besetzten Segmentierungen einen Matrixvervollständigungsalgorithmus anwendet, um ein segmentiertes Bild, das ein oder mehrere in dem Rohbild enthaltene Zielobjekte repräsentiert, wiederzugewinnen. Das niedrige Volumen des codierten maskierten Bilds erfordert im Vergleich zu der Verarbeitungsleistung, die zum Verarbeiten des Rohbilds notwendig ist, nicht nur eine niedrige Verarbeitungsleistung, sondern ermöglicht außerdem das Austauschen der maskierten Bilddaten mit dem fern befindlichen Computersystem mit niedriger Latenzzeit.
-
1 stellt schematisch eine Betriebsumgebung dar, die ein Fahrzeugkommunikations- und Fahrzeugsteuersystem 10 für ein oder mehrere Fahrzeuge 12a ... 12n (zusammen als Kraftfahrzeuge 12a-12n bezeichnet) umfasst. Das Kommunikations- und Steuersystem 10 für die Fahrzeuge 12a-12n enthält allgemein ein oder mehrere Mobilfunkanbietersysteme 60, ein Satellitenkommunikationssystem 68, ein fernes Computersystem 62 und/oder eine drahtlose Vorrichtung 57, die eine Anzeige 59 enthält.
-
Die in 1 schematisch gezeigten Fahrzeuge 12a-12n enthalten ein Vortriebssystem 13, das gemäß verschiedenen Ausführungsformen eine Brennkraftmaschine, eine elektrische Arbeitsmaschine wie etwa ein Traktionsmotor und/oder ein Brennstoffzellenvortriebssystem sein kann. In der dargestellten Ausführungsform sind die Fahrzeuge 12a-12n als ein Personenkraftwagen gezeigt, wobei aber gewürdigt werden wird, dass irgendein anderes Fahrzeug einschließlich Motorrädern, Lastkraftwagen, Geländefahrzeugen (SUVs), Wohnmobilen (RVs), selbstfahrenden Fahrzeugen, Seeschiffen, Flugzeugen usw. ebenfalls verwendet werden kann.
-
Außerdem enthalten die Fahrzeuge 12a-12n ein Getriebe 14, das dafür konfiguriert ist, Leistung von dem Vortriebssystem 13 gemäß wählbaren Übersetzungsverhältnissen an mehrere Fahrzeugräder 15 zu übertragen. Gemäß verschiedenen Ausführungsformen kann das Getriebe 14 ein automatisches Stufengetriebe, ein stufenloses Getriebe oder ein anderes geeignetes Getriebe enthalten. Zusätzlich enthalten die Fahrzeuge 12a-12n Radbremsen 17, die dafür konfiguriert sind, für die Fahrzeugräder 15 ein Bremsmoment bereitzustellen. Gemäß verschiedenen Ausführungsformen können die Radbremsen 17 Reibungsbremsen, ein regeneratives Bremssystem wie etwa eine elektrische Arbeitsmaschine und/oder andere geeignete Bremssysteme enthalten.
-
Zusätzlich enthalten die Fahrzeuge 12a-12n ein Lenkungssystem 16. Obwohl es für Veranschaulichungszwecke als ein Lenkrad enthaltend gezeigt ist, kann das Lenkungssystem 16 gemäß einigen Ausführungsformen, bei denen erwartet wird, dass sie in dem Schutzumfang der vorliegenden Offenbarung liegen, kein Lenkrad enthalten.
-
Die Fahrzeuge 12a-12n enthalten ein drahtloses Kommunikationssystem 28, das dafür konfiguriert ist, mit anderen Fahrzeugen („V2V“), einer privaten Infrastruktur („V2I“) oder einem öffentlichen Netz („V2N“) drahtlos zu kommunizieren 58. Gemäß einer beispielhaften Ausführungsform ist das drahtlose Kommunikationssystem 28 dafür konfiguriert, unter Verwendung von Normen der IEEE 802.11 über ein drahtloses lokales Netz (WLAN) oder unter Verwendung einer Zellendatenkommunikation zu kommunizieren. Eine V2V-, V21- und/oder V2N-Datenkommunikation kann ebenfalls unter Verwendung verschiedener drahtloser Kommunikationsprotokolle, einschließlich, aber nicht beschränkt auf, dedizierter kurzreichweitiger Kommunikationen (DSRC) wie etwa des Protokolls 802.11 p des Institute of Electrical and Electronics Engineers (IEEE) und/oder Zellen-V2X (C-V2X), die auf dem drahtlosen Long-Term-Evolution-Breitbandstandard (LTE-Breitbandstandard) beruht, ermöglicht werden.
-
Das Vortriebssystem 13, das Getriebe 14, das Lenkungssystem 16 und die Radbremsen 17 stehen in Kommunikation mit wenigstens einem Fahrzeugcontroller 22 oder unter seiner Steuerung. Obwohl der Fahrzeugcontroller 22 zu Veranschaulichungszwecken als eine einzelne Einheit gezeigt ist, kann er einen oder mehrere weitere Controller, zusammen als ein „Controller“ bezeichnet, enthalten. Der Fahrzeugcontroller 22 kann einen Mikroprozessor wie etwa eine Zentraleinheit (CPU) oder eine Grafikverarbeitungseinheit (GPU) in Kommunikation mit verschiedenen Typen computerlesbarer Ablagespeichervorrichtungen oder Ablagespeichermedien enthalten. Computerlesbare Ablagespeichervorrichtungen oder Ablagespeichermedien können verschiedene Typen von Speichern wie etwa z. B. einen flüchtigen und einen nichtflüchtigen Speicher z. B. in einem Nur-Lese-Speicher (ROM), einem Schreib-Lese-Speicher (RAM) und einem Keep-alive-Speicher (KAM) enthalten. Ein KAM ist ein beständiger oder nichtflüchtiger Speicher, der verwendet werden kann, um verschiedene Betriebsvariablen zu speichern, während die CPU stromlos ist. Computerlesbare Ablagespeichervorrichtungen oder Ablagespeichermedien können unter Verwendung irgendwelcher einer Anzahl bekannter Speichervorrichtungen wie etwa PROMs (programmierbarem Nur-Lese-Speicher), EPROMs (elektrischem PROM), EEPROMs (elektrisch löschbarem PROM), Flash-Speicher oder irgendwelchen anderen elektrischen, magnetischen, optischen oder Kombinationsspeichervorrichtungen, die in der Lage sind, Daten zu speichern, von denen einige ausführbare Anweisungen repräsentieren, die durch den Fahrzeugcontroller 22 beim Steuern eines jeweiligen Fahrzeugs 12a-12n verwendet werden, implementiert sein.
-
Der Fahrzeugcontroller 22 enthält ein automatisiertes Fahrsystem (ADS) 24 zum automatischen Steuern verschiedener Aktuatoren in dem Fahrzeug 12a-12n. Gemäß einer beispielhaften Ausführungsform ist das ADS 24 dafür konfiguriert, das Vortriebssystem 13, das Getriebe 14, das Lenkungssystem 16 und die Fahrzeugräder 17 in Ansprechen auf Eingaben von einem oder mehreren Sensoren 26 zu steuern, um in dieser Reihenfolge die Fahrzeugbeschleunigung, die Fahrzeuglenkung und die Fahrzeugbremsung ohne menschlichen Eingriff über mehrere Aktuatoren 30 zu steuern. Die Sensoren 26 können, soweit erforderlich, GPS, RADAR, LIDAR, optische Kameras, Wärmekameras, Ultraschallsensoren und/oder zusätzliche Sensoren enthalten, sind darauf aber nicht beschränkt.
-
Ferner enthält der Fahrzeugcontroller 22 einen Bildcodierer 100. Der Bildcodierer 100 ist dafür konfiguriert, ein durch einen oder mehrere der Sensoren 26 erfasstes hochauflösendes Rohbild in ein maskiertes Bild umzusetzen. Wenn das maskierte Bild erzeugt wird, nimmt der Bildcodierer 100 nur die Werte eines im Voraus definierten kleinen Satzes von Pixeln aus dem ursprünglichen Rohbild. Dieser im Voraus definierte Satz wird in Übereinstimmung mit einer Zufallspixelmaske bestimmt, die durch den Codierer angewendet wird. Die aus dem im Voraus definierten Satz ausgeschlossenen Pixel werden verworfen, so dass das resultierende maskierte Bild im Vergleich zu dem ursprünglichen Rohbild ein verhältnismäßig niedrigeres Volumen (d. h. wesentlich weniger Pixel) aufweist.
-
Die Zeitreihencodierungsoperation enthält das Erzeugen einer Zeitreihe mit verschiedenen Datenpunkten, die einem maskierten Bild entsprechen, was dadurch zu einem kleinvolumigen zufällig verpixelten maskierten Bild führt. Dementsprechend kann das maskierte Bild im Vergleich zu den Ergebnissen mit hoher Bandbreite und hoher Latenzzeit, die auftreten, wenn nichtcodierte Bilder oder sogar vollständig codierte Bild mit sehr niedriger Verzerrung (Standardkompressionsalgorithmen, die das gesamte ursprüngliche Rohbild wiederherstellen) drahtlos übermittelt werden, mit wesentlich niedrigerer Bandbreite und mit wesentlich niedrigerer Latenzzeit über drahtlose Kommunikation 58 ausgetauscht werden.
-
Gemäß einer oder mehreren Ausführungsformen kann das maskierte Bild von dem Fahrzeug 12a-12n über ein drahtloses Kommunikationssystem 28 heruntergeladen und an das ferne Computersystem 62 und/oder an ein fern befindliches Fahrzeug 12n geliefert werden, wo es durch ein neuronales Faltungsnetz (CNN) 102 und durch den Bilddecodierer 104 weiterverarbeitet wird. Gemäß einer oder mehreren nicht einschränkenden Ausführungsformen können das CNN 102 und der Bilddecodierer 104 als eine einzelne Segmentierungseinheit 105, die sich fern von dem Fahrzeug befindet, das das ursprüngliche Rohbild erfasst hat, miteinander integriert sein. Zum Beispiel kann sich die Segmentierungseinheit 105, die das CNN 102 und den Bilddecodierer 104 enthält, in dem fernen Computersystem 62 und/oder in einem fern befindlichen zweiten Fahrzeug 12n befinden. Dementsprechend arbeiten der Bildcodierer 100, das CNN 102 und der Bilddecodierer 104 als ein Fernbildsegmentierungssystem, das im Folgenden ausführlicher diskutiert wird, effektiv zusammen.
-
Vorzugsweise ist das Mobilfunkanbietersystem 60 ein Zellentelefonsystem, das einen oder mehrere Mobilfunkmasten 70 sowie irgendwelche anderen Netzkomponenten, die erforderlich sind, um das Mobilfunkanbietersystem 60 mit dem fernen Computersystem 62 zu verbinden, enthält. Jeder Mobilfunkmast 70 enthält Sende- und Empfangsantennen und eine Basisstation. Das Mobilfunkanbietersystem 60 kann irgendeine geeignete Kommunikationstechnologie, einschließlich z. B. digitaler Technologien wie etwa CDMA (z. B. CDMA2000), LTE (z. B. 4G-LTE oder 5G-LTE), GSM/GPRS oder andere aktuelle oder aufstrebende Drahtlostechnologien, implementieren. Andere Mobilfunkmast-/Basisstations-/MSC-Anordnungen sind möglich und könnten mit dem Mobilfunkanbietersystem 60 verwendet werden. Zum Beispiel könnten sich die Basisstation und der Mobilfunkmast ortsgleich an demselben Standort befinden oder könnten sie sich fern voneinander befinden, wobei jede Basisstation für einen einzelnen Mobilfunkturm verantwortlich sein könnte oder eine einzelne Basisstation verschiedene Mobilfunktürme bedienen könnte oder verschiedene Basisstationen mit einer einzelnen MSC gekoppelt sein könnten, um nur einige der möglichen Anordnungen zu nennen.
-
Abgesehen von der Verwendung des Mobilfunkanbietersystems 60 kann die drahtlose Kommunikation 58 in Form einer Satellitenkommunikation 68 verwendet werden, um eine einfachgerichtete oder doppeltgerichtete Kommunikation mit den Fahrzeugen 12a-12n bereitzustellen. Dies kann unter Verwendung eines oder mehrerer Kommunikationssatelliten 66 und einer Aufwärtsstreckensendestation 67 erfolgen. Die einfachgerichtete Kommunikation kann z. B. Satellitenfunkdienste enthalten, bei denen Programminhalt (Nachrichten, Musik usw.) durch die Sendestation 67 empfangen werden, für das Heraufladen gepackt werden und daraufhin an den Satelliten 66 gesendet werden, der die Programme an Abonnenten rundsendet. Die doppeltgerichtete Kommunikation kann z. B. Satellitentelefondienste unter Verwendung des Satelliten 66 zum Weiterleiten von Telefonkommunikationen zwischen den Fahrzeugen 12a-12n und der Stationsaufwärtsstreckensendung 67 enthalten. Die Satellitentelefonie kann entweder zusätzlich zu dem oder anstelle des Mobilfunkanbietersystems 60 genutzt werden.
-
Das ferne Computersystem 62 steht in Signalkommunikation mit dem Mobilfunkanbietersystem 60, mit dem Satellitenkommunikationssystem 68 und/oder mit den Fahrzeugen 12a-12n. Gemäß einer oder mehreren nicht einschränkenden Ausführungsformen ist das ferne Computersystem 62 unter Verwendung einer Edge-Computerinfrastruktur und/oder einer Cloud-Computerstruktur, von denen sich jede fern von den Fahrzeugen 12a-12n befindet, implementiert.
-
Das ferne Computersystem 62 enthält einen oder mehrere vernetzte Computerserver 64. Die Netzcomputerserver 64 enthalten einen oder mehrere Server-Controller 65. Der Server-Controller 65 enthält Speicher und einen Prozessor, der dafür konfiguriert ist, Algorithmen und computerlesbare Programmanweisungen, die in dem Speicher gespeichert sind, auszuführen.
-
Auf die Computerserver 64 kann über ein privates oder öffentliches Netz wie etwa das Internet zugegriffen werden, was ermöglicht, dass sie über einen DNS-Server oder einen anderen Netzadressenserver, der DHCP oder ein anderes geeignetes Protokoll verwendet, um einem Fahrzeug 12a-12n eine IP-Adresse zuzuweisen, eine Internetkonnektivität ermöglichen. Gemäß einer beispielhaften Ausführungsform können die Computerserver 64 als ein Web-Server konfiguriert sein, auf den durch ein Fahrzeug 12a-12n über Datenaustausch zwischen dem drahtlosen Fahrzeugkommunikationssystem 28 und dem Mobilfunkanbieter 60 zugegriffen werden kann.
-
Die Computerserver 64 können verschiedene Daten, einschließlich, aber nicht beschränkt auf, Diagnoseinformationen und andere Fahrzeugdaten verarbeiten. Die Fahrzeugdaten können durch das Fahrzeug 12a-12n über das drahtlose Kommunikationssystem 28 bereitgestellt werden. Außerdem können die Computerserver 64 eine durchsuchbare Datenbank unterhalten. Dementsprechend können die Computerserver 64 als ein Datenbankmanagementsystem arbeiten, das die Eingabe, Entfernung und Änderung von Daten sowie den Empfang von Anforderungen zum Auffinden von Daten innerhalb der Datenbank ermöglicht.
-
Wie hier beschrieben ist, können das ferne Computersystem 62 und/oder ein fern befindliches Fahrzeug 12n ein CNN 102 und einen Bilddecodierer 104 enthalten. Das CNN 102 und der Bilddecodierer 104 arbeiten mit dem Bildcodierer 100 zusammen, um ein Fernbildsegmentierungssystem bereitzustellen. Anders als herkömmliche Bildsegmentierungssysteme ermöglicht das hier beschriebene Fernbildsegmentierungssystem eine Bildsegmentierung, die beschränkte Computerbetriebsmittel, Kosten für hohe Bandbreite und Beschränkungen niedriger Latenzzeit, die in Fahrzeug-zu-Fahrzeug-Architekturen (V2V-Architekturen), Fahrzeug-zu-Infrastruktur-Architekturen (V2I-Architekturen) und/oder Fahrzeug-zu-Netz-Architekturen (V2N-Architekturen) herkömmlich erfahren werden, überwindet.
-
Genauer wird das CNN 102 unter Verwendung eines Satzes oder von „Paaren“ im Voraus definierter maskierter Bilder und ihrer entsprechenden segmentierten maskierten Bilder, die üblicherweise als die „Ground-Truth“ bezeichnet werden, (z. B. offline) trainiert. Gemäß einer oder mehreren nicht einschränkenden Ausführungsformen kann z. B. ein Satz von 50.000 modellierten maskierten Bildern genutzt werden, um das CNN 102 zu trainieren. Wenn das CNN 102 trainiert worden ist, kann es das durch den Bildcodierer 100 bereitgestellte kleinvolumige maskierte Bild empfangen, ein oder mehrere Zielobjekte identifizieren, die in dem kleinvolumigen maskierten Bild enthalten sind, und automatisch ein segmentiertes maskiertes Bild konstruieren. Gemäß einer oder mehreren nicht einschränkenden Ausführungsformen weist das CNN 102 jedem Pixel in dem einem Zielobjekt zugeordneten maskierten Bild ein eindeutiges Etikett zu. Auf diese Weise können auf der Grundlage des ihren jeweiligen Pixeln zugewiesenen Etiketts einzelne segmentierte Zielobjekte definiert werden.
-
Der Bilddecodierer 104 empfängt das maskierte Segmentierungsbild und wendet einen Matrixvervollständigungsalgorithmus an, der jedes Zielobjekt rekonstruiert, um ein wiedergewonnenes segmentiertes Bild zu erzeugen, das die in dem Rohbild enthaltenen Zielobjekte repräsentiert. Das wiedergewonnene segmentierte Bild ist ein Bild, das segmentierte Zielobjekte enthält, die eine Approximation der Zielobjekte sind, die in dem durch das Fahrzeug 12a-12n erfassten Rohbild enthalten sind. Gemäß einer oder mehreren nicht einschränkenden Ausführungsformen führt der Decodierer 104 auf der Grundlage der etikettierten Pixel des maskierten Segmentierungsbilds eine Matrizenoperation niedriger Ordnung (auch als eine „Approximation niedriger Ordnung“ bezeichnet) aus, um das wiedergewonnene segmentierte Bild zu erzeugen. Zum Beispiel kann der Decodierer 104 eine Null-Eins-Matrix konstruieren, in der etikettierten Pixeln ein Wert „1“ zugewiesen ist und allen nicht etikettierten Pixeln ein Wert „0“ zugewiesen ist. Die Lösung ist ein Satz von Matrizen niedriger Ordnung mit einer Größe gleich der Anzahl von Etiketten. Jede Matrix niedriger Ordnung kann durch den Decodierer 104 einzeln decodiert werden. Daraufhin kann der Decodierer 104 alle resultierenden Vervollständigungen kombinieren, um das wiedergewonnene segmentierte Bild zu erzeugen, das eine Approximation einer Segmentierung des durch das Fahrzeug 12a-12n erfassten Rohbilds ist.
-
Nunmehr übergehend zu 2 ist ein Fernbildsegmentierungssystem 200 gemäß einer nicht einschränkenden Ausführungsform dargestellt. Wie hier beschrieben ist, enthält das Fernbildsegmentierungssystem 200 einen Bildcodierer 100, ein CNN 102 und einen Bilddecodierer 104. Der Bildcodierer 100 befindet sich in einem ersten Fahrzeug 12a, während das CNN 102 und der Bilddecodierer 104 in einer Segmentierungseinheit 105 enthalten sind, die sich in einem fernen Computersystem 62 und/oder in einem zweiten Fahrzeug 12n befinden kann. Der Datenaustausch zwischen dem Bildcodierer 100 des ersten Fahrzeugs 12a und der Segmentierungseinheit 105 wird über drahtlose Kommunikation 58 ermöglicht.
-
Der Bildcodierer 100 kann als ein elektronischer Hardware-Controller konstruiert sein, der Speicher und einen Prozessor, der dafür konfiguriert ist, Codierungsalgorithmen, Bildsegmentierungsalgorithmen und andere in dem Speicher gespeicherte computerlesbare Programmanweisungen auszuführen, enthält. Alternativ kann der Bildcodierer 100 in dem Fahrzeugcontroller 22 als ein integrierter Controller oder als eine integrierte CPU implementiert sein.
-
Der Bildcodierer 100 steht in Signalkommunikation mit einem oder mehreren Fahrzeugsensoren 26. Die Sensoren 26 sind dafür konfiguriert, ein ursprüngliches Bild oder eine ursprüngliche Reihe von Einzelbildern, die in dem Blickfeld (FOV) 102 eines jeweiligen Sensors erscheinen, zu erfassen. In diesem Beispiel erfasst das FOV 202 des Sensors Zielobjekte 204a, 204b und 204c. Die Zielobjekte 204a und 204b (zusammen als Objekte 204a-204b bezeichnet) sind Kraftfahrzeuge, während das Zielobjekt 204c ein Fußgänger, der Fahrrad fährt, hier als „Radfahrer“ 204c bezeichnet, ist. Der Sensor 26 gibt das erfasste ursprüngliche Bild oder die erfassten ursprünglichen Einzelbilder als ein hochauflösendes digitales Bildsignal oder „Rohbild“ 300 (siehe 3) aus, das durch den Fahrzeugcontroller 22 empfangen und an den Bildcodierer 100 geliefert wird.
-
Wie hier beschrieben ist, setzt der Bildcodierer 100 das Rohbild 300 in ein maskiertes Bild 302 (siehe 3) mit einem verringerten Volumen und mit einer verringerten Datengröße um. Gemäß einer oder mehreren Ausführungsformen stellt der Bildcodierer 100 eine Coderate ein und wendet er ein Zufallsmaskierungsschema an, das in Übereinstimmung mit der eingestellten Coderate arbeitet. Ein Zufallsmaskierungsschema bezieht sich auf das Abtasten einer zufälligen Streuung von Pixeln oder Datenpunkten anstelle von Pixeln oder Datenpunkten, die durch eine feste oder spezifisch definierte Entfernung voneinander getrennt sind. Die Coderate stellt ebenfalls die Größe oder Rate ein, mit der das Rohbild 300 komprimiert werden soll. Zum Beispiel kann der Bildcodierer 100 eine Coderate von 10 Prozent einstellen, was mit einem Kompressionsverhältnis von 1:10 korreliert.
-
Das Zufallsmaskierungsschema verwendet die eingestellte Coderate, um auf der Grundlage eines randomisierten Maskenkeims, der sowohl von dem Bildcodierer 100 als auch von dem Bilddecodierer 104 verwendet wird, um ihre jeweiligen Codierungs- und Decodierungsoperationen auszuführen, eine Zufallspixelmaske zu erzeugen. Für eine gegebene Coderate (R) können die Dimensionen des randomisierten Maskenkeims unter Verwendung der folgenden Gleichung eingestellt werden:
wobei (k) ein zufälliger Teil von Pixeln ist, die in dem resultierenden maskierten Bild unter einer Anzahl (n) in dem Rohbild enthaltener von Pixel abgetastet oder aufgenommen werden sollen.
-
Wenn die Zufallspixelmaske erzeugt wird, kann sie vor der Implementierung in den Fahrzeugen 12a-12n und in dem fernen Computersystem 62 in dem Bildcodierer 100 und in dem Bilddecodierer 104 programmiert werden. Dies ermöglicht, dass der Bildcodierer 100 und der Bilddecodierer 104 für jeden den Ort der durch die Zufallspixelmaske definierten abgetasteten Pixel bestimmt. Auf diese Weise können der Bildcodierer 100 und der Bilddecodierer 104 aneinander „angepasst“ werden.
-
Wenn das maskierte Bild 302 erzeugt wird, kann es von dem Fahrzeug 12a heruntergeladen werden und (z. B. drahtlos 58) an die Segmentierungseinheit 105 geliefert werden. Das CNN 102 und der Bilddecodierer 104, die in der Segmentierungseinheit 105 enthalten sind, können jeweils als ein elektronischer Hardware-Controller konstruiert sein, der Speicher und einen Prozessor, der dafür konfiguriert ist, Bildsegmentierungsalgorithmen, Algorithmen des maschinellen Lernens und der künstlichen Intelligenz (AI), Bilddecodierungsalgorithmen und andere in seinem jeweiligen Speicher gespeicherte computerlesbare Programmanweisungen auszuführen, enthält.
-
Wie hier beschrieben ist, wird das CNN 102 anfangs unter Verwendung eines Satzes von Ground-Truth-Paaren maskierter Bilder und ihrer entsprechenden segmentierten maskierten Bilder offline trainiert. Diese Ground-Truth-Paare werden ebenfalls gemäß der hier beschriebenen gemeinsamen Zufallspixelmaske erzeugt. Dementsprechend wird das CNN 102 trainiert, spezifisch die Pixel, die durch die Zufallsmaske eingestellt werden und die verschiedenen Typen von Zielobjekten zugeordnet sind, die in den durch ein erstes Fahrzeug 12a erfassten Rohbildern vorhanden sein können, zu lernen und zu erkennen. Die Zielobjekte können ein Kraftfahrzeug, ein Motorrad, einen Lastkraftwagen, einen Radfahrer, einen Fußgänger, Tiere, Baugeräte usw. enthalten, sind darauf aber nicht beschränkt. Außerdem wird das hier beschriebene CNN 102 als „leicht“ angesehen, da es nicht erforderlich ist, die volle Auflösung, die Zielobjekten in dem Rohbild zugeordnet ist, zu lernen, zu erkennen und zu verarbeiten, sondern vielmehr ein segmentiertes maskiertes Bild mit wesentlich weniger Volumen im Vergleich zu dem Rohbild zu erzeugen. Im Ergebnis sind sowohl die Trainingszeit des CNN 102 als auch die Gesamtcomputerleistung, die erforderlich ist, um das maskierte Bild 302 zu verarbeiten, verringert.
-
Wenn das CNN 102 trainiert worden ist, wird es „online“ angeordnet und zum Empfangen des durch den Bildcodierer 100 erzeugten maskierten Bilds 302 konfiguriert. Das CNN 102 wird dafür konfiguriert, eindeutige Etiketten zu erzeugen, die Pixeln des maskierten Bilds, die einem gegebenen Zielobjekt 204a, 204b, 204c zugeordnet sind, entsprechen, während Pixel, die den Zielobjekten 204a, 204b, 204c nicht zugeordnet sind, ausgeschlossen werden. Gemäß einer oder mehreren nicht einschränkenden Ausführungsformen enthält jedes eindeutige Etikett eine eindeutige Farbe. Zum Beispiel können Pixel, die Kraftfahrzeugen zugeordnet sind, in rote Pixel umgesetzt werden, Pixel, die Motorradfahrern zugeordnet sind, in weiße Pixel umgesetzt werden, Pixel, die Fußgängern zugeordnet sind, in grüne Pixel umgesetzt werden, usw. Dementsprechend analysiert das CNN 102 das maskierte Bild 302, erkennt es auf der Grundlage seines Trainings die den Zielobjekten 204a, 204b und 204c zugeordneten Pixel und wendet es auf jedes Pixel, das einem in dem maskierten Bild 302 enthaltenen Zielobjekt zugeordnet ist, ein gegebenes Etikett an. Anhand von 2 und 3 kann z. B. auf jedes den erfassten Kraftfahrzeugen 204a und 204b zugeordnete Pixel ein erstes Etikett (z. B. ein rotes Etikett) angewendet werden, während auf jedes dem erfassten Radfahrer 204c zugeordnete Pixel ein zweites Etikett (z. B. ein weißes Etikett) angewendet werden kann.
-
Das CNN 102 erzeugt ein maskiertes segmentiertes Bild 304 (siehe 3), das im Vergleich zu den in dem maskierten Bild 302 enthaltenen Pixeln nur einen Teil oder eine Teilmenge der Pixel enthält. Dementsprechend stellt das maskierte segmentierte Bild 304 dünn besetzte Segmentierungen der in dem Rohbild 300 enthaltenen Zielobjekte 204a, 204b und 204c bereit. Wie hier beschrieben ist, kann das CNN 102 auf Pixel, die unterschiedlichen Typen von Zielobjekten 204a, 204b und 204c zugeordnet sind, eindeutige Etiketten anwenden. Auf diese Weise kann der Bilddecodierer 104 das Decodieren der dünn besetzten segmentierten Zielobjekte 204a, 204b und 204c, wie hier ausführlicher diskutiert ist, priorisieren.
-
Der Bilddecodierer 104 empfängt das maskierte segmentierte Bild 304 und wendet auf das maskierte segmentierte Bild 304 einen Matrixvervollständigungsalgorithmus an, um ein wiedergewonnenes segmentiertes Bild 306 zu erzeugen (siehe 3). Der Matrixvervollständigungsalgorithmus arbeitet an jedem Etikett getrennt und fügt im Wesentlichen zusätzliche Pixel oder Datenpunkte über jene in dem segmentierten maskierten Bild 304, denen ein jeweiliges Etikett zugeordnet ist, hinaus hinzu. Dementsprechend stellt das wiedergewonnene segmentierte Bild 306 eine Approximation der direkt an den ursprünglichen Rohbilddaten ausgeführten Segmentierung bereit und enthält es segmentierte Zielobjekte 204a, 204b und 204c, die Approximationen der Zielobjekte 204a, 204b und 204c sind, die in dem durch das Fahrzeug 12a ursprünglich erfassten Rohbild 300 enthalten sind.
-
Gemäß einer oder mehreren nicht einschränkenden Ausführungsformen kann der Bilddecodierer 104 dafür programmiert sein, die Decodierung der Zielobjekte 204a, 204b und 204c auf der Grundlage des Etiketts (z. B. der Farbe) der Pixel zu priorisieren. Zum Beispiel kann bestimmt werden, dass Pixel, auf die das Etikett, das dem Radfahrerzielobjekt 204c entspricht, angewendet ist, (z. B. weiße Pixel) eine höhere Priorität besitzen als jene mit dem Etikett (z. B. grüne Pixel), das den Fahrzeugzielobjekten 204a und 204b entspricht. Auf der Grundlage der Priorität kann der Bilddecodierer 104 wählen, Zielobjektpixel mit einer höheren Priorität im Vergleich zu Zielobjektpixeln mit niedrigeren Prioritäten zu decodieren.
-
Obwohl das wiedergewonnene segmentierte Bild 306 im Vergleich zu einer Segmentierung, die direkt an dem Rohbild 300 ausgeführt wird, eine Approximation der Segmentierung ist, kann es immer noch durch den Server-Controller 65 und/oder durch den Fahrzeugcontroller 22 des zweiten Fahrzeugs 12n (siehe 1) verarbeitet und analysiert werden. Die verarbeiteten Daten können eine breite Vielfalt von Informationen, einschließlich, aber nicht beschränkt auf, aktueller Verkehrsbedingungen, des Orts von Objekten nicht nur in Bezug zu dem Fahrzeug 12a, das das Rohbild 300 erfasst hat, sondern auch zu anderen Fahrzeugen 12n in der Nähe des Bilderfassungsfahrzeugs 12a, und der Orte von Bauzonen bereitstellen.
-
Die verarbeiteten Daten können außerdem ein „Durchsicht“-Merkmal ermöglichen, das zulässt, dass ein hinterherfahrendes Fahrzeug durch ein vorausfahrendes Fahrzeug, das das Rohbild erfasst hat, „durchsieht“. Zum Beispiel kann die Bildsegmentierung eines durch das vorausfahrende Fahrzeug 12a erfassten Rohbilds in dem fernen Computersystem (z. B. in einem Cloud-Computersystem 62) decodiert werden, um ein oder mehrere Objekte 204a, 204b und 204c zu bestimmen, die sich vor dem vorausfahrenden Fahrzeug 12a befinden. Der Server-Controller 65 kann daraufhin die Entfernung zwischen den Objekten 204a, 204b und 204c und dem vorausfahrenden Fahrzeug 12a bestimmen und das hinterherfahrende Fahrzeug 12n über ein mögliches Haltereignis warnen, ohne dass das hinterherfahrende Fahrzeug 12n von den Objekten 204a, 204b und 204c visuell Kenntnis hat.
-
Nun anhand von 4 stellt ein Ablaufplan ein Verfahren zum Austauschen von Daten, die durch ein Fahrzeug erfasst werden, gemäß einer oder mehreren nicht einschränkenden Ausführungsformen dar. Das Verfahren beginnt bei der Operation 400 und bei der Operation 402 erfasst ein erstes Fahrzeug 12a ein Rohbild 300, das ein oder mehrere Zielobjekte 204a, 204b und 204c enthält. Das Rohbild 300 kann unter Verwendung eines oder mehrerer Sensoren 26 (z. B. Kameras) erfasst werden, die in das erste Fahrzeug 12a eingebaut sind. In der Operation 404 setzt ein in das erste Fahrzeug 12a eingebauter Bildcodierer 100 das Rohbild 300 in ein maskiertes Bild 302 um. In der Operation 406 wird das maskierte Bild 302 von dem ersten Fahrzeug 12a zu einem CNN 102 heruntergeladen. Das CNN 102 kann sich in einem fernen Computersystem 62 (z. B. in einem Cloud-Computernetz) und/oder in einem zweiten Fahrzeug 12n, das sich fern von dem ersten Fahrzeug 12a befindet, befinden. In der Operation 408 erzeugt das CNN 102 auf der Grundlage des maskierten Bilds 302 ein maskiertes segmentiertes Bild 304. In der Operation 410 erzeugt der Bilddecodierer 104 auf der Grundlage des maskierten segmentierten Bilds 304 ein wiedergewonnenes segmentiertes Bild 306. Das wiedergewonnene segmentierte Bild 306 enthält ein oder mehrere segmentierte Zielobjekte 204a, 204b, 204c, die Approximationen der in dem Rohbild 300 enthaltenen Zielobjekte 204a, 204b, 204c sind. Dementsprechend endet das Verfahren in der Operation 412.
-
In Bezug auf die zugehörigen Zeichnungen sind hier verschiedene Ausführungsformen beschrieben. Alternative Ausführungsformen können erdacht werden, ohne von dem Schutzumfang der erfindungsgemäßen Lehren abzuweichen. Zwischen Elementen in der folgenden Beschreibung und in den Zeichnungen sind verschiedene Verbindungen und Positionsbeziehungen (z. B. über, unter, benachbart usw.) dargelegt. Sofern diese Verbindungen und/oder Positionsbeziehungen nicht auf andere Weise spezifiziert sind, können sie direkt oder indirekt sein, wobei die hier beschriebenen Ausführungsformen diesbezüglich nicht einschränkend sein sollen. Dementsprechend kann sich eine Kopplung von Entitäten entweder auf eine direkte oder auf eine indirekte Kopplung beziehen und kann eine Positionsbeziehung zwischen Entitäten eine direkte oder indirekte Positionsbeziehung sein. Darüber hinaus können die verschiedenen Aufgaben und Prozessschritte, die hier beschrieben sind, mit zusätzlichen Schritten oder zusätzlicher Funktionalität, die hier nicht ausführlich beschrieben sind, zu einer oder mehreren umfassenden Prozeduren oder zu einem oder mehreren umfassenden Prozessen integriert sein.
-
Für die Interpretation der Ansprüche und der Beschreibung sind die folgenden Definitionen und Abkürzungen zu verwenden. Wie sie hier verwendet sind, sollen die Begriffe „umfasst“, „umfassend“, „enthält“, „enthaltend“, „weist auf“, „aufweisend“, „beinhaltet“ oder „beinhaltend“ oder irgendeine andere Variante davon einen nichtausschließenden Einschluss umfassen. Zum Beispiel ist eine Zusammensetzung, ein Gemisch, ein Prozess, ein Verfahren, ein Artikel oder eine Vorrichtung, die bzw. das bzw. der eine Liste von Elementen umfasst, nicht notwendig nur auf jene Elemente beschränkt, sondern kann andere Elemente enthalten, die für eine derartige Zusammensetzung, ein derartiges Gemisch, einen derartigen Prozess, ein derartiges Verfahren, einen derartigen Artikel oder eine derartige Vorrichtung nicht explizit aufgeführt oder inhärent sind.
-
Außerdem ist der Begriff „beispielhaft“ hier in der Bedeutung „als ein Beispiel, als ein Fall oder als eine Veranschaulichung dienend“ verwendet. Irgendeine Ausführungsform oder irgendein Entwurf, die bzw. der hier als „beispielhaft“ beschrieben ist, soll gegenüber anderen Ausführungsformen oder Entwürfen nicht notwendig als vorteilhaft oder bevorzugt verstanden werden. Die Begriffe „wenigstens ein“ und „eines oder mehrere“ können so verstanden werden, dass sie irgendeine ganze Zahl größer oder gleich eins (d. h. eins, zwei, drei, vier usw.) enthalten. Der Begriff „mehrere“ kann so verstanden werden, dass er irgendeine ganze Zahl größer oder gleich zwei (z. B. zwei, drei, vier, fünf usw.) enthält. Der Begriff „Verbindung“ kann sowohl eine indirekte „Verbindung“ als auch eine direkte „Verbindung“ enthalten.
-
Die Begriffe „etwa“, „im Wesentlichen“, „näherungsweise“ und Varianten davon sollen irgendeinen Grad eines Fehlers enthalten, der der Messung der bestimmten Größe auf der Grundlage der zum Zeitpunkt der Einreichung der Anmeldung verfügbaren Ausrüstung zugeordnet ist. Zum Beispiel kann „etwa“ einen Bereich von ±8 % oder 5 % oder 2 % eines gegebenen Werts enthalten.
-
Der Kürze halber können herkömmliche Techniken, die sich auf die Herstellung und Verwendung von Aspekten der Ausführungsformen beziehen, hier ausführlich beschrieben oder nicht beschrieben sein. Insbesondere sind verschiedene Aspekte von Computersystemen, Algorithmen und spezifischen Computerprogrammen zum Implementieren der verschiedenen hier beschriebenen technischen Merkmale gut bekannt. Dementsprechend sind hier im Interesse der Kürze viele herkömmliche Implementierungseinzelheiten nur kurz erwähnt oder ganz weggelassen, ohne die gut bekannten System- und/oder Prozesseinzelheiten zu bieten.
-
Die vorliegenden Ausführungsformen enthalten ein System, ein Verfahren und/oder ein Computerprogrammprodukt in irgendeinem möglichen Grad an technischer Einzelheit der Integration. Das Computerprogrammprodukt kann ein computerlesbares Ablagespeichermedium (oder computerlesbare Ablagespeichermedien) mit computerlesbaren Programmanweisungen darauf, um zu veranlassen, dass ein Prozessor Aspekte der vorliegenden Lehren ausführt, enthalten.
-
Das computerlesbare Ablagespeichermedium kann eine konkrete Vorrichtung sein, die Anweisungen zur Verwendung durch eine Anweisungsausführungsvorrichtung halten und speichern kann. Das computerlesbare Ablagespeichermedium kann z. B. eine elektronische Ablagespeichervorrichtung, eine magnetische Ablagespeichervorrichtung, eine optische Ablagespeichervorrichtung, eine elektromagnetische Ablagespeichervorrichtung, eine Halbleiterablagespeichervorrichtung oder irgendeine geeignete Kombination der Vorstehenden sein, ist darauf aber nicht beschränkt. Eine nicht erschöpfende Liste spezifischerer Beispiele des computerlesbaren Ablagespeichermediums enthält die Folgenden: eine tragbare Computerdiskette, eine Festplatte, einen Schreib-Lese-Speicher (RAM), einen Nur-Lese-Speicher (ROM), einen löschbaren programmierbaren Nur-Lese-Speicher (EPROM oder Flash-Speicher), einen statischen Schreib-Lese-Speicher (SRAM), einen tragbaren Kompakt-Disk-Nur-Lese-Speicher (CD-ROM), eine Digital Versatile Disk (DVD), einen Memorystick und irgendeine geeignete Kombination der Vorstehenden. Ein computerlesbares Ablagespeichermedium, wie es hier verwendet ist, soll nicht als transitorische Signale an sich wie etwa Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder durch ein anderes Übertragungsmedium ausbreiten, (z. B. Lichtimpulse, die durch ein Faseroptikkabel gehen) oder elektrische Signale, die über einen Draht übertragen werden, verstanden werden.
-
Computerlesbare Programmanweisungen zum Ausführen von Operationen der Ausführungsformen können Assembleranweisungen, Befehlssatzarchitektur-Anweisungen (ISA-Anweisungen), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmwareanweisungen, Zustandseinstellungsdaten, Konfigurationsdaten für eine integrierte Schaltungsanordnung oder entweder Quellcode oder Objektcode, der in irgendeiner Kombination einer oder mehrerer Programmiersprachen einschließlich einer objektorientierten Programmiersprache wie etwa Smalltalk, C++ oder dergleichen und prozeduralen Programmiersprachen wie etwa der Programmiersprache „C“ oder ähnlichen Programmiersprachen geschrieben ist, sein. Die computerlesbaren Programmanweisungen können vollständig in dem Computer des Benutzers, teilweise in dem Computer des Benutzers, als selbstständiges Softwarepaket, teilweise in dem Computer des Benutzers und teilweise in einem fernen Computer oder vollständig in dem fernen Computer oder Server ausgeführt werden. In dem letzteren Szenarium kann der ferne Computer über irgendeinen Typ eines Netzes, einschließlich eines lokalen Netzes (LAN) oder eines Weitverkehrsnetzes (WAN), mit dem Computer des Benutzers verbunden sein oder kann die Verbindung mit dem externen Computer (z. B. unter Verwendung eines Internetdienstanbieters über das Internet) hergestellt sein. Gemäß einigen Ausführungsformen kann eine elektronische Schaltungsanordnung, einschließlich z. B. einer programmierbaren Logikschaltungsanordnung, freiprogrammierbarer logischer Anordnungen (FPGA) oder programmierbarer Logikanordnungen (PLA), die computerlesbare Programmanweisung durch Nutzung von Zustandsinformationen der computerlesbaren Programmanweisungen, um die elektronische Schaltungsanordnung zu personalisieren, damit sie Aspekte der vorliegenden Lehren ausführt, ausführen.
-
Aspekte der vorliegenden Lehren sind hier in Bezug auf Ablaufplandarstellungen und/oder Blockdarstellungen von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen beschrieben. Selbstverständlich kann jeder Block der Ablaufplandarstellungen und/oder Blockdarstellungen und können Kombinationen von Blöcken in den Ablaufplandarstellungen und/oder Blockdarstellungen durch computerlesbare Programmanweisungen implementiert werden.
-
Diese computerlesbaren Programmanweisungen können für einen Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine derart herzustellen, dass die Anweisungen, die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, Mittel zum Implementieren der Funktionen/Tätigkeiten, die in dem Ablaufplan und/oder in dem einen oder in den mehreren Blockdarstellungsblöcken spezifiziert sind, zu erzeugen. Diese computerlesbaren Programmanweisungen können ebenfalls in einem computerlesbaren Ablagespeichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Vorrichtungen anweisen kann, in einer bestimmten Weise zu fungieren, damit das computerlesbare Ablagespeichermedium mit darauf gespeicherten Anweisungen einen Herstellungsartikel umfasst, der Anweisungen enthält, die Aspekte der Funktion/Tätigkeit, die in dem Ablaufplan und/oder in dem bzw. den Blockdarstellungsblöcken spezifiziert sind, implementieren.
-
Außerdem können die computerlesbaren Programmanweisungen in einen Computer, in eine andere programmierbare Datenverarbeitungsvorrichtung oder in eine andere Vorrichtung geladen werden, um zu veranlassen, dass in dem Computer, in der anderen programmierbaren Vorrichtung oder in einer anderen Vorrichtung eine Reihe von Operationsschritten zum Herstellen eines computerimplementierten Prozesses ausgeführt werden, damit die Anweisungen, die in dem Computer, in der anderen programmierbaren Vorrichtung oder in der anderen Vorrichtung ausgeführt werden, die in dem Ablaufplan und/oder in dem einen bzw. in den mehreren Blockdarstellungsblöcken spezifizierten Funktionen/Tätigkeiten implementieren.
-
Der Ablaufplan und die Blockdarstellungen in den Figuren stellen die Architektur, die Funktionalität und den Betrieb möglicher Implementierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen dar. Diesbezüglich kann jeder Block in dem Ablaufplan oder in den Blockdarstellungen ein Modul, ein Segment oder Teile von Anweisungen repräsentieren, die eine oder mehrere ausführbare Anweisungen zum Implementieren der spezifizierten Logikfunktion(en) umfassen. Gemäß einigen alternativen Implementierungen können die in den Blöcken erwähnten Funktionen in einer anderen als der in den Figuren erwähnten Reihenfolge stattfinden. Zum Beispiel können zwei aufeinanderfolgend gezeigte Blöcke in Abhängigkeit von der betroffenen Funktionalität tatsächlich im Wesentlichen gleichzeitig ausgeführt werden oder können die Blöcke gelegentlich in der umgekehrten Reihenfolge ausgeführt werden. Außerdem wird angemerkt, dass jeder Block der Blockdarstellungen und/oder der Ablaufplandarstellung und Kombinationen von Blöcken in den Blockdarstellungen und/oder in der Ablaufplandarstellung durch Hardware-gestützte Spezialsysteme implementiert werden können, die die spezifizierten Funktionen ausführen oder die Kombinationen dieser Spezialhardware und Computeranweisungen bewirken oder ausführen.
-
Die Beschreibungen der verschiedenen Ausführungsformen sind zur Veranschaulichung dargestellt worden, sollen aber nicht erschöpfend sein oder die offenbarten Ausführungsformen beschränken. Für den Durchschnittsfachmann gehen viele Änderungen und Varianten, ohne von dem Schutzumfang und Erfindungsgedanken der beschriebenen Ausführungsformen abzuweichen, hervor. Die hier verwendeten Termini wurden gewählt, um die Prinzipien der Ausführungsformen, die praktische Anwendung oder die technische Verbesserung gegenüber im Markt zu findenden Technologien am besten zu erläutern oder um zu ermöglichen, dass ein anderer Durchschnittsfachmann die hier beschriebenen Ausführungsformen versteht.