Cliccando su “Accetta tutti i cookie”, l'utente accetta di memorizzare i cookie sul proprio dispositivo per migliorare la navigazione del sito, analizzare l'utilizzo del sito e assistere le nostre attività di marketing. Maggiori informazioni
Impostazioni dei cookie
Cliccando su “Accetta tutti i cookie”, l'utente accetta di memorizzare i cookie sul proprio dispositivo per migliorare la navigazione del sito, analizzare l'utilizzo del sito e assistere le nostre attività di marketing. Maggiori informazioni
Scopri come utilizzare Albumentations per l'aumento dei dati durante l'addestramento personalizzato di Ultralytics YOLO11 per migliorare le prestazioni del modello con dati di training diversificati.
Quando si costruisce una soluzione di computer vision, raccogliere un insieme diversificato di immagini per l'addestramento dei modelli di Vision AI può essere una parte cruciale del processo. Spesso richiede molto tempo e denaro e, a volte, le immagini raccolte non sono ancora abbastanza varie affinché i modelli imparino efficacemente.
Ad esempio, modelli di computer vision come Ultralytics YOLO11 possono essere addestrati su misura su dataset di immagini per varie attività di computer vision relative a diverse applicazioni. Dati diversificati sono fondamentali perché aiutano il modello a generalizzare meglio, consentendogli di riconoscere oggetti e modelli in un'ampia gamma di scenari reali.
Se hai difficoltà con la mancanza di dati diversificati, le tecniche di aumento dei dati delle immagini possono essere un'ottima soluzione. Metodi come la rotazione, il capovolgimento e la regolazione della luminosità possono aiutare ad aumentare la varietà del tuo dataset, migliorando la capacità del modello di gestire una gamma più ampia di condizioni.
Ecco perché Ultralytics supporta un'integrazione per l'aumento dei dati delle immagini. Utilizzando Albumentations, uno strumento popolare che offre una raccolta di trasformazioni, puoi creare dati visivi diversificati. Questa integrazione semplifica il processo di addestramento di YOLO11 aumentando automaticamente le immagini di addestramento, portando a prestazioni del modello migliorate.
In questo articolo, esploreremo come è possibile utilizzare l'integrazione di Albumentations, i suoi vantaggi e il suo impatto sull'addestramento del modello.
Cos'è Albumentations?
I modelli di computer vision possono apprendere da un'ampia serie di immagini di alta qualità per riconoscere oggetti in diversi ambienti. La raccolta di grandi dataset da fonti del mondo reale può essere lenta, costosa e inefficiente. Per semplificare questo compito, è possibile utilizzare l'image data augmentation per creare nuove variazioni di immagini esistenti, aiutando i modelli a imparare da diversi scenari senza raccogliere ulteriori dati.
Nello specifico, puoi sfruttare Albumentations, una libreria open-source introdotta per l'efficiente data augmentation delle immagini nel 2018. Supporta una varietà di operazioni, da semplici modifiche geometriche come rotazioni e capovolgimenti a regolazioni più complesse come luminosità, contrasto e aggiunta di rumore.
Fig 1. Esempi di diversi tipi di data augmentation delle immagini.
Caratteristiche principali di Albumentations
Albumentations è noto per le sue elevate prestazioni, il che significa che può elaborare le immagini in modo rapido ed efficiente. Costruito su librerie ottimizzate come OpenCV e NumPy, gestisce grandi set di dati con tempi di elaborazione minimi, rendendolo ideale per l'aumento rapido dei dati durante l'addestramento del modello.
Ecco alcune altre caratteristiche chiave di Albumentations:
Ampia gamma di trasformazioni: Albumentations fornisce oltre 70 tipi di aumentazioni. Queste variazioni aiutano i modelli a imparare a rilevare gli oggetti nonostante i cambiamenti di illuminazione, angolazione o sfondo.
Ottimizzato per la velocità: Utilizza tecniche di ottimizzazione avanzate come SIMD (Single Instruction, Multiple Data), che elabora più punti dati contemporaneamente per accelerare l'aumento dei dati e gestire in modo efficiente grandi dataset.
Tre livelli di aumento dati: Migliora i dati in tre modi. Ad esempio, gli aumenti a livello di pixel regolano la luminosità e il colore senza alterare gli oggetti. Nel frattempo, gli aumenti a livello spaziale modificano il posizionamento degli oggetti preservando i dettagli chiave e gli aumenti a livello di fusione combinano parti di immagini diverse per creare nuovi campioni.
Perché dovresti usare l'integrazione Albumentations?
Potresti chiederti: ci sono molti modi per applicare aumentazioni a un dataset, e potresti persino crearne di tue usando strumenti come OpenCV. Quindi, perché scegliere un'integrazione che supporta una libreria come Albumentations?
La creazione manuale di aumentazioni con strumenti come OpenCV può richiedere molto tempo e una certa competenza. Può anche essere difficile mettere a punto le trasformazioni per ottenere i risultati migliori. L'integrazione di Albumentations semplifica questo processo. Offre molte trasformazioni pronte all'uso che possono farti risparmiare tempo e fatica durante la preparazione del tuo dataset.
Un altro motivo per scegliere l'integrazione di Albumentations è che funziona senza problemi con la pipeline di training dei modelli Ultralytics. Rende molto più facile il training personalizzato di YOLO11, poiché le aumentazioni vengono applicate automaticamente durante il training. Semplifica il processo, in modo che possiate concentrarvi maggiormente sul miglioramento del vostro modello piuttosto che sulla gestione della preparazione dei dati.
Iniziare con l'integrazione di Albumentations
È interessante notare che l'utilizzo delle integrazioni di Albumentations per addestrare YOLO11 è più semplice di quanto possa sembrare. Una volta impostate le librerie corrette, l'integrazione applica automaticamente l'aumento dei dati delle immagini durante l'addestramento. Questo aiuta il modello a imparare da diverse variazioni dell'immagine utilizzando lo stesso set di dati.
Successivamente, esaminiamo come installare e utilizzare l'integrazione Albumentations durante l'addestramento personalizzato di YOLO11.
Installazione del pacchetto Python Ultralytics e Albumentations
Prima di applicare le aumentazioni, è necessario installare sia il pacchetto Python di Ultralytics che Albumentations. L'integrazione è stata realizzata in modo che entrambe le librerie funzionino insieme senza problemi per impostazione predefinita, quindi non è necessario preoccuparsi di configurazioni complesse.
L'intero processo di installazione può essere completato in pochi minuti con un singolo comando pip, che è uno strumento di gestione dei pacchetti per l'installazione di librerie Python, come mostrato nell'immagine sottostante.
Fig. 2. Installazione di Ultralytics e Albumentations.
Una volta installato Albumentations, la modalità di training del modello Ultralytics applica automaticamente l'aumento dei dati durante il training. Se Albumentations non è installato, questi aumenti non verranno applicati. Per maggiori dettagli, è possibile consultare la documentazione ufficiale di Ultralytics.
Addestramento di YOLO11 con l'aiuto dell'integrazione di Albumentations
Cerchiamo di capire meglio cosa succede sotto il cofano dell'integrazione di Albumentations.
Ecco uno sguardo più da vicino alle aumentazioni applicate durante il training di YOLO11:
Sfocatura: Questa trasformazione aggiunge una leggera sfocatura a un'immagine. Aiuta il modello a rilevare gli oggetti anche quando sono fuori fuoco.
Blur mediano: Riduce il rumore casuale preservando i bordi degli oggetti in un'immagine. Ciò semplifica il rilevamento degli oggetti da parte del modello in ambienti complessi.
Scala di grigi: Convertendo un'immagine in bianco e nero, questo aumento può aiutare il modello a concentrarsi su forme e texture invece che sui colori.
CLAHE (Contrast limited adaptive histogram equalization): Questa aumentazione aumenta il contrasto nelle immagini, in particolare nelle aree troppo scure o difficili da vedere, come in condizioni di scarsa illuminazione o nebbiose. Questo rende gli oggetti in quelle aree più chiari e più facili da identificare per il modello.
Fig 3. Esempio di aumento della scala di grigi applicato a un'immagine di un gatto.
Applicazioni di YOLO11 e dell'integrazione Albumentations
Se stai addestrando YOLO11 in modo personalizzato per un'applicazione specifica, l'integrazione di Albumentations può aiutarti a migliorare le prestazioni del modello adattandosi a varie condizioni. Discutiamo alcune applicazioni reali e le sfide che questa integrazione può risolvere.
Tuttavia, la creazione di queste soluzioni di computer vision comporta una serie di sfide. Le scansioni mediche possono variare ampiamente tra gli ospedali, influenzate da fattori come diverse attrezzature, impostazioni e persino l'esperienza dei tecnici. Variazioni di luminosità, contrasto ed esposizione possono influire sulla coerenza e l'accuratezza dei modelli di Vision AI, rendendo difficile per loro funzionare in modo affidabile in ambienti diversi.
È qui che l'integrazione di strumenti come Albumentations diventa essenziale. Generando più versioni aumentate della stessa scansione, Albumentations consente al modello di apprendere da una varietà di qualità dell'immagine. Questo aiuta il modello a diventare più robusto, consentendogli di rilevare accuratamente le malattie sia in immagini di alta che di bassa qualità.
Un'altra interessante applicazione della Vision AI è nella sicurezza e nella sorveglianza. Il rilevamento di oggetti in tempo reale può aiutare i team di sicurezza a identificare rapidamente le potenziali minacce.
Una delle principali preoccupazioni relative a questa applicazione è che le telecamere di sicurezza acquisiscono filmati in varie condizioni di illuminazione durante il giorno, e queste condizioni possono influenzare notevolmente il modo in cui un modello comprende tali immagini. Fattori come ambienti con scarsa illuminazione, riflessi o scarsa visibilità possono rendere difficile per i modelli di computer vision rilevare oggetti o riconoscere potenziali minacce in modo coerente.
L'integrazione di Albumentations aiuta applicando trasformazioni per simulare diverse condizioni di illuminazione. Ciò consente al modello di imparare a rilevare oggetti sia in ambienti luminosi che in ambienti con scarsa illuminazione, rendendolo più affidabile e migliorando i tempi di risposta in condizioni difficili.
Ridefinire i flussi di lavoro della vendita al dettaglio e l'esperienza del cliente
Una fuoriuscita in un corridoio di un supermercato, un cane che corre in un negozio o un bambino che fa cadere un espositore di prodotti sono solo alcuni esempi di eventi quotidiani che possono essere casi limite per la Vision AI nel settore retail. La computer vision è sempre più utilizzata per migliorare l'esperienza del cliente monitorando il comportamento degli acquirenti, monitorando il traffico pedonale e identificando i prodotti sugli scaffali. Tuttavia, queste situazioni del mondo reale possono essere difficili da comprendere ed elaborare accuratamente per i sistemi di AI.
Sebbene non tutti gli scenari possano essere rappresentati in un dataset di computer vision, l'integrazione di Albumentations aiuta aumentando i dati per coprire molte situazioni possibili, come illuminazione imprevista, angolazioni insolite o ostruzioni. Ciò aiuta i modelli di computer vision ad adattarsi a varie condizioni, migliorando la loro capacità di gestire casi limite ed effettuare previsioni accurate in ambienti di vendita al dettaglio dinamici.
Punti chiave
La raccolta di dati diversificati del mondo reale per l'addestramento dei modelli può essere complicata, ma Albumentations lo rende più semplice creando variazioni di immagini che aiutano i modelli ad adattarsi a diverse condizioni.
L'integrazione di Albumentations supportata da Ultralytics semplifica il processo di applicazione di queste aumentazioni durante il custom-training di YOLO11. Ciò si traduce in una migliore qualità del set di dati, a vantaggio di una vasta gamma di settori grazie alla produzione di modelli di Vision AI più accurati e affidabili.