DE102020107149A1 - Fahrzeugkapsel-netzwerke - Google Patents

Fahrzeugkapsel-netzwerke Download PDF

Info

Publication number
DE102020107149A1
DE102020107149A1 DE102020107149.3A DE102020107149A DE102020107149A1 DE 102020107149 A1 DE102020107149 A1 DE 102020107149A1 DE 102020107149 A DE102020107149 A DE 102020107149A DE 102020107149 A1 DE102020107149 A1 DE 102020107149A1
Authority
DE
Germany
Prior art keywords
vehicle
capsule
procedure according
data
video camera
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102020107149.3A
Other languages
English (en)
Inventor
Zhen Zhao
Ashley Naomi Kleinhans
Ishan Patel
Gursharan Sandhu
Kp Unnikrishnan
Bryan Roger Goodman
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ford Global Technologies LLC
Original Assignee
Ford Global Technologies LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ford Global Technologies LLC filed Critical Ford Global Technologies LLC
Publication of DE102020107149A1 publication Critical patent/DE102020107149A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • G06V20/13Satellite images
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • G06V20/17Terrestrial scenes taken from planes or by drones
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • G06V20/54Surveillance or monitoring of activities, e.g. for recognising suspicious objects of traffic, e.g. cars on the road, trains or boats
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/44Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30236Traffic on road, railway or crossing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Remote Sensing (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Mechanical Engineering (AREA)
  • Data Mining & Analysis (AREA)
  • Astronomy & Astrophysics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Transportation (AREA)
  • Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Electromagnetism (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Human Computer Interaction (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Traffic Control Systems (AREA)

Abstract

Ein System, umfassend einen Computer, der einen Prozessor und einen Speicher einschließt, wobei der Speicher Anweisungen speichert, die von dem Prozessor ausführbar sind, um ein Objekt durch Verarbeitung von Videokameradaten mit einem Kapselnetzwerk zu erfassen und zu lokalisieren, wobei das Training des Kapselnetzwerks die Bestimmung von Routing-Koeffizienten mit einer skaleninvarianten Normalisierungsfunktion einschließt. Der Computer kann ferner programmiert werden, um das erfasste und lokalisierte Objekt zu empfangen.

Description

  • TECHNISCHES GEBIET
  • Die Offenbarung bezieht sich im Allgemeinen auf Fahrzeugsensoren und Computersysteme.
  • STAND DER TECHNIK
  • Fahrzeuge können so ausgerüstet werden, dass sie sowohl im autonomen als auch im insassengesteuerten Modus betrieben werden können. Fahrzeuge können mit Rechenvorrichtungen, Netzwerken, Sensoren und Steuergeräten ausgestattet werden, um Daten über die Fahrzeugumgebung zu erfassen und das Fahrzeug auf der Grundlage dieser Daten zu betreiben. Ein sicherer und komfortabler Betrieb des Fahrzeugs kann davon abhängen, dass genaue und rechtzeitige Daten über die Umgebung des Fahrzeugs erfasst werden. Fahrzeugsensoren können Daten über zu fahrende Strecken und zu vermeidende Objekte in der Umgebung des Fahrzeugs bereitstellen. Ein sicherer und effizienter Betrieb des Fahrzeugs kann davon abhängen, dass während des Betriebs des Fahrzeugs auf einer Straße genaue und zeitnahe Daten über Strecken und Objekte in der Umgebung des Fahrzeugs erfasst werden.
  • KURZDARSTELLUNG
  • Fahrzeuge können so ausgerüstet werden, dass sie sowohl im autonomen als auch im insassengesteuerten Modus betrieben werden können. Unter einem halb- oder vollautonomen Modus verstehen wir eine Betriebsart, wobei ein Fahrzeug als Teil eines Informationssystems, das Sensoren und Steuergeräte aufweist, teilweise oder ganz von einer Rechenvorrichtung gesteuert werden kann. Das Fahrzeug kann besetzt oder unbesetzt sein, aber in beiden Fällen kann das Fahrzeug teilweise oder vollständig ohne die Hilfe eines Insassen gesteuert werden. Für die Zwecke dieser Offenbarung wird ein autonomer Modus als ein Modus definiert, in dem der Fahrzeugantrieb (z. B. über einen Antriebsstrang einschließlich eines Verbrennungs- und/oder Elektromotors), das Bremsen und die Lenkung jeweils von einem oder mehreren Fahrzeugcomputern gesteuert werden; In einem halbautonomen Modus steuert (steuern) der (die) Fahrzeugcomputer eines oder zwei von Fahrzeugantrieb, Bremse und Lenkung. In einem nicht autonomen Modus wird nichts davon von einem Computer gesteuert.
  • Eine Rechenvorrichtung in einem Fahrzeug kann so programmiert werden, dass sie Daten über die äußere Umgebung eines Fahrzeugs erfasst und die Daten dazu verwendet, den Weg eines Fahrzeugs zu bestimmen, auf dem ein Fahrzeug auf der Grundlage des Weges eines Fahrzeugs im autonomen oder halbautonomen Modus betrieben werden kann. Der Weg eines Fahrzeugs ist eine gerade und/oder gekrümmte Linie, die aufeinanderfolgende Standorte (d. h. Standorte zu unterschiedlichen Zeiten) eines Fahrzeugs auf einer zweidimensionalen (2D-)Ebene parallel zur Oberfläche einer Fahrbahn beschreibt, auf der das Fahrzeug betrieben wird. Ein Fahrzeug kann auf einer Fahrbahn auf der Grundlage des Weges eines Fahrzeugs betrieben werden, indem Befehle zur Steuerung der Antriebsstrang-, Brems- und Lenkkomponenten des Fahrzeugs bestimmt werden, um das Fahrzeug so zu betreiben, dass es sich entlang des Weges bewegt. Die Daten bezüglich der äußeren Umgebung können den Standort eines verfolgten Objekts in globalen Koordinaten einschließen. Ein Beispiel für ein verfolgtes Objekt kann ein anderes Fahrzeug sein. Die Daten können von einem Verkehrsdatensystem empfangen werden und können auf der Verarbeitung eines Frames von Videokameradaten mit einem Kapselnetzwerk basieren.
  • Hierin wird ein Verfahren offenbart, das das Erfassen und Lokalisieren eines Objekts durch Verarbeitung von Videokameradaten mit einem Kapselnetzwerk einschließt, wobei das Training des Kapselnetzwerks das Bestimmen von Routing-Koeffizienten mit einer skaleninvarianten Normierungsfunktion und das Empfangen des erfassten und lokalisierten Objekts an einer Rechenvorrichtung einschließt. Das Training des Kapselnetzwerks kann das Bestimmen von Routing-Koeffizienten einschließen, die den Strecken zwischen den Kapselschichten entsprechen. Routing-Koeffizienten können durch Gruppierung von Strecken auf der Grundlage eines oder mehrerer von Korrelation oder Clustern nach dem Training auf der Grundlage eines ersten Trainingsdatensatzes bestimmt werden, wobei die Strecke bestimmte Elemente in einer Kapselschicht mit Standorten in einer nachfolgenden Kapselschicht verbindet. Das Training des Kapselnetzwerks kann das Bestimmen von Routing-Koeffizienten mit der skaleninvarianten Normalisierungsfunktion innerhalb einer Zählschleife einschließen. Die skaleninvariante Normalisierungsfunktion kann eine Maxmino-Funktion einschließen.
  • Das Betreiben eines Fahrzeugs kann auf dem Empfangen des erfassten und lokalisierten Objekts basieren. Das Betreiben des Fahrzeugs kann auf dem Empfangen des erfassten und lokalisierten Objekts basieren, einschließlich des Bestimmens eines vorhergesagten Standorts des Objekts in globalen Koordinaten. Das Bestimmen von Verkehrsdaten kann auf dem Empfangen des erfassten und lokalisierten Objekts basieren. Videokameradaten können mit einem oder mehreren von einer stationären Videokamera, die in einem Verkehrsinfrastruktursystem eingeschlossen ist, und einer mobilen Videokamera, die in einem oder mehreren von einem Fahrzeug und einer Drohne eingeschlossen ist, erfasst werden. Das Betreiben des Fahrzeugs auf der Grundlage der Objektstandortvorhersage kann das Bestimmen eines Fahrzeugweges und das Kombinieren der Objektstandortvorhersage mit dem Fahrzeugweg einschließen. Das Betreiben des Fahrzeugs auf der Grundlage der Standortvorhersage kann das Steuern eines oder mehrerer von Fahrzeugantriebsstrang, Bremsen und Lenkung einschließen. Die globalen Koordinaten können auf der Grundlage eines Standorts und eines Sichtbereichs einer Videokamera bestimmt werden. Die Routing-Koeffizienten können durch Iteration über einen Prozess bestimmt werden, der die maximalen Routing-Koeffizienten durch Abwechseln eines Erwartungsschritts und eines Maximierungsschritts bestimmt. Der Erwartungsschritt kann eine Kapselposition und neue Schätzungen der Routing-Koeffizienten ausgeben.
  • Ferner wird ein computerlesbares Medium offenbart, das Programmanweisungen zur Ausführung einiger oder aller der oben genannten Verfahrensschritte speichert. Ferner wird ein Computer offenbart, der zur Ausführung einiger oder aller der obigen Verfahrensschritte programmiert ist, einschließlich einer Computervorrichtung, die so programmiert ist, dass sie ein Objekt durch Verarbeiten von Videokameradaten mit einem Kapselnetzwerk erfasst und lokalisiert, wobei das Training des Kapselnetzwerks das Bestimmen von Routing-Koeffizienten mit einer skaleninvarianten Normierungsfunktion und den Empfang des erfassten und lokalisierten Objekts an einer Rechenvorrichtung einschließt. Das Training des Kapselnetzwerks kann das Bestimmen von Routing-Koeffizienten einschließen, die den Strecken zwischen den Kapselschichten entsprechen. Routing-Koeffizienten können durch Gruppierung von Strecken auf der Grundlage eines oder mehrerer von Korrelation oder Clustern nach dem Training auf der Grundlage eines ersten Trainingsdatensatzes bestimmt werden, wobei die Strecke bestimmte Elemente in einer Kapselschicht mit Standorten in einer nachfolgenden Kapselschicht verbindet. Das Training des Kapselnetzwerks kann das Bestimmen von Routing-Koeffizienten mit der skaleninvarianten Normalisierungsfunktion innerhalb einer Zählschleife einschließen. Die skaleninvariante Normalisierungsfunktion kann eine Max-min()-Funktion einschließen.
  • Der Computer kann ferner programmiert werden, um ein Fahrzeug auf der Grundlage des Empfangens des erfassten und lokalisierten Objekts zu betreiben. Das Betreiben des Fahrzeugs kann auf dem Empfangen des erfassten und lokalisierten Objekts basieren, einschließlich des Bestimmens eines vorhergesagten Standorts des Objekts in globalen Koordinaten. Das Bestimmen von Verkehrsdaten kann auf dem Empfangen des erfassten und lokalisierten Objekts basieren. Videokameradaten können mit einem oder mehreren von einer stationären Videokamera, die in einem Verkehrsinfrastruktursystem eingeschlossen ist, und einer mobilen Videokamera, die in einem oder mehreren von einem Fahrzeug und einer Drohne eingeschlossen ist, erfasst werden. Das Betreiben des Fahrzeugs auf der Grundlage der Objektstandortvorhersage kann das Bestimmen eines Fahrzeugweges und das Kombinieren der Objektstandortvorhersage mit dem Fahrzeugweg einschließen. Das Betreiben des Fahrzeugs auf der Grundlage der Standortvorhersage kann das Steuern eines oder mehrerer von Fahrzeugantriebsstrang, Bremsen und Lenkung einschließen. Die globalen Koordinaten können auf der Grundlage eines Standorts und eines Sichtbereichs einer Videokamera bestimmt werden. Die Routing-Koeffizienten können durch Iteration über einen Prozess bestimmt werden, der die maximalen Routing-Koeffizienten durch Abwechseln eines Erwartungsschritts und eines Maximierungsschritts bestimmt. Der Erwartungsschritt kann eine Kapselposition und neue Schätzungen der Routing-Koeffizienten ausgeben.
  • Figurenliste
    • 1 ist ein Blockdiagramm eines beispielhaften Verkehrsinfrastruktursystems.
    • 2 ist ein Diagramm eines beispielhaften Kapselnetzwerks.
    • 3 ist ein Flussdiagramm eines beispielhaften Routing-Algorithmus.
    • 4 ist ein Flussdiagramm eines weiteren beispielhaften Routing-Algorithmus.
    • 5 ist ein Diagramm einer beispielhaften Verkehrsszene mit einer stationären Kamera.
    • 6 ist ein Flussdiagramm eines Prozesses zum Bestimmen von Objektpositionen.
  • DETAILLIERTE BESCHREIBUNG
  • 1 ist ein Diagramm eines Verkehrsinfrastruktursystems 100, das ein Fahrzeug 110 einschließt, das im autonomen („autonom“ bedeutet in dieser Offenbarung „völlig autonom“), halbautonomen und insassengesteuerten (auch als nicht autonom bezeichnet) Modus betrieben werden kann. Eine oder mehrere Rechenvorrichtungen 115 des Fahrzeugs 110 können Daten über den Betrieb des Fahrzeugs 110 von den Sensoren 116 empfangen. Die Rechenvorrichtung 115 kann das Fahrzeug 110 in einem autonomen Modus, einem halbautonomen Modus oder einem nicht autonomen Modus betreiben.
  • Die Rechenvorrichtung 115 schließt einen Prozessor und einen Speicher ein, wie sie bekannt sind. Ferner schließt der Speicher eine oder mehrere Formen von computerlesbaren Medien ein und speichert Anweisungen, die vom Prozessor ausgeführt werden können, um verschiedene Operationen durchzuführen, einschließlich der hierin offenbarten. Die Rechenvorrichtung 115 kann beispielsweise die Programmierung zur Betätigung eines oder mehrerer von Fahrzeugbremsen, Antrieb (z. B. Steuerung der Beschleunigung im Fahrzeug 110 durch Steuern eines oder mehrerer von einem Verbrennungsmotor, Elektromotor, Hybridmotor usw.), Lenkung, Klimaanlage, Innen- und/oder Außenbeleuchtung usw. sowie zur Bestimmung, ob und wann die Rechenvorrichtung 115 im Gegensatz zu einem menschlichen Bediener diese Vorgänge steuern soll, einschließen.
  • Die Rechenvorrichtung 115 kann mehrere Rechenvorrichtungen, z. B. Steuergeräte oder dergleichen, die im Fahrzeug 110 zum Überwachen und/oder Steuern verschiedener Fahrzeugkomponenten eingeschlossen sind, z. B. ein Antriebsstrangsteuergerät 112, ein Bremsensteuergerät 113, ein Lenkungssteuergerät 114 usw., einschließen oder mit diesen kommunikativ gekoppelt sein, z. B. über einen Fahrzeug-Kommunikationsbus, wie weiter unten beschrieben. Die Rechenvorrichtung 115 ist im Allgemeinen für die Kommunikation in einem Fahrzeugkommunikationsnetz, z. B. einschließlich eines Busses im Fahrzeug 110, wie z. B. ein Controller Area Network (CAN) oder ähnliches, eingerichtet; das Netzwerk des Fahrzeugs 110 kann zusätzlich oder alternativ kabelgebundene oder drahtlose Kommunikationsmechanismen einschließen, wie sie bekannt sind, z. B. Ethernet oder andere Kommunikationsprotokolle.
  • Über das Fahrzeugnetzwerk kann die Rechenvorrichtung 115 Nachrichten an verschiedene Vorrichtungen im Fahrzeug übertragen und/oder Nachrichten von den verschiedenen Vorrichtungen, z. B. Steuergeräte, Stellantriebe, 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 FahrzeugKommunikationsnetz für die Kommunikation zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als die Rechenvorrichtung 115 dargestellt werden. Ferner können, wie unten erwähnt, verschiedene Steuergeräte oder Sensorelemente, wie Sensoren 116, Daten über das Fahrzeugkommunikationsnetz an die Rechenvorrichtung 115 bereitstellen.
  • Darüber hinaus kann die Rechenvorrichtung 115 so konfiguriert werden, dass sie über eine Fahrzeug-zu-Infrastruktur-Schnittstelle (V-zu-I-Schnittstelle) 111 mit einem entfernten Servercomputer 120, z. B. einem Cloud-Server, über ein Netzwerk 130 kommuniziert, das, wie unten beschrieben, Hardware, Firmware und Software einschließt, die es Rechenvorrichtung 115 ermöglicht, mit einem Remote-Servercomputer 120 über ein Netzwerk 130 wie z. B. drahtloses Internet (Wi-Fi) oder zellulare Netzwerke zu kommunizieren. Die V-zu-I-Schnittstelle 111 kann dementsprechend Prozessoren, Speicher, Sender-Empfänger usw. einschließen, die so konfiguriert sind, dass sie verschiedene drahtgebundene und/oder drahtlose Netzwerktechnologien nutzen, z. B. zellulare, BLUETOOTH®- und drahtgebundene und/oder drahtlose Paketnetzwerke. Die Rechenvorrichtung 115 kann für die Kommunikation mit anderen Fahrzeugen 110 über die V-zu-I-Schnittstelle 111 unter Verwendung von Fahrzeug-zu-Fahrzeug-Netzwerken (V-zu-V-Netzwerken) konfiguriert werden, z. B. gemäß Dedicated Short Range Communications (DSRC) und/oder dergleichen, die z. B. auf Ad-hoc-Basis zwischen nahegelegenen Fahrzeugen 110 oder über infrastrukturbasierte Netzwerke gebildet werden. Die Rechenvorrichtung 115 schließt auch nichtflüchtigen Speicher ein, wie er bekannt ist. Die Rechenvorrichtung 115 kann Daten protokollieren, indem sie die Daten in einem nichtflüchtigen Speicher für den späteren Abruf und die Übertragung über das Fahrzeugkommunikationsnetzwerk und eine Schnittstelle 111 vom Fahrzeug zur Infrastruktur (V-zu-I) an einen Servercomputer 120 oder eine mobile Benutzervorrichtung 160 speichert.
  • Wie bereits erwähnt, ist in der Regel in Anweisungen, die im Speicher gespeichert und vom Prozessor der Rechenvorrichtung 115 ausführbar sind, die Programmierung für das Betreiben einer oder mehrerer Komponenten des Fahrzeugs 110, z. B. Bremsen, Lenkung, Antrieb usw., ohne Eingriff eines menschlichen Bedieners eingeschlossen.
  • Unter Verwendung der in der Rechenvorrichtung 115 empfangenen Daten, z. B. der Sensordaten der Sensoren 116, des Servercomputers 120 usw., kann die Rechenvorrichtung 115 verschiedene Bestimmungen vornehmen und/oder verschiedene Komponenten des Fahrzeugs 110 und/oder Vorgänge ohne einen Fahrer zum Betrieb des Fahrzeugs 110 steuern. Zum Beispiel kann die Rechenvorrichtung 115 eine Programmierung zur Regelung des Betriebsverhaltens des Fahrzeugs 110 (d. h. der physikalischen Erscheinungsformen des Betriebs des Fahrzeugs 110) wie Geschwindigkeit, Beschleunigung, Verlangsamung, Lenkung usw. sowie des taktischen Verhaltens (d. h, Steuerung des Betriebsverhaltens in der Regel in einer Weise, die ein sicheres und effizientes Überqueren einer Strecke ermöglicht), wie z. B. Abstand zwischen Fahrzeugen und/oder Zeit zwischen Fahrzeugen, Spurwechsel, Mindestabstand zwischen Fahrzeugen, Wegminimum beim Linksabbiegen, Zeit bis zur Ankunft an einem bestimmten Standort und Kreuzung (ohne Signal), Mindestzeit bis zur Ankunft zum Überqueren der Kreuzung, einschließen.
  • Steuergeräte, wie dieser Begriff hierin verwendet wird, schließen Rechenvorrichtungen, die typischerweise zur Steuerung eines bestimmten Fahrzeug-Subsystems programmiert sind, ein. Beispiele schließen ein Antriebsstrangsteuergerät 112, ein Bremsensteuergerät 113 und ein Lenkungssteuergerät 114 ein. Ein Steuergerät kann eine elektronische Steuereinheit (ECU) sein, wie sie bekannt ist, möglicherweise einschließlich zusätzlicher Programmierung, wie hierin beschrieben. Die Steuergeräte können kommunikativ an die Rechenvorrichtung 115 angeschlossen werden und von dieser Anweisungen erhalten, um das Subsystem gemäß den Anweisungen zu betätigen. Zum Beispiel kann das Bremssteuergerät 113 von der Rechenvorrichtung 115 Anweisungen zum Betrieb der Bremsen des Fahrzeugs 110 erhalten.
  • Das eine oder die mehreren Steuergeräte 112, 113, 114 für das Fahrzeug 110 können bekannte elektronische Steuereinheiten (ECUs) oder dergleichen einschließen, einschließlich, als nicht limitierende Beispiele, eines oder mehrerer Antriebsstrangsteuergeräte 112, eines oder mehrerer Bremsensteuergeräte 113 und eines oder mehrerer Lenkungssteuergeräte 114. Jedes der Steuergeräte 112, 113, 114 kann entsprechende Prozessoren und Speicher sowie einen oder mehrere Stellantriebe einschließen. Die Steuergeräte 112, 113, 114 können programmiert und an einen Kommunikationsbus des Fahrzeugs 110, wie einen Controller Area Network-Bus (CAN-Bus) oder Local Interconnect Network-Bus (LIN-Bus), angeschlossen werden, um Anweisungen vom Computer 115 zu empfangen und Stellantriebe auf der Grundlage der Anweisungen zu steuern.
  • Sensoren 116 können eine Vielzahl von Vorrichtungen einschließen, die bekanntermaßen Daten über den Fahrzeugkommunikationsbus bereitstellen. Zum Beispiel kann ein Radar, das an einem vorderen Stoßfänger (nicht gezeigt) des Fahrzeugs 110 befestigt ist, einen Abstand vom Fahrzeug 110 zu einem nächsten Fahrzeug vor dem Fahrzeug 110 bereitstellen, oder ein im Fahrzeug 110 angeordneter Global Positioning System-Sensor (GPS-Sensor) kann geographische Koordinaten des Fahrzeugs 110 bereitstellen. Der (die) vom Radar und/oder anderen Sensoren 116 bereitgestellte(n) Abstand (Abstände) und/oder die vom GPS-Sensor bereitgestellten geographischen Koordinaten können von der Rechenvorrichtung 115 verwendet werden, um das Fahrzeug 110 z. B. autonom oder halbautonom zu betreiben.
  • Das Fahrzeug 110 ist im Allgemeinen ein Landfahrzeug 110, das autonom und/oder halbautonom betrieben werden kann und drei oder mehr Räder hat, z. B. ein PKW, ein leichter LKW usw. Das Fahrzeug 110 schließt einen oder mehrere Sensoren 116, die V-zu-I-Schnittstelle 111, die Rechenvorrichtung 115 und eines oder mehrere Steuergeräte 112, 113, 114 ein. Die Sensoren 116 können Daten sammeln, die sich auf das Fahrzeug 110 und die Umgebung, in der das Fahrzeug 110 betrieben wird, beziehen. Beispielhaft, aber nicht einschränkend, können die Sensoren 116 z. B. Höhenmesser, Kameras, LIDAR, Radar, Ultraschallsensoren, Infrarotsensoren, Drucksensoren, Beschleunigungsmesser, Gyroskope, Temperatursensoren, Drucksensoren, Hallensensoren, optische Sensoren, Spannungssensoren, Stromsensoren, mechanische Sensoren wie Schalter usw. einschließen. Die Sensoren 116 können dazu verwendet werden, die Umgebung abzutasten, in der das Fahrzeug 110 betrieben wird, z. B. können die Sensoren 116 Phänomene wie Wetterbedingungen (Niederschlag, äußere Umgebungstemperatur usw.), die Neigung einer Straße, die Lage einer Straße (z. B. durch Verwendung von Straßenrändern, Fahrbahnmarkierungen usw.) oder die Standorte von Zielobjekten wie z. B. benachbarte Fahrzeuge 110 erfassen. Die Sensoren 116 können ferner zur Erfassung von Daten einschließlich dynamischer Daten des Fahrzeugs 110 (z. B. Daten, die periodisch oder im Wesentlichen in Echtzeit während des Betriebs des Fahrzeugs 110 bereitgestellt werden) verwendet werden, die sich auf den Betrieb des Fahrzeugs 110 beziehen, wie Geschwindigkeit, Gierrate, Lenkwinkel, Motordrehzahl, Bremsdruck, Öldruck, das an die Steuergeräte 112, 113, 114 im Fahrzeug 110 angelegte Leistungsniveau, die Konnektivität zwischen den Komponenten und die genaue und zeitgerechte Leistung der Komponenten des Fahrzeugs 110.
  • 2 ist ein Diagramm eines Beispielkapselnetzes 200, das darauf trainiert werden kann, ein Objekt auf der Grundlage von Videokameradaten zu erfassen, zu klassifizieren und zu lokalisieren. Ein Kapselnetzwerk 200 ist ein faltendes neuronales Netzwerk, das Objektmerkmale im Bild durch das Bestimmen von Kapseln bestimmt. Kapseln sind Tensoren, die eine Vielzahl von Werten einschließen, die einer Vielzahl von Merkmalen entsprechen, die von Faltungsschichten im neuronalen Netzwerk ausgegeben werden. Die Vielzahl der in einer Kapsel eingeschlossenen Merkmale kann Daten kodieren, die der Identität, dem Standort, der Größe und der Position von Objekten in einem Frame von Videodaten entsprechen. Faltende neuronale Netzwerke bestimmen in der Regel Beziehungen zwischen Merkmalen, indem sie die Ergebnisse mehrerer benachbarter Pixel zu einem Pixel zusammenfassen. Kapselnetzwerke 200 behalten die volle oder im Wesentlichen volle Auflösung bei und bestimmen die Beziehungen zwischen ihnen durch Routing. Routing ist ein Verfahren zur Verbindung von Höchstwertkapseln in einer ersten Schicht mit Kapseln in einer nachfolgenden Schicht des Kapselnetzwerks 200, um zu bestimmen, welche Faltungsgewichte mit einer Ausgangs- und daraus resultierenden Verlustfunktion während des Trainings assoziiert werden sollen.
  • Ein Kapselnetzwerk 200 ist ein neuronales Netzwerk, das die Faltungsschichten 204 (CON), die erste Kapselschicht 204, (CP1), die zweite Kapselschicht 208 (CP2) und die vollständig verbundenen Schichten 216 (FC) einschließt. Das Kapselnetzwerk 200 kann einen Frame 202 von Zeitreihen-Videodaten eingeben, wobei es sich um eine Zeitreihe von Videoframes 202 handelt, die in gleichen Zeitintervallen erfasst werden. Das Kapselnetzwerk 200 verarbeitet jeweils einen Videoframe 202 der Zeitreihen-Videobilddaten 202 auf einmal. Faltungsebenen 204 können einen Videoframe verarbeiten, indem ein oder mehrere Faltungsfilter auf die Eingabedaten angewendet werden, um Merkmale zu bestimmen. Beispielsweise können die Faltungsebenen 204 zwei aufeinanderfolgende 9x9-Filter auf den Eingangs-Videoframe 202 anwenden, um die Vorhersage-Tensoren 206 zu bestimmen. Die Vorhersagetensoren 206 schließen Vorhersagen ein, die den Standorten von Objektmerkmalen in einem Videoframe 202 entsprechen. Zu den Objektmerkmalen im Videoframe 202, die durch die Faltungsschichten 204 bestimmt werden, gehören zum Beispiel Fahrzeuge und Fußgänger. Die Vorhersagetensoren 206 werden in die erste Kapselschicht 208 eingegeben. Die erste Kapselschicht 208 ist eine Faltungskapselschicht, die Kapseln durch Falten der Kapsel mit einem 9 mal 9 Pixel großen Faltungskern verarbeitet, um z. B. Ausgabevorhersage-Tensoren 210 zu erzeugen.
  • Ein Vorhersagetensor ist ein Tensor mit Dimension (16, 1152, 10), wobei z. B. 16 die Größe eines einzelnen Objektmerkmalsvektors ist, wobei ein Objektmerkmalsvektor 16 Komponenten aufweist, die jeweils einen einzelnen Gesichtspunkt eines Objekts beschreiben. Die Zahl 1152 bezeichnet die Anzahl der Kapseln i in der Schicht l, die mit jeder der 10 Kapseln in der übergeordneten Schicht j verbunden werden können. Ein Beispiel für einen Vorhersagetensor schließt einen Vorhersagevektor mit 16 Werten, eine Kapselnummer von eins bis 1152, die als Index verwendet wird, und 10 Kapselnummern, die Links zu Kapseln in der nächsten Ebene leiten, ein. Die Routing-Koeffizienten jeder Kapsel (i) der unteren Ebene sind für die Verknüpfung eines einzelnen Vorhersagevektors mit einer Kapsel j der übergeordneten Ebene verantwortlich. Die Vorhersagevektoren werden von dem Netzwerk gelernt, das Daten zur Klassifizierung der Merkmale einschließt. Die erste Kapselschicht 208 kann die Vorhersagetensoren 210 zur Ausgabe an die zweite Kapselschicht 212 bestimmen.
  • Die zweite Kapselschicht 212 gibt die Vorhersagetensoren 210 ein und verarbeitet sie zur Erzeugung der Ausgabevorhersagetensoren 214 auf dieselbe Weise wie die erste Kapselschicht 208, d. h. durch Falten der Kapseln zur Bildung der Ausgabevorhersagetensoren 214. Die Ausgabevorhersagetensoren 214 können z. B. gemessen werden, indem die Absolutwerte der Tensorkomponenten summiert und mit anderen summierten Vorhersagetensoren verglichen werden, um zu bestimmen, welcher Vorhersagetensor am besten zu einem Objekt passt. Zur Trainingszeit wird eine Vielzahl von Videoframes 202 in das Kapselnetzwerk 200 eingegeben und die resultierenden Kapseln werden weitergeleitet, um die Kapseln zu bestimmen, die den auf der Grundlage der Ground Truth bestimmten Objekten der realen Welt entsprechen.
  • Ground Truth sind Daten, die der Objekterfassung und -lokalisierung in Videodaten 202 entsprechen, die von einer vom Kapselnetzwerk 200 unabhängigen Quelle bestimmt werden, z. B. Benutzereingaben auf der Grundlage der manuellen Identifizierung und Messung von Objekten. Ground Truth kann auch durch die Verwendung von synthetischen Videoframes 202 als Eingabe bestimmt werden, wobei der Standort und Größe der Objekte im Videoframe 202 auf der Benutzereingabe basiert.
  • Das Routing ist ein iterativer Prozess, der die Kapseln cj Schicht für Schicht durchsucht, um Strecken zwischen den Schichten zu bestimmen, die Kapseln mit Objektbeschreibungen produzieren, die der Ground Truth am nächsten kommen. Die hierin offenbarten Techniken verbessern frühere Routing-Techniken durch die Verwendung einer skaleninvarianten Max-min()-Funktion zur Bestimmung eines Maximalwertes für die Kapseln, wodurch die Testgenauigkeit des Kapselnetzwerks 200 im Vergleich zu Techniken, die skalenvariante Max-Funktionen wie eine Softmax-Funktion verwenden, verbessert wird. Der Betrieb des Trainings der Kapselnetzwerke 200 unter Verwendung der skaleninvarianten Max-min()-Funktion führt zu einer erhöhten Genauigkeit der Objekterfassung und ermöglicht ein stabileres Training des Kapselnetzwerks 200, wenn die Anzahl der Routing-Iterationen erhöht wird. Die hierin beschriebenen Techniken erhöhen auch die Stabilität des Trainings, indem sie vermehrte Routing-Vorgänge ohne Überanpassung an die Trainingsdaten ermöglichen. Die hierin beschriebenen Techniken verwenden eine Min-Max-Normalisierung, es können jedoch auch andere skaleninvariante Techniken wie die zentrierte Max-Min-Normalisierung oder die Summennormalisierung verwendet werden.
  • Auf der Grundlage der hierin beschriebenen Techniken wird den übergeordneten Kapseln im Netzwerk die Möglichkeit gegeben, nicht wesentliche Merkmale, die von den untergeordneten Kapseln dargestellt werden, völlig außer Acht zu lassen. Dies kann als eine Form des dynamischen Aussetzens der Routing-Koeffizienten betrachtet werden und zwingt das Netzwerk zu einer besseren Verallgemeinerung, indem es korrekte Ergebnisse für eine größere Vielfalt von Eingabebildern bestimmt. Darüber hinaus ermöglichen die Routing-Koeffizienten, dass jede Kapsel der unteren Ebene eine unabhängige Zuordnungswahrscheinlichkeit zu jeder der Kapseln der oberen Ebene hat. Das heißt, die Summe der Wahrscheinlichkeiten für eine einzelne Kapsel der unteren Ebene über jede der Kapseln der höheren Ebene ist nicht mehr begrenzt. Dies ist für das Kapselnetzwerk 200 von Vorteil, da ein einzelnes Merkmal mit gleich hoher Wahrscheinlichkeit mehreren übergeordneten Objekten zugeordnet werden kann. Einzelheiten zur Berechnung einer skaleninvarianten Max-min()-Funktion sind in Bezug auf die nachfolgenden 3 und 4 angegeben.
  • Die Vorhersagetensoren 214 werden an vollständig verbundene Schichten 216 (FC) ausgegeben, wobei nichtlineare Funktionen der Ausgabe-Vorhersagetensoren 214 berechnet werden, was zu Ausgabeobjekterfassungs- und -positionsdaten 218 führt. Die Objekterfassungs- und Standortdaten 218 werden unter Bezugnahme auf die Eingangsvideodaten 202 bestimmt. Zur Bestimmung einer geometrischen Projektion, die die Pixelpositionen in einem Bild in reale Koordinaten umwandelt, sind Daten über den Standort, Richtung und Größe des Sichtbereichs des Sensors sowie Annahmen über den Schnittpunkt einer ebenen Oberfläche parallel zu einer Fahrbahn erforderlich.
  • 3 ist ein Flussdiagramm eines Prozesses 300 zur Bestimmung der Routing-Koeffizienten für ein Kapselnetzwerk 200. Prozess 300 kann durch einen Prozessor der Rechenvorrichtung 115 implementiert werden, der als Eingangsdaten von den Sensoren 116 nimmt, Befehle ausführt und Ausgangssignale an einen Servercomputer 120 sendet. Prozess 300 schließt mehrere aufgenommene Blöcke in der offenbarten Reihenfolge ein. Prozess 300 könnte alternativ oder zusätzlich weniger Blöcke einschließen oder kann die aufgenommenen Blöcke in unterschiedlicher Reihenfolge einschließen. Prozess 300 wird in Bezug auf einen einzelnen Eingangs-Videoframe 202 beschrieben. Die Analysen und Erklärungen, die folgen, wenn die Anzahl der Videoframes in das Netzwerk eingegeben wird, entweder während des Trainings oder bei Tests. Darüber hinaus sind die hierin als Parameter angegebenen Werte nur Beispiele und können ohne Änderung des Prozesses 300 geändert werden.
  • Prozess 300 gibt eine Reihe von Vorhersagetensoren (ûi|j), eine Anzahl von Malen zur Durchführung des Routing-Verfahrens (r) und eine Netzwerkschichtnummer (l) ein. Die Ausgabe des Routing-Algorithmus ist ein Satz von Kapseltensoren auf übergeordneter Ebene (vj). Die anfänglichen Eingabe-Vorhersagetensoren ûi|j werden aus einem Eingabe-Videoframe 202 durch Faltungsschichten 204 berechnet. Die Routing-Koeffizienten cj sind auf 1,0 initialisiert. Wenn die Vorhersagetensoren in den Routing-Algorithmus eingespeist werden, hat ein einzelner Vorhersagetensor beispielsweise eine Dimension (16, 1152, 10). Andere Dimensionen können ohne Änderung der hierin beschriebenen Techniken verwendet werden. Die erste Zahl, 16, bezeichnet die Dimension eines einzelnen Vorhersagevektors (d. h. ein einzelner Vorhersagevektor ist ein Vektor mit 16 Komponenten, und jede Komponente beschreibt einen bestimmten Gesichtspunkt eines Objekts). Die zweite Zahl, 1152, gibt an, wie viele Kapseln i in Schicht l jeder der 10 Kapseln, j, in Schicht l + 1 zugeordnet werden können. Die Routing-Koeffizienten jeder Kapsel (i) der unteren Ebene sind für die Verknüpfung eines einzelnen Vorhersagevektors mit einer Kapsel j der übergeordneten Ebene verantwortlich. Die Vorhersagevektoren werden vom Netzwerk durch Backpropagation gelernt und stellen dar, wie ein Objekt nach Ansicht des Netzwerks mit einer Reihe von Merkmalen aussehen sollte. Die Kapseln j auf übergeordneter Ebene werden ebenfalls gelernt und stellen das eigentliche Objekt als Ganzes dar. Im gesamten Routing-Algorithmus werden die Routing-Koeffizienten iterativ berechnet, um die Kapseln der unteren Ebene mit den Kapseln der oberen Ebene zu verbinden. Bei jedem neuen Bild, das das Netzwerk sieht, werden diese Berechnungen zwischen jeder der 1152 Kapseln der unteren Ebene, i, und jeder der 10 Kapseln der oberen Ebene, j, durchgeführt. Prozess 300 beginnt im Block 302, wobei die Routing-Koeffizienten cj mit jedem der Vorhersagevektoren multipliziert und über die Kapseln i summiert werden, um eine Matrix sj mit den Dimensionen (10, 16) zu bilden. Jede Zeile entspricht einer der 10 Klassen oder Objekte im Datensatz, die das Modell erfassen soll, und die 16 Elemente in jeder Zeile stellen die verschiedenen Gesichtspunkte oder Merkmale des Objekts dar, die durch den Routing-Algorithmus bestimmt werden.
  • Im Block 304 wird dann die Matrix sj unter Verwendung einer nichtlinearen Funktion, wie sie durch Gleichung (1) gegeben ist, gequetscht: v j = s j 2 1 + s j 2 s j s j
    Figure DE102020107149A1_0001
  • Die Quetschfunktion stellt sicher, dass die Länge jeder der 10 Zeilen in sj zwischen 0 und 1 begrenzt ist. Die Quetschfunktion wandelt sj in vj um, die Kapseln auf übergeordneter Ebene, die die Ausgaben des Routing-Algorithmus sind. Die Erkennung auf dem Eingabebild kann durch Auswahl der Zeile in vj mit der größten Länge entschieden werden.
  • Im Block 306 werden die Routing-Koeffizienten cij unter Verwendung des Punktprodukts zwischen den Vorhersagetensoren ûi|j und den Kapseln auf Übergeordneter Ebene vj aktualisiert, und das Ergebnis des Punktprodukts wird zu cij addiert.
  • Im Block 308 werden die maximalen Routing-Koeffizienten cij bestimmt, indem ein durch Gleichung (2) definierter Max-min()-Vorgang auf die Routing-Koeffizienten cij angewendet wird, um ein skaleninvariantes Maximum zu bestimmen: c i j = a + c i j + min ( c i j ) max ( c i j ) min ( c i j ) ( b a )
    Figure DE102020107149A1_0002
  • In Gleichung (2) werden die Konstanten a und b durch Benutzereingaben bestimmt, um das Ergebnis zu skalieren und auszugleichen. Die Konstante a stellt einen Mindestwert für den Prozess 300 bereit, während die Konstante (b - a) das Ergebnis skaliert. Beispielsweise würde a = 0,5, b = 1,0 sicherstellen, dass das Ergebnis von Gleichung (2) zwischen 0,5 und 1,0 liegt, während das Ergebnis von Gleichung (2) ansonsten beispielsweise zwischen 0,0 und 1,0 liegen würde. Prozess 300 verbessert frühere Routing-Algorithmen durch die Verwendung von Gleichung (2) zur Bestimmung eines Maximums cij anstelle einer Softmax-Funktion, wodurch das Maximum der Berechnung skaleninvariant wird und nicht, wie es bei der Verwendung einer Softmax-Funktion der Fall wäre, skalenvariant.
  • Bei Block 310 prüft Prozess 300 eine Iterationsnummer, um zu bestimmen, ob die Anzahl der Iterationen gleich r, der eingegebenen Anzahl von Iterationen, ist. Wenn die Iterationsnummer kleiner als r ist, wird die Iterationsnummer inkrementiert und Prozess 300 kehrt zum Block 302 zurück, um die Routing-Koeffizienten cij erneut zu verarbeiten. Wenn die Iterationszahl gleich r ist, wird der Prozess 300 beendet.
  • 4 ist ein Flussdiagramm eines Prozesses 400 zur Bestimmung der Routing-Koeffizienten für ein Kapselnetzwerk 200. Prozess 400 kann durch einen Prozessor der Rechenvorrichtung 115 implementiert werden, der als Eingangsdaten von den Sensoren 116 nimmt, Befehle ausführt und Ausgangssignale an einen Servercomputer 120 sendet. Prozess 400 schließt mehrere aufgenommene Blöcke in der offenbarten Reihenfolge ein. Prozess 400 könnte alternativ oder zusätzlich weniger Blöcke einschließen oder kann die aufgenommenen Blöcke in unterschiedlicher Reihenfolge einschließen. Prozess 400 wird in Bezug auf einen einzelnen Eingangs-Videoframe 202 beschrieben. Die Analysen und Erklärungen, die folgen, wenn die Anzahl der Videoframes in das Netzwerk eingegeben wird, entweder während des Trainings oder bei Tests. Darüber hinaus sind die hierin als Parameter angegebenen Werte nur Beispiele und können ohne Änderung des Prozesses 400 geändert werden.
  • Prozess 400 verwendet die Erwartungs-Maximierung (EM), um Kapseln auf niedrigerer Ebene mit Kapseln auf höherer Ebene zu verbinden. Die Eingabe für den Routing-Algorithmus ist ein Satz von Aktivierungen a und die Stimmen der Kapseln V in der Schicht L. Eingaben in den Routing-Algorithmus sind Objektmerkmale, die von Faltungsschichten als Aktivierungen a und Stimmen V sowie Positionen der Kapseln M für Schicht L + 1 ausgegeben werden. Die Positionen der Kapseln in Schicht L + 1 sind in den Variablen μ j h  und  σ j h
    Figure DE102020107149A1_0003
    (zusammen als M in Prozess 400 bezeichnet) enthalten. Die Kapseln aus Schicht L werden aus dem Eingangsvideoframe 202 durch eine Faltungsschicht 204 berechnet, wie oben in Bezug auf 3 erläutert, obwohl die Kapseln mit jeder Art von Filteroperation berechnet werden können, die geeignete Kapseln erzeugen kann. In Prozess 400 sind die Variablen Rij die Routing-Koeffizienten. Während der gesamten Zählschleifeniterationen des EM-basierten Routing-Algorithmus werden die Rijs dynamisch, d. h. im Wesentlichen in Echtzeit auf der Basis von Eingaben, berechnet, so wie die cijs im Routing-Verfahren des Prozesses 300 dynamisch berechnet werden. Genau wie in Prozess 300 verbessert der Prozess 400 die Berechnung der Routing-Koeffizienten Rij durch die Verwendung einer skaleninvarianten Maxmino-Funktion, die eine logistische Funktion ersetzt. Logistische Funktionen sind eine Spezialisierung einer Softmax-Funktion und sind ebenfalls skalenvariant.
  • Im Block 402 kann eine Rechenvorrichtung 115, die den Prozess 400 ausführt, einen Satz von Aktivierungen eingeben, die den Kapseln, a, und den Stimmen der Kapseln, V, in einer Schicht L entsprechen, wobei die Aktivierungen a und die Stimmen V die Werte sind, die den Objektmerkmalen entsprechen.
  • Im Block 404 führt der Prozess 400 einen Maximierungsschritt (M-Schritt) durch, der auf den Aktivierungen a, den Routing-Koeffizienten R, den Stimmen V und der übergeordneten Ebene j gemäß den Gleichungen (3)-(7) basiert: i Ω L : R i j R i j * a i
    Figure DE102020107149A1_0004
  • Routing-Koeffizienten Rij werden mit den Aktivierungen ai für alle Kapseln ΩL in einer Schicht L multipliziert. h : μ j h i R i j * V i j h i R i j
    Figure DE102020107149A1_0005
  • Der Vorhersage-Tensor μ j h
    Figure DE102020107149A1_0006
    wird durch Multiplikation der Routing-Koeffizienten Rij mit den Stimmen V i j h
    Figure DE102020107149A1_0007
    bestimmt. h : ( σ j h ) 2 i R i j ( V i j h μ j h ) 2 i R i j
    Figure DE102020107149A1_0008
  • Die Varianz ( σ j h ) 2
    Figure DE102020107149A1_0009
    wird durch Summierung über die quadrierte Differenz zwischen den Stimmen V i j h
    Figure DE102020107149A1_0010
    und dem Vorhersagetensor μ j h
    Figure DE102020107149A1_0011
    und Normalisierung bestimmt. c o s t h ( β μ + l o g ( σ j h ) ) i R i j
    Figure DE102020107149A1_0012
  • Eine Kostenfunktion costh kann auf der Grundlage von Gleichung (6) bestimmt werden, wobei βµ empirisch bestimmt werden kann, indem die Ausgabekostenfunktionen costh gegen die Ground Truth gereiht werden. a j Max min ( λ ( β α h c o s t h ) )
    Figure DE102020107149A1_0013
  • Max-min()-Funktion wird gemäß Gleichung (2) berechnet. Parameter βα und βµ werden während der Trainingszeit gelernt, um die Unterscheidung zwischen maximalen und nicht-maximalen Werten zu verbessern. Die inverse Temperatur λ kann bei jeder Iteration gemäß einem festen Zeitplan, der durch Benutzereingaben bestimmt wird, ansteigen.
  • Im Block 406 führt der Prozess 400 einen Erwartungsschritt (E-Schritt) durch, der auf Vorhersagetensor μ j h ,
    Figure DE102020107149A1_0014
    Varianz σ j h ,
    Figure DE102020107149A1_0015
    Aktivierungen a, Stimmen V und der übergeordneten Ebene j gemäß den Gleichungen (8) und (9) basiert, um die Kapselposition pj und neue Schätzungen der Routing-Koeffizienten Rij für die Kapseln ΩL+1 in der Schicht L+1 auszugeben. j Ω L + 1 : p j i R i j ( V i j h μ j h ) 2 h H 2 π ( σ j h ) 2  exp ( h H ( V i j h μ j h ) 2 2 ( σ j h ) 2 )
    Figure DE102020107149A1_0016
    j Ω L + 1 : R i j a j p j k Ω L + 1 a k p k
    Figure DE102020107149A1_0017
  • Im Block 408 wird ein Iterationszähler inkrementiert und mit einer maximalen Anzahl verglichen, die durch Benutzereingaben bestimmt werden kann. Die maximale Anzahl kann eine kleine Zahl sein, zum Beispiel 20. Wenn der Iterationszähler kleiner oder gleich der maximalen Anzahl ist, kann Prozess 400 zu Block 402 zurückschleifen und Blöcke 404 und 406 wiederholen. Wenn der Iterationszähler größer als die maximale Anzahl ist, wird Prozess 400 beendet.
  • 5 ist ein Diagramm einer Verkehrsszene 500. Verkehrsszene 500 schließt eine Fahrbahn 502 ein, auf der Fahrzeuge 504 betrieben werden. Verkehrsszene 500 schließt auch eine stationäre Videokamera 506 ein. Stationäre Videokamera 506 kann auf einem Mast 508 oder einer anderen stationären Struktur, einschließlich eines Gebäudes, montiert werden, um der stationären Videokamera 506 einen Sichtbereich 510 zu bieten, der einen Abschnitt von Fahrbahn 502 und in der Regel von Zeit zu Zeit auch Fahrzeuge 504 einschließt. Stationäre Videokamera 506 kann am Mast 508 befestigt werden, so dass die stationäre Videokamera 506 einen im Wesentlichen unveränderlichen Sichtbereich 510 unter Bezugnahme auf Fahrbahn 502 beibehalten kann. Stationäre Videokamera 506 kann kalibriert werden, um den dreidimensionalen (3D-) Standort des Sichtbereichs 510 in globalen Koordinaten zu bestimmen. Globale Koordinaten sind Positionswerte wie Breiten- und Längengrad und Höhe, die auf einem globalen Koordinatensystem basieren, wie es z. B. von einem GPS verwendet wird. Durch die Bestimmung des 3D-Standorts des Sichtbereichs 510 in globalen Koordinaten kann z. B. der 3D-Standort in globalen Koordinaten einer Region in den Daten einer stationären Videokamera bestimmt werden, die einem Objekt entspricht. Die Standorte von Merkmalen in Videodaten können auf der Grundlage von Projektionsgleichungen in globale Koordinaten umgewandelt werden, die auf Daten über gemessene Standorte in der realen Welt, einen Sichtbereich 510 und die Vergrößerung eines in der stationären Videokamera 506 eingeschlossenen Objektivs basieren, um die Standorten von Standorten in der realen Welt in Videodaten in globalen Koordinaten zu bestimmen.
  • Stationäre Videokamera 506 kann in ein Verkehrsinformationssystem 100 eingeschlossen werden. Ein Verkehrsinformationssystem 100 kann einen oder mehrere Servercomputer 120 einschließen, die so konfiguriert sind, dass sie stationäre Videokameradaten erfassen und diese verarbeiten, um Objekte zu verfolgen und die verfolgten Objekte in globalen Koordinaten zu lokalisieren.
  • Verkehrsinformationssystem 100 kann auch mit einem Fahrzeug 110 kommunizieren, basierend auf dem Standort des Fahrzeugs 110. Beispielsweise kann ein Verkehrsinformationssystem 100 mit einem Fahrzeug 110 auf Grundlage seiner Nähe zu einer stationären Videokamera 506 kommunizieren. Das Verkehrsinformationssystem 100 kann Daten zu einem verfolgten Objekt bestimmen, die sich außerhalb des Sichtbereichs der in einem Fahrzeug 110 eingeschlossenen Sensoren befinden können, aber beispielsweise in naher Zukunft für das Fahrzeug 110 sichtbar sein könnten.
  • Die Objekterfassung und -lokalisierung durch ein Kapselnetzwerk 200 kann von einer Rechenvorrichtung 115 für eine Vielzahl von Aufgaben, die sich auf den Fahrzeugbetrieb beziehen, genutzt werden. Objekterfassungs- und Standortdaten, die auf Videodaten 202 basieren, die von einer stationären Videokamera 506 erfasst wurden, können auf ein Fahrzeug 110 heruntergeladen werden, um Fahrzeug 110 zu betreiben. Beispielsweise kann ein Fahrzeug 110 einen Fahrzeugweg bestimmen, auf dem es auf der Grundlage eines vorhergesagten Standorts für ein Objekt betrieben werden kann, wobei Fahrzeug 110 eine Kollision oder eine Beinahe-Kollision zwischen einem vorhergesagten Standort von Fahrzeug 110 und einem vorhergesagten Standort eines Objekts erfassen kann. Objekterfassungs- und Standortdaten können z. B. von einer Videokamera erfasst werden, die an einem Fahrzeug 110 montiert ist. Das Fahrzeug 110 kann die Objekterfassungs- und Standortdaten nutzen, um z. B. Kollisionen und Beinahe-Kollisionen zwischen vorhergesagten Standorten des Fahrzeugs 110 und vorhergesagten Standorten des Objekts vorherzusagen.
  • Objekterfassungs-, Klassifizierungs- und Standortdaten können auch von einer Videokamera erfasst werden, die auf einer mobilen Plattform, z. B. einer Drohne, montiert ist. Die von einer auf einer Drohne montierten Videokamera erfassten Objekterfassungs-, Klassifizierungs- und Standortdaten können von einem Servercomputer 120 in einem Verkehrsinformationssystem 100 empfangen werden, um Verkehrsdaten zu bestimmen. Beispielsweise kann ein Servercomputer 120 Verkehrsdaten wie Daten zu Verkehrsstaus und Verkehrsunfällen auf der Grundlage der empfangenen Objekterfassung, Klassifizierung und des Standorts bestimmen und auf ein Fahrzeug 110 herunterladen. Prozesse, die Fahrzeuge betreiben oder den Fahrzeugbetrieb auf der Grundlage des Erfassens und Lokalisierens von Objekten unterstützen, können von Verbesserungen in Kapselnetzwerken 200 profitieren, einschließlich der Bestimmung maximaler Routing-Koeffizienten unter Verwendung von Max-min()-Funktionen oder anderer hierin beschriebener skaleninvarianter Techniken.
  • 6 ist ein Diagramm eines Flussdiagramms, das in Bezug auf die 1 bis 5 beschrieben ist, eines Prozesses 600 zur Bestimmung eines Objektstandorts, zur Verfolgung eines Objekts auf der Grundlage des Objektstandorts und zum Herunterladen der Objektverfolgungsdaten auf ein Fahrzeug. Prozess 600 kann von einem Prozessor einer Rechenvorrichtung 115 oder einem Servercomputer 120 implementiert werden, der als Eingangsdaten von Sensoren Befehle ausführt und z. B. Objektdaten an ein Fahrzeug 110 sendet. Prozess 600 schließt mehrere Blöcke in der offenbarten Reihenfolge ein. Prozess 600 könnte alternativ oder zusätzlich weniger Blöcke einschließen oder kann die aufgenommenen Blöcke in unterschiedlicher Reihenfolge einschließen.
  • Der Prozess 600 beginnt im Block 602, wobei eine Rechenvorrichtung 115 oder ein Servercomputer 120 einen Videoframe von einer Videokamera einschließlich einer stationären Videokamera 506 erfasst und in ein trainiertes Kapselnetzwerk 200 eingibt. Das Kapselnetzwerk 200 wurde unter Verwendung von Routing-Koeffiziententensoren trainiert, wie oben unter Bezugnahme auf 2 bis 5 beschrieben. Das Kapselnetzwerk 200 gibt Videoframedaten 202 ein und kann Objekterfassungs- und Standortdaten 218 ausgeben, die den unter Bezugnahme auf einen Videoframe gemessenen Objekterfassungs- und Standortdaten entsprechen. Videokameradaten können von einer stationären Videokamera oder einer mobilen Videokamera eingegeben werden. Eine mobile Videokamera kann z. B. auf einem Fahrzeug 110 oder einer Drohne montiert werden.
  • Im Block 604 kann der Servercomputer 120 die Objekterfassungs- und Standortdaten 218, die vom Kapselnetzwerk 200 ausgegeben werden, mit Ground Truth-Daten bezüglich des Standorts der Fahrbahn 502 unter Bezugnahme auf den Sichtbereich 510 der stationären Videokamera 506 in globalen Koordinaten kombinieren, um die ausgegebenen Objekterfassungs- und Standortdaten 218 in globale Koordinaten umzuwandeln, wie in Bezug auf 5 oben erläutert. Eine Folge von Objektstandorten in globalen Koordinaten, die in gleichen Zeitintervallen erfasst werden, sind Zeitreihendaten, die in einen Prozess eingegeben werden können, von dem bekannt ist, dass er die Objektbewegung vorhersagen und dadurch das Objekt auf der Grundlage der Objektstandorte verfolgen kann. Beispielsweise kann ein neuronales Netzwerk darauf trainiert werden, Objektstandorte in globalen Koordinaten einzugeben und vorhergesagte Objektstandorte auszugeben. Ein Servercomputer 120 kann vorhergesagte Objektstandorte in globalen Koordinaten auf ein Fahrzeug 110 herunterladen oder ein Fahrzeug 110 kann Objektstandorte von heruntergeladenen Objektstandorten vorhersagen. Vorhersagen bezüglich Objektstandorten können in Prozesse eingegeben werden, die Fahrzeugwege bestimmen, damit eine Rechenvorrichtung 115 in einem Fahrzeug 110 einen Pfad bestimmen kann, auf dem es auf der Grundlage der heruntergeladenen Objektdaten betrieben werden kann. Beispielsweise kann ein Fahrzeugweg bestimmt werden, der eine Kollision oder Beinahe-Kollision mit einem vorhergesagten Objektstandort vermeidet.
  • In Beispielen, in denen die Videokameradaten von einer mobilen Plattform erfasst werden, können die Objekterfassungs- und Standortdaten in globale Koordinaten umgewandelt werden, die auf einem Standort und einem Sichtbereich basieren, die dem Standort und dem Sichtbereich einer in der mobilen Plattform eingeschlossenen Videokamera entsprechen. Da sich die Plattform bewegen kann, wenn die Videokameradaten erfasst werden, können die Videokameradaten mit einem Zeitstempel versehen werden, um einen Standort der Videokamera zu identifizieren, wenn die Videokameradaten erfasst wurden. Von mobilen Plattformen erfasste Objekterfassungs- und Standortdaten können direkt auf ein Fahrzeug 110 heruntergeladen oder von einem Servercomputer 120 empfangen werden, um sie mit Objekterfassungs- und Standortdaten aus anderen Quellen zu kombinieren und so Verkehrsdaten zu bestimmen. Verkehrsdaten können z. B. eine Karte einer Straße mit beweglichen und festen Objekten einschließen. Die beweglichen und festen Objekte können ein oder mehrere Fahrzeuge 110 einschließen. Ein Verkehrsinfrastruktursystem 110 kann mit einem Fahrzeug 110 kommunizieren, um Verkehrsdaten auf ein Fahrzeug 110 herunterzuladen, um z. B. das Fahrzeug 110 beim Betrieb auf einer Fahrbahn 502 zu unterstützen. Nach Block 604 endet der Prozess 600.
  • Rechenvorrichtungen wie die hierin erläuterten schließen in der Regel jeweils Befehle ein, die von einem oder mehreren Rechenvorrichtungen wie den oben genannten ausführbar sind und zur Ausführung der oben beschriebenen Blöcke oder Schritte von Prozessen dienen. Beispielsweise können die oben erläuterten Prozessblöcke als computerausführbare Befehle verkörpert werden.
  • Computerausführbare Befehle können aus Computerprogrammen kompiliert oder interpretiert werden, die mit einer Vielzahl von Programmiersprachen und/oder Technologien erstellt wurden, einschließlich, ohne Einschränkung, und entweder allein oder in Kombination, Java™, C, C++, Python, Julia, SCALA, Visual Basic, Java Script, Perl, HTML usw. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Befehle, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Befehle aus und führt dabei einen oder mehrere Prozesse aus, einschließlich eines oder mehrerer der hierin beschriebenen Prozesse. Solche Befehle und andere Daten können in Dateien gespeichert und mit einer Vielzahl von computerlesbaren Medien übertragen werden. Eine Datei in einer Rechenvorrichtung ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium, wie z. B. einem Speichermedium, einem Direktzugriffsspeicher usw., gespeichert sind.
  • Ein computerlesbares Medium schließt jedes Medium ein, das an der Bereitstellung von Daten (z. B. Befehle) beteiligt ist, die von einem Computer gelesen werden können. Ein solches Medium kann viele Formen annehmen, einschließlich, aber nicht beschränkt auf, nichtflüchtige Medien, flüchtige Medien usw. Zu den nichtflüchtigen Medien gehören z. B. optische oder magnetische Platten und andere persistente Speicher. Flüchtige Medien schließen dynamische Direktzugriffsspeicher (DRAM) ein, die in der Regel einen Hauptspeicher darstellen. Gängige Formen von computerlesbaren Medien sind z. B. eine Diskette, eine flexible Diskette, eine Festplatte, ein Magnetband, ein beliebiges anderes magnetisches Medium, eine CD-ROM, eine DVD, ein beliebiges anderes optisches Medium, Lochkarten, ein Papierband, ein beliebiges anderes physikalisches Medium mit Lochmustern, ein RAM, ein PROM, ein EPROM, ein FLASH-EEPROM, ein beliebiger anderer Speicherchip oder eine Kassette oder ein beliebiges anderes Medium, von dem ein Computer lesen kann.
  • Alle in den Ansprüchen verwendeten Begriffe sollen ihre einfache und gewöhnliche Bedeutung erhalten, wie sie von Fachleuten verstanden wird, es sei denn, es wird hierin ausdrücklich das Gegenteil angegeben. Insbesondere sollte die Verwendung der einzelnen Artikel wie „ein“, „eine“, „der“, „die“, „das“ usw. gelesen werden, um eines oder mehrere der bezeichneten Elemente anzugeben, es sei denn, in einem Anspruch wird eine ausdrückliche gegenteilige Einschränkung angegeben.
  • Der Begriff „beispielhaft“ wird hierin in dem Sinne verwendet, dass ein Beispiel gemeint ist, z. B. sollte eine Referenz auf ein „beispielhaftes Widget“ einfach als sich auf ein Beispiel eines Widgets beziehend gelesen werden.
  • Das Adverb „etwa“, das einen Wert oder ein Ergebnis modifiziert, bedeutet, dass eine Form, Struktur, Messung, Wert, Bestimmung, Berechnung usw. von einer genau beschriebenen Geometrie, einem Abstand, einer Messung, einem Wert, einer Bestimmung, einer Berechnung usw. aufgrund von Unvollkommenheiten bei Materialien, Bearbeitung, Herstellung, Sensormessungen, Berechnungen, Verarbeitungszeit, Kommunikationszeit usw. abweichen kann.
  • In den Zeichnungen weisen die gleichen Referenznummern auf die gleichen Elemente hin. Ferner könnten einige oder alle diese Elemente geändert werden. Im Hinblick auf die hierin beschriebenen Medien, Prozesse, Systeme, Verfahren usw. ist zu verstehen, dass, obwohl die Schritte oder Blöcke solcher Prozesse usw. als in einer bestimmten Reihenfolge ablaufend beschrieben wurden, solche Prozesse mit den beschriebenen Schritten in einer anderen als der hierin beschriebenen Reihenfolge ausgeführt werden könnten. Es sollte ferner verstanden werden, dass bestimmte Schritte gleichzeitig ausgeführt werden können, dass andere Schritte hinzugefügt werden können oder dass bestimmte hierin beschriebene Schritte ausgelassen werden können. Mit anderen Worten, die Beschreibungen der Prozesse hierin werden zum Zweck der Veranschaulichung bestimmter Ausführungsformen bereitgestellt und sollten in keiner Weise so ausgelegt werden, dass sie die beanspruchte Erfindung einschränken.
  • Gemäß der vorliegenden Erfindung schließt ein Verfahren das Erfassen und Lokalisieren eines Objekts durch Verarbeitung von Videokameradaten mit einem Kapselnetzwerk ein, wobei das Training des Kapselnetzwerks das Bestimmen von Routing-Koeffizienten mit einer skaleninvarianten Normierungsfunktion einschließt; und
    Empfangen des erfassten und lokalisierten Objekts an einer Rechenvorrichtung.
  • Gemäß einer Ausführungsform schließt das Kapselnetz das Bestimmen von Routing-Koeffizienten ein, die den Strecken zwischen den Kapselschichten entsprechen.
  • Gemäß einer Ausführungsform werden Routing-Koeffizienten durch Gruppierung von Strecken auf der Grundlage einer oder mehrerer von Korrelation oder Clustern nach dem Training auf der Grundlage eines ersten Trainingsdatensatzes bestimmt, wobei die Strecke bestimmte Elemente in einer Kapselschicht mit Standorten in einer nachfolgenden Kapselschicht verbindet.
  • Gemäß einer Ausführungsform schließt das Training des Kapselnetzes die Bestimmung von Routing-Koeffizienten mit der skaleninvarianten Normierungsfunktion innerhalb einer Zählschleife ein.
  • Gemäß einer Ausführungsform schließt die skaleninvariante Normalisierungsfunktion eine Max-min()-Funktion ein.
  • Gemäß einer Ausführungsform ist die Erfindung ferner dadurch gekennzeichnet, dass ein Fahrzeug basierend auf dem Empfangen des erfassten und lokalisierten Objekts betrieben wird.
  • Gemäß einer Ausführungsform schloss der Betrieb des Fahrzeugs auf der Grundlage des Empfangs des erfassten und lokalisierten Objekts die Bestimmung eines vorhergesagten Standorts des Objekts in globalen Koordinaten ein.
  • Gemäß einer Ausführungsform ist die Erfindung ferner dadurch gekennzeichnet, dass Verkehrsdaten auf der Grundlage des Empfangs des erfassten und lokalisierten Objekts bestimmt werden.
  • Gemäß einer Ausführungsform ist die Erfindung ferner dadurch gekennzeichnet, dass die Videokameradaten mit einer oder mehreren stationären Videokameras, die in einem Verkehrsinfrastruktursystem eingeschlossen sind, und einer mobilen Videokamera, die in einem oder mehreren von einem Fahrzeug und einer Drohne eingeschlossen ist, erfasst werden.
  • Gemäß der vorliegenden Erfindung wird ein System mit einem Prozessor bereitgestellt; und ein Speicher, wobei der Speicher Anweisungen einschließt, die vom Prozessor ausgeführt werden sollen, um: ein Objekt durch Verarbeitung von Videokameradaten mit einem Kapselnetzwerk zu erfassen und zu lokalisieren, wobei das Training des Kapselnetzwerks die Bestimmung von Routing-Koeffizienten mit einer skaleninvarianten Normalisierungsfunktion einschließt; und ein erfasstes und lokalisiertes Objekt an einer Rechenvorrichtung zu empfangen.
  • Gemäß einer Ausführungsform schließt das Kapselnetzwerk ein neuronales Netzwerk, wobei die Anweisungen ferner Anweisungen zur Bestimmung von Routing-Koeffizienten einschließen, die den Strecken zwischen den Kapselschichten entsprechen.
  • Gemäß einer Ausführungsform schließen die Anweisungen ferner Anweisungen zur Bestimmung von Routing-Koeffizienten durch Gruppierung von Strecken auf der Grundlage einer oder mehrerer von Korrelation oder Clustern nach einem Training auf der Grundlage eines ersten Trainingsdatensatzes ein, wobei die Strecke bestimmte Elemente in einer Kapselschicht mit Standorten in einer nachfolgenden Kapselschicht verbindet.
  • Gemäß einer Ausführungsform schließt das Training des Kapselnetzes die Bestimmung von Routing-Koeffizienten mit der skaleninvarianten Normierungsfunktion innerhalb einer Zählschleife ein.
  • Gemäß einer Ausführungsform schließt die skaleninvariante Normalisierungsfunktion eine Max-min()-Funktion ein.
  • Gemäß einer Ausführungsform ist die Erfindung ferner dadurch gekennzeichnet, dass ein Fahrzeug basierend auf der Vorhersage eines Objektstandortes auf der Grundlage des Empfangs des erfassten und lokalisierten Objekts betrieben wird.
  • Gemäß einer Ausführungsform schloss der Betrieb des Fahrzeugs auf der Grundlage des Empfangs des erfassten und lokalisierten Objekts die Bestimmung eines vorhergesagten Standorts des Objekts in globalen Koordinaten ein.
  • Gemäß einer Ausführungsform ist die Erfindung ferner dadurch gekennzeichnet, dass Verkehrsdaten auf der Grundlage des Empfangs des erfassten und lokalisierten Objekts bestimmt werden.
  • Gemäß einer Ausführungsform schließen die Anweisungen ferner Anweisungen zur Erfassung der Videokameradaten mit einer oder mehreren von einer stationären Videokamera, die in einem Verkehrsinfrastruktursystem eingeschlossen ist, und einer mobilen Videokamera, die in einem oder mehreren von einem Fahrzeug und einer Drohne eingeschlossen ist, ein.
  • Gemäß der vorliegenden Erfindung wird ein System bereitgestellt, das über Mittel zur Steuerung der Lenkung, der Bremsen und des Antriebsstrangs von Fahrzeugen; und Mittel zum Erfassen und Lokalisieren eines Objekts durch Verarbeitung von Videokameradaten mit einem Kapselnetzwerk, wobei das Training des Kapselnetzwerks die Bestimmung von Routing-Koeffizienten mit einer skaleninvarianten Normalisierungsfunktion einschließt; und Mittel zum Empfangen des erfassten und lokalisierten Objekts an einer Rechenvorrichtung verfügt; und zum Betreiben eines Fahrzeugs auf der Grundlage des erfassten und lokalisierten Objekts und die Mittel zur Steuerung der Lenkung, der Bremsen und des Antriebsstrangs des Fahrzeugs.
  • Gemäß einer Ausführungsform schließt das Kapselnetz das Bestimmen von Routing-Koeffizienten ein, die den Strecken zwischen den Kapselschichten entsprechen.

Claims (15)

  1. Verfahren, umfassend: Erfassen und Lokalisieren eines Objekts durch Verarbeitung von Videokameradaten mit einem Kapselnetzwerk, wobei das Training des Kapselnetzwerks die Bestimmung von Routing-Koeffizienten mit einer skaleninvarianten Normalisierungsfunktion einschließt; und Empfangen des erfassten und lokalisierten Objekts an einer Rechenvorrichtung.
  2. Verfahren nach Anspruch 1, wobei das Kapselnetzwerk die Bestimmung von Routing-Koeffizienten einschließt, die den Strecken zwischen den Kapselschichten entsprechen.
  3. Verfahren nach Anspruch 1, wobei dem Routing-Koeffizienten durch Gruppierung von Strecken auf der Grundlage einer oder mehrerer von Korrelation oder Clustern nach dem Training auf der Grundlage eines ersten Trainingsdatensatzes bestimmt werden, wobei die Strecke bestimmte Elemente in einer Kapselschicht mit Standorten in einer nachfolgenden Kapselschicht verbindet.
  4. Verfahren nach Anspruch 1, wobei das Training des Kapselnetzwerks die Bestimmung von Routing-Koeffizienten mit der skaleninvarianten Normalisierungsfunktion innerhalb einer Zählschleife einschließt.
  5. Verfahren nach Anspruch 4, wobei die skaleninvariante Normalisierungsfunktion eine Max-min()-Funktion einschließt.
  6. Verfahren nach Anspruch 1, ferner umfassend den Betrieb eines Fahrzeugs auf der Grundlage des Empfangs des erfassten und lokalisierten Objekts.
  7. Verfahren nach Anspruch 6, wobei der Betrieb des Fahrzeugs auf der Grundlage des Empfangs des erfassten und lokalisierten Objekts die Bestimmung eines vorhergesagten Standorts des Objekts in globalen Koordinaten einschließt.
  8. Verfahren nach Anspruch 1, ferner umfassend die Bestimmung von Verkehrsdaten auf der Grundlage des Empfangs des erfassten und lokalisierten Objekts.
  9. Verfahren nach Anspruch 1, ferner umfassend die Erfassung der Videokameradaten mit einer oder mehreren von einer stationären Videokamera, die in einem Verkehrsinfrastruktursystem eingeschlossen ist, und einer mobilen Videokamera, die in einem oder mehreren Fahrzeugen und einer Drohne eingeschlossen ist.
  10. Verfahren nach Anspruch 7, wobei der Betrieb des Fahrzeugs auf der Grundlage der Vorhersage des Objektstandorts die Bestimmung eines Fahrzeugwegs und die Kombination der Vorhersage des Objektstandorts mit dem Fahrzeugweg einschließt.
  11. Verfahren nach Anspruch 10, wobei der Betrieb des Fahrzeugs auf der Grundlage der Standortvorhersage die Steuerung eines oder mehrerer von Fahrzeugantriebsstrang, Bremsen und Lenkung einschließt.
  12. Verfahren nach Anspruch 11, wobei die globalen Koordinaten auf der Grundlage eines Standortes und eines Sichtbereichs einer Videokamera bestimmt werden.
  13. Verfahren nach Anspruch 1, ferner umfassend die Bestimmung von Routing-Koeffizienten durch Iteration über einen Prozess, der die maximalen Routing-Koeffizienten durch Abwechseln eines Erwartungsschritts und eines Maximierungsschritts bestimmt.
  14. Verfahren nach Anspruch 13, wobei der Erwartungsschritt eine Kapselposition und neue Schätzungen der Routing-Koeffizienten ausgibt.
  15. System, umfassend einen Computer, der so programmiert ist, dass er die Verfahren nach einem der Ansprüche 1 bis 14 ausführt.
DE102020107149.3A 2019-03-22 2020-03-16 Fahrzeugkapsel-netzwerke Pending DE102020107149A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/361,295 2019-03-22
US16/361,295 US11188085B2 (en) 2019-03-22 2019-03-22 Vehicle capsule networks

Publications (1)

Publication Number Publication Date
DE102020107149A1 true DE102020107149A1 (de) 2020-09-24

Family

ID=72334169

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020107149.3A Pending DE102020107149A1 (de) 2019-03-22 2020-03-16 Fahrzeugkapsel-netzwerke

Country Status (3)

Country Link
US (1) US11188085B2 (de)
CN (1) CN111791814A (de)
DE (1) DE102020107149A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11661055B2 (en) * 2019-05-24 2023-05-30 Preact Technologies, Inc. Close-in collision detection combining high sample rate near-field sensors with advanced real-time parallel processing to accurately determine imminent threats and likelihood of a collision
CN112784652A (zh) * 2019-11-11 2021-05-11 中强光电股份有限公司 图像识别方法及装置
US11802959B2 (en) 2020-01-22 2023-10-31 Preact Technologies, Inc. Vehicle driver behavior data collection and reporting
CN112348038A (zh) * 2020-11-30 2021-02-09 江苏海洋大学 一种基于胶囊网络的视觉定位方法
CN112395504B (zh) * 2020-12-01 2021-11-23 中国计量大学 一种基于序列胶囊网络的短视频点击率预测方法
CN112644506A (zh) * 2021-01-05 2021-04-13 江苏大学 一种基于模型长短时记忆神经网络lstm-nn检测驾驶人驾驶分心的方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8913783B2 (en) * 2009-10-29 2014-12-16 Sri International 3-D model based method for detecting and classifying vehicles in aerial imagery
CN102436598B (zh) * 2011-09-08 2014-04-02 崔志明 一种基于交通图像信息的车辆最优路径挖掘方法
US8620987B2 (en) 2011-09-10 2013-12-31 Hewlett-Packard Development Company, L.P. Multi-regime detection in streaming data
US8825350B1 (en) * 2011-11-22 2014-09-02 Kurt B. Robinson Systems and methods involving features of adaptive and/or autonomous traffic control
KR20150085007A (ko) 2012-11-13 2015-07-22 엘마인다 리미티드 시공간 분할을 이용한 신경 생리학적 데이터 분석
CA2958888C (en) 2014-08-28 2023-02-28 Retailmenot, Inc. Reducing the search space for recognition of objects in an image based on wireless signals
US10192162B2 (en) * 2015-05-21 2019-01-29 Google Llc Vector computation unit in a neural network processor
EP3772702A3 (de) 2016-02-22 2021-05-19 Rapiscan Systems, Inc. Verfahren zur verarbeitung radiographischer bilder
US10210418B2 (en) 2016-07-25 2019-02-19 Mitsubishi Electric Research Laboratories, Inc. Object detection system and object detection method

Also Published As

Publication number Publication date
CN111791814A (zh) 2020-10-20
US11188085B2 (en) 2021-11-30
US20200301438A1 (en) 2020-09-24

Similar Documents

Publication Publication Date Title
DE102019122826A1 (de) Adaptives fahrzeuglernen
DE102020110458A1 (de) Fahrzeugpfadvorhersage
DE102020107149A1 (de) Fahrzeugkapsel-netzwerke
DE102019122027A1 (de) Fahrzeugwegplanung
DE102019101938A1 (de) Erstellung kognitiver Karten für Fahrzeuge
DE102019119162A1 (de) Posenschätzung
DE102017204404B3 (de) Verfahren und Vorhersagevorrichtung zum Vorhersagen eines Verhaltens eines Objekts in einer Umgebung eines Kraftfahrzeugs und Kraftfahrzeug
DE102019127058A1 (de) Fahrzeugwegplanung
DE102017120112A1 (de) Tiefenkartenschätzung mit stereobildern
DE102020113848A1 (de) Ekzentrizitätsbildfusion
DE102019129232A1 (de) Sprachverarbeitung für ein fahrzeug
DE102020117376A1 (de) Generierung eines fahrzeugbildes
DE102019122536A1 (de) Exzentrizitätskarten
DE102019106845A1 (de) Verschleierungsentfernung für Fahrzeugsensoren
DE102019126542A1 (de) Lokalisierung einer stationären kamera
DE102021128041A1 (de) Verbesserung eines neuronalen fahrzeugnetzwerks
DE102020102823A1 (de) Fahrzeugkapselnetzwerke
DE102021124913A1 (de) Metrik-backpropagation für die beurteilung der leistung von untersystemen
DE102023104789A1 (de) Verfolgung mehrerer objekte
DE102020126155A1 (de) Trainieren eines neuronalen netzwerks eines fahrzeugs
DE102020107339A1 (de) Objektverfolgung für fahrzeuge
DE102020115499A1 (de) Fahrzeug-exzentrizitätsabbildung
DE102021101270A1 (de) Trainieren eines neuronalen netzwerks eines fahrzeugs
DE102022114048A1 (de) Bildentzerrung
DE112022001861T5 (de) Bewegungsbahnkonsistenzmessung für den betrieb eines autonomen fahrzeugs

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: BONSMANN - BONSMANN - FRANK PATENTANWAELTE, DE