在上一篇([09]人臉識別的AI服務 - Face Api Explorer - GUI工具來建立Person Group Model)介紹完了Face Api Explorer這個工具之後,相信在建立PersonGroup Model就易如反掌啦。
建立好了Model,下一步當然是看如何使用這個Model。
總共有兩個方法:
- Verify - 比對臉是否屬於某個人
- Identify - 看看臉可能是屬於那個人
Verify
之前介紹過([06]人臉識別的AI服務 - 使用Verify確認兩張圖片的人臉是否為同一人),不過那個時候是兩張臉比較,這篇介紹一下如果拿人比較如何使用。
Verify用personId的方式
要使用之前肯定要先瞭解怎麽呼叫以及使用。因此首先去看看官方的api文件:Verify。
- Url的部分
完整的url是:
https://[location].api.cognitive.microsoft.com/face/v1.0/verify
這邊要注意的是當初建立的face api服務的地址在哪裏。以我的例子是
eastasia
,因此我的完整url是:https://eastasia.api.cognitive.microsoft.com/face/v1.0/verify
- Header
-
兩個參數要傳入:
- Content-Type:傳入的格式是
application/json
,由於格式只有一種,因此這個是一個選填欄位。 - Ocp-Apim-Subscription-Key:輸入取得的face api key
- Content-Type:傳入的格式是
- Body
-
有兩種模式:
- 傳入兩個參數:
faceId1
和faceId2
- 來看兩個是不是同一個人 - 這個之前介紹過了,因此不再使用 -
判斷某個臉(faceId)是否和某個Person(personId)一樣 - 總共有以下幾個參數:
faceId
:要被比對的face idpersonGroupId
:那個person所在的personGroupIdlargePersonGroupId
:如果説personGroup人很多使用的是largePersonGroup的API,因此這個和上面那個(personGroupId)是2則1personId
:要比對的人的id
- 傳入兩個參數:
有了使用的概念之後,接下來就是用Postman測試看看。
測試Verify的功能
瞭解了api之後,接下來就是實際給他跑跑看啦,整個流程會是:
- 先用
Detect
取得某張相片裡面的人臉id (face id) - 呼叫
Verify
驗證取得的人臉Id是否和某個person一樣
先用Detect
取得某張相片裡面的人臉id (face id)
透過Detect取得Face Id:
呼叫Verify
驗證取得的人臉Id是否和某個person一樣
有了Face Id之後,就能夠和上篇建立出來的PersonGroup Model裡面的Person比對是否為同一個人。
輸入的Body如下:
{
"faceId":"095ecf77-5790-4740-9e63-b3264d4569ca",
"personGroupId":"1",
"personId":"8ebfd98b-124d-4d06-aabf-400a2d0c14ec"
}
從結果來看,可以發現判斷不是同一個人。
結語
這篇介紹了verify
和person比對的使用方式。這個在某些情景下面可以用來使用,例如有個系統人臉辨識目前鏡頭的人是否是他們所聲稱的那個人。
有了臉和人比對是否為同一個人之後,另外一個角度來看問題是,一張圖片裡面那些臉屬於那個人。
這將留給下篇([11]人臉識別的AI服務 - Identify 找出圖片的臉是誰)來介紹,face api裡面的identify
服務。