微软推出的年龄测试网站 How-Old.net 具体是怎样实现识别年龄的?
来源:互联网 发布:2016年网络大电影 编辑:程序博客网 时间:2024/05/16 08:14
转载自知乎,拿来存个档以后看:http://www.zhihu.com/question/30055260/answer/46734584?utm_campaign=weekly172&utm_source=weekly-digest&utm_medium=email
这个网站本来就是用来在微软BUILD大会上做演示用的(Microsoft Build Developer Conference),具体是第二天的keynote,主讲就是IMML部门(Information Management and Machine Learning)的VP老大。
搭建这个网站以及配套设施,用到了这些东西:
0. Microsoft Azure Machine Learning Gallery中的Face API。这个项目叫Microsoft Project Oxford Home,是Bing的同事做的。把Face Detection这件事包装成了一个REST API供调用,这样开发者即使不懂原理也能很快搭出和how-old.net类似的应用。
顺便说一下,使用这个api需要windows azure的订阅,免费的,但是有调用频率的次数限制。有兴趣的同学可以尝试一下。
脸部识别的原理我也不是专家,本题 @清风 的回答已经足够好了。另外可以参考同事在Quora的问答:How does how-old.net work?。基本的原理就是先要有一大堆已知性别年龄的照片作为机器学习的training set,从这些数据中提取各种脸部细节属性(feature),建立model开始训练,训练完成后新输入的数据就先提取这些属性值然后通过这个model来做识别。
也就是说所谓怎样才算年轻或者年老,并非是事先由人来制定出可以描述的规则(比如看皱纹多少啦什么的),而是通过大量的数据,机器自己学习得到的结果,这些无非是一堆属性值,很难用人类语言描述。反过来如果人类已经能用简单的数学公式写出判断年龄性别的规则,那就根本不需要机器学习了,直接把这个数学方法写成代码就可以了。
1. 接下来就是怎么利用这个face api来搭建how-old.net以及背后的实时统计分析和结果呈现(这个在演示中可以看到每10秒的参与人数和男女比例),这个在原回答已经说了。
以下为原回答:
===================================================================
参考Fun with ML, Stream Analytics and PowerBI,内有详细说明。
这个demo是我们IMML部门(Information Management and Machine Learning)做的,主要组件是:
1. Azure Machine Learning平台以及其gallery中的face api。http://gallery.azureml.net/
2. 实时统计用的是Azure Event Hub和Azure Stream Analytics,后者可以在前者的事件流上使用类SQL的语句来执行一个Near Realtime的统计,比如每10秒内的访问次数和结果分布。
3. 最后结果由powerbi.com来展现。
其实本demo主要目的是展现ASA以及PowerBI的实时统计展现能力,其中ASA刚刚GA(general availability),Machine Learning和face detection api是之前就已经有的东西了,没想到大家都关注人脸识别去了。
编辑
---------------------------------------
程序员们,你们只需要1天时间就可以建立类似的网站。利用微软发布的face detection api,只要几下rest api调用就可以得到结果了。这里有很详细的how to来教你如何调用这些api:Microsoft Project Oxford How-to detect faces from an image。而且,识别年龄和性别只是一个小功能,这套api还包括识别两张照片是不是同一个人,以及识别出某个具体的人,等高级功能。
- 微软推出的年龄测试网站 How-Old.net 具体是怎样实现识别年龄的?
- 知乎:微软推出的年龄测试网站 How-Old.net 具体是怎样实现识别年龄的?
- 微软How-old(照片识别年龄)数据交互流程分析
- 脚本帮你计算你的年龄-how old are you?
- 神奇测试你的年龄
- 测试你的心理年龄
- 基于CNN的性别、年龄识别及Demo实现
- 基于CNN的性别、年龄识别
- 基于caffe的性别、年龄识别
- 基于CNN的性别、年龄识别
- 《测试你的脑年龄》FLASH完工
- 《测试你的脑年龄II》完工
- 快来测试你的脑年龄
- 年龄的秘密 心理测试 原理剖析
- 关于猜年龄的智力测试
- fd_set具体是怎样实现的
- fd_set具体是怎样实现的
- fd_set具体是怎样实现的
- 整理:Oracle表空间、用户、授权和数据导入导出等操作
- jQuery中$.fn的用法示例介绍
- 随想
- 【Nginx】 hello模块的编写
- HDU 1527 威佐夫博奕
- 微软推出的年龄测试网站 How-Old.net 具体是怎样实现识别年龄的?
- 编译器的内存对齐问题
- 软件架构设计(七)
- Codeforces 165E Compatible Numbers
- 如何通过听写提高听力水平
- AAPCS规则要求堆栈保持8字节对齐
- GDI+ - 图形编程【双缓冲】
- MFC获得汉字拼音首个字母-C++版
- Codeforces 134C Swaps