Alan Tsai 的學習筆記


學而不思則罔,思而不學則殆,不思不學則“網貸” 記錄軟體開發的點點滴滴 著重於微軟技術、網頁開發、DevOps、C#, Asp .net Mvc、Azure、AI、Chatbot、Docker、Data Science

[Cognitive Service之Face Api][10]人臉識別的AI服務 - Verify 驗證臉是不是屬於某個Person

[Cognitive Service之Face Api][10]人臉識別的AI服務 -  Verify 驗證臉是不是屬於某個Person.jpg
背景圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([09]人臉識別的AI服務 - Face Api Explorer - GUI工具來建立Person Group Model)介紹完了Face Api Explorer這個工具之後,相信在建立PersonGroup Model就易如反掌啦。

建立好了Model,下一步當然是看如何使用這個Model。

總共有兩個方法:

  1. Verify - 比對臉是否屬於某個人
  2. 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
兩個參數要傳入:
  1. Content-Type:傳入的格式是application/json,由於格式只有一種,因此這個是一個選填欄位。
  2. Ocp-Apim-Subscription-Key:輸入取得的face api key
Body
有兩種模式:
  1. 傳入兩個參數:faceId1faceId2 - 來看兩個是不是同一個人 - 這個之前介紹過了,因此不再使用
  2. 判斷某個臉(faceId)是否和某個Person(personId)一樣 - 總共有以下幾個參數:
    1. faceId:要被比對的face id
    2. personGroupId:那個person所在的personGroupId
    3. largePersonGroupId:如果説personGroup人很多使用的是largePersonGroup的API,因此這個和上面那個(personGroupId)是2則1
    4. personId:要比對的人的id

有了使用的概念之後,接下來就是用Postman測試看看。

測試Verify的功能

瞭解了api之後,接下來就是實際給他跑跑看啦,整個流程會是:

  1. 先用Detect取得某張相片裡面的人臉id (face id)
  2. 呼叫Verify驗證取得的人臉Id是否和某個person一樣

先用Detect取得某張相片裡面的人臉id (face id)

這邊使用的是圖片: https://raw.githubusercontent.com/Microsoft/Cognitive-Face-Windows/master/Data/PersonGroup/Family3-Man/Family3-Man2.jpg

透過Detect取得Face Id:

Postman_2018-10-05_14-49-34.png
用postman呼叫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"
}

Postman_2018-10-05_14-54-17.png
執行完verify得到的結果

從結果來看,可以發現判斷不是同一個人。

結語

這篇介紹了verify和person比對的使用方式。這個在某些情景下面可以用來使用,例如有個系統人臉辨識目前鏡頭的人是否是他們所聲稱的那個人。

有了臉和人比對是否為同一個人之後,另外一個角度來看問題是,一張圖片裡面那些臉屬於那個人

這將留給下篇([11]人臉識別的AI服務 - Identify 找出圖片的臉是誰)來介紹,face api裡面的identify服務。


如果文章對您有幫助,就請我喝杯飲料吧
街口支付QR Code
街口支付QR Code
街口支付QR Code
支付寶QR Code
街口支付QR Code
微信支付QR Code
comments powered by Disqus