Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial Internet of Things >> Eingebettet

Die Grundlagen der Gesichtserkennung

Das menschliche Gesicht dient seit jeher als der einfachste Maßstab zur Identifizierung. Daher ist es nicht verwunderlich, dass es sich als die bequemste biometrische Identifizierungstechnik herausstellt. Im Gegensatz zu anderen biometrischen Methoden wie Sprache, Fingerabdrücken, Handgeometrie, Handflächenabdruck erfordert die Analyse eines Gesichts keine aktive Kooperation des jeweiligen Objekts. Die Gesichtserkennung kann aus einem Foto, Video oder einer Live-Aufnahme erfolgen.

Gesichtserkennung ist ein weit gefasster Begriff für den Prozess der Identifizierung oder Überprüfung von Personen in Fotos und Videos. Das Verfahren umfasst Erkennung, Ausrichtung, Merkmalsextraktion und Erkennung.

Trotz einiger praktischer Herausforderungen findet die Gesichtserkennung in verschiedenen Bereichen wie Gesundheitswesen, Strafverfolgung, Bahnreservierung, Sicherheit, Heimautomatisierung und Büros breite Anwendung.

In diesem Beitrag erfahren Sie Folgendes:

Was ist Gesichtserkennung?

Gesichtserkennung ist eine biometrische Identifizierungstechnik, bei der die Software Deep-Learning-Algorithmen verwendet, um die Gesichtsmerkmale einer Person zu analysieren und die Daten zu speichern. Die Software vergleicht dann verschiedene Gesichter aus Fotos, Videos oder Live-Aufnahmen mit den in den Datenbanken gespeicherten Gesichtern und verifiziert die Identitäten. Normalerweise identifiziert die Software ungefähr 80 verschiedene Knotenpunkte im Gesicht einer Person. Die Knotenpunkte dienen als Endpunkte für die Definition der Variablen des Gesichts einer Person. Zu den Variablen gehören – Form der Lippen, Augen, Länge und Breite der Nase und Tiefe der Augenhöhlen.

Die Popularität der Gesichtserkennung im Vergleich zu anderen biometrischen Techniken ergibt sich aus der Tatsache, dass sie normalerweise genauer und am wenigsten aufdringlich ist.

Klassifizierung des Gesichtserkennungsalgorithmus Gesichtserkennung ist die Technik zur Erkennung eines bereits in der Datenbank registrierten Gesichts. Ein Gesichtserkennungssystem ist im Wesentlichen an zwei Aufgaben beteiligt – Verifizierung und Identifikation .

Die Verifizierung soll die Frage beantworten:„Ist er die Person, für die er sich ausgibt?“ Wenn eine Person behauptet, eine bestimmte Person zu sein, findet das Verifikationssystem ihr Profil in der Datenbank. Es vergleicht das Gesicht der Person mit dem Gesicht des in der Datenbank vorhandenen Profils, um zu überprüfen, ob sie übereinstimmen. Es handelt sich um ein 1-zu-1-Abgleichsystem, da das System das Gesicht der Person mit einem bestimmten Gesicht abgleichen muss, das bereits im verknüpften Profil vorhanden ist. Daher ist die Verifizierung schneller als die Identifizierung und genauer.

Bei der Gesichtserkennung versucht das System, das eingegebene Gesicht mit allen in seiner Datenbank vorhandenen Gesichtern zu vergleichen. Dies ist ein 1-zu-n-Matching-System.

Verschiedene Stufen eines Gesichtserkennungssystems

Lassen Sie uns über die zwei Phasen eines Gesichtserkennungssystems sprechen:Registrierung und Anerkennung .

In der ersten Stufe oder der Registrierungsstufe wird ein Satz bekannter Gesichter registriert. Der Merkmalsextrahierer erzeugt dann für jedes der registrierten Gesichter einen einzigartigen Merkmalsvektor. Der Merkmalsvektor wird basierend auf den einzigartigen Gesichtsmerkmalen jedes der Gesichter erzeugt. Der extrahierte Merkmalsvektor, der für jedes Gesicht einzigartig ist, wird Teil der registrierten Datenbank und kann für zukünftige Referenzen verwendet werden.

In der Erkennungsstufe wird dem Merkmalsextrahierer ein Eingabebild bereitgestellt, um eine Gesichtserkennung durchzuführen. Auch hier erzeugt der Merkmalsextrahierer einen Merkmalsvektor, der für das eingegebene Gesichtsbild eindeutig ist. Dieser Merkmalsvektor wird dann mit den bereits in der Datenbank verfügbaren Merkmalsvektoren verglichen. Der Block „merkmalsbasierte Klassifizierung“ vergleicht den Abstand zwischen den Gesichtsmerkmalen des eingegebenen Gesichts und den registrierten Gesichtern der Datenbank. Wenn ein registriertes Gesicht die Übereinstimmungskriterien erfüllt, gibt die merkmalsbasierte Klassifizierung die übereinstimmende Gesichts-ID zurück, die in der Datenbank gefunden wurde.

Bausteine ​​eines Gesichtserkennungssystems

Die Hauptkomponenten eines Gesichtserkennungssystems sind:Gesichtserkennung, Erkennung von Wahrzeichen, Lebendigkeitserkennung, Gesichtserkennungsmodul (Gesichtserkennung, Gesichtserkennung/Gesichtsüberprüfung).

Zu Beginn wird ein Bild oder ein Frame aus einem Videostream an das Gesichtserkennungsmodul gesendet, wo die Gesichter aus dem Eingabebild erkannt werden. Als Ausgabe sendet es die Bounding-Box-Koordinaten für die erkannten Gesichter. Der Haken dabei ist, dass der Gesichtsdetektor zwar die Gesichter des Bildes lokalisiert und den Begrenzungsrahmen für jedes Gesicht erstellt, die korrekte Ausrichtung der Gesichter jedoch nicht garantiert und die gesichtsgebundenen Boxen Jitter unterliegen. Somit ist eine Gesichtsvorverarbeitungsstufe erforderlich, um einen effektiven Gesichtsvektor zu erhalten. Diese Phase hilft bei der Verbesserung der Gesichtserkennungsfähigkeit des Systems.

Die Gesichtsvorverarbeitung erfolgt im Landmarkenerkennungsblock, der die Position der Referenzpunkte (auch als Referenzmarkenpunkte bezeichnet) im Gesicht wie Augen, Nase, Lippen, Kinn, Kiefer identifiziert. Diese erkannten Gesichtsmarken werden dann für räumliche Veränderungen im Gesicht kompensiert. Dazu wird die geometrische Struktur des Gesichts identifiziert und eine kanonische Ausrichtung basierend auf verschiedenen Transformationen wie der Translationsskalierungsrotation erhalten. Dies gibt einen engen Begrenzungsrahmen des Gesichts mit normalisierten kanonischen Koordinaten aus.

Bevor wir das ausgerichtete Gesicht an das Gesichtserkennungsmodul senden, müssen Sie unbedingt auf Gesichts-Spoofing prüfen, um sicherzustellen, dass das Gesicht aus einem Live-Feed von Bild oder Video stammt und nicht gefälscht ist, um unbefugten Zugriff zu erhalten. Der Lebendigkeitsdetektor führt diese Prüfung durch.

Das Bild wird dann an den nächsten Block gesendet, den Gesichtserkennungsblock. Dieser Block führt eine Reihe von Verarbeitungsaufgaben durch, bevor die Gesichtserkennung erfolgreich abgeschlossen wird. Der erste Schritt ist die Gesichtsverarbeitung, die erforderlich ist, um klasseninterne Variationen im Eingabegesicht zu verarbeiten. Dies ist ein wesentlicher Schritt, da wir nicht möchten, dass das Gesichtserkennungsmodul durch Variationen wie unterschiedliche Posen, Gesichtsausdrücke, Beleuchtungsänderungen und Okklusionen im eingegebenen Gesichtsbild abgelenkt wird. Nachdem die klasseninternen Variationen im Eingabegesicht aufgelöst wurden, ist der nächste wichtige Verarbeitungsschritt die Merkmalsextraktion. Die Funktion eines Feature Extractors wurde oben bereits besprochen.

Der letzte Schritt eines Gesichtserkennungsmoduls ist der Gesichtsvergleichsschritt, bei dem ein Vergleich zwischen den im letzten Schritt erhaltenen Merkmalsvektoren und den in der Datenbank registrierten Gesichtsvektoren durchgeführt wird. In diesem Schritt wird die Ähnlichkeit berechnet und eine Ähnlichkeitsbewertung generiert, die je nach Anforderung entweder zur Gesichtserkennung oder zur Gesichtsüberprüfung verwendet wird.

Ein Beispiel für ein SDK zur Gesichtserkennung

Wir verwenden die lizenzierbare SDK-Softwarelösung für die Gesichtserkennung von PathPartner, um zu zeigen, wie ein genaues Gesichtserkennungs- und Gesichtserkennungssystem implementiert wird. Das SDK umfasst Algorithmen für maschinelles Lernen und Computer Vision und ermöglicht es Ihnen, sechs kritische Aufgaben der Gesichtserkennung auszuführen.

Das SDK gibt es in zwei Varianten:

  1. Geringe Komplexitätsvariante mit einer Modellgröße von nur 10 MB, geeignet für Endgeräte mit geringer Speicher- und Rechenleistung.
  2. Hochkomplexe Variante mit einer Modellgröße von 90 MB, geeignet für Full-Service-Edge-Geräte.

Der Algorithmus ist auf einer Reihe von eingebetteten Plattformen von Texas Instruments, Qualcomm, Intel, Arm, NXP optimiert und kann auch auf den Cloud-Server-Plattformen verwendet werden.

Entwicklung eines CNN-basierten Gesichtserkennungssystems

Der CNN-basierte Ansatz wird einem nicht-CNN-basierten Ansatz vorgezogen, um den Aufwand für die Bekämpfung von Herausforderungen wie Okklusion und unterschiedlichen Lichtverhältnissen zu reduzieren. Der Erkennungsprozess umfasst die folgenden Schritte:

Datensammlung

Öffentlich verfügbare Datensätze decken nicht alle für die Gesichtserkennung kritischen Bewertungsparameter ab. Dies erfordert daher ein detailliertes Benchmarking einer Reihe von Standard- und Inhouse-Datensätzen, die ein breites Spektrum an Variationen abdecken, die für die Gesichtsanalyse verwendet werden können. Die folgenden Variationen werden in diesem SDK unterstützt:Pose, Beleuchtung, Ausdruck, Okklusion, Geschlecht, Hintergrund, Ethnizität, Alter, Auge, Aussehen.

Deep Learning Modelldesign

Die Modellkomplexität hängt von der Endbenutzeranwendung ab. Dieses SDK ist in Fahrerüberwachungssystemen (DMS) und intelligenten Anwesenheitssystemen implementiert.

Fahrerüberwachungssystem:Um die Aufmerksamkeit und Konzentration des Fahrers in Echtzeit zu beurteilen, wird Edge Computing benötigt. Somit ist ein robustes System mit geringer Komplexität erforderlich. Hier wird ein Modell für maschinelles Lernen für die Gesichtserkennung und Landmarkenregression und ein flaches und tiefes CNN-Modell für Schätzungen und Klassifizierungen verwendet.

Schulung und Optimierung

Die Module werden auf dem anfänglich vorbereiteten Datensatz vortrainiert. Die Lösung wird mit verschiedenen Open-Source-Datensätzen wie FDDB, LFW und einem benutzerdefinierten, intern entwickelten Datensatz getestet.

Die verschiedenen Herausforderungen meistern

  1. Beleuchtungsvariation – Um das Problem der Variation der Beleuchtungsbedingungen zu überwinden, werden zwei Ansätze verfolgt. Eine davon ist die Konvertierung von RGB- in NIR-ähnliche Bilder mit Gantt-basierten Ansätzen. Eine andere besteht darin, das Modell mit RGB-Daten zu trainieren und es mit NIR-Bildern am Eingang fein abzustimmen.
  2. Posen- und Ausdrucksvariationen – Wenn Gesichtsbilder aus einer nicht frontalen Ansicht verfügbar sind, muss die kanonische Ansicht des Gesichtsbilds aus einem oder mehreren der verfügbaren Bilder abgeleitet werden. Dies wird erreicht, indem die Haltungsänderung in Bezug auf den Kopfwinkel anhand der Orientierungspunkte geschätzt wird und dann durch Neigen, Strecken, Spiegeln und andere Operationen der Frontalkurs erhalten wird. Dadurch kann das Gesichtserkennungssystem haltungsinvariante Darstellungen ausgeben und die Genauigkeit der Gesichtserkennung deutlich verbessert. Um die Auswirkungen von Unterschieden im Ausdruck zu bekämpfen, wird die Gesichtsausrichtung in der Vorverarbeitungsphase durchgeführt.
  3. Verschluss – Derzeit wird das SDK darauf trainiert, maskierte Gesichter zu erkennen. In diesem Fall wird das Modell so trainiert, dass es nur mit Daten aus der Umgebung der Augen und der Stirn arbeitet; Dieser Ansatz liefert jedoch die besten Ergebnisse in einer unkontrollierten Umgebung wie Büroeinstellungen, wenn eine begrenzte Anzahl von Personen im System registriert ist.
  4. Aussehensvariation – Unterschiede in Frisuren, Alterung und Verwendung von Kosmetika können zu großen Unterschieden im Aussehen des Einzelnen führen. Dadurch wird die Genauigkeit der Gesichtserkennung in hohem Maße verschlechtert. Um dieses Problem zu lösen, verwendet das SDK ein Repräsentations- und Matching-Schema, das robust gegenüber Änderungen des Erscheinungsbilds ist.

Schlussfolgerung

Heute gilt die Gesichtserkennung als die natürlichste aller biometrischen Messungen. Deep Learning ist zum zentralen Bestandteil der meisten in Entwicklung befindlichen Gesichtserkennungsalgorithmen geworden. Gesichtserkennungsalgorithmen verzeichnen einen exponentiellen Fortschritt. Laut einem aktuellen NIST-Bericht wurden in den letzten fünf Jahren (2013-2018) massive Fortschritte bei der Erkennungsgenauigkeit erzielt und übertreffen die im Zeitraum 2010-2013 erzielten Verbesserungen.

Trotz einiger praktischer Herausforderungen wird die Gesichtserkennungstechnologie in verschiedenen Branchen wie Einzelhandel, Automobil, Banken, Gesundheitswesen, Marketing und vielen mehr eingesetzt. Gesichtserkennungsalgorithmen verbessern nicht nur die Erkennungsgenauigkeit einer Person, sondern erweitern auch ihren Anwendungsbereich bei der Erkennung von Emotionen und Verhaltensweisen von Gesichtern.


Eingebettet

  1. Der 555 IC
  2. Die quadratische Formel
  3. Windows IoT:Tür zur Gesichtserkennung
  4. Die Grundlagen der Leiterplattenherstellung
  5. Die Grundlagen der Anwendung elektrohydraulischer Ventile
  6. Unterbrechen oder sterben? Beginnen Sie mit den Grundlagen
  7. Die Grundlagen eines vertikalen Bearbeitungszentrums (VMC)
  8. Grundlagen der Scherklinge:Die Auswirkungen der Klingenqualität auf die Scherleistung
  9. Die Grundlagen der Verzinkung und die damit verbundenen Vorteile
  10. Die Grundlagen des Anfasens und Entgratens von Verzahnungen