本文介紹了調用圖片異步檢測接口(/green/image/asyncscan)進行人臉圖片1:1比對的方法。人臉比對幫助您檢測兩張人臉照片的相似度。
(圖片異步檢測)使用說明
業務接口:/green/image/asyncscan,表示圖片異步檢測。
您可以調用該接口創建圖片異步檢測任務。關于如何構造HTTP請求,請參見請求結構;您也可以直接選用已構造好的HTTP請求,更多信息,請參見SDK概覽。
計費信息:
該接口為收費接口。關于計費方式,請參見內容安全產品定價。
說明對于人臉比對功能,傳入兩張圖片進行一次比對進行一次計費,而不是兩次。
檢測超時:
同步檢測允許的最長檢測時間是6秒,如果檢測在該時間限制內沒有完成,系統會強制返回超時錯誤碼。如果您對實時性要求不高,可以選擇異步檢測,其他情況下請選擇同步檢測,同步檢測接口的調用相對簡單些。對于同步檢測接口的調用,建議您將超時時間設置為6秒。
返回結果:
異步檢測任務不會實時返回檢測結果,您需要通過callback或者輪詢的方式獲取檢測結果。檢測結果最長保留一小時。
callback獲取檢測結果:提交異步檢測任務時,在請求參數中傳入callback參數,用來自動接收檢測結果,具體說明,請參見(異步檢測)請求參數。
輪詢獲取檢測結果:提交異步檢測任務時,無需傳入callback參數;提交異步檢測任務后,調用結果查詢接口獲取檢測結果,具體說明,請參見(圖片異步檢測結果查詢)使用說明。
圖片要求:
圖片鏈接支持以下協議:HTTP和HTTPS。
圖片支持以下格式:PNG、JPG、JPEG、BMP、GIF、WEBP。
圖片大小限制為20 MB以內(適用于同步和異步調用),高度或者寬度不能超過30,000像素(px),且圖像總像素不超過2.5億(px)。
說明其中,GIF格式的圖片,圖像總像素不超過4,194,304(px),高度或者寬度不能超過30,000像素(px)。
圖片下載時間限制為3秒內,如果下載時間超過3秒,返回下載超時。
圖片像素建議不低于256*256(px),像素過低可能會影響識別效果。
圖片檢測接口的響應時間依賴圖片的下載時間。請保證被檢測圖片所在的存儲服務穩定可靠,建議您使用阿里云OSS存儲或者CDN緩存等。
QPS限制
本接口的單用戶QPS限制為50次/秒。超過限制,API調用會被限流,這可能會影響您的業務,請合理調用。
(異步檢測)請求參數
名稱 | 類型 | 是否必選 | 示例值 | 描述 |
bizType | String | 否 | default | |
scenes | StringArray | 是 | ["sface-1"] | 指定檢測場景,取值:sface-1,表示人臉比對。 |
callback | String | 否 | http://www.aliyundoc.com/xx.json | 檢測結果回調通知您的URL,支持使用HTTP和HTTPS協議的地址。該字段為空時,您必須定時輪詢檢測結果。 callback接口必須支持POST方法、UTF-8編碼的傳輸數據,以及表單參數checksum和content。內容安全按照以下規則和格式設置checksum和content,調用您的callback接口返回檢測結果。
說明 您的服務端callback接口收到內容安全推送的結果后,如果返回的HTTP狀態碼為200,則表示接收成功,其他的HTTP狀態碼均視為接收失敗。接收失敗時,內容安全將最多重復推送16次檢測結果,直到接收成功。重復推送16次后仍未接收成功,則不再推送,建議您檢查callback接口的狀態。 |
seed | String | 否 | aabbcc123 | 隨機字符串,該值用于回調通知請求中的簽名。 由英文字母、數字、下劃線(_)組成,不超過64個字符。由您自定義,用于在接收到內容安全的回調通知時校驗請求由阿里云內容安全服務發起。 說明 當使用callback時,該字段必須提供。 |
cryptType | String | 否 | SHA256 | 使用回調通知時(callback),設置對回調通知內容進行加密的算法。內容安全會將返回結果(由 用戶uid + seed + content 拼接的字符串)按照您設置的加密算法加密后,再發送到您的回調通知地址。取值:
|
tasks | JSONArray | 是 | 指定檢測對象,JSON數組中的每個元素是一個檢測任務結構體。最多支持100個元素,即每次提交100條內容進行檢測,支持100個元素的前提是需要將并發任務調整到100個以上。關于每個元素的具體結構描述,請參見task。 |
名稱 | 類型 | 是否必選 | 示例值 | 描述 |
dataId | String | 否 | e6b080a8-a91a-11e8-bac4-6c96cfde2af9 | 檢測對象對應的數據ID。 由大小寫英文字母、數字、下劃線(_)、短劃線(-)、英文句號(.)組成,不超過128個字符,可以用于唯一標識您的業務數據。 |
url | String | 是 | http://www.aliyundoc.com/2015/0826/2015082612403321.jpg | 檢測對象的URL。
說明 傳入待比較圖片中的第一張圖片的URL。 |
extras | JSONObject | 否 | {"faceUrl":"http://www.aliyundoc.com/c/u/2013/0313/1363136852136.jpg"} | 傳入待比較圖片中的第二張圖片。格式為 |
(異步檢測)返回數據
名稱 | 類型 | 示例值 | 描述 |
code | Integer | 200 | 錯誤碼,和HTTP狀態碼一致。 更多信息,請參見公共錯誤碼。 |
msg | String | OK | 請求信息的響應消息。 |
dataId | String | e6b080a8-a91a-11e8-bac4-6c96cfde2af9 | 檢測對象對應的數據ID。 說明 如果在檢測請求參數中傳入了dataId,則此處返回對應的dataId。 |
taskId | String | fdd25f95-4892-4d6b-aca9-7939bc6e9baa-1486198766695 | 檢測任務的ID。 |
url | String | http://www.aliyundoc.com/2015/0826/2015082612403321.jpg | 檢測對象的URL。
說明 檢測對象的URL。對應請求中的URL,即第一張圖片的URL。 |
(異步檢測)示例
請求示例
http(s)://[Endpoint]/green/image/asyncscan
&<公共請求參數>
{
"scenes": [
"sface-1"
],
"tasks": [
{
"url": "http://www.aliyundoc.com/2015/0826/2015082612403321.jpg",
"dataId": "e6b080a8-a91a-11e8-bac4-6c96cfde2af9",
"extras": {
"faceUrl": "http://www.aliyundoc.com/c/u/2013/0313/1363136852136.jpg"
},
"time": 949640
}
]
}
正常返回示例
{
"code": 200,
"msg": "OK",
"requestId": "95AD868A-F5D2-4AEA-96D4-E0273B8E074C",
"data": [
{
"code": 200,
"msg": "OK",
"dataId": "e6b080a8-a91a-11e8-bac4-6c96cfde2af9",
"taskId": "fdd25f95-4892-4d6b-aca9-7939bc6e9baa-1486198766695",
"url": "http://www.aliyundoc.com/2015/0826/2015082612403321.jpg"
}
]
}
(圖片異步檢測結果查詢)使用說明
業務接口:/green/image/results,表示查詢圖片異步檢測結果。
您可以調用該接口查詢圖片異步檢測任務的結果。關于如何構造HTTP請求,請參見請求結構;您也可以直接選用已構造好的HTTP請求,更多信息,請參見SDK概覽。
計費信息:
該接口不計費。
查詢超時:
建議您將查詢間隔設置為30秒(即在提交異步檢測任務30秒后查詢結果),最長不能超出4個小時,否則結果將會丟失。
QPS限制
本接口的單用戶QPS限制為50次/秒。超過限制,API調用會被限流,這可能會影響您的業務,請合理調用。
(結果查詢)請求參數
名稱 | 類型 | 是否必選 | 示例值 | 描述 |
body | StringArray | 是 | ["fdd25f95-4892-4d6b-aca9-7939bc6e9baa-1486198766695"] | 要查詢的檢測任務的taskId列表。數組中的元素個數不超過100個。 您在提交檢測任務后,可以從返回數據中獲取檢測任務的taskId。 |
(結果查詢)返回數據
名稱 | 類型 | 示例值 | 描述 |
code | Integer | 200 | 錯誤碼,和HTTP狀態碼一致。 更多信息,請參見公共錯誤碼。 |
msg | String | OK | 請求信息的響應消息。 |
dataId | String | e6b080a8-a91a-11e8-bac4-6c96cfde2af9 | 檢測對象對應的數據ID。 說明 如果在檢測請求參數中傳入了dataId,則此處返回對應的dataId。 |
taskId | String | img2hsbmQeA4CU7l78$s8q5mW-1pnn7Z | 檢測任務的ID。 |
url | String | http://www.aliyundoc.com/2015/0826/2015082612403321.jpg | 檢測對象的URL。 |
results | JSONArray | 返回結果。調用成功時(code=200),返回結果中包含一個或多個元素。每個元素是個結構體,具體結構描述,請參見result。 | |
extras | JSONObject | xxx | 額外調用參數。 說明 該參數可能會被調整,目前請勿依賴該參數的返回值。 |
名稱 | 類型 | 示例值 | 描述 |
scene | String | sface-1 | 檢測場景,取值:sface-1,表示人臉比對。 |
label | String | sface-1 | 檢測結果的分類,取值:
|
suggestion | String | review | 建議用戶執行的操作,取值范圍:
|
rate | Float | 97.0 | 置信度分數,取值范圍:0~100,置信度越高表示檢測結果的可信度越高。建議您不要在業務中使用該分數。 |
(結果查詢)示例
請求示例
http(s)://[Endpoint]/green/image/results
&<公共請求參數>
[
"fdd25f95-4892-4d6b-aca9-7939bc6e9baa-1486198766695"
]
正常返回示例
{
"code": 200,
"msg": "OK",
"requestId": "9EEF894F-A933-4830-97B1-EC1A9630A9D6",
"data": [
{
"code": 200,
"dataId": "e6b080a8-a91a-11e8-bac4-6c96cfde2af9",
"taskId": "img2hsbmQeA4CU7l78$s8q5mW-1pnn7Z",
"url": "http://www.aliyundoc.com/2015/0826/2015082612403321.jpg",
"extras": {
},
"msg": "OK",
"results": {
"label": "sface-1",
"rate": 97.0,
"scene": "sface-1",
"suggestion": "review"
}
}
]
}