-
Die Erfindung betrifft einen Verfahren zum Training eines Bildklassifikators, ein Verfahren zum Betreiben eines Bildklassifikators, eine Trainingsvorrichtung, ein Computerprogramm und ein maschinenlesbares Speichermedium.
-
Stand der Technik
-
Aus der nicht vorveröffentlichten
DE 10 2018 211 875 ist ein Verfahren zum Regularisieren des Trainings eines Bildklassifikators bekannt.
-
Vorteile der Erfindung
-
Bildklassifikatoren ermöglichen den Einsatz von verschiedenen technischen Systemen in der echten Welt, wie etwa Robotern. Sie sind jedoch anfällig gegenüber dem Phänomen des Overfittings, also des Überanpassens an die zum Training des Bildklassifikators verwendeten Daten.
-
Der Vorteil des Verfahrens mit Merkmalen des unabhängig Anspruchs 1 ist, dass ein Bildklassifikator derart während des Trainings regularisiert werden kann, dass Overfitting vermieden oder zumindest stark gemildert werden kann. Hierdurch steigert sich die Klassifikationsgenauigkeit des Bildklassifikators.
-
Offenbarung der Erfindung
-
In einem ersten Aspekt beschäftigt sich die Erfindung mit einem computerimplementierten Verfahren zum Training eines Bildklassifikators, wobei der Bildklassifikator Schichten umfasst und für mindestens eine erste Schicht mit Parametern während des Trainings ein Kostenwert ermittelt wird, der charakterisiert, inwieweit benachbarte Parameter der Schicht unterschiedlich sind, und das Training auf dem Kostenwert basiert.
-
Unter einem Bildklassifikator kann eine Vorrichtung verstanden werden, die dahingehend ausgeprägt ist, dass sie ein oder mehrere Eingabebilder entgegennehmen kann und ein oder mehrere Ausgabesignale ermitteln kann, die eine Klassifikation der entsprechenden Eingabebilder oder Teile der entsprechenden Eingabebilder charakterisieren. Zum Beispiel kann ein Bildklassifikator verwendet werden, um zu bestimmen, in welchen Teilen eines Eingabebildes, welches als Eingabebild verwendet wird, sich Objekte befinden.
-
Neben der Objektdetektion kann ein Bildklassifikator auch für andere Klassifikationsaufgaben verwendet werden, zum Beispiel für semantische Segmentierung. Hierbei klassifiziert der Bildklassifikator jeden gewünschten Punkt in einem Eingabebild, zum Beispiel jeden Pixel eines Kamerabildes, in eine gewünschte Klasse.
-
Die Ermittlung eines Ausgabesignals durch der Bildklassifikator kann weitere Vor- und/oder Nachverarbeitungsverfahren beinhalten. Im Falle einer Objektdetektion kann ein Nachverarbeitungsverfahren zum Beispiel überlappende Detektionen zu einer Detektion zusammenführen.
-
Die Eingabebilder, die dem Bildklassifikator zugeführt werden, können unterschiedliche Arten von Eingabedaten darstellen, insbesondere Sensordaten, beispielsweise von einem Kamerasensor, einem Radarsensor, einem LIDAR-Sensor, einem Ultraschallsensor oder einem Infrarotkamerasensor. Auch Audioaufnahmen von Mikrofonen können als Eingabebilder verwendet werden, zum Beispiel in Form von Spektralbildern. Es ist weiterhin vorstellbar, dass mehrere Arten von Sensordaten kombiniert werden können, um ein Eingabebild für der Bildklassifikator zu erhalten.
-
Alternativ können Eingabedaten mit Hilfe von computergestützten Maßnahmen synthetisch erzeugt werden. Zum Beispiel können Bilder basierend auf physikalischen Modellen berechnet bzw. gerendert werden.
-
Es wird davon ausgegangen, dass der Bildklassifikator derart ausgeprägt ist, dass es in der Lage ist die Eingabedaten des Eingabebildes zu verarbeiten.
-
Das Ausgabesignal kann als Prädiktion einer Eigenschaft des Eingabebildes durch der Bildklassifikator aufgefasst werden. Dabei kann das Ausgabesignal von einem gewünschten Ausgabesignal abweichen, das heißt der Bildklassifikator kann eine Fehlklassifikation ausgeben. In diesem Sinne wird die Performanz eines Bildklassifikators als die Klassifikationsgenauigkeit verstanden, also die Fähigkeit für ein Eingabebild eine gewünschte Klassifikation auszugeben. Im Allgemeinen ist eine hohe Performanz von höchster Wichtigkeit, da Fehlklassifikationen zu einem ungewollten und/oder gefährlichen Verhalten einer Vorrichtung führen können, deren Betrieb vom Bildklassifikator beeinflusst wird.
-
Für das Training des Bildklassifikators kann ein Trainingsdatensatz verwendet werden, der Eingabebilder und entsprechende gewünschte Ausgabesignale umfasst. Auf Basis des Trainingsdatensatzes kann der Bildklassifikator vorzugsweise durch ein schrittweises Gradientenabstiegsverfahren trainiert werden. Hierfür kann ein Klassifikationskostenwert ermittelt werden, der charakterisiert in wie weit ein Ausgabesignal zu einem entsprechenden Eingabebild von dem gewünschten Ausgabesignal abweicht, welches dem Eingabebild zugeordnet ist.
-
Zum Ermitteln der Ausgabesignale für die Eingabebilder können die Eingabebilder durch eine Menge von ersten Schichten des Bildklassifikators propagiert werden. Die durch die ersten Schichten ermittelten Ausgaben können als Merkmalsrepräsentationen der entsprechenden Eingabebilder verstanden werden. Die Merkmalsrepräsentationen können an ein oder mehrere weitere Schichten weitergegeben werden.
-
Eine erste Schicht kann Parameter enthalten, auf deren Basis die Ausgabe der ersten Schicht ermittelt wird. Zum Beispiel kann eine erste Schicht eine diskrete Faltungsoperation durchführen. In diesem Fall können die Gewichte der Filter als Parameter der ersten Schicht verstanden werden.
-
In einem Filter können benachbarte Parameter als die Gewichte verstanden werden, die jeweils im Filter aneinander angrenzen.
-
Das Verhalten eines Filters wird maßgeblich von seinen Gewichten bestimmt. Dabei können starke Schwankungen zwischen den Werten benachbarter Gewichte zu entsprechenden Schwankungen in der Ausgabe der ersten Schicht führen. Dies kann zu einem instabilen Training führen, wodurch das Training des Bildklassifikators langsam oder gar nicht konvergieren kann.
-
Es ist daher von Vorteil das Training derart zu gestalten, dass benachbarte Parameter vorzugsweise ähnliche Werte aufweisen. Dies wird im ersten Aspekt der Erfindung vorteilhafterweise durch eine zusätzliche Kostenfunktion erreicht.
-
Die Kostenfunktion kann dabei als ein Maß verstanden werden, welches den absoluten Unterschied zwischen benachbarten Parametern einer Schicht charakterisiert. Im Falle einer Faltungsschicht kann darunter vorzugsweise der Betrag der Differenz zwischen benachbarten Gewichten eines Filters verstanden werden.
-
Während eines Trainingsschritts kann auf Basis der Kostenfunktion zusätzlich zum Klassifikationskostenwert ein Regularisierungskostenwert ermittelt werden und zwar dadurch, dass die Beträge der Differenzen benachbarter Parameter summiert werden. Dieser Wert kann als der Regularisierungskostenwert verstanden werden. Zum Zweck des Trainings kann dieser Regularisierungskostenwert, vorzugsweise mit einem Skalierungsfaktor multipliziert, zum Klassifikationskostenwert addiert werden, um so einen Gesamtkostenwert zu ermitteln. Die Parameter können anschließend abhängig vom Gesamtkostenwert beispielsweise über ein Gradientenabstiegsverfahren adaptiert werden.
-
Dieses Vorgehen ermöglicht die Anpassung der Parameter sowohl in Bezug des Ziels einer guten Performanz als auch in Hinblick auf ein stabiles Training.
-
Es ist weiterhin vorstellbar, dass die erste Schicht eine vollvernetzte Schicht ist und die Parameter der ersten Schicht in einer Matrix angeordnet sind. Vollvernetzte Schichten können als parallel angeordnete Neuronen verstanden werden, die zu einer Eingabe der Schicht jeweils einen Wert der Ausgabe der Schicht ermitteln. Benachbarte Parameter können in diesem Fall die jeweiligen Gewichte für benachbarte Dimensionen des Eingabebildes für ein entsprechendes Neuron verstanden werden. Zum Beispiel sind für ein Eingabebild mit drei Dimensionen die Gewichte für die erste und zweite Dimension benachbart als auch die Gewichte für die zweite und dritte Dimension.
-
Nachfolgend werden Ausführungsformen der Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. In den Zeichnungen zeigen:
- 1 schematisch einen Aufbau eines Steuerungssystems zur Ansteuerung eines Aktors;
- 2 schematisch ein Ausführungsbeispiel zur Steuerung eines wenigstens teilautonomen Roboters;
- 3 schematisch ein Ausführungsbeispiel zur Steuerung eines Fertigungssystems;
- 4 schematisch ein Ausführungsbeispiel zur Steuerung eines Zugangssystems;
- 5 schematisch ein Ausführungsbeispiel zur Steuerung eines Überwachungssystems;
- 6 schematisch ein Ausführungsbeispiel zur Steuerung eines persönlichen Assistenten;
- 7 schematisch ein Ausführungsbeispiel zur Steuerung eines medizinisch bildgebenden Systems;
- 8 eine erste Schicht des Bildklassifikators.
-
Beschreibung der Ausführungsbeispiele
-
1 zeigt einen Aktor (10) in seiner Umgebung (20) in Interaktion mit einem Steuerungssystem (40). In vorzugsweise regelmäßigen zeitlichen Abständen wird die Umgebung (20) in einem Sensor (30), insbesondere einem bildgebenden Sensor wie einem Videosensor, erfasst, der auch durch eine Mehrzahl von Sensoren gegeben sein kann, beispielsweise durch 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 Eingangsbildern (x) umwandelt (alternativ kann auch unmittelbar je das Sensorsignal (S) als Eingangsbild (x) übernommen werden). Das Eingangsbild (x) kann beispielsweise ein Ausschnitt oder eine Weiterverarbeitung des Sensorsignals (S) sein. Das Eingangsbild (x) umfasst einzelne Frames einer Videoaufzeichnung. Mit anderen Worten wird das Eingangsbild (x) abhängig von Sensorsignal (S) ermittelt. Die Folge von Eingangsbildern (x) wird einem Bildklassifikator (60), vorzugsweise einem neuronalen Netz, zugeführt.
-
Der Bildklassifikator (60) wird vorzugsweise parametriert durch Parameter (ϕ), die in einem Parameterspeicher (P) hinterlegt sind und von diesem bereitgestellt werden.
-
Der Bildklassifikator (60) ermittelt aus den Eingangsbildern (x) Ausgangsgrößen (y). Die Ausgangsgrößen (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. Ausgangsgröße (y) umfasst Informationen über Objekte, die der Sensor (30) erfasst hat.
-
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, welche 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) eine Ein- oder Mehrzahl von Prozessoren (45) und wenigstens ein maschinenlesbares Speichermedium (46), auf dem Anweisungen gespeichert sind, die dann, wenn sie auf den Prozessoren (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.
-
2 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 Bildklassifikator (60) ist eingerichtet, aus den Eingangsbildern (x) 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 Bildklassifikator (60) identifizierten Objekte verhindert, insbesondere, wenn es sich um Objekte bestimmter Klassen, z.B. um Fußgänger, handelt.
-
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 Bildklassifikator (60) identifizierten Objekten verhindert.
-
Alternativ oder zusätzlich kann mit dem Ansteuersignal (A) die Anzeigeeinheit (10a) angesteuert werden, und beispielsweise die ermittelten sicheren Bereiche dargestellt werden. Auch ist es beispielsweise beim einem Kraftfahrzeug (100) mit nicht automatisierter Lenkung möglich, 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 sicher identifizierten Objekte zu kollidieren.
-
3 zeigt ein Ausführungsbeispiel, in dem das Steuerungssystem (40) zur Ansteuerung einer Fertigungsmaschine (11) eines Fertigungssystems (200) verwendet wird, indem ein diese Fertigungsmaschine (11) steuernder Aktor (10) angesteuert wird. Bei der Fertigungsmaschine (11) kann es sich beispielsweise um eine Maschine zum Stanzen, Sägen, Bohren und/oder Schneiden handeln.
-
Bei dem Sensor (30) kann es sich dann beispielsweise um einen optischen Sensor handeln, der z.B. Eigenschaften von Fertigungserzeugnissen (12a, 12b) erfasst. Es ist möglich, dass diese Fertigungserzeugnisse (12a, 12b) beweglich sind. Es ist möglich, dass der die Fertigungsmaschine (11) steuernde Aktor (10) abhängig von einer Zuordnung der erfassten Fertigungserzeugnisse (12a, 12b) angesteuert wird, damit die Fertigungsmaschine (11) entsprechend einen nachfolgenden Bearbeitungsschritt des richtigen Fertigungserzeugnisses (12a, 12b) ausführt. Es ist auch möglich, dass durch Identifikation der richtigen Eigenschaften desselben der Fertigungserzeugnisse (12a, 12b) (d.h. ohne eine Fehlzuordnung) die Fertigungsmaschine (11) entsprechend den gleichen Fertigungsschritt für eine Bearbeitung eines nachfolgenden Fertigungserzeugnisses anpasst.
-
4 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem (40) zur Steuerung eines Zugangssystems (300) eingesetzt wird. Das Zugangssystem (300) kann eine physische Zugangskontrolle, beispielsweise eine Tür (401) umfassen. Videosensor (30) ist eingerichtet ist, eine Person zu erfassen. Mittels des Bildklassifikators (60) kann dieses erfasste Bild interpretiert werden. Sind mehrere Personen gleichzeitig erfasst, 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 von der Interpretation des Bildklassifikators (60) gewählt werden, beispielsweise abhängig von der ermittelten Identität der Person. An Stelle der physischen Zugangskontrolle kann auch eine logische Zugangskontrolle vorgesehen sein.
-
5 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem (40) zur Steuerung eines Überwachungssystems (400) verwendet wird. Von dem in 5 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 vom Bildklassifikator (60) eine Identität der vom Videosensor (30) aufgenommenen Gegenstände ermittelt werden, um abhängig davon z.B. darauf zu schließen, welche verdächtig werden, und das Ansteuersignal (A) dann derart gewählt werden, dass dieser Gegenstand von der Anzeigeeinheit (10a) farblich hervorgehoben dargestellt wird.
-
6 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem (40) zur Steuerung eines persönlichen Assistenten (250) eingesetzt wird. Der Sensor (30) ist bevorzugt ein optischer Sensor, der Bilder einer Geste eines Nutzers (249) empfängt.
-
Abhängig von den Signalen des Sensors (30) ermittelt das Steuerungssystem (40) ein Ansteuersignal (A) des persönlichen Assistenten (250), beispielsweise, indem der Bildklassifikator eine Gestenerkennung durchführt. Dem persönlichen Assistenten (250) wird dann dieses ermittelte Ansteuersignal (A) übermittelt und er somit entsprechend angesteuert. Dieses ermittelte Ansteuersignal (A) ist kann insbesondere derart gewählt werden, dass es einer vermuteten gewünschten Ansteuerung durch den Nutzer (249) entspricht. Diese vermutete gewünschte Ansteuerung kann abhängig von der vom Bildklassifikator (60) erkannten Geste ermittelt werden. Das Steuerungssystem (40) kann dann abhängig von der vermuteten gewünschten Ansteuerung das Ansteuersignal (A) zur Übermittlung an den persönlichen Assistenten (250) wählen und/oder das Ansteuersignal (A) zur Übermittlung an den persönlichen Assistenten entsprechend der vermuteten gewünschten Ansteuerung (250) wählen.
-
Diese entsprechende Ansteuerung kann beispielsweise beinhalten, dass der persönliche Assistent (250) Informationen aus einer Datenbank abruft und sie für den Nutzer (249) rezipierbar wiedergibt.
-
Anstelle des persönlichen Assistenten (250) kann auch ein Haushaltsgerät (nicht abgebildet), insbesondere eine Waschmaschine, ein Herd, ein Backofen, eine Mikrowelle oder eine Spülmaschine vorgesehen sein, um entsprechend angesteuert zu werden.
-
7 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem (40) zur Steuerung eines medizinischen bildgebenden Systems (500), beispielsweise eines MRT-, Röntgen- oder Ultraschallgeräts, verwendet wird. Der Sensor (30) kann beispielsweise durch einen bildgebenden Sensor gegeben sein, durch das Steuerungssystem (40) wird die Anzeigeeinheit (10a) angesteuert. Beispielsweise kann vom Bildklassifikator (60) ermittelt werden, ob ein vom bildgebenden Sensor aufgenommener Bereich auffällig ist, und das Ansteuersignal (A) dann derart gewählt werden, dass dieser Bereich von der Anzeigeeinheit (10a) farblich hervorgehoben dargestellt wird.
-
8 zeigt eine erste Schicht (601) des Bildklassifikators (60), die durch eine Faltungsschicht gegeben ist und zu einer Eingabe (603) basierend auf einer Mehrzahl von Filtern (604) über eine diskrete Faltung (605) eine Ausgabe (602) ermittelt.
-
Die jeweiligen Filter (604) umfassen Gewichte (W1,1, W1,2, W2,1, W2,2) auf deren Basis das Ergebnis der Faltung (605) ermittelt wird. Während des Trainings des Bildklassifikators(60) können die Gewichte (W1,1, W1,2, W2,1, W2,2) verändert werden, um ein gewünschtes Ausgabeverhalten zu erzielen. Vorzugsweise sind die Gewichte (W1,1, W1,2) W2,1) W2,2) in Form eines Tensors im Speicher abgelegt, wobei der Tensor jeweils eine Dimension für die Anzahl der Filter, die Höhe der Filter und die Breite der Filter aufweist.
-
Während des Trainings wird abhängig von den Gewichten (w
1,
1, w
1,2,) w
2,
1, W
2,2) ein Regularisierungskostenwert durch folgende Formel ermittelt:
wobei F die Anzahl der Filter, M die Höhe der Filter und N die Breite der Filter ist. Dieser Kostenwert wird zu einem entsprechend vom Bildklassifikator (
60) ermittelten Klassifikationskostenwert addiert um einen Gesamtkostenwert zu erhalten. Der Gesamtkostenwert kann als Maß verstanden werden, inwieweit sowohl die Klassifikation eines oder mehrerer Eingabebilder korrekt war als auch inwieweit benachbarte Parameter zueinander ähnlich sind.
-
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
-