Partager via


Vue d’ensemble d’Azure AI Video Indexer Bring Your Own (BYO) AI Model

Cet article est une vue d’ensemble d’Azure AI Video Indexer qui apporte votre propre modèle IA.

Introduction

Vous pouvez combiner des insights provenant d’autres sources, notamment des modèles tiers, de classification et de détection, pour produire une analyse détaillée de vos données multimédias. Vous pouvez utiliser un ou plusieurs modèles proposés par Microsoft, un modèle personnalisé externe ou une personne personnalisée, une marque, une reconnaissance vocale ou un modèle de langage proposé par Azure Video Indexer.

La fonctionnalité est également disponible pour VI activée par Arc.

AVERTISSEMENT : Le code de conduite de Microsoft pour Azure OpenAI Service s’applique à votre utilisation de la fonctionnalité Bring Your Own Model, qui inclut le droit de Microsoft d’interrompre votre accès et l’utilisation de cette fonctionnalité pour une non-conformité.

Tarification

Avec le modèle BYO Video Indexer, les utilisateurs peuvent ajouter des insights personnalisés aux objets d’insight vidéo sans entraîner de coûts supplémentaires au-delà du coût répertorié du processus d’indexation. Toutefois, les coûts liés à l’environnement externe et au modèle ne doivent pas être considérés comme faisant partie du prix de facturation de Video Indexer. Nous vous recommandons vivement de consulter notre section bonnes pratiques pour optimiser la logique externe et réduire les coûts.

Workflow général

  1. La vidéo est chargée et indexée avec Azure AI Video Indexer.
  2. Une fois le processus d’indexation terminé, un événement est créé.
  3. Votre code personnalisé écoute l’événement et démarre le processus de post-traitement vidéo.
    1. Obtenez des insights extraits par Video Indexer.
    2. Obtenir une image clé pour une section vidéo.
    3. Envoyez l’image clé au modèle IA personnalisé.
    4. Corrigez les insights personnalisés sur Video Indexer.

diagramme du flux de travail décrit ci-dessus

Prérequis

Avant de commencer à utiliser la fonctionnalité de modèle BYO avec Azure AI Video Indexer, vous devez :

  1. Entraînez ou apportez un modèle IA externe qui reçoit des ressources vidéo et retournez un insight.
  2. Créez du code personnalisé qui :
    1. Écoute les événements Event Hubss.
    2. Extrait les video id événements.
    3. Récupère les ressources pertinentes en appelant des API VI. Dans ce scénario, demandez Obtenir l’index vidéo et obtenir des URL SAP d’images.
    4. Envoie les ressources au modèle IA externe.
    5. Crée un objet JSON basé sur les insights récupérés à partir du modèle IA personnalisé.
    6. Demandes d’index vidéo de mise à jour corrective.

schéma

Les valeurs de remplissage des données personnalisées sont les suivantes :

Nom Description Obligatoire
nom Nom du modèle IA externe true
displayName Nom du groupe Insight à afficher dans Video Indexer true
displayType Définit le type de représentation de l’interface utilisateur pour ce groupe d’insights spécifique. Valeur par défaut : Capsules
Types possibles :
Capsule – Un seul texte de niveau
CapsuleAndTags -Deux niveaux de texte seulement seront ajoutés à l’avenir.
false
results Tableau d’objets qui représentent les insights détectés par le modèle IA externe true
results.id L’ID fourni par l’utilisateur de l’objet de résultat doit être unique dans l’étendue des résultats true
results.type Ce champ représente le type d’insight qui a été classé par le modèle IA externe. Il est utilisé pour représenter une catégorie d’insight général, ce qui signifie qu’il peut y avoir plusieurs insights de ce type identifiés dans une trame spécifique. Voici quelques exemples de types d’insights : « basket », « clapping de foule », « chemise blanche ». true
results.subType Ce champ représente le type d’insight qui a été classé par le modèle IA externe. Il est utilisé pour représenter une catégorie d’insight spécifique, ce qui signifie qu’il n’y a qu’un seul insight de ce type identifié dans une trame spécifique. Voici quelques exemples de types d’insights : « basket #23 », « John clapping », « chemise blanche de Dana ». false
results.metaData Plus de données sur l’insight false
results.instances Tableau qui représente les fenêtres de temps dans laquelle l’insight a été détecté. true
results.instances.confidence Définir avec le score de confiance retourné par le modèle externe false
results.instances.start Heure de début de l’instance dans la vidéo. Format : hh.mm.ss.ff false
results.instances.end Heure de fin de l’instance dans la vidéo. Format : hh.mm.ss.ff false
results.instances.adjustedStart Utilisé lors de l’affichage dans l’interface utilisateur, défini avec la valeur à partir de Start false
results.instances.adjustedEnd Utilisé lors de l’affichage dans l’interface utilisateur, défini avec la valeur de End false

Framerate

Azure AI Video Indexer prend en charge un FPS pour le niveau vidéo De base/Standard et quatre FPS pour le niveau avancé. Les taux d’images plus élevés ne sont pas pris en charge. Vous pouvez optimiser l’indexation en :

  • Traitement uniquement de segments spécifiques qui sont intéressants, tels que des images qui incluent un son, un objet ou une personne détectés, ou
  • échantillonner un FPS inférieur, par exemple toutes les 5 secondes.

Sélection d’images

Vous pouvez utiliser les paramètres ignorer les cadres et la taille de page pour la sélection du temps. La formule est la valeur ignorer les images multipliée par le FPS et la valeur de taille de page multipliée par le FPS peut être utilisée pour déterminer l’intervalle de temps.

URL : https://api.videoindexer.ai/{location}/Accounts/{accountId}/Videos/{videoId}/FramesFilePaths[?urlsLifetimeSeconds][&pageSize][&skip][&accessToken]

Paramètres :

Nom Description Obligatoire
videoId ID de la vidéo true
urlsLifetimeSeconds durée de vie des URL en secondes true
Pagesize Nombre maximal d’images à retourner chaque appel false
skip Trames à ignorer false
accessToken Doit être donné comme paramètre dans la chaîne de requête d’URL ou dans l’en-tête d’autorisation en tant que jeton du porteur. L’étendue du jeton d’accès doit être Compte et autorisation doit être Lecteur. true

Réponse: FrameFilePathsResult

Nom Description Obligatoire
results Liste de FrameUriData False
NextPage Pagination des données (skip, pageSize, isDone) False

FrameFilePathData

Nom Description
nom Nom du fichier frame
frameIndex Index du frame
StartTime Heure de début de l’image dans la vidéo
EndTime Heure de fin de l’image dans la vidéo
filePath URI sas de l’image dans l’environnement cloud ou chemin d’accès de fichier dans les environnements de périphérie

Exemples de données envoyées à partir d’une application personnalisée au format de schéma

"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",
                    }
                ]
            }
        ]
    }... 

Apporter vos propres exemples de modèle

Exemples BYO

Utiliser l’API Azure AI Video Indexer