Toscana Calcio

Informazioni sull'Italia. Seleziona gli argomenti di cui vuoi saperne di più su Toscana Calcio

Classificazione delle immagini tramite Azure AI Vision SDK con C#

Classificazione delle immagini tramite Azure AI Vision SDK con C#

Introduzione ai servizi AI di Azure, parte 2
Classificazione delle immagini tramite Azure AI Vision SDK con C#

Fornitori di servizi su questo argomento

Azure AI Vision è un'intelligenza artificiale che consente ai sistemi software di interpretare input visivi attraverso l'analisi delle immagini. In questo piccolo tutorial vogliamo analizzare il servizio

Il risultato della nostra analisi programmatica.

(Immagine: Microsoft)

In Microsoft Azure, il servizio Azure AI Vision fornisce modelli predefiniti per attività visive comuni, tra cui l'analisi delle immagini per suggerire didascalie e tag e il riconoscimento di oggetti e persone comuni. Il Servizio può anche essere utilizzato, tra le altre cose, per rimuovere lo sfondo dalle immagini o generare una miniatura dal contenuto correlato all'immagine.

Risultato della creazione automatizzata

In questo esempio utilizziamo Visual Studio Code, disponibile da Microsoft Repository GitHub Impara AI-Vision può essere facilmente clonato. Qualsiasi cartella sul computer funge da destinazione. È quindi possibile aprire localmente il repository clonato.

Clona il repository GitHub collegato
Clona il repository GitHub collegato

(Immagine: Drill/Microsoft)

Nell'esempio seguente viene completata un'applicazione client parzialmente implementata dal repository sopra menzionato che usa Azure AI Vision SDK per analizzare le immagini. L'SDK può essere utilizzato in C# o Python, noi utilizziamo C#.

Installa gli SDK richiesti.
Installa gli SDK richiesti.

(Immagine: Drill/Microsoft)

Innanzitutto, in Visual Studio Code, accediamo alla cartella Labfiles/01-analyze-images nel riquadro Explorer e quindi espandiamo la cartella C-Sharp. Fare clic con il tasto destro sulla cartella “Analisi immagine” per aprirla utilizzando “Apri nel terminale integrato” nel terminale VS Code. Ora installiamo Azure AI Vision SDK per C# con…

DotNET Aggiungi pacchetto Azure.AI.Vision.ImageAnalogy -v 0.15.1-beta.1

Collega gli endpoint e gli switch associati nel file di configurazione delle applicazioni.
Collega gli endpoint e gli switch associati nel file di configurazione delle applicazioni.

(Immagine: Drill/Microsoft)

La cartella contiene il file di configurazione JSON “appsettings.json” per C#. Aggiorniamo i valori di configurazione in esso contenuti con le informazioni sull'endpoint e sulla chiave di autenticazione per la risorsa dei servizi AI di Azure utilizzata e salviamo le modifiche.

Importa gli spazi dei nomi richiesti.
Importa gli spazi dei nomi richiesti.

(Immagine: Drill/Microsoft)

La cartella contiene anche il file di codice “Program.cs” con l'applicazione demo client. Apriamo il file di codice e cerchiamo il commento “//import namespaces” in alto tra i riferimenti ai namespace esistenti. Qui è necessario aggiungere le seguenti righe di codice per importare gli spazi dei nomi richiesti per usare Azure AI Vision SD. Quindi salviamo il file.

READ  Oltre 12 offerte di smartphone su MediaMarkt / Saturn

using Azure.AI.Vision.Common;
using Azure.AI.Vision.ImageAnalysis;

L'immagine da analizzare in VS Code.
L'immagine da analizzare in VS Code.

(Immagine: Microsoft)

In questo esempio utilizziamo il servizio Azure AI Vision per analizzare le immagini. In Visual Studio Code, espandiamo la cartella Image Analysis e la cartella Images al suo interno contiene tre immagini. È importante verificare se le immagini vengono visualizzate correttamente in VS Code.

Ora è possibile utilizzare l'SDK per connettersi al servizio Vision e analizzare l'immagine. Il file del codice dell'applicazione client (Program.cs) deve garantire che venga fornito il codice per il caricamento delle impostazioni di configurazione tramite la funzione principale. Sotto il commento…

// Authenticate Azure AI Vision client

… Aggiungiamo il seguente frammento di codice:

var cvClient = new VisionServiceOptions(
   aiSvcEndpoint,
   new AzureKeyCredential(aiSvcKey));

Autenticazione client di Azure AI Vision.
Autenticazione client di Azure AI Vision.

(Immagine: Drill/Microsoft)

È importante notare qui che il codice nella funzione principale sotto il codice appena aggiunto specifica il percorso di un file immagine, quindi lo passa ad altre due funzioni (“AnalyzeImage”) e “BackgroundForeground”, che attualmente non sono completamente implementate Ancora.

All'interno del corpo preparato della funzione AnalyseImage, aggiungiamo il seguente codice sotto il commento “//Seleziona le funzionalità da recuperare”:

Features =
   ImageAnalysisFeature.Caption
   | ImageAnalysisFeature.DenseCaptions
   | ImageAnalysisFeature.Objects
   | ImageAnalysisFeature.People
   | ImageAnalysisFeature.Text
   | ImageAnalysisFeature.Tags

Determinare quali funzionalità verranno utilizzate nell'analisi.
Determinare quali funzionalità verranno utilizzate nell'analisi.

(Immagine: Drill/Microsoft)

Inoltre, all'interno del testo preparato, estendiamo la funzione “AnalyzeImage” sotto il commento “//Get Image Analysis” con il seguente codice:

// Get image analysis
using var imageSource = VisionSource.FromFile(imageFile);
using var analyzer = new ImageAnalyzer(serviceOptions, imageSource, analysisOptions);
var result = analyzer.Analyze();if (result.Reason == ImageAnalysisResultReason.Analyzed) {
   // get image captions
   if (result.Caption != null) {
      Console.WriteLine(" Caption:");
      Console.WriteLine($" \"{result.Caption.Content}\", Confidence {result.Caption.Confidence:0.0000}");
   }
   //get image dense captions
   if (result.DenseCaptions != null) {
      Console.WriteLine(" Dense Captions:");
      foreach (var caption in result.DenseCaptions) {
      Console.WriteLine($" \"{caption.Content}\", Confidence
         {caption.Confidence:0.0000}");
      }
      Console.WriteLine($"\n");
   }
   // Get image tags
   // Get objects in the image
   // Get people in the image
}
else {
   var errorDetails = ImageAnalysisErrorDetails.FromResult(result);
   Console.WriteLine(" Analysis failed.");
   Console.WriteLine($" Error reason : {errorDetails.Reason}");
   Console.WriteLine($" Error code : {errorDetails.ErrorCode}");
   Console.WriteLine($" Error message: {errorDetails.Message}\n");

Il risultato della nostra analisi programmatica.
Il risultato della nostra analisi programmatica.

(Immagine: Microsoft)

Dopo aver salvato le modifiche, torniamo al terminale integrato della cartella di analisi dell'immagine e inseriamo il seguente comando per eseguire il programma, ad es. Ad esempio con l'argomento “images/street.jpg” da questa cartella:

READ  Televisori Sony: OLED e mini-LED, ma per favore non tornate all'era dei tubi

dotnet run images/street.jpg

La condizione fondamentale è questa È richiesto il runtime di .NET 7 È stato installato. Il risultato dovrebbe assomigliare all'immagine precedente. Come accennato in precedenza, tutte le parti del codice provengono da Microsoft a cui è possibile accedere gratuitamente Scopri il repository della visione AI.

Questo piccolo esempio serve principalmente come incentivo per ulteriori sperimentazioni. Ci sono anche altri esempi di codice nella pagina collegata, ad es. B. Per individuare e identificare singoli oggetti specifici all'interno di un'immagine o identificare le persone nell'immagine.

Nella prossima parte di questa breve serie mostreremo come i programmatori possono utilizzare le funzioni AI per ritagliare automaticamente il primo piano di un'immagine.

(ID:49972506)