Data Labeling
L'assegnazione delle etichette ai dati associa classi, riquadri, maschere o punti chiave ai dati grezzi, consentendo ai modelli supervisionati di apprendere. Scopri i tipi di etichetta, i flussi di lavoro e i controlli di qualità.
L'etichettatura dei dati è il processo di associazione di informazioni di ground truth ai dati grezzi, ad esempio il nome di una classe per un'immagine, un riquadro di delimitazione attorno a ogni auto in una foto di strada oppure la trascrizione di una clip audio, affinché i modelli di apprendimento supervisionato possano apprendere da essi. Le etichette definiscono l'attività: un modello impara a prevedere esattamente ciò che le etichette descrivono, con la stessa precisione e coerenza. Annotazione dei dati è un sinonimo; chi svolge il lavoro è detto etichettatore o annotatore. L'etichettatura è di solito la fase più lenta e costosa nella creazione dei dati di addestramento, per questo molti flussi di lavoro fanno proporre le etichette a un modello e poi le fanno correggere dalle persone.
Tipi di etichetta nella computer vision#
Il formato delle etichette dipende dall'attività che il modello deve svolgere:
- Classificazione delle immagini: una classe per immagine, ad esempio «difettoso» o «conforme» per un componente su una linea di ispezione.
- Rilevamento degli oggetti: un riquadro allineato agli assi e una classe per ogni oggetto d'interesse.
- Riquadri di delimitazione orientati: riquadri ruotati che racchiudono oggetti allungati o inclinati, come navi e veicoli nelle immagini aeree.
- Segmentazione delle istanze: un poligono o una maschera di pixel che delinea separatamente ogni oggetto.
- Segmentazione semantica: una classe per ogni pixel, come strada, marciapiede e cielo, senza distinguere i singoli oggetti.
- Stima della posa: keypoint in punti di riferimento fissi, come i 17 punti COCO dal naso e dagli occhi fino alle caviglie, spesso con un flag di visibilità per ciascuno.
L'impegno cresce con il livello di dettaglio. Disegnare un riquadro di alta qualità per ILSVRC, il dataset della sfida ImageNet, richiedeva circa 35 secondi; l'extreme clicking, in cui gli annotatori fanno clic sui punti più in alto, più in basso, più a sinistra e più a destra di un oggetto invece di trascinarne gli angoli, ha ridotto il tempo a 7 secondi mantenendo la stessa qualità dei riquadri. Poligoni e maschere di pixel richiedono ancora più tempo. Al di fuori della visione, le etichette indicano porzioni di entità per il riconoscimento di entità nominate (NER), il sentiment per la classificazione del testo e le trascrizioni per il riconoscimento vocale.
Il flusso di lavoro per l'etichettatura#
I progetti di etichettatura iniziano con linee guida scritte che definiscono ogni classe e risolvono i casi limite prima di iniziare il lavoro: se racchiudere in un riquadro un'auto nascosta al 90%, quanto stringere il contorno attorno agli arti di un ciclista e come trattare riflessi, oggetti minuscoli e folle. Nell'etichettatura assistita dal modello, un modello addestrato sulle etichette raccolte finora pre-etichetta le nuove immagini, gli annotatori correggono gli errori, i revisori controllano un campione e ogni modello riaddestrato rende più accurate le proposte del ciclo successivo. L'apprendimento attivo aggiunge una fase di selezione a questo ciclo, così le persone etichettano per prime le immagini di cui il modello è meno sicuro.
L'editor di annotazioni della Ultralytics Platform integra questo ciclo: la modalità Smart trasforma un clic in una maschera con i modelli Segment Anything di Meta oppure aggiunge come bozze di annotazione le previsioni dei modelli YOLO preaddestrati o ottimizzati da te. La stessa fase di pre-etichettatura viene eseguita in Python con un rilevatore YOLO26, che scrive le sue previsioni nel formato di etichetta usato per l'addestramento:
from pathlib import Path
from ultralytics import YOLO
# Carica un rilevatore YOLO26 nano preaddestrato per proporre etichette
model = YOLO("yolo26n.pt")
# Esegui una previsione su un'immagine non etichettata
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]
# Scrivi una riga "class x_center y_center width height" per ogni oggetto, normalizzata tra 0 e 1
label_file = result.save_txt("bus.txt")
# Stampa le etichette provvisorie che un annotatore esaminerà
print(Path(label_file).read_text())Ogni riga stampata contiene un indice di classe COCO seguito dal centro, dalla larghezza e dall'altezza del riquadro come frazioni delle dimensioni dell'immagine: è il formato di etichetta YOLO, letto direttamente durante l'addestramento dopo che un annotatore ha corretto eventuali riquadri errati o mancanti.
Qualità delle etichette#
Un modello non può essere più coerente delle sue etichette e gli errori sono comuni anche nei dataset più noti. Uno studio sugli errori delle etichette in 10 benchmark ampiamente usati ha stimato che in media almeno il 3.3% delle etichette di test è errato, compreso almeno il 6% del set di validazione ImageNet. I team individuano gli errori con vari controlli standard:
- Domande di controllo: elementi con risposte note inseriti nella coda di ciascun etichettatore per misurarne la precisione, spesso estratti da un dataset di riferimento.
- Etichettatura sovrapposta: due o più annotatori etichettano gli stessi elementi e il loro accordo viene valutato con il kappa di Cohen per le etichette di classe oppure con l'intersezione sull'unione (IoU) tra i rispettivi riquadri e le maschere.
- Verifica basata sul modello: un modello addestrato segnala le etichette con cui è fortemente in disaccordo e strumenti come cleanlab ordinano gli errori di etichetta più probabili per la revisione umana.
Etichettatura dei dati e termini correlati#
- Annotazione dei dati: un sinonimo. I team di computer vision tendono a parlare di annotazione per le geometrie disegnate, come riquadri e maschere.
- Apprendimento semi-supervisionato: un modello etichetta autonomamente i dati non etichettati e conserva le proprie previsioni sicure come pseudo-etichette, senza revisione umana.
- Apprendimento attivo: decide quali elementi far etichettare alle persone, in genere quelli che il modello attuale considera più incerti.
- Pulizia dei dati: corregge i problemi di un dataset, come duplicati, file danneggiati e formati incoerenti, incluse le etichette errate individuate dopo l'etichettatura.
- Dati sintetici: immagini renderizzate o generate le cui etichette sono fornite gratuitamente dal generatore, poiché la disposizione della scena è nota con precisione, a costo di una discrepanza tra immagini sintetiche e reali.










