西华师范大学电子信息工程学院 葛小凤
驾驶环境下的人脸定位算法研究
西华师范大学电子信息工程学院葛小凤
针对驾驶室背景、光照和多姿态条件下难以准确定位人脸问题,本文提出基于YCbCr和HSV色彩空间相结合的肤色检测来实现人脸定位。利用拍摄视频图片进行实验,结果表明该方法在驾驶环境下有较好的检测效果。
人脸定位;肤色检测;驾驶环境
随着社会的快速发展,汽车已成为日常生活中的必不可少的交通工具,随之而来的驾驶安全问题日益严峻。因此,如何采取及时有效的疲劳预警成为当前亟待解决的问题。
国内外许多专家学者投入到了疲劳预警系统的研究中,其中PERCLOS系统监测是最具研究意义的,它根据眼睛在单位时间的总闭合时间占整个检测时间来判断疲劳状态[1]。而能否准确有效的检测驾驶员状态的前提是精确的人脸定位。
在对现有流行的人脸检测方法进行分析比较的基础上,提出了一种适合驾驶环境下实时、准确的基于肤色空间的人脸定位算法。
为得到最佳的实验效果,首先进行预处理。
1.1尺寸归一化
由于采集到的视频图像内存过大,不便系统的后续处理,所以指定将原图像尺寸归一化,输出为64*64大小的图片。
本文采用双线性插值进行缩放,它是对最近邻法的改进。根据(x,y)4个相邻点的灰度,在x和y方向进行插值,得到双曲抛物面方程[2]:
由此双曲抛物面与四个相邻已知点进行拟合运算。
图1 双线性插值示意图
双线性插值考虑了(x,y)点的直接零点对它的影响,所以能取得令人满意的效果[2]。
1.2直方图均衡化光照处理
在驾驶过程中,光照的改变是影响人脸定位的主要原因之一。因此,通过修改直方图可以调整图像的灰度分布,消除光照影响。
对于离散图像,设总像素为N,灰度级L个,第k个灰度级值为rk,具有灰度级rk的像素数目为nk,那么,该图像中灰度级rk的像素出现的概率[3]:
对图像进行均衡化处理的变换函数为:
对YCbCr和HSV色彩空间进行肤色统计,建立高斯模型和肤色范围模型,检测皮肤。此方法可以有效避免背景的影响。
2.1高斯模型
研究表明,人类肤色变化主要是由皮肤颜色亮度引起,而人脸肤色在YCbCr色度空间服从高斯分布,所以YCbCr 颜色空间是离散的肤色表示空间,具有较好的聚类性[4]。
一般,我们都是将图像信息储存在RGB颜色空间中,RGB转换成YCbCr 颜色空间的公式为:
将图片从RGB转换到YCrCb空间,根据像素点离高斯分布中心的远近得到肤色似然图,越靠近肤色灰度值越高。每个像素的灰度对应该点与肤色的相似度,计算公式:
其中m为均值,C为协方差矩阵。
由于人工阈值选取有很大的人为性,并不准确,所以本文采取最大类间方差法进行图像二值化处理,此方法可以自动选取最有效的阈值将背景和目标分离开。设一幅图像的灰度值为1~M级,K为阈值,将像素分为两组两组间的方差如式:
2.2肤色范围模型
肤色范围模型是最基本的肤色模型,主要是利用肤色在色彩空间中表示色彩的变量的范围固定这一特点设定阈值,将满足该阈值条件的像素区域标定为肤色区域[5]。
通过对需要实验的多幅不同光照的彩色人脸图像进行统计,得到能广泛包括肤色的YCrCb和HSV颜色空间范围:
那么将满足这个范围的像素置1,其他置0,就能得到皮肤区域的二值图像。
考虑驾驶室环境,所以本文采用高斯模型和肤色模型相结合,得到更准确的皮肤分割二值图像。白色代表人脸候选区,黑色为背景。
2.3 形态滤波
根据前面对肤色的聚类分析,我们知道肤色区域是连续的整块,而背景通常是孤立小块。对于上面进行皮肤检测得到的图像,存在一些孤立的小区域或是假皮肤区。
对其利用数学形态学中的开运算进行处理。开运算的定义为:
A为二值图像,B为设置的结构元素,实质是A先被B腐蚀,再被B膨胀的结果。利用开运算能很好去除这些孤立小区域,同时还可去除背景噪声,如椒盐噪声。但是仍然残留一小部分,需再次进行区域填充,消除图像中残留的“空洞”。
经过形态滤波后的二值图像进行8连通区域标记(连接关系如图所示)。标记前的二值图像,标记之后每个白像素的值是所属区域的标号(1,2,…L),L是二值图像中白像素区域的数目[6]。再对这L个白像素区矩形框圈定,根据区域优化方法准确定位人脸区域。
图2 像素的八连接关系
根据大量实验统计,我们认为,只要该人脸候选区的高宽比在0.6到1.8之间,就认为该区域可能为人脸,否则去除该区域。通过基于人脸高宽比条件的排查,可以将除人脸外的其他肤色区域去除,如脖子,手臂和手等裸露在外面的身体部位。或者是去除与皮肤相似的区域,为最后的精确定位提供保证。
(2)基于面积占有率
一般情况下,当候选区的面积小于整幅图片面积的0.1%时,判定它是背景噪声。根据统计,对于驾驶室环境下的图像,面部所占比例为整幅图像5%以上。所以,候选区面积小于整幅图片面积的5%时,就剔除该候选区。
本文是将两种区域优化方法结合,既要满足人脸高宽比,又要满足面积占有率,更能准确进行人脸定位。
本文采用的肤色区域优化方法主要有两种:
(1)基于人脸高宽比
有资料显示,理想的人脸高度与宽度的比例为:
互联网下载和采集大量驾驶环境视频,主要分为正面、45°侧脸和90°侧脸三种姿态进行实验,实验数据如表1所示。
表1 人脸检测定位实验数据
我们从表1的实验数据发现,正面和45°侧脸准确率都能达到95%以上,检测效果较好,虽然90°侧脸正确率不高,但是在驾驶状态下这个姿态的发生概率很小,可不予理睬。综合上述,结果表明该方法在不同姿态和驾驶背景下有较好的检测效果。但是,该方法却没有考虑夜间模式或强光照的影响,检测样本数量有限且单一,所以驾驶环境下的精确人脸定位还需进一步探索和研究。
[1]金璐.基于图像处理的疲劳驾驶检测技术研究[D].武汉工程大学硕士学位论文,2014.
[2]谢凤英.数字图像处理及应用[M].北京:电子工业出版社,2014 .
[3]董长虹.Matlab图像处理与应用[M].北京:国防工业出版社,2004.
[4]盛敬.驾驶员疲劳监控系统中人脸检测与识别研究[D].东北大学硕士学位论文,2006
[5]林欣.基于改进肤色模型的AdaBoost人脸检测算法研究[D].陕西科技大学硕士学位论文,2015.
[6]陈虹宇.驾驶员面部检测与定位方法[D].重庆大学硕士学位论文,2005.
葛小凤(1991—),女,四川自贡人,西华师范大学电子信息工程学院硕士研究生,主要从事电子信息技术的研究。