Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Data Augmentation

Migliora i tuoi modelli di machine learning con la data augmentation. Scopri le tecniche per aumentare l'accuratezza, ridurre l'overfitting e migliorare la robustezza.

L'aumento dei dati è una tecnica strategica in apprendimento automatico (ML) utilizzata per artificialmente la dimensione e la diversità di un set di dati di addestramento senza la necessità di raccogliere nuovi dati grezzi. Applicando varie trasformazioni ai campioni di dati esistenti, gli sviluppatori possono creare versioni modificate ma realistiche di immagini, testo o audio. versioni modificate ma realistiche di immagini, testo o audio. Questo processo è essenziale per ridurre overfittingun problema comune in cui un modello memorizza gli esempi di addestramento invece di imparare modelli generalizzabili. In ultima analisi, un aumento efficace porta a un aumento del accuratezza e garantisce che il modello di dati inediti in ambienti reali.

Tecniche e metodi fondamentali

Nel campo della visione artificiale (CV)l'aumento comporta la manipolazione delle immagini in ingresso per simulare condizioni diverse. Queste trasformazioni aiutano il modello diventi invariante ai cambiamenti di orientamento, illuminazione e scala.

  • Trasformazioni geometriche: Modificano la disposizione spaziale di un'immagine. Le operazioni più comuni includono rotazione casuale, capovolgimento orizzontale, ritaglio e scalatura. Ad esempio, utilizzando trasformazioni geometricheOpenCV permette a un modello di riconoscere un oggetto indipendentemente dal fatto che sia capovolto o inclinato.
  • Trasformazioni fotometriche: Regolano i valori dei pixel per alterare l'aspetto visivo senza modificare la geometria. modificare la geometria. Regolano la luminosità, il contrasto, la saturazione e aggiungono rumore gaussiano aiuta il modello a gestire condizioni di illuminazione variabili.
  • Miscelazione avanzata: Moderno rilevamento degli oggetti di oggetti utilizzano spesso tecniche complesse come Mosaico, MixUp e CutMix. Questi metodi combinano più immagini in un unico campione di addestramento, incoraggiando il modello ad apprendere le relazioni contestuali. È possibile esplorare come implementare questi metodi tramite il sito integrazioneUltralytics Albumentations.

Applicazioni nel mondo reale

L'aumento dei dati è indispensabile nei settori in cui i dati di alta qualità sono scarsi o costosi da ottenere.

  1. Imaging medico: In analisi delle immagini medichele leggi sulla privacy e la rarità di condizioni specifiche limitano le dimensioni dei set di dati. Aumentando le radiografie o le risonanze magnetiche con rotazioni e deformazioni elastiche, i ricercatori possono addestrare modelli robusti per rilevamento dei tumorigarantendo che l'intelligenza artificiale possa identificare le anomalie indipendentemente dal posizionamento del paziente o dalla calibrazione della macchina.
  2. Guida autonoma: Le auto a guida autonoma devono navigare in ambienti imprevedibili. Raccogliere dati per per ogni possibile condizione meteorologica è impossibile. Gli ingegneri usano l'aumento per simulare la pioggia, la nebbia o gli scenari di scarsa illuminazione scenari di pioggia, nebbia o scarsa illuminazione su filmati di un giorno sereno. Questo prepara veicoli autonomi a reagire in modo in condizioni meteorologiche avverse, migliorando in modo significativo gli standard di sicurezza descritti da organizzazioni come l'Associazione per la sicurezza e l'ambiente. NHTSA.

Implementazione dell'aumento in Ultralytics YOLO

Il ultralytics semplifica l'applicazione degli incrementi direttamente all'interno della libreria addestramento del modello pipeline. È possibile regolare iperparametri per controllare l'intensità e la probabilità delle trasformazioni.

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Train the model with custom data augmentation parameters
# These arguments modify the training data on-the-fly
model.train(
    data="coco8.yaml",
    epochs=5,
    degrees=30.0,  # Apply random rotations between -30 and +30 degrees
    fliplr=0.5,  # 50% probability of flipping images horizontally
    mosaic=1.0,  # Use Mosaic augmentation (combining 4 images)
    mixup=0.1,  # Apply MixUp augmentation with 10% probability
)

Distinguere i concetti correlati

È importante distinguere l'aumento dei dati da strategie simili:

  • rispetto ai dati sintetici: Mentre l'aumento modifica i dati del mondo reale esistenti, dati sintetici sono generati interamente da zero utilizzando simulazioni al computer o IA generativa. L'ampliamento aggiunge varietà a ciò che si ha; i dati sintetici creano ciò che non si ha.
  • rispetto alla pre-elaborazione dei dati: La pre-elaborazione dei dati comporta la pulizia e la formattazione dei dati (ad esempio, ridimensionamento, normalizzazione) per renderli adatti a un modello. L'incremento avviene dopo la preelaborazione e si concentra sull'espansione della diversità del set di dati piuttosto che sul suo formato.
  • contro l'apprendimento per trasferimento: L'apprendimento per trasferimento sfrutta conoscenza di un modello pre-addestrato (ad esempio, addestrato su un modello di ImageNet) per risolvere un nuovo compito. Anche se spesso vengono usati insieme, l'apprendimento per trasferimento si riferisce ai pesi del modello, mentre l'incremento si riferisce ai dati di ingresso. si riferisce ai dati di ingresso.

Per un'immersione più approfondita nelle moderne librerie di incremento, si consiglia di consultare la sezione documentazione di Albumentations fornisce un ampio elenco di trasformazioni disponibili compatibili con PyTorch e YOLO11.

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora