微軟測試年齡網站(How Old Do I Look)爆紅 背後原理大揭密!
近來臉書上瘋傳一個網站http://how-old.net/# 「How Old Do I look?」 (我看起來幾歲?) ,短短48個小時內,便就有一百萬人上傳照片測試,現在平均每秒有700張照片上傳而且數字尚在成長中。臉書動態消息也都幾乎被好友的測試自拍照片洗版。大部份的人都很滿意自己的測試結果,因為都比實際年齡少了許多,連微軟員工91歲的阿嬤也立馬叫她的朋友來試,因為她有一張笑開懷的照片測起來只有76歲,馬上從鮐背之年回春十幾歲至古稀之年,阿嬤當然樂不可支。當然,有原則也會有例外,也有使用者測出來的年紀比實際年齡要大上許多。但是「我看起來幾歲」基本上是款相當討喜的軟體,所以也被媒體與網路瘋狂轉載,也因多數使用者認定其準確度極高 (特別針對老人及小孩),也或許因為會讓人虛榮的不準結果 (特別是針對凍齡的東方女性面孔),以致在網路上引發諸多討論。使用者多數有以下疑問:
- 這到底怎麼猜的?怎麼這麼準?
- 這到底怎麼猜的?為什麼我表情不一樣,猜的年齡也不一樣?
- 這到底怎麼猜的?為什麼我一直被猜是女生?我明明是男的?
- 這到底怎麼猜的?我PO上去的照片會不會被微軟拿去用?
「我看起來幾歲」是微軟公司開發人員所開發的軟體,當初的目的只是為了在開發者大會 (//build) 對開發者進行展示,以示範使用Azure服務建立智慧應用程式非常輕而易舉。該網站使用了許多與物聯網及大數據相關的技術,包括微軟剛發表的臉部偵測API (Face detection API’s)。以下透過熟知內情人士揭曉「我看起來幾歲」的幕後花絮,以饗諸多好奇的網友:
機器學習套件輔以雲端智能服務 激發無限創意與可能
樣本從哪裡來?
起初,網站開發團隊只想找50個人作為樣本,結果吸引了3萬5千人參加 (而且2萬9千人還是來自土耳其!)。不過幾小時內,用戶總共上傳了21萬張照片,網站再用Microsoft Azure 雲端服務上的Face detection API’s 去找出人臉,加以分類,藉以辨識是否為同一人。根據一位微軟員工表示,「我覺得很準,因為我拿我們家小貓『阿布』的臉去測,即便他很帥,網站還是測不出他幾歲」。
【圖說一】來自全球各地的上傳圖片分析圖表
【圖說二】測不出年齡的阿布本尊
性別跟年齡怎麼猜出來?
要在一兩天就寫出這款討喜的App,當然不能不從研究演算法開始,也得站在巨人的肩膀上才看得遠。因此,這個開發團隊使用微軟的機器學習套件- Azure Machine Learning Gallery 中,由一個名為「牛津專案」(Project Oxford) 所做出的雲端智能服務,包含臉部 (Face)﹑語音 (Speech)和視覺 (Vision)辨識。另外,開發團隊考量使用者除了測自已跟家人的年齡外,也一定會想惡搞一番,找名人或古人的照片來測試。因此,開發團隊再使用了Bing Search API 去搜尋網路上的有趣照片供使用者發揮創意。
【圖說三】Bing Search API
微軟保護使用者不遺餘力 只測您的年齡 不留您的資料
微軟到底會不會把使用者上傳的照片存下來? 真的不會!以下是官網上的說明:「我們收到了一些使用者的提問,因此更新這篇文章說明我們的立場。回答使用者最關心的第一個問題:我們不會儲存也不會分享使用者的照片,使用者所上傳的照片只供猜測其年齡和性別。只要在網站猜出年齡後,使用者所上傳的照片就會從記憶體中去除。即便許多網路服務供應商都在服務條款中表明會蒐集並儲存使用者的資訊,但微軟選擇維護使用者的資訊,除了短暫辨識照片年齡的使用時間外,微軟絕不會儲存或分享使用者的照片。」
Azure促成大數據即時分析 一秒鐘幾百萬上下 顏值即測即知
那麼,您一定會問,真的嗎?照片一直不斷上傳至網站,微軟若不存起來要怎麼分析、怎麼學習呢?問的好!重點來了,分析的關鍵即是大數據即時分析的神妙之處!別忘了微軟還有個秘密武器Azure!
資料的匯集跟派送可以用 Azure Event Hubs ,一秒鐘可進出幾百萬份資料,您的照片不會被存下,微軟存下的是從照片萃取出來的資料。這又是什麼資料呢?據說是名為「顏值」 的資料,或許就是青春的軌跡吧。所以請大家儘管放心,您的照片絕不會被留下來。
但對於寫程式的人來說,您一定想知道微軟是如何抽取出這些像是性別、年齡資料做即時呈現呢?網友上傳照片一定立馬想知道結果,没有人想過幾天才得知開獎結果,又不是等全身健檢報告。當然,這種即時反饋又得靠工具-Azure Stream Analytics 可以讓開發者用簡單的SQL query 語法捕捉到即時的串流資訊,立馬回報!
台灣人普遍童顏?以童心抗老 用想像力寫出下一個瘋傳App
比起別的國家來,台灣人是不是看起來比實際年齡年輕?
根據台灣微軟某位主管表示,台灣人是否看起來比較年輕?這仍是個謎,但根據她這幾天所看到的結果,好像台灣人普遍看起來年輕很多 (前提是只要不要亂做鬼臉或是拍照的環境光線太暗)。但是,如果您真的有心想要開發新的App來統計一下,也有好用的工具輔助可做圖表分析, PowerBI絕對是您不二的選擇: http://www.powerbi.com。
總歸一句,還是那句老話,實際年齡幾歲不重要,看起來幾歲比較重要,去玩玩看吧!或許您會找到讓自已看起來更年輕的秘訣。還有,如果你是開發者,請發揮想像力吧!利用Azure這些API,看你可以寫出哪個讓大家瘋傳的App!
原文請參見:http://blog.how-old.net/。