Översikt över Azure AI Video Indexer Bring Your Own (BYO) AI Model
Den här artikeln är en översikt över Azure AI Video Indexer Bring Your Own AI-modellen.
Introduktion
Du kan kombinera insikter från andra källor, inklusive modeller för klassificering och identifiering från tredje part, för att skapa en detaljerad analys av dina mediedata. Du kan använda en eller flera av de modeller som erbjuds av Microsoft, en extern anpassad modell eller en anpassad person-, varumärkes-, tal- eller språkmodell som erbjuds av Azure Video Indexer.
Funktionen är också tillgänglig för VI som aktiveras av Arc.
DISCLAIMER: Microsofts uppförandekod för Azure OpenAI-tjänsten gäller för din användning av funktionen Bring Your Own Model, som innehåller Microsofts rätt att avbryta din åtkomst och användning av den här funktionen för inkompatibilitet.
Prissättning
Med Video Indexer BYO-modellen kan användare lägga till anpassade insikter i videoinsiktobjekt utan att medföra några ytterligare kostnader utöver den angivna kostnaden för indexeringsprocessen. Kostnader relaterade till den externa miljön och modellen bör dock inte betraktas som en del av Video Indexer-faktureringspriset. Vi rekommenderar starkt att du granskar avsnittet med metodtips för att optimera den externa logiken och minska kostnaderna.
Allmänt arbetsflöde
- Videon laddas upp och indexeras med Azure AI Video Indexer.
- När indexeringsprocessen är klar skapas en händelse.
- Din anpassade kod lyssnar på händelsen och startar videons efterbearbetningsprocess.
- Hämta insikter som extraherats av Video Indexer.
- Hämta nyckelram för ett videoavsnitt.
- Skicka nyckelramen till den anpassade AI-modellen.
- Korrigera de anpassade insikterna till Video Indexer.
Förutsättningar
Innan du kan börja använda BYO-modellfunktionen med Azure AI Video Indexer måste du:
- Träna eller ta med en extern AI-modell som tar emot videotillgångar och returnerar en insikt.
- Skapa anpassad kod som:
- Lyssnar efter Event Hubss-händelser.
- Extraherar
video id
från händelserna. - Hämtar relevanta tillgångar genom att anropa VI-API:er. I det här scenariot begär du Hämta videoindex och Hämta bildrutors SAS-URL:er.
- Skickar tillgångarna till den externa AI-modellen.
- Skapar ett JSON-objekt baserat på de insikter som hämtats från den anpassade AI-modellen.
- Begär uppdatering av videoindex för uppdatering.
Schema
Värdena för att fylla i anpassade data är följande:
Name | Beskrivning | Krävs |
---|---|---|
Namn | Namn på extern AI-modell | true |
displayName | Namn på insiktsgrupp som ska visas i Video Indexer | true |
displayType | Definierar typen av gränssnittsrepresentation för den här specifika insiktsgruppen. Standardvärde: Kapslar Möjliga typer: Kapsel – endast text på en nivå CapsuleAndTags -Två nivåer text bara mer kommer att läggas till i framtiden. |
falskt |
Resultat | Matris med objekt som representerar de insikter som identifierats av den externa AI-modellen | true |
results.id | Användardefinerat ID för resultatobjektet bör vara unikt inom resultatomfånget | true |
results.type | Det här fältet representerar den typ av insikt som kategoriserades av den externa AI-modellen. Den används för att representera en allmän insiktskategori, vilket innebär att det kan finnas flera insikter av den här typen som identifieras i en viss ram. Exempel på insiktstyper är: "basket", "publikklappning", "vit skjorta". | true |
results.subType | Det här fältet representerar den typ av insikt som kategoriserades av den externa AI-modellen. Den används för att representera en specifik insiktskategori, vilket innebär att det bara kan finnas en enda insikt av den här typen som identifieras i en specifik ram. Exempel på insiktstyper är: "basket #23", "John clapping", "Dana's white shirt". | falskt |
results.metaData | Mer data om insikten | falskt |
results.instances | Matris som representerar den tid då insikten identifierades i. | true |
results.instances.confidence | Ange med konfidenspoängen som returneras från den externa modellen | falskt |
results.instances.start | Starttid för instansen i videon. Format: hh.mm.ss.ff |
falskt |
results.instances.end | Sluttid för instansen i videon. Format: hh.mm.ss.ff |
falskt |
results.instances.adjustedStart | Används när det visas i användargränssnittet och anges med värdet från Start | falskt |
results.instances.adjustedEnd | Används när det visas i användargränssnittet och anges med värdet från Slutet | falskt |
Bildfrekvens
Azure AI Video Indexer stöder en FPS för videonivån Basic/Standard och fyra FPS för den avancerade nivån. Högre bildfrekvenser stöds inte. Du kan optimera indexeringen genom att:
- Bearbeta endast specifika segment som är av intresse, till exempel bildrutor som innehåller ett identifierat ljud, ett objekt eller en person, eller
- exempel på en lägre FPS, till exempel var 5:e sekund.
Markering av ram
Du kan använda parametrarna hoppa över bildrutor och sidstorlek för tidsval. Formeln är värdet hoppa över bildrutor multiplicerat med FPS plus sidstorleksvärdet multiplicerat med FPS kan användas för att fastställa tidsintervallet.
URL: https://api.videoindexer.ai/{location}/Accounts/{accountId}/Videos/{videoId}/FramesFilePaths[?urlsLifetimeSeconds][&pageSize][&skip][&accessToken]
Parametrar:
Name | Beskrivning | Krävs |
---|---|---|
videoId | ID för videon | true |
urlsLifetimeSeconds | livslängden för URL:erna i sekunder | true |
pageSize | Maximalt antal bildrutor som ska returneras varje anrop | falskt |
skippa | Ramar att hoppa över | falskt |
accessToken | Ska anges som parameter i URL-frågesträngen eller i auktoriseringshuvudet som ägartoken. Omfånget för åtkomsttoken ska vara Konto och behörigheten ska vara Läsare. | true |
Svar: FrameFilePathsResult
Name | Beskrivning | Krävs |
---|---|---|
Resultat | Lista över FrameUriData | Falsk |
Nästa sida | Växlingsdata (hoppa över, pageSize, isDone) | Falsk |
FrameFilePathData
Name | Beskrivning |
---|---|
Namn | Namnet på ramfilen |
frameIndex | Index för ramen |
StartTime | Starttid för bildrutan i videon |
EndTime | Sluttid för bildrutan i videon |
filePath | Sas-URI för ramen i molnmiljön eller filsökvägen i gränsmiljöer |
Exempeldata som skickas från anpassat program i schemaformat
"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",
}
]
}
]
}...