Freigeben über


Azure AI Video Indexer Bring Your Own (BYO) AI Model Overview

Dieser Artikel enthält eine Übersicht über azure AI Video Indexer, die Ihr eigenes KI-Modell mitbringen.

Einführung

Sie können Erkenntnisse aus anderen Quellen, einschließlich Drittanbieter-, Klassifizierungs- und Erkennungsmodellen, kombinieren, um eine detaillierte Analyse Ihrer Mediendaten zu erstellen. Sie können eines oder mehrere von Microsoft angebotene Modelle, ein externes benutzerdefiniertes Modell oder ein angepasstes Person-, Marken-, Sprach- oder Sprachmodell verwenden, das von Azure Video Indexer angeboten wird.

Das Feature ist auch für VI verfügbar, das von Arc aktiviert ist.

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.

Preise

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

  1. Video wird hochgeladen und mit Azure AI Video Indexer indiziert.
  2. Nach Abschluss des Indizierungsprozesses wird ein Ereignis erstellt.
  3. Ihr benutzerdefinierter Code lauscht auf das Ereignis und startet den Video-Nachbearbeitungsprozess.
    1. Abrufen von Erkenntnissen, die von VideoIndexer extrahiert wurden.
    2. Abrufen des Keyframes für einen Videoabschnitt.
    3. Senden Sie den Keyframe an das benutzerdefinierte KI-Modell.
    4. Patchen Sie die benutzerdefinierten Einblicke wieder auf den Videoindexer.

Diagramm des oben beschriebenen Workflows

Voraussetzungen

Bevor Sie mit der Verwendung des BYO-Modellfeatures mit azure AI Video Indexer beginnen können, müssen Sie:

  1. Trainieren oder bringen Sie ein externes KI-Modell, das Videoressourcen empfängt und einen Einblick zurückgibt.
  2. Erstellen Sie benutzerdefinierten Code, der:
    1. Lauscht auf Event Hubss-Ereignisse.
    2. Extrahiert die video id Ereignisse.
    3. Ruft die relevanten Ressourcen durch Aufrufen von VI-APIs ab. Fordern Sie in diesem Szenario "Videoindex abrufen" und "Frames-SAS-URLs abrufen" an.
    4. Sendet die Ressourcen an das externe KI-Modell.
    5. Erstellt ein JSON-Objekt basierend auf den Erkenntnissen, die aus dem benutzerdefinierten KI-Modell abgerufen wurden.
    6. 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

BYO-Beispiele

Verwenden der Azure KI Video Indexer-API