DE112022001546T5 - Systeme und Verfahren zur Erzeugung von Objekterkennungs-Labels unter Verwendung fovealer Bildvergrößerung für autonomes Fahren - Google Patents

Systeme und Verfahren zur Erzeugung von Objekterkennungs-Labels unter Verwendung fovealer Bildvergrößerung für autonomes Fahren Download PDF

Info

Publication number
DE112022001546T5
DE112022001546T5 DE112022001546.2T DE112022001546T DE112022001546T5 DE 112022001546 T5 DE112022001546 T5 DE 112022001546T5 DE 112022001546 T DE112022001546 T DE 112022001546T DE 112022001546 T5 DE112022001546 T5 DE 112022001546T5
Authority
DE
Germany
Prior art keywords
image
warp
resolution
saliency
processor
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
DE112022001546.2T
Other languages
English (en)
Inventor
Nicholas Cerbon
Deva Ramanan
Mengtian Li
Chitteshwaran Thavamani
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ford Global Technologies LLC
Original Assignee
Ford Global Technologies LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ford Global Technologies LLC filed Critical Ford Global Technologies LLC
Publication of DE112022001546T5 publication Critical patent/DE112022001546T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • G06T3/18
    • G06T3/053
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4007Interpolation-based scaling, e.g. bilinear interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4046Scaling the whole image or part thereof using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Image Analysis (AREA)

Abstract

Offenbart werden Systeme und Verfahren zur Verarbeitung hochauflösender Bilder. Zu den Methoden gehört das Erzeugen einer Salienzkarte eines empfangenen hochauflösenden Bildes unter Verwendung eines Salienzmodells. Die Salienzkarte enthält einen Salienzwert, der jedem einer Vielzahl von Pixeln des hochauflösenden Bildes zugeordnet ist. Das Verfahren umfasst dann die Verwendung der Salienzkarte zum Erzeugen einer inversen Transformationsfunktion, die eine inverse Abbildung einer oder mehrerer erster Pixelkoordinaten in einem warptransformierten Bild auf eine oder mehrere zweite Pixelkoordinaten im hochauflösenden Bild darstellt, und die Implementierung einer Bild-Warptransformation zum Konvertieren des hochauflösenden Bildes in das warptransformierte Bild mithilfe der Umkehrtransformationsfunktion. Das warptransformierte Bild stellt ein foveiertes Bild dar, das mindestens einen Bereich mit einer höheren Auflösung als einen oder mehrere andere Bereiche des warptransformierten Bildes enthält.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Diese Anmeldung beansprucht die Priorität der provisorischen US-Patentanmeldung Nr. 63/161.895 , eingereicht am 16. März 2021, sowie der US-Patentanmeldung Nr. 17/652.348 , eingereicht am 24. Februar 2022, deren Offenbarungen in ihrer Gesamtheit durch Bezugnahme hierin aufgenommen werden sollen.
  • HINTERGRUND
  • Damit ein mobiler Roboter autonom agieren kann, sollte er in der Lage sein, Objekte wahrzunehmen, zu lokalisieren und möglicherweise ihnen auszuweichen, während er sich in seiner Umgebung bewegt. Beispielsweise kann ein Roboter Bilder seiner Umgebung aufnehmen, diese verarbeiten, um Objekte zu identifizieren und zu lokalisieren, und dann einen Weg um die in den Bildern identifizierten Objekte herum planen. Daher ist die effiziente Verarbeitung hochauflösender Videostreams oder Bilder für viele Robotikanwendungen - wie das autonome Fahren - von besonderer Bedeutung. Ein Roboter - wie ein autonomes Fahrzeug - kann über mehrere hochauflösende Kameras verfügen, um beispielsweise Bilddaten zur Objekterkennung und -verfolgung zu erfassen. Solche autonomen Fahrzeuge können auch andere Sensoren wie RADAR oder LIDAR nutzen, um zusätzliche Daten über die Umgebung zu erfassen. Allerdings stellt ein solcher „Oversensing“-Aufbau besondere Herausforderungen für visionsbasierte Algorithmen dar (z.B. zur Objekterkennung), da visuelle Sensoren ständig Datenströme erzeugen und es für visionsbasierte Algorithmen wichtig ist, die Daten zu konsumieren und den Zustand der Welt rechtzeitig zurückzumelden. Dies wird noch verschärft, wenn visionsbasierte Algorithmen zur Verarbeitung von Videostreams (d.h. einer kontinuierlichen Bildserie) verwendet werden.
  • Während es zahlreiche Techniken gibt, um visionsbasierte Algorithmen schnell laufen zu lassen, wie etwa Quantisierung, Modellkomprimierung und Inferenzoptimierung, ist Bild-Downsampling immer noch einer der gängigsten Ansätze, um die Latenzbeschränkung zu erfüllen. Dieser naive Ansatz schränkt jedoch die Fähigkeit eines Objekterkennungsalgorithmus, kleine Objekte zu identifizieren, erheblich ein, da durch das Downsampling von Bildern der Vorteil der hohen Pixeldichte von Bildsensoren zunichte gemacht wird. Einige andere Methoden nutzen zeitliche Informationen, um die Häufigkeit zu reduzieren, mit der ein visionsbasierter Algorithmus aufgerufen wird. Solche Methoden funktionieren gut bei einem einfachen Datensatz und sind typischerweise für die Offline-Bildverarbeitung konzipiert, eignen sich jedoch nicht für autonome Fahrzeugszenarien, bei denen in fast jedem Bild mehrere neue Objekte auftauchen können.
  • In diesem Dokument werden Methoden und Systeme beschrieben, die auf die Lösung der oben beschriebenen Probleme und/oder anderer Probleme abzielen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Offenbarung umfasst die Implementierung von Systemen und Methoden zur Verarbeitung eines hochauflösenden Bildes (z.B. eines von einem Fahrzeug empfangenen Bildes). Die Methoden können das Empfangen eines hochauflösenden Bildes und das Erzeugen einer Salienzkarte oder Auffälligkeitskarte des empfangenen Bildes unter Verwendung eines Salienz- oder Auffälligkeitsmodells umfassen. Die Salienzkarte kann einen Salienzwert enthalten, der jedem einer Vielzahl von Pixeln des hochauflösenden Bildes zugeordnet ist. Zu den Verfahren gehört auch die Verwendung der Salienzkarte zum Erzeugen einer Umkehr- oder inversen Transformationsfunktion, die eine inverse Abbildung einer oder mehrerer erster Pixelkoordinaten in einem warptransformierten Bild auf eine oder mehrere zweite Pixelkoordinaten im hochauflösenden Bild darstellt, und die Implementierung eines Bildwarptransformation zum Konvertieren des hochauflösenden Bilds in das warptransformierte Bild mithilfe der Umkehrtransformationsfunktion. Optional kann das warptransformierte Bild ein „foveiertes“ Bild sein, das mindestens einen Bereich mit einer höheren Auflösung als einen oder mehrere andere Bereiche des warptransformierten Bildes enthält. Das warptransformierte Bild kann in einem Datenspeicher gespeichert werden.
  • In verschiedenen Implementierungen können die Methoden auch das Erzeugen einer oder mehrerer Begrenzungsrahmen- oder Bounding-Box-Vorhersagen in einem Referenzrahmen des warptransformierten Bildes umfassen (z.B. unter Verwendung des warptransformierten Bildes). Koordinaten der einen oder mehreren Begrenzungsrahmenvorhersagen im warptransformierten Bild können unter Verwendung der Umkehrtransformationsfunktion in zweite Koordinaten der einen oder mehreren Begrenzungsrahmenvorhersagen in einem Referenzrahmen des hochauflösenden Bilds transformiert werden. Optional können die zweiten Koordinaten der einen oder mehreren Bounding-Box-Vorhersagen zur Steuerung der Navigation eines autonomen Fahrzeugs verwendet werden.
  • In einem oder mehreren Szenarios können die Methoden das Generieren des Salienzmodells auf der Grundlage einer oder mehrerer Begrenzungsrahmen- oder Bounding-Box-Vorhersagen in mindestens einem vorherigen Frame eines Videostreams umfassen, der das hochauflösende Bild enthält und in dem das hochauflösende Bild im Anschluss an den mindestens einen vorherigen Frame erfasst wird. Zusätzlich und/oder alternativ kann das Salienzmodell auf der Grundlage einer oder mehrerer Bounding-Box-Vorhersagen anhand von datensatzweiten vorherigen Bildern („Priors“) generiert werden, die in einem Trainingsdatensatz enthalten sind.
  • In verschiedenen Implementierungen besteht eine hohe Wahrscheinlichkeit, dass der mindestens eine Bereich mit der höheren Auflösung im warptransformierten Bild ein interessierendes Objekt enthält. Optional kann eine Auflösung des einen oder der mehreren anderen Bereiche des warptransformierten Bildes reduziert werden.
  • In einigen Implementierungen kann die Bild-Warptransformation zum Konvertieren des hochauflösenden Bilds in das warptransformierte Bild mithilfe der Umkehrtransformationsfunktion implementiert werden, indem für jedes einer Vielzahl von Pixeln des warptransformierten Bilds ein Eingabepixel im hochauflösenden Bild gefunden wird und ein bilineares Interpolieren der Intensität oder der Farbe dieses Pixels aus einem oder mehreren Pixeln im hochauflösenden Bild neben dem Eingabepixel erfolgt.
  • Optional kann die inverse Transformationsfunktion eine differenzierbare Funktion sein, die mithilfe von Backpropagation trainiert wird.
  • Zusätzlich und/oder alternativ können für eine Beschneidungs- oder Cropping-Regularisierung des warptransformierten Bildes Symmetrien um jede der mehreren Kanten der Salienzkarte eingeführt werden.
  • Die implementierenden Systeme können umfassen: einen Prozessor; und ein nichtflüchtiges computerlesbares Speichermedium, das Programmieranweisungen umfasst, die so konfiguriert sind, dass sie den Prozessor veranlassen, ein Verfahren zum Betreiben eines automatisierten Systems zu implementieren. Zusätzlich und/oder alternativ können das nichtflüchtige computerlesbare Speichermedium und die Programmieranweisungen in einem Computerprogrammprodukt enthalten sein.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
    • 1 veranschaulicht einen beispielhaften allgemeinen Überblick über ein autonomes Fahrzeugsystem.
    • 2 veranschaulicht ein beispielhaftes Verfahren zum Generieren von Bounding-Box-Vorhersagen unter Verwendung eines foveierten, warptransformierten Bildes.
    • 3 veranschaulicht eine beispielhafte Salienzkarte, die mit den Verfahren gemäß dieser Offenbarung erstellt wurde.
    • 4 zeigt ein Beispiel für ein warptransformiertes Bild, das mit den Verfahren gemäß dieser Offenbarung erzeugt wurde.
    • 5 veranschaulicht eine beispielhafte Transformation von Bounding-Box-Vorhersagen von einem warptransformierten Bildraum in einen ursprünglichen Bildraum.
    • Die 6 und 7 stellen Blockdiagramme bereit, die hilfreich sind, um zu verstehen, wie ein Robotersystem (z.B. ein autonomes Fahrzeug) gemäß der vorliegenden Lösung gesteuert wird.
    • 7 veranschaulicht beispielhafte Systeme und Komponenten eines autonomen Fahrzeugs.
    • 8 ist ein Blockdiagramm, das verschiedene Elemente eines möglichen elektronischen Subsystems eines autonomen Fahrzeugs und/oder eines externen elektronischen Geräts veranschaulicht.
  • DETAILLIERTE BESCHREIBUNG
  • Ein herkömmlicher Roboter nimmt seine Umgebung nicht wie ein Mensch wahr. Beispielsweise kann ein Roboter seine Umgebung „sehen“, indem er Bilder der gesamten oder eines Teils seiner Umgebung mit einer einheitlichen Auflösung aufnimmt und jedes Pixel in den Bildern auf Objekterkennung untersucht. Dieser Vorgang kann zu viel Zeit und Energie in Anspruch nehmen, um zur Identifizierung von Objekten, die sich relativ zum Roboter bewegen, verwendbar zu sein. Darüber hinaus verbringt der Roboter möglicherweise übermäßig viel Zeit mit der Verarbeitung leerer oder irrelevanter Pixel.
  • Während beispielsweise, wie bereits erwähnt, die große Anzahl visueller Sensoren in einem autonomen Fahrzeug ein weites Sichtfeld gewährleistet und der Multimodalitätsansatz ergänzende Sensorfähigkeiten bietet, bedeutet ein derartiges „Oversensing“-Setup auch besondere Herausforderungen (z.B. erhöhte Latenz, erhöhte Verarbeitungsleistung usw.) für visionsbasierte Algorithmen wie die Objekterkennung. Auch wenn die Light-Detection-And-Ranging-(LiDAR)-Erkennung von Objekten in drei Dimensionen (3D) grundsätzlich zuverlässig ist, kann aufgrund der geringen Strahldichte die Performance bei der Erkennung weit entfernter Objekte, dem Ermitteln der genauen Ausdehnung von Objektgrenzen oder der Durchführung feinkörniger Semantik eingeschränkt sein. Hochauflösende Bildsensoren können aufgrund ihrer hohen Pixeldichte und der reichhaltigen Informationen im Farbraum Abhilfe schaffen. Wenn dabei ein globales Bild-Downsampling verwendet wird, um Latenzbeschränkungen bei der Bildverarbeitung Rechnung zu tragen, eliminiert dies allerdings den Vorteil der hohen Pixeldichte von Bildsensoren wieder. In diesem Dokument werden Verbesserungen bei der Bildverarbeitung beschrieben, die die hohe Bilddichte bewahren, die für visionsbasierte Algorithmen autonomer Fahrzeuge (z.B. zur Objekterkennung) erforderlich ist, und gleichzeitig die Bildverarbeitungslatenz, den Rechenaufwand und die Anforderungen an die Speicherkapazität reduzieren.
  • Die Systeme und Methoden dieser Offenbarung nutzen einen adaptiven Aufmerksamkeitsverarbeitungsansatz, um ein foveiertes warptransformiertes Bild zu erzeugen, das bestimmte Regionen elastisch vergrößert, die eine hohe Auflösung für interessierende Objekte beibehalten und gleichzeitig eine kleine Eingabeleinwandfläche beibehalten. Das resultierende „foveierte Bild“ hat eine Auflösung, die räumlich über jedes Bild hinweg variiert, wobei die höchste Auflösung in den vergrößerten oder foveierten Bereichen und an anderen Stellen eine gröbere Auflösung vorliegt. Solche vergrößerten Bereiche können die interessierenden Objekte umfassen. Dieser Ansatz, Bilder mit einer Auflösung zu erhalten, die bei jedem Bild räumlich variiert, wird vorliegend als „Foveation“ bezeichnet.
  • Die Eingabebilder werden unter Verwendung der Methoden dieser Offenbarung heruntergesampelt und warptransformiert, so dass hervorstechende oder auffällige Bereiche im warptransformierten Bild eine höhere Auflösung haben. Bei den vergrößerten Regionen handelt es sich um solche, von denen man annimmt, dass sie mit hoher Wahrscheinlichkeit ein Objekt enthalten, und deren Signal aus sog. datensatzweiten oder Frame-Level-Priors (Bounding-Box-Vorhersagen - d.h. vorhergesagten Objektpositionen - in vorherigen Frames) stammen kann. Dies liegt daran, dass in Objekterkennungsdatensätzen interessierende Objekte normalerweise nur einen Teil eines Bildes abdecken. Eine solche regionale Vergrößerung ermöglicht es Algorithmen, ein hochauflösendes Eingabebild besser für die Objekterkennung zu nutzen, ohne dass die Kosten für die Verarbeitung solcher hochauflösender Eingabebilder anfallen. Darüber hinaus beschreibt die vorliegende Offenbarung - im Gegensatz zu bekannten Downsampling-Methoden, bei denen die Verarbeitung der Bilder im warptransformierten Raum Begrenzungsrahmenausgaben im warptransformierten Raum erzeugt - die Ausgabe von Begrenzungsrahmen-Vorhersagelabels, die unter Verwendung des warptransformierten Bildes im ursprünglichen, nicht-warptransformierten Bildraum generiert wurden.
  • Die Verfahren dieser Offenbarung können beispielsweise zur Objekterkennung in Bildern, zur Verbesserung der Streaming-Leistung (zur Auswertung der Ausgabe eines Wahrnehmungsalgorithmus zu allen Zeitpunkten) oder dergleichen zur Steuerung der Navigation eines autonomen Fahrzeugs verwendet werden.
  • Bevor die Details der Verfahren zur Bild-Warptransformation und zur Bounding-Box-Vorhersage beschrieben werden, ist es sinnvoll, einige Hintergrundinformationen zu autonomen Fahrzeugsystemen (autonomen Fahrzeugsystemen) bereitzustellen. 1 zeigt einen allgemeinen Überblick über autonome Fahrzeugsubsysteme, die für die folgende Diskussion relevant sein könnten. Spezifische Komponenten innerhalb solcher Systeme werden in der Diskussion zu 8 weiter unten in diesem Dokument beschrieben. Bestimmte Komponenten der Subsysteme können in Prozessorhardware und computerlesbaren Programmieranweisungen verkörpert sein, die Teil des Bordcomputersystems 101 des autonomen Fahrzeugs sind.
  • Die Subsysteme können ein Wahrnehmungssystem 102 umfassen, das Sensoren umfasst, die Informationen über sich bewegende Akteure und andere Objekte erfassen, die sich in der unmittelbaren Umgebung des Fahrzeugs befinden. Beispiele für Sensoren sind Kameras, LiDAR-Sensoren und Radarsensoren. Die von solchen Sensoren erfassten Daten (z.B. digitale Bilder, Videos, einschließlich Bildserien, LiDAR-Punktwolkendaten oder Radardaten) werden als Wahrnehmungsdaten bezeichnet. Das Wahrnehmungssystem kann einen oder mehrere Prozessoren und einen computerlesbaren Speicher mit Programmieranweisungen und/oder trainierten Modellen der künstlichen Intelligenz umfassen, die während einer Fahrt des autonomen Fahrzeugs die Wahrnehmungsdaten verarbeiten, um Objekte zu identifizieren und Kategorie-Labels und eindeutige Identifikatoren zu jedem in einer Szene erkannten Objekt zuzuweisen. Während des Einsatzes des autonomen Fahrzeugs empfängt das autonome Fahrzeug Wahrnehmungsdaten von einem oder mehreren Sensoren des Wahrnehmungssystems des autonomen Fahrzeugs. Die Wahrnehmungsdaten können Daten umfassen, die für ein oder mehrere Objekte in der Umgebung repräsentativ sind. Kategorie-Labels können Kategorien wie Fahrzeug, Zweiradfahrer, Fußgänger, Gebäude od. dgl. umfassen. Methoden zum Identifizieren von Objekten und zum Zuweisen von Kategorie-Labels zu Objekten sind in der Technik wohlbekannt, und es kann jeder geeignete Klassifizierungsprozess verwendet werden, beispielsweise solche, die Bounding-Box-Vorhersagen für erkannte Objekte in einer Szene erstellen und Faltungs-Neuronale Netzwerke oder andere Computer-Visions-Modelle verwenden. Einige dieser Prozesse werden in Yurtsever et al., „A Survey of Autonomous Driving: Common Practices and Emerging Technologies“ (veröffentlicht in IEEE Access, April 2020) beschrieben.
  • Das Wahrnehmungssystem 102 des Fahrzeugs kann Wahrnehmungsdaten an das Prognosesystem 103 des Fahrzeugs liefern. Das Prognosesystem (das auch als Vorhersagesystem bezeichnet werden kann) umfasst Prozessoren und computerlesbare Programmieranweisungen, die konfiguriert sind, um vom Wahrnehmungssystem empfangene Daten zu verarbeiten und Aktionen anderer Akteure vorherzusagen, die das Wahrnehmungssystem erkennt.
  • Das Wahrnehmungssystem des Fahrzeugs sowie das Prognosesystem des Fahrzeugs liefern Daten und Informationen an das Bewegungsplanungssystem 104 und das Steuerungssystem 105 des Fahrzeugs, sodass die empfangenden Systeme diese Daten bewerten und eine beliebige Anzahl reaktiver Bewegungen auf diese Daten einleiten können. Das Bewegungsplanungssystem 104 und das Steuerungssystem 105 umfassen und/oder teilen einen oder mehrere Prozessoren und computerlesbare Programmieranweisungen, die dazu konfiguriert sind, von den anderen Systemen empfangene Daten zu verarbeiten, eine Trajektorie für das Fahrzeug zu bestimmen und Befehle an die Fahrzeughardware auszugeben, um das Fahrzeug entsprechend der ermittelten Trajektorie zu bewegen. Zu den Aktionen, die solche Befehle auslösen können, gehören beispielsweise die Aktivierung des Bremssteuerungssystems des Fahrzeugs, die Aktuierung des Beschleunigungssteuerungssubsystems des Fahrzeugs, um die Geschwindigkeit des Fahrzeugs zu erhöhen oder das Veranlassen des Lenksteuerungssubsystem des Fahrzeugs, das Fahrzeug in eine Kurve zu führen. Verschiedene Bewegungsplanungstechniken sind wohlbekannt, beispielsweise wie in Gonzalez et al., „A Review of Motion Planning Techniques for Automated Vehicles“, veröffentlicht in IEEE Transactions on Intelligent Transportation Systems, Bd. 17, Nr. 4 (April 2016) beschrieben.
  • Bei nicht autonomen Fahrzeugausführungen, etwa bei Fahrzeugen, die von menschlichen Bedienern gefahren werden, kann das Bewegungsplanungssystem 104 in Prozessorhardware und computerlesbarer Hardware verkörpert sein, die Teil elektronischer Geräte sind, die im Fahrzeug enthalten sind, wie z.B. ein Dashboard-Navigationssystem oder ein mobiles elektronisches Gerät des Betreibers. In solchen Situationen kann das elektronische Gerät die vom Bewegungsplanungssystem geplanten Trajektorien über ein Display, einen Audiolautsprecher oder beides ausgeben. Darüber hinaus können einige Teile des Wahrnehmungssystems 102 einen Transceiver eines elektronischen Geräts umfassen, das bestimmte Wahrnehmungsdaten (z.B. Wetterdaten) von einem Remote-Server über drahtlose Kommunikation empfängt.
  • Das Bordcomputersystem 101 des Fahrzeugs kann mit einem Remote-Server 106 kommunizieren. Der Remote-Server 106 ist ein externes elektronisches Gerät, das mit dem Bordcomputersystem 101 des Fahrzeugs kommuniziert, entweder über eine drahtlose Verbindung, während das Fahrzeug fährt, oder über eine drahtgebundene oder drahtlose Verbindung, während das Fahrzeug in einer Docking- oder Serviceeinrichtung geparkt ist. Der Remote-Server 106 kann Daten empfangen, die das Fahrzeug während seiner Fahrt gesammelt hat, wie etwa Wahrnehmungsdaten oder Betriebsdaten. Der Remote-Server 106 kann auch Daten oder andere Informationen an das Fahrzeug übertragen, wie etwa Software-Updates, hochauflösende (HD) Kartenaktualisierungen, Modellaktualisierungen für maschinelles Lernen und andere Informationen.
  • Nun bezugnehmend auf FIG. In 2 wird ein Flussdiagramm offenbart, das ein Beispielverfahren zum Erzeugen eines foveierten warptransformierten Bildes und zum Erzeugen von Bounding-Box-Vorhersagen unter Verwendung des foveierten warptransformierten Bildes veranschaulicht. Wie aus der Offenbarung hervorgeht, ist die Reihenfolge der Operationen innerhalb des Verfahrens nicht auf die in der Abbildung dargestellte sequentielle Ausführung 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 die Ausführung des Verfahrens auf der Grundlage eines oder mehrerer vorgegebener Ereignisse geplant werden und/oder kann kontinuierlich während des Betriebs eines autonomen Fahrzeugs ausgeführt werden.
  • Bei 202 kann das System Bilddaten empfangen, die ein Bild von einem Sensor (z.B. einer Kamera), einem Datenspeicher und/oder einer anderen Komponente des Systems 100 beschreiben. Beispielsweise können die Bilder durch monokulare Kameras (z.B. Kameras) oder dergleichen erfasst werden. In einigen Beispielen umfasst ein Bild drei übereinanderliegende Informationsschichten (oder Kanäle) - eine Rotschicht (R), eine Grünschicht (G) und eine Blauschicht (B). Dieses Bild kann auch als RGB-Bild bezeichnet werden. In anderen Beispielen kann ein Bild ein Graustufenbild, ein Infrarotbild, ein Ultraviolettbild oder jede andere Art von Bild sein. Die Bilder können in einem Datenspeicher lokal und/oder entfernt von der mobilen Plattform (z.B. in dem Remote-Server 106 aus 1) gespeichert werden. Das Bild kann eine Auflösung und/oder Größe haben, die reduziert (d.h. heruntergerechnet) werden muss, bevor es als Eingabe für Bildverarbeitungsalgorithmen oder maschinelle Lernmodelle - wie Objekterkennungsmodelle - verwendet werden kann.
  • Bei 204 kann das System eine Salienzkarte entsprechend dem empfangenen Bild generieren. Eine Salienzkarte weist jedem Pixel in einem Bild ungleichmäßig einen Salienzwert zu. Ein Salienzwert eines Pixels definiert die Wichtigkeit und/oder Auffälligkeit des Pixels im Bild (d.h. eine Salienzkarte quantifiziert die Wichtigkeit auf Pixelebene). Mit anderen Worten: Eine Salienzkarte ist eine topografische Darstellung einzigartiger oder auffälliger Merkmale eines Bildes. Der Wertebereich der Salienzwerte kann beispielsweise [0,1] (oder jeder andere numerische Wert) sein, wobei höhere Werte auf eine höhere Pixelbedeutung und/oder Erkennbarkeit innerhalb des Bildes hinweisen können (oder umgekehrt). Der Salienzwert kann optional als Hinweis auf das Potenzial für ein Interesse an einem Einschluss in Bereiche mit höherer Auflösung für die der Bildfoveation herangezogen werden. Insbesondere kann eine Salienzkarte verwendet werden, um potenziell höher aufgelöste Pixel (höherer Salienzwert) von Pixeln mit niedrigerer Auflösung oder heruntergesampelten Pixeln (geringerer Salienzwert) während der Erstellung eines warptransformierten Bildes zu unterscheiden. Der Salienzwert kann den Bildpixeln beispielsweise basierend auf einer objektbasierten Salienz, einer aufmerksamkeitsbasierten Salienz oder dergleichen zugewiesen werden.
  • Bei der aufmerksamkeitsbasierten Salienz werden Bereiche in einem Bild hervorgehoben, die eine typische Person wahrscheinlich ansieht. Beispielsweise verarbeitet ein Mensch die Details eines gesamten Bildes normalerweise nicht Pixel für Pixel. Stattdessen erfasst das menschliche Auge Bilder mit ungleichmäßiger Auflösung: Der zentrale Teil der Netzhaut, der dicht mit lichtempfindlichen Zapfen gefüllt ist, erfasst den zentralen Teil jedes Bildes mit relativ hoher Auflösung. Und der periphere Teil der Netzhaut, der in geringerer Dichte mit lichtempfindlichen Stäbchen und Zapfen bedeckt ist, erfasst den peripheren Teil jedes Bildes mit einer gröberen Auflösung. Um die räumliche Variation der Bildauflösung zu berücksichtigen, bewegt ein Mensch seine Augen schnell zwischen verschiedenen Punkten in seinem Sichtfeld und fixiert bestimmte Objekte oder Bereiche stärker als den Rest des Bildes. Beispielsweise kann ein Mensch für relativ lange Zeiträume auf Punkte an oder in der Nähe eines interessanten Teils einer Szene (z.B. ein Gesicht, einen Menschen, ein Fahrzeug, eine Ampel usw.) und auf Punkte an oder in der Nähe von weniger interessanten Punkten Teile der Szene (z.B. einen Baum, einen Gehweg usw.) für kürzere Zeiträume fixiert sein, wenn überhaupt. Daher kann Pixeln im Bild, die den interessanteren Regionen entsprechen, ein höherer Salienzwert zugewiesen werden im Vergleich zu Pixeln des Bildes, die weniger interessanten Regionen entsprechen. Interessante Positionen von Szenen können zuvor in einer Datenbank gespeichert und/oder mithilfe eines maschinellen Lernmodells vorhergesagt werden, das auf einem Trainingsdatensatz trainiert wurde, der zuvor identifizierte interessante Teile einer Szene enthält.
  • Die objektbasierte Salienz hingegen weist Pixeln bestimmter Objekte (z.B. Vordergrundobjekte, sich bewegende Objekte usw.) höhere Salienzwerte zu als bestimmten anderen Objekten (z.B. Hintergrundobjekten). Eine solche Objektsalienz für verschiedene Objekte kann auf der Grundlage eines Regelsatzes bestimmt und/oder automatisch gelernt werden.
  • Das System kann die Salienzkarte beispielsweise mithilfe eines maschinellen Lernmodells (z.B. eines neuronalen Netzwerks) generieren, das darauf trainiert wurde, Pixeln in einem Bild Salienzwerte auf der Grundlage von Informationen zuzuweisen, die von einem vorherigen Bild („Prior“) in einem Videostream (d.h., aus einem Prior auf Framebasis) und/oder aus einer datensatzweiten Prior-Information (z.B. aus einem Trainingsdatensatz) empfangen wurden. Insbesondere wird das Modell für maschinelles Lernen darauf trainiert, die von einem vorherigen Bild oder Prior in einem Videostream empfangenen Informationen und/oder eine datensatzweite vorherige Information als Quelle für ein Salienzsignal zu verwenden. Beispielsweise kann das Modell Bounding-Box-Vorhersagen verwenden, die Objekten entsprechen, die in einem Bild eines bereits verarbeiteten Videostreams (z.B. einem Bild, das dem zu analysierenden Bild unmittelbar vorausgeht) bezeichnet wurden, um Salienzwerte zuzuweisen. Dies ermöglicht ein Resampling, so dass Hintergrundpixel Raum für interessierende Objekte in einem heruntergesampelten Bild schaffen können. Alternativ und/oder zusätzlich kann das Modell eine Salienzkarte basierend auf Bounding-Box-Vorhersagen, die mit dem jeweils zu analysierenden Bild korrespondieren, aus einer Sammlung von Ground-Truth-Begrenzungsrahmen in einem Trainingsdatensatz generieren. Beispielsweise kann das System Statistiken dazu aggregieren (z.B. einen Durchschnitt ermitteln) oder aus dem Trainingsdatensatz lernen, wo bestimmte Arten von Objekten (z.B. Gehwege, Horizont, Vegetation usw.) in einer Szene zu erwarten sind.
  • Um ein Salienzmodell zu erlernen oder zu trainieren, das aus Frame- oder Datensatzebenen-Priors generalisieren werden kann, kann das System einen algorithmischen Ansatz zum Konvertieren von Begrenzungsrahmen (sei es aus einem Datensatz oder dem vorherigen Frame) in eine Salienzkarte festlegen. Beispielsweise kann das System eine Kerneldichteschätzung (KDE) mit den Begrenzungsrahmen als Datenpunkten verwenden. Genauer gesagt kann das System bei einem gegebenen Satz von Bounding-Box-Erkennungen B mit Zentren ci, Höhen hi und Breiten wi die Salienzkarte Sf für ein Frame f als Summe von Normalverteilungen unter Verwendung der folgenden Gleichung modellieren oder generieren: S f ( a , b ) = i a N ( c i , b [ w i 0 0 h i ] )
    Figure DE112022001546T5_0001
    wobei a und b Hyperparameter für die Amplitude bzw. die Bandbreite einer KDE-Formulierung (Kernel Density Estimation) (kann durch Backpropagation erlernt werden) sind und N die Anzahl der Begrenzungsrahmen ist.
  • Optional kann die Salienzkarte auch Begrenzungsrahmenlabels berücksichtigen, um beispielsweise Salienzwerte basierend auf interessierenden Objektklassen zu filtern und/oder zuzuweisen.
  • Sf kann auf die vorherige Frame-Vorhersage angewendet werden, um einen Frame-spezifischen zeitlichen Prior (bezeichnet als Si) zu erhalten, oder auf die Menge aller Begrenzungsrahmen im Trainingssatz, um einen datensatzweiten Prior (bezeichnet als SD) zu erhalten. Im ersteren Fall kann die KDE-Formulierung das Bild bei jeder Erkennung des vorherigen Frames foveieren. Für das erste Bild in jeder Videosequenz führt dies trivialerweise standardmäßig zu einer Einheits-Salienzkarte. Im letzteren Fall liegt der Horizont bei Trainingsdatensätzen tendenziell in der Mitte des Bildes und es ist daher wahrscheinlicher, dass Objekte dort erscheinen.
  • Das System kann optional die generierten Salienzkarten in einem Trainingsdatensatz mitteln, um einen datensatzweiten Prior (SD) zu erstellen. Wenn sich der Horizont beispielsweise in einem Trainingsdatensatz tendenziell in der Mitte des Bildes befindet und es daher wahrscheinlicher ist, dass Objekte in dieser Mitte erscheinen, kann der datensatzweite Prior (SD) diese Tendenz bzw. diesen Bias auf Datensatzebene erfassen. wohingegen Si eher zeitliche Tendenzen bzw. Biase berücksichtigt. Das System kann SD und Si auch mitteln, um beide Abweichungen zu erfassen.
  • Das System kann optional die Salienzkarte Si verarbeiten, indem es (1/k2) ergänzt, wobei K die Seitenlänge des Kernels k ist, und diese dementsprechend so normalisiert wird, dass die Summe 1 ergibt, um extreme Warps zu vermeiden.
  • Das maschinelle Lernmodell zum Erzeugen einer Salienzkarte kann unter Verwendung aller derzeit oder künftig bekannten Techniken generiert und/oder trainiert werden, wie beispielsweise, ohne Einschränkung, Kernel Density Estimation (KDE) und Convolution Neural Network (CNN), die beide differenzierbar sind und die Parameter können anhand einer finale Task-Verlustfunktion (final task loss) gelernt werden. Bei KDE kann das System Begrenzungsrahmenzentren als Datenpunkte verwenden, deren Bandbreite proportional zur Quadratwurzel der Fläche des Begrenzungsrahmens ist. In CNN kann das System die Begrenzungsrahmen als N x 4-Matrix darstellen, wobei N ein fester Maximalwert für die Anzahl der Begrenzungsrahmen ist. Wenn weniger als N Objekte vorhanden sind, kann die Eingabe für diese Dimension mit Nullen aufgefüllt werden. Sobald ein Modell generiert wurde, kann das System das Modell auch auf alle Begrenzungsrahmen in einem Trainingsdatensatz anwenden, um einen datensatzweiten Prior zu erhalten.
  • Das Salienzmodell kann dann eine Salienzkarte des empfangenen Bildes basierend auf der Annahme erstellen, dass interessierende Objekte innerhalb ähnlich lokalisierter Begrenzungsrahmen (wie dem datensatzweiten Prior oder dem rahmenspezifischen Prior) im empfangenen Bild vorhanden sind. Insbesondere kann das Modell die Bounding-Box-Informationen in eine Salienzkarte umwandeln. Z.B. können interessante Teilbereiche des Bildes (z.B. Fahrzeuge, Gesichter usw.) und/oder Objekte im Vordergrund basierend auf den Bounding-Box-Vorhersagen mittels eines aus dem zuvor verarbeiteten Bildframe und/oder datensatzweit gewonnenen Priors identifiziert und zum Generieren der Salienzkarte verwendet werden. In einigen Implementierungen kann das System die Salienzkarte mithilfe von Bounding-Box-Erkennungen generieren, die auf der Grundlage eines datensatzweiten Priors für das erste Bild in einer Videobildserie und für nachfolgende Bildframes in der Videobildserie unter Verwendung der einzelnen Begrenzungen des vorherigen Frames bestimmt werden.
  • Optional kann die Generierung von Salienzkarten auf anderen (jetzt oder zukünftig bekannten) Algorithmen basieren, die eine beliebige Anzahl von Faktoren im Bild oder gestreamten Video berücksichtigen, wie z.B. den Hintergrund (z.B. kann die Vegetation um eine Straße weniger hervorstechend sein) und die Häufigkeit der im Videostream vorhandenen Objekte, den Bildkontrast (z.B. kann die Mitte eines Bildes, das den Horizont einschließt, hervorstechender sein), das visuelle Aufmerksamkeitssystem (d.h. an das Verhalten und die neuronale Architektur des menschlichen visuellen Systems gebunden), oder dergleichen.
  • Eine beispielhafte Salienzkarte 301 ist in 3 dargestellt, wobei die Salienz verschiedener Regionen direkt proportional zu ihrer Helligkeit in der Karte (bzw. zu ihrem Graustufenwert) ist.
  • Als nächstes führt das System eine Warptransformation („Warping“) oder allgemein eine Verzerrungsoperation (206) durch, um aus dem empfangenen Bild ein heruntergesampeltes Bild mit regionaler Vergrößerung (foveiertes warptransformiertes Bild) zu erstellen. In verschiedenen Ausführungsformen kann das Bild warptransformiert werden, um Bereiche des Bildes zu vergrößern, die einen höheren Salienzwert haben, während eine kleine Eingabeleinwandfläche beibehalten wird. Daher handelt es sich bei den vergrößerten Bereichen im warptransformierten Bild um diejenigen, die mit größerer Wahrscheinlichkeit ein interessierendes Objekt enthalten (und/oder, die anderweitig für einen Bildverarbeitungsalgorithmus, wie etwa ein Objekterkennungsmodell, wichtig sind).
  • Eine Warping-Funktion (z.B. ein maschinelles Lernmodell, wie ein neuronales Netzwerk) kann zum Foveieren und Warpen des empfangenen Bildes trainiert werden, wenn eine räumliche Transformationsfunktion Tzur Transformation von Pixelkoordinaten vom Eingabebild in ein warptransformiertes Bild gegeben ist.
  • Insbesondere wird eine räumliche Transformationsfunktion (z.B. ein neuronales Netzwerk oder ein anderes Modell für maschinelles Lernen) definiert, um Begrenzungsrahmenpositionen (aus vorherigen Videobildern und/oder datensatzweiten Priors) auf Warping-Parameter abzubilden. Eine 2D-Transformation kann wie folgt dargestellt werden: T : ( x , y ) ( x' , y' )
    Figure DE112022001546T5_0002
    wobei (x, y) und (x', y') die Eingabe- und Ausgabekoordinaten eines Pixels im empfangenen Bild bzw. im warptransformierten Bild sind. Da Bildpixel normalerweise diskret sind, ist eine Interpolation erforderlich, um Werte an nicht ganzzahligen Koordinaten abzutasten. Ein Bild-Warp WT nimmt dann als Eingabe ein Bild I entgegen, tastet die Pixelintensitätswerte gemäß der gegebenen Transformation T ab und gibt das warptransformierte Bild I'wie folgt aus: I ' ( T ( x , y ) ) = I ( x , y )
    Figure DE112022001546T5_0003
  • Naives Vorwärts-Warping diskreter Pixelpositionen aus der Eingabe I kann zu nicht ganzzahligen Zielpixelpositionen führen, die auf das Pixelraster von I „gespritzt“ werden müssen, was zu Artefakten wie Löchern führen kann. Um dies zu überwinden, kann die Warp-Transformation über eine Rückwärtsabbildung implementiert werden, indem über jede Zielpixelgitterposition iteriert wird, die inverse Abbildung T-1 berechnet wird, um die entsprechenden Eingabekoordinaten (die möglicherweise nicht ganzzahlig sind) zu finden, und deren Farbe/Farbe / Intensität von benachbarten Eingabepixel-Rasterpunkten (d.h. dem überlagerten Raster) bilinear interpoliert wird: I ' ( x , y ) = I ( T 1 ( x , y ) )
    Figure DE112022001546T5_0004
  • Da der Schwerpunkt auf der Transformation der Pixelkoordinaten der Begrenzungsrahmen liegt, erfordert die Implementierung von WT lediglich die Kenntnis der inversen Transformation T-1 (und nicht von T). Die Rücktransformation T-1 kann mithilfe der Salienzkarte bestimmt werden. Beispielsweise kann T-1 durch eine Salienzkarte S so parametrisiert werden, dass die Transformation eine Faltungsform hat (und daher schnell ist) und wobei jedes Pixel im Eingaberaum (x, y) mit einer Kraft S(x, y) vom Originalbild entnommene Proben anziehen kann, was zu einer stärkeren Abtastung in hervorstechenden Regionen während der Warptransformation führt. Da T-1 differenzierbar ist, kann es mit Backpropagation trainiert werden. Beispielsweise kann ein Trainingsdatensatz, der Ground-Truth-Bounding-Box-Vorhersagen enthält, zum Trainieren von T-1 verwendet werden, indem geschätzte Salienzkarten verwendet werden, um die warptransformierten Bilder zu erstellen, Bounding-Boxes in den warptransformierten Bildern identifiziert werden, eine Backpropagation durchgeführt wird, um Bounding-Boxen in den Originalbildern vorherzusagen, und die verglichen werden vorhergesagte Begrenzungsrahmen zu den Ground-Truth-Daten oder Grundwahrheitsdaten, um eine Verlustfunktion zu bestimmen, die auf einen gewünschten Wert minimiert werden kann, um ein trainiertes inverses Transformationsmodell T-1 zu erhalten.
  • Optional kann die Pixeliteration während der Transformation durch einen Batch-Vorgang ersetzt werden, indem ein Gittergenerator verwendet und die Transformationsfunktion T-1 auf ein gesamtes Gitter angewendet wird. In derartigen Beispielen kann die räumliche Transformationsfunktion einen Gittergenerator und einen Gitterbild-Sampler umfassen. Insbesondere kann der räumliche Transformator ein uniformes Gitter über das empfangene Bild legen und ein oder mehrere Pixel des empfangenen Bildes mithilfe der Transformationsfunktion T vom überlagerten Gitter in ein Zielgitter transformieren.
  • Beispielsweise kann, wie in 4 dargestellt, während ein Pixel 411(b) auf dem Zielgitter 410(b) ganzzahlige Koordinaten haben kann, das entsprechende Pixel 411(a) auf dem überlagerten Gitter 410(a) nicht ganzzahlige Koordinaten haben und zwischen vier ganzzahligen Koordinaten liegen. Daher führt das System eine Interpolation durch, um die Intensität des Pixels 411(b) als Durchschnitt der vier ganzzahligen Koordinatenintensitätswerte um das Pixel 411(a) zu bestimmen.
  • 4 veranschaulicht ferner ein beispielhaftes empfangenes Bild 401 und das entsprechende warptransformierte Bild 402, das mit den Methoden dieser Offenbarung erzeugt wurde. Wie gezeigt, werden bestimmte interessierende Objekte 421(a), 421(b) usw. im warptransformierten Bild 402 im Vergleich zu den entsprechenden Darstellungen im empfangenen Bild 401 vergrößert.
  • Um die Achsenausrichtung der Begrenzungsrahmen sicherzustellen, die während der mithilfe des heruntergesampelten Bildes durchgeführten Objekterkennung vorhergesagt wurden, kann das System das Warping (d.h., die Transformation) dahingehend einschränken, dass dieses entlang der beiden Dimensionen des empfangenen Bildes trennbar bleibt, so dass T-1 (x, y) = (T-1 x(x), T-1 y(y)). Für jede Dimension kann die Salienzkarte verwendet werden, um die Warp-Transformation mithilfe der folgenden Gleichungen zu steuern: T x 1 ( x ) = x ' [ y ' , S ( x ' , y ' ) ] k ( x ' , x ) x ' x ' [ y ' , S ( x ' , y ' ) ] k ( x ' , x ) ,
    Figure DE112022001546T5_0005
    T y 1 ( y ) = y ' [ x ' , S ( x ' , y ' ) ] k ( y ' , y ) y ' x ' [ x ' , S ( x ' , y ' ) ] k ( y ' , y ) ,
    Figure DE112022001546T5_0006
    wobei kein Distanzkernel (z.B. ein Gaußscher Kernel) und S(x', y') die für erzeugte Salienzkarte für das empfangene Bild ist.
  • Bei der Faltungsform der Salienz-geleiteten räumlichen Transformation werden die Bilder häufig beschnitten, was für die Bildklassifizierung akzeptabel sein kann, wenn an den Begrenzungen noch ein größerer Rand vorhanden ist. Allerdings besteht bei jeder Beschneidung bei der Objekterkennung die Gefahr, dass Objekte übersehen werden. In bestimmten Implementierungen kann beim Anwenden des Anziehungskernels in den obigen Gleichungen ein Reflexions-Padding auf der Salienzkarte verwendet werden, um die Anti-Cropping-Regularisierung bzw. Anti-Zuschneide-Regularisierung zu reduzieren. Insbesondere führt das Reflexions-Padding zu Symmetrien an den einzelnen Kanten der Salienzkarte, wodurch alle horizontalen Versätze entlang vertikaler Bildkanten und umgekehrt eliminiert werden, wodurch ein Zuschneiden vermieden wird. Typischerweise weist die Objekterkennung eine viel geringere Beschnitttoleranz als die Bildklassifizierung auf, da Objekte nicht nur in der Bildmitte, sondern auch in der Nähe der Bildränder erscheinen und frühere Bildverzerrungsmethoden für dieses Problem sehr anfällig sind. Die obige Anti-Cropping-Modifikation der Warping-Formulierung überwindet solche Probleme.
  • Bei 208 kann das System das warptransformierte Bild in beliebige jetzt oder künftig bekannte Objekterkennungsmodelle eingeben, um Begrenzungsrahmenvorhersagen im warptransformierten Bild auszugeben. Solche Bounding-Box-Vorhersagen sind räumlicher Natur und typischerweise warptransformiert.
  • Das System kann das oben bestimmte inverse Transformationsmodell T-1 verwenden, um Koordinaten der Begrenzungsrahmenvorhersagen aus dem warptransformierten Bildraum in Koordinaten im empfangenen Bildraum zurückzutransformieren (210). Mit anderen Worten: Pixelkoordinaten der vorhergesagten Begrenzungsrahmen im warptransformierten Bild werden in Pixelkoordinaten im empfangenen Bild umgewandelt. Da die standardmäßige Bildverzerrung über die Rückwärtskarte T-1 implementiert wird, ist die Rückwärtskarte bereits im trainierten Modell oder Netzwerk berechnet und kann direkt auf die Pixelkoordinaten des vorhergesagten Begrenzungsrahmens angewendet werden. Insbesondere kann die folgende Gleichung verwendet werden, um Bounding-Box-Vorhersagen im empfangenen Bild zu generieren: f ' ( I , T ) = T 1 ( f ( W T ( I ) ) )
    Figure DE112022001546T5_0007
    wobei f(.) die nichtlineare Funktion ist, die die Pixelkoordinaten des Begrenzungsrahmens der vorhergesagten Erkennungen zurückgibt.
  • 5 veranschaulicht beispielhafte Bounding-Box-Vorhersagen (501) in einem warptransformierten Bild, die in Bounding-Box-Vorhersagen für das empfangene Bild (502) zurücktransformiert wurden. Das warptransformierte Bild und/oder die Bounding-Box-Vorhersagen (im nicht warptransformierten Raum) können gespeichert werden, um sie beispielsweise für die Navigation eines autonomen Fahrzeugs zu verwenden.
  • Da bei vielen Objekterkennungsalgorithmen die Labels L selbst räumlich definiert sind (z.B. Begrenzungsrahmenkoordinaten oder semantische Pixellabels), kann ein aus einem warptransformierten Bild generiertes Labeling selbst warptransformiert sein. Um konsistente Ausgaben zu erzeugen (z.B. zur Berechnung von Bounding-Box-Verlusten während des Trainings), müssen diese warptransformierten Ausgaben in den ursprünglichen Raum des empfangenen Bildes transformiert werden. Daher gibt die obige Rücktransformationsfunktion invers warptransformierte Labels aus. Es ist zu beachten, dass in der obigen Beschreibung zwar Begrenzungsrahmenlabels als Beispiel verwendet werden, die Offenbarung jedoch nicht diesbezüglich einschränkend verstanden werden soll und alle zum Erzeugen von Labels oder Markierungen für warptransformierte und nicht warptransformierte Bilder für andere Arten von räumlich definierten Labels, wie etwa semantische Pixellabels, verwendet werden können. Die oben beschriebenen Verfahren können daher verwendet werden, um den Verlust (f(I), L) eines Objekterkennungsmodells zu minimieren, das anhand eines Trainingssatzes von Bild-Label-Paaren (1, L) erlernt wurde.
  • Die obige Offenbarung beschreibt einen Aufmerksamkeitsansatz, der bestimmte Bereiche eines Bildes elastisch vergrößert und gleichzeitig eine kleine Eingabeleinwandfläche beibehält, um ein heruntergesampeltes, warptransformiertes Bild zu erzeugen. Bei den vergrößerten Regionen wird angenommen, dass sie mit hoher Wahrscheinlichkeit ein Objekt enthalten, dessen Signal von einem datensatzweiten Prior oder Frame-Level-Prior stammen kann, der aus aktuellen Objektvorhersagen berechnet wurde. Die Vergrößerung wird beispielsweise durch ein KDE-basiertes Mapping implementiert, um die Begrenzungsrahmen in Warping-Parameter umzuwandeln, die dann in einen Bildsampler eingespeist werden, um ein warptransformiertes Bild mit bestimmten vergrößerten Bereichen zu erzeugen. Das warptransformierte Bild kann in ein Objekterkennungsmodell eingespeist werden, gefolgt von einer differenzierbaren Rückwärtszuordnung, um Begrenzungsrahmenausgaben im ursprünglichen Bildraum zu erhalten. Eine solche regionale Vergrößerung ermöglicht es bildbasierten Algorithmen, hochauflösende Eingaben besser zu nutzen, ohne dass die Kosten für die hochauflösende Verarbeitung anfallen.
  • Sobald Begrenzungsrahmen erkannt wurden, wird/werden optional eine oder mehrere Spuren für die erkannten Objekte (z.B. eine bestimmte Instanz eines Objekts wie ein Fahrzeug, ein Fußgänger usw.) innerhalb der Begrenzungsrahmen bestimmt. Techniken zur Bestimmung von Objektspuren sind allgemein bekannt. Die Objektspur wird dann optional zur Steuerung des autonomen Betriebs einer mobilen Plattform (z.B. eines autonomen Fahrzeugs) verwendet. Beispielsweise wird anhand der prognostizierten Quader eine Spur für das jeweilige Objekt ermittelt. Die Objektspur kann dann verwendet werden, um die Generierung einer Plattformtrajektorie zu erleichtern, der die mobile Plattform folgen soll. Anschließend wird 212 ausgeführt, wo das Verfahren 200 endet oder andere Vorgänge ausgeführt werden.
  • Die Vorhersagen (z.B. Kuboide), Instanzmasken und semantischen Masken des Bürgersteigs, die während der Methode 200 generiert werden, können von einer mobilen Plattform zur Vorhersage der Objektbahn, eines allgemeinen Szenenverständnisses, zur Generierung von Plattformtrajektorien und/oder Kollisionsvermeidung verwendet werden. Das in 7 bereitgestellte Blockdiagramm ist hilfreich, um zu verstehen, wie die Plattformsteuerung in Übereinstimmung mit den objektbezogenen Informationen erreicht wird, die auf der Grundlage des modifizierten Bildes abgeschätzt werden. Alle oder einige der in 6 durchgeführten Operationen können durch ein Bordcomputergerät einer mobilen Plattform (z.B. diejenige von 101 in 1) und/oder durch ein Remote-Computergerät (z.B. den Remote-Server 106 in 1) durchgeführt werden.
  • In Block 602 wird ein Standort der mobilen Plattform erfasst. Diese Erkennung kann auf der Grundlage von Sensordaten erfolgen, die von einem Standortsensor (z.B. dem Standortsensor 760 aus 7) der mobilen Plattform ausgegeben werden. Diese Sensordaten können GPS-Daten umfassen, sind aber nicht darauf beschränkt. Die Informationen 620, die den erkannten Standort der mobilen Plattform angeben, werden dann an Block 606 weitergeleitet.
  • In Block 604 wird ein Objekt in der Nähe der mobilen Plattform erkannt. Diese Erkennung erfolgt auf der Grundlage von Sensordaten, die von einer Kamera (z.B. der Kamera 762 von 7) der mobilen Plattform ausgegeben werden, und/oder von LiDAR-Datensätzen, die von einem LiDAR-System (z.B. dem LiDAR-System 764 von 7) des Mobilgeräts generiert werden. Die Art und Weise, wie die bildbasierte Wahrnehmung erreicht wird, wurde oben in Bezug auf 2 diskutiert. Bildbasierte Wahrnehmungsinformationen 622 über das erkannte Objekt werden an Block 606 weitergeleitet. Zu diesen Informationen gehören u.a. kuboidförmige Informationen (z.B. eine Position eines Objekts, eine Ausrichtung des Objekts und eine räumliche Ausdehnung des Objekts), eine anfänglich vorhergesagte Trajektorie des Objekts, eine Geschwindigkeit des Objekts und/oder eine Klassifizierung des Objekts. Die ursprünglich vorhergesagte Trajektorie des Objekts kann einen linearen Pfad umfassen, der in die Kursrichtung des Objekts zeigt, ist aber nicht darauf beschränkt.
  • In Block 606 wird unter Verwendung der Informationen aus den Blöcken 602 und 604 eine Plattformtrajektorie generiert. Techniken zur Bestimmung einer Plattformtrajektorie sind in der Technik wohlbekannt. Jede bekannte oder bekannt werdende Technik zur Bestimmung einer Plattformtrajektorie kann hier ohne Einschränkung verwendet werden. In einigen Szenarien umfasst eine solche Technik beispielsweise die Bestimmung einer Trajektorie für die mobile Plattform, die das Objekt passieren würde, wenn sich das Objekt vor der mobilen Plattform befindet und das Objekt eine Kursrichtung hat, die mit der Richtung übereinstimmt, in die sich das Mobilgerät bewegt, und das Objekt eine Länge aufweist, die größer als ein Schwellenwert ist. Die vorliegende Lösung ist nicht auf die Einzelheiten dieses Szenarios beschränkt. Die Plattformtrajektorie 624 kann auf Grundlage der Informationen 620, der bildbasierten Wahrnehmungsinformationen 622 und/oder einer Straßenkarte 626 bestimmt werden, die vorab in einem Datenspeicher der mobilen Plattform gespeichert ist. Die Plattformtrajektorie 624 kann einen glatten Pfad darstellen, der keine abrupten Änderungen aufweist, die andernfalls Unbehagen für die Passagiere hervorrufen würden. Beispielsweise wird die Plattformtrajektorie durch einen Bewegungspfad entlang einer bestimmten Fahrspur einer Straße definiert, auf der sich das Objekt voraussichtlich nicht innerhalb einer bestimmten Zeitspanne fortbewegen wird. Die Plattformtrajektorie 624 wird dann an Block 608 bereitgestellt.
  • In Block 608 wird ein Lenkwinkel- und Geschwindigkeitsbefehl basierend auf der Plattformtrajektorie 624 generiert. Der Lenkwinkel- und Geschwindigkeitsbefehl wird zur Dynamiksteuerung an Block 610 geliefert. Insbesondere beschreibt dieses Dokument die vorliegende Lösung im Kontext eines autonomen Fahrzeugs. Die vorliegende Lösung ist jedoch nicht auf autonome Fahrzeuganwendungen beschränkt. Die vorliegende Lösung kann bei anderen Anwendungen, wie Roboteranwendungen, Radarsystemanwendungen, metrischen Anwendungen und/oder Systemleistungsanwendungen, verwendet werden.
  • Nunmehr bezugnehmend auf 7 ist dort eine beispielhafte Systemarchitektur für eine mobile Plattform 700, beispielsweise ein autonomes Fahrzeug, dargestellt. Wie in 7 gezeigt, umfasst die mobile Plattform 700 einen Motor 702 und verschiedene Sensoren 704 - 718 zum Messen verschiedener Parameter der mobilen Plattform. Bei kraftstoffbetriebenen oder hybriden mobilen Plattformen mit einem kraftstoffbetriebenen Motor können die Sensoren beispielsweise einen Motortemperatursensor 704, einen Batteriespannungssensor 706, einen Motorumdrehungen pro Minute (RPM)-Sensor 708 und einen Drosselklappenstellungssensor 710 umfassen. Wenn es sich bei der mobilen Plattform um eine elektrische oder hybride mobile Plattform handelt, kann die mobile Plattform über einen Elektromotor und dementsprechend über Sensoren wie ein Batterieüberwachungssystem 712 (zur Messung von Strom, Spannung und/oder Temperatur der Batterie), Motorstromsensoren 714 und Motorspannungssensoren 716, sowie Motorpositionssensoren wie Resolver und Encoder 718 verfügen.
  • Zu den Betriebsparametersensoren, die beiden Arten mobiler Plattformen gemeinsam sind, gehören beispielsweise: ein Positionssensor 736, wie ein Beschleunigungsmesser, ein Gyroskop und/oder eine Trägheitsmesseinheit, ein Geschwindigkeitssensor 738, und einen Kilometerzählersensor 740. Die mobile Plattform kann auch über eine Uhr oder einen Taktgeber 742 verfügen, die bzw. den das System verwendet, um die Zeit der mobilen Plattform während des Betriebs zu bestimmen. Die Uhr bzw. der Taktgeber 742 kann in einem Bordcomputergerät codiert sein, es kann sich um ein separates Gerät handeln oder es können mehrere Taktgeber verfügbar sein.
  • Die mobile Plattform wird außerdem verschiedene Sensoren umfassen, die Informationen über die Umgebung sammeln, in der sich die mobile Plattform bewegt. Zu diesen Sensoren können beispielsweise gehören: ein Standortsensor 760 (z.B. ein GPS-Gerät (Global Positioning System)) sowie Wahrnehmungssensoren 762, wie etwa ein oder mehrere bildbasierte Sensoren (z.B. Kameras), Funkerkennungs- und Entfernungssensoren (Radar), Sonarsensoren, Light-Detection-And-Ranging-Sensoren (LiDAR-System 764) oder dergleichen. Zu den Sensoren können auch Umgebungssensoren 768 gehören, etwa ein Niederschlagssensor und/oder ein Umgebungstemperatursensor. Die Wahrnehmungssensoren können es der mobilen Plattform ermöglichen, Objekte zu erkennen, die sich in einer bestimmten Richtung der mobilen Plattform 700 in einer bestimmten Entfernung befinden, während die Umgebungssensoren Daten über Umgebungsbedingungen innerhalb des Bewegungsbereichs der mobilen Plattform sammeln.
  • Während des Betriebs werden Informationen von den Sensoren an das Bordcomputergerät 720 übermittelt. Das Bordcomputergerät 720 kann (i) veranlassen, dass die Sensorinformationen von der mobilen Plattform an ein externes Gerät (z.B. das Computergerät 101 aus 1) übermittelt werden, und/oder (ii) die Sensorinformationen zur Steuerung von Vorgängen der mobilen Plattform verwenden. Beispielsweise kann das Bordcomputergerät 720 Folgendes steuern: Die Bremsen über eine Bremssteuerung 732; die Fahrtrichtung über einen Lenksteuerung 724; die Geschwindigkeit und Beschleunigung über eine Drosselklappensteuerung 226 (in einem kraftstoffbetriebenen Fahrzeug) oder über einen Motorgeschwindigkeitsregler 728 (z.B. über einen Stromniveauregler in einem Elektrofahrzeug), weiterhin können eine Differenzialgetriebesteuerung 730 (in Fahrzeugen mit Getrieben) und/oder andere Steuergeräte vorgesehen sein.
  • Geografische Standortinformationen können vom Standortsensor 760 an das Bordcomputergerät 720 übermittelt werden, das dann auf eine Karte der Umgebung zugreifen kann, die den Standortinformationen entspricht, um bekannte feste Merkmale der Umgebung. wie Straßen, Gebäude, Haltestellen Schilder und/oder Stop-/Go-Signale zu bestimmen.
  • In einigen Szenarien erkennt das Bordcomputergerät 720 ein sich bewegendes Objekt und führt Vorgänge aus, wenn eine solche Erkennung erfolgt. Beispielsweise kann das Bordcomputergerät 720 eine oder mehrere mögliche Objekttrajektorien für das erkannte Objekt generieren und die möglichen Objekttrajektorien analysieren, um das Risiko einer Kollision zwischen dem Objekt und dem autonomen Fahrzeug einzuschätzen, wenn das autonome Fahrzeug einer gegebene Plattformtrajektorie folgen würde. Wenn das Risiko den akzeptablen Schwellenwert nicht überschreitet, kann das Bordcomputergerät 720 veranlassen, dass die mobile Plattform 200 der gegebenen Plattformtrajektorie folgt. Wenn das Risiko einen akzeptablen Schwellenwert überschreitet, führt das Bordcomputergerät 720 Vorgänge aus, um: (i) eine alternative Plattformtrajektorie zu bestimmen und zu analysieren, ob die Kollision vermieden werden kann, wenn die mobile Plattform dieser folgt alternative Plattformbahn; oder (ii) die mobile Plattform dazu zu veranlassen, ein Manöver auszuführen (z.B. zu bremsen, zu beschleunigen oder auszuweichen).
  • Die mobile Plattform kann auch Zustandsinformationen, beschreibende Informationen oder andere Informationen über Geräte oder Objekte in ihrer Umgebung von einem Kommunikationsgerät (wie einem Transceiver, einem Beacon und/oder einem Smartphone) über eine oder mehrere drahtlose Kommunikationsverbindungen empfangen, wie z.B. solche, die als Fahrzeug-zu-Fahrzeug-, Fahrzeug-zu-Objekt- oder andere V2X-Kommunikationsverbindungen bekannt sind. Der Begriff „V2X“ bezieht sich auf die Kommunikation zwischen einem Fahrzeug und jedem Objekt, auf das das Fahrzeug in seiner Umgebung stoßen oder das es beeinflussen kann.
  • Darüber hinaus kann das autonome Fahrzeug ein bordeigenes Anzeigegerät (hier nicht gezeigt) umfassen, das eine Schnittstelle generieren und ausgeben kann, auf der Sensordaten, Fahrzeugstatusinformationen oder Ausgaben, die durch die in diesem Dokument beschriebenen Prozesse generiert werden, einem Insassen des Fahrzeugs angezeigt werden. Das Anzeigegerät kann einen Audiolautsprecher umfassen oder ein separates Gerät sein, das solche Informationen im Audioformat darstellt.
  • In den verschiedenen in diesem Dokument besprochenen Ausführungsformen kann in der Beschreibung erwähnt sein, dass das Fahrzeug oder das Bordcomputergerät des Fahrzeugs Programmieranweisungen implementieren kann, die das Bordcomputergerät des Fahrzeugs veranlassen, Entscheidungen zu treffen und die Entscheidungen zur Steuerung von Vorgängen eines oder mehrerer Fahrzeugsysteme zu verwenden. Allerdings sind die Ausführungsformen nicht auf diese Anordnung beschränkt, da in verschiedenen Ausführungsformen die Analyse, Entscheidungsfindung und/oder Betriebssteuerung vollständig oder teilweise von anderen Computergeräten übernommen werden kann, die in elektronischer Kommunikation mit dem Bordcomputergerät des Fahrzeugs stehen. Beispiele für solche anderen Computergeräte umfassen ein elektronisches Gerät (z.B. ein Smartphone), das einer Person zugeordnet ist, die im Fahrzeug mitfährt, sowie ein Remote-Server, der über ein drahtloses Kommunikationsnetzwerk in elektronischer Kommunikation mit dem Fahrzeug steht.
  • 8 zeigt ein Beispiel für interne Hardware, die in einer der elektronischen Komponenten des Systems enthalten sein kann, wie etwa interne Verarbeitungssysteme des autonomen Fahrzeugs oder entfernte Server. Ein elektrischer Bus 800 dient als Informationsautobahn, die die anderen dargestellten Komponenten der Hardware miteinander verbindet. Der Prozessor 805 ist ein zentrales Verarbeitungsgerät des Systems, das für die Durchführung von Berechnungen und logischen Operationen konfiguriert ist, die zum Ausführen von Programmieranweisungen erforderlich sind. Wie in diesem Dokument und in den Ansprüchen verwendet, können sich die Begriffe „Prozessor“ und „Verarbeitungsgerät“ auf einen einzelnen Prozessor oder eine beliebige Anzahl von Prozessoren in einer Gruppe von Prozessoren beziehen, die gemeinsam eine Reihe von Vorgängen ausführen, beispielsweise eine zentrale Verarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU), ein Remote-Server oder eine Kombination davon. Beispiele für Speichergeräte 825 sind Nur-Lese-Speicher (ROM), Direktzugriffsspeicher (RAM), Flash-Speicher, Festplatten und andere Geräte, die elektronische Daten speichern können. Ein Speichergerät kann ein einzelnes Gerät oder eine Sammlung von Geräten umfassen, auf denen Daten und/oder Anweisungen gespeichert werden. Verschiedene Ausführungsformen können ein computerlesbares Medium umfassen, das Programmieranweisungen enthält, die so konfiguriert sind, dass sie einen oder mehrere Prozessoren veranlassen, die im Kontext der vorherigen Figuren beschriebenen Funktionen auszuführen.
  • Eine optionale Anzeigeschnittstelle 830 kann die Anzeige von Informationen vom Bus 800 auf einem Anzeigegerät 835 im visuellen, grafischen oder alphanumerischen Format ermöglichen, beispielsweise auf einem Anzeigesystem im Armaturenbrett des Fahrzeugs. Es können auch eine Audioschnittstelle und ein Audioausgang (z.B. ein Lautsprecher) vorhanden sein. Die Kommunikation mit externen Geräten kann über verschiedene Kommunikationsgeräte 840 erfolgen, wie etwa eine drahtlose Antenne, ein RFID-Tag (Radio Frequency Identification) und/oder einen Nahbereichs- oder Nahfeld-Kommunikations-Transceiver, von denen jedes optional kommunikativ mit anderen Komponenten des Geräts über ein oder mehrere Kommunikationssysteme verbunden sein kann. Die Kommunikationsgeräte 840 können für eine kommunikative Verbindung mit einem Kommunikationsnetzwerk, wie dem Internet, einem lokalen Netzwerk oder einem Mobilfunkdatennetzwerk konfiguriert sein.
  • Die Hardware kann auch einen Benutzerschnittstellensensor 845 umfassen, der den Empfang von Daten von Eingabegeräten 850 wie einer Tastatur oder einem Tastenfeld, einem Joystick, einem Touchscreen, einem Touchpad, einer Fernbedienung, einem Zeigegerät und/oder einem Mikrofon ermöglicht. Digitale Einzelbilder können auch von einer Kamera 820 empfangen werden, die Videos und/oder Standbilder aufnehmen kann. Das System kann auch Daten von einem Bewegungs- und/oder Positionssensor 870 empfangen, beispielsweise einem Beschleunigungsmesser, einem Gyroskop oder einer Trägheitsmesseinheit. Das System kann auch Daten über ein LiDAR-System 860 umfassen und empfangen, wenn es im Zusammenhang mit autonomen Fahrzeugen verwendet wird. Die oben offenbarten Merkmale und Funktionen sowie Alternativen können in vielen anderen unterschiedlichen Systemen oder Anwendungen kombiniert werden. Verschiedene Komponenten können in Hardware oder Software oder eingebetteter Software implementiert sein. Der Fachmann kann verschiedene derzeit unvorhergesehene oder unerwartete Alternativen, Modifikationen, Variationen oder Verbesserungen vornehmen, die jeweils auch von den offenbarten Ausführungsformen umfasst sein sollen.
  • Daher umfasst die vorliegende Offenbarung die Implementierung von Systemen und Verfahren zur Verarbeitung eines hochauflösenden Bildes (z.B. eines von einem Fahrzeug empfangenen Bildes). In verschiedenen Szenarien können die Methoden das Empfangen eines hochauflösenden Bildes und das Erzeugen einer Salienzkarte des empfangenen Bildes unter Verwendung eines Salienzmodells umfassen. Die Salienzkarte kann einen Salienzwert enthalten, der jedem einer Vielzahl von Pixeln des hochauflösenden Bildes zugeordnet ist. Zu den Verfahren gehört auch die Verwendung der Salienzkarte zum Erzeugen einer inversen Transformationsfunktion, die eine inverse Abbildung einer oder mehrerer erster Pixelkoordinaten in einem warptransformierten Bild auf eine oder mehrere zweite Pixelkoordinaten im hochauflösenden Bild darstellt, und die Implementierung einer Bild-Warptransformation zum Konvertieren des hochauflösenden Bildes in das warptransformierte Bild mithilfe der Umkehrtransformationsfunktion. Optional kann das warptransformierte Bild ein foveiertes Bild sein, das mindestens einen Bereich mit einer höheren Auflösung als einen oder mehrere andere Bereiche des warptransformierten Bildes enthält. Das warptransformierte Bild kann in einem Datenspeicher gespeichert werden.
  • In jeder der oben genannten Ausführungsformen können die Verfahren auch das Erzeugen einer oder mehrerer Bounding-Box-Vorhersagen in einem Referenzrahmen des warptransformierten Bildes umfassen (z.B. unter Verwendung des warptransformierten Bildes). Koordinaten der einen oder mehreren Begrenzungsrahmenvorhersagen im warptransformierten Bild können unter Verwendung der inversen Transformationsfunktion in zweite Koordinaten der einen oder mehreren Begrenzungsrahmenvorhersagen in einem Referenzrahmen des hochauflösenden Bildes transformiert werden. Optional können die zweiten Koordinaten der einen oder mehreren Bounding-Box-Vorhersagen zur Steuerung der Navigation eines autonomen Fahrzeugs verwendet werden.
  • In jeder der oben genannten Ausführungsformen können die Verfahren das Erzeugen des Salienzmodells auf der Grundlage einer oder mehrerer Bounding-Box-Vorhersagen in mindestens einem vorherigen Frame eines Videostreams umfassen, der das hochauflösende Bild enthält und in dem das hochauflösende Bild nach dem mindestens einen vorherigen Frame erfasst wird. Zusätzlich und/oder alternativ kann das Salienzmodell auf der Grundlage einer oder mehrerer Bounding-Box-Vorhersagen in einem datensatzweiten Prior umfassend einen Trainingsdatensatz generiert werden.
  • In jeder der oben genannten Ausführungsformen besteht eine hohe Wahrscheinlichkeit, dass der mindestens eine Bereich mit der höheren Auflösung im warptransformierten Bild ein interessierendes Objekt enthält. Optional kann eine Auflösung des einen oder der mehreren anderen Bereiche des warptransformierten Bildes reduziert werden.
  • In jeder der oben genannten Ausführungsformen kann das Bildwarping zum Konvertieren des hochauflösenden Bildes in das warptransformierte Bild unter Verwendung der Umkehrtransformationsfunktion implementiert werden, indem für jedes einer Vielzahl von Pixeln des warptransformierten Bildes ein Eingabepixel im hochauflösenden Bild gefunden wird und ein bilineares Interpolieren der Intensität oder Farbe dieses Pixels aus einem oder mehreren Pixeln im hochauflösenden Bild neben dem Eingabepixel vorgenommen wird.
  • Optional kann die inverse Transformationsfunktion eine differenzierbare Funktion sein, die mithilfe von Backpropagation trainiert wird.
  • Zusätzlich und/oder alternativ können in jeder der oben genannten Ausführungsformen Symmetrien um jede der mehreren Kanten der Salienzkarte zwecks Cropping- oder Beschnitt-Regularisierung des warptransformierten Bildes eingeführt werden.
  • In jeder der oben genannten Ausführungsformen können die implementierenden Systeme Folgendes umfassen: einen Prozessor; und ein nichtflüchtiges computerlesbares Speichermedium, das Programmieranweisungen umfasst, die so konfiguriert sind, dass sie den Prozessor veranlassen, ein Verfahren zum Betreiben eines automatisierten Systems zu implementieren. Zusätzlich und/oder alternativ können das nichtflüchtige computerlesbare Speichermedium und die Programmieranweisungen in einem Computerprogrammprodukt enthalten sein.
  • Zu den für die oben bereitgestellte Offenlegung relevanten Begriffen gehören:
  • Der Begriff „Fahrzeug“ bezieht sich auf jedes bewegliche Fortbewegungsmittel, das einen oder mehrere menschliche Insassen und/oder Fracht befördern kann und durch irgendeine Form von Energie angetrieben wird. Der Begriff „Fahrzeug“ umfasst unter anderem Autos, Lastwagen, Transporter, Züge, autonome Fahrzeuge, Flugzeuge, Flugdrohnen und dergleichen. Ein „autonomes Fahrzeug“ (oder „AV“) ist ein Fahrzeug mit einem Prozessor, Programmieranweisungen und Antriebsstrangkomponenten, die vom Prozessor gesteuert werden können, ohne dass ein menschlicher Bediener erforderlich ist. Ein autonomes Fahrzeug kann insofern völlig autonom sein, als es für die meisten oder alle Fahrbedingungen und - funktionen keinen menschlichen Bediener benötigt, oder es kann insofern teilautonom sein, als in bestimmten Situationen oder für bestimmte Situationen ein menschlicher Bediener erforderlich ist, oder dieser für bestimmte Vorgänge das autonome System des Fahrzeugs außer Kraft setzen und die Kontrolle über das Fahrzeug übernehmen kann.
  • Ein „Modell für maschinelles Lernen“ oder ein „Modell“ bezieht sich auf eine Reihe algorithmischer Routinen und Parameter, die die Ergebnisse eines Prozesses in der realen Welt vorhersagen können (z.B. die Vorhersage einer Objektbahn, eine Diagnose oder Behandlung eines Patienten, eine passende Empfehlung basierend auf einer Benutzersuchanfrage, usw.) basierend auf einer Reihe von Eingabemerkmalen, ohne explizit programmiert zu werden. Eine Struktur der Softwareroutinen (z.B. Anzahl der Unterroutinen und die Beziehung zwischen ihnen) und/oder die Werte der Parameter können in einem Trainingsprozess bestimmt werden, der tatsächliche Ergebnisse des realen Prozesses verwenden kann, der modelliert wird. Es wird davon ausgegangen, dass solche Systeme oder Modelle notwendigerweise in der Computertechnologie verwurzelt sind und tatsächlich ohne Computertechnologie weder implementiert noch existieren können. Während maschinelle Lernsysteme verschiedene Arten statistischer Analysen nutzen, unterscheiden sich maschinelle Lernsysteme von statistischen Analysen dadurch, dass sie ohne explizite Programmierung lernen können und auf Computertechnologie basieren.
  • Eine typische Pipeline für maschinelles Lernen kann die Erstellung eines Modells für maschinelles Lernen aus einem Beispieldatensatz (als „Trainingssatz“ bezeichnet) und die Bewertung des Modells anhand eines oder mehrerer zusätzlicher Beispieldatensätze (als „Validierungssatz“ und/oder als „Testsatz“ bezeichnet), um zu entscheiden, ob das Modell beibehalten werden soll, und um zu vergleichen, wie gut das Modell ist, und um das Modell in der „Produktion“ zu verwenden, um Vorhersagen oder Entscheidungen anhand von Live-Eingabedaten zu treffen, die von einem Anwendungsdienst erfasst werden. Der Trainingssatz, der Validierungssatz und/oder der Testsatz sowie das Modell für maschinelles Lernen sind häufig schwer zu erhalten und sollten vertraulich behandelt werden. Die aktuelle Offenlegung beschreibt Systeme und Methoden zur Bereitstellung einer sicheren Pipeline für maschinelles Lernen, die die Privatsphäre und Integrität von Datensätzen sowie Modellen für maschinelles Lernen wahrt.
  • Der Begriff „Begrenzungsrahmen“ bezieht sich auf einen rechteckigen Rahmen, der den Standort eines Objekts darstellt. Ein Begrenzungsrahmen kann in Daten durch x- und y-Achsenkoordinaten [xmax, ymax] dargestellt werden, die einer ersten Ecke des Rahmens (z.B. der oberen rechten Ecke) entsprechen, zusammen mit x- und y-Achsenkoordinaten [xmin, ymin], die der Ecke des Rechtecks entsprechen, die der ersten Ecke gegenüberliegt (z.B. der unteren linken Ecke). Es kann als das kleinste Rechteck berechnet werden, das alle Punkte eines Objekts enthält, optional plus eines zusätzlichen Leerraums, um eine Fehlermarge zu berücksichtigen. Bei den Punkten des Objekts kann es sich um solche handeln, die von einem oder mehreren Sensoren erfasst wurden, beispielsweise Pixel eines von einer Kamera erfassten Bildes oder Punkte einer von einem LiDAR-Sensor erfassten Punktwolke.
  • Wenn sich der Begriff „Objekt“ auf ein Objekt bezieht, das von einem Fahrzeugwahrnehmungssystem erkannt oder von einem Simulationssystem simuliert wird, soll dieser sowohl stationäre Objekte als auch sich bewegende (oder potenziell sich bewegende) Akteure umfassen, sofern in der Verwendung der Begriffe des Begriffs „Akteur“ oder „stationäres Objekt“ nicht ausdrücklich etwas anderes angegeben ist.
  • Ein „elektronisches Gerät“ oder ein „Computergerät“ bezieht sich auf ein Gerät, das einen Prozessor und einen Speicher enthält. Jedes Gerät verfügt möglicherweise über einen eigenen Prozessor und/oder Speicher, oder der Prozessor und/oder Speicher kann mit anderen Geräten gemeinsam genutzt werden, wie in einer virtuellen Maschine oder einer Containeranordnung. Der Speicher enthält oder empfängt Programmieranweisungen, die bei Ausführung durch den Prozessor dazu führen, dass das elektronische Gerät einen oder mehrere Vorgänge gemäß den Programmieranweisungen ausführt.
  • Die Begriffe „Speicher“, „Speichergerät“, „computerlesbares Medium“, „Datenspeicher“, „Datenspeichereinrichtung“ und dergleichen beziehen sich jeweils auf ein nichtflüchtiges Gerät, auf dem computerlesbare Daten, Programmieranweisungen oder beides gespeichert bzw. gelagert sind. Sofern nicht ausdrücklich anders angegeben, sollen die Begriffe „Speicher“, „Speichergerät“, „computerlesbares Medium“, „Datenspeicher“, „Datenspeichereinrichtung“ und dergleichen Ausführungsformen einzelner Geräte, Ausführungsformen, in denen mehrere Speichergeräte zusammen oder gemeinsam einen Satz von Daten oder Anweisungen sowie einzelne Sektoren innerhalb solcher Geräte einschließen.
  • Die Begriffe „Prozessor“ und „Verarbeitungsgerät“ beziehen sich auf eine Hardwarekomponente eines elektronischen Geräts, die zur Ausführung von Programmieranweisungen konfiguriert ist, beispielsweise einen Mikroprozessor oder eine andere logische Schaltung. Ein Prozessor und ein Speicher können Elemente eines Mikrocontrollers, eines individuell konfigurierbaren integrierten Schaltkreises, eines programmierbaren System-on-a-Chip oder eines anderen elektronischen Geräts sein, das für die Ausführung verschiedener Funktionen programmiert werden kann. Sofern nicht ausdrücklich anders angegeben, soll der Singular-Begriff „Prozessor“ oder „Verarbeitungsgerät“ sowohl Ausführungsformen mit einem einzelnen Verarbeitungsgerät als auch Ausführungsformen umfassen, bei denen mehrere Verarbeitungsgeräte gemeinsam oder kollektiv einen Prozess ausführen.
  • In diesem Dokument bezeichnen die Begriffe „Kommunikationsverbindung“ und „Kommunikationspfad“ einen drahtgebundenen oder drahtlosen Pfad, über den ein erstes Gerät Kommunikationssignale an ein oder mehrere andere Geräte sendet und/oder Kommunikationssignale von diesen empfängt. Geräte sind „kommunikativ verbunden“, wenn die Geräte über eine Kommunikationsverbindung Daten senden und/oder empfangen können. „Elektronische Kommunikation“ bezieht sich auf die Übertragung von Daten über ein oder mehrere Signale zwischen zwei oder mehreren elektronischen Geräten, sei es über ein drahtgebundenes oder über ein drahtloses Netzwerk und sei es direkt oder indirekt über ein oder mehrere zwischengeschaltete Geräte.
  • Wenn in diesem Dokument relative Ordnungsbegriffe wie „erster“ und „zweiter“ verwendet werden, um ein Substantiv zu modifizieren, dient diese Verwendung lediglich dazu, ein Element von einem anderen zu unterscheiden, und ist nicht dazu gedacht, eine sequentielle Reihenfolge zu erfordern, sofern nicht ausdrücklich angegeben.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 63161895 [0001]
    • US 17652348 [0001]

Claims (20)

  1. Verfahren zum Verarbeiten eines hochauflösenden Bildes, wobei das Verfahren durch einen Prozessor Folgendes umfasst: Empfangen eines hochauflösenden Bildes; Erzeugen, unter Verwendung eines Salienzmodells, einer Salienzkarte des hochauflösenden Bildes, wobei die Salienzkarte einen Salienzwert umfasst, der jedem einer Vielzahl von Pixeln des hochauflösenden Bildes zugeordnet ist; Erzeugen einer inversen Transformationsfunktion unter Verwendung der Salienzkarte, die eine inverse Abbildung einer oder mehrerer erster Pixelkoordinaten in einem warptransformierten Bild auf eine oder mehrere zweite Pixelkoordinaten im hochauflösenden Bild darstellt; Implementieren einer Bild-Warptransformation unter Verwendung der Umkehrtransformationsfunktion zum Konvertieren des hochauflösenden Bildes in das warptransformierte Bild, wobei das warptransformierte Bild ein foveiertes Bild ist, das mindestens einen Bereich mit einer höheren Auflösung als einen oder mehrere andere Bereiche des warptransformierten Bildes enthält; und Speichern des warptransformierten Bildes in einem Datenspeicher.
  2. Verfahren nach Anspruch 1, weiterhin umfassend: Erzeugen einer oder mehrerer Begrenzungsrahmenvorhersagen in einem Referenzrahmen des warptransformierten Bildes unter Verwendung eines Objekterkennungsmodells; und Umwandeln erster Koordinaten der einen oder mehreren Begrenzungsrahmenvorhersagen im warptransformierten Bild in zweite Koordinaten der einen oder mehreren Begrenzungsrahmenvorhersagen in einem Referenzrahmen des hochauflösenden Bildes unter Verwendung der inversen Transformationsfunktion.
  3. Verfahren nach Anspruch 2, das außerdem die Verwendung der zweiten Koordinaten der einen oder mehreren Begrenzungsrahmenvorhersagen zum Steuern der Navigation eines autonomen Fahrzeugs umfasst.
  4. Verfahren nach Anspruch 1, das ferner das Erzeugen des Salienzmodells auf der Grundlage einer oder mehrerer Begrenzungsrahmenvorhersagen in mindestens einem Prior-Frame eines Videostreams umfasst, wobei das hochauflösende Bild Teil des Videostreams ist und nach dem mindestens einen Prior-Frame aufgenommen wurde.
  5. Verfahren nach Anspruch 1, das außerdem das Erzeugen des Salienzmodells basierend auf einer oder mehrerer Begrenzungsrahmenvorhersagen in einem datensatzweiten Prior aus einem Trainingsdatensatz umfasst.
  6. Verfahren nach Anspruch 1, wobei die mindestens eine Region mit der höheren Auflösung im warptransformierten Bild mit hoher Wahrscheinlichkeit ein interessierendes Objekt enthält.
  7. Verfahren nach Anspruch 1, das außerdem das Reduzieren einer Auflösung des einen oder der mehreren anderen Bereiche des warptransformierten Bildes umfasst.
  8. Verfahren nach Anspruch 1, wobei das Implementieren der Bild-Warptransformation zum Konvertieren des hochauflösenden Bildes in das warptransformierte Bild unter Verwendung der Umkehrtransformationsfunktion für jedes einer Vielzahl von Pixeln des warptransformierten Bildes Folgendes umfasst: Finden eines Eingabepixels in dem hochauflösenden Bild; und bilineares Interpolieren der Intensität oder Farbe dieses Pixels anhand eines oder mehrerer Pixel im hochauflösenden Bild neben dem Eingabepixel.
  9. Verfahren nach Anspruch 1, wobei die inverse Transformationsfunktion eine differenzierbare Funktion ist, die mithilfe von Backpropagation trainiert wird.
  10. Verfahren nach Anspruch 1, das ferner das Einführen von Symmetrien um jede einer Vielzahl von Kanten der Salienzkarte zur Beschneidungs-Regularisierung des warptransformierten Bildes umfasst.
  11. System zum Verarbeiten eines hochauflösenden Bildes, wobei das System Folgendes umfasst: einen Prozessor; und ein nichtflüchtiges computerlesbares Medium mit Programmieranweisungen, die, wenn sie vom Prozessor ausgeführt werden, den Prozessor dazu veranlassen: - ein hochauflösendes Bild zu empfangen; - unter Verwendung eines Salienzmodells eine Salienzkarte des hochauflösenden Bildes zu erzeugen, wobei die Salienzkarte einen Salienzwert umfasst, der jedem einer Vielzahl von Pixeln des hochauflösenden Bildes zugeordnet ist; - eine inverse Transformationsfunktion unter Verwendung der Salienzkarte zu erzeugen, die eine inverse Abbildung einer oder mehrerer erster Pixelkoordinaten in einem warptransformierten Bild auf eine oder mehrere zweite Pixelkoordinaten im hochauflösenden Bild darstellt; - unter Verwendung der Umkehrtransformationsfunktion eine Bild-Warptransformation zum Konvertieren des hochauflösenden Bildes in das warptransformierte Bild zu implementieren, wobei das warptransformierte Bild ein foveiertes Bild darstellt, das mindestens einen Bereich mit einer höheren Auflösung als einen oder mehrere andere Bereiche des warptransformierten Bildes enthält; und - das warptransformierte Bild in einem Datenspeicher zu speichern.
  12. System nach Anspruch 11, das außerdem Programmieranweisungen umfasst, die, wenn sie vom Prozessor ausgeführt werden, den Prozessor dazu veranlassen: unter Verwendung eines Objekterkennungsmodells eine oder mehrere Begrenzungsrahmenvorhersagen in einem Referenzrahmen des warptransformierten Bildes erzeugen; und unter Verwendung der inversen Transformationsfunktion erste Koordinaten der einen oder mehreren Begrenzungsrahmenvorhersagen im warptransformierten Bild in zweite Koordinaten der einen oder mehreren Begrenzungsrahmenvorhersagen in einem Referenzrahmen des hochauflösenden Bildes umzuwandeln.
  13. System nach Anspruch 12, das außerdem Programmieranweisungen umfasst, die, wenn sie vom Prozessor ausgeführt werden, den Prozessor veranlassen, die zweiten Koordinaten der einen oder mehreren Begrenzungsrahmenvorhersagen zur Steuerung der Navigation eines autonomen Fahrzeugs zu verwenden.
  14. System nach Anspruch 11, das außerdem Programmieranweisungen umfasst, die, wenn sie vom Prozessor ausgeführt werden, den Prozessor veranlassen, das Salienzmodell basierend auf einer oder mehreren Begrenzungsrahmenvorhersagen in mindestens einem Prior-Frame eines Videostreams zu generieren, wobei das hochauflösende Bild Teil des Videostreams ist und nach dem mindestens einem Prior-Frame aufgenommen wird.
  15. System nach Anspruch 11, das außerdem Programmieranweisungen umfasst, die, wenn sie vom Prozessor ausgeführt werden, den Prozessor dazu veranlassen, das Salienzmodell auf der Grundlage einer oder mehrerer Begrenzungsrahmenvorhersagen in einem datensatzweiten Prior zu generieren, der einen Trainingsdatensatz umfasst.
  16. System nach Anspruch 11, wobei die mindestens eine Region mit der höheren Auflösung im warptransformierten Bild mit hoher Wahrscheinlichkeit ein interessierendes Objekt enthält.
  17. System nach Anspruch 11, das außerdem Programmieranweisungen umfasst, die bei Ausführung durch den Prozessor dazu führen, dass der Prozessor die Auflösung des einen oder der mehreren anderen Bereiche des warptransformierten Bildes verringert.
  18. System nach Anspruch 11, wobei die Programmieranweisungen, die, wenn sie vom Prozessor ausgeführt werden, den Prozessor veranlassen unter Verwendung der Umkehrtransformationsfunktion die Bild-Warptransformation zum Umwandeln des hochauflösenden Bildes in das warptransformierte Bild zu implementieren, weiterhin Programmieranweisungen umfassen, um zu veranlassen, dass der Prozessor für jedes einer Vielzahl von Pixeln des warptransformierten Bildes: - ein Eingabepixel im hochauflösenden Bild zu finden; und - eine bilineare Interpolation der Intensität oder Farbe dieses Pixels aus einem oder mehreren Pixeln im hochauflösenden Bild neben dem Eingabepixel durchzuführen.
  19. System nach Anspruch 11, wobei die inverse Transformationsfunktion eine differenzierbare Funktion ist, die mithilfe von Backpropagation trainiert wird.
  20. Computerprogrammprodukt zum Verarbeiten eines hochauflösenden Bildes, wobei das Computerprogrammprodukt einen Speicher umfasst, der Programmieranweisungen speichert, die so konfiguriert sind, dass sie einen Prozessor dazu veranlassen: ein hochauflösendes Bild zu empfangen; unter Verwendung eines Salienzmodells eine Salienzkarte des hochauflösenden Bildes zu erzeugen, wobei die Salienzkarte einen Salienzwert umfasst, der jedem einer Vielzahl von Pixeln des hochauflösenden Bildes zugeordnet ist; unter Verwendung der Salienzkarte eine inverse Transformationsfunktion zu erzeugen, die eine inverse Abbildung einer oder mehrerer erster Pixelkoordinaten in einem warptransformierten Bild auf eine oder mehrere zweite Pixelkoordinaten im hochauflösenden Bild darstellt; unter Verwendung der Umkehrtransformationsfunktion eine Bild-Warptransformation zum Konvertieren des hochauflösenden Bildes in das warptransformierte Bild zu implementieren, wobei das warptransformierte Bild ein foveiertes Bild darstellt, das mindestens einen Bereich mit einer höheren Auflösung als einen oder mehrere andere Bereiche des warptransformierten Bildes enthält; und das warptransformierte Bild in einem Datenspeicher zu speichern.
DE112022001546.2T 2021-03-16 2022-03-09 Systeme und Verfahren zur Erzeugung von Objekterkennungs-Labels unter Verwendung fovealer Bildvergrößerung für autonomes Fahren Pending DE112022001546T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163161895P 2021-03-16 2021-03-16
US63/161,895 2021-03-16
US17/652,348 US20220301099A1 (en) 2021-03-16 2022-02-24 Systems and methods for generating object detection labels using foveated image magnification for autonomous driving
US17/652,348 2022-02-24
PCT/US2022/071045 WO2022198175A1 (en) 2021-03-16 2022-03-09 Systems and methods for generating object detection labels using foveated image magnification for autonomous driving

Publications (1)

Publication Number Publication Date
DE112022001546T5 true DE112022001546T5 (de) 2023-12-28

Family

ID=83285803

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112022001546.2T Pending DE112022001546T5 (de) 2021-03-16 2022-03-09 Systeme und Verfahren zur Erzeugung von Objekterkennungs-Labels unter Verwendung fovealer Bildvergrößerung für autonomes Fahren

Country Status (4)

Country Link
US (1) US20220301099A1 (de)
CN (1) CN117015792A (de)
DE (1) DE112022001546T5 (de)
WO (1) WO2022198175A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11966452B2 (en) 2021-08-05 2024-04-23 Ford Global Technologies, Llc Systems and methods for image based perception
US11663807B2 (en) * 2021-08-05 2023-05-30 Ford Global Technologies, Llc Systems and methods for image based perception
US20230154013A1 (en) * 2021-11-18 2023-05-18 Volkswagen Aktiengesellschaft Computer vision system for object tracking and time-to-collision

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10503999B2 (en) * 2015-03-24 2019-12-10 Hrl Laboratories, Llc System for detecting salient objects in images
US10310064B2 (en) * 2016-08-15 2019-06-04 Qualcomm Incorporated Saliency based beam-forming for object detection
JP6844210B2 (ja) * 2016-11-16 2021-03-17 凸版印刷株式会社 視覚的顕著性マップ生成装置、視覚的顕著性マップ生成方法及びプログラム
CN109118459B (zh) * 2017-06-23 2022-07-19 南开大学 图像显著性物体检测方法和装置
US11663463B2 (en) * 2019-07-10 2023-05-30 Adobe Inc. Center-biased machine learning techniques to determine saliency in digital images

Also Published As

Publication number Publication date
CN117015792A (zh) 2023-11-07
US20220301099A1 (en) 2022-09-22
WO2022198175A1 (en) 2022-09-22

Similar Documents

Publication Publication Date Title
DE102019120880A1 (de) End-to-end-deep-generative-modell für simultane lokalisierung und abbildung
DE102019115707A1 (de) Räumliches und zeitliches aufmerksamkeitsbasiertes tiefenverstärkungslernen von hierarchischen fahrspurwechselstrategien zum steuern eines autonomen fahrzeugs
DE102019115809A1 (de) Verfahren und system zum durchgehenden lernen von steuerbefehlen für autonome fahrzeuge
DE102019111402A1 (de) Steuerungssysteme, steuerungsverfahren und steuerungen für ein autonomes fahrzeug
DE102019112038A1 (de) Steuerungssysteme, steuerungsverfahren und steuerungen für ein autonomes fahrzeug
DE102019111414A1 (de) Steuerungssysteme, steuerungsverfahren und steuerungen für ein autonomes fahrzeug
DE102019113856A1 (de) Systeme, verfahren und steuerungen für ein autonomes fahrzeug, die autonome fahreragenten und fahrrichtlinienlernende implementieren, um richtlinien basierend auf kollektiven fahrerfahrungen der autonomen fahreragenten zu erstellen und zu verbessern
DE112019000049T5 (de) Für autonomes fahren geeignete objekterfassung und erfassungssicherheit
DE102019113880A1 (de) Systeme, verfahren und steuerungen die autonome fahreragenten und einen richtlinienserver zum erfüllen von richtlinien für autonome fahreragenten implementieren, zum steuern eines autonomen fahrzeugs
DE102020110458A1 (de) Fahrzeugpfadvorhersage
DE112022001546T5 (de) Systeme und Verfahren zur Erzeugung von Objekterkennungs-Labels unter Verwendung fovealer Bildvergrößerung für autonomes Fahren
DE102017204404B3 (de) Verfahren und Vorhersagevorrichtung zum Vorhersagen eines Verhaltens eines Objekts in einer Umgebung eines Kraftfahrzeugs und Kraftfahrzeug
DE112018005340T5 (de) Informationsverarbeitungsvorrichtung, fahrzeug, mobiles objekt, informationsverarbeitungsverfahren und programm
DE102019122826A1 (de) Adaptives fahrzeuglernen
DE102019115455A1 (de) Fokus-basiertes markieren von sensordaten
DE102017203276B4 (de) Verfahren und Vorrichtung zur Ermittlung einer Trajektorie in Off-road-Szenarien
DE102020113848A1 (de) Ekzentrizitätsbildfusion
DE102020107149A1 (de) Fahrzeugkapsel-netzwerke
DE102021109413A1 (de) Augmentation von fahrzeugdaten
DE102020102823A1 (de) Fahrzeugkapselnetzwerke
DE102022114201A1 (de) Neuronales Netz zur Objekterfassung und -Nachverfolgung
DE112022002652T5 (de) Automatische erzeugung einer vektorkarte für die fahrzeugnavigation
DE112021006111T5 (de) Systeme und Verfahren zur monokularisierten Objekterkennung
DE102022126706A1 (de) 3D-Oberflächenrekonstruktion mit Punktwolkenverdichtung unter Verwendung tiefer neuronaler Netze für autonome Systeme und Anwendungen
DE102021114724A1 (de) Verbesserter fahrzeugbetrieb