La détection de libellés vidéo analyse les vidéos et renvoie des libellés structurés décrivant les scènes, les événements et les objets. Utilisez ces libellés pour classer, rechercher et recommander des vidéos.
Cas d'utilisation
Classification vidéo : Catégorisez les vidéos par sujets tels que l'actualité, le divertissement, les jeux vidéo, la technologie, la cuisine, le sport, les voyages, l'animation, la danse, la musique, le cinéma et la télévision, ainsi que l'automobile.
Recherche vidéo : Indexez les libellés pour constituer une bibliothèque vidéo interrogeable. Par exemple, retrouvez toutes les vidéos contenant des scènes en extérieur ou des objets spécifiques.
Recommandation personnalisée : Faites correspondre les libellés de contenu vidéo avec les préférences des utilisateurs afin de proposer des recommandations ciblées.
Fonctionnement
Téléchargez une vidéo dans un compartiment OSS.
Appelez CreateVideoLabelClassificationTask pour créer une tâche asynchrone de détection de libellés.
Une fois la tâche terminée, appelez GetVideoLabelClassificationResult pour récupérer les libellés détectés.
Les résultats des tâches sont conservés pendant sept jours après le démarrage de la tâche. Passé ce délai, les résultats ne sont plus disponibles via l'API.
Prérequis
Assurez-vous d'avoir :
Une paire AccessKey. Créer une paire AccessKey
Un compartiment OSS contenant la vidéo téléchargée. Télécharger des objets
Le service IMM activé. Activer IMM
Un projet IMM créé dans la région cible. Créer un projet
Vous pouvez également gérer les projets par programmation. Appelez CreateProject pour créer un projet, ou ListProjects pour interroger les projets existants dans une région.
Suivre l'état de la tâche
Outre l'appel à GetVideoLabelClassificationResult, vous pouvez suivre la progression de la tâche à l'aide des méthodes suivantes :
|
Méthode |
Description |
|
Interrogation de l'API |
Appelez GetTask ou ListTasks pour interroger les détails de la tâche. |
|
Simple Message Queue (SMQ) |
Abonnez-vous aux notifications de tâches dans la même région que votre projet IMM. Consultez les Exemples de messages asynchrones et la section sur la Réception et suppression du message. |
|
ApsaraMQ for RocketMQ 4.0 |
Créez une instance RocketMQ, un sujet et un groupe dans la même région pour recevoir les notifications de tâches. Consultez les Exemples de messages asynchrones et la section sur l'Envoi et abonnement aux messages normaux. |
|
EventBridge |
Recevez les événements de fin de tâche via EventBridge. Consultez les Événements IMM. |
Structure de la réponse
Une tâche réussie renvoie un tableau Labels comportant jusqu'à trois niveaux hiérarchiques. Chaque libellé inclut un score de confiance et un score de centralité.
Champs de libellé
|
Champ |
Type |
Description |
|
|
String |
Nom du libellé détecté, par exemple « Paysage naturel » ou « Voiture ». |
|
|
Float |
Probabilité que le libellé soit correct. Plage : 0 à 1. Les valeurs élevées indiquent une plus grande confiance. |
|
|
Float |
Degré de proéminence du contenu libellé dans la vidéo. Plage : 0 à 1. Les valeurs élevées signifient une plus grande proéminence. |
|
|
Integer |
Position dans la hiérarchie des libellés. |
|
|
String |
Nom du libellé parent. Vide pour les libellés de premier niveau (niveau 1). |
|
|
String |
Langue du nom du libellé, par exemple |
Hiérarchie des libellés
Les libellés suivent une hiérarchie à trois niveaux. Chaque libellé enfant fait référence à son parent via ParentLabelName :
Level 1 (category) Level 2 (subcategory) Level 3 (detail)
--------------------- ---------------------- -----------------
Tourism & geography -> Natural landscape -> Moon, Sky
Others -> Color -> Blue, Green, Black, White
-> Astronomical object
Daily necessities -> Text
-> Letter
Virtual scene -> Web page
-> Website
Artwork -> Illustration
Other scenes -> Mobile phone screenshot
Exemple de réponse
{
"ProjectName": "test-project",
"RequestId": "D65E8038-C584-0809-9BF0-****",
"StartTime": "2022-08-22T05:01:17.572Z",
"EndTime": "2022-08-22T05:01:20.49Z",
"TaskType": "VideoLabelClassification",
"TaskId": "VideoLabelClassification-1b77de73-ff9f-4c39-b254-****",
"Status": "Succeeded",
"Labels": [
{
"Language": "zh-Hans",
"LabelName": "Color",
"LabelConfidence": 0.999,
"CentricScore": 0.77,
"LabelLevel": 2,
"ParentLabelName": "Others"
},
{
"Language": "zh-Hans",
"LabelName": "Others",
"LabelConfidence": 0.999,
"CentricScore": 0.77,
"LabelLevel": 1,
"ParentLabelName": ""
},
{
"Language": "zh-Hans",
"LabelName": "Blue",
"LabelConfidence": 1,
"CentricScore": 0.716,
"LabelLevel": 3,
"ParentLabelName": "Color"
},
{
"Language": "zh-Hans",
"LabelName": "Natural landscape",
"LabelConfidence": 0.897,
"CentricScore": 0.801,
"LabelLevel": 2,
"ParentLabelName": "Tourism & geography"
},
{
"Language": "zh-Hans",
"LabelName": "Moon",
"LabelConfidence": 0.859,
"CentricScore": 0.756,
"LabelLevel": 3,
"ParentLabelName": "Natural landscape"
}
]
}
Cet exemple est abrégé. Une réponse complète contient généralement davantage de libellés et peut inclure UserData si défini dans la requête, ou les champs Code et Message en cas d'erreur.
Formats vidéo pris en charge
Formats pris en charge (22 au total) : AVI, MPEG, MPG, DAT, DIVX, XVID, RM, RMVB, MOV, QT, ASF, WMV, VOB, 3GP, MP4, FLV, AVS, MKV, TS, OGM, NSV et SWF.
FAQ
Puis-je spécifier les libellés à détecter ?
Non. Cette fonctionnalité utilise une taxonomie prédéfinie. Vous ne pouvez pas spécifier, inclure ni exclure des libellés individuels.
Dans quelles catégories les libellés sont-ils classés ?
Les libellés se répartissent en trois grandes catégories :
Scènes : Paysages naturels (forêts, plages, montagnes enneigées), espaces de vie (maisons, restaurants) et scènes de catastrophe.
Événements : Concours de talents, activités de bureau, spectacles et processus de production.
Objets : Vaisselle, appareils électroniques (téléphones, ordinateurs), meubles et véhicules.