-
Die vorliegende Erfindung betrifft ein Verfahren zum Trainieren eines maschinellen Lernsystems, ein Verfahren zum Trainieren eines Objektdetektors, ein Verfahren zum Betreiben eines Steuerungssystems, ein Computerprogramm und ein maschinenlesbares Speichermedium.
-
Stand der Technik
-
Vorteile der Erfindung
-
Viele moderne technische Systeme verarbeiten Daten, die aus einer Umgebung des technischen Systems aufgenommen wird, mit Verfahren des maschinellen Lernens. Diese Verfahren sind typischerweise in der Lage, Prädiktionen bezüglich der Daten aufzustellen, und zwar basierend auf statistischem Wissen, welches basierend auf einer Menge von Trainingsdaten erworben wurde.
-
Maschinelle Lernsysteme begegnen typischerweise Problemen, falls eine statistische Verteilung von Daten, die das maschinelle Lernsystem zur Inferenzzeit verarbeitet, sich von einer statistischen Verteilung von Daten, die zum Training des maschinellen Lernsystems verwendet werden, unterscheidet. Dieses Problem ist im Bereich des maschinellen Lernens auch als Domänenverschiebung (engl. domain shift) bekannt.
-
Es gibt viele Beispiele von technischen Systemen, die einer mehr oder weniger natürlichen oder zwangsläufigen Domänenverschiebung unterliegen. Zum Beispiel im Bereich der zumindest teilweise autonomen Fahrzeuge, ergibt sich die Situation, dass in regelmäßigen Zyklen neue Fahrzeuge auf der Straße zu beobachten sind. Für Sensoren von zumindest teilweise autonomen Fahrzeugen, wie etwa LIDAR-Sensoren, Kamerasensoren oder Radarsensoren, resultieren solche Fahrzeuge typischerweise auch in Messungen, die so in potenziellen Trainingsmengen unbekannt sind, da die Fahrzeuge per Definition neu sind und somit auch die Sensormessungen, die von Ihnen aufgezeichnet werden.
-
Eine andere Form der Domänenverschiebung kann sich beim Wechsel von zwei Produktgenerationen eines Produkts ergeben. Beispielsweise gibt es Kamerasensoren, die maschinelle Lernsysteme umfassen, um eine von der Kamera aufgezeichnete Umgebung (also ein Kamerabild der Umgebung) bezüglich z.B. Positionen von Objekten auszuwerten. Zum Training solcher maschineller Lernsystem sind regelmäßig eine große Anzahl an Trainingsdaten notwendig. Wechselt nun die Produktgeneration der Kamera, wird z.B. ein neuer Bildsensor (engl. Image) verwendet, erzielt das maschinelle Lernsystem ohne Anpassung typischerweise nicht mehr die gleiche Prädiktionsgenauigkeit, wie bei der vorherigen Kamerageneration. Ein Produktgenerationenwechsel würde daher bedeutet, neue Trainingsdaten für das maschinelle Lernsystem zu ermitteln. Während die reinen Daten selbst typischerweise kostengünstig zu erlangen sind, sind die zum Training notwendigen Annotationen ungleich schwieriger zu erhalten und kostenintensiver, da typischerweise menschliche Experten die Annotationen erstellen müssen.
-
Vorteilhafterweise erlaubt das Verfahren mit Merkmalen des unabhängigen Anspruchs 1 eine Quellendomäne auf eine Zieldomäne zu adaptieren (engl. domain adaption). Im Gegensatz zu bekannten Verfahren, ermöglicht das Verfahren dabei das Einbringen von a priori Informationen in Hinblick auf welche Teile der Quellendomäne insbesondere wichtig sind bei der Adaption auf die Zieldomäne. Diese a priori Informationen werden automatisiert ermittelt. Das Verfahren ist daher vorteilhafterweise in der Lage eine unüberwachte Domänenadaption durchzuführen. Die Erfinder konnten feststellen, dass durch die a priori Informationen die Domänenadaption genauer wird.
-
Offenbarung der Erfindung
-
In einem ersten Aspekt betrifft die Erfindung ein computerimplementiertes Verfahren zum Trainieren eines maschinellen Lernsystems umfassend die Schritte:
- • Bereitstellen eines Quellenbildes aus einer Quellendomäne und eines Zielbildes einer Zieldomäne;
- • Ermitteln eines ersten generierten Bildes basierend auf dem Quellenbild mittels eines ersten Generators des maschinellen Lernsystems und ermitteln einer ersten Rekonstruktion basierend auf dem ersten generierten Bild mittels eines zweiten Generators des maschinellen Lernsystems;
- • Ermitteln eines zweiten generierten Bildes basierend auf dem Zielbild mittels des zweiten Generators und ermitteln einer zweiten Rekonstruktion basierend auf dem zweiten generierten Bild mittels des ersten Generators;
- • Ermitteln eines ersten Verlustwertes, wobei der erste Verlustwert einen ersten Unterschied des Quellenbildes und der ersten Rekonstruktion charakterisiert, wobei der erste Unterschied gemäß einer ersten Aufmerksamkeitskarte gewichtet wird, und ermitteln eines zweiten Verlustwertes, wobei der zweite Verlustwert einen zweiten Unterschied des Zielbildes und der zweiten Rekonstruktion charakterisiert, wobei der zweite Unterschied gemäß einer zweiten Aufmerksamkeitskarte gewichtet wird;
- • Trainieren des maschinellen Lernsystems durch Trainieren des ersten Generators und/oder des zweiten Generators basierend auf dem ersten Verlustwert und/oder dem zweiten Verlustwert.
-
Das maschinelle Lernsystem kann insoweit verstanden werden, als dass es ausgebildet ist, ein Bild als Eingabe entgegen zu nehmen und basierend auf dieser Eingabe ein weiteres Bild als Ausgabe zu ermitteln. Mittels des Verfahrens kann das maschinelle Lernsystem derart trainiert werden, dass es Bilder der Quellendomäne in Bilder der Zieldomäne umwandeln kann.
-
Eine Domäne kann als eine Wahrscheinlichkeitsverteilung verstanden werden, aus der Bilder generiert werden können. Das Verfahren kann daher auch derart verstanden werden, dass es Bilder aus einer Wahrscheinlichkeitsverteilung (Quellendomäne) in eine weitere Wahrscheinlichkeitsverteilung (Zieldomäne) transformiert.
-
Ein Bild kann insbesondere als eine Sensoraufzeichnung oder auch Messung eines Sensors verstanden werden. Als Sensoren, die Bilder als Messungen ermitteln können, können insbesondere Kamerasensoren, LIDAR-Sensoren, Radarsensoren, Ultraschallsensoren oder Wärmebildkameras verwendet werden. Ein Bild kann jedoch auch synthetisch generiert werden, zum Beispiel basierend auf einer Computersimulation, zum Beispiel mittels rendering einer virtuellen Welt. Für solche synthetische Bilder ist es oft sehr einfach möglich automatisiert Annotationen zu ermitteln, wobei mittels des Verfahrens dann aus den synthetischen Bildern weitere Bilder generiert werden können, die in ihrem Erscheinungsbild einem Bild z.B. eines Kamerasensors gleicht.
-
Zur Ermittlung des ersten generierten Bildes verwendet das maschinelle Lernsystem einen ersten Generator, der während des Verfahrens trainiert werden kann. Ein Generator kann im Kontext der Erfindung als ein maschinelles Lernverfahren verstanden werden, welches basierend auf einem Eingabebild ein Ausgabebild ermittelt. Im speziellen können die beschriebenen Generatoren derart verstanden werden, dass sie ein Bild ermittelt, welches die gleiche Größe hat, wie das Bild, welches als Eingabe verwendet wird.
-
Um einen Zusammenhang und damit eine geeignete Adaption von der Quellendomäne zur Zieldomäne zu ermöglichen, umfasst das maschinelle Lernsystem ferner einen zweiten Generator, welcher ausgebildet ist, Bilder aus der Zieldomäne zurück in die Quellendomäne zu projizieren. Wird ein Bild zunächst von einem Generator des maschinellen Lernsystems verarbeitet und das so ermittelte Bild dann vom anderen Generator verarbeitet, so kann das vom anderen Generator ermittelte Bild als Rekonstruktion verstanden werden. Ziel bei bekannten Verfahren ist es, für jeweils ein Bild aus der Quellendomäne und ein Bild aus der Zieldomäne die Generatoren so zu trainieren, dass die eine jeweilige Rekonstruktion identisch zum jeweiligen Bild ist. Vorteilhafterweise ermöglicht der Einsatz der ersten Aufmerksamkeitskarte und der zweiten Aufmerksamkeitskarte das Training derart zu steuern, dass bestimmte Bereiche des Bildes der Quellendomäne und des Bildes der Zieldomäne als besonders wichtig eingestuft werden können. Vorzugsweise können die von den Aufmerksamkeitskarten so deklarierten Bereiche Objekte enthalten, die auf dem Bild zu erkennen sind. Das maschinelle Lernverfahren wird so in die Lage versetzt, den Fokus bei der Rekonstruktion insbesondere auf Objekte zu legen. Die Erfinder konnten feststellen, dass hierdurch eine Domänenadaption möglich ist, die Objekte von Bilden der Quellendomäne sehr genau in Bilder der Zieldomäne übertragen kann. Auf diese Weise kann beispielsweise ein Trainingsdatensatz für einen Objektdetektor der Zieldomäne ermittelt werden, wobei die Trainingsbilder aus den Bildern eines Datensatzes aus der Quellendomäne generiert werden können und die Annotationen der Bilder des Datensatzes als Annotationen der generierten Trainingsbilder verwendet werden können.
-
Im Gegensatz zu bekannten Verfahren, werden dabei während des Trainings dem maschinellen Lernsystem mittels der ersten Aufmerksamkeitskarte und der zweiten Aufmerksamkeitskarte a priori Informationen zugeführt, die dem maschinellen Lernsystem anzeigen, welche Teile bei der Domänenadaption besonders relevant sind.
-
In bevorzugten Ausführungsformen ist möglich, dass die erste Aufmerksamkeitskarte für Pixel des Quellenbildes jeweils charakterisiert, ob ein Pixel zu einem auf dem Quellenbild abgebildeten Objekt gehört oder nicht und/oder wobei die zweite Aufmerksamkeitskarte für Pixel des Zielbildes jeweils charakterisiert, ob ein Pixel zu einem auf dem Zielbild abgebildeten Objekt gehört oder nicht.
-
Ein Bild und eine entsprechend ermittelte Rekonstruktion können insbesondere pixelweise verglichen werden, d.h. es kann jeweils ein Unterschied zwischen Pixeln an gleichen Positionen in Bild und Rekonstruktion ermittelt werden, zum Beispiel ein Euklidischer Abstand oder ein Quadrat des Euklidischen Abstands. Eine Aufmerksamkeitskarte kann dann verwendet werden, um jedem dieser ermittelten Unterschiede ein Gewicht zuzuordnen, welches ein Unterschied gemäß der Aufmerksamkeitskarte erhalten soll. Pixel des Bildes können insbesondere danach gewichtet werden, ob sie ein Objekt charakterisieren oder nicht. Eine Aufmerksamkeitskarte kann dabei als ein Bild mit einem Kanal oder eine Matrix verstanden werden. Die zwischen dem Bild und der Rekonstruktion ermittelten Unterschiede können ebenfalls als ein Bild mit einem Kanal oder eine Matrix verstanden werden, in der ein Unterschied an einer bestimmten Position jeweils den Unterschied der Pixel des Bildes und der Rekonstruktion an gleicher Position charakterisiert. Eine Gewichtung der Werte der Matrix von Unterschiedswerten kann dann mittels eines Hadamard Produkts der Aufmerksamkeitskarte mit Matrix von Unterschiedswerten ermittelt werden. Basierend hierauf kann dann ein Verlustwert ermittelt werden, in dem Beispielsweise alle Elemente des Ergebnisses des Hadamard Produkts summiert, vorzugsweise gewichtet summiert werden.
-
In einer Ausführungsform ist möglich, dass die erste Aufmerksamkeitskarte den Pixeln des Quellenbilds jeweils ein Gewicht 1 zuordnet, falls der Pixel zu einem Objekt gehört, was im Bild abgebildet ist, und ein Gewicht 0 zuordnet, falls der Pixel zu keinem Objekt gehört. In typischer Sprechweise aus dem Feld der Objektdetektion kann eine Aufmerksamkeitskarte daher derart ausgebildet sein, dass sie Vordergrund von Hintergrund abgrenzt, und zwar angezeigt durch die Unterschiedlichen Werte (1 für Vordergrund, 0 für Hintergrund). Alternativ oder zusätzlich ist möglich, dass die zweite Aufmerksamkeitskarte den Pixeln des Zielbilds jeweils ein Gewicht 1 zuordnet, falls der Pixel zu einem Objekt gehört, was im Bild abgebildet ist, und ein Gewicht 0 zuordnet, falls der Pixel zu keinem Objekt gehört.
-
Alternativ ist auch möglich, dass die erste Aufmerksamkeitskarte und/oder die zweite Aufmerksamkeitskarte jeweils Wahrscheinlichkeiten charakterisiert, mit denen entsprechende Pixel zu einem Objekt gehören.
-
In bevorzugten Ausführungsformen ist möglich, dass die erste Aufmerksamkeitskarte basierend auf dem Quellenbild mittels eines Objektdetektors ermittelt wird und/oder wobei die zweite Aufmerksamkeitskarte basierend auf dem Zielbild mittels des Objektdetektors ermittelt wird.
-
Der Objektdetektor kann insbesondere ein maschinelles Lernsystem sein, beispielsweise ein neuronales Netz, welches zur Objektdetektion ausgebildet ist. Der Objektdetektor kann vorzugsweise auf Bildern der Quellendomäne trainiert sein. Zum Training des in der Erfindung vorgeschlagenen maschinellen Lernsystems kann er Objektdetektor dann die erste Aufmerksamkeitskarte basierend auf dem Quellenbild ermitteln. Beispielsweise können vom Objektdetektor alle Pixel des Quellenbildes, die der Objektdetektor als zu einem Objekt zugehörig erkennt, in der ersten Aufmerksamkeitskarte den Wert 1 zugewiesen bekommen und alle anderen Werte der Aufmerksamkeitskarte auf den Wert 0 gesetzt werden. Ähnlich können vom Objektdetektor alle Pixel des Zielbildes, die der Objektdetektor als zu einem Objekt zugehörig erkennt, in der zweiten Aufmerksamkeitskarte den Wert 1 zugewiesen bekommen und alle anderen Werte der Aufmerksamkeitskarte auf den Wert 0 gesetzt werden.
-
Typischerweise sind Objektdetektoren ausgebildet, dass sie jedem Pixel im Bild eine Wahrscheinlichkeit zuweisen können, mit der es sich bei dem Pixel um ein Objekt handelt. Zum Beispiel geben gängige neuronale Netze zur Objektdetektion eine Objektdetektion in Form einer Begrenzungsbox (engl. bounding box) und einer Wahrscheinlichkeit aus, mit der es sich bei der Bounding Box um ein dem neuronalen Netz bekanntes Objekt handelt. Die Pixel innerhalb der Bounding Box können in der Aufmerksamkeitskarte jeweils mit der Wahrscheinlichkeit belegt werden. Falls das neuronale Netz überlappende Objektdetektionen ermittelt, kann die für einen Pixel jeweils größte ermittelte Wahrscheinlichkeit verwendet werden.
-
Bevorzugt ist in den jeweiligen Ausführungsformen des Verfahrens auch möglich, dass die Schritte des Verfahrens iterativ durchgeführt werden und der Objektdetektor in jeder Iteration eine erste Aufmerksamkeitskarte für ein Quellenbild ermittelt und/oder in jeder Iteration eine zweite Aufmerksamkeitskarte für ein Zielbild ermittelt.
-
Generell kann ein Quellenbild aus einem Datensatz der Quellendomäne entstammend verstanden werden und ein Zielbild aus einem Datensatz der Zieldomäne entstammend verstanden werden. Zum Training können insbesondere mehrere Bilder der jeweiligen Datensätze verwendet werden und die Schritte des Trainingsverfahrens iterativ ausgeführt werden. Insbesondere können die Bilder der Zieldomäne nicht annotiert sein. Der Objektdetektor kann dann in jedem Iterationsschritt des Trainings jeweils für das Quellenbild und das Zielbild der Iteration Objektdetektionen ermitteln, auf deren Basis dann, wie in einer der oben beschriebenen Ausführungsformen erklärt, die erste Aufmerksamkeitskarte bzw. die zweite Aufmerksamkeitskarte ermittelt werden kann. Der Vorteil hieran ist, dass durch das iterative Training die Bilder des Datensatzes der Quellendomäne mit jedem Iterationsschritt besser transformiert werden können, also die aus der Quellendomäne transformierten Bilder immer mehr denen der Zieldomäne ähneln.
-
Vorzugsweise charakterisiert das im Verfahren trainierte maschinelle Lernsystem ein neuronales Netz, insbesondere ein CycleGAN. Alternativ kann das maschinelle Lernsystem auch ein anderes neuronales Netz charakterisieren, dass eine Bild-zu-Bild Transformation (engl. image-to-image translation) ermöglicht, zum Beispiel ein MADAN oder ein VAE-GAN.
-
In einem weiteren Aspekt betrifft die Erfindung ein computerimplementiertes Verfahren zum Trainieren eines Objektdetektors umfassend die Schritte:
- • Bereitstellen eines Eingabebildes und einer Annotation, wobei die Annotation eine Position zumindest eines im Eingabebild abgebildeten Objekts charakterisiert;
- • Ermitteln eines Zwischenbildes mittels des ersten Generators eines maschinellen Lernsystems, welches gemäß einer der Ausführungsformen des ersten Aspekts der Erfindung trainiert wurde;
- • Trainieren des Objektdetektors, wobei der Objektdetektor derart trainiert wird, dass der Objektdetektor für das Zwischenbild als Eingabe das Objekt oder die Objekte prädiziert, welche durch die Annotation charakterisiert werden.
-
Das Verfahren zum Trainieren des Objektdetektors kann derart verstanden werden, dass zunächst mittels eines trainierten maschinellen Lernsystems basierend auf Bildern der Quellendomäne Bilder ermittelt werden, die im Erscheinungsbild Bildern der Zieldomäne entsprechen und der Objektdetektor anschließend basierend auf diesen Bildern (also den Zwischenbildern) trainiert wird. Dabei kann der Objektdetektor insbesondere iterativ trainiert werden, wobei ein Datensatz von Trainingsbildern der Quellendomäne vor dem Training in einen Datensatz von Zwischenbildern transformiert werden kann, mit denen der Objektdetektor dann trainier wird. Alternativ ist auch möglich, dass in jedem Iterationsschritt jeweils ein Bild aus der Quellendomäne in ein Zwischenbild transformiert wird und der Objektdetektor dann mit diesem Zwischenbild trainiert wird.
-
Vorteilhafterweise kann so der Objektdetektor unüberwacht an die Zieldomäne angepasst werden, ohne dass Objektannotation für Bilder der Zieldomäne benötigt werden. Dies beschleunigt das Trainingsverfahren des Objektdetektors, da die Zeit für die Annotation von Bildern der Zieldomäne entfällt. Bei gleichem Zeitbudget können so mehr Bilder durch den Objektdetektor angelernt werden. Im Umkehrschluss kann dadurch die Performanz des Objektdetektors verbessert werden, da er mit mehr Bildern trainiert werden kann.
-
Im Allgemeinen kann ein Objektdetektor im Sinne der Erfindung als derart eingerichtet verstanden werden, dass er zu einer Objektdetektion, also neben einer Position und Größe eines Objekts im Bild, auch eine Klasse für ermittelt, welche das Objekt der Detektion charakterisiert.
-
Das maschinelle Lernsystem kann im Verfahren zum Trainieren des Objektdetektors derart verstanden werden, dass es gemäß einer Ausführungsform des Verfahrens zum Trainieren des maschinellen Lernsystems trainiert wurde. Insbesondere können daher die Verfahrensschritte zum Trainieren des maschinellen Lernsystems teil des Verfahrens zum Trainieren des Objektdetektors sein. Insbesondere können die Verfahrensschritte des Trainierens des maschinellen Lernsystems den Verfahrensschritten des Trainierens des Objektdetektors vorangestellt sein.
-
In einem weiteren Aspekt betrifft die Erfindung ein computerimplementiertes Verfahren zum Ermitteln eines Ansteuersignals zur Ansteuerung eines Aktors und/oder einer Anzeigevorrichtung umfassend die Schritte:
- • Bereitstellen eines Eingabebildes;
- • Ermitteln von Objekten, die auf dem Eingabebild abgebildet sind, mittels eines Objektdetektors, wobei der Objektdetektor basierend auf einer Ausprägung des Verfahrens zum Trainieren des Objektdetektors trainiert wurde;
- • Ermitteln des Ansteuersignals basierend auf den ermittelten Objekten;
- • Ansteuern des Aktors und/oder der Anzeigevorrichtung gemäß des Ansteuersignals.
-
Der Aktor kann insbesondere als eine Komponente eines technischen Systems verstanden werden, die eine Bewegung des technischen Systems oder innerhalb des technischen Systems beeinflusst. Zum Beispiel kann der Aktor ein Motor sein, der die Bewegung eines Roboters beeinflusst, zum Beispiel ein Elektromotor. Alternativ ist auch möglich, dass der Aktor eine Hydraulik steuert, zum Beispiel kann der Aktor eine Pumpe sein, die einen hydraulischen Zylinder antreibt. Der Aktor kann des Weiteren auch ein Ventil sein, welches eine Zuflussmenge einer Flüssigkeit oder eines Gases kontrolliert.
-
Nachfolgend werden Ausführungsformen der Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. In den Zeichnungen zeigen:
- 1 ein maschinelles Lernsystem;
- 2 schematisch ein Verfahren zum Trainieren des maschinellen Lernsystems;
- 3 schematisch ein Trainingssystem;
- 4 schematisch einen Aufbau eines Steuerungssystems zur Ansteuerung eines Aktors;
- 5 schematisch ein Ausführungsbeispiel zur Steuerung eines wenigstens teilautonomen Roboters;
- 6 schematisch ein Ausführungsbeispiel zur Steuerung eines Fertigu ngssystems;
- 7 schematisch ein Ausführungsbeispiel zur Steuerung eines Zugangssystems;
- 8 schematisch ein Ausführungsbeispiel zur Steuerung eines Überwachungssystems.
-
Beschreibung der Ausführungsbeispiele
-
1 zeigt, wie mittels eines Quellenbildes (x
1) aus einer Quellendomäne und eins Zielbildes (x
2) aus einer Zieldomäne Verlustwerte
zum Trainieren eines maschinellen Lernsystems (70) ermittelt werden können.
-
Das Quellenbild (x1) wird an einen ersten Generator (71) des maschinellen Lernsystem (70) übergeben, wobei der Generator (71) basierend auf dem Quellenbild (x1) ein erstes generiertes Bild (a1) ermittelt. Des Weiteren wird das Zielbild (x2) an einen zweiten Generator (72) des maschinellen Lernsystem (70) übergeben, wobei der zweite Generator (72) basierend auf dem Zielbild (x2) ein zweites generiertes Bild (a2) ermittelt.
-
Das erste generierte Bild (a
1) wird dem zweiten Generator (72) zugeführt, um eine erste Rekonstruktion (r
1) zu ermitteln. Anschließend werden pixelweise Unterschiede des ersten generierten Bildes (a
1) und der ersten Rekonstruktion (r
1) ermittelt, zum Beispiel jeweils ein pixelweiser Abstand gemäß einer L
p-Norm. Die Unterschiede werden anschließend mittels einer ersten Aufmerksamkeitskarte (m
1) gewichtet und die gewichteten Unterschiede summier, um einen ersten Verlustwert
zu ermitteln.
-
Das zweite generierte Bild (a
2) wird dem ersten Generator (71) zugeführt, um eine zweite Rekonstruktion (r
2) zu ermitteln. Anschließend werden pixelweise Unterschiede des zweiten generierten Bildes (a
2) und der zweiten Rekonstruktion (r
2) ermittelt, zum Beispiel jeweils ein pixelweiser Abstand gemäß einer L
p-Norm. Die Unterschiede werden anschließend mittels einer zweiten Aufmerksamkeitskarte (m
2) gewichtet und die gewichteten Unterschiede summier, um einen zweiten Verlustwert
zu ermitteln.
-
Das Zielbild (x
2) und das erste generierte Bild (a
1) werden weiterhin einem ersten Diskriminator (73) zugeführt. Der erste Generator (71) und erste Diskriminator (73) können als ein generatives adversarielles Netzwerk (engl. generative adversarial network, GAN) verstanden werden. Basierend auf dem Zielbild (x
2) und dem ersten generierten Bild (x
1) ermittelt der erste Diskriminator (73) dann einen ersten GAN-Verlustwert für jeden Pixel des ersten generierten Bildes (a
1) und jeden Pixel des Zielbildes (x
2). Mit anderen Worten, im Gegensatz zum normalen GAN-Verlustwert wird nicht der Durchschnitt der pixelweisen Verlustwerte verwendet. Die ersten GAN-Verlustwerte können als Matrix von Verlustwerten verstanden werden, in der ein Verlustwert an einer Position mit einer Pixel Position des Zielbildes (x
2) und des ersten generierten Bildes (a
1) korrespondiert. Die ersten GAN-Verlustwerte werden anschließend mittels der ersten Aufmerksamkeitskarte (m
1) gewichtet, und die gewichteten Verlustwerte summiert, um einen dritten Verlustwert
zu ermitteln.
-
Das Quellenbild (x
1) und das zweite generierte Bild (a
2) werden weiterhin einem zweiten Diskriminator (74) zugeführt. Der zweite Generator (72) und zweite Diskriminator (74) können als ein GAN verstanden werden. Basierend auf dem Quellenbild (x
1) und dem zweiten generierten Bild (x
2) ermittelt der zweite Diskriminator (74) dann einen zweiten GAN-Verlustwert für jeden Pixel des zweiten generierten Bildes (a
2) und jeden Pixel des Zielbildes (x
1). Mit anderen Worten, im Gegensatz zum normalen GAN-Verlustwert wird nicht der Durchschnitt der pixelweisen Verlustwerte verwendet. Die zweiten GAN-Verlustwerte können als Matrix von Verlustwerten verstanden werden, in der ein Verlustwert an einer Position mit einer Pixel Position des Quellenbildes (x
1) und des zweiten generierten Bildes (a
2) korrespondiert. Die zweiten GAN-Verlustwerte werden anschließend mittels der zweiten Aufmerksamkeitskarte (m
2) gewichtet, und die gewichteten Verlustwerte summiert, um einen vierten Verlustwert
zu ermitteln.
-
Die Verlustwerte
können anschließend summiert, vorzugsweise gewichtet summiert werden, um einen einzigen Verlustwert zu erhalten, mittels dem Parameter des ersten Generators (71) und/oder Parameter des zweiten Generators (72) und/oder Parameter des ersten Diskriminators (73) und/oder des zweiten Diskriminators (74) verändert werden können. Die Gewichte der einzelnen Verlustwerte
stellen dabei Hyperparameter des Verfahrens dar.
-
2 zeigt in Form eines Flussdiagramms den Ablauf eines Trainingsverfahrens (100) des maschinellen Lernsystems (70). Das maschinelle Lernsystem ist im Ausführungsbeispiel als CycleGAN gemäß 1 ausgebildet. IN anderen Ausführungsformen sind auch andere Ausbildungen möglich.
-
In einem ersten Schritt (101) wird ein Quellenbild aus einem Datensatz einer Quellendomäne bereitgestellt und ein Zielbild aus einem Datensatz einer Zieldomäne.
-
In einem zweiten Schritt (102) werden mittels eines vortrainierten Objektdetektors, zum Beispiel einem zur Objektdetektion ausgebildeten neuronalen Netz, das Quellenbild (x1) und das Zielbild (x2) verarbeitet, um jeweils Objektdetektionen zu ermitteln. Basierend auf den Objektdetektionen wird dann eine erste Aufmerksamkeitskarte (m1) bezüglich des Quellenbildes (x1) ermittelt und eine zweite Aufmerksamkeitskarte (m2) bezüglich des Zielbildes (x2) ermittelt.
-
In einem dritten Schritt (103) wird gemäß der 1 die erste Rekonstruktion (r1) ermittelt.
-
In einem vierten Schritt (104) wird gemäß der 1 die zweite Rekonstruktion ermittelt.
-
In einem fünften Schritt (105) wird gemäß der 1 der einzige Verlustwert ermittelt
-
In einem sechsten Schritt (106) werden die Parameter des ersten Generators (71), die Parameter des zweiten Generators (72), die Parameter des ersten Diskriminators (73) und die Parameter des zweiten Diskriminators (74) mittels eines Gradientenabstiegverfahrens trainiert und somit das maschinelle Lernsystem (70) trainiert.
-
Bevorzugt können die Schritte des Verfahrens iterativ wiederholt werden. Als Abbruchkriterium der Iterationsschleife kann beispielsweise gewählt werden, dass eine bestimmte Anzahl von Iterationen abgeschlossen wurde. Alternativ ist auch möglich, dass das Training basierend auf dem einzigen Verlustwert oder einem auf einem weiteren Datensatz ermittelten Verlustwert beendet wird.
-
3 zeigt ein Ausführungsbeispiel eines Trainingssystems (140) zum Trainieren eines Objektdetektors (60) mittels eines Trainingsdatensatzes (T). Der Trainingsdatensatz (T) umfasst eine Mehrzahl von Quellenbildern (xi) einer der Quellendomäne, die zum Trainieren des Objektdetektors (60) verwendet werden, wobei der Trainingsdatensatz (T) ferner zu jeweils einem Quellenbild (xi) ein gewünschtes Ausgabesignal (ti) umfasst, welches mit dem Quellenbild (xi) korrespondiert und eine Objektdetektion des Quellenbilds (xi) charakterisiert.
-
Zum Training greift eine Trainingsdateneinheit (150) auf eine computerimplementierte Datenbank (St2) zu, wobei die Datenbank (St2) den Trainingsdatensatz (T) zur Verfügung stellt. Die Trainingsdateneinheit (150) ermittelt aus dem Trainingsdatensatz (T) vorzugsweise zufällig zumindest ein Quellenbild (xi) und das zum Quellenbild (xi) korrespondierende gewünschte Ausgabesignal (ti) und übermittelt das Quellenbild (xi) an den ersten Generator (71) des trainierten maschinellen Lernsystem (70). Der erste Generator (71) ermittelt auf Basis des Quellenbildes (xi) ein Zwischenbild. Das Zwischenbild ist vom Erscheinungsbild Bildern der Zieldomäne ähnlich. Das Zwischenbild wird anschließend dem Objektdetektor (60) zugeführt. Der Objektdetektor (60) ermittelt auf Basis des Zwischenbildes ein Ausgabesignal (yi).
-
Das gewünschte Ausgabesignal (ti) und das ermittelte Ausgabesignal (yi) werden an eine Veränderungseinheit (180) übermittelt.
-
Basierend auf dem gewünschten Ausgabesignal (ti) und dem ermittelten Ausgabesignal (yi) werden dann von der Veränderungseinheit (180) neue Parameter (Φ') für den Objektdetektor (60) bestimmt. Hierfür vergleicht die Veränderungseinheit (180) das gewünschte Ausgabesignal (ti) und das ermittelte Ausgabesignal (yi) mittels einer Verlustfunktion (engl. Loss Function). Die Verlustfunktion ermittelt einen ersten Verlustwert, der charakterisiert, wie weit das ermittelte Ausgabesignal (yi) vom gewünschten Ausgabesignal (ti) abweicht. Als Verlustfunktion wird im Ausführungsbeispiel eine negative logarithmierte Plausibilitätsfunktion (engl. negative log-likehood function) gewählt. In alternativen Ausführungsbeispielen sind auch andere Verlustfunktion denkbar.
-
Weiterhin ist vorstellbar, dass das ermittelte Ausgabesignal (yi) und das gewünschte Ausgabesignal (ti) jeweils eine Mehrzahl von Untersignalen, zum Beispiel in Form von Tensoren, umfassen, wobei jeweils ein Untersignal des gewünschten Ausgabesignals (ti) mit einem Untersignal des ermittelten Ausgabesignals (yi) korrespondiert. Zum Beispiel ist vorstellbar, dass ein erstes Untersignal des Ausgabesignals (ti) jeweils eine Auftretenswahrscheinlichkeit eines Objekts bezüglich eines Teils des Quellenbildes (xi) charakterisiert und zweites Untersignal des Ausgabesignals (yi) die exakte Position des Objekts charakterisiert. Für den Fall, dass das ermittelte Ausgabesignal (yi) und das gewünschte Ausgabesignal (ti) eine Mehrzahl von korrespondierenden Untersignalen umfasst, wird vorzugsweise für jeweils korrespondierende Untersignale mittels einer geeigneten Verlustfunktion ein zweiter Verlustwert ermittelt und die ermittelten zweiten Verlustwerte geeignet zum ersten Verlustwert zusammengeführt, beispielsweise über eine gewichtete Summe.
-
Die Veränderungseinheit (180) ermittelt auf Grundlage des ersten Verlustwertes die neuen Parameter (Φ'). Im Ausführungsbeispiel geschieht dies mittels eines Gradientenabstiegsverfahren, vorzugsweise Stochastic Gradient Descent, Adam, oder AdamW. In weiteren Ausführungsbeispielen kann das Training auch auf einem evolutionären Algorithmus oder einer Zweite-Grad-Optimierung (engl. second-order optimization) beruhen.
-
Die ermittelten neuen Parameter (Φ') werden in einem Modellparameterspeicher (St1) gespeichert. Vorzugsweise werden die ermittelten neuen Parameter (Φ') als Parameter (Φ) dem Objektdetektor (60) bereitgestellt.
-
In weiteren bevorzugten Ausführungsbeispielen wird das beschriebene Training iterativ für eine vordefinierte Anzahl an Iterationsschritten wiederholt oder iterativ wiederholt, bis der erste Verlustwert einen vordefinierten Schwellenwert unterschreitet. Alternativ oder zusätzlich ist auch vorstellbar, dass das Training beendet wird, wenn ein durchschnittlicher erster Verlustwert bezüglich eines Test- oder Validierungsdatensatzes einen vordefinierten Schwellenwert unterschreitet. In mindestens einer der Iterationen werden die in einer vorherigen Iteration bestimmten neuen Parameter (Φ') als Parameter (Φ) des Objektdetektors (60) verwendet.
-
Des Weiteren kann das Trainingssystem (140) mindestens einen Prozessor (145) und mindestens ein maschinenlesbares Speichermedium (146) umfassen, welches Befehle enthält, welche, wenn sie durch den Prozessor (145) ausgeführt werden, das Trainingssystem (140) veranlassen, ein Trainingsverfahren nach einem der Aspekte der Erfindung auszuführen.
-
4 zeigt die Verwendung des Objektdetektors (60) innerhalb eines Steuerungssystems (40) zur Steuerung eines Aktors (10) in einer Umgebung (20) des Aktors (10). In vorzugsweise regelmäßigen zeitlichen Abständen wird die Umgebung (20) in einem Sensor (30), insbesondere einem bildgebenden Sensor wie einem Kamerasensor, erfasst, der auch durch eine Mehrzahl von Sensoren gegeben sein kann, beispielsweise eine Stereokamera. Das Sensorsignal (S) - bzw. im Fall mehrerer Sensoren je ein Sensorsignal (S) - des Sensors (30) wird an das Steuerungssystem (40) übermittelt. Das Steuerungssystem (40) empfängt somit eine Folge von Sensorsignalen (S). Das Steuerungssystem (40) ermittelt hieraus Ansteuersignale (A), welche an den Aktor (10) übertragen werden.
-
Das Steuerungssystem (40) empfängt die Folge von Sensorsignalen (S) des Sensors (30) in einer optionalen Empfangseinheit (50), die die Folge von Sensorsignalen (S) in eine Folge von Eingabesignalen (x) umwandelt (alternativ kann auch unmittelbar je das Sensorsignal (S) als Eingangssignal (x) übernommen werden). Das Eingabesignal (x) kann beispielsweise ein Ausschnitt oder eine Weiterverarbeitung des Sensorsignals (S) sein. Mit anderen Worten wird das Eingabesignal (x) abhängig von Sensorsignal (S) ermittelt. Die Folge von Eingabesignalen (x) wird dem Objektdetektor (60) zugeführt.
-
Der Objektdetektor (60) wird vorzugsweise parametriert durch Parameter (Φ), die in einem Parameterspeicher (P) hinterlegt sind und von diesem bereitgestellt werden.
-
Der Objektdetektor (60) ermittelt aus den Eingangssignalen (x) Ausgabesignale (y). Die Ausgabesignale (y) werden einer optionalen Umformeinheit (80) zugeführt, die hieraus Ansteuersignale (A) ermittelt, welche dem Aktor (10) zugeführt werden, um den Aktor (10) entsprechend anzusteuern.
-
Der Aktor (10) empfängt die Ansteuersignale (A), wird entsprechend angesteuert und führt eine entsprechende Aktion aus. Der Aktor (10) kann hierbei eine (nicht notwendigerweise baulich integrierte) Ansteuerlogik umfassen, welches aus dem Ansteuersignal (A) ein zweites Ansteuersignal ermittelt, mit dem dann der Aktor (10) angesteuert wird.
-
In weiteren Ausführungsformen umfasst das Steuerungssystem (40) den Sensor (30). In noch weiteren Ausführungsformen umfasst das Steuerungssystem (40) alternativ oder zusätzlich auch den Aktor (10).
-
In weiteren bevorzugten Ausführungsformen umfasst das Steuerungssystem (40) zumindest einen Prozessor (45) und zumindest ein maschinenlesbares Speichermedium (46), auf dem Anweisungen gespeichert sind, die dann, wenn sie auf dem zumindest einen Prozessor (45) ausgeführt werden, das Steuerungssystem (40) veranlassen, das erfindungsgemäße Verfahren auszuführen.
-
In alternativen Ausführungsformen ist alternativ oder zusätzlich zum Aktor (10) eine Anzeigeeinheit (10a) vorgesehen.
-
5 zeigt, wie das Steuerungssystem (40) zur Steuerung eines wenigstens teilautonomen Roboters, hier eines wenigstens teilautonomen Kraftfahrzeugs (100), eingesetzt werden kann.
-
Bei dem Sensor (30) kann es sich beispielsweise um einen vorzugsweise im Kraftfahrzeug (100) angeordneten Videosensor handeln.
-
Der Objektdetektor (60) ist eingerichtet, auf den Eingabebildern (x) erkennbare Objekte zu identifizieren.
-
Bei dem vorzugsweise im Kraftfahrzeug (100) angeordneten Aktor (10) kann es sich beispielsweise um eine Bremse, einen Antrieb oder eine Lenkung des Kraftfahrzeugs (100) handeln. Das Ansteuersignal (A) kann dann derart ermittelt werden, dass der Aktor oder die Aktoren (10) derart angesteuert wird, dass das Kraftfahrzeug (100) beispielsweise eine Kollision mit den vom Objektdetektor (60) identifizierten Objekten verhindert, insbesondere, wenn es sich um Objekte bestimmter Klassen, z.B. um Fußgänger, handelt.
-
Alternativ oder zusätzlich kann mit dem Ansteuersignal (A) die Anzeigeeinheit (10a) angesteuert werden, und beispielsweise die identifizierten Objekte dargestellt werden. Auch ist es denkbar, dass die Anzeigeeinheit (10a) mit dem Ansteuersignal (A) derart angesteuert wird, dass sie ein optisches oder akustisches Warnsignal ausgibt, wenn ermittelt wird, dass das Kraftfahrzeug (100) droht, mit einem der identifizierten Objekte zu kollidieren. Die Warnung mittels eines Warnsignals kann auch mittels eines haptischen Warnsignals erfolgen, beispielsweise über ein Vibrieren eines Lenkrads des Kraftfahrzeugs (100).
-
Alternativ kann es sich bei dem wenigstens teilautonomen Roboter auch um einen anderen mobilen Roboter (nicht abgebildet) handeln, beispielsweise um einen solchen, der sich durch Fliegen, Schwimmen, Tauchen oder Schreiten fortbewegt. Bei dem mobilen Roboter kann es sich beispielsweise auch um einen wenigstens teilautonomen Rasenmäher oder einen wenigstens teilautonomen Putzroboter handeln. Auch in diesen Fällen kann das Ansteuersignal (A) derart ermittelt werden, dass Antrieb und/oder Lenkung des mobilen Roboters derart angesteuert werden, dass der wenigstens teilautonome Roboter beispielsweise eine Kollision mit vom Objektdetektor (60) identifizierten Objekten verhindert.
-
6 zeigt ein Ausführungsbeispiel, in dem das Steuerungssystem (40) zur Ansteuerung einer Fertigungsmaschine (11) eines Fertigungssystems (200) verwendet wird, indem ein die Fertigungsmaschine (11) steuernder Aktor (10) angesteuert wird. Bei der Fertigungsmaschine (11) kann es sich beispielsweise um eine Maschine zum Stanzen, Sägen, Bohren, Schweißen und/oder Schneiden handeln. Weiterhin ist denkbar, dass die Fertigungsmaschine (11) ausgebildet ist mittels eines Greifers ein Fertigungserzeugnis (12a, 12b) zu greifen.
-
Bei dem Sensor (30) kann es sich beispielsweise um einen Videosensor handeln, der z.B. die Förderfläche eines Förderbandes (13) erfasst, wobei sich auf dem Förderband (13) Fertigungserzeugnissen (12a, 12b) befinden können. Die Eingabesignale (x) sind in diesem Fall Eingabebilder (x). Der Objektdetektor (60) kann beispielsweise eingerichtet sein eine Position der Fertigungserzeugnisse (12a, 12b) auf dem Förderband zu ermitteln. Der die Fertigungsmaschine (11) steuernde Aktor (10) kann dann abhängig von den ermittelten Positionen der Fertigungserzeugnisse (12a, 12b) angesteuert werden. Beispielsweise kann der Aktor (10) derart angesteuert werden, dass er ein Fertigungserzeugnis (12a, 12b) an einer vorbestimmten Stelle des Fertigungserzeugnisses (12a, 12b) stanzt, sägt, bohrt und/oder schneidet.
-
Weiterhin ist denkbar, dass der Objektdetektor (60) ausgebildet ist, alternativ oder zusätzlich zur Position weitere Eigenschaften eines Fertigungserzeugnisses (12a, 12b) zu ermitteln. Insbesondere ist vorstellbar, dass der Objektdetektor (60) ermittelt, ob ein Fertigungserzeugnis (12a, 12b) defekt und/oder beschädigt ist. In diesem Fall kann der Aktor (10) derart angesteuert werden, dass die Fertigungsmaschine (11) ein defektes und/oder beschädigtes Fertigungserzeugnis (12a, 12b) aussortiert.
-
7 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem (40) zur Steuerung eines Zugangssystems (300) eingesetzt wird. Das Zugangssystem (300) kann eine physische Zugangskontrolle umfassen, beispielsweise eine Tür (401). Der Sensor (30) kann insbesondere ein Videosensor oder Wärmebildsensor sein, der eingerichtet ist, einen Bereich vor der Tür (401) zu erfassen. Insbesondere kann der Objektdetektors (60) Personen auf einem übermittelten Eingabebild (x) detektieren. Sind mehrere Personen gleichzeitig detektiert worden, kann durch eine Zuordnung der Personen (also der Objekte) zueinander beispielweise die Identität der Personen besonders zuverlässig ermittelt werden, beispielsweise durch eine Analyse ihrer Bewegungen.
-
Der Aktor (10) kann ein Schloss sein, dass abhängig vom Ansteuersignal (A) die Zugangskontrolle freigibt, oder nicht, beispielsweise die Tür (401) öffnet, oder nicht. Hierzu kann das Ansteuersignal (A) abhängig vom mittels des Objektdetektors (60) zum Eingabebild (x) ermittelten Ausgabesignal (y) gewählt werden. Beispielsweise ist denkbar, dass das Ausgabesignal (y) Informationen umfasst, die die Identität einer vom Objektdetektor (60) detektierten Person charakterisiert, und das Ansteuersignal (A) basierend auf der Identität der Person gewählt wird.
-
Anstelle der physischen Zugangskontrolle kann auch eine logische Zugangskontrolle vorgesehen sein.
-
8 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem (40) zur Steuerung eines Überwachungssystems (400) verwendet wird. Von dem in 4 dargestellten Ausführungsbeispiel unterscheidet sich dieses Ausführungsbeispiel dadurch, dass an Stelle des Aktors (10) die Anzeigeeinheit (10a) vorgesehen ist, die vom Steuerungssystem (40) angesteuert wird. Beispielsweise kann der Sensor (30) ein Eingabebild (x) aufzeichnen, auf dem zumindest eine Person zu erkennen ist, und die Position der zumindest einen Person mittels des Objektdetektors (60) detektiert werden. Das Eingabebild (x) kann dann auf der Anzeigeeinheit (10a) dargestellt werden, wobei die detektierten Personen farblich hervorgehoben dargestellt werden können.
-
Der Begriff „Computer“ umfasst beliebige Geräte zur Abarbeitung vorgebbarer Rechenvorschriften. Diese Rechenvorschriften können in Form von Software vorliegen, oder in Form von Hardware, oder auch in einer Mischform aus Software und Hardware.
-
Im Allgemeinen kann eine Mehrzahl als indexiert verstanden werden, d.h. jedem Element der Mehrzahl wird ein eindeutiger Index zugewiesen, vorzugsweise durch Zuweisung aufeinanderfolgender Ganzzahlen an die in der Mehrzahl enthaltenen Elemente. Vorzugsweise, wenn eine Mehrzahl N Elemente umfasst, wobei N die Anzahl der Elemente in der Mehrzahl ist, werden den Elementen die ganzen Zahlen von 1 bis N zugewiesen.