功能描述
自訂人臉檢索根據您輸入的待識別人臉圖片(face),在指定人臉庫(group)中尋找並返回最相似的Top 5個體(person),返回的Top 5個體按照相似性從大到小排序。
檢索人臉時,必須指定要檢索的分組資訊(最多指定一個分組)。關於參數的詳細說明,請參見自訂人臉檢索API文檔。
您需要使用Alibaba Content Security Service的API接入地址,調用本SDK介面。關於API接入地址的資訊,請參見接入地址(Endpoint)。
前提條件
已安裝Go依賴。關於安裝Go依賴的具體操作,請參見安裝Go依賴。
說明
請一定按照安裝Go依賴頁面中的版本安裝,否則會導致調用失敗。
提交人臉圖片檢索任務
package main
import (
"encoding/json"
"fmt"
"github.com/aliyun/alibaba-cloud-sdk-go/services/green"
"strconv"
)
func main() {
/**
* 注意:此處執行個體化的client儘可能重複使用,提升檢測效能。避免重複建立串連。
* 常見擷取環境變數方式:
* 擷取RAM使用者AccessKey ID:os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
* 擷取RAM使用者AccessKey Secret:os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
*/
client, _err := green.NewClientWithAccessKey(
"cn-shanghai",
"建議從環境變數中擷取RAM使用者AccessKey ID",
"建議從環境變數中擷取RAM使用者AccessKey Secret")
if err != nil {
fmt.Println(err.Error())
return
}
extras := map[string]interface{}{"groupId": "個體組ID"}
task1 := map[string]interface{}{"dataId": "檢測資料ID", "url": "待檢測人臉圖片連結地址", "extras": extras}
// scenes:檢測情境,取值:sface-n,表示自訂人臉檢索。
content, _ := json.Marshal(
map[string]interface{}{
"tasks": task1, "scenes": [...]string{"sface-n"}, "bizType": "業務情境",
},
)
request := green.CreateImageSyncScanRequest()
request.SetContent(content)
response, _err := client.ImageSyncScan(request)
if _err != nil {
fmt.Println(_err.Error())
return
}
if response.GetHttpStatus() != 200 {
fmt.Println("response not success. status:" + strconv.Itoa(response.GetHttpStatus()))
}
fmt.Println(response.GetHttpContentString())
}