张 剑,李 坤,王润明
(湖南科技大学 信息与电气工程学院,湖南 湘潭 411100)
人脸检测技术就是对所输入的图像进行检测,判断出图像是否存在人脸,如果存在,则返回人脸在图像中的确切位置和范围的技术[1]。人脸检测是人脸识别系统中的关键的第一步,这一步所获得的精度与速度直接影响整个系统的性能[2]。此外,人脸检测技术在人脸追踪、视频会议、基于内容的图像检索和人类情感研究系统中都有广泛的应用,而且具有重要的学术价值。人脸的自动检测具有一定的挑战性,主要有以下难点:(1)由于人脸是一类高度非刚性的目标,存在相貌、表情、肤色、姿态等差异;(2)人脸上很可能存在一些附属物,如眼镜、胡须、装饰品等;(3)人脸的姿态千变万化,并且可能存在遮挡物;(4)待检测的图像其性质的差异,如图像的分辨率、摄录器材的质量等;(5)光源的种类、强弱和角度的不同,其作用在人脸上所产生的性质不同的反射,造成不同区域的阴影。因此,人脸检测成为计算机视觉和模式识别领域内的一个研究热点[3]。目前比较常用的人脸检测方式可以概括为基于知识、基于结构特征、基于模板匹配及基于统计模型的方法[4]。本文将Walsh特征用于人脸检测是基于结构特征的一种方法。本文通过构造Walsh变换矩阵,得到相互正交且形状丰富的Walsh特征算子,在相同情况下将Walsh特征与传统的Haar特征用于快速人脸检测,通过对比其各自的特点得出Walsh特征用于人脸检测的优越性。
Haar特征是VIOLA等提出的一种简单矩形特征,因类似于Haar小波而得名[5]。Haar特征的定义是黑色矩形和白色矩形在图像子窗口中对应区域的灰度级总和之差,可见,它反映了图像局部的灰度变化。VIOLA等用到的Haar特征共有三类,图1显示了部分在图像子窗口起点位置处的Haar特征,其中第一、二行属于二矩形特征,第三行属于三矩形特征,第四行属于四矩形特征[6]。在实际使用时,必须将每一特征在图像子窗口中进行滑动计算,从而获得各个位置的多个Haar特征。如果选用的训练图像分辨率为24×24,每个图像得到用于训练的Haar特征超过18万个[7],但是实际上不一定需要,因为过多的特征会大大加大训练过程的时间和空间复杂度,实际上过细的特征中也会引起过多的冗余,所以在选择特征时可适当放粗一些。
在实际检测过程中,为了加快Haar特征的计算,VIOLA等提出了积分图像的定义,灰度图像F的积分图像 I定义为[8]:
图1 Haar部分特征算法
使用积分图像,只是使用少量的加减法运算就可以计算出Haar特征,如图2所示。
图2 使用积分图进行特征提取
图2(b)是积分图,要计算图2(a)中某个位置的某种特征,只需要采用积分图中的相应点的值进行加减法运算,图 2(b)特征数值 d=P4+P1-P2-P3-(P6+P3-P4-P5),这样可以大大节省计算时间[9]。
通过对上述Haar特征的用于人脸检测的理论深入研究可以发现,从理论上来说,Haar特征用于人脸检测,训练样本时间长,检测精度低,缺点明显。
离散Walsh变换(Discrete Walsh Transform)是数字信号处理方面经常采用的一种正交变换,并且该变换同离散傅里叶变换一样,可以很好地反映数字信号的频率变化情况,而且变换矩阵只是由1和-1组成,可以较大程度减少计算量[10]。Walsh特征构造方法如下:
(1)设 Walsh特征算子的高度、宽度分别为 m、n(必须是2的整数次方);
(2)分别构造 m×m、n×n 维的 Walsh 变换矩阵 Hm、Hn;
(3)得到Walsh特征算子:
其中,(Hk)t表示 Hk第 t行向量,Walsh变换矩阵 Hk=(hi,j)可以按照式(3)来构造:
其中,R(t+1,j)是拉德梅克函数,g(i)t是 i的格雷码的第t位数字。为了在检测过程能够使用积分图计算方法进行加速,一般选用左上角的中低频特征。实验采用如图3所示的黑线框以内的10个形态(黑白位置分布),其中有几种特征形态和Haar-Like特征相似或一样。
由于所有m×n维的Walsh特征算子都是相互正交,这意味着它对图像某个局部特征的提取不产生冗余,并且特征算子的形状比Haar特征算子的形状要丰富。另外,m、n都要求是2的整数次方,所以对一幅训练图像而言,它的全部Walsh特征数是有限的,即Walsh特征的数量小于Haar特征的数量。在实际的Haar特征提取过程中,很多特征都非常相近,冗余很大,采用Walsh特征来代替Haar特征可以大大降低特征之间的冗余。
图3 一组Walsh特征
为了证明使用较少的Walsh特征也具备很好的分类特性,这里采用了5 785个Walsh特征和14 091个Haar-Like进行了对比实验,分类器学习算法Real AdaBoost,每个弱分类器按照其对应特征的数值被划分为40个区间。实验在MIT-CBCL库上进行,其训练库包含2 429个分辨率为19×19的配准人脸样本,覆盖各种肤色、遮挡、姿态、光照等情况;也包含4 548个分辨率为19×19非人脸样本,部分样本如 4图所示,其中图4(a)是人脸样本,图4(b)是非人脸样本。使用MIT-CBCL训练库进行实验的原因是其中的人脸和非人脸图像具有一定的代表性,并且在实验中可以将训练库中的人脸和非人脸样本一分为二,使得训练样本和测试样本具有一定的相似性。另外,使用该库可以保证所有算法在同样的训练样本和测试样本下进行实验,以保证实验结果的可比性。
图4 MIT-CBCL库中的部分样本
在实验中,将所有样本分辨率放大到20×20并作标准化处理 (每个样本中的所有元素的均值为0,方差为1),实验中使用了3种样本选择模式得到训练样本集和测试样本集:偶数编号训练、奇数编号测试(s1);奇数编号训练,偶数编号测试 (s2);5次随机选择50%样本训练,剩余样本测试,将5次结果叠加取平均(s3)。实验环境为:Matlab7、P4 2.8 GHz CPU、1 GB 内存。在 MIT-CBCL库上的实验结果如表1所示。从表1可以看出,两种特征训练得到的弱分类器数目相似,但是使用Haar特征时训练花费的时间却大大高于Walsh特征,且每种样本模式下的测试精度也比Walsh特征稍低。可见使用Walsh特征不仅可以加速训练过程,而且检测性能并没有下降。
表1 MIT-CBCL库上的实验结果
以上的实验结果证明,Walsh特征不仅没有降低检测精度,而且加快了训练速度,说明Walsh特征用于人脸检测比Harr特征用于人脸检测更加优越。本文基本达到了预期的目标。
[1]苏景龙,林天威,王科俊,等.视频流下的人脸检测与跟踪[J].应用科技,2011(03):2-6.
[2]李伟生,张勤.基于局部线性嵌入和 Haar小波的人脸识别方法[J].计算机工程与应用,2011,47(4):181-184.
[3]梁路宏,艾海舟,何克忠.基于多模板匹配的单人脸检测[J].中国图象图形学报,1999,4(10):823-830.
[4]周激流,张晔,郭晶,等.基于先验模板的人脸面部特征提取的研究 [J].计算机辅助设计与图形学学报,2000,12(5):337-339.
[5]姜军,张桂林.一种基于知识的快速人脸检测方法[J].中国图象图形学报,2002,7(1):6-10.
[6]DAI Y,NAKANO Y.Face-texture model based on SGLD and its application in face detection in a color scene[J].Pattern Recognition, 1996,29(6):1007-1017.
[7]YOW K C, CIPOLLA R.Feature-basedhumanface detection [J].Image and Vision Computing,1997,15(9):713-735.
[8]JENG S H, LIAO H Y M, HAN C C.Facial feature detection using geometrical face model: an efficient approach[J].Pattern Recognition, 1998, 31(3): 273~282.
[9]KONDO T, YAN H.Automatic human Face Detection and Recognition undernon-uniform illumination [J].Pattern Recognition, 1999,32:1707-1718.
[10]HAN C C, LIAO H Y, YU G J, et al.Fast face detection via morphology-based pre-processing[J].Pattern Recognition, 2000,33(10):1701-1712.