Scopri YOLO26: vision AI di prossima generazione.
Ultralytics
Ultralytics YOLO

Esplorare l'etichettatura dei dati per progetti di computer vision

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

ABAbirami Vina
4 min read
Etichettatura dei dati per progetti di computer vision

L'intelligenza artificiale (IA) si concentra sul conferire alle macchine abilità simili a quelle umane, e uno dei modi più popolari per farlo è attraverso l'apprendimento supervisionato. In altre parole, insegnare ai modelli di IA mostrando loro esempi etichettati può aiutarli a imparare dai modelli e a migliorare nelle attività. È molto simile a come gli esseri umani imparano dall'esperienza. Quindi, 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 comprenderli. Nella computer vision, questo significa contrassegnare immagini o video per riconoscere e classificare accuratamente oggetti, azioni o scene. L'etichettatura dei dati è vitale perché il successo di un modello di IA dipende fortemente dalla qualità dei dati etichettati su cui viene addestrato.

Gli studi dimostrano che oltre l'80% del tempo di un progetto di IA viene speso nella gestione dei dati, dalla raccolta e aggregazione alla pulizia ed 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 attività come il riconoscimento facciale e il rilevamento di oggetti con maggiore precisione e affidabilità in situazioni reali.

Link to this sectionPerché l'annotazione dei dati è necessaria#

L'annotazione dei dati costituisce la base delle prestazioni di un modello di computer vision. I dati etichettati sono la verità di base (ground truth) che il modello utilizza per imparare ed effettuare previsioni. I dati di ground truth sono fondamentali perché rappresentano il mondo reale che il modello cerca di comprendere. Senza questo riferimento affidabile, il modello di IA sarebbe come una nave che naviga senza bussola.

Ground truth a confronto con la predizione

Fig 1. Ground Truth vs. Previsione.

Un'etichettatura accurata aiuta questi modelli a capire cosa stanno vedendo e porta a un migliore processo decisionale. Se i dati sono etichettati male o sono incoerenti, il modello faticherà 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 attività come la classificazione delle immagini, la segmentazione delle istanze e la stima della posa di oggetti in immagini e video.

Link to this sectionLe migliori risorse per i dataset#

Prima di creare un dataset da zero ed etichettare meticolosamente immagini e video, è una buona idea verificare se puoi utilizzare dataset preesistenti per il tuo progetto. Esistono diversi fantastici repository open-source dove puoi accedere gratuitamente a dataset di alta qualità. Alcuni dei più popolari includono:

  • ImageNet: È comunemente usato per l'addestramento di modelli di classificazione delle immagini.
  • COCO: Questo dataset è progettato per il rilevamento di oggetti, la segmentazione e la didascalia delle immagini.
  • PASCAL VOC: Supporta attività di rilevamento di oggetti e segmentazione.

Esempi di dati nel dataset COCO

Fig 2. Esempi di dati nel dataset COCO.

Quando scegli un dataset, è importante considerare fattori come quanto si adatta al tuo progetto, la dimensione del dataset, la sua diversità e la qualità delle etichette. Inoltre, assicurati di esaminare i termini di licenza del dataset per evitare ripercussioni legali e controlla se i dati sono formattati in un modo adatto al tuo flusso di lavoro e ai tuoi strumenti.

Creare un dataset personalizzato è un'ottima opzione se i dataset esistenti non soddisfano appieno le tue esigenze. Puoi raccogliere immagini utilizzando strumenti come webcam, droni o smartphone, a seconda di ciò che richiede il tuo progetto. Idealmente, il tuo dataset personalizzato dovrebbe essere diversificato, equilibrato e rappresentativo del problema che stai cercando di risolvere. Ciò potrebbe significare acquisire immagini in diverse condizioni di illuminazione, da varie angolazioni e in molteplici ambienti.

Se riesci a raccogliere solo un numero limitato di immagini o video, l'aumento dei dati è una tecnica utile. Consiste nell'espandere il tuo dataset applicando trasformazioni come rotazione, ribaltamento o regolazioni del colore alle immagini esistenti. Aumenta le dimensioni del tuo dataset e rende il tuo modello più robusto e più capace di gestire le variazioni nei dati. Usando un mix di dataset open-source, dataset personalizzati e dati aumentati, puoi aumentare significativamente le prestazioni dei tuoi modelli di computer vision.

Link to this sectionTipi di tecniche di annotazione delle immagini#

Prima di iniziare ad annotare le immagini, è importante familiarizzare con i diversi tipi di annotazioni. Ti aiuterà a scegliere quella giusta per il tuo progetto. Successivamente, daremo un'occhiata ad alcuni dei tipi principali di annotazioni.

Link to this sectionBBox#

I bounding box sono il tipo di annotazione più comune nella computer vision. Sono riquadri rettangolari utilizzati per contrassegnare la posizione di un oggetto in un'immagine. Questi riquadri sono definiti dalle coordinate dei loro angoli e aiutano i modelli di IA a identificare e localizzare gli oggetti. I bounding box sono utilizzati principalmente per il rilevamento di oggetti.

Un esempio di bounding box

Fig 3. Un esempio di bounding box.

Link to this sectionMaschere di segmentazione#

A volte, un oggetto deve essere rilevato in modo più accurato rispetto al semplice bounding box tracciato attorno ad esso. Potresti essere interessato al contorno degli oggetti in un'immagine. In tal caso, le maschere di segmentazione ti consentono 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 la segmentazione delle istanze. La segmentazione semantica comporta l'etichettatura di ogni pixel in 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, invece, fa un passo avanti identificando e separando ogni oggetto individualmente, come distinguere tra ogni singola auto in un'immagine, anche se sono tutte dello stesso tipo.

Un esempio di segmentazione semantica (a sinistra) e segmentazione di istanze (a destra)

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

Link to this sectionCuboidi 3D#

I cuboidi 3D sono simili ai bounding box, ciò che li rende unici è che aggiungono informazioni sulla profondità e forniscono una rappresentazione 3D di un oggetto. Queste informazioni extra consentono 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.

Un esempio di cuboidi 3D

Fig 5. Un esempio di cuboidi 3D.

Link to this sectionKey-points e landmark#

Un altro tipo interessante di annotazione sono i key-points, dove punti specifici come occhi, naso o articolazioni vengono contrassegnati sugli oggetti. I landmark fanno 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 vengono utilizzati per applicazioni come il riconoscimento facciale, il motion capture e la realtà aumentata. Migliorano anche l'accuratezza dei modelli di IA in attività come il riconoscimento dei gesti o l'analisi delle prestazioni sportive.

Un esempio di key-points

Fig 6. Un esempio di key-points.

Link to this sectionCome annotare i dati usando LabelImg#

Ora che abbiamo discusso i diversi tipi di annotazioni, capiamo come puoi annotare le immagini usando uno strumento popolare, LabelImg. LabelImg è uno strumento open-source che rende l'annotazione delle immagini semplice e può essere utilizzato per creare dataset nel formato YOLO (You Only Look Once). È un'ottima scelta per i principianti che lavorano su piccoli progetti Ultralytics YOLOv8.

Configurare LabelImg è semplice. Per prima cosa, assicurati di avere Python 3 installato sul tuo computer. Quindi, puoi installare LabelImg con un comando rapido:

pip3 install labelImg

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

labelImg

LabelImg funziona su molteplici piattaforme, inclusi Windows, macOS e Linux. Se riscontri problemi durante l'installazione, il repository ufficiale LabelImg può fornirti istruzioni più dettagliate.

Utilizzo di LabelImg per l'annotazione di immagini

Fig 7. Utilizzo di LabelImg per l'annotazione di immagini.

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

  • Configura le tue classi: Inizia definendo l'elenco delle classi (categorie) che desideri annotare in un file denominato "predefined_classes.txt." Questo file comunica al software quali oggetti etichetterai nelle tue immagini.
  • Passa al formato YOLO: Per impostazione predefinita, LabelImg utilizza il formato PASCAL VOC, ma se stai lavorando con YOLO, dovrai cambiare formato. Basta fare clic sul pulsante "PascalVOC" sulla barra degli strumenti per passare a YOLO.
  • Inizia ad annotare: Usa le opzioni "Open" o "OpenDIR" per caricare le tue immagini. Quindi, disegna i bounding box attorno agli oggetti che desideri 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 YOLO.
  • Salva e revisiona: 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 tue classi.

Link to this sectionStrategie efficienti per l'etichettatura dei dati#

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

Supponiamo che il compito sia annotare uccelli nelle immagini con bounding box. 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 incluse ali e coda", insieme ad esempi e istruzioni per i casi difficili, puoi assicurarti che i dati siano taggati in modo accurato e coerente.

Anche controlli di qualità regolari sono importanti per mantenere standard elevati. Stabilendo parametri di riferimento e utilizzando metriche specifiche per revisionare il lavoro, puoi mantenere i dati accurati e perfezionare il processo attraverso un feedback continuo.

Link to this sectionL'etichettatura dei dati in sintesi#

L'annotazione dei dati è un concetto semplice che può avere un impatto significativo sul tuo modello di computer vision. Che tu stia utilizzando strumenti come LabelImg per annotare immagini o addestrando modelli su dataset open-source, comprendere l'etichettatura dei dati è fondamentale. Le strategie di etichettatura dei dati possono aiutare a semplificare l'intero processo e renderlo più efficiente. Prenderti il tempo per perfezionare il tuo approccio all'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 community per continuare a imparare sull'IA! Dai un'occhiata al nostro repository GitHub per scoprire come stiamo usando l'IA per creare soluzioni innovative in settori come la produzione e la sanità. 🚀

Explore solutions

Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.

Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.

Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.

Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.

Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.

Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.

Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.

Scopri di più
Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.

Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.

Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.

Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.

Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.

Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.

Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.

Scopri di più
Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.

Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.

Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.

Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.

Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.

Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.

Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.

Scopri di più

Costruiamo insieme il futuro dell'AI!

Inizia il tuo viaggio con il futuro del machine learning