DE102021111977A1 - Dreidimensionale verkehrszeichenerkennung - Google Patents

Dreidimensionale verkehrszeichenerkennung Download PDF

Info

Publication number
DE102021111977A1
DE102021111977A1 DE102021111977.4A DE102021111977A DE102021111977A1 DE 102021111977 A1 DE102021111977 A1 DE 102021111977A1 DE 102021111977 A DE102021111977 A DE 102021111977A DE 102021111977 A1 DE102021111977 A1 DE 102021111977A1
Authority
DE
Germany
Prior art keywords
traffic sign
camera
dimensions
image
bounding box
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
DE102021111977.4A
Other languages
English (en)
Inventor
Erez Ben Yaacov
Elad Plaut
Bat El Shlomo
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.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations 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 GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of DE102021111977A1 publication Critical patent/DE102021111977A1/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
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • 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/02Estimation 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 ambient conditions
    • B60W40/04Traffic conditions
    • 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/001Planning or execution of driving tasks
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • 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/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/582Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of traffic signs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/647Three-dimensional objects by matching two-dimensional images to three-dimensional objects
    • 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
    • B60W2555/00Input parameters relating to exterior conditions, not covered by groups B60W2552/00, B60W2554/00
    • B60W2555/60Traffic rules, e.g. speed limits or right of way
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • 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/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/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Human Computer Interaction (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Databases & Information Systems (AREA)
  • Traffic Control Systems (AREA)
  • Image Analysis (AREA)

Abstract

Fahrzeuge und Verfahren zur Erkennung einer dreidimensionalen, 3D-, Position eines Verkehrszeichens und Steuerung eines Merkmals des Fahrzeugs basierend auf der 3D-Position des Verkehrszeichens. Ein Bild wird von einer Kamera empfangen. Das Bild wird mit einem neuronalen Netz verarbeitet. Das neuronale Netzwerk enthält einen Verkehrszeichenklassenblock, der eine Verkehrszeichenklasse für ein im Bild enthaltenes Verkehrszeichen regressiert, und einen Rotationsblock, der eine Orientierung für das Verkehrszeichen regressiert. Dimensionen für das Verkehrszeichen werden aus einer Informationsdatenbank basierend auf der Verkehrszeichenklasse abgerufen. Eine 3D-Position des Verkehrszeichens wird basierend auf den Abmessungen des Verkehrszeichens und der Orientierung des Verkehrszeichens bestimmt. Ein Merkmal des Fahrzeugs wird basierend auf der 3D-Position des Verkehrszeichens gesteuert.

Description

  • Das technische Gebiet bezieht sich im Allgemeinen auf Fahrzeuge und im Besonderen auf Verfahren und Systeme zur Erkennung eines Verkehrszeichens für den Einsatz in Fahrzeuganwendungen.
  • Fahrzeuge nutzen die Verkehrszeichenerkennung in einer Vielzahl von Fahrzeugsteuerungsanwendungen, darunter fortschrittliche Fahrerassistenzsysteme, ADAS, und autonome Fahraufgaben als zwei von vielen möglichen Beispielen. Solche Fahrzeugsteuerungsanwendungen können die Erkennung und Verfolgung von Objekten mithilfe eines Erfassungssystems erfordern, um Notbremsungen, Kollisionsvermeidung, Wegplanung und andere automatische Fahrzeugsteuerungsfunktionen zu steuern.
  • Die Objekterkennung in Fahrzeugen kann mit einem Computer-Vision-System durchgeführt werden. Die Aufgabe der Objekterkennung kann die Vorhersage der physikalischen Abmessungen (Breite, Höhe und Länge) des Objekts und der Pose des Objekts in sechs Dimensionen (6D) umfassen, nämlich die dreidimensionale (3D) Position des Objekts (z. B. ein Mittelpunkt des Objekts) und Drehwinkel um die drei Achsen.
  • Unter den verschiedenen Objekten in Straßenszenen haben Verkehrsschilder einzigartige Eigenschaften und bieten besondere Herausforderungen für die Erkennung, Größenbestimmung und Lokalisierung mittels Computer Vision Processing. Im Gegensatz zu anderen Objekten sind sie auf Masten montiert und berühren somit nicht den Boden. Verkehrsschilder sind flächige Objekte, und das genaue Aussehen eines jeden Verkehrsschildes ist durch staatliche Vorschriften vorgegeben. Verkehrsschilder der gleichen Klasse gibt es in verschiedenen Größen und sind in allen anderen Aspekten oft identisch. Verkehrsschilder gehören auch zu den kleinsten Objekten von Interesse. Die Erkennung von Verkehrszeichenobjekten ist sinnvoll, wenn eine Verkehrszeichenklasse identifiziert wird, wenn der Typ der Verkehrszeichenklasse identifiziert wird und wenn die Position des Verkehrszeichens in 3D identifiziert wird. Es gibt oft hunderte von möglichen Verkehrszeichentypen (z.B. Stop, Yield, No U-Turn, etc.), die schwer voneinander zu unterscheiden sind.
  • Dementsprechend ist es wünschenswert, Systeme und Verfahren zur Erkennung von Verkehrszeichen in mindestens 3D-Raumkoordinaten und optional auch mit 3D-Drehkoordinaten bereitzustellen. Die Systeme und Verfahren können das Verkehrszeichen mittels Computer-Vision-Verarbeitung eines Kamerabildes, das ein monokulares Bild sein kann, erkennen. Darüber hinaus werden weitere wünschenswerte Merkmale und Eigenschaften der vorliegenden Erfindung aus der nachfolgenden detaillierten Beschreibung und den beigefügten Ansprüchen ersichtlich, die in Verbindung mit den beigefügten Zeichnungen und dem vorangehenden technischen Gebiet und Hintergrund genommen werden.
  • BESCHREIBUNG
  • Verfahren zum Erfassen einer 3D-Position eines Verkehrszeichens und zum Steuern eines Merkmals des Fahrzeugs basierend auf der 3D-Position des Verkehrszeichens. Das Verfahren, das von einem Prozessor implementiert wird, umfasst den Empfang eines Bildes von einer Kamera und die Verarbeitung des Bildes unter Verwendung eines neuronalen Netzwerks. Das neuronale Netzwerk enthält einen Verkehrszeichenklassenblock, der eine Verkehrszeichenklasse für ein im Bild enthaltenes Verkehrszeichen regressiert, und einen Rotationsblock, der eine Orientierung für das Verkehrszeichen regressiert. Dimensionen für das Verkehrszeichen werden aus einer Verkehrszeichen-Informationsdatenbank basierend auf der Verkehrszeichenklasse abgerufen. Eine 3D-Position des Verkehrszeichens wird basierend auf den Abmessungen des Verkehrszeichens und der Orientierung des Verkehrszeichens bestimmt. Ein Merkmal des Fahrzeugs wird basierend auf der 3D-Position des Verkehrszeichens gesteuert.
  • In Ausführungsformen enthält das neuronale Netzwerk Backbone- und 2D-Box-Blöcke, die die Position und die Dimensionen einer zweidimensionalen (2D) Bounding Box um das Verkehrszeichen regressieren.
  • In Ausführungsformen enthält das neuronale Netzwerk eine Pooling-Schicht, die Features aus einer Feature-Map, die vom Backbone-Block ausgegeben wird, basierend auf der Position und den Abmessungen der 2D Bounding Box zusammenfasst.
  • In einigen Ausführungsformen umfasst das Verfahren die Berechnung von Azimut- und Höhenwinkeldaten oder Funktionen davon für das Verkehrszeichen auf der Grundlage einer Position der 2D Bounding Box in Bildkoordinaten und intrinsischen Parametern der Kamera zur Verwendung durch den Rotationsblock bei der Regression der Orientierung für das Verkehrszeichen. In Ausführungsformen umfasst das Verfahren die Berechnung der Azimut- und Höhenwinkeldaten oder Funktionen davon für das Verkehrszeichen auf der Grundlage einer Position des 2D-Begrenzungsrahmens in Bildkoordinaten und intrinsischen Parametern der Kamera und die Verkettung der Azimut- und Höhenwinkeldaten mit den zusammengefassten Merkmalen zur Eingabe in den Rotationsblock.
  • In Ausführungsformen regressiert das neuronale Netzwerk die Position und die Abmessungen eines zweidimensionalen (2D) Begrenzungsrahmens um das Verkehrszeichen in Bildkoordinaten und Azimut- und Höhenwinkel werden basierend auf der Position des 2D-Begrenzungsrahmens berechnet. Das Verfahren umfasst das Lösen einer oder mehrerer Gleichungen für Z, die auf der Position und den Abmessungen des 2D-Begrenzungsrahmens, der Ausrichtung und den Abmessungen des Verkehrszeichens, den Azimut- und Höhenwinkeln und intrinsischen Parametern der Kamera basieren. Z ist ein Vorwärtsabstand von der Kamera zum Verkehrszeichen in Kamerakoordinaten.
  • In Ausführungsformen definieren die eine oder mehrere Gleichungen eine Kameraprojektion auf eine Kamerabildebene, die auf der Ausrichtung und den Abmessungen des Verkehrszeichens und den Azimut- und Höhenwinkeln basiert. Die eine oder mehreren Gleichungen erzwingen eine projizierte 2D Bounding Box, die mit der vom neuronalen Netz regressierten 2D Bounding Box konsistent ist.
  • In Ausführungsformen umfasst das Verfahren das Lösen von X- und Y-Positionen des Verkehrszeichens basierend auf einem Kameramodell, der Position und den Abmessungen der 2D-Bounding Box, den kameraeigenen Parametern und Z, wobei X, Y und Z die 3D-Position des Verkehrszeichens in Kamerakoordinaten bilden.
  • In Ausführungsformen ist die Kamera eine monokulare Kamera.
  • In Ausführungsformen ist die regressierte Orientierung für das Verkehrszeichen eine globale Orientierung und nicht eine allozentrische Orientierung.
  • In Ausführungsformen ist der Verkehrszeichen-Klassenblock ein Klassifikator.
  • In Ausführungsformen umfasst das Verfahren das Erkennen von Kontextdaten für das Verkehrszeichen und das Abrufen von Dimensionen für das Verkehrszeichen basierend auf der Verkehrszeichenklasse und den Kontextdaten. In Ausführungsformen sind die Kontextdaten Straßentyp- oder Geschwindigkeitsbegrenzungsdaten.
  • In Ausführungsformen werden die kontextbezogenen Daten auf der Grundlage von Mapping-Informationen oder Computer-Vision-Verarbeitung erkannt.
  • In Ausführungsformen umfasst die Steuerung der Funktion des Fahrzeugs die Steuerung eines autonomen Fahrsystems, die Lokalisierung des Fahrzeugs in einer Karte oder die Steuerung einer erweiterten Fahrerassistenzsystemfunktion.
  • In einem anderen Aspekt wird ein Fahrzeug bereitgestellt. Das Fahrzeug enthält eine Kamera und einen Prozessor, der so konfiguriert ist, dass er Programmanweisungen ausführt. Die Programmanweisungen sind so konfiguriert, dass sie den Prozessor veranlassen, die folgenden Schritte auszuführen: Empfangen eines Bildes von einer Kamera, Verarbeiten des Bildes unter Verwendung eines neuronalen Netzwerks, wobei das neuronale Netzwerk einen Verkehrszeichenklassenblock, der eine Verkehrszeichenklasse für ein in dem Bild enthaltenes Verkehrszeichen regressiert, und einen Rotationsblock, der eine Orientierung für das Verkehrszeichen regressiert, enthält, Abrufen von Dimensionen für das Verkehrszeichen basierend auf der Verkehrszeichenklasse aus einer Verkehrszeicheninformationsdatenbank, Bestimmen einer dreidimensionalen (3D) Position des Verkehrszeichens basierend auf den Dimensionen des Verkehrszeichens und der Orientierung des Verkehrszeichens, und Steuern eines Merkmals des Fahrzeugs basierend auf der 3D-Position des Verkehrszeichens.
  • In Ausführungsformen enthält das neuronale Netzwerk Backbone- und 2D-Box-Blöcke, die die Position und die Dimensionen einer zweidimensionalen (2D) Bounding Box um das Verkehrszeichen regressieren.
  • In Ausführungsformen sind die Programmanweisungen so konfiguriert, dass sie den Prozessor veranlassen, Azimut- und Elevationswinkeldaten oder Funktionen davon für das Verkehrszeichen zu berechnen, basierend auf einer Position des 2D-Begrenzungsrahmens in Bildkoordinaten und intrinsischen Parametern der Kamera zur Verwendung durch den Rotationsblock bei der Regression der Orientierung für das Verkehrszeichen.
  • In Ausführungsformen regressiert das neuronale Netzwerk die Position und die Abmessungen eines zweidimensionalen (2D) Begrenzungsrahmens um das Verkehrszeichen in Bildkoordinaten, Azimut- und Höhenwinkel werden basierend auf der Position des 2D-Begrenzungsrahmens berechnet, und eine oder mehrere Gleichungen werden für Z basierend auf der Position und den Abmessungen des 2D-Begrenzungsrahmens, der Ausrichtung und den Abmessungen des Verkehrszeichens, den Azimut- und Höhenwinkeln und intrinsischen Parametern der Kamera gelöst. Z ist ein Vorwärtsabstand von der Kamera zum Verkehrszeichen in Kamerakoordinaten.
  • In Ausführungsformen umfasst die Steuerung der Funktion des Fahrzeugs die Steuerung eines autonomen Fahrsystems, die Lokalisierung des Fahrzeugs in einer Karte oder die Steuerung einer erweiterten Fahrerassistenzsystemfunktion.
  • Figurenliste
  • Die beispielhaften Ausführungsformen werden im Folgenden in Verbindung mit den folgenden Figuren beschrieben, wobei gleiche Bezugsziffern gleiche Elemente bezeichnen, und wobei:
    • 1 ist ein funktionales Blockdiagramm eines Fahrzeugs, das ein Steuersystem mit Verkehrszeichenerkennungsfunktionalität enthält, gemäß einer beispielhaften Ausführungsform;
    • 2 ist ein funktionales Blockdiagramm des Steuerungssystems des Fahrzeugs von 1, gemäß einer beispielhaften Ausführungsform;
    • 3 ist ein Datenflussdiagramm für die Verkehrszeichenerkennung und dreidimensionale (3D) Lokalisierung, die durch das Fahrzeug von 1 und das Steuersystem von 2 gemäß einer beispielhaften Ausführungsform durchgeführt wird; und
    • 4 ist ein Flussdiagramm eines Verfahrens zur Implementierung der Verkehrszeichenerkennung, das in Verbindung mit dem Fahrzeug von 1 und dem Steuersystem von 2 verwendet werden kann, gemäß einer beispielhaften Ausführungsform.
  • DETAILLIERTE BESCHREIBUNG
  • Die folgende detaillierte Beschreibung hat lediglich beispielhaften Charakter und soll die Anwendung und Verwendungen nicht einschränken. Darüber hinaus besteht keine Absicht, an irgendwelche ausdrücklichen oder impliziten Theorien gebunden zu sein, die in dem vorangehenden technischen Gebiet, dem Hintergrund, der kurzen Zusammenfassung oder der folgenden detaillierten Beschreibung dargestellt sind. Wie hierin verwendet, bezieht sich der Begriff Modul auf eine anwendungsspezifische integrierte Schaltung (ASIC), eine elektronische Schaltung, einen Prozessor (gemeinsam, dediziert oder als Gruppe) und einen Speicher, der ein oder mehrere Software- oder Firmware-Programme ausführt, eine kombinatorische Logikschaltung und/oder andere geeignete Komponenten, die die beschriebene Funktionalität bieten.
  • 1 zeigt ein Fahrzeug 100, oder Automobil, gemäß einer beispielhaften Ausführungsform. Wie weiter unten ausführlicher beschrieben, enthält das Fahrzeug 100 ein Steuersystem 102 mit einer neuronalen Netzwerkarchitektur, die die 3D-Position für jedes Verkehrszeichen in einem Kamerabild auf der Grundlage des Abrufs standardisierter Abmessungen für das Verkehrszeichen ausgibt. Ein neuronales Netzwerk erkennt Verkehrsschilder aus dem Bild von z.B. einer einzelnen (monokularen) Kamera, die eine 3D-Position und Orientierung für jedes Verkehrsschild enthält. In einem Beispiel regressiert das neuronale Netzwerk eine 2D Bounding Box, optional einen Konfidenzwert, einen Verkehrszeichentyp und eine globale Orientierung (z. B. Roll, Nick, Gier). Eine globale Orientierung der Verkehrszeichen wird mit Hilfe des neuronalen Netzes geschätzt. Ein eindeutiger Verkehrszeichentyp wird vorhergesagt und wird verwendet, um die 3D-Abmessungen für das Verkehrszeichen abzuleiten, basierend auf der Tatsache, dass die Größe des Verkehrszeichens für jeden gegebenen Verkehrszeichentyp im Voraus bekannt ist und aus einer Datenbank abgerufen werden kann. Eine oder mehrere mögliche 3D-Positionen des Verkehrszeichens werden unter Verwendung der 3D-Ebenengeometrie, der globalen Orientierung, des 2D-Begrenzungsrahmens und der 3D-Abmessungen für das Verkehrszeichen berechnet.
  • Wie in 1 dargestellt, umfasst das Fahrzeug 100 neben dem oben erwähnten Steuersystem 102 ein Fahrgestell 112, eine Karosserie 114, vier Räder 116, ein elektronisches Steuersystem 118, ein Lenksystem 150 und ein Bremssystem 160. Die Karosserie 114 ist auf dem Fahrgestell 112 angeordnet und umschließt im Wesentlichen die anderen Komponenten des Fahrzeugs 100. Die Karosserie 114 und das Fahrgestell 112 können gemeinsam einen Rahmen bilden. Die Räder 116 sind jeweils in der Nähe einer entsprechenden Ecke der Karosserie 114 drehbar mit dem Fahrgestell 112 verbunden. In verschiedenen Ausführungsformen kann das Fahrzeug 100 von dem in 1 dargestellten abweichen. Zum Beispiel kann in bestimmten Ausführungsformen die Anzahl der Räder 116 variieren. Als zusätzliches Beispiel kann das Fahrzeug 100 in verschiedenen Ausführungsformen kein Lenksystem haben und zum Beispiel durch Differentialbremsen gelenkt werden, neben verschiedenen anderen möglichen Unterschieden.
  • In der beispielhaften Ausführungsform, die in 1 dargestellt ist, umfasst das Fahrzeug 100 eine Aktuatorbaugruppe 120. Die Aktuatorbaugruppe 120 umfasst mindestens ein auf dem Fahrgestell 112 montiertes Antriebssystem 129, das die Räder 116 antreibt. Die Aktuatorbaugruppe umfasst ferner ein Lenksystem 150 und ein Bremssystem 160 sowie zugehörige Lenk- und Bremsaktuatoren. In der dargestellten Ausführungsform umfasst die Aktuatorbaugruppe 120 einen Motor 130. In einer Ausführungsform umfasst der Motor 130 einen Verbrennungsmotor. In anderen Ausführungsformen kann die Aktuatorbaugruppe 120 anstelle des Verbrennungsmotors oder zusätzlich zu diesem einen oder mehrere andere Arten von Motoren und/oder Motoren, wie z. B. einen Elektromotor/Generator, umfassen.
  • Wie in 1 dargestellt, ist der Motor 130 über eine oder mehrere Antriebswellen 134 mit mindestens einigen der Räder 116 verbunden. In einigen Ausführungsformen ist der Motor 130 mechanisch mit dem Getriebe gekoppelt. In anderen Ausführungsformen kann der Motor 130 stattdessen mit einem Generator gekoppelt sein, der zum Antrieb eines Elektromotors dient, der mechanisch mit dem Getriebe gekoppelt ist. In bestimmten anderen Ausführungsformen (z. B. bei Elektrofahrzeugen) kann ein Motor und/oder ein Getriebe nicht erforderlich sein.
  • Das Lenksystem 150 ist auf dem Fahrgestell 112 montiert und steuert die Lenkung der Räder 116. Das Lenksystem 150 umfasst ein Lenkrad und eine Lenksäule (nicht abgebildet). Das Lenkrad empfängt Eingaben von einem Fahrer des Fahrzeugs 100. Die Lenksäule führt über die Antriebswellen 134 basierend auf den Eingaben des Fahrers zu gewünschten Lenkwinkeln für die Räder 116. Ähnlich der obigen Diskussion über mögliche Variationen für das Fahrzeug 100, kann das Fahrzeug 100 in bestimmten Ausführungsformen kein Lenkrad und/oder keine Lenksäule enthalten. Darüber hinaus kann ein autonomes Fahrzeug in bestimmten Ausführungsformen Lenkbefehle verwenden, die von einem Computer erzeugt werden, ohne dass der Fahrer daran beteiligt ist.
  • Das Bremssystem 160 ist am Fahrgestell 112 montiert und sorgt für die Abbremsung des Fahrzeugs 100. Das Bremssystem 160 empfängt Eingaben vom Fahrer über ein Bremspedal (nicht abgebildet) und sorgt über Bremseinheiten (ebenfalls nicht abgebildet) für eine entsprechende Bremsung. Der Fahrer gibt auch Eingaben über ein Gaspedal (nicht abgebildet) bezüglich einer gewünschten Geschwindigkeit oder Beschleunigung des Fahrzeugs sowie verschiedene andere Eingaben für verschiedene Fahrzeuggeräte und/oder -systeme, wie z. B. ein oder mehrere Fahrzeugradios, andere Unterhaltungssysteme, Umweltkontrollsysteme, Beleuchtungseinheiten, Navigationssysteme und dergleichen (ebenfalls nicht abgebildet). Ähnlich wie bei der obigen Erörterung möglicher Varianten für das Fahrzeug 100 kann in bestimmten Ausführungsformen das Lenken, Bremsen und/oder Beschleunigen von einem Computer statt von einem Fahrer befohlen werden (in einer solchen Ausführungsform kann ein Computer des Fahrzeugs Eingaben vom Radarsystem zum Lenken, Bremsen und/oder Beschleunigen des Fahrzeugs verwenden).
  • Zurückgehend auf die beispielhafte Ausführungsform von 1 enthält das Fahrzeug 100 eine oder mehrere Kameras 210 als Teil eines Computer-Vision-Systems. Die eine oder mehreren Kameras 210 können eine Dashcam oder eine externe, nach vorne gerichtete Kamera umfassen. Die Kamera kann eine Weitwinkelkamera sein, die in der Lage ist, 130o, 170o oder mehr einer vorwärtsgerichteten Szene zu sehen. Die Kamera kann eine monokulare Kamera sein und mindestens RGB (Rot, Grün, Blau)-Video (bestehend aus Einzelbildern von Bilddaten) oder Bilddaten liefern.
  • Das Steuersystem 102 ist auf dem Fahrgestell 112 montiert. Das Steuersystem 102 sorgt für die Erkennung von Verkehrszeichen, indem es ein neuronales Netzwerk verwendet, um eine Verkehrszeichenklasse, einen 2D-Begrenzungsrahmen für das Verkehrszeichen und eine Verkehrszeichenausrichtung zu bestimmen. Die Abmessungen des Verkehrszeichens können basierend auf der Verkehrszeichenklasse aus einer Datenbank mit Verkehrszeicheninformationen abgerufen werden. Die Orientierung des Verkehrszeichens wird in Kombination mit kamerainternen Parametern verwendet, um die Abmessungen des Verkehrszeichens auf eine Bildebene der Kamera 210 zu projizieren, und basierend auf der Projektion kann eine Lösung für eine Z-Position für das Verkehrszeichen gefunden werden, indem Beschränkungen der Abmessungen des 2D-Begrenzungsrahmens durch das neuronale Netz regressiert werden. Aus der Z-Position (eine Vorwärtsrichtung in Kamerakoordinaten) können X- und Y-Positionen für das Verkehrszeichen bestimmt werden, die zusätzlich auf einem Kameramodell und der Position des 2D-Begrenzungsrahmens aus dem neuronalen Netz basieren. In einem Beispiel stellt das Steuerungssystem 102 diese Funktionen gemäß dem weiter unten in Verbindung mit 4 beschriebenen Verfahren 400 und den zugehörigen Datentransformationen von 3 bereit.
  • Unter Bezugnahme auf 2 wird ein funktionales Blockdiagramm für das Steuerungssystem 102 von 1 gemäß einer beispielhaften Ausführungsform dargestellt. Wie in 2 dargestellt, umfasst das Steuersystem 102 das Radarsystem 202, zusätzliche Sensoren 104 einschließlich der Kamera 210 und einen Controller 204. Die Kamera 210 ist als Teil des Computer-Vision-Systems 103 enthalten. In der dargestellten Ausführungsform umfassen die Sensoren 104 die eine oder mehrere Kameras 210 und ein oder mehrere Light Detection and Ranging (LIDAR)-Systeme. Das Computer Vision System 103 erhält entsprechende Sensorinformationen, die Objekte auf oder in der Nähe einer Straße identifizieren, auf der das Fahrzeug 100 fährt, wie z. B. fahrende oder stehende Fahrzeuge auf oder neben der Straße, Fußgänger, Fahrradfahrer, Tiere, Gebäude, Bäume, Leitplanken, Mittelstreifen und/oder andere Objekte auf oder neben der Straße. Das Computer-Vision-System 103 ist so konfiguriert, dass es Kamerabilder erhält und das Kamerabild verarbeitet, um den Typ und die 6D-Pose von Verkehrsschildern zu identifizieren, was 3D-Orts- und 3D-Orientierungsinformationen umfasst.
  • Wie in 2 dargestellt, ist die Steuerung 204 mit der Kamera 210 gekoppelt. In bestimmten Ausführungsformen ist die Steuerung 204 mit einem oder mehreren anderen Fahrzeugsystemen gekoppelt (z. B. mit dem elektronischen Steuersystem 118 von 1). Die Steuerung 204 empfängt die von der Kamera 210 erfassten oder ermittelten Informationen, führt eine Objekterkennung einschließlich der Erkennung des Verkehrszeichentyps und der Position durch und steuert eine oder mehrere Funktionen des Fahrzeugs 100 auf der Grundlage der Verkehrszeicheninformationen.
  • Wie in 2 dargestellt, umfasst die Steuerung 204 ein Computersystem. In bestimmten Ausführungsformen kann die Steuerung 204 auch die Kamera 210 und/oder Komponenten davon enthalten. Darüber hinaus kann sich die Steuerung 204 in anderer Weise von der in 2 dargestellten Ausführungsform unterscheiden. Beispielsweise kann die Steuerung 204 mit einem oder mehreren entfernten Computersystemen und/oder anderen Steuersystemen, wie z. B. dem elektronischen Steuersystem 118 von 1, gekoppelt sein oder diese anderweitig nutzen.
  • In der dargestellten Ausführungsform umfasst das Computersystem der Steuerung 204 einen Prozessor 230, einen Speicher 232, eine Schnittstelle 234, eine Speichereinrichtung 236 und einen Bus 238. Der Prozessor 230 führt die Berechnungs- und Steuerfunktionen des Steuergeräts 204 aus und kann jede Art von Prozessor oder mehrere Prozessoren, einzelne integrierte Schaltungen wie einen Mikroprozessor oder eine beliebige geeignete Anzahl von integrierten Schaltkreisen und/oder Leiterplatten umfassen, die zusammenarbeiten, um die Funktionen einer Verarbeitungseinheit zu erfüllen. Während des Betriebs führt der Prozessor 230 ein oder mehrere Programme 240 aus, die im Speicher 232 enthalten sind, und steuert als solcher den allgemeinen Betrieb der Steuerung 204 und des Computersystems der Steuerung 204, im Allgemeinen bei der Ausführung der hierin beschriebenen Prozesse, wie z. B. des weiter unten in Verbindung mit 4 beschriebenen Verfahrens 400 und der Datenflussprozesse von 3. Das eine oder die mehreren Programme 240 umfassen ein neuronales Netzwerkmodul 245, ein Verkehrszeichenabmessungsmodul 226 und ein Verkehrszeichenpositionsmodul 241 zur Durchführung von Schritten des unten im Detail beschriebenen Verfahrens 400.
  • Der Prozessor 230 ist in der Lage, ein oder mehrere Programme auszuführen (d.h. Software laufen zu lassen), um verschiedene Aufgaben zu erfüllen, die in dem/den Programm(en) kodiert sind, insbesondere das neuronale Netzwerkmodul 245, das Verkehrszeichenabmessungsmodul 226 und ein Verkehrszeichenpositionsmodul 241. Der Prozessor 230 kann ein Mikroprozessor, Mikrocontroller, anwendungsspezifischer integrierter Schaltkreis (ASIC) oder ein anderes geeignetes Gerät sein, wie es von Fachleuten erkannt wird.
  • Der Speicher 232 kann jede Art von geeignetem Speicher sein. Dazu gehören die verschiedenen Arten von dynamischem Direktzugriffsspeicher (DRAM) wie SDRAM, die verschiedenen Arten von statischem RAM (SRAM) und die verschiedenen Arten von nichtflüchtigem Speicher (PROM, EPROM und Flash). In bestimmten Beispielen befindet sich der Speicher 232 auf demselben Computerchip wie der Prozessor 230 und/oder ist auf diesem angeordnet. In der dargestellten Ausführungsform speichert der Speicher 232 das oben erwähnte Programm 240 zusammen mit einem oder mehreren gespeicherten Werten 242 zur Verwendung bei der Durchführung der Festlegungen.
  • Der Bus 238 dient zur Übertragung von Programmen, Daten, Status und anderen Informationen oder Signalen zwischen den verschiedenen Komponenten des Rechnersystems der Steuerung 204. Die Schnittstelle 234 ermöglicht die Kommunikation mit dem Computersystem der Steuerung 204, z. B. von einem Systemtreiber und/oder einem anderen Computersystem, und kann mit jeder geeigneten Methode und Vorrichtung implementiert werden. Die Schnittstelle 234 kann eine oder mehrere Netzwerkschnittstellen enthalten, um mit anderen Systemen oder Komponenten zu kommunizieren. Die Schnittstelle 234 kann auch eine oder mehrere Netzwerkschnittstellen enthalten, um mit Technikern zu kommunizieren, und/oder eine oder mehrere Speicherschnittstellen, um sich mit Speichergeräten, wie dem Speichergerät 236, zu verbinden.
  • Die Speichervorrichtung 236 kann jede geeignete Art von Speichergerät sein, einschließlich Speichergeräten mit direktem Zugriff wie Festplattenlaufwerke, Flash-Systeme, Diskettenlaufwerke und optische Laufwerke. In einer beispielhaften Ausführungsform umfasst die Speichervorrichtung 236 ein Programmprodukt, von dem der Speicher 232 ein Programm 240 (einschließlich der Computermodule 226, 241 und 245) empfangen kann, das eine oder mehrere Ausführungsformen eines oder mehrerer Prozesse der vorliegenden Offenbarung ausführt, wie z. B. die Schritte des Verfahrens 400 (und alle Unterprozesse davon). In einer anderen beispielhaften Ausführungsform kann das Programmprodukt direkt in dem Speicher 232 und/oder einer Platte (z. B. Platte 244), wie im Folgenden beschrieben, gespeichert sein und/oder es kann anderweitig darauf zugegriffen werden.
  • Der Bus 238 kann jedes geeignete physikalische oder logische Mittel zur Verbindung von Computersystemen und Komponenten sein. Dazu gehören unter anderem direkte, fest verdrahtete Verbindungen, Glasfaser, Infrarot und drahtlose Bustechnologien. Während des Betriebs wird das Programm 240 im Speicher 232 gespeichert und vom Prozessor 230 ausgeführt.
  • Während diese beispielhafte Ausführungsform im Zusammenhang mit einem voll funktionsfähigen Computersystem beschrieben wird, wird der Fachmann erkennen, dass die Mechanismen der vorliegenden Offenbarung als ein Programmprodukt mit einer oder mehreren Arten von nichttransitorischen, computerlesbaren, signaltragenden Medien verteilt werden können, die verwendet werden, um das Programm und seine Anweisungen zu speichern und seine Verteilung auszuführen, wie z. B. ein nicht-transitorisches, computerlesbares Medium, das das Programm trägt und Computeranweisungen enthält, die darin gespeichert sind, um einen Computerprozessor (wie den Prozessor 230) zu veranlassen, das Programm durchzuführen und auszuführen. Ein solches Programmprodukt kann eine Vielzahl von Formen annehmen, und die vorliegende Offenbarung gilt gleichermaßen unabhängig von der besonderen Art des computerlesbaren signaltragenden Mediums, das zur Durchführung der Verteilung verwendet wird. Beispiele für signaltragende Medien sind: beschreibbare Medien wie Disketten, Festplatten, Speicherkarten und optische Platten sowie Übertragungsmedien wie digitale und analoge Kommunikationsverbindungen. Es wird ebenfalls deutlich, dass sich das Computersystem der Steuerung 204 auch anderweitig von der in 2 dargestellten Ausführungsform unterscheiden kann, zum Beispiel dadurch, dass das Computersystem der Steuerung 204 mit einem oder mehreren entfernten Computersystemen und/oder anderen Steuersystemen gekoppelt sein oder diese anderweitig nutzen kann.
  • Mit zusätzlichem Bezug auf das Datenflussdiagramm 300 von 3 wird das neuronale Netzwerkmodul 245 durch ein neuronales Netzwerk 302 implementiert, das neuronale Netzwerkblöcke enthält, darunter einen Backbone-Block 306, einen Konfidenzblock 308, einen 2D-Box-Block 310, eine Pooling-Schicht 316, einen Rotationsblock 326 und einen Verkehrszeichenklassenblock 328. Das neuronale Netzwerk 302 empfängt und verarbeitet Bilddaten 304, um 2D-Begrenzungsfelddaten 314 zu regressieren, die ein 2D-Begrenzungsfeld um jedes erkannte Verkehrszeichen beschreiben, Verkehrszeichenklassendaten 334, die einen Verkehrszeichentyp für jedes erkannte Verkehrszeichen identifizieren, Verkehrszeichenorientierungsdaten 336, die eine Drehlage jedes erkannten Verkehrszeichens beschreiben, und Azimut- und Elevationsdaten 324, die Azimut- und Elevationswinkel von der Kamerabildebene zum Objekt beschreiben. Das Verkehrszeichenabmessungsmodul 226 fragt eine Verkehrszeicheninformationsdatenbank 330 ab, um die realen Abmessungen für jedes erkannte Verkehrszeichen auf der Grundlage der Verkehrszeichenklassendaten 334 abzurufen und somit Verkehrszeichenabmessungsdaten 332 auszugeben. Das Verkehrszeichenpositionsmodul 241 implementiert einen Verkehrszeichenpositionsrechner 338, der eine oder mehrere Gleichungen für eine Z-Position des Verkehrszeichens in Kamerakoordinaten löst. Die eine oder mehreren Gleichungen projizieren die Abmessungen jedes Verkehrszeichens (wie in den Verkehrszeichenabmessungsdaten 332 definiert) in eine Bildebene der Kamera 210, die um die Drehlage des Verkehrszeichens (wie in den Verkehrszeichenorientierungsdaten 336 definiert) angepasst ist, wenn die Größe des projizierten Verkehrszeichens durch die Abmessungen des 2D-Begrenzungsrahmens (wie in den 2D-Begrenzungsrahmen-Daten definiert) und unter Berücksichtigung von Azimut- und Höhenwinkeln des Verkehrszeichens (wie in den Azimut- und Höhendaten 324 definiert) eingeschränkt ist. Der Verkehrszeichenpositionsrechner 338 leitet die X- und Y-Positionen des Verkehrszeichens in Kamerakoordinaten ab, basierend auf einem Kameramodell, der Z-Position des Verkehrszeichens und den Positionen des 2D-Begrenzungsrahmens im Bildraum. So bestimmt das Steuersystem 102 auf der Grundlage eines Eingangsbildes die 3D-Drehlage (wie in den Verkehrszeichenorientierungsdaten 336 definiert) und die 3D-Raumlage (X-, Y- und Z-Positionen, die in den Verkehrszeichenpositionsdaten 340 bereitgestellt werden). Diese Informationen können vom Steuersystem 102 verwendet werden, um ADAS-Funktionen oder autonome Funktionen zu steuern, oder sie können z. B. für die Lokalisierung von Karten verwendet werden. In einer Ausführungsform werden die 6D-Positionsinformationen für jedes Verkehrsschild bei der Bestimmung von Aktuatorbefehlen für die Aktuatoren 120 verwendet, einschließlich mindestens eines der Lenksysteme 150, der Bremssysteme 160 und des Motors 130.
  • Die Berechnungen und mathematischen Grundlagen für die Blöcke und Rechner des Datenflussdiagramms 300 von 3 werden im Folgenden gemäß einer beispielhaften Ausführungsform beschrieben. In Kamerakoordinaten steht X für links/rechts, Y für oben/unten und Z für vorwärts (entlang einer zentralen optischen Achse der Kamera 210). In einem Kameramodell gehorchen die perspektivischen Bilder dem Lochkameramodell und ein 3D-Punkt in Kamerakoordinaten [X, Y, Z] wird durch Multiplikation mit einer kameraeigenen Matrix auf das Bild projiziert: [ x y 1 ] = [ f x 0 c x 0 f y c y 0 0 1 ] [ X Y Z ]
    Figure DE102021111977A1_0001
  • In Gleichung 1, ƒx, ƒY die Brennweiten entlang der Achsen X, Y, cx, cy den Hauptpunkt darstellen und x, y sind die Koordinaten des projizierten Punktes auf dem Bild. Ein der Kamera 210 zugewandtes 3D-Objekt mit Breite ΔX = W und Höhe ΔY = H hat eine zu Z proportionale Vergrößerung. Die Größe einer 2D-Box, die das projizierte Objekt auf dem Kamerabild einschließt, ist w = f X W Z
    Figure DE102021111977A1_0002
    und h = f Y H Z
    Figure DE102021111977A1_0003
  • In den Gleichungen 2 und 3, w = Δx und h = Δy.
  • Verkehrszeichen desselben Typs/derselben Klasse gibt es in mehreren verschiedenen Größen, die ansonsten das gleiche Aussehen haben. Zum Beispiel beträgt die Größe von Geschwindigkeitsbegrenzungsschildern in den USA (B x H in Zoll) 24 x 30 auf einspurigen herkömmlichen Straßen und 48 x 60 auf Autobahnen. Daher erscheint ein Tempolimit-Schild auf einer einspurigen Straße im Bild genau wie ein Tempolimit-Schild auf einer Autobahn, wenn es doppelt so weit entfernt ist. In einigen europäischen Ländern werden die Abmessungen der Verkehrszeichen durch die Geschwindigkeitsbegrenzung der Straße bestimmt. Verschiedene Länder haben unterschiedliche Vorschriften bezüglich der Größe von Verkehrsschildern. Durch die Gleichungen 2 und 3 stellt dasselbe Verkehrsschild mit unterschiedlichen Abmessungen ein Problem dar, das in W, H schlecht gestellt ist, was auch in Z ein schlecht gestelltes Problem ist.
  • Rotationen um die X-, Y- und Z-Achse werden als Nicken, Gieren bzw. Rollen bezeichnet und mit α, β , γ bezeichnet. Objekte mit gleicher globaler Rotation ändern ihr Aussehen in Abhängigkeit von ihrer Lage im Bild, die mit dem Azimut φ und der Elevation ψ zum Objekt beschrieben werden kann. Allozentrische Beobachtungswinkel α - ψ, β - φ können der globalen Rotation des Objekts α, β, γ gegenübergestellt werden. Eine Annahme der Erhaltung des Erscheinungsbildes in Abhängigkeit von der allozentrischen Rotation ist für flache Objekte wie z.B. Verkehrsschilder nicht zulässig. Daher regressiert der Rotationsblock 326 direkt die globale Orientierung α, β, γ, anstatt die allozentrische Rotation zu regressieren und die globale Orientierung daraus abzuleiten, wie weiter unten beschrieben wird.
  • Die perspektivische Projektion von flachen Objekten wie Verkehrsschildern hängt von der Orientierung des Objekts α, β und von den Azimut- und Höhenwinkeln des Objekts ψ, φ getrennt ab. In der beispielhaften Ausführungsform von 3 werden die Azimut- und Elevationswinkel oder Funktionen davon in den Rotationsblock 326 des neuronalen Netzes 302 injiziert, um die Vorhersage der globalen Rotation α, β, γ des Objekts (nämlich eines Verkehrsschilds) zu ermöglichen.
  • In Übereinstimmung mit der beispielhaften Ausführungsform von 3 empfängt der Backbone-Block 306 die Bilddaten 304 von der Kamera 210. Die Bilddaten 304 können Graustufen- oder Farbbilddaten sein. Zum Beispiel können die Bilddaten 304 RGB (Rot, Grün und Blau) Bilddaten sein. Die Bilddaten 304 können ein einzelnes Bild aus einer Vorwärtsszene relativ zum Fahrzeug 100 sein und können als Teil von Videobilddaten bereitgestellt werden. Die Datenflüsse von 3 sind jedoch in der Lage, jeweils ein einzelnes Bild zu verarbeiten. In einer Ausführungsform werden die Bilddaten 304 von einer monokularen Kamera 210 empfangen. In Ausführungsformen enthält der Backbone-Block 306 Faltungsschichten, die die Bilddaten 304 verarbeiten, um eine Verkehrszeichenklassifikation (z. B. eine binäre Klassifikation) bereitzustellen, die angibt, ob die Bilddaten ein Verkehrszeichen enthalten (aber nicht die Art des Verkehrszeichens). Der Backbone-Block 306 gibt Merkmalskarten in Form von Merkmalskartendaten 312 aus, die dem 2D-Box-Block 310 zugeführt werden, der Faltungsschichten verwendet, um Koordinaten im Bildraum für eine 2D-Begrenzungsbox um jedes in den Bilddaten 304 identifizierte Verkehrszeichen zu regressieren. Auf diese Weise wird die Kombination aus dem Backbone-Block 306 und dem 2D-Box-Block darauf trainiert, Verkehrszeichen in den Bilddaten 304 zu erkennen und die Abmessungen und Koordinaten der 2D-Bounding-Box für jedes Verkehrszeichen auszugeben. Die Bounding-Box-Daten 314 können als minimale und maximale x- und y-Koordinaten im Bildraum, Box-Abmessungen und Box-Mittelpunkt x- und y-Koordinaten im Bildraum, Box-Eckpunkt x- und y-Koordinaten im Bildraum usw. ausgegeben werden. In einer Ausführungsform ist der Backbone-Block 306 ein Feature-Pyramidennetzwerk (FPN), das eine Pyramide von Merkmalskarten als Merkmalskartendaten 312 ausgeben kann, wobei jede Merkmalskarte eine andere räumliche Auflösung/Skala hat. Der Backbone-Block 306 kann als eine Kombination aus dem FPN und einem ResNet18-basierten Encoder bereitgestellt werden, der für die Erkennung kleiner Objekte wie Verkehrsschilder geeignet ist.
  • In Ausführungsformen werden die Bounding-Box-Daten aus dem 2D-Box-Block 310 von einer Pooling-Schicht 316 verwendet, um Features aus dem Backbone-Block 306 zu poolen. Das heißt, die Feature-Map-Schicht mit dem geeignetsten Maßstab (basierend auf der Größe der durch die Bounding-Box-Daten 314 definierten Region von Interesse) wird von der Pooling-Schicht 316 als Feature-Patches extrahiert, die der in den Bounding-Box-Daten 314 identifizierten 2D-Bounding-Box entsprechen.
  • In Übereinstimmung mit dem Datenflussdiagramm von 3 ist ein Azimut- und Elevationsdatenrechner 322 enthalten, der die Azimut- und Elevationswinkel oder deren Funktionen für jedes identifizierte 2D-Begrenzungsrechteck auf der Grundlage der 2D-Begrenzungsrechteckdaten 314 bestimmt. Insbesondere werden die folgenden Gleichungen verwendet, um cos- und sin-Funktionen des Azimutwinkels zu bestimmen: sin φ = f X f X 2 + ( x 0 c x ) 2
    Figure DE102021111977A1_0004
    cos φ = x 0 c x f X 2 + ( x 0 c x ) 2
    Figure DE102021111977A1_0005
  • Die vertikalen (y-Achse) Äquivalente der Gleichungen 4 und 5 werden verwendet, um sin ψ und cos ψ auf der Basis von yo zu berechnen, ƒY und cy. In diesen Gleichungen stellen xo, yo eine Position des 2D-Begrenzungsrahmens im Bildraum dar und können ein Mittelpunkt des 2D-Begrenzungsrahmens sein, der aus den 2D-Begrenzungsrahmendaten 314 abgeleitet wird, oder ein anderer einzelner Referenzpunkt, wie z. B. ein Eckpunkt unten links oder oben rechts. Die kamerainternen Parameter ƒx, cx, ƒY und cy sind bekannte Parameter der Kamera 210 und werden als Referenzdaten in Form von kamerainternen Parametern 320 im Datenflussdiagramm 300 bereitgestellt. Die Kombination von sin <p, cos <p, sin ψ und cos ψ oder die Azimut- und Elevationswinkel selbst φ, ψ werden als Azimut- und Elevationsdaten 324 ausgegeben.
  • In der beispielhaften Ausführungsform von 3 enthält das neuronale Netz 302 einen Verkettungsblock 318, der die Azimut- und Elevationsdaten 324 zur gepoolten Merkmalskarte aus der Pooling-Schicht 316 hinzufügt, und die Kombination der Merkmale wird in die zweite Stufe des neuronalen Netzes 302 eingegeben, die durch den Verkehrszeichenklassenblock 328 und den Rotationsblock 326 definiert ist. Da Verkehrsschilder flache Objekte sind, bleibt ihr Aussehen bei einer konstanten allozentrischen Drehung nicht erhalten, so dass die zusätzlichen Eingangsmerkmale cos φ, sin φ, cos ψ, sin ψ wichtige zusätzliche Parameter für die Vorhersage der Orientierung von Verkehrsschildern sind. Außerdem unterstützen diese zusätzlichen Merkmale die direkte Regression der globalen Rotation (Nick-, Gier- und Rollbewegung) des Verkehrszeichens durch den Rotationsblock 326 anstelle der allozentrischen Rotation.
  • Der Verkehrszeichenklassenblock 328 und der Rotationsblock 326 empfangen die Feature-Maps aus der Pooling-Schicht 316, die dem begrenzten Bereich des 2D-Rahmens um jedes Verkehrszeichen entsprechen. Der Rotationsblock 326 empfängt zusätzlich die verketteten Azimut- und Elevationsdaten 324. Der Verkehrszeichenklassenblock 328 und der Rotationsblock 326 sind Teile des neuronalen Netzes 302, die manchmal als Teilnetze oder Netzköpfe bezeichnet werden, und jeder von ihnen enthält eine oder mehrere Schichten des neuronalen Netzes, z. B. vollständig verbundene Schichten. Der Rotationsblock 326 und der Verkehrszeichenklassenblock 328 sind Klassifikatoren zur jeweiligen Regression eines von potenziell Hunderten von Verkehrszeichen in Form von Verkehrszeichenklassendaten 334 und einem oder mehreren von Nick-, Gier- und Rollwerten (α, β, γ) jedes Verkehrszeichens in globalen Koordinaten. In einigen Ausführungsformen wird nur Gieren (β) durch den Rotationsblock 326 extrahiert. Der Verkehrszeichenklassenblock 328 regressiert die Verkehrszeichenklassendaten 334 und identifiziert den Verkehrszeichentyp aus zahlreichen möglichen Typen. Der Rotationsblock 326 gibt Verkehrszeichenorientierungsdaten 336 aus, die die globale Rotation des Verkehrszeichens identifizieren.
  • Das Verkehrszeichenbemessungsmodul 226 (in 3 nicht dargestellt) empfängt Straßentypdaten 342, die einen Straßentyp oder eine Geschwindigkeitsbegrenzung der Straße, auf der das Fahrzeug 100 fährt, identifizieren. Die Straßentypdaten 342 können von einem einer Vielzahl von Modulen des Steuergeräts 204 geliefert werden. Zum Beispiel kann eine Kartenanwendung den Straßentyp oder die Geschwindigkeitsbegrenzung aus einem Kartenmerkmal basierend auf dem Fahrzeugstandort abrufen. In einem anderen Beispiel kann das Computer Vision System 103 den Straßentyp oder die Geschwindigkeitsbegrenzung durch die Analyse von Kamerabildern erkennen (z. B. durch das Lesen von Geschwindigkeitsbegrenzungsschildern oder das Erkennen der Anzahl der Fahrspuren einer Straße). Das Modul 226 zur Bemessung von Verkehrsschildern empfängt außerdem die Verkehrszeichenklassendaten 334, die einen bestimmten Typ von Verkehrszeichen identifizieren (z. B. Geschwindigkeitsbegrenzungsschild, Stoppschild, Abbiegeverbotsschild, Gefälleschild, Überholverbotsschild, Einbahnstraßenschild usw.). Die Verkehrszeichen-Informationsdatenbank 330 enthält Datensätze, die jeder Verkehrszeichenklasse geregelte Maße W, H zuordnen und die geregelten Maße mit dem Straßentyp verknüpfen. Das Modul 226 für Verkehrszeichenabmessungen ist somit in der Lage, die Abmessungen W, H für jedes identifizierte Verkehrszeichen basierend auf den Verkehrszeichenklassendaten und den Straßentypdaten 342 abzurufen. In anderen Ausführungsformen werden die Straßentypdaten 342 nicht verwendet. Stattdessen gibt das Verkehrszeichenabmessungsmodul 226 jede der Verkehrszeichenabmessungen, die mit einer bestimmten Verkehrszeichenklasse verbunden sind, aus der Verkehrszeicheninformationsdatenbank 330 aus. Für jedes erkannte Verkehrszeichen werden nach der Vorhersage des Verkehrszeichentyps und optional des Straßentyps/der Geschwindigkeitsbegrenzung dessen Abmessungen aus der Verkehrszeicheninformationsdatenbank 330 gelesen.
  • Im beispielhaften Datenflussdiagramm 300 von 3 werden die Daten zur Verkehrszeichenausrichtung 336 und die Daten zu den Verkehrszeichenabmessungen 332 an den Verkehrszeichenpositionsrechner 338 geliefert. Da Z wie zuvor beschrieben schlecht vorgegeben ist, regressiert das neuronale Netz 302 Z nicht direkt. Stattdessen wird Z vom Verkehrszeichenpositionsrechner 338 analytisch berechnet, nachdem die Verkehrszeichenabmessungen W, H durch das Verkehrszeichenabmessungsmodul 226 aufgelöst wurden. Der Verkehrszeichenpositionsrechner verwendet die 3D-Ebenengeometrie, die kameraeigene Kalibrierung (beschrieben durch die kameraeigenen Parameter 320), die vorhergesagten Gier- und Neigungswinkel (α, β, wie durch die Verkehrszeichenorientierungsdaten definiert) und optional auch Roll- (γ), Azimut- und Elevationswinkel (ψ, φ, wie aus den Azimut- und Elevationsdaten 324 abgeleitet) sowie die realen Verkehrszeichenabmessungen (W, H, wie in den Verkehrszeichenabmessungsdaten 332 definiert). In den folgenden Gleichungen wurde angenommen, dass α = γ = 0 ist, was für Verkehrszeichen fast immer zutrifft. Basierend auf einer Analyse einer perspektivischen 3D-Projektion für die Dimension des Verkehrszeichens und die entsprechenden Dimensionen in der Kamerabildebene wurden die folgenden Gleichungen abgeleitet:
  • Beim Lösen aus w kann Z berechnet werden durch: Z = f X W 2 w ( sin β tan φ + cos β ) + f X W 2 h ( sin β tan φ + cos β ) 2 + ( w f X sin β ) 2
    Figure DE102021111977A1_0006
  • Beim Lösen aus h kann Z berechnet werden durch: Z = f Y 2 h ( H + Wsin | β | tan | ψ | ) + f Y 2 h ( H + Wsin | β | tan | ψ | ) 2 + ( h f Y Wsin β ) 2
    Figure DE102021111977A1_0007
    unter der Bedingung, dass: | y 0 c y | f Y h H 2 f Y H + h W sin | β |
    Figure DE102021111977A1_0008
    ansonsten ist die Lösung: Z = f Y h H + 1 2 W sin β
    Figure DE102021111977A1_0009
  • In den Gleichungen 6 bis 9 wird nur die regressierte Gier der Verkehrszeichenorientierungsdaten 336 verwendet. Es sind jedoch auch andere Ableitungen möglich, bei denen weniger Annahmen getroffen werden, die das Gieren und möglicherweise auch das Rollen als Eingaben verwenden würden, obwohl dies die Komplexität der erforderlichen Berechnungen erhöhen würde. Die Gleichungen 6 bis 9 wurden auf der Grundlage einer Kameraprojektion abgeleitet, bei der die Ecken eines Verkehrszeichens mit bekannter Orientierung (Verkehrszeichenorientierungsdaten 336) und Abmessungen (Verkehrszeichenabmessungsdaten 332) und unbekannter Position auf das Bild projiziert werden. Die Position auf dem Kamerabild wird aus einer oder mehreren Gleichungen 6 bis 9 extrahiert, die implizit den 2D-Begrenzungskasten, der die projizierten Ecken umschließt, so einschränken, dass er mit dem 2D-Begrenzungskasten übereinstimmt, der vom neuronalen Netz 302 als Teil der Begrenzungskastendaten 314 vorhergesagt wurde.
  • Der Verkehrszeichenpositionsrechner 338 kann getrennte Vorhersagen für Z berechnen, eine aus Gleichung 6 und eine entweder aus Gleichung 7 oder Gleichung 9, oder es kann nur eine Vorhersage abgeleitet werden, die entweder auf Gleichung 6 oder auf Gleichung 7 oder Gleichung 9 basiert. Wenn zwei Vorhersagen für Z berechnet werden, können diese durch Mittelwertbildung oder eine andere Funktion kombiniert werden, wie z. B. eine Funktion, die die sinnvollste Vorhersage auswählt, z. B. basierend auf einem gleitenden Fenster historischer Vorhersagen. In einigen Ausführungsformen, wenn die Straßentypdaten 342 nicht zur eindeutigen Identifizierung eines Satzes von Verkehrsabmessungen verwendet werden und eine Vielzahl von Vorschlägen vom Verkehrszeichenabmessungsmodul 226 ausgegeben werden, die jeweils vom Verkehrszeichenpositionsrechner 338 verarbeitet werden, dann kann eine Vielzahl von Z-Vorhersagen ausgegeben werden, eine oder mehrere für jeden Eingabesatz von Verkehrszeichenabmessungen. In diesem Fall kann eine Funktion verwendet werden, um die sinnvollste Vorhersage auf der Grundlage der Übereinstimmung mit einem gleitenden Fenster auszuwählen, das eine oder mehrere der jüngsten historischen Z-Vorhersagen enthält.
  • Der Verkehrszeichenpositionsrechner 338 bestimmt außerdem die realen X- und Y-Positionen für das Verkehrszeichen basierend auf dem vorhergesagten Z und unter Verwendung von Gleichung 1, die ein Kameramodell darstellt und die kamerainternen Parameter 320 berücksichtigt. Auf diese Weise werden Verkehrszeichenpositionsdaten 340 ausgegeben, die 3D-X-, -Y- und -Z-Raumpositionen für jedes identifizierte Verkehrszeichen und optional auch 3D-Rotationspositionsinformationen basierend auf den Verkehrszeichenorientierungsdaten 336 enthalten können. Die Verkehrszeichenpositionsdaten 340 werden von einer oder mehreren Fahrzeugsteuerungsanwendungen des Steuersystems 102 wie oben beschrieben verwendet.
  • 4 ist ein Flussdiagramm eines Verfahrens 400 zur Erfassung einer 3D-Position von Verkehrszeichen und zur darauf basierenden Steuerung einer Funktion des Fahrzeugs 100. Das Verfahren 400 kann in Verbindung mit dem Fahrzeug 100 von 1 und dem Steuerungssystem 102 von 2 gemäß einer beispielhaften Ausführungsform implementiert werden. Das Verfahren 400 kann kontinuierlich während des Fahrzeugbetriebs implementiert werden.
  • Wie in 4 und unter Bezugnahme auf 3 dargestellt, umfasst das Verfahren 400 den Schritt 410 des Empfangs der Bilddaten von der Kamera 210. In einer Ausführungsform stellen die Bilddaten 304 ein RGB-Bild von einer monokularen Kamera 210 dar. In Schritt 420 werden die Bilddaten 304 durch den Backbone-Block 306 und den 2D-Box-Block 310 des neuronalen Netzwerks 302 verarbeitet, um die 2D-Bounding-Box-Daten 314 zu regressieren, die den Ort und die Abmessungen eines oder mehrerer in den Bilddaten 304 identifizierter Verkehrszeichen darstellen.
  • In Schritt 430 werden die Azimut- und Elevationsdaten 324 für jedes 2D-Begrenzungsrechteck basierend auf den 2D-Begrenzungsrechteckdaten 314 und den kamerainternen Parametern 320 berechnet. Die Azimut- und Elevationsdaten 324 können Azimut- und Elevationswinkel oder trigonometrische Funktionen davon sein. Die Pooling-Schicht 316 wird verwendet, um ein oder mehrere Feature-Patches aus den Feature-Maps der vom Backbone-Block 306 regressierten Feature-Map-Daten 312 zu extrahieren, die jeder 2D-Bounding-Box entsprechen. Die Merkmale in dem einen oder den mehreren Merkmalsfeldern werden im Verkettungsblock 318 mit den Azimut- und Elevationsdaten 324 verkettet.
  • In Schritt 440 wird ein Rotationsblock 326 verwendet, um die Verkehrszeichenorientierungsdaten 336 basierend auf der Eingabeverkettung von Azimut- und Elevationsdaten 324 und den Merkmalen des einen oder der mehreren Merkmalsfelder zu regressieren. Die Verkehrszeichenorientierungsdaten 336 können globale Neigungs-, Gier- und Rollorientierungsinformationen oder nur Gierinformationen oder nur Gier- und Neigungsinformationen enthalten. Der Verkehrszeichenklassenblock 328 regressiert eine bestimmte Verkehrszeichenklasse aus zahlreichen (z. B. 10er oder 100er) möglichen Verkehrszeichenklassen, um Verkehrszeichenklassendaten 334 bereitzustellen.
  • In Schritt 450 werden die Verkehrszeichenabmessungen für jedes identifizierte Verkehrszeichen basierend auf den Verkehrszeichenklassendaten 334 und durch Nachschlagen der Verkehrszeichenabmessungen in der Verkehrszeicheninformationsdatenbank 330 abgerufen. In einer Ausführungsform sollen sowohl die Straßentypdaten 342 als auch die Verkehrszeichenklassendaten 334 einen einzelnen Vektor (einschließlich Breite und Höhe) der Abmessungen für jedes identifizierte Verkehrszeichen nachschlagen, wobei die Verkehrszeicheninformationsdatenbank 330 mehrere Einträge für verschiedene Straßentypen/Geschwindigkeitsgrenzen für jede Verkehrszeichenklasse enthalten kann.
  • In Schritt 460 wird eine Z-Koordinate für jedes Verkehrszeichen berechnet, basierend auf den Azimut- und Elevationsdaten 324, der Orientierung und den Abmessungen des Verkehrszeichens, die durch die Verkehrszeichenorientierungsdaten 336 beschrieben werden, den kamerainternen Parametern 320, den Verkehrszeichenabmessungsdaten 332 und den Abmessungen des 2D-Begrenzungsrahmens, der durch die 2D-Begrenzungsrahmen-Daten 314 beschrieben wird. Wie oben beschrieben, beinhaltet Schritt 460 das Lösen einer oder mehrerer Gleichungen, die auf der Grundlage einer Projektion der realen Abmessungen und der Ausrichtung des Verkehrszeichens in eine Bildebene der Kamera unter Verwendung der Azimut- und Elevationswinkel und durch Beschränkung der Projektion auf die Abmessungen des 2D-Begrenzungsrahmens abgeleitet wurden.
  • In Schritt 470 können die X- und Y-Koordinaten für jedes Verkehrszeichen basierend auf den X- und Y-Positionen der 2D Bounding Box, der Z-Koordinate aus Schritt 460 und basierend auf den kameraeigenen Parametern 320 berechnet werden.
  • In Schritt 480 werden die X-, Y- und Z-Koordinaten für ein erkanntes Verkehrszeichen in einer Fahrzeugsteuerungsanwendung verwendet, einschließlich der Lenk-, Brems- und/oder Antriebssteuerung in einer ADAS- oder autonomen Fahrzeugsteuerungsanwendung und/oder der Fahrzeuglokalisierung in einer Mapping-Anwendung.
  • Es wird deutlich, dass die offenbarten Verfahren, Systeme und Fahrzeuge von den in den Figuren dargestellten und hier beschriebenen abweichen können. Zum Beispiel können das Fahrzeug 100 und das Steuersystem 102 und/oder verschiedene Komponenten davon von den in den 1 und 2 dargestellten und in Verbindung damit beschriebenen abweichen. Darüber hinaus können bestimmte Schritte des Verfahrens 400 von den in 4 dargestellten und/oder im Zusammenhang damit beschriebenen abweichen. Es wird ebenfalls deutlich, dass bestimmte Schritte des oben beschriebenen Verfahrens gleichzeitig oder in einer anderen Reihenfolge als in 4 dargestellt ablaufen können.
  • Obwohl in der vorangegangenen detaillierten Beschreibung mindestens eine beispielhafte Ausführungsform vorgestellt wurde, sollte man sich darüber im Klaren sein, dass es eine große Anzahl von Variationen gibt. Es sollte auch gewürdigt werden, dass die beispielhafte Ausführungsform oder die beispielhaften Ausführungsformen nur Beispiele sind und nicht dazu gedacht sind, den Umfang, die Anwendbarkeit oder die Konfiguration der Offenbarung in irgendeiner Weise zu begrenzen. Vielmehr soll die vorstehende detaillierte Beschreibung dem Fachmann eine praktische Anleitung zur Umsetzung der beispielhaften Ausführungsform oder der beispielhaften Ausführungsformen geben. Es sollte verstanden werden, dass verschiedene Änderungen in der Funktion und Anordnung der Elemente vorgenommen werden können, ohne vom Umfang der Offenbarung, wie in den beigefügten Ansprüchen und den gesetzlichen Äquivalenten davon dargelegt, abzuweichen.

Claims (10)

  1. Ein Verfahren zum Erfassen einer dreidimensionalen Position eines Verkehrszeichens und zum Steuern eines Merkmals des Fahrzeugs auf der Grundlage der dreidimensionalen Position des Verkehrszeichens, wobei das Verfahren umfasst: Empfangen, über mindestens einen Prozessor, eines Bildes von einer Kamera; Verarbeiten des Bildes unter Verwendung eines neuronalen Netzes, wobei das neuronale Netz einen Verkehrszeichenklassenblock, der eine Verkehrszeichenklasse für ein in dem Bild enthaltenes Verkehrszeichen regressiert, und einen Rotationsblock, der eine Orientierung für das Verkehrszeichen regressiert, enthält; Abrufen von Abmessungen für das Verkehrszeichen basierend auf der Verkehrszeichenklasse über den mindestens einen Prozessor und aus einer Verkehrszeicheninformationsdatenbank; Bestimmen, über den mindestens einen Prozessor, einer dreidimensionalen, 3D-, Position des Verkehrszeichens basierend auf den Abmessungen des Verkehrszeichens und der Ausrichtung des Verkehrszeichens; Steuern, über den mindestens einen Prozessor, mindestens eines Merkmals des Fahrzeugs basierend auf der 3D-Position des Verkehrszeichens.
  2. Das Verfahren nach Anspruch 1, wobei das neuronale Netzwerk Backbone- und 2D-Box-Blöcke umfasst, die die Position und die Dimensionen einer zweidimensionalen, 2D-, Bounding-Box um das Verkehrszeichen regressieren.
  3. Das Verfahren nach Anspruch 2, wobei das neuronale Netzwerk eine Pooling-Schicht umfasst, die Merkmale aus einer vom Backbone-Block ausgegebenen Merkmalskarte basierend auf dem Ort und den Abmessungen der 2D Bounding Box poolt.
  4. Das Verfahren nach Anspruch 2, umfassend das Berechnen von Azimut- und Elevationswinkeldaten oder Funktionen davon für das Verkehrszeichen über den mindestens einen Prozessor, basierend auf einer Position der 2D-Bounding Box in Bildkoordinaten und intrinsischen Parametern der Kamera zur Verwendung durch den Rotationsblock bei der Regression der Orientierung für das Verkehrszeichen.
  5. Das Verfahren nach Anspruch 3, wobei über den mindestens einen Prozessor die Azimut- und Höhenwinkeldaten oder Funktionen davon für das Verkehrszeichen auf der Grundlage einer Position des 2D-Begrenzungsrahmens in Bildkoordinaten und intrinsischer Parameter der Kamera berechnet werden und die Azimut- und Höhenwinkeldaten mit den zusammengefassten Merkmalen zur Eingabe in den Rotationsblock verkettet werden.
  6. Das Verfahren nach Anspruch 1, wobei: das neuronale Netz Lage und Abmessungen einer zweidimensionalen, 2D-, Bounding Box um das Verkehrszeichen in Bildkoordinaten regressiert; Azimut- und Elevationswinkel werden, über den mindestens einen Prozessor, basierend auf der Position des 2D-Begrenzungsrahmens berechnet; Lösen einer oder mehrerer Gleichungen für Z basierend auf der Position und den Abmessungen des 2D-Begrenzungsrahmens, der Ausrichtung und den Abmessungen des Verkehrszeichens, den Azimut- und Höhenwinkeln und intrinsischen Parametern der Kamera, wobei Z ein Vorwärtsabstand von der Kamera zum Verkehrszeichen in Kamerakoordinaten ist.
  7. Das Verfahren nach Anspruch 6, wobei die eine oder die mehreren Gleichungen eine Kameraprojektion auf eine Kamerabildebene definieren, die auf der Orientierung und den Abmessungen des Verkehrszeichens und den Azimut- und Höhenwinkeln basiert, wobei die eine oder die mehreren Gleichungen ein projiziertes 2D-Begrenzungsrechteck so einschränken, dass es mit dem durch das neuronale Netzwerk regressierten 2D-Begrenzungsrechteck konsistent ist.
  8. Das Verfahren nach Anspruch 6, umfassend das Lösen von X- und Y-Positionen des Verkehrszeichens basierend auf einem Kameramodell, der Lage und den Abmessungen der 2D-Boundingbox, den kameraeigenen Parametern und Z, wobei X, Y und Z die 3D-Position des Verkehrszeichens in Kamerakoordinaten ausmachen.
  9. Das Verfahren nach Anspruch 1, wobei die Kamera eine monokulare Kamera ist.
  10. Ein Fahrzeug, umfassend: eine Kamera; mindestens einen Prozessor in betriebsfähiger Kommunikation mit der Kamera, wobei der mindestens eine Prozessor so konfiguriert ist, dass er Programmanweisungen ausführt, wobei die Programmanweisungen so konfiguriert sind, dass sie den mindestens einen Prozessor veranlassen ein Bild von einer Kamera empfangen; Verarbeiten des Bildes unter Verwendung eines neuronalen Netzwerks, wobei das neuronale Netzwerk einen Verkehrszeichenklassenblock, der eine Verkehrszeichenklasse für ein in dem Bild enthaltenes Verkehrszeichen regressiert, und einen Rotationsblock, der eine Orientierung für das Verkehrszeichen regressiert, enthält; Abrufen, aus einer Verkehrszeichen-Informationsdatenbank, der Abmessungen für das Verkehrszeichen basierend auf der Verkehrszeichenklasse; Bestimmen einer dreidimensionalen, 3D-, Position des Verkehrszeichens basierend auf den Abmessungen des Verkehrszeichens und der Ausrichtung des Verkehrszeichens; Steuern mindestens eines Merkmals des Fahrzeugs basierend auf der 3D-Position des Verkehrszeichens.
DE102021111977.4A 2020-12-17 2021-05-07 Dreidimensionale verkehrszeichenerkennung Pending DE102021111977A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/125,379 2020-12-17
US17/125,379 US11380110B1 (en) 2020-12-17 2020-12-17 Three dimensional traffic sign detection

Publications (1)

Publication Number Publication Date
DE102021111977A1 true DE102021111977A1 (de) 2022-06-23

Family

ID=81847034

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021111977.4A Pending DE102021111977A1 (de) 2020-12-17 2021-05-07 Dreidimensionale verkehrszeichenerkennung

Country Status (3)

Country Link
US (1) US11380110B1 (de)
CN (1) CN114648743A (de)
DE (1) DE102021111977A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10928828B2 (en) * 2018-12-14 2021-02-23 Waymo Llc Detecting unfamiliar signs
US20230281871A1 (en) * 2022-03-01 2023-09-07 GM Global Technology Operations LLC Fusion of imaging data and lidar data for improved object recognition
US20240062555A1 (en) * 2022-08-17 2024-02-22 GM Global Technology Operations LLC Scalable road sign interpretation system for autonomous driving
US12046137B1 (en) * 2023-08-02 2024-07-23 Plusai, Inc. Automatic navigation based on traffic management vehicles and road signs
CN117994594B (zh) * 2024-04-03 2024-10-15 武汉纺织大学 一种基于深度学习的电力作业风险识别方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009048066A1 (de) * 2009-10-01 2011-04-07 Conti Temic Microelectronic Gmbh Verfahren zur Verkehrszeichenerkennung
EP2363827B1 (de) * 2010-03-04 2012-10-10 Harman Becker Automotive Systems GmbH Verfahren und Vorrichtung zur Klassifizierung eines Verkehrszeichens
US9767371B2 (en) * 2014-03-27 2017-09-19 Georgia Tech Research Corporation Systems and methods for identifying traffic control devices and testing the retroreflectivity of the same
CN111542860B (zh) * 2016-12-30 2024-08-27 辉达公司 用于自主车辆的高清地图的标志和车道创建
US10489665B2 (en) * 2017-09-07 2019-11-26 GM Global Technology Operations LLC Systems and methods for determining the presence of traffic control personnel and traffic control signage
JP6962131B2 (ja) * 2017-10-25 2021-11-05 株式会社Jvcケンウッド 車両用表示制御装置、車両用表示システム、車両用表示制御方法およびプログラム
US10928828B2 (en) * 2018-12-14 2021-02-23 Waymo Llc Detecting unfamiliar signs

Also Published As

Publication number Publication date
US11380110B1 (en) 2022-07-05
CN114648743A (zh) 2022-06-21
US20220198203A1 (en) 2022-06-23

Similar Documents

Publication Publication Date Title
DE102021111977A1 (de) Dreidimensionale verkehrszeichenerkennung
DE102019101938A1 (de) Erstellung kognitiver Karten für Fahrzeuge
DE102019131384A1 (de) Strassenbelagcharakterisierung unter verwendung von posenbeobachtungen von benachbarten fahrzeugen
DE102020113848A1 (de) Ekzentrizitätsbildfusion
DE102019133703A1 (de) Verfahren und systeme zur herstellung und lokalisierung für ein fahrzeug
DE102018126664A1 (de) Domänenanpassung durch klassenausgeglichenes selbsttraining mit räumlichen prioren
DE102021103370A1 (de) Objekterkennung mittels low-level-kamera-radar-fusion
DE102021108470A1 (de) Realistische bildperspektiventransformation unter verwendung neuronaler netze
DE102022200743A1 (de) Systeme und Verfahren zur Bestimmung eines befahrbaren Raums
DE102019122536A1 (de) Exzentrizitätskarten
DE102020102823A1 (de) Fahrzeugkapselnetzwerke
DE102021112616A1 (de) Selbstüberwachte schätzung einer beobachteten fahrzeugpose
DE102021129544A1 (de) Systeme und verfahren zur tiefenabschätzung in einem fahrzeug
DE102022126313A1 (de) Verfahren und Systeme zur Ausrichtung einer Kamera zum Boden
DE112021006111T5 (de) Systeme und Verfahren zur monokularisierten Objekterkennung
DE102022126309A1 (de) Verfahren und Systeme zur Ausrichtung einer Kamera zum Boden
DE102021106694A1 (de) Dynamische lidar-zu-kamera-ausrichtung
DE112020002753T5 (de) Fahrzeugsteuerverfahren, fahrzeugsteuervorrichtung und fahrzeugsteuersystem diese enthaltend
DE102022125914A1 (de) Fusion von bilddaten und lidar-daten zur verbesserten objekterkennung
DE102022123859A1 (de) Objektlageerfassung durch ein neuronales netz
DE102023102645A1 (de) Lokalisierung von fahrzeugen
DE102020106469A1 (de) Verfahren und systeme für die verwaltung automatisierter fahrfunktionen
DE102020100230A1 (de) Rekonstruktion von landmarkenpositionen in autonomen maschinenanwendungen
DE112021006401T5 (de) Systeme und Verfahren zur Objekterkennung unter Verwendung von Stereovisionsinformationen
DE102020122610A1 (de) Neuronales fahrzeugnetzwerk

Legal Events

Date Code Title Description
R012 Request for examination validly filed