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
台灣 Pay QR Code
台灣 Pay QR Code
Line Pay 一卡通 QR Code
Line Pay 一卡通 QR Code
街口支付QR Code
支付寶QR Code
街口支付QR Code
微信支付QR Code
comments powered by Disqus