![[Cognitive Service之Face Api][03]人臉識別的AI服務 - 用Postman測試Detect服務能做什麽.jpg](/posts/2018/09/2018-09-06-cognitive-service-face-api-03-test-detect-method-using-postman/c9fb7196-6906-4d29-a18a-42942cd9ae78.jpg)
在上一篇([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