Quando i modelli prebuilt non bastano

I modelli prebuilt di Azure AI Vision riconoscono oggetti, scene, volti, testo (OCR) e concetti generici senza alcun addestramento: sono pronti all’uso e coprono migliaia di categorie comuni. Il problema nasce quando devi riconoscere qualcosa di specifico del tuo dominio che un modello generico non ha mai visto: un particolare componente meccanico difettoso, le varietà di mele del tuo magazzino, il logo dei tuoi prodotti, una lastra radiografica con un’anomalia. In questi casi la risposta è Custom Vision, il servizio di Azure AI services che ti permette di addestrare un modello sui tuoi dati etichettati.

Custom Vision copre due scenari distinti:

  • Image classification (classificazione): assegna una o più etichette (tag) all’intera immagine. Risponde alla domanda “cosa contiene questa foto?” (es. “mela” vs “banana”, oppure “prodotto conforme” vs “difettoso”).
  • Object detection (rilevamento oggetti): individua quali oggetti sono presenti E dove si trovano, restituendo un bounding box con le coordinate per ciascun oggetto. Risponde a “quanti oggetti ci sono e in quale posizione?” (es. contare tre caschi in una foto di cantiere).

Il flusso di lavoro

Il ciclo di sviluppo con Custom Vision, gestibile dal Custom Vision portal, segue passaggi ben definiti:

  1. Upload delle immagini: carichi il tuo dataset. Serve un numero minimo di immagini per tag (indicativamente almeno 15 per etichetta, ma per risultati robusti se ne consigliano molte di più) con varietà di angolazioni, illuminazione e sfondo.
  2. Tagging (etichettatura): assegni le etichette. Nella classificazione tagghi l’intera immagine; nell’object detection disegni i bounding box attorno a ogni oggetto e li etichetti.
  3. Training (addestramento): avvii l’addestramento del modello. Puoi scegliere una modalità rapida oppure più accurata.
  4. Valutazione: dopo il training Custom Vision mostra le metriche di qualità:
    • Precision (precisione): quante previsioni positive erano corrette.
    • Recall (richiamo): quanti casi reali il modello ha effettivamente individuato.
    • mAP (mean Average Precision): metrica aggregata usata soprattutto per l’object detection.
  5. Pubblicazione (publish): se le metriche sono soddisfacenti, pubblichi l’iteration del modello, ottenendo un prediction endpoint (API) che le applicazioni possono chiamare per classificare o rilevare oggetti su nuove immagini.

Il processo è iterativo: aggiungi immagini, ri-addestri e ripubblichi per migliorare le performance nel tempo.

Prebuilt o custom? Il criterio di scelta

La regola pratica per l’esame è semplice:

  • Usa i modelli prebuilt (Azure AI Vision) quando ti servono capacità generiche e comuni: descrizione di immagini, tagging generico, OCR/lettura testo, rilevamento volti. Non richiedono dati né addestramento e sono immediati.
  • Usa Custom Vision quando devi riconoscere categorie o oggetti specifici che i modelli generici non conoscono e disponi di immagini etichettate per addestrarlo.

In sintesi: contenuto generico → prebuilt; contenuto proprietario/di nicchia con dati etichettati → Custom Vision.

Trappole tipiche d’esame

  • Scenario: devi solo estrarre il testo stampato o scritto a mano da immagini di documenti. → Risposta giusta: usa la funzionalità OCR di Azure AI Vision (prebuilt), NON Custom Vision. Custom Vision serve a classificare o localizzare oggetti, non a leggere testo.
  • Scenario: vuoi sapere quanti oggetti sono presenti e in quale posizione dell’immagine (es. contare prodotti su uno scaffale con la loro posizione). → Risposta giusta: object detection. La image classification etichetta l’intera immagine ma non fornisce coordinate né conteggi per singolo oggetto.
  • Scenario: devi solo assegnare una categoria all’intera foto (“difettoso” vs “conforme”), senza localizzare nulla. → Risposta giusta: image classification, più semplice e adatta; l’object detection sarebbe eccessivo.
  • Scenario: ti serve riconoscere oggetti generici e comuni (un cane, un’auto, un albero) senza alcun addestramento. → Risposta giusta: modello prebuilt di Azure AI Vision. Addestrare un Custom Vision sarebbe uno spreco di tempo e dati.
  • Scenario: hai un dataset di immagini etichettate dei tuoi prodotti unici che nessun modello generico riconosce. → Risposta giusta: Custom Vision, addestrando un modello personalizzato sui tuoi dati taggati.