Controllo verde
Link copiato negli appunti

Esplorare l'etichettatura dei dati per i progetti di visione artificiale

Leggi il nostro approfondimento completo sull'etichettatura dei dati in relazione ai progetti di computer vision e scopri come etichettare i dati visivi e perché è così importante.

L'intelligenza artificiale (AI) si concentra sul dare alle macchine capacità simili a quelle umane e uno dei modi più popolari per farlo è l'apprendimento supervisionato. In altre parole, insegnare ai modelli di IA mostrando loro esempi etichettati può aiutarli a imparare dagli schemi e a migliorare i compiti. È molto simile a come gli esseri umani imparano dall'esperienza. Ma come si creano questi esempi etichettati?

L'annotazione dei dati comporta l'etichettatura o il tagging dei dati per aiutare gli algoritmi di apprendimento automatico a comprenderli. Nella computer vision, questo 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 intelligenza artificiale dipende in larga misura dalla qualità dei dati etichettati su cui viene addestrato.

Gli studi dimostrano che oltre l'80% del tempo dedicato ai progetti di IA viene impiegato per la gestione dei dati, dalla raccolta e aggregazione alla pulizia e all'etichettatura. Questo dimostra quanto sia importante l'annotazione dei dati nello sviluppo di modelli di IA. L'utilizzo di dati annotati di alta qualità consente ai modelli di IA di eseguire compiti come il riconoscimento facciale e il rilevamento di oggetti con maggiore precisione e affidabilità in situazioni reali.

Perché l'annotazione dei dati è necessaria

L'annotazione dei dati è alla base delle prestazioni di un modello di computer vision. I dati etichettati sono la verità di base che il modello utilizza per imparare e fare previsioni. I dati della verità di base sono fondamentali perché rappresentano il mondo reale che il modello cerca di comprendere. Senza questa base affidabile, il modello di intelligenza artificiale sarebbe come una nave che naviga senza bussola. 

Figura 1. Verità a terra e previsione.

Un'etichettatura accurata aiuta questi modelli a capire cosa stanno vedendo e a prendere decisioni migliori. Se i dati sono mal etichettati o incoerenti, il modello farà fatica a fare previsioni e decisioni corrette, proprio come uno studente che impara da libri di testo errati. Grazie ai dati annotati, un modello può imparare compiti come la classificazione di immagini, la segmentazione di istanze e la stima della posa di oggetti in immagini e video. 

Le migliori risorse per i set di dati

Prima di creare un set di dati nuovo di zecca e di etichettare meticolosamente immagini e video, è una buona idea vedere se puoi utilizzare set di dati preesistenti per il tuo progetto. Ci sono molti fantastici archivi open-source dove puoi accedere gratuitamente a set di dati di alta qualità. Tra i più popolari ci sono:

  • ImageNet: È comunemente utilizzato per l'addestramento di modelli di classificazione delle immagini.
  • COCO: Questo set di dati è stato progettato per il rilevamento di oggetti, la segmentazione e la didascalia delle immagini.
  • PASCAL VOC: Supporta le attività di rilevamento e segmentazione degli oggetti.
Figura 2. Esempi di dati del set di dati COCO.

Quando scegli un set di dati, è importante considerare fattori come l'adeguatezza al tuo progetto, le dimensioni del set di dati, la sua diversità e la qualità delle etichette. Inoltre, assicurati di esaminare i termini di licenza del set di dati per evitare qualsiasi ripercussione legale e verifica che i dati siano formattati in modo da adattarsi al tuo flusso di lavoro e ai tuoi strumenti.

Creare un set di dati personalizzato è un'ottima opzione se i set di dati esistenti non sono adatti alle tue esigenze. Puoi raccogliere immagini utilizzando strumenti come webcam, droni o smartphone, a seconda di ciò che richiede il tuo progetto. Idealmente, il tuo set di dati personalizzato dovrebbe essere vario, equilibrato e realmente rappresentativo del problema che stai cercando di risolvere. Questo potrebbe significare catturare immagini in diverse condizioni di luce, da varie angolazioni e in diversi ambienti.

Se sei in grado di raccogliere solo un numero ridotto di immagini o video, l'aumento dei dati è una tecnica utile. Si tratta di ampliare il set di dati applicando trasformazioni come la rotazione, il capovolgimento o la regolazione del colore alle immagini esistenti. In questo modo si aumenta la dimensione del set di dati e si rende il modello più robusto e in grado di gestire meglio le variazioni dei dati. Utilizzando un mix di dataset open-source, dataset personalizzati e dati aumentati, puoi incrementare notevolmente le prestazioni dei tuoi modelli di computer vision.

Tipi di tecniche di annotazione delle immagini

Prima di iniziare ad annotare le immagini, è importante conoscere i diversi tipi di annotazioni. Ti aiuterà a scegliere quella giusta per il tuo progetto. Di seguito vedremo alcuni dei principali tipi di annotazioni. 

Caselle di delimitazione

Le caselle di delimitazione sono il tipo di annotazione più comune nella computer vision. Si tratta di caselle rettangolari utilizzate per marcare la posizione di un oggetto in un'immagine. Queste caselle sono definite dalle coordinate dei loro angoli e aiutano i modelli di intelligenza artificiale a identificare e localizzare gli oggetti. Le caselle di delimitazione sono utilizzate principalmente per il rilevamento degli oggetti.

Figura 3. Un esempio di Bounding Box.

Maschere di segmentazione

A volte, un oggetto deve essere rilevato in modo più preciso rispetto a un semplice rettangolo di selezione disegnato intorno ad esso. Potresti essere interessato ai confini degli oggetti di un'immagine. In questo caso, le maschere di segmentazione ti permettono di delineare oggetti complessi. Le maschere di segmentazione sono una rappresentazione più dettagliata a livello di pixel. 

Queste maschere possono essere utilizzate per la segmentazione semantica e per la segmentazione delle istanze. La segmentazione semantica consiste nell'etichettare 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 per istanze, invece, fa un passo avanti identificando e separando ogni oggetto individualmente, come ad esempio distinguere ogni auto in un'immagine, anche se sono tutte dello stesso tipo.

Figura 4. Un esempio di segmentazione semantica (a sinistra) e di maschere di segmentazione delle istanze (a destra).

Cuboidi 3D

I cuboidi 3D sono simili ai bounding box, ma ciò che li rende unici è che i cuboidi 3D aggiungono informazioni sulla profondità e forniscono una rappresentazione 3D di un oggetto. Queste informazioni aggiuntive permettono ai sistemi di comprendere la forma, il volume e la posizione degli oggetti in uno spazio 3D. I cuboidi 3D sono spesso utilizzati nelle auto a guida autonoma per misurare la distanza degli oggetti dal veicolo.

Figura 5. Un esempio di cuboidi 3D.

Punti chiave e punti di riferimento

Un altro tipo di annotazione interessante è quella dei punti chiave, in cui vengono segnati punti specifici come occhi, nasi o articolazioni sugli oggetti. Landmarks fa un ulteriore passo avanti collegando questi punti per catturare la struttura e il movimento di forme più complesse, come volti o pose del corpo. Questi tipi di annotazioni sono utilizzati per applicazioni come il riconoscimento facciale, la cattura del movimento e la realtà aumentata. Inoltre, migliorano l'accuratezza dei modelli di intelligenza artificiale in attività come il riconoscimento dei gesti o l'analisi delle prestazioni sportive.

Figura 6. Un esempio di punti chiave.

Come annotare i dati con LabelImg

Ora che abbiamo parlato dei diversi tipi di annotazioni, vediamo come puoi annotare le immagini utilizzando uno strumento molto diffuso, LabelImg. LabelImg è uno strumento open-source che semplifica l'annotazione delle immagini e può essere utilizzato per creare set di dati nel formato YOLO (You Only Look Once). È un'ottima scelta per i principianti che lavorano su piccoli progettiUltralytics YOLOv8 .

La configurazione di LabelImg è semplice. Innanzitutto, assicurati di avere installato Python 3 sul tuo computer. Poi, puoi installare LabelImg con un rapido comando. 


pip3 install labelImg

Una volta installato, puoi avviare lo strumento utilizzando il comando:


labelImg

LabelImg funziona su diverse piattaforme, tra cui Windows, macOS e Linux. Se riscontri qualche problema durante l'installazione, il repository ufficiale di LabelImg può fornirti istruzioni più dettagliate.

Figura 7. Utilizzo di LabelImg per l'annotazione delle immagini.

Una volta lanciato lo strumento, segui questi semplici passaggi per iniziare a etichettare le tue immagini:

  • Imposta le tue classi: Inizia definendo l'elenco delle classi (categorie) che vuoi annotare in un file chiamato "predefined_classes.txt". Questo file permette al software di sapere quali oggetti etichettare nelle immagini.
  • Passa al formato YOLO : Per impostazione predefinita, LabelImg utilizza il formato PASCAL VOC, ma se stai lavorando con YOLO, dovrai cambiare formato. Basta cliccare sul pulsante "PascalVOC" nella barra degli strumenti per passare al formato YOLO.
  • Inizia ad annotare: Usa le opzioni "Apri" o "ApriDIR" per caricare le immagini. Quindi, disegna dei riquadri di delimitazione intorno agli oggetti che vuoi 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 della tua immagine, contenente le annotazioni di YOLO .
  • Salva e rivedi: 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 di etichettatura dei dati

Per rendere più fluido il processo di etichettatura dei dati, ci sono alcune strategie chiave da tenere a mente. Ad esempio, le linee guida per l'annotazione sono fondamentali. Senza di esse, diversi annotatori potrebbero interpretare un compito in modo diverso. 

Supponiamo che il compito sia quello di annotare gli uccelli nelle immagini con i riquadri di delimitazione. Un annotatore potrebbe etichettare l'intero uccello, mentre un altro potrebbe etichettare solo la testa o le ali. Questo tipo di 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 difficili, puoi assicurarti che i dati siano etichettati in modo accurato e coerente.

Anche i controlli regolari della qualità sono importanti per mantenere standard elevati. Stabilendo dei parametri di riferimento e utilizzando delle metriche specifiche per la revisione del lavoro, puoi mantenere i dati accurati e perfezionare il processo attraverso 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. Sia che tu stia usando strumenti come LabelImg per annotare le immagini, sia che tu stia addestrando modelli su dataset open-source, la comprensione dell'etichettatura dei dati è fondamentale. Le strategie di etichettatura dei dati possono aiutare a semplificare l'intero processo e a renderlo più efficiente. Dedicare del tempo a perfezionare il tuo approccio di annotazione può portare a risultati di IA migliori e più affidabili.

Continua a esplorare e ad ampliare le tue competenze! Resta in contatto con la nostra comunità per continuare a imparare sull'IA! Dai un'occhiata al nostro repository GitHub per scoprire come stiamo utilizzando l'IA per creare soluzioni innovative in settori come quello manifatturiero e sanitario. 🚀

Logo di FacebookLogo di TwitterLogo di LinkedInSimbolo di copia-link

Leggi tutto in questa categoria

Costruiamo insieme il futuro
di AI!

Inizia il tuo viaggio nel futuro dell'apprendimento automatico