Sintonizzati su YOLO Vision 2025!
25 settembre 2025
10:00 — 18:00 BST
Evento ibrido
Yolo Vision 2024

Approccio pratico con YOLO-World

Abirami Vina

4 minuti di lettura

5 aprile 2024

Scopri YOLO-World, un modello innovativo di object detection in grado di identificare oggetti tramite prompt testuali. Esplora come funziona YOLO-World e le sue applicazioni, e mettiti alla prova con un rapido esempio di codice.

I progetti di computer vision spesso comportano un notevole investimento di tempo nell'annotazione dei dati e nell'addestramento di modelli di object detection. Ma questo potrebbe presto appartenere al passato. L'AI Lab di Tencent ha rilasciato YOLO-World, un modello di object detection in tempo reale e a vocabolario aperto, il 31 gennaio 2024. YOLO-World è un modello zero-shot, il che significa che è possibile eseguire inferenze di object detection sulle immagini senza doverlo addestrare.

I modelli zero-shot hanno il potenziale per cambiare il modo in cui affrontiamo le applicazioni di computer vision. In questo blog, esploreremo come funziona YOLO-World, i suoi potenziali utilizzi e condivideremo un esempio di codice pratico per iniziare.

Uno sguardo a YOLO-World

Puoi passare un'immagine e un prompt di testo che descrive quali oggetti stai cercando attraverso il modello YOLO-World. Ad esempio, se sei interessato a trovare "una persona che indossa una maglietta rossa" all'interno di una foto, YOLO-World prende questo input e si mette al lavoro.

L'architettura unica del modello combina tre elementi principali:

  • Un detector basato sul modello di object detection YOLOv8 di Ultralytics, per analizzare il contenuto visivo dell'immagine.
  • Un encoder di testo pre-addestrato da CLIP di OpenAI, specificamente progettato per comprendere il tuo prompt testuale. 
  • Una rete, la Vision-Language Path Aggregation Network (RepVL-PAN), che integra i dati dell'immagine elaborata con i dati testuali.

Il detector YOLO esamina l'immagine di input per identificare potenziali oggetti. L'encoder di testo trasforma la tua descrizione in un formato che il modello può comprendere. Questi due flussi di informazioni vengono quindi uniti attraverso la RepVL-PAN utilizzando la fusione cross-modality multi-livello. Ciò consente a YOLO-World di rilevare e localizzare con precisione gli oggetti descritti nel tuo prompt all'interno dell'immagine.

Un esempio di risultati ottenuti con YOLO-World.

Vantaggi della scelta di YOLO-World

Uno dei maggiori vantaggi dell'utilizzo di YOLO-World è che non è necessario addestrare il modello per una classe specifica. Ha già imparato da coppie di immagini e testi, quindi sa come trovare oggetti in base alle descrizioni. Puoi evitare ore di raccolta dati, annotazione dati, addestramento su GPU costose e così via.

Ecco alcuni altri vantaggi dell'utilizzo di YOLO-World:

  • Prestazioni in tempo reale - YOLO-World supporta prestazioni in tempo reale proprio come l'architettura YOLO originale. È ideale per applicazioni che richiedono il rilevamento immediato di oggetti come veicoli autonomi e sistemi di sorveglianza.
  • Instance Segmentation - YOLO-World può delineare e separare in modo preciso gli oggetti nelle immagini, anche se tali oggetti non sono stati specificamente insegnati durante il suo addestramento.
  • Efficienza - YOLO-World combina un'elevata precisione con l'efficienza computazionale, rendendolo pratico per applicazioni reali. La sua architettura semplificata rende possibile il rilevamento rapido di oggetti senza eccessive richieste di potenza di elaborazione.

Le applicazioni di YOLO-World

I modelli YOLO-World possono essere utilizzati per un'ampia varietà di applicazioni. Esploriamone alcune.

Controllo qualità nella produzione

I prodotti fabbricati su una catena di montaggio vengono controllati visivamente per individuare difetti prima di essere imballati. Il rilevamento dei difetti viene spesso eseguito manualmente, il che richiede tempo e può portare a errori. Questi errori possono causare problemi come costi elevati e la necessità di riparazioni o richiami. Per aiutare in questo, sono state create speciali telecamere di visione artificiale e sistemi di IA per eseguire questi controlli. 

I modelli YOLO-World rappresentano un grande progresso in questo settore. Possono trovare difetti nei prodotti anche quando non sono stati addestrati per quello specifico problema, utilizzando le loro capacità zero-shot. Ad esempio, una fabbrica che produce bottiglie d'acqua può facilmente distinguere tra una bottiglia sigillata correttamente con un tappo e una bottiglia in cui un tappo è mancante o difettoso utilizzando YOLO-World.

Un esempio di ispezione del tappo di una bottiglia.

Robotica

I modelli YOLO-World consentono ai robot di interagire con ambienti sconosciuti. Senza essere addestrati su oggetti specifici che potrebbero trovarsi in una stanza, possono comunque identificare quali oggetti sono presenti. Quindi, diciamo che un robot entra in una stanza in cui non è mai stato prima. Con un modello YOLO-World, può comunque riconoscere e identificare oggetti come sedie, tavoli o lampade, anche se non è stato specificamente addestrato su tali elementi.

Oltre al rilevamento di oggetti, YOLO-World può anche determinare le condizioni di tali oggetti, grazie alla sua funzione 'prompt-then-detect'. Ad esempio, nella robotica agricola, può essere utilizzato per identificare i frutti maturi rispetto ai frutti non maturi programmando il robot per rilevarli.

L'IA nell'industria automobilistica

L'industria automobilistica coinvolge molte parti mobili e YOLO-World può essere utilizzato per diverse applicazioni automobilistiche. Ad esempio, quando si tratta di manutenzione auto, la capacità di YOLO-World di riconoscere un'ampia varietà di oggetti senza tagging manuale o pre-formazione estensiva è estremamente utile. YOLO-World può essere utilizzato per identificare le parti dell'auto che devono essere sostituite. Potrebbe persino automatizzare attività come i controlli di qualità, individuando difetti o pezzi mancanti nelle auto nuove.

Un'altra applicazione è il rilevamento di oggetti zero-shot nelle auto a guida autonoma. Le capacità di rilevamento zero-shot di YOLO-World possono migliorare la capacità di un veicolo autonomo di rilevare e classificare oggetti sulla strada, come pedoni, segnali stradali e altri veicoli, in tempo reale. In tal modo, può aiutare a rilevare ostacoli e prevenire incidenti per un viaggio più sicuro. 

Un esempio di rilevamento di oggetti su una strada.

Gestione dell'inventario per i negozi al dettaglio

L'identificazione degli oggetti sugli scaffali nei negozi al dettaglio è una parte importante del monitoraggio dell'inventario, del mantenimento delle scorte e dell'automazione dei processi. La capacità di Ultralytics YOLO-World di riconoscere un'ampia varietà di oggetti senza etichettatura manuale o pre-formazione intensiva è estremamente utile per la gestione dell'inventario. 

Ad esempio, nella gestione dell'inventario, YOLO-World può individuare e classificare rapidamente gli articoli su uno scaffale, come diverse marche di bevande energetiche. I negozi al dettaglio possono mantenere un inventario accurato, gestire in modo efficiente i livelli di stock e semplificare le operazioni della catena di approvvigionamento. 

Tutte le applicazioni sono uniche e mostrano quanto estesamente può essere utilizzato YOLO-World. Successivamente, mettiamo le mani su YOLO-World e diamo un'occhiata a un esempio di codice.

Un'analisi dettagliata del codice

Come accennato in precedenza, YOLO-World può essere utilizzato per rilevare diverse parti di un'auto per la manutenzione. Un'applicazione di computer vision che rileva eventuali riparazioni necessarie implicherebbe scattare una foto dell'auto, identificare le parti dell'auto, esaminare ogni parte dell'auto per eventuali danni e raccomandare riparazioni. Ogni parte di questo sistema utilizzerebbe diverse tecniche e approcci di intelligenza artificiale. Ai fini di questa analisi dettagliata del codice, concentriamoci sulla parte in cui vengono rilevate le parti dell'auto.

Con YOLO-World, puoi identificare diverse parti dell'auto in un'immagine in meno di 5 minuti. Puoi estendere questo codice per provare diverse applicazioni utilizzando anche YOLO-World! Per iniziare, dovremo installare tramite pip il pacchetto Ultralytics come mostrato di seguito.

Per ulteriori istruzioni e best practice relative al processo di installazione, consulta la nostra guida Installazione di Ultralytics. Durante l'installazione dei pacchetti richiesti per YOLOv8, se riscontri difficoltà, dai un'occhiata alla nostra guida Problemi comuni per soluzioni e suggerimenti.

Una volta installato il pacchetto necessario, possiamo scaricare un'immagine da Internet per eseguire le nostre inferenze. Useremo l'immagine qui sotto.

La nostra immagine di input.

Quindi, importeremo il pacchetto necessario, inizializzeremo il nostro modello e imposteremo le classi che stiamo cercando nella nostra immagine di input. Qui, siamo interessati alle seguenti classi: auto, ruota, portiera dell'auto, specchietto retrovisore e targa.

Useremo quindi il metodo predict, fornendo il percorso dell'immagine insieme ai parametri per il numero massimo di rilevamenti e le soglie per l'intersezione sull'unione (IoU) e la confidenza (conf) per eseguire un'inferenza sull'immagine. Infine, gli oggetti rilevati vengono salvati in un file denominato 'result.jpg'.

La seguente immagine di output verrà salvata nei tuoi file.

La nostra immagine di output.

Se preferisci vedere cosa può fare YOLO-World senza programmare, puoi andare alla pagina Demo di YOLO-World, caricare un'immagine di input e inserire le classi personalizzate. 

Leggi la nostra pagina di documentazione su YOLO-World per imparare come salvare il modello con le classi personalizzate in modo che possa essere utilizzato direttamente in seguito senza dover inserire ripetutamente le classi personalizzate.

Hai notato che le portiere dell'auto non sono state rilevate?

Se dai un'altra occhiata all'immagine di output, noterai che la classe personalizzata "portiera dell'auto" non è stata rilevata. Nonostante i suoi grandi risultati, YOLO-World ha alcune limitazioni. Per combattere queste limitazioni e utilizzare efficacemente il modello YOLO-World, è importante utilizzare i tipi corretti di prompt testuali. 

Ecco alcune informazioni al riguardo:

  • YOLO-World potrebbe non aver bisogno di alti livelli di confidenza per previsioni accurate, quindi ridurre le soglie di confidenza può migliorare i tassi di rilevamento.
  • Aggiungi classi a cui non sei interessato. Aiuterà a migliorare l'object detection primaria riducendo i falsi positivi per gli oggetti secondari.
  • Rilevare prima gli oggetti più grandi prima di concentrarsi sui dettagli più piccoli può migliorare l'accuratezza del rilevamento.
  • Menziona i colori nelle tue classi per rilevare gli oggetti in base agli indizi di colore.
  • Descrivere le dimensioni degli oggetti nei prompt può anche aiutare YOLO-World a identificare oggetti specifici in modo più accurato.
  • Metodi di post-elaborazione, come il filtraggio delle previsioni in base alle dimensioni o la regolazione dei livelli di confidenza per classe, possono migliorare ulteriormente i risultati del rilevamento degli oggetti.

I limiti sono infiniti

Nel complesso, i modelli YOLO-World, grazie alle loro avanzate capacità di rilevamento degli oggetti, possono essere trasformati in uno strumento potente. Offrono grande efficienza, accuratezza e aiutano ad automatizzare diverse attività in varie applicazioni, come l'esempio dell'identificazione delle parti di automobili di cui abbiamo discusso praticamente.

Sentiti libero di esplorare il nostro repository GitHub per saperne di più sui nostri contributi alla computer vision e all'IA. Se sei curioso di sapere come l'IA sta rimodellando settori come la tecnologia sanitaria, consulta le nostre pagine delle soluzioni. Le possibilità con innovazioni come YOLO-World sembrano essere infinite!

Costruiamo insieme il futuro
dell'AI!

Inizia il tuo viaggio con il futuro del machine learning

Inizia gratis
Link copiato negli appunti