CutMix
Scopri come la tecnica di data augmentation CutMix previene l’overfitting. Impara ad applicarla facilmente per addestrare modelli Ultralytics YOLO26 robusti.
CutMix è una tecnica avanzata di aumento dei dati utilizzata per addestrare modelli robusti di visione artificiale, tagliando una porzione rettangolare da un'immagine e incollandola su un'immagine di destinazione. A differenza degli aumenti più semplici, che regolano la luminosità o la rotazione, CutMix modifica la composizione fondamentale di un campione di addestramento. Quando i pixel vengono scambiati, anche le corrispondenti etichette ground truth vengono mescolate proporzionalmente all'area della porzione. Questo aiuta le reti neurali artificiali a imparare a identificare gli oggetti da viste parziali, costringendo il modello a basarsi su più caratteristiche invece di concentrarsi esclusivamente sulle parti più discriminanti di un oggetto. Introdotto per la prima volta in un articolo accademico del 2019, è diventato un'operazione standard nei framework di deep learning per prevenire l'overfitting e migliorare la generalizzazione su grandi dataset.
Come funziona la tecnica#
Durante l'addestramento del modello, l'algoritmo seleziona casualmente una coordinata centrale e la dimensione di un riquadro per estrarre una regione da un'immagine secondaria. Questa porzione viene quindi sovrapposta direttamente a un'immagine primaria all'interno del batch attivo. Se l'immagine primaria contenesse un cane e quella secondaria un gatto, l'immagine finale presenterebbe una porzione di gatto al posto di una parte del cane. Le etichette di classificazione vengono aggiornate utilizzando l'interpolazione lineare in base all'area esatta della porzione, ottenendo ad esempio un'etichetta con 0,7 per il cane e 0,3 per il gatto. Nelle attività di rilevamento degli oggetti, vengono mantenuti i riquadri di delimitazione che conservano nella regione incollata almeno una determinata percentuale, spesso il 10%, della loro area originale. Questa tecnica è supportata nativamente come iperparametro di addestramento cutmix in Ultralytics YOLO, permettendo di definire facilmente la probabilità di questa trasformazione.
Differenze tra MixUp e Cutout#
CutMix è strettamente correlato ad altre due importanti tecniche di aumento dei dati, ma ne risolve i limiti specifici:
- Aumento MixUp: MixUp fonde globalmente due immagini calcolando una media ponderata dei valori dei loro pixel. Sebbene sia efficace, spesso produce immagini fantasma innaturali e semitrasparenti, che possono confondere i modelli interrompendo la correlazione spaziale locale. Al contrario, CutMix preserva le intensità originali dei pixel all'interno delle regioni ritagliate, un aspetto che i ricercatori hanno ulteriormente ottimizzato in approcci come Attentive CutMix.
- Aumento Cutout: Cutout elimina informazioni mascherando una regione rettangolare casuale con pixel neri o con la media del dataset. Sebbene incoraggi il modello a osservare l'intero oggetto, spreca preziosi tensori di addestramento. CutMix sostituisce quello spazio mancante con porzioni informative di classificazione delle immagini provenienti da altre immagini, aumentando l'efficienza complessiva dell'apprendimento.
Applicazioni nel mondo reale#
Addestrando i modelli a riconoscere oggetti gravemente occlusi, CutMix migliora significativamente le prestazioni del machine learning in diversi settori.
- AI per il settore automobilistico e la guida autonoma: nelle auto a guida autonoma, insegna al sistema a identificare pedoni o veicoli anche quando sono parzialmente nascosti da segnali stradali, migliorando la sicurezza negli ambienti affollati.
- Diagnostica medica e segmentazione degli organi: in ambito sanitario, questo metodo è ampiamente utilizzato per la segmentazione di organi e tumori, consentendo ai modelli di riconoscere confini complessi dei tessuti anche quando le strutture anatomiche si sovrappongono.
- Telerilevamento per immagini satellitari: questa strategia preserva classi dense e sovrapposte, come edifici e vegetazione, nelle viste aeree. Varianti avanzate vengono attivamente studiate per migliorare il riconoscimento a coda lunga su dati fortemente sbilanciati.
Implementazione pratica#
Integrare questo aumento in una pipeline di AI è semplice. La maggior parte delle librerie di alto livello lo supporta nativamente, come PyTorch Transforms e livelli di pre-elaborazione Keras.
Quando addestri un modello come YOLO26, configurare questo aumento richiede solo la modifica di un singolo parametro. Questo gestisce automaticamente sia l'applicazione delle porzioni alle immagini sia la complessa logica di ritaglio dei riquadri di delimitazione.
from ultralytics import YOLO
# Initialize the recommended Ultralytics YOLO26 model
model = YOLO("yolo26n.pt")
# Train the model with CutMix enabled at a 50% probability
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, cutmix=0.5)Per i team che gestiscono flussi di lavoro di visione su larga scala, la Ultralytics Platform semplifica il processo permettendo agli utenti di ottimizzare queste best practice per l'aumento dei dati direttamente da un'interfaccia cloud, rendendo più efficiente il percorso dall'annotazione al deployment del modello.









