-
TECHNISCHES GEBIET
-
Die Offenbarung betrifft den Weißabgleich und die Farbkorrektur einer Fahrzeugkamera.
-
ALLGEMEINER STAND DER TECHNIK
-
Kameras in der Kabine von Fahrzeugen können wertvolle, dem Benutzer zugewandte Merkmale bereitstellen, z. B. Videokonferenzen, Gesichtserkennung usw. Häufig enthält die Kabine eines Fahrzeugs mehrere Umgebungsbeleuchtungsquellen und -materialien, was den Weißabgleich und die Farbkorrektur erschwert. Eine schlechte Farbkorrektur und ein schlechter Weißabgleich können ein unästhetisches Video erzeugen, was die Erfahrung eines Benutzers zum Beispiel bei Videokonferenzen beeinträchtigt. Farbkorrektur und Weißabgleich, die verrauschte oder ungenaue Videos erzeugen, können die Genauigkeit und Zuverlässigkeit von Anwendungen maschinellen Sehens verringern, die Bildverarbeitung durchführen; automatisierte Aufgaben, wie etwa die Gesichtserkennung, können fehlschlagen. Im Übrigen erzeugen fahrzeuginterne Kameras, die Rot-Grün-Blau- (RGB-) und IR-Sensoren kombinieren, zusätzliche Herausforderungen bei der Farbkorrektur. Des Weiteren fügen unterschiedliche Kameraverarbeitungsfähigkeiten auch Variationen hinzu, die es schwierig machen, den Weißabgleich und die Farbkorrektur von einer Kamera zur nächsten anzuwenden.
-
KURZDARSTELLUNG
-
Der übliche Weißabgleich und die übliche Farbkorrektur von Bildern basieren auf Annahmen über das Beleuchtungsumfeld, zum Beispiel können natürliche Beleuchtung und natürliche Farben angenommen werden (z. B. die Annahme der „Grauen Welt“, bei der ein Bild im Durchschnitt neutral grau ist). Abhängig von dem Kamerasensor und der Anzeige und Beleuchtung des Umfelds kann ein Objekt jedoch eine unterschiedliche erscheinende Farbe und Beleuchtung aufweisen. Bei Bildern eines Objekts kann diese Abweichung für das Auge unangenehm sein und die Genauigkeit von Bildverarbeitungsalgorithmen, wie etwa Algorithmen maschinellen Sehens, verringern. Kurz gesagt, gibt es ein Problem mit der Unsicherheit in dem Beleuchtungsumfeld, in der ein Bild aufgenommen wird.
-
Eine Kamera vorausgesetzt und unter der Annahme, dass ihre Farbraumreaktionsfunktion gemessen wurde, gibt es inhärente Unbekannte, wie etwa den Farbraum eines Objekts und seine Funktion der Reflexionsgradverteilung in beide Richtungen (bidirectional reflectance distribution function - BRDF). Im Besonderen kann es im Umfeld Unbekannte geben, wie etwa den Umgebungslichtfarbraum und den Farbraum von Objekten, die für eine Fahrzeugkabine nicht dauerhaft sind, und bekannte Größen, wie etwa den Farbraum von Objekten, die für die Fahrzeugkabine dauerhaft sind. In Bezug auf den Objektfarbraum, wenn der Farbraum eines Objekts angenommen wird und die Kamera charakterisiert wurde und wenn bestimmte Farbraum-/-verteilungsannahmen des Umfelds der Szene (oder der Beleuchtung) getroffen werden (z. B. durchschnittlich Grau), dann, wenn diese Annahmen, auf denen Farbraumkorrektur und Weißabgleich durchgeführt werden, nicht zutreffen, kann das sich aus der Farbkorrektur und dem Weißabgleich ergebende Bild erheblich von der Ground Truth abweichen. Die Ground Truth kann sich auf die wahre Farbe (z. B. in der Realität) oder die menschliche Wahrnehmung der wahren Farbe beziehen. Ein Modell maschinellen Lernens kann unter Verwendung der Ground Truth trainiert werden, um Farb- und andere Bilddaten zu identifizieren. Ein Vorteil der vorliegenden Offenbarung ist eine verbesserte Farbschätzungspräzision, wodurch einer RGB-Kamera ermöglicht wird, als multispektraler Bildgeber zu fungieren, während gleichzeitig die Farbdarstellung global und auf einer Pixelebene verbessert wird.
-
In dieser Schrift beschriebene Ausführungsformen beheben das Problem der Farbkorrektur und des Weißabgleichs durch Verwenden eines Gleichungssystems (siehe 1 und 2), durch Interagieren (z. B. Beleuchten) mit dem Umfeld, und/oder durch Einbeziehen bekannter Merkmale des Umfelds (z. B. bekannte Fahrzeuginnenraumfarben). Das heißt, die Betätigung der Kabinenbeleuchtung oder das Integrieren anderer äußerer Kenntnisse kann verwendet werden, sodass unter Voraussetzung einer Reaktionsfunktion für die Kamera die vorstehend erwähnten Unbekannten gelöst und verwendet werden können, um genaue Weißabgleichmatrizen und Farbkorrekturmatrizen abzuleiten. Hinsichtlich einer Fahrzeugkabine könnten bekannte Größen Stoff auf Sitzen beinhalten, der bestimmte Farben aufweist, das Vorhandensein von glänzenden Chromteilen oder -verkleidungen, die stark reflektieren, und Beleuchtung, die in dem Umfeld gesteuert wird (z. B. Kabinenleuchten). Es kann eine stark reflektierende, aber diffuse Lichtsonde verwendet werden. Idealerweise kann die Lichtsonde kein Farbband wesentlich absorbieren. Zum Beispiel kann eine Lichtmessvorrichtung eine Karte mit niedrigerer Auflösung der Beleuchtung des Umfelds erhalten. Die bekannten Werte können ermöglichen, dass das Beleuchtungsumfeld integriert, erweitert und/oder abgetastet wird, um die modellierte Beleuchtung des Umfelds oder die Farbe des Objekts zu verbessern. Ein weiterer Vorteil der vorliegenden Offenbarung besteht darin, dass eine Vorrichtung Umgebungsbeleuchtung innerhalb eines Fahrzeugs von dem Fahrzeug (z. B. Sonnenlicht außerhalb des Fahrzeugs, das von innerhalb des Fahrzeugs aufgenommen wird) oder von Licht, das durch eine Vorrichtung innerhalb des Fahrzeugs abgegeben wird (z. B. von einem Mobiltelefon), aufnehmen kann.
-
In Anbetracht des Vorstehenden wird ein Bild von einer Kamera empfangen, die in eine Kabine eines Fahrzeugs eingebaut ist. Typischerweise enthalten Kameras ein Farbfilteranordnung (color filter array - CFA), bei der ein sich wiederholendes 2D-Muster von Filtern derartig über der Sensoranordnung platziert wird, dass jedes Pixel die Lichtintensität einer einzelnen Farbe erkennen kann. Es ist häufig wünschenswert, das sich ergebende Bild, das rohe CFA-Bild, durch einen Prozess der räumlichen und Farbinterpolation in eine Darstellung umzuwandeln, die für die menschliche Interpretation angenehmer ist. Es können andere Filteranordnungen verwendet werden, wie etwa eine Mikrolinse und/oder polarisierende Linsen. Es kann der Mosaikeffekt des Bildes entfernt werden und sein Rauschen wird verringert. Für Anwendungen maschinellen Sehens/neuronaler Netzwerke ist es jedoch möglicherweise nicht erforderlich, den Mosaikeffekt eines Bildes zu entfernen (z. B. kann ein Erfassungsalgorithmus eine rohe CFA verwenden, um ein Objekt von Interesse zu erfassen). Alternativ kann ein neuronales Ende-zu-Ende-Netzwerk mit einem Rohbild plus den bekannten Werten als Eingaben verwendet werden und kann eine Ausgabe erzeugen, wie etwa ein korrigiertes Farbbild, Tiefendaten und/oder erfasste Objekte. Ein Segmentierungsalgorithmus wird auf das Bild angewendet. Eine globale Beleuchtung für das Bild wird aufgelöst. Auf Grundlage der Segmentierung des Bildes und der globalen Beleuchtung wird eine Funktion der Reflexionsgradverteilung in beide Richtungen (BRDF) für Farb- und/oder Reflexionsgradinformationen von Material in dem Kabinenbereich des Fahrzeugs aufgelöst. Eine Weißabgleichmatrix und eine Farbkorrekturmatrix für das Bild werden auf Grundlage der BRDF berechnet. Die Weißabgleichmatrix und die Farbkorrekturmatrix werden auf das Bild angewendet, das dann zur zusätzlichen Bildverarbeitung angezeigt oder gespeichert wird oder eine Ausgabe des multispektralen Bildes sein kann. Auf diese Weise stellt die vorliegende Offenbarung eine verbesserte Bildverarbeitung für fahrzeuginterne Anwendungen bereit.
-
Figurenliste
-
Die vorliegende Beschreibung wird aus der folgenden detaillierten Beschreibung besser verständlich, die vor dem Hintergrund der beigefügten Zeichnungen gelesen wird, wobei gleiche Bezugszeichen verwendet werden, um gleiche Teile in der beigefügten Beschreibung zu bezeichnen.
- 1 zeigt ein Kamerabild einer Kabine eines Fahrzeugs gemäß einer oder mehreren Ausführungsformen der Offenbarung.
- 2 zeigt eine Formel zum Beschreiben des Lichts, das durch eine Kamera empfangen wird, gemäß einer oder mehreren Ausführungsformen der Offenbarung.
- 3 zeigt, wie die in 2 gezeigte Lichtmodellformel gemäß einer oder mehreren Ausführungsformen der Offenbarung in unbekannte und bekannte Komponenten unterteilt werden kann.
- 4 zeigt Beispiele bekannter Kabinenmerkmale gemäß einer oder mehreren Ausführungsformen der Offenbarung.
- 5 zeigt eine Pipeline zur Bildsignalverarbeitung (image signal processing - ISP) gemäß einer oder mehreren Ausführungsformen der Offenbarung.
- 6 zeigt Details eines Prozesses zum Erzeugen einer Farbmatrix und einer Weißabgleichmatrix gemäß einer oder mehreren Ausführungsformen der Offenbarung.
- 7 zeigt eine Zusammenführung der in den 5 und 6 gezeigten Prozesse gemäß einer oder mehreren Ausführungsformen der Offenbarung.
- 8 zeigt Beispiele reflektierender Kabinenoberflächen gemäß einer oder mehreren Ausführungsformen der Offenbarung.
- 9 zeigt eine Rechenvorrichtung gemäß einer oder mehreren Ausführungsformen der Offenbarung.
-
DETAILLIERTE BESCHREIBUNG
-
1 zeigt ein Kamerabild 100 einer Kabine eines Fahrzeugs. Eine oder mehrere Kameras 102 sind in die Struktur der Kabine eingebettet. Eine oder mehrere Kameras können das Vorhandensein einer Filteranordnung, Farbe, Polarisation, Mikrolinse usw. oder eine Kombination davon aufweisen. Ferner kann einer oder mehreren Kameras eine Filteranordnung fehlen, auf einer Anzahl von Pixeln oder über den gesamten Bildgeber hinweg. Die Kameraempfindlichkeit kann insbesondere bei schlechten Lichtverhältnissen durch Entfernen der Filteranordnung verbessert werden. Durch Anwenden der Methoden der vorliegenden Offenbarung können Vorrichtungen eine oder mehrere Farben aus den Bilddaten identifizieren. Eine Umsetzung kann das Verwenden einer sehr spärlichen Anordnung mit begrenzter räumlicher Farbkenntnis beinhalten, aber die Methoden in dieser Schrift verwenden, um die fehlenden Pixelfarbeigenschaften zu identifizieren, um die Schätzungen des Farbraums zu verbessern. Wenn die durchschnittliche Kabinenfarbe im Sichtfeld der Kamera konstant wäre (z. B. durchschnittlich grau) oder einem konstanten Beleuchtungsumfeld ausgesetzt wäre, könnten Weißabgleich und Farbkorrektur unter Verwendung bekannter Algorithmen angemessen durchgeführt werden. Eine Fahrzeugkabine ist jedoch hochdynamischen Beleuchtungsbedingungen sowie Abweichungen in der Farbe von Objekten im Sichtfeld der Kamera ausgesetzt. Wetter, Tageszeit, Straßenlaternen, Scheinwerfer anderer Fahrzeuge, Sonnenlicht vor niedrigem Horizont, Benutzerrechenvorrichtungen und andere Bedingungen führen möglicherweise zu signifikanten unbekannten Beleuchtungs- und Farbauswirkungen, die Bilder der Fahrzeugkabine beeinflussen können. Zusätzlich kann die Farbe von Objekten im Sichtfeld der Kamera dramatisch und dynamisch variieren. Diese Bedingungen können sich schnell ändern, zum Beispiel beim Verlassen von und Einfahren in Tunnel(n), Parkhäuser(n), Unterführungen, beim Ansehen eines Films einer intelligenten Vorrichtung eines Benutzers (z. B. wenn dies auf Grundlage der Verwendung des Fahrzeugs zulässig ist, wie etwa einer Fahrerunterstützungsfunktion, und unter Einhaltung mit einschlägigen Gesetzen) und dergleichen. Große Dachfenster können die Wirkung von Außenbeleuchtung verstärken.
-
Wie nachfolgend erörtert, hängt das von einer Kamera empfangene Licht von Kombinationsfaktoren ab, die Außenbeleuchtung, optischen Eigenschaften von Innenflächen (z. B. Sicherheitsgurt, Kopfstütze, Kabinenwand, farbige Luftballons), Kamera- und Oberflächengeometrien und unter Umständen Innenbeleuchtung (z. B. ein Dachfenster) beinhalten. Leuchten in der Kabine können ein schmaleres Wellenlängenband verwenden als ein Kamerasensor, was zu einer weiteren Genauigkeit bei einer Farbraumberechnung führt und eine mögliche Berechnung eines multispektralen Bildes ermöglicht. Da jedoch einige bildbeeinflussende Faktoren bekannt sind, ist es möglich, einige der unbekannten bildbeeinflussenden Faktoren aufzulösen, wie etwa externe Beleuchtung (die für Fahrerzustandsüberwachungssysteme hilfreich sein könnte) oder optische Eigenschaften von Objekten, die in die Kabine gelangen. Andere Anwendungsfälle, in denen eine Farbverbesserung Fahrzeug- oder andere Vorrichtungsmerkmale verbessern kann, beinhalten Impulsüberwachen auf Grundlage einer Gesichtsfarbe eines Benutzers im Zeitverlauf unter Verwendung einer Kamera und Einfügen von virtuellen Objekten in eine Szene (z. B. für einen Video-Chat mit mehreren Fahrzeugen oder andere Anwendungen maschinellen Sehens, wenn globale Beleuchtung und Tiefe aufgelöst wurden). Wenn die meisten der bildbeeinflussenden Variablen bekannt sind und/oder aufgelöst sind, kann die Ground-Truth-Farbe eines Bildes geschätzt werden. Dies kann die Erzeugung genauer Farbkorrekturmatrizen und Weißabgleichmatrizen ermöglichen. Das heißt, unter Verwendung bekannter Variablen können unbekannte Variablen in Beleuchtungsgleichungen (nachfolgend erörtert) aufgelöst werden. Auf diese Weise kann ein Unterschied zu bestehenden Methoden die Fähigkeit sein, eine pixel- oder zonenweise Korrekturmatrix zu bestimmen, welche die Farb-/Beleuchtungsartabweichung über ein Bild räumlich weiter verbessern kann. Einige bekannte Variablen sind die Innenflächen in der Kabine eines Fahrzeugs. Diese Flächen können durchgehend vorhanden sein und weisen durchgehende Funktionen der Reflexionsgradverteilung in beide Richtungen (BRDFs) auf. Des Weiteren weisen viele Fahrzeugkabinen stark reflektierende Chromoberflächen auf. Diese können als De-facto-Lichtsonden verwendet werden, und Bilddaten von diesen Chromoberflächen können verwendet werden, um die Genauigkeit von Farbkorrekturmatrizen und Weißabgleichmatrizen weiter zu verbessern.
-
2 zeigt eine Formel zum Beschreiben des von einer Kamera empfangenen Lichts. 2 veranschaulicht, wie sich Aspekte einer Szene auf eine Bildsensorreaktion auswirken. Obwohl Tageslicht angenommen wird, kann jede Art von Lichtquelle durch das Modell dargestellt werden. Die Quellenbeleuchtung weist eine Intensität und eine spektrale Leistungsverteilung (Leistungen bei jeweiligen Wellenlängen) auf. Objekte in der Szene reflektieren Licht über ihre Oberflächenreflexionsvermögen (in Abhängigkeit von einer Wellenlänge) bei unterschiedlichen Einfalls- und Reflexionswinkeln auf Grundlage der relativen Ausrichtung der Lichtquelle(n), der Oberflächenausrichtung des Objekts und der Kamera(s). Die Formel 110 in 2 modelliert die Kamerasensorreaktion in Abhängigkeit von Pixelposition (x), Licht-Objekt-Winkel (a), Objekt-Kamera-Winkel (n), Beleuchtungsintensität (I), Oberflächenreflexionsvermögen (S), Wellenlänge, und spektrale Leistungsverteilung (E).
-
Unter Bezugnahme auf 2 kann eine Lichtquelle 202 (z. B. die Sonne) Licht als eine Umgebungslichtquelle abgeben. Das Licht kann von Objekten (z. B. einem Baum 204) reflektiert werden und kann von einer Kamera 206 aufgenommen werden. I kann die Summe der Fahrzeuglichtintensität und einer beliebigen Umgebungslichtintensität darstellen. (a, n) können Einheitsvektoren als einen Geometriebegriff darstellen. E(λ) kann die spektrale Leistungsdichte der externen Beleuchtung darstellen. S(λ) kann ein unbekanntes Reflexionsvermögen einer Position x in einem Einzelbild darstellen. Rx kann die Kamerareaktion (z. B. der Kamera 206) der Szene darstellen (z. B. die von der Kamera 206 aufgenommenen Bilddaten). Die Kamerareaktion kann durch die Formel 110 dargestellt werden.
-
3 zeigt, wie die in 2 gezeigte Lichtmodellformel in eine unbekannte Komponente 110A und eine bekannte Komponente 110B unterteilt werden kann. Die unbekannte Komponente 110A stellt die unbekannten Beleuchtungs- und Farbeigenschaften der Szene dar. Die bekannte Komponente 110B stellt bekannte Innenraumkomponenten dar, z. B. bekannte Oberflächenreflexion in der Kabine, Kabinenbeleuchtung usw. Es ist zu beachten, dass die Kabinenleuchte angeschaltet werden kann und sogar eine Farbverschiebung von 10 % ausreichen kann, um das Beleuchtungsumfeld (was die unbekannte Beleuchtung beinhaltet) aus der verursachten Änderung der Beleuchtung abzuleiten. Das heißt, angesichts der Unbekannten 114, wie etwa der Umgebung E und der Insassen S (im RGB-Raum), und der Bekannten 116, wie etwa der inneren Reflexionsvermögenswerte, kann die unbekannte spektrale Leistungsverteilung erhalten werden. In einem anderen Beispiel kann ein Algorithmus maschinellen Lernens, z. B. ein neuronales Netzwerk, dazu ausgestaltet und trainiert sein (z. B. Eingaben/Ausgaben, die Begriffe in der vorliegenden Offenbarung integrieren), um eine durchgängige Bildsignalverarbeitung (und optional -wahrnehmung) durchzuführen. Die vorliegende Erfindung kann derart integriert werden, dass der Algorithmus die physikalische Beziehung erlernt.
-
4 zeigt Beispiele für bekannte Kabinenmerkmale 120. Die bekannten Kabinenmerkmale 120 können dieselbe Funktion wie eine vordefinierte Farbkarte erfüllen und können gleichermaßen verwendet werden, um Farbkorrekturmatrizen und Weißabgleichmatrizen abzuleiten. Farbbilder können in Farbanordnungen gespeichert werden (z. B. mit Spalten für Breite, Höhe und Farbe). Ein von einer Kamera erfasstes Eingabefarbbild kann in eine derartige Farbanordnung umgewandelt werden, und die unkorrigierten und linearisierten Eingabepixeldaten O können durch eine Anordnung dargestellt werden, in der die Zeilen normalisierte und linearisierte RGB-Pegel eines Pixels darstellen (z. B. jeder Zeile, die einen R-Pixelwert, einen G-Pixelwert und einen B-Pixelwert bereitstellt, die für das jeweilige Pixel, dem die Zeile entspricht, normalisiert und linearisiert sind). Die transformierte (z. B. korrigierte) Anordnung kann unter Verwendung einer Matrixmultiplikation mit der Farbkorrekturmatrix erzeugt werden. Zum Beispiel:
- und wobei die RGB-Werte jedes korrigierten Pixels eine lineare Kombination der drei Eingabefarbkanäle des Pixels sind.
-
5 zeigt eine Pipeline 130 zur Bildsignalverarbeitung (image signal processing - ISP). Die ISP-Pipeline 130 beinhaltet zahlreiche bekannte Schritte, deren Beschreibung außerhalb des Schutzumfangs der vorliegenden Offenbarung liegt. Es ist zu beachten, dass der Weißabgleich aus Schritt 6 durch die Kamera durchgeführt wird, bevor das Bild durch die Kamera ausgegeben wird, wohingegen die Farb- und Weißraumumwandlung aus Schritt 11 mit Farbkorrekturmatrizen und Weißabgleichmatrizen durchgeführt wird, die von in dieser Schrift beschriebenen Ausführungsformen abgeleitet sind. Bei Schritt 1 wird das Rohbild von dem Kamerasensor gelesen. Bei Schritt 2 wird Schwarzlicht subtrahiert. Bei Schritt 3 wird eine Linsenkorrektur durchgeführt (normalerweise in der Kamera). Bei Schritt 4 wird standardmäßige Entfernung des Mosaikeffektes durchgeführt (z. B. ein für IR-Pixel modifizierter Bayer-Filter oder ein Bayer), gefolgt von einer Weißabgleich- und Farbkorrektur bei Schritt 6. Der Farbton und die Sättigung können bei Schritt 7 eingestellt werden. Die Belichtungskurve wird bei Schritt 8 eingestellt und die Farbe wird bei Schritt 9 manipuliert. Wenn die Tonkurve bei Schritt 10 angewendet wird, kann bei Schritt 132 eine Farbmatrix und/oder eine Weißabgleichmatrix berechnet werden (siehe 6). Bei Schritt 11 werden Farbraum- und Weißabgleichkorrektur mit den Farb- und Weißabgleichmatrizen aus Schritt 132 durchgeführt. Bei Schritt 12 wird eine Gammakurveneinstellung angewendet und bei Schritt 134 wird das endgültige Bild angezeigt (oder an einen Bildverarbeitungsalgorithmus, wie etwa einen Gesichtserkennungsalgorithmus, weitergeleitet). Abgesehen von Schritt 132 ist keiner der Schritte wesentlich, und Schritt 132 kann entweder mit einem von der Kamera ausgegebenen Bild umgesetzt werden oder kann unter Verwendung derselben in dieser Schrift beschriebenen Methoden in der Kamera (als Teil der ISP-Pipeline der Kamera) durchgeführt werden. Ferner können ein oder mehrere Schritte in ein neuronales Netzwerk integriert sein, das einen oder mehrere Eingabeparameter empfangen kann, die in der vorliegenden Offenbarung beschrieben sind, wie etwa Rohbilddaten und/oder bekannte Werte, wie etwa den Farbraum von Objekten, die für die Fahrzeugkabine dauerhaft sind. Ferner kann die ISP des neuronalen Netzwerks ferner Wahrnehmungserfassungen auf höherer Ebene, wie etwa den Blick des Fahrers, die Kopfhaltung usw., zusätzlich zu oder anstelle eines durch Farb- und Weißabgleich korrigierten Bildes ausgeben. Alternativ kann eine derartige ISP eines neuronalen Netzwerks eine latente Vektordarstellung der Szene anstelle eines vom Menschen lesbaren Bildes zum Zwecke der Eingabe in andere neuronale Netzwerke ausgeben.
-
6 zeigt Details eines Prozesses zum Erzeugen einer Farbmatrix und einer Weißabgleichmatrix und zum Bereitstellen einer Farbkorrektur/Verbesserung/Einstellung an den Bilddaten. Wie vorstehend angemerkt, kann der in 6 gezeigte Prozess mit der Tonkurvenanwendungsstufe der ISP-Pipeline beginnen, wie in 5 gezeigt. Der Prozess aus 6 kann jedoch in anderen Stufen durchgeführt werden. Bei Schritt 150 wird eine semantische Segmentierung und/oder Tiefenschätzung durchgeführt. Dieser Schritt kann durch ein ordnungsgemäß trainiertes neuronales Faltungsnetzwerk (convolutional neural network - CNN) durchgeführt werden, zum Beispiel können Rohbild(er) (z. B. mit RGB-Daten), Tiefenschätzung, semantische Segmentierung bekannter reflektierender Pixel und unbekannter Objekte, bekannte Oberflächennormale (von Fahrzeugstruktur), bekannte Pixelreflexionsvermögenseigenschaften (wie etwa Farbe, BRDF usw.), Fahrzeugbeleuchtungsleistung, -farbe und -position als Eingaben in das Modell integriert werden. Das Modell kann ferner derart ausgestaltet sein, dass das farbkorrigierte Bild eine Ausgabe ist. Alternativ kann das Ausgabebild aus einem multispektralen Bild bestehen. Weitere Ausgaben des Modells können in dem Trainingsprozess verwendet werden, um das gewünschte Lernen des Modells zu erhalten, wie etwa Ausgeben der Umgebungslichtrichtung, der Umgebungsbeleuchtungsfarbe, der Beleuchtungskarte usw. Da die Position und die Ausrichtung der Kamera bekannt sind, ist es möglich, innerhalb des Bildes nach bekannten Objekten, wie etwa Kopfstützen, Chromteilen und so weiter, zu suchen. Da ihre Positionen bekannt sind, können sie weggelassen werden, da es sich möglicherweise um Personen oder andere Objekte handelt, die das Kabinenfahrzeug durchqueren können. Sie können auch zur Farbberechnung isoliert werden (Verwendung als De-facto-Farbkarten).
-
Bei Schritt 152 wird die globale Beleuchtung entweder unter Verwendung eines auf Grundprinzipien aufbauenden Ansatzes oder durch Behandeln von Chromstücken im Fahrzeuginnenraum als Lichtsonden berechnet. Schritt 152 kann gleichzeitig mit Schritt 150 oder vor Schritt 150 durchgeführt werden. Hinsichtlich der Verwendung von Chrom (oder reflektierenden Flächen) als eine Lichtsonde kann eine Lichtsonde verwendet werden, um die korrekten Eigenschaften des Beleuchtungsumfelds erhalten. Kurz gesagt, können Objekte bekannter Farbe in einer Kabine (de-facto-Teilfarbkalibrierungskarten), die von einer Lichtsonde reflektiert werden, verwendet werden, um zu verifizieren, dass das Beleuchtungsumfeld korrekt ist (oder es zu korrigieren). Die Farbe bekannter Objekte kann begrenzt sein, kann jedoch ausreichend mit einer Farbkarte übereinstimmen, z. B. mit weiß, grau, bräunlich, was für die meisten Fälle ausreichend sein kann. Mit anderen Worten kann der Farbraum des Beleuchtungsumfelds durch spiegelnde Reflexion von einem glänzenden Objekt in der Kabine erhalten werden. Ein Lichtsondenobjekt kann reflektierend und von einer bekannten Farbe (oder farblos) sein und kann eine Kombination aus spiegelndem und diffusem Reflexionsvermögen aufweisen. Wenn die Kamera charakterisiert wurde und wenn Objekte in der Szene charakterisiert wurden (z. B. Sicherheitsgurte, Kopfstützen, reflektierende Merkmale der Sondenteile), ist es möglich, die Bildbeleuchtung der Szene, entweder abstrakt oder wie für eine 360-Grad-Ansicht gesehen, abzuleiten, wenn die geometrische Lösung des Skalarprodukts von „a“ und „n“ in der vorstehend erörterten Gleichung aufgelöst wird.
-
Bei Schritt 154 wird die BRDF der bekannten Materialien in der Fahrzeugkabine aufgelöst. Dies kann aufgelöst werden, da die 3D-Geometrie (Kamerastellung, Stellung permanenter Kabinenobjekte) bekannt ist oder geschätzt werden kann. Außerdem kann die Beleuchtungs-(Sonnen-)Stellung aus der Fahrzeugausrichtung und der Sonnenausrichtung abgeleitet werden (die aus einer Lookup-Tabelle auf Grundlage von Datum, Uhrzeit und Standort erhalten werden können). Zum Beispiel kann die Sonnenstellung auf Grundlage eines Tages im Jahr und der Tageszeit bestimmt werden. Unter Verwendung der Kenntnis der Beschleunigungsmesserdaten eines Fahrzeugs kann die/der Fahrzeugneigung/-azimut relativ zur Schwerkraft vorhergesagt werden. Auf Grundlage der/des Fahrzeugneigung/-azimuts, eines Modells (z. B. 3-D-Modell) eines Fahrzeugs, der Sonnenstellung, einer Sonneneinstrahlung (z. B. eines Himmelsstrahlungsmodells), einer Wetterstationsmodifikation, eines 3D-Stadtmodells, und/oder eines Sonnen-/Himmelsfarbmodells kann die Beleuchtung der Sonne relativ zu einer Ausrichtung eines Fahrzeugs zu einem beliebigen Datum/einer beliebigen Zeit geschätzt werden.
-
Bei Schritt 156 wird ein Rauschfilter auf das Bild angewendet. Bei Schritt 158 wird die Weißabgleichmatrix berechnet und bei Schritt 160 wird die Farbkorrekturmatrix berechnet. Die Schritte 156 und 160 können in beliebiger Reihenfolge durchgeführt werden. Die Schritte werden unter Verwendung der bei Schritt 154 berechneten BRDF durchgeführt. Bei Schritt 162 wird aufgrund der begrenzten Farbraumabdeckung (oder Farbreaktionsfunktionen) der bekannten Materialien in der Fahrzeugkabine die Unsicherheit in den Matrizen berechnet, um zu entscheiden, ob zusätzliche Schritte erforderlich sind, um die Matrizen zu verbessern. In Bezug auf das Auflösen der Matrizen kann ein Ansatz der Übereinstimmung mit einer zufälligen Stichprobe (Random sample consensus - RANSAC) verwendet werden. Es werden einige Rausch-/Stichprobenpunkte erzeugt. Das Rauschen kann anhand der Rausch-/Stichprobenpunkte geschätzt werden. Wenn das Unsicherheitsniveau über einem Schwellenwert liegt, wird Schritt 164 durchgeführt; eine Varianz eines Kabinenlichts kann gemessen werden (z. B. Blinken des Lichts, Variieren seiner Intensität oder Farbe usw.). Bei Schritt 166 wird die Farbänderung von der Kamera erfasst und Schritt 152 wird erneut aufgegriffen, um die Matrizen weiter zu verfeinern.
-
Wenn bei Schritt 162 die Unsicherheit der Matrizen gering ist, werden die Farbkorrekturmatrix und die Weißabgleichmatrix als vollständig betrachtet und zur endgültigen Korrektur und zum Weißabgleich des Bildes verwendet und das endgültige Bild wird zur Anzeige und/oder zum Verarbeiten durch eine Anwendung ausgegeben.
-
7 zeigt eine Zusammenlegung 170 der in den 5 und 6 gezeigten Prozesse. Insbesondere stellt Schritt 172 den Schritt dar, bei dem eine Vorrichtung die Farbkorrektur unter Verwendung von Vorwissen optimiert. Die Vorrichtung kann Bildpixel klassifizieren (z. B. unter Verwendung einer semantischen Segmentierung über ein neuronales Netzwerk), kann nach globaler Beleuchtung auflösen, eine BRDF-Funktion auflösen und einen Rauschfilter anwenden. Die Vorrichtung kann Weißabgleich- und Farbkorrekturmatrizen berechnen, um sie auf bekannte Materialien anzuwenden, was zu einem gewünschten Farbraum führt. Die Vorrichtung kann ein Unsicherheitsniveau für die Daten bestimmen. Wenn zum Beispiel das Unsicherheitsniveau hoch ist (z. B. einen Schwellenwert überschreitet), kann die Vorrichtung die Innenbeleuchtung (z. B. Leuchten innerhalb der Fahrzeugkabine) blinken lassen/modulieren, was zu einer globalen Beleuchtungsänderung oder einer Farbverschiebung einer einzelnen Leuchtanzeige führt. Die Zeitsteuerung des Blinkens/der Modulation kann sehr kurz sein (z. B. für das menschliche Auge nichterkennbar) und das sich ergebende Bild kann verwendet werden, um die Berechnung der Beleuchtung zu verbessern.
-
8 zeigt Beispiele von reflektierenden Kabinenflächen 180.
-
9 zeigt Details eines Fahrzeugs 398, das mit einer Rechenvorrichtung 400 und einer Kamera 102 ausgestattet ist. Die technischen Offenbarungen in dieser Schrift reichen für Programmierer aus, um Software zu schreiben und/oder rekonfigurierbare Verarbeitungshardware (z. B. feldprogrammierbare Gateanordnungen (FPGAs)) zu konfigurieren und/oder anwendungsspezifische integrierte Schaltungen (application-specific integrated circuits - ASICs) auszugestalten usw., um auf der Rechenvorrichtung 400 zu laufen, um beliebige der in dieser Schrift beschriebenen Merkmale oder Ausführungsformen umzusetzen.
-
Die Rechenvorrichtung 400 kann eine oder mehrere Anzeigen 402, eine Netzwerkschnittstelle 404 (oder zahlreiche) sowie Speicherhardware 406 und Verarbeitungshardware 408 aufweisen, die eine Kombination aus einer beliebigen oder mehreren der Folgenden sein können: zentrale Verarbeitungseinheiten, Grafikverarbeitungseinheiten , Analog-Digital-Wandler, Bus-Chips, FPGAs, ASICs, anwendungsspezifische Standardprodukte (ASSPs), komplexe programmierbare Logikvorrichtungen (Complex Programmable Logic Devices - CPLDs), Bildprozessoren usw. Die Speicherhardware 406 kann eine beliebige Kombination aus magnetischem Speicher, statischem Speicher, flüchtigem Speicher, nichtflüchtigem Speicher, optischem oder magnetisch lesbarem Material usw. sein. Die Bedeutung des Begriffs „computerlesbarer Speicher“, wie er in dieser Schrift verwendet wird, bezieht sich nicht auf Signale oder Energie an sich, sondern bezieht sich auf physische Einrichtungen und Aggregatzustände. Die Hardwareelemente der Rechenvorrichtung 400 können auf eine Weise zusammenarbeiten, die auf dem Gebiet der Maschinenrechentechnik bekannt ist. Zusätzlich können Eingabevorrichtungen in die Rechenvorrichtung 400 integriert sein oder mit dieser in Kommunikation stehen. Die Rechenvorrichtung 400 kann einen beliebigen Formfaktor aufweisen oder kann in einer beliebigen Art von umgebender Vorrichtung verwendet werden.
-
In der vorstehenden Offenbarung wurde auf die beigefügten Zeichnungen Bezug genommen, die einen Teil hiervon bilden und konkrete Umsetzungen veranschaulichen, in denen die vorliegende Offenbarung praktisch umgesetzt werden kann. Es versteht sich, dass auch andere Umsetzungen genutzt und strukturelle Änderungen vorgenommen werden können, ohne vom Schutzumfang der vorliegenden Offenbarung abzuweichen. Bezugnahmen in der Beschreibung auf „eine Ausführungsform“, „ein Ausführungsbeispiel“, „eine beispielhafte Ausführungsform“ usw. geben an, dass die beschriebene Ausführungsform ein(e) konkrete(s) Merkmal, Struktur oder Eigenschaft beinhalten kann, wobei jedoch nicht unbedingt jede Ausführungsform diese(s) konkrete Merkmal, Struktur oder Eigenschaft beinhalten muss. Im Übrigen beziehen sich derartige Bezeichnungen oder Formulierungen nicht unbedingt auf dieselbe Ausführungsform. Ferner wird, wenn ein(e) konkrete(s) Merkmal, Struktur oder Eigenschaft in Verbindung mit einer Ausführungsform beschrieben ist, der Fachmann ein(e) derartige(s) Merkmal, Struktur oder Eigenschaft in Verbindung mit anderen Ausführungsformen erkennen, ob dies nun ausdrücklich beschrieben ist oder nicht.
-
Obwohl vorstehend verschiedene Ausführungsformen der vorliegenden Offenbarung beschrieben worden sind, versteht es sich, dass diese lediglich als Beispiele und nicht zur Einschränkung dargestellt worden sind. Der einschlägige Fachmann wird erkennen, dass verschiedene Änderungen bezüglich Form und Detail daran vorgenommen werden können, ohne vom Wesen und Schutzumfang der vorliegenden Offenbarung abzuweichen. Somit sollten der Geltungsbereich und der Schutzumfang der vorliegenden Offenbarung durch keine der vorstehend beschriebenen beispielhaften Ausführungsformen eingeschränkt werden, sondern lediglich gemäß den folgenden Patentansprüchen und deren Äquivalenten definiert werden. Die vorangehende Beschreibung ist zum Zwecke der Veranschaulichung und Beschreibung dargestellt worden. Sie soll nicht erschöpfend sein oder die Offenbarung auf die exakte Form beschränken, die offenbart ist. Viele Modifikationen und Variationen sind in Anbetracht der vorstehenden Lehren möglich. Ferner ist anzumerken, dass beliebige oder alle der vorgenannten alternativen Umsetzungen in einer beliebigen gewünschten Kombination verwendet werden können, um zusätzliche Hybridumsetzungen der vorliegenden Offenbarung zu bilden. Zum Beispiel können beliebige der unter Bezugnahme auf eine konkrete Vorrichtung oder Komponente beschriebenen Funktionen durch eine andere Vorrichtung oder Komponente durchgeführt werden. Ferner wurden zwar konkrete Vorrichtungseigenschaften beschrieben, doch können sich Ausführungsformen der Offenbarung auf zahlreiche andere Vorrichtungseigenschaften beziehen. Ferner versteht es sich, dass die Offenbarung nicht notwendigerweise auf die konkreten beschriebenen Merkmale oder Handlungen beschränkt ist, obwohl Ausführungsformen in für Strukturmerkmale und/oder methodische Handlungen konkreter Sprache beschrieben wurden. Die konkreten Merkmale und Handlungen werden vielmehr als veranschaulichende Formen zum Umsetzen der Ausführungsformen offenbart. Mit Sprache, die konditionale Zusammenhänge ausdrückt, wie unter anderem „kann“, „könnte“, „können“ oder „möglicherweise“, soll im Allgemeinen vermittelt werden, dass gewisse Ausführungsformen gewisse Merkmale, Elemente und/oder Schritte beinhalten könnten, wohingegen andere Umsetzungen diese unter Umständen nicht beinhalten, es sei denn, es ist ausdrücklich etwas anderes angegeben oder es ergibt sich etwas anderes aus dem jeweils verwendeten Kontext. Somit sollen derartige Formulierungen, die konditionale Zusammenhänge ausdrücken, nicht implizieren, dass Merkmale, Elemente und/oder Schritte für eine oder mehrere Ausführungsformen in irgendeiner Weise erforderlich sind.
-
In einem Aspekt der Erfindung umfasst der Segmentierungsalgorithmus ein neuronales Faltungsnetzwerk.
-
In einem Aspekt der Erfindung werden die Farbkorrekturmatrix und die Weißabgleichmatrix auf Grundlage von Informationen zu einer Beleuchtung außerhalb der Kabine berechnet.
-
In einem Aspekt der Erfindung beinhaltet das Verfahren Bestimmen eines Rauschpegels gemäß der Weißabgleichmatrix oder der Farbkorrekturmatrix.
-
In einem Aspekt der Erfindung beinhaltet das Verfahren Anschalten einer Kabinenleuchte der Kabine auf Grundlage des Bestimmens des Rauschpegels.
-
In einem Aspekt der Erfindung werden die Weißabgleichmatrix und die Farbkorrekturmatrix aus dem Bild dadurch berechnet, dass zuerst ein Rauschfilter auf das Bild angewendet wird.