关于how-old.net这个页面,其实其工作主要分为以下的三个部分:
- Extracting the gender and age of the people in these pictures.
- Obtaining real time insights on the data extracted above.
- Creating real time dashboards to view the above results.
而黑体字的这一部分,则是年龄识别的核心。其主要组成则是微软协同工作的一个project,称之为牛津计划(project oxford)。
关于PO,人脸检测的部分是有一个网页版的demo的,如下l:
Microsoft Project Oxford Demo Face(http://www.projectoxford.ai/demo/face#verification)
Microsoft Project Oxford How-to detect faces from an image(http://www.projectoxford.ai/doc/face/How-To/detectface)
上图就是PO里关于人脸检测的一个例子,稍微熟悉face detection的人都知道人脸检测是要使用到关键点的。上面这个右侧的代码就是检测到了这些关键点。
其实就how-old.net这个程序本身,它只是用来测试的,关于年龄这一部分已经封装成模型了
它只需要针对进入的新人脸提了特征之后直接判断年龄,也就如下面这段代码所示:
然后,来到关键的部分,也就是如何利用attribute(这里主要指age of the face)。
贴一下官方的原话:
Age (Attribute)
Age is one of the attributes that describes the age of a particular face. The age attribute is optional in thedetection results, and can be controlled with a detection request by specifying the analyzesAge parameter as 'true'.
For more details, please refer to the guide Face - Detection.
face detection api参考页面
Microsoft Azure Intelligent Service developer portal(https://dev.projectoxford.ai/docs/services/54d85c1d5eefd00dc474a0ef/operations/54f0375749c3f70a50e79b82)
不过一路下来,发现微软仅仅只是提供了api ,并没有专门列出参考文献,说明使用的是什么时候的论文去检测人脸的年龄。
简单看了下PO有关人脸识别API的部分,涉及到人脸处理的时候,在离线部分仅能对人脸进行标定,训练以及测试都必须在微软端完成。如此看来,官方有意做成黑箱的形式,即你只需要提供输入,官方负责输出。
目前人脸处理的那部分,微软PO的网页没有给出公开资源。
不过有一句还是要提一下,年龄检测和性别检测,看起来虽然很特殊,但是实质依然是最传统的分类问题,也是使用最传统的方法去处理:特征提取、训练/测试。
howold的制作人之一,在福布斯发表了一篇简短解释工作原理的文章
《How Does How-Old.Net Work?》(http://www.forbes.com/sites/quora/2015/05/05/how-does-how-old-net-work/)
其中,关于年龄识别的部分,是这么写的:
For age detection and gender detection, they are just classic regression and classification problems in machine learning. It involves facial feature representation, collecting training data, building regression/classification models and model optimization. There are plenty of publications in this area.
如果你仅仅是想要知道年龄识别具体怎么工作,那直接搜索3~5年内3CV,以及PAMI、IJCV之类刊物上的关键词即可。
但是如果你想要知道howold具体使用了什么算法,那么有两种方法:
1)你直接和上面那位作者交流,他的联系方式在文章里有
2)你需要一个直接在微软的,或者是用了Azure的人,来现身说法,说明一下
不过说老实话,现在来看,age识别,并不是一个很麻烦的事情。
延伸阅读:
- 听微软官方讲述How-old.net背后的技术故事
- 10大原因解密How-Old为何能刷爆朋友圈!
- 只要一天就可以搭建测年龄网站How-Old.net?
- 全网刷屏how-old.net 微软病毒爆发流行技能get
- How-Old.net这个“黄色网站”是怎样测年龄的?
- 微软How-Old.net体验:威廉王子只有24岁 巩俐比我小10岁