Scoprite YOLO-World, un modello innovativo di rilevamento degli oggetti in grado di identificarli attraverso messaggi di testo. Scoprite come funziona YOLO-World e le sue applicazioni, e mettete mano a un rapido esempio di codice.

Scoprite YOLO-World, un modello innovativo di rilevamento degli oggetti in grado di identificarli attraverso messaggi di testo. Scoprite come funziona YOLO-World e le sue applicazioni, e mettete mano a un rapido esempio di codice.
I progetti di computer vision spesso richiedono molto tempo per l'annotazione dei dati e l'addestramento dei modelli di rilevamento degli oggetti. Ma questo potrebbe presto appartenere al passato. L'AI Lab di Tencent ha rilasciato YOLO-World, un modello di rilevamento degli oggetti in tempo reale e a vocabolario aperto, il 31 gennaio 2024. YOLO-World è un modello a zero scatti, il che significa che è possibile eseguire inferenze di rilevamento di oggetti sulle immagini senza doverlo addestrare.
I modelli a zero scatti hanno il potenziale per cambiare il modo in cui affrontiamo le applicazioni di computer vision. In questo blog esploreremo il funzionamento di YOLO-World e i suoi potenziali utilizzi e condivideremo un esempio pratico di codice per iniziare.
È possibile passare al modello di YOLO-World un'immagine e un testo che descriva gli oggetti che si stanno cercando. Ad esempio, se si desidera trovare "una persona che indossa una maglietta rossa" all'interno di una foto, YOLO-World riceve questo input e si mette al lavoro.
L'architettura unica del modello combina tre elementi principali:
Il rilevatore YOLO analizza l'immagine in ingresso per identificare i potenziali oggetti. Il codificatore di testo trasforma la descrizione in un formato comprensibile al modello. Questi due flussi di informazioni vengono poi uniti attraverso il RepVL-PAN, utilizzando una fusione cross-modale a più livelli. Ciò consente a YOLO-World di individuare e localizzare con precisione gli oggetti descritti nella richiesta all'interno dell'immagine.
Uno dei maggiori vantaggi dell'utilizzo di YOLO-World è che non è necessario addestrare il modello per una classe specifica. Il modello ha già imparato da coppie di immagini e testi, quindi sa come trovare gli oggetti in base alle descrizioni. Si possono evitare ore di raccolta dati, annotazioni, 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 in una catena di montaggio vengono controllati visivamente per individuare eventuali difetti prima di essere imballati. Il rilevamento dei difetti viene spesso effettuato a mano, 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 questo motivo, sono state create speciali telecamere di visione artificiale e sistemi di intelligenza artificiale per eseguire questi controlli.
I modelli YOLO-World rappresentano un grande progresso in questo campo. Sono in grado di individuare i difetti dei prodotti anche quando non sono stati addestrati per quel problema specifico, grazie alle loro capacità di zero-shot. Ad esempio, una fabbrica che produce bottiglie d'acqua può facilmente identificare tra una bottiglia sigillata correttamente con un tappo e una bottiglia in cui il tappo è stato omesso o è difettoso utilizzando YOLO-World.
I modelli YOLO-World consentono ai robot di interagire con ambienti non familiari. Senza essere addestrati su oggetti specifici che possono trovarsi in una stanza, possono comunque identificare gli oggetti presenti. Supponiamo quindi che un robot entri in una stanza in cui non è mai stato prima. Con un modello YOLO-World, è in grado di riconoscere e identificare oggetti come sedie, tavoli o lampade, anche se non è stato addestrato specificamente su questi oggetti.
Oltre a rilevare gli oggetti, YOLO-World può anche determinarne le condizioni, grazie alla funzione "prompt-then-detect". Ad esempio, nella robotica agricola , può essere utilizzato per identificare i frutti maturi rispetto a quelli non maturi, programmando il robot per rilevarli.
L'industria automobilistica coinvolge molte parti in movimento e YOLO-World può essere utilizzato per diverse applicazioni automobilistiche. Ad esempio, per quanto riguarda la manutenzione delle auto, la capacità di YOLO-World di riconoscere un'ampia varietà di oggetti senza dover ricorrere all'etichettatura manuale o a un addestramento preliminare approfondito è estremamente utile. YOLO-World può essere utilizzato per identificare le parti dell'auto che devono essere sostituite. Potrebbe anche automatizzare attività come i controlli di qualità, individuando difetti o pezzi mancanti nelle auto nuove.
Un'altra applicazione è il rilevamento di oggetti a scatto zero nelle auto a guida autonoma. Le capacità di YOLO-World di rilevare gli oggetti a scatto zero possono migliorare la capacità di un veicolo autonomo di rilevare e classificare gli oggetti sulla strada, come pedoni, segnali stradali e altri veicoli, in tempo reale. In questo modo, può aiutare a rilevare gli ostacoli e a prevenire gli incidenti per un viaggio più sicuro.
L'identificazione degli oggetti sugli scaffali dei negozi al dettaglio è una parte importante della tracciabilità dell'inventario, della manutenzione delle scorte e dell'automazione dei processi. La capacità di Ultralytics YOLO-World di riconoscere un'ampia varietà di oggetti senza etichettatura manuale o un'estesa pre-formazione è estremamente utile per la gestione dell'inventario.
Per esempio, nella gestione dell'inventario, YOLO-World è in grado di individuare e classificare rapidamente gli articoli su uno scaffale, come le diverse marche di bevande energetiche. I negozi al dettaglio possono tenere un inventario accurato, gestire in modo efficiente i livelli delle scorte e ottimizzare le operazioni della catena di approvvigionamento.
Tutte le applicazioni sono uniche e mostrano quanto YOLO-World possa essere utilizzato in modo esteso. Ora vediamo un esempio di codifica di YOLO-World.
Come abbiamo già detto, YOLO-World può essere utilizzato per individuare le diverse parti di un'auto da sottoporre a manutenzione. Un'applicazione di computer vision che rilevi le riparazioni necessarie comporterebbe lo scatto di una foto dell'auto, l'identificazione delle parti dell'auto, l'esame di ogni parte dell'auto per verificare la presenza di danni e la raccomandazione di riparazioni. Ogni parte di questo sistema utilizzerebbe diverse tecniche e approcci di intelligenza artificiale. Ai fini di questa guida al codice, ci concentriamo sulla parte in cui vengono individuate le parti dell'auto.
Con YOLO-World è possibile identificare le diverse parti di un'auto in un'immagine in meno di 5 minuti. È possibile estendere questo codice per provare diverse applicazioni utilizzando YOLO-World! Per iniziare, dobbiamo installare con pip il pacchetto Ultralytics, come mostrato di seguito.
Per ulteriori istruzioni e best practice relative al processo di installazione, consultate la nostra guida all 'installazione di Ultralytics. Durante l'installazione dei pacchetti necessari per YOLOv8, se incontrate qualche difficoltà, consultate la nostra guida sui problemi comuni per trovare soluzioni e suggerimenti.
Una volta installato il pacchetto necessario, possiamo scaricare da Internet un'immagine su cui eseguire le nostre inferenze. Utilizzeremo l'immagine qui sotto.
Quindi, importeremo il pacchetto necessario, inizializzeremo il nostro modello e imposteremo le classi che cerchiamo nell'immagine di input. In questo caso, siamo interessati alle seguenti classi: auto, ruota, portiera, specchietto e targa.
Utilizzeremo 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 chiamato "result.jpg".
La seguente immagine di output verrà salvata nei vostri file.
Se si preferisce vedere cosa può fare YOLO-World senza codificare, si può andare alla pagina dimostrativa di YOLO-World, caricare un'immagine di input e inserire le classi personalizzate.
Leggete la nostra pagina dei documenti su YOLO-World per imparare a salvare il modello con le classi personalizzate, in modo da poterlo utilizzare direttamente in seguito senza dover inserire ripetutamente le classi personalizzate.
Se si guarda di nuovo l'immagine di output, si noterà che la classe personalizzata "porta dell'auto" non è stata rilevata. Nonostante i suoi grandi risultati, YOLO-World presenta alcune limitazioni. Per combattere queste limitazioni e utilizzare il modello YOLO-World in modo efficace, è importante utilizzare i tipi di prompt testuali corretti.
Ecco alcuni approfondimenti:
Nel complesso, i modelli YOLO-World possono essere trasformati in uno strumento potente grazie alle loro capacità avanzate di rilevamento degli oggetti. Offrono grande efficienza, precisione e aiutano ad automatizzare diverse attività in varie applicazioni, come nell'esempio dell'identificazione di parti di automobili di cui abbiamo parlato.
Esplorate il nostro repository GitHub per saperne di più sui nostri contributi alla computer vision e all'IA. Se siete curiosi di sapere come l'IA sta ridisegnando settori come la tecnologia sanitaria , date un'occhiata alle nostre pagine dedicate alle soluzioni. Le possibilità offerte da innovazioni come YOLO-World sembrano essere infinite!