2015年4月29日,微軟在Build 2015大會上發佈了一個震撼人心的項目: Project Oxford, 能夠幫助直接實現圖像理解、人臉識別、語音識別、語音合成等功能。雖說這是號稱研究院的項目,不過人臉識別,圖像分類等等功能早已經在開源社區是一個比較成熟的東西了,OpenCV裏也有不少成熟的算法,不過可以被直接用在公有云上使用,也算是幫助廣大創業的小夥伴們實現更多強大的功能。正好遇到5/1休息,IT碼農的本色又展示了出來,讓我來看一些到底有哪些有趣的功能能夠玩。算法
Oxford的項目站點在https://www.projectoxford.ai/,主要包含了Face API, Speech API,Vision API和語言理解智能服務(LUIS),分別對應了Azure Marketplace中的幾個不一樣的app service,除了語言理解智能服務(LUIS)須要邀請加入之外,其餘三個服務都已經能夠在Azure全球的市場中進行試用了,不過當前只支持美西區域。當前也只有免費的計劃,包含了每分鐘20個事務和每月5000個事務的上限,看上去尚未辦法商用。app
Face API主要是一些人臉識別的接口和功能,包含人臉檢測,人臉驗證,類似人臉查詢,人臉分類和人臉識別。裏面比較有趣的功能是能估計你的年齡,固然這個年齡和你當時的表情以及光線狀況相關,不會很是的準確。工具
Speech API包含了語音識別的接口和功能,包括語音識別,語音意圖識別和TTS,也就是之前微軟的Speech Server提供的一些功能,若是想作個相似Cortana或者Siri的工具,就能夠直接調用這個API。ui
Vision API包含了一些智能圖像處理的接口,好比圖像內容分析,圖像分類,色情內容檢測,前景背景色分析等等。還有比較簡單的縮略圖功能,固然這些縮略圖功能像阿里雲和七牛也都是免費支持。值得一提的是OCR的功能,能夠從天然場景中檢測出文本,這就是我當年唸書時候的碩士論文啊有木有。阿里雲
Oxford的項目站點https://www.projectoxford.ai/上其實已經提供了大量的Live Demo, 能夠經過現有的圖像庫,或者Azure Storage Account,甚至是本身上傳一些圖像來試用效果,不過做爲IT碼農,必需要使用本身的代碼來實如今有樂趣。說玩就玩。3d
要使用Project Oxford,須要有一個全球的Azure帳號,能夠前往Marketplace進行註冊,包括Face API, Speech API和Vision API,參見下面的三步,首先是選擇服務,而後選擇計劃和名字,當前只有免費計劃,最後確認。blog
當購買完以後,在Azure Management Portal中就已經有了三個服務了。接口
今天先玩一下Face API,首先去https://www.projectoxford.ai/sdk下載SDK,如今只有.NET和Android的平臺,不過因爲全部的接口都是REST API的,因此隨便什麼代碼其實均可以用。事務
打開SDK之後,其實裏面已經有一個現成的Sample代碼在裏面封裝了全部的功能,根本不須要本身寫什麼代碼,惟一須要的是打開Oxford的管理頁面https://dev.projectoxford.ai/Developer 獲取訂閱的Key,替換到代碼中。io
緊接着把示例代碼跑起來。
你能夠看到說基本上五個功能都包含在其中了。首先是人臉識別,我使用了我本身的照片,能夠檢測出我臉。API支持檢測臉部的landmarks,年齡,性別,頭部的位置以及傾斜的角度。但是爲何我看上去比真實的年齡要老呢? 這個不科學啊。這個API對圖像有必定的要求,包括必須大於36*36像素大小,小於4M,人臉也最好是正面或者接近正面,此外因爲讀取的是第一幀的信息,因此還須要注意JPEG拍攝的方向,調整到人頭向上的角度。
接下來咱們來試一下人臉的驗證,看看是否是同一我的。同樣我能夠選擇兩張照片,而後看看結論如何。
看到最後一行沒,他竟然知道這是一我的!太厲害了。
接下來的三個功能是人臉分組,尋找相似的臉和在一我的物組裏面尋找人,這些功能實際上是上面兩個基本功能的延伸,核心仍是人臉識別和人臉匹配,這裏我就不試了。基本上有了這個API,咱們能夠作一個很是強的iPhoto出來了,這對創業公司想作一個相似照片管理的工具而言已經很是有用了。固然如今再作這個已經沒啥機會了,不過咱們能夠利用這個API,在現有應用上爲用戶提供更好的體驗。
好了,晚點我在來用用Speech API和Vision API,雖然還沒具體試用,可是在他的Live Demo裏,我發現他們都支持中文語音和文字識別,這對國內的小夥伴們的確是很是大的利好。我又很差意思想起了Microsoft Band竟然不支持中文,搞得我只好去用Apple Watch了。