分享

【学习笔记】嵌入式技术(6):改进的多姿态矫正的人脸识别算法

 ChinaAET 2020-10-31

2016年微型机与应用第3期 

作者:杨作宝1,2,侯凌燕1,2,杨大利1,2

  摘要:针对人脸多姿态导致人脸识别率下降这一问题,提出一种改进姿态矫正处理方法,通过改进对人脸特征点的有效定位,来计算人脸姿态旋转的角度,再通过角度和改进姿态矫正方法来矫正非标准姿态人脸到近似标准姿态。由于人脸是不规则的椭球形,提出对人脸“三庭五眼”的局部区域进行二次矫正方法,再改进SURF算法进行人脸特征点匹配。该方法能够将一定角度范围内的多姿态人脸矫正到近似标准姿态。实验结果表明,该方法能在一定程度上提高多姿态人脸识别率,较经典PCA方法错误率可下降10%左右。

0引言

  人脸识别技术是当代人工智能、模式识别、计算机视觉领域中的热门研究课题之一 [1]。在公安系统的犯罪身份识别、银行海关的监控系统及机场、火车站的安检系统等场合有着巨大应用价值。通过实际生活中对人脸识别的检测结果得出,姿态因素是影响人脸识别结果的主要原因之一,己经成为限制人脸识别技术进步的难点。

  近年来,学者们提出众多解决人脸识别技术姿态问题的想法,但还没有一套完备的方法理论,可以完全消除人脸图像的多视角难题。目前在解决多姿态视角问题上有以下几种主流方法:

  (1)基于多视图的人脸识别。该方法的识别是在可控条件下拍摄人脸图像,需要采集每个人不同姿态的人脸图像,训练集数量越大,测试图像与人脸训练模型比对匹配时精度越高,识别正确率就越高。如K-means聚类[2],LLR算法[3]、水平镜像和决策融合[4]等,这些方法因其简易、有效等特性被广泛应用。该类方法的不足是:需要拍摄每人不同视角的图像形成多视图。这在诸如抓捕在逃犯罪分子之类的场合是不可行的。

  (2)由单张人脸图像生成多角度人脸图像。该类方法往往是一个人脸仅有一个姿态样本图像,主要目的是解决单一样本或者较少样本的情况下识别率低的问题。通过单一人脸合成多角度人脸图像,增加识别率。诸如局部加权平均[5]、虚拟样本扩张法[6]、高斯过程回归[7]等。由单张图像合成多角度人脸图像的方法要求准确度达到一定的标准,而实际中合成该类方法得出的形变函数和要代表的人脸差异性比较大。对于非刚性结构的人脸,像日常的消瘦和臃肿、情绪的喜怒哀乐等变化,也会加大识别的难度。

  (3)人脸姿态标准化。要矫正人脸到标准姿态,是由于实际中往往得不到正面人脸图像,通过图像合成函数,把不同角度的人脸图像矫正到标准人脸图像,再与原有人脸图像库中人脸进行比对。此类方法有仿射变换[8]、正弦变换[9] 、Clifford代数矫正[10]等,这种基于姿态矫正的方法具有时间复杂度低、识别更加精准等特点。对特征点有效提取和特征点匹配等方法进一步优化,可以较好地合成出人脸标准姿态图像。

  (4)使用与姿态无关的特征进行识别。直接提取对姿态变化不敏感的特征进行识别,如肤色、表情等。该方法有如下优点:不需要大量的已知姿态人脸图像,不同的人只需少量的样本;对测试样本姿态变化的泛化能力强。典型方法有多因素分析算法[11]、外形和纹理的分布模型[12]等,该方法对人面部的旋转有很强的鲁棒性。但使用姿态无关特征也有缺点:它对标志点的定位十分敏感,需要计算大量的参数,且在参数确定上有待商榷。

  实际中公安系统仅有一份身份证照片,在进行身份比对时,姿态变化复杂,训练样本少,效果不理想。本文使用相对较少的训练样本,在通用人脸图像库上进行实验,结果表明,使用本文方法进行识别有相对较高的识别率,错误率较经典PCA方法下降10%左右,能够有效克服一定条件下多姿态变化对人脸识别的影响。

1多姿态人脸旋转角度测定

  人脸姿态的变化通常有以下三种情况:平面外俯仰旋转、平面外左右旋转以及平面内旋转,即分别绕X、Y、Z三个轴旋转。图1标出了人脸在空间中的三个旋转方向。

  

  1.1人脸特征点坐标定位

  对于人脸图像关键点的定位,应用方差积分投影对灰度值的敏感性,计算关键点的坐标。由于人脸特征是有一定对应关系的,通过关键点对应比值、距离等关系,对测试图像的旋转角度进行测定。假设图像中坐标(x,y)处的灰度值为H(x,y),则图像的水平积分投影Sh(y)、垂直积分投影Sv(x),在[x1,x2]和[y1,y2]区域内可分别表示为:

  

  对于灰度积分投影水平和垂直的函数值进行分析,可以有效得出关键点。为了避免出现均值相同的情况,采用两种方法取均值能更精确地提取特征点的位置。图像在(x1,x2)和(y1,y2)区域内的水平方向的方差积分投影和垂直方向的方差积分投影可分别表示为:

  

  通过“三庭五眼”人脸区域先估算人脸特殊点(眼睛、鼻子、嘴)的大概位置,再通过积分投影准确定位。人脸中其他区域的灰度值要明显低于人眼瞳孔的灰度值。而人眼瞳孔的位置,在鼻尖的左斜上方和右斜上方,特定区域搜索,找出灰度值的最小点,即为左右瞳孔、眼睛的位置;在灰度图上由于瞳孔的灰度特征相对明显,可以较容易地提取出来;通过瞳孔和眼睛的大小可以确定左右眼角的坐标位置。

  对于嘴巴的定位采取二值化算法,由于嘴巴位于人脸的下半部分,对于眼睛、眉毛、眼镜等主要的干扰因素,可以在区域划分时忽略不计。针对人脸的区域划分进行阈值选择,由于闭区域选择法的特殊性,会使嘴巴区域的轮廓信息更为完整地凸显。相对于嘴巴,横向距离的宽度要大于纵向距离,且嘴巴区域是圆弧形连通的,较为集中。根据这些条件将嘴巴区域的坐标位置进行定位,进而确定嘴中心和左右嘴角的坐标位置。

  对于鼻子,鼻尖和鼻孔都是孤立的点,而且鼻孔在图像中通常比其他区域的像素的灰度值暗,从而形成黑斑。而鼻尖往往亮度高形成亮点。而Quoit滤波是基于数理形态学的滤波器,对孤立点定位精度高,可以定位鼻尖和鼻孔。使用Quoit滤波器的数理形态进行人鼻定位。Quoit滤波器公式定义:

  

  可知e为图像输入,M为圆形元素,R为环结构。具体算法描述如下:对人脸图像先进行归一化处理,灰度值取补,这可以使图像提取效果更加准确;对鼻尖和鼻孔使用滤波器进行处理后,再进行二值化处理,得到黑白图像,使关键点明显可见。左右鼻孔的选择点就是白色部分。该算法很大程度上降低了运算时间。人脸特征点的坐标定位如图2所示。

  

  1.2旋转姿态角度计算

  Z轴上的人脸旋转角度:由两眼中心的连线与水平线的夹角得出,设旋转后两眼中心坐标分别为(x1,x2),(y1,y2),则角度的计算公式为:

  

  计算出这个值,就可以计算出水平状态的旋转角度。

  Y轴上的人脸旋转角度:当人脸没有旋转时,人脸中分线正好位于人脸图像的中间;当人脸绕Y轴旋转时,反映到图像平面,表现为人脸中分线偏离人脸图像的中心位置。假设人脸只是绕Y轴旋转,左眼中心、右眼中心与嘴中心夹角的斜率分别为:tanβ1=k1,tanβ2=k2。左右眼外眼角与鼻尖的夹角差值:βnose=β1-β2,同理还可求得内眼角与嘴中心的夹角差值βeye,鼻尖与左右嘴角的夹角差值βmouth,三个差值取均值,定位Y轴上人脸旋转的角度,公式如下:

  

  X轴上的人脸旋转角度:通过侧视图,得到人脸、嘴巴与水平线的夹角α1,α2,则计算公式如下:

  

2人脸姿态矫正算法

  在一定程度上训练集和测试集的同一性影响着人脸识别的结果。两者同一程度大,识别率就高。而往往摄像机拍到的人脸图像是存在各种姿态角度的,它们作为测试集就需要先矫正到标准视图人脸,再进行匹配识别。

  把人脸分成很多小块,每一个小块就可近似认为是平面的,这时,可以充分发挥仿射变换的优势,处理更大区域内的姿态变化,提高整个算法对姿态变化的鲁棒性。仿射变换可用下式来表示:

  x=Dx0+b,|D|≠0(9)

  其中,x,x0,b∈R2;D∈R2×2,x是对x0进行仿射变换后的结果,其可以看做是平移、缩放、旋转、错切、反射这5种变换的组合[13]。而典型的变换主要有旋转变换、缩放变换和平移变换。二维仿射变换的算法如下:

  

  通常情况下,人脸的两脸颊在有姿态变化时,变化的弧度会更大,这就使人脸边界容易发生扭曲现象。“三庭五眼”是人的头部的比例。三庭是指下巴到鼻尖、鼻尖到眼眉、眉毛到发髻线,这三个部分被认为是相等的。五眼则更明显,如图3所示。因此,对人脸三庭五眼分块,再对边缘轮廓区域进行二次矫正,将存在一定姿态且存在一定程度形变的人脸边缘映射为标准正面人脸图像边缘,使人脸识别更加准确。

  针对人脸识别算法对姿态变化局部敏感的问题,提出局部姿态二次矫正算法,通过对人脸进行三庭五眼分块,并利用二次矫正函数对姿态边缘轮廓建模,有效提高参数估计精度。中心问题是把人脸图像进行“三庭五眼”区域划分,利用矫正模型处理边缘轮廓的姿态,得出最优变换。该算法利用最小误差为各局部区域估计较优的初值,有利于小范围最优,使算法识别性得到提高。图像变换参数描述图像间的变换关系,如下式:

  

  其中,参考图像上的点为(x′,y′),目标图像上与之对应的点为(xi,yi)。变换矩阵有四对,可以选择4对匹配点计算得出。假设匹配点都是正确的,则实际的矩阵与计算出的矩阵基本吻合。

3人脸识别算法

  SURF(SpeedUp Robust Features)[14]算法,是Bay等人提出的根据特征点周边范围的灰度值信息进行统计的一种匹配算法,主要用来计算主方向和特征向量的图像配准。本文对SURF算法的特征点描述和特征匹配部分加以改进,提出最近邻匹配算法对最终匹配识别结果进行寻优,减小特征点匹配的等待时间,提高最终识别率。

  对于一幅图像而言,从图像的左上角到这个点所构成的矩形方框内所有点的灰度值之和等价于这个积分图像中的任意像素点(x,y)的值。设G表示原始图像,P∑(x,y)表示积分图像,则有:

  

  积分图像加快了图像卷积运算,降低了时间复杂度,加快了特征矢量的生成。

  (1)兴趣点检测

  针对平滑处理过后的图像,在所有尺度空间上计算该像素点在该处的Hessian矩阵,计算完Hessian矩阵行列式的值后,再检测兴趣点。令图像中某点像素值为(α,β),则下面的Hessian矩阵为δ尺度上的Hessian矩阵:

  

  其中,Hαα(α,β,δ),Hαβ(α,β,δ),Hββ(α,β,δ)都表示在(α,β)处二阶偏导与图像I的卷积。

  (2)定位特征点和确定主方向

  SURF在不同的尺度下寻找特征点,用抑制方法对图像进行抽样,求出极值后,将每一个像素点的Hessian值均分为26个像素点(同层相邻8个、上下两层毗邻9个)进行比对,才能得出候选点。插值运算完以后,仅有几个特征会最终被检测出来,得到更精确的尺度和位置。

  (3)生成描述子

  相对于主方向,对每个子区域的水平和垂直方向的Harr小波响应都进行累加求和,生成一个四维的向量,得到的描述符如下:

  

  其中,D为四维向量,dx为水平方向响应、dy为垂直方向响应,对64维的特征向量进行归一化处理,得到特征点的描述符。

  (4)最近邻匹配的改进

  对于关键点的匹配,采用SURF自身的识别进行挑选,选用最近邻匹配的思想对结果进行寻优;通过测试图像与模板图像的特征点匹配对数得出结论。以关键点特征向量之间的真实距离为衡量标准,两个向量之间的距离越小,则认为匹配越成功。公式如下:

  

  假设SA是实时图像中的点,SB是模板图像中的点,它们的描述子向量分别为DA、DB,而DAi,DBi分别是它们的第i个分量,则PA和PB之间的欧式距离定义为:

  

  最近邻欧氏距离与次近邻欧氏距离作比,若比值在一定的阈值范围内,则认为匹配正确,否则错误。经过不断地测试表明,[0.5,0.6]范围内是最优阈值。

  Value=d最近邻d次近邻=∈[0.5,0.6],正确匹配

  

  对测试图像与不同模板图像的关键点匹配对数进行有效比较,判别匹配点数最多的为匹配的最终结果。

4实验结果及其分析

  为了验证本文提出的改进方法的有效性,采用以下几种方法分别进行处理:直接在原图像上采用PCA,LDA,LBP方法进行识别;将姿态进行矫正后再利用三种方法进行识别;采用文献[8]的方法进行识别;本文的改进算法对图像进行处理后进行识别。在ORL和FERET两个著名的人脸数据库上进行实验。图4是本文算法对三种姿态图像处理的结果,从视觉效果上看,有效地抑制了多姿态变化,且对局部人脸姿态矫正有更好的校正效果。

  4.1ORL人脸库

  ORL人脸库[14]包含40个人的400张图像,每人10幅不同姿态的图像,图像大小都为128×128的灰度图。每个人10幅人脸均有多种姿态和多种表情。并且此图像存在尺度的变化,排列不整齐。分别在不同的方法上实验比较。每个人的训练张数分别为i=(1,2,3,4,5)张;其余的10-i张都作为测试集,取10次的均值。实验结果如表1。

  4.2FERET人脸库

  FERET人脸库[15]包含1 199个人的14 129幅图像,有各种表情、姿态、光照等。木文采用姿态子集上1 001张图像,共143人,每人7张,维度大小80×80,包含不同姿态旋转和光照变化,分别在不同的方法上实验比较。每个人的训练张数分别为i=(1,2,3,4)张;其余的7-i张都作为测试集,取10次的均值。实验结果如表2。

  综合比较,本文方法在同等训练样本情况下识别率都不低于对比的其他方法,而且在单训练样本时,提高了识别率。一定程度上说明采用本文方法能够矫正一定姿态角度条件下的人脸图像,且对人脸识别特征细节和局部矫正增强大有帮助。

5结论

  姿态问题是目前研究还没有根本解决的问题。本文算法适用于对测试人脸图像的多姿态变化进行矫正处理,改善了姿态角度的坐标定位及计算方法。在局部畸变的情况下,对边缘轮廓等区域进行了二次矫正,通过改进SURF的特征匹配算法,更好地增加了特征点匹配的数量,具有良好的姿态矫正功能。选取ORL和FERET人脸库图像,结合其他归一化处理方法,进行姿态矫正,实验表明本文方法对多姿态人脸矫正有很好效果,显著提高了识别率。但本文是对一定条件下的多姿态人脸进行处理,而实际中姿态变化是复杂多变的,如何更好地根据图像的多变姿态情况对图像进行矫正处理是将来急需解决的课题。

参考文献

  [1] 韩彦斌.基于人脸检测和特征提取的移动人像采集系统[D].昆明:云南大学,2015.

  [2] 王祎灏,宋璟毓.基于SURF特征的人脸识别方法研究[J].微型机与应用,2014,33(7):3134.

  [3] 谭晓衡,张建慧.基于LLR算法的多姿态人脸识别[J].计算机应用研究,2011,28(1):392394.

  [4] 李全彬,刘锦高,黄智.基于水平镜像和决策融合的多姿态人脸识别方法[J].计算机应用与软件,2012,29(12):3335.

  [5] 杨姝.基于单视图的多姿态人脸识别[D].镇江:江苏科技大学,2013.

  [6] 单桂军.基于虚拟样本扩张法的单样本人脸识别算法研究[J].科学技术与工程,2013,13(14):7479.

  [7] 应竞舟,傅忠谦,王建宇.基于高斯过程回归的多姿态人脸识别[J].计算机软件与应用,2015,32(8):174179.

  [8] 李海彦,徐汀荣,张立晓,等. 基于仿射变换的多姿态人脸矫正和识别[J].计算机应用研究,2014,31(4):12151228.

  [9] 龚卫国,黄潇莹,李伟红.基于正弦变换的人脸姿态校正及识别研究[J].计算机工程与应用,2010,46(22):213216.

  [10] 丁立军,冯浩,华亮.Clifford 代数3D 人脸姿态矫正方法[J].小型微型计算机系统,2013 ,34(4):906909.

  [11] 侯小静.基于PCA算法和人脸姿态合成的人脸识别[D].长沙:中南大学,2013.

  [12] 刘锐.基于人脸图像稠密匹配的身份识别技术研究[D].合肥:中国科学技术大学,2014.

  [13] 孙广家.计算机图形学(第三版)[M]. 北京: 清华大学出版社, 1998.

  [14] 党力.自动人脸分析与识别的若干问题研究[D].合肥:中国科学技术大学,2012.

  [15] 安高云.复杂条件下人脸识别中若干关键问题的研究[D].北京:北京交通大学,2008.

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多