Ricerca video avanzata: sfruttare Twelve Labs e Milvus per il recupero semantico
Nell'agosto 2024, all'Unstructured Data Meetup di San Francisco, James Le, Head of Developer Experience presso Twelve Labs, ha tenuto un intervento illuminante sulla ricerca video avanzata per il recupero semantico. Se non avete ancora sentito parlare di Twelve Labs, vi aspetta una piacevole scoperta. Twelve Labs sviluppa modelli multimodali all'avanguardia che aiutano le macchine a comprendere i video in modo intuitivo come fanno gli esseri umani. Hanno creato modelli fondazionali allo stato dell'arte per generare embedding video insieme ad API in grado di cercare, generare e classificare contenuti video con una precisione simile a quella umana.
Nell'intervento, James spiega i concetti chiave della comprensione video e il flusso di lavoro complessivo del loro modello fondazionale e delle API. James parla anche dell'integrazione dei modelli di comprensione video con database vettoriali efficienti come Milvus di Zilliz per creare applicazioni entusiasmanti per il recupero semantico. Se vi incuriosisce come l'IA possa rivoluzionare i contenuti video, questo meetup è stato memorabile.
Detto questo, approfondiamo l'intervento di James su “Advanced Video Search - Leveraging Twelve Labs and Milvus for Semantic Retrieval”: Guarda l'intervento su YouTube.
James Le che parla all'August South Bay Unstructured Data Meetup
Che cos'è la comprensione video?
I video sono una potente fonte di informazioni sul mondo reale. A differenza delle immagini, che catturano solo scene statiche, i video catturano informazioni temporali come azioni, comportamenti o eventi in cambiamento. Come gli esseri umani, le macchine possono essere addestrate ad analizzare, interpretare ed estrarre informazioni significative dai video utilizzando tecniche di computer vision e deep learning.
Evoluzione della comprensione video
I video furono inventati per la prima volta alla fine del XIX secolo e, a quel tempo, non esisteva alcuna tecnologia per l'interpretazione. Più tardi, nel 1996, fu commercializzata la prima tecnologia speech-to-text, che creava trascrizioni. Tuttavia, quelle trascrizioni erano terribili da leggere ed erano scollegate dalle informazioni visive. Inoltre, nel 1997, fu rilasciato il primo modello di riconoscimento delle immagini basato su CNN - LeNet - 5, che creava tag per comprendere gli oggetti nei fotogrammi video, come “person”, “dog”, “clothing” e così via. Questi tag non aiutavano a comprendere il contesto del video e creavano discrepanze. Più tardi, dal 2012 in poi, la comprensione video è stata rivoluzionata dalle reti neurali convoluzionali (CNN), che hanno permesso ai modelli di svolgere compiti avanzati come il riconoscimento delle azioni.
Passato, presente e futuro della comprensione video
In passato, la comprensione video riguardava la risoluzione di compiti di percezione video di basso livello, come l'estrazione di caratteristiche di basso livello quali colore, texture e movimento utilizzando caratteristiche progettate manualmente o semplici tecniche di computer vision come l'Histogram of Gradients (HOG). Alcuni dei primi compiti di percezione video includevano Video Object Detection, Video Object Tracking, Video Instance Segmentation e Action Recognition.
I compiti menzionati in precedenza erano spesso di portata limitata e comportavano inefficienze come oggetti etichettati in modo errato o tag mancati. Nel presente, la comprensione video si è evoluta per gestire compiti più ampi come Video Classification, Video Retrieval, Video Question Answering e Video Captioning. Tecniche come le CNN, le Recurrent Neural Networks (RNN) e, più recentemente, i Transformer hanno permesso ai modelli di elaborare in modo efficiente pattern spaziali e temporali. Il riconoscimento delle azioni si è evoluto nella classificazione video, in cui i modelli classificano un'intera sequenza invece di riconoscere una singola azione. Allo stesso modo, i sistemi di recupero video possono ora indicizzare e recuperare video pertinenti in base alle query. Allo stesso tempo, i modelli di domanda e risposta possono rispondere a domande relative ai video, e il video captioning può generare descrizioni testuali delle scene.
I modelli attuali sono focalizzati su un compito specifico, addestrati su dati specifici o basati su una singola modalità. In futuro, l’attenzione sarà rivolta ai modelli fondazionali video multimodali che offrono una comprensione di uso generale. Questi modelli integreranno informazioni da più fonti - video, audio e testo per sviluppare una comprensione olistica dei contenuti video. L’idea principale alla base di questi modelli è che si adattino a diversi casi d’uso e settori, affrontino compiti dinamici e forniscano una comprensione unificata di tutte le modalità, abilitando applicazioni complesse che funzionano in tempo reale.
Modelli fondazionali video di Twelve Labs
I modelli fondazionali video sono modelli grandi e preaddestrati progettati per comprendere i video in modo completo. Proprio come i modelli linguistici (ad es., GPT) fungono da base per varie applicazioni basate sul testo, i modelli fondazionali video addestrati su enormi quantità di dati multimodali (video, audio, testo) sono attrezzati per generare embedding multimodali che possono essere ulteriormente utilizzati per gestire un’ampia varietà di attività a valle e creare applicazioni incentrate sui video in diversi settori.
Nel talk, James Lee delinea molto chiaramente il ruolo dei modelli fondazionali video nella creazione di applicazioni reali e come ciò sia vantaggioso per gli utenti finali.
Generazione di embedding: Innanzitutto, il modello fondazionale genererà embedding multimodali per i dati di input. Questi embedding sono rappresentazioni numeriche che memorizzano tutte le informazioni semantiche conversazionali e visive di un video.
Attività a valle: Gli embedding generati possono essere ulteriormente utilizzati per creare API per attività a valle come Search and Classify, Generate ed Embed.
Applicazioni incentrate sui video: Le API gateway basate su embedding possono essere ulteriormente utilizzate per generare applicazioni incentrate sui video in vari settori come Law Enforcement, E-Learning, Sports e Creator Economy.
Utenti finali: I passaggi precedenti creeranno una pipeline di comprensione video intelligente che sarà vantaggiosa per la domanda di singoli utenti e imprese.
Dopo aver compreso lo stack complessivo, approfondiamo le sfumature tecniche dei modelli fondazionali video.
Cosa sono gli embedding video?
Gli embedding video sono essenzialmente rappresentazioni di un video in uno spazio vettoriale a dimensionalità inferiore sotto forma di vettore numerico. Questi embedding catturano le caratteristiche visive e la semantica del video, consentendo ai modelli fondazionali di comprendere il contenuto dei video. Tradizionalmente, gli embedding vettoriali appartenevano solo a una singola modalità come immagine, testo o audio, che veniva elaborata in modo indipendente. Tuttavia, con l’ascesa dei contenuti multimediali e la popolarità dell’architettura transformer, si è verificato uno spostamento verso lo sviluppo di embedding in grado di catturare informazioni visive, testuali e udibili in uno spazio latente condiviso.
La magia degli embedding video
Modello fondazionale video all’avanguardia - Marengo 2.6
James Lee presenta l’ultimo modello fondazionale video all’avanguardia sviluppato presso Twelve Labs, chiamato Marengo 2.6. Questo modello è in grado di eseguire attività di ricerca ‘any-to-any’, il che significa che può interrogare dati video utilizzando vari formati di input come Text-To-Video, Text-To-Image, Text-To-Audio, Audio-To-Video, Image-To-Video e altro ancora. Questo modello è trasformativo nel dominio della comprensione video, poiché migliora significativamente l’efficienza della ricerca video e consente interazioni robuste tra diverse modalità.
Come menzionato nel blog ‘Introducing Marengo 2.6’, il concetto di base dell’architettura riguarda i ‘Gated Modality Experts’, che consentono l’elaborazione di input multimodali tramite encoder specializzati prima di combinarli in una rappresentazione multimodale completa. Ci sono tre moduli principali nell’architettura
Visual Expert - Elabora le informazioni visive per catturare aspetto, movimento e cambiamenti temporali all’interno del video.
Audio Expert - Elabora le informazioni uditive per catturare sia segnali audio verbali sia non verbali relativi al video.
Gated Fusion Module - Valuta il contributo di ciascun esperto per i video e li fonde in una rappresentazione multimodale unificata per il recupero any-to-any.
Inoltre, Marengo 2.6 eccelle nel fine-tuning, consentendo agli utenti di personalizzare il modello per adattarlo a esigenze di contenuto o domini specifici. L’infrastruttura del modello supporta la gestione di vasti dataset video, rendendolo adattabile per organizzazioni con grandi librerie video. Questo modello può essere ulteriormente utilizzato per attività downstream come ricerca migliorata, classificazione e gestione dei contenuti con l’aiuto di integrazioni API fluide.
Attività downstream con le API di Twelve Labs
API di ricerca video
Immagina di poter trovare le scene esatte in un video di un torneo di tennis del Grande Slam in cui Roger Federer conquista un punto mentre schiaccia contro l’avversario, semplicemente descrivendo queste immagini in linguaggio naturale. Sembra troppo bello per essere vero, giusto? Questa si chiama ricerca video.
Come mostrato nella figura seguente, la ricerca video funziona creando prima embeddings dei video tramite un modello foundation video. Successivamente, l’API di ricerca prende input da una query in linguaggio naturale, che viene anch’essa convertita in embeddings. Infine, gli embeddings della query vengono cercati rispetto agli embeddings video per fornire le scene video con i relativi tempi.
Twelve Labs Search API
La ricerca video tradizionale, d’altra parte, aveva gravi limitazioni nel suo approccio e nella sua esecuzione, poiché si basava principalmente sulla corrispondenza di parole chiave per indicizzare e recuperare video. Tuttavia, con la comprensione video multimodale basata sull’IA, è possibile catturare simultaneamente le complesse relazioni tra tutte le modalità e fornire un’interpretazione del video più simile a quella umana.
API di classificazione video
La comprensione video basata sull’IA consente la categorizzazione automatica dei video in classi predefinite. Utilizzando un approccio zero-shot, è anche possibile ottenere le classi al volo senza predefinirle. Con la Classify API di Twelve Labs, puoi organizzare i video in sport, notizie, intrattenimento o documentari, analizzando caratteristiche semantiche, oggetti, azioni e altri elementi del contenuto.
Twelve Labs Classify API
API di embedding video
Twelve Labs Embed API
Twelve Labs ha anche rilasciato una Embed API in beta privata per gli sviluppatori. Le API Search e Classify erano end-to-end, ma questa API è pensata per chi vuole sperimentare a livello di embedding, aggiungendo i propri metadati o eseguendo qualche operazione matematica aggiuntiva.
Questa API crea embedding multimodali a livello di video e a livello di clip che possono essere utilizzati per varie attività downstream personalizzate, tra cui, a titolo esemplificativo ma non esaustivo, rilevamento di anomalie, ordinamento per diversità, analisi del sentiment, raccomandazioni e per costruire sistemi di Retrieval Augmented Generation (RAG).
Twelve Labs incontra Milvus
Twelve Labs Meets Milvus
Nell'agosto 2024, Twelve Labs e Milvus (database vettoriale di Zilliz) hanno unito le forze per creare potenti applicazioni di ricerca video. Milvus è un database vettoriale scalabile ed efficiente per gestire, interrogare e recuperare embedding vettoriali. È progettato specificamente per creare applicazioni di IA ad alte prestazioni. Sfruttando la potenza degli embedding multimodali avanzati di Twelve Labs e integrandoli con Milvus, gli sviluppatori possono sbloccare nuove possibilità nell'analisi dei contenuti video creando applicazioni come motori di ricerca, sistemi di raccomandazione e recupero video basato sui contenuti.
Recupero semantico usando Twelve Labs e Milvus
Per eseguire il recupero semantico, il primo passo è scegliere e configurare gli SDK e le librerie necessari del database vettoriale e dell'API per generare embedding. Successivamente, con l'aiuto della Embed API di Twelve Labs, gli embedding multimodali dei video vengono generati a livello di clip oppure a livello di video. Per il livello di clip, è possibile definire le lunghezze delle clip in cui il video deve essere suddiviso. Ad esempio, se il video complessivo è di 18 secondi e la lunghezza della clip scelta è di 6 secondi, allora otteniamo 3 embedding a livello di clip. Gli embedding vengono quindi inseriti nel database vettoriale e infine può essere eseguita la ricerca per similarità. Quando un utente invia una query (video o testo), anch'essa viene convertita in un vettore utilizzando lo stesso modello di embedding. Il sistema confronta quindi questo vettore di query con i vettori archiviati nel database per recuperare i risultati semanticamente più simili.
Risorse per sviluppatori
Implementazione completa del codice di Recupero semantico sfruttando Twelve Labs e Milvus
Cosa sono i database vettoriali e come funzionano? - blog di Zilliz
Continua a leggere

Zilliz Cloud Audit Logs Goes GA: Security, Compliance, and Transparency at Scale
Zilliz Cloud Audit Logs are now GA, giving enterprises real-time visibility, compliance-ready trails, and stronger security across AWS, GCP, and Azure.

Creating Collections in Zilliz Cloud Just Got Way Easier
We've enhanced the entire collection creation experience to bring advanced capabilities directly into the interface, making it faster and easier to build production-ready schemas without switching tools.

Vector Databases vs. Object-Relational Databases
Use a vector database for AI-powered similarity search; use an object-relational database for complex data modeling with both relational integrity and object-oriented features.


