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()
undgetIsRightEyeOpenProbability()
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()
undprocessCameraPicture()
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.