-
TECHNISCHES GEBIET
-
Die vorliegende Offenbarung bezieht sich im Allgemeinen auf die Nichtbind-Unschärfeentfernung und im Besonderen auf Verfahren und Systeme zum Trainieren eines Nichtbind-Unschärfeentfernungsmoduls.
-
Ein von einer Kamera aufgenommenes Bild kann aus einer Vielzahl von Gründen unscharf sein. Zum Beispiel kann sich die Kamera während der Aufnahme bewegt oder gewackelt haben. Bildunschärfe kann auch durch optische Aberrationen verursacht werden. Es gibt auch chromatische Unschärfe, bei der verschiedene Wellenlängen unterschiedlich stark gebrochen werden. Es sind Nichtblind-Entfaltungstechniken bekannt, mit denen ein unscharfes Eingabebild verarbeitet wird, um ein klareres, unschärfeentferntes Ausgabebild zu erhalten. Bei solchen Entfaltungstechniken wird ein Unschärfe-Kernel verwendet, um das unscharfe Eingabebild in ein unschärfeentferntes Ausgabebild zu transformieren. Der Unschärfe-Kernel kann aus einer Punktstreuungsfunktion bestimmt werden, die die Art der zu erwartenden Unschärfeeffekte repräsentiert. Im Falle einer Kamera, die an einem sich bewegenden Fahrzeug montiert ist, wird die Punktstreuungsfunktion aus der Kenntnis der Fahrzeugbewegung abgeleitet und der Unschärfeentfernungs-Kernel auf Basis der Punktstreuungsfunktion bestimmt. Das heißt, eine Unschärfequelle ist in der Bildgebung oft gut bekannt und der Unschärfeprozess kann recht gut mit einer Punktstreuungsfunktion (point spread function - PSF) modelliert werden, die direkt gemessen oder aus dem Wissen über die Physik der Unschärfe abgeleitet wird.
-
Die meisten unscharfen Bilder enthalten neben der Unschärfe auch Rauschen. Das Rauschen verkompliziert das Problem der Unschärfeentfernung zusätzlich. Klassische Techniken entfernen normalerweise die Unschärfe, fügen aber andere Artefakte hinzu. Die direkte Anwendung von tiefenneuronalen Netzen kann erfolgreich sein, aber nur bei relativ schwacher Unschärfe. Da außerdem das Entfaltungsverfahren je nach Einfluss des Rauschens und Änderungen des Unschärfe-Kernels weitgehend verändert wird, sind Verfahren, die Tiefenlerntechniken verwenden, in Bezug auf Genauigkeit und Berechnungsgeschwindigkeit eingeschränkt.
-
Die Bildunschärfeentfernung kann oft auf die Entfaltung mit Hilfe des Unschärfe-Kernels reduziert werden. Die Entfaltung ist ein schlecht dargestelltes inverses Problem. Als solches sollte es geregelt werden. Regelparameter verleihen der Lösung Stabilität. Die Optimierung der Regelparameter ist jedoch eine anspruchsvolle Aufgabe. Wenn die Stabilität zu hoch ist, kann eine unscharfe Ausgabe resultieren, während eine zu geringe Stabilität zu einer Verstärkung des Rauschens führen kann.
-
Dementsprechend ist es wünschenswert, Systeme und Verfahren bereitzustellen, die eine Nichtbind-Unschärfeentfernung ermöglichen, die effizient durch die Verwendung von geregelten Entfaltungstechniken arbeiten, wobei ein Regelparameter effizient und optimal ausgewählt wurde, um die unschärfeentfernten Bildausgaben zu verbessern. Darüber hinaus werden andere wünschenswerte Merkmale und Eigenschaften der vorliegenden Erfindung aus der nachfolgenden detaillierten Beschreibung und den beigefügten Ansprüchen ersichtlich sein, wenn sie in Verbindung mit den beigefügten Zeichnungen und dem vorstehenden technischen Gebiet und Hintergrund genommen werden.
-
BESCHREIBUNG
-
Gemäß einer beispielhaften Ausführungsform wird ein Verfahren zum Trainieren eines nicht Nichtbind-Unschärfeentfernungsmodul (non-blind deblurring module) bereitgestellt. Das Nichtbind-Unschärfeentfernungsmodul enthält ein geregeltes Entfaltungsuntermodul und ein Faltungsneuronalnetzuntermodul. Das geregelte Entfaltungsuntermodul ist so konfiguriert, dass es eine geregelte Entfaltungsfunktion an einem unscharfen Eingabebild durchführt, um ein entfaltetes Bild zu erzeugen, das potenziell Bildartefakte aufweist. Das Faltungsneuronalnetzuntermodul ist so konfiguriert, dass es das entfaltete Bild als Eingabe für ein Faltungsneuronalnetz empfängt und Bildartefakte entfernt, wodurch ein entschärftes Ausgabebild bereitgestellt wird. Das Verfahren umfasst den Empfang von unschärfeentfernten Testbildern und unscharfen Testbildern über mindestens einen Prozessor. Jedes der unscharfen Testbilder ist mit einem entsprechenden der unschärfeentfernten Testbilder durch einen Unschärfe-Kernelterm und einen Rauschterm verbunden. Das Verfahren umfasst das gemeinsame Trainieren des geregelten Entfaltungsuntermoduls und des Faltungsneuronalnetzes über den mindestens einen Prozessor. Das gemeinsame Training umfasst das Anpassen eines Regelparameters der geregelten Entfaltungsfunktion und der Gewichte des Faltungsneuronalnetzes, um eine Kostenfunktion zu minimieren, die eine Differenz zwischen jedem unschärfeentfernten Ausgabebild und einem entsprechenden der unschärfeentfernten Testbilder repräsentiert, wodurch ein trainierter Regelparameter, trainierte Gewichte und ein trainiertes Nichtbind-Unschärfeentfernungsmodul bereitgestellt werden. Das Verfahren umfasst ferner den Empfang eines unscharfen Eingabebildes von einer Bildgebungsvorrichtung über den mindestens einen Prozessor, die Unschärfeentfernung für das unscharfe Eingabebild über den mindestens einen Prozessor unter Verwendung des trainierten Nichtbind-Unschärfeentfernungsmoduls und die Ausgabe eines unschärfeentfernten Ausgabebildes über mindestens einen Prozessor.
-
In Ausführungsformen ist die Entfaltungsfunktion eine Wiener Entfaltungsfunktion. In Ausführungsformen ist die Entfaltungsfunktion eine Tikhonov-geregelte Entfaltungsfunktion.
-
In Ausführungsformen umfasst das Verfahren die Verwendung des trainierten, Nichtbind-Unschärfeentfernungsmoduls, um Unschärfe aus dem unscharfen Eingabebild zu entfernen, wodurch das unschärfeentfernte Ausgabebild erzeugt wird. Das geregelte Entfaltungsuntermodul führt die geregelte Entfaltungsfunktion an dem unscharfen Eingabebild aus, um ein entfaltetes Bild zu erzeugen, das potenziell Bildartefakte aufweist, wobei die geregelte Entfaltungsfunktion den trainierten Regelparameter enthält, und das Faltungsneuronalnetzuntermodul verarbeitet das entfaltete Bild durch das Faltungsneuronalnetz, um Bildartefakte zu entfernen, wobei das Faltungsneuronalnetz die trainierten Gewichte enthält.
-
In einigen Ausführungsformen gibt das Faltungsneuronalnetz Rückstände aus und das trainierte Nichtbind-Unschärfeentfernungsmodul addiert die Rückstände zum entfalteten Bild, wodurch das unschärfeentfernte Ausgabebild erzeugt wird.
-
In Ausführungsformen umfasst das Verfahren das Anpassen des Regelparameters und der Gewichte über den mindestens einen Prozessor unter Verwendung eines Rückwärtspropagierungs-Algorithmus. In Ausführungsformen passt der Rückwärtspropagierungs-Algorithmus den Regelparameter auf der Grundlage von Gradienten, die vom CNN (Convolutional Neural Network) zurückgeführt wurden, und einer Ableitung des entfalteten Bildes, das potenziell Bildartefakte aufweist, in Bezug auf den Regelparameter an.
-
In Ausführungsformen empfängt der mindestens eine Prozessor die unschärfeentfernten Testbilder und erzeugt künstlich die unscharfen Testbilder unter Verwendung einer Unschärfe-Kernelfunktion und einer Rauschfunktion auf den unschärfeentfernten Testbildern.
-
In Ausführungsformen wird das unscharfe Eingabebild von der an einem Fahrzeug montierten Bildgebungsvorrichtung empfangen.
-
In Ausführungsformen enthält das Fahrzeug eine Fahrzeugsteuerung. Das Verfahren beinhaltet, dass die Fahrzeugsteuerung mindestens eine Fahrzeugfunktion basierend auf dem unschärfeentfernten Ausgabebild steuert.
-
Gemäß einer anderen beispielhaften Ausführungsform wird ein System zum Trainieren eines Nichtbind-Unschärfeentfernungsmoduls bereitgestellt. Das System enthält ein Nichtbind-Unschärfeentfernungsmodul, das ein geregeltes Entfaltungsuntermodul und ein neuronales Faltungsneuronalnetzuntermodul enthält. Das geregelte Entfaltungsuntermodul ist so konfiguriert, dass es eine geregelte Entfaltungsfunktion an einem unscharfen Eingabebild durchführt, um ein entfaltetes Bild zu erzeugen, das potenziell Bildartefakte aufweist. Das Faltungsneuronalnetzuntermodul ist so konfiguriert, dass es das entfaltete Bild als eine Eingabe für ein Faltungsneuronalnetz empfängt und Bildartefakte entfernt, wodurch ein unschärfeentferntes Ausgabebild entsteht. Das System enthält mindestens einen Prozessor, der zur Ausführung von Programmanweisungen konfiguriert ist. Die Programmanweisungen sind so konfiguriert, dass sie den mindestens einen Prozessor veranlassen, unschärfeentfernte Testbilder und unscharfe Testbilder zu empfangen. Jedes der unscharfen Testbilder steh mit einem entsprechenden der unschärfeentfernten Testbilder durch einen Unschärfe-Kernelterm und einen Rauschterm in Beziehung. Die Programmanweisungen sind so konfiguriert, dass sie den mindestens einen Prozessor veranlassen, das geregelte Entfaltungsuntermodul und das Faltungsneuronalnetz gemeinsam zu trainieren, indem ein Regelparameter der geregelten Entfaltungsfunktion und Gewichte des Faltungsneuronalnetzes angepasst werden, um eine Kostenfunktion zu minimieren. Die Kostenfunktion ist repräsentativ für eine Differenz zwischen jedem unschärfeentfernten Ausgabebild und einem entsprechenden der unschärfeentfernten Testbilder, wodurch ein trainierter Regelparameter, trainierte Gewichte und ein trainiertes Nichtbind-Unschärfeentfernungsmodul bereitgestellt werden. Die Programmanweisungen veranlassen ferner den mindestens einen Prozessor zum: Empfangen eines unscharfen Eingabebildes von der Bildgebungsvorrichtung, Entfernen einer Unschärfe für das Eingabebild unter Verwendung des trainierten Nichtbind-Unschärfeentfernungsmoduls und Ausgeben des unschärfeentfernten Ausgabebildes.
-
In Ausführungsformen ist die Entfaltungsfunktion eine Wiener Entfaltungsfunktion. In Ausführungsformen ist die Entfaltungsfunktion eine Tikhonov-geregelte Entfaltungsfunktion.
-
In Ausführungsformen ist das trainierte Nichtbind-Unschärfeentfernungsmodul so konfiguriert, dass es Unschärfe aus dem unscharfen Eingabebild entfernt und dadurch das unschärfeentfernten Ausgabebild erzeugt. Das geregelte Entfaltungsuntermodul ist so konfiguriert, dass es die geregelte Entfaltungsfunktion auf dem unscharfen Eingabebild ausführt, um ein entfaltetes Bild zu erzeugen, das potenziell Bildartefakte aufweist, wobei der trainierte Regelparameter verwendet wird. Das Faltungsneuronalnetzuntermodul ist so konfiguriert, dass es das entfaltete Bild durch das Faltungsneuronalnetz verarbeitet, um Bildartefakte unter Verwendung der trainierten Gewichte zu entfernen.
-
In einigen Ausführungsformen ist das Faltungsneuronalnetz so konfiguriert, dass es Rückstände ausgibt, und das trainierte Nichtbind-Unschärfeentfernungsmoduls ist so konfiguriert, dass es die Rückstände zum entfalteten Bild hinzufügt, wodurch das unschärfeentfernte Ausgabebild erzeugt wird.
-
Die Programmanweisungen sind so konfiguriert, dass sie den mindestens einen Prozessor veranlassen, den Regelparameter und die Gewichte unter Verwendung eines Rückwärtspropagierungs-Algorithmus anzupassen. In Ausführungsformen sind die Programmanweisungen so konfiguriert, dass sie den mindestens einen Prozessor veranlassen, den Regelparameter auf der Grundlage von Gradienten, die vom CNN zurückgeführt wurden, und einer Ableitung des entfalteten Bildes, das potenziell Bildartefakte aufweist, in Bezug auf den Regelparameter anzupassen.
-
In Ausführungsformen sind die Programmanweisungen so konfiguriert, dass sie den mindestens einen Prozessor veranlassen, die unschärfe entfernten Testbilder zu empfangen und die unscharfen Testbilder unter Verwendung einer Unschärfe-Kernelfunktion und einer Rauschfunktion auf den unschärfeentfernten Testbildern künstlich zu erzeugen.
-
In Ausführungsformen umfasst das System ein Fahrzeug. Das Fahrzeug enthält eine Kamera und das Nichtbind-Unschärfeentfernungsmodul. Das Nichtbind-Unschärfeentfernungsmodul ist so konfiguriert, dass es das unscharfe Eingabebild von der Kamera empfängt.
-
In Ausführungsformen enthält das Fahrzeug ein Steuermodul, das so konfiguriert ist, dass es mindestens eine Fahrzeugfunktion basierend auf dem unschärfeentfernten Ausgabebild steuert.
-
Figurenliste
-
Die vorliegende Offenbarung wird im Folgenden in Verbindung mit den folgenden Zeichnungsfiguren beschrieben, wobei gleiche Ziffern gleiche Elemente bezeichnen, und wobei:
- 1 ein funktionales Blockdiagramm eines Systems zur Nichtblind-Unschärfeentfernung ist, gemäß einer beispielhaften Ausführungsform;
- 2 ein funktionales Blockdiagramm der Datenprozesse in einem geregelten Entfaltungsuntermodul ist, gemäß einer beispielhaften Ausführungsform;
- 3 ist ein funktionales Blockdiagramm von Datenprozessen in einem anderen geregelten Entfaltungsuntermodul ist, gemäß einer beispielhaften Ausführungsform;
- 4 ein funktionales Blockdiagramm eines Systems zum Trainieren eines Nichtblind-Unschärfeentfernungsmoduls ist, gemäß einer beispielhaften Ausführungsform;
- 5 ein funktionales Blockdiagramm ist, das eine Datentransformation darstellt, die in einem Nichtblind-Unschärfeentfernungsmodul verarbeitet wird, gemäß einer beispielhaften Ausführungsform;
- 6 ein Flussdiagramm eines Verfahrens zum Trainieren und Verwenden eines nicht Nichtblind-Unschärfeentfernungsmoduls ist, gemäß einer beispielhaften Ausführungsform; und
- 7 unscharfe Eingabebilder, entfaltete Bilder und unschärfeentfernte Ausgabebilder gemäß der Verwendung des Systems von 1 zeigt, gemäß einer beispielhaften Ausführungsform.
-
DETAILLIERTE BESCHREIBUNG
-
Die folgende detaillierte Beschreibung ist lediglich beispielhaft und soll die Offenbarung oder deren Anwendung und Verwendungen nicht einschränken. Darüber hinaus besteht nicht die Absicht, an eine Theorie gebunden zu sein, die im vorangegangenen Hintergrund oder in der folgenden detaillierten Beschreibung vorgestellt wurde.
-
Wie hierin verwendet, bezieht sich der Begriff „Modul“ auf jede Hardware, Software, Firmware, elektronische Steuerkomponente, Verarbeitungslogik und/oder Prozessorbauteil, einzeln oder in beliebiger Kombination, einschließlich und ohne Einschränkung: anwendungsspezifischer integrierter Schaltkreis (ASIC), ein elektronischer Schaltkreis, ein Prozessor (gemeinsam, dediziert oder als Gruppe) und Speicher, der ein oder mehrere Software- oder Firmware-Programme ausführt, eine kombinatorische Logikschaltung und/oder andere geeignete Komponenten, die die beschriebene Funktionalität bieten.
-
Ausführungsformen der vorliegenden Offenlegung können hier in Form von funktionalen und/oder logischen Blockkomponenten und verschiedenen Verarbeitungsschritten beschrieben werden. Es ist zu beachten, dass solche Blockkomponenten durch eine beliebige Anzahl von Hardware-, Software- und/oder Firmware-Komponenten realisiert werden können, die so konfiguriert sind, dass sie die angegebenen Funktionen ausführen. Zum Beispiel 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 Steuerung eines oder mehrerer Mikroprozessoren oder anderer Steuergeräte ausführen können. Darüber hinaus werden Fachleute verstehen, dass Ausführungsformen der vorliegenden Offenbarung in Verbindung mit einer beliebigen Anzahl von Systemen praktiziert werden können, und dass die hier beschriebenen Systeme lediglich beispielhafte Ausführungsformen der vorliegenden Offenbarung sind.
-
Der Kürze halber werden konventionelle Techniken in Bezug auf Signalverarbeitung, Datenübertragung, Signalisierung, Steuerung und andere funktionale Aspekte der Systeme (und der einzelnen Betriebskomponenten der Systeme) hier nicht im Detail beschrieben. Darüber hinaus sollen die in den verschiedenen hier enthaltenen Figuren dargestellten Verbindungslinien beispielhafte funktionale Beziehungen und/oder physikalische Kopplungen zwischen den verschiedenen Elementen darstellen. Es ist zu beachten, dass viele alternative oder zusätzliche funktionale Beziehungen oder physikalische Verbindungen in einer Ausführungsform der vorliegenden Offenbarung vorhanden sein können.
-
Die hier beschriebenen Systeme und Verfahren zur Nichtblind-Unschärfeentfernung basieren auf einem hybriden System, das ein klassisches geregeltes Entfaltungsmodul und ein Faltungsneuronalnetz (Convolutional Neural Network - CNN) verwendet. Die Parameter des Regelmoduls werden zusammen mit den CNN-Gewichten durch ein gemeinsames Trainingsverfahren bestimmt. Die Trainingsdaten umfassen eine beliebige relevante Bilddatenbank sowie vom System erzeugte Unschärfe- und Rauschbilder. Es hat sich gezeigt, dass die hier vorgestellten Systeme und Verfahren eine artefaktfreie Bildunschärfeentfernung auch bei nahezu beliebig starken Unschärfen in den Eingabebildern ermöglichen. Das hier offenbarte System und das Verfahren sind für mehrere Erfassungsszenarien relevant - Bewegungsunschärfe mit hoher Belichtungszeit, chromatische Unschärfe usw.
-
1 veranschaulicht ein System 10 zur Nichtblind-Unschärfeentfernung. Das System 10 umfasst ein Fahrzeug 12, eine an dem Fahrzeug 12 angebrachte Bildgebungsvorrichtung 14, Fahrzeugsensoren 16, eine Fahrzeugsteuerung, eine Fahrzeugsteuerung 18 und ein Nutzungsverarbeitungssystem 26. Das Nutzungsverarbeitungssystem 26 umfasst ein Nichtblind-Unschärfeentfernungsmodul 34, das von einem Prozessor 70 ausgeführt wird, und Computerprogrammanweisungen 74, die im Speicher 72 gespeichert sind. In Ausführungsformen ist die Bildgebungsvorrichtung 14 so konfiguriert, dass sie Bilder als unscharfe Eingabebilder 24 erfasst, aus denen eine Unschärfe unter Verwendung einer geregelten Entfaltungsfunktion 44 und eines Faltungsneuronalnetzes, CNN 42, das im Nichtblind-Unschärfeentfernungsmodul enthalten ist, entfernt wird, um dadurch unschärfeentfernte Ausgabebilder 20 zu erzeugen. Die unschärfeentfernten Ausgabebilder werden von der Fahrzeugsteuerung 18 verwendet, um eine oder mehrere Funktionen des Fahrzeugs 12 zu steuern.
-
Das System 10 wird im Zusammenhang mit (z. B. innerhalb) des Fahrzeugs 12, insbesondere eines Automobils, gezeigt. Das System 10 ist jedoch auch in anderen Fahrzeugkontexten nützlich, z. B. in Luftfahrzeugen, Seeschiffen usw. Das System 10 ist auch außerhalb von Fahrzeugkontexten anwendbar, z. B. mit jedem elektronischen Gerät, wie einem Mobiltelefon, einer Kamera und einem Tablet-Gerät, das ein Bild aufnimmt, das einer Unschärfe unterliegt. Die vorliegende Offenbarung ist insbesondere, aber nicht ausschließlich, für Unschärfe infolge von Bewegung relevant (die in Fahrzeugkontexten häufig auftritt, insbesondere nachts oder zu anderen Zeiten, wenn die Belichtungszeiten verlängert sind). Das System 10 ist auch bei anderen Unschärfequellen als Bewegung nützlich, z. B. bei solchen, die durch optische Aberrationen oder chromatische Filterung verursacht werden.
-
In verschiedenen Ausführungsformen ist das Fahrzeug 12 ein autonomes Fahrzeug und das System 10 ist in das autonome Fahrzeug 12 eingebaut. Das System 10 ist jedoch in jeder Art von Fahrzeug (autonom oder anderweitig) nützlich, das die Bildgebungsvorrichtung 14 enthält, die Bilder erzeugt, die einer Unschärfe unterliegen. Das autonome Fahrzeug 12 ist zum Beispiel ein Fahrzeug, das automatisch gesteuert wird, um Passagiere 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, LKWs, Geländefahrzeuge (SUVs), Freizeitfahrzeuge (RVs), Wasserfahrzeuge, Luftfahrzeuge usw., ebenfalls verwendet werden kann. In einer beispielhaften Ausführungsform ist das autonome Fahrzeug 12 ein sogenanntes Level-Vier- oder Level-Fünf-Automatisierungssystem. Ein Level-Vier-System kennzeichnet eine „hohe Automatisierung“, die sich darauf bezieht, dass ein automatisiertes Fahrsystem alle Aspekte der dynamischen Fahraufgabe fahrmodusspezifisch ausführt, auch wenn ein menschlicher Fahrer nicht angemessen auf eine Aufforderung zum Eingreifen reagiert. Ein Level-Fünf-System bedeutet „Vollautomatisierung“ und bezieht sich auf die vollständige Ausführung aller Aspekte der dynamischen Fahraufgabe durch ein automatisiertes Fahrsystem unter allen Fahrbahn- und Umgebungsbedingungen, die von einem menschlichen Fahrer bewältigt werden können.
-
In einigen Ausführungsformen enthält das Fahrzeug 12 eine Fahrzeugsteuerung 18, die so konfiguriert ist, dass sie eine oder mehrere Fahrzeugfunktionen auf der Grundlage von Bildern der Bildgebungsvorrichtung 14 steuert. Die Fahrzeugsteuerung 18 kann ein oder mehrere Fahrerassistenzsysteme enthalten, die so konfiguriert sind, dass sie auf der Grundlage von Bildern aus der Bildgebungsvorrichtung 14 eine elektronische Fahrerassistenz bereitstellen. Die Fahrzeugsteuerung 18 kann einen autonomen Fahrer oder halbautonomen Fahrer enthalten, der so konfiguriert ist, dass er das Fahrzeug 12 durch ein oder mehrere Betätigungssysteme (z. B. Antriebs-, Brems- und Lenksysteme) auf der Grundlage der von der Bildgebungsvorrichtung 14 eingegebenen Bilder steuert. In all diesen Ausführungsformen ermöglichen besser unschärfeentfernte Eingabebilder der Fahrzeugsteuerung 18 eine sicherere Steuerung des Fahrzeugs 12.
-
Gemäß verschiedenen Ausführungsformen umfasst das System 10 die Bildgebungsvorrichtung 14 (z. B. eine Front-, Heck- oder Seitenkamera), Fahrzeugsensoren 16, die Fahrzeugsteuerung 18 und das Nutzungsverarbeitungssystem 26. Das Nutzungsverarbeitungssystem 26 ist durch Programmieranweisungen 74, die auf einem Prozessor 70 (wie weiter unten beschrieben) ausgeführt werden, so konfiguriert, dass es ein unscharfes Eingabebild 24 von der Bildgebungsvorrichtung 14 empfängt und die geregelte Entfaltungsfunktion 44 auf dem unscharfen Eingabebild durchführt, die auf einem Regelparameter beruht. Das resultierende entfaltete Bild 40 wird durch das Faltungsneuronalnetz (CNN) 42 geleitet, um alle Bildartefakte zu entfernen, die durch die Entfaltungsfunktion 44 entstanden sind. Gemäß der vorliegenden Offenbarung werden die Gewichte des CNN 42 und der Regelparameter der Entfaltungsfunktion 44 gemeinsam trainiert. Das heißt, der Regelparameter ist Teil einer Rückwärtspropagierungskette beim Trainieren des CNN 42. Die gemeinsam trainierten Netzwerkschichten umfassen Schichten des CNN 42 und eine Entfaltungsschicht.
-
Wie in 1 gezeigt, umfasst das Nutzungsverarbeitungssystem 26 den mindestens einen Prozessor 70, den Speicher 72 und dergleichen. Der Prozessor 70 kann die im Speicher 72 gespeicherten Programmanweisungen 74 ausführen. Der Prozessor 70 kann sich auf eine zentrale Prozessoreinheit (CPU), eine Grafikverarbeitungseinheit (GPU) oder einen dedizierten Prozessor beziehen, auf dem die Verfahren und Funktionen gemäß der vorliegenden Offenbarung ausgeführt werden. Der Speicher 72 kann aus einem flüchtigen Speichermedium und/oder einem nichtflüchtigen Speichermedium aufgebaut sein. Zum Beispiel kann der Speicher 72 aus einem Festwertspeicher (ROM) und/oder einem Direktzugriffsspeicher (RAM) aufgebaut sein. Der Speicher 72 speichert mindestens einen Befehl, der vom Prozessor 70 ausgeführt wird, um die hier beschriebenen Blöcke, Module und Verfahrensschritte zu implementieren. Obwohl die Module 28, 30 und 34 getrennt vom Prozessor 70, dem Speicher 72 und den Programmieranweisungen 74 dargestellt sind, dient dies lediglich der Veranschaulichung. In Wirklichkeit werden die Module 28, 30 und 34 durch Programmieranweisungen 74 verkörpert, die im Speicher 72 gespeichert und von einem oder mehreren Prozessoren 70 des Nutzungsverarbeitungssystems 26 ausführbar sind.
-
Die Bildgebungsvorrichtung 14 ist eine beliebige geeignete Kamera oder eine Videovorrichtung, die Bilder erzeugt. Es wird davon ausgegangen, dass Bilder aufgrund von Bewegungsunschärfe oder anderen Arten von Unschärfequellen für die Zwecke der vorliegenden Offenbarung Unschärfe enthalten (und daher als unscharfe Eingabebilder 24 bezeichnet werden). Die Bildgebungsvorrichtung 14 kann eine Farbbildgebungsvorrichtung oder eine Graustufenbildgebungsvorrichtung sein. Die Bildgebungsvorrichtung 14 kann im sichtbaren und/oder infraroten Spektrum arbeiten. Die Bildgebungsvorrichtung 14 kann ein-, zwei- oder dreidimensionale (1D, 2D oder 3D) Bilder erzeugen, die als unscharfe Eingabebilder 24 dienen.
-
Die Fahrzeugsensoren 16 umfassen eine Vielzahl von Sensoren, die von der Fahrzeugsteuerung 18 verwendet werden, um den Betrieb des Fahrzeugs 12 zu steuern. Von besonderer Bedeutung für die vorliegende Offenbarung sind Geschwindigkeit (z. B. Raddrehzahlsensoren), Beschleunigung (Beschleunigungsmesser und Gyroskope) und andere Fahrzeugsensoren 16, die Daten 22 liefern, die erfasste Parameter der Fahrzeugbewegung darstellen. Die Bewegungsparameterdaten 22 werden vom Nutzungsverarbeitungssystem 26 verwendet, um eine Punktstreuungsfunktion (PSF) zu bestimmen, wie hier weiter beschrieben. Die Punktstreuungsfunktion, die vom Nutzungsverarbeitungssystem 26 bestimmt wird, wird in der Entfaltungsfunktion 44 verwendet, um Unschärfe aus dem unscharfen Eingabebild 24 zu entfernen. Obwohl die vorliegende Offenbarung größtenteils in Bezug auf eine PSF beschrieben wird, die dynamisch auf der Grundlage von Bewegungsparameterdaten 22 bestimmt wird, sind die offenbarten Systeme und Verfahren auch in anderen Anwendungen anwendbar, wenn das Unschärfemodell bekannt ist. Manchmal ist die Unschärfe der Bildgebungsvorrichtung 14 selbst inhärent und die Bildgebungsvorrichtung kann kalibriert werden, um die PSF direkt zu messen, ohne auf externe Messdaten zurückzugreifen. Die vorliegende Offenbarung findet auch in diesen Anwendungen Verwendung.
-
Die Unschärfe eines Eingabebildes kann mathematisch durch die folgende Gleichung dargestellt werden:
wobei I
B ein unscharfes Eingabebild
24 ist, / ein unbekanntes, unschärfeentferntes Bild ist, das mit dem unscharfen Eingabebild
24 korrespondiert, und K
B eine Matrix oder ein Unschärfe-Kernel ist, die/der eine Punktstreuungsfunktion (PSF) modelliert, die die Art der Unschärfe in dem unscharfen Eingabebild
24 beschreibt. Da sich die vorliegende Offenbarung mit Nichtblind-Unschärfeentfernung befasst, wird davon ausgegangen, dass die PSF bekannt ist und somit der Unschärfe-Kernel K
B aus der PSF abgeleitet werden kann. PSFs für alle Arten von Unschärfe sind in der Technik bekannt, einschließlich der Unschärfe, die durch die Bewegung der Bildgebungsvorrichtung
14 während der Belichtung verursacht wird. Theoretisch kann der Kehrwert des Unschärfe-Kernels oder der Matrix (der Kehrwert wird durch
repräsentiert) mit dem unscharfen Eingabebild
24 multipliziert werden, um das unscharfe Bild I aufzulösen. Allerdings macht das Rauschen im unscharfen Eingabebild
24 eine solche einfache Entfaltung unpraktisch. Die Rauschkomponente wird während des Entfaltungsprozesses auf unkontrollierte Weise verstärkt, was wahrscheinlich zu entfalteten Bildern führt, die weniger klar (oder unschärfer) sind als das ursprüngliche unscharfe Eingabebild
24. Eine Lösung für dieses Problem der Rauschverstärkung ist die Verwendung einer geregelten Inversen des Unschärfe-Kernels, um Unschärfe aus dem unscharfen Eingabebild
24 zu entfernen.
-
Solche geregelten Entfaltungsfunktionen sind in der Technik bekannt und zwei Beispiele werden im Folgenden vorgestellt. Geregelte Entfaltungsfunktionen stützen sich auf einen Regelparameter λ, um die Auswirkungen von Rauschen abzuschwächen. Der Regelparameter λ hat einen großen Einfluss auf die Qualität der Entfaltung. Wenn der Regelparameter λ zu niedrig ist, kann das Rauschen einen erheblichen Einfluss auf das Ausgabebild haben. Wenn der Regelparameter λ zu hoch ist, dann wird die Unschärfe im Ausgabebild vergrößert. Gemäß der vorliegenden Offenbarung wird der Regelparameter λ als Teil eines gemeinsamen Trainingsprozesses für CNN-Gewichte des CNN 42 bestimmt.
-
Bezugnehmend auf 1 empfängt das Regelentfaltungsuntermodul 36 das unscharfe Eingabebild 24 und wendet darauf die geregelte Entfaltungsfunktion 44 an. Die geregelte Entfaltungsfunktion 44 enthält einen inversen geregelten Unschärfe-Kernel oder eine Matrix, die als Funktion eines trainierten Regelparameters λ bestimmt wird. Das Nutzungsverarbeitungssystem 26 enthält ein Punktstreuungsfunktionsmodul 28, das Bewegungsparameterdaten 22 einschließlich mindestens Geschwindigkeits- und optional Beschleunigungsdaten empfängt, um Punktstreuungsfunktions (PSF) -daten 30 zu bestimmen, die eine PSF-Funktion repräsentieren. Die PSF-Daten 31 sind variabel, abhängig von der Fahrzeugbewegung (z. B. je schneller das Fahrzeug, desto größer die Streuung oder Unschärfe, die durch die PSF definiert wird) und den Kameradaten 76, die relevante Kameraparameter repräsentieren, die von der Bildgebungsvorrichtung 14 erhalten werden (z. B. die Belichtungszeit). Die PSF-Daten 31 werden vom Punktstreuungsfunktionsmodul 28 bestimmt, das eine Modellierungsfunktion zur Bestimmung der erwarteten PSF auf der Grundlage der Bewegungsparameterdaten 22 und der Kameradaten 76 enthält. Das Unschärfe-Kernel-Bestimmungsmodul 30 transformiert die in den PSF-Daten 31 definierte PSF in Matrixform und gibt entsprechende Unschärfe-Kerneldaten 32 aus. In Fällen, in denen die bewegungsinduzierte Unschärfe nicht die Quelle der Unschärfe ist, ist die Bestimmung der PSF auf diese Weise nicht notwendig.
-
Das geregelte Entfaltungsuntermodul 36 empfängt Unschärfe-Kerneldaten 32, die den Unschärfe-Kernel KB repräsentieren, und verwendet diese bei der Durchführung einer geregelten Entfaltung am unscharfen Eingabebild 24, um ein entfaltetes Bild 40 zu erzeugen. Es sollte anerkannt werden, dass viele Varianten von PSFs und deren Bestimmung verfügbar sind, abhängig von der Art der Unschärfequelle. Obwohl die vorliegende Offenbarung weitgehend in Bezug auf Bewegungsunschärfe und in Verbindung mit Fahrzeuganwendungen beschrieben wird, können andere Unschärfequellen und somit andere Wege zur Bestimmung der PSF je nach Anwendung in die vorliegende Offenbarung aufgenommen werden. So ist das Punktstreuungsfunktionsmodul 28 nicht unbedingt von den Bewegungsparameterdaten 22 oder den Kameradaten 76 (insbesondere der Belichtungszeit) abhängig. Wenn beispielsweise eine Bildgebung über einen breiten Wellenlängenbereich (z. B. mehr als eine Farbe) erfolgt, wird das kombinierte Bild oft unscharf sein, da jedes der mehreren Wellenlängenbänder von der Optik der Bildgebungsvorrichtung 14 in unterschiedlichem Maße gebrochen wird. Eine Punktstreuungsfunktion kann definiert werden, um eine solche chromatische Unschärfe umzukehren.
-
2 zeigt ein beispielhaftes Datenflussdiagramm für eine geregelte Entfaltungsfunktion
44, die vom geregelten Entfaltungsuntermodul
36 für im Fall von 1D-Bewegungsunschärfe verwendet wird. Die geregelte Entfaltungsfunktion
44 ist in diesem Fall eine Tikhonov-geregelte Entfaltungsfunktion. In Anlehnung an
2 erzeugt das PSF-Modul
28 PSF-Daten
31, die die PSF darstellen, die in den Unschärfe-Kernel K
B transformiert werden, der durch die Unschärfe-Kerneldaten
32 definiert ist. Der Unschärfe-Kernel wird einer Singularwert-Zerlegung (SVD) unterzogen, um USV-Zerlegungsmatrizen gemäß Gleichung 2 zu erzeugen:
-
Die Inverse des geregelten Unschärfe-Kernels wird gefunden als:
wobei I (unscharfe Version des unscharfen Eingabebildes
24):
und I
B das unscharfe Eingabebild
24 ist.
-
Wie in 2 gezeigt, besteht die geregelte Entfaltungsfunktion 44 aus invers zerlegten Matrizen 80, 82, 84 als Ergebnis einer SVD- und Inversionsoperation auf dem Unschärfe-Kernel KB. Die Matrix 82 ist eine Funktion des trainierten Regelparameters λ 78 und hat die Form S(S2 + λ2I)-1. Das unscharfe Eingabebild 24 wird mit den Zerlegungsmatrizen 80, 82, 84 als Teil der geregelten Tikhonov-Entfaltungsfunktion 44 multipliziert, um dadurch ein entfaltetes Bild 40 zu erhalten.
-
3 zeigt ein beispielhaftes Datenflussdiagramm für eine geregelte Entfaltungsfunktion
44, die vom geregelten Entfaltungsuntermodul
36 für im Fall von 2D-Bewegungsunschärfe verwendet wird. Die geregelte Entfaltungsfunktion
44 ist in diesem Fall eine Wiener-geregelte Entfaltungsfunktion. Die Wiener-geregelte Entfaltungsfunktion ist durch die folgenden Gleichungen definiert:
und
-
In Anlehnung an
3 erzeugt das PSF-Modul
28 PSF-Daten
31, die die PSF repräsentieren, die in den Unschärfe-Kernel transformiert wird K
B transformiert wird, der durch Unschärfe-Kerneldaten
32 definiert ist. Der Unschärfe-Kernel K
B wird einer ersten Fast-Fourier-Transformationsoperation (FFT)
88 unterzogen, wie in Gleichung 7 gefordert. In ähnlicher Weise wird das unscharfe Eingabebild
24 einer zweiten FFT-Operation
90 unterzogen und dann mit einer Inversen des geregelten Unschärfe-Kernels in Operation
92 bearbeitet, die dargestellt wird durch
und eine Funktion des trainierten Regelparameters λ 78 repräsentiert. Die Wiener-geregelte Entfaltungsfunktion beinhaltet weiterhin eine inverse FFT-Operation
94 für die Ausgabe der Operation
92. Auf diese Weise wird das entfaltete Bild
40 durch das geregelte Entfaltungsuntermodul
36 ausgegeben.
-
Das entfaltete Bild 40 wird im Allgemeinen Artefakte als inhärentes Ergebnis des geregelten Entfaltungsprozesses aufweisen. Aus diesem Grund enthält das Nichtblind-Unschärfeentfernungsmodul 34 das CNN-Untermodul 38 mit dem CNN 42, das so konfiguriert ist, dass es durch Training alle Bildartefakte im entfalteten Bild 40 entfernt. In einer Ausführungsform ist das CNN 42 ein Rest-U-Netz. Das CNN 42 wird trainiert, um Artefakte zu entfernen, und gleichzeitig wird das geregelte Entfaltungsuntermodul 36 trainiert, um einen optimalen Regelparameter λ zu bestimmen.
-
4 zeigt ein funktionales Blockdiagramm eines Trainingsverarbeitungssystems 50 zum Trainieren des Nichtblind-Unschärfeentfernungsmoduls 34 gemäß einer beispielhaften Ausführungsform. Das Trainingsverarbeitungssystem 50 umfasst eine Bilddatenbank 56, die als Quelle für unschärfeentfernte Testbilder 60 dient. Ein Punktstreuungsfunktions-Erzeugungsmodul 52 erzeugt künstliche PSFs, die in künstlichen PSF-Daten 54 verkörpert sind. Die künstlichen PSFs werden so erzeugt, dass sie den PSFs ähnlich sind, die bei der Verwendung des Nichtblind-Unschärfeentfernungsmoduls 34 auftreten würden. Im Falle von Fahrzeuganwendungen werden beispielsweise zufällige PSFs erzeugt, die eine 1D- oder 2D-Unschärfeentfernung repräsentieren, basierend auf Belichtungszeiten und Bewegungsparametern, die während des Betriebs des Fahrzeugs 12 auftreten würden. Ein Rauscherzeugungsmodul 62 liefert künstliche Rauschdaten 64, die für das Rauschen repräsentativ sind, das auf das unschärfeentfernte Testbild 60 angewendet werden soll. Das Rauscherzeugungsmodul 62 kann eine Gaußfunktion verwenden. Das Modul 58 zur Erzeugung eines unscharfen Bildes empfängt das unscharfe Testbild 60, die künstlichen PSF-Daten 54 und die künstlichen Rauschdaten 64 und erzeugt ein unscharfes Testbild 66, das mit dem unschärfeentfernten Testbild 60 korrespondiert, aber Unschärfe auf der Basis der künstlichen PSF-Daten 54 und Rauschen auf der Basis der künstlichen Rauschdaten 64 enthält.
-
Das Trainingsverarbeitungssystem 50 umfasst einen Prozessor 91 und einen Speicher 93, in dem Programmieranweisungen 95 gespeichert sind. Der Prozessor 91 führt die Programmieranweisungen 95 aus, um einen Trainingsprozess, wie er noch beschrieben wird, und die verschiedenen Module des Trainingsverarbeitungssystems 50 zu initiieren. Während des Trainingsprozesses ist das geregelte Entfaltungsuntermodul 36 so konfiguriert, dass es das unscharfe Testbild 66 empfängt und das unscharfe Testbild 66 in ein scharfes, aber möglicherweise mit Artefakten behaftetes, entfaltetes Bild 40 entfaltet (wie an anderer Stelle hierin beschrieben). Zu den beispielhaften Artefakten gehören unangenehme Ring-Artefakte, die in der Nähe starker Kanten auftreten. Das CNN-Untermodul 38 ist so konfiguriert, dass es das entfaltete Bild empfängt und Ausgaberückstände 48 erzeugt, nachdem es das entfaltete Bild durch die Schichten des CNN 42 geleitet hat. Die Rückstände 48 sind repräsentativ für Bildartefakte, nachdem das CNN 42 trainiert wurde. Die Rückstände 48 und das entfaltete Bild 40 werden in der Summierungsfunktion 46 kombiniert, um ein unschärfeentferntes Ausgabebild 20 zu erzeugen. Der Trainingsprozess, der vom Trainingsverarbeitungssystem 50 ausgeführt wird, passt die Gewichte des CNN 42 und den Regelparameter λ an, um das unschärfeentfernte Ausgabebild 20 so weit wie möglich an das unschärfeentfernte Testbild 60 anzupassen. Das heißt, ein Kostenfunktionsmodul 96 implementiert eine Kostenfunktion 100, um Kostendaten 98 zu erzeugen, die für eine Differenz zwischen dem unschärfeentfernten Ausgabebild 20 und dem unschärfeentfernten Testbild 60 repräsentativ sind.
-
Das Trainingsverarbeitungssystem 50 stellt gemeinsam die Gewichte des CNN 42 und den Regelparameter λ des geregelten Entfaltungsuntermoduls 36 in einem sich wiederholenden Prozess an, um die Kostendaten 98 zu minimieren. In Ausführungsformen verwendet das Trainingsverarbeitungssystem 50 einen Rückwärtspropagierungs-Algorithmus. Der Rückwärtspropagierungs-Algorithmus berechnet den Gradienten der Kostenfunktion 100 in Bezug auf die Gewichte des CNN 42 und den Gradienten der Kostenfunktion 100 in Bezug auf den Regelparameter λ für das unschärfeentfernte Testbild 60 und das unschärfeentfernte Ausgabebild 20. Solche Gradientenverfahren trainieren gemeinsam Schichten des CNN 42 und eine geregelte Entfaltungsschicht und aktualisieren Gewichte und den Regelparameter λ, um die Kostenfunktion 100 zu minimieren (z.B. um den durch die Kostendaten 98 definierten Kostenwert zu minimieren). Der Rückwärtspropagierungs-Algorithmus berechnet den Gradienten der Kostenfunktion 100 in Bezug auf jede Gewichtung und den Regelparameter λ durch die Kettenregel, wobei der Gradient schichtweise berechnet wird und von der letzten Schicht des CNN 42 (die dem Ausgang am nächsten liegt) rückwärts zur ersten Schicht des CNN 42 iteriert und mit der geregelten Entfaltungsschicht endet.
-
Ein schichtenbasiertes Konzept für das Training des Nichtblind-Unschärfeentfernungsmoduls 34 ist in 5 dargestellt. Das unscharfe Testbild 66 wird durch eine geregelte Entfaltungsschicht 102 geleitet, um ein entfaltetes Bild 40 zu erzeugen, das anschließend durch Schichten des CNN 42 geleitet wird, um Rückstände 48 zu erzeugen, die zu dem entfalteten Bild 40 addiert werden, um das unschärfeentfernte Ausgabebild 20 zu erzeugen. Gemäß der vorliegenden Offenbarung werden die CNN-Schichten 104 und die geregelte Entfaltungsschicht 102 trainiert, indem die Gewichte der CNN-Schichten 104 und der Regelparameter λ der geregelten Entfaltungsschicht 102 während desselben Rückwärtspropagierungsprozesses angepasst werden.
-
Innerhalb eines standardmäßigen gradientenbasierten Kostenfunktionsoptimierungsschemas (z.B. SGD-Optimierung) ist die Aktualisierungsbeziehung für jeden Parameter θ des neuronalen Netzes (NN) (von Schritt n - 1 zu Schritt n ):
-
Wobei L die Kostenfunktion des neuronalen Netzes ist und η die Lernrate ist. Da die Abhängigkeit der Kostenfunktion von jedem Parameter θ des neuronalen Netzes typischerweise durch ein kettenartiges Abhängigkeitsschema manifestiert ist, werden die erforderlichen Gradienten durch einen Rückwärtspropagierungs-Algorithmus berechnet.
-
Insbesondere, wenn
dann
-
Im Hinblick auf die vorliegende Offenbarung sind die Gesamtkosten, die vom Kostenfunktionsmodul
96 berechnet werden, als Funktion des Regelparameters λ:
-
Das heißt, die Kostenfunktion
100 ist eine Funktion des entfalteten Bildes J
DB 40, das wiederum eine Funktion des Regelparameters λ ist. Zur Bestimmung der Ableitung der Kosten L nach dem Regelparameter λ, wie in Gleichung 9 gefordert, ergibt sich
-
repräsentiert die Rückwärtspropagierung von CNN
42 und repräsentiert die Akkumulation der schichtweisen Ableitungen als Ergebnis der Rückwärtspropagierungsberechnungen durch die CNN-Schichten
104. Die Eingabegradienten
werden vom CNN
42 zurückgeführt und repräsentieren die Änderung der Kostenfunktion
100 in Bezug auf die Änderung des entfalteten Bildes J
DB. Dieser Term wird multipliziert mit
das eine Änderung des entfalteten Bildes J
DB 40 in Bezug auf die Änderung des Regelparameters λ repräsentiert.
-
Im Fall der Tikhonov-geregelten Entfaltung ist
das aus Gleichung 3 abgeleitet werden kann. Das Aktualisierungsschema für den Regelparameter wird sein:
das sich aus einer Kombination der Gleichungen 9 und 14 ableiten lässt.
-
Im Fall der geregelten Wiener Entfaltung ist
-
Für beide Gleichungen 15 und 16 ermöglichen die durch Rückwärtspropagierung durch das CNN
42 erhaltenen Gradienten die Berechnung von
das mit der Änderung des entfalteten Bildes
40 in Bezug auf die Änderung des Regelparameters multipliziert wird, wodurch ein Wert für den Regelparameter für den aktuellen Schritt oder die Iteration des Trainingsverarbeitungssystems
50 bereitgestellt wird. Das Trainingsverarbeitungssystem
50 wiederholt solche Schritte, um die Kostenfunktion
100 sowohl in Bezug auf die CNN-Gewichte als auch auf den Regelparameter zu minimieren. Das Trainingsverarbeitungssystem
26 gibt das Nichtblind-Unschärfeentfernungsmodul
34 mit trainierten CNN-Gewichten
106 aus, die in das CNN
42 geladen sind, und einem trainierten Regelparameter
78, der in die Entfaltungsfunktion
44 geladen ist.
-
6 ist ein Flussdiagramm eines Verfahrens 200 zum Trainieren und Benutzen des Nichtblind-Unschärfeentfernungsmoduls 34, gemäß einer beispielhaften Ausführungsform. Das Verfahren 200 kann gemäß einer beispielhaften Ausführungsform in Verbindung mit dem Fahrzeug 12 von 1 und den Nutzungs- und Trainingsverarbeitungssystemen 26, 50 von 1 und 4 implementiert werden.
-
Das Verfahren 200 umfasst den Schritt 210 des Empfangs des unscharfen Eingabebildes 24. Bei der Verwendung wird das unscharfe Eingabebild 24 von der Bildgebungsvorrichtung 14 empfangen, die mit dem Fahrzeug 12 verbunden sein kann, aber auch mit einer anderen Vorrichtung oder einem anderen Gerät verbunden sein kann. Beim Training kann das unscharfe Eingabebild 66 durch das Modul 58 zur Erzeugung unscharfer Bilder künstlich erzeugt werden, um Rauschdaten 64 und künstliche PSF-Daten 54 in das unschärfeentfernte Testbild 60 einzubauen. Es ist weiterhin vorgesehen, dass das unschärfeentfernte Testbild 60 und das unscharfe Testbild 66 als Teil eines Bestands an unscharfen und entsprechenden unschärfeentfernten Bildern empfangen werden, ohne dass eine künstliche Erzeugung von unscharfen Bildern erforderlich ist.
-
In Schritt 220 wird das unscharfe Eingabebild 24, 66 durch das geregelte Entfaltungsuntermodul 36 unter Anwendung der Entfaltungsfunktion 44 entfaltet, wodurch das entfaltete Bild 40 bereitgestellt wird. Die Entfaltungsfunktion 44 enthält den Regelparameter λ, der während des Trainings noch nicht optimiert wird, der aber während der Verwendung gemäß den hierin beschriebenen Trainingsverfahren optimal ausgewählt wird.
-
In Schritt 230 wird das entfaltete Bild 40 des Faltungsneuronalnetzuntermoduls 38 empfangen und durch das CNN 42 geleitet, um die zu entfernenden Artefakte zu bestimmen. Die Gewichte des CNN 42 befinden sich während des Trainings in der Optimierung und wurden während der Verwendung optimiert und festgelegt.
-
In Schritt 240 wird das unschärfe entfernte Bild durch das Nichtblind-Unschärfeentfernungsmodul 34 ausgegeben. Das CNN 42 erzeugt Rückstände 48, die zu dem entfalteten Bild 40 addiert werden, um das unschärfeentfernte Ausgabebild 20 zu erzeugen.
-
Der Verwendungsschritt 250 umfasst die Steuerung einer Fahrzeugfunktion durch die Fahrzeugsteuerung 18 auf der Grundlage des unschärfeentfernten Ausgabebildes 20. Andere, nicht fahrzeugbezogene Anwendungen sind für die hier vorgestellte Nichtblind-Unschärfeentfernungstechnologie denkbar.
-
Gemäß Schritt 260 wird während des Trainings die Kostenfunktion 100 durch das Kostenfunktionsmodul 96 basierend auf einer Differenz zwischen dem unschärfeentfernten Testbild 60 und dem unschärfeentfernten Ausgabebild 20 bewertet. In Schritt 270 passt das Trainingsverarbeitungssystem 50 gemeinsam die Gewichte des CNN 42 und den Regelparameter der Entfaltungsfunktion 44 an, um die Kosten (definiert durch die Kostendaten 98) zu minimieren, die durch die Kostenfunktion 100 berechnet werden. In Ausführungsformen umfasst das Verfahren 200 das iterative Anpassen des Regelparameters λ in Schritten, um die Kosten zu minimieren, wobei jede Iteration das Multiplizieren von rückwärtspropagierten Gradienten durch jede Schicht des CNN mit der Ableitung des entfalteten Bildes 40 in Bezug auf den Regelparameter λ umfasst. Die rückwärtspropagierten Gradienten stellen die Ableitung der Kostenfunktion in Bezug auf das entfaltete Bild 40 dar.
-
Gemäß den hier beschriebenen Systemen und Verfahren kann der Regelparameter λ trainiert werden, um eine verbesserte Unschärfeentfernung von Eingabebildern auf eine verarbeitungseffiziente Weise bereitzustellen. Beispielhafte Ergebnisse des Nichtblind-Unschärfeentfernungsmoduls 34, bei dem die CNN-Gewichte und der Regelparameter λ gemäß dem hier beschriebenen gemeinsamen Trainingsschema bestimmt wurden, sind in 7 dargestellt. Zeile 1 zeigt drei verschiedene unscharfe Eingabebilder A1, B1 und C1 mit 2D-Bewegungsunschärfe. Diese Bilder werden durch die Entfaltungsfunktion 44 (geregelte Wiener Entfaltung) und ihrem zugehörigen trainierten Regelparameter λ betrieben. Die resultierenden entfalteten Bilder A2, B2 und C2 sind in Zeile 2 dargestellt. Diese Bilder sind schärfer und klarer, enthalten aber einige Artefakte. Ring-Artefakte sind besonders in Bild C3 zu sehen. Nach dem Durchlaufen des CNN 42 werden klare, scharfe und artefaktfreie unschärfeentfernte Ausgabebilder A3, B3 und C3 bereitgestellt. Diese Ausgabebilder können in weiteren Verarbeitungsschritten verwendet werden, z. B. zur Anzeige auf einer Benutzeroberfläche oder in Bildverarbeitungssteuerungsfunktionen. Maschinenvision-Steuerungsfunktionen können auf der Grundlage der unschärfeentfernten Ausgabebilder der Zeile 3 Merkmale besser erkennen, was auf der Grundlage der unscharfen Eingabebilder der Zeile 1 nicht praktikabel gewesen wäre. Dies ist besonders nützlich in Fahrzeugsteuerungssystemen, wo die Sicherheit durch verbesserte Unschärfeentfernung verbessert werden kann.
-
Es wird deutlich, dass die offenbarten Verfahren, Systeme und Fahrzeuge von den in den Figuren dargestellten und hier beschriebenen abweichen können. Zum Beispiel können das Fahrzeug 12, die Nutzungs- und Trainingsverarbeitung 26, 50 und das System 10 und/oder verschiedene Komponenten davon von den in den 1-5 dargestellten und in Verbindung damit beschriebenen abweichen. Darüber hinaus können bestimmte Schritte des Verfahrens 200 von den in 6 dargestellten abweichen. Es wird ebenfalls deutlich, dass bestimmte Schritte des oben beschriebenen Verfahrens gleichzeitig oder in einer anderen Reihenfolge als in 6 dargestellt ablaufen können.
-
Obwohl in der vorangegangenen detaillierten Beschreibung mindestens eine beispielhafte Ausführungsform vorgestellt wurde, sollte man sich darüber im Klaren sein, dass es eine große Anzahl von Variationen gibt. Es sollte auch gewürdigt werden, dass die beispielhafte Ausführungsform oder die beispielhaften Ausführungsformen lediglich Beispiele sind und nicht dazu gedacht sind, den Umfang, die Anwendbarkeit oder die Konfiguration der Offenbarung in irgendeiner Weise zu begrenzen. Vielmehr soll die vorstehende detaillierte Beschreibung dem Fachmann eine praktische Anleitung zur Umsetzung der beispielhaften Ausführungsform oder der beispielhaften Ausführungsformen geben. Es sollte verstanden werden, dass verschiedene Änderungen in der Funktion und Anordnung der Elemente vorgenommen werden können, ohne vom Umfang der beigefügten Ansprüche und der rechtlichen Äquivalente davon abzuweichen.