Meet YOLO26: next-gen vision AI.

Link to this sectionStrategie di raccolta e annotazione dei dati per la visione artificiale#

Link to this sectionIntroduzione#

La chiave del successo in ogni progetto di visione artificiale inizia con strategie efficaci di raccolta e annotazione dei dati. La qualità dei dati influisce direttamente sulle prestazioni del modello, quindi è importante comprendere le migliori pratiche relative alla raccolta e all'annotazione dei dati.



Watch: How to Build Effective Data Collection and Annotation Strategies for Computer Vision 🚀

Ogni considerazione riguardante i dati deve allinearsi strettamente agli obiettivi del tuo progetto. Cambiamenti nelle tue strategie di annotazione potrebbero spostare il focus o l'efficacia del progetto e viceversa. Tenendo questo a mente, esaminiamo più da vicino i modi migliori per approcciare la raccolta e l'annotazione dei dati.

Link to this sectionImpostazione delle classi e raccolta dei dati#

La raccolta di immagini e video per un progetto di visione artificiale comporta la definizione del numero di classi, il reperimento dei dati e la considerazione delle implicazioni etiche. Prima di iniziare a raccogliere i tuoi dati, devi avere chiaro:

Link to this sectionScegliere le classi giuste per il tuo progetto#

Una delle prime domande quando si inizia un progetto di visione artificiale è quante classi includere. Devi determinare l'appartenenza alla classe, che comporta le diverse categorie o etichette che desideri che il tuo modello riconosca e differenzi. Il numero di classi dovrebbe essere determinato dagli obiettivi specifici del tuo progetto.

Ad esempio, se vuoi monitorare il traffico, le tue classi potrebbero includere "auto", "camion", "autobus", "motocicletta" e "bicicletta". D'altra parte, per tracciare articoli in un negozio, le tue classi potrebbero essere "frutta", "verdura", "bevande" e "snack". Definire le classi in base agli obiettivi del tuo progetto aiuta a mantenere il tuo set di dati pertinente e focalizzato.

Quando definisci le tue classi, un'altra distinzione importante da fare è se scegliere conteggi di classi grossolani o raffinati. 'Conteggio' si riferisce al numero di classi distinte a cui sei interessato. Questa decisione influenza la granularità dei tuoi dati e la complessità del tuo modello. Ecco le considerazioni per ogni approccio:

  • Conteggio di classi grossolano: Si tratta di categorie più ampie e inclusive, come "veicolo" e "non veicolo". Semplificano l'annotazione e richiedono meno risorse computazionali, ma forniscono informazioni meno dettagliate, limitando potenzialmente l'efficacia del modello in scenari complessi.
  • Conteggio di classi raffinato: Più categorie con distinzioni più sottili, come "berlina", "SUV", "camioncino" e "motocicletta". Catturano informazioni più dettagliate, migliorando l'accuratezza e le prestazioni del modello. Tuttavia, sono più lunghe e laboriose da annotare e richiedono maggiori risorse computazionali.

Iniziare con classi più specifiche può essere molto utile, specialmente in progetti complessi in cui i dettagli sono importanti. Classi più specifiche ti consentono di raccogliere dati più dettagliati, ottenere approfondimenti più profondi e stabilire distinzioni più chiare tra le categorie. Non solo migliora l'accuratezza del modello, ma rende anche più facile regolare il modello in seguito se necessario, risparmiando tempo e risorse.

Link to this sectionFonti dei dati#

Puoi utilizzare set di dati pubblici o raccogliere i tuoi dati personalizzati. Set di dati pubblici come quelli su Kaggle e Google Dataset Search Engine offrono dati ben annotati e standardizzati, rendendoli ottimi punti di partenza per l'addestramento e la convalida dei modelli.

La raccolta di dati personalizzati, d'altra parte, ti consente di personalizzare il tuo set di dati in base alle tue esigenze specifiche. Potresti acquisire immagini e video con fotocamere o droni, estrarre immagini dal web o utilizzare dati interni esistenti della tua organizzazione. I dati personalizzati ti danno maggiore controllo sulla loro qualità e pertinenza. Combinare fonti di dati sia pubbliche che personalizzate aiuta a creare un set di dati diversificato e completo.

Link to this sectionEvitare i pregiudizi nella raccolta dei dati#

I pregiudizi si verificano quando determinati gruppi o scenari sono sottorappresentati o sovrarappresentati nel tuo set di dati. Ciò porta a un modello che funziona bene su alcuni dati ma male su altri. È fondamentale evitare pregiudizi nell'AI in modo che il tuo modello di visione artificiale possa funzionare bene in una varietà di scenari.

Ecco come puoi evitare i pregiudizi durante la raccolta dei dati:

  • Fonti diversificate: Raccogli dati da molte fonti per catturare prospettive e scenari diversi.
  • Rappresentazione equilibrata: Includi una rappresentazione equilibrata da tutti i gruppi pertinenti. Ad esempio, considera diverse età, generi ed etnie.
  • Monitoraggio continuo: Rivedi e aggiorna regolarmente il tuo set di dati per identificare e affrontare eventuali pregiudizi emergenti.
  • Tecniche di mitigazione dei pregiudizi: Utilizza metodi come il sovracampionamento delle classi sottorappresentate, data augmentation e algoritmi attenti all'equità.

Seguire queste pratiche aiuta a creare un modello più robusto ed equo che può generalizzare bene nelle applicazioni del mondo reale.

Link to this sectionCos'è l'annotazione dei dati?#

L'annotazione dei dati è il processo di etichettatura dei dati per renderli utilizzabili per l'addestramento di modelli di machine learning. Nella visione artificiale, questo significa etichettare immagini o video con le informazioni di cui un modello ha bisogno per apprendere. Senza dati correttamente annotati, i modelli non possono apprendere accuratamente le relazioni tra input e output.

Link to this sectionTipi di annotazione dei dati#

A seconda dei requisiti specifici di un compito di visione artificiale, esistono diversi tipi di annotazione dei dati. Ecco alcuni esempi:

  • Bounding Boxes: Riquadri rettangolari disegnati attorno agli oggetti in un'immagine, utilizzati principalmente per compiti di rilevamento oggetti. Questi riquadri sono definiti dalle loro coordinate in alto a sinistra e in basso a destra.
  • Poligoni: Contorni dettagliati per gli oggetti, che consentono un'annotazione più precisa rispetto ai bounding box. I poligoni vengono utilizzati in compiti come la segmentazione di istanze, dove la forma dell'oggetto è importante.
  • Maschere: Maschere binarie in cui ogni pixel fa parte di un oggetto o dello sfondo. Le maschere vengono utilizzate nei compiti di segmentazione semantica per fornire dettagli a livello di pixel.
  • Keypoints: Punti specifici contrassegnati all'interno di un'immagine per identificare posizioni di interesse. I keypoints vengono utilizzati in compiti come la stima della posa e il rilevamento dei punti di riferimento facciali.

Data annotation types including bounding boxes, polygons, and masks

Link to this sectionFormati di annotazione comuni#

Dopo aver selezionato un tipo di annotazione, è importante scegliere il formato appropriato per l'archiviazione e la condivisione delle annotazioni.

I formati comunemente utilizzati includono COCO, che supporta vari tipi di annotazione come rilevamento oggetti, rilevamento di keypoints, segmentazione di cose, segmentazione panottica e didascalie di immagini, archiviati in JSON. Pascal VOC utilizza file XML ed è popolare per i compiti di rilevamento oggetti. YOLO, d'altra parte, crea un file .txt per ogni immagine, contenente annotazioni come classe dell'oggetto, coordinate, altezza e larghezza, rendendolo adatto al rilevamento oggetti.

Link to this sectionTecniche di annotazione#

Ora, supponendo che tu abbia scelto un tipo di annotazione e un formato, è tempo di stabilire regole di etichettatura chiare e oggettive. Queste regole sono come una tabella di marcia per la coerenza e l'accuratezza durante tutto il processo di annotazione. Gli aspetti chiave di queste regole includono:

  • Chiarezza e dettaglio: Assicurati che le tue istruzioni siano chiare. Usa esempi e illustrazioni per mostrare cosa ci si aspetta.
  • Coerenza: Mantieni le tue annotazioni uniformi. Stabilisci criteri standard per annotare diversi tipi di dati, in modo che tutte le annotazioni seguano le stesse regole.
  • Riduzione dei pregiudizi: Rimani neutrale. Allenati a essere oggettivo e riduci al minimo i pregiudizi personali per garantire annotazioni eque.
  • Efficienza: Lavora in modo più intelligente, non più duro. Utilizza strumenti e flussi di lavoro che automatizzano i compiti ripetitivi, rendendo il processo di annotazione più veloce ed efficiente.

Rivedere e aggiornare regolarmente le tue regole di etichettatura aiuterà a mantenere le tue annotazioni accurate, coerenti e allineate con gli obiettivi del tuo progetto.

Link to this sectionStrumenti di annotazione popolari#

Diciamo che ora sei pronto per annotare. Esistono diversi strumenti open-source disponibili per aiutare a semplificare il processo di annotazione dei dati. Ecco alcuni utili strumenti di annotazione aperti:

  • Label Studio: Uno strumento flessibile che supporta un'ampia gamma di compiti di annotazione e include funzionalità per la gestione dei progetti e il controllo qualità.
  • CVAT: Un potente strumento che supporta vari formati di annotazione e flussi di lavoro personalizzabili, rendendolo adatto a progetti complessi.
  • Labelme: Uno strumento semplice e facile da usare che consente una rapida annotazione di immagini con poligoni, rendendolo ideale per compiti semplici.
  • LabelImg: Uno strumento di annotazione grafica di immagini facile da usare, particolarmente adatto per creare annotazioni di bounding box nel formato YOLO.

LabelMe annotation tool for instance segmentation

Questi strumenti open-source sono convenienti e offrono una gamma di funzionalità per soddisfare diverse esigenze di annotazione. Ultralytics Platform fornisce anche un editor di annotazione integrato che supporta annotazioni di rilevamento, segmentazione di istanze, posa, OBB e classificazione con annotazione intelligente basata su SAM per compiti spaziali.

Link to this sectionAlcune altre cose da considerare prima di annotare i dati#

Prima di immergerti nell'annotazione dei tuoi dati, ci sono alcune altre cose da tenere a mente. Dovresti essere consapevole dell'accuratezza, della precisione, degli outlier e del controllo qualità per evitare di etichettare i tuoi dati in modo controproducente.

Link to this sectionComprendere accuratezza e precisione#

È importante comprendere la differenza tra accuratezza e precisione e come si riferisce all'annotazione. L'accuratezza si riferisce a quanto i dati annotati sono vicini ai valori reali. Ci aiuta a misurare quanto fedelmente le etichette riflettono gli scenari del mondo reale. La precisione indica la coerenza delle annotazioni. Verifica se stai dando la stessa etichetta allo stesso oggetto o caratteristica in tutto il set di dati. Un'elevata accuratezza e precisione portano a modelli addestrati meglio riducendo il rumore e migliorando la capacità del modello di generalizzare dai dati di addestramento.

Accuracy vs precision comparison for data annotation

Link to this sectionIdentificare gli outlier#

Gli outlier sono punti dati che si discostano parecchio da altre osservazioni nel set di dati. Rispetto alle annotazioni, un outlier potrebbe essere un'immagine etichettata erroneamente o un'annotazione che non si adatta al resto del set di dati. Gli outlier sono preoccupanti perché possono distorcere il processo di apprendimento del modello, portando a previsioni imprecise e scarsa generalizzazione.

Puoi utilizzare vari metodi per rilevare e correggere gli outlier:

  • Tecniche statistiche: Per rilevare outlier in caratteristiche numeriche come valori di pixel, coordinate di bounding box o dimensioni degli oggetti, puoi utilizzare metodi come box plot, istogrammi o z-score.
  • Tecniche visive: Per individuare anomalie in caratteristiche categoriche come classi di oggetti, colori o forme, usa metodi visivi come tracciare immagini, etichette o mappe di calore.
  • Metodi algoritmici: Utilizza strumenti come il clustering (ad es. clustering K-means, DBSCAN) e algoritmi di rilevamento anomalie per identificare gli outlier in base ai modelli di distribuzione dei dati.

Link to this sectionControllo qualità dei dati annotati#

Proprio come altri progetti tecnici, il controllo qualità è un must per i dati annotati. È una buona pratica controllare regolarmente le annotazioni per assicurarsi che siano accurate e coerenti. Questo può essere fatto in alcuni modi diversi:

  • Revisione di campioni di dati annotati
  • Utilizzo di strumenti automatizzati per individuare errori comuni
  • Far ricontrollare le annotazioni a un'altra persona

Se stai lavorando con più persone, la coerenza tra diversi annotatori è importante. Un buon accordo tra annotatori significa che le linee guida sono chiare e tutti le seguono allo stesso modo. Mantiene tutti sulla stessa lunghezza d'onda e le annotazioni coerenti.

Durante la revisione, se trovi errori, correggili e aggiorna le linee guida per evitare errori futuri. Fornisci feedback agli annotatori e offri una formazione regolare per aiutare a ridurre gli errori. Avere un processo solido per gestire gli errori mantiene il tuo set di dati accurato e affidabile.

Link to this sectionStrategie efficienti di etichettatura dei dati#

Per rendere il processo di etichettatura dei dati più fluido ed efficace, prendi in considerazione l'implementazione di queste strategie:

  • Linee guida chiare per l'annotazione: Fornisci istruzioni dettagliate con esempi per assicurarti che tutti gli annotatori interpretino i compiti in modo coerente. Ad esempio, quando etichetti gli uccelli, specifica se includere l'intero uccello o solo parti specifiche.
  • Controlli di qualità regolari: Stabilisci dei benchmark e utilizza metriche specifiche per rivedere il lavoro, mantenendo standard elevati attraverso un feedback continuo.
  • Utilizza strumenti di pre-annotazione: Molte moderne piattaforme di annotazione offrono funzionalità di pre-annotazione assistita dall'AI che possono accelerare significativamente il processo generando automaticamente annotazioni iniziali che gli umani possono poi perfezionare.
  • Implementa l'apprendimento attivo: Questo approccio dà priorità all'etichettatura dei campioni più informativi, il che può ridurre il numero totale di annotazioni necessarie mantenendo le prestazioni del modello.
  • Elaborazione in batch: Raggruppa immagini simili insieme per l'annotazione per mantenere la coerenza e migliorare l'efficienza.

Queste strategie possono aiutare a mantenere annotazioni di alta qualità riducendo al contempo il tempo e le risorse necessarie per il processo di etichettatura.

Link to this sectionCondividi i tuoi pensieri con la community#

Condividere le tue idee e domande con altri appassionati di visione artificiale può aiutare ad accelerare i tuoi progetti. Ecco alcuni ottimi modi per imparare, risolvere problemi e fare networking:

Link to this sectionDove trovare aiuto e supporto#

  • Problemi su GitHub: Visita il repository GitHub di YOLO26 e utilizza la scheda Issues per sollevare domande, segnalare bug e suggerire funzionalità. La community e i manutentori sono lì per aiutare con qualsiasi problema tu debba affrontare.
  • Server Discord di Ultralytics: Unisciti al server Discord di Ultralytics per connetterti con altri utenti e sviluppatori, ottenere supporto, condividere conoscenze e fare brainstorming di idee.

Link to this sectionDocumentazione ufficiale#

  • Documentazione di Ultralytics YOLO26: Fai riferimento alla documentazione ufficiale di YOLO26 per guide approfondite e preziose intuizioni su numerosi compiti e progetti di visione artificiale.

Link to this sectionConclusione#

Seguendo le migliori pratiche per la raccolta e l'annotazione dei dati, evitando i pregiudizi e utilizzando gli strumenti e le tecniche giusti, puoi migliorare significativamente le prestazioni del tuo modello. Interagire con la community e utilizzare le risorse disponibili ti terrà informato e ti aiuterà a risolvere i problemi in modo efficace. Ricorda, dati di qualità sono il fondamento di un progetto di successo e le giuste strategie ti aiuteranno a costruire modelli robusti e affidabili.

Link to this sectionFAQ#

Link to this sectionQual è il modo migliore per evitare pregiudizi nella raccolta di dati per progetti di visione artificiale?#

Evitare i pregiudizi nella raccolta dei dati garantisce che il tuo modello di visione artificiale funzioni bene in vari scenari. Per ridurre al minimo i pregiudizi, prendi in considerazione la raccolta di dati da fonti diversificate per catturare prospettive e scenari diversi. Assicurati una rappresentazione equilibrata tra tutti i gruppi pertinenti, come diverse età, generi ed etnie. Rivedi e aggiorna regolarmente il tuo set di dati per identificare e affrontare eventuali pregiudizi emergenti. Tecniche come il sovracampionamento delle classi sottorappresentate, la data augmentation e algoritmi attenti all'equità possono anche aiutare a mitigare i pregiudizi. Impiegando queste strategie, mantieni un set di dati robusto ed equo che migliora la capacità di generalizzazione del tuo modello.

Link to this sectionCome posso garantire un'elevata coerenza e accuratezza nell'annotazione dei dati?#

Garantire un'elevata coerenza e accuratezza nell'annotazione dei dati comporta la definizione di linee guida di etichettatura chiare e oggettive. Le tue istruzioni dovrebbero essere dettagliate, con esempi e illustrazioni per chiarire le aspettative. La coerenza si ottiene stabilendo criteri standard per l'annotazione di vari tipi di dati, assicurando che tutte le annotazioni seguano le stesse regole. Per ridurre i pregiudizi personali, addestra gli annotatori a rimanere neutrali e oggettivi. Revisioni e aggiornamenti regolari delle regole di etichettatura aiutano a mantenere l'accuratezza e l'allineamento con gli obiettivi del progetto. Anche l'utilizzo di strumenti automatizzati per verificare la coerenza e ottenere feedback da altri annotatori contribuisce a mantenere annotazioni di alta qualità.

Link to this sectionQuante immagini mi servono per l'addestramento dei modelli Ultralytics YOLO?#

Per un efficace transfer learning e rilevamento oggetti con i modelli Ultralytics YOLO, inizia con un minimo di alcune centinaia di oggetti annotati per classe. Se stai addestrando solo per una classe, inizia con almeno 100 immagini annotate e addestra per circa 100 epoche. Compiti più complessi potrebbero richiedere migliaia di immagini per classe per ottenere elevata affidabilità e prestazioni. Annotazioni di qualità sono cruciali, quindi assicurati che i tuoi processi di raccolta e annotazione dei dati siano rigorosi e allineati agli obiettivi specifici del tuo progetto. Esplora strategie di addestramento dettagliate nella guida all'addestramento di YOLO26.

Link to this sectionQuali sono alcuni strumenti popolari per l'annotazione dei dati?#

Diversi popolari strumenti open-source possono semplificare il processo di annotazione dei dati:

  • Label Studio: Uno strumento flessibile che supporta vari compiti di annotazione, gestione dei progetti e funzionalità di controllo qualità.
  • CVAT: Offre molteplici formati di annotazione e flussi di lavoro personalizzabili, rendendolo adatto a progetti complessi.
  • Labelme: Ideale per un'annotazione di immagini rapida e semplice con poligoni.
  • LabelImg: Perfetto per creare annotazioni di bounding box nel formato YOLO con un'interfaccia semplice.

Questi strumenti possono aiutare a migliorare l'efficienza e l'accuratezza dei tuoi flussi di lavoro di annotazione. Per elenchi di funzionalità estesi e guide, fai riferimento alla nostra documentazione sugli strumenti di annotazione dei dati.

Link to this sectionQuali tipi di annotazione dei dati sono comunemente usati nella visione artificiale?#

Diversi tipi di annotazione dei dati soddisfano vari compiti di visione artificiale:

  • Bounding Boxes: Utilizzati principalmente per il rilevamento oggetti, si tratta di riquadri rettangolari attorno agli oggetti in un'immagine.
  • Poligoni: Forniscono contorni degli oggetti più precisi, adatti a compiti di segmentazione di istanze.
  • Masks: offrono dettagli a livello di pixel e sono utilizzati nella segmentazione semantica per differenziare gli oggetti dallo sfondo.
  • Keypoints: identificano specifici punti di interesse all'interno di un'immagine, utili per attività come la stima della posa e il rilevamento dei punti di riferimento facciali.

La selezione del tipo di annotazione appropriato dipende dai requisiti del tuo progetto. Scopri di più su come implementare queste annotazioni e sui loro formati nella nostra guida all'annotazione dei dati.

Commenti