Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

Data Cleaning

La pulizia dei dati individua e corregge file danneggiati, duplicati, valori mancanti ed errori nelle etichette di un set di dati prima dell'addestramento. Tecniche, strumenti e codice.

La pulizia dei dati, detta anche bonifica o ripulitura dei dati, è il processo che individua e corregge o rimuove i record corrotti, duplicati, incompleti, incoerenti o etichettati in modo errato in un dataset. Nell'apprendimento automatico (ML), precede la preelaborazione dei dati e l'addestramento, perché un modello apprende tutto ciò che contiene i dati di addestramento, errori compresi. Un rilevatore addestrato su immagini in cui metà delle biciclette è etichettata come «motocicletta» apprende questa confusione, mentre un insieme di test con etichette errate riporta in modo scorretto la qualità del modello. La pulizia è una pratica fondamentale dell'IA incentrata sui dati, che migliora i modelli intervenendo sui dati anziché sull'architettura.

Perché la qualità dei dati limita i modelli#

Gli errori nei dati riducono la precisione in diversi modi. Gli esempi etichettati in modo errato insegnano associazioni sbagliate tra input e output e spingono il modello verso l'overfitting, mentre memorizza il rumore. I duplicati attribuiscono un peso maggiore ad alcuni esempi e, se le copie finiscono sia nei dati di addestramento sia in quelli di valutazione, causano una fuga di dati che gonfia i punteggi. I file corrotti bloccano i caricatori dei dati o vengono ignorati senza segnalarlo, mentre i nomi delle classi incoerenti suddividono una categoria in più categorie. Anche i benchmark ne risentono: uno studio su 10 insiemi di test ampiamente utilizzati ha stimato errori nelle etichette in almeno il 3,3% degli esempi in media e in almeno il 6% dell'insieme di validazione di ImageNet. Valutato su etichette corrette, ResNet-18 supera ResNet-50 quando la quota di esempi di test etichettati originariamente in modo errato aumenta di appena il 6%.

Attività comuni di pulizia dei dati#

I dati tabellari si puliscono di solito con librerie come pandas, mentre i dataset di visione richiedono controlli sui file immagine e sulle relative annotazioni, dai pixel alle coordinate dei riquadri di delimitazione. Le immagini quasi duplicate si individuano confrontando gli embedding; la ricerca vettoriale consente di estendere il confronto a milioni di immagini.

  • Valori mancanti: i record con campi vuoti vengono eliminati oppure completati con valori imputati a partire dalle statistiche delle colonne o dai vicini più prossimi. Nei dataset di visione, un'immagine senza file di etichetta è ambigua: potrebbe essere un'immagine di sfondo inserita deliberatamente oppure una che nessuno ha annotato.
  • Duplicati e quasi duplicati: i file identici a livello di byte condividono lo stesso hash. Le copie ridimensionate o ricompresse e i fotogrammi video consecutivi, invece, non lo condividono e richiedono quindi hash percettivi o la similarità degli embedding.
  • File corrotti e non validi: download incompleti, formati non supportati, modalità colore impreviste e immagini minuscole non vengono decodificati correttamente o non contengono informazioni utili.
  • Errori nelle etichette: classi errate, oggetti mancanti e riquadri approssimativi o posizionati male sono gli errori più costosi nei dati di visione supervisionata e i più difficili da individuare a occhio.
  • Categorie incoerenti: grafie come «Auto» e «auto», oppure classi sovrapposte come «automobile» e «veicolo», vengono accorpate in un'unica tassonomia, così ogni concetto ha una sola etichetta.
  • Valori anomali: i valori impossibili, come età negative o riquadri che superano il bordo dell'immagine, sono errori da correggere. I casi rari ma validi vanno conservati, perché spesso sono proprio i casi limite che il modello deve imparare meglio.

Individuare gli errori nelle etichette con un modello#

Controllare manualmente ogni etichetta non è scalabile, quindi le pipeline di pulizia usano un modello addestrato per stabilire quali etichette esaminare per prime. L'apprendimento affidabile, implementato nella libreria open source cleanlab, usa le probabilità predette fuori campione dalla convalida incrociata e segnala gli esempi per i quali il modello prevede con sicurezza una classe diversa da quella indicata nell'etichetta. La decisione finale spetta comunque alle persone: nello studio sull'insieme di test citato sopra, i revisori reclutati tramite crowdsourcing hanno confermato come reali errori di etichettatura il 51% dei candidati segnalati dall'algoritmo.

Automatizzare i controlli sui file#

I controlli a livello di file sono abbastanza economici da essere eseguiti su ogni nuovo batch di dati, insieme alle verifiche delle etichette e del bilanciamento delle classi trattate nella lezione Controllo qualità dei dataset. Lo script seguente crea una piccola cartella con un'immagine, una copia identica e un file troncato, quindi segnala la copia e il file danneggiato usando Pillow e un hash del contenuto:

import hashlib
from pathlib import Path

from PIL import Image

# A tiny image folder: one original, one exact copy, and one truncated download
folder = Path("images")
folder.mkdir(exist_ok=True)
Image.new("RGB", (640, 480), "orange").save(folder / "a.jpg")
(folder / "b.jpg").write_bytes((folder / "a.jpg").read_bytes())
(folder / "c.jpg").write_bytes((folder / "a.jpg").read_bytes()[:1000])

seen = {}
for path in sorted(folder.glob("*.jpg")):
    try:
        Image.open(path).load()  # decode every pixel; a truncated file raises OSError
    except OSError as error:
        print(f"{path.name}: corrupt ({error})")
        continue
    digest = hashlib.md5(path.read_bytes()).hexdigest()  # identical bytes give identical hashes
    if digest in seen:
        print(f"{path.name}: duplicate of {seen[digest]}")
    seen.setdefault(digest, path.name)

Lo script stampa b.jpg: duplicate of a.jpg e c.jpg: corrupt (image file is truncated (5 bytes not processed)). È importante decodificare completamente ogni immagine, perché aprire un file ne legge solo l'intestazione e un file troncato può superare questo controllo. Ultralytics YOLO esegue controlli correlati ogni volta che crea la cache delle etichette di un dataset: salva di nuovo i JPEG privi del marcatore di fine immagine, rimuove le righe di etichetta duplicate e ignora le coppie immagine-etichetta con immagini inferiori a 10 pixel, coordinate esterne all'immagine o ID di classe non presenti nel dataset YAML. Al termine, nel riepilogo dell'analisi riporta il numero di immagini, sfondi e file corrotti.

  • Preelaborazione dei dati: trasforma dati già corretti nel formato atteso dal modello, ad esempio ridimensionando le immagini e normalizzando i valori dei pixel. La pulizia stabilisce quali dati sono corretti.
  • Aumento dei dati: introduce variazioni deliberate, come ribaltamenti e modifiche dei colori, nei dati puliti durante l'addestramento.
  • Etichettatura dei dati: assegna etichette ai dati non etichettati, mentre la pulizia verifica e corregge le etichette già esistenti.
  • Distorsione del dataset: un dataset può non contenere errori e comunque rappresentare in modo insufficiente determinate condizioni o gruppi. Per correggere la distorsione occorre raccogliere dati diversi: la sola pulizia non basta.

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning