輕鬆幫你的應用程式加入人工智慧: 使用 Project Oxford
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)
原始文章發佈於「開發者之魂」部落格