L’analisi delle immagini è una delle competenze centrali di AI-102: devi saper scegliere quale servizio e quali visual feature attivare in un dato scenario, distinguendo ciò che i modelli prebuilt coprono da ciò che richiede un modello custom. Il servizio di riferimento è Azure AI Vision, e in particolare l’API Image Analysis 4.0, costruita sul foundation model Florence e in grado di restituire più feature con una singola chiamata.
Image Analysis 4.0 e le visual features
Con Image Analysis 4.0 richiedi le capability tramite il parametro visualFeatures, combinando solo quelle che servono per ridurre latenza e costo. Le principali sono:
- Caption — una singola frase descrittiva dell’intera immagine (human-readable).
- DenseCaptions — fino a 10 didascalie, una per regione rilevante, ciascuna con bounding box.
- Tags — etichette di contenuto (oggetti, azioni, scene) con confidence.
- Objects — object detection con bounding box per ciascun oggetto.
- People — rilevamento delle persone con bounding box (utile per conteggio o blur).
- SmartCrops — ritagli suggeriti che preservano il soggetto principale.
- Read — OCR integrato per il testo presente nell’immagine.
Caption e dense captions
La differenza chiave: Caption descrive tutta l’immagine, DenseCaptions descrive le singole regioni. Se lo scenario richiede accessibilità (alt-text globale) usi Caption; se serve indicizzare o annotare parti diverse della stessa foto, usi DenseCaptions. Attenzione: entrambe usano il modello Florence e non sono disponibili in tutte le region (vedi trappole).
Tagging, object detection e people detection
Tags risponde a “cosa c’è” senza posizione; Objects aggiunge la localizzazione con bounding box. Quando lo scenario parla di “dove si trova” o “quanti”, punta a Objects o People, non a Tags. People detection è il modo corretto per contare persone o anonimizzare volti/figure, mentre il riconoscimento di identità è un servizio diverso (Face) con accesso limitato.
Smart crop
SmartCrops genera thumbnail mantenendo il soggetto centrale; puoi specificare uno o più aspect ratio. È la risposta giusta quando serve generare anteprime automatiche per cataloghi o feed, evitando ritagli fissi che taglierebbero il soggetto.
Multimodal embeddings e Vision retrieval
Per la ricerca semantica sulle immagini, Image Analysis 4.0 espone le operazioni di multimodal embedding: vectorizeImage e vectorizeText proiettano immagini e testo nello stesso spazio vettoriale. Puoi così indicizzare vettori di immagini e cercarli con una query in linguaggio naturale (es. “cane che corre sulla spiaggia”) calcolando la cosine similarity, senza alcun training. È il pattern del Vision retrieval, spesso integrato in un indice di Azure AI Search con campi vettoriali. Anche questa capability è region-limited.
Prebuilt vs custom
I modelli prebuilt (tagging, object detection generici, caption) coprono soggetti comuni e non richiedono dati né training. Quando il dominio è specifico — classi non riconosciute dai prebuilt (componenti industriali, difetti di produzione, specie particolari) — servono modelli custom:
- Custom Vision per image classification e object detection su categorie tue, con etichettatura e training gestiti (anche esportabili come modelli edge).
- Image Analysis 4.0 model customization, che addestra un modello custom su Florence con poche immagini (few-shot) sfruttando il foundation model.
La regola d’esame: se i prebuilt non riconoscono le tue classi, non alzare la soglia di confidence né sperare in tag generici — devi addestrare un modello custom.
visualFeatures=Caption,DenseCaptions,Tags,Objects,People,SmartCrops,Read
Trappole tipiche d’esame
- Caption/DenseCaptions/SmartCrops/multimodal embeddings restituiscono errore o non sono disponibili → la risorsa è in una region non supportata: crea la risorsa Azure AI Vision in una delle region abilitate (es. East US, West US, West Europe, France Central, North Europe, Korea Central, Southeast Asia). Non è un problema di codice.
- Serve riconoscere categorie di dominio (es. tipi di prodotto) che i prebuilt non identificano → Custom Vision (o model customization 4.0), non Image Analysis prebuilt.
- Serve la posizione degli elementi, non solo l’elenco → Objects/People/DenseCaptions (bounding box), non Tags.
- Serve ricerca di immagini con query testuali senza training → multimodal embeddings (vectorizeImage/vectorizeText) + ricerca per similarità, non object detection.
- Serve generare thumbnail mantenendo il soggetto → SmartCrops con aspect ratio, non un ridimensionamento fisso lato applicazione.