Android-Gesichtserkennung leicht gemacht: Eine Einführung in die Mobile Vision API

Entdecken Sie in unserem neuesten Blogbeitrag die faszinierende Welt der Gesichtserkennung auf Android-Geräten mit Hilfe der Mobile Vision API von Google. Erfahren Sie, wie Sie mithilfe dieser leistungsstarken API menschliche Gesichter in Bildern und Videos erkennen können. Von der Implementierung bis zur Anwendung – lassen Sie sich von unserem Schritt-für-Schritt-Tutorial inspirieren und tauchen Sie ein in die spannende Welt der Android-Gesichtserkennung.

Android Gesichtserkennung

Die Android Gesichtserkennungs-API verfolgt Gesichter in Fotos und Videos mithilfe einiger markanter Punkte wie Augen, Nase, Ohren, Wangen und Mund. Anstatt die einzelnen Merkmale zu erkennen, erfasst die API das Gesicht auf einmal und erkennt dann, wenn definiert, die markanten Punkte und Klassifizierungen. Darüber hinaus kann die API Gesichter auch in verschiedenen Winkeln erkennen.

Landmarken

Eine Landmarke ist ein interessanter Punkt innerhalb eines Gesichts. Das linke Auge, das rechte Auge und die Nasenbasis sind alles Beispiele für Landmarken. Folgende Landmarken sind derzeit mit der API möglich:

  • Linkes und rechtes Auge
  • Linkes und rechtes Ohr
  • Linkes und rechtes Ohrenspitze
  • Basis der Nase
  • Linkes und rechtes Wangenknochen
  • Linker und rechter Mundwinkel
  • Basis des Mundes

Klassifizierung

Die Klassifizierung bestimmt, ob ein bestimmtes Gesichtsmerkmal vorhanden ist. Die Android Face API unterstützt derzeit zwei Klassifizierungen:

  • Augen offen: Die Methoden getIsLeftEyeOpenProbability() und getIsRightEyeOpenProbability() werden verwendet.
  • Lächeln: Die Methode getIsSmilingProbability() wird verwendet.

Gesichtsausrichtung

Die Ausrichtung des Gesichts wird mithilfe von Euler-Winkeln bestimmt. Diese beziehen sich auf den Rotationswinkel des Gesichts um die X-, Y- und Z-Achsen.

  • Euler Y sagt uns, ob das Gesicht nach links oder rechts schaut.
  • Euler Z sagt uns, ob das Gesicht gedreht/geschiefert ist.
  • Euler X sagt uns, ob das Gesicht nach oben oder unten schaut (derzeit nicht unterstützt).

Hinweis: Wenn eine Wahrscheinlichkeit nicht berechnet werden kann, wird sie auf -1 gesetzt.

Beispielprojektstruktur für die Android-Gesichtserkennung

Um mit der Implementierung zu beginnen, müssen Sie die erforderliche Abhängigkeit in Ihrer build.gradle-Datei hinzufügen:

compile 'com.google.android.gms:play-services-vision:11.0.4'

Fügen Sie außerdem die folgenden Meta-Daten innerhalb des application-Tags in der AndroidManifest.xml-Datei hinzu:

<meta-data
    android:name="com.google.android.gms.vision.DEPENDENCIES"
    android:value="face"/>

Dies informiert die Vision-Bibliothek darüber, dass Sie beabsichtigen, Gesichter innerhalb Ihrer Anwendung zu erkennen. Sie müssen auch die erforderlichen Berechtigungen für die Kamera in der AndroidManifest.xml hinzufügen:

<uses-feature
    android:name="android.hardware.camera"
    android:required="true"/>
<uses-permission
    android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

Beispielprojektstruktur für die Android-Gesichtserkennung

Das Hauptlayout für die Aktivität wird in der Datei activity_main.xml definiert. Es enthält zwei ImageViews, TextViews und Buttons. Eine ImageView wird verwendet, um die Beispielbilder anzuzeigen und die Ergebnisse anzuzeigen. Die andere wird verwendet, um ein Bild von der Kamera aufzunehmen.

Code für die Aktivität

Der Java-Code für die Aktivität (MainActivity.java) enthält die Logik zur Gesichtserkennung. Es gibt auch einige wichtige Punkte zu beachten:

  • Das Array imageArray enthält die Beispielbilder, die gescannt werden, wenn der Button „PROZESS NÄCHSTER“ geklickt wird.
  • Der Detektor wird mit den erforderlichen Parametern initialisiert.
  • Die Methoden processImage() und processCameraPicture() enthalten den Code zur tatsächlichen Gesichtserkennung und zum Zeichnen eines Rechtecks darüber.
  • Die Methode onRequestPermissionsResult() wird aufgerufen, um Berechtigungen zur Laufzeit zu überprüfen.
  • Die Methode onActivityResult() wird aufgerufen, um das Ergebnis der Kameranutzung zu verarbeiten.

Fazit

Die Gesichtserkennungs-API von Android bietet eine leistungsstarke Möglichkeit, Gesichter in Bildern und Videos zu erkennen. Mit der Mobile Vision API von Google können Entwickler schnell und einfach diese Funktion in ihre Android-Anwendungen integrieren. Es ist wichtig zu beachten, dass die API derzeit nur die Erkennung von Gesichtern unterstützt und keine Gesichtserkennung bietet. Dennoch eröffnet sie viele interessante Anwendungsfälle, von der Bildverarbeitung bis hin zur Benutzererkennung.

Kostenlosen Account erstellen

Registrieren Sie sich jetzt und erhalten Sie Zugang zu unseren Cloud Produkten.

Das könnte Sie auch interessieren: