Azure KI Vision ist eine Sammlung von Diensten, die Entwicklern dabei helfen, Anwendungen zu erstellen, die visuelle Daten verstehen und interpretieren können. Dieser und der folgende Beitrag bietet eine kleine Einführung in dieses Thema.
Der Dienst Azure KI Vision stellt vorab trainierte Modelle bereit, um Bilder zu analysieren und Erkenntnisse und Informationen daraus zu extrahieren. Das Angebot umfasst mehrere Dienste. Dazu gehören z. B. Computer Vision, Custom Vision oder Face API.
Alle verwenden fortschrittliche Machine-Learning-Algorithmen, die Entwicklerinnen und Entwickler dabei unterstützen, Bilder und Videos zu analysieren und wertvolle Erkenntnisse zu gewinnen. In Summe bietet der Dienst folgende Funktionen:
- Generieren von Tags und Beschreibungen: Mit Hilfe der mit diesem Feature verknüpften Algorithmen können Entwickler passende Beschriftungen für ein Bild bestimmen oder relevanter „Tags“ identifizieren, die sich als Schlüsselwörter zur Angabe des Motivs verwenden lassen.
- Objekterkennung: Hilft beim Erkennen des Vorhandenseins und der Position bestimmter Objekte im Bild
- Personenerkennung: Hilft beim Erkennen des Vorhandenseins, der Position und der Merkmale von Personen in einem Bild.
- Kategorie-Ermittlung: Hilft beim Bestimmen, welche Kategorisierung für das Bild passend ist oder ob es bekannte Sehenswürdigkeiten enthält.
- Entfernen des Hintergrunds: Erkennt den Hintergrund in einem Bild und ist in der Lage, das Bild mit transparentem Hintergrund auszugeben.
- Bildmetadaten-, Farb- und Typanalyse: Hilft beim Bestimmen des Formats und der Größe eines Bildes sowie dessen vorherrschenden Farbpalette oder erkennt, ob ein Clipart enthalten ist.
- Moderationsbewertung: Mit diesem Modell kann die KI erkennen, ob ein Bild nicht jugendfreie oder gewalttätige Inhalte hat.
- Generierung intelligenter Miniaturansichten: Mit dieser Funktion ermittelt die KI den interessantesten Bereich im Bild, um mit dieser Information eine kleinere „Miniaturversion“ zu erstellen.
- Optische Zeichenerkennung: Hilft beim Erkennen von Text im Bild.
Developer können Azure KI Vision als Einzeldienstressource bereitstellen oder die „Azure KI Vision“-API in einer „Azure KI Services“-Ressource für mehrere Dienste nutzen. Wie schon für die Beiträge zu unserer Open-AI-Serie müssen wir hierfür im Azure Portal nach „Azure AI services“ suchen. Hier ließe sich z. B. ein „Custom Vision“ erstellen oder die Gesichtserkennungs-API nutzen. Besteht noch kein „Azure AI Service Plan“, kann man das jetzt nachholen, wie in den zurückliegenden Artikeln erläutert.
Oft bevorzugen Entwickler und Entwicklerinnen eher die REST-API oder die unterstützten SDKs. Zur Analyse eines Bildes lässt sich beispielsweise die REST-Methode „Analyze Image“ oder die entsprechende Methode im SDK der jeweiligen Programmiersprache einsetzen. Hier gilt es, die visuellen Funktionen anzugeben, die in die Analyse einfließen sollen.
Bei Angabe von Kategorien könnte man beispielsweise auch Details zu Prominenten oder Sehenswürdigkeiten einschließen. Allerdings ist für zur Erkennung von Prominenten die Genehmigung durch eine Richtlinie für eingeschränkten Zugriff erforderlich. Die folgende Methode in C# gibt ein JSON-Dokument mit den angeforderten Informationen zurück.
using Azure.AI.Vision.Common;
using Azure.AI.Vision.ImageAnalysis;
var serviceOptions = new VisionServiceOptions(
Environment.GetEnvironmentVariable("VISION_ENDPOINT"), new AzureKeyCredential(Environment.GetEnvironmentVariable("VISION_KEY")));
using var imageSource = VisionSource.FromUrl(new Uri("<url>"));
var options = new ImageAnalysisOptions() {
Features = ImageAnalysisFeature.Caption | ImageAnalysisFeature.Text,
Language = "en",
GenderNeutralCaption = true
};
using var analyzer = new ImageAnalyzer(serviceOptions, imageSource, options);
var result = analyzer.Analyze();
Azure KI Vision lässt sich im Übrigen auch zum Berechnen und Erzeugen von Thumbnails verwenden, indem es Miniaturansichten mit unterschiedlichen Abmessungen (und Seitenverhältnissen) aus einem gegeben Quellbild erstellt. Zusätzlich kann man dabei auch die Bildanalyse nutzen, um den interessanten Bereich des Bildes, also das Hauptmotiv zu ermitteln. Diese Option ist nützlich, wenn sich beim inhaltsorientierten Zuschneiden auch das Seitenverhältnis zu ändert. Im Allgemeinen würde der Prozess etwa so ablaufen:
- 1. Der „Azure KI Vision“-Algorithmus entfernt störende Elemente aus dem Bild.
- 2. Der relevante Bereich (Bildbereich mit den wichtigsten Objekten) wird identifiziert.
- 3. Das Bild wird auf Grundlage des erkannten relevanten Bereichs zugeschnitten.
Das Seitenverhältnis wird entsprechend den Abmessungen des Zielminiaturbilds geändert. Die Azure KI Vision 3.2-API verwendet intelligentes Zuschneiden, um intuitive Bildminiaturansichten zu erstellen, die die wichtigsten Bereiche eines Bilds mit Priorität auf ggf. erkannten Gesichtern enthalten.
Das Feature zum Generieren von Miniaturansichten ist über die APIs „Get Thumbnail“ (Miniaturansicht abrufen) und „Get Area of Interest“ (Relevanten Bereich abrufen) verfügbar. Sie können diese API über ein natives SDK oder REST aufrufen.
Bildklassifizierung Beispiel
Haben Sie einen Azure-AI-Service-Plan erstellt können Sie z. B. im Browser das neue Custom Vision Portal von Microsoft aufrufen. Den Workflow zeigen die folgenden Abbildungen:
Anschließend lässt sich die Thumbnail-Erstellung mit bereits einem der bereitgestellten Demo-Bilder testen oder ein eigenes Bild hochladen. Das Ergebnis sollte etwa so aussehen, wie im vorangestellten Bild.
Für Entwickler eher interessant: Am oberen Bildschirmrand finden sich Links zur SDK Reference, zur Verwendung der Unified Vision REST-API und zu weiteren Vision-AI-SDK-Beispielen auf GitHub, mit denen wir uns im nächsten Teil befassen werden.
Fazit
Azure AI Services, customvision.ai und Azure AI Vision Studio sind allesamt Dienste, die von Microsoft bereitgestellt werden, um KI-Lösungen zu entwickeln. Sie unterscheiden sich aber im Detail und Verwendungszweck.
Azure AI Services: Azure AI Services ist eine Sammlung von KI-Diensten, die von Microsoft Azure bereitgestellt werden. Es bietet eine Vielzahl von Diensten, einschließlich, aber nicht beschränkt auf, Custom Vision. Mit Azure AI Services können Sie Ihre eigenen Modelle erstellen und trainieren, ohne dass Sie über Data Science- oder ML-Kenntnisse verfügen müssen.
Customvision.ai: Customvision.ai ist eine spezifische Plattform innerhalb der Azure AI Services, die sich auf die Erstellung von Custom Vision-Projekten konzentriert. Es ermöglicht Ihnen, Ihre eigenen Bildklassifizierungs- und Objekterkennungsmodelle zu erstellen und zu trainieren.