人脸检测与定位

2024-06-17

人脸检测与定位(精选八篇)

人脸检测与定位 篇1

关键词:人脸检测与定位,BP算法,自举算法

人脸检测与定位是人脸信息处理的基础,影响着后续人脸识别的精度和速度,是人脸识别技术实用化所必须解决的一个重要课题。特别是近几年,由于人们对各种复杂背景下人脸自动识别系统的研究需要,人脸检测与定位得到了越来越多的关注,已成为计算机视觉与模式识别领域研究的热点,在银行与海关的监控系统、自动门卫系统、电视会议及人机交互系统、数字视频处理等诸多领域有着极其重要的实用价值。

人脸检测与定位就是从各种不同的场景中检测出人脸的存在,并确定人脸在图像中的位置、数目和大小。虽说人脸的五官分布大致相同,但不同的人脸部存在很大的个体差异,具有比较复杂而细致的模式变化。另外,由于图像在采集时人脸距离摄像机的距离、人脸所处的背景和光照的强弱等因素的影响,使得人脸检测与定位极富挑战性。

提出一种基于改进BP网络进行人脸检测与定位的方法,利用人脸与非人脸样本的灰度信息,采用变步长的学习速率[1]和加动量项的误差反向传播学习算法(ErrorBackPropagationAlgorithm———BP)[2],对已搭建好的神经网络进行训练,利用已训练好的神经网络滑动搜索图像的每一个窗口来进行人脸与背景的分类。此方法与基于模板匹配、支持矢量机和特征脸的方法相比较,突出的优点是具有很强可扩展性和泛化能力。

1建立训练样本库

检测系统的性能与训练样本库中样本的选取有非常紧密的联系,在对神经网络训练前,选择合适的训练样本非常关键。样本类型的选取直接左右着该检测系统的认知能力,样本的数量影响着系统的可推广性,通过增加训练样本的类型、数量可以提高人脸检测系统的性能。

1.1人脸样本库的建立

训练时使用的标准正面人脸图像来自CMU标准人脸图库及本实验室自己组建的人脸库,从训练用的人脸图像中手工分割出300个人脸区域,对这些分割区域进行光照补偿与几何变换,得到训练所用的25×20的标准人脸样本,从而建立起人脸样本库。

建立人脸样本库时应该注意以下几个问题。

由于同一个人不同表情和脸部特征的差异信息不是很大,建议库中同一个人的不同图像应以不超过五幅为宜,且应保证各样本间的线性相关性要降到最小。

另外,为使网络具有较优的推广与泛化能力,即增加或减少一小部分样本,并不能改变网络的学习效果,训练时训练集中样本的个数应当比网络中的网络参数的数目多,训练的次数要高于网络参数的个数。

图1为光照补偿与几何变换后得到的标准人脸样本。

1.2非人脸样本库的建立

收集一套典型的、有代表性的非人脸样本是很难的,因为非人脸样本空间要比人脸样本空间大得多,可以说任何图像都可以作为一个非人脸样本来处理。本系统采用积极的自举(bootstrap)算法[3]来组建非人脸样本库。

首先,随机选取100个非人脸样本,并将其预处理,用其训练一个对人脸产生输出1对非人脸产生输出0的神经网络,将第一次迭代后产生的权重作为网络的初值;其次,选取不包含人脸的背景图像进行检测,收集错误报警信息(输出值>0.5)构成初始的“非人脸”样本集,随机选取一部分(约50%)作为新的“非人脸”样本;最后,在已有的“非人脸”样本集中随机选取一部分(约80%),与上一步骤中新收集的样本共同构成新的“非人脸”样本集,重复进行训练和收集,直至收集到足够的“非人脸”样本用于训练。

由于测试图像集中非人脸出现的机会要比人脸出现的机会大得多,为了改善网络的性能,那么最后收集到的非人脸样本数与人脸样本数的比例应与它们在图像中出现的比率成正比。本系统非人脸样本库中收集的非人脸样本数超过1 500个。

2神经网络的设计与训练

在当前已知的各种人工神经网络模型中,BP网络是真正具有实用价值,且得到最为广泛应用的网络模型,主要应用于模式识别、函数逼近及逻辑功能运算等方面。在人脸检测与定位时,采用加动量项的改进BP网络神经。

2.1改进BP网络的设计

BP网络通常采用典型的三层网络结构,即由输入层、隐含层和输出层组成。因为大量的理论和实际应用证明:任一连续函数或映射均可用一个三层网络加以实现。改进BP网络的输入层对25×20图像窗口中按行展开的各个像素的灰度信息进行直接感知,输入层的节点数正是输入图像窗口内像素的个数500。输出层的节点数为1,输出范围为[0,1]。当输出值接近饱和状态时,定义为检测到人脸;而当输出值靠近截止值时,则定义为检测到背景。理想状态下输出值为1代表“人脸”、0代表“非人脸”。确定隐层的节点数目比较困难,在此采用文献[4]给出的经验公式(式(1))求出隐层的节点数为38。各层间的神经元进行单向连接,层内神经元彼此独立,每一个神经元以前一层神经元的输出作为输入,通过线性复合和每层的非线性映射——Log-sigmoid传输函数(式(2))产生输出给下一层的神经元。通过复合,体现不同神经元之间的耦合;通过映射,对输入信息作出反应。

隐层节点数目的计算公式

r=0.43pm+0.12m2+2.54p+0.77m+0.35+0.51 (1)

Log-sigmoid非线性函数的表达式为

f(n)=11+exp(-n/n0) (2)

式(1)中r为隐层节点数,t/π为输入层节点数,m为输出层节点数;公式(2)中n为每个神经元的净输入,为简单起见,非线性因子n0取为1。

2.2改进BP网络的训练

将人脸与非人脸样本图像展开成一个500×1的灰度矩阵,归一化后得到网络的输入模式。采用变步长的学习速率和加动量项的BP学习算法(式(3)和式(4))来离线训练改进的BP网络。

学习步长加大可以加快训练速度,但步长太大会使被调权值变化太快引起权值发散,导致网络训练跳出最佳值点,因此在网络渐进最佳值点时步长应该越来越小,在此采用步长可变的学习速率。首先设一合适的初始步长,保证误差有收敛的趋势。经过数次迭代后误差几乎不再变化或在某值附近振荡,此时应适当地增大步长;当误差渐进到可接受程度时,适当减小学习步长,使网络权值趋于最佳。

学习过程由信号的正向传播与误差的逆向传播两个过程组成,输入模式作用于网络的输入层经隐层处理后正传至输出层。若输出层未能得到期望的输出,则将输出误差逐层反传并“分摊”给各层,获得各层单元的参考误差,网络则依据此误差信号来修改各层的连接权值。对权值、偏置值进行多次校正一直到网络的输出误差减少到可接受的程度。

BP算法的动量改进公式

ΔW(k)m= βΔW(k-1)m-(1-β)ηSm(am-1)T(3)

Δb(k)m= βΔbm(k-1)-(1-β)ηSm (4)

式(3)和式(4)为第m层网络的权值和偏置值的更新公式,式中k为学习历程,W为神经元的更新权值,β为动量系数,η为变动的学习速率,S为神经元的敏感性,a为网络的实际输出矢量,b为偏置值。使用动量项后,算法可以在减小振荡维持稳定的前提下使用更高的学习速度,而且当权值和偏置值的运动轨迹进入某个一致的方向后可以加速收敛。

在学习过程中网络存在遗忘已学习过样本的趋势,可通过样本添加法来解决这个问题。另外,个别样本存在数据信息错误可能会导致网络难以收敛,因此在训练网络时,最好将这些奇异样本剔除掉以加快网络的收敛速度。

3检测算法

对图像进行人脸检测与定位的实质就是改进BP网络的分类过程。穷举搜索输入图像中所有可能尺度和位置的矩形区域, 对每一矩形区域进行人脸/背景分类。实验中网络检测到人脸的阈值取0.9,检测到非人脸的阈值为0.1,即当输出值接近饱和状态大于0.9时,定义为检测到人脸,并将人脸所在的区域框出来;而当输出值靠近截止值小于0.1时,则定义为非人脸。检测算法的流程图如图2所示,分离线训练和在线检测两部分。

系统采用1.2固定比率不断重采样以压缩输入图像的方法来解决多尺度人脸的检测问题。图3为多尺度搜索的检测结果。

逐个像素滑动在照片的全空间进行搜索是很费时的。为了节省时间,在尽可能短的时间内检测出人脸,采取跳跃式的滑动检测[5]。当本次窗口样本的输出值接近截止状态时,则滑动一个窗口幅度的距离再采样,随着输出值的增加滑动距离渐减,直至截止/饱和临界状态;而当本次窗口样本的输出值接近饱和状态时,则也滑动一个窗口幅度的距离再采样。随着输出值的减少滑动距离也渐减,直至截止/饱和临界状态。

4实验结果

使用了大量的正面大致端正的人脸图像对系统进行测试,其中包含CMU标准人脸库中无背景的单人脸头肩部图像及带有简单背景的多人脸图像。实验结果表明,系统的检测结果比较理想,检测率高达85%以上,但误检率、漏检率相当地高,究其原因主要在于对网络训练的程度没能很好地把握,导致训练过度——对学习样本的学习太过“精确”,网络不但记住了学习样本的一般特征,而且记住了学习样本中的个别特征(包括随机噪声),使得网络的容错性降低。即使检测样本与学习样本之间有很小的畸变,网络也会判为非;不过若训练不到位——对学习样本的学习不够充分 ,网络没有记全人脸的基本特征,那么当网络检测图像时就会由于漏检而降低系统性能;因此网络训练是否适度非常重要,它直接左右着人脸检测与定位的结果。而影响网络训练程度——精度和速度的原因有很多,学习速率、网络初值及隐层节点数等等都是网络训练的“瓶颈”,解决这个“瓶颈”问题,不仅取决于使用者对神经网络的掌握与应用程度,而且在一定程度上还在于经验积累。

5结束语

此系统可以有效地运用于多人脸、不同尺寸、表情姿态、复杂背景的情况,与传统的人脸检测与定位系统相比,具有较强的鲁棒性,允许被检测人脸带有眼镜等附属物,允许人脸有一定程度的遮挡。它的突出优势在于具有强扩展性和泛化能力,通过增加训练样本的类型、数量可以使人脸检测与定位系统能够被推广使用。但由于单纯应用神经网络一种方法来进行人脸检测与定位,错检率、漏检率比较高,可以考虑与其它方法融合或多个网络仲裁来提升系统的检测与定位性能。

参考文献

[1]张立明.人工神经网络的模型及其应用.上海:复旦大学出版社,1993:42

[2]戴葵,李伯民.神经网络设计.北京:机械工业出版社,2002,9:197—244

[3]Rowley H A,Baluja S,Kanade T.Human face detection in visual scenes.Advances in Neural Information Processing Systems,1996

[4]高大启.有教师的线性基本函数前向三层神经网络结构研究.计算机学报,1998;21(1):80—86.

人脸检测及识别技术综述 篇2

【关键词】人脸检测;人脸定位;特征提取;人脸识别

0.引言

在现实生活中,很多情况下都需要进行身份验证。人脸是人体最重要的外貌特征,由于脸部信息可以通过如摄像头等非接触的方式取得,所以非常适合作为身份鉴别的依据。与指纹识别、虹膜识别等诸多生物识别技术比较而言,人脸识别技术的独特之处还表现这种识别技术具有直接,友好,方便的特点,使用者无任何心理障碍,易于为用户所接受。该技术被广泛应用于国家安全、军事安全和公安、司法、民政、金融、民航、海关、边境、口岸、保险及其他民用安全控制系统等领域当中。此外,人脸识别技术的研究还涉及生理学、心理学、人工智能、模式识别、图像处理等多个学科领域,因此它具有重要的理论研究价值。

1.人脸检测

人脸检测问题起源于人脸识别技术。人脸检测从总体上可分为两大类:基于先验知识的人脸检测方法和基于后验学习和训练的人脸检测方法。

1.1基于先验知识的人脸检测方法

基于先验知识的人脸检测方法自上而下,依据人脸面部器官的对称性、灰度差异等先验知识,将人脸面部器官之间的关系编码并制定出一系列的准则。当待测图像中的某些区域符合该准则,该区域就被检测为人脸。

此类方法所使用的特征可以分为灰度特征、形状特征、结构特征、纹理特征和颜色特征。

1.1.1灰度特征

多个人脸图像的平均就是一个简单的人脸模板,同时,人脸的眉、眼、嘴、前额、鼻梁、下颌、脸颊等区域的灰度值较高,因而人脸具有特定的灰度分布特征。对人脸区域进行水平和垂直方向的灰度投影,根据极小值点位置即可得到眼、鼻、嘴等各自所处的区域。因此基于灰度特征建立人脸模板可以检测人脸。

1.1.2形状特征

从人脸子器官的形状和相互位置关系出发,提取人脸特征。人脸轮廓、眉毛轮廓、嘴唇轮廓、鼻侧线等可以近似视为椭圆、弧线、线段组合等简单的几何单元。与灰度特征相比,形状特征对光照变化具有一定的鲁棒性。Graf等首先利用带通滤波器选择出一段频率,然后根据形态学的知识设定一系列的阈值找出眼睛、嘴巴等区域,最后依照以上位置检测出人脸。Leung等提出任意图匹配的方法,其主要目的是用准则正确表达出面部特征的几何分布。

1.1.3结构特征

人脸具有对称性。正面人脸是左右对称的,对应的灰度特征和形状特征基本相同。眉毛、眼睛、鼻子和嘴巴等区域是按照一定比例关系组织在一起的。各个器官自上而下排列,两眼和嘴中心构成一个三角形。

1.1.4纹理特征

人脸图像具有一定的纹理特征。灰度共生矩阵或者Gabor小波等频域特征可以表征人脸图像的纹理特性。

1.2基于后验学习和训练的人脸检测法

这一方法实际上是将人脸检测问题转化为统计模式识别的二分类问题。通过对大量的“人脸”与“非人脸”样本进行训练,得到“人脸”与“非人脸”分类器,通过判别图像中所有可能区域属于哪类模式的方法实现人脸的检测。此类人脸检测方法主要有基于Adaboost级联分类器的方法,基于概率模型的方法,基于支持向量机的方法等。

2.人脸识别

2.1特征脸(Eigenface)方法

以主成分(Principal Component Analysis ,PCA)分析理论为基础的人脸识别方法称为特征脸方法。PCA是通过K-L变换展开的网络递推实现, K-L 变换是一种常用的特征提取方法,对消除模式特征之间的相关性、突出差异性有最显著的效果。特征脸识别方法就是把含有人脸图像的区域作为一种随机向量,继而用K-L变换得到其正交基底。这些基底中特征值较大的基底具与人脸的形状相似,所以称之为特征脸。而这些基底的线性组合可以表述和充分接近人脸的图像,就可以对人脸进行识别和合成。识别过程是首先得到由特征脸组成的子空间,将人脸图像映射到该子空间上,进而比较其与标准的人脸图像在特征脸空间中位置的差异。

2.2奇异值分解方法

奇异值特征是一种代数特征,它用于反映图像的本质属性。在某种程度上,奇异值特征除了具有比例不变性、旋转不变性等重要性质,在某种程度上还具有代数和几何的双重稳定性。利用这一特性,可以用奇异值分解对人脸图像矩阵提取出图像的代数特征后进行匹配识别。在奇异值分解的基础上利用奇异值分解方法可以产生多种人脸识别方法。例如基于图像集似然度的人脸识别方法,是用人脸图像集中每个人脸图像的奇异值向量构造出一个特征矩阵,再用待检测人脸的特征矩阵与已知的各类人脸图像的特征矩阵做似然度的对比,判断待检测人脸属于人脸图像集中的哪一类。

除了上述几种典型的方法之外,灰度模板、可变形模板、弹性属性图、频域特征表示法、光流形状模型、光照锥模型等也是较常用的人脸表示方法。

2.3弹性图匹配技术

弹性图匹配技术是对几何特征进行分析的基础上,结合对灰度分布信息进行小波纹理分析的识别算法。早期,Lades等人提出了针对畸变不变性物体的动态链接模型,用稀疏图形来描述物体,用局部能量谱的多尺度描述标记顶点,其拓扑连接关系用边来表示且标记为几何距离,然后应用塑性图形匹配技术来寻找最近的已知图形。随后,Wiscot等人对改技术进行了改进。由于该方法保留了人脸图像的空间信息,提取了描述人脸图像的局部特征,并在一定程度上允许人脸从三维投影到二维引起变形的情况,因此这种方法具有典型代表性。

2.4人工神经网络方法

在人脸识别技术的发展过程中,神经网络的应用研究从未停止。人工神经网络最早应用于人脸识别技术的是一种单层的自适应网络WISARD。后期多使用多层感知器(MLP)识别人脸图像,其方法是直接将原始的未经任何处理的人脸灰度图像送入MLP的输入层,却常常导致输入节点的数目过多。为了解决这个问题,研究者们将图像进行采样、分割或映射等处理后送到MLP中记性分类,大大提高了识别的精确度。除MLP外,研究人员还提出了许多不同的神经网络结构,取得了较为理想的识别效果。

3.总结与展望

本文结合人脸检测与识别技术的发展状况,对人脸检测技术和人脸识别技术分别进行了综述。由于各方面对身份验证这一人机交互技术需求的激增,作为身份验证中最重要技术的人脸检测与识别技术正日益受到重视。在世界范围内已经成为了研究的热点。人脸检测与识别技术牵涉面十分广泛,理论问题也非常多,目前出现形成一个专题的趋势。

人脸检测与定位 篇3

关键词:人脸检测,色彩均衡,肤色模型,特征定位

1引言

人脸检测是模式识别与计算机视觉领域的一项热点课题,它广泛用于人脸识别、智能人机接口、视频会议等。目前,比较常用的人脸检测方法,可以概括为基于知识、基于结构特征、基于模板匹配以及基于统计模型的方法[1,2]。

在彩色图像中,肤色对于人脸检测是一项非常有用的信息,有效地利用肤色信息可以大大减小人脸区域的搜索范围。然而,肤色等色彩信息经常受到光照环境、图像采集设备等因素的影响,出现色彩偏移,因此在肤色分割前,应首先对彩色图像进行色彩均衡预处理。本文考虑到光源颜色以及图像中高亮度区域对肤色检测的影响,提出一种简单、易行的色彩均衡算法。另外,考虑到人眼的视觉特性,采用HSI空间进行肤色分割是合适的,为使该模型对光照变化具有更强鲁棒性,文中结合归一化RGB空间,构建了一个两者结合的混合肤色模型。在肤色分割后,根据人脸几何特征信息快速定位出眼睛和嘴巴,并最终得到人脸区域。实验表明本文提出的人脸检测算法,在获得较好的检测率的同时,具有较快的检测速度。

2候选人脸区域的确定

2.1 色彩均衡预处理

受到光源颜色、图像采集设备的色彩偏差等因素的影响,彩色图像经常会发生色彩偏移,因此在肤色分割前,应对彩色图像进行色彩均衡预处理,以消除可能有的色光干扰。

在色彩均衡前应先判断图像是否有色光干扰,否则色彩均衡的结果可能会使得图像中人脸的颜色发生较大改变,这样反而影响肤色模型的检测效果。根据双色反射模型理论,由于物体表面存在镜面反射或界面反射,物体常产生高光,在图像中,高光部分常对应高亮度区域。物体表面的镜面反射主要反射了照射光源的实际颜色,而非物体表面的颜色。基于这些事实,本文设定色光干扰判定的具体步骤如下:

(1) 将整个图像中所有像素的亮度从高到低进行排列,取前5%的像素,如果这些像素数目足够多(如大于1 000),则计算这些像素R,G,B分量的各自平均值AR,AG,AB;

(2) 计算max(AR,AG,AB)/min(AR,AG,AB)的值,若该值较大偏离1,则判定图像有色光干扰。

在确认有色光干扰后,开始对图像进行色彩均衡。根据双色反射模型理论,图像的颜色由照射光源的光谱成分以及图像对入射光谱的反射系数来决定,因此当照射光源为色光时,彩色图像将出现整体上的色彩偏移。同时,彩色图像的高亮度区域主要反射光源实际颜色,因此色彩均衡的最终效果就是使高亮度区域的R,G,B三个分量的平均值趋于同一个灰度值。根据上述理论,本文对彩色图像实现色彩均衡的具体步骤如下:

(1) 计算高亮度区域的平均灰度值avgGray。avgGray由前5%像素R,G,B分量的平均值AR,AG,AB,得到:

avgGray=(AR+AG+AB)3(1)

(2) 对于图像的每一个像素P,调整其R,G,B分量值。 P(R),P(G),P(B)的计算公式分别为:

Ρ(R)=Ρ(R)*avgGray/AR(2)Ρ(G)=Ρ(G)*avgGray/AG(3)Ρ(B)=Ρ(B)*avgGray/AB(4)

(3) 归一化所有像素的各个分量的值,让它们都在[0,255]范围内。设PRmax,PGmax,PBmax分别为图像中所有像素R,G,B分量的最大值,令factor=max(PRmax,PGmax,PBmax),若factor>255,则将各分量调整为:

Ρ(R)=255*Ρ(R)/factor(5)Ρ(G)=255*Ρ(G)/factor(6)Ρ(B)=255*Ρ(B)/factor(7)

图1给出一个色彩均衡的实例,其中图1(a)是在偏黄光源下采集的,经后面阐述的肤色模型检测,得到的分割结果发现偏差很大;图1(b)是色彩均衡后肤色分割的效果,可看到各皮肤块基本检测出来,因此该平衡方案是有效的。

2.2 肤色分割

大量研究表明:尽管不同种族、不同年龄、不同性别的人,肤色看上去不同,但这种不同主要集中在亮度上,在去除亮度的颜色空间,不同人的肤色分布具有聚类性。因此肤色分割时,能否有效地将亮度分量和色度分量分离,是选取颜色空间的重要依据。本文采用HSI颜色空间,它不但符合上述要求,并且与人类的视觉感知相接近,色调值比较稳定,适用于彩色图像的分割。在进行HSI空间的肤色模型训练时,本文选取不同光照亮度、不同背景、不同年龄等因素的皮肤样本共50块,通过统计分析,获得HSI肤色模型的参数,同时为进一步降低光照变化对肤色分割的影响,本文参考归一化RGB空间肤色模型[3],构造出混合空间肤色模型:

0.003<H<0.174;0.040<S<0.352

0.333<r<0.664;0.246<g<0.398

实验表明这种混合空间肤色模型比单一空间的肤色模型对光照变化具有更强的鲁棒性,图2为肤色分割的效果图,实验证明在HSI空间与归一化RGB空间建立的混合肤色模型有效可行。

2.3 确定候选人脸区域

经颜色空间转换的二值化图像中不可避免地出现噪声,本文采用形态学算子去除分割后的噪声,并使得图像中的类肤色区域仍能保持连贯的轮廓。

为进一步排除形态学滤波后不含人脸的肤色区域,需要对滤波后的目标区域进行形状分析,将不可能的人脸区域过滤掉。具体操作如下:

(1) 对前阶段处理过的二值图像提取出轮廓及外接初始矩形;

(2) 外接初始矩形序列中的矩形会出现互相重叠现象,因此需对初始矩形序列进行归并处理。具体的归并规则为:当一个矩形完全包围另一个矩形时,抛弃内部的矩形;当两个矩形的边界接触或两个矩形出现重叠时,用这两个矩形公共的外接矩形来代替这两个矩形;

(3) 考虑到可能存在裸露的手臂或腿部等非人脸区域,需要用一些先验知识剔除明显不是人脸的区域。本文中,根据人脸的几何特征采用如下判定规则:如果候选区域面积太小,则删除该区域(人脸在图像中应占有一定的比例);通过外接矩形的长宽比,删除一些非人脸区域。考虑到脖子部分对人脸区域的影响,此处定义长宽比的范围为[0.6,2.8]。

通过上述处理,就可以从肤色分割的图像中得到一组候选人脸区域。图3(a)表示经形态学处理后的图像;(b)表示形状分析后的候选人脸区域。

3人脸特征定位

3.1 眼睛定位

候选人脸区域都包含一定数目的孔洞,对每个候选人脸区上半区域进行搜索,将获得的孔洞两两匹配构成所有可能的眼睛对。然后根据人脸的器官分布特征对候选眼睛对进行判定,其判定规则如下:

(1) 根据双眼的间距在人脸图像宽度中占一定比例,要求孔洞之间的连线Dlr大于外接矩形宽度的1/6;

(2) 孔洞连线与水平轴的交角θlr也应在一定的角度范围内,要求θlr<15°。

(3) 为了排除眉眼对,规定若在同一候选人脸区域中,有合乎(1),(2)判定的多个配对,则选择θlr最小的两组配对。

(4) 根据眉毛在眼睛上方的先验知识,在判定(3)的基础上,选择下方的一组配对,以排除眉毛对。

3.2 嘴唇定位

得到眼睛对后,可进一步定位嘴唇。如图4所示,C,D分别为AE,BF的中点,设AB=d,则AE=1.4 d,若A,B为眼睛对,则嘴在CDEF内存在。通过搜索CDEF中是否存在孔洞来判定嘴的位置。

3.3 脸部定位

根据双眼位置,按“三庭五眼”规则输出人脸区域。

4实验结果及分析

实验选用了不同来源的彩色图像共50幅,每幅图像中有一个或多个人脸,人脸姿态除了正面端正的以外,还有倾斜和一定旋转角度的人脸。图5给出部分图像的人脸检测结果。

在实验中,部分图像出现漏检,分析原因主要是因为一些图像的质量较差,使得在肤色分割后没能在双眼区域形成相应的孔洞,于是真正的人脸没有成为候选人脸,从而导致漏检。对于这个问题可以通过图像增强,改善双眼区域的对比度的方法来解决。实验中,图像误检率较低,因为候选人脸区域和人脸相似而又不是人脸的情况,其发生的概率很小本文的算法由于采用色彩均衡预处理,同时采用HSI空间与归一化RGB空间相混合的肤色模型,实现对光照变化具有较强鲁棒性的肤色分割。并且,由于该算法中人脸特征定位简单有效,因此获得了较快的检测速度。

参考文献

[1]梁路宏,艾海舟.人脸检测研究综述[J].计算机学报,2002,25(5):449 458.

[2]Yang Minghsuan,David J Kriegman,Narendra Ahuje.DetectionFaces in Images:A Survey[J].IEEE Transactions on Pattern A-nalysis and Machine Intelligence,2002,24(1):34 58.

[3]张宏林,蔡锐.数字图像模式识别技术及工程实践[M].北京:人民邮电出版社,2003.

[4]丁海波,薛质,李生红.基于HSI空间的肤色检测方法[J].计算机应用,2004(29):210 211.

人脸检测与定位 篇4

随着交通事业的迅猛发展,交通安全已成为全球范围内普遍关注的问题。由于司机的作息时间、工作环境单调等因素导致司机感觉乏力、注意力不集中,不能很好地完成工作,再继续驾驶车辆就构成了疲劳驾驶。此时司机往往意识不到,形成了很大的安全隐患[1]。因此,社会和研究人员越来越关注监督司机的工作状态。

人的疲劳程度和人眼具有很大的相关性,本文结合司机驾驶时的特点和规律,利用模式识别和图像处理分析司机的脸部特征,判断眼睛的状态,并且利用PERCLOS原理判断驾驶员的状态,从而判断驾驶员的疲劳程度,及时给出预警信息防止交通事故发生。

1人脸图像的提取

1.1色彩坐标系的转换

颜色通常由三个相互独立的属性来描述,这三个属性就构成一个色彩坐标系。RGB彩色模型是基于颜色空间的色彩坐标系,是最基本的色彩系统。YCbCr彩色模型是基于色度和亮度分离的色彩坐标系[2]。YCbCr空间与RGB空间的转换关系是:

{Y=0.299R+0.578G+0.114BCb=(-0.1687R-0.3313G+0.500B)+128Cr=(0.500R-0.4187G-0.0813B)+128

(1)

式(1)中Y表示亮度,CbCr表示色度信息。

每个人的皮肤是不同的,他们在色度和亮度上的差异也是不同的,色度上的差异较小,因此我们可以找到基于肤色色度信息的人脸模型。不同的人脸皮肤的色度信息CbCr组成的向量x=(Cb,Cr)T,基本符合二维高斯分布[3]。因此,本文选用YCbCr空间作为肤色建模的色彩坐标系,建立一个基于肤色的高斯分布数学模型,对驾驶员人脸进行检测和定位。

1.2图像预处理

为了消除外部噪声的干扰,校正图像光照强度,需要对CCD获取的图像(RGB图像)进行预处理。首先将图像灰度化,即把含有亮度和色度的彩色图像转换成灰度图像的过程;然后对灰度图进行图像增强;最后采用中值滤波对增强后的图像进行滤波处理。

图像增强是将图像中感兴趣的特征有选择的突出,衰减其不需要的特征,有利于灰度图像的识别和边缘检测[4]。图1分别为原始图像、灰度图和图像增强的灰度图。

图2分别为灰度图的直方图和图像增强的灰度图的直方图,图像增强后的脸部边缘检测效果更加明显,如图3所示。

中值滤波是一种非线性平滑滤波,能有效的去除图像中的噪声点。具体算法是:将以目标像素为中心的一个矩形窗口在图像中漫游,然后对窗口内的灰度值排序,最后将中间值赋给目标像素。滤波后如图4所示。

1.3肤色分割

肤色具有聚类性,利用彩色图像聚类法在YCrCb空间内分割人脸图像,并对分割后的结果做二值化处理。

二值化就是用选取的阈值K将图像的像素分为两部分:大于K的像素集和小于K的像素集,并将这两部分的像素点的灰度值分别设为0和255,目的是将对图像中感兴趣的部分保留下来[5]。二值化的核心步骤是阈值的选取,本文采用最大类间方差阈值分割法。其算法如下:

设图像的灰度值为1到M,灰度值为i的像素数是ni,则总像素数为:

Ν=i=1Μni(2)

然后将像素灰度值x分为两个集合:

{L={x|1<x<Ρ}Η={x|Ρ<x<Μ}(3)

式(3)中,P为预设的阈值。

此时,L的均值为:

εL=i=1ΡiniΝL(4)

H的均值为:

εΗ=i=Ρ+1ΜiniΝΗ=1-εL(5)

式(5)中,NLNH分别为集合LH的像素数。

图像的整体灰度均值为:

ε=i=1ΜiniΝ(6)

定义LH两个集合间的方差为:

σ2(x)=(ε0-ε)2+(ε1-ε)2 (7)

找出1到Mσ2(x)最大的像素灰度值K,即K是阈值。

最后进行二值化处理,计算公式为:

Ι(x,y)={255,Ι(x,y)Κ0,Ι(x,y)<Κ(8)

皮肤区域灰度值设为255(白色),非皮肤区域的灰度值设为0(黑色),从而达到提取肤色的目的。实验结果如图5(a)所示。

在图像肤色提取和二值化后,对图像进行数学形态学的填充、腐蚀和膨胀运算处理,从而提取到面部肤色图像的轮廓。实验结果图5(b)所示。图5(c)为最后提取的肤色图像。

2人眼检测

2.1人眼位置检测

在人脸图像提取后,缩小了眼睛的检测范围,通过多次试验,取二值化阈值K为0.4。肤色二值化图像如图6(a)所示。然后对二值化图像进行数学形态学的开启和闭合运算。分别对眼睛状态先腐蚀,再膨胀,最后进行闭合运算,基本去掉了嘴巴和眉毛的部分,方便检测出眼睛。实验结果如图6(b)所示。

2.2眼睛状态判断

在形态学处理后图像中得到的人眼状态图像如图7(a)所示,对其求反,并将非人眼部分的灰度值设为0,如图7(b)所示。眼睛的状态可以由计算图7(b)中的白色像素值所得。当眼睛全部睁开时,眼睛面积最大,对应图7(b)中的白色像素,设为Max,这个值对于不同的驾驶员选取不同。当眼睛完全闭合时面积最小,为0。

2.3疲劳状态判断

PERCLOS(percentage of eyelid closure over the pupil time)指眼睛闭合时间占总检测时间的比例。其中80%测量方法是指:眼睑遮住瞳孔的面积超过80%就认为眼睛闭合,统计一定时间内眼睛闭合时所占的时间比例。

眼睛睁开度(p)为当前所测眼睛像素(NNOW)与全部睁开时的像素(NMAX)的比值:

p=ΝΝΟWΝΜAX×100%(9)

规定p>20%,眼睛为睁开状态,否则为闭合。图8为PERCLOS的原理图。

眼睛闭合时间比为:

k=t3-t2t4-t1(10)

式(10)中t1、t2、t3、t4如图所示。

时间跟CCD摄入的图像序列是相互对应的,所以可以采用帧的数量计算眼睛闭合的时间占总时间的比例:

ΡERCΟLS=ΝCloseΝSum×100%(11)

式(11)中,NSum为单位时间内的有效帧数,NClose为单位时间内眼睛闭合帧数。

系统记录眼睛闭合时间,计算PERCLOS值,当PERCLOS值大于40%,或者眼睛持续闭合时间大于3 s时,就认为驾驶员处于瞌睡状态,属于疲劳驾驶,给出警告信息,采取相应措施。

3结论

本文提出了一种可靠的人脸检测和眼睛定位的方法。采用了肤色分割法进行人脸检测和定位,在此基础上快速准确的定位出眼睛区域,并根据PERCLOS原理有效地判断驾驶员是否疲劳。通过实验可知,该方法简单、有效、耗时少,满足非接触式检测,不会影响驾驶。

参考文献

[1]万玉丽,谢金法.基于PERCLOS的驾驶员疲劳检测方法.西部交通科技,2009:(4):62—66

[2]曾飞,蔡灿辉.自适应肤色检测算法的研究.微型机与应用,2011;30(4):37—40

[3]喻阳,桂预风.基于肤色信息和投影法的人脸偏转检测.电子测量技术,2010;33(6):54—78

[4]胡越,郭延齐,程文华.基于Matlab的人眼疲劳度检测法.信息技术,2009;(8):64—67

人脸检测与定位 篇5

人脸检测 (facedetection) 问题最初来源于人脸识别 (facerecognition) , 是自动识别系统中的关键环节。它的任务是在复杂背景下检测图像中是否有人脸, 从而判断人是否存在, 并且提取出人脸面部的图像信息。在很多领域都需要自动提取人脸特征, 例如人脸识别, 人脸合成和基于对象的编码等。因此人脸能够在图像中精确快速的被检测出来, 对人脸识别, 人脸合成等应用具有重要意义。人脸检测是一项十分困难的工作, 原因主要有几个方面[1]: (1) 复杂的图像背景; (2) 人脸结构和纹理变化大; (3) 图像光照不均匀影响了人脸特征的规律性等。

本文针对一般彩色图像中的人脸的检测问题, 提出了基于肤色的区域分割与基于人脸形状结构特征的的人脸检测综合起来的算法。首先利用CbCr颜色信息分割出可能包含人脸的区域, 然后在各区域中计算其长宽比, 可疑人脸面积与框出人脸的方框面积比, 可疑人脸面积是否大于一定阈值等人脸的结构特征, 从而更精确的搜索并确定人脸。该算法以大量样本的统计为依据, 具有较强的鲁棒性。在实验测试中, 该算法对一般的人脸图片具有较好的分割效果。

1建立肤色模型

1.1图像预处理及颜色提取

肤色模型是根据大量样本的统计所建立的。所以需要采集大量的人脸图像资源来计算它的统计特征。样本资源的格式和尺度大小, 人物, 光照背景等都不相同, 因此就将样本图片统一规定为jpg格式, 尺度为300×300的正常室内光照人脸彩色图像。

常用的肤色样本选取方法[2]是选取眼睛以下, 嘴唇以上的矩形区域作为肤色统计区域, 或者直接将整个人脸手工框出作为肤色统计区域。由于人脸中还有眼睛, 牙齿, 阴影等非肤色区域, 所以本文采用手工框出眼睛以下嘴唇以上的区域作为肤色区域。如图1, 图2所示。选取50幅图像采集颜色构成RGB颜色空间。

1.2颜色空间转换

在计算机视觉中, 经常采用的彩色空间主要有RGB, HSV, HSI, YCbCr, YIQ, YUV等。其中YCbCr作为肤色分布统计特性的映射空间, 由于亮度和色度相互分离, 且在色度空间上两个向量CbCr相互独立, 能够较好地反映肤色的聚类特性。使用YCbCr作为肤色空间, 具有如下特点[3]: (1) 在该空间下, 由于亮度Y和色度CbCr相互分离, 在纯粹的由CbCr构成的色度空间下不受亮度信息的影响, 从而有效地将亮度分离出来; (2) 由于YCbCr可以直接通过线性变换从RGB空间而得到, 相对而言具有较高的计算效率; (3) YCbCr在当前的视频图像传输和压缩领域应用非常广泛, 可以很好地将分割算法扩展到基于视频的人脸检测。肤色样本数据在该空间下的统计分布特性如图3、图4所示。从图中可以发现, 肤色样本绝大多数分布在一个很窄的范围之内, 体现了肤色数据在该空间下的聚类特性, 为建立简单模型提供了依据。本文采用YCbCr肤色模型进行数学建模, 这样就可以轻松的避免了不同光照亮度对人脸颜色所造成的影响。同时, 按照以下公式将RGB颜色空间其转换到YCbCr颜色空间中, 计算简单快速。

1.3建立肤色高斯模型

肤色采样统计和颜色空间的转换的目的是为了更好的体现出人脸肤色的特征。尽管已经得到了肤色在YCbCr空间中的大致分布, 但是由于所采集的颜色样本都是离散点, 如果直接通过像素CbCr值来判断是否为肤色像素并不很现实。因此, 需要一个能代表肤色的模型, 这样, 当输入样本点的像素值, 输出为判断改点像素是否为肤色像素的结果。目前最常见的肤色模型有高斯模型, 几何模型, 神经网络模型和椭圆模型。本文采用了高斯肤色模型。高斯模型并不是一般的二值肤色像素定位, 而是通过计算像素点的概率值来构成连续数据信息并得到一个肤色概率图, 根据数值大小来确定肤色, 这是几何模型无法达到的[4]。同时由于神经网络模型在提取肤色样本之外, 还需要提取非肤色样本, 而高斯模型也避免了这一步骤。因此, 高斯模型适用于采用肤色信息进行人脸检测。

以高斯模型作为肤色模型的理论基础是肤色分布必须近似于高斯分布。下图对比可以看出两者的分布是相似的。

假设肤色分布用高斯模型N (m, C) 表示, 其中m是均值, C是协方差矩阵[5]。

m=E{x}, x= (r, b) T (4)

C=E{ (x-m) (x-m) T} (5)

可以计算得到m值和C值。如下所示:

m=[114.376 3 150.137 4];

C=[99.759 6 -68.639 7 -68.639 7 84.498 3]。

于是从输入的一幅RGB图像中的任意一个像素点, 将其从RGB空间转换到YCbCr空间中得到 (Cb, Cr) 值, 再通过公式 (6) 计算, 都可以得到一个接近肤色的概率值。

x= (cr, cb) T;

P (cr, cb) =exp[-0.5 (x-m) TC-1 (x-m) ] (6)

2区域分割

2.1肤色似然图的确立

对于一幅图像, 在高斯CbCr肤色模型的基础上, 可以计算得出肤色相似度P (Cb, Cr) , 再将其乘以255, 以灰度表征这个点属于皮肤的概率, 从而可以得到肤色似然图。在肤色似然图中, 灰度值越大就表示其可能为人脸的概率越大 (即越亮的区域就表明越接近肤色) 。如图7—图10所示。图中的肤色区域, 包括人脸、脖子、耳朵等区域的灰度都与其他区域有明显的不同, 能够较好的区分出来。

2.2二值化与形态学处理

FT (x, y) 在得到图像的肤色似然图后, 需要对肤色似然图进行二值化[6]处理。二值化处理过程可具体表述为:设原图像为F (x, y) , 阈值为T, 则经过阈值运算后, F (x, y) 转换为二值图像, 即:

FΤ={1, F (x, y) Τ0, otherwise

(7)

从复杂背景中分辨出目标并将之提取出来, 阈值的确定至关重要。如果阈值选取过高, 则过多的目标点将被误归为背景, 如果阈值选取过低, 则会出现相反的情形。目前国内外学者针对阈值这一课题提出了各种各样的阈值处理技术[7], 其中包括全局阈值, 自适应阈值, 最佳阈值。其中, 全局阈值分割对图像背景要求很高, 而自适应阈值分割的检测速度不够快。本文采用最佳阈值的分割方法对肤色似然图进行二值化处理。最佳阈值选定的思路是:由于相似度的直方图成M型, 存在双峰。其中一个是肤色集中区域, 另一个则是非肤色集中区域, 取得双峰之间谷底的拐点便是最佳阈值。这个点代表了肤色区域减少而非肤色区域大量增加。具体步骤为:首先设定阈值为0.55, 每次以0.1的间隔减少直到0.15。记录下每次阈值变化时属于肤色像素量的变化量, 然后找出属于肤色像素数量变化最小时的那个阈值作为最佳阈值。将相似度图像带入公式 (7) 计算可得二值图像。其中白色区域为肤色区域, 黑色区域为非肤色区域。如图11、图12所示:

但是, 在二值化后的图像中依旧存在一些并非人脸的区域 (包括一些小白点, 小线条等) , 需要采取形态学开闭运算处理, 从而消除掉或者合并一些小区域。处理效果如图13、图14所示。

3人脸检测

3.1连通区域的确立

在二值化和形态学处理后, 在图中选择4连通区域确认为可以人脸区域。如图15, 图16所示。

3.2人脸特征定位

在待定人脸中, 根据人脸的特征进行再筛选本文所采取的人脸特征主要有: (1) 人脸的长宽比, 范围在0.4至2.0之间; (2) 人脸和所选框面积之比, 范围在0.6至0.9之间; (3) 人脸的面积必须大于400, 若小于这个值, 肉眼也几乎难以辨认。根据上述三个特征进行在筛选, 从而确认真正的人脸区域。并将之分割出来。图17、图18为检测结果。

4结论

本文针彩色人物图像中的正面人脸的检测问题, 提出了一种人脸的检测方法。该方法综合利用了基于彩色信息的图像分割, 人脸结构特征筛选等技术来检测人脸。该算法使用按统计方法建立的YCbCr空间的肤色模型检测肤色区域, 建立了一个针对白色人种, 黑色人种和黄色人种的人脸肤色模型, 来进行分割, 结合人脸结构特征的人脸检测方法。实验结果表明, 该方法能够有效的检测出一般图像中的人脸, 适应一定的光照环境, 具有较快的检测速度。

参考文献

[1]高全学, 潘泉, 程咏梅, 等.基于肤色和独立成分的人脸检测.计算机应用研究, 2004;21 (12) :160—163

[2]张洪明, 赵德斌, 高文.基于肤色模型、神经网络和人脸结构模型的平面旋转人脸检测.计算机学报, 2002;25 (11) :1250—1256

[3]艾海舟, 梁路宏, 徐光, 等.基于肤色和模板的人脸检测.软件学报, 2001;12 (12) :1784—1792

[4]武秀, 张家树.基于肤色分割和统计学的彩色人脸检测实现.成都:西南交通大学研究生学位论文, 2005

[5]张明吉, 高文.自适应人体肤色检测中的若干关键技术研究.北京:中国科学院研究生院硕士学位论文, 2005

[6]梁路宏, 艾海舟, 肖习攀, 等.基于模板匹配与支持矢量机的人脸检测.计算机学报, 2002;25 (1) :22—29

人脸检测与识别综述 篇6

随着安全入口控制和金融贸易方面应用需要的快速增长,生物统计识别技术得到了新的重视。而人脸识别是所有的生物识别方法中应用最广泛的技术之一,近几年来在模式识别领域得到成功的应用,最为明显的是出现了专门的关于人脸识别的会议,比如AFGR(Aut omat i c Face Gest ur e Recogni t i on)等和标准的人脸库如ORL人脸库、AR人脸库、FERET人脸库、YALE人脸库等,同时由于人脸识别牵涉到模式识别、图象处理及生理、心理学等方面的诸多知识,难度较大,但是它与视网膜识别(无法确保对人体的安全性)及指纹识别(涉及个人隐私)等人体生物特征进行身份验证相比,具有直观,友好等特点。如今人脸识别系统在大多数领域中起到举足轻重的作用,尤其是在机关单位的安全和考勤、网络安全、银行、海关边检、物业管理、军队安全、智能身份证、智能门禁、司机驾照验证、计算机登录系统中。

1 人脸检测与识别系统构成和关键技术介绍

人脸识别过程可分为人脸检测(判断输入图像中是否存在人脸)、人脸特征提取(检测每个人脸的主要器官位置和形状)和人脸识别(将人脸特征提取结果与库中人脸对比)三个阶段。

1.1 人脸检测

人脸检测是指对于任意一幅给定图像,采用一定策略对其进行搜索,以确定其中是否含有人脸,如果有则返回人脸的数目、位置、尺度、位姿等信息的参数化描述。通常的人脸检测过程为:把人脸区域和非人脸区域看成两类不同的模式,使用大量的“人脸”与“非人脸”样本训练,构造分类器,通过判别图像中所有可能区域属于哪类模式的方法实现人脸的检测。

人脸检测目前常用的方法有:(1)基于几何特征的方法,是最早、最传统的方法,通常需要和其他算法结合才能有比较好的效果;(2)基于模板匹配的方法,首先构造平均人脸,然后用这个平均人脸当做模板进行模板匹配,主要有直接灰度模板匹配的方法、特征脸(Ei gen Face)方法,这种方法的优点是快速,但其缺点是不稳定,在复杂情况下容易产生很多误检;(3)基于学习的方法,通过收集大量的人脸样本、非人脸样本进行学习,非人脸样本的收集可以通过自举(Boots r ap)的方法进行。主要有人工神经网(ANN)、支持向量机(SVM)方法和AdaBoos t等。

2.2 特征提取

特征提取是人脸识别中的核心步骤,直接影响识别精度。通常对描述人脸的特征有两方面要求:一是提取的特征应具有很好的人脸表征能力、较强的鉴别力和区分度;二是提取的特征要处于低维空间,这样可去除特征间的相关性且有利于分类器的设计。目前提取特征的方法归纳起来分为两大类:基于整体特征的提取方法和基于局部特征的提取方法。这两类方法均在人脸识别研究领域取得了一定的成功,但也各有其优缺点。前者不仅保留了人脸部件间的拓扑关系,而且也保留了各局部特征本身的信息,已成为特征提取方法的主流,而对于较为复杂的环境,后者要好于前者。近年来的趋势是将人脸的整体特征和局部特征结合起来进行人脸识别。

1.3 人脸识别

人脸识别是在检测的基础上进一步确定人脸所属的身份。静止图像的人脸识别方法主要有三个研究方向:一是基于统计的识别方法,包括特征脸(Ei gen f ace)方法和隐马尔科夫模型(Hi dden Mar kov Model)方法;二是基于连接机制的识别方法,包括一般的神经网络方法和弹性图匹配(El ast i c Gr aph Mat chi ng)方法;三是其他一些综合方法或处理二维灰度图像的方法。基于几何特征的人脸识别方法,常采用的几何特征有人脸的五官如眼睛、鼻子、嘴巴等局部形状特征,脸型特征以及五官在脸上分布的几何特征。模板匹配法是一种经典的模式识别方法。特征脸(Ei gen f ace)方法是从主成分分析(Pr i nci pal Component Anal ysi s,PCA)导出的一种人脸识别和描述技术。弹性图匹配方法是一种基于动态链接结构(Dynami cLi nk Ar chi t ect ur e,DLA)的方法。弹性图匹配方法对光照、位移、旋转及尺度变化都不敏感,是一种优于特征脸方法的人脸识别方法。此方法的主要缺点是对每个存储的人脸需要计算其模型图,计算量、存储量都大。神经网络方法在人脸识别上比其他类型的方法有其独到得优势,它避免了复杂的特征提取工作,可以通过学习过程获得其他方法难以实现的关于人脸识别的规律和规则的隐性表达。

目前人脸识别研究的对象基本上都是针对二维灰度图像,除此之外,还有深度人脸图像识别和红外人脸图像识别方法。深度图像包含了人脸的深度信息,红外人脸图像(也叫温谱图)对每个人来说都是唯一的,所以可以利用温谱图识别人脸。另外在黑暗中也能捕捉红外光,因此用红外人脸图像在黑暗中也能进行识别。

2 结束语

近二十年来,研究者在人脸检测与识别技术方面取得了许多成绩,但是要设计并实现一个健壮的人脸检测识别系统,还有许多问题待于解决,年龄变化、表情变化、光照变化、不同采集设备等都会给人脸检测与识别系统带来很大的影响。人脸识别是人类视觉的独特过程,因此人脸识别必须结合生理学和心理学的研究成果。最后,人脸识别的复杂性使得仅仅单独使用任何一种现有的方法都不可能取得很好的识别效果。将各种方法有效综合是以后研究的必然趋势,如何与基于其它生物特征的鉴别系统结合以提高识别效率也是一个有意义的研究方向。相信随着计算机技术和生物识别技术的发展,以及人脸的检测与识别技术的不断完善,在不远的将来,一套准确而高效的人脸检测与识别系统就会呈现在我们的面前。

参考文献

[1]魏冬冬,谌海新.人脸特征提取与识别技术研究[J].计算机与现代化,2007,(3).

[2]张蕾.人脸识别的算法研究及系统实现[D].兰州:兰州大学,2005.

人脸检测与定位 篇7

根据大量资料显示,对于人脸检测技术的研究最初来源于人脸识别技术,而人脸识别技术的研究可以追溯到20 世纪60 ~ 70 年代[1]。在过去,对人脸检测技术的研究只是人脸识别技术的一小部分,其主要目的是能够在图像中找出所有可能的人脸具体位置,将其和单一背景区分开,从而能够提取出人脸图像[2]。由于其主要研究的是人脸识别技术,所以对图像中人脸所处的背景要求很高,一般是单一背景或者无背景,所以对人脸检测技术的要求较低,这就导致当时的人脸检测技术无法精确检测出处于复杂背景下的人脸图像。目前国内外针对复杂背景下人脸检测的算法的研究有很多方向,比如基于肤色特征的方法[3]、基于器官分布特征的方法[4]、基于对称性特征的方法、基于人工神经网络的方法、基于模板匹配的方法[5]。进入20 世纪90 年代后期以后,许多基于商业性的人脸识别系统开始慢慢进入市场,人脸识别技术的发展也日趋成熟,从而对人脸检测技术的要求也越来越高。人脸检测技术已成为一个备受关注的课题,单一背景下的人脸检测技术已经不能满足现代人的需求,因此人脸检测技术都是基于复杂背景的研究。

1 系统设计

由于肤色是人脸的一项非常重要的特征信息,且其不依赖于具体的人脸面部器官、表情变化等影响,在彩色图像中具有较高的稳定性[6],故本系统采用的人脸检测算法是基于肤色模型的人脸检测算法。本系统通过利用肤色在色彩空间中的聚类特性,设计了一个对肤色进行建模从而进行图像分割得到人脸区域的人脸检测算法[7]。如果想得到效果好的基于肤色的人脸检测算法,就需要非常合理谨慎地选取合适的颜色空间,在该空间中对肤色进行建模,并对肤色进行提取,最后对由肤色建模提取出的人脸区域进行筛选并标记。

1.1 色彩空间的选取

对于一个针对彩色图像进行人脸检测的算法来说,对色彩空间的选择是非常重要的,这是由于复杂背景中的光照条件不稳定,要想将人脸区域与复杂背景分割开来,就需要建立非常可靠的肤色模型,也就是说,人脸检测算法中的肤色模型的建立与其色彩空间的选择是密切相关的[8]。一般来说,对人脸检测算法的彩色空间的选择标准是:

① 肤色能够在选择的颜色空间中有非常好的聚类特性; ② 在该颜色空间建立的肤色模型能够很好地将肤色区域与非肤色区域区分开来。

在RGB图像中,其每个像素点都是由R、G、B三个分量以不同比例混合而成,所以无论R、G、B三个分量中的哪一个分量发生了变化,其最终结果都会导致该像素点发生不同程度的颜色改变。同一背景在晴朗天气条件下拍摄的图像色彩鲜艳,而在阴雨天气条件下就会色彩平淡,这样就会使相同背景的同一像素点处RGB分量值大不相同,也就是说基于RGB模型下的图像受光照的影响非常大。如果采用RGB色彩空间对肤色进行建模,就会导致由于同一肤色在不同光照条件下而使得检测的结果有所差别,如果光照条件十分恶劣,甚至会无法检测出人脸区域,这样只会使得基于此空间下的人脸检测变得愈发得复杂,所以RGB色彩空间不是十分理想的选择。为了能够利用皮肤颜色在颜色空间中的聚类特性,其选择的颜色空间就必须要能够将颜色信息与亮度信息区分开来,这就需要对RGB图像进行颜色空间上的转换,将其转换到能够使肤色具有很好聚类特性的色彩空间里。目前主流的颜色空间中,HSV颜色空间与YCb Cr颜色空间都是不错的选择。

HSV颜色空间不仅能够将一幅图像中的颜色信息与亮度信息区分开来,并且该颜色空间的颜色信息都能够独立表示。代表颜色信息的是单独的H分量,代表亮度信息的是单独的V分量。由此可看出,HSV色彩空间中的颜色信息和亮度信息是完全独立分开的,所以其相对于RGB色彩空间来说,光照变化对HSV色彩空间的影响较小。由于H分量只表示一幅图像中的颜色信息,所以若只选择H分量作为该人脸皮肤颜色统计的参数,将可以减小光照变化对整个系统检测效果的影响。在YCb Cr色彩空间中,Cb分量和Cr分量分别代表蓝色和红色分量,有能够将亮度和色度很好地分离的优点。除此之外,肤色在该颜色空间中能够聚集在一个非常小的空间里,具有非常好的聚类特征。总的来说,YCb Cr色彩空间不仅可以很好地表达出肤色特征,还可以消除由于不同光照条件所带来的亮度影响,其在很大程度上减少了在色彩空间中计算的复杂度。

综上所述,HSV色彩空间与YCb Cr色彩空间都是基于肤色的人脸检测系统非常合适的色彩空间,都是非常不错的选择。但为了整个系统更加严谨,最后的人脸检测效果能够更好,本系统设计决定采用两种色彩空间混合的方式对人脸肤色特征进行提取并分割出人脸肤色区域。

1.2 肤色模型的建立

地球的人类种族有黑、白、黄色三类,人脸的肤色不同,每个种族的人脸皮肤颜色分别在一个狭窄的频带内,这就使得建立模型时需要区别对待。中国人属于黄色人种,所以本文主要研究的是黄色人种的人脸检测。由于黄种人皮肤颜色分布范围只集中在某一小区域内,导致其在HSV颜色空间的H分量的取值上也集中在很小的一段范围内,在YCb Cr色彩空间中的Cb和Cr两个分量中也集中在一定的范围内。

建立肤色模型其实就是在颜色空间中建立了能够精准描述肤色分布规律的数学模型,本设计采用了基于HSV色彩模型和YCb Cr色彩模型的人脸皮肤彩色模型,通过对人脸肤色建模,从而将符合人脸的肤色区域标记下来,通过使用该肤色模型对输入计算机的图像进行人脸检测[9]。建立该模型,首先要将在RGB色彩空间下的图像转换为HSV色彩空间和YCb Cr色彩空间下的图像,然后对人脸肤色进行色相统计,得到黄皮肤在颜色空间中分布的区域范围,从而通过对属于该范围内的肤色区域与非肤色区域分别标记白色和黑色来区分,得到二值图像。

1.3 肤色的提取

对肤色进行提取之前,首先要将原处于RGB色彩空间下的图像转换到HSV色彩空间和YCb Cr色彩空间下,然后对H分量以及Cb Cr分量进行提取,最后通过添加限制条件来得到的二值图像只有黑与白两种颜色。人脸肤色在H分量以及Cb Cr分量内都有一定的取值范围,即可通过给定肤色模型的阈值进行判断,即对图像中的每一个像素点扫描,判断它是否在H分量和Cb Cr分量的取值范围之内,最终提取面部皮肤,得到属于脸部区域的像素点,并区分人脸和非人脸区域。

在对肤色进行提取的过程中,特别需要注意的是人脸肤色在H分量以及Cb Cr分量上取值范围的上下界限值。该值对人脸检测最终的检测结果影响较大,所以在处理该值时需要特别严谨,确保能够保证整个系统良好的性能,具有较高的检测率。大量实践表明,发现在YCb Cr色彩空间的统计分布的黄种人的皮肤满足145≤Cb≤180,145≤Cr≤165,在HSV色彩空间的统计分布满足0. 01 ≤H ≤0. 15,本系统设计也将采用经过大量科学实践的上下界限值来对肤色进行提取,最终获得人脸区域被成功划分出来的二值图像。

1.4 对人脸区域进行筛选并标记

提取皮肤颜色最后得到的二值图像只提供了与肤色相近的区域,例如颈部、手臂的肤色区域以及其他类似物体等等,这就导致最后得到的区域包含了很多非人脸区域。这就需要对这些区域做进一步的处理以便去除这些干扰因素造成的假脸。

对图像进行形态学处理是去除这些干扰的第一步,其处理手段主要有对图像进行开运算、闭运算、腐蚀、膨胀以及填洞等操作。其中腐蚀和膨胀互为逆运算,腐蚀可以消除无意义的小物体,减少区域,而膨胀则是用来填补对象中的缝隙,能够扩大区域。先腐蚀后膨胀的运算过程称为开运算,开运算的主要作用是将十分狭小的物体消除、平滑较大区域边界使其轮廓变得更加光滑。与其相反,先膨胀后腐蚀的运算过程称为闭运算,其主要作用是能够填充图像中的细小空洞、连接相邻近的物体以及平滑区域边界。利用这些方法可以滤除类肤色物体以及由噪声等原因引入的非人脸区域,减少候选区域的判断,从而可以提高系统的检测效率[10]。

经过形态学方法对图像进行处理之后,图像中大部分细小噪声已被清除,但是很有可能还有一些无法利用形态学方法进行清除的较小或较大的非人脸区域仍留存在图像中,这就需要对图像进行进一步的处理和筛选。人脸的长宽比是在一定范围之内的,可以利用这个特性进一步排除非人脸区域。首先对已经用形态学方法处理后的二值图像进行顺序扫描,标记出图像中各种形状的连通区域。然后计算每个连通区域的长轴和短轴,得出每个区域的外接矩形,计算出每个外接矩形的长宽之比,将不满足人脸长宽比的区域进行舍弃,保留满足条件的区域,并用矩形框在图像中将其标出,标出的区域就是整个系统最终得到的人脸区域。

2 系统实现

本系统的最终目的是能够在复杂背景中检测出人脸,有着较高的检测率,保证该系统的高效性和准确性。实现人脸检测系统的核心在于检测算法的设计与实现,本系统主要使用的算法是基于面部肤色的检测算法,主要步骤有获取检测图像、肤色建模、图像的形态学运算、获得各个人脸区域并进行筛选和标记人脸,下面对其中重要的几个步骤进行说明。

2.1 肤色建模

获得待检测图像后,将其从RGB色彩空间分别转换到HSV色彩空间以及YCb Cr色彩空间,再将H分量和Cb Cr分量提取出来。因为每个人的肤色有一些细微的差别,所以其在H分量和Cb Cr分量中有着一定的取值范围,所以可以通过对图片进行扫描并对每个像素点是否在肤色所在的H分量和Cb Cr分量取值范围之内进行判断,符合该取值范围内的像素点即为皮肤区域,最后通过给皮肤区域以及非皮肤区域分别赋予不同的值,得到二值图像,从而完成肤色建模这一过程,原图和二值图像如图1所示。

H分量可以通过将RGB色彩空间的图像I由RGB2HSV( I) 函数将其转换到HSV色彩空间后直接提取。Cb Cr分量则需要利用以下2 个公式得到:

得到H分量和Cb Cr分量后对图像上的每个像素点进行色相统计,计算出黄皮肤所在的颜色区域,其所在H分量和Cb Cr分量的范围上文已给出,只需将属于该范围的皮肤区域赋值1,标记为白色,将不属于该范围的非皮肤区域赋值0,标记为黑色,就可以得到上图所示的二值图像。

2.2 图像的形态学运算

从上面给出的二值图像可以看出,除了3 张人脸皮肤区域被正确标出之外,还有很多细小非人脸区域也被标出,这里就需要对该二值图像做进一步的形态学处理,本系统主要采用的形态学方法是对图像进行开运算,去除较小的连通区域。由于人脸是3D立体的,其轮廓在二维图像中有时会比正面的脸部皮肤暗一些,为了不使最后标记人脸时丢掉人脸最外围的轮廓,本系统在对皮肤区域进行开运算之后,还使用了imdilate函数对图像进行了扩张,即膨胀作用,使人脸周围的区域连通,对图像进行开运算以及膨胀后的效果图如图2 所示。

从上述效果图可以看出,细小噪声已完全被滤除,形态学方法可以很好地去掉假区域,保留人脸区域,该方法对整个人脸检测系统的完成起到了非常重要的作用。此图像中类肤色物较少,此时已可以对其进行人脸标记,其检测结果图如图3 所示。

但如果该图像中存在类肤色物体,如肩膀、手等,其面积稍大,无法用开运算滤除,就会给最后的检测效果带来极大的误差,这些类肤色物体会被误当成人脸而被检测出,其误检测图如图4 所示。

该图像除了脸被正常检测出来之外,手臂也被误当做人脸检测出来,所以可以看出一个好的人脸检测系统只单单利用肤色特征和形态学方法是不够的,其检测准确性并不高,所以还需要对人脸区域进行进一步地筛选,以便能够更加准确地得到图片中的人脸。

2.3 筛选人脸区域

人脸除了肤色特征这一个非常稳定的特征之外,其脸部长宽比和面积大小也相对较稳定,本系统通过对已得到的肤色区域进行长宽比以及面积大小的比对进行对肤色区域的进一步筛选,最终得到一个良好的检测效果,原来被误当做人脸检测出来的手臂已经成功被滤除,只有人脸被正确地检测出来,可见人脸长宽比及面积大小特征对人脸检测系统是非常重要的人脸特征。根据大量实践,人脸的长宽比大概在0.4 ~ 1.8 之间,本系统也是采用了这一数值,最后的检测结果也证明了该数据具有一定的科学依据。

本系统首先是使用了bwlabel函数得到一个与该图片大小相同的矩阵L,在该矩阵L中,包含了该图片中得到的每个连通区域的类别标签,它们的值为1、2、3、n( 连通区域的个数) ,并且选用的是八连通寻找区域。然后使用了regionprops来计算矩阵L中每一个代表肤色区域的最小矩形的坐标,其返还值是一个长度为max ( L ( : ) ) 的结构数组,再用struct2cell函数把结构体数组转换为元胞数组,最后用cell2mat函数将由多个矩阵构成的元胞数组转换成一个矩阵,该矩阵里包含了代表每一个肤色区域的连通区域,只需要判断各个连通区域的长宽比及面积是否符合人脸长宽比及面积特征,即可筛选出人脸区域,得到最终的检测结果。

3 结束语

本文对复杂背景下的人脸检测算法进行了充分的研究,并以人脸检测算法为核心技术,设计了人脸检测系统,针对肤色的聚类特性,采用了基于肤色的人脸检测算法,实现了对二维图像的人脸检测。系统基本实现了人脸检测系统基本应具备的功能,到达了预想的效果,具有很好的鲁棒性,检测效果良好。除此之外,本系统采用了HSV色彩空间和YCb Cr色彩空间来进行肤色建模,解决了因光照变化带来的影响,使人脸检测不再受光照影响,为整个系统减少了不小的挑战与难度。仅仅基于肤色会使最后的系统检测人脸率不是特别理想,所以本文中还提到了利用人脸长宽比及面部大小特征来进一步的筛选出人脸区域,大大提高了最后人脸检测系统的检测效率。但本系统还是不能达到百分百的检测率,人脸检测技术是非常复杂的一门技术,其未来的发展趋势应该仍旧是综合多种分类方法以及统计学习方法相结合的,人脸检测技术永远都需要研究者长期而又耐心地进行大量实验去探究。

参考文献

[1]刘宝宝.复杂背景下的人脸检测研究[D].合肥:安徽工业大学,2011:8-9.

[2]LV Shao-dong,SONG Yong-duan,XU Mei,et al.Face Detection under Complex Background and Illumination[J].Journal of Electronic Science and Technology,2015(1):78-82.

[3]王利娟.基于肤色信息的快速人脸检测算法研究[D].成都:四川大学,2004:11-12.

[4]郭耸.人脸检测若干关键技术研究[D].哈尔滨:哈尔滨工程大学,2011:16-17.

[5]马艳.基于颜色与模板匹配的人脸检测方法[D].大连:大连理工大学,2006:23-24.

[6]吴要领.基于YCr Cb色彩空间的人脸检测算法的设计与实现[D].成都:电子科技大学,2013:20-21.

[7]李伟.基于肤色分割的人脸检测算法研究[D].成都:电子科技大学,2006:27-28.

[8]Pouya G,Zahra N,Hassan A.Labeling Algorithm for Face Detection Using Skin and Hair Characteristics[J].Journal of Electronic Science and Technology,2012(2):135-141.

[9]邓加琼.复杂背景下的彩色人脸检测算法与实现[D].成都:电子科技大学,2005:25-26.

人脸检测与定位 篇8

人脸检测(Face Detection)是指在输入静止图像或视频序列中通过一定策略确定所有人脸(如果存在)的位置、大小和姿态的过程。人脸检测属于计算机视觉领域中人脸分析的研究范畴。近年来,人脸检测作为人脸信息处理中的一项关键技术,在身份识别、基于内容的检索、自动监控和人机交互等方面有着日益广泛的应用成为模式识别和机器视觉的一个重要研究方向。

随着集成电路和嵌入式技术的发展,尤其是数字信号处理器(Digital Signal Processor DSP)问世以来,使得基于嵌入式系统中人脸检测具有了硬件基础。DSP以其特有的稳定性、可重复性、超强的数据处理能力,特别是可编程性和易于实现自适应处理等特点,给图像实时处理领域带来了巨大的发展。在一些强实时环境下,采用DSP专用芯片处理任务具有不可比拟的优越性。

结合人脸检测与DSP各自的特点,本文以TI公司面向多媒体应用的DM642芯片为硬件核心,设计了基于DSP的人脸检测系统。在当今人脸检测算法多是基于PC实现的现状下,对算法实现在嵌入式平台上作一点探索。

2 Adaboost人脸检测算法

A d a b o o s t人脸检测算法是一种将级联分类器、Haar-like特征和积分图思想有机结合的算法。它首先通过样本训练选出最优的弱分类器,然后把大量弱分类器分别赋予一定权值,构成一个分类能力较强的强分类器,再将若干个强分类器按照由松到严的规则串联起来用来作为检测人脸的层级级联分类器。在检测过程中,首先利用预先设定的Haar-like特征进行特征提取,并应用积分图方法快速计算特征值;然后用训练好的级联分类器对这些特征值进行甄选;最终,根据甄选结果判断被检测图像中是否含有人脸。

简言之,Adaboost人脸检测算法包括两大部分:分类器训练过程和人脸检测过程。具体的原理如图1所示。

2.1 基本特征及分类器训练

在Adaboost人脸检测算法中,所用到的特征就是Haar-like特征。P.Viola等提出的基本的Haar-like特征[1](如图2所示)。对于特征值计算,P.Viola引入了积分图方法。这种方法可以快速计算出人脸检测过程中要用到的特征值。这里的特征值是指灰度图像上两个或多个形状大小相同的矩形内部白色区域所有像素之和减去黑色区域所有像素之和的差值。

接下来对于分类器的训练就是从大量的Haar-like特征中挑选出最优的描述人脸图像灰度分布的特征,它们就是作为弱分类器使用的,再将弱分类器赋以不同的权值形成强分类器,从而达到辨别人脸的目的。

2.2 人脸检测过程

基于Adaboost算法的人脸检测过程(如图1右半部)如下:(1)加载图片和层级级联分类器的纯数据;(2)将待检测图像转化为灰度图像,即把原来YUV格式的每点像素值用8位灰度值表示;(3)计算灰度图像的积分图;(4)用一定规格(本文为20x20)的窗口从(0,0)开始遍历当前的图片;(5)对该规格化的窗口内的图像进行特征提取,对于每个特征计算它的特征值和相似度并与阈值比较,以决定当前窗口是否包含人脸,若窗口通过了该级强分类器的检测,则进行下一级强分类器的检测,如果通过所有强分类器的检测,那么当前窗口就是包含人脸的窗口;(6)在获得所有包含人脸的窗口后,需要进行“合并”操作,就是去掉重复的、误检的人脸,以便得到最终的结果。

3 系统的硬件结构

3.1 TMS320DM642简介[2]

DM642是TI公司C6000系列的一款高性能DSP,基于C64x内核,扩展的高级甚长指令字(VelociTI)体系结构,具有64个32位通用寄存器,8个独立计算功能单元可以并行,因此多条指令可同时执行。DM642主频为600MHz,每个指令周期可并行运行8条32位指令,因此可达到4800MIPS的峰值计算速度。DM642采用两级缓存结构,L1P,L1D,L2。DM642具有64个独立通道的EDMA控制器,负责片内L2与其他外设之间的数据传输。

它带有三个可配置的视频端口,提供与视频输入、视频输出以及码流输入的无缝接口。这些视频端口支持许多格式的视频输入/输出,包括BT.656、HDTV Y/C、RGB等格式。DM642的其它外设包括:10Mbps/1 0 0 M b p s的以太网口(E M A C)、多通道音频串口(McASP)、外部存储器接口(EMIF)、主机接口(HPI)、多通道缓冲串口(McBSP)以及PCI接口等。

3.2 基于TMS320DM642的系统硬件结构

本系统硬件是以TMS320DM642芯片为核心,辅以其他外设芯片。具体的系统硬件结构框图如图3所示。

S-Video In和Composite In是整个电路的输入接口,实现图像的采集功能。Video Decoder选用的是Philips公司的SAA7115芯片,它是一款常用的A/D转换器,用于把输入视频模拟信号转换为视频数字信号;Video Encoder用的是Philips公司的SAA7105芯片,它是一款常用的D/A转换器,用于把视频数字信号转换为可以在监视器上回放的视频模拟信号。ENET是板卡网络接口,用于连接TCP/IP协议的以太网,与PC机进行通信。Composite Out是连接监视器的输出接口,用于在监视器上回放摄像机拍摄的视频信号。为满足数据存储的要求,通过E M I F扩展3 2 M B字节S D R A M(M T 4 8 L C 4 M 3 2 B 2);系统还外扩了非易失存储器(AM29LV640M)来保存程序及DSP的初始化数据。

4 人脸检测算法在DSP上的优化

由于嵌入式系统多是面向实际应用的,而具体应用中又对人脸检测系统的实时性要求很高。因此,为了让研究成果更具实际应用价值,需要对算法做平台级的优化。下面具体的介绍一下算法在DSP平台上的优化过程及方法。

人脸检测算法在DSP的优化主要可分为三个阶段:

第一阶段:评估C代码的耗时及效率。人脸检测算法移植到DM642上以后,检测CIF(352x288)图像速度为240ms(4帧/秒)。这个速度离实时检测速度(25帧/秒)相差甚远。因此,需要对算法进一步的优化。

第二阶段:利用优化选项、内联函数及应用DMA传输等方法优化C代码并用剖析工具检查其性能。这阶段的优化使代码效率大为提高,但仍不能达到所期望的效率,则进入第三阶段。

第三阶段:从C代码中抽出对性能影响大的代码段,用线性汇编重新写这段代码,然后利用汇编优化器优化该代码,直到代码满足要求为止。

4.1 浮点数定点化

AdaBoost算法中几乎全部为浮点运算,而DM642只支持定点运算,对于浮点的运算相当耗时。因此,需要将浮点数转为定点数进行处理。在定点化过程中,首先对定点运算的精度进行分析,然后在精度允许的范围内直接对数据位进行操作,提取指数和尾数,并对尾数执行移位操作。具体的办法是将float浮点数转换为n(n≤24)位精度整数[3]。实验证明这种转换方式对检测率没有明显的影响,但在检测速度上带来了很大的提升。

4.2 算法参数优化

根据算法在DSP的实际运行结果,调整算法关键参数F a c t o r、D e t e c t S c a l e、M i n_F a c e W i d t h及Min_FaceHeight等。进过大量的测试对比,最终确定个参数分别为1.2、2.0、20和20时检测速度和精度为相对的最佳状态。这里的调整主要是对特征提取起到优化作用,检测速度有一定提高。

4.3 优化选项及内联函数[4]

充分应用编译器优化选项并利用编译器反馈的信息进行优化。在编译C语言程序时,选用-k选项使得编译器在产生的.asm文件里向程序员反馈许多信息,充分利用这些信息,按照它的提示修改就能尽快的优化代码。

4.4 循环和跳转的优化

AdaBoost算法中,候选窗口遍历和层级分类器结构都利用到循环体;而对于特征值的甄选和判断又用到了大量的跳转。这些循环和跳转占用了DSP大量的运算时间。对于循环体的优化,主要方法是展开循环,利用编译器进行软件流水,从而达到让DSP内部8个功能单元尽量并行。对于跳转指令优化,主要是尽量减少程序的分支,尽可能的用其他简单指令来代替跳转。

4.5 数据存取与传输策略

DM642的寄存器为32bit,而视频图像中象素用8bit表示,算法中大量的基本运算都是基于8bit进行的。而对存储器访问又是算法费时的原因之一。优化方法就是使用1条Load/Store指令能访问多个数据。当程序需要对连续地址的8bit数据进行操作时,可一次访问4个8bit数据,这样可以节约数据存取时间。

与此同时,算法中数据传输任务占据了大量的时间。这就给EDMA的应用提供了空间。EDMA负责完成片内L2存储器与片外存储器之间的数据传输,利用EDMA和CPU并行工作来达到更好的性能。尽管如此,还是要尽量减少不必要的数据传输。把频繁用到的数据段放在片内数据存储器中,把不常用到的程序和数据段放在片外存储器中,以避免对程序或数据进行不必要的反复搬移。

4.6 线性汇编优化[5]

线性汇编是C6000系列DSP所特有的类汇编工具。只需按照C代码的自然顺序,写出线性汇编语句,同时不必考虑功能单元的分配,以及指令的并行性。从而,它比编写纯汇编语句耗时要少,又具有较高的执行效率。

为了进一步提高代码性能,经过评估找出最影响检测速度的为特征提取及特征值计算模块。对这部分用线性汇编重新编写(其他小模块略)。优化后检测速度明显提高,基本达到预期目标。线性汇编优化前后特征值模块及算法整体耗时的结果对比如表1所示。

5 实验结果及性能分析

优化后,系统检测CIF图像的速度为27ms(36帧/秒)。通过大量测试验证系统各项检测指标均很理想:检测率为99%,误检率为0.8%,漏检率为0.2%。并且,系统对多视角人脸检测(如图4)以及多人脸检测(如图5)结果均很好。至此,此人脸检测系统取得较为满意的效果。

6 结束语

本文基于TMS320DM642平台实现了AdaBoost人脸检测算法;并且结合各自的优点,在保证检测精度的前提下,对系统进行优化,取得了36帧/秒的实时检测速度。实验证明,此系统各项检测指标均达到实际应用的要求。而且,系统对多视角以及多人脸检测效果都很理想。这就为下一阶段的人脸识别、智能监控以及高级人机交互等具体应用奠定了基础。

参考文献

[1]P.VIOLA,M.JONES.Rapid Object Detection using a Boosted Cascade of Simple Features in Pro-ceedings IEEE confon[c].on Computer Vision and PatternRec-ognition,Kauai,Hawaii,USA,2001,Vol.1:511-518.

[2]Texas Instruments.TMS320DM642 Technical Overview[EB/OL].http://www.ti.com,SPRU615,2002-09.

[3]孙炜等.基于DSP平台的多视角人脸检测系统设计[J].信息技术,2008(9):75-76.

[4]Texas Instruments.TMS320C6000 Optimizing CCompiler Tutorial[Z].2006-05.

上一篇:氯碱项目下一篇:知识管理下的组织创新