在上一篇([02]人臉識別的AI服務 - 要使用Face Api的準備)介紹完了要使用Face Api所需要準備的東西之後。
這篇來實際看看Face Api裡面的Detect服務能夠做到什麽。
準備好測試Detect服務的環境
Face Api就是一個REST Api的服務,因此可以用一個REST Api的Client就好,例如Postman。
然後另外一個是要找到要測試的圖片網址。這邊使用一張官方的範例圖片:鏈接
最後,當然要記得上一篇所建立出來的face api key。
測試Detect功能
要測試之前要先瞭解怎麽呼叫這個API:
- Url的部分
完整的url是:
https://[location].api.cognitive.microsoft.com/face/v1.0/detect
這邊要注意的是當初建立的face api服務的地址在哪裏。以我的例子是
eastasia
,因此我的完整url是:https://eastasia.api.cognitive.microsoft.com/face/v1.0/detect
- Url的Query String參數
-
總共有以下幾個參數:
- returnFaceId:預設是true。如果是true的話會取得圖片裡面人物的時候會取得Face id。
- returnFaceLandmarks:預設是false。這個如果是
true
會得到臉部位置的資訊。 - returnFaceAttributes:這個欄位是一個string,透過csv的格式能夠取得人臉的不同訊息。
- Header
-
兩個參數要傳入:
- Content-Type:可以傳圖片的binary或者是一個url的方式。因此取決於傳入的格式,這邊設定對應的值
- Ocp-Apim-Subscription-Key:輸入上一篇取得的face api key
- Body
- 可以傳入圖片的url,或者實際的圖片binary。
接下來測試幾個方式:
- 不修改預設參數的情況下
- 打開
returnFaceLandmark
- 打開
returnFaceAttributes
不修改預設參數的情況下
在預設沒有任何參數的情況下,可以看到有找到圖片的人臉位置的方塊的四個角的位置:
打開returnFaceLandmark
這個時候加上一個query string:returnFaceLandmark
然後設定為true
:
這個時候可以看到人臉的不同地方都被列出來。
這個服務總共有27個臉部位置可以被找到位置:
打開returnFaceAttributes
這個時候再來看另外一個參數,這個參數接受的是csv的字串值。
嘗試使用:age,gender,smile
得到的結果是:
可以看到識別出了:
- 是否笑臉 - 1 表示是笑臉
- 性別是什麽 - 女性
- 年齡幾歲 - 24
結語
這篇介紹了實際使用Postman來測試Face Api的Detect服務。包含了可以傳入的參數,以及每一個效果看起來是什麽。
瞭解了整個服務的功能之後,接下來就是要嘗試用程式裡面呼叫這個服務。
在下一篇([04]人臉識別的AI服務 - 整合Face Api的Detect功能到C#程式裡面),將使用C#的Console來試試整合是什麽感覺。
參考資料
- 官方介紹Detect的文件
- How to Detect Faces in Image
- Face Api的Detect Api Reference
- Detect Face Api