全部產品
Search
文件中心

AI Guardrails:圖片人臉檢索

更新時間:Jul 06, 2024

本文介紹了調用圖片同步檢測(imageScan)介面進行自訂人臉檢索的方法。自訂人臉檢索能夠從指定的個體庫中檢索特定的人臉圖片,並返回與目標最相似的5個個體。

情境說明

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

參數

說明

相關介面

person

個體,表示一個自然人。

face

人臉,表示個體關聯的人臉圖片。

一個個體可以關聯多個人臉圖片。

group

個體組,表示個體的集合。

一個個體可以屬於多個組,一個組也可以包含多個個體。

使用說明

您可以調用imageScan介面建立圖片同步檢測任務。關於如何構造HTTP請求,請參見請求結構;您也可以直接選用已構造好的HTTP請求,更多資訊,請參見SDK概覽

  • 計費資訊

    該介面為收費介面。關於計費方式,請參見Alibaba Content Security Service產品定價

  • 檢測逾時

    同步檢測允許的最長檢測時間是6秒,如果檢測在該時間限制內沒有完成,系統會強制返回逾時錯誤碼。如果您對即時性要求不高,可以選擇非同步檢測,其他情況下請選擇同步檢測,同步檢測介面的調用相對簡單些。對於同步檢測介面的調用,建議您將逾時時間設定為6秒。

  • 返回結果

    同步檢測請求一般會在一秒內同步返回結果,但在一些特殊情境(例如系統繁忙導致堆積嚴重、圖片較大、含有OCR內容較多等),耗時可能會增加。

  • 圖片要求

    • 圖片連結支援以下協議:HTTP和HTTPS。

    • 圖片支援以下格式:PNG、JPG、JPEG、BMP、GIF、WEBP。

    • 圖片大小限制為20 MB以內(適用於同步和非同步呼叫)。

    • 圖片下載時間限制為3秒內,如果下載時間超過3秒,返回下載逾時。

    • 圖片像素建議不低於256*256(px),像素過低可能會影響識別效果。

    • 圖片檢測介面的回應時間依賴圖片的下載時間。請保證被檢測圖片所在的儲存服務穩定可靠,建議您使用阿里雲OSS儲存或者CDN緩衝等。

QPS限制

本介面的單使用者QPS限制為50次/秒。超過限制,API調用會被限流,這可能會影響您的業務,請合理調用。

請求文法

POST /green/image/scan HTTPS|HTTP

要求標頭

該介面使用公用要求標頭,無特殊要求標頭。請參見公用要求標頭

請求參數

名稱

類型

是否必選

樣本值

描述

clientInfo

JSONObject

{"userId":"120234234","userNick":"Mike","userType":"others"}

用戶端資訊,由ClientInfo結構體通過JSON序列化獲得,包含umid、imei等資訊,具體結構描述,請參見ClientInfo

RequestBody

RequestBody中還需要填入以下參數,用來指定檢測情境和任務資訊。

名稱

類型

是否必選

樣本值

描述

bizType

String

edu

業務情境類型。自訂人臉檢索情境下無需傳入該參數。

scenes

StringArray

["sface-n"]

檢測情境,取值:sface-n,表示自訂人臉檢索。

tasks

JSONArray

待檢測人臉圖片的資訊。具體結構描述,請參見task

表 1. task

名稱

類型

是否必選

樣本值

描述

dataId

String

test2NInmOtAON6qYUrtCRgLo-1mwxdi

檢測對象對應的資料ID。

由大小寫英文字母、數字、底線(_)、短劃線(-)、英文句號(.)組成,不超過128個字元,可以用於唯一標識您的業務資料。

url

String

https://example.com/tfs/TB1urBOQFXXXXbMXFXXXXXXXXXX-1442-257.png

待檢測人臉圖片的URL。

extras

JSONObject

{"groupId":"group"}

額外請求參數,傳入與待檢測圖片進行比對的個體組ID(groupId)。

您可以調用/green/sface/groups查詢所有的個體組ID。

返回資料

所有請求均返回JSON格式的資料。關於返回資料中的公用欄位,請參見公用返回參數。返回資料中的data欄位表示與業務相關的資料,一般是一個JSON結構體或數組。

說明

響應出錯的情況下,data欄位可能為空白。

該介面返回的data欄位包含以下參數。

名稱

類型

樣本值

描述

code

Integer

200

錯誤碼,和HTTP狀態代碼一致。

更多資訊,請參見公用錯誤碼

results

JSONArray

返回結果。調用成功時(code=200),返回結果中包含一個或多個result元素。每個result元素是個結構體,具體結構描述,請參見result

表 2. result

名稱

類型

樣本值

描述

scene

String

sface-n

檢測情境,取值:sface-n,表示自訂人臉檢索。

label

String

sface-n

檢測結果的分類,取值:

  • sface-n:表示檢索到相似人臉。

  • normal:表示未檢索到相似人臉。

suggestion

String

review

建議您執行的操作,取值:

  • pass:無需進行其餘操作。

  • review:進行人工審核。

rate

Float

0.999

結果屬於當前分類的機率,取值範圍:0.00~1.00。值越高,表示越有可能屬於當前分類。

topPersonData

JSONArray

與目標人臉圖片最相似的5個個體資訊。具體結構描述,請參見topPersonData

說明

如果未檢索到相似個體,則返回空值。

表 3. topPersonData

名稱

類型

樣本值

描述

persons

JSONArray

Top 5匹配個體的資訊。具體結構描述,請參見person

faceItem

JSONObject

檢測映像中的人臉屬性。具體結構描述,請參見faceItem

表 4. person

名稱

類型

樣本值

描述

personId

String

person1

匹配個體的ID。

faceId

String

14736649593638

匹配個體的人臉圖片ID。

rate

Float

0.999

個體的匹配機率。匹配機率越高,對應的誤識率越低,具體如下:

  • 取值0.50,誤識率0.05

  • 取值0.60,誤識率0.01

  • 取值0.70,誤識率0.005

  • 取值0.80,誤識率0.001

  • 取值0.90,誤識率0.0001

  • 取值0.92,誤識率0.00001

  • 取值0.94,誤識率0.000001

  • 取值0.96,誤識率0.0000001

推薦您使用匹配機率取值在0.9以上的結果。

表 5. faceItem

名稱

類型

樣本值

描述

x

Float

467

人臉在x軸的座標,單位:像素。

y

Float

199

人臉在y軸的座標,單位:像素。

width

Float

422

人臉寬度,單位:像素。

height

Float

422

人臉高度,單位:像素。

樣本

請求樣本

POST /green/image/scan HTTP/1.1
公用要求標頭
{
    "scenes": [
        "sface-n"
    ],
    "tasks": [
        {
            "dataId": "test2NInmOtAON6qYUrtCRgLo-1mwxdi",
            "url": "https://example.com/tfs/TB1urBOQFXXXXbMXFXXXXXXXXXX-1442-257.png",
            "extras": {
                "groupId": "group"
            }
        }
    ]
}

正常返回樣本

{
    "code": 200,
    "data": [
        {
            "code": 200,
            "dataId": "test2NInmOtAON6qYUrtCRgLo-1mwxdi",
            "msg": "調用成功。",
            "results": [
                {
                    "topPersonData": [
                        {
                            "faceItem": {
                                "height": 422,
                                "width": 422,
                                "x": 467,
                                "y": 199
                            },
                            "persons": [
                                {
                                    "faceId": "14736649593638",
                                    "personId": "person1",
                                    "rate": "0.999"
                                },
                                {
                                    "faceId": "14736649593637",
                                    "personId": "person2",
                                    "rate": "0.998"
                                }
                            ]
                        }
                    ],
                    "label": "sface-n",
                    "rate": 0.999,
                    "scene": "sface-n",
                    "suggestion": "review"
                }
            ],
            "taskId": "img2MVcKPU1QGD64LoAb4cK6w-1mwxdi",
            "url": "https://example.com/tfs/TB1urBOQFXXXXbMXFXXXXXXXXXX-1442-257.png"
        }
    ],
    "msg": "OK",
    "requestId": "36D384DA-8023-4E84-BCFD-0C5581352C16"
}