欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

微软How-Old.net官方中文版上线了 幕后黑科技揭秘

程序员文章站 2022-04-26 19:22:00
微软How-Old.net官方中文版上线了 幕后黑科技揭秘昨天,How-Old.net的官方中文版上线了,更方便国内用户使用。规矩不变,上传你或者任何人的照片(大小不超过3MB),颜龄机器人就会判断年龄。下面我们来看看吧... 15-05-20...

五一的时候,微软推出了一个颜龄识别机器人网站how-old.net,通过大数据和机器识别技术,判断照片中人物的年龄,没想到立即火爆全球,一时间社交网络上“攀比”成风。

昨天,how-old.net的官方中文版上线了,更方便国内用户使用

规矩不变,上传你或者任何人的照片(大小不超过3mb),颜龄机器人就会判断年龄。从这段时间的体验看,“正常人”的判断还是八九不离十的。

隐私什么的不用担心,微软不会保存你的照片。

微软How-Old.net官方中文版上线了 幕后黑科技揭秘

微软How-Old.net官方中文版上线了 幕后黑科技揭秘

pc用户访问:

手机用户扫码:

微软How-Old.net官方中文版上线了 幕后黑科技揭秘

延伸阅读:玩转机器学习、流分析和powerbi - 实时观察病毒式传播

或许你觉得这只是微软的一个小玩具,但其实背后隐藏着很多高科技呢,重点有三个:机器学习、流分析、powerbi。

微软是如何通过这些技术判断照片里人物的年龄的呢?为了解答大家的疑惑,同时展示自己的最新成果,微软特意分享了一篇文章,揭开了颜龄机器人幕后的秘密。

这是一个挺有意思的故事。我们起初期望大约会有50人左右来试用,结果很快就有有超过3万5千人试用,我们看见整个事情由此迅速展开。

为了向开发者展示如何利用微软azure云服务轻松快速地开发智能应用,我们在azure上用新发布的人脸识别apis为2015年微软build开发者大会第二天的主题演讲搭建了http://how-old.net网站。本网站让用户上传照片,然后通过api预测照片中所有人物的性别和年龄。

目前,这些api的人脸定位功能及性别识别功能大致准确,然而年龄预测结果并不是非常准确,但常常能博得用户一笑,平添不少欢乐。

网站建成后,我们给数百名微软员工发了邮件,邀请他们体验这个网站并给出反馈。当时乐观地想要是有几十个人来这个网站、为测试提供有用的数据就算不错了。但三个小时后,我们的后台分析图表呈现出下图态势:

微软How-Old.net官方中文版上线了 幕后黑科技揭秘

几个小时里,how-old.net收到了全球3万5千用户(其中大约2万9千人来自土耳其,下图显示,推特上有大量来自土耳其的用户提到了这个网页)上传的21万多张照片。

微软How-Old.net官方中文版上线了 幕后黑科技揭秘

这个网页展示了用户使用的实时信息。比如,我们曾预测用户会用已经存在于网络的照片,或是使用页面上的必应图片搜索栏;然而网站分析的照片中,超过一半的是用户上传的自己的照片。这些信息帮助我们改善用户体验,还有助于我们额外测试手机上传照片。

那么这些是怎么实现的呢?

也许说起来难以置信,但两位工程师只花了几个小时便把整套解决方案(从网页到机器学习api到实时数据流分析再到实时bi)整合在一起。这很好地展示了azure开发者的敏捷和创造力。

这款应用的关键功能在于以下三点:

- 识别图片中人物性别及年龄

- 获取上述抽取的数据的实时信息

- 生成实时分析图表来显示上述结果

识别性别及年龄

我们想创造一个智能又有趣的体验吸引全球用户,于是我们浏览了微软azure机器学习库里的一些api。这个网页里有个新套装project oxford ,由必应和微软研究院打造,内含大量面部、语言和视觉方面的服务。

我们用到的脸部识别api有个演示页,该页面可以检测到脸部并提取出相关信息。

我们觉得这个api的年龄及性别识别功能很有趣,所以选了这个方面作为我们的项目。为了让用户体验更加有意思,我们还加上了azure市场里的必应搜索api,最终建成了网站

微软How-Old.net官方中文版上线了 幕后黑科技揭秘

除了年龄和性别,我们还用上了其他标准浏览器提供的信息,比如伴随着每个标准http调用而来的用户代理字符串,以及照片上传地点的经纬度。

这些信息可用来计算很多网站使用的数据统计,比如通过iphone、windows或安卓登录的数量,或者how-old.net最受欢迎的地区。

这点体现在下列json文件中:

[ { "event_datetime": "2015-04-27t01:48:41.5852923z",

"user_id": "91539922310b4f468c3f76de08b15416", "session_id": "fbb8b522-6a2b-457b-bc86-62e286045452",

"submission_method": "search",

"face": { "age": 23.0, "gender": "female" },

"location_city": { "latitude": 47.6, "longitude": -122.3 },

"is_mobile_device": true, "browser_type": "safari", "platform": "ios", "mobile_device_model": "iphone"

} ]

实时见解

为了理解从本网站得到的实时数据的模式,我们使用了一套新的微软azure数据流服务。

我们用azure event hub导入数据,这些azure event hub是具有高伸缩性的发布-订阅吸收器,它可以摄入每秒几百万次事件。用户上传照片时,event hub api会从网页生成ason文件。

注意,在此过程中,我们不会保留照片及任何指向用户的信息(用户无需电邮,不用登录,也没有用户名)。只有json文件流向azure event hub。

然后,我们需要数据流服务来实时整合处理用户们上传的上万张照片。这里我们用到了高吞吐低延迟的全托管解决方案azure流分析(asa)。asa让用户能用类似于sql的语言,轻松处理数据流。

微软How-Old.net官方中文版上线了 幕后黑科技揭秘

比如,只用输入下列命令,你就能从一个十秒窗口得出“性别”的计数,而且结果每秒都会更新。

select

system.timestamp as outtime,

face.gender as gender,

count(*) as count

from

streaminput

group by hoppingwindow(second,10,1),

face.gender

微软How-Old.net官方中文版上线了 幕后黑科技揭秘

微软How-Old.net官方中文版上线了 幕后黑科技揭秘

在上图的查询中,我们选取了显示结果的时间,性别和性别的计数。streaminput指流动记录数据流向的event hub。这个过程仅仅在一秒一跳的十秒窗口中完成。

这个查询提供了上传照片中男性和女性的总数。这些信息能被展示在一个分析图表里。你可对来自同一event hub的数据进行多种查询。

实时分析图表

我们用powerbi在一个实时分析图表中展示结果。我们只是选择了powerbi来呈现数据流分析结果,然后在http://www.powerbi.com选择asa创建的数据集和表格,无需进行其他代码方面的工作。

微软How-Old.net官方中文版上线了 幕后黑科技揭秘

微软How-Old.net官方中文版上线了 幕后黑科技揭秘

上图的两项数据流分析查询,一个是整合照片中提取的年龄再以powerbi中其他标准(比如区域)进行分类,另一个是上面提到的查询。powerbi能制作各种图表,你甚至可以直接用自然语言发布命令(比如“各性别各年龄ios用户的总数是多少?”)。结果也会显示在实时分析图表上。

大家可以在或者中文版本上自己试试。祝大家玩得开心,也期待更多人用azure服务和机器学习库中的api来创建自己的应用。