Azure KI Vision zur Bildklassifizierung


Thomas Drilling22. August 2024

Schalte Azure KI Vision für Bildklassifizierung frei und meistere die Bereitstellung von Ressourcen spielend!

Illustration der KI-Technologie zur Erkennung eines Fußgängers, eines Autos und eines Radfahrers an einer Ampel in einer städtischen Umgebung

Bereitstellung einer Azure KI Vision-Ressource zur Bildklassifizierung (Teil 1) 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 die folgenden zwei Beiträge bieten eine kleine Einführung in das faszinierende Thema. Für den optimalen Einstieg empfehlen wir dir unsere Azure KI Schulungen.

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 Entwickler dabei unterstützten, Bilder und Videos zu analysieren und wertvolle Erkenntnisse zu gewinnen.

Azure KI Vision 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.

  • Kategorieermittlung: hilft beim Bestimmen, welche Kategorisierung für das Bild passend ist oder ob es bekannte Sehenswürdigkeiten enthält

  • Entfernen des Hintergrunds: erkennt den Hintergrunds 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 enthält

  • 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

Entwickler 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. Suche dazu im Azure Portal nach „Azure AI services“. Hier kannst du z. B. ein „Custom Vision“ erstellen oder die Gesichtserkennungs-API nutzen. Hast du noch keinen Azure AI Service Plan erstellt, kannst du das jetzt nachholen, wie in den zurückliegenden Artikeln erläutert.

Screenshot des Dashboards der Microsoft Azure KI-Dienste in deutscher Sprache, das verschiedene KI-Tools und -Dienste anzeigt, die unter „Intelligente Apps und Dienste“ kategorisiert sindDas Portal der Azure AI-Services

Entwickler bevorzugen meist 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 gibst du die visuellen Funktionen an, welche in die Analyse einfließen sollen. Gibst du dabei Kategorien an, kannst du auch Details zu Prominenten oder Sehenswürdigkeiten einschließen. Allerdings ist für die Erkennung von Prominenten die Genehmigung durch eine https://learn.microsoft.com/en-us/azure/ai-services/cognitive-services-limited-access 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();

Du kannst Azure KI-Vision auch zum Berechnen und Erzeugen von Thumbnails verwenden. Du kannst mit Azure KI Vision Miniaturansichten mit unterschiedlichen Abmessungen (und Seitenverhältnissen) aus einem gegeben Quellbild erstellen. Zusätzlich kannst du 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 ändert. Im Allgemeinen würde der Prozeß etwa so ablaufen:

  1. Störende Elemente: Der Azure KI Vision-Algorithmus entfernt störende Elemente aus dem Bild.

  2. Identifizieren des relevanten Bereichs: Der relevante Bereich (Bildbereich mit den wichtigsten Objekten) wird identifiziert.

  3. Zuschneiden des Bildes: 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. Du kannst diese API über ein natives SDK oder REST aufrufen.

Bildklassifizierung Beispiel

Hast du einen Azure-AI-Service-Plan erstellt, kannst du z. B. im Browser das neue   https://customvision.ai  Custom Vision Portal von Microsoft aufrufen.

Webseite mit einem bunten Kolibri und Text über die Anpassung von KI-Modellen. Zu den Funktionen gehören Bild-Upload, Training und BewertungDie Custom-Vision-Produktseite von OpenAI

Melde dich hier mit einem Azure-Mandaten an, in dem du über einen Azure-AI-Service-Plan verfügst, kannstr du mit „NEW PROJECT“ ein neues Custom-Version-Projekt starten.

Screenshot einer Webseite, die ein „Custom Vision“-Projekt-Dashboard mit einer Schaltfläche „Neues Projekt“ und einer Ladeanzeige für Projekte zeigtDu musst zuerst ein neues Custom-Vision-Projekt erzeugen

Du kannst aber ebenso gut im Azure-Portal ausgehend von der Seite „Azure AI Services“ auf „Custom Vision“ klicken und dort ein neues „Custom Vision erstellen“.

Screenshot der Seite „Azure AI Services Custom Vision“ in deutscher Sprache, auf der keine Projekte aufgelistet sind und die Optionen zum Erstellen eines neuen Custom Vision-Projekts angezeigt werdenEin neues Custom-Vision in den Azure AI-Services

Für Tests eignet sich der Tarif „Fee S0“. Du kannst abweichende Tarife für Training und Vorhersage wählen.

Screenshot einer Microsoft Azure-Portalseite, der die Schritte zum Einrichten einer benutzerdefinierten Vision-API mit zugehörigen Links und Optionen zeigtAuch bei einer Vision-Ressource musst du dich für spätere Experimente mit der REST-API oder den SDKS z. B. die Schlüssel und Endpunkte notieren

Noch einfacher gelingt hingegen der Einstieg in AI Vision mit dem neuen https://portal.vision.cognitive.azure.com Azure AI Vision Studio.

Screenshot der Benutzeroberfläche von Azure AI Vision Studio mit verschiedenen KI-Modelloptionen, einschließlich Bildanalyse- und Objekterkennungsfunktionen.Das neue Vision Studio von Microsoft

Wähle hier beispielsweise „Create smart-cropped images“ und klicke auf den Link „Please select a resource“ um sich mit der gewünschten Azure Subscription zu verbinden. Der Dienst steht momentan nur in „East US“, „West US“, “North Europe“, „West Europ“, „France Central“, „Korea Central“, und „Southeast Asia“ zur Verfügung.

Ein Computerbildschirm zeigt ein Formular zur Erstellung einer neuen Ressource mit Eingabefeldern für den Namen, das Abonnement, die Ressourcengruppe und die Region.Die Verbindung zwischen AI Vision und Azure

Bei der Gelegenheit kannst du auch gleich - sofern nicht vorher geschehen - eine passende CognitiveServices-Ressource erstellen. Wir verwenden den Tarif „Free S0“.

Anschließend kannst du mit Thumbnail-Erstellung eines der bereitgestellten Demo-Bilder testen oder ein eigenes Bild hochladen. Das Ergebnis sollte etwa so aussehen:

Ein Screenshot einer Webseite zeigt ein Bildbearbeitungstool. Das bearbeitete Bild stellt ein Fahrrad dar, ergänzt durch ein motivierendes Zitat über Balance und BewegungErgebnis der Thumbnail-Erstellung

Für Entwickler eher interessant: Am oberen Bildschirmrand findest du Links zur https://learn.microsoft.com/en-us/azure/ai-services/computer-vision/how-to/call-analyze-image-40?tabs=csharp&pivots=programming-language-csharp SDK Reference, zur Verwendung der https://centraluseuap.dev.cognitive.microsoft.com/docs/services/unified-vision-apis-public-preview-2023-02-01-preview/operations/61d65934cd35050c20f73ab6 REST-API  und zu weiteren SDK-Beispielen auf https://github.com/Azure-Samples/azure-ai-vision-sdk GitHub, mit denen wir uns im nächsten Teil befassen werden.

Azure KI Vision Fazit

Azure AI Services, customvision.ai und Azure AI Vision Studio sind Dienste, die von Microsoft bereitgestellt werden, um KI-Lösungen zu entwickeln. Sie unterscheiden sich aber im Detail und Verwendungszweck.

  1. 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 kannst du deine eigenen Modelle erstellen und trainieren, ohne dass du über Data Science- oder ML-Kenntnisse verfügen musst.

  2. 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 dir, deine eigenen Bildklassifizierungs- und Objekterkennungsmodelle zu erstellen und zu trainieren.

  3. Azure AI Vision Studio: Azure AI Vision Studio ist ein Teil der Azure AI Services und ermöglicht es dir, benutzerdefinierte Bildbezeichnermodelle mit der neuesten Technologie von Azure zu erstellen.

Hier geht es zum 2. Teil der Serie.

Schulungen, die dich interessieren könnten