本文由簡體中文內容自動轉碼而成。阿里雲不保證此自動轉碼的準確性、完整性及時效性。本文内容請以簡體中文版本為準。

自訂人臉檢索

更新時間:2024-07-06 00:10

本文介紹了如何使用.NET SDK自訂人臉檢索介面,對指定的人臉圖片進行自訂人臉檢索。

功能描述

自訂人臉檢索根據您輸入的待識別人臉圖片(face),在指定人臉庫(group)中尋找並返回最相似的Top 5個體(person),返回的Top 5個體按照相似性從大到小排序。

檢索人臉時,必須指定要檢索的分組資訊(最多指定一個分組)。關於參數的詳細說明,請參見自訂人臉檢索API文檔

您需要使用Alibaba Content Security Service的API接入地址,調用本SDK介面。關於API接入地址的資訊,請參見接入地址(Endpoint)

前提條件

已安裝.NET依賴。關於安裝.NET依賴的具體操作,請參見安裝.NET依賴

說明

請一定按照安裝.NET依賴頁面中的版本安裝,否則會導致調用失敗。

提交人臉圖片檢索任務

using System;
using Newtonsoft.Json;
using Aliyun.Acs.Core;
using Aliyun.Acs.Core.Http;
using Aliyun.Acs.Core.Profile;
using Aliyun.Acs.Green.Model.V20180509;
using System.Collections.Generic;

namespace csharp_sdk_sample
{
    class Program
    {
        static void Main(string[] args)
        {
            /**
             * 常見擷取環境變數方式:
             *     擷取RAM使用者AccessKey ID:Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID");
             *     擷取RAM使用者AccessKey Secret:Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
             */
            DefaultProfile profile = DefaultProfile.GetProfile(
                    "cn-shanghai",
                    "建議從環境變數中擷取RAM使用者AccessKey ID",
                    "建議從環境變數中擷取RAM使用者AccessKey Secret");
            // 注意:此處執行個體化的client儘可能重複使用,提升檢測效能。避免重複建立串連。
            DefaultAcsClient client = new DefaultAcsClient(profile);

            ImageSyncScanRequest request = new ImageSyncScanRequest();
            request.AcceptFormat = FormatType.JSON;
            request.ContentType = FormatType.JSON;
            request.Method = MethodType.POST;
            request.Encoding = "UTF-8";

            Dictionary<string, object> extras = new Dictionary<string, object>();
            extras.Add("groupId", "個體組ID");

            Dictionary<string, object> task1 = new Dictionary<string, object>();
            task1.Add("dataId", "檢測資料ID");
            task1.Add("url", "待檢測人臉圖片連結地址");
            task1.Add("extras", extras);

            // scenes:檢測情境,取值:sface-n,表示自訂人臉檢索。
            Dictionary<string, object> httpBody = new Dictionary<string, object>();
            httpBody.Add("scenes", new List<string> { "sface-n" });
            httpBody.Add("bizType", "業務情境");
            httpBody.Add("tasks", new List<Dictionary<string, object>> { task1 });

            request.SetContent(System.Text.Encoding.Default.GetBytes(JsonConvert.SerializeObject(httpBody)), "utf-8", FormatType.JSON);
            try
            {
                ImageSyncScanResponse response = client.GetAcsResponse(request);
                if (response.HttpResponse.Status != 200)
                {
                    Console.WriteLine("the request failed. status:{0}", response.HttpResponse.Status);
                }
                Console.WriteLine(System.Text.Encoding.Default.GetString(response.HttpResponse.Content));
            }
            catch (Exception ex)
            {
                Console.WriteLine("Failed with error info: {0}", ex.Message);
            }
        }
    }
}
  • 本頁導讀 (0, M)
  • 功能描述
  • 前提條件
  • 提交人臉圖片檢索任務
文檔反饋
phone 聯絡我們

立即和Alibaba Cloud在線服務人員進行交談,獲取您想了解的產品信息以及最新折扣。

alicare alicarealicarealicare