-
Die vorliegende Erfindung betrifft die Bildverarbeitung, die insbesondere darauf gerichtet sein kann, zusätzliche Lern-Bilder für Bildklassifikatoren bereitzustellen.
-
Stand der Technik
-
Damit sich ein Fahrzeug zumindest teilweise automatisiert im Straßenverkehr bewegen kann, ist es erforderlich, das Umfeld des Fahrzeugs zu erfassen und Gegenmaßnahmen einzuleiten, falls eine Kollision mit einem Objekt im Umfeld des Fahrzeugs droht. Auch die Erstellung einer Umfeld-Repräsentation und Lokalisierung sind für sicheres automatisiertes Fahren notwendig.
-
Eine wichtige Informationsquelle für die Erstellung einer Umfeld-Repräsentation sind Bilder, die von einer oder mehreren am oder im Fahrzeug montierten Kameras aufgenommen werden. Diese Bilder werden häufig mit Bildklassifikatoren auf der Basis neuronaler Netzwerke ausgewertet, damit nach einem entsprechenden Training auch bislang ungesehene Situationen gemeistert und beispielsweise Fahrzeuge eines neuen Typs nach wie vor als Fahrzeuge erkannt werden. Das Training solcher Bildklassifikatoren erfolgt mit einer Vielzahl von Lern-Bildern, für die jeweils Lern-Klassifikations-Scores bekannt sind, auf die der Bildklassifikator diese Lern-Bilder abbilden sollte. Die Lern-Klassifikations-Scores werden auch „Labels“ genannt.
-
Die Labels werden vielfach durch manuelles „Labeln“ der Lern-Bilder erworben, was aufwändig und teuer ist. Wenn die Konfiguration der Kameras verändert wird, etwa indem die Kamera an einer anderen Position angebracht oder das Kamerasystem vollständig ausgetauscht wird, muss mit neuen Lern-Bildern trainiert werden. Die
DE 10 2018 221 625 A1 offenbart ein Verfahren, mit dem die einmal erworbenen Labels auf einem neuen Kamerasystem wiederverwendet werden können.
-
Offenbarung der Erfindung
-
Im Rahmen der Erfindung wurde ein Verfahren zur Erzeugung einer gestörten Abwandlung eines Bildes, das eine ortsaufgelöste Verteilung von Pixelwerten beinhaltet, entwickelt.
-
Das Verfahren beginnt damit, dass anhand von charakteristischen Größen und zufälligen Werten eine oder mehrere stochastische oder fast stochastische Texturen prozedural synthetisiert werden.
-
Hierbei kann der Begriff „Textur“ insbesondere dahingehend verstanden werden, dass natürlich aussehende Strukturen vorhanden sind, die Abhängigkeiten und/oder Korrelationen zwischen benachbarten Pixelwerten anzeigen. Im Gegensatz hierzu variieren beispielsweise in einem reinen Rauschbild alle Pixelwerte unabhängig voneinander.
-
Der Begriff „prozedurale Synthese“ kann insbesondere dahingehend verstanden werden, dass die charakteristische Größen und zufälligen Werte einer vorgegebenen Funktion oder einem vorgegebenen Algorithmus zugeführt werden und infolgedessen die Textur entsteht.
-
Aus der oder den Texturen werden anhand einer vorgegebenen Funktionsvorschrift eine oder mehrere ortsaufgelöste Modulationskarten ermittelt. Aus dem eingegebenen Bild wird durch Anwendung einer Modulationsfunktion, die von Pixelwerten aus der oder den Modulationskarten abhängt, die gesuchte Abwandlung erzeugt. Dabei kann insbesondere beispielsweise der Funktionsterm der Modulationsfunktion das qualitative Verhalten der Modulation in groben Zügen festlegen. Die Pixelwerte aus den Modulationskarten können dann festlegen, wie die Modulation in Abhängigkeit der Position im Bild quantitativ ausgestaltet ist.
-
Es wurde erkannt, dass die auf diese Weise erzeugten gestörten Abwandlungen von Bildern speziell im Kontext der Umfeldüberwachung von Fahrzeugen so realistisch gestaltet werden können, dass sie als zusätzliche Lern-Bilder für Bildklassifikatoren genutzt werden können. Auf diese Weise kann das Training von Bildklassifikatoren auf Situationen erweitert werden, in denen die Qualität der aus dem Fahrzeugumfeld erfassten Bilder durch Störungen beeinträchtigt ist. Beispiele für solche Störungen sind Ablagerungen von Wasser, Eis und/oder Schmutz im Strahlengang zwischen der beobachteten Szenerie und dem Bildsensor der Kamera. Wassertropfen und Eiskristalle wirken hierbei als Linsen, die das auf die Kamera einfallende Licht in unerwünschter Weise brechen. Schmutz hingegen erscheint zum einen selbst im Bild und schattet zum anderen Teile der Szenerie von der Beobachtung ab.
-
Indem die gestörte Abwandlung aus einem realen Original-Bild erzeugt wird, sind Labels, die für das Original-Bild bereits erworben wurden, auch für die gestörte Abwandlung weiterhin gültig. Sofern die Aufgabe des Klassifikators nicht ausdrücklich das Erkennen der Störungen umfasst, erzeugen Wasser, Eis und Schmutz in der gestörten Abwandlung keine neuen Objekte, die im Kontext der Fahraufgabe eine semantische Bedeutung haben. Es entstehen also beispielsweise keine neuen Verkehrszeichen, Fahrzeuge und Fußgänger. Stattdessen wird in der gestörten Abwandlung lediglich die Erkennbarkeit von Objekten im Vergleich zum Original beeinträchtigt.
-
Somit können die gestörten Abwandlungen direkt für das Training des Bildklassifikators genutzt werden, ohne dass hierzu zunächst weiterer Aufwand für das Gewinnen neuer Labels getrieben werden müsste.
-
Speziell durch Wasser, Eis und/oder Schmutz verursachte Beeinträchtigungen der Bildqualität lassen sich beispielsweise auch mit einem Generator eines Generative Adversarial Network, GAN, erzeugen. Im Vergleich dazu erfordert das hier vorgestellte Verfahren jedoch kein Training auf der Basis weiterer Lern-Bilder mit echtem Wasser, Eis und/oder Schmutz. Weiterhin ist der Rechenaufwand des hier vorgestellten Verfahrens geringer als es für das Erzeugen einer gestörten Abwandlung mit einem GAN erforderlich wäre.
-
In einer besonders vorteilhaften Ausgestaltung wird mindestens eine Textur auf der Basis von zufälligen oder pseudozufälligen Gradientwerten anhand einer pseudozufälligen Rauschfunktion erzeugt. Diese auch als „Perlin-Noise“ bekannten Texturen eignen sich besonders als Grundstoff, um natürlich aussehende, zufällige Strukturen zu erzeugen.
-
In einer weiteren besonders vorteilhaften Ausgestaltung wird mindestens eine Textur in rekursiver Weise durch räumliche Interpolation zwischen bereits vorhandenen Pixelwerten erzeugt. Beispielsweise kann mit dem „Diamond-Square-Algorithmus“ ein Quadrat, dessen Ecken bestimmte Pixelwerte tragen, rekursiv in immer kleinere Quadrate zerlegt werden. Dabei kann dann beispielsweise der Mittelpunkt des Quadrats das Mittel der Pixelwerte der Ecken als Pixelwert zugewiesen bekommen. Diese Zuweisung macht aus dem ursprünglichen Quadrat vier kleinere Quadrate, die nun ebenfalls jeweils an all ihren Ecken mit Pixelwerten belegt sind und sich in der nächsten Iteration selbst wieder in vier kleinere Quadrate teilen lassen. Dabei kann insbesondere beispielsweise in die Festlegung eines neuen Pixelwerts eine Zufallskomponente mit eingehen, damit das Ergebnis nicht deterministisch wird.
-
In einer weiteren besonders vorteilhaften Ausgestaltung wird eine Modulationsfunktion gewählt, die das Bild mit einem Radius, der gemäß der Modulationskarte ortsaufgelöst variiert, weichzeichnet. Hiermit lässt sich besonders gut der Effekt von Wasser und/oder Eis im Strahlengang nachbilden. Die durch Wasser und/oder Eis bewirkte unerwünschte Lichtbrechung wirkt ebenfalls weichzeichnend, wobei der Effekt jeweils mit der lokalen Dicke oder Dichte der Wassertropfen bzw. Eiskristalle variiert.
-
In einer weiteren besonders vorteilhaften Ausgestaltung beinhaltet das Ermitteln mindestens einer Modulationskarte, anhand von Pixelwerten einer ersten Textur festzulegen, welche Pixelwerte der Abwandlung gegenüber dem ursprünglichen Bild überhaupt verändert werden. Beispielsweise kann ein Pixelwert der Abwandlung in Antwort darauf, dass der hierzu korrespondierende Pixelwert der ersten Textur einen vorgegebenen Schwellwert überschreitet oder unterschreitet, verändert werden. Für diejenigen Pixelwerte, die verändert werden, wird dann die Veränderung unter Heranziehung von Pixelwerten einer oder mehrerer weiterer Texturen ermittelt. Auf diese Weise wird die gestörte Abwandlung dahingehend realistischer, dass Eiskristalle und/oder Wassertropfen meistens nur abgrenzbare Teilbereiche des Bildes beeinträchtigen.
-
In einer weiteren besonders vorteilhaften Ausgestaltung beinhaltet das Ermitteln mindestens einer Modulationskarte, eine vorgegebene Farbe im HSV-Farbraum (hue = Farbwert, saturation = Sättigung, value = Helligkeitswert) bereitzustellen und für eine mit dieser Farbe homogen eingefärbte Fläche den Farbkanal, H, und den Helligkeitskanal, V, unter Heranziehung von Pixelwerten unterschiedlicher Texturen ortsabhängig zu verändern. Auf diese Weise lässt sich besonders gut undurchsichtiger Schmutz simulieren. Die Veränderung des Farbkanals bildet ab, dass der Schmutz meistens nicht homogen gefärbt ist. Die Veränderung des Helligkeitskanals bildet ab, dass die Dicke eines Schmutzpartikels meistens ebenfalls nicht homogen ist und somit das hindurchtretende Licht unterschiedlich stark geschwächt wird.
-
In einer weiteren vorteilhaften Ausgestaltung werden Pixelwerte mindestens einer Textur durch Anwendung einer Sigmoid-Funktion in Richtung einer Quantisierung auf zwei Werte getrieben. Die Sigmoid-Funktion bildet Werte aus einem ersten Teil ihres Definitionsbereich auf einen ersten vorgegebenen Wert (etwa 0) und Werte aus einem zweiten Teil ihres Definitionsbereichs auf einen zweiten vorgegebenen Wert (etwa 1) ab. Im dritten Teil ihres Definitionsbereichs, der zwischen dem ersten Teil und dem zweiten Teil liegt, ändern sich die Werte der Sigmoid-Funktion entlang einer steilen, aber stetigen Flanke sukzessive vom ersten vorgegebenen Wert auf den zweiten vorgegebenen Wert. Somit werden zumindest die meisten eingegebenen Werte auf einen der beiden vorgegebenen Werte abgebildet, ohne dass hierdurch eine unnatürlich aussehende Unstetigkeit erzeugt wird. Die Quantisierung kann insbesondere beispielsweise zur Kontrastverstärkung eingesetzt werden.
-
Wie zuvor erläutert, können die gestörten Abwandlungen insbesondere beispielsweise als weitere Lern-Bilder für einen Bildklassifikator verwendet werden. Auf diese Weise kann der Bildklassifikator darauf trainiert werden, nicht nur unter störungsfreien Idealbedingungen, sondern auch unter schwierigen, mit Störungen behafteten realen Bedingungen (wie etwa schlechtem Wetter) einen sinnvollen Klassifikations-Score zu liefern.
-
Daher bezieht sich die Erfindung auch auf ein Verfahren zum Trainieren eines Bildklassifikators, der ein eingegebenes Bild auf einen Klassifikations-Score in Bezug auf eine oder mehrere Klassen einer vorgegebenen Klassifikation abbildet. Der Bildklassifikator kann insbesondere beispielsweise als neuronales Netzwerk ausgebildet sein oder ein neuronales Netzwerk beinhalten.
-
Bei diesem Verfahren werden zunächst Lern-Bilder und zugehörige Labels, auf die der Bildklassifikator die Lern-Bilder abbilden soll, bereitgestellt. Die Labels sind jeweils ein Maß für die Zugehörigkeit der Lern-Bilder zu einer oder mehreren Klassen einer vorgegebenen Klassifikation.
-
Die Menge der Lern-Bilder wird nun um gestörte Abwandlungen, die mit den zuvor beschriebenen Verfahren aus einem oder mehreren der ursprünglichen Lern-Bilder erzeugt wurden, erweitert. Dabei werden den Abwandlungen jeweils die Labels der ursprünglichen Lern-Bilder zugeordnet. Ein Bild, das eine Szenerie mit bestimmten Objekten zeigt, zeigt auch dann, wenn die Kameralinse verunreinigt und die Erkennbarkeit einzelner Objekte verschlechtert ist, nominell immer noch die gleichen Objekte. Alternativ oder auch in Kombination hierzu können den Abwandlungen jeweils Labels zugeordnet werden, die sich auf die in die jeweilige Abwandlung eingebrachten Störungen (wie etwa Eis oder Schmutz) beziehen. Hierdurch kann der Bildklassifikator auf das Erkennen dieser Störungen trainiert werden.
-
Die Lern-Bilder werden dem Bildklassifikator zugeführt und von dem Bildklassifikator auf Klassifikations-Scores abgebildet. Die Abweichung der Klassifikations-Scores von den jeweiligen Labels wird mit einer vorgegebenen Kostenfunktion bewertet. Parameter, die das Verhalten des Bildklassifikators charakterisieren, werden optimiert mit dem Ziel, dass die bei fortgesetzter Verarbeitung von Lern-Bildern durch den Bildklassifikator erhaltenen Klassifikations-Scores zu einer besseren Bewertung durch die Kostenfunktion führen. Diese Parameter können beispielsweise Gewichte eines neuronalen Netzwerks sein.
-
In einer besonders vorteilhaften Ausgestaltung wird in Antwort darauf, dass ein im ursprünglichen Lern-Bild erkennbares Objekt durch eine Störung in der gestörten Abwandlung vollständig verdeckt wird, ein Label für die gestörte Abwandlung in Bezug auf dieses Objekt auf Null gesetzt. Beispielsweise kann ein Verkehrszeichen, ein Fußgänger oder ein Fahrzeug , das vergleichsweise weit von der Kamera entfernt ist, durch ein größeres Schmutzpartikel auf der Kameralinse vollständig verdeckt werden. Wenn aber in der gestörten Abwandlung nicht nur die Erkennbarkeit des Objekts verschlechtert ist, sondern das Objekt einfach nicht mehr da ist, dann kann vom Bildklassifikator nicht mehr erwartet werden, das er das Objekt aus dem Nichts „herbeizaubert“.
-
In einer besonders vorteilhaften Ausgestaltung wird bestimmt, welche Pixelwerte des realen Bildes durch das eingangs beschriebene Verfahren maßgeblich verändert werden. Dies ist möglich, da sowohl Eingangs- als auch Ausgangsbilder zur Verfügung stehen, und der Einfluss der erzeugten Texturen auf die Bilder genau bekannt ist. Mit dieser Information können automatisiert Labels erstellt werden, die sich auf die in die Abwandlungen eingebrachten Störungen beziehen. Mit solchen Labels kann ein Bildklassifikator dazu trainiert werden, Störungen im Strahlengang einer Kamera zu detektieren. Hierzu werden Bilder einer unverschmutzten Kamera mit dem beschriebenen Verfahren gestört. Da ursprünglich kein Schmutz vorhanden ist, wird jegliche Störung der verarbeiteten Bilder durch die automatisiert erstellten Labels beschrieben.
-
Labels, die sich auf eingebrachte Störungen beziehen, können aber auch beispielsweise direkt festgelegt werden, wenn eine Störung von bekannter Art (etwa Eis oder Schmutz) und Stärke eingebracht wird. Das Label kann dann diese Art und optional auch die Stärke (etwa „Eis 5“ oder „Schmutz 7“) unmittelbar angeben, ohne dass erst konkret geänderte Pixel analysiert werden müssen.
-
Indem die gestörte Abwandlung mit dem eingangs beschriebenen Verfahren aus einem realen Bild einer Szenerie erzeugt wird, stehen für ein und dieselbe Szenerie sowohl ein ungestörtes als auch ein gestörtes Bild zur Verfügung. Dies kann ausgenutzt werden, um einen Entstörer zu trainieren, der ein gestörtes Bild zu einem möglichst ungestörten, rekonstruierten Bild zurückrechnet. Aus diesem rekonstruierten Bild kann ein Bildklassifikator zutreffendere und belastbarere Ergebnisse ermitteln als aus dem ursprünglichen gestörten Bild. Bei der Anzeige der aufgenommenen Bilder, beispielsweise als Information für den Fahrer des Fahrzeugs, kann das entstörte Bild eine ansprechendere Darstellung liefern. Der Entstörer kann insbesondere beispielsweise als neuronales Netzwerk ausgebildet sein oder ein neuronales Netzwerk beinhalten.
-
Das Trainingsverfahren für den Entstörer beginnt damit, dass ungestörte Original-Bilder bereitgestellt und aus den ungestörten Original-Bildern jeweils mit dem eingangs beschriebenen Verfahren gestörte Abwandlungen erzeugt werden.
-
Die gestörten Abwandlungen werden dem Entstörer zugeführt und von dem Entstörer auf rekonstruierte Bilder abgebildet. Die Abweichung der rekonstruierten Bilder von den Original-Bildern wird mit einer vorgegebenen Kostenfunktion bewertet. Parameter, die das Verhalten des Entstörers charakterisieren, werden optimiert mit dem Ziel, dass die bei fortgesetzter Verarbeitung von gestörten Abwandlungen durch den Entstörer erhaltenen rekonstruierten Bilder zu einer besseren Bewertung durch die Kostenfunktion führen. Die Kostenfunktion kann auf ein beliebiges Ziel gerichtet sein, das sich aus dem Verwendungszweck der rekonstruierten Bilder ergibt. Wenn die rekonstruierten Bilder beispielsweise von einem Bildklassifikator verarbeitet werden sollen, kann die Kostenfunktion es honorieren, wenn das Entstören die Genauigkeit der dabei erhaltenen Ergebnisse verbessert. Die Kostenfunktion kann es aber beispielsweise auch honorieren, wenn die rekonstruierten Bilder eine ansprechendere visuelle Darstellung erlauben.
-
Der Entstörer kann auf diese Weise insbesondere eine Kraft zur Verallgemeinerung erhalten, die ihn dazu befähigt, auch zuvor nicht gesehene Störungen aus Bildern zu entfernen.
-
Die Verfahren können insbesondere ganz oder teilweise computerimplementiert sein. Daher bezieht sich die Erfindung auch auf ein Computerprogramm mit maschinenlesbaren Anweisungen, die, wenn sie auf einem oder mehreren Computern ausgeführt werden, den oder die Computer dazu veranlassen, eines der beschriebenen Verfahren auszuführen. In diesem Sinne sind auch Steuergeräte für Fahrzeuge und Embedded-Systeme für technische Geräte, die ebenfalls in der Lage sind, maschinenlesbare Anweisungen auszuführen, als Computer anzusehen.
-
Ebenso bezieht sich die Erfindung auch auf einen maschinenlesbaren Datenträger und/oder auf ein Downloadprodukt mit dem Computerprogramm. Ein Downloadprodukt ist ein über ein Datennetzwerk übertragbares, d.h. von einem Benutzer des Datennetzwerks downloadbares, digitales Produkt, das beispielsweise in einem Online-Shop zum sofortigen Download feilgeboten werden kann.
-
Weiterhin kann ein Computer mit dem Computerprogramm, mit dem maschinenlesbaren Datenträger bzw. mit dem Downloadprodukt ausgerüstet sein.
-
Weitere, die Erfindung verbessernde Maßnahmen werden nachstehend gemeinsam mit der Beschreibung der bevorzugten Ausführungsbeispiele der Erfindung anhand von Figuren näher dargestellt.
-
Figurenliste
-
Es zeigt:
- 1 Ausführungsbeispiel des Verfahrens 100 zur Erzeugung einer gestörten Abwandlung 2 eines Bildes 1;
- 2 Beispielhafte Simulation von Wasser und/oder Eis mit dem Verfahren 100;
- 3 Beispielhafte Simulation einer Verschmutzung mit dem Verfahren 100;
- 4 Beispielhafte Wirkung des Verfahrens 100 auf eine Abbildung einer Szenerie 50;
- 5 Ausführungsbeispiel des Verfahrens 200 zum Trainieren eines Bildklassifikators 10;
- 6 Ausführungsbeispiel des Verfahrens 300 zum Trainieren eines Entstörers 20.
-
1 ist ein schematisches Ablaufdiagramm eines Ausführungsbeispiels des Verfahrens 100 zur Erzeugung einer gestörten Abwandlung 2 eines Bildes 1.
-
In Schritt 110 werden anhand von charakteristischen Größen und zufälligen Werten 3 eine oder mehrere stochastische oder fast stochastische Texturen 4a-4c prozedural synthetisiert. Gemäß Block 111 kann beispielsweise mindestens eine Textur 4a-4c auf der Basis von zufälligen oder pseudozufälligen Gradientwerten anhand einer pseudozufälligen Rauschfunktion erzeugt werden. Gemäß Block 112 kann beispielsweise mindestens eine Textur 4a-4c in rekursiver Weise durch räumliche Interpolation zwischen bereits vorhandenen Pixelwerten erzeugt werden.
-
In Schritt 120 werden aus der oder den Texturen 4a-4c anhand einer vorgegebenen Funktionsvorschrift 5 eine oder mehrere ortsaufgelöste Modulationskarten 6 ermittelt.
-
Dieses Ermitteln mindestens einer Modulationskarte kann insbesondere beispielsweise beinhalten,
- • gemäß Block 121 anhand von Pixelwerten einer ersten Textur 4a festzulegen, welche Pixelwerte der Abwandlung 2 gegenüber dem Bild (1) überhaupt verändert werden und
- • gemäß Block 122 für diejenigen Pixelwerte, die verändert werden, die Veränderung unter Heranziehung von Pixelwerten einer oder mehrerer weiterer Texturen 4b-4c zu ermitteln.
-
Alternativ oder auch in Kombination hierzu kann gemäß Block 123 eine vorgegebene Farbe 8 im HSV-Farbraum bereitgestellt werden. Für eine mit dieser Farbe homogen eingefärbte Fläche können dann gemäß Block 124 der Farbkanal H und der Helligkeitskanal V unter Heranziehung von Pixelwerten unterschiedlicher Texturen 4b-4c ortsabhängig verändert werden.
-
Gemäß Block 125 können optional weiterhin Pixelwerte mindestens einer Textur 4a-4c durch Anwendung einer Sigmoid-Funktion σ in Richtung einer Quantisierung auf zwei Werte getrieben werden.
-
In Schritt 130 wird aus dem Bild 1 durch Anwendung einer Modulationsfunktion 7, die von Pixelwerten aus der oder den Modulationskarten 6 abhängt, die gesuchte Abwandlung 2 erzeugt. Die Modulationsfunktion kann gemäß Block 131 das Bild 1 mit einer Standardabweichung, die gemäß der Modulationskarte 6 ortsaufgelöst variiert, weichzeichnen. Gemäß Block 132 kann die Modulationsfunktion die Modulationskarte 6 mit dem Bild 1 alpha-blenden. Alpha-blenden bedeutet, die Pixelwerte der beiden Bilder gemäß der entsprechenden Werte der Modulationskarte zu mischen.
-
2 zeigt beispielhaft, wie mit dem Verfahren 100 das Vorhandensein von Eis und/oder Wasser im Strahlengang zwischen einer beobachteten Szenerie 50 und der für die Aufnahme des Bildes 1 verwendeten Kamera simuliert werden kann. Die Modulationskarte 6 wird anhand zweiter Texturen 4a und 4b festgelegt. Die erste Textur 4a entscheidet darüber, welche Pixelwerte der Abwandlung 2 verändert werden, d.h., wo sich in der Abwandlung 2 das Eis bzw. Wasser bemerkbar machen soll. Die zweite Textur 4b entscheidet darüber, wie die Abwandlung 2 im vom Eis bzw. Wasser betroffenen Bereich konkret geändert werden soll.
-
Beide Texturen 4a und 4b werden jeweils mit einer Sigmoid-Funktion σ in Richtung einer Quantisierung auf die beiden Werte 0 und 1 getrieben. Insbesondere bewirkt die Quantisierung der ersten Textur 4a, dass es eine klare Trennlinie zwischen dem vom Eis bzw. Wasser betroffenen Bereich und dem nicht betroffenen Bereich gibt.
-
Die Texturen 4a und 4b werden nach der Quantisierung übereinandergelegt, um die Modulationskarte 6 zu bilden. Die Modulationsfunktion 7, die das Bild 1 in die Abwandlung 2 umsetzt, ist ein Weichzeichner, dessen ortsabhängiger Radius anhand der Pixelwerte in der Modulationskarte 6 festgelegt wird.
-
3 zeigt beispielhaft, wie mit dem Verfahren 100 das Vorhandensein von undurchsichtigem Schmutz im Strahlengang zwischen einer beobachteten Szenerie 50 und der für die Aufnahme des Bildes 1 verwendeten Kamera simuliert werden kann. Hierfür kommen drei Texturen 4a-4c zum Einsatz.
-
Eine erste Textur 4a legt fest, welche Bildbereiche überhaupt von der Beeinträchtigung durch den Schmutz betroffen sein sollen. Wie diese Bildbereiche im Einzelnen geändert werden sollen, wird anhand zweier weiterer Texturen 4b und 4c sowie einer vorgegebenen Farbe 8 festgelegt.
-
Die vorgegebene Farbe 8 wird im HSV-Farbraum bereitgestellt und eine homogene Fläche hiermit eingefärbt. Die zweite Textur 4b legt fest, inwieweit der Farbkanal, H, dieser Fläche ortsabhängig moduliert wird. Die dritte Textur 4c legt fest, inwieweit der Helligkeitskanal, V, dieser Fläche ortsabhängig moduliert wird. Diese Modulation wird zusätzlich mit der ersten Textur 4a korreliert.
-
Die Modulation der Helligkeit wird mit der Sigmoid-Funktion σ quantisiert, um einen schnellen Übergang zwischen Hell und Dunkel zu erzielen. Die erste Textur 4a wird ebenfalls mit der Sigmoid-Funktion σ quantisiert, damit die Verschmutzung eine unscharfe, steil abfallende Kante erhält.
-
Die Modulationsfunktion 7 führt ein Alpha-Blending des Bildes 1 mit der Modulationskarte 6 durch und erzeugt so die gestörte Abwandlung 2. Hierbei ist es unerheblich, ob die Festlegung der überhaupt zu ändernden Bereiche, wie in 3 eingezeichnet, direkt in die Modulationskarte 6 eingebaut wird oder ob eine Modulationskarte 6 im Nachhinein anhand der ersten Textur 4a entsprechend gefiltert wird.
-
Mehrere Störungen, wie beispielsweise Wasser/Eis und Verschmutzung, können auch in einer gestörten Abwandlung 2 kombiniert werden. 4 zeigt schematisch, wie sich dies an einer beispielhaften Szenerie 50 auswirken kann.
-
4a zeigt ein ungestörtes Bild 1 der Szenerie 50, die eine Fahrbahn 51, ein Fahrzeug 52 und ein Verkehrszeichen 53 umfasst. 4b zeigt eine gestörte Abwandlung 2, in der ein Teilbereich 2a von Wasser bzw. Eis und ein Teilbereich 2b von Verschmutzung betroffen ist. Wie durch die Strichelung angedeutet ist, erscheinen im von Wasser bzw. Eis betroffenen Teilbereich 2a die Fahrbahn 51 und das Fahrzeug 52 undeutlicher, sind aber noch auszumachen. Ein Bildklassifikator 10 kann also darauf trainiert werden, die Fahrbahn 51 und das Fahrzeug 52 trotz der erheblichen Beeinträchtigung noch zu erkennen.
-
Der Schmutz im Teilbereich 2b hingegen verdeckt das Verkehrszeichen 53 vollständig. Somit kann von einem Bildklassifikator 10 nicht mehr erwartet werden, dieses Verkehrszeichen 53 in der gestörten Abwandlung 2 noch zu erkennen.
-
5 ist ein schematisches Ablaufdiagramm eines Ausführungsbeispiels des Verfahrens 200 zum Trainieren eines Bildklassifikators 10. Der Bildklassifikator 10 ist dazu ausgebildet, ein eingegebenes Bild 11 auf einen Klassifikations-Score 13 in Bezug auf eine oder mehrere Klassen einer vorgegebenen Klassifikation abzubilden.
-
In Schritt 210 werden Lern-Bilder 11a und zugehörige Labels 13a, auf die der Bildklassifikator 10 die Lern-Bilder 11a abbilden soll, bereitgestellt.
-
In Schritt 220 wird die Menge der Lern-Bilder 11a um gestörte Abwandlungen 2, die aus einem oder mehreren der ursprünglichen Lern-Bilder 11a mit dem zuvor beschriebenen Verfahren 100 erzeugt wurden, erweitert. Dabei werden den Abwandlungen 2 jeweils die Labels 13a der ursprünglichen Lern-Bilder 11a zugeordnet. Sofern hierbei gemäß Block 221 festgestellt wird, dass, wie etwa in 4b gezeigt, ein im ursprünglichen Lern-Bild 11a erkennbares Objekt 53 durch eine Störung in der gestörten Abwandlung 2 vollständig verdeckt wird, kann gemäß Block 222 ein Label 13a für die gestörte Abwandlung 2 in Bezug auf dieses Objekt auf Null gesetzt werden. Alternativ oder auch in Kombination hierzu können den Abwandlungen 2 jeweils Labels 13b zugeordnet werden, die sich auf die in die jeweilige Abwandlung eingebrachten Störungen (wie etwa Eis oder Schmutz) beziehen. Hierdurch kann der Bildklassifikator auf das Erkennen dieser Störungen trainiert werden.
-
Die Lern-Bilder 11a werden in Schritt 230 dem Bildklassifikator 10 zugeführt und in Schritt 240 von dem Bildklassifikator 10 auf Klassifikations-Scores 13 abgebildet.
-
In Schritt 250 wird die Abweichung der Klassifikations-Scores 13 von den jeweiligen Labels 13a, 13b mit einer vorgegebenen Kostenfunktion 14 bewertet. Parameter 12, die das Verhalten des Bildklassifikators 10 charakterisieren, werden in Schritt 260 optimiert mit dem Ziel, dass die bei fortgesetzter Verarbeitung von Lern-Bildern 11a durch den Bildklassifikator 10 erhaltenen Klassifikations-Scores 13 zu einer besseren Bewertung 250a durch die Kostenfunktion 14 führen. Der fertig trainierte Zustand der Parameter 12 ist mit dem Bezugszeichen 12* bezeichnet.
-
Wie zuvor erläutert, kann die gleichzeitige Verfügbarkeit eines ungestörten Bildes 1 und eines gestörten Bildes 2 der gleichen Szenerie 50 ausgenutzt werden, um das Entfernen solcher Störungen aus tatsächlich aufgenommenen Bildern zu trainieren. 6 ist ein schematisches Ablaufdiagramm eines Ausführungsbeispiels des Verfahrens 300, mit dem ein Entstörer 20 für diesen Zweck trainiert werden kann.
-
In Schritt 310 werden ungestörte Original-Bilder 1 bereitgestellt. In Schritt 320 werden aus den ungestörten Original-Bildern 1 mit dem zuvor beschriebenen Verfahren 100 jeweils gestörte Abwandlungen 2 erzeugt. Die gestörten Abwandlungen 2 werden in Schritt 330 dem Entstörer 20 zugeführt und in Schritt 340 von dem Entstörer 20 auf rekonstruierte Bilder 23 abgebildet.
-
In Schritt 350 wird die Abweichung der rekonstruierten Bilder 23 von den Original-Bildern 1 wird mit einer vorgegebenen Kostenfunktion 24 bewertet. In Schritt 360 werden Parameter 22, die das Verhalten des Entstörers 20 charakterisieren, optimiert mit dem Ziel, dass die bei fortgesetzter Verarbeitung von gestörten Abwandlungen 2 durch den Entstörer 20 erhaltenen rekonstruierten Bilder 23 zu einer besseren Bewertung 350a durch die Kostenfunktion 24 führen. Der fertig trainierte Zustand der Parameter 22 ist mit dem Bezugszeichen 22* bezeichnet.
-
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
-
- DE 102018221625 A1 [0004]