DE102020111955A1 - Gesichtserkennung mit neuronalen Netzen - Google Patents

Gesichtserkennung mit neuronalen Netzen Download PDF

Info

Publication number
DE102020111955A1
DE102020111955A1 DE102020111955.0A DE102020111955A DE102020111955A1 DE 102020111955 A1 DE102020111955 A1 DE 102020111955A1 DE 102020111955 A DE102020111955 A DE 102020111955A DE 102020111955 A1 DE102020111955 A1 DE 102020111955A1
Authority
DE
Germany
Prior art keywords
triangles
identified
identification unit
object identification
face
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102020111955.0A
Other languages
English (en)
Inventor
Manfred Hiebl
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Airbus Defence and Space GmbH
Original Assignee
Airbus Defence and Space GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Airbus Defence and Space GmbH filed Critical Airbus Defence and Space GmbH
Priority to DE102020111955.0A priority Critical patent/DE102020111955A1/de
Priority to US17/241,600 priority patent/US20210342576A1/en
Priority to EP21171300.3A priority patent/EP3907656B1/de
Publication of DE102020111955A1 publication Critical patent/DE102020111955A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/2163Partitioning the feature space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/165Detection; Localisation; Normalisation using facial parts and geometric relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Geometry (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)

Abstract

Eine Objektidentifizierungseinheit enthält ein künstliches neuronales Netzwerk und ist ausgestaltet, menschliche Gesichter zu identifizieren. Hierzu wird ein Gesicht in eine Anzahl von Dreiecken unterteilt. Der relative Anteil der Fläche jedes Dreiecks an der Summe der Flächen aller Dreiecke wird ermittelt, um einen Drehwinkel des Gesichts zu ermitteln. Sodann wird der relative Anteil der Fläche jedes Dreiecks an der Summe der Fläche 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.

Description

  • 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 Ai,i+1,i+2, die in aufsteigender Folge wie folgt angeordnet werden können: A 123 , A 234 , A 345 , , A i , i + 1, i + 2 , , A m , m + 1, m + 2 .
    Figure DE102020111955A1_0001
  • 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: A = j = 1 m A j , j + 1, j + 2 ,
    Figure DE102020111955A1_0002
  • 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 a j , j + 1, j + 2 A j , j + 1, j + 2 A .
    Figure DE102020111955A1_0003
  • Zur Berechnung einer Dreiecksfläche im dreidimensionalen Raum benötigen wir die Flächennormale, die sich als Kreuzprodukt der beiden Abstandsvektoren Δrij und Δrik von einem gemeinsamen Eckpunkt i zu jedem der zwei anderen Eckpunkte j und k im Dreieck darstellen lässt, d.h. A i j k = 1 2 Δ r i j × Δ r i k = 1 2 ( Δ x i j Δ y i j Δ z i j ) × ( Δ x i k Δ y i k Δ z i k ) = 1 2 ( Δ y i j Δ z i k Δ z i j Δ y i k Δ z i j Δ x i k Δ x i j Δ z i k Δ x i j Δ y i k Δ y i j Δ x i k )
    Figure DE102020111955A1_0004
  • Für ebene Vektoren in der x-y-Ebene verbleibt von diesem Vektor nur die z-Komponente A i j k = 1 2 | Δ r i j × Δ r i k | = 1 2 | ( Δ x i j Δ y i j 0 ) × ( Δ x i k Δ y i k 0 ) | = 1 2 | Δ x i j Δ y i k Δ y i j Δ x i k | ,
    Figure DE102020111955A1_0005
    wobei Betragsstriche gesetzt sind, da Flächen auch negativ sein können. Im Einzelnen gelten für die jeweiligen Abstandsdifferenzen die Relationen Δ x i j = x j x i ,         Δ x i k = x k x i ,
    Figure DE102020111955A1_0006
    Δ y i j = y j y i ,         Δ y i k = y k y i ,
    Figure DE102020111955A1_0007
    Δ z i j = z j z i ,         Δ z i k = z k z i .
    Figure DE102020111955A1_0008
  • 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 a p j a p , j , j + 1, j + 2 = A p , j , j + 1, j + 2 A p = | Δ x p , j , j + 1 Δ y p , j , j + 2 Δ y p , j , j + 1 Δ x p , j , j + 2 | j = 1 m A p , j , j + 1, j + 2 ,
    Figure DE102020111955A1_0009
    a ^ p j a ^ p , j , j + 1, j + 2 = A ^ p , j , j + 1, j + 2 A ^ p = | Δ x ^ p , j , j + 1 Δ y ^ p , j , j + 2 Δ y ^ p , j , j + 1 Δ x ^ p , j , j + 2 | j = 1 m A ^ p , j , j + 1, j + 2
    Figure DE102020111955A1_0010

    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,
    apj der Output des Neurons j in der Ausgabeschicht, wobei 1 ≤ j ≤ m,
    netpj, der Netto-Input des Neurons j in der Ausgabeschicht aus Schicht 1, wobei 1 ≤ j ≤ m, wij 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. a p j = A p j A p = { A p j cos ( θ p j θ p ) j = 1 m A p j   f u ¨ j { 1,2,3,4,5,6,7,8 } , A p j cos θ p j j = 1 m A p j             f u ¨ j { 9,19,20,21,22,23,24,25 } , A p j cos ( θ p j θ p ) j = 1 m A p j  f u ¨ j { 10,11,12,13,14,15,16,17 } ,
    Figure DE102020111955A1_0011
    wobei A p ,18 = 0.
    Figure DE102020111955A1_0012
    Zur expliziten Unterscheidung von den dreidimensionalen Flächenelementen haben wir die zweidimensionalen Projektionen mit A p j
    Figure DE102020111955A1_0013
    anstelle von Apj, bezeichnet. Ferner gilt a ^ p j = A ^ p j A ^ p = A ^ p j cos θ p j j = 1 m A ^ p j
    Figure DE102020111955A1_0014
    mit A ^ p ,18 = 0
    Figure DE102020111955A1_0015
    und A ^ p j
    Figure DE102020111955A1_0016
    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 a ^ j = a ^ 18 j = A ^ j + A ^ 18 j 2 A ^ = A ^ j cos θ j + A ^ 18 j cos θ 18 j 2 A ^ = A ^ j cos θ j A ^
    Figure DE102020111955A1_0017
    bzw. a ^ j = A ^ j A ^ = A ^ j cos θ j A ^  f u ¨ j { 9,18,19,20,21,22,23,24,25 } .
    Figure DE102020111955A1_0018
  • Weil davon ausgegangen werden kann, dass, wie in 6. dargestellt, θj18-j und Aj = A18_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. a j = a 18 j = A j + A 18 j 2 A = A j cos ( θ j θ ) + A 18 j cos ( θ 18 j + θ ) 2 A = A j cos θ j cos θ A .
    Figure DE102020111955A1_0019
  • Für die asymmetrischen Flächen gilt stattdessen a j = A j A = A j cos θ j cos θ A  f u ¨ j { 9,18,19,20,21,22,23,24,25 } .
    Figure DE102020111955A1_0020
  • Wenn beide Gleichungen durcheinander dividiert werden, werden Relationen erhalten, aus denen der Drehwinkel θ bestimmt werden kann, cos θ = A j + A 18 j A ^ j + A ^ 18 j A ^ j A j  f u ¨ j { 1,2,3,4,5,6,7,8 } ,
    Figure DE102020111955A1_0021
    cos θ = A j A ^ j A ^ j A j  f u ¨ j { 9,18,19,20,21,22,23,24,25 } .
    Figure DE102020111955A1_0022
  • Für normierte Gesichtsflächen ist Âj = Aj usw. Damit können die Winkel direkt mittels der Relationen cos θ = a j A a ^ j A ^ = A j + A 18 j A ^ j + A ^ 18 j  bzw .  cos θ = A j A ^ j
    Figure DE102020111955A1_0023
    berechnet werden. Zur Normierung der Bilder wird der Abstand verwendet h 0 = | r ^ 15 + r ^ 5 2 r ^ 13 + r ^ 7 2 | = 1 2 ( x ^ 15 + x ^ 5 x ^ 13 x ^ 7 ) 2 + ( y ^ 15 + y ^ 5 y ^ 13 y ^ 7 ) 2
    Figure DE102020111955A1_0024
    zwischen Augen- und Nasenmitte aus dem Referenzbild. Im tatsächlich vorgelegten Sollbild lautet dieser Abstand beispielsweise h = | r 15 + r 5 2 r 13 + r 7 2 | = 1 2 ( x 15 + x 5 x 13 x 7 ) 2 + ( y 15 + y 5 y 13 y 7 ) 2 .
    Figure DE102020111955A1_0025
  • 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 E p = 1 2 j = 1 m ( a ^ p j a p j ) 2
    Figure DE102020111955A1_0026
  • 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 Ep der einzelnen Trainingsmuster erfolgen kann, da der Gesamtfehler E nichts anderes ist als die zu minimierende Summe E = p = 1 q E p = 1 2 p = 1 q j = 1 m ( a ^ p j a p j ) 2 = min
    Figure DE102020111955A1_0027
    aller q Lernfehler. Da der Lernfehler E abnehmend ist, d.h. ∂E/∂wi < 0, muss für i =1,2,...,n gelten: Δ w i = γ E w i = γ p = 1 q E p w i ,
    Figure DE102020111955A1_0028
    wobei der Proportionalitätsfaktor γ die Lernrate angibt. Die Modifikationsregel für alle n Verbindungsgewichte kann demnach geschrieben werden als Δ w = γ E ( w ) = γ ( E w 1 , E w 2 , , E w n ) = γ ( p = 1 q E p w 1 , p = 1 q E p w 2 , , p = 1 q E p w n ) .
    Figure DE102020111955A1_0029
  • 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 n e t p j = i = 1 m w i j a p i ,
    Figure DE102020111955A1_0030
    wobei wij 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 a p j = ƒ ( n e t p j ) = ƒ ( i = 1 m w i j a p i ) = 1 1 + e n e t p j
    Figure DE102020111955A1_0031
    zur Aktivierung der Neuronen. Der Fehler im Trainingsmuster p über alle Ausgabeneuronen muss also nach Einsetzen der Aktivierungsfunktion minimal werden, d.h. E P = 1 2 j = 1 m ( a ^ p j a p j ) 2 = 1 2 j = 1 m ( a ^ p j ƒ ( i = 1 m w i j a p i ) ) 2 min .
    Figure DE102020111955A1_0032
  • Verbal lässt sich das Lernproblem etwa dadurch beschreiben, dass die Verbindungsgewichte wij 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. E ( W ) = ( E w 11 , E w 12 ,..., E w m m ) = 0.
    Figure DE102020111955A1_0033
  • Hierbei können die Koeffizienten für sämtliche modifizierbaren Verbindungsgewichte übersichtlicher als Konnektionsmatrix dargestellt werden: W = ( w 1 l w 1 j w 1 m w i 1 w i j w i m w m 1 w m j w m m ) .
    Figure DE102020111955A1_0034
  • Dem Gradientenabstiegsverfahren liegt nun die Idee zugrunde, die Veränderung der einzelnen Verbindungsgewichte proportional zum negativen Gradienten der Fehlerfunktion vorzunehmen: E p w i j = 1 2 l = 1 m E p ( a ^ p l a p l ) net p l ( a ^ p l ƒ ( net p l ) ) net p l w i j = l = 1 m E p a p l ƒ ( net p l ) net p l net p l w i j ,
    Figure DE102020111955A1_0035
    wobei die Beziehung E p ( a ^ p l a p l ) = E p a p l = a ^ p l a p l
    Figure DE102020111955A1_0036
    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 ƒ ( n e t p l ) n e t p l = e n e t p l ( 1 + e n e t p l ) 2 = ƒ 2 ( n e t p l ) ( 1 ƒ ( n e t p l ) 1 ) = ƒ ( n e t p l ) ( 1 ƒ ( n e t p l ) ) .
    Figure DE102020111955A1_0037
    Wird nun die Eingabe an das KNN n e t p l = k = 1 m w k l a p k
    Figure DE102020111955A1_0038
    nach wij abgeleitet, wird schließlich erhalten n e t p l w i j = k = 1 m w i j a k l a p k = k = 1 m w k l w i j k l w k l a p k = k = 1 m w k l w i j w k l i = 1 m w i l a p i = k = 1 m w k l w i j n e t p l w k l .
    Figure DE102020111955A1_0039
  • Wenn nun alle bislang erhaltenen Ausdrücke in den Ausdruck für den Gradienten der obigen Fehlerfunktion eingesetzt werden, lautet dieser am Ende E p w i j = l = 1 m ( a ^ p l a p l ) ƒ ( n e t p l ) ( 1 ƒ ( n e t p l ) ) k = 1 m w k l w i j n e t p l w k l .
    Figure DE102020111955A1_0040
    Zusammengefasst ergibt sich mit n e t p l w k l = a p k  und  w k l w i j = 1,
    Figure DE102020111955A1_0041
    und weil i = k und j = / ist, der Ausdruck E p w i j = ( a ^ p j a p j ) a p j ( 1 a p j ) a p i .
    Figure DE102020111955A1_0042
    Als Gewichtsadaption wird schließlich erhalten Δ w i j = γ p = 1 q E p w i j = γ p = 1 q ( a ^ p j a p j ) a p j ( 1 a p j ) a p i .
    Figure DE102020111955A1_0043
  • 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 w i j 0
    Figure DE102020111955A1_0044
    beliebig gewählt werden. Mit dem entsprechenden Netz-Input n e t p j 0 = i = 1 m w i j 0 a p i
    Figure DE102020111955A1_0045
    lässt sich direkt der nullte Output a p j 0 = ƒ ( i = 1 m w i j 0 a p i ) = 1 1 + e i = 1 m w i j 0 a p i
    Figure DE102020111955A1_0046
    angeben, und die nullte Gewichtsadaption lautet Δ w i j 0 = γ p = 1 q ( a ^ p j a p j 0 ) a p j 0 ( 1 a p j 0 ) a p i .
    Figure DE102020111955A1_0047
  • Damit ergeben sich die Verbindungsgewichte im nächsten Lernschritt aus w i j 1 = w i j 0 + Δ w i j 0 ,
    Figure DE102020111955A1_0048
    und mit a p j 1 = ƒ ( i = 1 m w i j 1 a p i ) = 1 1 + e i = 1 m w i j 1 a p i
    Figure DE102020111955A1_0049
    folgt als erstes Differenzgewicht Δ w i j 1 = γ p = 1 q ( a ^ p j a p j 1 ) a p j 1 ( 1 a p j 1 ) a p i .
    Figure DE102020111955A1_0050
  • Die zweite Näherung lautet damit w i j 2 = w i j 1 + Δ w i j 1 ,
    Figure DE102020111955A1_0051
    und mit a p j 2 = ƒ ( i = 1 m w i j 2 a p i ) = 1 1 + e i = 1 m w i j 2 a p i
    Figure DE102020111955A1_0052
    folgt das zweite Differenzgewicht Δ w i j 2 = γ p = 1 q ( a ^ p j a p j 2 ) a p j 2 ( 1 a p j 2 ) a p i .
    Figure DE102020111955A1_0053
  • Analog ergibt sich das dritte Gewicht w i j 3 = w i j 2 + Δ w i j 2 .
    Figure DE102020111955A1_0054
  • Allgemein gilt, wenn w i j n
    Figure DE102020111955A1_0055
    bekannt ist, eine iterative Abfolge folgender Größen: n e t p j n = i = 1 m w i j n a p i ,
    Figure DE102020111955A1_0056
    a p j n = ƒ ( n e t p j n ) = 1 1 + e n e t p j n ,
    Figure DE102020111955A1_0057
    Δ w i j n = γ p = 1 q ( a ^ p j a p j n ) a p j n ( 1 a p j n ) a p i ,
    Figure DE102020111955A1_0058
    w i j n + 1 = w i j n + Δ w i j n .
    Figure DE102020111955A1_0059
  • 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

Claims (10)

  1. Objektidentifizierungseinheit (1) zum Identifizieren von Objekten, aufweisend: ein künstliches neuronales Netzwerk, KNN, (100) mit einer Eingabeschicht (110) und einer Ausgabeschicht (130), wobei das KNN (100) ausgestaltet ist, Objekte basierend auf Eingaben an die Eingabeschicht zu identifizieren; wobei die Eingabeschicht (110) eine Mehrzahl von Eingabeneuronen (111 - 114) aufweist; wobei die Eingabeschicht ausgeführt ist, einen Eingabevektor zu erhalten, wobei der Eingabevektor Objektidentifizierungsinformationen zu dem zu identifizierenden Objekt enthält; wobei das KNN (100) ausgeführt ist, basierend auf den Objektidentifizierungsinformationen ein Objekt zu identifizieren; wobei die Objektidentifizierungsinformationen einer zweidimensionalen Abbildung (150) des zu identifizierenden Objekts entsprechen; wobei die Objektidentifizierungseinheit (1) konfiguriert ist, die zweidimensionale Abbildung (150) in eine Mehrzahl von Dreiecken, die durch charakteristische Punkte (151) des zu identifizierenden Objekts an ihren Ecken begrenzt sind, zu unterteilen; wobei die Objektidentifizierungseinheit (1) konfiguriert ist, 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 (150) 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; wobei die Objektidentifizierungseinheit (1) konfiguriert ist, die korrigierten Flächen der Dreiecke auf eine drehinvariante Größe des zu identifizierenden Objekts zu normieren; wobei die Objektidentifizierungseinheit (1) konfiguriert ist, die normierten Flächen der Dreiecke dem KNN (100) als Eingabevektor zuzuführen.
  2. Objektidentifizierungseinheit (1) nach Anspruch 1, wobei das zu identifizierende Objekt ein menschliches Gesicht ist.
  3. Objektidentifizierungseinheit (1) nach Anspruch 1 oder 2, wobei die drehinvariante Größe ein vertikaler oder horizontaler Abstand zwischen zwei charakteristischen Punkten des zu identifizierenden Objekts ist.
  4. Objektidentifizierungseinheit (1) nach einem der voranstehenden Ansprüche, wobei die Objektidentifizierungseinheit konfiguriert ist, in einer Trainingsphase mit einer Mehrzahl von Abbildungen von Objekten trainiert zu werden, wobei die Abbildungen die Objekte ohne Drehwinkel zeigen.
  5. Objektidentifizierungseinheit (1) nach einem der voranstehenden Ansprüche, wobei die Symmetriebedingung eine Achsensymmetrie bezogen auf eine Achse des zu identifizierenden Objekts ist.
  6. Objektidentifizierungseinheit (1) nach einem der voranstehenden Ansprüche, wobei die Objektidentifizierungseinheit konfiguriert ist, 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.
  7. Objektidentifizierungseinheit (1) nach einem der voranstehenden Ansprüche, wobei die Objektidentifizierungseinheit (1) ausgeführt ist, den Korrekturfaktor zu ermitteln, indem für jeweils ein Dreieckspaar bestehend aus zwei einander entsprechenden Dreiecken ein Größenverhältnis ermittelt wird.
  8. Verfahren zum Identifizieren von Objekten mit einem künstlichen neuronalen Netzwerk, KNN, wobei das Verfahren die folgenden Schritte aufweist: Unterteilen (210) einer zweidimensionalen Abbildung eines zu identifizierenden Objekts in eine Mehrzahl von Dreiecken, die durch charakteristische Punkte (151) des zu identifizierenden Objekts an ihren Ecken begrenzt sind; Ermitteln (220) 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 (230) 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 (240) der korrigierten Flächen der Dreiecke auf eine drehinvariante Größe des zu identifizierenden Objekts; Zuführen (250) der normierten korrigierten Flächen an das KNN, um basierend darauf einen Abgleich von Objekten vorzunehmen und diese zu identifizieren.
  9. Verfahren nach Anspruch 8, wobei die drehinvariante Größe ein vertikaler oder horizontaler Abstand zwischen zwei charakteristischen Punkten des zu identifizierenden Objekts ist.
  10. Verfahren nach Anspruch 8 oder 9, wobei die Symmetriebedingung eine Achsensymmetrie bezogen auf eine Achse des zu identifizierenden Objekts ist.
DE102020111955.0A 2020-05-04 2020-05-04 Gesichtserkennung mit neuronalen Netzen Pending DE102020111955A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102020111955.0A DE102020111955A1 (de) 2020-05-04 2020-05-04 Gesichtserkennung mit neuronalen Netzen
US17/241,600 US20210342576A1 (en) 2020-05-04 2021-04-27 Facial Recognition Using Neural Networks
EP21171300.3A EP3907656B1 (de) 2020-05-04 2021-04-29 Gesichtserkennung mit neuronalen netzwerken

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020111955.0A DE102020111955A1 (de) 2020-05-04 2020-05-04 Gesichtserkennung mit neuronalen Netzen

Publications (1)

Publication Number Publication Date
DE102020111955A1 true DE102020111955A1 (de) 2021-11-04

Family

ID=75746320

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020111955.0A Pending DE102020111955A1 (de) 2020-05-04 2020-05-04 Gesichtserkennung mit neuronalen Netzen

Country Status (3)

Country Link
US (1) US20210342576A1 (de)
EP (1) EP3907656B1 (de)
DE (1) DE102020111955A1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69911780T2 (de) 1998-07-16 2004-07-29 France Telecom Verfahren zur modellierung von gegenständen oder dreidimensionalen szenen
US10311334B1 (en) 2018-12-07 2019-06-04 Capital One Services, Llc Learning to process images depicting faces without leveraging sensitive attributes in deep learning models

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6801655B2 (en) * 2001-05-10 2004-10-05 The United States Of America As Represented By The Secretary Of The Navy Spatial image processor
US8626686B1 (en) * 2004-01-14 2014-01-07 Evolved Machines, Inc. Invariant object recognition
US11514642B2 (en) * 2016-10-08 2022-11-29 Purdue Research Foundation Method and apparatus for generating two-dimensional image data describing a three-dimensional image
KR20180134230A (ko) * 2017-06-08 2018-12-18 삼성전자주식회사 청소 로봇 및 그 제어 방법
US11501572B2 (en) * 2018-03-26 2022-11-15 Nvidia Corporation Object behavior anomaly detection using neural networks
CN108810418B (zh) * 2018-07-16 2020-09-11 Oppo广东移动通信有限公司 图像处理方法、装置、移动终端及计算机可读存储介质
CN108960202B (zh) * 2018-08-01 2022-05-10 京东方科技集团股份有限公司 一种智能货架、系统、判断商品叠放的方法
US10977767B2 (en) * 2018-11-28 2021-04-13 Adobe Inc. Propagation of spot healing edits from one image to multiple images
US10805556B1 (en) * 2019-01-22 2020-10-13 Amazon Technologies, Inc. Storage units with shifted-lens cameras
US11676284B2 (en) * 2019-03-22 2023-06-13 Nvidia Corporation Shape fusion for image analysis
JP7374453B2 (ja) * 2019-03-28 2023-11-07 株式会社イシダ 学習済みモデル生成方法、学習済みモデル生成装置、商品判別方法、商品判別装置、商品判別システム及び計量装置
JP7241598B2 (ja) * 2019-04-26 2023-03-17 株式会社日立ハイテク 画像処理方法、画像処理装置及び画像処理システム
US11828657B2 (en) * 2021-12-28 2023-11-28 University Of North Dakota Surface temperature estimation for building energy audits

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69911780T2 (de) 1998-07-16 2004-07-29 France Telecom Verfahren zur modellierung von gegenständen oder dreidimensionalen szenen
US10311334B1 (en) 2018-12-07 2019-06-04 Capital One Services, Llc Learning to process images depicting faces without leveraging sensitive attributes in deep learning models

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Polygon mesh. In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 29.03.20220, 11:21 UTC. URL: https://en.wikipedia.org/w/index.php?title=Polygon_mesh&oldid=947958119 [abgerufen am 09.03.2021].

Also Published As

Publication number Publication date
EP3907656B1 (de) 2023-11-22
EP3907656A1 (de) 2021-11-10
US20210342576A1 (en) 2021-11-04

Similar Documents

Publication Publication Date Title
DE69838181T2 (de) Visualisierung und selbstorganisation multidimensionaler daten durch ausgeglichene orthogonale abbildung
DE4418217C2 (de) Formerkennungsverfahren
DE69333664T2 (de) Verfahren und Gerät zur Einstellung eines Neurons
DE69919464T2 (de) Elektronische Vorrichtung zur Bildausrichtung
DE60130742T2 (de) Mustererkennung mit hierarchischen Netzen
DE112017007025T5 (de) Positionssteuerungseinrichtung und positionssteuerungsverfahren
DE112017007028T5 (de) Positionskontrollvorrichtung und Positionskontrollverfahren
DE102017216821A1 (de) Verfahren zur Erkennung einer Objektinstanz und/oder Orientierung eines Objekts
DE102019209644A1 (de) Verfahren zum Trainieren eines neuronalen Netzes
EP4081950A1 (de) System und verfahren zur qualitätszusicherung von datenbasierten modellen
DE102021201777A1 (de) Verfahren zur Verhaltenserkennung, Vorrichtung zur Verhaltenserkennung und computerlesbares Aufzeichnungsmedium
DE102020111955A1 (de) Gesichtserkennung mit neuronalen Netzen
DE102018222796A1 (de) Aufbau und Vermessung des Aufbaus zur Kalibrierung einer Kamera
DE3709919C2 (de)
DE4121453C2 (de) Näherungsschlußfolgerungsvorrichtung
DE4417932B4 (de) Verfahren und ein System zum Erhalten von Zieleinstellbeträgen für Ausführungsparameter durch Lernen einer Mehrzahl von Sätzen von Muster-Eingabedaten und Muster-Ausgabedaten
DE102012025349A1 (de) Bestimmung eines Ähnlichkeitsmaßes und Verarbeitung von Dokumenten
EP3518180B1 (de) Verfahren zur erstellung einer bildstapel-datenstruktur
EP1359539A2 (de) Neurodynamisches Modell der Verarbeitung visueller Informationen
DE102020213253A1 (de) Computerimplementierte konsistente klassifikationsverfahren
DE102020208765A1 (de) Bildklassifikator mit variablen rezeptiven Feldern in Faltungsschichten
DE102020207613A1 (de) Verfahren zur Bewertung einer Schnittkante eines Körpers
DE102019216973A1 (de) Lernverfahren für neuronale netze basierend auf evolutionären algorithmen
EP0591259B1 (de) Verfahren zur verarbeitung von unsicherheiten von eingangsdaten in neuronalen netzwerken
DE102019201633A1 (de) Kalibrierung eines Sensors für ein Fahrzeug basierend auf objektseitigen und bildseitigen Identifikationsindizes eines Referenzobjektes

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009620000

Ipc: G06V0030190000