-
Die vorliegende Erfindung betrifft Bildklassifikatoren, die beispielsweise für die Analyse von Verkehrssituationen oder für die optische Qualitätskontrolle verwendet werden.
-
Stand der Technik
-
Bei der Serienfertigung von Produkten ist es in der Regel erforderlich, die Qualität der Fertigung laufend zu überprüfen. Dabei wird angestrebt, Qualitätsprobleme möglichst schnell zu erkennen, um die Ursache baldmöglichst beheben zu können und nicht zu viele Einheiten des jeweiligen Produkts als Ausschuss zu verlieren.
-
Die optische Kontrolle der Geometrie und/oder Oberfläche eines Produkts ist schnell und zerstörungsfrei. Die
WO 2018/197 074 A1 offenbart eine Prüfvorrichtung, in der ein Objekt einer Vielzahl von Beleuchtungssituationen ausgesetzt werden kann, wobei in jeder dieser Beleuchtungssituationen mit einer Kamera Bilder des Objekts aufgezeichnet werden. Aus diesen Bildern wird die Topographie des Objekts ausgewertet.
-
Bilder des Produkts können auch unmittelbar mit einem Bildklassifikator auf der Basis künstlicher neuronaler Netzwerke einer von mehreren Klassen einer vorgegebenen Klassifikation zugeordnet werden. Auf dieser Basis kann das Produkt einer von mehreren vorgegebenen Qualitätsklassen zugeordnet werden. Im einfachsten Fall ist diese Klassifikation binär („OK“/„nicht OK“).
-
Beim zumindest teilweise automatisierten Führen von Fahrzeugen werden ebenfalls trainierbare Bildklassifikatoren eingesetzt, um Verkehrssituationen zu bewerten oder zumindest auf ihren Gehalt an Objekten zu untersuchen.
-
Offenbarung der Erfindung
-
Im Rahmen der Erfindung wurde ein Bildklassifikator entwickelt. Dieser Bildklassifikator dient dazu, ein Eingabe-Bild einer oder mehreren Klassen einer vorgegebenen Klassifikation zuzuordnen. Der Bildklassifikator ist als neuronales Netzwerk ausgebildet. Dieses neuronale Netzwerk umfasst eine Abfolge von Schichten. Innerhalb dieser Abfolge sind die Ausgaben von Schichten als Eingaben in jeweils nachfolgende Schichten geführt.
-
Eine oder mehrere dieser Schichten sind Faltungsschichten. Faltungsschichten verarbeiten ihre jeweilige Eingabe durch Anwenden eines oder mehrerer Filterkerne zu einer oder mehreren Merkmalskarten in Bezug auf diese Filterkerne. Insbesondere kann eine Abfolge aus mehreren Faltungsschichten ein Eingabe-Bild in ein Zwischenprodukt in einem latenten Raum umwandeln, die durch deutlich weniger Zahlenwerte charakterisiert ist als das Eingabe-Bild. Somit hat dieses Zwischenprodukt eine deutlich geringere Dimensionalität als das Eingabe-Bild.
-
Weiterhin umfasst das neuronale Netzwerk mindestens eine Klassifikatorschicht, die ihre Eingabe auf die gesuchte Zuordnung zu einer oder mehreren Klassen abbildet.
-
Es ist nun zusätzlich mindestens eine Indikatorschicht vorgesehen, die in der Abfolge der Schichten der Klassifikatorschicht vorausgeht. Diese Indikatorschicht ist dazu ausgebildet, ihre Eingabe auf eine Repräsentation abzubilden, die eine vorgegebene Anzahl von Größen beinhaltet. Diese Größen sind jeweils auf Werte aus einem vorgegebenen Wertebereich eingeschränkt.
-
Die Indikatorschicht kann beispielsweise unmittelbar vor der Klassifikatorschicht angeordnet sein, so dass die Klassifikatorschicht die von der Indikatorschicht ausgegebene Repräsentation als Eingabe erhält und basierend hierauf die Zuordnung zu einer oder mehreren Klassen vornimmt. Es können aber auch weitere Schichten zwischen der Indikatorschicht und der Klassifikatorschicht angeordnet sein.
-
Es wurde erkannt, dass die Einschränkung der Repräsentation in der Indikatorschicht auf eine vorgegebene Anzahl von Größen aus einem vorgegebenen Wertebereich im Vergleich zu dem nicht auf einen bestimmten Wertebereich eingeschränkten Zwischenprodukt deutlich besser dahingehend auswertbar ist, inwieweit der Bildklassifikator seine Entscheidung auf Bildanteile stützt, die im Kontext der vorgegebenen Anwendung tatsächlich wichtig sind. Die Bildung der eingeschränkten Repräsentation zwingt also den Bildklassifikator gewissermaßen dazu, eine knapp gefasste Zusammenfassung der Gründe anzugeben, aus denen er seine Entscheidung trifft. Die Indikatorschicht ist insoweit ein Stück weit vergleichbar mit einer Kontrollleuchte eines Autos oder einer Maschine. Eine Kontrollleuchte, die entweder leuchten kann oder nicht, ist wesentlich einfacher zu interpretieren als eine Kontrollleuchte, aus deren Helligkeit ein quantitativer Wert abzulesen ist.
-
So ist es beispielsweise bei der optischen Qualitätskontrolle von in Serie gefertigten Produkten wünschenswert, dass sich das Aussondern von Produkten als „nicht OK = NOK“ durch einen konkreten Mangel oder Schaden an dem Produkt erklären lässt. Zum einen entstehen durch Produkte, die unnötigerweise ausgesondert werden und dann aufgearbeitet oder entsorgt werden müssen, zusätzliche Kosten. Zum anderen liefern die Erklärungen für das Aussondern auch Anhaltspunkte im Hinblick auf mögliche systematische Fehler des Fertigungsprozesses. Wenn beispielsweise plötzlich gehäuft Produkte wegen bestimmter Kratzer auf ihrer Oberfläche ausgesondert werden, kann dies darauf hindeuten, dass ein in der Fertigungslinie verwendetes Werkzeug verschlissen ist und ausgetauscht werden muss. Bei der optischen Qualitätskontrolle durch einen Menschen, an deren Stelle die automatisierte optische Qualitätskontrolle treten soll, würde man ebenfalls erwarten, dass der Kontrolleur zumindest auf Nachfrage zu jedem ausgesonderten Produkt einen konkreten Grund für das Aussondern benennen kann. Mit vagen Antworten von der Art „sah irgendwie nicht richtig aus“ oder „gefiel mir nicht“ würde man sich hier nicht zufriedengeben.
-
Ähnliches gilt bei der Beurteilung von Verkehrssituationen durch Bildklassifikatoren mit dem Ziel, Fahrzeuge teilweise oder vollständig automatisiert im Straßenverkehr zu führen. Entscheidungen derartiger automatisierter Systeme sollten ebenfalls nachvollziehbar sein. Dies ist insbesondere in einem Mischverkehr mit von menschlichen Fahrern gesteuerten Fahrzeugen wichtig. So sollte ein automatisiertes Fahrzeug keine Fahrmanöver ausführen, die für menschliche Fahrer völlig überraschend kommen, da dies das Unfallrisiko deutlich erhöht. Insofern gelten hier die gleichen Anforderungen wie bei menschlichen Fahrern, bei denen nach einer Vollbremsung und anschließendem Auffahrunfall ebenfalls hinterfragt wird, warum konkret sie diese Vollbremsung eingeleitet haben.
-
Die Indikatorschicht sorgt somit dafür, dass die früher wegen ihrer für menschliche Beobachter schwer nachvollziehbaren internen Betriebsweise auch als „black box“ bezeichneten Bildklassifikatoren nunmehr über ihren Betriebszustand eine Auskunft geben, die sowohl im Rahmen einer automatisierten Eigen- oder Systemüberwachung als auch durch menschliche Beobachter auswertbar ist.
-
Wenn der Bildklassifikator beispielsweise für zwei Eingabe-Bilder exakt gleiche Repräsentationen in der Indikatorschicht erzeugt, bedeutet dies, dass er für diese beiden Eingabe-Bilder aus den exakt gleichen Gründen die gleiche Klassenzuordnung ermitteln würde. Aus dem Vergleich dieser Eingabe-Bilder im Kontext der jeweiligen Anwendung ist dann ersichtlich, inwieweit dieses Verhalten des Bildklassifikators angemessen ist oder nicht.
-
Wenn beispielsweise ein erstes Eingabe-Bild einer Verkehrssituation, in der ein Fußgänger zu erkennen ist, vom Bildklassifikator zu der gleichen Repräsentation verarbeitet wird wie ein zweites Eingabe-Bild, in dem der Fußgänger entfernt wurde, folgt hieraus, dass der Fußgänger keinerlei Einfluss auf die Entscheidungsfindung des Bildklassifikators hat.
-
Die Größen in der Indikatorschicht können beispielsweise durch Eingriffe in Gewichte und/oder Aktivierungen in der Indikatorschicht dahingehend verändert werden, dass sie in den vorgegebenen Wertebereich kommen. Mit den Gewichten werden Eingaben, die einem Neuron oder einer anderen Verarbeitungseinheit der Indikatorschicht zugeführt werden, zu einer Aktivierung dieses Neurons, bzw. dieser Verarbeitungseinheit, summiert. Diese Aktivierung wird dann durch Anwenden einer nichtlinearen Aktivierungsfunktion, wie etwa der ReLU-Funktion, zu der Ausgabe des Neurons, bzw. der Verarbeitungseinheit, weiterverarbeitet.
-
In einer besonders vorteilhaften Ausgestaltung ist die Indikatorschicht dazu ausgebildet, die Größen in der Repräsentation, und/oder Gewichte und/oder Aktivierungen in der Indikatorschicht durch Anwenden einer differenzierbaren Funktion in die Richtung einer Diskretisierung auf Werte aus einer vorgegebenen Auswahl zu treiben. Diese Funktion kann insbesondere beispielsweise Näherungswerte für die jeweils zulässigen diskreten Werte liefern. Indem die Funktion differenzierbar ist, können beim Training des Bildklassifikators Gradienten durch die Indikatorschicht hindurch zurückpropagiert werden. Die Indikatorschicht ist dann also beispielsweise kein Hindernis dafür, dass Gradienten aus der Klassifikatorschicht, die auf der einen Seite der Indikatorschicht liegt, auch durch die Faltungsschichten, die auf der anderen Seite der Indikatorschicht liegen, propagiert werden. Der Bildklassifikator kann also bereits mit der Indikatorschicht trainiert werden und sich schon während des Trainings darauf einstellen, dass die von der Klassifikatorschicht ausgewertete Information in der Indikatorschicht durch einen „Flaschenhals“ gezwängt wird. Die differenzierbare Funktion ist somit ein Stück weit analog zu einer Fischtreppe im Wasserbau zu sehen, die es den für ein Ökosystem wichtigen Fischen (hier: Gradienten) ermöglicht, eine Staustufe (hier: die Indikatorschicht) in rückwärtiger Richtung zu überqueren.
-
Die Indikatorschicht kann insbesondere beispielsweise dazu ausgebildet sein, die Größen in der Repräsentation, und/oder Gewichte und/oder Aktivierungen in der Indikatorschicht, durch Anwenden einer differenzierbaren Funktion in die Richtung einer Diskretisierung auf Binärzahlen zu treiben. Repräsentationen, die aus Binärzahlen bestehen, lassen sich besonders gut miteinander vergleichen, wie beispielsweise über die Hamming-Distanz. Weiterhin lässt sich dann über die vorgegebene Anzahl der Größen in der Repräsentation unmittelbar der Informationsgehalt der Repräsentation in Bits festlegen.
-
Die Indikatorschicht kann insbesondere beispielsweise dazu ausgebildet sein, die Größen in der Repräsentation, und/oder Gewichte und/oder Aktivierungen in der Indikatorschicht, durch Anwenden einer Sigmoid-Funktion in Richtung der Diskretisierung auf Binärzahlen zu treiben. Eine Sigmoid-Funktion ist eine beschränkte und differenzierbare reellwertige Funktion mit einer durchweg positiven oder durchweg negativen ersten Ableitung und genau einem Wendepunkt. Ein Beispiel für eine Sigmoid-Funktion ist die Funktion
Eine solche Funktion bildet die meisten Werte von x auf Näherungen ab, die bereits nahe entweder an 0 oder an 1 liegen. Nur Werte von x in einem schmalen Bereich um x=0 herum werden auf Zwischenwerte abgebildet.
-
Um die Werte aus genau diesem Zwischenbereich herauszutreiben und somit für noch mehr Größen, Gewichte bzw. Aktivierungen nahe an 0 oder an 1 liegende Werte zu erhalten, wird vorteilhaft die Sigmoid-Funktion auf Summen aus den jeweils für die Repräsentation vorgesehenen Größen, bzw. den Gewichten und/oder Aktivierungen, und einem Sample aus einer vorgegebenen Zufallsverteilung angewendet. Hierzu kann beispielsweise eine Funktion der Form
verwendet werden. Hierin ist V der umzuwandelnde Vektor der Größen, Gewichte bzw. Aktivierungen, α ist ein Skalierungsvektor mit einem Skalierungsfaktor für jedes Element von V. η ist ein Vektor mit aus einer Zufallsverteilung, etwa einer Gauß-Verteilung mit vorgegebener Standardabweichung σ, gezogenen Elementen. Die Zufälligkeit der Werte im Vektor η fällt bei der Bildung der Ableitung dO/dV heraus und behindert somit nicht die Rückpropagation von Gradienten durch die Indikatorschicht.
-
Wie zuvor erläutert, können die Größen in der Repräsentation von der Klassifikatorschicht in der gleichen Weise verarbeitet werden wie die in einem durch mehrere Faltungsschichten gebildeten Zwischenprodukt enthaltenen Größen. Die Klassifikatorschicht kann aber auch beispielsweise dazu ausgebildet sein, die Zuordnung zu einer Klasse Anzahl derjenigen Größen in der Repräsentation zu ermitteln, die einen vorgegebenen Schwellwert erreichen oder überschreiten. Bei einer binären Repräsentation kann die Klassenzuordnung beispielsweise davon abhängen, wie viele Bits der Repräsentation auf 1 gesetzt sind.
-
Insbesondere eine binäre Klassifikation im Rahmen der Qualitätskontrolle, etwa mit den Klassen „OK“ und „nicht OK = NOK“, kann auf diese Weise sinnvoll mit der Indikatorschicht verzahnt werden. Die einzelnen Größen in der Repräsentation in der Indikatorschicht können dann gleichsam als Mitglieder eines Entscheidungsgremiums angesehen werden, die eine Mehrheitsabstimmung über die Klassenzuordnung durchführen. Beispielsweise kann die Ausgabe der Indikatorschicht mit einem zusätzlichen Netzwerk weiterverarbeitet werden, das die Summe aller von Null verschiedenen Elemente seiner Eingabe ausgibt. Auf dieser Basis kann dann beispielsweise eine Klassifikationsschicht eine binäre Einteilung in die Klassen „OK“ und „nicht OK = NOK“ vornehmen. Beim Training eines derartigen Netzwerks können die Gewichte des zusätzlichen Netzwerks festgehalten werden, so dass sie an der Aktualisierung der Gradienten nicht teilnehmen.
-
Wie zuvor erläutert, kann der Bildklassifikator insbesondere beispielsweise dazu ausgebildet sein, im Rahmen einer Qualitätskontrolle angefertigte Bilder von in Serie gefertigten Produkten auf Klassen abzubilden, die Qualitätsbeurteilungen der Produkte repräsentieren. Alternativ kann der Bildklassifikator insbesondere beispielsweise dazu ausgebildet sein, Bilder von Verkehrssituationen auf Klassen abzubilden, die Beurteilungen der Verkehrssituationen, und/oder in den Verkehrssituationen enthaltene Objekte, repräsentieren.
-
Wie zuvor erläutert, ist die beschränkte Repräsentation in der Indikatorschicht besser nachvollziehbar und interpretierbar als ein unbeschränktes Zwischenprodukt, das von einer oder mehreren Faltungsschichten erstellt wurde. Dies kann ausgenutzt werden, um das im Kontext einer vorgegebenen Anwendung ordnungsgemäße Funktionieren des Bildklassifikators zu kontrollieren.
-
Daher stellt die Erfindung auch ein Verfahren zum Betreiben des zuvor beschriebenen Bildklassifikators mit Indikatorschicht bereit.
-
Bei diesem Verfahren werden ein oder mehrere Bilder werden mit dem Bildklassifikator auf Zuordnungen zu einer oder mehreren Klassen abgebildet. Die für diese Bilder jeweils von der Indikatorschicht ermittelten Repräsentationen und/oder Gewichte werden erfasst. Unter Heranziehung dieser Repräsentationen und/oder Gewichte sowie der Bilder wird ausgewertet, inwieweit der Bildklassifikator seine Entscheidung über die Klassenzuordnung auf Merkmale in den Bildern stützt, die im Kontext einer vorgegebenen Anwendung des Bildklassifikators relevant sind.
-
Wenn sich beispielsweise das Bild ändert, aber gleichzeitig die Repräsentation in der Indikatorschicht gleich bleibt, dann bedeutet dies, dass diese Veränderung im Bild nicht zur Entscheidungsfindung des Bildklassifikators beiträgt. Ob dieses Verhalten gewünscht ist oder nicht, hängt von der jeweiligen Anwendung ab. Wenn die Veränderung des Bildes im Kontext der Anwendung eine Störung ist, ist es wünschenswert, dass sich diese Veränderung nicht auf die Entscheidungsfindung auswirkt. Wenn die Veränderung hingegen wichtige Merkmale betrifft, die im Hinblick auf die Klassenzuordnung mindestens geprüft werden sollten, dann sollten sich diese Veränderungen zumindest an irgendeiner Stelle der Repräsentation manifestieren.
-
Somit wird vorteilhaft in Antwort darauf, dass die Repräsentationen zu zwei oder mehr Bildern gleich sind, festgestellt, dass ein Unterschied zwischen diesen Bildern für die Entscheidung des Bildklassifikators nicht relevant ist.
-
Bei einem herkömmlichen Bildklassifikator ohne Indikatorschicht ist eine solche klare Aussage nicht möglich. Wenn sich beispielsweise Merkmalskarten, die von einer Anordnung aus Faltungsschichten für zwei verschiedene Bilder erzeugt wurden, auch nur minimal unterscheiden, kann dies bereits dazu führen, dass beide Bilder letztendlich auf unterschiedliche Klassenzuordnungen abgebildet werden. Mit einer Indikatorschicht, in der nur bestimmte diskrete Werte zugelassen sind, lässt sich ein solches Verhalten von vornherein ausschließen.
-
Der Vergleich der Repräsentationen ist hier ein sensiblerer Indikator als der Vergleich der letztendlich vom Bildklassifikator gelieferten Klassenzuordnungen.
-
Nicht jede Veränderung von im Kontext der vorgegebenen Anwendung relevanten Bildanteilen muss gleich zur Folge haben, dass sich die Klassenzuordnung ändert. Vielmehr kann der Bildklassifikator nach gründlicher Prüfung der Veränderung nach wie vor zum Ergebnis kommen, dass die bisherige Klassenzuordnung nach wie vor angemessen ist. Anhand der Repräsentationen in der Indikatorschicht lässt sich feststellen, ob diese gründliche Prüfung im Bildklassifikator stattfindet.
-
In einer weiteren besonders vorteilhaften Ausgestaltung wird aus einem Distanzmaß zwischen mehreren Repräsentationen ausgewertet, inwieweit die jeweils zugehörigen Bilder aus der Sicht des Bildklassifikators semantisch ähnlich sind. Wenn die Repräsentationen Binärzahlen beinhalten, kann das Distanzmaß beispielsweise eine Hamming-Distanz sein. Die vom Bildklassifikator in dieser Weise gelieferte semantische Ähnlichkeit kann mit einer semantischen Ähnlichkeit verglichen werden, die die Bilder im Kontext der vorgegebenen Anwendung objektiv haben. So sollte beispielsweise bei einem Bildklassifikator für Verkehrszeichen ein „70 km/h“-Schild als ähnlich zu einem „100 km/h“-Schild bewertet werden, aber als deutlich unähnlicher zum Verkehrszeichen „Verbot für Kraftwagen und sonstige mehrspurige Kraftfahrzeuge“, das die Weiterfahrt komplett verbietet. Auch sollte beispielsweise das Verkehrszeichen „Umweltzone“ nicht als semantisch ähnlich zum Verkehrszeichen „Tempo 30-Zone“ bewertet werden, obwohl es optisch gerade dem letzteren Verkehrszeichen entlehnt ist, weil die beabsichtigte Wirkung eine völlig andere ist. So kann etwa eine Falschklassifikation des „Umweltzone“-Zeichens als „Tempo 30-Zone“-Zeichen auf einer Schnellstraße zum plötzlichen und unvermittelten Abbremsen auf 30 km/h und möglicherweise zum Auffahrunfall führen.
-
In einer weiteren vorteilhaften Ausgestaltung wird ein Ausmaß einer Veränderung ermittelt, die mindestens in eine Repräsentation einzubringen ist, damit der Bildklassifikator bei weiterer Verarbeitung dieser Repräsentation eine Zuordnung zu einer neuen Klasse ermittelt. Aus dem Ausmaß dieser Veränderung in Verbindung mit der Veränderung der Klassenzuordnung wird ermittelt, inwieweit Klassen, die im Kontext einer vorgegebenen Anwendung des Bildklassifikators semantisch ähnlich sind, auch aus der Sicht des Bildklassifikators semantisch ähnlich sind. Bei einer Repräsentation aus Binärzahlen kann das Ausmaß der Veränderung beispielsweise in der Anzahl von geänderten Bits quantifiziert werden.
-
Eine semantische Ähnlichkeit im Sinne des Bildklassifikators kann beispielsweise als gut zur semantischen Ähnlichkeit im Sinne der vorgegebenen Anwendung korrespondierend gewertet werden, wenn
- • kleine Veränderungen in der Repräsentation, wie etwa das „Umkippen“ nur weniger Bits, zur Zuordnung des Bildes zu einer neuen Klasse führen, die zu der bisherigen Klasse im Sinne der Anwendung vergleichsweise ähnlich sind; während
- • größere Veränderungen in der Repräsentation vorgenommen werden müssen, um die Zuordnung zu einer im Sinne der Anwendung weiter entfernten Klasse zu bewirken.
-
In dem zuvor genannten Beispiel eines Klassifikators für Verkehrszeichen sollte also ausgehend von einem Bild, das als „70 km/h“-Schild klassifiziert wird, durch kleinere Veränderungen in der Repräsentation eine Klassifikation als „100 km/h“-Schild erzielt werden, während deutlich mehr Bits in der Repräsentation geändert werden müssen, um die Klassifikation auf „Verbot für Kraftwagen“ oder ein Vorfahrtzeichen zu ändern.
-
Die Robustheit des Bildklassifikators gegen Veränderungen in der Repräsentation kann auch beispielsweise daran gemessen werden, wie viele zufällig ausgewählte Bits in einer für ein konkretes Bild ermittelten Repräsentation im Mittel geändert werden müssen, damit der Bildklassifikator eine Zuordnung zu einer neuen Klasse ausgibt. Es können also beispielsweise viele Abwandlungen der Repräsentation ermittelt werden, in denen jeweils eine vorgegebene Anzahl k zufällig ausgewählter Bits gegenüber der ursprünglichen Repräsentation verändert ist. Es kann dann untersucht werden, inwieweit sich im Mittel die vom Bildklassifikator ermittelte Klasse ändert. Wenn sich die Klasse im Mittel nicht ändert, ist der Bildklassifikator in Bezug auf das konkrete Bild „k-robust“. Diese Eigenschaft ist vom konkreten Bild abhängig. Je näher ein Bild an der Entscheidungsgrenze zwischen zwei Klassen liegt, desto geringere Veränderungen in der Repräsentation reichen aus, um die Klassenzuordnung zu ändern.
-
Vorteilhaft werden Größen in der Repräsentation auf den nächstliegenden Wert aus einer Menge zulässiger diskreter Werte gerundet. Bei der Inferenz, bei der es nicht mehr auf die Differenzierbarkeit der in der Indikatorschicht verwendeten Funktion ankommt, kann dann die Diskretisierung auf die zulässigen Werte genau eingehalten werden.
-
Die Erfindung stellt auch ein Verfahren zum Trainieren des zuvor beschriebenen Bildklassifikators bereit, der eine Diskretisierung über eine differenzierbare Funktion anstrebt.
-
Bei diesem Verfahren werden Lern-Bilder bereitgestellt. Weiterhin werden Lern-Zuordnungen bereitgestellt, auf die der Bildklassifikator die Lern-Bilder idealerweise abbilden soll.
-
Die Lern-Bilder werden von dem Bildklassifikator auf Zuordnungen zu einer oder mehreren Klassen abgebildet. Abweichungen dieser Zuordnungen von den jeweiligen Lern-Zuordnungen werden mit einer vorgegebenen Kostenfunktion bewertet. Parameter, die das Verhalten des Bildklassifikators charakterisieren, werden optimiert mit dem Ziel, dass die weitere Verarbeitung von Lern-Bildern durch den Bildklassifikator zu einer besseren Bewertung durch die Kostenfunktion führt.
-
Hierbei wird mit zunehmendem Fortschritt dieser Optimierung mindestens ein Parameter, der das Verhalten der differenzierbaren Funktion in der Indikatorschicht charakterisiert, so verändert, dass Abweichungen zwischen den von der differenzierbaren Funktion gelieferten Werten und den jeweils nächstliegenden in der Repräsentation zulässigen diskreten Werten vermindert werden. Wenn die differenzierbare Funktion beispielsweise die Sigmoid-Funktion ist, können Samples η aus einer Zufallsverteilung mit größerer Standardabweichung σ gezogen werden. Die Ausgabe der Indikatorschicht ist dann näher an den vorgesehenen diskreten Werten 0 und 1 als an den Zwischenwerten der Sigmoid-Funktion.
-
Auf diese Weise kann beispielsweise in den ersten Epochen des Trainings, das von einer zufälligen Initialisierung der Parameter des Bildklassifikators ausgeht, mit einer vergleichsweise ungenauen Näherung der Diskretisierung auf die zulässigen Werte gearbeitet werden. Das Training kann sich also darauf konzentrieren, überhaupt ausgehend von der zufälligen Initialisierung Fortschritte zu machen. Wenn es hier gefestigte Fortschritte gibt, kann sich der Bildklassifikator in zunehmendem Maße auch der Zusatzaufgabe widmen, die Diskretisierung in der Indikatorschicht zu realisieren.
-
Alternativ oder auch in Kombination hierzu können Parameter, die die Architektur der Indikatorschicht charakterisieren, in die Optimierung einbezogen werden. Diese Parameter können insbesondere beispielsweise die Dimensionalität (Größe) der Indikatorschicht festlegen. So kann beispielsweise das Training mit einem Startwert für die Dimensionalität der Indikatorschicht begonnen werden, und wenn die Leistung des Bildklassifikators sich nicht wie gewünscht entwickelt, kann diese Dimensionalität erhöht (beispielsweise verdoppelt) werden. Eine kleinere Indikatorschicht ist zwar besser erklärbar, weil sie nur wenige Freiheitsgrade für Änderungen zulässt, aber dies kann sich auf der anderen Seite auf die Leistung des Bildklassifikators auswirken.
-
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.
-
Ausführungsbeispiele
-
Es zeigt:
- 1 Ausführungsbeispiel des Bildklassifikators 1;
- 2 Ausführungsbeispiel des Verfahrens 100 zum Betreiben des Bildklassifikators 1;
- 3 Ausführungsbeispiel des Verfahrens 200 zum Trainieren des Bildklassifikators 1.
-
1 ist eine Schemazeichnung eines Ausführungsbeispiels des Bildklassifikators 1. Der Bildklassifikator 1 ist als neuronales Netzwerk mit insgesamt fünf Schichten 11-15 ausgebildet, wobei die Ausgaben 11a-14a von Schichten 11-14 jeweils in die benachbarte nachfolgende Schicht 12-15 geführt sind. Die Schichten 11-13 sind Faltungsschichten, die das Eingabe-Bild 2 sukzessive zu Merkmalskarten 11a-13a mit fortschreitend geringer werdender Dimensionalität verarbeiten. Die Schicht 14 ist eine Indikatorschicht, die die letzte Merkmalskarte 13a in eine Repräsentation 14a umwandelt. Diese Repräsentation 14a enthält eine vorgegebene Anzahl von Größen, die jeweils nur diskrete Werte annehmen können, wie etwa Binärzahlen. Die Klassifikatorschicht 15 ermittelt auf der Basis der Repräsentation 14a die Zuordnung 3 zu einer oder mehreren Klassen.
-
2 ist ein schematisches Ablaufdiagramm eines Ausführungsbeispiels des Verfahrens 100 zum Betreiben des Bildklassifikators 1.
-
In Schritt 110 werden ein oder mehrere Bilder 2 mit dem Bildklassifikator 1 auf Zuordnungen 3 zu einer oder mehreren Klassen abgebildet. Hierbei können insbesondere gemäß Block 111 Größen in der Repräsentation 14a auf den nächstliegenden Wert aus einer Menge zulässiger diskreter Werte gerundet werden.
-
In Schritt 120 werden die für die Bilder 2 jeweils von der Indikatorschicht 14 ermittelten Repräsentationen 14a und/oder Gewichte erfasst.
-
In Schritt 130 wird unter Heranziehung dieser Repräsentationen 14a und/oder Gewichte sowie der Bilder 2 wird ausgewertet, inwieweit der Bildklassifikator 1 seine Entscheidung über die Klassenzuordnung 3 auf Merkmale in den Bildern 2 stützt, die im Kontext einer vorgegebenen Anwendung des Bildklassifikators 1 relevant sind. Das Ergebnis dieser Auswertung ist mit dem Bezugszeichen 4 bezeichnet.
-
Hierbei kann insbesondere beispielsweise gemäß Block 131 geprüft werden, ob die Repräsentationen 14a zu zwei oder mehr Bildern 2 gleich sind. Ist dies der Fall (Wahrheitswert 1), kann gemäß Block 132 festgestellt werden, dass ein Unterschied zwischen diesen Bildern 2 für die Entscheidung des Bildklassifikators 1 nicht relevant ist.
-
Gemäß Block 133 kann beispielsweise aus einem Distanzmaß zwischen mehreren Repräsentationen 14a ausgewertet werden, inwieweit die jeweils zugehörigen Bilder 2 aus der Sicht des Bildklassifikators 1 semantisch ähnlich sind.
-
Gemäß Block 134 kann beispielsweise ein Ausmaß einer Veränderung ermittelt werden, die mindestens in eine Repräsentation 14a einzubringen ist, damit der Bildklassifikator 1 bei weiterer Verarbeitung dieser Repräsentation 14a eine Zuordnung 3 zu einer anderen als der bisherigen Klasse ermittelt. Aus dem Ausmaß dieser Veränderung in Verbindung mit der Veränderung der Klassenzuordnung 3 kann dann gemäß Block 135 ermittelt werden, inwieweit Klassen, die im Kontext einer vorgegebenen Anwendung des Bildklassifikators 1 semantisch ähnlich sind, auch aus der Sicht des Bildklassifikators 1 semantisch ähnlich sind.
-
3 ist ein schematisches Ablaufdiagramm eines Ausführungsbeispiels des Verfahrens 200 zum Trainieren des Bildklassifikators 1.
-
In Schritt 210 werden Lern-Bilder 2a bereitgestellt. In Schritt 220 werden Lern-Zuordnungen 3a bereitgestellt, auf die der Bildklassifikator 1 die Lern-Bilder 2a idealerweise abbilden soll. In Schritt 230 werden die Lern-Bilder 2a von dem Bildklassifikator 1 auf Zuordnungen 3 zu einer oder mehreren Klassen abgebildet. In Schritt 240 werden Abweichungen dieser Zuordnungen 3 von den jeweiligen Lern-Zuordnungen 3a mit einer vorgegebenen Kostenfunktion 5 bewertet.
-
In Schritt 250 werden Parameter 1a, die das Verhalten des Bildklassifikators 1 charakterisieren, optimiert mit dem Ziel, dass die weitere Verarbeitung von Lern-Bildern 2a durch den Bildklassifikator 1 zu einer besseren Bewertung 5a durch die Kostenfunktion 5 führt.
-
Hierbei wird gemäß Block 251 mit zunehmendem Fortschritt dieser Optimierung mindestens ein Parameter 6, der das Verhalten der differenzierbaren Funktion in der Indikatorschicht 14 charakterisiert, so verändert, dass Abweichungen zwischen den von der differenzierbaren Funktion gelieferten Werten und den jeweils nächstliegenden in der Repräsentation 14a zulässigen diskreten Werten vermindert werden.
-
Der fertig trainierte Zustand der Parameter 1a ist mit dem Bezugszeichen 1a* bezeichnet.
-
Gemäß Block 252 können alternativ oder in Kombination zur Veränderung der Parameter 6 weitere Parameter 14b, die die Architektur der Indikatorschicht 14 charakterisieren, in die Optimierung einbezogen werden. Wie zuvor erläutert, kann hiermit insbesondere beispielsweise die Dimensionalität der Indikatorschicht 14 optimiert werden.
-
Der fertig trainierte Zustand dieser weiteren Parameter 14b ist mit dem Bezugszeichen 14b* 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
-