发明内容
本发明为了解决现有技术中能够在训练样本充足性较低和样本分布均衡性较低的情况下实现准确的年龄识别的问题,提供一种基于人脸图像的年龄识别方法。
为了解决上述问题,本发明采用的技术方案如下所述:
一种通过人脸图像识别年龄的方法,包括如下步骤:S1:提取样本库中每个样本的适用于年龄识别的人脸图像中的人脸特征,所述人脸特征包括:纹理特征、亮度特征和颜色特征;并分别生成三个训练样本特征矩阵;S2:基于三个训练样本特征矩阵,引入一个年龄段参数,通过调整年龄段参数得到测试样本在可容忍误差范围内的稀疏表达;S3:在稀疏表达的基础上,利用多特征融合最终确定测试样本的人脸图像对应的年龄。
优选地,所述纹理特征通过多尺度积技术提取。
优选地,所述步骤S2中还包括基于所述三个训练样本特征矩阵和映射表达测试样本的年龄估计值,所述映射为所述稀疏表达的系数和所述年龄段参数之间的映射;通过使测试样本的年龄真实值和所述测试样本的年龄估计值的之间的残差最小,确定所述可容忍误差范围内的稀疏表达。
优选地,所述步骤S2中的年龄段参数所表征的年龄段为总共年龄数平均分配或不平均分配。
优选地,所述步骤S3包括计算测试样本的稀疏表达分别相对于三个训练样本特征矩阵中每个年龄端参数的残差,将相对于三个训练样本特征矩阵的残差通过权重参数融合成一个总残差;通过穷举法,获得最优的权重参数,从而最终识别人脸图像对应的年龄。
优选地,所述人脸特征还包括局部特征、角点、特征点和全局的几何特征。
优选地,所述年龄参数段内的训练样本可以通过相邻年龄参数段内的训练样本进行补充。
本发明还提供一种通过人脸图像识别年龄的装置,其特征在于,包括特征采集单元、特征处理单元以及输出单元,依次连接;所述特征采集单元采集测试样本的人脸图像中的人脸特征,并将所述人脸特征传输给特征处理单元,所述人脸特征包括:纹理特征、亮度特征和颜色特征;所述特征处理单元接收所述人脸特征,得到测试样本在可容忍误差范围内的稀疏表达并确定测试样本的人脸图像对应的年龄,将所述年龄传输给输出单元;所述输出单元将所述年龄输出。
本发明又提供一种通过人脸图像识别年龄的终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上所述方法的步骤。
本发明再提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上所述方法的步骤。
本发明的有益效果为:提供一种通过人脸图像识别年龄的方法,在训练样本充足性较低和样本分布均衡性较低的情况下,通过提取纹理特征、亮度特征和颜色特征,引入可调的年龄段参数先对测试样本进行稀疏表达,利用多特征融合最终确定测试样本的人脸图像对应的年龄,实现准确的年龄识别。
实施例1
如图1所示,本实施例的通过人脸图像识别年龄的方法包括:
1.提取人脸特征并构建训练样本特征矩阵
提取样本库中每个样本的适用于年龄识别的人脸图像中的人脸特征,所述人脸特征包括:纹理特征、亮度特征和颜色特征;并分别生成纹理特征、亮度特征和颜色特训练样本特征矩阵。构建一个样本库,样本库存在训练样本充足性较低和样本分布均衡性较低的情况。本实施例中我们设计了一种有效的多特征提取方案,能够提取人脸图像中与年龄相关的关键特征。该方案主要步骤如下所述。
(1)采用多尺度积技术,提取反映年龄变化的细小纹理特征。公式(1)定义了一个用于提取问题的多尺度匹配滤波器gi,其中i表示不同尺度,x表示纹理提取的方向,y表示纹理提取方向的垂直方向,σi表示不同尺度滤波器的均方差,表示不同尺度滤波器的均值,Li表示不同尺度滤波的平滑参数,该滤波器在x轴提取纹理,在y轴进行平滑,确保良好的信噪比。
为了提取不同方向的纹理,需要对该滤波器进行旋转,如公式(2)所示,其中φ表示旋转角度。
该滤波器在某个尺度下对原始图像f(x,y)的响应Ri(x,y)可表示为公式(3),其中*表示卷积。
该滤波器的多尺度积Ρi,j定义为公式(4),其中(i,j)表示两个相邻的尺度。由于信号在尺度空间上始终存在而噪声随尺度衰减,多尺度积保证了更高的信噪比,从而可以有效地提取放映年龄变化的细小纹理特征。
Ρi,j(x,y)=Ri(x,y)·Rj(x,y) (4)
最后,一幅图像的年龄纹理特征Ft由公式(5)定义,其中H表示直方图操作。
Ft=H(max(Pi,j(x,y),i∈[1:3],j∈[1:3])) (5)
(2)提取颜色特征。一幅图像的颜色特征Fc由公式(6)定义,其中(r,g,b)代表不同的颜色通道。
Fc=[H(fr(x,y))H(fg(x,y))H(fb(x,y))] (6)
(3)提取亮度特征。一幅图像的亮度特征Fl由公式(7)定义,其中mean表示均值。
Fl=[mean(fr(x,y))mean(fg(x,y))mean(fb(x,y))] (7)
(4)构造训练矩阵。基于纹理特征、颜色特征、亮度特征的训练矩阵At、Ac、Al由公式(8)-(10)定义,其中mt、mc、ml分别表示纹理特征向量、颜色特征向量、亮度特征向量的维数,n表示训练样本个数,k表示样本共分为k类,IR表示实数域。
上述方案基于多尺度积技术,由于信号在尺度空间上始终存在而噪声随尺度衰减,多尺度积保证了更高的信噪比,从而可提取反映年龄变化的细小纹理特征,并与亮度特征、颜色特征进行融合,相对于深度学习等依赖于海量训练样本学习高维特征的方案,该特征融合方案并不依赖于训练样本,从而在一定程度上解决训练样本不足的问题。
2.基于三个训练样本特征矩阵,引入一个年龄段参数,通过调整年龄段参数得到测试样本在可容忍误差范围内的稀疏表达。稀疏表达:我们在对测试样本的稀疏表达系数求解的过程中,引入了一个年龄段参数s,基于训练样本矩阵,通过调整该参数得到最优的稀疏表达。s由公式(11)定义,其中a为总共的年龄数,根据用户需求可调,若用户需求为20-60,则a=41。参数s用来标记一个可调的区间,把某几个相邻的年龄归为一类,样本不足的某些年龄段可从相邻年龄段中获得一定的补充样本,从而可在一定程度上解决训练样本分布不均衡的问题,同时,又保证了测试样本表达系数的稀疏性。参数s可以是平均分配的,根据总共的年龄数平均分配成k类,则参数s的计算公式如下:
s=a/k (11)
在本发明的变通实施例中,参数s可以是不平均分配的,比如总共的年龄数a的取值是0-100岁,那么年龄段参数s可以分别对应0岁-1岁、1岁-3岁、3岁-8岁、9岁-14岁、15岁-18岁、18岁-20岁、21岁-26岁…….之后每隔五年一个年龄段,即在人脸特征变化较大的年龄段调整合适的年龄段跨度,此时参数s不是由计算得到而是直接定义得到。
基于纹理特征、颜色特征、亮度特征的稀疏表达系数由公式(12)-(14)定义,其中|| ||1表示第一范式,|| ||2表示第二范式,ε表示可容忍误差,表示求最小参数。
我们定义一个映射δi(x)表示一组稀疏表达系数中与第i类相关的系数,则一个测试样本y由第i类训练样本求出的年龄的估计值可表示为公式(15)。
则一个测试样本y的年龄的真实值与估计值之间的残差可表示为公式(16)。
设根据测试样本y的年龄的真实值与估计值之间的残差求得j的取值;则年龄段参数s的最终取值可表示为:(a2),把所求的j的值代入公式(a2),求出年龄段参数s的最终取值q。理想情况下(表达足够稀疏且训练样本与测试样本的特征足够相似),rj(y)应接近零。在训练样本不充足和不均衡的条件下,通过调节s,从而使得稀疏系数中接近零的分量尽量的多,可在一定程度上保证测试样本的稀疏表达。
3.在稀疏表达的基础上,利用多特征融合最终确定测试样本的人脸图像对应的年龄。
多特征融合:使用三个训练样本矩阵对应同一个测试样本的稀疏系数,计算测试样本相对于不同训练矩阵中每个类的残差,将相对于三种不同特征的残差通过一个权重系数,融合成一个总残差,由公式(16)定义,其中σ表示训练样本的均差。该残差可理解为测试样本到第i类训练样本的距离,根据距离最小原则,可找到测试样本的归属类,在训练过程中通过穷举法,获得最优的权重系数,从而合理利用多个特征,最终确定人脸图像对应的年龄。
在本发明的一个变通实施例中,人脸特征还包括局部特征、角点、特征点和全局的几何特征,这样虽然会提高运算量,但是会获得更精准的年龄数值。
在本发明的又一个变通实施例中,所述年龄参数段内样本的人脸特征可以通过相邻年龄参数内样本的人脸特征差值补充。
本实施例的通过人脸图像识别年龄的装置包括特征采集单元、特征处理单元以及输出单元,依次连接;特征采集单元采集测试样本的人脸图像中的人脸特征,并将人脸特征传输给特征处理单元,人脸特征包括:纹理特征、亮度特征和颜色特征;特征处理单元接收人脸特征,得到测试样本在可容忍误差范围内的稀疏表达并确定测试样本的人脸图像对应的年龄,将年龄传输给输出单元;输出单元将年龄输出。在本发明的变通实施例中,通过人脸图像识别年龄的装置可以是一种年龄识别仪器,采集待测试的样本的人脸图像就可以得到待测试样本的年龄;仪器内部包括特征采集单元、特征处理单元以及输出单元,依次连接,这些单元可以合并或拆分,总体需要完成本发明的方法即可。
如图3所示,本发明通过人脸图像识别年龄的终端设备的示意图。该实施例的通过人脸图像识别年龄的终端设备包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如特征采集程序。所述处理器执行所述计算机程序时实现上述各个通过人脸图像识别年龄方法实施例中的步骤,例如图1所示的步骤:提取样本库中每个样本的适用于年龄识别的人脸图像中的人脸特征,所述人脸特征包括:纹理特征、亮度特征和颜色特征;并分别生成三个训练样本特征矩阵。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各单元的功能,例如特征采集单元。
示例性的,所述计算机程序可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述通过人脸图像识别年龄的终端设备中的执行过程。例如,所述计算机程序可以被分割成特征采集单元、特征处理单元以及输出单元;特征采集单元采集测试样本的人脸图像中的人脸特征,并将所述人脸特征传输给特征处理单元,依次连接;特征处理单元接收所述人脸特征并确定测试样本的人脸图像对应的年龄,并将所述年龄传输给输出单元;输出单元将所述年龄输出。
所述通过人脸图像识别年龄的终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述通过人脸图像识别年龄的终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述示意图仅仅是通过人脸图像识别年龄的终端设备的示例,并不构成对通过人脸图像识别年龄的终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述通过人脸图像识别年龄的终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述通过人脸图像识别年龄的终端设备的控制中心,利用各种接口和线路连接整个通过人脸图像识别年龄的终端设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述通过人脸图像识别年龄的终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。