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

Data Preprocessing

La preelaborazione dei dati trasforma tabelle, testo e immagini grezzi in input puliti, normalizzati e in un formato fisso, adatti al modello. Passaggi comuni, regole per evitare la fuga di dati e codice.

Il preprocessing dei dati è l'insieme di trasformazioni che converte i dati grezzi nell'input numerico pulito e formattato in modo coerente che un modello di machine learning (ML) si aspetta, applicate nello stesso modo durante l'addestramento e l'inferenza. Per i dati tabellari significa gestire i valori mancanti, codificare le categorie come numeri e ridimensionare le caratteristiche. Per le immagini significa decodificare i file, ridimensionarli alla dimensione di input della rete, ordinare i canali di colore e scalare i valori dei pixel. Il preprocessing è di fatto parte del modello: una rete addestrata su immagini RGB con valori scalati tra 0 e 1 produce previsioni inaffidabili se riceve immagini BGR con valori da 0 a 255, anche se i suoi pesi non sono cambiati.

Fasi comuni di preprocessing#

  • Pulizia dei dati: rimozione dei duplicati, dei file danneggiati e dei valori impossibili, oltre alla correzione di etichette o unità incoerenti.
  • Imputazione: riempimento dei valori mancanti con una statistica, come la mediana della colonna, una stima basata su un modello o una categoria separata «mancante», oppure eliminazione delle righe con troppi valori assenti.
  • Codifica: conversione delle categorie in numeri, usando la codifica one-hot per categorie non ordinate, come il colore; codici ordinali per quelle ordinate, come la taglia; e indici interi per i nomi delle classi.
  • Scalatura e normalizzazione: la scalatura min-max mappa una caratteristica nell'intervallo 0–1, mentre la standardizzazione sottrae la media e divide per la deviazione standard. In questo modo una caratteristica misurata in millimetri non sovrasta una misurata in metri nei modelli basati sulla distanza e la discesa del gradiente converge più rapidamente. Molti modelli preaddestrati su ImageNet in torchvision si aspettano che ogni canale RGB sia standardizzato con medie pari a 0.485, 0.456 e 0.406 e deviazioni standard pari a 0.229, 0.224 e 0.225.
  • Ridimensionamento: adeguamento di ogni immagine alla dimensione di input della rete tramite deformazione, ritaglio centrale o letterboxing, che scala l'immagine per adattarla e aggiunge padding nella parte restante, così gli oggetti mantengono le proporzioni.
  • Tokenizzazione: suddivisione del testo in token e associazione di ciascuno a un ID intero di un vocabolario fisso.

Alle fasi generali si aggiungono quelle specifiche del dominio. Le scansioni TC vengono sottoposte a windowing, che mappa un intervallo di unità Hounsfield, ad esempio quello che mostra il tessuto polmonare, alle intensità di visualizzazione viste dal modello; l'audio viene ricampionato a una frequenza fissa e spesso convertito in spettrogramma.

Adatta sui dati di addestramento, applica ovunque#

Le statistiche usate nel preprocessing, come medie e deviazioni standard delle caratteristiche, valori di imputazione e vocabolari delle categorie, si calcolano solo sulla partizione di addestramento, si salvano e poi si applicano senza modifiche ai dati di validazione, test e produzione. Calcolarle sull'intero dataset prima della suddivisione permette alle informazioni del set di test di influenzare gli input di addestramento: è una forma di data leakage che gonfia i punteggi di valutazione. Una Pipeline di scikit-learn impone questa regola adattando le fasi di preprocessing solo sui dati passati a fit. Applicare un preprocessing diverso al momento del servizio, ad esempio un altro metodo di ridimensionamento o un decoder di immagini diverso, causa un disallineamento tra addestramento e servizio: il modello ottiene buoni risultati offline e peggiori in produzione.

Preprocessing delle immagini per i modelli di visione#

I modelli per immagini richiedono un layout dei tensori fisso. OpenCV decodifica le immagini come array di interi a 8 bit di altezza × larghezza × canale, nell'ordine BGR, mentre le reti PyTorch si aspettano batch di tensori float in ordine RGB con i canali per primi. La previsione di YOLO26 in Ultralytics esegue automaticamente questi passaggi: ridimensiona ogni immagine in modo che il lato più lungo corrisponda a imgsz, pari a 640 pixel per impostazione predefinita, senza deformarla; aggiunge pixel grigi di valore 114 fino a ottenere un quadrato di 640 × 640 per i modelli esportati a forma fissa oppure solo fino al multiplo successivo dello stride di 32 pixel per i modelli PyTorch; inverte l'ordine BGR in RGB, riordina l'array con i canali per primi e divide per 255. Lo script seguente con OpenCV e NumPy esegue manualmente il letterboxing quadrato:

import urllib.request

import cv2
import numpy as np

# Download a sample photo and read it as a BGR uint8 array of shape (height, width, 3)
urllib.request.urlretrieve("https://ultralytics.com/images/bus.jpg", "bus.jpg")
image = cv2.imread("bus.jpg")

# Resize so the longer side is 640 pixels, keeping the aspect ratio
scale = 640 / max(image.shape[:2])
resized = cv2.resize(image, None, fx=scale, fy=scale, interpolation=cv2.INTER_LINEAR)

# Letterbox: center the resized image on a 640x640 canvas of gray (114) padding
canvas = np.full((640, 640, 3), 114, dtype=np.uint8)
top, left = (640 - resized.shape[0]) // 2, (640 - resized.shape[1]) // 2
canvas[top : top + resized.shape[0], left : left + resized.shape[1]] = resized

# Reorder BGR to RGB and HWC to CHW, scale pixels to 0-1, and add a batch dimension
tensor = canvas[:, :, ::-1].transpose(2, 0, 1).astype(np.float32) / 255.0
batch = tensor[None]
print(f"{image.shape} uint8 -> {batch.shape} float32 in [{batch.min():.1f}, {batch.max():.1f}]")

Lo script stampa (1080, 810, 3) uint8 -> (1, 3, 640, 640) float32 in [0.0, 1.0]: la foto da 1080 × 810 diventa un batch di una singola immagine, con il layout e l'intervallo di valori previsti da un rilevatore PyTorch e con barre grigie che riempiono gli 80 pixel su ciascun lato.

  • Etichettatura dei dati: creazione dei target di ground truth, come classi e riquadri, che il preprocessing converte poi nel formato numerico letto durante l'addestramento.
  • Ingegneria delle caratteristiche: creazione di nuove variabili di input sulla base della conoscenza del dominio, ad esempio l'indice di massa corporea ricavato dalle colonne di altezza e peso.
  • Batch normalization: un livello interno alla rete che standardizza le attivazioni intermedie durante l'addestramento e l'inferenza. La normalizzazione dell'input nel preprocessing avviene una sola volta, prima che i dati raggiungano la rete.
  • Aumento dei dati: trasformazioni casuali come ribaltamenti, variazioni dei colori e mosaici, applicate solo durante l'addestramento per creare copie diversificate di ogni esempio. Il preprocessing è deterministico e identico in fase di addestramento e inferenza.

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