基于Kalman滤波和Mean Shift算法的人眼实时跟踪
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
万方数据
174模式识别与人工智能17卷
方法不仅具有直观、实现简单和快速等优点,而且对
姿态变化不敏感【4],因此,在本文中,对于彩色图像
即采用此人脸检测及定位方法.在检测出人脸之后,
就用Blob操作确定人脸的高度和宽度,然后运用下
述方法来确定眼睛的位置.而对于灰度图,则可直接
运用下述方法实现眼睛定位.
为了说明人眼的检测定位过程,本文从Surfim—
age人脸数据库中选出一幅图像进行眼睛定位.图2
为人脸灰度图,先对图2做垂直灰度投影,为了减少
噪声的影响,须将垂直灰度投影曲线进行平滑,平滑
前和平滑后的垂直投影曲线如图3所示.根据曲线
中主要凸峰的左右边界即可确定人脸的左右边界
(图4).再对图4做水平灰度投影,并对水平投影曲
线进行平滑操作,所得曲线如图5所示.根据曲线确
定头顶及鼻中部形成的上下边界,由此确定眉跟区
域(图6).最后用SOBEL算子求出眉眼区域的边缘
图,并进行边缘分组,定位出眼睛的位置(图7),以
此位置作为眼睛跟踪的初始值,并构造人眼的初始
模板.
21.5
l0.5图2人脸灰度图像
2
1.5
l
O.5
l
(a)人脸的垂直灰度(b)平滑后的垂直灰度投影曲线投影曲线
图3人脸的垂直灰度投影曲线
图4人脸的左右边界
(a)人脸的水平灰度
投影曲线
(b)平滑后的水平灰度
投影曲线
图5人脸区域的水平灰度投影曲线粼曰
图6人脸的眼睛区域图7眼睛的位置
3眼睛跟踪算法
针对现有一些眼睛跟踪算法的缺陷,考虑到Kalman滤波和基于颜色分布特征的MeanShift算法所具有的快速迭代的特点,这里提出了综合使用Kalman滤波和MeanShift算法来实现人眼的实时跟踪.跟踪时首先要在初始帧中检测和定位出眼睛的位置,然后再构造眼睛模板.为了减小MeanShift的误差漂移,在以后的跟踪过程中要不断地更新眼睛模板.
3.1Kalman滤波算法
眼睛运动的特征可用位置和速度来描述.设(C。
,rt)为t时刻眼睛的位置(质心的位置),(“。
,轨)为t时刻眼睛在f方向和r方向的速度,所以t时刻眼睛的状态向量为毛=(q,让,“。
,矾)T.系统状态模型可表示为
屯十l=锄f+Wt,(1)其中砌。
是系统噪声.
假定眼睛在连续两帧图像之间(时间间隔为出)的位移很小,且是匀速移动,那么状态转移矩阵事可以设定为
F10At0
|010At
西=I
0010
LO001
观测量z:=(三:,≥:)为t时刻眼睛的位置,因此系统的测量模型为
‰=I-Ixf+训£,
其中轨为测量噪声
(2)万方数据
万方数据
176模式识别与人工智能17卷
大,当如和多1几乎表示图像坐标中同一个像元时则此帧眼睛跟踪结束.
每一帧的跟踪过程都如上所述.因此,对于给定的初始位置和目标模板,充分利用运动预测和帧间的相似性,在当前帧的预测邻域内进行搜索,采用上述算法最小化距离d就能实现最优目标跟踪.在跟踪过程中,为防止MeanShift漂移误差的传递,结合模板更新的思想不断自适应地调整被跟踪目标的模板.
4实验测试
为了验证上述算法的优越性,在PC机Window2000操作系统下对Surfimage和UMIST等人脸数据库进行测试.Surfimage图像大小为92*112,跟踪测试中取(h。
h。
)=(23,18);UMIST图像大小为190*165,(h”h。
)=(39,21),两者的眼睛模板的直方图量化层数均取32.测试过程如下:
第一步i首先在初始帧中检测出人脸,然后对图像进行水平和垂直灰度投影,以确定眼睛区域,并进一步获得眼睛的精确位置,构造出眼睛模板(图8(a)和图8(c));
第二步:将检测到眼睛位置和模板作为初始值和初始目标,并确定图像序列的状态模型和测量模型,然后根据Kalman滤波器预测出下一帧眼睛的位置和协方差;
第三步:以预测值作为Meanshift迭代运算的初始值进行迭代,搜索出与目标模板亮度分布最相似的潜在目标,此目标即为跟踪目标,然后更新目标模板,返回到第二步,重复此过程实现眼睛的跟踪.整个实验过程中测试效果较好.图8给出了部分测试结果(图8(b)和图8(d)).实验结果说明此算法在光照条件较差、头部旋转和眼睛部分遮挡等情况下仍能准确地跟踪到眼睛.
5结论
上述的眼睛跟踪算法充分利用了亮度分布的特性进行匹配,计算简单,跟踪时间短,有较强的鲁棒性,在人的眼睛只有一部分可见或者完全闭合也同样能够跟踪到.但跟踪时,MeanShift算法对跟踪窗的大小非常敏感,跟踪窗大小的选择没有固定标准,主要是针对具体的情况通过实验来获取.在头部倾斜度过大的情况下可能会出现定位失败,遇到这种情况时,可通过等待下一帧图像并重新进行定位来解决.
(a)初始帧眼睛模板
(b)Surfimage人脸数据库眼睛跟踪测试结果
(C)初始帧眼睛模板
(d)UMIST图像库眼睛跟踪测试结果
图8眼睛跟踪测试部分结果
参考文献
[1]MorimotoC,KoonsD,AiTlirA,FlicknerM.RealtimeDetectionofEyesandFaces.In:ProcoftheInternationalWorkshopon
Percep.
万方数据
万方数据。