Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Project Oxford 是微軟推出的一套針對視覺、聲音及文字相關辨識的 Web Services,所以不論你是撰寫什麼樣的應用程式,都可以透過 web request 的方式呼叫 Project Oxford 提供 RESTful APIs 來認識你取得的資料。
在 Project Oxford 的首頁上列出了目前所有的提供的 APIs,這些 API 的背後都是基於微軟的人工智慧、機器學習等的智慧平台所建構出來(例如:Azure Machine Learning),但是使用這些 APIs 你不必擁有太多人工智慧的知識或技能,只要會呼叫 RESTful API 還有解析 JSON 格式的資料就可以了。舉例來說,如果你想要判斷一張人臉照片裡這個人的表情是代表什麼情緒,那就可以參考其中的 Emotion APIs 來操作。
使用 Project Oxford 判斷情緒的範例
取得 API Key
呼叫 Project Oxford 的服務都需要 API Key,只要在 Project Oxford 的首頁用 Microsoft 帳號登入後,就可以取得這些 API 免費使用的額度(因為目前這些 API 還在預覽階段,所以還沒有付費購買),每一個 Project Oxford 的 API 都有各自的 API Key。
所以之後要呼叫 API 時要選對 API Key 來進行呼叫。
呼叫 Emotion API 判斷情緒
有了 API Key 之後,就可以準備來呼叫 Emotion API 來偵測照片中人臉的情緒,使用的方式也是參考 Emotion APIs 的 API 參考文件,把照片傳入 API,Emotion API 會根據背後的智慧模型計算出這張臉的情緒,回傳的資料也是 JSON 格式的資料像是這樣:
[
{
"faceRectangle": {
"left": 68,
"top": 97,
"width": 64,
"height": 97
},
"scores": {
"anger": 0.00300731952,
"contempt": 5.14648448E-08,
"disgust": 9.180124E-06,
"fear": 0.0001912825,
"happiness": 0.9875571,
"neutral": 0.0009861537,
"sadness": 1.889955E-05,
"surprise": 0.008229999
}
}
]
回傳的資料主要是一個陣列,因為一張照片可能有不只一張臉,每一張臉就會是一個 JSON 物件,faceRectangle 抓到的是臉部的位置,而 scores 則是這張臉譜的每一種情緒的比重,你可以全部列出來,或是只挑出最顯著的幾種情緒來進行判斷或顯示。
參考資料
- How-old.net 用照片判斷你的年齡及性別。
- Twins or Not?: 用照片判斷你們是否為雙胞胎。
- [Channel 9] 打造個人化智慧家庭 - 家庭成員人臉辨識 (Azure IoT + Azure SQL + Project Oxford)
- [Channel 9] 零售業展場實境 - 人臉捕捉、定位與攤位指引 (Azure IoT + Application Insights + Project Oxford)
原始文章發佈於「開發者之魂」部落格

