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.

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.
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:
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.
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:
I modelli YOLO-World possono essere utilizzati per un'ampia varietà di applicazioni. Esploriamone alcune.
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.
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'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.
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.
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.
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.
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.
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:
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!