微软暴红测试年龄网站How-Old.net,背后原理大揭密
近来FaceBook上疯传一个网站“How Old Do I look?” (我看起来几岁?) ,短短 48 个小时内,就有一百万人上传照片测试,现在平均每秒有 700 张照片上传而且数字尚在成长中。
FaceBook动态消息也都几乎被好友的测试自拍照片洗版。大部份的人都很满意自己的测试结果,因为都比实际年龄少了许多,连微软员工 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绝对是您不二的选择。
总归一句,还是那句老话,实际年龄几岁不重要,看起来几岁比较重要,去玩玩看吧!或许会找到让自已看起来更年轻的秘诀。还有,如果你是开发者,请发挥想像力吧!利用 Azure 这些 API,看你可以写出哪个让大家疯传的 App!
(首图来源:how-old.net)