DE102021129544A1 - Systeme und verfahren zur tiefenabschätzung in einem fahrzeug - Google Patents

Systeme und verfahren zur tiefenabschätzung in einem fahrzeug Download PDF

Info

Publication number
DE102021129544A1
DE102021129544A1 DE102021129544.0A DE102021129544A DE102021129544A1 DE 102021129544 A1 DE102021129544 A1 DE 102021129544A1 DE 102021129544 A DE102021129544 A DE 102021129544A DE 102021129544 A1 DE102021129544 A1 DE 102021129544A1
Authority
DE
Germany
Prior art keywords
data
vehicle
cameras
loss
semantic segmentation
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
DE102021129544.0A
Other languages
English (en)
Inventor
Albert Shalumov
Michael Slutsky
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 DE102021129544A1 publication Critical patent/DE102021129544A1/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/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/096Transfer learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4046Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/16Image acquisition using multiple overlapping images; Image stitching
    • 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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/778Active pattern-learning, e.g. online learning of image or video features
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/26Techniques for post-processing, e.g. correcting the recognition result
    • G06V30/262Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
    • G06V30/274Syntactic or semantic context, e.g. balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/16Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using electromagnetic waves other than radio waves
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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
    • G06T2207/30261Obstacle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0081Depth or disparity estimation from stereoscopic image signals

Landscapes

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

Abstract

Verfahren und System zum Trainieren eines neuronalen Netzes zur Tiefenabschätzung in einem Fahrzeug. Die Verfahren und Systeme empfangen jeweils Trainingsbilddaten von mindestens zwei Kameras. Die Sichtfelder benachbarter Kameras der mindestens zwei Kameras überschneiden sich teilweise. Die jeweiligen Trainingsbilddaten werden durch ein neuronales Netz verarbeitet, das Tiefendaten und semantische Segmentierungsdaten als Ausgaben liefert. Das neuronale Netz wird auf der Grundlage einer Verlustfunktion trainiert. Die Verlustfunktion kombiniert eine Vielzahl von Verlusttermen, darunter mindestens ein semantischer Segmentierungsverlustterm und ein Panoramaverlustterm. Der Panorama-Verlustterm umfasst ein Ähnlichkeitsmaß bezüglich sich überlappender Bildfelder der jeweiligen Bilddaten, die jeweils einem Bereich sich überlappender Sichtfelder der benachbarten Kameras entsprechen. Der semantische Segmentierungsverlustterm quantifiziert eine Differenz zwischen den semantischen Segmentierungsdaten der Grundwahrheit und den vom neuronalen Netz ausgegebenen semantischen Segmentierungsdaten.

Description

  • EINFÜHRUNG
  • Die vorliegende Offenbarung bezieht sich im Allgemeinen auf die Tiefenabschätzung auf der Grundlage von Bilddaten von Kameras, die an einem Fahrzeug angebracht sind, und insbesondere auf Verfahren und Systeme zur Tiefenabschätzung auf der Grundlage von Bilddaten der Umgebungsansicht.
  • Genaue Tiefendaten sind für viele bestehende und zukünftige Fahrzeugsysteme wichtig. Von der Hindernisvorhersage bis hin zu informativen Benutzeroberflächen erleichtern Tiefendaten die Fahrzeugnutzung. Ein Verfahren zur Gewinnung von Tiefendaten ist das Hinzufügen von LiDARs zu einer Fahrzeugsensorik. Ein anderes Verfahren besteht in der Verwendung von zwei eng beieinander liegenden Frontkameras, die auf die Tiefe hin untersucht werden.
  • LiDARs verursachen zusätzliche Hardware- und Wartungskosten für das Fahrzeug und haben einen erheblichen Energiebedarf. Außerdem liefert LiDAR nur spärliche Tiefenmessungen, so dass eine zusätzliche Verarbeitung erforderlich ist, um sie in dichte Daten umzuwandeln. Stereokameras erfordern ebenfalls zusätzliche Sensoren im Fahrzeug.
  • Dementsprechend ist es wünschenswert, Systeme und Verfahren bereitzustellen, die dichte Tiefendaten mit minimalen zusätzlichen Hardwarekosten für Fahrzeuge liefern können, die bereits über Kameras verfügen, die die Fahrzeugumgebung erfassen. Darüber hinaus werden andere wünschenswerte Merkmale und Eigenschaften der vorliegenden Erfindung aus der nachfolgenden detaillierten Beschreibung und den beigefügten Ansprüchen in Verbindung mit den beigefügten Figuren und dem vorstehenden technischen Gebiet und Hintergrund ersichtlich sein.
  • BESCHREIBUNG
  • Gemäß einem Aspekt wird ein Verfahren zur Steuerung eines Fahrzeugs bereitgestellt. Das Verfahren umfasst: Empfangen von jeweiligen Bilddaten von mindestens zwei Kameras über mindestens einen Prozessor, wobei sich Sichtfelder benachbarter Kameras der mindestens zwei Kameras teilweise überlappen und wobei die mindestens zwei Kameras an dem Fahrzeug angebracht sind; Verarbeiten der jeweiligen Bilddaten durch ein neuronales Netzwerk, wobei das neuronale Netzwerk trainiert wird, um Tiefendaten und semantische Segmentierungsdaten als Ausgaben bereitzustellen, und wobei das neuronale Netzwerk unter Verwendung einer Verlustfunktion trainiert wird, die eine Vielzahl von Verlusttermen kombiniert, einschließlich mindestens eines semantischen Segmentierungsverlustterms und eines Panoramaverlustterms, wobei der Panoramaverlustterm ein Ähnlichkeitsmaß in Bezug auf überlappende Bereiche der jeweiligen Bilddaten enthält, die jeweils einem Bereich überlappender Sichtfelder der benachbarten Kameras entsprechen; Steuern einer Funktion des Fahrzeugs über den mindestens einen Prozessor auf der Grundlage der Tiefendaten.
  • In einer Ausführungsform sind mindestens vier Kameras am Fahrzeug angebracht, die eine Rundumsicht auf das Fahrzeug ermöglichen.
  • Gemäß einer Ausführungsform umfasst die Vielzahl von Verlusttermen einen Disparitätsverlustterm, wobei Disparität der Kehrwert der Tiefe ist.
  • Gemäß einer Ausführungsform umfasst die Vielzahl von Verlusttermen einen Disparitätsglättungs-Verlustterm, wobei die Disparität der Kehrwert der Tiefe ist.
  • In einer Ausführungsform ist der Verlustterm der Disparitätsglättung variabel, so dass er an den Bildrändern geringer ist.
  • Gemäß einer Ausführungsform umfasst das Verfahren die Steuerung der Funktion des Fahrzeugs über den mindestens einen Prozessor auf der Grundlage der Tiefendaten und der semantischen Segmentierungsdaten.
  • Gemäß einer Ausführungsform umfasst das Verfahren die Durchführung der Hinderniserkennung und -vermeidung auf der Grundlage der Tiefendaten und der semantischen Segmentierungsdaten und die Steuerung von mindestens einer der Komponenten Lenkung, Bremsen und Antrieb des Fahrzeugs auf der Grundlage der Ausgabe der Hinderniserkennung und -vermeidung.
  • Gemäß einem Aspekt wird ein Verfahren zum Trainieren eines neuronalen Netzwerks und zur Verwendung des trainierten neuronalen Netzwerks zur Steuerung eines Fahrzeugs bereitgestellt. Das Verfahren umfasst das Empfangen, über mindestens einen Prozessor, jeweiliger Trainingsbilddaten, die Bilddaten darstellen, die von mindestens zwei Kameras empfangen wurden, wobei sich die Sichtfelder benachbarter Kameras der mindestens zwei Kameras teilweise überlappen; das Verarbeiten der jeweiligen Trainingsbilddaten durch ein neuronales Netzwerk, das Tiefendaten und semantische Segmentierungsdaten als Ausgaben bereitstellt; Empfangen, über den mindestens einen Prozessor, von Grundwahrheitsdaten, die semantische Segmentierungsdaten der Grundwahrheit enthalten; Trainieren, über den mindestens einen Prozessor, des neuronalen Netzwerks auf der Grundlage einer Verlustfunktion, wobei die Verlustfunktion eine Vielzahl von Verlusttermen kombiniert, die mindestens einen semantischen Segmentierungsverlustterm und einen Panoramaverlustterm enthalten; wobei der Panorama-Verlustterm ein Ähnlichkeitsmaß in Bezug auf überlappende Bildfelder der jeweiligen Trainingsbilddaten enthält, die jeweils einem Bereich überlappender Sichtfelder der benachbarten Kameras entsprechen; und wobei der semantische Segmentierungs-Verlustterm eine Differenz zwischen den semantischen Segmentierungsdaten der Grundwahrheit und den von dem neuronalen Netzwerk ausgegebenen semantischen Segmentierungsdaten quantifiziert; Verwenden des trainierten neuronalen Netzwerks zum Verarbeiten von Bilddaten, die von mindestens zwei an dem Fahrzeug angebrachten Fahrzeugkameras empfangen werden, wobei sich die Sichtfelder benachbarter Fahrzeugkameras der mindestens zwei Fahrzeugkameras teilweise überlappen, wodurch Live-Tiefendaten und Live-Semantiksegmentierungsdaten als Ausgaben bereitgestellt werden; Steuern einer Funktion des Fahrzeugs über den mindestens einen Prozessor auf der Grundlage der Live-Tiefendaten.
  • In einer Ausführungsform sind mindestens vier Fahrzeugkameras am Fahrzeug angebracht, um eine Rundumsicht des Fahrzeugs zu ermöglichen.
  • Gemäß einer Ausführungsform enthält die Vielzahl von Verlusttermen einen Disparitätsverlustterm, wobei die Disparität der Kehrwert der Tiefe ist, wobei die Grundwahrheitsdaten Grundwahrheits-Disparitätsdaten enthalten und wobei der Disparitätsverlustterm eine Differenz zwischen den Grundwahrheits-Disparitätsdaten und den Disparitätsdaten quantifiziert, die aus den vom neuronalen Netz ausgegebenen Tiefendaten abgeleitet werden.
  • Gemäß einer Ausführungsform umfasst die Vielzahl von Verlusttermen einen Verlustterm der Disparitätsglättung, wobei die Disparität der Kehrwert der Tiefe ist und wobei der Term der Disparitätsglättung eine Glättung der Disparitätsdaten quantifiziert, die aus den vom neuronalen Netz ausgegebenen Tiefendaten abgeleitet wird.
  • In einer Ausführungsform ist der Verlustterm der Disparitätsglättung variabel, so dass er an den Bildrändern niedrigere Werte aufweist.
  • Gemäß einer Ausführungsform wird der Verlustterm für die Disparitätsglättung durch folgende Schritte berechnet: Auffinden von Bildkanten; und Anwenden einer Glättungssteuerungsfunktion, die auf der Grundlage der gefundenen Bildkanten variiert.
  • Gemäß einer Ausführungsform werden die Bildkanten auf der Grundlage der Auswertung lokaler Bildintensitätsänderungen bestimmt.
  • Gemäß einer Ausführungsform wird der Panorama-Verlustterm durch folgende Schritte berechnet: Projizieren der jeweiligen Bilddaten in ein kombiniertes gleichwinkliges Panoramabild; Anwenden einer Maske auf das kombinierte gleichwinklige Panoramabild, um die überlappenden Bildfelder zu extrahieren; und Durchführen des Ähnlichkeitsmaßes an den überlappenden Bildfeldern, um die Ähnlichkeit der überlappenden Bildfelder zu quantifizieren.
  • Gemäß einer Ausführungsform umfasst das Verfahren die Steuerung der Funktion des Fahrzeugs über den mindestens einen Prozessor auf der Grundlage der Tiefendaten und der semantischen Segmentierungsdaten.
  • Gemäß einem Aspekt wird ein Fahrzeug bereitgestellt, das mindestens zwei Kameras umfasst, wobei sich die Sichtfelder benachbarter Kameras der mindestens zwei Kameras teilweise überlappen und wobei die mindestens zwei Kameras an dem Fahrzeug angebracht sind; mindestens einen Prozessor, der in betriebsfähiger Kommunikation mit den mindestens zwei Kameras steht, 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, Folgendes zu tun Empfangen jeweiliger Bilddaten von den mindestens zwei Kameras; Verarbeiten der jeweiligen Bilddaten durch ein neuronales Netzwerk, wobei das neuronale Netzwerk trainiert wird, um Tiefendaten und semantische Segmentierungsdaten als Ausgaben bereitzustellen, und wobei das neuronale Netzwerk unter Verwendung einer Verlustfunktion trainiert wird, die eine Vielzahl von Verlusttermen kombiniert, einschließlich mindestens eines semantischen Segmentierungsverlustterms und eines Panoramaverlustterms, wobei der Panoramaverlustterm ein Ähnlichkeitsmaß in Bezug auf überlappende Bereiche der jeweiligen Bilddaten enthält, die jeweils einem Bereich überlappender Sichtfelder der benachbarten Kameras entsprechen; und Steuern einer Funktion des Fahrzeugs auf der Grundlage der Tiefendaten.
  • In einer Ausführungsform sind mindestens vier Kameras am Fahrzeug angebracht, die eine Rundumsicht auf das Fahrzeug ermöglichen.
  • Gemäß einer Ausführungsform umfasst die Vielzahl von Verlusttermen einen Disparitätsverlustterm, wobei Disparität der Kehrwert der Tiefe ist.
  • Gemäß einer Ausführungsform umfasst die Vielzahl von Verlusttermen einen Disparitätsglättungsverlustterm, wobei die Disparität der Kehrwert der Tiefe ist und wobei der Disparitätsglättungsverlustterm variabel ist, so dass er an Bildrändern niedrigere Werte aufweist.
  • Figurenliste
  • Die vorliegende Offenbarung wird im Folgenden in Verbindung mit den folgenden Figuren beschrieben, wobei gleiche Bezugsziffern gleiche Elemente bezeichnen und wobei:
    • 1 ist ein funktionales Blockdiagramm eines Systems zur Tiefenschätzung in einer Inferenzstufe gemäß einer beispielhaften Ausführungsform;
    • 2 ist ein funktionelles Blockdiagramm eines Systems zur Tiefenschätzung in einer Trainingsstufe gemäß einer beispielhaften Ausführungsform;
    • Die 3A und 3B zeigen Diagramme zur Bildprojektion in Übereinstimmung mit einer beispielhaften Ausführungsform;
    • 4 ist ein Flussdiagramm eines Verfahrens zum Trainieren eines neuronalen Netzes gemäß einer beispielhaften Ausführungsform; und
    • 5 ist ein Flussdiagramm eines Verfahrens zur Steuerung eines Fahrzeugs unter Verwendung der Ausgaben eines trainierten neuronalen Netzes gemäß einer beispielhaften Ausführungsform.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende detaillierte Beschreibung ist lediglich beispielhaft und soll die Offenbarung oder deren Anwendung und Verwendung nicht einschränken. Darüber hinaus besteht nicht die Absicht, durch die im vorangegangenen Hintergrund oder in der folgenden detaillierten Beschreibung dargestellte Theorie gebunden zu sein.
  • Wie hierin verwendet, bezieht sich der Begriff Modul auf jede Hardware, Software, Firmware, elektronische Steuerkomponente, Verarbeitungslogik und/oder Prozessorvorrichtung, einzeln oder in beliebiger Kombination, einschließlich, aber nicht beschränkt auf: anwendungsspezifische integrierte Schaltungen (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 bereitstellen.
  • Ausführungsformen der vorliegenden Offenbarung können hier in Form von funktionalen und/oder logischen Blockkomponenten und verschiedenen Verarbeitungsschritten beschrieben werden. Solche Blockkomponenten können durch eine beliebige Anzahl von Hardware-, Software- und/oder Firmware-Komponenten realisiert werden, die zur Ausführung der angegebenen Funktionen konfiguriert sind. Beispielsweise kann eine Ausführungsform der vorliegenden Offenbarung verschiedene integrierte Schaltungskomponenten verwenden, z. B. Speicherelemente, digitale Signalverarbeitungselemente, Logikelemente, Nachschlagetabellen oder Ähnliches, die eine Vielzahl von Funktionen unter der Kontrolle eines oder mehrerer Mikroprozessoren oder anderer Steuergeräte ausführen können. Darüber hinaus wird der Fachmann erkennen, dass Ausführungsformen der vorliegenden Offenbarung in Verbindung mit einer beliebigen Anzahl von Systemen verwendet werden können und dass die hier beschriebenen Systeme lediglich beispielhafte Ausführungsformen der vorliegenden Offenbarung sind.
  • Der Kürze halber werden konventionelle Techniken im Zusammenhang mit Signalverarbeitung, Datenübertragung, Signalisierung, Steuerung und anderen funktionellen Aspekten der Systeme (und der einzelnen Betriebskomponenten der Systeme) hier nicht im Detail beschrieben. Darüber hinaus sollen die in den verschiedenen Abbildungen dargestellten Verbindungslinien beispielhafte funktionale Beziehungen und/oder physikalische Kopplungen zwischen den verschiedenen Elementen darstellen. Es sollte beachtet werden, dass viele alternative oder zusätzliche funktionale Beziehungen oder physikalische Verbindungen in einer Ausführungsform der vorliegenden Offenbarung vorhanden sein können.
  • Hierin werden Systeme und Verfahren zur Schätzung einer dichten Tiefenkarte aus Eingangsbildern von einer Vielzahl von an einem Fahrzeug montierten Kameras beschrieben. Die dichte Tiefenkarte wird durch Verarbeitung der Bilder mit einem Deep Neural Network (DNN) geschätzt: Ein mögliches DNN umfasst eine Encoder-Decoder-Architektur zur Erzeugung von Tiefendaten und semantischen Segmentierungsdaten. In einer Ausführungsform wird das DNN auf der Grundlage einer Verlustfunktion trainiert, die Verlustbegriffe wie Disparitätsverlust (1/Tiefe), Disparitätsglättungsverlust, semantischer Segmentierungsverlust und Panoramaverlust kombiniert. Bei der Verlustfunktion handelt es sich um eine einfache Multitasking-Lernverlustfunktion. Die vom trainierten DNN ausgegebenen Tiefendaten können in einer Vielzahl von Fahrzeuganwendungen verwendet werden, z. B. für das Splicing oder Stitching von Bildern, die Abschätzung der Entfernung von Hindernissen und die Steuerung des Fahrzeugs zur Vermeidung von Hindernissen, die Vorhersage der Tiefe, die Änderung der Sichtperspektive und die Erzeugung der Umgebungsansicht.
  • In einigen Ausführungsformen werden die Bilddaten der Umgebungskameras vom DNN verarbeitet, um die Konsistenz der Tiefenschätzung zu erzwingen. Bei den Umgebungskameras kann es sich um Weitwinkelkameras handeln. Der Verlustterm „Panorama“ verwendet die Reprojektion der Bilder der Umgebungskameras auf einen gemeinsamen Blickpunkt als Teil der Verlustfunktion. Insbesondere wird ein Ähnlichkeitsmaß verwendet, das überlappende Bildausschnitte von benachbarten Umgebungskameras vergleicht.
  • Die hier beschriebenen Systeme und Verfahren erzeugen eine dichte Tiefenschätzung von Fahrzeugumgebungskameras unter Verwendung des DNN. Das DNN verwendet Multi-Task-Lernen und lernt sowohl die Tiefe als auch die semantische Segmentierung mit. Als Teil der Auswertung des Panoramaverlustterms werden bekannte extrinsische und intrinsische Kameraparameter sowie die abgeleitete Tiefe verwendet, um eine 3D-Punktwolke zu erzeugen. Die 3D-Punktwolke wird auf eine gemeinsame Ebene projiziert, um ein Panoramabild zu erstellen. Die Verlustbedingungen für das Panoramabild bewerten die Ähnlichkeit der sich überlappenden Regionen des Panoramabildes als Teil der Verlustfunktion. Die Verlustfunktion kann die Disparität, ihre Glätte, die semantische Segmentierung und den Panoramaverlust in einer einzigen Verlustfunktion kombinieren.
  • 1 veranschaulicht ein System 30 zur Tiefenschätzung und semantischen Segmentierung von Bilddaten 16, die von einer Vielzahl von Kameras 14a bis 14d, die an einem Fahrzeug 12 angebracht sind, empfangen werden. Das Tiefenschätzungssystem 30 ist im Fahrzeug 12 enthalten und umfasst einen Prozessor 24, einen Speicher 26 und ein neuronales Netzwerk 18. Die Kameras 14a bis 14d sind am Fahrzeug 12 an mehreren verschiedenen Stellen angebracht, um Umgebungsbilder zu liefern. In der dargestellten Ausführungsform gibt es vier Kameras 14a bis 14d. Eine erste Kamera 14a ist eine nach vorne gerichtete Kamera. Eine zweite Kamera 14b ist eine nach links gerichtete Kamera. Eine dritte Kamera 14c ist eine nach hinten gerichtete Kamera. Eine vierte Kamera 14d ist eine nach rechts gerichtete Kamera. Das Fahrzeug 12 kann mit einer geringeren oder größeren Anzahl von Kameras 14a bis 14d ausgestattet sein. Bei den Kameras 14a bis 14d handelt es sich in einer Ausführungsform um Weitwinkelkameras, die auch als Fisheye-Kameras bezeichnet werden. Die erste/vordere Kamera 14a hat ein sich teilweise überschneidendes Sichtfeld mit der zweiten/linken Kamera 14b und mit der vierten/rechten Kamera 14d. Die zweite/linke Kamera 14b hat ein teilweise überlappendes Sichtfeld mit der dritten/hinteren Kamera 14c und mit der ersten/vorderen Kamera 14a. Die vierte/rechte Kamera 14d hat ein teilweise überlappendes Sichtfeld mit der dritten/hinteren Kamera 14c und der ersten/vorderen Kamera 14a. Auf diese Weise liefern die von den Kameras 14a bis 14d ausgegebenen Bilddaten 16 einen 360°-Rundumblick um das Fahrzeug 12. Die Kameras 14a bis 14d können Farbbilddaten 16 wie z. B. Rot-Grün-Blau (RGB)-Bilddaten 16 liefern.
  • Das System 30 ist im Zusammenhang mit einem Fahrzeug 12, insbesondere einem Automobil, dargestellt (z. B. in diesem enthalten). Das System 30 ist jedoch auch in anderen Fahrzeugkontexten nützlich, z. B. in Flugzeugen, Seeschiffen usw. In verschiedenen Ausführungsformen ist das Fahrzeug 12 ein autonomes Fahrzeug und das System 30 ist in das autonome Fahrzeug 12 integriert. Das System 30 ist jedoch in jeder Art von Fahrzeug (autonom oder nicht) nützlich, das Umgebungskameras 14a bis 14d umfasst, die Bilddaten 16 erzeugen, die vom neuronalen Netz 18 kombiniert und verarbeitet werden können, um Tiefendaten 20 und semantische Segmentierungsdaten 22 abzuleiten. Das autonome Fahrzeug 12 ist beispielsweise ein Fahrzeug, das automatisch gesteuert wird, um Fahrgäste von einem Ort zu einem anderen zu befördern. Das Fahrzeug 12 ist in der gezeigten Ausführungsform als Pkw dargestellt, aber es sollte verstanden werden, dass jedes andere Fahrzeug, einschließlich Motorräder, Lastwagen, Sport Utility Vehicles (SUVs), Freizeitfahrzeuge (RVs), Wasserfahrzeuge, Flugzeuge usw., ebenfalls verwendet werden kann. In einer beispielhaften Ausführungsform ist das autonome Fahrzeug 12 ein so genanntes Automatisierungssystem der Stufe vier oder fünf. Ein System der Stufe Vier bedeutet „hohe Automatisierung“, d. h. ein automatisiertes Fahrsystem führt alle Aspekte der dynamischen Fahraufgabe durch, auch wenn ein menschlicher Fahrer nicht angemessen auf eine Aufforderung zum Eingreifen reagiert. Ein System der Stufe 5 bedeutet „Vollautomatisierung“, d. h. ein automatisiertes Fahrsystem führt alle Aspekte der dynamischen Fahraufgabe unter allen Straßen- und Umgebungsbedingungen, die ein menschlicher Fahrer bewältigen kann, vollständig aus.
  • In Ausführungsformen umfasst das Fahrzeug 12 ein Fahrzeugsteuergerät 40, das eine oder mehrere Fahrzeugfunktionen auf der Grundlage von mindestens Tiefendaten 20 und optional auch der semantischen Segmentierungsdaten 22 steuert. Das Fahrzeugsteuergerät 40 kann ein oder mehrere fortschrittliche Fahrerassistenzsysteme umfassen, die auf der Grundlage der Ausgaben des neuronalen Netzes 18 elektronische Fahrerassistenz bereitstellen. Das Fahrzeugsteuergerät 40 kann einen autonomen oder teilautonomen Fahrer umfassen, der das Fahrzeug 12 über einen oder mehrere Fahrzeugaktuatoren (z. B. Aktuatoren von Antriebs-, Brems- und Lenksystemen) auf der Grundlage der Tiefendaten 20 und der semantischen Segmentierungsdaten 22 steuert. In Ausführungsformen umfasst das Fahrzeugsteuergerät 40 Steuermodule, die die Tiefendaten 20 und die semantischen Segmentierungsdaten 22 empfangen, um die auf die Fahrzeugaktuatoren anzuwendenden Steueranweisungen zu bestimmen. Die Steuermodule des Fahrzeugsteuergeräts 40 können Lokalisierungs- und Umgebungswahrnehmungsalgorithmen ausführen, die die Tiefendaten 20 und die semantischen Segmentierungsdaten 22 verarbeiten, um die Steueranweisungen zu bestimmen. Die Steuermodule können ein Modul zur Hinderniserkennung und - Vermeidung enthalten, das die Tiefendaten 20 und die semantischen Segmentierungsdaten 22 verarbeitet, um die Art der Hindernisse und die dreidimensionale Lage der Hindernisse zu bewerten. Die Hindernisse werden verfolgt und ihre Flugbahn in drei Dimensionen kann vorhergesagt werden. Das Fahrzeugsteuergerät 40 kann daraufhin das Fahrzeug 12 so steuern, dass es Kollisionen mit den verfolgten Hindernissen vermeidet.
  • Wie in 1 dargestellt, umfasst das Tiefenschätzungssystem 30 mindestens einen Prozessor 24, einen Speicher 26 und dergleichen. Der Prozessor 24 kann in dem Speicher 26 gespeicherte Programmanweisungen 28 ausführen. Der Prozessor 24 kann sich auf eine Zentraleinheit (CPU), eine Grafikverarbeitungseinheit (GPU) oder einen speziellen Prozessor beziehen, auf dem die Verfahren und Funktionen gemäß der vorliegenden Offenbarung ausgeführt werden. Der Speicher 26 kann aus einem flüchtigen Speichermedium und/oder einem nichtflüchtigen Speichermedium bestehen. Beispielsweise kann der Speicher 26 aus einem Festwertspeicher (ROM) und/oder einem Direktzugriffsspeicher (RAM) bestehen. Der Speicher 26 speichert Computerprogrammanweisungen 28, die von dem Prozessor 24 ausgeführt werden, um die hier beschriebenen Blöcke, Module und Verfahrensschritte zu implementieren. Die durch das Tiefenschätzungssystem 30 implementierten Verfahren umfassen den Empfang der Bilddaten 16, das Durchlaufen der Bilddaten 16 durch das neuronale Netz 18 und die Ausgabe von Tiefendaten 20 und semantischen Segmentierungsdaten 22 in der Inferenzphase. In der Trainingsstufe, die in 2 dargestellt ist, wird eine Verlustfunktion 52 ausgewertet, die eine Vielzahl von konzeptionell unterschiedlichen Verlusttermen enthält, wie weiter unten beschrieben wird. Das neuronale Netz 18 kann eine der verschiedenen Arten von neuronalen Netzen sein, einschließlich DNNs wie Convolutional Neural Networks (CNNs). In einer Ausführungsform wird das neuronale Netz 18 mit einer Encoder-Decoder-Architektur oder als Generatives Adversariales Netz (GAN) implementiert.
  • In 2 ist ein Tiefenschätzungssystem 50 in der Trainingsphase dargestellt. Nachdem das neuronale Netz 18 trainiert wurde, kann es im Tiefenschätzungssystem 30 im Fahrzeug 12 in einer Inferenzphase eingesetzt werden, wie in 1 gezeigt. Das Tiefenschätzungssystem 50 in der Trainingsstufe verfügt über einen Prozessor 62 und einen Speicher 64, der Computerprogrammanweisungen 66 speichert. Der Prozessor 62, der Speicher 64 und die Computerprogrammanweisungen 66 können entsprechend der oben in Bezug auf den Prozessor 24, den Speicher 26 und die Computerprogrammanweisungen 28 von 1 beschriebenen Vorgehensweise implementiert werden. Die Computerprogrammanweisungen 66 werden von dem Prozessor 62 ausgeführt, um einen Trainingsprozess zu steuern. Im Trainingsprozess wird die Verlustfunktion 52 berechnet und durch iterative Anpassung der Gewichte des neuronalen Netzes 18 optimiert, bis eine maximale oder minimale Lösung erreicht ist. In einer Ausführungsform ist die Verlustfunktion L: L = λ 1 L 1 + λ 2 Gl a ¨ ttung + λ 3 SemSeg + λ 4 Panorama
    Figure DE102021129544A1_0001
  • In Gleichung 1 ist L1 der Disparitätsverlust, der die Differenz zwischen einer Disparitätskarte, die aus den vom neuronalen Netz 18 ausgegebenen Tiefendaten 20 abgeleitet wird, und den in den Grundwahrheitsdaten 58 enthaltenen Grundwahrheits-Tiefendaten misst. Der Glättungs- oder Disparitätsglättungsverlust ist ein Maß dafür, wie glatt die Disparitätskarte in Bildbereichen außerhalb der Bildkanten ist. Einem Mangel an Disparitätsglätte an den Bildrändern wird wenig Gewicht beigemessen, was durch eine Glättungssteuerungsfunktion kontrolliert wird. SemSeg oder semantischer Segmentierungsverlust ist ein Maß für die Ähnlichkeit zwischen den vom neuronalen Netz 18 ausgegebenen semantischen Segmentierungsdaten 22 und den in den Grundwahrheitsdaten 58 enthaltenen semantischen Segmentierungsdaten. Der Panoramaverlust ist ein Maß für die Unähnlichkeit von Bildfeldern in sich überlappenden Regionen der Eingabebilder. Die sich überschneidenden Regionen der Eingangsbilder werden bestimmt, indem zunächst die Bilddaten der verschiedenen Kameras in ein gemeinsames globales dreidimensionales Koordinatensystem gebracht und dann die Bilddaten in ein gleichwinkliges Panorama projiziert werden. λ1, λ2, λ3 and λ4 sind abstimmbare Gewichtungsfaktoren. Die Disparität ist definiert als der Kehrwert der Tiefe.
  • Grundwahrheitsdaten 58 und Trainingsbilddaten 54 werden dem Tiefenschätzungssystem 50 in der Trainingsstufe als Eingaben zur Verfügung gestellt. Die Grundwahrheitsdaten 58 umfassen Grundwahrheits-Tiefendaten und Grundwahrheits-Semantiksegmentierungsdaten. Die Trainingsbilddaten 54 können einer Datenbank mit Umgebungsbilddaten entnommen werden, die von den an einem Fahrzeug 12 montierten Kameras 14a bis 14d aufgezeichnet wurden, wie oben in Bezug auf 1 beschrieben. Die Trainingsbilddaten 54 können in anderen Ausführungsformen simuliert werden. Die Bodenwahrheitsdaten 58 können von der Simulation ausgegeben werden, wenn eine Simulation zur Erzeugung der Trainingsbilddaten 54 verwendet wird. Die Tiefenwahrheitsdaten können auf der Grundlage der Tiefenerkennungsfähigkeiten von Stereokamerasystemen, LiDAR-Geräten, RADAR-Geräten oder anderen Tiefenerkennungsgeräten erzeugt werden, die am Fahrzeug 12 angebracht sind und bei der Aufnahme der Trainingsbilddaten 54 mit den Kameras 14a bis 14d zusammenarbeiten. Die semantischen Segmentierungsgrundwahrheitsdaten können durch automatische oder menschliche Kennzeichnung von Objekten auf der Grundlage der Trainingsbilddaten 54 erzeugt werden. Alle möglichen Arten von Hindernissen und Objekten können als Teil der semantischen Segmentierungsausgabe des neuronalen Netzes 18 und als Teil der Grundwahrheitsdaten 58 gekennzeichnet werden, z. B. andere Fahrzeuge, Fahrzeugtyp, Fußgänger, Bäume, Fahrbahnmarkierungen, Bordsteine, Radfahrer usw..
  • Wie in Gleichung 1 beschrieben, enthält die Verlustfunktion 52 eine Vielzahl von Verlusttermen, die in Übereinstimmung mit einer beispielhaften Ausführungsform näher beschrieben werden. Gegeben { d i p }
    Figure DE102021129544A1_0002
    Satz von vorhergesagten Disparitätskarten und { d i g t }
    Figure DE102021129544A1_0003
    Satz von Grundwahrheits-Disparitätskarten, dann kann der Verlustterm L1 berechnet werden durch: 1 N i = 1 N | d i p d i g t |
    Figure DE102021129544A1_0004
  • Gleichung 2 ist ein Maß für den Fehler zwischen den vom neuronalen Netz 18 ausgegebenen Tiefendaten 20 und den tatsächlichen Tiefendaten. Das heißt, Gleichung 2 quantifiziert, wie korrekt das System die Tiefendaten 20 im Vergleich zur Grundwahrheit ableitet. Die Verlustfunktion 52 kann auch andere Maße zur Quantifizierung des Disparitätsverlustterms verwenden. Der Satz der vorhergesagten Disparitätskarten kann auf der Grundlage einer Umkehrung der vom neuronalen Netz 18 als Teil der Tiefendaten 20 ausgegebenen Tiefenkarten abgeleitet werden. Der Satz von Grundwahrheits-Disparitätskarten kann auf der Grundlage einer Umkehrung der Grundwahrheits-Tiefenkarten abgeleitet werden, die in den Grundwahrheits-Tiefendaten enthalten sind.
  • Der Verlustterm der Disparitätsglättung der Verlustfunktion 52 wird durch ein Verfahren berechnet, bei dem zunächst die Kanten des Eingangsbildes angenähert werden Δx, Δy. Die Bildkanten können auf verschiedene Weise ermittelt werden. Ein Verfahren wandelt die Trainingsbilddaten 54, die Farbbilddaten sind, in Graustufen-Intensitätskarten um. Eine absolute Intensitätsdifferenz wird entlang der x- und y-Achse bestimmt, um Intensitäts-Delta-Karten zu ermitteln Δx, Δy. Die absolute Differenz der Disparitätswerte wird für benachbarte Pixel berechnet, um eine Dx, Dy. Die Disparitäts-Delta-Karten und die Intensitäts-Delta-Karten werden unter Verwendung des Ausdrucks kombiniert: D x e α s Δ x + D y e α s Δ y
    Figure DE102021129544A1_0005
  • In Gleichung 3, αs der Glättungsfaktor und e α s Δ x
    Figure DE102021129544A1_0006
    und e α s Δ y
    Figure DE102021129544A1_0007
    sind Glättungssteuerungsfunktionen. Gleichung 3 liefert ein Maß für die Glätte in den vom neuronalen Netz 18 ausgegebenen Tiefendaten 20 in Form einer variablen Funktion, die an bestimmten Bildrändern weniger Gewicht hat. Das heißt, die Glättungssteuerungsfunktionen sind variabel, so dass an Bildkanten (wo Δx, Δy relativ hoch sind) die Tiefenglättung mit einer kleineren Glättungssteuervariablen multipliziert wird als in Bildbereichen abseits von Bildkanten. Bildkanten sind in Gleichung 3 als die Bereiche mit relativ großen Intensitätssprüngen definiert. Auf diese Weise wird die Einschränkung der Tiefenglättung in Bereichen außerhalb der Bildkanten strenger gehandhabt, während lokale Tiefenschwankungen dort, wo an den Bildkanten Tiefenänderungen zu erwarten sind, eher toleriert werden. In einer anderen Ausführungsform könnten die Bildkanten auf andere Weise bestimmt werden. Beispielsweise haben sich Verfahren des maschinellen Lernens als genau geeignet erwiesen, um Bildkanten zu lokalisieren, und auf dieser Grundlage könnte eine Karte der Nicht-Bildkanten erstellt werden, so dass die Tiefenglättung nur in den Nicht-Bildkantenregionen durchgeführt wird (oder auf eine verzerrte Weise angewendet wird).
  • Der semantische Segmentierungsverlustterm der Verlustfunktion 52 wird anhand einer kategorialen Kreuzentropiefunktion berechnet. Angesichts der vorhergesagten Klasse ŷi die in den semantischen Segmentierungsdaten 22 enthalten ist, die vom neuronalen Netz 18 ausgegeben werden, und der Grundwahrheitsklasse yi die in den Grundwahrheitsdaten 58 enthalten ist, ist der semantische Segmentierungsverlustterm definiert als: i = 1 N y i  log y ^ i
    Figure DE102021129544A1_0008
  • Gleichung 4 ist ein Maß für die Korrektheit der vom neuronalen Netz 18 ausgegebenen semantischen Segmentierungsdaten 22 in Bezug auf die Klassifizierungsetiketten der Grundwahrheit. Obwohl eine Kreuzentropieberechnung vorgeschlagen wird, sind auch andere Verfahren zur Quantifizierung der Ähnlichkeit zwischen der Klassifizierungsvorhersage des neuronalen Netzes 18 und der Basiswahrheit möglich.
  • Der Panorama-Verlustterm der Verlustfunktion 52 wird berechnet, indem zunächst ein Panoramabild aus den Trainingsbilddaten 54 in einem gemeinsamen globalen Koordinatenrahmen unter Verwendung einer Bildprojektionsverfahren erstellt wird. Überlappende Bildfelder aus dem Panoramabild werden dann extrahiert und ein Bilddifferenzmaß zwischen überlappenden Bildfeldern wird zur Quantifizierung des Panoramaverlustterms verwendet. In einer beispielhaften Ausführungsform und unter Bezugnahme auf 3A wird jedes Pixel 60 in einem Bild 65 von einer der Kameras in eine dreidimensionale kartesische Koordinate in einem lokalen Koordinatenrahmen der Kamera und unter Verwendung kameraeigener Parameter, die in den intrinsischen und extrinsischen Kameradaten 56 und den Tiefendaten 20 enthalten sind, unprojiziert. Das heißt, für jede u/v-Koordinate eines Pixels 60 im Bild 65 gibt es eine entsprechende Koordinate in kartesischen XYZ-Koordinaten auf der Grundlage der kamerainternen Parameter, die einen Richtungsvektor ergeben. Der Richtungsvektor wird mit der Tiefe multipliziert, die in den vom neuronalen Netz 18 vorhergesagten Tiefendaten 20 enthalten ist, um eine vollständige lokale 3D-Koordinate in einem lokalen kartesischen Koordinatensystem der Kamera zu erhalten. Die im vorigen Schritt abgeleiteten lokalen 3D-Koordinaten werden in globale 3D-Koordinaten transformiert, indem sie unter Verwendung der extrinsischen Parameter der Kamera entsprechend den intrinsischen und extrinsischen Kameradaten 56 gedreht und verschoben werden. Auf diese Weise wird eine 3D-Punktwolke erzeugt, die eine Kombination der Umgebungsbilder in einem globalen, gemeinsamen Koordinatenrahmen darstellt. Aus den globalen 3D-Koordinaten jedes Bildes in den Surround-Trainingsbilddaten 54 wird ein gleichwinkliges Panorama abgeleitet, indem es berechnet wird: φ = asin ( z d ) θ = atan ( x y )
    Figure DE102021129544A1_0009
  • In Gleichung 5 werden der Abstand d und die Winkel φ, θ können mit Bezug auf 3B verstanden werden, die ebenfalls einen Punkt 63 im Panorama zeigt, der dem Pixel 60 im Bild von 3A entspricht. Die x-, y- und z-Koordinaten sind die im vorherigen Schritt ermittelten globalen 3D-Koordinaten. Die gleichwinkligen Koordinaten werden auf die Panoramadimensionen normiert, um ein kombiniertes Panoramabild zu erhalten, bei dem sich die Bilddaten jeder Kamera teilweise mit den Bilddaten benachbarter Kameras räumlich überlappen. Die überlappenden Bilddaten in der konstruierten Panoramaprojektion werden als überlappende Bildfelder extrahiert und ein Ähnlichkeitsmaß wird durchgeführt, um den Grad der Bildähnlichkeit zu quantifizieren.
  • In einer Ausführungsform umfassen die Trainingsbilddaten 54 Trainingsbilddaten von (oder simuliert als ob von) Paaren benachbarter Kameras, die an einem Fahrzeug 12 montiert sind, wie in 1 gezeigt, wie z. B. ein vorderes und linkes Kamerapaar, ein vorderes und rechtes Kamerapaar, ein rechtes und hinteres Kamerapaar und ein linkes und hinteres Kamerapaar. Für die Trainingsbilddaten 54 von jedem Paar benachbarter Kameras wird eine Maske überlappender Regionen im Panorama erstellt, die auf sich schneidenden Regionen mit gültigen Daten in den beiden Kameras basiert, und ein strukturelles Ähnlichkeitsindexmaß (SSIM) SSIM (zum Beispiel) wird berechnet, um die Ähnlichkeit überlappender Bildfelder im konstruierten Panorama zu quantifizieren. Die SSIM-Funktion kann wie folgt definiert werden: SSIM ( B i l d f e l d 1, B i l d f e l d 2 ) = ( 2 μ B i l d f e l d 1 μ B i l d f e l d 2 + c 1 ) ( 2 σ B i l d f e l d 1 B i l d f e l d 2 + c 2 ) ( μ B i l d f e l d 1 2 + μ B i l d f e l d 2 2 + c 1 ) ( σ B i l d f e l d 1 2 + σ B i l d f e l d 2 2 + c 2 )
    Figure DE102021129544A1_0010
  • Gleichung 6 misst die Ähnlichkeit zwischen zwei überlappenden Bildfeldern, die aus dem konstruierten Panorama extrahiert wurden. µ_ ist der Mittelwert der Daten, o_ ist die Kovarianz und c_ sind Konstanten.
  • Unter Bezugnahme auf die 3 und 4 und unter fortgesetzter Bezugnahme auf die 1 und 2 veranschaulichen die Flussdiagramme die Verfahren 100, 200, die von dem Tiefenschätzungssystem 30 in der Inferenzphase von 1 und dem Tiefenschätzungssystem 50 in der Trainingsphase gemäß der vorliegenden Offenbarung durchgeführt werden können. Wie in Anbetracht der Offenbarung zu erkennen ist, ist die Reihenfolge der Abläufe innerhalb des Verfahrens nicht auf die sequentielle Ausführung, wie sie in den 3 und 4 dargestellt ist, beschränkt, sondern kann je nach Anwendbarkeit und in Übereinstimmung mit der vorliegenden Offenbarung in einer oder mehreren unterschiedlichen Reihenfolgen durchgeführt werden. In verschiedenen Ausführungsformen kann das Verfahren 200 von 5 so geplant werden, dass es auf der Grundlage eines oder mehrerer vorbestimmter Ereignisse abläuft, und/oder es kann während des Betriebs des Fahrzeugs 12 kontinuierlich ablaufen.
  • Das beispielhafte Verfahren 100 von 4 ist ein Verfahren zum Trainieren des neuronalen Netzes 18. Das Verfahren 10 kann durch den Prozessor 62 implementiert werden, der die Programmieranweisungen 66, wie in 2 dargestellt, ausführt. Das Verfahren 100 umfasst einen Schritt 110 zum Empfangen der Trainingsbilddaten 54. Die Trainingsbilddaten 54 stellen Bilddaten dar, die von mehreren an einem Fahrzeug montierten Kameras empfangen wurden, die eine Umgebungsansicht des Fahrzeugs liefern, wobei sich die Sichtfelder benachbarter Kameras teilweise überlappen. Die Trainingsbilddaten 54 können simuliert oder von einem in Betrieb befindlichen Fahrzeugsystem erhalten werden. Ferner werden die Grundwahrheitsdaten 58 empfangen, die Grundwahrheits-Tiefendaten und Grundwahrheits-Semantiksegmentierungsdaten umfassen. Die semantischen Grundwahrheits-Segmentierungsdaten können simuliert, aus menschlichen Beschriftungen oder künstlich erzeugten Beschriftungen gewonnen werden. Die Grundwahrheits-Tiefendaten können simuliert oder von Tiefensensoren abgeleitet werden, die mit dem betrieblichen Fahrzeugsystem verbunden sind und mit den Sichtfeldern der mehreren Kameras registriert werden.
  • In Schritt 130 wird aus jedem Bild der Trainingsbilddaten 54 ein Panoramabild erzeugt. Das Panoramabild kann auf verschiedene Weise erzeugt werden. In einer Ausführungsform wird das Panoramabild, wie oben beschrieben, durch Umwandlung des Bildes jeder Kamera in eine dreidimensionale Punktwolke in einem lokalen Koordinatensystem der Kamera unter Verwendung der vom neuronalen Netz 18 ausgegebenen Tiefendaten 20 erzeugt. Das dreidimensionale Bild oder die Punktwolke in dem lokalen Koordinatensystem wird in dreidimensionale Koordinaten in einem globalen Koordinatensystem transformiert, wobei extrinsische Parameter für die Kamera verwendet werden, die in den intrinsischen und extrinsischen Kameradaten 56 enthalten sind. Die 3D-Punktwolke im globalen Koordinatensystem wird in ein kombiniertes Panoramabild mit überlappenden Bildfeldern projiziert. In Schritt 140 werden die überlappenden Bildfelder aus dem Panoramabild extrahiert.
  • In Schritt 150 wird die Verlustfunktion 52 berechnet. Die Verlustfunktion 52 umfasst eine Vielzahl von Verlusttermen, wie oben beschrieben. In einer Ausführungsform umfassen die Verlustterme den Panorama-Verlustterm, in dem die Bildähnlichkeit der überlappenden Bildfelder aus Schritt 140 quantifiziert wird. Zu den Verlusttermen gehört die semantische Segmentierung, die eine Ähnlichkeit zwischen den vom neuronalen Netz ausgegebenen semantischen Segmentierungsdaten 22 und den semantischen Segmentierungsdaten der Grundwahrheit quantifiziert. Die Verlustterme können zusätzlich den Glättungsverlustterm enthalten, der die Glättung der Tiefendaten 20 in einer Weise quantifiziert, die variabel ist, so dass sie in Regionen, die nicht mit Kanten innerhalb des Bildes übereinstimmen, größeres Gewicht hat. Die Verlustterme können zusätzlich den Disparitätsverlustterm enthalten, der die Ähnlichkeit der vom neuronalen Netz 18 ausgegebenen Tiefendaten 20 mit den Tiefendaten der Grundwahrheit quantifiziert. Die verschiedenen Verlustterme werden in einer gewichteten Summe in der Verlustfunktion 52 kombiniert.
  • In Schritt 160 wird das neuronale Netz 18 so angepasst, dass es eine Bewertung der Verlustfunktion 52 optimiert und dadurch das neuronale Netz 18 trainiert. Der Optimierungsalgorithmus kann ein iterativer Prozess sein.
  • Unter Bezugnahme auf 5 wird ein Verfahren 200 zur Steuerung des Fahrzeugs 12 beschrieben. In Schritt 210 werden Bilder der jeweiligen Bilddaten 16 von den mehreren Kameras 14a bis 14d empfangen, die so angeordnet sind, dass sie eine Umgebungsansicht des Fahrzeugs 12 liefern. In Schritt 220 werden die Bilddaten 16, bei denen es sich um eine Verkettung der jeweiligen von jeder Kamera 14a bis 14d empfangenen Bilddaten handeln kann, durch das neuronale Netz 18 geleitet, das gemäß dem beispielhaften Verfahren 100 von 4 trainiert wurde. Das neuronale Netz 18 gibt Tiefendaten 20 und semantische Segmentierungsdaten 22 aus. In Schritt 230 wird eine Anwendung des Fahrzeugs 12 auf der Grundlage der Ausgaben des neuronalen Netzes 18 gesteuert. Die Tiefendaten 20 und die semantischen Segmentierungsdaten 22 sind nützlich für Anwendungen zur Hinderniserkennung, Lokalisierung und Verfolgung sowie zur automatischen Steuerung der Bewegung des Fahrzeugs 12, um Hindernisse zu vermeiden. Die Tiefendaten 20 können auch zum Zusammenfügen von Bildern der jeweiligen Kameras 14a bis 14d oder zur Bereitstellung von Umgebungsansichten oder Perspektivwechseln von Bildern der Kameras 14a bis 14d verwendet werden. Das resultierende Bild kann auf einem internen Bildschirm des Fahrzeugs 12 in einer Benutzerschnittstellen-Steueranwendung angezeigt werden.
  • Es wird deutlich, dass die offenbarten Verfahren, Systeme und Fahrzeuge von den in den Figuren dargestellten und hier beschriebenen abweichen können. So können beispielsweise das Fahrzeug 12, das Tiefenschätzungssystem 30 bei der Inferenz, das Tiefenschätzungssystem 50 beim Training 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 der Verfahren von den in den 4 und 5 dargestellten abweichen. Ebenso können bestimmte Schritte des oben beschriebenen Verfahrens gleichzeitig oder in einer anderen Reihenfolge als in den 4 und 5 dargestellt ablaufen.
  • Obwohl in der vorangegangenen detaillierten Beschreibung mindestens eine beispielhafte Ausführungsform vorgestellt wurde, sollte man sich darüber im Klaren sein, dass es eine Vielzahl von Varianten 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 einen praktischen Leitfaden für die Umsetzung der beispielhaften Ausführungsform oder der beispielhaften Ausführungsformen an die Hand geben. Es versteht sich von selbst, dass verschiedene Änderungen in der Funktion und Anordnung der Elemente vorgenommen werden können, ohne dass der Umfang der beigefügten Ansprüche und ihrer gesetzlichen Entsprechungen verlassen wird.

Claims (10)

  1. Ein Verfahren zur Steuerung eines Fahrzeugs, wobei das Verfahren umfasst: Empfangen, über mindestens einen Prozessor, von jeweiligen Bilddaten von mindestens zwei Kameras, wobei sich die Sichtfelder benachbarter Kameras der mindestens zwei Kameras teilweise überlappen und wobei die mindestens zwei Kameras am Fahrzeug angebracht sind; Verarbeiten der jeweiligen Bilddaten durch ein neuronales Netzwerk, wobei das neuronale Netzwerk trainiert wird, um Tiefendaten und semantische Segmentierungsdaten als Ausgaben bereitzustellen, und wobei das neuronale Netzwerk unter Verwendung einer Verlustfunktion trainiert wird, die eine Vielzahl von Verlusttermen kombiniert, einschließlich mindestens eines semantischen Segmentierungsverlustterms und eines Panoramaverlustterms, wobei der Panoramaverlustterm ein Ähnlichkeitsmaß in Bezug auf überlappende Bereiche der jeweiligen Bilddaten enthält, die jeweils einem Bereich überlappender Sichtfelder der benachbarten Kameras entsprechen; Steuern, über den mindestens einen Prozessor, einer Funktion des Fahrzeugs auf der Grundlage der Tiefendaten.
  2. Verfahren nach Anspruch 1, wobei mindestens vier Kameras am Fahrzeug angebracht sind, die eine Rundumsicht auf das Fahrzeug bieten.
  3. Verfahren nach Anspruch 1, wobei die Vielzahl von Verlusttermen einen Disparitätsverlustterm enthält, wobei Disparität der Kehrwert der Tiefe ist.
  4. Verfahren nach Anspruch 1, wobei die Vielzahl von Verlusttermen einen Disparitätsglättungs-Verlustterm enthält, wobei die Disparität der Kehrwert der Tiefe ist.
  5. Verfahren nach Anspruch 4, wobei der Verlustterm der Disparitätsglättung variabel ist, so dass er an den Bildkanten niedriger ist.
  6. Verfahren nach Anspruch 1, umfassend das Steuern der Funktion des Fahrzeugs über den mindestens einen Prozessor auf der Grundlage der Tiefendaten und der semantischen Segmentierungsdaten.
  7. Verfahren nach Anspruch 1, umfassend das Durchführen einer Hinderniserkennung und -vermeidung auf der Grundlage der Tiefendaten und der semantischen Segmentierungsdaten und das Steuern von mindestens einer der Komponenten Lenkung, Bremsen und Antrieb des Fahrzeugs auf der Grundlage der Ausgabe der Hinderniserkennung und -vermeidung.
  8. Verfahren zum Trainieren eines neuronalen Netzes und zur Verwendung des trainierten neuronalen Netzes zur Steuerung eines Fahrzeugs, wobei das Verfahren umfasst: Empfangen, über mindestens einen Prozessor, von jeweiligen Trainingsbilddaten, die Bilddaten darstellen, die von mindestens zwei Kameras empfangen wurden, wobei sich die Sichtfelder benachbarter Kameras der mindestens zwei Kameras teilweise überlappen; Verarbeiten der jeweiligen Trainingsbilddaten durch ein neuronales Netz, das Tiefendaten und semantische Segmentierungsdaten als Ausgaben liefert; Empfangen, über den mindestens einen Prozessor, von Grundwahrheitsdaten, einschließlich Grundwahrheitsdaten für die semantische Segmentierung,; Trainieren, über den mindestens einen Prozessor, des neuronalen Netzes auf der Grundlage einer Verlustfunktion, wobei die Verlustfunktion eine Vielzahl von Verlusttermen kombiniert, einschließlich mindestens eines semantischen Segmentierungsverlustterms und eines Panoramaverlustterms; wobei der Panorama-Verlustterm ein Ähnlichkeitsmaß bezüglich sich überlappender Bildfelder der jeweiligen Trainingsbilddaten enthält, die jeweils einem Bereich sich überlappender Sichtfelder der benachbarten Kameras entsprechen; und wobei der semantische Segmentierungsverlustterm eine Differenz zwischen den semantischen Segmentierungsdaten der Grundwahrheit und den semantischen Segmentierungsdaten, die von dem neuronalen Netz ausgegeben werden, quantifiziert; Verwenden des trainierten neuronalen Netzes zur Verarbeitung von Bilddaten, die von mindestens zwei am Fahrzeug montierten Fahrzeugkameras empfangen werden, wobei sich die Sichtfelder benachbarter Fahrzeugkameras der mindestens zwei Fahrzeugkameras teilweise überlappen, wodurch Live-Tiefendaten und Live-Semantiksegmentierungsdaten als Ausgaben bereitgestellt werden; Steuern, über den mindestens einen Prozessor, einer Funktion des Fahrzeugs auf der Grundlage der Live-Tiefendaten.
  9. Verfahren nach Anspruch 8, wobei mindestens vier Fahrzeugkameras am Fahrzeug angebracht sind, die eine Rundumsicht auf das Fahrzeug bieten.
  10. Verfahren nach Anspruch 8, wobei die Vielzahl von Verlusttermen einen Disparitätsverlustterm enthält, wobei Disparität der Kehrwert der Tiefe ist, wobei die Grundwahrheitsdaten Grundwahrheitsdisparitätsdaten enthalten und wobei der Disparitätsverlustterm eine Differenz zwischen den Grundwahrheitsdisparitätsdaten und den Disparitätsdaten quantifiziert, die aus den vom neuronalen Netz ausgegebenen Tiefendaten abgeleitet werden.
DE102021129544.0A 2021-03-11 2021-11-12 Systeme und verfahren zur tiefenabschätzung in einem fahrzeug Pending DE102021129544A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/198,954 US20220292289A1 (en) 2021-03-11 2021-03-11 Systems and methods for depth estimation in a vehicle
US17/198,954 2021-03-11

Publications (1)

Publication Number Publication Date
DE102021129544A1 true DE102021129544A1 (de) 2022-09-15

Family

ID=83005146

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021129544.0A Pending DE102021129544A1 (de) 2021-03-11 2021-11-12 Systeme und verfahren zur tiefenabschätzung in einem fahrzeug

Country Status (3)

Country Link
US (1) US20220292289A1 (de)
CN (1) CN115082874A (de)
DE (1) DE102021129544A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117744196A (zh) * 2020-10-13 2024-03-22 弗莱瑞尔公司 通过自动分析传感器数据生成物理结构和环境的测量结果
US11885638B2 (en) * 2020-12-28 2024-01-30 Bear Robotics, Inc. Method, system, and non-transitory computer-readable recording medium for generating a map for a robot

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11024037B2 (en) * 2018-11-15 2021-06-01 Samsung Electronics Co., Ltd. Foreground-background-aware atrous multiscale network for disparity estimation
DE112020002697T5 (de) * 2019-05-30 2022-03-17 Mobileye Vision Technologies Ltd. Modellerstellung einer fahrzeugumgebung mit kameras
US11176709B2 (en) * 2019-10-17 2021-11-16 Toyota Research Institute, Inc. Systems and methods for self-supervised scale-aware training of a model for monocular depth estimation

Also Published As

Publication number Publication date
CN115082874A (zh) 2022-09-20
US20220292289A1 (en) 2022-09-15

Similar Documents

Publication Publication Date Title
DE112018000899T5 (de) Gemeinsame 3D-Objekterfassung und Ausrichtungsabschätzung über multimodale Fusion
DE102020113280A1 (de) Automatische erzeugung von grundwahrheitsdaten zum trainieren oder umzutrainieren eines oder mehrerer modelle für maschinelles lernen
DE102019133703A1 (de) Verfahren und systeme zur herstellung und lokalisierung für ein fahrzeug
DE102020113848A1 (de) Ekzentrizitätsbildfusion
DE102021129544A1 (de) Systeme und verfahren zur tiefenabschätzung in einem fahrzeug
DE102018120405A1 (de) Fusion von radar- und bildsensorsystemen
DE102021108470A1 (de) Realistische bildperspektiventransformation unter verwendung neuronaler netze
DE102021103370A1 (de) Objekterkennung mittels low-level-kamera-radar-fusion
DE102021112616A1 (de) Selbstüberwachte schätzung einer beobachteten fahrzeugpose
DE112022001546T5 (de) Systeme und Verfahren zur Erzeugung von Objekterkennungs-Labels unter Verwendung fovealer Bildvergrößerung für autonomes Fahren
DE102020128978A1 (de) Trainieren von tiefen neuronalen netzwerken mit synthetischen bildern
DE102020100230A1 (de) Rekonstruktion von landmarkenpositionen in autonomen maschinenanwendungen
DE102018119467B4 (de) Verfahren zum durchführen eines autonomen betriebs eines fahrzeugs durch tiefes räumlich-zeitliches lernen
DE102022200743A1 (de) Systeme und Verfahren zur Bestimmung eines befahrbaren Raums
DE112020006935T5 (de) Verfahren und gerät zur parkplatzerkennung sowie vorrichtung und speichermedium
DE102020106673A1 (de) Verfahren und systeme zur erzeugung von radarkarten
DE102022117260A1 (de) Fahrzeug mit vollgeschwindigkeitsbestimmung mit radar
DE102021111977A1 (de) Dreidimensionale verkehrszeichenerkennung
DE102022129247A1 (de) Neubeleuchtung von Bildern mit Einzelperspektive
DE102022105267A1 (de) Kombination von Kamerainformationen, die durch wenigstens ein Kamerabild gegeben sind, und weiteren Informationen, die durch Umfeldsensordaten gegeben sind
DE102023200930B4 (de) Objektposition-erkennungsvorrichtung
DE102022212374A1 (de) Computerimplementiertes Verfahren zum Erkennen von Objekten
DE102021213756B3 (de) Verfahren zum Fusionieren von Sensordaten im Kontext eines künstlichen neuronalen Netzwerks
DE102022213414A1 (de) Fahrzeug, elektronische vorrichtung und steuerungsverfahren dafür
DE102020215639A1 (de) Verfahren zum Erzeugen eines Erkennungsmodells zum Erkennen von Merkmalen in Kamerabilddaten und Verfahren zum Erkennen von Merkmalen in Kamerabilddaten

Legal Events

Date Code Title Description
R012 Request for examination validly filed