人臉比對
更新時間 2025-09-23 10:33:24
最近更新時間: 2025-09-23 10:33:24
分享文章
接口描述
?于檢測輸?的兩張圖像中的?臉相似度,并返回相似度分數、兩個?臉的坐標信息和兩個?臉的五官關鍵點坐標信息,關鍵點包括眼睛2點、??1點、嘴巴2點。
請求方法
POST
接口要求
- 圖???限制:圖?單張???于2MB。
- 圖?格式限制:圖?格式?持jpg/jpeg/png/bmp格式。
URI
/v1/aiop/api/2f7awxekgvls/face/compare/PERSON/person/compareFromBase64
請求參數
請求頭header參數
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| Content-Type | 是 | String | json格式 | application/json | |
| appkey | 是 | String | 平臺應用appkey | 562b89493b1a40e1b97ea05e50dd8170 | |
| ctyun-eop-request-id | 是 | String | 用戶請求 id,由用戶構造,用戶可以通過 uuid 等方法自行生成唯一字符串,用于日志請求追蹤。 詳見文檔:Python3調用示例 |
33dfa732-b27b-464f-b15a-21ed6845afd5 | |
| eop-date | 是 | String | 請求時間,由用戶構造,形如 yyyymmddTHHMMSSZ。 詳見文檔:Python3調用示例 |
20211221T163014Z | |
| host | 是 | String | 終端節點域名,固定字段 | ai-global.ctapi.daliqc.cn | |
| version | 是 | String | 固定值v2 | v2 | |
| Eop-Authorization | 是 | String | 由天翼云官網 accessKey 和 securityKey 經簽名后生成,參與簽名生成的字段包括天翼云官網 accessKey 、securityKey、平臺應用的appkey(非必須),用戶請求id(非必須),請求時間,終端節點域名(非必須)以及請求體內容。 簽名邏輯詳見文檔:認證鑒權和Python3調用示例 |
請求體body參數
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| img1Base64 | 是 | String | 人臉比對的第一張圖片,圖片使用常規的base64編碼方式,編碼后,不包含前綴,剔除前綴例如” data:image/jpeg;base64,” | - | |
| img2Base64 | 是 | String | 人臉比對的第二張圖片,圖片使用常規的base64編碼方式,編碼后,不包含前綴,剔除前綴例如” data:image/jpeg;base64,” | - |
請求代碼示例
Curl -X POST "//ai-global.ctapi.daliqc.cn/v1/aiop/api/2f7awxekgvls/fac
e/compare/PERSON/person/compareFromBase64"
-H "Content-Type: application/json"
-H "ctyun-eop-request-id:33dfa732-b27b-464f-b15a-21ed6845afd5"
-H "appkey:XXX"
-H "version:v2"
-H "Eop-Authorization:XXX"
-H "eop-date:20211109T104641Z"
-H "host:ai-global.ctapi.daliqc.cn"
--data '{"img1Base64":"AAAAAAAAA....","img2Base64":"BBBBBBBBBB...."}'
返回值說明
1.請求成功返回響應參數
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| statusCode | 是 | Int | 返回狀態,返回 0 表示成功,返回錯誤代碼參考下面的錯誤代碼列表。 | 0 | |
| message | 是 | String | 如果 code 為 0,返回 success;如果 code 非 0,則返回對應的可讀錯誤信息。 | success | |
| returnObj | 是 | Object | 返回的結果數據內容 | returnObj |
2.表returnObj
| 參數 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|
| Score | Float | 兩張圖片中的中心人臉屬于同一個人的置信度,取值范圍[0, 1]。 | 0.8642 | |
| RectAList | Array | 圖片1的人臉位置信息。 中心人臉的位置信息 box = [left, top, width, height]。 | [106,61,86,112] | |
| RectBList | Array | 圖片2的人臉位置信息。 中心人臉的位置信息 box = [left, top, width, height]。 | [771, 118, 222, 303] | |
| LandmarkA | Array | 圖片1的中心人臉5個人臉關鍵點位置信息。表示方式為[x1, y1, x2, y2, x3, y3, x4, y4, x5, y5],數組的維度為 1 x 10。 | [106, 112, 146, 113, 130, 137, 106, 154, 143, 155] | |
| LandmarkB | Array | 圖片2的中心人臉5個人臉關鍵點位置信息。表示方式為[x1, y1, x2, y2, x3, y3, x4, y4, x5, y5],數組的維度為 1 x 10。 | [103, 108, 147, 116, 120, 142, 99, 147, 139, 155] |
3.請求失敗返回響應參數
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| statusCode | 是 | Int | 錯誤碼,放置API對應的錯誤碼 | 500001 | |
| message | 是 | String | 返回對應的錯誤信息 | 請求內容錯誤 | |
| details | 是 | String | 返回對應的錯誤描述 | 傳入內容為空,或者傳入的參數名錯誤 | |
| error | 是 | String | 返回對應的錯誤碼 | AI_OP_500001 |
返回值示例
1.請求成功返回值示例
{
"statusCode": 0,
"message": "success",
"returnObj": {
"LandmarkA": [104, 109, 146, 112, 122, 137, 102, 146, 145, 148],
"LandmarkB": [103, 108, 147, 116, 120, 142, 99, 147, 139, 155],
"RectAList": [80, 67, 94, 116],
"RectBList": [75, 62, 104, 118],
"Score": 0.6841
}
}
2.請求失敗返回值示例
{
"code": 400005,
"message": "請求體類型錯誤",
"details": "請求體需為字典,不能為其他類型",
"statusCode": 400005,
"error": "AI_OP_400005"
}
狀態碼
| http狀態碼 | 描述 |
|---|---|
| 200 | 表示請求成功 |
錯誤碼說明
v2版本錯誤碼:6位錯誤碼,4 開頭為業務錯誤碼,5開頭為服務錯誤碼。
| 錯誤碼 | 錯誤信息 | 錯誤描述 |
|---|---|---|
| CTAPI_10000 | API Not Found | |
| CTAPI_0009 | 無效json的body參數 | |
| AI_OP_400005 | 請求體類型錯誤 | 請求體需為字典,不能為其他類型 |
| AI_OP_400006 | 必傳的參數未傳 | 必傳的參數(img1Base64或img2Base64)未傳 |
| AI_OP_400008 | 請求體的參數字段類型錯誤 | img1Base64、img2Base64字段應該是string類型 |
| AI_OP_400009 | 請求體的參數字段值為空 | img1Base64、img2Base64字段值為空字符 |
| AI_OP_400011 | base64數據處理異常 | img1Base64 或 img2Base64 字段的 base64 字符串轉換字節碼異常 |
| AI_OP_400012 | 文件格式不合法 | 僅支持 jpeg/png/jpg/bmp?格式 |
| AI_OP_400013 | 文件大小不符合要求 | 該文件大小不符合要求,圖片一/圖片二要求小于2M |
| AI_OP_410001 | 圖片一/圖片二解碼錯誤 | 字節碼解碼為圖片錯誤 |
| AI_OP_500001 | 服務接口異常,請聯系管理員 | 需要聯系管理員處理 |
| AI_OP_601002 | 圖片一/圖片二未檢測到人臉 | 上傳圖片一/圖片二不包含人臉 |
base64 編碼規則:使用常規的 safe base64 編碼方式
- python 中推薦使用 base64.urlsafe_b64encode() 函數進行編碼。
- java 中推薦使用 BASE64.getUrlEncoder().encodeToString() 函數進行編碼。