50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

人脸年龄估计研究现状

  • 2019-09-25
  • 本文字数:3905 字

    阅读完需:约 13 分钟

人脸年龄估计研究现状


今天给大家带来一篇人脸识别中的年龄估计技术,年龄特征作为人类的一种重要生物特征,计算机要如何基于人脸图像估计年龄呢?

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 And Age 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 的解决这个问题。

总结

基于人脸的年龄估计仍然是一个可以继续研究的问题,因为以美颜等为代表的技术,干扰着算法的准确性。


不过,年龄的估计本身就不一定能反映真实的生理年龄,有的人就是比同龄人显得年轻很多或者老很多,所以该技术不可能像指纹识别或者人脸识别一样,在非常重要的应用中独当一面,而只能作为辅助算法。不过,研究研究还是很好玩的。


参考文献:


[1] Rothe R, Timofte R, Gool L V. Deep Expectation of Real and Apparent Age from a Single Image Without Facial Landmarks[J]. International Journal of Computer Vision, 2016:1-14…


[2] Hassner T, Harel S, Paz E, et al. Effective face frontalization in unconstrained images[J].  2014:4295-4304.


[3] Chen B C, Chen C S, Hsu W H. Face Recognition and Retrieval Using Cross-Age Reference Coding With Cross-Age Celebrity Dataset[J]. IEEE Transactions on Multimedia, 2015, 17(6):804-815.


[4]王先梅,梁玲燕,王志良,胡四泉. 人脸图像的年龄估计技术研究 [J].中国图象图形学报,2012, 17( 6) : 603-618.


[5] 郑德鹏, 杜吉祥, 翟传敏. 基于深度学习MPCANet 的年龄估计 [J]. 南京师大学报(自然科学版),  2017, 40(1):20-26.


作者介绍


陈英豪,公众号“有三 AI”作者,计算机视觉专业在读;


言有三,真名龙鹏,曾先后就职于奇虎 360AI 研究院、陌陌深度学习实验室,6 年多计算机视觉从业经验,拥有丰富的传统图像算法和深度学习图像项目经验,拥有技术公众号《有三 AI》,著有书籍《深度学习之图像识别:核心技术与案例实战》。


原文链接


https://mp.weixin.qq.com/s/fnEqr-1dxLm-NL8STURY_A


2019-09-25 15:512731

评论

发布
暂无评论
发现更多内容

makefile:带你了解一种常用于GNU gcc编译的工具语言

华为云开发者联盟

编译器 LiteOS makefile 语言 GNU

火爆!GitHub 标星 144k 的前后端学习路线

沉默王二

学习 后端

正则表达式.06 - 断言

insight

正则表达式 3月日更

你的决定我做主——锚定效应

Justin

心理学 28天写作 游戏设计

使用 Flink 前需要知道的 10 个『陷阱』

Apache Flink

flink

Everything is Serverless,从开源框架对比说起

华为云开发者联盟

云计算 开源 Serverless 云原生 无服务器

数据分析利器之Excel功能篇

小飞象@木木自由

硬核干货丨借助多容器Pod,轻松扩展K8S中的应用

Rancher

“七大属性加持,三个全新升级组件”这个高性能利器有点厉害

华为云开发者联盟

数据库 数据湖 Clickhouse 华为云 集群

《她说》——我们自出版的第一本书

张凯峰

Python 中级知识之装饰器,滚雪球学 Python

梦想橡皮擦

28天写作 3月日更

马特量化交易机器人系统开发网格策略

薇電13242772558

对象存储与HashData多云战略

酷克数据HashData

深入分析mysql为什么不推荐使用uuid或者雪花id作为主键

xcbeyond

MySQL MySQL优化 3月日更

如何通过XMind 实践OKR 工作法

博文视点Broadview

LeetCode题解:64. 最小路径和,动态规划,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

(28DW-S8-Day19) 以太坊是什么

mtfelix

28天写作

中国石油数字化转型提速 HashData助力梦想云建设

酷克数据HashData

Superset 兼容ADB(AnalyticDB-MySQL)

data_y

Python MySQL Apache Superset

Redis工具收费后新的开源已出现

happlyfox

学习 工具软件 28天写作 3月日更

有道 Kubernetes 容器API监控系统设计和实践

有道技术团队

Kubernetes 容器 分布式

第二届开发者社区【金码奖】,揭晓了!

京东科技开发者

开发者 开发者社区

夺命剪刀脚(死锁)

鲁米

方法论 死锁

PostgreSQL高校数据库课程改革系列活动

PostgreSQLChina

数据库 postgresql 开源 软件 开源社区

有源晶振和无源晶振的区别

不脱发的程序猿

28天写作 电路设计 3月日更 晶振 元器件

Python yaml 使用的包

HoneyMoose

醒一醒,讲到 ZooKeeper 的选举机制了

HelloGitHub

Java zookeeper ZooKeeper原理

问题剖析之消息队列的架构设计

Kylin

读书笔记 消息队列架构 3月日更

法大大完成D轮9亿元融资,腾讯领投

人称T客

历史技术栈体系即将崩溃,我们如何应对?

VoltDB

数据库 5G 边缘计算 VoltDB

Midway Serverless 发布 2.0,一体化让前端研发再次提效

Serverless Devs

Serverless 云原生 大前端

人脸年龄估计研究现状_AI&大模型_言有三_InfoQ精选文章