发明名称 基于人脸和眼部检测的鼠标控制方法
摘要 本发明涉及一种基于人脸和眼部检测的鼠标控制方法。其特征在于,提供一种用低成本的普通摄像头能实现的通过对操作者脸部进行检测与跟踪,同时结合操作者眼部动作来实现的鼠标控制方法。具体步骤为:1.视频信号预处理,采集摄像头视频信号,并对信号进行预处理;2.人脸的检测,基于肤色和Haar特征对操作者的脸部进行检测;3.人脸的运动跟踪,记录操作者脸部的运动轨迹和坐标位置;4.眼部的定位,在人脸中检测定位出操作者两个眼睛的位置;5.眼部动作的检测,检测操作者的眼部动作;6.鼠标控制,控制鼠标的移动,控制鼠标左右按键的点击动作。本发明通过图像处理和计算机视觉的技术,检测操作者的脸部位置,跟踪脸部的运动,并检测操作者的眼部动作,从而实现对鼠标的控制。使用低成本的普通摄像头,为肢体残障人士或者手部受限制的计算机用户提供了一种方便的人机交互方式。
申请公布号 CN103324284A 申请公布日期 2013.09.25
申请号 CN201310196321.9 申请日期 2013.05.24
申请人 重庆大学 发明人 陈远;张小洪;刘涵元;叶振安;吕琳洁
分类号 G06F3/01(2006.01)I;G06K9/00(2006.01)I 主分类号 G06F3/01(2006.01)I
代理机构 代理人
主权项 一种基于人脸和眼部检测的鼠标控制方法,其特征在于,步骤为:a)视频信号预处理用二维零均值离散高斯函数作平滑滤波器,这种函数的表达式为: <mrow> <mi>H</mi> <mrow> <mo>(</mo> <mi>u</mi> <mo>,</mo> <mi>v</mi> <mo>)</mo> </mrow> <mo>=</mo> <msup> <mi>e</mi> <mrow> <mo>-</mo> <mfrac> <mrow> <msup> <mi>u</mi> <mn>2</mn> </msup> <mo>+</mo> <msup> <mi>v</mi> <mn>2</mn> </msup> </mrow> <msup> <mrow> <mn>2</mn> <mi>&sigma;</mi> </mrow> <mn>2</mn> </msup> </mfrac> </mrow> </msup> </mrow>高斯平滑滤波器在各个方向上的平滑程度是相同的,高斯滤波器用像素邻域的加权均值来代替该点的像素值,而每一邻域像素点权值是随该点与中心点的距离单调增减的;色调H表示色彩信息,即所处的光谱颜色的位置;将RGB彩色图像转换到HSV空间;b)人脸的检测在HSI空间中,基于预先设定的肤色信息,粗略地检测视频画面中操作者的皮肤区域,缩小人脸的搜索范围;采用Haar特征描述人脸,使用AdaBoost算法从大量的Haar特征中挑选出一小部分构建出强分类器;依据Haar特征的分类器的训练结果,建立一个包含人脸模型的XML文件,使用Haar目标检测算法,从视频画面中检测出操作者的脸部;c)人脸的运动跟踪采用均值漂移(Mean Shift)方法,基于人脸的颜色信息,跟踪操作者脸部区域的运动;脸部区域的中心位置由y0移动到新的位置y1: <mrow> <msub> <mover> <mi>y</mi> <mo>^</mo> </mover> <mn>1</mn> </msub> <mo>=</mo> <mfrac> <mrow> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mi>h</mi> </msub> </msubsup> <msub> <mi>x</mi> <mi>i</mi> </msub> <msub> <mi>&omega;</mi> <mi>i</mi> </msub> <mi>g</mi> <mrow> <mo>(</mo> <msup> <mrow> <mo>|</mo> <mo>|</mo> <mfrac> <mrow> <msub> <mover> <mi>y</mi> <mo>^</mo> </mover> <mn>0</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> </mrow> <mi>h</mi> </mfrac> <mo>|</mo> <mo>|</mo> <mo></mo> </mrow> <mn>2</mn> </msup> <mo>)</mo> </mrow> </mrow> <mrow> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mi>h</mi> </msub> </msubsup> <msub> <mi>&omega;</mi> <mi>i</mi> </msub> <mi>g</mi> <mrow> <mo>(</mo> <msup> <mrow> <mo>|</mo> <mo>|</mo> <mfrac> <mrow> <msub> <mover> <mi>y</mi> <mo>^</mo> </mover> <mn>0</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> </mrow> <mi>h</mi> </mfrac> <mo>|</mo> <mo>|</mo> </mrow> <mn>2</mn> </msup> <mo>)</mo> </mrow> </mrow> </mfrac> </mrow>d)眼部的定位在框出的人脸区域算出眼睛寻找区域,在此区域分别获取左眼和右眼的图像;使用Canny算法中的卷积算子在人脸区域检测出边缘,然后使用Hough变换检测圆,在人脸区域内部,定位出左眼和右眼;e)眼部动作的检测检测操作者的眼部动作,分别有左眼闭、右眼闭、眨眼等动作;如果把一个眼睛区域分成上下两个部分,当眨眼的时候上下两个部分的灰度值分布会有显著的差异;计算上下区域的平均流明强度;当上下区域的平均强度随着时间打点,可以做出同人眼视频序列的检测结果;f)鼠标控制通过校准可以得到人眼注视电脑屏幕中心及四个顶点眼球中心位置的坐标,实时跟踪人脸的运动,控制鼠标移动;根据人眼状态的检测结果,控制鼠标按键动作。
地址 400044 重庆市沙坪坝区沙正街174号