DE102020117529A1 - Bestimmung der fahrzeuglage - Google Patents

Bestimmung der fahrzeuglage Download PDF

Info

Publication number
DE102020117529A1
DE102020117529A1 DE102020117529.9A DE102020117529A DE102020117529A1 DE 102020117529 A1 DE102020117529 A1 DE 102020117529A1 DE 102020117529 A DE102020117529 A DE 102020117529A DE 102020117529 A1 DE102020117529 A1 DE 102020117529A1
Authority
DE
Germany
Prior art keywords
vehicle
dof
features
procedure according
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
DE102020117529.9A
Other languages
English (en)
Inventor
John Michael Fischer
Punarjay Chakravarty
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 DE102020117529A1 publication Critical patent/DE102020117529A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/04Conjoint control of vehicle sub-units of different type or different function including control of propulsion units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • 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
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/18Conjoint control of vehicle sub-units of different type or different function including control of braking systems
    • 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
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/20Conjoint control of vehicle sub-units of different type or different function including control of steering systems
    • 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/18Propelling the vehicle
    • B60W30/182Selecting between different operative modes, e.g. comfort and performance modes
    • 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
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/10Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to vehicle motion
    • 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
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/005Handover processes
    • 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/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/251Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions
    • G08G1/0108Measuring and analyzing of parameters relative to traffic conditions based on the source of data
    • G08G1/0116Measuring and analyzing of parameters relative to traffic conditions based on the source of data from roadside infrastructure, e.g. beacons
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/04Detecting movement of traffic to be counted or controlled using optical or ultrasonic detectors
    • 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/0043Signal treatments, identification of variables or parameters, parameter estimation or state estimation
    • 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
    • B60W2710/00Output or target parameters relating to a particular sub-units
    • B60W2710/06Combustion engines, Gas turbines
    • 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
    • B60W2710/00Output or target parameters relating to a particular sub-units
    • B60W2710/08Electric propulsion units
    • 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
    • B60W2710/00Output or target parameters relating to a particular sub-units
    • B60W2710/18Braking system
    • 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
    • B60W2710/00Output or target parameters relating to a particular sub-units
    • B60W2710/20Steering systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • 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/20084Artificial neural networks [ANN]
    • 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/30244Camera pose
    • 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)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Transportation (AREA)
  • Chemical & Material Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Combustion & Propulsion (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Artificial Intelligence (AREA)
  • Electromagnetism (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Analytical Chemistry (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Traffic Control Systems (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)

Abstract

Die vorliegende Offenbarung stellt eine Bestimmung der Fahrzeuglage bereit. Ein Computer beinhaltet einen Prozessor und einen Speicher, wobei der Speicher Anweisungen beinhaltet, die durch den Prozessor auszuführen sind, um auf Grundlage eines Bilds eine Fahrzeuglage in sechs Freiheitsgraden (DoF) zu bestimmen, wobei die Sechs-DoF-Lage einen x-, y- und z-Standort und eine Roll-, Nick- und Gier-Ausrichtung beinhaltet, und die Sechs-DoF-Fahrzeuglage auf Grundlage einer Sechs-DoF-Kameralage in globale Koordinaten umzuwandeln. Die Anweisungen können ferner Anweisungen zum Kommunizieren der Sechs-DoF-Lage in globalen Koordinaten an das Fahrzeug beinhalten.

Description

  • TECHNISCHES GEBIET
  • Diese Offenbarung betrifft das Gebiet der Fahrzeuglagebestimmung.
  • ALLGEMEINER STAND DER TECHNIK
  • Fahrzeuge können derart ausgestattet sein, dass sie sowohl in einem autonomen als auch in einem insassengesteuerten Modus arbeiten. Fahrzeuge können mit Rechenvorrichtungen, Netzwerken, Sensoren und Steuerungen ausgestattet sein, um Informationen bezüglich der Umgebung des Fahrzeugs zu erfassen und das Fahrzeug auf Grundlage der Informationen zu betreiben. Ein sicherer und komfortabler Betrieb des Fahrzeugs kann vom Erfassen genauer und aktueller Informationen bezüglich der Umgebung des Fahrzeugs abhängen. Fahrzeugsensoren können Daten bezüglich zurückzulegenden Routen und zu umfahrenden Objekten in der Umgebung des Fahrzeugs bereitstellen. Ein sicherer und effizienter Betrieb des Fahrzeugs kann vom Erfassen genauer und aktueller Informationen bezüglich Routen und Objekten in der Umgebung eines Fahrzeugs während des Betriebs des Fahrzeugs auf einer Fahrbahn abhängen.
  • KURZDARSTELLUNG
  • Fahrzeuge können derart ausgestattet sein, dass sie sowohl in einem autonomen als auch in einem insassengesteuerten Modus arbeiten. Unter einem halb- oder vollautonomen Modus verstehen die Erfinder einen Betriebsmodus, in dem ein Fahrzeug teilweise oder vollständig von einer Rechenvorrichtung als Teil eines Informationssystems gesteuert werden kann, das Sensoren und Steuerungen aufweist. Das Fahrzeug kann belegt oder unbelegt sein; doch in beiden Fällen kann das Fahrzeug teilweise oder vollständig ohne Unterstützung eines Insassen gesteuert werden. Für die Zwecke dieser Offenbarung ist ein autonomer Modus als ein Modus definiert, bei dem alles von Antrieb (z. B. ü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 halbautonomen Modus steuert/steuern der/die Fahrzeugcomputer eines oder zwei von Antrieb, Bremsung und Lenkung des Fahrzeugs. In einem nichtautonomen Fahrzeug wird keines von diesen durch einen Computer gesteuert.
  • Eine Rechenvorrichtung in einem Fahrzeug kann dazu programmiert sein, Daten bezüglich der Außenumgebung eines Fahrzeugs zu erfassen und die Daten dazu zu verwenden, einen Fahrzeugweg zu bestimmen, auf dem ein Fahrzeug in einem autonomen oder halbautonomen Modus betrieben werden soll. Ein Fahrzeug kann auf Grundlage eines Fahrzeugwegs auf einer Fahrbahn fahren, indem Befehle bestimmt werden, die Antriebsstrang-, Brems- und Lenkungskomponenten des Fahrzeugs derart steuern, dass das Fahrzeug so betrieben wird, dass es den Weg entlang fährt. Die Daten bezüglich der Außenumgebung können eine Lage des Fahrzeugs in sechs Freiheitsgraden (degrees of freedom - DoF) in Bezug auf eine Umgebung um das Fahrzeug herum beinhalten. Die Sechs-DoF-Lage ist als Standort und Ausrichtung im dreidimensionalen Raum definiert, die in Bezug auf zueinander senkrechte x-, y- und z-Achsen und durch Roll-, Nick- und Gier-Rotation um die x-, y- und z-Achse gemessen werden. Die Sechs-DoF-Lage entspricht einer Translation t und Rotation R in Bezug auf die zueinander senkrechten x-, y- und z-Achsen. Die Sechs-DoF-Lage eines Fahrzeugs und anderer Fahrzeuge in einer Umgebung um ein Fahrzeug herum kann durch eine Rechenvorrichtung in dem Fahrzeug zum Betreiben des Fahrzeugs verwendet werden. Das Betreiben eines Fahrzeugs auf Grundlage der Sechs-DoF-Lage eines Fahrzeugs kann beispielsweise ein Bestimmen eines Fahrzeugwegs in Bezug auf eine Fahrbahn beinhalten. In Beispielen, die eine Sechs-DoF-Lage eines weiteren Fahrzeugs beinhalten, kann ein Fahrzeugweg bestimmt werden, der das andere Fahrzeug umfährt.
  • In dieser Schrift wird ein Verfahren offenbart, das ein Bestimmen einer Sechs-DoF-Fahrzeuglage auf Grundlage eines Bilds, wobei die Sechs-DoF-Fahrzeuglage einen x-, y- und z-Standort und eine Roll-, Nick- und Gier-Ausrichtung beinhaltet, ein Umwandeln der Sechs-DoF-Fahrzeuglage in globale Koordinaten auf Grundlage einer Sechs-DoF-Kameralage und ein Kommunizieren der Sechs-DoF-Fahrzeuglage in den globalen Koordinaten an ein Fahrzeug beinhaltet. Die Sechs-DoF-Fahrzeuglage kann bestimmt werden, indem auf Grundlage computergestützter Konstruktionsdaten (computer-aided design data - CAD-Daten), physischer Messwerte und Techniken maschinellen Sehens Merkmale und Abmessungen bestimmt werden. Entsprechende Fahrzeugmerkmale können auf Grundlage eines Bilds unter Verwendung von Techniken maschinellen Sehens bestimmt werden und die Fahrzeugmerkmale werden unter Verwendung eines n-Punkt-Perspektive-Algorithmus in die Nennmerkmale umgewandelt, um die Sechs-DoF-Lage zu bestimmen. Die Techniken maschinellen Sehens können Kantendetektion und Standorte und Winkel, an bzw. in denen zwei oder mehr Kanten aufeinandertreffen, beinhalten. Der n-Punkt-Perspektive-Algorithmus kann eine Sechs-DoF-Lage für eine Kamera in Bezug auf die Fahrzeugmerkmale bestimmen, indem iterativ n Fahrzeugmerkmale in ein dreidimensionales (3D) Fahrzeugmodell eingepasst werden, und bestimmt anschließend die Sechs-DoF-Fahrzeuglage für das Fahrzeug auf Grundlage einer bestimmten realen Sechs-DoF-Lage der Kamera.
  • Die Sechs-DoF-Fahrzeuglage kann bestimmt werden, indem ein Videobild in ein trainiertes gefaltetes neuronales Netzwerk (Convolutional Neural Network) eingegeben wird, das die Rotation und Translation des Fahrzeugs in dem Videobild bestimmt. Das Convolutional Neural Network kann unter Verwendung einer Vielzahl von Bildern trainiert werden, einschließlich Bildern des Fahrzeugs in einer Vielzahl von Sechs-DoF-Fahrzeuglagen in Bezug auf eine Kamera und die entsprechende Ground Truth. Die entsprechende Ground Truth kann bestimmt werden, indem unter Verwendung von Techniken maschinellen Sehens entsprechende Fahrzeugmerkmale bestimmt werden und die Fahrzeugmerkmale unter Verwendung eines n-Punkt-Perspektive-Algorithmus in die Nennmerkmale umgewandelt werden, um die Ground Truth zu bestimmen. Die globalen Koordinaten können in Bezug auf eine Breiten-, eine Längen- und eine Höhenkoordinatenachse bestimmt werden. Die Sechs-DoF-Fahrzeuglage kann auf Grundlage von projektiver Geometrie und einschließlich einer Sechs-DoF-Lage der Kamera und eines Vergrößerungsfaktors einer in der Kamera beinhalteten Linse in die globalen Koordinaten umgewandelt werden. Das Fahrzeug kann betrieben werden, indem auf Grundlage der Sechs-DoF-Fahrzeuglage ein Fahrzeugweg bestimmt wird. Das Fahrzeug kann entlang des Fahrzeugweges betrieben werden, indem eines oder mehrere von Fahrzeugantriebsstrang, Fahrzeuglenkung und Fahrzeugbremsen gesteuert werden. Die Sechs-DoF-Fahrzeuglage kann für ein weiteres Fahrzeug bestimmt werden. Das Verfahren umfasst ferner ein Betreiben des Fahrzeugs auf Grundlage einer Bestimmung eines Fahrzeugwegs auf Grundlage der Sechs-DoF-Lage des anderen Fahrzeugs.
  • Außerdem wird ein computerlesbares Medium offenbart, auf dem Programmanweisungen zum Ausführen einiger oder sämtlicher der vorstehenden Verfahrensschritte gespeichert sind. Außerdem wird ein Computer offenbart, der zum Ausführen einiger oder sämtlicher der vorstehenden Verfahrensschritte programmiert ist, einschließlich einer Computervorrichtung, die dazu programmiert ist, auf Grundlage eines Bilds eine Sechs-DoF-Fahrzeuglage zu bestimmen, wobei die Sechs-DoF-Fahrzeuglage einen x-, y- und z-Standort und eine Roll-, Nick- und Gier-Ausrichtung beinhaltet, die Sechs-DoF-Fahrzeuglage auf Grundlage einer Sechs-DoF-Kameralage in globale Koordinaten umzuwandeln und die Sechs-DoF-Fahrzeuglage in den globalen Koordinaten an ein Fahrzeug zu kommunizieren. Die Sechs-DoF-Fahrzeuglage kann bestimmt werden, indem auf Grundlage computergestützter Konstruktionsdaten (computer-aided design data - CAD-Daten), physischer Messwerte und Techniken maschinellen Sehens Merkmale und Abmessungen bestimmt werden. Entsprechende Fahrzeugmerkmale können auf Grundlage eines Bilds unter Verwendung von Techniken maschinellen Sehens bestimmt werden und die Fahrzeugmerkmale werden unter Verwendung eines n-Punkt-Perspektive-Algorithmus in die Nennmerkmale umgewandelt, um die Sechs-DoF-Lage zu bestimmen. Die Techniken maschinellen Sehens können Kantendetektion und Standorte und Winkel, an bzw. in denen zwei oder mehr Kanten aufeinandertreffen, beinhalten. Der n-Punkt-Perspektive-Algorithmus kann eine Sechs-DoF-Lage für eine Kamera in Bezug auf die Fahrzeugmerkmale bestimmen, indem iterativ n Fahrzeugmerkmale in ein dreidimensionales (3D) Fahrzeugmodell eingepasst werden, und bestimmt anschließend die Sechs-DoF-Fahrzeuglage für das Fahrzeug auf Grundlage einer bestimmten Sechs-DoF-Lage der Kamera in der realen Welt.
  • Die Anweisungen können ferner Anweisungen zum Bestimmen der Sechs-DoF-Fahrzeuglage durch Eingeben eines Videobilds in ein trainiertes Convolutional Neural Network, das eine Rotation und Translation des Fahrzeugs in dem Videobild bestimmt, beinhalten. Das Convolutional Neural Network kann unter Verwendung einer Vielzahl von Bildern trainiert werden, einschließlich Bildern des Fahrzeugs in einer Vielzahl von Sechs-DoF-Fahrzeuglagen in Bezug auf eine Kamera und die entsprechende Ground Truth. Die entsprechende Ground Truth kann bestimmt werden, indem unter Verwendung von Techniken maschinellen Sehens entsprechende Fahrzeugmerkmale bestimmt werden und die Fahrzeugmerkmale unter Verwendung eines n-Punkt-Perspektive-Algorithmus in die Nennmerkmale umgewandelt werden, um die Ground Truth zu bestimmen. Die globalen Koordinaten können in Bezug auf eine Breiten-, eine Längen- und eine Höhenkoordinatenachse bestimmt werden. Die Sechs-DoF-Fahrzeuglage kann auf Grundlage von projektiver Geometrie und einschließlich einer Sechs-DoF-Lage der Kamera und eines Vergrößerungsfaktors einer in der Kamera beinhalteten Linse in die globalen Koordinaten umgewandelt werden. Das Fahrzeug kann betrieben werden, indem auf Grundlage der Sechs-DoF-Fahrzeuglage ein Fahrzeugweg bestimmt wird. Das Fahrzeug kann entlang des Fahrzeugweges betrieben werden, indem eines oder mehrere von Fahrzeugantriebsstrang, Fahrzeuglenkung und Fahrzeugbremsen gesteuert werden. Die Sechs-DoF-Fahrzeuglage kann für ein weiteres Fahrzeug bestimmt werden. Das Verfahren umfasst ferner ein Betreiben des Fahrzeugs auf Grundlage einer Bestimmung eines Fahrzeugwegs auf Grundlage der Sechs-DoF-Lage des anderen Fahrzeugs.
  • Figurenliste
    • 1 ist ein Blockdiagramm eines beispielhaften Verkehrsinfrastruktursystems.
    • 2 ist eine Darstellung einer beispielhaften Verkehrsszene.
    • 3 ist eine Darstellung beispielhafter Bezugsmarkierungen.
    • 4 ist eine Darstellung eines beispielhaften Fahrzeugs, einschließlich Merkmalen.
    • 5 ist eine Darstellung eines beispielhaften Fahrzeugs und einer stationären Videokamera.
    • 6 ist eine Darstellung eines beispielhaften Convolutional Neural Networks.
    • 7 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum Bestimmen einer Fahrzeuglage in sechs Freiheitsgraden (DoF).
  • DETAILLIERTE BESCHREIBUNG
  • 1 ist eine Darstellung eines Verkehrsinfrastruktursystems 100, die ein Fahrzeug 110 beinhaltet, das in einem autonomen („autonom“ für sich bedeutet in dieser Offenbarung „vollautonom“), einem halbautonomen und einem insassengesteuerten (auch als nichtautonom bezeichneten) Modus betrieben werden kann. Eine oder mehrere Rechenvorrichtungen 115 des Fahrzeugs 110 können von Sensoren 116 Informationen bezüglich des Betriebs des Fahrzeugs 110 empfangen. Die Rechenvorrichtung 115 kann das Fahrzeug 110 in einem autonomen Modus, einem halbautonomen Modus oder einem nichtautonomen Modus betreiben.
  • Die Rechenvorrichtung 115 beinhaltet einen Prozessor und einen Speicher, wie sie bekannt sind. Ferner beinhaltet der Speicher eine oder mehrere Arten computerlesbarer Medien und speichert Anweisungen, die durch den Prozessor ausführbar sind, um verschiedene Vorgänge durchzuführen, einschließlich der hierin offenbarten. Beispielsweise kann die Rechenvorrichtung 115 eine Programmierung beinhalten, um eines oder mehrere von Bremsen, Antrieb (z. B. Beschleunigungssteuerung in dem Fahrzeug 110 durch Steuern eines oder mehrerer von einer Brennkraftmaschine, einem Elektromotor, Hybridmotor usw.), Lenkung, Klimasteuerung, Innen- und/oder Außenleuchten usw. des Fahrzeugs zu betreiben und 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, z. B. Steuerungen oder dergleichen, die in dem Fahrzeug 110 zum Überwachen und/oder Steuern verschiedener Fahrzeugkomponenten beinhaltet sind, z.B. eine Antriebsstrangsteuerung 112, eine Bremssteuerung 113, eine Lenksteuerung 114 usw., beinhalten oder z.B. über einen Fahrzeugkommunikationsbus, wie nachstehend ausführlicher beschrieben, kommunikativ mit dieser/diesen gekoppelt sein. Die Rechenvorrichtung 115 ist im Allgemeinen zur Kommunikation in einem Fahrzeugkommunikationsnetzwerk angeordnet, das z. B. einen Bus in dem Fahrzeug 110, wie etwa ein Controller Area Network (CAN) oder dergleichen, beinhaltet; das Netzwerk des Fahrzeugs 110 kann zusätzlich oder alternativ drahtgebundene oder drahtlose Kommunikationsmechanismen, wie sie bekannt sind, beinhalten, z. B. Ethernet oder andere Kommunikationsprotokolle.
  • Über das Fahrzeugnetzwerk kann die Rechenvorrichtung 115 Nachrichten an verschiedene Vorrichtungen in dem Fahrzeug übertragen und/oder Nachrichten von den verschiedenen Vorrichtungen, z. B. Steuerungen, Aktoren, Sensoren usw., einschließlich der Sensoren 116, empfangen. Alternativ oder zusätzlich kann in Fällen, bei denen die Rechenvorrichtung 115 tatsächlich mehrere Vorrichtungen umfasst, das Fahrzeugkommunikationsnetzwerk für Kommunikationen zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als die Rechenvorrichtung 115 wiedergegeben sind. Ferner können, wie nachstehend erwähnt, verschiedene Steuerungen oder Erfassungselemente, wie etwa die Sensoren 116, der Rechenvorrichtung 115 Daten über das Fahrzeugkommunikationsnetz 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 ermöglichen, über ein Netzwerk 130, wie etwa drahtloses Internet (WLAN) oder Mobilfunknetzwerke, mit einem entfernten Servercomputer 120 zu kommunizieren, durch eine Fahrzeug-Infrastruktur-Schnittstelle (V-to-I-Schnittstelle) 111 mit einem entfernten Servercomputer 120, z. B. einem Cloud-Server, zu kommunizieren. Die C-I-Schnittstelle 111 kann dementsprechend Prozessoren, Speicher, Sendeempfänger usw. beinhalten, die dazu konfiguriert sind, verschiedene drahtgebundene und/oder drahtlose Netzwerktechnologien zu nutzen, z. B. Mobilfunk, BLUETOOTH® und drahtgebundene und/oder drahtlose Paketnetzwerke. Die Rechenvorrichtung 115 kann dazu konfiguriert sein, mit anderen Fahrzeugen 110 über die C-I-Schnittstelle 111 unter Verwendung von Fahrzeug-zu-Fahrzeug(C-C)-Netzwerken zu kommunizieren, z. B. gemäß dedizierter Nahbereichskommunikation (Dedicated Short Range Communications - DSRC) und/oder dergleichen, die z. B. auf einer Ad-hoc-Grundlage unter nahegelegenen Fahrzeugen 110 oder durch infrastrukturbasierte Netzwerke gebildet werden. Die Rechenvorrichtung 115 beinhaltet zudem einen nichtflüchtigen Speicher, wie er bekannt ist. Die Rechenvorrichtung 115 kann Informationen protokollieren, indem sie die Informationen zum späteren Abrufen und Übertragen über das Fahrzeugkommunikationsnetzwerk und eine Fahrzeug-Infrastruktur(C-I)-Schnittstelle 111 an einen Servercomputer 120 oder eine mobile Vorrichtung 160 eines Benutzers in nichtflüchtigem Speicher speichert.
  • Wie bereits erwähnt, ist in Anweisungen, die in dem Speicher gespeichert und durch den Prozessor der Rechenvorrichtung 115 ausführbar sind, im Allgemeinen eine Programmierung zum Betreiben einer oder mehrerer Komponenten des Fahrzeugs 110, z. B. Bremsen, Lenkung, Antrieb usw., ohne Eingreifen eines menschlichen Bedieners enthalten. Unter Verwendung von in der Rechenvorrichtung 115 empfangenen Daten, z. B. der Sensordaten von den Sensoren 116, dem Servercomputer 120 usw., kann die Rechenvorrichtung 115 ohne einen Fahrer zum Betreiben des Fahrzeugs 110 verschiedene Bestimmungen vornehmen und/oder verschiedene Komponenten und/oder Vorgänge des Fahrzeugs 110 steuern. Beispielsweise kann die Rechenvorrichtung 115 eine Programmierung zum Regeln des Betriebsverhaltens des Fahrzeugs 110 (d. h. physischer Manifestationen des Betriebs des Fahrzeugs 110), wie etwa Geschwindigkeit, Beschleunigung, Abbremsung, Lenken usw., und des taktischen Verhaltens (d. h. Steuerung des Betriebsverhaltens auf eine Weise, die in der Regel ein sicheres und effizientes Abfahren einer Route erreichen soll), wie etwa einer Entfernung zwischen Fahrzeugen und/oder einer Zeit zwischen Fahrzeugen, Spurwechseln, des Mindestabstands zwischen Fahrzeugen, der Mindestzeit zur Wegquerung bei Linksabbiegung, der Zeit bis zur Ankunft an einem bestimmten Standort und der Mindestzeit bis zum Überqueren der Kreuzung an einer Kreuzung (ohne Ampel).
  • Im hierin verwendeten Sinne beinhaltet der Ausdruck Steuerungen Rechenvorrichtungen, die in der Regel zum Steuern eines konkreten Fahrzeugteilsystems programmiert sind. Zu Beispielen zählen 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, und möglicherweise eine zusätzliche Programmierung, wie hierin beschrieben, beinhalten. 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. Beispielsweise 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 (ECUs) 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 dem Computer 115 zu empfangen und Aktoren auf Grundlage der Anweisungen zu steuern.
  • Die Sensoren 116 können vielfältige 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, eine Entfernung des Fahrzeugs 110 zu einem nächsten Fahrzeug vor dem Fahrzeug 110 bereitstellen oder kann ein Sensor für ein globales Positionsbestimmungssystem (GPS), der in dem Fahrzeug 110 angeordnet ist, geografische Koordinaten des Fahrzeugs 110 bereitstellen. Die Entfernung(en), die durch das Radar und/oder andere Sensoren 116 bereitgestellt wird (werden), und/oder die geografischen Koordinaten, die durch den GPS-Sensor bereitgestellt werden, kann (können) durch die Rechenvorrichtung 115 verwendet werden, um beispielsweise das Fahrzeug 110 autonom oder halbautonom zu betreiben.
  • Das Fahrzeug 110 ist im Allgemeinen ein Landfahrzeug 110, das autonom und/oder halbautonom betrieben werden kann und das drei oder mehr Räder aufweist, z. B. ein PKW, ein Kleinlaster usw. Das Fahrzeug 110 beinhaltet einen oder mehrere Sensoren 116, die V-to-I-Schnittstelle 111, die Rechenvorrichtung 115 und eine oder mehrere Steuerungen 112, 113, 114. Die Sensoren 116 können Daten bezüglich des Fahrzeugs 110 und der Umgebung, in der das Fahrzeug 110 betrieben wird, sammeln. Als Beispiel und ohne Einschränkung 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, z. B. können die Sensoren 116 Phänomene wie etwa Wetterbedingungen (Niederschlag, Außenumgebungstemperatur usw.), die Neigung einer Straße, den Standort einer Straße (z. B. unter Verwendung von Straßenrändern, Spurmarkierungen usw.) oder Standorte von Zielobjekten, wie etwa Nachbarfahrzeugen 110, detektieren. Die Sensoren 116 können ferner verwendet werden, um Daten, einschließlich dynamischer Daten des Fahrzeugs 110, die sich auf Vorgänge des Fahrzeugs 110 beziehen, wie etwa Geschwindigkeit, Gierrate, Lenkwinkel, Motordrehzahl, Bremsdruck, Öldruck, des auf die Steuerungen 112, 113, 114 in dem Fahrzeug 110 angewandten Leistungspegels, Konnektivität zwischen Komponenten und einer genauen und rechtzeitigen Leistung von Komponenten des Fahrzeugs 110, zu sammeln.
  • 2 ist eine beispielhafte Darstellung einer Verkehrsszene 200. Die Verkehrsszene 200 beinhaltet eine Fahrbahn 202, Fahrzeuge 204 und eine Videokamera 206. Die Videokamera 206 kann an einer Stange 208 oder einer anderen Plattform, wie etwa zum Beispiel einem Gebäude oder Mast, montiert sein, um die Videokamera 206 zu einer stationären Videokamera 206 zu machen. Wenn die Videokamera 206 stationär gemacht wird, kann ein Verkehrsinfrastruktursystem 100 Daten bezüglich der Sechs-DoF-Lage der Videokamera 206 in Bezug auf ein globales 3D-Koordinatensystem wie Breitengrad, Längengrad und Höhe erfassen. Die Sechs-DoF-Lage der Videokamera 206 kann mit Daten bezüglich des Standorts eines Sichtfelds 210 der Videokamera 206 in Bezug auf die Verkehrsszene 200, einschließlich der Fahrbahn 202, kombiniert werden, wie nachstehend ausführlicher beschrieben. Beispielsweise können Daten bezüglich des Vergrößerungsfaktors einer in der Videokamera 206 beinhalteten Linse mit Kartendaten bezüglich der Standorte von Teilen der Verkehrsszene 200 im Sichtfeld 210 kombiniert werden, um eine Umwandlung auf Grundlage von projektiver Geometrie zu bestimmen, die Sechs-DoF-Lagen aus Pixelkoordinaten in globale Koordinaten umwandelt. Eine Umwandlung zum Umwandeln von Pixelkoordinaten in globale Koordinaten kann zudem bestimmt werden, indem beispielsweise Bilddaten bezüglich Bezugsmarken im Sichtfeld 210 erfasst und die Bezugsmarken gemessen werden. Das Bestimmen einer Umwandlung zum Umwandeln von Pixelkoordinaten in globale Koordinaten für eine stationäre Videokamera 206 kann als Kalibrieren der stationären Videokamera 206 beschrieben werden. Bei der Beschreibung der hierin beschriebenen Techniken werden rote, grüne und blaue (RGB) Farbbilder als Beispielbilddaten verwendet, die durch eine stationäre Videokamera 206 erfasst werden, es können jedoch Graustufen-, Nahinfrarot- oder Ferninfrarot(IR)-Videodaten verwendet werden, um die gleichen Ergebnisse zu erzielen.
  • 3 ist eine Darstellung einer beispielhaften Bezugsmarke 300. Eine Bezugsmarke 300 kann beispielsweise eine Reihe von ArUco-Bezugsmarkierungen 302 beinhalten. ArUco-Bezugsmarkierungen 302 sind zweidimensionale (2D) Muster aus einer Sammlung von Bezugsmarkierungen, die auf www.uco.es/grupos/ava/node/26, „Aplicaciones de la Vision Artificial“, Universität von Cordoba, Spanien, 15. Mai 2019, beschrieben ist. ArUco-Bezugsmarkierungen beinhalten Software für maschinelles Sehen, die eine 3D-Sechs-DoF-Lage in Pixelkoordinaten für jede in einer Bezugsmarke 300 beinhaltete ArUco-Bezugsmarkierung 302 bestimmen kann, indem sie ein 2D-Videobild der Bezugsmarke 300 verarbeitet. Durch Bestimmen einer Sechs-DoF-Lage für jede ArUco-Bezugsmarkierung 302, die in einem Videobild einer Bezugsmarke 300 beinhaltet ist, kann die Software für maschinelles Sehen trotz fehlender Daten, die zum Beispiel bei teilweise verdeckter Bezugsmarke 300 auftreten können, eine genaue Sechs-DoF-Lage bestimmen.
  • Eine Bezugsmarke 300 kann zum Bestimmen einer Sechs-DoF-Lage eines Fahrzeugs unter Verwendung einer kalibrierten stationären Videokamera 206 verwendet werden, indem die Bezugsmarke 300 an einem gemessenen Standort und in einer gemessenen Ausrichtung an einem Fahrzeug 110 angebracht wird. Beispielsweise kann ein Fahrzeug 110 eine oben am Fahrzeug angebrachte Bezugsmarke 300 aufweisen. Wenn das Fahrzeug 110 das Sichtfeld 210 einer kalibrierten stationären Videokamera 206 passiert, kann ein Videobild des Fahrzeugs, einschließlich der Bezugsmarke 300, erfasst und unter Verwendung von Software für maschinelles Sehen, wie vorstehend beschrieben, eine 3D-Lage der Bezugsmarke 300 in Pixelkoordinaten bestimmt werden. Da die Beziehung zwischen der Bezugsmarke 300 und dem Fahrzeug 110 bestimmt wird, wenn die Bezugsmarke 300 an dem Fahrzeug 110 angebracht wird, kann die Sechs-DoF-Lage des Fahrzeugs 110 in Pixelkoordinaten bestimmt werden. Da die stationäre Videokamera 206 wie vorstehend beschrieben kalibriert ist, kann die Sechs-DoF-Lage des Fahrzeugs 110 aus Pixelkoordinaten in globale Koordinaten umgewandelt werden. Die Sechs-DoF-Lage eines Fahrzeugs 110 kann auf eine Rechenvorrichtung 115 in einem Fahrzeug 110 heruntergeladen und zum Betreiben des Fahrzeugs 110 verwendet werden.
  • Eine Sechs-DoF-Lage eines Fahrzeugs 110, die durch Verarbeiten eines durch eine stationäre Videokamera 206 erfassten und aus einem Verkehrsinformationssystem 100 heruntergeladenen Videobilds bestimmt wurde, kann eine von mehreren Quellen für Sechs-DoF-Lagendaten darstellen, die durch eine Rechenvorrichtung 115 in einem Fahrzeug 110 erfasst werden. Beispielsweise kann das Fahrzeug 110 Standortsensoren 116, wie etwa ein GPS und eine Trägheitsmesseinheit (intertial measurement unit - IMU), beinhalten, die eine Sechs-DoF-Lage für ein Fahrzeug 110 messen können. Das Fahrzeug 110 kann Video-, Lidar- und Radarsensoren beinhalten, die Daten bezüglich der Umgebung um ein Fahrzeug 110 herum erfassen, die mit Kartendaten kombiniert werden können, um Sechs-DoF-Lagedaten für ein Fahrzeug 110 zu bestimmen. Sechs-DoF-Lagedaten aus einer Vielzahl von Quellen können kombiniert werden, um Redundanz bereitzustellen, welche die Verlässlichkeit und Genauigkeit der Sechs-DoF-Lage verbessert. Hierin beschriebene Techniken verbessern die Bestimmung von Sechs-DoF-Lageinformationen, indem auf Grundlage computergestützter Konstruktionsdateien (CAD-Dateien), die ein Fahrzeug 110 beschreiben, Merkmale bestimmt und entsprechende Merkmale, die in durch eine stationäre Videokamera 206 erfassten Videobildern bestimmt wurden, verarbeitet werden. Die entsprechenden Merkmale, die auf Grundlage von Videobildern bestimmt wurden, können verwendet werden, um eine Sechs-DoF-Lage für das Fahrzeug 110 zu bestimmen, ohne dass eine Bezugsmarkierung 300 erforderlich ist.
  • 4 ist eine Darstellung eines beispielhaften Renderings von einem synthetischen Fahrzeugbild 400 entsprechenden CAD-Daten, die als Schwarz-Weiß-Linien-Zeichnung veranschaulicht ist, um den Vorschriften des Patentamts nachzukommen. Beim Rendern von CAD-Daten handelt es sich um einen Prozess, der ein Bestimmen zweidimensionaler (2D) Bilddaten durch Berechnen des Erscheinungsbilds von in den CAD-Daten beinhalteten Flächen auf Grundlage von durch einen Benutzer ausgewählten Beleuchtungsquellen und einer synthetischen Kamerablende beinhaltet. Lichtstrahlen können von einer Beleuchtungsquelle nachverfolgt, von Flächen des Fahrzeugbilds reflektiert und durch eine synthetische Kamerablende erfasst werden. Eine synthetische Kamerablende ist ein mathematisches Modell einer Kombination aus Kameralinse und Detektionsvorrichtung, das Daten nachverfolgter Lichtstrahlen erfassen kann, um ein Bild zu formen, wodurch der Betrieb einer Kamera und Linse in der realen Welt imitiert wird. Das Rendern von CAD-Daten kann ein synthetisches 2D-Fahrzeugbild 400 erzeugen, das einer Sechs-DoF-Lage eines Fahrzeugs entspricht, die beispielsweise in Bezug auf eine synthetische Kamera bestimmt wurde.
  • Ein ausgegebenes synthetisches Fahrzeugbild 400 kann unter Verwendung von Techniken maschinellen Sehens verarbeitet werden, um Fahrzeugmerkmale 402 zu bestimmen, die in 4 als Kreise veranschaulicht sind. Techniken maschinellen Sehens zum Bestimmen von Fahrzeugmerkmalen 402 beinhalten Kantendetektierungsalgorithmen und Merkmalsdetektierungsalgorithmen, die Kantenkonfigurationen detektieren, indem sie geometrische Kantenkonfigurationen bestimmen. Geometrische Kantenkonfigurationen können beispielsweise Standorte und Winkel beinhalten, an bzw. in denen zwei oder mehr Kanten aufeinandertreffen. Die Fahrzeugmerkmale 402 können verwendet werden, um eine Sechs-DoF-Lage für ein Fahrzeug zu bestimmen, indem Standorte und Abmessungen der Fahrzeugmerkmale 402 bestimmt werden, wobei die Abmessungen Entfernungen und Winkel zwischen den Fahrzeugmerkmalen 402 beinhalten. Die Standorte der identifizierten Fahrzeugmerkmale 402 können in Bezug auf Sechs-DoF-Lagen des Fahrzeugs physisch gemessen werden, wie sie auf Grundlage der CAD-Daten und des Standorts der synthetischen Kamera bestimmt wurden. Durch Rendern einer Vielzahl von Fahrzeugbildern in vielfältigen Sechs-DoF-Lagen und Verarbeiten der gerenderten Bilder, um Fahrzeugmerkmale zu detektieren, kann die Entsprechung zwischen in einem synthetischen Fahrzeugbild 300 identifizierten Fahrzeugmerkmalen und 3D-Standorten der Merkmale in CAD-Daten bestimmt werden. Bei den Standorten der Fahrzeugmerkmale 402 handelt es sich um kanonische Standorte, die durch physische Messung der Fahrzeugmerkmale 402 in Bezug auf eine durch einen Benutzer eingegebene Hauptachse für das Fahrzeug bestimmt werden können. Bei einer Hauptachse für ein Fahrzeug kann es sich um eine Achse handeln, die in der Hauptfahrtrichtung durch einen Schwerpunkt des Fahrzeugs verläuft, z. B. in der Richtung, in die das Fahrzeug beispielsweise mit gerade ausgerichteten Rädern fahren würde. Diese Entsprechung kann verwendet werden, um erfasste Bilder von Fahrzeugen zu verarbeiten, um eine Sechs-DoF-Lage des Fahrzeugs mithilfe der in dieser Schrift beschriebenen Techniken zu bestimmen, ohne dass eine Bezugsmarke 300 erforderlich ist.
  • 5 ist eine Darstellung eines Rot-Grün-Blau(RGB)-Farbbilds eines Fahrzeugs 500, das als Schwarz-Weiß-Linien-Zeichnung veranschaulicht ist, um den Vorschriftten des Patentamts nachzukommen. Das RGB-Farbbild eines Fahrzeugs 500 kann beispielsweise durch eine stationäre Videokamera 504 erfasst werden, die ein Sichtfeld 506 aufweist, das Teile eines Fahrzeugs 500 beinhaltet. Das RGB-Farbbild eines Fahrzeugs 500 kann durch eine Rechenvorrichtung verarbeitet werden, um unter Verwendung von Techniken maschinellen Sehens Fahrzeugbildmerkmale 502 zu bestimmen, die in 5 als Kreise veranschaulicht sind, wie vorstehend in Bezug auf 4 erörtert. Durch Verarbeiten des RGB-Farbbilds eines Fahrzeugs 500 unter Verwendung ähnlicher Techniken maschinellen Sehens, wie sie zum Detektieren der Fahrzeugmerkmale 402 verwendet wurden, werden die detektierten Fahrzeugbildmerkmale 502 den in gerenderten CAD-Daten detektierten Fahrzeugmerkmalen 402 ähneln. Eine Sechs-DoF-Lage für das Fahrzeug 500 kann durch Lösen der folgenden n-Punkt-Perspektive-Projektionsgleichung bestimmt werden: R , t = a r g m i n R , t j u j Π ( R X j + t ) 2
    Figure DE102020117529A1_0001
  • Gleichung (1) berechnet eine in Rollen, Nicken und Gieren gemessene Rotation R und eine in x, yund z gemessene Translation t, indem ein Mindestwert in Bezug auf R und t bestimmt wird. Der Mindestwert wird berechnet, indem die quadrierten Differenzen zwischen den n Standorten der Fahrzeugbildmerkmale 502 uj, wobei j ∈ {1, ... n}, und den n Standorten der CAD-Daten-Fahrzeugmerkmale 402 Xj summiert werden, wobei es sich bei den Fahrzeugmerkmalen 402 Xj um kanonische Merkmale handelt, die in Bezug auf eine Hauptachse des Fahrzeugs gemessen wurden, wie vorstehend in Bezug auf 4 erörtert.
  • Gleichung (1) wählt Werte für R und t aus, welche die Differenz zwischen den Standorten der detektierten Fahrzeugbildmerkmale 502 uj und den Standorten der CAD-Daten-Fahrzeugmerkmale 402 Xj, die unter Verwendung nicht linearer Techniken der kleinsten Quadrate, einschließlich des Levenberg-Marquardt-Algorithmus, so gedreht und verschoben wurden, dass sie am ehesten den detektierten Fahrzeugbildmerkmalen 502 uj entsprechen, minimieren. Levenberg-Marquart-Techniken können einen Mindestwert für eine Gleichung bestimmen, indem sie eine nichtlineare Kurvenanpassung der kleinsten Quadrate durchführen, wobei der Algorithmus zwischen Gauß-Newton-Techniken und Gradientenabstiegstechniken interpoliert, um ein lokales Minimum für die Kurve zu bestimmen, selbst wenn der Algorithmus sehr weit von dem tatsächlichen Mindestwert entfernt beginnt. Bei jedem Schritt werden die Fahrzeugbildmerkmale 502 uj in ein Fahrzeugmodell eingepasst, das CAD-Daten-Fahrzeugmerkmale 402 Xj beinhaltet, die so gedreht und verschoben wurden, dass sie am ehesten den detektierten Fahrzeugbildmerkmalen 502 uj entsprechen. Die Reihenfolge, in der die Schritte systematisch variiert werden, kann von den relativen Mindestwerten der Schritte abhängen, um einen Gesamtmindestwert effizient zu bestimmen.
  • Die durch Gleichung (1) bestimmten Werte für R und t entsprechen der Sechs-DoF-Lage des Fahrzeugs in dem RGB-Farbbild eines Fahrzeugs 500, gemessen in Bezug auf eine Sechs-DoF-Lage der stationären Videokamera 504. Die Sechs-DoF-Lage des Fahrzeugs können in globale Koordinaten umgewandelt werden, indem entsprechende Roll-, Nick- und Gier- sowie x-, y-und z-Elemente aus der Sechs-DoF-Fahrzeuglage mit den gleichen Elementen aus der Sechs-DoF-Kameralage und Daten bezüglich des in globalen Koordinaten gemessenen Sichtfelds 506 kombiniert werden, um die Sechs-DoF-Lage des Fahrzeugs in globalen Koordinaten zu ergeben. Hierin beschriebene Techniken verbessern die Bestimmung einer Sechs-DoF-Lage für ein Fahrzeug auf Grundlage von Videodaten, indem die Erforderlichkeit einer Bezugsmarke 300 beseitigt wird.
  • 6 ist eine Darstellung eines beispielhaften Convolutional Neural Networks (CNN) 200. Bei einem CNN 600 handelt es sich um ein Softwareprogramm, das auf einer Rechenvorrichtung umgesetzt werden kann, die so trainiert sein kann, dass sie ein RGB-Farbbild eines Fahrzeugs 500 eingibt und als Reaktion darauf eine Sechs-DoF-Fahrzeuglage (R, t) 602 ausgibt. Ein CNN 600 beinhaltet eine Vielzahl von Faltungsschichten, die versteckte Merkmale aus einem eingegebenen RGB-Farbbild eines Fahrzeugs 500 extrahieren, die an eine Vielzahl vollständig verbundener Schichten weitergeleitet werden, welche die versteckten Merkmale in eine Sechs-DoF-Fahrzeuglage (R, t) 602 umwandeln. Ein CNN 600 kann dazu trainiert werden, eine Verarbeitung von Sechs-DoF-Fahrzeuglagen (R, t) 602 durchzuführen, indem es eine Vielzahl von RGB-Farbbildern von Fahrzeugen 500 mithilfe der vorstehend in Bezug auf 5 beschriebenen Techniken verarbeitet, um eine Sechs-DoF-Fahrzeuglage (R, t) 602 für jedes RGB-Farbbild eines Fahrzeugs 500 zu bestimmen. Die bestimmte Sechs-DoF-Lage wird als „Ground Truth“ definiert, da sie unabhängig von dem CNN 600 bestimmt wurde. Das CNN 600 wird trainiert, indem ein RGB-Farbbild eines Fahrzeugs 500 eingegeben wird und Ergebnisse rückpropagiert werden, um mit der Sechs-DoF-Lage der Ground Truth verglichen zu werden, um eine Verlustfunktion zu bestimmen. Das Trainieren des CNN 600 beinhaltet ein Bestimmen von Parametern für Faltungs- und vollständig verbundene Schichten, welche die Verlustfunktion minimieren. Wenn es trainiert wurde, kann ein CNN 600 ein RGB-Farbbild eines Fahrzeugs 500 eingeben und eine Sechs-DoF-Lage (R, t) 602 in Koordinaten in Bezug auf eine stationäre Videokamera 504 ausgeben. Wie vorstehend in Bezug auf 5 erörtert, kann die Sechs-DoF-Lage 602 in globale Koordinaten umgewandelt werden, indem die ausgegebene Sechs-DoF-Lage 602 mit einer Sechs-DoF-Lage der stationären Videokamera 504 und Daten bezüglich des Sichtfelds 504 kombiniert wird.
  • 7 ist eine Darstellung eines Ablaufdiagramms eines Prozesses 700 zum Betreiben eines Fahrzeugs auf Grundlage von Sechs-DoF-Lagedaten, das in Bezug auf die 1-5 beschrieben wird. Der Prozess 700 kann durch einen Prozessor einer Rechenvorrichtung umgesetzt werden, der beispielsweise als Eingabe Informationen von Sensoren heranzieht und Befehle ausführt und Objektnachverfolgungsinformationen ausgibt. Der Prozess 700 beinhaltet mehrere Blöcke, die in der offenbarten Reihenfolge ausgeführt werden. Alternativ oder zusätzlich könnte der Prozess 700 weniger Blöcke oder die Blöcke in anderen Reihenfolgen beinhalten.
  • Der Prozess 700 beginnt bei einem Block 702, bei dem eine Rechenvorrichtung auf Grundlage eines eingegebenen RGB-Farbbilds eines Fahrzeugs 500 eine Sechs-DoF-Lage eines Fahrzeugs (R, t) bestimmt, wie vorstehend in Bezug auf die 5 und 6 erörtert. Die Sechs-DoF-Lage des Fahrzeugs kann auf Grundlage von Fahrzeugmerkmalen 502, entsprechenden Merkmalen auf Grundlage eines CAD-Modells des Fahrzeugs und der Gleichung (1) bestimmt werden. Eine Sechs-DoF-Lage kann zudem bestimmt werden, indem das RGB-Farbbild eines Fahrzeugs 500 mithilfe eines trainierten CNN 600 verarbeitet wird.
  • Bei Block 704 kann die Rechenvorrichtung die Sechs-DoF-Lage des Fahrzeugs (R, t) auf Grundlage einer Sechs-DoF-Lage der stationären Kamera 504 und eines Vergrößerungsfaktors einer das Sichtfeld 506 bildenden Linse in globale Koordinaten umwandeln. Durch das Umwandeln der Sechs-DoF-Lage des Fahrzeugs (R, t) in globale Koordinaten kann die Sechs-DoF-Lage des Fahrzeugs (R, t) beispielsweise in Bezug auf eine Fahrbahn 202 bestimmt werden.
  • Bei Block 706 wird die Sechs-DoF-Lage des Fahrzeugs (R, t) in globalen Koordinaten an ein Fahrzeug 110 kommuniziert. Die Sechs-DoF-Lage des Fahrzeugs (R, t) in globalen Koordinaten kann beispielsweise durch ein Verkehrsinformationssystem 100 bestimmt und über ein Netzwerk 130 in ein Fahrzeug 110 heruntergeladen werden. In einem Beispiel kann die Sechs-DoF-Lage des Fahrzeugs (R, t) zu dem Fahrzeug 110 gehören, das die Kommunikation empfängt. Eine Rechenvorrichtung 115 in dem empfangenden Fahrzeug 110 kann die empfangenen Sechs-DoF-Lagedaten mit anderen Ausrichtungs- und Standortdaten kombinieren, die auf Grundlage von Daten von in dem Fahrzeug 110 beinhalteten Sensoren 116 bestimmt werden, wie vorstehend erörtert, um die Genauigkeit und Aktualität der Sechs-DoF-Lagedaten zu verbessern. In anderen Beispielen können sich die Sechs-DoF-Lagedaten auf ein anderes Fahrzeug in einer Umgebung um ein Fahrzeug 110 herum beziehen.
  • Bei Schritt 708 kann ein Fahrzeug 110 auf Grundlage der empfangenen Sechs-DoF-Lagedaten (R, t) betrieben werden. Eine Rechenvorrichtung 115 kann auf Grundlage des Standorts und der Ausrichtung, die in der Sechs-DoF-Lage des Fahrzeugs (R, t) beinhaltet sind, einen Fahrzeugweg bestimmen, auf dem das Fahrzeug 110 betrieben werden soll. In Beispielen, in denen sich die Sechs-DoF-Lage des Fahrzeugs (R, t) auf ein anderes Fahrzeug bezieht, kann die Rechenvorrichtung 115 auf Grundlage des Standorts und der Ausrichtung des Fahrzeugs aus den Sechs-DoF-Lagedaten einen Fahrzeugweg bestimmen, der das andere Fahrzeug umfährt. Die Rechenvorrichtung 115 kann das Fahrzeug 110 auf dem Fahrzeugweg betreiben, indem sie über die Steuerungen 112, 113, 114 den Antriebsstrang, die Lenkung und die Bremsen des Fahrzeugs steuert. Im Anschluss an Block 708 endet der Prozess 700.
  • Rechenvorrichtungen, wie etwa die in dieser Schrift erörterten, beinhalten im Allgemeinen jeweils Befehle, die durch eine oder mehrere Rechenvorrichtungen, wie etwa die vorstehend genannten, und zum Ausführen von Blöcken oder Schritten von vorstehend beschriebenen Prozessen ausführbar sind. Beispielsweise können die vorstehend erörterten Prozessblöcke als computerausführbare Befehle umgesetzt sein.
  • Computerausführbare Befehle können von Computerprogrammen zusammengestellt oder interpretiert werden, die unter Verwendung vielfältiger Programmiersprachen und/oder - technologien erstellt wurden, einschließlich unter anderem, 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, wodurch er einen oder mehrere Prozesse durchführt, einschließlich eines oder mehrerer der hierin beschriebenen Prozesse. Derartige Befehle und andere Daten können in Dateien gespeichert und unter Verwendung vielfältiger computerlesbarer Medien übertragen werden. Eine Datei in einer Rechenvorrichtung ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium, wie etwa einem Speichermedium, einem Direktzugriffsspeicher usw., gespeichert ist.
  • Ein computerlesbares Medium beinhaltet jedes beliebige Medium, das am Bereitstellen von Daten (z. B. Befehlen) beteiligt ist, die durch einen Computer gelesen werden können. Ein derartiges Medium kann viele Formen annehmen, einschließlich unter anderem nichtflüchtiger Medien, flüchtiger Medien usw. Zu nicht flüchtigen Medien zählen zum Beispiel optische oder magnetische Platten und andere Dauerspeicher. Flüchtige Medien beinhalten einen dynamischen Direktzugriffsspeicher (dynamic random access memory - DRAM), der in der Regel einen Hauptspeicher darstellt. Gängige Formen computerlesbarer Medien beinhalten beispielsweise eine Diskette, eine Folienspeicherplatte, eine Festplatte, ein Magnetband, ein beliebiges anderes magnetisches Medium, eine CD-ROM, eine DVD, ein beliebiges anderes optisches Medium, Lochkarten, Lochstreifen, ein beliebiges anderes physisches Medium mit Lochmustern, einen RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, einen beliebigen anderen Speicherchip oder eine beliebige andere Speicherkassette oder ein beliebiges anderes Medium, das von einem Computer gelesen werden kann.
  • Alle in den Patentansprüchen verwendeten Ausdrücke sollen ihre klare und gewöhnliche Bedeutung aufweisen, wie sie von einem Fachmann verstanden wird, sofern hierin nicht ausdrücklich das Gegenteil angegeben wird. Insbesondere ist die Verwendung der Singularartikel, wie etwa „ein“, „eine“, „der“, „die“, „das“ usw., dahingehend auszulegen, dass ein oder mehrere der aufgeführten Elemente genannt werden, sofern ein Anspruch nicht eine ausdrückliche gegenteilige Einschränkung enthält.
  • Der Ausdruck „beispielhaft“ wird hierin in dem Sinne verwendet, dass er ein Beispiel angibt; z. B. sollte ein Verweis auf ein „beispielhaftes Gerät“ einfach 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 Form, eine Struktur, eine Messung, ein Wert, eine Bestimmung, eine Berechnung usw. von einer/einem genau beschriebenen Geometrie, Entfernung, Messung, Wert, Bestimmung, Berechnung usw. aufgrund von Mängeln hinsichtlich Materialien, Bearbeitung, Herstellung, Sensormessungen, Berechnungen, Bearbeitungszeit, Kommunikationszeit usw. abweichen kann.
  • In den Zeichnungen geben gleiche Bezugszeichen gleiche Elemente an. Zudem könnten einige oder alle dieser Elemente geändert werden. Hinsichtlich der hierin beschriebenen Medien, Prozesse, Systeme, Verfahren usw. versteht es sich, dass, obwohl die Schritte oder Blöcke derartiger Prozesse usw. zwar als gemäß einer bestimmten Abfolge erfolgend beschrieben worden sind, derartige Prozesse jedoch so umgesetzt werden könnten, dass die beschriebenen Schritte in einer anderen Reihenfolge als der in dieser Schrift beschriebenen Reihenfolge durchgeführt werden. Es versteht sich zudem, dass bestimmte Schritte gleichzeitig durchgeführt, andere Schritte hinzugefügt oder bestimmte hierin beschriebene Schritte weggelassen werden könnten. Anders ausgedrückt werden die vorliegenden Beschreibungen von Prozessen zur Veranschaulichung bestimmter Ausführungsformen bereitgestellt und sollten keinesfalls dahingehend ausgelegt werden, dass sie die beanspruchte Erfindung einschränken.
  • Gemäß der vorliegenden Erfindung wird ein Computer bereitgestellt, der einen Prozessor und einen Speicher aufweist, wobei der Speicher Anweisungen beinhaltet, die durch den Prozessor für Folgendes auszuführen sind: Bestimmen einer Sechs-DoF-Fahrzeuglage auf Grundlage eines Bilds, wobei die Sechs-DoF-Fahrzeuglage einen x-, y- und z-Standort und eine Roll-, Nick- und Gier-Ausrichtung beinhaltet; Umwandeln der Sechs-DoF-Fahrzeuglage in globale Koordinaten auf Grundlage einer Sechs-DoF-Kameralage; und Kommunizieren der Sechs-DoF-Fahrzeuglage in den globalen Koordinaten an ein Fahrzeug.
  • Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch Anweisungen zum Bestimmen der Sechs-DoF-Fahrzeuglage durch Bestimmen von Merkmalen und Abmessungen auf Grundlage computergestützter Konstruktionsdaten (CAD-Daten), physischer Messwerte und Techniken maschinellen Sehens.
  • Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch Anweisungen zum Bestimmen entsprechender Fahrzeugmerkmale auf Grundlage eines Bilds unter Verwendung von Techniken maschinellen Sehens und Umwandeln der Fahrzeugmerkmale in die Nennmerkmale unter Verwendung eines n-Punkt-Perspektive-Algorithmus, um die Sechs-DoF-Lage zu bestimmen.
  • Gemäß einer Ausführungsform bestimmt der n-Punkt-Perspektive-Algorithmus eine Sechs-DoF-Lage für eine Kamera in Bezug auf die Fahrzeugmerkmale, indem iterativ n Fahrzeugmerkmale in ein dreidimensionales (3D) Fahrzeugmodell eingepasst werden, und bestimmt anschließend die Sechs-DoF-Fahrzeuglage für das Fahrzeug auf Grundlage einer bestimmten realen Sechs-DoF-Kameralage.
  • Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch Anweisungen zum Bestimmen der Sechs-DoF-Fahrzeuglage durch Eingeben eines Videobilds in ein trainiertes Convolutional Neural Network, das eine Rotation und Translation des Fahrzeugs in dem Videobild bestimmt.
  • Gemäß einer Ausführungsform wird das Convolutional Neural Network unter Verwendung einer Vielzahl von Bildern trainiert, einschließlich Bildern des Fahrzeugs in einer Vielzahl von Sechs-DoF-Fahrzeuglagen in Bezug auf eine Kamera und die entsprechende Ground Truth.
  • Gemäß einer Ausführungsform werden die globalen Koordinaten in Bezug auf eine Breiten-, eine Längen- und eine Höhenkoordinatenachse bestimmt.
  • Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch Anweisungen zum Umwandeln der Sechs-DoF-Fahrzeuglage in globale Koordinaten auf Grundlage von projektiver Geometrie und einschließlich einer Sechs-DoF-Kameralage und eines Vergrößerungsfaktors einer in der Kamera beinhalteten Linse.
  • Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch Anweisungen zum Betreiben des Fahrzeugs durch Bestimmen eines Fahrzeugwegs auf Grundlage der Sechs-DoF-Fahrzeuglage.
  • Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch Anweisungen zum Betreiben des Fahrzeugs entlang des Fahrzeugwegs durch Steuern eines oder mehrerer von Fahrzeugantriebsstrang, Fahrzeuglenkung und Fahrzeugbremsen.
  • Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren Folgendes: Bestimmen einer Sechs-DoF-Fahrzeuglage auf Grundlage eines Bilds, wobei die Sechs-DoF-Fahrzeuglage einen x-, y- und z-Standort und eine Roll-, Nick- und Gier-Ausrichtung beinhaltet; Umwandeln der Sechs-DoF-Fahrzeuglage in globale Koordinaten auf Grundlage einer Sechs-DoF-Kameralage; und Kommunizieren der Sechs-DoF-Fahrzeuglage in den globalen Koordinaten an ein Fahrzeug.
  • Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch ein Bestimmen der Sechs-DoF-Fahrzeuglage durch Bestimmen von Merkmalen und Abmessungen auf Grundlage computergestützter Konstruktionsdaten (CAD-Daten), physischer Messwerte und Techniken maschinellen Sehens.
  • Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch ein Bestimmen entsprechender Fahrzeugmerkmale auf Grundlage eines Bilds unter Verwendung von Techniken maschinellen Sehens und Umwandeln der Fahrzeugmerkmale in die Nennmerkmale unter Verwendung eines n-Punkt-Perspektive-Algorithmus, um die Sechs-DoF-Lage zu bestimmen.
  • Gemäß einer Ausführungsform bestimmt der n-Punkt-Perspektive-Algorithmus eine Sechs-DoF-Lage für eine Kamera in Bezug auf die Fahrzeugmerkmale, indem iterativ n Fahrzeugmerkmale in ein dreidimensionales (3D) Fahrzeugmodell eingepasst werden, und bestimmt anschließend die Sechs-DoF-Fahrzeuglage für das Fahrzeug auf Grundlage einer bestimmten realen Sechs-DoF-Lage der Kamera.
  • Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch ein Bestimmen der Sechs-DoF-Fahrzeuglage durch Eingeben eines Videobilds in ein trainiertes Convolutional Neural Network, das eine Rotation und Translation des Fahrzeugs in dem Videobild bestimmt.
  • Gemäß einer Ausführungsform wird das Convolutional Neural Network unter Verwendung einer Vielzahl von Bildern trainiert, einschließlich Bildern des Fahrzeugs in einer Vielzahl von Sechs-DoF-Fahrzeuglagen in Bezug auf eine Kamera und die entsprechende Ground Truth.
  • Gemäß einer Ausführungsform werden die globalen Koordinaten in Bezug auf eine Breiten-, eine Längen- und eine Höhenkoordinatenachse bestimmt.
  • Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch ein Umwandeln der Sechs-DoF-Fahrzeuglage in globale Koordinaten auf Grundlage von projektiver Geometrie und einschließlich einer Sechs-DoF-Lage der Kamera und eines Vergrößerungsfaktors einer in der Kamera beinhalteten Linse.
  • Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch ein Betreiben des Fahrzeugs durch Bestimmen eines Fahrzeugwegs auf Grundlage der Sechs-DoF-Fahrzeuglage.
  • Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch ein Betreiben des Fahrzeugs entlang des Fahrzeugwegs durch Steuern eines oder mehrerer von Fahrzeugantriebsstrang, Fahrzeuglenkung und Fahrzeugbremsen.

Claims (15)

  1. Verfahren, umfassend: Bestimmen einer sechsachsigen Fahrzeuglage auf Grundlage eines Bilds, wobei die sechsachsige Fahrzeuglage einen x-, y-und z-Standort und eine Roll-, Nick- und Gier-Ausrichtung beinhaltet; Umwandeln der sechsachsigen Fahrzeuglage in globale Koordinaten auf Grundlage einer sechsachsigen Kameralage; und Kommunizieren der sechsachsigen Fahrzeuglage in den globalen Koordinaten an ein Fahrzeug.
  2. Verfahren nach Anspruch 1, ferner umfassend Bestimmen der sechsachsigen Fahrzeuglage durch Bestimmen von Merkmalen und Abmessungen auf Grundlage computergestützter Konstruktionsdaten (CAD-Daten), physischer Messwerte und Techniken maschinellen Sehens.
  3. Verfahren nach Anspruch 2, ferner umfassend Bestimmen entsprechender Fahrzeugmerkmale auf Grundlage eines Bilds unter Verwendung von Techniken maschinellen Sehens und Umwandeln der Fahrzeugmerkmale in die Nennmerkmale unter Verwendung eines n-Punkt-Perspektive-Algorithmus, um die sechsachsige Lage zu bestimmen.
  4. Verfahren nach Anspruch 3, wobei die Techniken maschinellen Sehens Kantendetektion und Standorte und Winkel, an bzw. in denen zwei oder mehr Kanten aufeinandertreffen, beinhalten.
  5. Verfahren nach Anspruch 4, wobei der n-Punkt-Perspektive-Algorithmus eine sechsachsige Lage für eine Kamera in Bezug auf die Fahrzeugmerkmale bestimmt, indem iterativ n Fahrzeugmerkmale in ein dreidimensionales (3D) Fahrzeugmodell eingepasst werden, und anschließend die sechsachsige Fahrzeuglage für das Fahrzeug auf Grundlage einer bestimmten realen sechsachsigen Lage der Kamera bestimmt.
  6. Verfahren nach Anspruch 1, ferner umfassend Bestimmen der sechsachsigen Fahrzeuglage durch Eingeben eines Videobilds in ein trainiertes Convolutional Neural Network, das eine Rotation und Translation des Fahrzeugs in dem Videobild bestimmt.
  7. Verfahren nach Anspruch 6, wobei das Convolutional Neural Network unter Verwendung einer Vielzahl von Bilden trainiert wird, einschließlich Bildern des Fahrzeugs in einer Vielzahl sechsachsiger Fahrzeuglagen in Bezug auf eine Kamera und die entsprechende Ground Truth.
  8. Verfahren nach Anspruch 7, wobei die entsprechende Ground Truth bestimmt wird, indem unter Verwendung von Techniken maschinellen Sehens entsprechende Fahrzeugmerkmale bestimmt werden und die Fahrzeugmerkmale unter Verwendung eines n-Punkt-Perspektive-Algorithmus in die Nennmerkmale umgewandelt werden, um die Ground Truth zu bestimmen.
  9. Verfahren nach Anspruch 1, wobei die globalen Koordinaten in Bezug auf eine Breiten-, eine Längen- und eine Höhenkoordinatenachse bestimmt werden.
  10. Verfahren nach Anspruch 1, ferner umfassend Umwandeln der sechsachsigen Fahrzeuglage in globale Koordinaten auf Grundlage von projektiver Geometrie und einschließlich einer sechsachsigen Lage der Kamera und eines Vergrößerungsfaktors einer in der Kamera beinhalteten Linse.
  11. Verfahren nach Anspruch 1, ferner umfassend Betreiben des Fahrzeugs durch Bestimmen eines Fahrzeugwegs auf Grundlage der sechsachsigen Fahrzeuglage.
  12. Verfahren nach Anspruch 11, ferner umfassend Betreiben des Fahrzeugs entlang des Fahrzeugwegs durch Steuern eines oder mehrerer von Fahrzeugantriebsstrang, Fahrzeuglenkung und Fahrzeugbremsen.
  13. Verfahren nach Anspruch 1, wobei die sechsachsige Fahrzeuglage für ein weiteres Fahrzeug bestimmt wird.
  14. Verfahren nach Anspruch 13, ferner umfassend Betreiben des Fahrzeugs auf Grundlage des Bestimmens eines Fahrzeugwegs auf Grundlage der sechsachsigen Lage des anderen Fahrzeugs.
  15. System, das einen Computer umfasst, der dazu programmiert ist, die Verfahren nach einem der Ansprüche 1-14 durchzuführen.
DE102020117529.9A 2019-07-03 2020-07-02 Bestimmung der fahrzeuglage Pending DE102020117529A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/502,393 2019-07-03
US16/502,393 US11527012B2 (en) 2019-07-03 2019-07-03 Vehicle pose determination

Publications (1)

Publication Number Publication Date
DE102020117529A1 true DE102020117529A1 (de) 2021-01-07

Family

ID=73918896

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020117529.9A Pending DE102020117529A1 (de) 2019-07-03 2020-07-02 Bestimmung der fahrzeuglage

Country Status (3)

Country Link
US (1) US11527012B2 (de)
CN (1) CN112172778A (de)
DE (1) DE102020117529A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11604476B1 (en) * 2018-10-05 2023-03-14 Glydways Inc. Road-based vehicle guidance system
KR20210060779A (ko) * 2019-11-19 2021-05-27 현대자동차주식회사 차량센서의 이상 진단 장치 및 그 방법
US11827203B2 (en) * 2021-01-14 2023-11-28 Ford Global Technologies, Llc Multi-degree-of-freedom pose for vehicle navigation
CN113256732A (zh) * 2021-04-19 2021-08-13 安吉智能物联技术有限公司 一种摄像头校准及位姿获取的方法
CA3215196A1 (en) 2021-04-30 2022-11-03 Ethan Rublee Real time localization with image data
US12008787B2 (en) 2021-07-20 2024-06-11 Ford Global Technologies, Llc Object pose estimation

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001073689A2 (en) * 2000-03-27 2001-10-04 Massachusetts General Hospital Method and system for viewing kinematic and kinetic information
DE602007003849D1 (de) 2007-10-11 2010-01-28 Mvtec Software Gmbh System und Verfahren zur 3D-Objekterkennung
CN103649998B (zh) 2010-12-21 2016-08-31 Metaio有限公司 确定为确定照相机的姿态和/或为确定至少一个真实对象的三维结构而设计的参数集的方法
US9488492B2 (en) * 2014-03-18 2016-11-08 Sri International Real-time system for multi-modal 3D geospatial mapping, object recognition, scene annotation and analytics
WO2015164983A1 (en) * 2014-05-02 2015-11-05 Macdonald, Dettwiler And Associates Inc. Spacecraft capture mechanism
WO2017116585A1 (en) 2015-12-30 2017-07-06 Faro Technologies, Inc. Registration of three-dimensional coordinates measured on interior and exterior portions of an object
CN111108342B (zh) 2016-12-30 2023-08-15 辉达公司 用于高清地图创建的视觉测程法和成对对准
US10630962B2 (en) 2017-01-04 2020-04-21 Qualcomm Incorporated Systems and methods for object location
US10371530B2 (en) * 2017-01-04 2019-08-06 Qualcomm Incorporated Systems and methods for using a global positioning system velocity in visual-inertial odometry
US10209089B2 (en) 2017-04-03 2019-02-19 Robert Bosch Gmbh Automated image labeling for vehicles based on maps
US20200217972A1 (en) * 2019-01-07 2020-07-09 Qualcomm Incorporated Vehicle pose estimation and pose error correction

Also Published As

Publication number Publication date
US11527012B2 (en) 2022-12-13
CN112172778A (zh) 2021-01-05
US20210004983A1 (en) 2021-01-07

Similar Documents

Publication Publication Date Title
DE102020117529A1 (de) Bestimmung der fahrzeuglage
DE102020112314A1 (de) Verifizierung von fahrzeugbildern
DE102019127058A1 (de) Fahrzeugwegplanung
DE102019131384A1 (de) Strassenbelagcharakterisierung unter verwendung von posenbeobachtungen von benachbarten fahrzeugen
DE102020110458A1 (de) Fahrzeugpfadvorhersage
DE102019103352A1 (de) Trajektorienverfolgung für die fahrzeugseitensteuerung unter verwendung eines neuronalen netzwerks
DE102019121140A1 (de) Sensorfusion
DE102021100101A1 (de) Fahrzeugsensorkalibrierung
CN107798699A (zh) 用立体图像进行深度图估计
DE102019101938A1 (de) Erstellung kognitiver Karten für Fahrzeuge
DE102019119162A1 (de) Posenschätzung
DE102019100497A1 (de) Lidar-lokalisierung
DE102020113848A1 (de) Ekzentrizitätsbildfusion
DE102020130387A1 (de) Fahrzeugwegplanung
DE102020117376A1 (de) Generierung eines fahrzeugbildes
DE102019126542A1 (de) Lokalisierung einer stationären kamera
DE102020126155A1 (de) Trainieren eines neuronalen netzwerks eines fahrzeugs
DE102020116964A1 (de) Visuelle odometrie für fahrzeug
DE102020102935A1 (de) Fahrzeuglenksteuerung
DE102020115499A1 (de) Fahrzeug-exzentrizitätsabbildung
DE102021101270A1 (de) Trainieren eines neuronalen netzwerks eines fahrzeugs
US20210323555A1 (en) Vehicle data augmentation
DE102018100987A1 (de) Objektverfolgung durch unüberwachtes lernen
DE102020107149A1 (de) Fahrzeugkapsel-netzwerke
DE102020107339A1 (de) Objektverfolgung für fahrzeuge

Legal Events

Date Code Title Description
R082 Change of representative

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