一种基于视线跟踪技术的鼠标指针控制方法及系统的制作方法
【技术领域】
[0001] 本发明涉及一种基于视线跟踪技术的鼠标指针控制方法及系统,属于机器视觉和 人机交互技术领域。
【背景技术】
[0002] 随着计算机技术的高速发展,特别是图形用户界面诞生以来,我们与计算机的交 互变得更加容易、快捷。网络购物、信息查询、辅助办公、多媒体娱乐等功能为我们的生活和 工作提供了方便,带来了乐趣。然而,目前存在的交互方式大都需要人手操作,从而对上肢 残障人士或上肢不便者造成现代信息共享障碍,仅仅通过手操作鼠标和键盘来实现与电脑 的交互,将众多想要享受其便利的上肢残疾的人拒之门外。
[0003] 目前,国内通常采用的鼠标指针控制系统是以硬件为基础的鼠标指针控制方法, 以硬件为基础的方法需要用户带上特制的头盔、特殊的隐形眼镜、或者使用头部固定支架、 置于用户头顶的摄像机等,对用户的干扰较大。
[0004] 因此,有必要在上述鼠标指针控制系统的基础上提出一种准确、实时、且有较好用 户体验的鼠标指针控制系统,从而帮助残障、专业技术人员在无法使用双手的情况下实现 与计算机等设备的人机交互。
【发明内容】
[0005] 本发明提供了一种基于视线跟踪技术的鼠标指针控制方法及系统,以用于解决现 有鼠标指针控制方法主要依靠双手,人机交互性较差,使得很多残疾人无法使用鼠标的问 题。
[0006] 本发明的技术方案是:一种基于视线跟踪技术的鼠标指针控制方法,所述方法的 具体步骤如下:
[0007] Stepl、通过摄像头采集图像数据,为下一步图像的处理提供数据;
[0008] Step2、使用Viola-Jones算法对采集到的第n帧图像数据进行人眼区域的检测:
[0009] 采取单眼检测策略,在采集到图像中,仅检测左右任意眼区域,如果检测到人眼区 域,则记录该人眼区域为Wn;接着执行步骤Step3 ;
[0010] 如果没有检测到人眼区域,则返回步骤St印1 ;
[0011] Step3、在检测到的人眼区域Wn内使用Harris角点算法提取Harris角点,并记 录Harris角点位置为pYpn2、pn3~pnn;并由第n帧所有角点位置计算得到其中心位置
,接着执行步骤Step4 ;
[0012] St印4、重新获取一帧图像n+1,重复St印1~St印3,得到第n+1帧的人眼区域Wn+1 和Harris角点位置p11'、pn+12、pn+V"pn+1n;
[0013] St印5、根据检测到的前后帧Harris角点位置进行匹配操作,匹配方法如下:
[0014] 以每个Harri角点为中心,将其邻域窗口M的像素值作为该Harris角点的描述 符,对于图像n中的每一个Harris角点<分别计算其与图像n+1中提取的各个Harris角 点<+1的邻域值差的平方和
'取其最小值作为图像n+1与 图像n匹配成功的Harris角点;
[0015] 若匹配成功的角点大于等于三个,则执行Step6,否则返回Step3 ;
[0016] Step6、若根据步骤Step5匹配成功的角点分别为p*\、pn2、p*V"pnn,pn+\、pn+12、 Pn+13-Pn+In,则计算其移动平均位移量
并根据和第n帧 Harris角点的中心位置(X,y)和前后帧间Harris角点的平均移动矢量控制鼠标指针移动, 则得到最终的鼠标指针移动方向为(x+dx,y+dy)。
[0017] 一种基于视线跟踪技术的鼠标指针控制系统,包括:
[0018] 图像采集模块,用于通过摄像头采集图像数据,为下一步图像的处理提供数据;
[0019] 人眼检测模块,用于对采集到的图像数据进行人眼区域的检测;
[0020] 特征点提取模块,用于在检测到的人眼区域内提取Harris角点,并计算检测到的 Harris角点中心位置;
[0021] 特征点匹配模块,用于对检测到的前后帧人眼Harris角点进行匹配;
[0022] 鼠标指针控制模块,用于根据前后两帧中人眼Harris角点的平均位移量控制鼠 标指针的移动。
[0023] 本发明的工作原理是:
[0024] 所述特征点提取模块Harris角点检测算法的使用如下:
[0025] Harris算子直接利用图像的灰度信息进行检测,广泛地应用在目标识别与跟踪、 运动检测等领域。其基本原理是用图像局部窗口内的平均灰度变化率来表示该窗口中心像 素点的角点量,灰度变化越显著,该点的角点量越大。记像素点(x,y)的灰度为f(x,y),图 像每个像素点(x,y)移动(u,v)的灰度强度变化表示为:
[0027] 其中《u,v为高斯窗口在(u,v)处的系数,对图像进行平滑滤波。在Harris角点 检测算法中:
分别反映图像在不同方向上的灰度变化,若某一像素点(x,y)在每 个方向都发生了较大的灰度变化,则提取为角点。
[0028] 令
,则M称为像素点(x,y)的自相关矩阵并由此得到Harris 的角点相应函数(CRF)的表达式为:CRF(x,y) =det(M)_k[trace(M)]2。其中det(M)表示 矩阵M的行列式,trace(M)表示矩阵的迹。当所检测像素点的CRF值大于算法给定阈值0. 2 时,该像素点即为角点。
[0029] 本发明的有益效果是:
[0030] 本发明是一种基于视线跟踪技术的鼠标指针控制方法及系统,它是针对现有鼠标 指针控制方法的不足而提出来的。通过使用本鼠标指针控制系统,使双手有残疾的人员能 够在双手行动受到限制的情况下对鼠标指针进行控制,并且达到了良好的控制效果;使残 疾人能尽可能的正常工作和生活;同时对于四肢健全的人来说本发明可以将人的双手解放 出来做一些其他重要的工作,另外,利用本发明还可以帮助长期使用鼠标的人预防一些职 业疾病,如肩周炎、小臂肌肉麻木等。
[0031] 通过结合了 Viola-Jones人眼检测算法、Harris角点提取算法。这样不仅保证了 特征点的检测,还能通过Harris角点的多重匹配提高系统精度,从而实现了鼠标指针控制 系统的准确性、实时性。
【附图说明】
[0032] 图1为本发明的整体模块框图;
[0033] 图2为本发明中系统算法原理流程图;
[0034] 图3为本发明中人眼特征检测流程图;
[0035] 图4为本发明中鼠标指针控制原理图;
[0036] 图5为本发明中鼠标指针控制效果图;
[0037] 图6为其他同类鼠标指针控制系统控制效果图。
【具体实施方式】
[0038] 实施例1 :如图1-6所示,一种基于视线跟踪技术的鼠标指针控制方法,所述方法 的具体步骤如下:
[0039] Stepl、通过摄像头采集图像数据,为下一步图像的处理提供数据;
[0040] Step2、使用Viola-Jones算法对采集到的第n帧图像数据进行人眼区域的检测:
[0041] 采取单眼检测策略,在采集到图像中,仅检测左右任意眼区域,如果检测到人眼区 域,则记录该人眼区域为wn;接着执行步骤Step3 ;
[0042] 如果没有检测到人眼区域,则返回步骤Stepl;
[0043] Step3、在检测到的人眼区域Wn内使用Harris角点算法提取Harris角点,并记 录Harris角点位置为pYpn2、pn3~pnn;并由第n帧所有角点位置计算得到其中心位置
,接着执行步骤Step4 ;
[0044]Step4、重新获取一帧图像n+1,重复Stepl~Step3,得到第n+1帧的人眼区域Wn+i 和Harris角点位置p11'、pn+12、pn+V"pn+1n;
[0045]St印5、根据检测到的前后帧Harris角点位置进行匹配操作,匹配方法如下:
[0046] 以每个Harri角点为中心,将其邻域窗口M的像素值作为该Harris角点的描述 符,对于图像n中的每一个Harris角点式分别计算其与图像n+1中提取的各个Harris角 点/T1的邻域值差的平方和:
'取其最小值作为图像n+1与 图像n匹配成功的Harris角点;
[0047] 若匹配成功的角点大于等于三个,则执行Step6,否则返回Step3;
[0048]Step6、若根据步骤Step5匹配成功的角点分别为p*\、pn2、p*V"pnn,pn+\、pn+12、 Pn+13-Pn+In,则计算其移动平均位移量
,并根据和第n帧 Harris角点的中心位置(X,y)和前后帧间Harris角点的平均移动矢量控制鼠标指针移动, 则得到最终的鼠标指针移动方向为(x+dx,y+dy)。
[0049] 所述的基于视线跟踪技术的鼠标指针控制系统,包括:
[0050]图像采集模块,用于通过摄像头采集图像数据,为下一步图像的处理提供数据;
[0051] 人眼检测模块,用于对采集到的图像数据进行人眼区域的检测;
[0052] 特征点提取模块,用于在检测到的人眼区域内提取Harris角点,并计算检测到的 Harri s角点中心位置;
[0053] 特征点匹配模块,用于对检测到的前后帧人眼Harris角点进行匹配;
[0054] 鼠标指针控制模块,用于根据前后两帧中人眼Harris角点的平均位移量控制鼠 标指针的移动。
[0055] 实施例2 :如图1-6所示,一种基于视线跟踪技术的鼠标指针控制方法,所述方法 的具体步骤如下:
[0056]Stepl、通过摄像头采集图像数据,为下一步图像的处理提供数据;
[0057] 具体为:选取配置CPU为Intel酷睿2双核T66702. 2GHz,3GBDDR31066内存,摄 像头为笔记本自带集成130万像素摄像头(640*480)的笔记本电脑作为硬件平台,操作系 统为Window7;
[0058]Step2、使用Viola-Jones算法对采集到的第n帧图像数据进行人眼区域的检测:
[0059] 具体为:鉴于人眼位置在面部中间且对称,单一眼睛的移动即可较好的反映人眼 的移动轨迹,因此为了保证本系统的实时性,本发明采取单眼检测策略如果检测到人眼区 域,当人脸向右偏转时,则检测左眼区域,当人脸向左偏转时,则检测右眼区域。记录检测到 的人眼区域W n,接着执行步骤Step3 ;
[0060] 如果没有检测到人眼区域,则返回步骤Stepl;
[0061] 具体为:使用Viola-Jones算法对采集到的的第n帧图像数据进行人眼区域的检 测的流程如图3所示:首先截取图像进入分类器,然后判断是否为系统所需要的人眼区域, 若是,则由系统标注人眼区域所在位置;若没有检测到人眼区域,则重新截取图像进入分类 器;
[0062] 不同参数下检测一帧所用时间如表1所示:
[0063] 表1不同参数下检测一帧所用时间
[0065] Step3、在检测到的人眼区域Wn内使用Harris角点算法提取Harris角点,并记 录Harris角点位置为pYpn2、pn3~pnn;并由第n帧所有角点位置计算得到其中心位置
,接着执行步骤Step4。
[0066] 具体为:使用Harris角点检测算法对Step2中得到的人眼区域进行Harris角 点提取操作,这样做的目的是为求得Harris角点的平均位移矢量,从而提升系统的整体精 度;
[0067] Step4、重新获取一帧图像n+1,重复Stepl~Step3,得到第n+1帧的人眼区域Wn+i 和Harris角点位置p11'、pn+12、pn+V"pn+1n;
[0068] Step5、根据检测到的前后帧Harris角点位置进行匹配操作;
[0069] 具体为:以每个Harri角点为中心,将其邻域窗口 0的像素值作为该Harris角 点的描述符,对于图像n中的每一个Harris角点W分别计算其与图像n+1中提取的各个 Harris角点f+1的邻域值差的平方和
取其最小值作为图 像n+1与图像n匹配成功的Harris角点;
[0070] 若匹配成功的角点大于等于三个,则执行Step6,否则返回Step3 ;
[0071] St印6、若根据步骤St印5匹配成功的角点分别为pYpn2、pnfpnn,pn+\、pn+12、 Pn+13-Pn+1n,则计算其移动平均位移量
,并根据和第n帧 Harris角点的中心位置(X,y)和前后帧间Harris角点的平均移动矢量控制鼠标指针移动, 则得到最终的鼠标指针移动方向为(x+dx,y+dy)。
[0072] 如图4所示为鼠标指针控制原理图,通过对前后帧人眼区域内的Harris角点进行 匹配得到其平均移动矢量,然后根据第n帧中Harris角点的中心位置作为起点来控制鼠标 指针移动。
[0073] 图5所示为本发明鼠标指针控制效果图。将图5与图6所示其他同类鼠标指针控 制系统控制效果图(图6为Kalman滤波器的鼠标指针控制系统效果图)相对比可以看出, 本发明的鼠标指针控制效果流畅,能较为准确的达到所需特征点,有较高的使用价值。
[0074] -种基于视线跟踪技术的鼠标指针控制系统,包括:
[0075] 图像采集模块,用于通过摄像头采集图像数据,为下一步图像的处理提供数据;
[0076] 人眼检测模块,用于对采集到的图像数据进行人眼区域的检测;
[0077] 特征点提取模块,用于在检测到的人眼区域内提取Harris角点,并计算检测到的 Harris角点中心位置;
[0078] 特征点匹配模块,用于对检测到的前后帧人眼Harris角点进行匹配;
[0079] 鼠标指针控制模块,用于根据前后两帧中人眼Harris角点的平均位移量控制鼠 标指针的移动。
[0080] 上面结合附图对本发明的【具体实施方式】作了详细说明,但是本发明并不限于上述 实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前 提下作出各种变化。
【主权项】
1. 一种基于视线跟踪技术的鼠标指针控制方法,其特征在于:所述方法的具体步骤如 下: Stepl、通过摄像头采集图像数据,为下一步图像的处理提供数据; St印2、使用Viola-Jones算法对采集到的第η帧图像数据进行人眼区域的检测: 采取单眼检测策略,在采集到图像中,仅检测左右任意眼区域,如果检测到人眼区域, 则记录该人眼区域为Wn;接着执行步骤Step3 ; 如果没有检测到人眼区域,则返回步骤Stepl ; Step3、在检测到的人眼区域Wn内使用Harris角点算法提取Harris角点,并记 录Harris角点位置为P1V pn2、P1V-Pnn;并由第η帧所有角点位置计算得到其中心位置,接着执行步骤Step4 ; Step4、重新获取一帧图像n+1,重复Stepl~Step3,得到第n+1帧的人眼区域Wn+1和 Harris 角点位置 p11'、pn+12、pn+13··· pn+1n; Step5、根据检测到的前后帧Harris角点位置进行匹配操作,匹配方法如下: 以每个Harri角点为中心,将其邻域窗口 M的像素值作为该Harris角点的描述符,对 于图像η中的每一个Harris角点分别计算其与图像n+1中提取的各个Harris角点;7f+1 的邻域值差的平方和:'取其最小值作为图像n+1与图像η 匹配成功的Harris角点; 若匹配成功的角点大于等于三个,则执行St印6,否则返回St印3 ; St印6、若根据步骤St印5匹配成功的角点分别为P1V ρη2、ρη3···ρηη,pn+\、p n+12、pn+13··· Pn+1n,则计算其移动平均位移量,并根据和第η帧 Harris角点的中心位置(X,y)和前后帧间Harris角点的平均移动矢量控制鼠标指针移动, 则得到最终的鼠标指针移动方向为(x+dx,y+dy)。2. -种基于视线跟踪技术的鼠标指针控制系统,其特征在于:包括: 图像采集模块,用于通过摄像头采集图像数据,为下一步图像的处理提供数据; 人眼检测模块,用于对采集到的图像数据进行人眼区域的检测; 特征点提取模块,用于在检测到的人眼区域内提取Harris角点,并计算检测到的 Harri s角点中心位置; 特征点匹配模块,用于对检测到的前后帧人眼Harris角点进行匹配; 鼠标指针控制模块,用于根据前后两帧中人眼Harris角点的平均位移量控制鼠标指 针的移动。
【专利摘要】本发明涉及一种基于视线跟踪技术的鼠标指针控制方法及系统,属于机器视觉和人机交互技术领域。包括图像采集模块,用于通过摄像头采集图像数据,为下一步图像的处理提供数据;人眼检测模块,用于对采集到的图像数据进行人眼区域的检测;特征点提取模块,用于在检测到的人眼区域内提取Harris角点,并计算其角点中心位置;特征点匹配模块,用于对检测到的前后帧人眼Harris角点进行匹配;鼠标指针控制模块,用于根据前后两帧中人眼Harris角点的平均位移量控制鼠标指针的移动。本发明使双手有残疾的人员能够在双手行动受到限制的情况下对鼠标指针进行控制,并且达到了良好的控制效果;实现了鼠标指针控制系统的精确性、实时性。
【IPC分类】G06F3/0488
【公开号】CN104898971
【申请号】CN201510236724
【发明人】王彬, 翁政魁, 刘辉, 王瑞, 王坤
【申请人】昆明理工大学
【公开日】2015年9月9日
【申请日】2015年5月11日