-
Die Erfindung betrifft ein Verfahren zum Erzeugen von Trainingsdaten für ein digitales, lernfähiges Kamerasystem, ein Trainingsverfahren zum Trainieren eines lernfähigen Algorithmus für ein digitales, lernfähiges Kamerasystem, ein Computerprogramm sowie ein maschinenlesbares Speichermedium.
-
Es ist bekannt, für Fahrerassistenzfunktionen, für Anzeigen der Szene um ein Fahrzeug und/oder für autonomes Fahren in oder an dem Fahrzeug angeordnete Kameras zu verwenden. Deren Bedeutung nimmt insbesondere mit dem Bestreben, bessere Fahrerassistenzsysteme bereitzustellen und/oder die Operationen des Fahrzeugs weiter zu automatisieren, immer weiter zu.
-
Ferner ist es bekannt, für unterschiedliche Anwendungsgebiete lernfähige Algorithmen, wie beispielsweise künstliche neuronale Netze als ein Beispiel künstlicher Intelligenz einzusetzen und für deren Einsatz zu trainieren. Ein entsprechendes Training wird allgemein auch als maschinelles Lernen bezeichnet. Hierfür sind in der Regel Trainingsdaten erforderlich, deren Beschaffung bzw. Erzeugung ggf. sehr kosten- und zeitintensiv sein kann.
-
Zum Trainieren von lernfähigen Kamerasystemen können Trainingsdaten beispielsweise Trainingsbilder umfassen, deren jeweiliger Bildinhalt (das darin dargestellte Motiv) bekannt ist - wie etwa, ob darin ein Fahrzeug abgebildet ist oder nicht - und dem lernfähigen Kamerasystem als Referenzdaten zur Verfügung gestellt wird. Hier spricht man auch von gelabelten Trainingsdaten.
-
Zudem ist beim Training verschiedener Kameratypen zu beachten, dass die verschiedenen Kameratypen in der Regel verschiedene Einstellungen haben, wie eine Szene wahrgenommen wird. Als einfaches Beispiel könnte ein erster Kameratyp ein helleres Bild von einer Szene aufnehmen, während ein zweiter Kameratyp ein dunkleres Bild der identischen Szene aufnehmen könnte. Ursache hierfür ist in der Realität, dass verschiedene Kameratypen sich häufig in ihrer jeweiligen Kamerakennlinie unterscheiden, die darüber entscheidet, wie eine bestimmte Lichtmenge auf einen bestimmten Grauwert abgebildet wird.
-
Bei der Erzeugung von Trainingsdaten für Kamerasysteme sollte dieser Unterschied berücksichtigt werden. Insbesondere wurde bis dato davon Abstand genommen, Trainingsdaten, die mit einem und/oder für einen Kameratyp mit einer Kamerakennlinie erzeugt wurden, für einen davon verschiedenen Kameratyp mit einer verschiedenen Kamerakennlinie zu verwenden, weil die Ergebnisse dann unbrauchbar oder mit einem zu hohen Fehlerrisiko behaftet sind. Daraus folgte insbesondere, dass für jeden Kameratyp in der Regel eigene Trainingsdaten erzeugt und gelabelt werden mussten. Dabei stellt das Labeln der Trainingsdaten eine sehr zeit- und kostenintensive Bearbeitung dar.
-
Hiervon ausgehend ist es Aufgabe der vorliegenden Erfindung, die mit Bezug auf den Stand der Technik geschilderten Probleme zumindest teilweise zu lösen. Insbesondere sollen ein Verfahren zum Erzeugen von Trainingsdaten für ein digitales, lernfähiges Kamerasystem, ein Trainingsverfahren zum Trainieren eines lernfähigen Algorithmus für ein digitales, lernfähiges Kamerasystem, ein Computerprogramm sowie ein maschinenlesbares Speichermedium angegeben werden, die zumindest dazu beitragen, ein weniger kosten- und/oder zeitintensives Training zu ermöglichen, wobei insbesondere der Kosten- und/oder Zeitaufwand zur Erzeugung von Trainingsdaten reduziert werden soll.
-
Diese Aufgaben werden gelöst durch die Merkmale der unabhängigen Patentansprüche. Weitere vorteilhafte Ausgestaltungen der hier vorgeschlagenen Lösung sind in den abhängigen Patentansprüchen angegeben. Es ist darauf hinzuweisen, dass die in den abhängigen Patentansprüchen einzeln aufgeführten Merkmale in beliebiger, technologisch sinnvoller, Weise miteinander kombiniert werden können und weitere Ausgestaltungen der Erfindung definieren. Darüber hinaus werden die in den Patentansprüchen angegebenen Merkmale in der Beschreibung näher präzisiert und erläutert, wobei weitere bevorzugte Ausgestaltungen der Erfindung dargestellt werden.
-
Hierzu trägt ein Verfahren zum Erzeugen von Trainingsdaten für ein digitales, lernfähiges Kamerasystem, das eine Kamera eines durch eine erste Kamerakennlinie charakterisierten ersten Kameratyps aufweist, bei, umfassend zumindest folgende Schritte:
- a) Erstellen eines zweiten Trainingsdatensatzes durch Aufnehmen einer Vielzahl von digitalen Bildern unterschiedlicher Szenarien mittels einer zweiten Kamera eines durch eine zweite Kamerakennlinie charakterisierten zweiten Kameratyps, wobei sich die zweite Kamerakennlinie von der ersten Kamerakennlinie unterscheidet, und Labeln zumindest eines Anteils der digitalen Bilder für den zweiten Trainingsdatensatz.
- b) Erstellen eines ersten Trainingsdatensatzes durch Aufnehmen einer Vielzahl von digitalen Bildern unterschiedlicher Szenarien mittels einer ersten Kamera des durch die erste Kamerakennlinie charakterisierten ersten Kameratyps, wobei zumindest ein Anteil der digitalen Bilder für den ersten Trainingsdatensatz nicht gelabelt wird.
- c) Ermitteln einer Übertragungsfunktion, in Abhängigkeit von Informationen aus dem zweiten Trainingsdatensatz und dem ersten Trainingsdatensatz.
- d) Anwenden der in Schritt c) ermittelten Übertragungsfunktion auf den zweiten Trainingsdatensatz und Bereitstellen zumindest des so modifizierten zweiten Trainingsdatensatzes als Trainingsdaten für das digitale, lernfähige Kamerasystem.
-
Die angegebene Reihenfolge der Schritte a), b), c) und d) ergibt sich in der Regel bei einem regulären Betriebsablauf. Zumindest die Schritte a) und b) können auch zumindest teilweise parallel oder sogar gleichzeitig durchgeführt werden.
-
Das hier vorgestellte Verfahren dient insbesondere zum Erzeugen von Trainingsdaten für einen lernfähigen Algorithmus für ein digitales, lernfähiges Kamerasystem, das eine Kamera eines durch eine erste Kamerakennlinie charakterisierten ersten Kameratyps aufweist. Bei dem lernfähigen Algorithmus kann es sich beispielsweise um ein (künstliches) neuronales Netz, einen genetischen Algorithmus, eine sogenannte Support Vector Machine, k-Means, Kernel-Regression oder Diskriminanzanalyse handeln.
-
Der Algorithmus kann beispielsweise in der Kamera (des Kamerasystems) selbst hinterlegt, insbesondere integriert bzw. implementiert sein. Dazu kann der Algorithmus zum Beispiel auf einem maschinenlesbaren Speicher der Kamera hinterlegt sein. Weiterhin kann das Kamerasystem auch einen Prozessor aufweisen bzw. über diesen verfügen. Der auf dem Speicher hinterlegte Algorithmus kann in diesem Zusammenhang von dem Prozessor ausgeführt und/oder (während der Lernphase) angepasst werden.
-
Darüber hinaus kann (alternativ) auch vorgesehen sein, dass der Algorithmus in einer (zusätzlich zu der Kamera vorgesehenen und/oder mit der Kamera verbundenen) Auswerteeinheit oder einem Auswertemodul, wie beispielsweise einer Objekterkennungseinheit bzw. einem Objekterkennungsmodul, hinterlegt ist, welches ein Bestandteil des Kamerasystems oder diesem zugeordnet ist. Dies bedeutet mit anderen Worten insbesondere, dass die erzeugten Trainingsdaten zum Trainieren der Kamera (des Kamerasystems) selbst und/oder zum Trainieren einer Auswerteeinheit oder einem Auswertemodul, welches ein Bestandteil des Kamerasystems oder diesem zugeordnet ist, genutzt werden können.
-
Weiterhin kann es sich bei dem Algorithmus um einen solchen zur Objekt-Detektion, semantischen Segmentierung oder dergleichen handeln. Bevorzugt handeln es sich bei dem Algorithmus um einen solchen zur Objekt-Detektion, insbesondere zur Detektion von (bewegbaren und/oder statischen) Objekten und/oder Objektgrenzen in einem digitalen Bild und/oder Film.
-
Das Verfahren trägt in vorteilhafter Weise dazu bei, ein weniger kosten- und/oder zeitintensives Training zu ermöglichen. In diesem Zusammenhang erlaubt das Verfahren in besonders vorteilhafter Weise den Kosten- und/oder Zeitaufwand zur Erzeugung von Trainingsdaten deutlich zu reduzieren. Dies insbesondere dadurch, dass der erste Trainingsdatensatz nicht (zumindest zu einem überwiegenden Teil nicht) gelabelt werden muss.
-
Die hier vorgeschlagene Lösung ermöglicht insbesondere, auf ein Labeln des ersten Trainingsdatensatz zu verzichten, denn es wird stattdessen eine Übertragungsfunktion in Abhängigkeit von Informationen aus dem zweiten Trainingsdatensatz und dem ersten Trainingsdatensatz ermittelt, die, angewendet auf den zweiten Trainingsdatensatz, diesen auch für den ersten Kameratyp (mit ausreichender Qualität bzw. Fehlerrobustheit) verwendbar macht.
-
Darüber hinaus kann die hier vorgestellte Lösung auch einen oder mehrere der folgenden Vorteile aufweisen:
- Der modifizierte zweite Trainingsdatensatz kann für das Training eines Algorithmus (z.B. Objekt Detektion, semantische Segmentierung, o.a.) für das Kamerasystem (das eine Kamera des ersten Kameratyps aufweist) genutzt werden, auch wenn die ursprüngliche Kennlinie zwischen zweiter Kamera und erster Kamera unterschiedlich war bzw. ist.
-
Die funktionale Qualität des trainierten Algorithmus für das Kamerasystem ist nach der vorgestellten Anpassung bzw. Modifizierung des zweiten Trainingsdatensatzes höher, als wenn der Datensatz nicht angepasst worden wäre.
-
Die Verwendung des modifizierten (und gelabelten) zweiten Trainingsdatensatzes für das Training des Kamerasystems kann eine höhere Qualität im Trainingsverfahren zur Folge haben, als die Verwendung des nicht-modifizierten zweiten Trainingsdatensatzes oder nur des (nicht-gelabelten) ersten Trainingsdatensatzes.
-
Ein besonderer Vorteil ist, dass die Daten des ersten Trainingsdatensatzes nicht gelabelt werden müssen, um das Kamerasystem mit der Kamera des ersten Kameratyps zu trainieren.
-
Ein weiterer Vorteil ist, dass man für das Trainingsverfahren zwei Datensätze (die gelabelten und modifizierten zweiten Trainingsdaten und die nicht gelabelten ersten Trainingsdaten) zur Verfügung hat. Die Verwendung von mehreren (und für das Kamerasystem gezielt gewählten bzw. modifizierten) Datensätzen (dem modifizierten zweiten und dem ersten Trainingsdatensatz) kann zu einer weiteren Verbesserung des Trainingsverfahrens beitragen.
-
Bei der Kamera des zweiten Kameratyps und/oder des ersten Kameratyps kann es sich jeweils um eine Kamera für ein Fahrzeug oder eine Kamera eines Fahrzeugs handeln. Dies betrifft mit anderen Worten insbesondere eine in oder an einem Fahrzeug anzuordnende oder angeordnete Kamera. Beispielsweise kann die Kamera im Bereich einer Frontscheibe eines Fahrzeugs montiert sein. Darüber hinaus ist die Kamera in der Regel mit einem Steuergerät des Fahrzeugs verbunden.
-
Die Kamera weist insbesondere einen Bildsensor, wie etwa einen CCD-Sensor oder einen CMOS-Sensor auf. Weiterhin bevorzugt weist die Kamera einen einzelnen bzw. nur einen Bildsensor auf.
-
Die Kamera des zweiten Kameratyps und/oder des ersten Kameratyps kann eine Monokamera sein. Dies trägt insbesondere dazu bei, Bauraum, Gewicht und/oder Komponentenkosten zu reduzieren. Aufgrund des geringen Platzbedarfs kann die Monokamera auch dazu beitragen, vergleichsweise komplexe Assistenzsysteme in einen Kompaktwagen zu integrieren.
-
Die Monokamera kann ein monokulares System sein. Die Monokamera umfasst in der Regel eine einzelne bzw. genau eine Kameralinse und einen einzelnen bzw. genau einen Bildsensor. Die Monokamera grenzt sich damit von einer Stereokamera ab, die üblicherweise zwei Kameralinsen sowie zwei Bildsensoren hat und aus zwei gleichzeitig aufgenommenen Bildern eine dreidimensionale Abbildung generieren kann, aus der Tiefeninformationen, wie beispielsweise Abstände, regelmäßig auch direkt entnommen werden können. Eine entsprechende Tiefeninformation fehlt üblicherweise in einer einzelnen Aufnahme mit einer Monokamera.
-
Die Kamerakennlinie beschreibt insbesondere einen für den jeweiligen Kameratyp charakteristischen Verlauf einer Eigenschaft und/oder eines (Einstellungs-) Parameters der Kamera. Beispielsweise kann die Kamerakennlinie beschreiben, wie eine bestimmte Lichtmenge auf einen bestimmten Grauwert abgebildet wird.
-
In Schritt a) erfolgt ein Erstellen eines zweiten Trainingsdatensatzes durch Aufnehmen einer Vielzahl von digitalen Bildern unterschiedlicher Szenarien mittels einer zweiten Kamera eines durch eine zweite Kamerakennlinie charakterisierten zweiten Kameratyps. Die zweite Kamerakennlinie unterscheidet sich von der ersten Kamerakennlinie. Somit unterscheidet sich der zweite Kameratyp von dem ersten Kameratyp zumindest bezüglich der Kamerakennlinie.
-
Zudem erfolgt in Schritt a) ein Labeln zumindest eines Anteils der digitalen Bilder für den zweiten Trainingsdatensatz (bzw. des zweiten Trainingsdatensatzes). Vorzugsweise wird ein überwiegender Anteil der digitalen Bilder für den zweiten Trainingsdatensatz gelabelt. Besonders bevorzugt werden alle digitalen Bilder für den zweiten Trainingsdatensatz gelabelt.
-
Unter „Labeln“ ist insbesondere zu verstehen, dass dem Bild eine Information über den Inhalt des Bildes und/oder das in dem Bild dargestellte Szenario zugeordnet wird. Beispielsweise kann diese Information mit dem Bild (digital) verknüpft werden. Vorzugsweise wird dem digitalen Bild beim Labeln eine Information über die Darstellung (beispielsweise das Vorhandensein und/oder die Anzahl und/oder die Position) bestimmter Objekte in dem Bild zugeordnet. Das Labeln eines digitalen Bildes kann insbesondere auch als ein Klassifizieren des Bildes beschrieben werden.
-
In sogenannten „deep learning“ Verfahren für autonomes Fahren ist das Vorhandsein von gelabelten Trainingsdaten ein besonderer Vorteil für eine (möglichst präzise) Erkennung von Objekten. Die hier vorgestellte Lösung erlaubt in vorteilhafter Weise, für Kamerasysteme mit einem (neuen bzw. ersten) Kameratyp bereits gelabelte Trainingsdaten eines anderen (älteren bzw. zweiten) Kameratyps vorteilhaft nutzbar zu machen.
-
Die Label können während der Lernphase beispielsweise als Referenzdaten für das Training dienen. Entsprechende Referenzdaten werden zum Beispiel für das sogenannte „supervised learning“ (d.h. das Lernen anhand von Beispielen) genutzt.
-
Dies kann bedeuten, dass beispielsweise ein zu trainierender Objekterkennungsalgorithmus während der Lernphase (in der Regel in Abhängigkeit einer ermittelten Differenz zwischen Ausgangdaten des Algorithmus und den Referenzdaten) angepasst (und dadurch verbessert) werden kann. Dies insbesondere dann, wenn er bei Analyse eines Trainingsbildes nicht die in dem Label des Trainingsbildes hinterlegte Information über das Trainingsbild (z.B. ein bestimmtes Objekt bzw. eine Objektgrenze und/oder eine bestimmte Anzahl von Objekten) erkennt bzw. erkannt hat.
-
In Schritt b) erfolgt ein Erstellen eines ersten Trainingsdatensatzes durch Aufnehmen einer Vielzahl von digitalen Bildern unterschiedlicher Szenarien mittels einer ersten Kamera des durch die erste Kamerakennlinie charakterisierten ersten Kameratyps. Dabei wird zumindest ein Anteil der digitalen Bilder für den ersten Trainingsdatensatz (bzw. des ersten Trainingsdatensatzes) nicht gelabelt.
-
Bevorzugt wird ein überwiegender Anteil der digitalen Bilder für den ersten Trainingsdatensatz nicht gelabelt. Besonders bevorzugt werden alle digitalen Bilder für den ersten Trainingsdatensatz nicht gelabelt. Dies muss jedoch nicht zwangläufig bedeuten, dass diesen Bildern gar keine (digitalen) Informationen zugeordnet sind. So können diesen Bildern z.B. trotzdem Informationen zugeordnet sein, die nicht für das Training benötigt und/oder verwendet werden bzw. verwendbar sind.
-
Dies bedeutet mit anderen Worten insbesondere, dass den (allen) digitalen Bildern für den ersten Trainingsdatensatz (zumindest anteilig) keine Informationen der Art zugeordnet werden, wie sie dem zweiten Trainingsdatensatz zugeordnet werden. Darüber hinaus kann auch vorgesehen sein, dass den (allen) digitalen Bildern für den ersten Trainingsdatensatz (zumindest anteilig) gar keine (zusätzlichen) digitalen Informationen zugeordnet werden. Letzteres bedeutet mit anderen Worten insbesondere, dass den Bildern keine digitalen Informationen zugeordnet sind, die zusätzlich zu den digitalen Bildinformationen (d.h. den eigentlichen Bilddaten) sind.
-
Die Trainingsdatensätze (nämlich der zweite Trainingsdatensatz und der erste Trainingsdatensatz) enthalten jeweils eine Vielzahl von digitalen Bildern unterschiedlicher Szenarien. Die unterschiedlichen Szenarien können sich beispielsweise durch die in dem jeweiligen Bild abgebildete Umgebung, wie etwa eine Innenstadtumgebung voneinander unterscheiden. Alternativ oder kumulativ können sie die Szenarien auch durch die in dem jeweiligen Bild zu erkennenden Objekte (wie etwa Fahrzeuge, andere Verkehrsteilnehmer, Bäume oder dergleichen) und/oder die Tageszeit und/oder Jahreszeit, zu der das Bild aufgenommen wurde, unterscheiden.
-
In Schritt c) erfolgt ein Ermitteln (Berechnen) einer Übertragungsfunktion, in Abhängigkeit von Informationen aus dem zweiten Trainingsdatensatz und dem ersten Trainingsdatensatz. In diesem Zusammenhang ist in der Regel vorgesehen, dass die Übertragungsfunktion in Abhängigkeit von Bildinformationen (d.h. nicht in Abhängigkeit von den Labeln) aus dem zweiten Trainingsdatensatz und dem ersten Trainingsdatensatz ermittelt werden.
-
Bei den Bildinformationen handelt es sich üblicherweise um Helligkeitsinformationen und/oder Farbverteilungsinformationen, die beispielsweise auf Basis der eigentlichen Bilddaten gewonnen werden. Die Bildinformationen können mit anderen Worten ausgedrückt insbesondere Bildeigenschaften, wie etwa die Farbverteilung, Helligkeit, der Kontrast und/oder die Auflösung der Bilder sein.
-
Beispielsweise kann die Übertragungsfunktion auf Basis eines Vergleichs von Bildinformationen aus dem zweiten Trainingsdatensatz mit Bildinformationen aus dem ersten Trainingsdatensatz ermittelt, insbesondere berechnet werden. In diesem Zusammenhang kann insbesondere vorgesehen sein, dass Bildinformationen des ersten Trainingsdatensatzes zu Bildinformationen des zweiten Trainingsdatensatzes ins Verhältnis gesetzt werden. Letzteres kann grundsätzlich zum Beispiel im Wege einer Quotientenbildung erfolgen.
-
In Schritt d) erfolgt ein Anwenden der in Schritt c) ermittelten Übertragungsfunktion auf den zweiten Trainingsdatensatz und Bereitstellen zumindest des so modifizierten zweiten Trainingsdatensatzes als Trainingsdaten für das digitale, lernfähige Kamerasystem. In diesem Zusammenhang können Beispielsweise die Bilddaten der Bilder des zweiten Trainingsdatensatzes mit der Übertragungsfunktion multipliziert werden.
-
Dies kann mit anderen Worten insbesondere auch so beschrieben werden, dass die Übertragungsfunktion auf alle Bilder des zweiten Trainingsdatensatzes appliziert wird. In Schritt d) wird somit ein modifizierter zweiter Trainingsdatensatz generiert. Dabei bzw. bei der Anwendung der Übertragungsfunktion auf den zweiten Trainingsdatensatz ist grundsätzlich vorgesehen, dass die Bilder des zweiten Trainingsdatensatzes ihre ursprünglichen Labels behalten.
-
Nach einer vorteilhaften Ausgestaltung wird vorgeschlagen, dass es sich bei dem Kamerasystem um ein Kamerasystem eines Fahrzeugs handelt. Vorzugsweise handelt es sich bei dem Fahrzeug um ein zumindest teilweise automatisiert oder sogar autonom operierendes Fahrzeug. Darüber hinaus kann auch vorgesehen sein, dass das Fahrzeug ein mit dem Kamerasystem verbundenes Fahrerassistenzsystem, wie etwa einen Abstandswarner, einen Spurhalteassistenten, einen Parkassistenten oder dergleichen umfasst.
-
Nach einer weiteren vorteilhaften Ausgestaltung wird vorgeschlagen, dass zum Ermitteln der Übertragungsfunktion in dem ersten Trainingsdatensatz Bilder (bzw. Bildausschnitte oder Bildbestandteile) gesucht werden, die zu Bildern (bzw. Bildausschnitte oder Bildbestandteile) des zweiten Trainingsdatensatzes ähnlich (vergleichbar) sind. Dies bedeutet mit anderen Worten insbesondere, dass in den beiden Trainingsdatensätzen ähnliche Bilder gesucht werden. Unter „ähnlichen Bildern“ sind dabei in der Regel solche zu vzweitehen, die (zumindest bereichsweise) ähnliche bzw. vergleichbare Szenarien zeigen.
-
Vorzugsweise werden aus beiden Trainingsdatensätzen Bilder gesucht, welche die gleiche Art und/oder Anzahl von Objekten (wie etwa Fahrzeuge in beiden Bildern, Bäume in beiden Bildern) zeigen. Darüber hinaus können aus beiden Trainingsdatensätzen Bilder gesucht werden, welche zur selben (oder zeitlich sehr ähnlichen) Tageszeit und/oder Jahreszeit aufgenommen wurden.
-
Nach einer weiteren vorteilhaften Ausgestaltung wird vorgeschlagen, dass zum Ermitteln der Übertragungsfunktion Farbverteilungen in zueinander ähnlichen Bildern des zweiten Trainingsdatensatzes und des ersten Trainingsdatensatzes analysiert werden. Hierzu kann in Schritt c) die Farbverteilung in den jeweiligen Bildern analysiert werden. Diese Analyse erfolgt vorzugsweise über mindestens 20 (bis 100) Einzelframes. Alternativ oder kumulativ zu den Farbverteilungen können auch andere Bildeigenschaften, wie etwa die Helligkeit, der Kontrast und/oder die Auflösung der Bilder analysiert werden.
-
Nach einer weiteren vorteilhaften Ausgestaltung wird vorgeschlagen, dass die Übertragungsfunktion Farbverteilungen des zweiten Trainingsdatensatzes auf Farbverteilungen des ersten Trainingsdatensatzes abbildet. Alternativ oder kumulativ zu den Farbverteilungen können auch andere Bildeigenschaften (wie etwa die Helligkeit, der Kontrast und/oder die Auflösung der Bilder) des zweiten Trainingsdatensatzes auf entsprechenden Bildeigenschaften des ersten Trainingsdatensatzes abgebildet werden. In diesem Zusammenhang können zum Beispiel Bildeigenschaften der zweiten Bilder zu entsprechenden Bildeigenschaften der (zu den zweiten Bildern ähnlichen) ersten Bilder ins Verhältnis gesetzt werden.
-
Beispielsweise kann die Übertragungsfunktion berechnet werden, um die Farbverteilungen zwischen den beiden Trainingsdatensätzen möglichst gut aufeinander abzubilden. Bei der Übertragungsfunktion kann es sich mit anderen Worten insbesondere um eine oder mehrere mathematische Funktionen handeln, welche die (farblichen) Unterschiede zwischen den zwei Trainingsdatensätzen minimieren.
-
Nach einer weiteren vorteilhaften Ausgestaltung wird vorgeschlagen, dass die Übertragungsfunktion die zweite Kamerakennlinie in die erste Kamerakennlinie überführt. Dies ist insbesondere dann vorteilhaft, wenn die Kamerakennlinien vorbekannt sind. In diesem Zusammenhang kann die Übertragungsfunktion beispielsweise dadurch bestimmt werden, dass die erste Kamerakennline zu der zweiten Kamerakennlinie ins Verhältnis gesetzt wird.
-
Insbesondere wenn die Kamerakennlinien nicht vorbekannt sind, ist es besonders vorteilhaft, zunächst Bildeigenschaften der Bilder der beiden Trainingsdatensätze zu analysieren (und diese ggf. anschließend zueinander ins Verhältnis zu setzten bzw. die einen auf die anderen abzubilden). Dies bedeutet mit anderen Worten insbesondere, dass die Analyse der Bildeigenschaften der Bilder in diesem Zusammenhang zu einer Ermittlung der Kamerakennlinien beitragen bzw. die Kenntnis der Kamerakennlinien ersetzen kann. Vorzugsweise werden die Kamerakennlinien durch Analyse der Bildeigenschaften von Bildern der beiden Trainingsdatensätze ermittelt.
-
In diesem Zusammenhang kann das Labeln des ersten Trainingsdatensatzes insbesondere dadurch ersetzt werden, dass einer Umrechnung einer Kamerakennlinie eines zweiten Kameratyps zu einer unterschiedlichen Kennlinie eines ersten Kameratyps erfolgt. Dies kann vorteilhafterweise durch die Verwendung einer Übertragungsfunktion erfolgen, welche die Kamerakennlinie des zweiten Kameratyps in die Kamerakennlinie des ersten Kameratyps überführt.
-
Nach einer weiteren vorteilhaften Ausgestaltung wird vorgeschlagen, dass in Schritt d) der so modifizierte zweite Trainingsdatensatz und der erste Trainingsdatensatz als Trainingsdaten für das digitale, lernfähige Kamerasystem bereitgestellt werden. Dies kann mit anderen Worten insbesondere auch so beschrieben werden, dass das Kamerasystem (bzw. der Algorithmus) sowohl auf den modifizierten zweiten Trainingsdatensatz (modifiziere Daten mit Labels) als auch auf den ersten Trainingsdatensatz (Daten ohne Labels) trainiert wird.
-
Nach einem weiteren Aspekt wird auch ein Trainingsverfahren zum Trainieren eines lernfähigen Algorithmus für ein digitales, lernfähiges Kamerasystem, das eine Kamera eines durch eine erste Kamerakennlinie charakterisierten ersten Kameratyps aufweist, unter Verwendung von Trainingsdaten vorgeschlagen, die mit einem hier vorgestellten Verfahren zum Erzeugen von Trainingsdaten für ein digitales, lernfähiges Kamerasystem erzeugt wurden.
-
Nach einem weiteren Aspekt wird auch ein Computerprogramm vorgeschlagen, welches zur (zumindest teilweisen) Durchführung eines hier vorgestellten Verfahrens, insbesondere eines hier vorgestellten Verfahrens zum Erzeugen von Trainingsdaten und/oder des Trainingsverfahrens eingerichtet ist. Dies betrifft mit anderen Worten insbesondere ein Computerprogramm(-produkt), umfassend Befehle, die bei der Ausführung des Programms durch einen Computer diesen veranlassen, ein hier beschriebenes Verfahren auszuführen.
-
Nach einem weiteren Aspekt wird auch ein maschinenlesbares Speichermedium vorgeschlagen, auf dem das Computerprogramm gespeichert ist. Regelmäßig handelt es sich bei dem maschinenlesbaren Speichermedium um einen computerlesbaren Datenträger.
-
Nach einem weiteren Aspekt soll insbesondere auch ein Fahrzeug mit einem System angegeben werden, welches zur Durchführung eines hier vorgestellten Verfahrens eingerichtet ist. Bei dem Fahrzeug handelt es sich vorzugsweise um ein Fahrzeug, das für einen automatischen bzw. autonomen Betrieb eingerichtet ist. Insbesondere ist das Fahrzeug ein autonomes Automobil.
-
Das System kann eine Steuerung umfassen, die zur Durchführung eines hier vorgestellten Verfahrens vorgesehen und eingerichtet ist. Die Steuerung kann beispielsweise Bestandteil eines Steuergeräts für ein Fahrzeug sein. Bevorzugt ist die Steuerung Bestandteil eines Fahrzeugsteuergeräts für das automatisierte bzw. autonome Fahren. Das System kann darüber hinaus auch ein Fahrerassistenzsystem bilden oder umfassen.
-
Die im Zusammenhang mit dem Verfahren zum Erzeugen von Trainingsdaten erörterten Details, Merkmale und vorteilhaften Ausgestaltungen können entsprechend auch bei dem hier vorgestellten Trainingsverfahren, dem Computerprogramm, dem Speichermedium und/oder dem Fahrzeug auftreten und umgekehrt. Insoweit wird auf die dortigen Ausführungen zur näheren Charakterisierung der Merkmale vollumfänglich Bezug genommen.
-
Vorsorglich sei angemerkt, dass die hier verwendeten Zahlwörter („erste“, „zweite“, ...) vorrangig (nur) zur Unterscheidung von mehreren gleichartigen Gegenständen, Größen, Kennwerten oder Prozessen dienen, also insbesondere keine Abhängigkeit und/oder Reihenfolge dieser Gegenstände, Größen, Kennwerte oder Prozesse zueinander zwingend vorgeben. Sollte eine Abhängigkeit und/oder Reihenfolge erforderlich sein, ist dies hier explizit angegeben oder es ergibt sich offensichtlich für den Fachmann beim Studium der konkret beschriebenen Ausgestaltung.
-
Die hier vorgestellte Lösung sowie deren technisches Umfeld werden nachfolgend anhand der Figuren näher erläutert. Es ist darauf hinzuweisen, dass die Erfindung durch die gezeigten Ausführungsbeispiele nicht beschränkt werden soll. Insbesondere ist es, soweit nicht explizit anders dargestellt, auch möglich, Teilaspekte der in oder in Zusammenhang mit den Figuren erläuterten Sachverhalte zu extrahieren und mit anderen Bestandteilen und/oder Erkenntnissen aus anderen Figuren und/oder der vorliegenden Beschreibung zu kombinieren. Es zeigen schematisch:
- 1: einen beispielhaften Ablauf eines hier vorgeschlagenen Verfahrens zum Erzeugen von Trainingsdaten für ein digitales, lernfähiges Kamerasystem,
- 2 bis 6: eine Veranschaulichung von Vorteilen der hier vorgeschlagenen Lösung anhand von Beispielen für in digitalen Bildern erkannten Objektgrenzen.
-
1 zeigt schematisch einen beispielhaften Ablauf eines hier vorgeschlagenen Verfahrens zum Erzeugen von Trainingsdaten für ein digitales, lernfähiges Kamerasystem, das eine Kamera eines durch eine erste Kamerakennlinie charakterisierten ersten Kameratyps aufweist.
-
Die mit den Blöcken 110, 120, 130 und 140 dargestellte Reihenfolge der Schritte a), b), c) und d) ergibt sich in der Regel bei einem regulären Betriebsablauf. Zumindest die Schritte a) und b) können auch zumindest teilweise parallel oder sogar gleichzeitig durchgeführt werden.
-
In Block 110 erfolgt ein Erstellen eines zweiten Trainingsdatensatzes durch Aufnehmen einer Vielzahl von digitalen Bildern unterschiedlicher Szenarien mittels einer zweiten Kamera eines durch eine zweite Kamerakennlinie charakterisierten zweiten Kameratyps, wobei sich die zweite Kamerakennlinie von der ersten Kamerakennlinie unterscheidet, und Labeln zumindest eines Anteils der digitalen Bilder für den zweiten Trainingsdatensatz.
-
In Block 120 erfolgt ein Erstellen eines ersten Trainingsdatensatzes durch Aufnehmen einer Vielzahl von digitalen Bildern unterschiedlicher Szenarien mittels einer ersten Kamera des durch die erste Kamerakennlinie charakterisierten ersten Kameratyps, wobei zumindest ein Anteil der digitalen Bilder für den ersten Trainingsdatensatz nicht gelabelt wird.
-
In Block 130 erfolgt ein Ermitteln einer Übertragungsfunktion, in Abhängigkeit von Informationen aus dem zweiten Trainingsdatensatz und dem ersten Trainingsdatensatz.
-
In Block 140 erfolgt ein Anwenden der in Schritt c) ermittelten Übertragungsfunktion auf den zweiten Trainingsdatensatz und Bereitstellen zumindest des so modifizierten zweiten Trainingsdatensatzes als Trainingsdaten für das digitale, lernfähige Kamerasystem.
-
2 bis 6 zeigen schematisch eine Veranschaulichung von Vorteilen der hier vorgeschlagenen Lösung anhand von Beispielen für in digitalen Bildern erkannten Objektgrenzen.
-
In 2a und 2b sowie in 4a und 4b sind beispielhaft erkannte Objektgrenzen veranschaulicht, die unter Verwendung des Kamerasystems mit der Kamera des ersten Kameratyps erkannt wurden. Die in 2a,b und 4a,b gezeigten Objektgrenzen wurden nach einem Training des Kamerasystems auf den nicht-modifizierten zweiten Trainingsdatensatz (d.h. ohne Verwendung der Übertragungsfunktion) erkannt. Auffällig ist, dass die Objektgrenzen teilweise ausfransen und manche Objektgrenzen nicht korrekt erkannt wurden (so z.B. Objektgrenzen von Fahrzeugen und Verkehrszeichen).
-
In 3a und 3b sowie in 5a und 5b sind beispielhaft erkannte Objektgrenzen veranschaulicht, die ebenfalls unter Verwendung des Kamerasystems mit der Kamera des ersten Kameratyps erkannt wurden. Die in 3a,b und 5a,b gezeigten Objektgrenzen wurden nach einem Training des Kamerasystems auf den modifizierten zweiten Trainingsdatensatz (d.h. nach Anwendung der Übertragungsfunktion auf den zweiten Trainingsdatensatz) erkannt. Es ist zu erkennen, dass die Qualität der Objektgrenzen-Erkennung hier im Allgemeinen besser ist. Hierbei sind die 3a mit der 2a, die 3b mit der 2b, die 5a mit der 4a und die 5b mit der 4b zu vergleichen.
-
Die 2b, 3b, 4b und 5b zeigen hierbei über die erkannten Objektgrenzen hinaus auch erkannte Helligkeitsunterschiede bzw. Farbunterschiede.
-
6a zeigt beispielhaft ein Farb-Histrogramm zur Erläuterung einer vorteilhaften Ausgestaltung des hier vorgeschlagenen Verfahrens. In dem Farb-Histrogramm sind Verläufe von Bildinformationen (Farbinformationen) aus dem zweiten Trainingsdatensatz (Domain 1) und Verläufe von Bildinformationen (Farbinformationen) aus dem ersten Trainingsdatensatz (Domain 2) abgebildet. Beispielhaft sind auf der x-Achse (Abszissenachse) die Intensität und auf der y-Achse (Ordinatenachse) die Prozent der Pixel aufgetragen.
-
In Schritt c) kann die Übertragungsfunktion für dieses Beispiel nun in Abhängigkeit von diesen Informationen aus dem zweiten Trainingsdatensatz und dem ersten Trainingsdatensatz ermittelt werden und zwar beispielsweise so, dass die Übertragungsfunktion Farbverteilungen des zweiten Trainingsdatensatzes auf Farbverteilungen des ersten Trainingsdatensatzes abbildet.
-
Die in Schritt c) ermittelte Übertragungsfunktion kann anschließend auf den zweiten Trainingsdatensatz angewendet werden, um einen modifizierten zweiten Trainingsdatensatzes als Trainingsdaten für das digitale, lernfähige Kamerasystem, das eine Kamera eines durch eine erste Kamerakennlinie charakterisierten ersten Kameratyps aufweist, bereitzustellen. In diesem Zusammenhang kann beispielsweise vorgesehen sein, dass eine Umrechnung (der Bildeigenschaften bzw. der Kamerakennlinie) in der Art einer bzw. als eine „Domain Adaptation“ erfolgt.
-
6b zeigt ein Bild aus dem zweiten Trainingsdatensatz.
-
6c zeigt das Bild gemäß 6b, nachdem die Übertragungsfunktion darauf angewendet wurde. Hierdurch kann dieses so modifizierte Bild des zweiten Trainingsdatensatz in vorteilhafter Weise zum Training des Kamerasystems, das eine Kamera eines durch eine erste Kamerakennlinie charakterisierten ersten Kameratyps aufweist, verwendet werden.
-
Hier werden somit ein Verfahren zum Erzeugen von Trainingsdaten für ein digitales, lernfähiges Kamerasystem, ein Trainingsverfahren zum Trainieren eines lernfähigen Algorithmus für ein digitales, lernfähiges Kamerasystem, ein Computerprogramm sowie ein maschinenlesbares Speichermedium angegeben, welche die mit Bezug auf den Stand der Technik geschilderten Probleme zumindest teilweise lösen. Insbesondere werden ein Verfahren zum Erzeugen von Trainingsdaten für ein digitales, lernfähiges Kamerasystem, ein Trainingsverfahren zum Trainieren eines lernfähigen Algorithmus für ein digitales, lernfähiges Kamerasystem, ein Computerprogramm sowie ein maschinenlesbares Speichermedium angegeben, die zumindest dazu beitragen, ein weniger kosten- und/oder zeitintensives Training zu ermöglichen, wobei insbesondere der Kosten- und/oder Zeitaufwand zur Erzeugung von Trainingsdaten reduziert wird.