-
Die vorliegende Erfindung betrifft das Training von Bildklassifikatoren, die Bilder zu Segmentierungskarten in Bezug Klassen einer vorgegebenen Klassifikation verarbeiten.
-
Stand der Technik
-
Um Bilder automatisiert auszuwerten und auf der Basis dieser Auswertung technische Systeme automatisiert zu steuern, ist es häufig wünschenswert, den semantischen Inhalt der Bilder zu klassifizieren. Wenn beispielsweise ein zumindest teilweise automatisiert fahrendes Fahrzeug sein Umfeld beobachtet und Bilder aufnimmt, kann eine Segmentierungskarte angeben, welche Pixel dieser Bilder jeweils zu anderen Verkehrsteilnehmern, Fahrbahnbegrenzungen, Hindernissen oder anderen verkehrsrelevanten Objekten gehören. Die
DE 10 2019 202 451 A1 offenbart beispielhaft, wie eine solche Segmentierungskarte erhalten und für die weitere Verarbeitung aufbereitet werden kann.
-
Offenbarung der Erfindung
-
Im Rahmen der Erfindung wurde ein Verfahren zum Trainieren eines Bildklassifikators entwickelt. Dieser Bildklassifikator ist dazu ausgebildet, die Pixel eines Eingabe-Bildes jeweils einer von mehreren Klassen einer vorgegebenen Klassifikation zuzuordnen und so eine semantische Segmentierungskarte des Eingabe-Bildes zu erzeugen. Hierbei können insbesondere verschiedene Pixel des Eingabe-Bildes unterschiedlichen Klassen zugeordnet werden. In einer einfachen Ausführungsform kann die Segmentierungskarte jedoch auch homogen mit einer einzigen Klasse belegt sein, die dem kompletten Eingabe-Bild zugeordnet wird. Der Bildklassifikator kann insbesondere beispielsweise ein künstliches neuronales Netzwerk, KNN, beinhalten, und/oder er kann ein KNN sein.
-
Der Begriff des Bildes umfasst jede Zuordnung von Werten mindestens einer interessierenden Größe, wie etwa einer Messgröße, zu Orten, die in einem zwei- oder mehrdimensionalen Raster angeordnet sind. Neben Kamerabildern können insbesondere beispielsweise auch Videobilder, Wärmebilder, Ultraschallbilder, Radarbilder und Lidar-Bilder verwendet werden.
-
Das Verfahren beginnt damit, dass Trainings-Bilder und zugehörige Soll-Segmentierungskarten bereitgestellt werden. Diese Trainings-Bilder werden von dem Bildklassifikator in Segmentierungskarten übersetzt. Das Training ist auf das Ziel gerichtet, dass dies aus jedem Trainings-Bild erzeugte Segmentierungskarte möglichst gut mit der zugehörigen Soll-Segmentierungskarte übereinstimmt.
-
Zu diesem Zweck wird eine Abweichung der Segmentierungskarten von den jeweiligen Soll-Segmentierungskarten mit einer Kostenfunktion bewertet. Dabei wird für jede Klasse der Klassifikation ein kontinuierliches Maß I' für die Größe der Schnittmenge sowie ein kontinuierliches Maß U' für die Größe der Vereinigungsmenge zwischen
- • der Menge der Pixel, die gemäß der Segmentierungskarte dieser Klasse zugeordnet werden und
- • der Menge der Pixel, die gemäß der Soll-Segmentierungskarte dieser Klasse zugeordnet werden,
ermittelt. Hierbei ist unter „kontinuierlich“ zu verstehen, dass die Maße I', U' nicht darauf eingeschränkt sind, lediglich diskret variieren zu können, indem jeweils ein Pixel als kleinste Einheit zu einer der miteinander zu vergleichenden Mengen hinzutritt oder aber diese Menge verlässt. Die Maße I', U' können insbesondere beispielsweise auf der Basis von Klassifikations-Scores ermittelt werden, die die Segmentierungskarte, bzw. die Soll-Segmentierungskarte, Pixeln des Eingabe-Bildes in Bezug auf die jeweilige Klasse zuordnet. Hierbei können dann insbesondere beispielsweise die Klassifikations-Scores in der Segmentierungskarte frei im Intervall [0, 1] variieren. Die Soll-Segmentierungskarte kann für jedes Pixel in Bezug auf eine Klasse ein „hard label“, das entweder 0 oder 1 sein kann, als Klassifikations-Score angeben. Die Soll-Segmentierungskarte kann jedoch auch beispielsweise „soft labels“ mit Zwischenwerten zwischen 0 und 1 enthalten, in denen Unsicherheiten bezüglich der Klassenzuordnung berücksichtigt sind.
-
Die Kostenfunktion ist mit einem über alle Klassen gebildeten Mittel von Quotienten I'/U' aus jeweils einem Maß I' für die Größe der Schnittmenge und einem Maß U' für die Größe der Vereinigungsmenge korreliert. Die Kostenfunktion kann somit insbesondere beispielsweise explizit von diesem Mittel von Quotienten I'/U' abhängen. Die Kostenfunktion kann jedoch auch beispielsweise von einer Funktion abhängen, die ihrerseits von dem Mittel von Quotienten I'/U' abhängt. Weiterhin können an beliebigen Stellen im Rechengang zum Wert der Kostenfunktion auch Näherungslösungen für einzelne Bestandteile, aus denen sich die Kostenfunktion zusammensetzt, zum Einsatz kommen. Mit derartigen Näherungslösungen können beispielsweise nicht differenzierbare Funktionsverläufe in einer differenzierbaren Weise nachgebildet werden.
-
Parameter, die das Verhalten des Bildklassifikators charakterisieren, werden optimiert mit dem Ziel, dass die weitere Verarbeitung von Trainings-Bildern durch den Bildklassifikator voraussichtlich zu einer besseren Bewertung durch die Kostenfunktion führt. Hierfür kann jedes geeignete Optimierungsverfahren verwendet werden, wie beispielsweise ein Gradientenabstiegsverfahren. Die besagten differenzierbaren Näherungen haben in diesem Zusammenhang den Vorteil, dass Gradienten der von der Kostenfunktion erhaltenen Bewertung besser zu Änderungen der Parameter zurückpropagiert werden können.
-
Die Kostenfunktion ist im Vergleich zur sogenannten „mean intersection over union“-Metrik dahingehend verallgemeinert, dass die Maße für die Größen der Schnittmenge und der Vereinigungsmenge jeweils kontinuierlich und nicht mehr diskret sind. Dies bewirkt bereits, dass das Training numerisch deutlich stabiler wird. Dadurch konvergiert das Training schneller, und die für im Training ungesehene Eingabe-Bilder ermittelten Segmentierungskarten werden qualitativ besser. Die Verwendung einer auf „mean intersection over union“ aufbauenden Kostenfunktion wird also im Vergleich etwa zur Kreuzentropie nicht mehr damit erkauft, dass sich beim Vergleich der Größen von Mengen der diskrete Charakter dieser Mengen störend bemerkbar macht.
-
In einer besonders vorteilhaften Ausgestaltung beinhaltet das Maß I' für die Größe der Schnittmenge eine über alle Pixel der jeweiligen Klasse gebildete Summe von Werten, die den kleineren der gemäß Segmentierungskarte einerseits und gemäß Soll-Segmentierungskarte andererseits vorliegenden Klassifikations-Scores für das jeweilige Pixel in Bezug auf die Klasse angeben oder annähern. Für ein Eingabe-Bild B mit Pixeln P kann ein Maß I' für die Größe der Schnittmenge in Bezug auf eine Klasse C beispielsweise angegeben werden als
Hierin ist s
c(p) der Klassifikations-Score der Segmentierungskarte in Bezug auf die Klasse C für das Pixel p. g
c(p) ist der Klassifikations-Score der Soll-Segmentierungskarte („ground truth“) in Bezug auf die Klasse C für das Pixel p.
-
Alternativ oder auch in Kombination hierzu beinhaltet das Maß U' für die Größe der Vereinigungsmenge eine über alle Pixel der jeweiligen Klasse gebildete Summe von Werten, die den größeren der gemäß Segmentierungskarte einerseits und gemäß Soll-Segmentierungskarte andererseits vorliegenden Klassifikations-Scores für das jeweilige Pixel in Bezug auf die Klasse angeben oder annähern. Somit kann das Maß U' für die Größe der Vereinigungsmenge beispielsweise angegeben werden als
Die verallgemeinerte „mean intersection over union“, mloU', wird damit zu
mit N als der Anzahl der Klassen C und einer Summe von Quotienten I'(C)/U'(C). Für Klassifikations-Scores s
C(p) und g
C(p), die nur die beiden binären Werte 0 und 1 annehmen können, geht diese Definition in die bekannte diskrete „mean intersection over union“, mloU, über. Es ändert sich also nur dort etwas, wo der Rahmen der bekannten mloU verlassen wird.
-
Besonders vorteilhaft wird der größere von zwei Klassifikations-Scores mit der Formel
angenähert, und der kleinere von zwei Klassifikations-Scores a und b wird mit der Formel
angenähert.
-
Die Funktion smax(a,b) ist eine differenzierbare Näherung für die Maximumfunktion max(a,b), die entweder den Wert a oder den Wert b zurückgibt. Analog ist die Funktion smin(a,b) eine differenzierbare Näherung für die Minimumfunktion min(a,b), die entweder den Wert a oder den Wert b zurückgibt.
-
In einer weiteren besonders vorteilhaften Ausgestaltung beinhaltet die Kostenfunktion einen Logarithmus des Mittels der Quotienten I'/U' oder eine Näherung dieses Logarithmus. Auf diese Weise können die Quotienten in numerisch stabiler Weise summiert werden. Dies ist insbesondere dann vorteilhaft, wenn Größenordnungen, in denen sich die Maße I'(C) und U'(C) bewegen, stark variieren. Weiterhin werden lediglich die Logarithmen der Maße I'(C) und U'(C) benötigt, zu deren Bildung auch wieder nur Logarithmen von Klassifikations-Scores s
C(p), g
C(p) benötigt werden. Der Logarithmus des Mittels der Quotienten lässt sich insbesondere beispielsweise mit Hilfe der Logsumexp-Funktion
für beliebige Elemente x einer Menge M ermitteln.
-
Dann gilt:
-
Für jede Klasse C ist wiederum
-
Dies lässt sich noch weiter zerlegen, indem im Rahmen einer weiteren vorteilhaften Ausgestaltung log I'(C), und/oder log U'(C), wiederum unter Nutzung der Logsumexp-Funktion aus Logarithmen der Beiträge einzelner Pixel p ermittelt wird:
-
Hierin sorgt die Einführung eines ε in der Größenordnung 10-7 dafür, dass log I'(C) und log U'(C) auch dann wohldefiniert bleiben, wenn es Pixel p mit einem „hard label“ von gC(p)=0 gibt. log I'(C) und log U'(C) können in den obigen Ausdruck für log mloU' eingesetzt werden. Somit werden nur die Logarithmen log sc(p) der vom Klassifikator gelieferten Klassifikations-Scores sC(p) sowie die Logarithmen log gc(p) der aus der Soll-Segmentierungskarte ersichtlichen Klassifikations-Scores gc(p) benötigt, um log mloU' zu ermitteln.
-
Die Logarithmen log sC(p) werden vorteilhaft einer Segmentierungsschicht des Bildklassifikators entnommen, deren Ausgabe zur Bildung der Segmentierungskarte noch zu diskretisieren ist. Hierbei handelt es sich um „logits“, also um noch nicht normierte Logarithmen von Wahrscheinlichkeiten für die Zuordnungen zu Klassen.
-
Das Arbeiten direkt im Raum dieser Logarithmen hat den Vorteil, dass das Training numerisch sehr stabil ist und auch besonders genaue Gradienten der Kostenfunktion erzeugt, aus denen dann wiederum zielgerichtete Änderungen der Parameter des Bildklassifikators abgeleitet werden können. Wird der Bildklassifikator mit der hier beschriebenen Kostenfunktion log mloU' trainiert, führt dies somit zu einem deutlichen Gewinn an Genauigkeit, wenn der Bildklassifikator anschließend anhand von ungesehenen Testdaten auf die Probe gestellt wird. Im Vergleich zu einem Bildklassifikator, der mit der bekannten Kreuzentropie als Kostenfunktion trainiert wird, ergibt sich ein Zugewinn an Genauigkeit in der Größenordnung 3 %.
-
Der Effekt zeigt sich besonders stark bei Bildklassifikatoren mit neuronalen Netzwerken, die nicht viel mehr Verarbeitungskapazität haben als zur Erfüllung der gestellten Aufgabe unbedingt erforderlich ist. Im Endeffekt lässt sich eine vorgegebene Aufgabe also mit einer bestimmten Genauigkeit dank des neuartigen Trainings auch auf kleineren Architekturen implementieren, wodurch Hardware und Energieaufwand eingespart wird.
-
Eine solche kleine Architektur hat keine Kapazität zum „Overfitting“, also zum „Auswendiglernen“ der Trainingsdaten. Ob ein solches „Overfitting“ stattfindet und die Architektur „zu groß“ ist, lässt sich aus einem Vergleich des mittleren Quotienten I'/U' zwischen Trainings- und Validierungsphase erkennen. Ist der mittlere Quotient in der Trainingsphase, also auf bereits gesehenen Daten, höher als in der Validierungsphase auf bislang ungesehenen Daten, ist dies ein Anzeichen für „Overfitting“.
-
In einer weiteren vorteilhaften Ausgestaltung bleiben bei der Bildung des Mittels von Quotienten Klassen, für die die aus der Segmentierungskarte einerseits und aus der Soll-Segmentierungskarte andererseits ermittelte Vereinigungsmenge eine vorgegebene Mindestgröße nicht erreicht, unberücksichtigt. Hiermit kann die numerische Stabilität noch weiter verbessert werden. Die Mindestgröße kann beispielsweise in der Größenordnung 5 Pixel liegen.
-
Alternativ oder auch in Kombination hierzu können die Klassen auch in einer sonstigen von der Gleichverteilung abweichenden Weise untereinander gewichtet werden. Auf diese Weise kann etwa berücksichtigt werden, dass bestimmte Verwechslungen von Klassen in der jeweils vorliegenden Anwendung nachteiligere Folgen haben als andere Verwechslungen. So ist beispielsweise die fälschliche Einstufung eines giftigen Pilzes als „essbar“ viel gefährlicher als eine unrichtige Einstufung, um welche Art von Giftpilz es sich genau handelt.
-
Wie eingangs erläutert, ist die Erzeugung von Segmentierungskarten kein Selbstzweck, sondern dient der verbesserten Ansteuerung technischer Systeme in einer konkreten Anwendung. Daher bezieht sich die Erfindung auch auf ein Verfahren mit der vollständigen Wirkkette bis zu dieser Ansteuerung.
-
Im Rahmen dieses Verfahrens wird ein Bildklassifikator bereitgestellt. Der Bildklassifikator wird mit dem zuvor beschriebenen Verfahren trainiert. Bilder, die mit mindestens einem Sensor aufgenommen wurden, werden von dem trainierten Bildklassifikator zu semantischen Segmentierungskarten verarbeitet.
-
Aus den semantischen Segmentierungskarten wird ein Ansteuersignal gebildet. ein Fahrzeug, und/oder ein System für die Überwachung von Bereichen, und/oder ein System für die Qualitätskontrolle von Produkten, wird mit dem Ansteuersignal angesteuert.
-
Wie zuvor erläutert, hat das verbesserte Training in diesem Kontext die Wirkung, dass beim Training ungesehene Bilder zu Segmentierungskarten verarbeitet werden, die inhaltlich zu einem größeren Grade zutreffend sind. Wenn auf Grund dieser Segmentierungskarten ein Ansteuersignal erzeugt und ein technisches System angesteuert wird, ist die Wahrscheinlichkeit erhöht, dass die Aktion, die das technische System daraufhin ausführt, in der aktuellen Betriebssituation des technischen Systems angemessen ist.
-
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 Verfahrens 100 zum Trainieren des Bildklassifikators 1;
- 2 Ausführungsbeispiel des Verfahrens 200 mit vollständiger Wirkkette bis zur Ansteuerung technischer Systeme 50, 60, 70.
-
1 ist ein schematisches Ablaufdiagramm eines Ausführungsbeispiels des Verfahrens 100 zum Trainieren des Bildklassifikators 1.
-
In Schritt 110 werden Trainings-Bilder 2a und zugehörige Soll-Segmentierungskarten 3a bereitgestellt.
-
In Schritt 120 werden die Trainings-Bilder 2a von dem Bildklassifikator 1 in Segmentierungskarten 3 übersetzt.
-
In Schritt 130 wird eine Abweichung der Segmentierungskarten 3 von den jeweiligen Soll-Segmentierungskarten 3a wird mit einer Kostenfunktion 4 bewertet.
-
In Schritt 140 werden Parameter 1a, die das Verhalten des Bildklassifikators (1) charakterisieren, optimiert mit dem Ziel, dass die weitere Verarbeitung von Trainings-Bildern 2a durch den Bildklassifikator 1 voraussichtlich zu einer besseren Bewertung 4a durch die Kostenfunktion 4 führt. Der fertig trainierte Zustand der Parameter 1a ist mit dem Bezugszeichen 1a* bezeichnet.
-
Innerhalb des Kastens 130 ist im Einzelnen dargestellt, wie die Bewertung durch die Kostenfunktion abläuft.
-
Gemäß Block 131 wird für jede Klasse der Klassifikation ein kontinuierliches Maß I' für die Größe der Schnittmenge der gemäß Segmentierungskarte 3 einerseits und gemäß Soll-Segmentierungskarte 3a andererseits dieser Klasse zugeordneten Pixel ermittelt. Dieses Maß I' kann insbesondere beispielsweise gemäß Block 131a eine über alle Pixel der jeweiligen Klasse gebildete Summe von Werten beinhalten, die den kleineren der gemäß Segmentierungskarte 3 einerseits und gemäß Soll-Segmentierungskarte 3a andererseits vorliegenden Klassifikations-Scores für das jeweilige Pixel in Bezug auf die Klasse angeben oder annähern.
-
Gemäß Block 132 wird für jede Klasse der Klassifikation ein kontinuierliches Maß U' für die Größe der Vereinigungsmenge der gemäß Segmentierungskarte 3 einerseits und gemäß Soll-Segmentierungskarte 3a andererseits dieser Klasse zugeordneten Pixel ermittelt. Dieses Maß U' für die Größe der Vereinigungsmenge kann insbesondere beispielsweise gemäß Block 132a eine über alle Pixel der jeweiligen Klasse gebildete Summe von Werten beinhalten, die den größeren der gemäß Segmentierungskarte 3 einerseits und gemäß Soll-Segmentierungskarte 3a andererseits vorliegenden Klassifikations-Scores für das jeweilige Pixel in Bezug auf die Klasse angeben oder annähern.
-
Gemäß Block 133 ist die Kostenfunktion 4 mit einem über alle Klassen gebildeten Mittel von Quotienten I'/U' aus jeweils einem Maß I' für die Größe der Schnittmenge und einem Maß U' für die Größe der Vereinigungsmenge korreliert. Die Kostenfunktion kann insbesondere beispielsweise gemäß Block 133a einen Logarithmus des Mittels der Quotienten I'/U', oder eine Näherung dieses Logarithmus, beinhalten.
-
2 ist ein schematisches Ablaufdiagramm eines Ausführungsbeispiels des Verfahrens 200 mit der vollständigen Wirkkette bis zur Ansteuerung technischer Systeme 50, 60, 70.
-
In Schritt 210 wird ein Bildklassifikator 1 bereitgestellt.
-
In Schritt 220 wird der Bildklassifikator 1 mit dem zuvor beschriebenen Verfahren 100 trainiert. Der fertig trainierte Zustand des Bildklassifikators 1 ist mit dem Bezugszeichen 1* bezeichnet.
-
In Schritt 230 werden Bilder 2, die mit mindestens einem Sensor 5 aufgenommen wurden, von dem trainierten Bildklassifikator 1* zu semantischen Segmentierungskarten 3 verarbeitet.
-
In Schritt 240 wird aus den semantischen Segmentierungskarten 3 wird ein Ansteuersignal 240a gebildet.
-
In Schritt 250 wird ein Fahrzeug 50, und/oder ein System 60 für die Überwachung von Bereichen, und/oder ein System 70 für die Qualitätskontrolle von Produkten, mit dem Ansteuersignal 240a angesteuert.
-
Der Sensor 5, der für die Aufnahme der Bilder 2 verwendet wird, kann insbesondere beispielsweise zu dem technischen System 50, 60, 70 gehören, das in Schritt 250 angesteuert wird. Beispielsweise kann der Sensor 5 von einem Fahrzeug 50 mitgeführt werden.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- DE 102019202451 A1 [0002]