专利名称:一种眼控鼠标实现方法及系统的制作方法
技术领域:
本发明涉及视觉跟踪技术领域,具体涉及一种眼控鼠标实现方法及系统。
背景技术:
探索自然和谐的人机关系已成为计算机研究的一个重要领域,自然、高效、智能化的人机交互界面是当今计算机发展的重要趋势。但是,对于残障人士,如果手脚运动不方便,利用传统鼠标实现人机交互就非常困难。在人机交互领域中,眼睛作为重要的信息交互通道,而视线反应人的注意方向,因而将视线应用于人机交互领域具有其自然性、直接性和交互性等特点,备受人们的关注,因此如何实现利用眼睛视线方向控制实现鼠标功能的眼控鼠标是亟需解决的技术问题。
发明内容
为了克服上述现有技术中存在的缺陷,本发明的目的是提供一种眼控鼠标实现方法及系统,能够利用眼睛视线方向控制实现鼠标功能。为了实现本发明的上述目的,根据本发明的一个方面,本发明提供了一种眼控鼠标实现方法,包括如下步骤:S1:获取眼部图像;S2:对所述眼部图像中的瞳孔位置进行检测及定位;S3:建立所述眼部视线方向与屏幕的映射关系;S4:实时监控眼部视线方向,根据所述眼部视线方向与屏幕的映射关系,确定所述眼部视线在所述屏幕上的注视点;S5:确定鼠标的工作模式,所述工作模式包括鼠标移动模式、单击模式和双击模式;S6:在所述屏幕上眼部视线的注视点处显示鼠标并按照所述工作模式进行工作。本发明的眼控鼠标实现方法通过建立眼部视线方向与屏幕的映射关系,然后确定瞳孔中心,根据眼部视线方向与屏幕的映射关系,确定眼部视线在所述屏幕上的注视点,在屏幕上眼部视线的注视点处显示鼠标并按照预设工作模式进行工作,快速准确地实现眼控鼠标的功能。在本发明的一种优选实施例中,所述步骤S2中瞳孔的定位方法为:S21:对所述眼部图像进行预处理,增加所述眼部图像的整体亮度,以及滤除所述眼部图像的噪声;S22:统计所述眼部图像的所有像素点的最大类间方差;S23:根据所述最大类间方差,计算所述眼部图像二值化的最佳阈值,实现眼部图
像二值化处理;S24:提取瞳孔边缘信息;S25:确定瞳孔中心及半径。
本发明的瞳孔定位方法能够快速准确地对瞳孔进行定位,即使在眼睛图像模糊的情况下,也能将瞳孔的中心快速定位出来。在本发明的另一种优选实施例中,在对所述眼部图像进行预处理的步骤中,增加所述眼部图像的整体亮度的方法为:S211:将所述眼部图像转化为对应的直方图;S212:根据所述直方图统计出所述眼部图像中所有像素点的灰度值;S213:确定像素灰度值的基准,将所述眼部图像的像素点的灰度值依据所述基准进行光线补偿。本发明通过增加眼部图像的整体亮度,对于一些模糊像素点或者模糊图像也能够快速准确地进行通孔定位,提高了准确性。在本发明的再一种优选实施例中,所述确定像素灰度值的基准的方法为:选择所有像素点中5%-10%的像素点的灰度值的平均值作为基准。本发明选择所有像素点中的部分像素点的灰度值的平均值作为基准,选取的比例可以根据实际需要调整,提高了方法的灵活性。在本发明的一种优选实施例中,在对所述眼部图像进行预处理的步骤中,采用二维的中值滤波器滤除所述眼部图像的噪声。本发明采用中值滤波和光线补偿的预处理方法,具有对模糊的、偏暗的、由噪声的眼部图像进行提升亮度和滤除噪声的能力,提高了瞳孔定位的准确性。在本发明的另一种优选实施例中,所述步骤S22中统计所述眼部图像的所有像素点的最大类间方差的方法为:S221:得到所述眼部图像的直方图;S222:在所述直方图中确定所述眼部图像中像素数目为零的像素灰度值;S223:确定所述眼部图像中像素数目不为零的像素灰度值,计算所述像素数目不为零的像素灰度值的最大类间方差。本发明的最大类间方差计算方法,只需要计算像素数目不为零的像素灰度值的最大类间方差,提高了计算速度。在本发明的一种优选实施例中,选取所述眼部图像的前景和背景的分割阈值,当所述最大类间方差最大时,所述分割阈值为分割的最佳阈值。本发明利用改进型的最大类间方差法实现自适应阈值提取,具有阈值合适、自适应、速度快的优点。在本发明的一种优选实施例中,提取瞳孔边缘信息的方法为:若中心像素点的像素值为255,则不论其余相邻的8个像素点的像素值为何值,一律保留中心像素点的像素值为255 ;若中心像素点的像素值为0,且相邻的8个像素点的像素值均为0,则将中心像素点的像素值改变为255 ;其余情况时,全部将中心像素点的像素值改为O。在本发明的另一种优选实施例中,利用最小二乘法确定瞳孔中心及半径。本发明瞳孔边缘信息的提取方法和基于最小二乘法的确定瞳孔中心及半径的椭圆拟合方法实现瞳孔的精确定位,具有准确快速的特点。
在本发明的一种优选实施例中,建立所述眼部视线方向与屏幕的映射关系的步骤为:S31:在屏幕上依次显示M个标定点,所述M为正整数;S32:当眼睛在注视着每一个标定点时,摄像机检测红外光源发出的光线经过瞳孔中心反射后在屏幕上的N个对应点,所述N为正整数;S33:对每一个标定点检测的N个对应点进行分析,得到一个等效对应点;S34:建立瞳孔中心与标定点的对应关系。从而通过检测眼睛视线方向而确定眼睛在屏幕上的注视点,实现眼孔鼠标的功倉泛。为了实现本发明的上述目的,根据本发明的二个方面,本发明提供了一种眼控鼠标实现系统,包括:红外光源、摄像机、屏幕和控制单元,所述控制单元包括眼部图像获取模块和核心处理模块;所述红外光源和摄像机建立眼部视线方向与屏幕的映射关系;所述眼部图像获取模块用于采集眼部图像;所述核心处理模块与所述眼部图像获取模块相连,用于接收所述眼部图像并判断瞳孔的中心,以及实现眼控鼠标的工作并通过屏幕进行显示。本发明的眼控鼠标实现系统能够利用眼睛视线方向准确地控制鼠标的运动,实现眼控鼠标的功能。在本发明的一种优选实施例中,所述核心处理模块包括瞳孔中心判断模块、标定模块和视线跟踪模块,所述瞳孔中心判断模块与所述眼部图像获取模块相连,用于接收眼部图像并判断瞳孔的中心,所述标定模块用于建立所述眼部视线方向与屏幕的映射关系,所述视线跟踪模块分别与瞳孔中心判断模块和所述标定模块相连,所述视线跟踪模块根据所述瞳孔中心判断模块判断的瞳孔中心以及所述眼部视线方向与屏幕的映射关系确定眼睛在屏幕上的注视点并模拟鼠标实现跟踪操作。从而利用眼睛视线方向准确地控制鼠标的运动,实现眼控鼠标的功能。在本发明的一种优选实施例中,还包括数据转换模块,所述数据转换模块分别与所述眼部图像获取模块和所述核心处理模块相连,用于实现所述眼部图像数据的格式转换并将转换后的眼部图像传输至所述核心处理模块。本发明数据转换模块进行格式转换,当眼部图像获取模块采集的数据获得的眼部图像数据与核心处理模块能够处理的数据类型不同时,利用该数据转换模块对眼部图像获取模块采集的数据格式进行转换,提高了瞳孔定位系统的兼容性。本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:图1是本发明眼控鼠标实现方法的流程图;图2是本发明瞳孔定位方法的流程图;图3是本发明一种优选实施方式中眼部图像所对应的直方图;图4是本发明一种优选实施方式中采集的眼部图像图5是对图4所示眼部图像的预处理效果图;图6是图4所示眼部图像的二值化效果图;图7是图4所示眼部图像的瞳孔中心定位效果图。
具体实施例方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。在本发明的描述中,除非另有规定和限定,需要说明的是,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。本发明提供了一种眼控鼠标实现方法,如图1所示,包括如下步骤:S1:获取眼部图像;S2:对眼部图像中的瞳孔位置进行检测及定位;S3:建立眼部视线方向与屏幕的映射关系;S4:实时监控眼部视线方向,根据眼部视线方向与屏幕的映射关系,确定眼部视线在屏幕上的注视点;S5:确定鼠标的工作模式,其中,工作模式包括鼠标移动模式、单击模式和双击模式;S6:在屏幕上眼部视线的注视点处显示鼠标并按照所述工作模式进行工作。在本实施方式中,对眼部图像中的瞳孔位置进行检测及定位的方法,如图2所示,包括如下步骤:S21:对所述眼部图像进行预处理,增加所述眼部图像的整体亮度,以及滤除所述眼部图像的噪声;S22:统计所述眼部图像的所有像素点的最大类间方差;S23:根据所述最大类间方差,计算所述眼部图像二值化的最佳阈值,实现眼部图
像二值化处理;S24:提取瞳孔边缘信息;S25:确定瞳孔中心及半径。在本发明的一种优选实施方式中,获取眼部图像,通过眼动仪采集眼睛转动的眼部视频图像,并存于计算机内;然后利用步骤S21至步骤S23采集每一帧眼部视频图像,实现图像的预处理和自适应二值化处理;最后利用步骤S24至步骤S25对瞳孔进行定位,具体提取瞳孔边缘信息并确定瞳孔中心及半径。本发明的瞳孔定位方法能够快速准确地对瞳孔进行定位,即使在眼睛图像模糊的情况下,也能将瞳孔的中心快速定位出来。在本发明的一种优选实施方式中,该瞳孔定位方法的具体步骤为:第一步:获取眼部图像,在本实施方式中,利用眼动仪的摄像机获取眼部图像视频并存于计算机的存储器内,图4示出了由眼动仪采集的三幅不同角度的眼部图像。对眼部图像进行预处理,增加眼部图像的整体亮度,以及滤除眼部图像的噪声,处理后的图像如图5所示,在本实施方式中,采集每一帧眼部图像做图像预处理,通过光线补偿增加图像整体亮度及滤除噪声。在对眼部图像进行预处理的步骤中,通过光线补偿增加眼部图像的整体亮度的方法为:S211:将眼部图像转化为对应的直方图,在本实施方式中,如图3所示,通过图像视觉库结合软件Visual studio2010将眼部图像转化为对应的直方图,其横坐标为灰度值,其纵坐标为灰度值所对应的像素个数。S212:根据直方图统计出眼部图像中所有像素点的灰度值。S213:确定像素灰度值的基准,将眼部图像的像素点的灰度值依据基准进行光线补偿。在本实施方式中,确定像素灰度值的基准的方法为:选择所有像素点中一定数量的像素点的灰度值的平均值作为基准,在本发明的一个更加优选的实施方式中,选取5%-10%的像素点的灰度值的平均值作为基准。优选采用8%的像素点的灰度值的平均值作为基准。本发明选择所有像素点中的部分像素点的灰度值的平均值作为基准,选取的比例可以根据实际需要调整,提高了方法的灵活性。在确定基准后,将眼部图像的像素点的灰度值依据基准进行光线补偿。在本实施方式中,可以对所有的像素点的灰度值进行光线补偿,也可以对除确定基准所选取的像素点以外的其他所有像素点的灰度值进行光线补偿。在本实施方式中,具体光线补偿的方法可以为但不限于按比例系数进行补偿的方法,取基准灰度值的一定比例系数加到所有的像素点的灰度值上,例如取基准灰度值的50%加到所有的像素点的灰度值上,从而实现对所有的像素点的灰度值的光线补偿,增强了眼部图像的亮度。 本发明通过增加眼部图像的整体亮度,对于一些模糊像素点或者模糊图像也能够快速准确地进行通孔定位,提高了准确性。在对眼部图像进行光线补偿后,滤除眼部图像的噪声,在本实施方式中,滤波器采用非线性滤波器,可以采用但不限于均值滤波器或和中值滤波器,优选采用中值滤波器,在本发明的一种更加优选的实施方式中,采用二维的中值滤波器滤除眼部图像的噪声,具体的实现过程如下:用一个含有奇数点的滑动窗口在图像上滑动,将窗口中心点对应图像像素点的灰度值用窗口内的中间值代替。由于眼部图像是二维的,采用二维滤波器,该滤波器可由下式表示: =( I )其中,S表示滤波窗口,为图像像素的序列,yi;J为滤波器的输出。本发明采用中值滤波和光线补偿的预处理方法,具有对模糊的、偏暗的、由噪声的眼部图像进行提升亮度和滤除噪声的能力,提高了瞳孔定位的准确性。第二步:统计眼部图像的所有像素点的最大类间方差,在本发明的另一种优选实施方式中,也可以采用改进的最大类间方差计算方法,即并不是计算所有像素点的最大类间方差,而是计算某一部分像素点的最大类间方差,具体的方法可以为但不限于根据眼部图像直方图,统计出眼部图像中未出现的像素灰度值,计算余下像素的最大类间方差,在本实施方式中,计算最大类间方差的方法为:S231:得到眼部图像的直方S232:在直方图中确定眼部图像中像素数目为零的像素灰度值;S233:确定眼部图像中像素数目不为零的像素灰度值,计算像素数目不为零的像素灰度值的最大类间方差。本发明的最大类间方差计算方法,只需要计算像素数目不为零的像素灰度值的最大类间方差,提高了计算速度。在本发明的一种优选实施例中,选取眼部图像的前景和背景的分割阈值,当最大类间方差最大时,分割阈值为分割的最佳阈值。本发明利用改进型的最大类间方差法实现自适应阈值提取,具有阈值合适、自适应、速度快的优点。在本实施方式中,在第一步中对预处理的眼部图像做直方图处理后,然后采用改进的最大类间方差法求取统计出图像中未出现的像素灰度值,仅计算余下像素的最大类间方差。如图3所示,该直方图在图像灰度值为0-35之间及210-255之间的这两部份灰度值所对应的像素数目都为零,因此在求取最大类间方差时,先将图像中这两部分像素灰度值统计出来,不计算其所对应的类间方差值,只对余下的像素进行计算。计算最大类间方差的原理如下:计t为图片前景和背景的分割阈值,其中前景点数占整个图像比例为w0,其图像平均灰度值为u0,背景点数占图像比例为wl,其图像平均灰度值为ul,于是可计算得图像总平均灰度为U。从最小灰度值到最大灰度值遍历为t,当t使得类间方差值g最大时,此时t即为分割的最佳阈值。设图像大小为M*N像素,L为图像灰度值的级别,在本实施方式中,L的取值为1-255,设图像中像素的灰度值小于t的像素个数记作NO,像素灰度大于t的像素个数记作NI,可计算得:
权利要求
1.一种眼控鼠标实现方法,其特征在于,包括如下步骤: S1:获取眼部图像; 52:对所述眼部图像中的瞳孔位置进行检测及定位; 53:建立所述眼部视线方向与屏幕的映射关系; 54:实时监控眼部视线方向,根据所述眼部视线方向与屏幕的映射关系,确定所述眼部视线在所述屏幕上的注视点; 55:确定鼠标的工作模式,所述工作模式包括鼠标移动模式、单击模式和双击模式; S6:在所述屏幕上眼部视线的注视点处显示鼠标并按照所述工作模式进行工作。
2.如权利要求1所述的眼控鼠标实现方法,其特征在于,所述步骤S2中瞳孔的定位方法为: 521:对所述眼部图像进行预处理,增加所述眼部图像的整体亮度,以及滤除所述眼部图像的噪声; 522:统计所述眼部图像的所有像素点的最大类间方差; 523:根据所述最大类间方差,计算所述眼部图像二值化的最佳阈值,实现眼部图像二值化处理; 524:提取瞳孔边缘信息; 525:确定瞳孔中心及半径。
3.如权利要求2所述的眼控鼠标实现方法,其特征在于,在对所述眼部图像进行预处理的步骤中,增加所述眼部图像的整体亮度的方法为: 5211:将所述眼部图像转化为对应的直方图; 5212:根据所述直方图统计出所述眼部图像中所有像素点的灰度值; S213:确定像素灰度值的基准,将所述眼部图像的像素点的灰度值依据所述基准进行光线补偿。
4.如权利要求2所述的眼控鼠标实现方法,其特征在于,所述确定像素灰度值的基准的方法为:选择所有像素点中5%-10%的像素点的灰度值的平均值作为基准。
5.如权利要求2所述的眼控鼠标实现方法,其特征在于,所述步骤S22中统计所述眼部图像的所有像素点的最大类间方差的方法为: 5221:得到所述眼部图像的直方图; 5222:在所述直方图中确定所述眼部图像中像素数目为零的像素灰度值; 5223:确定所述眼部图像中像素数目不为零的像素灰度值,计算所述像素数目不为零的像素灰度值的最大类间方差。
6.如权利要求2或5所述的眼控鼠标实现方法,其特征在于,选取所述眼部图像的前景和背景的分割阈值,当所述最大类间方差最大时,所述分割阈值为分割的最佳阈值。
7.如权利要求2所述的眼控鼠标实现方法,其特征在于,提取瞳孔边缘信息的方法为: 若中心像素点的像素值为255,则不论其余相邻的8个像素点的像素值为何值,一律保留中心像素点的像素值为255 ; 若中心像素点的像 素值为O,且相邻的8个像素点的像素值均为O,则将中心像素点的像素值改变为255 ; 其余情况时,全部将中心像素点的像素值改为O。
8.如权利要求1所述的眼控鼠标实现方法,其特征在于,建立所述眼部视线方向与屏幕的映射关系的步骤为: 531:在屏幕上依次显示M个标定点,所述M为正整数; 532:当眼睛在注视着每一个标定点时,摄像机检测红外光源发出的光线经过瞳孔中心反射后在屏幕上的N个对应点,所述N为正整数; 533:对每一个标定点检测的N个对应点进行分析,得到一个等效对应点; 534:建立瞳孔中心与标定点的对应关系。
9.一种眼控鼠标实现系统,其特征在于,包括:红外光源、摄像机、屏幕和控制单元,所述控制单元包括眼部图像获取模块和核心处理模块; 所述红外光源和摄像机按照权利要求8所示的方法建立眼部视线方向与屏幕的映射关系; 所述眼部图像获取模块用于采集眼部图像; 所述核心处理模块与所述眼部图像获取模块相连,用于接收所述眼部图像并判断瞳孔的中心,以及按照权利要求1-7之一所述的方法实现眼控鼠标的工作并通过屏幕进行显/Jn ο
10.如权利要求9所述的眼控鼠标实现系统,其特征在于:所述核心处理模块包括瞳孔中心判断模块、标定模块和视 线跟踪模块,所述瞳孔中心判断模块与所述眼部图像获取模块相连,用于接收眼部图像并判断瞳孔的中心,所述标定模块用于建立所述眼部视线方向与屏幕的映射关系,所述视线跟踪模块分别与瞳孔中心判断模块和所述标定模块相连,所述视线跟踪模块根据所述瞳孔中心判断模块判断的瞳孔中心以及所述眼部视线方向与屏幕的映射关系确定眼睛在屏幕上的注视点并模拟鼠标实现跟踪操作。
全文摘要
本发明提出了一种眼控鼠标实现方法及系统,该方法包括如下步骤获取眼部图像;对眼部图像中的瞳孔位置进行检测及定位;建立眼部视线方向与屏幕的映射关系;实时监控眼部视线方向,根据眼部视线方向与屏幕的映射关系,确定眼部视线在屏幕上的注视点;确定鼠标的工作模式;在屏幕上眼部视线的注视点处显示鼠标并按照所述工作模式进行工作。本发明能够利用眼睛视线方向准确地控制鼠标的运动,实现眼控鼠标的功能。
文档编号G06K9/00GK103176607SQ20131013039
公开日2013年6月26日 申请日期2013年4月16日 优先权日2013年4月16日
发明者王东强, 唐云建, 黄丽丽, 韩鹏, 孙怀义, 莫斌 申请人:重庆市科学技术研究院