Intelligent Media Services (IMS) analyse le contenu des ressources multimédias (vidéos, fichiers audio et images) à l'aide de l'IA. Appelez les opérations OpenAPI décrites dans ce guide pour exécuter des tâches de compréhension de contenu sur vos ressources multimédias.
Prérequis
Avant de commencer, assurez-vous d'avoir :
Activé IMS. Pour plus d'informations, consultez Activer un service.
Installé le kit de développement logiciel (SDK) côté serveur IMS. Pour plus d'informations, consultez Installation du SDK.
Utilisation de base
L'utilisation de base permet d'exécuter une analyse de compréhension de contenu sur une ressource multimédia à l'aide d'une configuration de reconnaissance faciale intégrée. Les trois étapes suivantes partagent la même configuration client : les imports et le code d'authentification sont identiques dans chaque bloc de code.
-
Créez un modèle d'algorithme.
Appelez l'opération CreateCustomTemplate pour créer un modèle d'analyse personnalisé basé sur l'IA. L'exemple ci-dessous crée un modèle de reconnaissance faciale ciblant les célébrités, les personnalités politiques et les contenus sensibles.
Exemple de code :
# -*- coding: utf-8 -*- from alibabacloud_ice20201109.client import Client as ICE20201109Client from alibabacloud_credentials.client import Client as CredentialClient from alibabacloud_tea_openapi import models as open_api_models from alibabacloud_ice20201109 import models as ice20201109_models from alibabacloud_tea_util import models as util_models # For production environments, use a more secure authentication method, such as RAM roles. # For more information about how to configure credentials, see https://www.alibabacloud.com/help/document_detail/378659.html. credential = CredentialClient() config = open_api_models.Config(credential=credential) # For the endpoint, see https://api.alibabacloud.com/product/ICE config.endpoint = 'ice.cn-xxx.aliyuncs.com' client = ICE20201109Client(config) create_custom_template_request = ice20201109_models.CreateCustomTemplateRequest( name='face_template_001', # AnalyseTypes: the analysis type (face, landmark, object, logo, or custom tag) # FaceCategoryIds: comma-separated face categories to recognize template_config='{"AnalyseTypes":"face","FaceCategoryIds":"celebrity,politician,sensitive"}', type=11 ) runtime = util_models.RuntimeOptions() response = client.create_custom_template_with_options(create_custom_template_request, runtime) print(response)Notez la valeur
template_iddans la réponse, car elle est nécessaire à l'étape 2. -
Envoyez une tâche de compréhension de contenu.
Appelez l'opération SubmitSmarttagJob pour soumettre une tâche de compréhension de contenu sur une ressource multimédia. Remplacez
<template_id>par la valeur obtenue à l'étape 1.Exemple de code :
# -*- coding: utf-8 -*- from alibabacloud_ice20201109.client import Client as ICE20201109Client from alibabacloud_credentials.client import Client as CredentialClient from alibabacloud_tea_openapi import models as open_api_models from alibabacloud_ice20201109 import models as ice20201109_models from alibabacloud_tea_util import models as util_models # For production environments, use a more secure authentication method, such as RAM roles. # For more information about how to configure credentials, see https://www.alibabacloud.com/help/document_detail/378659.html. credential = CredentialClient() config = open_api_models.Config(credential=credential) # For the endpoint, see https://api.alibabacloud.com/product/ICE config.endpoint = 'ice.cn-xxx.aliyuncs.com' client = ICE20201109Client(config) submit_smarttag_job_request_input = ice20201109_models.SubmitSmarttagJobRequestInput( type='URL', media='https://xxx.jpeg' # Replace with the URL of your media asset ) submit_smarttag_job_request = ice20201109_models.SubmitSmarttagJobRequest( title='face_test-001', input=submit_smarttag_job_request_input, template_id='<template_id>' # From step 1 ) runtime = util_models.RuntimeOptions() response = client.submit_smarttag_job_with_options(submit_smarttag_job_request, runtime) print(response)Récupérez la valeur
job_iddans la réponse ; vous en aurez besoin à l'étape 3. -
Interrogez le résultat de la tâche.
Appelez l'opération QuerySmarttagJob pour obtenir le résultat de la tâche. Remplacez
<job_id>par la valeur récupérée à l'étape 2.Exemple de code :
# -*- coding: utf-8 -*- from alibabacloud_ice20201109.client import Client as ICE20201109Client from alibabacloud_credentials.client import Client as CredentialClient from alibabacloud_tea_openapi import models as open_api_models from alibabacloud_ice20201109 import models as ice20201109_models from alibabacloud_tea_util import models as util_models # For production environments, use a more secure authentication method, such as RAM roles. # For more information about how to configure credentials, see https://www.alibabacloud.com/help/document_detail/378659.html. credential = CredentialClient() config = open_api_models.Config(credential=credential) # For the endpoint, see https://api.alibabacloud.com/product/ICE config.endpoint = 'ice.cn-xxx.aliyuncs.com' client = ICE20201109Client(config) query_smarttag_job_request = ice20201109_models.QuerySmarttagJobRequest( job_id='<job_id>' # From step 2 ) runtime = util_models.RuntimeOptions() response = client.query_smarttag_job_with_options(query_smarttag_job_request, runtime) print(response)
Utilisation avancée
L'utilisation avancée étend l'utilisation de base grâce à une bibliothèque de reconnaissance personnalisée. Avant d'envoyer une tâche, constituez une bibliothèque d'entités nommées (par exemple, des personnes spécifiques ou des logos de marque) et associez-la au modèle d'algorithme. Les étapes 4 à 6 (soumission de la tâche et interrogation du résultat) suivent le même processus que celui décrit dans l'utilisation de base.
-
Créez une bibliothèque de reconnaissance personnalisée.
Appelez l'opération CreateRecognitionLib pour créer cette bibliothèque. Notez bien la valeur
lib_idretournée dans la réponse, car elle sera requise aux étapes 2 et 3.Exemple de code :
# -*- coding: utf-8 -*- from alibabacloud_ice20201109.client import Client as ICE20201109Client from alibabacloud_credentials.client import Client as CredentialClient from alibabacloud_tea_openapi import models as open_api_models from alibabacloud_ice20201109 import models as ice20201109_models from alibabacloud_tea_util import models as util_models # For production environments, use a more secure authentication method, such as RAM roles. # For more information about how to configure credentials, see https://www.alibabacloud.com/help/document_detail/378659.html. credential = CredentialClient() config = open_api_models.Config(credential=credential) # For the endpoint, see https://api.alibabacloud.com/product/ICE config.endpoint = 'ice.cn-xxx.aliyuncs.com' client = ICE20201109Client(config) create_recognition_lib_request = ice20201109_models.CreateRecognitionLibRequest( algorithm='face', lib_name='face_lib_001' ) runtime = util_models.RuntimeOptions() response = client.create_recognition_lib_with_options(create_recognition_lib_request, runtime) print(response) -
Créez une entité personnalisée.
Utilisez l'opération CreateRecognitionEntity pour ajouter une entité nommée à la bibliothèque de reconnaissance. Remplacez
<lib_id>par la valeur obtenue à l'étape 1.Exemple de code :
# -*- coding: utf-8 -*- from alibabacloud_ice20201109.client import Client as ICE20201109Client from alibabacloud_credentials.client import Client as CredentialClient from alibabacloud_tea_openapi import models as open_api_models from alibabacloud_ice20201109 import models as ice20201109_models from alibabacloud_tea_util import models as util_models # For production environments, use a more secure authentication method, such as RAM roles. # For more information about how to configure credentials, see https://www.alibabacloud.com/help/document_detail/378659.html. credential = CredentialClient() config = open_api_models.Config(credential=credential) # For the endpoint, see https://api.alibabacloud.com/product/ICE config.endpoint = 'ice.cn-xxx.aliyuncs.com' client = ICE20201109Client(config) create_recognition_entity_request = ice20201109_models.CreateRecognitionEntityRequest( algorithm='face', lib_id='<lib_id>', # From step 1 entity_name='Xiao Shuai' ) runtime = util_models.RuntimeOptions() response = client.create_recognition_entity_with_options(create_recognition_entity_request, runtime) print(response)Conservez la valeur
entity_idprésente dans la réponse pour l'utiliser à l'étape 3. -
Ajoutez une image d'échantillon à l'entité.
Appelez l'opération CreateRecognitionSample pour associer une image d'échantillon ou un tag textuel à l'entité. Remplacez
<lib_id>et<entity_id>par les valeurs issues des étapes 1 et 2.Exemple de code :
# -*- coding: utf-8 -*- from alibabacloud_ice20201109.client import Client as ICE20201109Client from alibabacloud_credentials.client import Client as CredentialClient from alibabacloud_tea_openapi import models as open_api_models from alibabacloud_ice20201109 import models as ice20201109_models from alibabacloud_tea_util import models as util_models # For production environments, use a more secure authentication method, such as RAM roles. # For more information about how to configure credentials, see https://www.alibabacloud.com/help/document_detail/378659.html. credential = CredentialClient() config = open_api_models.Config(credential=credential) # For the endpoint, see https://api.alibabacloud.com/product/ICE config.endpoint = 'ice.cn-xxx.aliyuncs.com' client = ICE20201109Client(config) create_recognition_sample_request = ice20201109_models.CreateRecognitionSampleRequest( algorithm='face', lib_id='<lib_id>', # From step 1 entity_id='<entity_id>', # From step 2 image_url='https://xxx.jpg' # Replace with the URL of the sample image ) runtime = util_models.RuntimeOptions() response = client.create_recognition_sample_with_options(create_recognition_sample_request, runtime) print(response) -
Créez un modèle d'algorithme intégrant votre bibliothèque personnalisée.
Suivez la procédure décrite à l'étape 1 de l'utilisation de base. Dans le paramètre
template_config, définissez le type d'analyse ainsi que lelib_idde votre bibliothèque personnalisée pour les cibles de reconnaissance (visages, points de repère, objets, logos ou tags personnalisés). -
Envoyez une tâche de compréhension de contenu.
Référez-vous à la méthode présentée à l'étape 2 de l'utilisation de base.
-
Interrogez le résultat de la tâche.
Appliquez la même procédure qu'à l'étape 3 de l'utilisation de base.