Alla scoperta dell'etichettatura dei dati per progetti di visione artificiale
Scopri perché l’etichettatura dei dati è importante per la visione artificiale, i principali tipi di annotazione, dai riquadri di delimitazione ai keypoint, e come etichettare le immagini nel formato YOLO.
Abirami Vina9 min di lettura
L’intelligenza artificiale (AI) si propone di dotare le macchine di capacità simili a quelle umane e uno dei modi più diffusi per farlo è attraverso l’apprendimento supervisionato. In altre parole, insegnare ai modelli di IA mostrando loro esempi etichettati può aiutarli ad apprendere dagli schemi e a migliorare nello svolgimento di determinate attività. È molto simile al modo in cui gli esseri umani imparano dall’esperienza. Ma come vengono creati questi esempi etichettati?
L’annotazione dei dati consiste nell’etichettare o contrassegnare i dati per aiutare gli algoritmi di machine learning a interpretarli. Nella visione artificiale, significa contrassegnare immagini o video per riconoscere e classificare con precisione oggetti, azioni o scene. L’etichettatura dei dati è fondamentale perché il successo di un modello di IA dipende in larga misura dalla qualità dei dati etichettati su cui viene addestrato.
Gli studi mostrano che oltre l'80% del tempo dedicato ai progetti AI viene speso nella gestione dei dati, dalla raccolta e aggregazione fino alla pulizia e all'etichettatura. Questo dimostra quanto sia importante l'annotazione dei dati nello sviluppo dei modelli AI. L'uso di dati annotati di alta qualità consente ai modelli AI di svolgere attività come il riconoscimento facciale e il rilevamento degli oggetti con maggiore accuratezza e affidabilità in situazioni reali.
Perché l’annotazione dei dati è necessaria#
L'annotazione dei dati è alla base delle prestazioni di un modello di visione artificiale. I dati etichettati costituiscono la verità di riferimento usata dal modello per apprendere e fare previsioni. I dati di riferimento sono fondamentali perché rappresentano il mondo reale che il modello cerca di comprendere. Senza questa base affidabile, il modello AI sarebbe come una nave che naviga senza bussola.

Fig. 1. Verità di riferimento a confronto con la previsione.
Un'etichettatura accurata aiuta questi modelli a comprendere ciò che vedono e consente loro di prendere decisioni migliori. Se i dati sono etichettati male o in modo incoerente, il modello farà fatica a formulare previsioni e prendere decisioni corrette, proprio come uno studente che impara da libri di testo errati. Grazie ai dati annotati, un modello può apprendere attività come la segmentazione delle istanze, la classificazione delle immagini e la stima della posa degli oggetti in immagini e video.
Le migliori risorse per i dataset#
Prima di creare un dataset da zero e annotare meticolosamente immagini e video, è una buona idea verificare se puoi usare dataset già disponibili per il tuo progetto. Esistono diversi repository open source che offrono gratuitamente dataset di alta qualità. Tra i più popolari ci sono:
- ImageNet: viene comunemente usato per addestrare modelli di classificazione delle immagini.
- COCO: questo dataset è progettato per il rilevamento e la segmentazione degli oggetti e per la generazione di didascalie per le immagini.
- PASCAL VOC: supporta le attività di rilevamento e segmentazione degli oggetti.

Fig. 2 Esempi di dati nel dataset COCO.
Quando scegli un dataset, è importante considerare fattori come la sua adeguatezza al progetto, le dimensioni, la diversità e la qualità delle etichette. Assicurati inoltre di verificare le condizioni di licenza del dataset per evitare conseguenze legali e controlla che il formato dei dati sia adatto al tuo flusso di lavoro e ai tuoi strumenti.
Creare un dataset personalizzato è un’ottima soluzione se quelli esistenti non soddisfano pienamente le tue esigenze. Puoi raccogliere immagini usando strumenti come webcam, droni o smartphone, a seconda dei requisiti del progetto. Idealmente, il tuo dataset personalizzato dovrebbe essere vario, bilanciato e rappresentare fedelmente il problema che vuoi risolvere. Potrebbe essere necessario acquisire immagini in diverse condizioni di illuminazione, da angolazioni differenti e in ambienti diversi.
Se puoi raccogliere solo un numero ridotto di immagini o video, l’aumento dei dati è una tecnica utile. Consiste nell’ampliare il dataset applicando trasformazioni alle immagini esistenti, come rotazioni, ribaltamenti o modifiche dei colori. Aumenta le dimensioni del dataset e rende il modello più robusto e capace di gestire le variazioni nei dati. Combinando dataset open source, dataset personalizzati e dati aumentati, puoi migliorare notevolmente le prestazioni dei tuoi modelli di visione artificiale.
Tipi di tecniche di annotazione delle immagini#
Prima di iniziare ad annotare le immagini, è importante conoscere i diversi tipi di annotazione. Questo ti aiuterà a scegliere quello più adatto al tuo progetto. Vediamo ora alcuni dei principali tipi di annotazione.
Riquadri di delimitazione#
I riquadri di delimitazione sono il tipo di annotazione più comune nella visione artificiale. Si tratta di riquadri rettangolari usati per contrassegnare la posizione di un oggetto in un'immagine. Sono definiti dalle coordinate dei vertici e aiutano i modelli AI a identificare e localizzare gli oggetti. I riquadri di delimitazione vengono usati soprattutto per il rilevamento degli oggetti.

Fig. 3. Esempio di riquadri di delimitazione.
Maschere di segmentazione#
A volte è necessario rilevare un oggetto con maggiore precisione rispetto a quella consentita da un semplice riquadro di delimitazione. Potresti aver bisogno di individuare i contorni degli oggetti in un'immagine. In tal caso, le maschere di segmentazione consentono di delineare oggetti complessi. Le maschere di segmentazione offrono una rappresentazione più dettagliata a livello di pixel.
Queste maschere possono essere usate per la segmentazione semantica e la segmentazione delle istanze. La segmentazione semantica consiste nell'assegnare un'etichetta a ogni pixel di un'immagine in base all'oggetto o all'area che rappresenta, come un pedone, un'auto, una strada o un marciapiede. La segmentazione delle istanze si spinge oltre, identificando e separando ogni oggetto individualmente, per esempio distinguendo ogni auto in un'immagine, anche quando sono tutte dello stesso tipo.

Fig. 4. Esempio di segmentazione semantica (a sinistra) e di maschere di segmentazione delle istanze (a destra).
Cuboidi 3D#
I cuboidi 3D sono simili ai riquadri di delimitazione, ma aggiungono informazioni sulla profondità e forniscono una rappresentazione tridimensionale dell'oggetto. Queste informazioni aggiuntive permettono ai sistemi di comprendere forma, volume e posizione degli oggetti nello spazio 3D. I cuboidi 3D vengono spesso usati nelle auto a guida autonoma per misurare la distanza degli oggetti dal veicolo.

Fig. 5. Esempio di cuboidi 3D.
Punti chiave e punti di riferimento#
Un altro tipo interessante di annotazione è rappresentato dai punti chiave, con cui si contrassegnano punti specifici degli oggetti, come occhi, nasi o articolazioni. I landmark fanno un passo in più, collegando questi punti per catturare la struttura e il movimento di forme più complesse, come i volti o le pose del corpo. Questi tipi di annotazione vengono usati in applicazioni come il riconoscimento facciale, il motion capture e la realtà aumentata. Inoltre, migliorano l'accuratezza dei modelli AI in attività come il riconoscimento dei gesti o l'analisi delle prestazioni sportive.

Fig. 6. Esempio di punti chiave.
Come annotare i dati con LabelImg#
Ora che abbiamo esaminato i diversi tipi di annotazione, vediamo come annotare le immagini con un popolare strumento, LabelImg. LabelImg è uno strumento open source che semplifica l'annotazione delle immagini e consente di creare dataset nel formato YOLO (You Only Look Once). È un'ottima scelta per chi è alle prime armi con piccoli progetti Ultralytics YOLOv8.
Configurare LabelImg è semplice. Per prima cosa, assicurati di avere Python 3 installato sul computer. Poi puoi installare LabelImg con un semplice comando:
pip3 install labelImgUna volta installato, puoi avviare lo strumento con il comando:
labelImgLabelImg è compatibile con diverse piattaforme, tra cui Windows, macOS e Linux. Se riscontri problemi durante l'installazione, il repository ufficiale di LabelImg contiene istruzioni più dettagliate. Tieni presente che i manutentori hanno archiviato LabelImg; per etichettare dal browser con strumenti assistiti dall'AI, consulta l'editor di annotazione di Ultralytics Platform.

Fig. 7. Uso di LabelImg per l'annotazione delle immagini.
Dopo aver avviato lo strumento, segui questi semplici passaggi per iniziare a etichettare le immagini:
- Imposta le tue classi: inizia definendo l’elenco delle classi (categorie) che vuoi annotare in un file chiamato “predefined_classes.txt”. Questo file indica al software quali oggetti etichetterai nelle immagini.
- Passa al formato YOLO: per impostazione predefinita, LabelImg usa il formato PASCAL VOC, ma se lavori con YOLO dovrai cambiare formato. Fai clic sul pulsante “PascalVOC” nella barra degli strumenti per passare a YOLO.
- Inizia ad annotare: usa le opzioni "Open" o "OpenDIR" per caricare le immagini. Poi disegna riquadri di delimitazione intorno agli oggetti da annotare e assegna l'etichetta di classe corretta. Dopo aver etichettato ogni immagine, salva il tuo lavoro. LabelImg creerà un file di testo con lo stesso nome dell'immagine, contenente le annotazioni YOLO.
- Salva e controlla: le annotazioni vengono salvate in un file .txt nel formato YOLO. Il software salva anche un file “classes.txt” che elenca tutti i nomi delle classi.
Strategie efficienti per l'etichettatura dei dati#
Per semplificare il processo di etichettatura dei dati, è utile tenere a mente alcune strategie chiave. Per esempio, sono fondamentali linee guida chiare per l'annotazione. Senza linee guida chiare, annotatori diversi potrebbero interpretare un'attività in modi differenti.
Supponiamo che l'attività consista nell'annotare gli uccelli nelle immagini con riquadri di delimitazione. Un annotatore potrebbe etichettare l'intero uccello, mentre un altro potrebbe etichettare solo la testa o le ali. Questa incoerenza può confondere il modello durante l'addestramento. Fornendo definizioni chiare, come "etichetta l'intero uccello, comprese le ali e la coda", insieme a esempi e istruzioni per i casi complessi, puoi assicurarti che i dati siano etichettati in modo accurato e coerente.
Anche i controlli regolari della qualità sono importanti per mantenere standard elevati. Definendo parametri di riferimento e usando metriche specifiche per valutare il lavoro, puoi mantenere accurati i dati e perfezionare il processo grazie a un feedback continuo.
L'etichettatura dei dati in breve#
L'annotazione dei dati è un concetto semplice che può avere un impatto significativo sul tuo modello di computer vision. Che tu usi strumenti come LabelImg per annotare immagini o addestri modelli su dataset open source, capire l'etichettatura dei dati è fondamentale. Le strategie di etichettatura dei dati possono aiutarti a semplificare l'intero processo e renderlo più efficiente. Dedicare del tempo a perfezionare il tuo approccio alle annotazioni può portare a risultati di AI migliori e più affidabili.
Continua a esplorare e ad ampliare le tue competenze! Resta in contatto con la nostra community per continuare a imparare sull'AI! Visita il nostro repository GitHub per scoprire come usiamo l'AI per creare soluzioni innovative in settori come la produzione industriale e l'assistenza sanitaria.
Scritto da
Commenti
Fai una domanda, condividi i tuoi risultati o aiuta qualcun altro.










