Overzicht van AZURE AI Video Indexer Bring Your Own (BYO) AI-model
Dit artikel is een overzicht van Azure AI Video Indexer bring your own AI model.
Inleiding
U kunt inzichten uit andere bronnen combineren, waaronder modellen van derden, classificatie en detectie, om een gedetailleerde analyse van uw mediagegevens te maken. U kunt een of meer van alle modellen gebruiken die worden aangeboden door Microsoft, een extern aangepast model of een aangepast persoons-, merk-, spraak- of taalmodel dat wordt aangeboden door Azure Video Indexer.
De functie is ook beschikbaar voor VI ingeschakeld door Arc.
DISCLAIMER: De gedragscode van Microsoft voor De Azure OpenAI-service is van toepassing op uw gebruik van de functie Bring Your Own Model, waaronder het recht van Microsoft om uw toegang en het gebruik van deze functie te beëindigen voor niet-naleving.
Prijzen
Met het BYO-model van Video Indexer kunnen gebruikers aangepaste inzichten toevoegen aan video insight-objecten zonder extra kosten te maken dan de vermelde kosten van het indexeringsproces. Eventuele kosten met betrekking tot de externe omgeving en het model moeten echter niet worden beschouwd als onderdeel van de factureringsprijs van Video Indexer. We raden u ten zeerste aan onze sectie aanbevolen procedures te bekijken om de externe logica te optimaliseren en de kosten te verlagen.
Algemene werkstroom
- Video wordt geüpload en geïndexeerd met Azure AI Video Indexer.
- Wanneer het indexeringsproces is voltooid, wordt er een gebeurtenis gemaakt.
- Uw aangepaste code luistert naar de gebeurtenis en start het proces na verwerking van de video.
- Krijg inzichten die zijn geëxtraheerd door Video Indexer.
- Sleutelframe ophalen voor een videosectie.
- Verzend het sleutelframe naar het aangepaste AI-model.
- Patch de aangepaste inzichten terug naar Video Indexer.
Vereisten
Voordat u de BYO-modelfunctie kunt gaan gebruiken met Azure AI Video Indexer, moet u het volgende doen:
- Train of breng een extern AI-model dat videoassets ontvangt en een inzicht retourneert.
- Aangepaste code maken die:
- Luistert naar Event Hubss-gebeurtenissen.
- Extraheert de
video id
gebeurtenissen. - Haalt de relevante assets op door VI-API's aan te roepen. In dit scenario vraagt u Get Video Index aan en haalt u SAS-URL's voor frames op.
- Hiermee worden de assets verzonden naar het externe AI-model.
- Hiermee maakt u een JSON-object op basis van de inzichten die zijn opgehaald uit het aangepaste AI-model.
- Vraagt video-index voor patchupdates aan.
Schema
De waarden voor het vullen van de aangepaste gegevens zijn als volgt:
Name | Beschrijving | Vereist |
---|---|---|
name | Naam van extern AI-model | true |
displayName | Inzichtgroepnaam die moet worden weergegeven in Video Indexer | true |
displayType | Hiermee definieert u het type ui-weergave voor deze specifieke inzichtgroep. Standaardwaarde: Capsules Mogelijke typen: Capsule – alleen tekst op niveau CapsuleAndTags - Tekst op twee niveaus wordt in de toekomst alleen toegevoegd. |
false |
resultaten | Matrix van objecten die de inzichten vertegenwoordigen die zijn gedetecteerd door het externe AI-model | true |
results.id | Door de gebruiker opgegeven id van het resultaatobject moet uniek zijn binnen het resultatenbereik | true |
results.type | Dit veld vertegenwoordigt het type inzicht dat is gecategoriseerd door het externe AI-model. Het wordt gebruikt om een algemene inzichtcategorie te vertegenwoordigen, wat betekent dat er meerdere inzichten van dit type kunnen zijn die in een specifiek kader worden geïdentificeerd. Voorbeelden van inzichttypen zijn: "basketbal", "crowd clapping", "white shirt". | true |
results.subType | Dit veld vertegenwoordigt het type inzicht dat is gecategoriseerd door het externe AI-model. Het wordt gebruikt om een specifieke inzichtcategorie weer te geven, wat betekent dat er slechts één inzicht van dit type in een specifiek frame kan worden geïdentificeerd. Voorbeelden van inzichttypen zijn: "basketbal #23", "John clapping", "Dana's witte shirt". | false |
results.metaData | Meer gegevens over het inzicht | false |
results.instances | Matrix die de tijdvensters vertegenwoordigt waarin het inzicht is gedetecteerd. | true |
results.instances.confidence | Instellen met de betrouwbaarheidsscore die wordt geretourneerd door het externe model | false |
results.instances.start | Begintijd van het exemplaar in de video. Formatteren: hh.mm.ss.ff |
false |
results.instances.end | Eindtijd van het exemplaar in de video. Formatteren: hh.mm.ss.ff |
false |
results.instances.adjustedStart | Wordt gebruikt wanneer deze wordt weergegeven in de gebruikersinterface, ingesteld met de waarde vanaf het startscherm | false |
results.instances.adjustedEnd | Wordt gebruikt wanneer deze wordt weergegeven in de gebruikersinterface, ingesteld met de waarde van End | false |
Framesnelheid
Azure AI Video Indexer ondersteunt één FPS voor het videoniveau Basic/Standard en vier FPS voor het geavanceerde niveau. Hogere framesnelheden worden niet ondersteund. U kunt indexering optimaliseren door:
- Alleen specifieke segmenten verwerken die interessant zijn, zoals frames die een gedetecteerd geluid, object of persoon bevatten, of
- voorbeeld van een lagere FPS, bijvoorbeeld om de 5 seconden.
Frameselectie
U kunt de parameters voor het overslaan van frames en paginaformaat gebruiken voor tijdselectie. De formule is de waarde voor het overslaan van frames vermenigvuldigd met de FPS plus de waarde voor het paginaformaat vermenigvuldigd met de FPS, kan worden gebruikt om het tijdsbereik te bepalen.
URL: https://api.videoindexer.ai/{location}/Accounts/{accountId}/Videos/{videoId}/FramesFilePaths[?urlsLifetimeSeconds][&pageSize][&skip][&accessToken]
Parameters:
Name | Beschrijving | Vereist |
---|---|---|
videoId | Id van de video | true |
urlsLifetimeSeconds | levensduur van de URL's in seconden | true |
Pagesize | Maximum aantal frames om elke aanroep te retourneren | false |
skip | Frames om over te slaan | false |
accessToken | Moet worden opgegeven als parameter in url-querytekenreeks of in de autorisatie-header als Bearer-token. Het bereik van het toegangstoken moet Account zijn en de machtiging moet Lezer zijn. | true |
Antwoord: FrameFilePathsResult
Name | Beschrijving | Vereist |
---|---|---|
resultaten | Lijst met FrameUriData | Onwaar |
NextPage | Pagineringsgegevens (skip, pageSize, isDone) | Onwaar |
FrameFilePathData
Name | Beschrijving |
---|---|
name | Naam van het framebestand |
frameIndex | Index van het frame |
StartTime | Begintijd van het frame in de video |
EndTime | Eindtijd van het frame in de video |
filePath | Sas-URI van het frame in de cloudomgeving of bestandspad in edge-omgevingen |
Voorbeeldgegevens die zijn verzonden vanuit een aangepaste toepassing in schema-indeling
"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",
}
]
}
]
}...