陈虹宇
在采用计算机视觉对驾驶员进行驾驶行为监测时,面部定位是关键技术之一[1]。由于驾驶员所处的驾驶室内环境复杂,不确定性物件较多,给图像处理带来了极大的困难。同时驾驶员各种姿态问题涉及头部在三维垂直坐标系中绕三个轴的旋转造成的面部变化,给头部定位增添了难度。
由于人脸类似椭圆的特性,HS Kim[2]等提出椭圆模版匹配的方法进行椭圆拟合。常用的椭圆拟合方法有:一类是基于Hough变换的椭圆拟合方法[3]。广义霍夫变换可以针对任意曲线的检测,但参数空间的维数高,耗费大量的存储空间和处理器时间。另一类是基于最小二乘法的方法[4],其适用范围广、精度高、最为常用。但最小二乘法椭圆拟合时,对于矩阵的求逆,同样使运算量大、鲁棒性差,不适合图像适时的跟踪,并且包含误差较大的所有样本边界点都参与运算,会对椭圆拟合的最后结果产生偏差。
本文主要针对驾驶员特定的背景环境,提出一种基于图像矩和椭圆拟合的驾驶员姿态定位算法。在肤色的彩色图像快速分割的基础上,结合图像几何矩特性拟合驾驶员面部椭圆,实现了驾驶员面部检测与定位,有效的降低了驾驶室的复杂背景、驾驶员各种面部姿态、表情对人脸检测定位的影响。
肤色是人脸的重要信息,具有相对的稳定性并能和大多数背景物体的颜色相区别,且有不依赖于面部的细节特征,对于旋转、表情等变化都适用的特性[6]。对于复杂环境下的应用,利用人体肤色特征可以大幅度减小搜索空间,加速检测结果。
设 X (x,y)表示图像I中的点 I(x,y)在YCbCr颜色空间中X维的值。 XJ(x,y)是任一选中的代表肤色的点 I(x,y)在 CIE XYZ颜色空间中X维的值。则有:(x,y) ∈ I, 如 果X(x,y) ∈ [ XJ(x,y)(1-k),XJ(x,y)(1+k)]则N=N+1,其中:k为计算的宽容度k∈ [ 0,1];N是记数器,计算符合条件的点数。重复上述计算,可得人脸表面颜色分布的直方图,见图1。
将驾驶室采集的图2、图 3,根据图1直方图设置自动阈值进行颜色分割,得到初步分割结果为图 2a、图 3a,提取属于肤色的颜色部分置为白色,将非肤色部分置位黑色。如果光线变化时,驾驶室顶棚上可能会出现一部分颜色区接近肤色,出现一些非连续噪声,这种区域并不像人脸区域连通,采用形态学方法的腐蚀和膨胀运算来去除图像部分噪声,去噪结果如图2b、图3b。
图1 肤色彩色直方图
图2 驾驶员采集图
图3 驾驶员采集图
图2 a颜色分割结果
图3 a颜色分割结果
图2 b去噪结果
图3 b 去噪结果
经过肤色分割算法得到的二值图像的白色象素区域进行基于8连通的区域标记,对相同连接成分的所有象素分配相同的标号,对不同的连接成分分配不同的标号。直观地说在标记前图像是二值的,象素值是 0(黑),255(白),标记之后每个白象素的值是所属区域的标号(1,2,…,L),其中 L是二值图像中白象素区域的数目,即肤色区域的数目。
为了研究候选区域,首先需要测定区域的面积和中心。由于在二值图像中区域的中心等同与质心,所以计算区域的质心就是检测区域中心的有效方法,主要通过下面的公式得到:
对于一幅M×N的人脸图像f(x,y)有:
对于一幅 M×N的人脸图像 ),(yxf ,其图像的p+ q 阶矩定义为:
其中(x,y)为目标图像中心。U02表示椭圆各点(xi, yi)纵坐标 yi与中心点(x,y)纵坐标y的统计值,可表示椭圆在垂直方向的伸展度;U20表示椭圆各点(xi, yi)纵坐标 x i与中心点(x,y)纵坐标x的统计值,表示在水平方向的伸展度; U11表示图像的倾斜度,U11>0时表示图像向左倾斜,当 U11<0时表示图像向右倾斜。
图4 椭圆几何特性
在实际人脸图像中,不可避免地存在一些倾斜的人脸图像。这时,我们得到候选区域的倾斜度将有利于检测和定位。倾斜角计算公式如下:
写成极坐标方程为
当 a = b 时,此时椭圆变成了一个圆,圆作为一种特殊的椭圆,我们把它归并在椭圆中进行拟合。由图像矩可知,人脸图像的目标区域质心(x,y)决定了人脸外接椭圆的的平移,目标区域定向θ决定了外接椭圆的旋转角度θ,而水平方向和垂直方向的伸展度U02、 U20就是外接椭圆的长短轴。综上所述,拟合人脸椭圆具体步骤如下:○1 由(2)式估算人脸的重心位置(h,k);○2 由(5)式计算此时闭合曲线部分的外接椭圆的长、短轴 a,b;○3 由(6)式计算旋转角度θ;○4 将椭圆绕重心位置旋转θ角度;○5 输出椭圆 ellipse(θ,a,b,h,k)。
本文针对驾驶室特定的背景环境,采样驾驶员头部不同角度、姿态的图像,以及包括嘴的多种状态和表情的图像上千幅。在VC6.0软件环境下,用该方法对驾驶员面部进行椭圆拟合,均能成功地定位跟踪面部位置,从而调整跟踪窗的大小和跟踪方向等,并得到了满意的效果。实验部分拟合定位结果见图5。椭圆拟合中偶尔出现孤立点的干扰,如视频图像中人脸深度旋转角度过大,目标自身或目标之间的相互遮拦等原因导致面部肤色特征几乎全部丢失,肤色区域小于类肤色区域,误判其他类肤色区域为人脸肤色区域,导致定位位置偏离面部,但这种少部分误定位会被下一帧图像的定位结果及时纠正。
本文通过肤色在YCbCr颜色空间进行快速分割,由驾驶员面部类似椭圆的特性,结合图像矩,拟合驾驶员面部椭圆,实现了驾驶员面部检测与定位,有效的降低了驾驶室的复杂背景、驾驶员各种面部姿态、表情对人脸检测定位的影响。实验表明,本算法对于人脸大小、姿态、表情的变化,具有实时性好、旋转不变性及较强的适应能力。
图5 基于图像矩的面部椭圆定位结果
[1] 王荣本,郭克友等.驾驶员驾驶行为监测中的面部定位方法的研究[J].公路交通科技,2003,20(2):96
[2] HS Kim, WS Kang, JI Shin. Face detection using template matching and ellipse fitting. IEICE Trans. Inf. & Syst.,2000(11):2008-2011
[3] Nair P S,Saunders Jr A T.Hough transform based ellipse detection algorithm[J].Pattern Recognition Letters,1996,17:777-784
[4] Gander W ,Golub G H, Strebel R, et al. Least-squares fitting of circles and ellipses [ J ]. BIT Numerical Mathematics, 1994,34(4) :558 -578
[5] 陈虹宇.驾驶员面部检测与定位方法研究,重庆大学硕士论文[D].2005
[6] 艾海舟,梁路宏,徐光佑等.基于肤色和模板的人脸检测[J].软件学报,2001,12(12):1784-1792
[7] Rad R S,Smith K C,Benhabib B,et al.Application of moment andFourier descriptors to the accurate estimation of elliptical shapeparameters[J].Pattern Recognition Letters,1992,3:497-508