本文介紹了如何使用PHP SDK自訂人臉檢索介面,對指定的人臉圖片進行自訂人臉檢索。
功能描述
自訂人臉檢索根據您輸入的待識別人臉圖片(face),在指定人臉庫(group)中尋找並返回最相似的Top 5個體(person),返回的Top 5個體按照相似性從大到小排序。
檢索人臉時,必須指定要檢索的分組資訊(最多指定一個分組)。關於參數的詳細說明,請參見自訂人臉檢索API文檔。
您需要使用Alibaba Content Security Service的API接入地址,調用本SDK介面。關於API接入地址的資訊,請參見接入地址(Endpoint)。
說明
本 SDK 僅支援傳入圖片 URL,不支援本地檔案或位元據。
支援的 URL 類型:公網 HTTP/HTTPS,長度不超過 2048 個字元。
前提條件
提交人臉圖片檢索任務
<?php
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
use AlibabaCloud\Green\Green;
try {
/**
* 注意:此處執行個體化的client儘可能重複使用,提升檢測效能。避免重複建立串連。
* 常見擷取環境變數方式:
* 擷取RAM使用者AccessKey ID:getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
* 擷取RAM使用者AccessKey Secret:getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
*/
AlibabaCloud::accessKeyClient('建議從環境變數中擷取RAM使用者AccessKey ID', '建議從環境變數中擷取RAM使用者AccessKey Secret')
->timeout(10) // 逾時10秒,使用該用戶端且沒有單獨設定的請求都使用此設定。
->connectTimeout(3) // 連線逾時3秒,當單位小於1,則自動轉換為毫秒,使用該用戶端且沒有單獨設定的請求都使用此設定。
->regionId('cn-shanghai')
->asDefaultClient();
// url:待檢索圖片url,必選;groupId:檢索庫的Id,必選。
$task1 = array('dataId' => '業務資料ID',
'url' => '待檢測圖片連結地址',
'extras' => array('groupId' => '個體組ID')
);
// scenes:檢測情境,取值:sface-n,表示自訂人臉檢索。
$result = Green::v20180509()->imageSyncScan()
->timeout(10) // 逾時10秒,request逾時設定,僅對當前請求有效。
->connectTimeout(3) // 連線逾時3秒,當單位小於1,則自動轉換為毫秒,request逾時設定,僅對當前請求有效。
->body(json_encode(array("tasks" => array($task1),
"scenes" => array("sface-n"))))
->request();
print_r($result->toArray());
} catch (ClientException $exception) {
echo $exception->getMessage() . PHP_EOL;
} catch (ServerException $exception) {
echo $exception->getMessage() . PHP_EOL;
echo $exception->getErrorCode() . PHP_EOL;
echo $exception->getRequestId() . PHP_EOL;
echo $exception->getErrorMessage() . PHP_EOL;
}