-
GEBIET DER TECHNIK
-
Die Offenbarung betrifft tiefe neuronale Netze in einem Fahrzeug.
-
ALLGEMEINER STAND DER TECHNIK
-
Bilder können durch Sensoren erlangt und unter Verwendung eines Computers verarbeitet werden, um Daten bezüglich Objekten in einer Umgebung um ein System zu bestimmen. Der Betrieb eines Erfassungssystems kann Erlangen genauer und aktueller Daten bezüglich Objekten in der Umgebung des Systems beinhalten. Ein Computer kann Bilder von einem oder mehreren Bildsensoren erlangen, die verarbeitet werden können, um Daten bezüglich Objekten zu bestimmen. Aus Bildern von Objekten extrahierte Daten können von einem Computer verwendet werden, um Systeme zu betreiben, die Fahrzeuge, Roboter, Sicherheitssysteme und/oder Objektverfolgungssysteme beinhalten.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
- 1 ist ein Blockdiagramm eines beispielhaften Verkehrsinfrastruktursystems.
- 2 ist eine Darstellung eines beispielhaften Bilds einer Verkehrsszene.
- 3 ist eine Darstellung eines beispielhaften Bilds einer Verkehrsszene, das detektierte Objekte beinhaltet.
- 4 ist eine Darstellung eines beispielhaften neuronalen Faltungsnetzes.
- 5 ist eine Darstellung eines beispielhaften rekurrenten neuronalen Netzes.
- 6 ist eine Darstellung eines beispielhaften Objektdetektionssystems.
- 7 ist eine Darstellung eines beispielhaften Bilds einer Verkehrsszene, das detektierte Objekte beinhaltet.
- 8 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum Betreiben eines Fahrzeugs auf Grundlage eines Detektierens von Objekten.
-
KURZDARSTELLUNG
-
Wie in dieser Schrift beschrieben, kann ein DNN (deep neural network - tiefes neuronales Netz), das auf einem Computer in einem Fahrzeug ausgeführt wird, verwendet werden, um Objekte im Verkehr zu lokalisieren und einen Fahrzeugweg zu bestimmen, der einen Kontakt mit den Objekten vermeidet. Typischerweise können DNN sich bewegende Objekte in einer Verkehrsszene identifizieren und lokalisieren, haben jedoch Schwierigkeiten, zu bestimmen, welche sich bewegenden Objekte ein Fahrzeug kontaktieren könnten und bei welchen sich bewegenden Objekte es unwahrscheinlich ist, dass sie das Fahrzeug kontaktieren. Durch Hinzufügen eines rekursiven neuronalen Netzes (recursive neural network - RNN), das Aufmerksamkeitsmechanismen beinhaltet, zu dem DNN kann eine Sequenz von Einzelbildern von Videodaten verwenden, um Daten bezüglich sich bewegender Objekte in dem Sichtfeld von in dem Fahrzeug beinhalteten Sensoren zu bestimmen.
-
Ein Aufmerksamkeitsmechanismus ist ein DNN, das dazu konfiguriert ist, unabhängig von der räumlichen Entfernung zwischen den Elementen zu lernen, welche Eingabeelemente mit korrekten Ergebnissen korreliert sind. Aufmerksamkeitsmechanismen können Daten als ein erstes eindimensionales Array mit einem zweiten eindimensionalen Array von Gewichtungen, das die gleiche Anzahl von Elementen wie das erste aufweist, eingeben. Während des Trainings werden die Gewichtungen aller Datenelemente, die zu einer korrekten Antwort beitragen, erhöht. Zur Inferenzzeit werden während des Trainings erlernte Gewichtungen Eingabedatenelementen zugewiesen, um anzugeben, welche Datenelemente beim Bestimmen korrekter Ergebnisse zu verarbeiten sind (z. B. „auf die zu achten ist“). Das Hinzufügen eines RNN und von Aufmerksamkeitsmechanismen kann die Bestimmung darüber verbessern, bei welchen sich bewegenden Objekten es wahrscheinlich ist, dass sie ein Fahrzeug kontaktieren, indem zusätzlich zu dem sich bewegenden Fahrzeug selbst räumliche und zeitliche Daten eingeschlossen werden, die in Videostromdaten beinhaltet sind. Beispiele für Objektmerkmale und Vollbildmerkmale werden nachstehend in Bezug auf 6 gegeben. Der Computer kann einen Antriebsstrang, eine Lenkung und Bremsen des Fahrzeugs steuern, um das Fahrzeug dazu zu veranlassen, entlang eines vorbestimmten Fahrzeugwegs zu fahren die sich bewegenden Objekten zu umgehen.
-
Zusätzlich zu einer Fahrzeugführung kann ein Erfassungssystem Daten, zum Beispiel Bilddaten, bezüglich einer Umgebung um das System erlangen und die Daten verarbeiten, um Identitäten und/oder Positionen von Objekten zu bestimmen. Zum Beispiel kann das DNN trainiert und dann verwendet werden, um Objekte in Bilddaten, die durch Sensoren erlangt werden, in Systemen zu bestimmen, die Fahrzeugführung, Roboterbetrieb, Sicherheit, Fertigung und Produktverfolgung beinhalten. Durch Einschließen von Aufmerksamkeitsmechanismen und RNN kann die Bestimmung von Identitäten und/oder Positionen von Objekten verbessert werden, indem räumliche und zeitliche Daten aus der gesamten Szene um das Objekt auf Grundlage von Videostromdaten verarbeitet werden.
-
Fahrzeugführung kann einen Betrieb von Fahrzeugen in autonomen oder teilautonomen Modi in Umgebungen beinhalten, die eine Vielzahl von Objekten beinhalten. Roboterführung kann Führen eines Roboterendeffektors, zum Beispiel eines Greifers, beinhalten, um ein Teil aufzunehmen und das Teil zur Montage in einer Umgebung auszurichten, die eine Vielzahl von Teilen beinhaltet. Sicherheitssysteme beinhalten Merkmale, bei denen ein Computer Videodaten von einer Kamera erlangt, die einen sicheren Bereich beobachtet, um autorisierten Benutzern Zugang bereitzustellen und nicht autorisierten Zutritt in einer Umgebung zu detektieren, die eine Vielzahl von Benutzern beinhaltet. In einem Fertigungssystem kann das DNN die Position und Ausrichtung eines oder mehrerer Teile in einer Umgebung bestimmen, die eine Vielzahl von Teilen beinhaltet. In einem Produktverfolgungssystem kann ein tiefes neuronales Netz eine Position und Ausrichtung eines oder mehrerer Pakete in einer Umgebung bestimmen, die eine Vielzahl von Paketen beinhaltet.
-
Fahrzeugführung wird in dieser Schrift als nicht einschränkendes Beispiel für die Verwendung eines Computers zum Detektieren von Objekten, zum Beispiel Fahrzeugen und Fußgängern, in einer Verkehrsszene und zum Bestimmen eines Fahrzeugwegs zum Betreiben eines Fahrzeugs auf Grundlage der detektierten Objekte beschrieben. Eine Verkehrsszene ist eine Umgebung um ein Verkehrsinfrastruktursystem oder ein Fahrzeug, die einen Abschnitt einer Fahrbahn und Objekte, einschließlich Fahrzeugen und Fußgängern usw., beinhalten kann. Zum Beispiel kann eine Rechenvorrichtung in einem Fahrzeug oder einem Verkehrsinfrastruktursystem dazu programmiert sein, ein oder mehrere Bilder von einem oder mehreren Sensoren, die in dem Fahrzeug oder dem Verkehrsinfrastruktursystem beinhaltet sind, zu erlangen, Objekte in den Bildern zu detektieren und Kennzeichnungen, die die Objekte identifizieren, zusammen mit Positionen der Objekte zu kommunizieren.
-
Vorteilhafterweise fügen in dieser Schrift erörterte Techniken dem DNN/RNN-Prozess Aufmerksamkeitsmechanismen hinzu, um zu bestimmen, bei welchen sich bewegenden Objekten es wahrscheinlich ist, dass sie eine Bedrohung für ein Fahrzeug darstellen, d. h. das Fahrzeug möglicherweise zu einem zukünftigen Zeitpunkt kontaktieren, und welche sich bewegenden Objekte keine Bedrohung darstellen, d. h. bei denen es unwahrscheinlich ist, dass sie das Fahrzeug zu einem zukünftigen Zeitpunkt kontaktieren. In dieser Schrift erörterte Techniken können bestimmen, wo und wann ein Kontakt zwischen einem Fahrzeug und sich bewegenden Objekten auftreten kann. Das Bestimmen, wo und wann ein Kontakt zwischen einem Fahrzeug und sich bewegenden Objekten auftreten kann, ermöglicht es dem Computer, einen Fahrzeugweg zu bestimmen, der einen Kontakt mit sich bewegenden Objekten vermeidet, während sich bewegende Objekte, bei denen es unwahrscheinlich ist, dass sie das Fahrzeug kontaktieren, ignoriert werden.
-
In dieser Schrift ist ein Verfahren offenbart, das Folgendes beinhaltet: Erlangen einer Vielzahl von Videoeinzelbildern mit einem Sensor, der in einer Vorrichtung beinhaltet ist, Eingeben der Vielzahl von Videoeinzelbildern in ein erstes tiefes neuronales Netz, um ein oder mehrere Objekte, die in der Vielzahl von Videoeinzelbildern beinhaltet sind, zu bestimmen, und Eingeben der Objekte in ein zweites tiefes neuronales Netz, um Objektmerkmale und Vollbildmerkmale zu bestimmen. Die Objektmerkmale und die Vollbildmerkmale können in ein drittes tiefes neuronales Netz eingegeben werden, um räumliche Aufmerksamkeitsgewichtungen für die Objektmerkmale und die Vollbildmerkmale zu bestimmen, und in ein viertes tiefes neuronales Netz eingegeben werden, um zeitliche Aufmerksamkeitsgewichtungen für die Objektmerkmale und die Vollbildmerkmale zu bestimmen. Die Objektmerkmale, die Vollbildmerkmale, die räumlichen Aufmerksamkeitsgewichtungen und die zeitlichen Aufmerksamkeitsgewichtungen können in ein fünftes tiefes neuronales Netz eingegeben werden, um Vorhersagen bezüglich des einen oder der mehreren Objekte, die in der Vielzahl von Videoeinzelbildern beinhaltet sind, zu bestimmen. Die Vorhersagen bezüglich des einen oder der mehreren Objekte können Wahrscheinlichkeiten beinhalten, dass die Vorrichtung eines oder mehrere der Objekte kontaktiert. Die Vorrichtung kann ein Fahrzeug sein und das Fahrzeug kann auf Grundlage der Vorhersagen bezüglich des einen oder der mehreren Objekte betrieben werden.
-
Das erste tiefe neuronale Netz und das zweite tiefe neuronale Netz können neuronale Faltungsnetze sein, die eine Vielzahl von Faltungsschichten und eine Vielzahl von vollständig verbundenen Schichten beinhalten. Das dritte tiefe neuronale Netz kann ein aufmerksamkeitsbasiertes neuronales Netz sein. Das dritte tiefe neuronale Netz kann eindimensionale Arrays ausgeben, die die Objektmerkmale, die Vollbildmerkmale und die räumlichen Aufmerksamkeitsgewichtungen beinhalten. Das vierte tiefe neuronale Netz kann ein aufmerksamkeitsbasiertes neuronales Netz sein. Das vierte tiefe neuronale Netz kann eindimensionale Arrays, die die Objektmerkmale, die Vollbildmerkmale und die zeitlichen Aufmerksamkeitsgewichtungen beinhalten, auf Grundlage von verborgenen Variablen, die aus dem fünften tiefen neuronalen Netz eingegeben werden, ausgeben. Das fünfte tiefe neuronale Netz kann ein rekurrentes neuronales Netz sein, das eine Vielzahl von vollständig verbundenen Schichten beinhaltet, die verborgene Variablen zu und von einem oder mehreren Speichern übertragen. Das erste, zweite, dritte, vierte und fünfte tiefe neuronale Netz können trainiert werden, indem eine Verlustfunktion auf Grundlage von Vorhersagen bezüglich des einen oder der mehreren Objekte und Ground Truth bezüglich des einen oder der mehreren Objekte bestimmt wird. Die Verlustfunktion kann durch das erste, zweite, dritte und vierte tiefe neuronale Netz rückpropagiert werden, um Parametergewichtungen zu bestimmen, die in dem ersten, zweiten, dritten und vierten tiefen neuronalen Netz beinhaltet sind. Die Verlustfunktion kann eine Wahrscheinlichkeit eines Kontakts für ein Einzelbild eines Videostroms, der eine Vielzahl von Einzelbildern und einen Kontakt bei einem Einzelbild beinhaltet, die mit einer Rate von f Einzelbildern pro Sekunde erlangt wurde, eine Exponentialfunktion auf Einzelbildebene und eine Softmax-Kreuzentropie-Verlustfunktion beinhalten. Die Vorhersagen bezüglich des einen oder der mehreren Objekte können Ausgeben von Begrenzungsrahmen beinhalten, die die Objekte beinhalten. Die Ground Truth kann eine Wahrscheinlichkeit eines Kontakts mit dem einen oder den mehreren Objekten beinhalten.
-
Ferner ist ein computerlesbares Medium offenbart, das Programmanweisungen zum Ausführen einiger oder aller der vorstehenden Verfahrensschritte speichert. Ferner offenbart ist ein Computer, der zum Ausführen einiger oder aller der vorstehenden Verfahrensschritte programmiert ist, einschließlich einer Computereinrichtung, die zu Folgendem programmiert ist: Erlangen einer Vielzahl von Videoeinzelbildern mit einem Sensor, der in einer Vorrichtung beinhaltet ist, Eingeben der Vielzahl von Videoeinzelbildern in ein erstes tiefes neuronales Netz, um ein oder mehrere Objekte, die in der Vielzahl von Videoeinzelbildern beinhaltet sind, zu bestimmen, und Eingeben der Objekte in ein zweites tiefes neuronales Netz, um Objektmerkmale und Vollbildmerkmale zu bestimmen. Die Objektmerkmale und die Vollbildmerkmale können in ein drittes tiefes neuronales Netz eingegeben werden, um räumliche Aufmerksamkeitsgewichtungen für die Objektmerkmale und die Vollbildmerkmale zu bestimmen, und in ein viertes tiefes neuronales Netz eingegeben werden, um zeitliche Aufmerksamkeitsgewichtungen für die Objektmerkmale und die Vollbildmerkmale zu bestimmen. Die Objektmerkmale, die Vollbildmerkmale, die räumlichen Aufmerksamkeitsgewichtungen und die zeitlichen Aufmerksamkeitsgewichtungen können in ein fünftes tiefes neuronales Netz eingegeben werden, um Vorhersagen bezüglich des einen oder der mehreren Objekte, die in der Vielzahl von Videoeinzelbildern beinhaltet sind, zu bestimmen. Die Vorhersagen bezüglich des einen oder der mehreren Objekte können Wahrscheinlichkeiten beinhalten, dass die Vorrichtung eines oder mehrere der Objekte kontaktiert. Die Vorrichtung kann ein Fahrzeug sein und das Fahrzeug kann auf Grundlage der Vorhersagen bezüglich des einen oder der mehreren Objekte betrieben werden.
-
Die Anweisungen können weitere Anweisungen beinhalten, wobei das erste tiefe neuronale Netz und das zweite tiefe neuronale Netz neuronale Faltungsnetze sein können, die eine Vielzahl von Faltungsschichten und eine Vielzahl von vollständig verbundenen Schichten beinhalten. Das dritte tiefe neuronale Netz kann ein aufmerksamkeitsbasiertes neuronales Netz sein. Das dritte tiefe neuronale Netz kann eindimensionale Arrays ausgeben, die die Objektmerkmale, die Vollbildmerkmale und die räumlichen Aufmerksamkeitsgewichtungen beinhalten. Das vierte tiefe neuronale Netz kann ein aufmerksamkeitsbasiertes neuronales Netz sein. Das vierte tiefe neuronale Netz kann eindimensionale Arrays, die die Objektmerkmale, die Vollbildmerkmale und die zeitlichen Aufmerksamkeitsgewichtungen beinhalten, auf Grundlage von verborgenen Variablen, die aus dem fünften tiefen neuronalen Netz eingegeben werden, ausgeben. Das fünfte tiefe neuronale Netz kann ein rekurrentes neuronales Netz sein, das eine Vielzahl von vollständig verbundenen Schichten beinhaltet, die verborgene Variablen zu und von einem oder mehreren Speichern übertragen. Das erste, zweite, dritte, vierte und fünfte tiefe neuronale Netz können trainiert werden, indem eine Verlustfunktion auf Grundlage von Vorhersagen bezüglich des einen oder der mehreren Objekte und Ground Truth bezüglich des einen oder der mehreren Objekte bestimmt wird. Die Verlustfunktion kann durch das erste, zweite, dritte und vierte tiefe neuronale Netz rückpropagiert werden, um Parametergewichtungen zu bestimmen, die in dem ersten, zweiten, dritten und vierten tiefen neuronalen Netz beinhaltet sind. Die Verlustfunktion kann eine Wahrscheinlichkeit eines Kontakts für ein Einzelbild eines Videostroms, der eine Vielzahl von Einzelbildern und einen Kontakt bei einem Einzelbild beinhaltet, die mit einer Rate von f Einzelbildern pro Sekunde erlangt wurde, eine Exponentialfunktion auf Einzelbildebene und eine Softmax-Kreuzentropie-Verlustfunktion beinhalten. Die Vorhersagen bezüglich des einen oder der mehreren Objekte können Ausgeben von Begrenzungsrahmen beinhalten, die die Objekte beinhalten. Die Ground Truth kann eine Wahrscheinlichkeit eines Kontakts mit dem einen oder den mehreren Objekten beinhalten.
-
DETAILLIERTE BESCHREIBUNG
-
1 ist eine Darstellung eines Erfassungssystems 100, das einen Verkehrsinfrastrukturknoten 105 beinhalten kann, der einen Servercomputer 120 und stationäre Sensoren 122 beinhaltet. Das Erfassungssystem 100 beinhaltet ein Fahrzeug 110, das in einem autonomen („autonom“ für sich bedeutet in dieser Offenbarung „vollautonom“), einem teilautonomen und einem insassengesteuerten (auch als nicht autonom bezeichneten) Modus betreibbar ist. Eine oder mehrere Rechenvorrichtungen 115 des Fahrzeugs 110 können Daten bezüglich des Betriebs des Fahrzeugs 110 von Sensoren 116 empfangen. Die Rechenvorrichtung 115 kann das Fahrzeug 110 in einem autonomen Modus, einem teilautonomen Modus oder einem nicht autonomen Modus betreiben.
-
Die Rechenvorrichtung 115 beinhaltet einen Prozessor und einen Speicher, wie sie bekannt sind. Ferner beinhaltet der Speicher eine oder mehrere Formen von computerlesbaren Medien und speichert Anweisungen, die durch den Prozessor zum Durchführen verschiedener Vorgänge ausführbar sind, die diejenigen beinhalten, die in dieser Schrift offenbart sind. Zum Beispiel kann die Rechenvorrichtung 115 Programmierung beinhalten, um eines oder mehrere von Bremsen, Antrieb (d. h. Steuerung der Beschleunigung in dem Fahrzeug 110 durch Steuern von einem oder mehreren von einer Brennkraftmaschine, einem Elektromotor, einem Hybridmotor usw.), Lenkung, Klimatisierung, Innen- und/oder Außenleuchten usw. des Fahrzeugs zu betreiben sowie um zu bestimmen, ob und wann die Rechenvorrichtung 115 im Gegensatz zu einem menschlichen Bediener derartige Vorgänge steuern soll.
-
Die Rechenvorrichtung 115 kann mehr als eine Rechenvorrichtung, d. h. Steuerungen oder dergleichen, die in dem Fahrzeug 110 zum Überwachen und/oder Steuern verschiedener Fahrzeugkomponenten beinhaltet sind, d. h. eine Antriebsstrangsteuerung 112, eine Bremssteuerung 113, eine Lenksteuerung 114 usw., beinhalten oder kommunikativ daran gekoppelt sein, d. h. über einen Fahrzeugkommunikationsbus, wie nachstehend näher beschrieben. Die Rechenvorrichtung 115 ist im Allgemeinen zur Kommunikation über ein Fahrzeugkommunikationsnetzwerk angeordnet, d. h., das einen Bus in dem Fahrzeug 110, wie etwa einen Controller Area Network (CAN) oder dergleichen, beinhaltet; das Netzwerk des Fahrzeugs 110 kann alternativ oder zusätzlich drahtgebundene oder drahtlose Kommunikationsmechanismen beinhalten, wie sie bekannt sind, d. h. Ethernet oder andere Kommunikationsprotokolle.
-
Über das Fahrzeugnetzwerk kann die Rechenvorrichtung 115 Nachrichten an verschiedene Vorrichtungen in dem Fahrzeug übermitteln und/oder Nachrichten von den verschiedenen Vorrichtungen, d. h. Steuerungen, Aktoren, Sensoren usw., einschließlich der Sensoren 116, empfangen. Alternativ oder zusätzlich kann in Fällen, in denen die Rechenvorrichtung 115 tatsächlich mehrere Vorrichtungen umfasst, das Fahrzeugkommunikationsnetzwerk zur Kommunikation zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als die Rechenvorrichtung 115 dargestellt sind. Ferner können, wie nachstehend erwähnt, verschiedene Steuerungen oder Erfassungselemente, wie etwa die Sensoren 116, der Rechenvorrichtung 115 Daten über das Fahrzeugkommunikationsnetzwerk bereitstellen.
-
Zusätzlich kann die Rechenvorrichtung 115 dazu konfiguriert sein, über ein Netzwerk 130, das, wie nachstehend beschrieben, Hardware, Firmware und Software beinhaltet, die es der Rechenvorrichtung 115 erlauben, über ein Netzwerk 130, wie etwa drahtloses Internet (WI-FI®) oder Mobilfunknetze, mit einem entfernten Servercomputer 120 zu kommunizieren, durch eine Fahrzeug-Infrastruktur-(F-I-)Schnittstelle 111 mit einem entfernten Servercomputer 120, d. h. einem Cloud-Server, zu kommunizieren. Die F-I-Schnittstelle 111 kann dementsprechend Prozessoren, Speicher, Sendeempfänger usw. beinhalten, die dazu konfiguriert sind, verschiedene drahtgebundene und/oder drahtlose Netzwerktechnologien zu nutzen, d. h. Mobilfunk, BLUETOOTH® und drahtgebundene und/oder drahtlose Paketnetzwerke. Die Rechenvorrichtung 115 kann dazu konfiguriert sein, mit anderen Fahrzeugen 110 durch die F-I-Schnittstelle 111 unter Verwendung von Fahrzeug-Fahrzeug-(F-F-)Netzwerken, d. h. gemäß dedizierter Nahbereichskommunikation (Dedicated Short Range Communications - DSRC) und/oder dergleichen, zu kommunizieren, d. h., die auf Ad-hoc-Basis zwischen Fahrzeugen 110 in der Nähe gebildet werden oder durch infrastrukturbasierte Netzwerke gebildet werden. Die Rechenvorrichtung 115 beinhaltet zudem nicht flüchtigen Speicher, wie er bekannt ist. Die Rechenvorrichtung 115 kann Daten durch Speichern von Daten zum späteren Abrufen und Übermitteln über das Fahrzeugkommunikationsnetzwerk und eine Fahrzeug-Infrastruktur-(F-I-)Schnittstelle 111 an einen Servercomputer 120 oder eine mobile Benutzervorrichtung 160 in nicht flüchtigem Speicher protokollieren.
-
Wie bereits erwähnt, ist in Anweisungen, die in dem Speicher gespeichert und durch den Prozessor der Rechenvorrichtung 115 ausführbar sind, im Allgemeinen Programmierung zum Betreiben einer oder mehrerer Komponenten des Fahrzeugs 110, d. h. Bremsung, Lenkung, Antrieb usw., ohne Eingreifen eines menschlichen Bedieners beinhaltet. Unter Verwendung in der Rechenvorrichtung 115 empfangener Daten, d. h. der Sensordaten von den Sensoren 116, dem Servercomputer 120 usw., kann die Rechenvorrichtung 115 verschiedene Bestimmungen vornehmen und/oder verschiedene Komponenten und/oder Vorgänge des Fahrzeugs 110 ohne einen Fahrer zum Betreiben des Fahrzeugs 110 steuern. Zum Beispiel kann die Rechenvorrichtung 115 Programmierung zum Regulieren des Betriebsverhaltens des Fahrzeugs 110 (d. h. physischer Manifestationen des Betriebs des Fahrzeugs 110), wie etwa einer Geschwindigkeit, Beschleunigung, Abbremsung, Lenkung usw., sowie des taktischen Verhaltens (d. h. Steuerung des Betriebsverhaltens typischerweise auf eine Weise, die ein effizientes Abfahren einer Route erreichen soll), wie etwa eines Abstands zwischen Fahrzeugen und/oder eines Zeitraums zwischen Fahrzeugen, Fahrstreifenwechseln, des Mindestabstands zwischen Fahrzeugen, der Mindestzeit zur Wegquerung bei Linksabbiegung, der Zeit bis zur Ankunft an einem bestimmten Ort und der Mindestzeit bis zur Ankunft an einer Kreuzung (ohne Ampel) zum Überqueren der Kreuzung beinhalten.
-
Steuerungen, wie dieser Ausdruck in dieser Schrift verwendet wird, beinhalten Rechenvorrichtungen, die typischerweise dazu programmiert sind, ein spezifisches Fahrzeugteilsystem zu überwachen und/oder zu steuern. Beispiele beinhalten eine Antriebsstrangsteuerung 112, eine Bremssteuerung 113 und eine Lenksteuerung 114. Eine Steuerung kann eine elektronische Steuereinheit (electronic control unit - ECU) sein, wie sie bekannt ist, die möglicherweise zusätzliche Programmierung beinhaltet, wie in dieser Schrift beschrieben. Die Steuerungen können kommunikativ mit der Rechenvorrichtung 115 verbunden sein und Anweisungen von dieser empfangen, um das Teilsystem gemäß den Anweisungen zu betätigen. Zum Beispiel kann die Bremssteuerung 113 Anweisungen zum Betreiben der Bremsen des Fahrzeugs 110 von der Rechenvorrichtung 115 empfangen.
-
Die eine oder die mehreren Steuerungen 112, 113, 114 für das Fahrzeug 110 können bekannte elektronische Steuereinheiten (ECU) oder dergleichen beinhalten, die als nicht einschränkende Beispiele eine oder mehrere Antriebsstrangsteuerungen 112, eine oder mehrere Bremssteuerungen 113 und eine oder mehrere Lenksteuerungen 114 beinhalten. Jede der Steuerungen 112, 113, 114 kann jeweilige Prozessoren und Speicher und einen oder mehrere Aktoren beinhalten. Die Steuerungen 112, 113, 114 können mit einem Kommunikationsbus des Fahrzeugs 110 programmiert und verbunden sein, wie etwa einem Controller-Area-Network-(CAN-)Bus oder einem Local-Interconnect-Network-(LIN-)Bus, um Anweisungen von der Rechenvorrichtung 115 zu empfangen und Aktoren auf Grundlage der Anweisungen zu steuern.
-
Die Sensoren 116 können eine Vielfalt von Vorrichtungen beinhalten, die für die Bereitstellung von Daten über den Fahrzeugkommunikationsbus bekannt sind. Zum Beispiel kann ein Radar, das an einem vorderen Stoßfänger (nicht gezeigt) des Fahrzeugs 110 befestigt ist, einen Abstand von dem Fahrzeug 110 zu einem nächsten Fahrzeug vor dem Fahrzeug 110 bereitstellen oder kann ein Sensor des globalen Positionsbestimmungssystems (GPS), der in dem Fahrzeug 110 angeordnet ist, geografische Koordinaten des Fahrzeugs 110 bereitstellen. Der/die durch das Radar und/oder die anderen Sensoren 116 bereitgestellte(n) Abstand/Abstände und/oder die durch den GPS-Sensor bereitgestellten geografischen Koordinaten können durch die Rechenvorrichtung 115 verwendet werden, um das Fahrzeug 110 zum Beispiel autonom oder teilautonom zu betreiben.
-
Das Fahrzeug 110 ist im Allgemeinen ein Landfahrzeug 110, das zu autonomem und/oder teilautonomem Betrieb fähig ist und drei oder mehr Räder aufweist, d. h. ein Pkw, ein Leichtlaster usw. Das Fahrzeug 110 beinhaltet einen oder mehrere Sensoren 116, die F-I-Schnittstelle 111, die Rechenvorrichtung 115 und eine oder mehrere Steuerungen 112, 113, 114. Die Sensoren 116 können Daten in Bezug auf das Fahrzeug 110 und die Umgebung, in der das Fahrzeug 110 betrieben wird, sammeln. Beispielsweise und nicht einschränkend können die Sensoren 116 z. B. Höhenmesser, Kameras, LIDAR, Radar, Ultraschallsensoren, Infrarotsensoren, Drucksensoren, Beschleunigungsmesser, Gyroskope, Temperatursensoren, Drucksensoren, Hall-Sensoren, optische Sensoren, Spannungssensoren, Stromsensoren, mechanische Sensoren, wie etwa Schalter, usw. beinhalten. Die Sensoren 116 können verwendet werden, um die Umgebung zu erfassen, in der das Fahrzeug 110 betrieben wird, d. h., die Sensoren 116 können Phänomene, wie etwa Wetterbedingungen (Niederschlag, eine äußere Umgebungstemperatur usw.), die Neigung einer Straße, die Position einer Straße (d. h. unter Verwendung von Straßenrändern, Fahrstreifenmarkierungen usw.) oder Positionen von Zielobjekten, wie etwa benachbarten Fahrzeugen 110, detektieren. Die Sensoren 116 können ferner verwendet werden, um Daten zu sammeln, die dynamische Daten zu dem Fahrzeug 110 beinhalten, die sich auf Vorgänge des Fahrzeugs 110 beziehen, wie etwa Geschwindigkeit, Gierrate, Lenkwinkel, Motordrehzahl, Bremsdruck, Öldruck, den auf die Steuerungen 112, 113, 114 in dem Fahrzeug 110 angewendeten Leistungspegel, Konnektivität zwischen Komponenten und genaue und aktuelle Leistungsfähigkeit von Komponenten des Fahrzeugs 110.
-
Fahrzeuge können derart ausgestattet sein, dass sie sowohl in einem autonomen als auch in einem insassengesteuerten Modus betrieben werden können. Unter einem teil- oder vollautonomen Modus wird ein Betriebsmodus verstanden, in dem ein Fahrzeug teilweise oder vollständig durch eine Rechenvorrichtung als Teil eines Systems, das Sensoren und Steuerungen aufweist, gesteuert werden kann. Das Fahrzeug kann besetzt oder unbesetzt sein, wobei das Fahrzeug in beiden Fällen teilweise oder vollständig ohne Unterstützung eines Insassen gesteuert werden kann. Für die Zwecke dieser Offenbarung ist ein autonomer Modus als ein Modus definiert, in dem jedes von Antrieb (d. h. über einen Antriebsstrang, der eine Brennkraftmaschine und/oder einen Elektromotor beinhaltet), Bremsung und Lenkung des Fahrzeugs durch einen oder mehrere Fahrzeugcomputer gesteuert wird; in einem teilautonomen Modus steuert/steuern der/die Fahrzeugcomputer eines oder mehrere von Antrieb, Bremsung und Lenkung des Fahrzeugs. In einem nicht autonomen Modus wird keines von diesen durch einen Computer gesteuert.
-
Ein Verkehrsinfrastrukturknoten 105 kann eine physische Struktur, wie etwa einen Mast oder eine andere Tragstruktur (d. h. einen Pfahl, einen Kasten, der an einem Brückenträger montierbar ist, einen Mobilfunkmast, einen Straßenschildträger usw.), beinhalten, an der die Infrastruktursensoren 122 sowie der Servercomputer 120 montiert, gelagert und/oder enthalten und mit Leistung versorgt sein können usw. Ein Verkehrsinfrastrukturknoten 105 ist zur Vereinfachung der Veranschaulichung in 1 gezeigt, aber das System 100 könnte und würde wahrscheinlich dutzende, hunderte oder tausende Verkehrsinfrastrukturknoten 105 beinhalten. Der Verkehrsinfrastrukturknoten 105 ist typischerweise stationär, d. h. an einer spezifischen geografischen Position befestigt und nicht dazu in der Lage, sich von dieser wegzubewegen. Die Infrastruktursensoren 122 können einen oder mehrere Sensoren beinhalten, wie etwa vorstehend für die Sensoren 116 des Fahrzeugs 110 beschrieben, d. h. Lidar, Radar, Kameras, Ultraschallsensoren usw. Die Infrastruktursensoren 122 sind befestigt oder stationär. Das heißt, dass jeder Sensor 122 so an dem Infrastrukturknoten montiert ist, dass er ein im Wesentlichen sich nicht bewegendes und sich nicht änderndes Sichtfeld aufweist.
-
Der Servercomputer 120 weist typischerweise Merkmale auf, die er mit der F-I-Schnittstelle 111 des Fahrzeugs 110 und der Rechenvorrichtung 115 gemeinsam hat, und wird daher nicht näher beschrieben, um Redundanz zu vermeiden. Obwohl dies zur Vereinfachung der Veranschaulichung nicht gezeigt ist, beinhaltet der Verkehrsinfrastrukturknoten 105 zudem eine Leistungsquelle, wie etwa eine Batterie, Solarzellen und/oder eine Verbindung mit einem Stromnetz. Ein Servercomputer 120 des Verkehrsinfrastrukturknotens 105 und/oder die Rechenvorrichtung 115 des Fahrzeugs 110 können Daten von den Sensoren 116, 122 empfangen, um ein oder mehrere Objekte zu überwachen. Ein „Objekt“ ist im Kontext dieser Offenbarung eine physische, d. h. materielle, Struktur, die durch einen Fahrzeugsensor 116 und/oder Infrastruktursensor 122 detektiert wird. Ein Objekt kann ein biologisches Objekt, wie etwa ein Mensch, sein. Ein Servercomputer 120 und/oder eine Rechenvorrichtung 115 können eine biometrische Analyse an Objektdaten durchführen, die durch einen Sensor 116/122 erlangt werden.
-
2 ist eine Darstellung eines Bilds 200 einer Verkehrsszene 202. Die Verkehrsszene 202 beinhaltet eine Fahrbahn 204 und drei Objekte 206, 208, 210. Das Bild 200 kann ein Einzelbild von Videostromdaten sein, die durch einen Sensor 116 erlangt werden, der in einem Fahrzeug 110 beinhaltet ist. Der Sensor 116 kann zum Beispiel eine Videokamera sein. In der Verkehrsszene 202 kann das Objekt 206 ein Bus sein, der auf einem benachbarten Fahrstreifen mit Gegenverkehr fährt, und die Objekte 208, 210 können ein Auto bzw. ein Bus sein, die auf Fahrstreifen fahren, die in die gleiche Richtung wie das Fahrzeug 110 führen.
-
3 ist eine Darstellung eines Bilds 300 einer Verkehrsszene 302. Die Verkehrsszene 302 beinhaltet eine Fahrbahn 304 und drei Objekte 306, 308, 310. In diesem Beispiel können die Objekte 306, 308, 310 ein Bus, ein Auto bzw. ein anderer Bus sein. Das Bild 300 kann ein Einzelbild von Videodaten sein, die durch eine Videokamera erlangt werden, die in einem Fahrzeug 110 beinhaltet ist. Das Bild 300 wurde durch ein DNN verarbeitet, um Begrenzungsrahmen 312, 314, 316 um die Objekte 306, 308 bzw. 310 zu bestimmen. Das DNN bestimmt korrekt, dass die Objekte 306, 308, 310 sich bewegende Objekte in der Verkehrsszene 302 sind, bestimmt jedoch nicht, dass sich das Objekt 306 an einer Position befindet und sich in eine Richtung bewegt, sodass eine Wahrscheinlichkeit, dass das Objekt 306 das Fahrzeug 110 kontaktiert, sehr gering ist. Aus diesem Grund stellt das Objekt 306 keine Bedrohung für das Fahrzeug 110 dar und sollte aus diesem Grund nicht in die Fahrzeugwegplanung für das Fahrzeug 110 eingeschlossen werden.
-
4 ist eine Darstellung eines neuronalen Faltungsnetzes (convolutional neural network - CNN) 400. Ein CNN 400 ist ein DNN, das dazu konfiguriert ist, ein Bild 402 einzugeben und Vorhersagen 414 bezüglich des eingegebenen Bilds 402 auszugeben. Das CNN 400 kann eine Vielzahl von Faltungsschichten 404, 406, 408 und eine Vielzahl von vollständig verbundenen Schichten 410, 412 beinhalten. Die Faltungsschichten 404, 406, 408 falten jeweils die Eingabedaten unter Verwendung programmierbarer Faltungskerne und reduzieren typischerweise die Auflösung der Ergebnisse, indem sie einen Wert aus einer Nachbarschaft benachbarter Ergebniswerte bestimmen, um an die nächste Schicht übergeben zu werden. Zum Beispiel kann eine Faltungsschicht 404, 406, 408 maximales Pooling verwenden, um den Maximalwert in einer 2x2-Nachbarschaft von Pixeln auszuwählen, die sich aus der Faltung des Eingabebilds mit einem oder mehreren Faltungskernen ergeben.
-
Die vollständig verbundenen Schichten 410, 412 des CNN 400 geben latente Variablen ein, die von den Faltungsschichten 404, 406, 408 ausgegeben werden, und bestimmen Ausgabevorhersagen 414 auf Grundlage der latenten Variablen. Die vollständig verbundenen Schichten 410, 412 bestimmen programmierbare lineare oder nicht lineare Funktionen der Eingabevariablen, um Ausgabevorhersagen 414 zu bestimmen. In dem ersten DNN 604 aus 6 sind die Ausgabevorhersagen 414 Objektpositionen und -kennzeichnungen. In dem zweiten DNN 608 aus 6 sind die Ausgabevorhersagen 414 Objekt- und Vollbildmerkmale.
-
5 ist eine Darstellung eines rekurrenten neuronalen Netzes (recurrent neural network - RNN) 500. Das RNN 500 beinhaltet ein DNN 504, das Daten 502 eingibt, die in diesem Beispiel Objektmerkmale sein können. Das RNN 500 beinhaltet einen Speicher 510, der verborgene Variablen aus dem DNN 504 eingibt. Das RNN 500 kann eine Vielzahl von Einzelbildern von Daten 502 eingeben, die zum Beispiel Objektmerkmale beinhalten, die in einer Sequenz von Einzelbildern aus einem Videostrom beinhaltet sind. Wenn Daten 502 von jedem Einzelbild aus einem Videostrom durch das DNN 504 verarbeitet werden, werden verborgene Variablen 508, die einen Zustand des DNN 504 angeben, und Verarbeitungsergebnisse an den Speicher 510 ausgegeben. Gleichzeitig können verborgene Variablen 512 aus vorherigen Daten 502, die durch das DNN 504 verarbeitet wurden, durch den Speicher 510 ausgegeben werden, um zusammen mit aktuellen Daten 502 verarbeitet zu werden. Für jedes eingegebene Einzelbild von Daten 502 kann das DNN 504 Vorhersagen 506 auf Grundlage von aktuellen Daten 502 und zuvor verarbeiteten Daten 502 ausgeben. Das RNN 500 kann unter Verwendung von Verlustfunktionen, wie nachstehend in Gleichung (1) beschrieben, trainiert werden, um auf das DNN 504 anzuwendende Gewichtungen auf Grundlage eines Vergleichs der Ground Truth mit den Ausgabevorhersagen 506 zu bestimmen. Ground Truth sind Daten bezüglich eines oder mehrerer Objekte, die in Videostromdaten beinhaltet sind, die in Trainingsdatensätzen beinhaltet sind. Die Ground Truth kann bestimmt werden, indem Benutzer die Videostromdaten betrachten und die Videostromdaten mit Beschreibungen eines möglichen Kontakts zwischen Objekten in den Videostromdaten und Fahrzeugen 110, die die Videostromdaten erlangen, annotieren.
-
6 ist eine Darstellung eines Objektsdetektionssystems 600. Das Objektdetektionssystem 600 gibt Einzelbilder 602 von Videostromdaten, die durch einen in einem Fahrzeug 110 beinhalteten Sensor 116 erlangt werden, in ein erstes tiefes neuronales Netz (DNN) 604 ein. Das erste DNN 604 gibt ein Einzelbild 602 von Videostromdaten ein und gibt detektierte Objekte 606 in dem Einzelbild 602 aus. Detektieren von Objekten 606 bedeutet Bestimmen von Objektkennzeichnungen und -positionen. Objektkennzeichnungen können „Fahrzeug“, „Bus“, „Truck“, „Fußgänger“ und andere Arten von Objekten beinhalten, die typischerweise in Verkehrsszenen 202, 302 zu finden sind. Objektpositionen können in Pixelkoordinaten, die relativ zu einem Einzelbild 602 von Videostromdaten bestimmt werden, oder in realen globalen Koordinaten, die relativ zu einem Fahrzeug 110 bestimmt werden, bestimmt werden. Das erste DNN 604 kann ein neuronales Faltungsnetz (CNN) sein, wie in Bezug auf 5 beschrieben.
-
Die von dem ersten DNN 604 ausgegebenen detektierten Objekte 606 und das eingegebene Einzelbild 602 von Videodaten werden in ein zweites DNN 608 eingegeben, das Merkmale 610 aus den von dem ersten DNN 604 ausgegebenen detektierten Objekten und dem Einzelbild 602 von Videodaten extrahiert. Die Merkmale 610 beinhalten Objektmerkmale und Vollbildmerkmale. Objektmerkmale sind physische Attribute von Objekten, die durch Durchführen von Bildverarbeitungsvorgängen an den Bilddaten, die das Objekt beinhalten, bestimmt werden können. Zum Beispiel können Objektmerkmale Objekthöhe und -breite und Objektausrichtung beinhalten. Andere Objektmerkmale können Abschnitte eines Objekts beinhalten, die durch Bildverarbeitungstechniken bestimmt werden können. Zum Beispiel können Objektmerkmale, die auf Fahrzeuge angewendet werden, Räder, Leuchten, Fenster usw. beinhalten. Vollbildmerkmale können Positionen und/oder Kennzeichnungen für Fahrbahnränder, Fahrstreifen, Verkehrssignale und Verkehrszeichen beinhalten. Das zweite DNN 604 kann ebenfalls ein CNN sein, wie in Bezug auf 5 beschrieben.
-
Merkmale 610, einschließlich Objektmerkmalen und Vollbildmerkmalen, werden an den dynamischen räumlichen Kanal 612 ausgegeben, der zwei DNN beinhaltet, die Aufmerksamkeitsmechanismen beinhalten, um Vorhersagen bezüglich Objekt- und Vollbildmerkmalen auf Grundlage von räumlichen und zeitlichen Eigenschaften der Objektmerkmale und Vollbildmerkmale zu bestimmen. Das räumliche DNN bestimmt Vorhersagen bezüglich Objektmerkmalen und Vollbildmerkmalen durch Bestimmen von Gewichtungen auf Grundlage von räumlichen Beziehungen zwischen den Objektmerkmalen und Vollbildmerkmalen. Zum Beispiel erhalten in einem Fahrzeug beinhaltete Objektmerkmale erhöhte oder verringerte Gewichtungen, abhängig davon, wo die Merkmale in einem Bild in Bezug auf Vollbildmerkmale auftreten. Wenn zum Beispiel Objektmerkmale zwischen Fahrstreifenmarkierungen auftreten, die angeben, dass sich die Objektmerkmale auf demselben Fahrstreifen befinden wie das Fahrzeug 110, das das Bild erlangt, können in den Objektmerkmalen beinhaltete Gewichtungen erhöht werden. Das Erhöhen von Gewichtungen, die in einem Objektmerkmal beinhaltet sind, erhöht eine Wahrscheinlichkeit, dass das räumliche DNN eine Vorhersage ausgibt, die angibt, dass ein Kontakt zwischen Objekten, die die Objektmerkmale beinhalten, und dem Fahrzeug 110 auftreten kann.
-
Der dynamische räumliche Kanal beinhaltet zudem ein zeitliches/räumliches DNN, das Vorhersagen bezüglich Objektmerkmalen und Vollbildmerkmalen auf Grundlage von räumlichen und zeitlichen Eigenschaften der Objektmerkmale und der Vollbildmerkmale bestimmt. Das zeitliche/räumliche DNN hat Eingaben von verborgenen Variablen empfangen, die von dem DSA-RNN 616 ausgegeben werden, die auf der Verarbeitung einer Vielzahl von Einzelbildern von Videostromdaten basieren. Die von dem DSA-RNN ausgegebenen verborgenen Variablen geben zeitliche Eigenschaften der Objektmerkmale und der Vollbildmerkmale an. Zeitliche Eigenschaften können zum Beispiel Richtung und Geschwindigkeit von Objektmerkmalen beinhalten. Die zeitlichen Eigenschaften von Objektmerkmalen können mit Vollbildmerkmalen kombiniert werden, um in den Objektmerkmalen beinhaltete Gewichtungen zu erhöhen oder zu verringern.
-
Wenn zum Beispiel Vollbildmerkmale angeben, dass sich Objektmerkmale auf einem benachbarten Fahrstreifen befinden, und zeitliche Merkmale angeben, dass sich die Objektmerkmale von dem Fahrzeug 110 weg bewegen, würden in den Objektmerkmalen beinhaltete Gewichtungen verringert, um die Wahrscheinlichkeit zu verringern, dass eine Vorhersage ausgegeben würde, die einen Kontakt zwischen einem Objekt, das die Objektmerkmale beinhaltet, und dem Fahrzeug 110 angibt. In anderen Beispielen, in denen räumliche Eigenschaften der Objektmerkmale angeben, dass sie sich auf demselben Fahrstreifen wie das Fahrzeug befinden, und zeitliche Eigenschaften der Objektmerkmale angeben, dass die Objektmerkmale angehalten sind, können in den Objektmerkmalen beinhaltete Gewichtungen erhöht werden, um die Wahrscheinlichkeit zu erhöhen, dass eine Vorhersage ausgegeben werden kann, die einen möglichen Kontakt zwischen einem Objekt, das die Objektmerkmale beinhaltet, und dem Fahrzeug 110 angibt.
-
Das räumliche DNN und das zeitliche/räumliche DNN, die in dem dynamischen räumlichen Kanal 612 beinhaltet sind, geben Vorhersagen bezüglich Objekten auf Grundlage der Wahrscheinlichkeit aus, dass die Merkmale in einem Videostrom beinhaltet sind, der einen Kontakt zwischen einem Objekt 306, 308, 310 und dem Fahrzeug 110 beinhaltet. Zum Beispiel gewichtet der dynamische räumliche Kanal 612 Merkmale, die in den durch die Begrenzungsrahmen 314, 316 angegebenen Objekten 308, 310 beinhaltet sind, als eine hohe Wahrscheinlichkeit eines Kontakts aufweisend, da sie sich auf demselben Fahrstreifen wie das Fahrzeug 110 befinden, das das Einzelbild 602 der Videostromdaten erlangt hat. Das durch den Begrenzungsrahmen 312 angegebene Objekt 306 wird als eine geringe Wahrscheinlichkeit eines Kontakts mit dem Fahrzeug 110 aufweisend gewichtet, da sich das durch den Begrenzungsrahmen 312 angegebene Objekt 306 auf einem Gegenfahrstreifen befindet und in einer Richtung ausgerichtet ist, die es von dem Fahrzeug 110 wegführt.
-
Das räumliche DNN und das zeitliche/räumliche DNN, die in dem dynamischen räumlichen Kanal 612 beinhaltet sind, verwenden räumliche Aufmerksamkeit auf Vollbildmerkmale, um Kontextinformationen zu beziehen, die einer Verkehrsszene 302 zugeordnet sind. Dies ermöglicht es dem dynamischen räumlichen Kanal 612, zusätzlich zu den Objekten Gewichtungsdaten zu bestimmen und zu lernen, sich mit abstrakteren Konzepten zu befassen, zum Beispiel dynamischen Beziehungen zwischen Objektmerkmalen und Vollbildmerkmalen. Durch das Bestimmen von Gewichtungsdaten auf Grundlage von Objektmerkmalen und Vollbildmerkmalen im Zeitverlauf werden den detektierten Objekten Gewichtungen zugewiesen. Zusätzlich zum Ermöglichen einer genauen Lokalisierung ist auch zu beobachten, dass die Verwendung des dynamischen räumlichen Kanals 612 die Vorausschätzung eines Kontakts zwischen Objekten 308, 310 und dem Fahrzeug 110 verbessert. Die Verwendung des dynamischen räumlichen Kanals 612 kann eine unerwünschte und schädliche Ausbreitung von falschen Detektionen von Objekten auf nachgelagerte Aufgaben, wie etwa das Bestimmen von Fahrzeugwegen, abschwächen.
-
Objektmerkmale und Vollbildmerkmalsvorhersagen 614 werden von dem dynamischen räumlichen Kanal 612 an das rekurrente neuronale Netz mit dynamisch-räumlicher Architektur (dynamic spatial architecture-recurrent neural network - DSA-RNN) 616 ausgegeben. Das DSA-RNN 616 beinhaltet ein RNN 500, wie in Bezug auf 5 erörtert. 5 beinhaltet drei Wiedergaben von eingegebenen Objektmerkmalen und Vollbildmerkmalsvorhersagen 618, 622, 626 bei drei Zeitschritten, t1, t2 und tn, da sie in drei Zeitschritten in die RNN 620, 624, 628 eingegeben werden, um die dynamischen Aspekte des Eingebens von Objektmerkmalen und Vollbildmerkmalsvorhersagen 618, 622, 626 aus einer Folge von Einzelbildern 602 von Videostromdaten zu veranschaulichen. Die RNN 620, 624, 628 beinhalten Speicher, der Objektmerkmale und Vollbildmerkmalsvorhersagen 618, 622, 626 im Zeitverlauf nachverfolgen kann, um eine Wahrscheinlichkeit eines Kontakts zwischen Objekten, die die Objektmerkmale beinhalten, mit dem Fahrzeug 110 zu bestimmen. Zum Beispiel können die Geschwindigkeit und Richtung von Objekten, die durch die Begrenzungsrahmen 314, 316 angegeben sind, durch das DSA-RNN 616 nachverfolgt werden, um eine Wahrscheinlichkeit eines Kontakts mit dem Fahrzeug 110 zu bestimmen. Das DSA-RNN 616 gibt Vorhersagen 630 aus, die Objekte und Wahrscheinlichkeiten eines Kontakts mit dem Fahrzeug 110 beinhalten. Das DSA-RNN 616 wird in Bezug auf 6 erörtert.
-
Die Ausgabevorhersagen 630 von dem DSA-RNN 616 werden an die Rechenvorrichtung 115 ausgegeben, um einen Fahrzeugweg für das Fahrzeug 110 zu bestimmen. Wenn sich zum Beispiel Objekte, die durch die Begrenzungsrahmen 314, 316 angegeben sind, mit der gleichen Geschwindigkeit und Richtung bewegen wie das Fahrzeug 110, kann keine Aktion angegeben werden. Wenn die Ausgabevorhersagen 630 von dem DSA-RNN 616 zum Beispiel angeben, dass eines oder mehrere der Objekte, die durch die Begrenzungsrahmen 314, 316 angegeben sind, angehalten sind, kann die Rechenvorrichtung 115 einen Fahrzeugweg bestimmen, der entweder Anhalten des Fahrzeugs 110 oder Bestimmen eines Fahrzeugwegs beinhaltet, der das angehaltene Objekt umgeht. Die Rechenvorrichtung 115 kann dann Befehle an die Steuerungen 112, 113, 114 übermitteln, um entweder das Fahrzeug 110 anzuhalten oder die Fahrt des Fahrzeugs 110 auf einen Fahrzeugweg zu leiten, der das angehaltene Objekt umgeht.
-
Das Objektdetektionssystem 600 kann trainiert werden, um zu bestimmen, bei welchen Objekten in einer Verkehrsszene es am wahrscheinlichsten ist, das sie an einem Kontakt mit einem Fahrzeug 110 beteiligt sind. Das Bestimmen eines Fahrzeugwegs für ein Fahrzeug 110, das in einer Verkehrsszene 202 betrieben wird, kann eine komplexe und herausfordernde Aufgabe sein. Das Objektdetektionssystem 600 verbessert die Fähigkeit einer Rechenvorrichtung 115, einen Fahrzeugweg zu bestimmen, der einen Kontakt mit Objekten 206, 208, 210 in einer Verkehrsszene 202 vermeidet, indem bestimmt wird, welche Objekte 208, 210 eine hohe Wahrscheinlichkeit eines Kontakts mit einem Fahrzeug 110 aufweisen, und welche Objekte 206 eine geringe Wahrscheinlichkeit eines Kontakts aufweisen. Die Rechenvorrichtung 115 kann einen Fahrzeugweg auf Grundlage von Objekten 208, 210 bestimmen, die eine hohe Wahrscheinlichkeit eines Kontakts aufweisen, während Objekte 206, die eine geringe Wahrscheinlichkeit eines Kontakts aufweisen, ignoriert werden. Das Bestimmen von Fahrzeugwegen auf Grundlage der Ausgabe von dem Objektdetektionssystem 600 kann weniger Rechenressourcen verwenden und Ergebnisse in kürzerer Zeit bestimmen als das Bestimmen von Fahrzeugwegen auf Grundlage aller detektierten Objekte, die durch die Begrenzungsrahmen 312, 314, 316 in einer Verkehrsszene 302 angegeben sind.
-
Das Objektdetektionssystem 600 kann unter Verwendung von Trainingsdatensätzen von Videostromdaten von Verkehrsszenen 202 trainiert werden. Die Trainingsdatensätze beinhalten Ground-Truth-Daten bezüglich eines Kontakts oder Beinahekontakts mit Objekten 206, 208, 210 in der Verkehrsszene 202. Zum Beispiel beinhaltet ein positiver Videostrom einen Kontakt oder Beinahekontakt zwischen einem Objekt 206, 208, 210 und einem Fahrzeug 110 und beinhaltet ein negativer Videostrom keinen Kontakt oder Beinahekontakt zwischen einem Objekt 206, 208, 210 und einem Fahrzeug 110. Ein Beinahekontakt kann auf einen geeigneten Wert für eine Situation des Fahrzeugs gesetzt werden, z. B. auf Grundlage der Geschwindigkeit des Fahrzeugs 110. Bei niedrigen Geschwindigkeiten, zum Beispiel Geschwindigkeiten des Fahrzeugs, die während des Parkens erwartet werden, z. B. weniger als 5 Meilen pro Stunde, können 10 Zentimeter als Beinahekontakt betrachtet werden. Bei Fahrgeschwindigkeiten (z. B. fünf Meilen pro Stunde oder höher) kann ein Meter als Beinahekontakt betrachtet werden. „Niedrige Geschwindigkeiten“ und „Fahrgeschwindigkeiten“ können auf Grundlage von empirischen Tests und/oder Simulationen bestimmt werden, die die Fähigkeit der Rechenvorrichtung 115 angeben, die Bewegung des Fahrzeugs 110 bei verschiedenen Geschwindigkeiten zu steuern, um einen Kontakt zu vermeiden.
-
Während des Trainings wird ein Abtastvideostrom eine Vielzahl von Malen verarbeitet und bei jedem Verarbeitungsschritt werden die Ausgabevorhersagen 630 von dem Objektdetektionssystem 600 mit den Ground-Truth-Daten verglichen. Der Vergleich zwischen den Ausgabevorhersagen 630 und der Ground Truth wird verwendet, um eine Verlustfunktion zu bestimmen. Eine exponentielle Verlust- und Softmax-Kreuzentropie-Verlustfunktion wird verwendet, um zu bestimmen, wie nahe die Ausgabevorhersagen 630 an der Ground Truth liegen. In Anbetracht einer Ausgabevorhersage 630, die eine Wahrscheinlichkeit eines Kontakts a
t,v für ein Einzelbild t eines Videostroms v, der T Einzelbilder und einen Kontakt bei einem Einzelbild τ beinhaltet, die mit einer Rate von f Einzelbildern pro Sekunde erlangt wurde, kann eine Exponential- und Softmax-Kreuzentropie-Verlustfunktion auf Einzelbildebene
durch die folgende Gleichung definiert werden:
wobei der erste Term innerhalb der eckigen Klammer der exponentielle Verlust für ein positives Video ist und der zweite Term der Softmax-Kreuzentropie-Verlust für ein negatives Video ist.
-
Die Verlustfunktion wird durch die in dem Objektdetektionssystem 600 beinhalteten DNN und RNN rückpropagiert. Rückpropagierung bedeutet Anwenden der Verlustfunktion auf die Schichten der tiefen neuronalen Netze, beginnend bei den Schichten, die der Ausgabe des tiefen neuronalen Netzes am nächsten sind, und Anwenden der Verlustfunktion nacheinander auf die Schichten, bis die Schichten erreicht sind, die der Eingabe am nächsten sind. Das Anwenden der Verlustfunktion beinhaltet Auswählen von Parametergewichtungen, die den Betrieb der Schichten leiten, auf Grundlage des Minimierens der Verlustfunktion über eine Vielzahl von Versuchen, die eine Vielzahl von unterschiedlichen Parametergewichtungen einsetzen. Die Parametergewichtungen, die zu der minimalen Verlustfunktion führen, werden ausgewählt.
-
7 ist eine Darstellung eines Bilds 700 einer Verkehrsszene 702. Das Bild 700 der Verkehrsszene 702 kann ein Einzelbild von Videostromdaten sein, die durch einen Sensor 116 in einem Fahrzeug 110, das auf einer Fahrbahn 704 fährt, erlangt werden. Die Verkehrsszene 702 beinhaltet Objekte 706, 708, 710. Das Objekt 706 ist ein Bus, der auf einem Fahrstreifen mit Gegenverkehr auf der Fahrbahn 704 fährt, und die Objekte 708, 710 beinhalten ein Fahrzeug und einen Bus, der auf Fahrstreifen fährt, die in die gleiche Richtung wie das Fahrzeug 110 weisen. Auf Grundlage des Eingebens einer Vielzahl von Einzelbildern von Videostromdaten, die über einen Zeitraum, der eine oder mehrere Sekunden betragen kann, erlangt wurden, in das Objektdetektionssystem 600, wie vorstehend in Bezug auf die 4-6 beschrieben, gibt das Objektdetektionssystem 600 Begrenzungsrahmen 714, 716 aus, die angeben, dass die Objekte 708, 710 eine hohe Wahrscheinlichkeit aufweisen, das Fahrzeug 110 zu einem zukünftigen Zeitpunkt zu kontaktieren. Das Objekt 706 weist keinen Begrenzungsrahmen auf, da das Objektdetektionssystem 600 bestimmt hat, dass das Objekt 706 auf Grundlage der Position des Objekts 110 in Bezug auf Vollbildobjekte, die in dem Bild 700 beinhaltet sind, und der Geschwindigkeit und Richtung des Objekts 706 eine geringe Wahrscheinlichkeit aufweist, das Fahrzeug 110 zu kontaktieren. Durch Reduzieren der Anzahl von detektierten Objekten auf Grundlage von Vollbildmerkmalen und der Geschwindigkeit und Richtung der Objekte wird der Rechenvorrichtung 115 ermöglicht, einen Fahrzeugweg für das Fahrzeug 110 unter Verwendung von weniger Rechenressourcen und weniger Zeit zu bestimmen als Objektdetektionssysteme, die alle Objekte in einem Bild 700 detektieren.
-
8 ist ein Ablaufdiagramm, das in Bezug auf 1-7 eines Prozesses 800 zum Bestimmen von Objekten mit hoher Wahrscheinlichkeit eines Kontakts mit einem Fahrzeug 110 beschrieben wird. Der Prozess 800 kann durch einen Prozessor einer Rechenvorrichtung 115 umgesetzt sein, der Einzelbilder 602 von eingegebenen Videostromdaten von Sensoren 116 als Eingabe nimmt, Befehle ausführt und Objektvorhersagen 630 ausgibt. Der Prozess 800 beinhaltet mehrere Blöcke, die in der veranschaulichten Reihenfolge ausgeführt werden können. Der Prozess 800 könnte alternativ oder zusätzlich weniger Blöcke beinhalten oder kann beinhalten, dass die Blöcke in anderen Reihenfolgen ausgeführt werden.
-
Der Prozess 800 beginnt bei Block 802, wo eine Vielzahl von Einzelbildern 602 von Videostromdaten als Bilder erlangt wird. Die Einzelbilder der Videostromdaten können durch einen Sensor 116, zum Beispiel eine Videokamera, erlangt werden, der in einem Fahrzeug 110 beinhaltet ist, das auf einer Fahrbahn 704 in einer Verkehrsszene 702 betrieben wird.
-
Bei Block 804 wird ein Einzelbild von Videostromdaten als Einzelbild 602 der Videostromdaten in das Objektdetektionssystem 600 eingegeben, um Objekte 708, 710 zu bestimmen, die eine hohe Wahrscheinlichkeit aufweisen, das Fahrzeug 110 zu kontaktieren.
-
Bei Block 806 verarbeitet das Objektdetektionssystem 600 das aktuelle Einzelbild 602 der Videostromdaten, wie vorstehend in Bezug auf 6 erörtert.
-
Bei Block 808 prüft der Prozess 800, ob das letzte Einzelbild der Videostromdaten durch das Objektdetektionssystem 600 verarbeitet wurde. Wenn das letzte Einzelbild nicht verarbeitet wurde, kehrt der Prozess 800 zu Block 804 zurück, um das nächste Einzelbild der Videostromdaten einzugeben. Wenn das letzte Einzelbild verarbeitet wurde, geht der Prozess 800 zu Block 810 über.
-
Bei Block 810 werden Vorhersagen, die die Begrenzungsrahmen 714, 716 und Wahrscheinlichkeiten beinhalten, dass die Objekte 708, 710 das Fahrzeug 110 kontaktieren könnten, an die Rechenvorrichtung 115 ausgegeben.
-
Bei Block 812 bestimmt die Rechenvorrichtung 115 einen Fahrzeugweg für das Fahrzeug 110, der einen Kontakt mit den Objekten 708, 710 vermeidet. Die Rechenvorrichtung 115 kann dann eines oder mehrere von einem Fahrzeugantriebsstrang, Fahrzeugbremsen und einer Fahrzeuglenkung steuern, um das Fahrzeug auf den bestimmten Fahrzeugweg zu leiten, um einen Kontakt mit den Objekten 708, 710 zu vermeiden. Im Anschluss an Block 812 endet der Prozess 800.
-
Rechenvorrichtungen, wie etwa die in dieser Schrift erörterten, beinhalten im Allgemeinen jeweils Befehle, die durch eine oder mehrere Rechenvorrichtungen, wie etwa die vorstehend identifizierten, und zum Ausführen von Blöcken oder Schritten von vorstehend beschriebenen Prozessen ausführbar sind. Zum Beispiel können vorstehend erörterte Prozessblöcke als computerausführbare Befehle umgesetzt sein.
-
Computerausführbare Befehle können von Computerprogrammen kompiliert oder interpretiert werden, die unter Verwendung einer Vielfalt von Programmiersprachen und/oder - technologien erstellt werden, die ohne Einschränkung entweder allein oder in Kombination Java™, C, C++, Python, Julia, SCALA, Visual Basic, Java Script, Perl, HTML usw. beinhalten. Im Allgemeinen empfängt ein Prozessor (d. h. ein Mikroprozessor) Befehle, d. h. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Befehle aus, wodurch einer oder mehrere Prozesse durchgeführt werden, die einen oder mehrere der in dieser Schrift beschriebenen Prozesse beinhalten. Derartige Befehle und andere Daten können in Dateien gespeichert und unter Verwendung einer Vielfalt von computerlesbaren Medien übermittelt werden. Eine Datei in einer Rechenvorrichtung ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium, wie etwa einem Datenspeichermedium, einem Direktzugriffsspeicher usw., gespeichert ist.
-
Ein computerlesbares Medium (auch als prozessorlesbares Medium bezeichnet) beinhaltet ein beliebiges nicht transitorisches (d. h. greifbares) Medium, das am Bereitstellen von Daten (d. h. Anweisungen) beteiligt ist, die durch einen Computer (d. h. durch einen Prozessor eines Computers) gelesen werden können. Ein derartiges Medium kann viele Formen annehmen, die nicht flüchtige Medien und flüchtige Medien beinhalten, ohne darauf beschränkt zu sein. Anweisungen können durch ein oder mehrere Übermittlungsmedien übermittelt werden, die Glasfasern, Drähte, drahtlose Kommunikation beinhalten, einschließlich der Innenaufbauelemente, die einen an einen Prozessor eines Computers gekoppelten Systembus umfassen. Übliche Formen von computerlesbaren Medien beinhalten zum Beispiel RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, einen beliebigen anderen Speicherchip oder eine beliebige andere Speicherkassette oder ein beliebiges anderes Medium, von dem ein Computer lesen kann.
-
Allen in den Patentansprüchen verwendeten Ausdrücken soll deren allgemeine und gewöhnliche Bedeutung zukommen, wie sie vom Fachmann verstanden wird, sofern in dieser Schrift nicht ausdrücklich etwas anderes angegeben ist. Insbesondere ist die Verwendung der Singularartikel, wie etwa „ein“, „eine“, „der“, „die“, „das“ usw., dahingehend auszulegen, dass eines oder mehrere der aufgeführten Elemente genannt werden, sofern ein Patentanspruch nicht eine ausdrückliche gegenteilige Einschränkung nennt.
-
Der Ausdruck „beispielhaft“ wird in dieser Schrift in dem Sinne verwendet, dass er ein Beispiel bedeutet, d. h., eine Bezugnahme auf ein „beispielhaftes Gerät“ sollte lediglich als Bezugnahme auf ein Beispiel für ein Gerät gelesen werden.
-
Das einen Wert oder ein Ergebnis modifizierende Adverb „ungefähr“ bedeutet, dass eine/ein Form, Struktur, Messung, Wert, Bestimmung, Berechnung usw. von einer/einem genau beschriebenen Geometrie, Entfernung, Messung, Wert, Bestimmung, Berechnung usw. aufgrund von Mängeln hinsichtlich Materialien, Bearbeitung, Fertigung, Sensormessungen, Berechnungen, Verarbeitungszeit, Kommunikationszeit usw. abweichen kann.
-
In den Zeichnungen geben die gleichen Bezugszeichen die gleichen Elemente an. Ferner könnten einige oder sämtliche dieser Elemente geändert werden. Hinsichtlich der in dieser Schrift beschriebenen Medien, Prozesse, Systeme, Verfahren usw. versteht es sich, dass, wenngleich die Schritte oder Blöcke derartiger Prozesse usw. gemäß einer gewissen Abfolge auftretend beschrieben worden sind, derartige Prozesse so umgesetzt werden könnten, dass die beschriebenen Schritte in einer anderen Reihenfolge als der in dieser Schrift beschriebenen Reihenfolge durchgeführt werden. Ferner versteht es sich, dass gewisse Schritte gleichzeitig durchgeführt, andere Schritte hinzugefügt oder bestimmte in dieser Schrift beschriebene Schritte weggelassen werden könnten. Anders ausgedrückt werden die Beschreibungen von Prozessen in dieser Schrift zur Veranschaulichung gewisser Ausführungsformen bereitgestellt und sollten keinesfalls dahingehend ausgelegt werden, dass sie die beanspruchte Erfindung einschränken.
-
Gemäß der vorliegenden Erfindung wird ein System bereitgestellt, das Folgendes aufweist: einen Computer, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen beinhaltet, die durch den Prozessor ausführbar sind, um zukünftige Status eines oder mehrerer sich bewegender Objekte durch Folgendes vorherzusagen: Erlangen einer Vielzahl von Videoeinzelbildern mit einen Sensor, der in einer Vorrichtung beinhaltet ist; Eingeben der Vielzahl von Videoeinzelbildern in ein erstes tiefes neuronales Netz, um ein oder mehrere Objekte zu bestimmen, die in der Vielzahl von Videoeinzelbildern beinhaltet sind; Eingeben des einen oder der mehreren Objekte in ein zweites tiefes neuronales Netz, um Objektmerkmale und Vollbildmerkmale zu bestimmen; Eingeben der Objektmerkmale und der Vollbildmerkmale in ein drittes tiefes neuronales Netz, um räumliche Aufmerksamkeitsgewichtungen für die Objektmerkmale und die Vollbildmerkmale zu bestimmen; Eingeben der Objektmerkmale und der Vollbildmerkmale in ein viertes tiefes neuronales Netz, um zeitliche Aufmerksamkeitsgewichtungen für die Obj ektmerkmale und die Vollbildmerkmale zu bestimmen; und Eingeben der Objektmerkmale, der Vollbildmerkmale, der räumlichen Aufmerksamkeitsgewichtungen und der zeitlichen Aufmerksamkeitsgewichtungen in ein fünftes tiefes neuronales Netz, um Vorhersagen bezüglich des einen oder der mehreren Objekte, die in der Vielzahl von Videoeinzelbildern beinhaltet sind, zu bestimmen.
-
Gemäß einer Ausführungsform beinhalten die Vorhersagen bezüglich des einen oder der mehreren Objekte Wahrscheinlichkeiten, dass die Vorrichtung eines oder mehrere der Objekte kontaktiert.
-
Gemäß einer Ausführungsform ist die Vorrichtung ein Fahrzeug und beinhalten die Anweisungen weitere Anweisungen, um das Fahrzeug auf Grundlage der Vorhersagen bezüglich des einen oder der mehreren Objekte zu betreiben.
-
Gemäß einer Ausführungsform sind das erste tiefe neuronale Netz und das zweite tiefe neuronale Netz neuronales Faltungsnetze, die eine Vielzahl von Faltungsschichten und eine Vielzahl von vollständig verbundenen Schichten beinhalten.
-
Gemäß einer Ausführungsform ist das dritte tiefe neuronale Netz ein aufmerksamkeitsbasiertes neuronales Netz.
-
Gemäß einer Ausführungsform gibt das dritte tiefe neuronale Netz eindimensionale Arrays aus, die die Objektmerkmale, die Vollbildmerkmale und die räumlichen Aufmerksamkeitsgewichtungen beinhalten.
-
Gemäß einer Ausführungsform ist das vierte tiefe neuronale Netz ein aufmerksamkeitsbasiertes neuronales Netz.
-
Gemäß einer Ausführungsform gibt das vierte tiefe neuronale Netz eindimensionale Arrays, die die Objektmerkmale, die Vollbildmerkmale und die zeitlichen Aufmerksamkeitsgewichtungen beinhalten, auf Grundlage von verborgenen Variablen, die aus dem fünften tiefen neutonalen Netz eingegeben werden, aus.
-
Gemäß einer Ausführungsform ist das fünfte tiefe neuronale Netz ein rekurrentes neuronales Netz, das eine Vielzahl von vollständig verbundenen Schichten beinhaltet, die verborgene Variablen zu und von einem oder mehreren Speichern übertragen.
-
Gemäß einer Ausführungsform werden das erste, zweite, dritte, vierte und fünfte tiefe neuronale Netz trainiert, indem eine Verlustfunktion auf Grundlage von Vorhersagen bezüglich des einen oder der mehreren Objekte und Ground Truth bezüglich des einen oder der mehreren Objekte bestimmt wird.
-
Gemäß einer Ausführungsform wird die Verlustfunktion durch das erste, zweite, dritte und vierte tiefe neuronale Netz rückpropagiert, um Parametergewichtungen zu bestimmen, die in dem ersten, zweiten, dritten und vierten tiefen neuronalen Netz beinhaltet sind.
-
Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren: Erlangen einer Vielzahl von Videoeinzelbildern mit einen Sensor, der in einer Vorrichtung beinhaltet ist; Eingeben der Vielzahl von Videoeinzelbildern in ein erstes tiefes neuronales Netz, um ein oder mehrere Objekte zu bestimmen, die in der Vielzahl von Videoeinzelbildern beinhaltet sind; Eingeben der Objekte in ein zweites tiefes neuronales Netz, um Objektmerkmale und Vollbildmerkmale zu bestimmen; Eingeben der Objektmerkmale und der Vollbildmerkmale in ein drittes tiefes neuronales Netz, um räumliche Aufmerksamkeitsgewichtungen für die Objektmerkmale und die Vollbildmerkmale zu bestimmen; Eingeben der Objektmerkmale und der Vollbildmerkmale in ein viertes tiefes neuronales Netz, um zeitliche Aufmerksamkeitsgewichtungen für die Objektmerkmale und die Vollbildmerkmale zu bestimmen; und Eingeben der Objektmerkmale, der Vollbildmerkmale, der räumlichen Aufmerksamkeitsgewichtungen und der zeitlichen Aufmerksamkeitsgewichtungen in ein fünftes tiefes neuronales Netz, um Vorhersagen bezüglich des einen oder der mehreren Objekte, die in der Vielzahl von Videoeinzelbildern beinhaltet sind, zu bestimmen.
-
In einem Aspekt der Erfindung beinhalten die Vorhersagen bezüglich des einen oder der mehreren Objekte Wahrscheinlichkeiten, dass die Vorrichtung eines oder mehrere der Objekte kontaktiert.
-
In einem Aspekt der Erfindung ist die Vorrichtung ein Fahrzeug und wird das Fahrzeug auf Grundlage der Vorhersagen bezüglich des einen oder der mehreren Objekte betrieben.
-
In einem Aspekt der Erfindung sind das erste tiefe neuronale Netz und das zweite tiefe neuronale Netz neuronale Faltungsnetze, die eine Vielzahl von Faltungsschichten und eine Vielzahl von vollständig verbundenen Schichten beinhalten.
-
In einem Aspekt der Erfindung ist das dritte tiefe neuronale Netz ein aufmerksamkeitsbasiertes neuronales Netz.
-
In einem Aspekt der Erfindung gibt das dritte tiefe neuronale Netz eindimensionale Arrays aus, die die Objektmerkmale, die Vollbildmerkmale und die räumlichen Aufmerksamkeitsgewichtungen beinhalten.
-
In einem Aspekt der Erfindung ist das vierte tiefe neuronale Netz ein aufmerksamkeitsbasiertes neuronales Netz.
-
In einem Aspekt der Erfindung gibt das vierte tiefe neuronale Netz eindimensionale Arrays, die die Objektmerkmale, die Vollbildmerkmale und die zeitlichen Aufmerksamkeitsgewichtungen beinhalten, auf Grundlage von verborgenen Variablen, die aus dem fünften tiefen neuronalen Netz eingegeben werden, aus.
-
In einem Aspekt der Erfindung ist das fünfte tiefe neuronale Netz ein rekurrentes neuronales Netz, das eine Vielzahl von vollständig verbundenen Schichten beinhaltet, die verborgene Variablen zu und von einem oder mehreren Speichern übertragen.