-
Technisches Gebiet
-
Die vorliegende Beschreibung betrifft eine Objektidentifizierungseinheit zum Identifizieren von Objekten und ein entsprechendes Verfahren zum Identifizieren von Objekten mit einem künstlichen neuronalen Netzwerk. Die Objektidentifizierungseinheit verwendet ein künstliches neuronales Netzwerk, um Objekte mit einer hohen Zuverlässigkeit auch dann zu erkennen, wenn die Objekte relativ zu einer Bilderfassungseinheit gedreht sind.
-
Technischer Hintergrund
-
Künstliche neuronale Netze können verwendet werden, um Objekte zu klassifizieren und/oder zu identifizieren. Für die Identifizierung einer Person nimmt deren Gesicht eine Kernrolle ein. Das Identifizieren einer Person beinhaltet insbesondere das Zuordnen eines Gesichts zu einer bestimmten Person.
-
Damit ein künstliches neuronales Netz eine Person identifizieren kann, muss das künstliche neuronale Netz mit einem Abbild dieser Person trainiert worden sein. Dies passiert in der sogenannten Trainingsphase. Sodann ist das künstliche neuronale Netz in der Lage, ein zu identifizierendes Abbild einer Person mit allen trainierten Personen zu vergleichen und diejenige Person zu präsentieren, welcher das zu identifizierende Abbild am Nächsten kommt.
-
An das Abbild einer Person, welches für den Identifizierungsvorgang verwendet wird, können gewisse Vorgaben bzw. Anforderungen gestellt werden. Ein Beispiel hierfür sind die sogenannten biometrischen Bilder, auf denen das Gesicht einer Person einen bestimmten Bereich ausfüllen muss (Anforderung an die Größe des Gesichts auf dem Abbild) und auch aus einem vorgegebenen Blickwinkelbereich erfasst werden muss (Anforderung an die Perspektive).
-
Darstellung der Erfindung
-
Es kann als Aufgabe betrachtet werden, die Zuverlässigkeit der Identifizierung von Personen mit einem künstlichen neuronalen Netzwerk zu verbessern.
-
Diese Aufgabe wird gelöst durch den Gegenstand der unabhängigen Ansprüche. Weitere Ausführungsformen ergeben sich aus den abhängigen Ansprüchen sowie aus der folgenden Beschreibung.
-
Gemäß einem Aspekt ist eine Objektidentifizierungseinheit zum Identifizieren von Objekten angegeben. Die Objektidentifizierungseinheit weist ein künstliches neuronales Netzwerk, KNN, auf. Das KNN enthält eine Eingabeschicht und eine Ausgabeschicht, wobei das KNN ausgestaltet ist, Objekte basierend auf Eingaben an die Eingabeschicht zu identifizieren, wobei die Eingabeschicht eine Mehrzahl von Eingabeneuronen aufweist, und wobei die Eingabeschicht ausgeführt ist, einen Eingabevektor zu erhalten, wobei der Eingabevektor Objektidentifizierungsinformationen zu dem zu identifizierenden Objekt enthält. Das KNN ist ausgeführt, basierend auf den Objektidentifizierungsinformationen ein Objekt zu identifizieren, wobei die Objektidentifizierungsinformationen einer zweidimensionalen Abbildung des zu identifizierenden Objekts entsprechen. Die Objektidentifizierungseinheit ist konfiguriert, die zweidimensionale Abbildung in eine Mehrzahl von Dreiecken, die durch charakteristische Punkte des zu identifizierenden Objekts an ihren Ecken begrenzt sind, zu unterteilen. Die Objektidentifizierungseinheit ist konfiguriert, aus Symmetrieeigenschaften des zu identifizierenden Objekts und relativen Flächenanteilen der einzelnen Dreiecke an der Gesamtsumme der Fläche der Dreiecke einen Drehwinkel des zu identifizierenden Objekts in der zweidimensionalen Abbildung zu ermitteln und die Flächen der einzelnen Dreiecke mit einem Korrekturfaktur zu multiplizieren, um korrigierte Flächen der Dreiecke zu erhalten, welche einer Symmetriebedingung entsprechen bzw. die Symmetriebedingung erfüllen. Die Objektidentifizierungseinheit ist konfiguriert, die korrigierten Flächen der Dreiecke auf eine drehinvariante Größe des zu identifizierenden Objekts zu normieren und die normierten Flächen der Dreiecke dem KNN als Eingabevektor zuzuführen.
-
Die hier beschriebene Objektidentifizierungseinheit kann für das Identifizieren verschiedener Objekte verwendet werden, insbesondere solcher Objekte, die symmetrisch mit Bezug zu einer Symmetrieachse sind. Bei diesen Objekten kann es sich um Gesichter von Menschen, Abbildungen von Tieren und Pflanzen oder von Maschinen handeln. Im Folgenden wird die Objektidentifizierungseinheit in Verbindung mit dem Erkennen von Gesichtern bzw. Identifizieren von Personen beschrieben. Es ist allerdings zu verstehen, dass dies lediglich ein Anwendungsbeispiel ist und die Allgemeingültigkeit der Verwendung der Objektidentifizierungseinheit für das Identifizieren beliebiger Objekte durch die Bezugnahme auf ein menschliches Gesicht nicht eingeschränkt wird.
-
Eine Herausforderung bei der Identifizierung von Personen ist es, wenn das Gesicht einer Person auf einer fotografischen Abbildung von einer Bilderfassungseinheit, wie beispielsweise einer Kamera für bewegte oder unbewegte Bilder, gedreht ist, d.h. dass das Gesicht nicht frontal erfasst wurde. Eine solche Drehung des Gesichts erschwert die automatisierte maschinelle Erkennung des Gesichts, insbesondere wenn die Vergleichsabbildungen der Personen frontal oder in einem Blickwinkel, welcher von dem Blickwinkel der zu identifizierenden Abbildung abweicht, erfasst wurden.
-
Die hier beschriebene Objektidentifizierungseinheit löst diese Herausforderung, indem Abschnitte eines zu identifizierenden Abbilds eines Gesichts zunächst mit einem Korrekturfaktor versehen werden, um die durch die Drehung verursachte Abweichung der Dimensionen des Gesichts auszugleichen. Nachfolgend werden die Abschnitte des zu identifizierenden Abbilds des Gesichts normiert, um Größenunterschiede in den zu vergleichenden Abbildungen zu kompensieren. Insbesondere wird der relative Anteil der Fläche jedes Dreiecks an der Summe der Flächen aller Dreiecke ermittelt, um einen Drehwinkel des Gesichts zu ermitteln. Sodann wird der relative Anteil der Fläche jedes Dreiecks an der Summe der Flächen aller Dreiecke auf eine drehinvariante Größe des Gesichts normiert. Die normierte Fläche der Dreiecke wird dem künstlichen neuronalen Netzwerk zugeführt, um eine Person zu identifizieren.
-
Insbesondere ist vorgesehen, dass ein Abbild eines Gesichts in mehrere Dreiecke unterteilt wird, wobei jedes Dreieck von drei charakteristischen Punkten in dem Abbild des Gesichts definiert wird. Mindestens einige dieser Dreiecke werden so in dem Abbild des Gesichts platziert, dass jeweils zwei Dreiecke achsensymmetrisch bezogen auf eine vertikale oder horizontale Achse des Gesichts liegen. Dieser Anordnung der Dreiecke liegt der Gedanke zu Grunde, dass ein Gesicht bezogen auf eine vertikale Mittelachse symmetrisch ist. Demnach wird unterstellt, dass Dreiecke in den beiden Gesichtshälften, welche von denselben oder einander entsprechenden charakteristischen Punkten definiert werden, gleich groß sind. Dies wird vorliegend als Symmetrieeigenschaft oder Symmetriebedingung bezeichnet. Ist diese Symmetriebedingung nicht erfüllt, kann davon ausgegangen werden, dass das Gesicht auf der Abbildung gedreht ist. Auf Grund der bekannten Symmetrieeigenschaft eines menschlichen Gesichts kann diese Drehung allerdings ausgeglichen werden, indem die Flächen bzw. Größen von symmetrischen Dreiecken in Relation zueinander gesetzt werden.
-
Die Flächen von zwei Dreiecken, welche symmetrisch mit Bezug auf eine Mittelachse des Gesichts angeordnet sind, können verwendet werden, um einen Quotienten zu bilden. Dieser Quotient sagt aus, um wie viel die Flächen dieser Dreiecke voneinander abweichen. Bei einem an sich symmetrischen Gegenstand, wie einem menschlichen Gesicht, müssten die Flächen gleich groß sein und der Quotient wäre 1. Ist das Gesicht jedoch gedreht, nimmt der Quotient einen anderen Wert an. Der anzuwendende Korrekturfaktor ist also so bemessen, dass die Fläche eines in der Abbildung verfälscht dargestellten Dreiecks auf seinen tatsächlichen Wert bzw. seinen tatsächlichen Anteil an der Gesamtfläche des Gesichts (hier geht es um den relativen Anteil eines Dreiecks an der Summe der Flächen aller Dreiecke, in welche ein Gesicht unterteilt wurde) korrigiert wird. Durch diesen Ansatz wird eine Drehung des Gesichts kompensiert, was eine automatisierte maschinelle Erkennung mittels eines künstlichen neuronalen Netzwerks erleichtert.
-
In einem weiteren Schritt wird die dergestalt korrigierte Fläche der Dreiecke auf eine drehinvariante Größe des Gesichts normiert. Als drehinvariante Größe kann beispielsweise ein horizontaler oder vertikaler Abstand zwischen zwei Punkten in dem Gesicht verwendet werden, welcher sich bei einer Drehung des Gesichts nicht verändert. Beispielsweise verändert sich der vertikale Abstand zwischen der Höhe der Augen und dem Zentrum der Oberlippe nicht, wenn der Kopf um die Hochachse gedreht wird. Auch andere vertikale Abstände in dem Gesicht ändern sich nicht, wenn der Kopf lediglich um die Hochachse gedreht wird. Somit können solche Größen, welche unabhängig von einer Drehung sind, herangezogen werden, um die Flächen der Dreiecke zu normieren.
-
Es ist also vorgesehen, eine zweistufige Korrektur eines Abbilds eines Gesichts auszuführen, um die Identifizierung einer Person mit einem künstlichen neuronalen Netzwerk zuverlässiger zu gestalten: zunächst wird das Gesicht in Dreiecke unterteilt, welche von charakteristischen Punkten begrenzt sind, und zwar so, dass mindestens einige der Dreiecke achsensymmetrisch bezogen auf eine Achse des Gesichts sind. Die zueinander achsensymmetrischen Dreiecke sind bei einem Abbild des Gesichts ohne Drehung gleich groß. Gilt diese Symmetriebedingung in einem Abbild nicht, ergibt sich, dass das Gesicht gedreht ist. Aus dem Größenverhältnis zueinander achsensymmetrischer Dreiecke kann ein Korrekturfaktor ermittelt werden, mithilfe dessen der relative Anteil der Fläche eines Dreiecks an der Summe der Flächen aller Dreiecke ermittelt werden kann, und zwar für den Fall, dass das Gesicht nicht gedreht ist. In einem zweiten Schritt werden die korrigierten Flächen der Dreiecke auf eine drehinvariante Größe in dem Gesicht normiert. Durch diesen Ansatz wird ein korrigiertes und normiertes Abbild eines Gesichts erstellt, so dass für das Gesicht die Drehung kompensiert wird und es in eine gemeinsame Bildebene mit den trainierten Abbildern von Gesichtern gebracht wird.
-
Grundsätzlich ist das KNN aus einer Eingabeschicht, einer oder mehreren Zwischenschichten, und einer Ausgabeschicht aufgebaut. Es ist denkbar, dass das KNN ein zweischichtiges KNN ohne verdeckte Schicht ist. Jede Schicht enthält eine Mehrzahl von Neuronen, wobei jedes Neuron einer Schicht mit allen Neuronen der nächsten Schicht verbunden ist. Ein KNN kann mit einer Vielzahl von Eingabedaten trainiert werden und so konfiguriert sein, dass es einmal gelernte Objekte wiedererkennt und einen entsprechenden Ausgabewert liefert. Vorliegend wird das KNN mit Abbildungen von Gesichtern trainiert, welche frontal abgebildet sind und bei denen die Gesichtsgröße festgelegt ist. Auch diese Gesichter sind in eine Vielzahl von Dreiecken unterteilt, so dass die Flächen der Dreiecke, der relative Anteil der Fläche jedes Dreiecks an der Gesamtsumme der Flächen der Dreiecke, sowie die Normierung der Flächen der Dreiecke auf eine drehinvariante Größe des Gesichts durch das KNN als Identifizierungsparameter verwendet werden.
-
Das künstliche neuronale Netzwerk kann auf einem Rechner oder einem Rechnerverbund ausgeführt werden, wobei der Rechner oder der Rechnerverbund (dann mittels paralleler Abarbeitung der Anweisungen) das KNN in verschiedenen Konfigurationen ausführen kann. Beispielsweise kann das KNN auf einem Computer, einem programmierbaren Logikgatter (FPGA) oder einem Prozessor ausgeführt werden. Wenn das KNN in verschiedenen Konfigurationen ausgeführt wird, ändert dies nicht zwingend etwas an der Hardware, auf der das KNN ausgeführt wird. Vielmehr ändern sich beispielsweise die Konfiguration der einzelnen Neuronen und/oder die Gewichtung der Informationsübertragung zwischen Neuronen verschiedener Schichten.
-
Das KNN ist beispielsweise ausgestaltet, eine Mehrzahl verschiedener Konfigurationen einzunehmen, wobei jede Konfiguration des KNN einer trainierten Person entspricht und wobei das KNN einen bestimmten Eingabevektor mehreren Konfigurationen aus der Mehrzahl verschiedener Konfigurationen zuführt. Insbesondere ist die Information der einzelnen Konfigurationen in den Gewichten der einzelnen Neuronen enthalten und stellt ein Minimum auf einer mehrdimensionalen Hyperfläche dar. Dieses Minimum drückt die minimale Abweichung zwischen einem zu identifizierenden Gesicht und einem oder mehreren damit verglichenen Gesichtern dar. Bei sehr ähnlichen Gesichtern, wie es z.B. bei Zwillingen der Fall sein kann, kann es jedoch zu Verwechslungen kommen (auch als „false positive“ benannt). So kann die Ähnlichkeit des zu identifizierenden Abbilds mit verschiedenen dem KNN bekannten Gesichtern ermittelt werden. Das Gesicht mit der höchsten Ähnlichkeit (oder der geringsten Unähnlichkeit) wird dann von dem KNN als Ergebnis des Identifizierungsvorgangs ausgegeben.
-
Jede Konfiguration des KNN entspricht einer Person und ist darauf ausgelegt, dass das KNN diese Person wiedererkennt, und zwar unter verschiedenen Perspektiven auf das Gesicht der Person und bei variierenden Abständen der Person von der erfassenden Bilderfassungseinheit.
-
In einer Ausführungsform ist die drehinvariante Größe ein vertikaler oder horizontaler Abstand zwischen zwei charakteristischen Punkten des zu identifizierenden Objekts.
-
Je nach Drehung des Gesichts in dem Abbild sind entweder horizontale Abstände oder vertikale Abstände zwischen unveränderlichen Punkten von der Drehung nicht beeinflusst. Vorliegend können sowohl horizontale als auch vertikale Abstände als drehinvariante Größe verwendet werden.
-
In einer weiteren Ausführungsform ist die Objektidentifizierungseinheit konfiguriert, in einer Trainingsphase mit einer Mehrzahl von Abbildungen von Objekten trainiert zu werden, wobei die Abbildungen die Objekte ohne Drehwinkel zeigen.
-
Durch den oben beschriebenen Ansatz ist es möglich, das Abbild eines gedrehten Gesichts unter Verwendung eines künstlichen neuronalen Netzwerks mit solchen Bildern von Gesichtern zu vergleichen, welche frontal und ohne Drehung des Gesichts aufgenommen wurden.
-
In einer weiteren Ausführungsform ist die Symmetriebedingung eine Achsensymmetrie bezogen auf eine Achse des zu identifizierenden Objekts.
-
Der hier beschriebene Ansatz kann bevorzugt für solche Objekte verwendet werden, welche mindestens eine Achsensymmetrie haben. Das menschliche Gesicht beispielsweise ist in der Regel symmetrisch bezogen auf eine vertikale Mittelachse. Diese Symmetrieeigenschaft erlaubt es, Drehungen des Gesichts um eine Hochachse zu erkennen, weil die Flächen von Dreiecken auf der linken Gesichtshälfte von den Flächen von entsprechenden Dreiecken auf der rechten Gesichtshälfte (oder umgekehrt) abweichen, obwohl sie aufgrund der Symmetrieeigenschaft gleich sein müssten.
-
Für Objekte, welche achsensymmetrisch bezogen auf eine horizontale Achse sind, gilt die gleiche Aussage für die obere und die untere Hälfte des Abbilds des Objekts. Hierbei kann eine Drehung des Objekts um die Querachse kompensiert werden. Als Beispiel für diesen Anwendungsfall kann ein Flugkörper oder Lenkflugkörper genannt werden, der von der Seite betrachtet wird und bei dem das Höhenruder nicht angestellt ist.
-
In einer weiteren Ausführungsform ist die Objektidentifizierungseinheit konfiguriert, die zweidimensionale Abbildung so in eine Mehrzahl von Dreiecken zu unterteilen, dass mindestens einige der Dreiecke symmetrisch zu einer Achse des zu identifizierenden Objekts sind.
-
Bevorzugt wird eine vollständig symmetrische Aufteilung vorgenommen. Dies mag hilfreich und vorteilhaft sein. Es ist jedoch auch möglich, ohne eine vollständige symmetrische Unterteilung des Objekts eine Identifikation auszuführen, indem auf die symmetrischen Dreiecke zugegriffen wird.
-
In einer weiteren Ausführungsform ist die Objektidentifizierungseinheit ausgeführt, den Korrekturfaktor zu ermitteln, indem für jeweils ein Dreieckspaar bestehend aus zwei einander entsprechenden Dreiecken ein Größenverhältnis ermittelt wird.
-
Somit wird ein virtuelles Abbild bzw. werden Dreiecksgrößen der Abbildung ohne Drehwinkel erstellt.
-
Gemäß einem weiteren Aspekt ist ein Verfahren zum Identifizieren von Objekten mit einem künstlichen neuronalen Netzwerk, KNN, angegeben. Das Verfahren weist die folgenden Schritte auf: Unterteilen einer zweidimensionalen Abbildung eines zu identifizierenden Objekts in eine Mehrzahl von Dreiecken, die durch charakteristische Punkte des zu identifizierenden Objekts an ihren Ecken begrenzt sind; Ermitteln eines Drehwinkels des zu identifizierenden Objekts in der zweidimensionalen Abbildung basierend auf Symmetrieeigenschaften des zu identifizierenden Objekts und relativen Flächenanteilen der einzelnen Dreiecke an einer Gesamtsumme der Fläche der Dreiecke; Ermitteln von korrigierten Flächen der Dreiecke, indem die Flächen der Dreiecke mit einem Korrekturfaktor multipliziert werden, wobei die korrigierten Flächen der Dreiecke einer Symmetriebedingung entsprechen; Normieren der korrigierten Flächen der Dreiecke auf eine drehinvariante Größe des zu identifizierenden Objekts; und Zuführen der normierten korrigierten Flächen an das KNN, um basierend darauf einen Abgleich von Objekten vorzunehmen und diese zu identifizieren.
-
Für das Verfahren gelten die gleichen Ausführungen, wie sie mit Bezug zu der Objektidentifizierungseinheit weiter oben oder unten dargelegt sind. Um unnötige Wiederholung zu vermeiden, werden die funktionalen Merkmale der Objektidentifizierungseinheit an dieser Stelle nicht wiedergegeben. Jedenfalls können die funktionalen Merkmale der Objektidentifizierungseinheit als Verfahrensschritte implementiert werden und umgekehrt. Beispielhaft werden hier einige der funktionalen Merkmale als Verfahrensschritte angegeben, was jedoch nicht als Einschränkung dahingehend verstanden werden darf, dass andere funktionale Merkmale nicht als Verfahrensschritte implementiert werden können.
-
In einer Ausführungsform des Verfahrens ist die drehinvariante Größe ein vertikaler oder horizontaler Abstand zwischen zwei charakteristischen Punkten des zu identifizierenden Objekts.
-
Ein horizontaler Abstand bei einer Drehung des Objektes/Gesichts um die Hochachse ist allerdings erst nach einer Korrektur des Drehwinkels um die Hochachse drehinvariant. Allgemein ausgedrückt ist ein vertikaler Abstand drehinvariant gegenüber Drehungen um die Hochachse und ein horizontaler Abstand drehinvariant gegenüber Drehungen um die Querachse.
-
In einer weiteren Ausführungsform ist die Symmetriebedingung eine Achsensymmetrie bezogen auf eine Achse des zu identifizierenden Objekts.
-
Figurenliste
-
Nachfolgend wird anhand der beigefügten Zeichnungen näher auf Ausführungsbeispiele eingegangen. Die Darstellungen sind schematisch und nicht maßstabsgetreu. Gleiche Bezugszeichen beziehen sich auf gleiche oder ähnliche Elemente. Es zeigen:
- 1 eine schematische Darstellung eines künstlichen neuronalen Netzwerks für eine Objektidentifizierungseinheit zum Identifizieren von Objekten.
- 2 eine schematische Darstellung einer Objektidentifizierungseinheit.
- 3 eine schematische Darstellung eines menschlichen Gesichts mit charakteristischen Punkten und dadurch definierte Dreiecke.
- 4 eine Unterteilung des Gesichts aus 3 in eine Vielzahl von Dreiecken.
- 5 eine schematische Darstellung eines künstlichen neuronalen Netzwerks;
- 6 eine schematische Darstellung der Drehung eines Abbildes eines menschlichen Gesichts;
- 7 eine schematische Darstellung eines Verfahrens zum Identifizieren von Objekten mit einem künstlichen neuronalen Netzwerk.
-
Detaillierte Beschreibung von Ausführungsbeispielen
-
1 zeigt eine schematische Darstellung eines künstlichen neuronalen Netzwerks, KNN, 100. Das KNN 100 weist eine Eingabeschicht 110 mit mehreren Eingabeneuronen 111 bis 114 auf. Beispielsweise enthält die Eingabeschicht 110 eine Anzahl von Eingabeneuronen, an welche Identifizierungsparameter eines Gesichts übertragen werden. Als Identifizierungsparameter werden die korrigierten und normierten Dreiecksflächen verwendet, wie weiter oben beschrieben. Das KNN kann ohne Zwischenschicht oder mit einer oder mehreren Zwischenschichten ausgestattet sein. Vorliegend sind zwei Zwischenschichten 120A und 120B gezeigt. Weiterhin enthält das KNN 100 eine Ausgabeschicht 130 mit Ausgabeneuronen 131 bis 134.
-
Es ist ein Kennzeichen des KNN, dass jedes Neuron einer Schicht mit allen Neuronen der nachfolgenden (in der Darstellung der 1 weiter rechts befindlichen) Schichten verbunden ist. In einer Trainingsphase werden der Eingabeschicht des KNN Objektidentifizierungsdaten zugeführt und das KNN wird darauf trainiert, um die zugeführten Objektidentifizierungsdaten sämtlicher Objekte zu erkennen und den jeweiligen Personen zuzuweisen. Die Objektidentifizierungsdaten sind in den Gewichten des KNN enthalten und äußern sich als Minima auf einer mehrdimensionalen Hyperfläche, wobei jedem der trainierten Referenzbilder genau ein (Haupt-)Minimum entspricht. Bei der Identifizierung wird eines dieser Minima durch Backpropagation angesteuert, und zwar das Gesicht der gesuchten bzw. zu identifizierenden Person. Basierend auf diesem Training werden die Neuronen so vernetzt, dass sie ein einmal gelerntes Objekt auch in anderen Objektidentifizierungsdaten erkennen und an der Ausgabeschicht 130 einen entsprechenden Ausgabewert liefern.
-
2 zeigt eine Objektidentifizierungseinheit 1 mit einer Datenquelle 50, einem künstlichen neuronalen Netzwerk 100, wie beispielsweise in 1 gezeigt, einer Ausgabeeinheit 60, einem Datenspeicher 70 und einer Steuereinheit 80.
-
Die Datenquelle 50 liefert Bilder von einem oder mehreren Gesichtern an das KNN 100, wo die Bilder einem Identifizierungsvorgang unterlaufen. Die Datenquelle 50 kann beispielsweise eine Kamera sein oder ein Datenspeicher, in welchem Bilder hinterlegt sind und an das KNN 100 ausgegeben werden können. Die Datenquelle 50 kann mit dem KNN 100 direkt oder über ein Datenübertragungsnetz verbunden sein. Die Übertragung der Bilder von der Datenquelle 50 an das KNN 100 kann von der Steuereinheit 80 initiiert oder gesteuert werden.
-
Das KNN 100 kann auf einen Datenspeicher 70 zugreifen. In dem Datenspeicher 70 können beispielsweise die Parameter von verschiedenen Konfigurationen des KNN 100 abgelegt sein. Mithilfe dieser Konfigurationen können die Gewichtungen für die einzelnen Neuronen geladen werden, um ein Bild einer Person mit dem Bild aller trainierten Personen abzugleichen. Das Ergebnis des Identifizierungsvorgangs wird von dem KNN 100 an die Ausgabeeinheit 60 übermittelt.
-
3 zeigt beispielhaft die Festlegung von charakteristischen Punkten in einem menschlichen Gesicht. Die charakteristischen Punkte sind jeweils mit einem Kreis 151 gekennzeichnet. Einige dieser Kreise 151 sind über Linien miteinander verbunden, so dass diese Liniendreiecke definieren, von denen manche für das Identifizieren einer Person herangezogen werden können. Weiterhin sind in 3 einige vertikale Abstände 152 gezeigt. Wird das Gesicht in 3 um die vertikale Achse 155 gedreht, so ändern sich die vertikalen Abstände 152 nicht.
-
4 zeigt das Gesicht aus 3 mit hervorgehobenen Dreiecken und nummerierten Eckpunkten dieser Dreiecke. Die Auswahl und Festlegung der Dreiecke in 4 ist lediglich als Beispiel zu verstehen. Dreiecke können auf andere Weise und in einer anderen Anzahl in das Gesicht bzw. die Abbildung des Gesichts gelegt werden.
-
In 4 ist zu erkennen, dass einige der Dreiecke in den beiden Gesichtshälften bezogen auf die vertikale Mittelachse 155 des Gesichts symmetrisch zueinander sind. So ist beispielsweise das durch die Punkte 2, 3, 4 definierte Dreieck eine Achsenspiegelung des durch die Punkte 16, 17, 18 definierten Dreiecks (diese beiden an der Mittelachse gespiegelten Dreiecke werden als einander entsprechende Dreiecke bezeichnet). Ähnliche Symmetrieeigenschaften finden sich auch bei anderen Dreiecken. Einander entsprechende Dreiecke sind durch gleiche Form und Fläche gekennzeichnet (d.h. diese Dreiecke werden durch eine Drehung um 180° aufeinander abgebildet) und finden sich in vielen oder gar den meisten menschlichen Gesichtern.
-
Im Falle eines um die Hochachse gedrehten Gesichts sind die Flächen einander entsprechender Dreiecke in einer zweidimensionalen Abbildung des gedrehten Gesichts nicht gleich. Wenn das Gesicht in 4 beispielsweise leicht nach links gedreht wird, wird die Fläche des Dreiecks 16, 17, 18 kleiner als die Fläche des Dreiecks 2, 3, 4. Das Verhältnis dieser beiden Flächen kann verwendet werden, um den Drehwinkel des Gesichts zu bestimmen. Um die Zuverlässigkeit bzw. Genauigkeit der Bestimmung des Drehwinkels des Gesichts zu erhöhen, können mehrere oder alle einander entsprechenden Dreiecke der beiden Gesichtshälften herangezogen und in ihrer Größe miteinander verglichen werden. Hierbei wird bevorzugt nicht die absolute Fläche der Dreiecke verwendet, sondern der Anteil der Fläche eines Dreiecks an der Summe der Fläche aller Dreiecke, welche in das menschliche Gesicht gelegt sind.
-
Bezugnehmend auf 3 und 4 wird an dieser Stelle der Ansatz für die Identifizierung von Personen beispielhaft beschrieben.
-
Zunächst wird das Gesicht in eine endliche Anzahl elementarer Grunddreiecke zerlegt, deren Eckpunkte zueinander in einem für jeden Menschen eigentümlichen Abstandsverhältnis stehen. Der Idee einer Gesichtserkennung liegt der Gedanke zugrunde, dass es mit Ausnahme von eineiigen Zwillingen keine zwei gleichen Gesichter gibt. Vergleichen wir zwei Gesichter miteinander, so stellen wir fest, dass Menschen unterschiedlich lange Nasen, unterschiedliche Augenabstände oder unterschiedliche Mundbreiten haben. Diese Merkmale werden biometrische Daten genannt. Ein Beispiel dafür liefert 3 und 4.
-
So lassen sich etwa anhand markanter Punkte wie Augen- und Nasenmitte, Kinnspitze etc. oder charakteristischer Abmessungen wir Ohrenabstand, Nasen- oder Oberlippenlänge Linien durchs Gesicht ziehen, die ein biometrisches Profil eines Menschen ergeben und somit ein unveränderliches Körpermerkmal darstellen. Wenn man eine charakteristische Abmessung, etwa die Distanz der Augenlinie (horizontale Linie, welche die Augen miteinander verbindet) zur Nasenlinie (horizontale Linie, welche die Nasenlöcher miteinander verbindet) als Normierungsgröße verwendet, werden sich sämtliche Menschen in mindestens einem, aber höchstwahrscheinlich in mehreren, möglicherweise sogar vielen Merkmalen von der Referenzperson unterscheiden.
-
Wählen wir nun eine endliche Anzahl charakteristischer Punkte im Gesicht (Kreise 151 in 3), so lassen sich aus jeweils drei Punkten Dreiecksflächen bilden, die eine eindeutig definierte Flächennormale besitzen. Die Darstellung eines Gesichts ist nichts anderes als die Projektion einer räumlich gekrümmten Oberfläche in die Bildebene, wobei zwischen der dreidimensionalen Flächennormalen A und der Flächennormalen der projizierten Fläche An der Winkel θ liegt. Jedes Flächenelement auf einem Foto ist also um den Kosinus des Winkels, den der Normalenvektor auf der dreidimensionalen Gesichtsoberfläche mit dem Lot senkrecht zur Bildebene einnimmt, kleiner als die tatsächliche Oberfläche des dreidimensionalen Gesichts.
-
Da ein menschliches Gesicht mehrfach und unterschiedlich gekrümmt ist, wird es zunächst in eine ausreichende Zahl von Flächenelementen zerlegt. Als Zerlegung der Gesichtsfläche wird ohne Beschränkung der Allgemeinheit die in 4 dargestellte Anordnung aus 25 Dreiecken, die nahtlos aneinander anschließen, gewählt.
-
Dabei ist jeder der insgesamt 27 Eckpunkte wenigstens einmal Ausgangs- oder Endpunkt einer der 25 Dreiecksflächen A
i,i+1,i+2, die in aufsteigender Folge wie folgt angeordnet werden können:
-
Um also eine Fläche in m Dreiecke zerlegen zu können, werden m+2 Eckpunkte benötigt. In dem vorliegenden Fall ist m = 25. Hinsichtlich der Zerlegung ist auch noch bevorzugt, diese so zu wählen, dass eine fortlaufende Reihe von Punkten entsteht, bei denen möglichst keiner ausgelassen wird oder einer nicht Eckpunkt eines Grunddreiecks ist. Doppelzählungen sind ausdrücklich erlaubt, bisweilen sogar unvermeidbar. 4 zeigt eine Zerlegung mit 18 Eckpunkten und 9 weiteren Punkten, die doppelt vergeben wurden und links von dem Gesicht angeführt sind.
-
Sämtliche Teildreiecke der Bildebene addieren sich nun nach folgender Formel zu einer Gesamtfläche:
-
Die Gesamtfläche wird als Bezugsgröße gebraucht, weil die Neuronen zu Vergleichszwecken als Werte kleiner oder gleich 1 behandelt werden. Für die normierten Dreiecksflächen gilt dann der Ausdruck
-
Zur Berechnung einer Dreiecksfläche im dreidimensionalen Raum benötigen wir die Flächennormale, die sich als Kreuzprodukt der beiden Abstandsvektoren Δr
ij und Δr
ik von einem gemeinsamen Eckpunkt i zu jedem der zwei anderen Eckpunkte j und k im Dreieck darstellen lässt, d.h.
-
Für ebene Vektoren in der x-y-Ebene verbleibt von diesem Vektor nur die z-Komponente
wobei Betragsstriche gesetzt sind, da Flächen auch negativ sein können. Im Einzelnen gelten für die jeweiligen Abstandsdifferenzen die Relationen
-
Um einer Vielzahl möglicher Gesichter Rechnung zu tragen, führen wir außerdem für jedes einzelne Gesicht ein Trainingsmuster mit dem Index p ein, was schematisch in 5 gezeigt ist.
-
Um Laufindizes einzusparen, definieren wir die Ausgangsneuronen α
pj, sowie die Sollausgangswerte α̂
pj zunächst durch
für j =1, 2,..., m. In dem zweischichtigen Netz aus
5 gilt also
α
pi der Input des Neurons i in der Eingabeschicht, wobei 1 ≤ i ≤ m,
a
pj der Output des Neurons j in der Ausgabeschicht, wobei 1 ≤ j ≤ m,
net
pj, der Netto-Input des Neurons j in der Ausgabeschicht aus Schicht 1, wobei 1 ≤ j ≤ m, w
ij das Verbindungsgewicht von Neuron i nach j an der Schnittstelle.
-
Nachdem das Netz mit einer Vielzahl von Gesichtern angelernt wurde (
4 gibt ein Beispiel für ein in das Netz eingespeistes bzw. angelerntes Gesicht), kann es auf andere konkrete Fälle angewandt werden.
wobei
Zur expliziten Unterscheidung von den dreidimensionalen Flächenelementen haben wir die zweidimensionalen Projektionen mit
anstelle von A
pj, bezeichnet. Ferner gilt
mit
und
anstelle von Â
pj .
-
6 zeigt am Beispiel zweier Flächenelemente 1 und 17 anschaulich, wie sich die Auswirkungen einer Kopfdrehung um die Hochachse kompensieren lassen.
-
Das linke Halbbild weist für den Winkel θ = 0 eine vollkommene Symmetrie auf, wogegen sich die Kopfdrehung im rechten Halbbild in unterschiedlich großen Flächendreiecken rechts und links der vertikalen Symmetrieachse des Gesichts auswirkt. Bei einer Linksdrehung des Kopfes müssen der Projektionswinkel θj der Flächennormalen und der Drehwinkel θ voneinander subtrahiert werden, da die Dreiecksflächen dem Betrachter zugewandt sind und rechts von der Symmetrieachse liegen. Sind sie hingegen links von der Symmetrieachse, müssen sie addiert werden. Die Kopfdrehung der Soll-Bilder kann daher durch Mittelwertbildung von zusammengehörigen Flächenelementen rechts und links der Gesichtsmitte rechnerisch eliminiert werden. Flächen wiederum, die kein Pendant haben, bleiben ungemittelt, wobei dies nur dann erfolgt, wenn ein Gesicht nicht vollständig in zueinander symmetrische Dreiecke unterteilt wurde. In 6 ist die Geometrie der Kopfbewegung aus der Draufsicht von oben dargestellt, also mit dem Gesicht nach unten. Das Verfahren wird nachfolgend beschrieben.
-
Dazu wird im Folgenden der Index p weggelassen, weil nur ein einziges Bild betrachtet wird. Für j ∈ {1, 2, 3, 4, 5, 6, 7, 8} gilt im Falle der biometrischen Draufsicht (θ = 0) für die Referenzflächen
bzw.
-
Weil davon ausgegangen werden kann, dass, wie in
6. dargestellt, θ
j =θ
18-j und A
j = A
18_j, können die symmetrischen Flächen für j ∈ {1,2,3,4,5,6,7,8} im allgemeinen Fall einer leichten Schrägsicht gemittelt werden, d.h.
-
Für die asymmetrischen Flächen gilt stattdessen
-
Wenn beide Gleichungen durcheinander dividiert werden, werden Relationen erhalten, aus denen der Drehwinkel θ bestimmt werden kann,
-
Für normierte Gesichtsflächen ist Â
j = A
j usw. Damit können die Winkel direkt mittels der Relationen
berechnet werden. Zur Normierung der Bilder wird der Abstand verwendet
zwischen Augen- und Nasenmitte aus dem Referenzbild. Im tatsächlich vorgelegten Sollbild lautet dieser Abstand beispielsweise
-
Um nun ein tatsächlich auszuwertendes Bild zu normieren, müssen alle Positionsdaten mit dem Faktor κ =h0/h multipliziert werden, d.h. x<1, wenn h>h0, und ≥1, wenn h<h0. So ergibt sich beispielsweise für eine Vergleichsperson ein κ von 0,7173 und damit ein korrigierter Fehler von E = 0,0012898, während das κ von einem anderen Bild gleich 1,0139 ist und somit einem Fehler von E = 0,0018017 entspricht. Das Bild mit dem höheren Fehler weicht also von der Vergleichsperson um 39,7 % ab, was eine deutliche Unterscheidung ermöglicht.
-
Nachfolgend wird noch der Trainingsalgorithmus beschrieben.
-
Ausgangspunkt für die Herleitung eines Backpropagation-Algorithmus ist die Minimierungsvorschrift des Lernfehlers
-
in einem Muster p. Der nun folgende Ansatz basiert auf der Überlegung, dass die Berechnung des Gradienten für die Gesamtfehlerfunktion E durch Summation der Gradienten über alle Fehlerfunktionen E
p der einzelnen Trainingsmuster erfolgen kann, da der Gesamtfehler E nichts anderes ist als die zu minimierende Summe
aller q Lernfehler. Da der Lernfehler E abnehmend ist, d.h. ∂E/∂w
i < 0, muss für i =1,2,...,n gelten:
wobei der Proportionalitätsfaktor γ die Lernrate angibt. Die Modifikationsregel für alle n Verbindungsgewichte kann demnach geschrieben werden als
-
Die Änderung des Gewichtsvektors ist folglich proportional zum negativen Gradienten der Fehlerfunktion. Der Netto-Input der Ausgangsneuronen errechnet sich gemäß der linearen Standard-Propagierungsfunktion zu
wobei w
ij das Gewicht zwischen dem sendenden Neuron i und dem empfangenden Neuron j ist. Die Besonderheit von mehrlagigen Perzeptren liegt in der Verwendung einer nichtlinearen Sigmoidfunktion
zur Aktivierung der Neuronen. Der Fehler im Trainingsmuster p über alle Ausgabeneuronen muss also nach Einsetzen der Aktivierungsfunktion minimal werden, d.h.
-
Verbal lässt sich das Lernproblem etwa dadurch beschreiben, dass die Verbindungsgewichte w
ij so bestimmt werden sollen, dass die quadratische Gesamtfehlerdifferenz zwischen Soll- und Ist-Ausgabe (wobei letztere eine nichtlineare Funktion des gewichteten Netto-Inputs darstellt) für alle Ausgangsneuronen minimal wird. Mithin ist also der euklidische Abstand zwischen Zielvektor und Ausgangsvektor zu minimieren. Die notwendige Bedingung zur Lösung der Extremwertaufgabe hat zur Konsequenz, dass der Gradient der Fehlerfunktion null werden muss, d.h.
-
Hierbei können die Koeffizienten für sämtliche modifizierbaren Verbindungsgewichte übersichtlicher als Konnektionsmatrix dargestellt werden:
-
Dem Gradientenabstiegsverfahren liegt nun die Idee zugrunde, die Veränderung der einzelnen Verbindungsgewichte proportional zum negativen Gradienten der Fehlerfunktion vorzunehmen:
wobei die Beziehung
verwendet wurde. Wäre die Aktivierungsfunktion linear, so ließe sich jedes mehrschichtige Backpropagation-Netz auf ein zweistufiges Netz ohne verdeckte Schicht reduzieren, da eine hintereinandergeschaltete lineare Propagierungs- und Aktivierungsfunktion zu einer einzigen linearen Funktion zusammengefasst werden können.
-
Die zur Erfüllung der Aufgabenstellung benötigte partielle Ableitung der obigen Aktivierungsfunktion lautet
Wird nun die Eingabe an das KNN
nach w
ij abgeleitet, wird schließlich erhalten
-
Wenn nun alle bislang erhaltenen Ausdrücke in den Ausdruck für den Gradienten der obigen Fehlerfunktion eingesetzt werden, lautet dieser am Ende
Zusammengefasst ergibt sich mit
und weil i = k und j = / ist, der Ausdruck
Als Gewichtsadaption wird schließlich erhalten
-
Die bisherigen allgemeinen Überlegungen lassen sich nun auf eine konkrete Startsituation übertragen, was eine schrittweise Anpassung der Gewichte ermöglicht. Dabei können die Anfangswerte
beliebig gewählt werden. Mit dem entsprechenden Netz-Input
lässt sich direkt der nullte Output
angeben, und die nullte Gewichtsadaption lautet
-
Damit ergeben sich die Verbindungsgewichte im nächsten Lernschritt aus
und mit
folgt als erstes Differenzgewicht
-
Die zweite Näherung lautet damit
und mit
folgt das zweite Differenzgewicht
-
Analog ergibt sich das dritte Gewicht
-
Allgemein gilt, wenn
bekannt ist, eine iterative Abfolge folgender Größen:
-
Die Anwendung neuronaler Netzwerke gliedert sich in zwei Phasen, und zwar in eine Lern- und eine Anwendungsphase. In der Lernphase werden dem Netz eine Menge Trainingsgesichter präsentiert, aufgrund derer die Verbindungsgewichte der Neuronen so justiert werden, dass das Netz dem gewünschten Verhalten genügt und die Differenz zwischen dem Ausgabewert und dem gewünschten Sollwert minimal wird. In der Anwendungsphase werden erneut Inputvektoren angeboten, wobei die Ausgabevektoren unter Abruf des erlernten Wissens vom Netz selbständig berechnet werden.
-
Ergänzend ist darauf hinzuweisen, dass „umfassend“ oder „aufweisend“ keine anderen Elemente oder Schritte ausschließt und „eine“ oder „ein“ keine Vielzahl ausschließt. Ferner sei darauf hingewiesen, dass Merkmale oder Schritte, die mit Verweis auf eines der obigen Ausführungsbeispiele beschrieben worden sind, auch in Kombination mit anderen Merkmalen oder Schritten anderer oben beschriebener Ausführungsbeispiele verwendet werden können. Bezugszeichen in den Ansprüchen sind nicht als Einschränkung anzusehen.
-
Bezugszeichenliste
-
- 1
- Objektidentifizierungseinheit
- 50
- Datenquelle
- 60
- Ausgabeeinheit
- 70
- Datenspeicher
- 80
- Steuereinheit
- 100
- künstliches neuronales Netzwerk
- 110
- Eingabeschicht
- 111-114
- Eingabeneuronen
- 120
- Zwischenschicht
- 130
- Ausgabeschicht
- 131-136
- Ausgabeneuronen
- 150
- zweidimensionale Abbildung
- 151
- charakteristische Punkte
- 152
- vertikale Abstände
- 155
- vertikale Symmetrieachse
- 200
- Verfahren
- 210-250
- Verfahrensschritte