一种基于距离正则化的变分水平集得到人眼状态的方法

文档序号:6552330阅读:128来源:国知局
一种基于距离正则化的变分水平集得到人眼状态的方法
【专利摘要】本发明公开了一种基于距离正则化的变分水平集得到人眼状态的方法,该方法将获取到的人脸图像进行灰度图像转化和滤波后,根据新的灰度级做出灰度图像,再根据灰度图像用水平集方法的初始轮廓线进行人眼粗定位,定义能量泛函,当能量泛函最小化时即为初始轮廓线演化为目标眼睛区域,由零阶矩的算法计算得到相应区域的面积,与所设定的阈值比较,得到人眼状态。与传统的水平集方法相比,本发明避免了对水平集函数的重新初始化,计算效率高,确保了足够的数值精度,而且判断驾驶员状态时间短,速度快,实现简单方便,效果好。
【专利说明】—种基于距离正则化的变分水平集得到人眼状态的方法
【【技术领域】】
[0001]本发明属于图像分割【技术领域】,具体涉及一种基于距离正则化的变分水平集得到人眼状态的方法。
【【背景技术】】
[0002]目前,交通业的发展速度较快,交通事故也已经变得不可避免,人身安全也越来越受到人们的关注。近期的研究表明:产生交通事故的原因有部分是驾驶疲劳。主要是因为驾驶员的作息时间、工作枯燥,所以容易造成驾驶疲劳。
[0003]人眼的状态能较好反应驾驶员精神状态,事实证明,人在正常状态下每分钟眨眼十五次,而人的眨眼频率一旦增高,说明人已经处于疲劳状态,即将睡着。
[0004]水平集方法已被广泛用于图像处理和计算机视觉,它有效解决了以前算法不能解决的在曲线演化过程中的拓扑变化问题,其核心是利用水平集这一数学理论来对能量函数进行极小值求解的曲线演化过程,通过求解极小值最终获取目标轮廓从而达到图像分割的目的。在运用传统的水平集方法进行图像分割时,水平集函数在演变过程中会产生振荡和很尖锐或者很平坦的形状,这最终会破坏曲线演化的稳定性,所以后来在演化过程中将水平集函数重新初始化为符号距离函数,以避免计算不准确。然而,重新初始化的问题导致曲线演化变得极为缓慢,因为如果重新初始化函数不平滑或者其某一边比较陡峭将导致零水平集严重偏离初始函数。所以,这样的水平集方法有待进一步改进。

【发明内容】

[0005]本发明的目的在于克服上述方法的缺点,提出了一种基于距离正则化的变分水平集得到人眼状态的方法,该方法避免了对水平集函数的重新初始化,计算效率高,确保了足够的数值精度,而且判断驾驶员状态时间短,速度快,实现简单方便,效果好。
[0006]为达到上述目的,本发明采用以下技术方案来实现的:
[0007]一种基于距离正则化的变分水平集得到人眼状态的方法,包括以下步骤:
[0008]I)对摄像头拍到的驾驶员人脸彩色图像,将人脸彩色图像转换为256级灰度级的人脸灰度图像,对人脸灰度图像中值滤波来减少噪声;
[0009]2)对中值滤波后的人脸灰度图像进行灰度级转化,从O灰度级开始,每连续的32个灰度级合并为一个灰度级,重新把灰度级标号为O到7,最终把有256个灰度级的图像转化为8个灰度级的图像;
[0010]3)把水平集函数φ初始化成一个初始水平集函数Φ(!,用初始水平集函数Φο的零水平集轮廓对步骤2)中处理后的8个灰度级的图像初步分割,得到眼睛初始轮廓;
[0011]4)定义一个由距离正则项和外部能量项组成的能量泛函,最小化能量泛函;如果任何一零交叉点停止连续迭代,则停止迭代,即已找到梯度流方程的稳态解,能量泛函取得最小化,得到目标区域;否则,从用初始水平集函数的零水平集轮廓对图像初步分割开始循环;
[0012]5)得到正常状态下驾驶员人脸图像分割后所得目标眼睛区域后,使用最小二阶矩的方法,用O阶矩求得被测目标区域的面积,设定为眼睛正常睁开时的目标区域的面积为初始值Stl,重复步骤I)至4),得到每次扫描的人眼面积。
[0013]本发明进一步改进在于,步骤4)中,具体步骤如下:
[0014]a)构建零水平集周围的初级窄带D其中,r为相邻两个网格点之间的距离,O
为初级窄带的意思,因为窄带区域内的网格点相对较少,以此减少水平集函数演化过程中的计算量,定义初级窄带区域内(i,j)为横坐标为1、纵坐标为j的一个网格点,称为零交叉点,Z°为初始水平集函数Φ°所有的零交叉点的集合,为以网格点(i,j)为中心的
(2r+l) X (2r+l)的方块;
[0015]b)在初级窄带上更新水平集函数Φ 即在k+Ι时刻网格点(i,j)处的水平集函数,Φ (i,j)为网格点(i,j)上定乂的水平集函数,把更新后的水平集函数Φ。k+1的所有零交叉点的集合记为Z k+1,其中,Φ能够扩展为Φαι.,_]>,(k+1) At),记为Φ(χ,7,υ,Δt是时间步长;
[0016]c)对窄带上的零交叉点更新,对每一个在窄带Df J:而不在窄带IT上的网格点
(i,j),如果Oiij k>0,设置k+1的值为m,否则设置k+1的值为_m,m为常量,且m =r+Ι ;
[0017]d)如果任何一零交叉点停止连续迭代,则停止迭代,即已找到梯度流方程的稳态解,能量泛函取得最小化,得到目标区域;
[0018]本发明进一步改进在于,步骤4)中,能量泛函方程如下:
[0019]ε (Φ) = μ ^(Φ)+ ε ε(Φ) (I)
[0020]式中:Rq(Φ) = Ju q{\ V(I) \)dx ;
[0021]q是一个泛函或能量密度,q=[0,oc)4 H
[0022]▽ Φ是Φ的梯度;
[0023]μ >0,用于控制调整水平集函数和符号距离函数之间的偏离;
[0024]ε ε(Φ)是推动水平集函数Φ运动的外部能量,&(Φ)是距离正则项,使得演变中水平集函数总是与符号距离函数保持一致,避免了重新初始化;
[0025]定义函数的外部能量为:
[0026]ε ε(Φ) = a Lg(O) + ^ Ag(O)⑵
[0027]式中:
[0028]α >0, β是常量,g是边缘指示函数;
[0029]&(Φ) = _[Ω§5(Φ)|νΦμν,4(Φ) = ?η^(-φ)^ ;


I
[0030]g=1 + |VG叫2,其中:1为全域Ω中的一个图像,G。是有标准差σ的高斯函数,g中的卷积用来平滑图像来减少噪声;
[0031]δ 是 Dirac 函数,H 是 Heaviside 函数;
[0032]因此,总能量函数表示为:
[0033]ε (Φ) = μ Rq(Φ) + a Lg(Φ) + β Ag(Φ)⑶
[0034]最小化函数ε的梯度流方程表示为:
【权利要求】
1.一种基于距离正则化的变分水平集得到人眼状态的方法,其特征在于,包括以下步骤: 1)对摄像头拍到的驾驶员人脸彩色图像,将人脸彩色图像转换为256级灰度级的人脸灰度图像,对人脸灰度图像中值滤波来减少噪声; 2)对中值滤波后的人脸灰度图像进行灰度级转化,从O灰度级开始,每连续的32个灰度级合并为一个灰度级,重新把灰度级标号为O到7,最终把有256个灰度级的图像转化为8个灰度级的图像; 3)把水平集函数Φ初始化成一个初始水平集函数Φμ用初始水平集函数Φο的零水平集轮廓对步骤2)中处理后的8个灰度级的图像初步分割,得到眼睛初始轮廓; 4)定义一个由距离正则项和外部能量项组成的能量泛函,最小化能量泛函; 如果任何一零交叉点停止连续迭代,则停止迭代,即已找到梯度流方程的稳态解,能量泛函取得最小化,得到目标区域;否则,从用初始水平集函数的零水平集轮廓对图像初步分割开始循环; 5)得到正常状态下驾驶员人脸图像分割后所得目标眼睛区域后,使用最小二阶矩的方法,用O阶矩求得被测目标区域的面积,设定为眼睛正常睁开时的目标区域的面积为初始值Stl,重复步骤I)至4),得到每次扫描的人眼面积。
2.根据权利要求 1所述的一种基于距离正则化的变分水平集得到人眼状态的方法,其特征在于,步骤4)中,具体步骤如下: a)构建零水平集周围的初级窄带D〗,其中,r为相邻两个网格点之间的距离,O为初级窄带的意思,因为窄带区域内的网格点相对较少,以此减少水平集函数演化过程中的计算量,定义初级窄带区域内(i,j)为横坐标为1、纵坐标为j的一个网格点,称为零交叉点,Z°为初始水平集函数Φ°所有的零交叉点的集合,W力以网格点(i,j)为中心的(2r+l) X (2r+l)的方块; b)在初级窄带上更新水平集函数Φ=,即在k+1时刻网格点(i,j)处的水平集函数,Φ (i, j)为网格点(i,j)上定义的水平集函数,把更新后的水平集函数Φ。k+1的所有零交叉点的集合记为z k+1,其弓φ能够扩展为少(化,廿,0^1)八0,记为少0^,7,0,八七是时间步长; c)对窄带上的零交叉点更新,对每一个在窄带Df上而不在窄带D:上的网格点(i,j),如果Oiij k>0,设置k+1的值为m,否则设置k+1的值为_m,m为常量,且m =r+Ι ; d)如果任何一零交叉点停止连续迭代,则停止迭代,即已找到梯度流方程的稳态解,能量泛函取得最小化,得到目标区域。
3.根据权利要求1或2所述的一种基于距离正则化的变分水平集得到人眼状态的方法,其特征在于,步骤4)中,能量泛函方程如下: ε (Φ) = μ ^(Φ)+ ε 6(Φ)⑴ 式中=q是一个泛函或能量密度,q=[0,3C) 汧; ▽ Φ是Φ的梯度; μ > O,用于控制调整水平集函数和符号距离函数之间的偏离;ε 6(Φ)是推动水平集函数Φ运动的外部能量,Rq(O)是距离正则项,使得演变中水平集函数总是与符号距离函数保持一致,避免了重新初始化; 定义函数的外部能量为: ε 6(Φ) = α ?8(Φ) + β Α8(Φ)⑵ 式中: α >0, β是常量,g是边缘指示函数;

其中:Ι为全域Ω中的一个图像,G。是有标准差ο的高斯函数,g中的卷积用来平滑图像来减少噪声; δ是Dirac函数,H是Heaviside函数; 因此,总能量函数表示为: ε (Φ) = μ Κ,(Φ) + α 18(Φ) + β Α8(Φ)⑶ 最小化函数ε的梯度流方程表示为:
通过变分计算得到:
其中:Λ是拉普拉斯算子; 应用最陡下降法求函数ε最小值:
注意到:
4.根据权利要求3所述的一种基于距离正则化的变分水平集得到人眼状态的方法,其特征在于,在实现过程中,Dirac函数δ (χ)用较平滑的函数δ ε近似,如下式所示:
尝和音分别用中心差分Φ =去(Φ,.+υ_ - Φ…)和士(Φ…丨—Φ,ν—丨}来近似,g用前向差分φλ+ = 士 Kw為)及φ;=;(φ,/?為)来近似;其中,φ Φχ+分别是X轴方向上的中心差分和前向差分,φ分别是y轴方向上的中心差分和前向差分,1、i+1、1-1是网格点的横坐标,j、j+1、j-1是网格点的纵坐标。
5.根据权利要求1所述的一种基于距离正则化的变分水平集得到人眼状态的方法,其特征在于,步骤5)中,根据大量测验表明,人眼睡着时作为目标区域的眼球的面积为十分之三Stl,将其设为阈值,用摄像机跟踪人脸每分钟扫描三十次,将每次扫描得到的面积与阈值比较,若每三十次扫描有大于二十次且小于三十次扫描得到的面积小于阈值,判定眨眼次数较多,则判断驾驶员快睡着了 ;若每三十次扫描中每次扫描得到的面积都小于阈值,则判断驾驶员处于睡 眠状态。
【文档编号】G06T7/00GK104077778SQ201410318122
【公开日】2014年10月1日 申请日期:2014年7月4日 优先权日:2014年7月4日
【发明者】陈杰 申请人:南京通用电器有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1