Azure AI Video Indexer Bring Your Own (BYO) AI Model (Vorschau) Übersicht
Dieser Artikel enthält eine Übersicht über azure AI Video Indexer, die Ihr eigenes KI-Modell mitbringen.
Einführung
Azure AI Video Indexer bietet eine Reihe von AIs, die für Video- und Audioinhalte optimiert sind, die auf viele Inhaltstypen angewendet werden können. Sie können weitere Einblicke aus Microsoft-Quellen, benutzerdefinierten Quellen oder Drittanbieterquellen mit den integrierten Azure AI Video Indexer Insights in einer nahtlosen Erfahrung kombinieren.
Diese Funktion ist flexibel genug, um alle Formen und Arten von Erkenntnissen, einschließlich erkennungsorientierter und klassifikationsorientierter AIs, aufzunehmen. Sie haben die Freiheit, die Daten auszuwählen, auf denen Ihr externes Modell arbeitet, z. B. die Frames des Videos, das gesamte Video oder nur die Audiospur. Sie können auch andere Erkenntnisse verwenden, die bereits für das Video erstellt wurden, z. B. erkannte Objekte, Gesichter und Etiketten. Auf diese Weise können Sie die externe Analyse nur für den zugehörigen Abschnitt des Videos ausführen, die Leistung verbessern und die Kosten senken.
Das Feature ist sowohl für die Cloud als auch für Edge-Anwendungsfälle verfügbar.
HAFTUNGSAUSSCHLUSS: Der Verhaltenskodex von Microsoft für Azure OpenAI-Dienst gilt für Ihre Verwendung des Features "Eigenes Modell bringen", das das Recht von Microsoft umfasst, Ihren Zugriff und die Nutzung dieses Features für Nichtkompatibilität einzustellen.
Preiskalkulation
Mit dem VideoIndexer BYO-Modell können Benutzer benutzerdefinierte Einblicke zu Video-Insight-Objekten hinzufügen, ohne dass zusätzliche Kosten entstehen, die über die aufgeführten Kosten des Indizierungsprozesses hinausgehen. Alle Kosten im Zusammenhang mit der externen Umgebung und dem Modell sollten jedoch nicht als Teil des Abrechnungspreises von Video Indexer betrachtet werden. Es wird dringend empfohlen, unseren Abschnitt "Best Practices" zu überprüfen, um die externe Logik zu optimieren und Kosten zu senken.
Allgemeiner Workflow
- Video wird hochgeladen und mit Azure AI Video Indexer indiziert.
- Nach Abschluss des Indizierungsprozesses wird ein Ereignis erstellt.
- Ihr benutzerdefinierter Code lauscht auf das Ereignis und startet den Video-Nachbearbeitungsprozess.
- Abrufen von Erkenntnissen, die von VideoIndexer extrahiert wurden.
- Abrufen des Keyframes für einen Videoabschnitt.
- Senden Sie den Keyframe an das benutzerdefinierte KI-Modell.
- Patchen Sie die benutzerdefinierten Einblicke wieder auf den Videoindexer.
Voraussetzungen
Bevor Sie mit der Verwendung des BYO-Modellfeatures mit azure AI Video Indexer beginnen können, müssen Sie:
- Trainieren oder bringen Sie ein externes KI-Modell, das Videoressourcen empfängt und einen Einblick zurückgibt.
- Erstellen Sie benutzerdefinierten Code, der:
- Lauscht auf Event Hubss-Ereignisse.
- Extrahiert die
video id
Ereignisse. - Ruft die relevanten Ressourcen durch Aufrufen von VI-APIs ab. Fordern Sie in diesem Szenario "Videoindex abrufen" und "Frames-SAS-URLs abrufen" an.
- Sendet die Ressourcen an das externe KI-Modell.
- Erstellt ein JSON-Objekt basierend auf den Erkenntnissen, die aus dem benutzerdefinierten KI-Modell abgerufen wurden.
- Fordert Patchupdate-Videoindex an.
Schema
Die Werte zum Auffüllen der benutzerdefinierten Daten sind wie folgt:
Name | Beschreibung | Erforderlich |
---|---|---|
name | Name des externen KI-Modells | true |
displayName | Insight-Gruppenname, der im Videoindexer angezeigt werden soll | true |
displayType | Definiert den Typ der UI-Darstellung für diese bestimmte Einblicksgruppe. Standardwert: Kapseln Mögliche Typen: Kapsel – Nur Text mit einer Ebene CapsuleAndTags -Zwei Ebenen Text wird in Zukunft nur noch mehr hinzugefügt. |
false |
Ergebnisse | Array von Objekten, die die vom externen KI-Modell erkannten Erkenntnisse darstellen | true |
results.id | Die vom Benutzer bereitgestellte ID des Ergebnisobjekts sollte innerhalb des Ergebnisbereichs eindeutig sein. | true |
results.type | Dieses Feld stellt den Typ des Einblicks dar, der vom externen KI-Modell kategorisiert wurde. Es wird verwendet, um eine allgemeine Erkenntniskategorie darzustellen, was bedeutet, dass mehrere Einblicke dieses Typs in einem bestimmten Frame identifiziert werden können. Beispiele für Erkenntnistypen sind: "Basketball", "Crowd Clapping", "white shirt". | true |
results.subType | Dieses Feld stellt den Typ des Einblicks dar, der vom externen KI-Modell kategorisiert wurde. Es wird verwendet, um eine bestimmte Erkenntniskategorie darzustellen, was bedeutet, dass nur ein einzelner Einblick dieses Typs in einem bestimmten Frame identifiziert werden konnte. Beispiele für Einblickstypen sind: "Basketball #23", "John clapping", "Dana es white shirt". | false |
results.metaData | Weitere Daten zu den Erkenntnissen | false |
results.instances | Array, das die Zeitfenster darstellt, in denen der Einblick erkannt wurde. | true |
results.instances.confidence | Festgelegt mit dem Konfidenzergebnis, das vom externen Modell zurückgegeben wird | false |
results.instances.start | Startzeit der Instanz im Video. Format: hh.mm.ss.ff |
false |
results.instances.end | Endzeit der Instanz im Video. Format: hh.mm.ss.ff |
false |
results.instances.adjustedStart | Wird verwendet, wenn sie in der Benutzeroberfläche angezeigt wird, legen Sie den Wert von "Start" fest. | false |
results.instances.adjustedEnd | Wird verwendet, wenn sie in der Benutzeroberfläche angezeigt wird, legen Sie den Wert von "End" fest. | false |
Framerate
Azure AI Video Indexer unterstützt einen FPS für die Standard-Videoebene und vier FPS für die erweiterte Ebene. Höhere Bildfrequenzen werden nicht unterstützt. Sie können die Indizierung optimieren, indem Sie:
- Verarbeitung nur bestimmter Segmente, die von Interesse sind, z. B. Frames, die einen erkannten Sound, ein Objekt oder eine Person enthalten, oder
- Beispiel für einen niedrigeren FPS, z. B. alle 5 Sekunden.
Rahmenauswahl
Sie können die Parameter "Frames überspringen" und "Seitengröße" für die Zeitauswahl verwenden. Bei der Formel handelt es sich um den Wert für übersprungene Frames, der mit dem FPS multipliziert wird, und dem Seitengrößeswert, der mit dem FPS multipliziert wird, kann verwendet werden, um den Zeitraum zu bestimmen.
URL:https://api.videoindexer.ai/{location}/Accounts/{accountId}/Videos/{videoId}/FramesFilePaths[?urlsLifetimeSeconds][&pageSize][&skip][&accessToken]
Parameter:
Name | Beschreibung | Erforderlich |
---|---|---|
videoId | ID des Videos | true |
urlsLifetimeSeconds | Lebensdauer der URLs in Sekunden | true |
Pagesize | Maximale Anzahl von Frames, um jeden Anruf zurückzugeben | false |
skip | Zu überspringende Frames | false |
accessToken | Sollte als Parameter in der URL-Abfragezeichenfolge oder im Autorisierungsheader als Bearer-Token angegeben werden. Der Zugriffstokenbereich sollte "Konto" sein und die Berechtigung "Reader" sein. | true |
Antwort:FrameFilePathsResult
Name | Beschreibung | Erforderlich |
---|---|---|
Ergebnisse | Liste der FrameUriData | False |
NextPage | Auslagerungsdaten (überspringen, pageSize, isDone) | False |
FrameFilePathData
Name | Beschreibung |
---|---|
name | Name der Framedatei |
frameIndex | Index des Frames |
StartTime | Startzeit des Frames im Video |
EndTime | Endzeit des Frames im Video |
filePath | Sas-URI des Frames in der Cloudumgebung oder dateipfad in Edgeumgebungen |
Beispieldaten, die von einer benutzerdefinierten Anwendung im Schemaformat gesendet werden
"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",
}
]
}
]
}...
Bring Your Own Model Samples
Zugehöriger Inhalt
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für