基于Hough变换圆检测的人眼定位方法改进
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
0引言
眼睛作为一个重要的脸部特征器官,它的任何细微变化都能直接反映出人的各种精神状态信息。目前,在对驾驶员进行疲劳驾驶监测时,有时也采用检测人眼状态信息的疲劳检测技术[1]。因为眼睛的状态信息可以直接反映出他们当前的疲劳状态,所以人眼的状态信息检测在驾驶员疲劳检测中起着至关重要的作用。而要想捕捉到这些眼部信息,必须先对人眼进行精确定位。
另外,驾驶员的疲劳状态检测也需要满足实时性的要求。这里,为了兼顾人眼定位方法精确性和实时性的需求,我们对基于Hough变换圆检测的人眼定位方法进行改进[2-3]。即先采用灰度积分投影的方法定位人眼,通过对灰度积分结果进行分析,找到人眼的中心坐标及大致的虹膜半径、虹膜区域等,再利用这些信息,采用“最小外接矩形法”估算待检测圆的圆心及半径,进行Hough变换圆检测精确定位人眼。
本文首先采用灰度积分投影的方法进行人眼的定位和虹膜区域的划分,然后在这个区域内利用Hough变换圆检测的方法精确地检测出虹膜区域。它的流程图如图1所示。
1人眼定位算法介绍
从简单的阈值法、模板匹配到弹性模板匹配、神经网络、遗传算法等均被尝试性的用于人眼定位。现在,比较常用的人眼检测方法有:灰度积分投影法、Hough变换方法、可变形模板及对称变换法等。
1.1灰度积分投影法
所谓灰度积分投影法就是将投影对象的灰度信息在某方向上进行投影,得出该对象的位置及灰度积分值等信息。这种方法操作起来非常简单,它经常和阈值化处理一起使用。由于噪声点对投影有一定的影响,所以处理前最好去除噪声,然后进行阈值化处理,再对阈值化后的二值图像在某个方向上进行投影运算。冯建强等基于求最大类间方差阈值的方法进
收稿日期:2010-04-14;修订日期:2010-06-29。
行图像二值化处理,提取出特征点,使用灰度积分投影法并结合人脸的结构特征找眼睛坐标,准确人眼定位[2]。张杰等提出首先对人脸灰度图像进行预处理,再对原始图像分别进行水平和垂直方向上灰度积分投影,最后利用灰度积分投影图上的峰谷点确定出双眼的大致位置,即粗定位人眼[3]。
1.2Hough变换方法
Hough变换方法检测人眼时,一般是在眼部类圆特征区域,如虹膜、瞳孔区域被找到后,使用Hough变换圆检测的方法定位人眼。曹倩霞提出一种基于彩色分割和Hough变换的虹膜检测法。首先利用饱和度信息将眼睛区域与皮肤区域分离;然后利用亮度信息将眼睛区域的眼白和虹膜分离得到虹
膜区域;再通过Hough变换进行虹膜检测[4]。张杰等在粗定位人眼的基础上,利用Hough变换圆检测的方法精确定位出人眼的位置[3]。
1.3可变形模板
可变形模板分为活动轮廓模型和基于模型的可变形模板两类[4]。这两类模板都是在提取特征过程中对模板进行动态的调整活动。其中,基于模型的可变形模板方法先定义形状模型,其参数就是特征的可变部分,模型与图像的各种特征进行自动的交互适应,修正参数,最终引起模板的变形。本方法的不足是对参数的选择要求高,计算量很大。
1.4对称变换法
对称性被认为是物体的基本性质之一,通常用来简化物体形状的描述或物体的近似。目前研究最多的是点对称(也叫中心对称)和轴对称,对人脸而言,眼睛、鼻子、嘴巴等特征区域是灰度不均匀区,都具有很弱的点对称性,广义对称变换正是用来描述物体的点对称。但对称变换法同样有计算量大的缺点,且因为在人脸图像上会产生多个人眼候选点,所以很难实现人眼的精确定位。
2基于灰度积分投影的方法定位人眼
人的脸部包含丰富的特征信息,如按照五官比例,就有“三庭五眼”之说,即长三庭,横五眼,如图2所示。三庭:发际线到眉毛=眉毛到鼻孔=鼻孔到下巴的距离;五眼:右外耳孔至右眼外角之长=右眼长=眼间距离=左眼长=左眼外角至左外耳孔之长。这只是一种简单的概括,是成人的一般比例关系。参照这种人脸结构特征,可对人脸图像采用基于灰度积分投影的方法来定位人眼。
2.1图像预处理
由于对二值图像进行处理要比直接对灰度图像处理简单的多,且减少了不少工作量,因此我们先对人脸区域进行二值化处理,这里初始阈值的选取采用灰度直方图估计法,效果图如图3(a)所示。
接着使用数学形态学工具对人脸二值图像进行平滑处理,去掉图3(a)上零星分布的散点和“毛刺”。具体的做法是:针对存在的散点和“毛刺”,我们选用一个3
¡Ê(0,200),200的人脸图像进行处理)。经分析可知,当人眼睁开时,在图像的水平积分投影曲线大约中间位置上会出现一个峰值点。这个峰值点对应在灰度积分结果上就是一个全局最大值,所以,可以通过比较积分结果得到这样一个全局最大
值
表示全局最大值),
即所求的眼睛的坐标是
0附近离它最近的两个谷值点,即为人眼的水平上下边缘所对应的积分值。同样是比较积分结果,
求得离所求全局最大值
5
1
5
1
5
1
3
1
2
1
部极小值
2
表示局部极小值min2
对应
的对应的坐标(
行坐标1
<
,在人脸图像上取一
个以
12
的条形区域,很明显,眼睛位于人
脸中心对称轴两侧对称的两块高灰度区域内(对本文的人脸
二值图像而言)。
对条形区域沿垂直方向进行灰度积分投影,即对yk 进行
灰度积分
=
,
(2)
式中:
=
(
max1
和
1
和max1
和
),且
。
(4)再比较积分结果,
确定局部极大值
min1
和
坐标
4
。同理
可得,
局部极大值min3
和坐标
6
。至此,就找到了人眼坐标(
1
)、
(
2
)及它们上,下,左,右4个方向上最邻近的极小值点。
虹膜区域的确定示意图如图4所示,从图4中可以得到大致的虹膜半径、中心坐标和虹膜区域。
3基于改进的Hough 变换检测虹膜
由于在驾驶员疲劳程度检测中,对眼睛状态信息的精确
度要求很高,而大部分时间虹膜信息都可以给出人眼的状态信息,因此本文给出了一种基于改进的Hough 变换检测虹膜的方法。具体做法是:先对虹膜区域进行边缘检测,再用改进后的Hough 变换检测虹膜。
3.1虹膜边缘的检测
由于Canny 算子检测的边缘比较完整,而这里需要的是
一个清晰的边缘轮廓,因此,对虹膜区域图像进行Canny 边缘检测。这里,分别对两只眼睛的虹膜区域进行边缘检测。
下面给出Canny 边缘检测的基本原理[5]:首先Canny
算子对灰度图像用均方差为
和
,
),
其中分别代表眼球圆
心的行和列,
=
2
,),在图像空间都对
应一个半圆,并且在这个半圆上存在的边缘点数就是变换空
间上过坐标点,
,
x
yy
y
y
图5
双眼的边缘检测
图6
虹膜检测的效果