Panoramica del modello di intelligenza artificiale Bring Your Own (BYO) di Azure AI Video Indexer (anteprima)

Questo articolo è una panoramica di Azure AI Video Indexer bring your own AI Model (Modello di intelligenza artificiale personalizzato).

Introduzione

Video Indexer di Azure per intelligenza artificiale offre un set di interfacce AI ottimizzate per contenuti video e audio che possono essere applicati a molti tipi di contenuto. È possibile combinare altre informazioni dettagliate da origini Microsoft, origini personalizzate o origini di terze parti con le informazioni dettagliate predefinite di Video Indexer per intelligenza artificiale di Azure in un'esperienza senza problemi.

Questa funzionalità è sufficientemente flessibile per supportare tutti i moduli e i tipi di informazioni dettagliate, incluse le interfacce AI orientate al rilevamento e alla classificazione. È possibile selezionare i dati su cui opera il modello esterno, ad esempio i fotogrammi del video, l'intero video o solo la traccia audio. È anche possibile usare altre informazioni dettagliate già prodotte per il video, ad esempio oggetti rilevati, visi ed etichette. In questo modo è possibile eseguire l'analisi esterna solo sulla sezione correlata del video, migliorando le prestazioni e riducendo i costi.

La funzionalità è disponibile sia per il cloud che per i casi d'uso perimetrali.

DICHIARAZIONE DI NON RESPONSABILITÀ: il codice di comportamento di Microsoft per il servizio Azure OpenAI si applica all'uso della funzionalità Bring Your Own Model, che include il diritto di Microsoft di interrompere l'accesso e l'uso di questa funzionalità per la mancata conformità.

Prezzi

Con il modello BYO di Video Indexer, gli utenti possono aggiungere informazioni dettagliate personalizzate agli oggetti di informazioni dettagliate video senza incorrere in costi aggiuntivi oltre il costo elencato del processo di indicizzazione. Tuttavia, tutti i costi correlati all'ambiente esterno e al modello non devono essere considerati parte del prezzo di fatturazione di Video Indexer. È consigliabile esaminare la sezione delle procedure consigliate per ottimizzare la logica esterna e ridurre i costi.

Flusso di lavoro generale

  1. Il video viene caricato e indicizzato con Azure AI Video Indexer.
  2. Al termine del processo di indicizzazione, viene creato un evento.
  3. Il codice personalizzato è in ascolto dell'evento e avvia il processo di post-elaborazione video.
    1. Ottenere informazioni dettagliate estratte da Video Indexer.
    2. Ottenere il fotogramma chiave per una sezione video.
    3. Inviare il fotogramma chiave al modello di intelligenza artificiale personalizzato.
    4. Applicare patch alle informazioni dettagliate personalizzate in Video Indexer.

diagramma del flusso di lavoro descritto in precedenza

Prerequisiti

Prima di iniziare a usare la funzionalità modello BYO con Azure AI Video Indexer, è necessario:

  1. Eseguire il training o portare un modello di intelligenza artificiale esterno che riceve asset video e restituisce informazioni dettagliate.
  2. Creare codice personalizzato che:
    1. È in ascolto degli eventi di Hub eventi.
    2. Estrae l'oggetto video id dagli eventi.
    3. Recupera gli asset pertinenti chiamando le API VI. In questo scenario, richiedere Get Video Index (Ottieni indice video) e Get frames SAS URLs (Ottieni URL sas fotogrammi).
    4. Invia gli asset al modello di intelligenza artificiale esterno.
    5. Crea un oggetto JSON basato sulle informazioni dettagliate recuperate dal modello di intelligenza artificiale personalizzato.
    6. Richiede Patch Update Video Index.

Schema

I valori per popolare i dati personalizzati sono i seguenti:

Nome Descrizione Obbligatorio
name Nome del modello di intelligenza artificiale esterno true
displayName Nome del gruppo di informazioni dettagliate da visualizzare in Video Indexer true
displayType Definisce il tipo di rappresentazione dell'interfaccia utente per questo gruppo di informazioni dettagliate specifico. Valore predefinito: Capsule
Tipi possibili:
Capsule : solo testo di un livello
CapsuleAndTags - Due livelli di testo verranno aggiunti solo in futuro.
false
Risultati Matrice di oggetti che rappresentano le informazioni dettagliate rilevate dal modello di intelligenza artificiale esterno true
results.id L'ID specificato dall'utente dell'oggetto risultato deve essere univoco nell'ambito dei risultati true
results.type Questo campo rappresenta il tipo di informazioni dettagliate categorizzate dal modello di intelligenza artificiale esterno. Viene usato per rappresentare una categoria di informazioni generali, il che significa che potrebbero essere presenti più informazioni dettagliate di questo tipo identificate in un frame specifico. Esempi di tipi di informazioni dettagliate includono: "basket", "folla clapping", "camicia bianca". true
results.subType Questo campo rappresenta il tipo di informazioni dettagliate categorizzate dal modello di intelligenza artificiale esterno. Viene usato per rappresentare una categoria di informazioni dettagliate specifica, il che significa che potrebbe essere presente solo un'unica informazione di questo tipo identificata in un frame specifico. Esempi di tipi di informazioni dettagliate includono: "basket #23", "John clapping", "Camicia bianca di Dana". false
results.metaData Altri dati sulle informazioni dettagliate false
results.instances Matrice che rappresenta le finestre temporali in cui sono state rilevate le informazioni dettagliate. true
results.instances.confidence Impostare con il punteggio di attendibilità restituito dal modello esterno false
results.instances.start Ora di inizio dell'istanza nel video. Formato: hh.mm.ss.ff false
results.instances.end Ora di fine dell'istanza nel video. Formato: hh.mm.ss.ff false
results.instances.adjustedStart Usato quando viene visualizzato nell'interfaccia utente, impostato con il valore da Start false
results.instances.adjustedEnd Usato quando viene visualizzato nell'interfaccia utente, impostato con il valore di End false

Framerate

Azure AI Video Indexer supporta un FPS per il livello video Basic/Standard e quattro FPS per il livello avanzato. Le frequenze dei fotogrammi più elevate non sono supportate. È possibile ottimizzare l'indicizzazione in base a:

  • Elaborazione solo di segmenti specifici di interesse, ad esempio fotogrammi che includono un suono, un oggetto o una persona rilevati o
  • campione un FPS inferiore, ad esempio, ogni 5 secondi.

Selezione cornice

È possibile usare i parametri skip frame e page size per la selezione dell'ora. La formula è il valore skip frame moltiplicato per FPS più il valore della dimensione della pagina moltiplicato per FPS può essere usato per determinare l'intervallo di tempo.

URL:https://api.videoindexer.ai/{location}/Accounts/{accountId}/Videos/{videoId}/FramesFilePaths[?urlsLifetimeSeconds][&pageSize][&skip][&accessToken]

Parametri:

Nome Descrizione Obbligatorio
videoId ID del video true
urlsLifetimeSeconds durata degli URL in secondi true
Pagesize Numero massimo di fotogrammi da restituire ogni chiamata false
skip Frame da ignorare false
accessToken Deve essere specificato come parametro nella stringa di query URL o nell'intestazione authorization come token bearer. L'ambito del token di accesso deve essere Account e l'autorizzazione deve essere Lettore. true

Risposta:FrameFilePathsResult

Nome Descrizione Obbligatorio
Risultati Elenco di FrameUriData Falso
Nextpage Paging dei dati (skip, pageSize, isDone) Falso

FrameFilePathData

Nome Descrizione
name Nome del file di frame
frameIndex Indice del frame
StartTime Ora di inizio del fotogramma nel video
EndTime Ora di fine del fotogramma nel video
filePath URI sas del frame nell'ambiente cloud o nel percorso del file negli ambienti perimetrali

Dati di esempio inviati da un'applicazione personalizzata in formato schema

"customInsights": [
    {
        "Name": "tattoo",  
        "displayName": "Tattoo’s model",
        "displayType": "CapsuleAndTag",
        "Results": [   
            {   
                "id": 1,   
                "Type": "Dragon",   
                "WikiDataId": "57F",   
                "SubType": "Leg tattoo",   
                "Metadata": "",   
                "Instances": [
                    {
                        "Confidence": 0.49,
                        "AdjustedStart": "0:00:32.72", 
                        "AdjustedEnd": "0:00:42.72",
                        "start": "0:00:32.72",
                        "end": "0:00:42.72",
                    }
                ]
            }
        ]
    }... 

Usare l'API Video Indexer di Azure per intelligenza artificiale