陈鹏飞,王 靖
(华侨大学 计算机科学与技术学院,福建 厦门361000)
人脸五官提取及定位被广泛应用于计算机视觉及图像处理领域,准确地定位出人脸五官及其形状特征对人脸表情识别,疲劳检测,人脸肖像卡通画制作具有举足轻重的作用[1]。本文利用图像边缘曲线的形状信息来识别人脸五官,与传统方法相比具有明显优点。Snake[2]方法是最早被用于图像形状检测的算法,该方法在已知人脸区域标记固定数目的特征点并建立能量函数,再通过修正点的位置使能量函数最小化。该算法对目标形状初始位置极为敏感,定位不准确将导致极大的偏差。Yuelle 在此基础上提出ASM 算法[3],该算法通过采样来标记一组代表人脸特征的点,再利用主成分分析的方法控制采样点的移动来逼近当前对象的形状。Cootes等人在ASM 算法的基础上提出了AAM 算法[4],它在识别对象形状信息的基础上加入了对象的纹理信息,准确率较ASM 得到了提高。用ASM 和AAM 算法都要求事先定位出人脸区域,然后再做形状逼近,因此要求配合人脸识别和定位算法使用,对其依赖性较高。如果人脸定位失败,将导致后续算法的失效。Karin等人利用颜色信息和形状信息来做人脸区域分割和五官定位,之后对待定区域运用拓扑学知识具体判读出鼻子、嘴巴等器官[5]。但由于该算法对图像的灰度因素要求过高而只能应用于背景单一且人脸区域灰度值在一定范围内的图片。
本文提出一种新的形状识别算法,它首先使用Canny边缘检测算法[6]得到细化了的图像边缘曲线。为了得到曲线的形状信息,我们对边缘线各点进行SVD 分解[7]估计出各点的切线方向,而邻近点切线方向的改变量对其之间欧式距离的比值又可近似认为是该点曲率大小。我们由此来判断曲线的形状信息,从而来对人脸五官提取和定位。提取出人脸轮廓线之后,我们使用加权PCA 的方法[8]对初始的人脸轮廓线进行平滑得到连续光滑的人脸轮廓线。由于是在二维空间内做SVD 分解,即使有较多的边缘点也并不影响算法的执行速度。实验证明,该算法有很好的实时性和定位精度,并且可以有效地识别出人脸五官的形状特征。
常用的边缘检测算子分为一阶梯度算子和二阶梯度算子,一阶梯度算子即是对图像求灰度的一阶导数,当梯度的方向和幅值超过某阈值时即将该点作为边缘点。基本的一阶梯度算子有Sobel[9],Prewitt[10],Roberts[11],Canny[5]等。图1(a)-(d)是对同一副图像用不同的一阶梯度算子进行边缘检测所得到的结果。二阶梯度算子即是将图像二阶导数的零点作为图像的边缘点。常用的二阶梯度算子有高斯拉普拉斯算子(LoG)[12],高斯差分算子(DoG)[13]等。图1(e)-(f)分别为对同一图像使用LoG 算子和DoG 算子进行边缘检测所得结果。比较图1中的各图可发现,二阶梯度算子虽然也可以得到很好的图像边缘,但是边缘图像中会出现许多的间断点,而且所得到的边缘曲线并没有经过细化,不适合使用SVD 分解计算其切方向。一阶梯度算子中canny边缘检测算子所得边缘曲线清晰,而且边缘曲线已经经过细化,最适合使用SVD 分解求得其各点切方向,进而判断其形状信息。所以,我们采用Canny算子来得到图像的边缘曲线。虽然边缘曲线也有许多地方出现间断,但是很容易通过加权PCA 算法[8]进行平滑和修复。
图1 各种边缘检测算子的检测结果
主成分分析[14]被广泛应用于模式识别问题,由于主成分分析要先找到特征向量,特征向量依次为样本在其上投影后协方差递减的向量,所以可以认为是样本投影距离最大的方向。在二维空间中,可以近似认为第一维特征向量即为边缘曲线上该点的切线向量。
设边缘曲线C 由任意n 个点组成,对其上任意一点pi,取其最近邻的k个点组成R2×k的点集 Pi=[pi1,pi2,pi3,…,pik],设Pi(I-k1eeT)=Ui*∑i*,e为k 维全1向量,其中Ui=[,]为R2×2的左奇异矩阵,为R2×2的奇异值对角矩阵。我们取作为pi的切向量,由于特征向量不区分向量的正负,因此经过SVD 分解后,我们只能得到边缘点的投影直线,所以在得到最终的投影向量之前必须确定的方向。我们规定)。其中,signpi1和pik为计算pi切向量的邻域Pi的首点和末点。这样我们便得到了曲线上各点的切向量。
这里,pi为pi的k 邻域内不包含pi的所有点。这样,我们便得到了边缘曲线上各点的近似曲率。
图2 背景中的曲线对人脸轮廓线的干扰
人脸五官有特定的形状,如图3 所示,本文先通过对每条曲线进行形状分析,找出所有的候选五官,再在此基础上对各候选五官进行人脸拓扑学分析,确定出人脸的五官。为了排除背景中杂线的干扰,我们首先利用各点奇异值之比来选取过度自然的曲线段。对于任意的曲线C={p1,p2…pn},我们计算出其上每点的奇异值之比λ={λ1,λ2…λn},然后再根据λ将其分解成若干条子线段Ci,i=1,2,3…。其中,Ci= [pi1,pi2,pi3…pik],对应的奇异值之比为λi=[λi1,λi2,λi3…λik],要求λi1,λik≥δ,δ一般取0.2~0.3之间。为方便起见,下文中所说的曲线都是指式中过度自然的曲线段Ci。
图3 人脸五官形状
下面,分别介绍图3中典型的五官的识别方法。边缘图片中很难出现某一完整的五官边缘曲线,图3中的眼球只有一半的曲线,鼻子也只能找出各自半边的曲线。所以,只需识别出五官边缘曲线的部分形状即可。
由于眼球灰度与周围灰度的对比度很大,所以很容易被边缘检测算子识别成边缘曲线。若曲线Ci中有连续κ个点[pi1,pi2…piκ]满足下式将被认为是眼球的候选曲线
典型的鼻子和嘴巴如图3(c)和图3(d)所示,曲线的凹凸会发生不止一次的变化所以在做识别之前我们必须把曲线按照凹凸变化分成不同的片段。设有相邻三点pi-1,pi和pi+1,对应切向量,,。若相对于的转动方向和相对于的转动方向相反,可认为曲线的凹凸性在pi点发生变化。设Ci=∪jcij,cij为具有相同凹凸性的连续点的集合。若曲线Ci有子凹线段或子凸线段满足下式且曲线Ci的凹凸至少变化一次,则将被认为是鼻子的候选曲线
式(4)是为了保证至少有一个凹线或凸线绕过的度数大过90°且小于180°。式(5)是为了保证曲线上各点曲率均匀变化,β取小于0.1的值。
在识别嘴巴时我们以同样的方法只识别上嘴唇的形状。若曲线Ci有子凹或凸线段满足下式且曲线Ci的凹凸至少变化两次,则将被认为是鼻子的候选曲线
式(6)是为了保证至少有一个子线段的平均曲率是其两侧子线段平均曲率的两倍以上,式(7)是为了保证各子线段上各点曲率均匀变化。在得到各五官的候选曲线之后,我们便可以根据人脸拓扑学知识确定出具体的五官。
定位出人脸五官之后,我们便可以确定人脸区域。为了得到完整的人脸轮廓线,我们分两次做边缘检测取出人脸区域内的轮廓线。如前所述,Canny算子阈值小时得到的边缘准确但是数目较少,阈值大时边缘不准确数目较多。所以我们首先取较大阈值,将人脸区域中的边缘曲线作为人脸轮廓曲线。之后,我们取较小阈值,在得到的边缘图像中选取与取较大阈值时确定的人脸轮廓曲线属于同一连通域的曲线作为人脸轮廓曲线,其它的边缘曲线作为干扰曲线舍去。
下面,我们首先用本文的方法来做五官识别。SVD 的时间复杂度为Ο (n *d2),n为向量个数,d 为向量维数。本算法是在二维空间上对所有边缘点做SVD 分解,所以时间复杂度为Ο( 4n ) ,满足实时性。
我们对一张400*300的正面人脸图片4(a)提取人脸轮廓线。实验中α=5,β=0.1,Canny算子阈值取0.15得到边缘图像4(b),对该边缘图像用本文算法做人脸五官识别并提取人脸轮廓线结果如图4(c)所示。从图中可以看出人脸轮廓线上有很多间断点,采用加权PCA 平滑后的图像如图4(d)所示。
接着,我们对同一张图片变换Canny边缘检测的阈值来做实验,其它参数仍和上面保持一致。人脸轮廓提取结果如图5所示。
图4 人脸五官轮廓线提取结果
图5 变换Canny检测的阈值后人脸轮廓线提取结果
图5中阈值依次从0.05变到0.25(阈值为0.15时的结果在图4中给出),从图中可以看出,人脸轮廓提取结果受Canny边缘检测算子阈值的影响很大。阈值小时,边缘图像中边缘曲线较多,干扰较大,人脸区域定位太广,因此识别出的人脸轮廓线增多。阈值大时,边缘图像中边缘曲线较少,虽然干扰曲线少了,但是供识别的人脸五官曲线同样减少了,人脸区域定位变小,识别出的人脸轮廓线减少。上述两种情况都无法准确提取出人脸轮廓线。通过实验,我们得出,较为准确的Canny 算子阈值区间为[0.15,0.2]。
本文提出了一种通过识别形状来提取人脸五官的算法,由于是在二维空间中做SVD 分解,所以效率较高。实验表明,本算法可以收到较好的效果。由于本算法的时间复杂度很低,可以在很多方面得到运用。我们在本算法得到的人脸轮廓线上标定AAM 的特征点[15],发现AAM 的迭代次数大大减少。此外,人脸轮廓线也同样可以运用在人脸卡通画制作和疲劳检测。下一步,我们将继续对本算法在这些方面的应用做进一步研究。
[1]GAO Dapeng,WANG Xin,LI Chaorong.Research on effect weights of five senses in face recognition [J].Computer Engineering,2012,38 (7):171-173 (in Chinese). [高大鹏,王欣,李朝荣.五官在人脸识别中的作用权值研究 [J].计算机工程,2012,38 (7):171-173.]
[2]Horie M,Kasnima M,Sato K,et al.Automatic endocardium contour tracing method using active contour models:Accuracy improvement of contour detection with mitral valvc processing[J].Journal of the Institute of Image Information and Television Engineers,2009,63 (11):1675-1679.
[3]Liu J M,Udupa J K.Oriented active shape models[J].IEEE Transactions on Medical Imaging,2009,28 (4):571-584.
[4]Kirschner M, Wesarg S.Active shape models unleashed[C]//Progress in Biomedical Optics and Imaging-Proceedings of SPIE,2011.
[5]Gang X,Xue Y.Facial features regions locating method[C]//International Conference on Signal Processing Systems.Beijing,China:IEEE,2010:676-679.
[6]Jing Y,An J,Wang Y X.A new region-based active contour edge detection algorithm for oil spills remote sensing image[J].Journal of Convergence Information Technology,2012,7(21):112-119.
[7]Martin C D,Porter M A.The extraordinary SVD [J].American Mathematical Monthly,2012,119 (10):838-851.
[8]Feng J Y,Huang Z S.Estimation on varying-coefficient partially linear model with different smoothing variables [J].Communications in Statistics-Theory and Methods,2012,41(3):516-529.
[9]Qu Y D,Cui C S,Chen S B,et al.Edge sharpening in grayscale images using modified sobel technique [C]//Proceedings of the 14th IEEE International Multitopic Conference,2011:132-136.
[10]Yang L,Wu X Y,Zhao D W.An improved prewitt algorithm for edge detection based on noised image[C]//Shanghai,China:Proceedings-4th International Congress on Image and Signal Processing,2011:1197-1200.
[11]Lopez M C,De Baets B,Bustince H.Quantitative error measures for edge detection [J].Pattern Recognition,2013,46 (4):1125-1139.
[12]Chiou Y C,Liang Y T.An effective corner detection method using subpixel edge detector and Gaussian filter [J].Sensor Review,2010,30 (1):51-61.
[13]Ma G Q.Edge detection of potential field data using improved local phase filter [J].Exploration Geophysics,2013,44(1):36-41.
[14]Gopi E S,Palanisamy P.Fast Computation of PCA bases of image subspace using its inner-product subspace[J].Applied Mathematics and Computation,2013,219 (12):6729-6732.
[15]Fan X J,Peng Q,Chen J X,et al.An improved AAM fast localization method for human facial features[J].Journal of Electronics and Information Technology,2009,31 (6):1354-1358.