具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的器件或具有相同或类似功能的器件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
图1示出的是本发明的基于Gabor变换最优通道模糊融合的人脸表情识别方法的流程。该基于Gabor变换最优通道模糊融合的人脸表情识别方法包括提取有效纹理特征、选取最优分类器和模糊融合处理等三个主要步骤,各步骤的具体操作将在下文中详细描述。
S1.将Gabor滤波器划分为十一个通道,由Gabor滤波器对规范化处理后的人脸表情图像进行二维Gabor小波变换以提取所述人脸表情图像的纹理特征。
在步骤S1中,首先需要对人脸表情图像进行规范化处理,规范化处理包括对眼睛的精确定位、人脸表情图像的角度矫正、图像的裁剪、尺度归一化和光照补偿等步骤。
S101.首先计算人脸表情图像的行复杂度,根据人脸的行复杂度变化曲线,找出曲线上的最大值对应的坐标作为眼睛区域的中心线,然后截取出竖直方向眼睛的大体位置,再用垂直投影法截取出水平方向的位置,以完成对眼睛的粗定位,然后利用眼睛区域的几何分布特点结合Hough(音译:霍夫)变换以完成对眼睛的精确定位。Hough变换的实质是将图像空间中具有一定关系的象元进行聚类,寻找能把这些象元用某一解析形式联系起来的参数空间中的累积对应点。
图像R的行复杂度定义为:
为了突出眼睛区域还可以加入加权因子k,加权因子k为
其中,N为图像的总行数。经过眼睛定位后的图像如图2所示。
S102.利用旋转公式对人脸表情图像的角度矫正,旋转公式为
其中,旋转角度θ为瞳孔连线和水平方向的夹角,为正值时是顺时针旋转,为负值时是逆时针旋转,[x0,y0]为原始坐标,[x,y]为旋转后坐标,经过角度矫正前的图像如图3-1所示,角度矫正后的图像如图3-2所示。
S103.在瞳孔连线的上方取0.5d宽度,下方取1.5d宽度,以瞳孔连线的中心为基准点,左右各取d宽度对人脸表情图像进行裁剪,其中,d为瞳孔连线长度,裁剪后得到的图像能够清楚展示眼睛和嘴巴,可以集中地展现人的面部表情。利用双线性插值法将人脸表情图像进行缩放成统一的大小。利用直方图均衡化方法对人脸表情图像进行光照补偿。经过上述步骤后可以得到的一系列标准化人脸表情图像如图4所示。
人脸表情的特征提取就是对人脸的器官特征、纹理区域和预定义的特征点进行定位和提取。在标准化预处理的基础上,需要对人脸表情图像的人脸表情特征进行有效的提取。提取的特征既要尽可能多的保留不同人脸表情所特有的特征,又要尽量去除外在和内在的噪声干扰,同时,要使提取特征的维数尽可能的低。本方法利用了5个尺度、6个方向的二维Gabor小波变换提取图像的纹理特征。即:将Gabor函数和人脸表情图像进行卷积处理。
Gabor滤波器的表达式为
其中,
δ=2π,u代表Gabor滤波器的方向,v代表Gabor滤波器的尺度,说明了二维Gabor函数就有尺度伸缩性和方向旋转性。Gabor小波是由Gabor函数通过尺度伸缩和方向旋转而生成的一簇复函数系,或者说Gabor小波是有Gabor滤波器通过旋转和伸缩形成的一组滤波器。
为了更好的达到提取有效特征的要求,采用了通道划分的方法,划分出尺度和方向两类通道。根据5个尺度、6个方向的二维Gabor滤波器划分的十一个通道为:
Channel(通道)1:v=0,π/6,2π/6,3π/6,4π/6,5π/6;
Channel 2:v=1,
π/6,2π/6,3π/6,4π/6,5π/6;
Channel 3:v=2,
π/6,2π/6,3π/6,4π/6,5π/6;
Channel 4:v=3,
π/6,2π/6,3π/6,4π/6,5π/6;
Channel 5:v=4,
π/6,2π/6,3π/6,4π/6,5π/6;
对象元I(x,y)进行卷积处理为
对各个通道提取的特征还可以进行二次降维处理,二次降维处理为:
S111.对人脸表情图像进行非均匀采样得到采样后的人脸表情图像。由于已经对眼睛进行了定位,只需要根据人脸器官的几何规律估计出嘴巴的大致位置,对于眼睛和嘴巴附近采用密集采样,在脸颊部位采用稀疏采样。为了保留原始表情图像较为完整的信息,采样的间隔不宜太大,在眼睛和嘴巴区域本文采用间隔5个像素点的距离进行采样,在脸颊区域采用间隔15个像素点的距离进行采样,这样对原始128×128的人脸表情图像进行非均匀采样后,共得到328个采样点,如图5所示。
S112.对采样后的人脸表情图像采用2D-2DPCA(two-directionaltwo-dimensional principal component analysis,双向二维主成分分析法)进行变换以实现第二次降维。
在2D-2DPCA中假设A
i是第i个训练样本(i=1,2,...,M)构成的矩阵,M是训练样本的个数,训练样本的均值为
训练样本的类间散布矩阵
然后求S
x的特征值和特征向量,并将特征值从大到小排列(λ
1≥λ
2≥...≥λ
M)其特征值也随之相应的变化(ξ
1,ξ
2,...,ξ
M)。为了简单,一般选取前k个较大的特征值所对应的特征向量构成最佳的投影矩阵:U=[ξ
1,ξ
2,...ξ
k],则每个样本的特征为:B=AU。实现了对图像矩阵的列向量的压缩处理。为了对行向量进行压缩,上述类间散布矩阵S
x应该定义成:
其它步骤和求U的方法相同,就可以得到投影矩阵V。
得到了投影矩阵U和V,就可以根据线性变换表达式
对图像矩阵进行2D-2DPCA降维处理。
S2.建立与各个通道一一对应的分类器,将各个通道提取的所述纹理特征分别送入对应的所述分类器中进行分类识别,计算各个分类器对各种表情的识别率和清晰度,选取所述识别率和清晰度的综合排名靠前的四个分类器为最优分类器。
所选取的通道在所有通道中的整体性能必须是最优的。某个尺度或者方向的小波系数和某种表情之间存在着一定的联系,不同的表情引起的面部器官形变的方向有差别,形变的程度也是有差别的,这种形变和方向的差异就会体现在了Gabor小波不同的尺度和方向上,也就是说各个通道对人脸表情识别率的贡献程度不同。本方法对所有通道的整体性能进行考核,根据如下4条最优通道选取原则,选取出四个最优通道。
最优通道选取原则:①考虑各个通道对应分类器对总体平均识别率的影响;②考虑各通道对不同人脸表情识别率的影响;③考虑Gabor小波变换多尺度多方向的优越性,也就是同时考虑各尺度和方向对识别率的影响;④不同通道在人脸表情识别中对应不同分类器,考虑其清晰度的差别。
本方法在考核通道性能时,是把每一个通道提取的特征送入BP(BackPropagation,反向传播算法)神经网络进行分类识别,构成一个分类器,可以看出通道和分类器之间存在着一一对应的关系。所以本方法中所提到的通道的性能是通道和分类器结合起来的综合特征。
分类器的设计:本发明采用了BP神经网络进行分类器的设计。输入层的节点数,即网络的输入个数是由问题外部描述定义的,根据提取特征的维数来确定输入层的节点数。本发明的一个实施例中设计了600个输入层的节点。输出层的节点数取决于两个方面:输出数据类型和表示该类型所需要的数据大小。本方法要识别七种人脸表情:高兴、害怕、厌恶、悲伤、惊奇、生气、中性,它们分别用七位二进制数0000001,0000010,……,1000000来表示,所以输出层选为7个节点。对于一个具体的问题进行隐层节点的选择时,当训练集确定之后,输入层和输出层的节点数也就随之确定了,而隐层的节点数却是可以变化的,本方法根据下述公式并结合实际情况选取的隐层节点数为25:
其中,n为隐层节点数,ni为输入节点数,n0为输出节点数,a为1~10之间的常数。
BP网络算法的激活函数一般采用满足光滑、单调递增、上下有界等条件的Sigmoid型函数(S型函数),在某些特定情况下,还可能采用纯线性函数。在实际应用中,各层之间可以选择不相同的激活函数。
在本发明的一个实施例中,在输入层和隐层之间选择激活函数为
在隐层和输出层之间选择激活函数为
网络在进行学习之前,必须进行网络初始化的工作,网络初始化参数设置包括连接权值和阈值的选取。本方法使初始值为[+1,-1]之间的随机值。此外,考虑到在BP神经网络中,学习速率是使网络中的权值、阈值可以调整的一个重要参数,它对BP算法的收敛性有很大的影响。如果学习速率过小,误差波动小,但收敛速度慢,往往由于受到训练时间的限制使得网络的输出得不到最佳精度值;如果学习速率过大,虽然收敛速度加快,但容易引起网络振荡。带动量的最速下降法允许网络不但根据当前梯度而且还能根据误差曲面最近的趋势响应,类似一个低通滤波器一样,动量允许网络忽略误差曲面的小特性。没有动量,网络有可能在一个局部最小中被卡住,有了动量网络就能够平滑这样的局部最小。动量能够通过把权重变得与上次权重变化的部分和由算法规则得到的新变化的和相同而加入到网络学习中去。上一次权重变化对动量的影响由一个动量常数来决定,它能够设为0到1之间的任意值。当动量常数为0时,权重变化之根据梯度得到。当动量常数为1时新的权重变化等于上次的权重变化,梯度值被忽略了,动量常数的具体值可以根据具体的BP网络环境进行设置。最小均方误差的设置是为了使所有样品的实际输出和期望输出之间的误差稳定在一个较小的值以内。一般而言,训练的最小均方误差限不必设置太小,这样可以提高训练速度和分类器速度。在实施例中,将学习速率取为0.21,动量常数取为0.95,最小均方误差取为0.001。
为了对通道性能进行定量考核,本方法在JAFFE(The Japanese FemaleFacial Expression,日本女性人脸表情)数据库中进行了考核测试,为了解决BP网络训练所需大样本的问题,将表情库中的样本分成三组,具体分组方法见表1。将这三组样本进行了循环测试,共做3次实验。这样从另一个角度考虑,相当于将训练样本数增加到了426幅,同时测试样本数也相应增加到213幅。
表1
步骤S2中,计算识别率Pij为
Pij=n/N (9)
其中,n是类别Cj中正确识别的样本个数,N是类别Cj的样本总数,识别率Pij表示的是正确识别的概率,各个通道对应分类器对不同人脸表情识别率的统计结果如图6所示。
计算清晰度Uij为
其中,Aj为分类器Xi对类别Cj的理想输出,Bk为分类器Xi对第k个样本的实际输出,n是正确识别的样本个数,各个通道对应分类器的清晰度曲线如图7所示。
计算各个分类器对各种表情的识别率和清晰度,选取识别率和清晰度的综合排名靠前的四个分类器为最优分类器,具体而言,按识别率从高到低对所有分类器进行一次排名,再按清晰度从高到低对所有分类器进行一次排名,然后将各分类器在两次排名中的名次相加得到综合排名,从中选取综合排名最靠前的四个分类器。
从图6中可以看出channel 4、5、8、11这四个通道不仅在平均识别率和单个人脸表情种类识别率上表现较好,而且包含了两个尺度通道和两个方向通道,代表性地涵盖了所有尺度和方向,可以充分且均衡地发挥Gabor滤波器组在不同尺度和方向上的优良性质。同时,在清晰度方面从图7中可以看出,这四个通道对应分类器在清晰度方面含有两个有利于对样本进行分类的特点:①channel 4、5、11这三个通道对应的分类器清晰度较高;②channel 8对应的分类器对不同人脸表情的清晰度差别较大。可见所选的这四个通道所对应的通道综合性能在所有通道里是最优的,具有较好的代表性。
S3.将四个最优分类器进行模糊融合处理,得到人脸表情识别结果。
步骤S3中,模糊融合处理采用的模糊积分表达式为
其中,Gj(t)为模糊测度,hj=(h1i,h2j,...,hmj)为待测样本对于类别Cj的各个分类器的输出值,μj为模糊积分值,表示在n个μj中选取最大的模糊积分值,将最大值所对应的类别作为模糊融合处理后的输出结果。Sugeno(关野模型)模糊积分融合中,模糊密度是一个十分重要的参数。在本方法选取模糊密度时,同时考虑了分类器的识别率和其清晰度。计算模糊测度Gj(t)的步骤为:
S301.计算模糊密度gij=Pij×Uij,其中分类器Xi对类别Cj的识别率为Pij,清晰度为Uij,对于一个类别Cj的模糊密度记为gj=(g1j,g2j,..,gmj)。
S303.待测样本对各个分类器的输出值hj=(h1i,h2j,...,hmj),按从大到小排序,同时模糊密度gij也按从大到小排序。
S304.计算模糊测度Gj(t),令Gj(1)=g1j,则Gj(t)=gij+(1+λgtj)Gj(t-1),t=2,3,…,m。
在公式(11)中将模糊测度Gj(t)和输出值htj(t=1,2,…,m)相比较提取二者中较小的那个值,这样就会得到一个m维的向量,然后再取该向量中的最大值,这样就得到了第j类的模糊积分值μj(j=1,2,…,n),接着按照最大隶属度原则进行分类,即在所有的n个μj中选取最大的模糊积分值,将该最大值所对应的类别Cj作为模糊融合后的识别结果。
采用步骤S3对最优通道对应的分类器进行模糊积分融合处理后,最终得到的人脸表情识别结果如表2所示。
表2
表情种类 |
生气 |
厌恶 |
害怕 |
高兴 |
中性 |
悲伤 |
惊奇 |
总计 |
识别率 |
0.9667 |
1 |
0.9375 |
1 |
0.9667 |
0.9677 |
1 |
0.9765 |
该系统中部分过程所耗时间如表3所示。
表3
方法 |
特征提取和降维时间 |
多分类器的融合时间 |
最优通道模糊融合 |
0.2878s |
0.0018s |
由于是本算法是三组循环实验结果综合后得出的识别率,这三组实验所得识别率的标准差是0.0215,标准差较小,说明本发明的基于Gabor变换最优通道模糊融合的人脸表情识别方法性能比较稳定。
在针对本发明的基于Gabor变换最优通道模糊融合的人脸表情识别方法进行实验时,通过识别率验证了本方法的有效性、合理性,通过标准差证明了其具有稳定性,通过实验过程的时间对比,体现了时间上的优越性。由此可见,本方法可以有效地对静态人脸表情图像进行分类识别,具有计算量小、计算速度快、识别精度高的优点。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。