O Intelligent Media Services (IMS) analisa o conteúdo de ativos de mídia — vídeos, áudio e imagens — usando IA. Chame as operações da OpenAPI descritas neste guia para executar tarefas de compreensão de conteúdo em seus ativos de mídia.
Pré-requisitos
Antes de começar, verifique se você:
Ativou o IMS. Para mais informações, consulte Ativar um serviço.
Instalou o kit de desenvolvimento de software (SDK) server-side do IMS. Para mais informações, consulte Instalação do SDK.
Uso básico
O uso básico executa a compreensão de conteúdo em um ativo de mídia com uma configuração integrada de reconhecimento facial. As três etapas usam a mesma configuração de cliente; os códigos de importação e autenticação são idênticos em cada bloco de código.
-
Crie um modelo de algoritmo.
Chame a operação CreateCustomTemplate para criar um modelo personalizado de análise baseada em IA. O exemplo abaixo cria um modelo de reconhecimento facial focado em celebridades, políticos e conteúdo sensível.
Código de exemplo:
# -*- 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.aliyun.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)Anote o
template_idna resposta. Você precisará dele na etapa 2. -
Envie uma tarefa de compreensão de conteúdo.
Chame a operação SubmitSmarttagJob para enviar uma tarefa de compreensão de conteúdo referente a um ativo de mídia. Substitua
<template_id>pelo valor obtido na etapa 1.Código de exemplo:
# -*- 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.aliyun.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)Anote o
job_idna resposta. Você precisará dele na etapa 3. -
Consulte o resultado da tarefa.
Chame a operação QuerySmarttagJob para recuperar o resultado da tarefa. Substitua
<job_id>pelo valor obtido na etapa 2.Código de exemplo:
# -*- 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.aliyun.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)
Uso avançado
O uso avançado estende o uso básico com uma biblioteca de reconhecimento personalizada. Antes de enviar uma tarefa, crie uma biblioteca de entidades nomeadas — por exemplo, pessoas específicas ou logotipos de marcas — e associe-a ao modelo de algoritmo. As etapas 4 a 6 (enviar tarefa e consultar resultado) seguem o mesmo processo das etapas de uso básico.
-
Crie uma biblioteca de reconhecimento personalizada.
Chame a operação CreateRecognitionLib para criar uma biblioteca de reconhecimento personalizada. Anote o
lib_idna resposta. Você precisará dele nas etapas 2 e 3.Código de exemplo:
# -*- 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.aliyun.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) -
Crie uma entidade personalizada.
Chame a operação CreateRecognitionEntity para adicionar uma entidade nomeada à biblioteca de reconhecimento. Substitua
<lib_id>pelo valor obtido na etapa 1.Código de exemplo:
# -*- 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.aliyun.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)Anote o
entity_idna resposta. Você precisará dele na etapa 3. -
Adicione uma imagem de amostra à entidade.
Chame a operação CreateRecognitionSample para associar uma imagem de amostra ou tag de texto à entidade. Substitua
<lib_id>e<entity_id>pelos valores obtidos nas etapas 1 e 2.Código de exemplo:
# -*- 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.aliyun.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) -
Crie um modelo de algoritmo com sua biblioteca personalizada.
Siga o mesmo processo da etapa 1 do uso básico. No
template_config, defina o tipo de análise e olib_idda sua biblioteca personalizada para os alvos de reconhecimento — rostos, pontos de referência, objetos, logotipos ou tags personalizadas. -
Envie uma tarefa de compreensão de conteúdo.
Siga o mesmo processo da etapa 2 do uso básico.
-
Consulte o resultado da tarefa.
Siga o mesmo processo da etapa 3 do uso básico.