文章首发于微信公众号 《与有三学AI》
【技术综述】人脸年龄估计研究现状
今天给大家带来一篇人脸识别中的年龄估计技术,年龄特征作为人类的一种重要生物特征,计算机要如何基于人脸图像估计年龄呢?
01概述
简单地说,基于人脸图像的年龄估计是指机器根据面部图像推测出人的大概年龄或所属的年龄范围( 年龄段)。
基于人脸图像的年龄估计系统一般分为人脸检测与定位,年龄特征提取,年龄估计,系统性能评价几个部分。根据提取特征方式的不同又分为传统方法和深度学习方法。同一张图在不同应用中的测定(左商汤右年龄检测器)
不同的人脸在同一应用中测定(百度云AI为例)
不同年龄不同肤色在年龄估计系统中评分测试
如果基于人脸图像的年龄估计问题得到解决,那么在日常生活中基于年龄信息的各种人机交互系统将在现实生活中有着极大的应用需求。
市场主流年龄估计软件包括商汤科技,face++,百度云AI体验中心,腾讯云AI体验中心,年龄检测仪。我们随机拿了一些名人照片做测试,总体说来face++在测试集上表现最好。
02人脸年龄数据集与算法评价指标
2.1 公开数据集
2.1.1 The IMDB-WIKI dataset数据集 【1】
网址:https://data.vision.ee.ethz.ch/cvl/rrothe/imdb-wiki/
介绍:从IMDb和维基百科上爬取的名人图片,根据照片拍摄时间戳和出生日期计算得到的年龄信息。应该是目前最大的人脸年龄数据集
大小: 共523051张face images
标签:年龄和性别
2.1.2 Adience Benchmark Of Unfiltered Faces For Gender AndAge Classification 数据集【2】
网址:https://www.openu.ac.il/home/hassner/Adience/data.html#frontalized
介绍:iPhone5或更新的智能手机拍摄
标签:年龄段(0-2, 4-6, 8-13, 15-20, 25-32, 38-43, 48-53, 60+)
大小:26580张, 2284人
2.1.3 Cross-Age Celebrity Dataset (CACD)【3】
网址:http://bcsiriuschen.github.io/CARC/
描述:与数据集2.1.1类似
标签:年龄
大小:163446张名人图片,约4.4G
更多数据集可自行了解。
2.2 算法评价指标
目前常用的年龄估计评价指标包括平均绝对误差( MAE) 和累积指数(CS) 。
2.2.1 MAE
平均绝对误差是指估计年龄和真实年龄之间绝对误差的平均值,其表达式为
2.2.2 CS
年龄估计性能评价中,人们关注更多的是所估计出的年龄值的绝对误差范围是否在人们能接受的范围内,因此累积指数被用于年龄估计的性能评价中,累积指数的定义如下:
式中,Nθ≤j表示测试图像中估计年龄与真实年龄的绝对误差不超过j年的测试图像数,分母N为所有测试图像的总数。因此CS越大,说明估计年龄越接近真实年龄,年龄估计越准确。
03传统方法研究思路
传统方法研究思路,自然就是手动提取特征,我们基于参考文献【4】来做说明。
传统方法即手动提取特征,传统方法可粗略划分为手动提取特征和年龄估计两个阶段。
根据特征所反映的人脸信息,可以将常用的人脸年龄特征分为形状特征、纹理特征、代数特征以及混合特征。由于每种类型的特征均从不同角度描述了人脸图像,为了充分利用各种特征的优点,研究人员通常综合集成多种人脸特征,并采用不同的数学方法对其进行处理,从而形成了各具特色的面部年龄特征提取模型。常见的特征提取模型包括人体测量学模型( anthropometric models) 、特征子空间模型(AGES) 、柔性模型( flexible models) 、流形学习( age manifold)以及外观模型( appearance model) 等。
3.1特征提取模型
3.1.1 人体测量学模型
a) 主要内容:
人体测量学模型利用了人脸的几何形状特征进行年龄分类,主要是描述随着年龄的增长人脸整体轮廓变化的数学规律,它所测量的是人脸的一种结构信息。主要过程归纳为人脸轮廓检测,人脸特征点定位,多种几何比例测量(如两眼之间的间距、两眼之间的间距等),最后利用几何比例进行年龄段的区分。
b) 适用范围:
主要适合于对未成年人进行年龄分类
c) 局限性:
由于该模型对人体姿态变换比较敏感,因此主要适用于提取正面人脸图像的年龄特征
3.1.2 柔性模型
a) 主要内容:
柔性模型将人脸的形状与灰度/纹理有机结合起来,从整体入手,充分提取人脸图像的形状信息和全局纹理信息,可以看作是人体测量学模型的升级版,其典型的代表是主动形状模型( ASM) 和主动外观模型(AAM)。
b) 适用范围:
该模型可以更好地适应复杂图像的特征点定位和特征提取,不仅适用于对青少年进行年龄分类,也适用于对中老年人进行分类。
c) 局限性:
1) 随着年龄的增长,人脸纹理的变化更多地体现在局部区域,如额头、眼角、脸颊等,因此采用该模型进行特征提取时,将会丢失掉很多局部纹理信息,可能不利于对老年人进行年龄估计。
2) 在训练过程中,柔性模型通常将形状和纹理空间分别进行训练,这将会损失掉大量纹理和形状之间的有效信息。
3) 此外柔性模型的确定依赖于很多脸部特征点的准确定位,一旦定位出现误差,这种误差将很容易在后续处理中被放大。
3.1.3 外观模型
a) 主要内容:
外观模型将人脸几何特征与全局信息,局部信息(如面部纹理信息、频率信息和肤色信息)相融合进行人脸描述,进而进行年龄估计,可以看作是柔性模型的升级版,目前应用最为广泛。
b) 适用范围:
它较好地描述了面部的纹理特性,并常常与形状特征相融合,可以较好地实现全年龄段的年龄估计。
c) 局限性:
只能用于粗略估计,给出一个大概的年龄段。
3.2 年龄估计
基于人脸图像的年龄估计是一类“特殊”的模式识别问题: 一方面由于每个年龄值都可以看作是一个类,所以年龄估计可以被看作是一种分类问题;另一方面,年龄值的增长是一个有序数列的不断变化过程,因此年龄估计也可被视为一种回归问题。有研究者通过对已有年龄估计工作进行总结后认为: 针对不同的年龄数据库和不同的年龄特征、分类模式和回归模式具有各自的优越性,因此将二者有机融合可以有效提高年龄估计的精度。由于传统的年龄估计模式忽略了人脸衰老的动态性,最近研究人员又将Rank模型引入到年龄估计方法中,并取得了较好的效果。
3.2.1 分类模型
每个年龄值都可以看作是一个类,所以年龄估计可以被看作是一种分类问题。分类模式采用模式分类的理念与方法实现年龄的估计。可以分为对年龄段进行分类和对具体年龄值进行分类。
3.2.2 回归模型
年龄值的增长是一个有序数列的不断变化过程,因此年龄估计也可被视为一种回归性问题。回归模式运用回归分析的方法,通过建立表征人脸年龄变化规律的函数模型来实现年龄的估计。
3.2.3 Rank模型
人类衰老是一个“动态”变化的个性化过程。传统的基于分类模式的年龄估计把年龄分成了若干个年龄段,没有考虑到不同年龄之间的相互关系,因此损失了很多重要的信息; 传统的回归模式虽然考虑到了年龄之间的相关性,但是却假设人的衰老是一个“静态”过程,即不同年龄的人的衰老变化规律一致。此外,在日常生活中,我们对一个人进行年龄判定时,总是将该人脸与我们熟悉的且知道相应年龄的人脸图像进行比较,通过综合大量的比较结果进行年龄判断。
因此,年龄估计过程可以看成是对大量人脸有效信息对进行比较的过程,也就是通过若干组二值分类结果就可以得到相应的年龄估计值,通过寻找当前年龄标签在年龄序列中的相对位置来确定最终的年龄值,从而有效克服了传统的年龄估计方法忽略了人类面部衰老过程中的动态性、模糊性以及个性化的特点.
3.2.4 混合年龄估计模型
不同的估计模式具有不同的优势,因此可以将各种估计模式综合起来进行年龄的估计。所谓混合年龄估计模式就是使用多个不同的年龄估计器代替单个年龄估计器来进行年龄估计。
04深度学习方法研究思路
近年来伴随着深度学习的火爆,应用深度学习方法解决人脸年龄估计问题成为了主流。
实际上,就是利用深度学习自己学习特征,替换掉了上面传统方法提取的一系列特征。在大数据的加持下,模型的鲁棒性远超传统方法。下图就是文献【1】,夺得ChaLearn LAP 2015 challenge的pipeline。
该文是多个模型的融合,将年级估计问题作为一个0~100岁的101类的分类问题来研究。
有的文献【5】会利用神经网络提取特征后做一些PCA的维度,实际上笔者认为没有这个必要。
在经过正确的人脸检测和对齐后,现有的深度学习模型完全能够end-to-end的解决这个问题。
05总结
基于人脸的年龄估计仍然是一个可以继续研究的问题,因为以美颜等为代表的技术,干扰着算法的准确性。
不过,年龄的估计本身就不一定能反映真实的生理年龄,有的人就是比同龄人显得年轻很多或者老很多,所以该技术不可能像指纹识别或者人脸识别一样,在非常重要的应用中独当一面,而只能作为辅助算法。不过,研究研究还是很好玩的。
作者:言有三
链接:https://www.jianshu.com/p/1861b7dc9a0e
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。