在上一篇([10]人臉識別的AI服務 - Verify 驗證臉是不是屬於某個Person)介紹了PersonGroup train出來的Model的其中一個用途,也就是用來確認某個臉和某個person是否為同一人。
這一篇來看看另外一個用途:identify
,也就是直接從臉找到是誰。
如何使用Identify
和其他方法一樣,先要瞭解api所有的參數才有辦法去嘗試使用,首先去看看官方的api文件:Identify。
- Url的部分
完整的url是:
https://[location].api.cognitive.microsoft.com/face/v1.0/identify
這邊要注意的是當初建立的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
-
總共有以下幾個參數:
faceIds
:這是一個string Array列出要被識別出屬於那個person的face id 清單personGroupId
:定義faceIds裡面要從那個PersonGroup找personlargePersonGroupId
:這個和上面的personGroupId
屬於二擇一,取決於當初建立的Model是哪個maxNumOfCandidatesReturned
:在識別的時候,會依照信心度給出所有可能符合的person,這個可以控制總共要返回多少個可能符合的person。數值是1~100,預設是10confidenceThreshold
:這個是當信心度多少以上才要屬於可能符合的person。數值是0~1之間
瞭解了怎麽呼叫的方式之後,接下來就是要實際看看如何呼叫Identify。
測試Identify功能
從上面瞭解了如何使用之後,接下來要透過用postman來實際試試看:
- 先透過Detect取得圖片裡面的Face Id
- 透過Identify辨認這個Face Id是誰
先透過Detect取得圖片裡面的Face Id
首先透過detect圖片來取得要被測試的Face Id,這邊將使用圖片: https://raw.githubusercontent.com/Microsoft/Cognitive-Face-Windows/master/Data/identification1.jpg
執行完可以看到得到的Face Id是:8b749bb9-6c2c-4538-8c58-23dd8cb8bc14
透過Identify辨認這個Face Id是誰
有了Face id之後就可以嘗試和建立出來的Model去找,這個臉和那個人是同一個。
使用上面瞭解到Identify所需要的參數,組成request的body:
{
"faceIds":["8b749bb9-6c2c-4538-8c58-23dd8cb8bc14"],
"personGroupId":"1"
}
最後得到的結果如下圖:
[
{
"faceId": "8b749bb9-6c2c-4538-8c58-23dd8cb8bc14",
"candidates": [
{
"personId": "c2e08f72-1ff2-45c4-861e-b31d5f18e0a3",
"confidence": 0.76658
}
]
}
]
可以看到每一個傳入Facei Id都會列出多個可能的人(candidates),每一個可能的人都有一個Model判斷出來的信心度(或者準確度),以這邊例子為0.77
。
有了這個資訊之後就能夠做不同類型的程式,例如可以做一個個人的人物識別管理工具。像我對人臉非常不敏感,除非講過幾次話,不然有時候我都認不出來誰是誰。這個時候如果每次都有記錄下來,當人來的時候 直接用這個找出最有可能,人際關係就不會尷尬啦。
結語
Face Api剩下的服務裡面還有兩個,
- Grouping - 把一堆臉似相似臉的分在一組
- Find Similar - 找到和某個臉相似的臉
這兩個服務在這邊就不再做API詳細介紹了,基本上依照之前介紹服務的方式看一下API基本上就有使用概念了。
在下一篇([12]人臉識別的AI服務 - 用Face API Explorer看看Identify的應用),將在看Face Explorer工具的其他功能,并且可以以此作爲把Face Api整合到你的Application的一些idea激蕩。