O Intelligent Media Services (IMS) oferece suporte a buscas faciais em ativos de mídia dentro de uma biblioteca de conteúdo. Esse recurso permite localizar indivíduos específicos ou filtrar pessoas sensíveis por meio de chamadas às operações da OpenAPI.
Pré-requisitos
O kit de desenvolvimento de software (SDK) do lado do servidor do Intelligent Media Services (IMS) deve estar instalado. Para mais informações, consulte Instale o SDK.
Procedimento
-
Defina a configuração de análise inteligente de conteúdo.
Chame a operação CreateSearchIndex para ative a análise inteligente automática de conteúdo no registro do ativo de mídia e defina o tipo de índice como face.
com.aliyun.ice20201109.Client client = Sample.createClient("accessKeyId", "accessKeySecret"); com.aliyun.ice20201109.models.CreateSearchIndexRequest createSearchIndexRequest = new com.aliyun.ice20201109.models.CreateSearchIndexRequest() .setIndexType("face"); com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions(); client.createSearchIndexWithOptions(createSearchIndexRequest, runtime); -
Registre um recurso da biblioteca de conteúdo.
Utilize a operação RegisterMediaInfo para adicionar um ativo de mídia à biblioteca de conteúdo. A busca facial é compatível com imagens e vídeos.
com.aliyun.ice20201109.Client client = Sample.createClient("accessKeyId", "accessKeySecret"); com.aliyun.ice20201109.models.RegisterMediaInfoRequest registerMediaInfoRequest = new com.aliyun.ice20201109.models.RegisterMediaInfoRequest() .setMediaType("video") .setTitle("face-test12") .setInputURL("oss://example-bucket/example.mp4"); com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions(); client.registerMediaInfoWithOptions(registerMediaInfoRequest, runtime); -
Obtenha as informações do ativo de mídia.
Execute a operação GetMediaInfo para confirme que o ativo de mídia foi adicionado com sucesso à biblioteca de conteúdo.
com.aliyun.ice20201109.Client client = Sample.createClient("accessKeyId", "accessKeySecret"); com.aliyun.ice20201109.models.GetMediaInfoRequest getMediaInfoRequest = new com.aliyun.ice20201109.models.GetMediaInfoRequest() .setInputURL("oss://example-bucket/example.mp4"); com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions(); client.getMediaInfoWithOptions(getMediaInfoRequest, runtime);Se o valor de
AiRoughData.Statusna resposta forSaveSuccess, o ativo de mídia foi adicionado corretamente à biblioteca de conteúdo. -
Pesquise ativos de mídia na biblioteca de conteúdo por imagem facial (busca aproximada).
Invoque a operação SearchMediaByFace informando a URL de uma imagem facial para encontrar ativos de mídia que contenham a face correspondente.
com.aliyun.ice20201109.Client client = Sample.createClient("accessKeyId", "accessKeySecret"); com.aliyun.ice20201109.models.SearchMediaByFaceRequest searchMediaByFaceRequest = new com.aliyun.ice20201109.models.SearchMediaByFaceRequest() .setFaceSearchToken("test001") .setPersonImageUrl("https://****.oss-cn-shanghai.aliyuncs.com/test/testFacePic.png"); com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions(); client.searchMediaByFaceWithOptions(searchMediaByFaceRequest, runtime);Exemplo de resposta:
{ "RequestId": "F0FBE61A-66FF-55C0-8900-EE816FA20B8D", "MediaInfoList": [ { "MediaId": "92796460cd4571ed91c6e7e7c45b****" }, { "MediaId": "b5a003f0cd3f71ed919fe7e7c45b****" } ], "Total": 2, "Code": "200", "Success": true } -
Busque clipes de ativos de mídia na biblioteca de conteúdo por imagem facial (busca refinada).
Faça uma chamada à operação SearchMediaClipByFace utilizando o
MediaIdretornado na Etapa 4 para recuperar clipes específicos que contenham a face identificada.com.aliyun.ice20201109.Client client = Sample.createClient("accessKeyId", "accessKeySecret"); com.aliyun.ice20201109.models.SearchMediaClipByFaceRequest searchMediaClipByFaceRequest = new com.aliyun.ice20201109.models.SearchMediaClipByFaceRequest() .setFaceSearchToken("test001") .setMediaId("92796460cd4571ed91c6e7e7c45b****"); com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions(); client.searchMediaClipByFaceWithOptions(searchMediaClipByFaceRequest, runtime);
Referência da API
Fale conosco
Caso tenha dúvidas ou precise de suporte técnico, entre no grupo do DingTalk dedicado ao IMS (ID: 84650000851) para entrar em contato conosco.