Einführung in Azure AI Services, Teil 4 Gesichtserkennung mit Azure AI Vision

Von Dipl. -Ing. Thomas Drilling 4 min Lesedauer

Anbieter zum Thema

Mit der Bilderkennung und Bildanalyse im Rahmen der Azure KI-Services haben wir uns bereits grundlegend befasst. In diesem Artikel schauen wir noch einmal gezielt auf das Feature Gesichtserkennung.

Die Gesichtserkennung findet Gesichter in Bildern und liefert Rahmenkoordinaten zurück.
Die Gesichtserkennung findet Gesichter in Bildern und liefert Rahmenkoordinaten zurück.
(Bild: Drilling / Microsoft)

Wie schon im vorherigen Artikel zu den verschiedenen Azure-AI-Diensten erläutert, vereint das KI-Thema unterschiedliche Aspekte. Für Datenwissenschaftler stehen mathematisch-wissenschaftliche Gesichtspunkte im Vordergrund. Aus Sicht von Entwicklerinnen und Entwicklern steht die Modellierung von künstlicher Intelligenz in Software im Vordergrund. Admins hingegen benötigen Kenntnisse über das Portfolio der Azure-KI-Dienste einschließlich der verfügbaren Werkzeuge, wie z. B. dem Azure Vision Studio oder der von Azure bereitgestellten API.

Möchten Sie als Unternehmen entsprechende KI-Dienste in ihre Produkte integrieren, müssen alle diese Fachkräfte zusammenarbeiten. Dieser Beitrag befasst sich mit der Perspektive von Entwicklungsteams. Wir nutzen aber zunächst das Vision Studio, um die Arbeitsweise und Leistungsfähigkeit der von Microsoft bereitgestellten, vortrainierten Modelle zur Gesichtserkennung auszuprobieren.

Die maschinelle Gesichtserkennung identifiziert Gesichter in Bildern durch Angabe von Rahmenkoordinaten.
Die maschinelle Gesichtserkennung identifiziert Gesichter in Bildern durch Angabe von Rahmenkoordinaten.
(Bild: Drilling)

Zunächst ein paar Grundgedanken zur KI-gestützten Gesichtserkennung. Gemeint ist damit das Identifizieren von Regionen eines Bildes, die möglicherweise ein menschliches Gesicht enthalten. Praktisch erfolgt dies in der durch Rückgabe der Koordinaten eines Begrenzungsrahmens, der ein Rechteck um das erkannte Gesicht bildet.

Typische Merkmale der Gesichtserkennung
Typische Merkmale der Gesichtserkennung
(Bild: Microsoft Learn)

Die Gesichtsanalyse verwendet Gesichtsmerkmale, mit deren Hilfe Machine Learning-Modelle trainiert werden, um andere Informationen zurückzuliefern, z. B. Nase, Augen, Augenbrauen, Lippen oder Ähnliches. Jedes Attribut ist dabei ein Satz von Merkmalen, die durch die Azure KI Gesichtserkennungs-API erkannt werden können, wie z. B. Accessoires (Brille, Maske), Belichtung, Weichzeichnung, Kopfhaltung usw.

Die Einsatzzwecke sind vielfältig, wobei das Überprüfen der Benutzeridentität sicher der populärste ist. Häufig zum Einsatz kommt die so genannte Liveness-Erkennung. Hierbei handelt es sich um eine Anti-Spoofing-Funktion, die prüft, ob ein Benutzer physisch vor der Kamera vorhanden ist. Auch die kontaktlose Zugangskontrolle gehört zum Einsatzspektrum der Gesichtserkennung. So erlaubt die maschinelle Gesichtserkennung eine verbesserte Zugangskontrolle bei gleichzeitiger Reduzierung von Hygiene-Risiken z. B. beim Einchecken in Flughäfen, Stadien, Parks oder Schulen.

Die KI-gestützte Gesichtserkennung kann außerdem zur automatisierten Gesichtsbearbeitung eingesetzt werden, bei der z. B. in einem aufgezeichneten Video erkannte Gesichter bearbeitet oder unscharf gemacht werden, um die Privatsphäre zu schützen. Die Gesichtserkennungs-API deckt eine ganze Reihe von Algorithmen ab.

Die Gesichtserkennungsfunktion im Azure KI VisionStudio.
Die Gesichtserkennungsfunktion im Azure KI VisionStudio.
(Bild: Drilling / Microsoft)

Wer die Funktion im Vision Studio ausprobieren möchte, kann in Azure wahlweise eine KI-Vision-Ressource oder eine Ressource vom Typ „multi-service-account“ erstellen. Dies erfolgt wie gezeigt über das Portal „Azure AI services“. (Link zum Vorgänger-Artikel). Danach starten wir das Azure-KI-Vision-Studio, melden uns mit einem entsprechend berechtigten Organisationskonto bei unserem Mandanten an und verknüpfen das Vision-Studio in den Einstellungen (Zahnrad oben rechts) mit der gewünschten Azure-KI-Ressource. Nun folgt auf der Startseite des Vision Studio noch ein Klick auf den Tab „Face“.

Die Gesichtserkennung findet Gesichter in Bildern und liefert Rahmenkoordinaten zurück.
Die Gesichtserkennung findet Gesichter in Bildern und liefert Rahmenkoordinaten zurück.
(Bild: Drilling / Microsoft)

Nun klicken wir auf „Detect faces in an image“ und setzen bei „Try it out“ zunächst das Häkchen bei „I acknowledge that this demo will incur usage to resource <Name ihrer Azure-KI-Ressource> in my Azure account“. Dann laden wir bei „Drag and drop a file here“ das gewünschte Bild hoch. Das Ergebnis könnte zunächst so aussehen. Achten Sie im Tab „Detected attributes“ auf die Ausgabe. Im Beispiel wurden zwei Gesichter erkannt.

Die API zur Gesichtserkennung erkennt als Eingabebildformate JPEG, PNG, GIF (der erste Frame) und BMP. Allerdings dürfen die Bilddateien maximal 6 Megabyte (MB) groß sein. Ferner liegt die minimal erkennbare Gesichtsgröße bei 36×36 Pixel, wobei das Bild selbst aber nicht größer sein darf als 1.920×1.080 Pixel. Sind die Bilder größer, ist eine proportional größere minimale Gesichtsgröße möglich.

Hier wurde erfolgreich eine Maske erkannt.
Hier wurde erfolgreich eine Maske erkannt.
(Bild: Drilling / Microsoft)

Das Verkleinern der Gesichtsgröße kann allerdings bewirken, dass einige Gesichter nicht erkannt werden, auch wenn sie größer als die minimal erkennbare Gesichtsbereich sind. Die maximal erkennbare Gesichtsgröße beträgt 4.096×4.096 Pixel. Nun können wir mit den mitgelieferten Beispielbildern experimentieren. Im Falle es Fotos der jungen Frau mit der FFP2-Maske wird erfolgreich eine Schutzmaske erkannt mit der Bezeichnung: „Face mask covering nose and mouth: yes“.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Die Ergebnisse der Gesichtserkennung als Code.
Die Ergebnisse der Gesichtserkennung als Code.
(Bild: Drilling / Microsoft)

Schließlich können wir im Tab „JSON“ rechts davon auch sämtliche erkannten Attribute wie z. B. die Positionen der Rechtecke abrufen. Klicken wir nun abschließend beispielsweise oben auf den Link „Use the REST API“, verweist Sie das Studio direkt auf die Face API 1.0.

Die Face-API in der Version 1.0
Die Face-API in der Version 1.0
(Bild: Drilling / Microsoft)

Entwicklerinnen und Entwickler können die Programmierschnittstelle also direkt im Browser erkunden. Außerdem stellt Microsoft zahlreiche Code-Beispiele für die Face-API auf GitHub zur Verfügung sowie detaillierte Quickstart-Guides mit Codebeispielen für die unterstützten Client-Bibliotheken in C#, JavaScript und Python.

Der Face Finder ist ein interessantes C#-Code-Beispiel aus Microsofts Code-Samples-GitHub-Repo für die Azure Cognitive Services.
Der Face Finder ist ein interessantes C#-Code-Beispiel aus Microsofts Code-Samples-GitHub-Repo für die Azure Cognitive Services.
(Bild: Microsoft)

Interessant in den verlinkten Code-Beispielen ist z. B. der Face Finder, der nach Bildern mit Gesichtern in einen gegebenen lokalen Ordner sucht. Man benötigt dazu lediglich eine Azure-Subscription, eine AI-Vision-Ressource und die Entwicklungsumgebung Visual Studio.

Wier müssen dann nur das GitHub-Repository klonen und auf die Datei FaceFinder.sln doppelklicken, um das Projekt in Visual Studio zu laden. Visual Studio muss lediglich für die Entwicklung vom .NET-Desktop-Applikationen konfiguriert sein. Haben Sie das Projektfile geladen, bauen Sie das Projekt, wodurch die benötigten Computer Vision und die NuGet-Pakete für AI Vision installiert werden.

(ID:49994842)