谢邀,不打算写太多了(因为还没有完全写完)
如果题主有心的话,其实自己能找到很多资料
这种半学术的东西,自己去研究一番比起问别人要有意思的多
=====
Fun with ML, Stream Analytics and PowerBI上面这个网址是howold一系列的开发花絮,当然也涉及到其中使用的一些技术
关于howold这个页面
其实其工作主要分为以下的三个部分
而黑体字的这一部分,则是年龄识别的核心
其主要组成则是微软协同工作的一个project,称之为牛津计划(project oxford)
关于PO,人脸检测的部分是有一个网页版的demo的,如下url
Microsoft Project Oxford Demo Face Microsoft Project Oxford How-to detect faces from an image上图就是PO里关于人脸检测的一个例子,稍微熟悉face detection的人都知道人脸检测是要使用到关键点的。。。上面这个右侧的代码就是检测到了这些关键点
=====
其实就howold这个程序本身,它只是用来测试的,关于年龄这一部分已经封装成模型了
它只需要针对进入的新人脸提了特征之后直接判断年龄,也就如下面这段代码所示
=====
然后,来到关键的部分,也就是如何利用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
不过一路下来,发现微软仅仅只是提供了api ,并没有专门列出参考文献,说明使用的是什么时候的论文去检测人脸的年龄
简单看了下PO有关人脸识别API的部分,涉及到人脸处理的时候,在离线部分仅能对人脸进行标定,训练以及测试都必须在微软端完成。如此看来,官方有意做成黑箱的形式,即你只需要提供输入,官方负责输出
目前人脸处理的那部分,微软PO的网页没有给出公开资源
不过有一句还是要提一下,年龄检测和性别检测,看起来虽然很特殊,但是实质依然是最传统的分类问题,也是使用最传统的方法去处理:特征提取、训练/测试
howold的制作人之一,在福布斯发表了一篇简短解释工作原理的文章
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识别,并不是一个很麻烦的事情。
=====
另外,CV领域里我不是搞face的,所以上面的解释有疏漏之处也只能希望大家谅解了