Utilizzo degli aumenti di Albumentations per diversificare i dati

Abirami Vina

5 minuti di lettura

17 febbraio 2025

Scoprite come utilizzare Albumentations per aumentare la formazione personalizzata di Ultralytics YOLO11 per migliorare le prestazioni del modello con dati di formazione diversi.

Quando si costruisce una soluzione di computer vision, la raccolta di una serie di immagini diverse per l'addestramento dei modelli AI di visione può essere una parte cruciale del processo. Spesso richiede molto tempo e denaro e, a volte, le immagini raccolte non sono ancora abbastanza varie da permettere ai modelli di apprendere in modo efficace.

Ad esempio, i modelli di visione artificiale come Ultralytics YOLO11 possono essere addestrati su set di dati di immagini per vari compiti di visione artificiale relativi a diverse applicazioni. La diversità dei dati è fondamentale perché aiuta il modello a generalizzarsi meglio, consentendogli di riconoscere oggetti e modelli in un'ampia gamma di scenari reali.

Se siete alle prese con una mancanza di dati diversificati, le tecniche di aumento dei dati delle immagini possono essere una soluzione eccellente. Metodi come la rotazione, il capovolgimento e la regolazione della luminosità possono contribuire ad aumentare la varietà del set di dati, 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, un popolare strumento che offre una raccolta di trasformazioni, è possibile creare dati visivi diversi. Questa integrazione semplifica il processo di addestramento di YOLO11 aumentando automaticamente le immagini di addestramento, con conseguente miglioramento delle prestazioni del modello. 

In questo articolo analizzeremo come utilizzare l'integrazione di Albumentations, i suoi vantaggi e il suo impatto sulla formazione dei modelli.

Che cos'è l'albume?

I modelli di visione artificiale possono apprendere da un ampio insieme di immagini di alta qualità per riconoscere oggetti in ambienti diversi. La raccolta di grandi set di dati da fonti reali può essere lenta, costosa e inefficiente. Per semplificare questo compito, è possibile utilizzare l 'aumento dei dati delle immagini per creare nuove variazioni di immagini esistenti, aiutando i modelli ad apprendere da scenari diversi senza raccogliere altri dati.

In particolare, è possibile sfruttare Albumentations, una libreria open-source introdotta nel 2018 per aumentare in modo efficiente i dati delle immagini. Supporta una varietà di operazioni, da semplici modifiche geometriche come rotazioni e capovolgimenti a regolazioni più complesse come luminosità, contrasto e aggiunta di rumore.

__wf_reserved_inherit
Figura 1. Esempi di diversi tipi di aumento dei dati delle immagini.

Caratteristiche principali di Albumentations

Albumentations è noto per le sue elevate prestazioni, il che significa che è in grado di elaborare le immagini in modo rapido ed efficiente. Basato su librerie ottimizzate come OpenCV e NumPy, gestisce grandi insiemi di dati con tempi di elaborazione minimi, rendendolo ideale per un rapido incremento dei dati durante l'addestramento del modello.

Ecco alcune altre caratteristiche chiave di Albumentations:

  • Ampia gamma di trasformazioni: Albumentations offre più di 70 tipi di accrescimenti. 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 di dati contemporaneamente per accelerare l'incremento delle immagini e gestire in modo efficiente grandi insiemi di dati.
  • Tre livelli di incremento: Migliora i dati in tre modi. Ad esempio, gli incrementi a livello di pixel regolano la luminosità e il colore senza alterare gli oggetti. Nel frattempo, gli incrementi a livello spaziale modificano il posizionamento degli oggetti preservando i dettagli chiave, mentre gli incrementi a livello di miscelazione fondono parti di immagini diverse per creare nuovi campioni.

Perché utilizzare l'integrazione di Albumentations?

Ci si potrebbe chiedere: ci sono molti modi per applicare gli incrementi a un set di dati, e si possono anche creare da soli utilizzando strumenti come OpenCV. Quindi, perché scegliere un'integrazione che supporti una libreria come Albumentations?

La creazione manuale di incrementi con strumenti come OpenCV può richiedere molto tempo e una certa esperienza. Può anche essere complicato mettere a punto le trasformazioni per ottenere i risultati migliori. L'integrazione di Albumentations semplifica questo processo. Offre molte trasformazioni pronte all'uso che consentono di risparmiare tempo e fatica nella preparazione del set di dati.

Un altro motivo per scegliere l'integrazione di Albumentations è che funziona senza problemi con la pipeline di formazione dei modelli di Ultralytics. È molto più facile addestrare YOLO11 in modo personalizzato, poiché gli incrementi vengono applicati automaticamente durante l'addestramento. Questo semplifica il processo e consente di concentrarsi maggiormente sul miglioramento del modello piuttosto che sulla preparazione dei dati. 

Come 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 giuste, l'integrazione applica automaticamente l'aumento dei dati delle immagini durante l'addestramento. Questo aiuta il modello ad apprendere da diverse variazioni di immagini utilizzando lo stesso set di dati.

Vediamo quindi come installare e utilizzare l'integrazione di Albumentations per l'addestramento personalizzato di YOLO11.

Installazione del pacchetto Ultralytics Python e di Albumentations

Prima di applicare gli incrementi, è necessario installare sia il pacchetto Ultralytics Python che Albumentations. L'integrazione è stata realizzata in modo che le due librerie funzionino insieme senza problemi per impostazione predefinita, quindi non è necessario preoccuparsi di configurazioni complesse.

L'intero processo di installazione può essere completato in un paio di minuti con un singolo comando pip, che è uno strumento di gestione dei pacchetti per l'installazione delle librerie Python, come mostrato nell'immagine sottostante. 

__wf_reserved_inherit
Figura 2. Installazione di Ultralytics e Albumentations.

Una volta installato Albumentations, la modalità di addestramento del modello Ultralytics applica automaticamente gli aumenti delle immagini durante l'addestramento. Se Albumentations non è installato, questi aumenti non verranno applicati. Per maggiori dettagli, è possibile consultare la documentazione ufficiale di Ultralytics.

Formazione di YOLO11 con l'aiuto dell'integrazione di Albumentations

Vediamo di capire meglio cosa succede sotto il cofano dell'integrazione di Albumentations. 

Ecco uno sguardo ravvicinato ai potenziamenti applicati durante l'addestramento di YOLO11:

  • Sfocatura: questa trasformazione aggiunge una leggera sfocatura all'immagine. Aiuta il modello a rilevare gli oggetti anche quando sono fuori fuoco.
  • Sfocatura mediana: Riduce il rumore casuale preservando i bordi degli oggetti in un'immagine. In questo modo il modello è in grado di rilevare più facilmente gli oggetti 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 anziché sui colori.
  • CLAHE (Contrast limited adaptive histogram equalization): Questo aumento aumenta il contrasto delle immagini, in particolare nelle aree troppo scure o difficili da vedere, come in condizioni di scarsa illuminazione o di foschia. In questo modo gli oggetti in quelle aree sono più chiari e più facili da identificare per il modello.
__wf_reserved_inherit
Figura 3. Un esempio di aumento della scala di grigi applicato all'immagine di un gatto.

Applicazioni di YOLO11 e dell'integrazione di Albumentations

Se state addestrando YOLO11 per un'applicazione specifica, l'integrazione di Albumentations può contribuire a migliorare le prestazioni del modello adattandolo alle varie condizioni. Vediamo alcune applicazioni reali e le sfide che questa integrazione può risolvere.

Migliorare l'imaging medico

L'IA di visione nel settore sanitario sta aiutando i medici ad analizzare le immagini mediche in modo più accurato per assistere le diagnosi e migliorare l'assistenza ai pazienti. In effetti, circa un quinto delle organizzazioni sanitarie sta già utilizzando soluzioni di IA. 

Tuttavia, la creazione di queste soluzioni di computer vision comporta una serie di sfide. Le scansioni mediche possono variare notevolmente da un ospedale all'altro, influenzate da fattori quali le diverse apparecchiature, le impostazioni e persino l'esperienza dei tecnici. Le variazioni di luminosità, contrasto ed esposizione possono influenzare la coerenza e l'accuratezza dei modelli Vision AI, rendendo difficile il loro funzionamento 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 imparare da una varietà di qualità di immagini. In questo modo il modello diventa più robusto, consentendogli di rilevare con precisione le malattie sia nelle immagini di alta che di bassa qualità. 

__wf_reserved_inherit
Figura 4. Immagini radiografiche aumentate.

Migliorare la sicurezza e la sorveglianza

Un'altra interessante applicazione della Vision AI è quella della sicurezza e della sorveglianza. Il rilevamento di oggetti in tempo reale può aiutare i team di sicurezza a identificare rapidamente potenziali minacce. 

Una delle principali preoccupazioni legate a questa applicazione è che le telecamere di sicurezza acquisiscono filmati in varie condizioni di illuminazione durante il giorno e queste condizioni possono influenzare drasticamente il modo in cui un modello comprende tali immagini. Fattori come la scarsa illuminazione, il bagliore o la scarsa visibilità possono rendere difficile per i modelli di visione computerizzata rilevare gli oggetti o riconoscere le potenziali minacce in modo coerente.

L'integrazione di Albumentations aiuta ad applicare trasformazioni per simulare diverse condizioni di illuminazione. In questo modo il modello impara a rilevare gli oggetti sia in ambienti luminosi che in ambienti con scarsa illuminazione, rendendolo più affidabile e migliorando i tempi di risposta in condizioni difficili.

Ridefinizione dei flussi di lavoro nel retail e dell'esperienza del cliente

Un rovesciamento in una corsia del supermercato, un cane che corre in un negozio o un bambino che rovescia un espositore di prodotti sono solo alcuni esempi di eventi quotidiani che possono rappresentare casi limite per la Vision AI negli ambienti di vendita al dettaglio . La computer vision è sempre più utilizzata per migliorare l'esperienza del cliente, tracciando 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 con precisione per i sistemi di intelligenza artificiale.

Anche se non tutti gli scenari possono essere rappresentati in un set di dati di computer vision, l'integrazione di Albumentations contribuisce ad aumentare i dati per coprire molte situazioni possibili, come l'illuminazione inaspettata, gli angoli insoliti o le ostruzioni. Questo aiuta i modelli di computer vision ad adattarsi alle varie condizioni, migliorando la loro capacità di gestire i casi limite e di fare previsioni accurate in ambienti retail dinamici.

Punti di forza

La raccolta di diversi dati del mondo reale per l'addestramento dei modelli può essere complicata, ma Albumentations la rende più semplice creando variazioni di immagini che aiutano i modelli ad adattarsi alle diverse condizioni. 

L'integrazione di Albumentations supportata da Ultralytics semplifica il processo di applicazione di questi aumenti durante l'addestramento personalizzato di YOLO11. Ciò si traduce in una migliore qualità del set di dati, a vantaggio di un'ampia gamma di settori che producono modelli di Vision AI più precisi e affidabili.

Unisciti alla nostra comunità ed esplora il nostro repository GitHub per saperne di più sull'IA e scopri le nostre opzioni di licenza per dare il via ai tuoi progetti Vision AI. Siete interessati a innovazioni come l'IA nella produzione o la computer vision nella guida autonoma? Visitate le nostre pagine dedicate alle soluzioni per saperne di più. 

Costruiamo insieme il futuro
dell'IA!

Iniziate il vostro viaggio nel futuro dell'apprendimento automatico

Iniziare gratuitamente
Link copiato negli appunti