Etichettatura dei dati
Scopri il ruolo fondamentale dell'etichettatura dei dati nel machine learning, il suo processo, le sfide e le applicazioni nel mondo reale nello sviluppo dell'AI.
L'etichettatura dei dati è il processo fondamentale di etichettatura o annotazione dei dati grezzi con un contesto significativo, per creare un set di dati adatto all'addestramento.
adatto all'addestramento
modelli di apprendimento automatico (ML). Nel contesto dell'apprendimento
apprendimento supervisionato, gli algoritmi richiedono
esempi che includano sia i dati di input (come un'immagine) sia l'output previsto (l'etichetta). Queste informazioni etichettate
informazioni etichettate servono come verità di base, agendo come standard
standard definitivo rispetto al quale le previsioni del modello vengono misurate e migliorate. Senza un'etichettatura di alta qualità,
anche le architetture più sofisticate, come
Ultralytics YOLO11non possono imparare a riconoscere con precisione
modelli o identificare gli oggetti.
L'importanza di un'etichettatura accurata
Le prestazioni di qualsiasi sistema di intelligenza artificiale sono indissolubilmente legate alla qualità dei dati di
dati di addestramento. Se le etichette sono incoerenti,
imprecise o errate, il modello apprenderà associazioni errate, un problema ampiamente noto in informatica come "garbage in, garbage out".
"Garbage in, garbage out". Un'etichettatura precisa consente ai modelli di generalizzare bene a nuovi dati non visti, il che è fondamentale per l'implementazione di modelli robusti.
cruciale per l'implementazione di robuste applicazioni di
applicazioni di computer vision (CV) robuste. I principali
di riferimento come il set di dati
COCO e
ImageNet sono diventati standard di settore proprio
proprio per la loro ampia e accurata etichettatura.
Tipi comuni di etichettatura nella visione artificiale
Il metodo specifico di etichettatura dei dati dipende in larga misura dall'attività di computer vision che si intende svolgere:
-
Classificazione delle immagini:
Assegnazione di una singola categoria o classe di tag a un'intera immagine (ad esempio, etichettando una foto come "soleggiata" o "piovosa").
"piovoso").
-
Rilevamento degli oggetti: Disegno di caselle di delimitazione 2D
intorno agli oggetti di interesse e assegnare una classe a ogni
assegnare una classe a ciascuna casella. In questo modo si insegna al modello che cos'è l'oggetto e dove si trova.
-
Segmentazione delle immagini: Creazione di
maschere perfette al pixel.
La segmentazione semantica etichetta le regioni per
categoria (ad esempio, tutti i pixel "stradali"), mentre la
segmentazione di istanza distingue tra
singoli oggetti della stessa classe (ad esempio, "auto 1", "auto 2").
-
Stima della posa: Annotazione di
punti chiave specifici di un soggetto, come le articolazioni di un corpo umano (skeletal tracking), per capire il movimento e la postura.
un corpo umano (tracciamento dello scheletro), per comprendere il movimento e la postura.
Applicazioni nel mondo reale
L'etichettatura dei dati consente all'IA di funzionare in ambienti complessi e reali. Due esempi importanti sono:
-
Veicoli autonomi: Perché un'auto a guida autonoma possa
per navigare in sicurezza, si basa su dati di addestramento in cui gli esseri umani hanno etichettato meticolosamente le linee di corsia, i segnali stradali, i pedoni e gli altri veicoli,
segnali stradali, pedoni e altri veicoli. Questo permette al sistema di percezione dell'auto di interpretare la geometria della strada e i potenziali pericoli.
geometria della strada e i potenziali pericoli. Potete approfondire l'argomento nelle nostre
soluzioni AI nel settore automobilistico.
-
Analisi delle immagini mediche:
Nel settore sanitario, i radiologi etichettano le scansioni mediche per identificare le anomalie. Ad esempio, su un
tumori cerebrali, gli esperti potrebbero delineare
i confini esatti di una lesione. Questi dati etichettati addestrano i modelli per assistere i medici nella diagnosi precoce, migliorando i risultati per i pazienti.
i risultati dei pazienti. Per saperne di più
AI nell'assistenza sanitaria per vedere questi modelli in azione.
Etichettatura dei dati vs. Concetti correlati
È utile distinguere l'etichettatura da termini simili utilizzati nella pipeline di preparazione dei dati:
-
Vs. Annotazione dei dati: Questi termini
sono spesso usati in modo intercambiabile. Tuttavia, il termine "etichettatura" è talvolta riservato a operazioni più semplici come la
classificazione (tagging), mentre "annotazione" implica metadati più ricchi, come il disegno di poligoni o il tracciamento di punti chiave.
punti chiave.
-
Vs. Aumento dei dati:
L'etichettatura crea il set di dati iniziale. L'incremento avviene in seguito, quando il software modifica matematicamente le immagini etichettate (ruotando, capovolgendo, aggiungendo rumore)
immagini etichettate (ruotandole, capovolgendole, aggiungendo rumore) per aumentare artificialmente la diversità del set di dati, senza richiedere l'intervento manuale dell'uomo.
manuale dell'uomo.
-
Vs. Pulizia dei dati: Si tratta di correggere gli errori
la correzione degli errori nel set di dati, come la rimozione di file corrotti o la correzione di elementi etichettati in modo errato. La pulizia garantisce l'integrità
integrità delle etichette fornite dagli annotatori.
Strumenti ed esempi di codice
Sebbene l'etichettatura manuale richieda molto tempo, i moderni flussi di lavoro spesso utilizzano software specializzati come il
CVAT (Computer Vision Annotation Tool) o sfruttano l'apprendimento
apprendimento attivo per accelerare il processo. L'imminente
piattaformaUltralytics è stata progettata per semplificare l'intero
ciclo di vita, dall'approvvigionamento dei dati all'annotazione automatica.
Il seguente snippet Python mostra come addestrare un modello YOLO11 utilizzando un set di dati pre-etichettati
(coco8.yaml). Il processo di addestramento si basa interamente sull'esistenza di etichette accurate definite nel file di configurazione del dataset.
file di configurazione del dataset.
from ultralytics import YOLO
# Load the YOLO11 model (nano version)
model = YOLO("yolo11n.pt")
# Train the model on the COCO8 dataset
# The dataset YAML file contains paths to images and their corresponding labels
results = model.train(data="coco8.yaml", epochs=5, imgsz=640)
# The model updates its weights based on the labeled data provided