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

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

Introduction

Azure AI Video Indexer offre un ensemble d’API optimisées pour le contenu vidéo et audio qui peut être appliqué à de nombreux types de contenu. Vous pouvez combiner davantage d’informations à partir de sources Microsoft, de sources personnalisées ou de sources tierces avec les insights Azure AI Video Indexer intégrés dans une expérience transparente.

Cette fonctionnalité est suffisamment flexible pour prendre en charge tous les formulaires et types d’insights, notamment les API orientées détection et classification. Vous avez la liberté de sélectionner les données sur lesquelles votre modèle externe fonctionne, telles que les images de la vidéo, la vidéo entière ou simplement la piste audio. Vous pouvez également utiliser d’autres insights déjà produits pour la vidéo, tels que des objets, des visages et des étiquettes détectés. Cela vous permet d’exécuter l’analyse externe uniquement sur la section associée de la vidéo, d’améliorer les performances et de réduire les coûts.

La fonctionnalité est disponible pour les cas d’usage cloud et edge.

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

Utiliser l’API Azure AI Video Indexer