微软年龄测试网站 How-Old.net是怎样实现识别年龄的?

云计算
程序员们,你们只需要 1 天时间就可以建立类似的网站。用微软发布的 face detection api,只要几下 rest api 调用就可以得到结果了。而且,识别年龄和性别只是一个小功能,这套 api 还包括识别两张照片是不是同一个人,以及识别出某个具体的人等高级功能。微软本来是为了宣传云计算,估计年龄应该只是一个噱头。

参考 Fun with ML, Stream Analytics and PowerBI,内有详细说明。

 

[[133365]]

这个 demo 是我们 IMML 部门(Information Management and Machine Learning)做的,主要组件是:

1. Azure Machine Learning 平台以及其 gallery 中的 face api。Microsoft Azure Machine Learning Gallery

2. 实时统计用的是 Azure Event Hub 和 Azure Stream Analytics,后者可以在前者的事件流上使用类 SQL 的语句来执行一个 Near Realtime 的统计,比如每 10 秒内的访问次数和结果分布。

其实本 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 还包括识别两张照片是不是同一个人,以及识别出某个具体的人等高级功能。

Age estimation via face.

1. Face detect,检测图片中人脸的位置,cascade adaboost 是最常用的方法。

2. Face alignment,图像对准,确定一些关键的点的位置,比如眉毛,眼睛,鼻子,嘴角等,确定这些点之后可以确定人脸区域,倾斜的也可以。

3. Feature extract,有了 face region 之后,开始提取 feature,形状 shape,纹理 texture,几何 geometry 信息是最关键的 feature 了。

4. Train,有了大量 feature 数据以及对应的年龄数据,建立一个 model 开始训练。SVM, linear regression 等等。

5. Age estimation,新来一张图片,获取 feature,根据 4 获取的训练参数,估计年龄。

目前看到一些 paper 给出的 MAE(Mean absolute error)可以到 4-5 岁,但都是基于实验室数据,微软的也试了一下,variance 有点大。

微软本来是为了宣传云计算,估计年龄应该只是一个噱头。
 

责任编辑:Ophira 来源: 知乎日报
相关推荐

2015-05-06 09:52:10

How-Old微软

2022-05-13 23:06:13

人工智能机器学习数据

2023-04-20 12:07:08

智能建筑网络

2015-08-27 09:16:53

2017-10-26 09:16:58

程序员

2017-10-27 09:22:31

程序猿脑年龄测试

2022-07-05 13:55:50

人工智能工具刷脸

2009-03-12 10:29:10

程序员年龄职场

2013-11-14 10:05:25

程序员职业转型

2020-10-22 15:44:07

科技机会技术

2009-05-07 08:50:22

2009-03-25 08:43:58

微软创始人太空

2018-05-08 11:02:57

程序员开除年龄

2020-07-13 08:37:28

程序员技术职场

2014-10-09 10:13:38

2021-05-27 13:33:14

程序员技能开发者

2012-11-28 01:47:35

软件测试测试

2015-01-16 13:40:06

2016-11-18 20:24:03

人工智能识别应用软件
点赞
收藏

51CTO技术栈公众号