Einführung in Azure AI Services, Teil 4 Gesichtserkennung mit Azure AI Vision
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.
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.
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.
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.
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“.
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.
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“.
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.
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.
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)