Přehled modelu AI AI Video Indexer Přineste si vlastní model (BYO)
Tento článek je přehledem služby Azure AI Video Indexer s vlastním modelem AI.
Úvod
Můžete kombinovat přehledy z jiných zdrojů, včetně modelů třetích stran, klasifikace a detekce, a vytvořit podrobnou analýzu vašich mediálních dat. Můžete použít jeden nebo více modelů nabízených Microsoftem, externím vlastním modelem nebo přizpůsobeným uživatelem, značkou, řečí nebo jazykovým modelem nabízeným službou Azure Video Indexer.
Tato funkce je také dostupná pro VI povolenou službou Arc.
DISCLAIMER: Pravidla chování microsoftu pro službu Azure OpenAI se vztahuje na vaše použití funkce Přineste si vlastní model, která zahrnuje právo Microsoftu ukončit přístup a používat tuto funkci pro nedodržení předpisů.
Ceny
S modelem ByO Video Indexeru můžou uživatelé přidávat vlastní přehledy do objektů přehledů videa, aniž by se za uvedené náklady na proces indexování účtují další náklady. Všechny náklady související s externím prostředím a modelem by se ale neměly považovat za součást fakturační ceny Video Indexeru. Důrazně doporučujeme projít si část s osvědčenými postupy, abyste optimalizovali externí logiku a snížili náklady.
Obecný pracovní postup
- Video se nahraje a indexuje pomocí Azure AI Video Indexeru.
- Po dokončení procesu indexování se vytvoří událost.
- Váš vlastní kód naslouchá události a spustí proces následného zpracování videa.
- Získejte přehledy extrahované službou Video Indexer.
- Získání klíčového rámce pro oddíl videa
- Odešle klíčový snímek do vlastního modelu AI.
- Opravte vlastní přehledy zpět na Video Indexer.
Požadavky
Než začnete používat funkci modelu BYO s Azure AI Video Indexerem, musíte:
- Trénování nebo přenesení externího modelu AI, který přijímá video assety a vrací přehled.
- Vytvořte vlastní kód, který:
- Naslouchá událostem Event Hubss.
- Extrahuje
video id
z událostí. - Načte relevantní prostředky voláním rozhraní API VI. V tomto scénáři požádejte o získání indexu videa a získání adres URL SAS rámců.
- Odešle prostředky do externího modelu AI.
- Vytvoří objekt JSON na základě přehledů načtených z vlastního modelu AI.
- Žádost o index videa aktualizace opravy
Schéma
Hodnoty pro naplnění vlastních dat jsou následující:
Název | Popis | Povinní účastníci |
---|---|---|
Jméno | Název externího modelu AI | true |
displayName | Název skupiny přehledů, který se má zobrazit ve Video Indexeru | true |
displayType | Definuje typ reprezentace uživatelského rozhraní pro tuto konkrétní skupinu přehledů. Výchozí hodnota: Kapsle Možné typy: Kapsle – pouze text na úrovni jedné úrovně CapsuleAndTags -Dvě úrovně textu budou přidány pouze v budoucnu. |
false (nepravda) |
výsledků | Pole objektů, které představují přehledy zjištěné externím modelem AI | true |
results.id | ID objektu výsledku zadané uživatelem by mělo být jedinečné v rámci oboru výsledků. | true |
results.type | Toto pole představuje typ přehledu, který byl kategorizován externím modelem AI. Používá se k reprezentaci obecné kategorie přehledů, což znamená, že v konkrétním rámci může existovat více přehledů tohoto typu. Mezi příklady typů přehledů patří: "basketbal", "crowd clapping", "bílé tričko". | true |
results.subType | Toto pole představuje typ přehledu, který byl kategorizován externím modelem AI. Používá se k reprezentaci konkrétní kategorie přehledů, což znamená, že v určitém rámečku může existovat pouze jeden přehled tohoto typu. Mezi příklady typů přehledů patří: "basketball #23", "John clapping", "Dana's white shirt". | false (nepravda) |
results.metaData | Další data o přehledu | false (nepravda) |
results.instances | Pole, které představuje časové intervaly, ve které byl přehled zjištěn. | true |
results.instances.confidence | Nastavte skóre spolehlivosti vrácené z externího modelu. | false (nepravda) |
results.instances.start | Čas spuštění instance ve videu Formát: hh.mm.ss.ff |
false (nepravda) |
results.instances.end | Koncový čas instance ve videu Formát: hh.mm.ss.ff |
false (nepravda) |
results.instances.adjustedStart | Používá se při zobrazení v uživatelském rozhraní s hodnotou z nabídky Start. | false (nepravda) |
results.instances.adjustedEnd | Používá se při zobrazení v uživatelském rozhraní s hodnotou z endu. | false (nepravda) |
Framerate
Azure AI Video Indexer podporuje jednu FPS pro úroveň videa Basic/Standard a čtyři FPS pro pokročilou úroveň. Vyšší frekvence snímků se nepodporuje. Indexování můžete optimalizovat pomocí:
- Zpracování pouze konkrétních segmentů, které jsou zajímavé, jako jsou snímky, které zahrnují rozpoznaný zvuk, objekt nebo osobu nebo
- vzorek nižší FPS, například každých 5 sekund.
Výběr rámečku
Pro výběr času můžete použít přeskočení snímků a parametrů velikosti stránky. Vzorec je hodnota přeskočení snímků vynásobená fps a hodnotou velikosti stránky vynásobenou FPS lze použít k určení časového rozsahu.
Adresa URL: https://api.videoindexer.ai/{location}/Accounts/{accountId}/Videos/{videoId}/FramesFilePaths[?urlsLifetimeSeconds][&pageSize][&skip][&accessToken]
Parametry:
Název | Popis | Povinní účastníci |
---|---|---|
videoId | ID videa | true |
urlsLifetimeSeconds | doba života adres URL v sekundách | true |
Pagesize | Maximální počet rámců pro vrácení každého volání | false (nepravda) |
přeskočit | Snímky, které se mají přeskočit | false (nepravda) |
accessToken | Jako parametr by měl být uveden v řetězci dotazu ADRESY URL nebo v autorizační hlavičce jako nosný token. Obor přístupového tokenu by měl být Účet a oprávnění by mělo být Čtenář. | true |
Odpověď: FrameFilePathsResult
Název | Popis | Povinní účastníci |
---|---|---|
výsledků | Seznam FrameUriData | False |
NextPage | Stránkování dat (skip, pageSize, isDone) | False |
FrameFilePathData
Název | Popis |
---|---|
Jméno | Název souboru rámce |
frameIndex | Index rámce |
Počáteční čas | Počáteční čas rámce ve videu |
Koncový čas | Čas ukončení rámce ve videu |
filePath | Identifikátor URI SAS rámce v cloudovém prostředí nebo cestě k souboru v hraničních prostředích |
Ukázková data odesílaná z vlastní aplikace ve formátu schématu
"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",
}
]
}
]
}...