CN111580674B - 一种眼控鼠标实现方法及识别眼动轨迹实现键盘输入方法 - Google Patents
一种眼控鼠标实现方法及识别眼动轨迹实现键盘输入方法 Download PDFInfo
- Publication number
- CN111580674B CN111580674B CN202010428089.7A CN202010428089A CN111580674B CN 111580674 B CN111580674 B CN 111580674B CN 202010428089 A CN202010428089 A CN 202010428089A CN 111580674 B CN111580674 B CN 111580674B
- Authority
- CN
- China
- Prior art keywords
- mouse
- movement
- code
- eye
- screen
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 114
- 230000004424 eye movement Effects 0.000 title claims abstract description 23
- 230000003993 interaction Effects 0.000 claims abstract description 10
- 238000007781 pre-processing Methods 0.000 claims abstract description 8
- 238000004364 calculation method Methods 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 7
- 230000004438 eyesight Effects 0.000 claims description 6
- 238000011176 pooling Methods 0.000 claims description 6
- 230000004913 activation Effects 0.000 claims description 5
- 230000004397 blinking Effects 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims 1
- 230000009467 reduction Effects 0.000 claims 1
- 238000013527 convolutional neural network Methods 0.000 abstract description 9
- 238000012360 testing method Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 206010044565 Tremor Diseases 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 208000035475 disorder Diseases 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 210000001747 pupil Anatomy 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000000087 stabilizing effect Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04812—Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Position Input By Displaying (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种眼控鼠标实现方法及识别眼动轨迹实现键盘输入方法,首先从网络摄像头读取一帧分辨率为640*480图像,经过人眼定位跟踪,人眼预处理等操作后,将预处理后的人眼图像输入卷积神经网络中以粗略预测人眼在电脑屏幕上的注视点然后利用该预测结果,使用三种鼠标移动方式,可以将鼠标光标精准移动到目标物体上并用类似眨眼的方式触发点击操作;提出了一种识别眼动轨迹实现键盘打字的方法,设计了打字的流程,设计了91种键盘键位对应的视线轨迹,可基本实现键盘上所有按键的输入。本发明可利用视线追踪不精确的定位结果,完成计算机上精确的交互,还可代替硬件键盘和鼠标;交互所需的额外采集设备为一个单目网络摄像头,成本低易获得。
Description
【技术领域】
本发明涉及属于视觉跟踪技术领域,具体涉及一种眼控鼠标实现方法及识别眼动轨迹实现键盘输入方法。
【背景技术】
现有的已经市场化的眼动仪技术成熟、精度高。完全可以满足所有的眼动研究以及眼动交互任务。但是眼动仪的价格通常在千元级别,设备比较昂贵。
科研人员研制的低成本硬件能解决特定人群的部分需求,但封闭的研发过程使得他们的技术不易普及。
一款简单、便捷且大多数人都容易获得的眼动交互技术有待开发。相较于昂贵的眼动仪,价格低廉的网络摄像头更易获得,大多数笔记本电脑就自带前置网络摄像头,可以提供现成的设备环境。
本发明的目的是利用最简单的网络摄像头作为眼动数据的采集设备。使用卷积神经网络粗略估计人眼视线方向,并提出一种可以高精度移动鼠标光标的方法,和一种采用视线轨迹的键盘输入方法,完成计算机上大部分常规输入功能。使普通人在使用计算机时能够解放双手,肢体障碍人士无需四肢就可以操控计算机。
【发明内容】
为解决上述问题,本发明提出了一种眼控鼠标实现方法及识别眼动轨迹实现键盘输入方法。
本发明的技术方案如下:
本发明粗略定位注视点所使用到的卷积神经网络是一个比较普通的网络结构,只做了参数和结构上的优化,使之其误差尽可能的减少。
不过由于这种神经网络预测人眼视线的方法是基于一个低分辨率平面图像的,与眼动仪这种能够获取瞳孔立体信息的设备相比误差较大,抖动范围也很大。难以稳定预测注视点完成操作鼠标和输入字符这种高精度的操作。所以基本没有研究人员利用这种方法来分析人眼焦点或是做交互应用的研究。因此本发明的创新点就是提出了使用低分辨率图像的卷积神经网络视线追踪方式在计算机上的交互办法:
1、利用视线追踪不精准的预测结果,提出了三种鼠标移动方式,可以精准移动到目标物体上。
2、提出了一种识别眼动轨迹实现键盘打字的方法,设计了打字的流程,设计了91种键盘键位对应的视线轨迹,可基本实现键盘上所有按键的输入。
本发明的技术方案如下:
一、一种眼控鼠标实现方法,包括以下步骤;
(1)从网络摄像头读取一帧分辨率为640*480图像,包含使用者的正脸。经过人眼定位跟踪,人眼预处理等操作后,得到最终作为识别和分析的人眼图像;
(2)将预处理后的人眼图像作为输入,首先经过两个卷积层进行卷积操作。卷积层用到20个卷积核,尺寸为(5,5),步长为(1,1),激活函数为Relu。在卷积提取特征完毕以后,经过池化层,池化层的尺寸为(2,2),步长为(2,2),随后将两张图片的特征进行融合,经过全链接层,激活函数tanh,得到两个输出参数,即预测的注视点在屏幕上的坐标x,y归一值。此外,也可采用其他主流的基于外观的注视估计办法来对视线的方向进行预测,预测所需的数据需要预处理后的人眼图像,也可能需要人脸姿态,角度等参数。但预测得出的结果都为预测的注视点在屏幕上的坐标x,y归一值。
(3)第(2)步视线追踪预测结果在屏幕上会存在平均2cm的误差,直接设置鼠标光标在该位置上抖动范围会很大,无法选择点击较小的目标,需采用交互用的鼠标光标移动的方法,有效控制光标移动的路线,并最终将它移动至使用者想要点击的目标位置处,使用其他方法触发鼠标点击;
上述用到的鼠标光标移动的方法有三种,分别是:凝视移动方法、相对中心移动方法和遥控移动方法;
凝视移动方法的功能是设置鼠标光标的初始位置,使鼠标光标基本移动到目标物体的附近:以目标物体为圆心,半径为2cm;
相对中心移动算法和遥控移动方法都是用来微调鼠标的位置,使鼠标光标可以精确地调整至目标物体上,从而进行点击操作;
鼠标移动方法的选择根据视线追踪误差大小的情况和使用者的习惯来进行设置:
1)如在视线追踪误差较大的情况下,需要先使用凝视移动来将鼠标调整到目标物体附近的位置;如果鼠标此时已经落在目标物体上,则直接眨眼触发鼠标点击;如果是落在目标物体附近,则使用相对中心移动或遥控移动,来细微调整鼠标的位置到目标物体上;
2)相对于相对中心移动和遥控移动,凝视移动是一种比较粗略的移动方法,所以不会在使用相对中心移动或遥控移动之后,再使用凝视移动的方法。
用帧数来记录时间,随帧数的增加,鼠标位置计算选择的移动方法可按如下变化:
第0~5帧:直接设置鼠标位置在视线追踪的预测点上。
第6~105帧:使用凝视移动方法。
第106~115帧:鼠标位置暂时确定,无法移动鼠标。
第116帧以后:根据使用者习惯,可用相对中心移动方法或是遥控移动方法调整鼠标位置;
此外,如识别到使用者单眼眨眼时不移动光标;如识别到使用者双眼眨眼0.5秒以上时重置帧计数为0,重新开始一个鼠标光标的位置调整。
1)凝视移动方法具体操作为:
鼠标不直接移动至视线预测点,而往视线预测点的方向进行修正,假设鼠标位置与预测点位置的距离为L1,则将鼠标往预测点方向移动D1的距离。D1的计算公式如式(5.1)。
D1=L1×W1 (5.1)
其中W1为修正的权重,W1越小鼠标移动得越慢,抖动越小,越稳定。
随着帧数的增加,将决定鼠标移动距离和稳定性的W1逐渐减小,移动的距离D1随之减小,鼠标会慢慢稳定下来。当W1减小至零时,移动距离D1也变为零,鼠标不再移动。
假设W1初始值为Wa,规定从0开始经过Fb个帧数后鼠标将不再移动,W1的数值随帧数F(0<F<Fb)线性变化的函数式如(5.2)所示。参考可取Wa=0.1,Fb=100。
2)相对中心移动方法是在鼠标当前的位置已经距离目标物体不远时,使用该方法微调鼠标的位置。
鼠标的移动方式为向预测点相对屏幕中心的方向移动,计算屏幕中心坐标与预测的注视点之间的距离L2,预测点相对屏幕中心在什么方向,鼠标就往其平行的方向移动D2的距离。D2的计算公式如式(5.3):
D2=L2×W2 (5.3)
同样有一个控制移动距离的权重W2。权重W2不随时间变化,而是依据具体情况设置具体数值,可取W2=0.005左右。
3)遥控移动方法的功能是在鼠标当前的位置已经距离目标物体不远时微调鼠标的位置;类似遥控器的左右上下四个方向键,鼠标只能在上下左右四个方向移动。将屏幕分成上下左右四个区域,当预测点出现在哪个区域,鼠标就往对应的方向进行移动,预测点出现在上方的区域,预测点与屏幕中心的y轴距离为L3,于是将鼠标向上移动D3个像素距离。控制移动距离的权重W3;权重W3也不随时间变化,而是依据具体情况设置具体数值,可取W3=0.005左右,D3的计算公式如式(5.4):
D3=L3×W3 (5.4)。
二、一种识别眼动轨迹实现键盘输入方法
(1)眼动轨迹输入编码的原理:
眼动轨迹用视线追踪控制的鼠标移动轨迹来表示,将一块屏幕分成四大区域;每个区域用一个顶点来表示,有四个顶点V1~V4,对应四个码元的输入,根据区域的联通情况有六条无向边e1~e6,是视线可移动的轨迹;
为避免误输入,可以把有效输入码元的区域缩小,每个代表顶点V的有效区域块长和宽分别占屏幕长宽的四分之一。
(2)输入编码的流程:
首先规定屏幕左上顶点V1是一个键位开始编码的标志;在未编码状态下,注视点移动到V1点所在区域,表示开始一个键位的编码输入,进入到编码状态;在编码状态中,利用视线追踪控制鼠标移动到不同区域输入码元。码元按顺序链接成编码串,当编码串有对应的前缀编码,或是判断编码错误时,前者弹出键位字符,后者提示错误信息;随后又变为未编码状态,等候注视点移动到屏幕左上顶点V1开始下一个编码的输入。
(3)设置键盘编码
1)编码有以下三个限制:
Ⅰ、每一个编码都不能是其他编码的前缀;
Ⅱ、屏幕区域V1是起始编码点,‘1’不能作为编码串的首个码元;
Ⅲ、不能连续输入相同的码元,编码串中相邻的码元不能相同;
2)键盘编码的设置:
1)数字与符号类键位包含10个数字键位和11个符号键位,共21个字符键位,统一使用首个码元为‘2’的前缀编码;
2)字母类键位包含26个键位,加上常伴随字母一起输入的空格键,共包含27个字符键位,统一使用首个码元为‘3’的前缀编码;
3)特殊类键位常用的与不常用的一共包含43个键位,统一使用首个码元为‘4’的前缀编码。
本发明具有以下优点:
1、利用视线追踪不精确的定位结果,完成计算机上精确的交互;
2、交互所需的额外采集设备为一个单目网络摄像头,成本低易获得。
3、能够完成计算机上大部分常规交互功能,可代替硬件键盘和鼠标。
【附图说明】
图1输入图片的样例
图2卷积神经网络结构
图3凝视移动方法
图4相对中心移动方法
图5遥控移动方法
图6部分眼动轨迹对应编码和键位
图7屏幕划分
图8编码的流程
图9字母类键位编码过程
图10常用键盘键位编码
图11鼠标点击测试过程
图12鼠标点击测试结果
图13眼动轨迹打字过程
图14眼动轨迹打字测试结果
图15作为训练卷积神经网络用的数据
图16鼠标光标移动轨迹
图17视线追踪测试效果
图18眼睛图像的获取以及预处理过程
【具体实施方式】
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅用于解释本发明,并不用于限定本发明。
本发明的技术方案如下:
一、眼控鼠标实现方法
步骤1、首先从网络摄像头读取一帧分辨率为640*480图像,包含使用者的正脸。经过人眼定位跟踪,人眼预处理等操作后,得到最终作为识别和分析的人眼图片,如图1所示。
步骤2、采用的卷积神经网络结构如图2所示。将预处理后的人眼图像作为输入,首先经过两个卷积层进行卷积操作。卷积层用到20个卷积核,尺寸为(5,5),步长为(1,1),激活函数为Relu。在卷积提取特征完毕以后,经过池化层,池化层的尺寸为(2,2),步长为(2,2),随后将两张图片的特征进行融合,经过全链接层,激活函数tanh,得到两个输出参数,即预测的注视点在屏幕上的坐标x,y归一值。此外,也可采用其他主流的基于外观的注视估计办法来对视线的方向进行预测,预测所需的数据需要预处理后的人眼图像,也可能需要人脸姿态,角度等参数。但预测得出的结果都为预测的注视点在屏幕上的坐标x,y归一值。
步骤3、视线追踪预测结果在屏幕上会存在平均2cm的误差,直接设置鼠标光标在该位置上抖动范围会很大,无法选择点击较小的目标。为此提出了三种交互用的鼠标光标移动的方法,可以有效控制光标移动的路线,并最终将它移动至使用者想要点击的目标位置处,使用其他方法触发鼠标点击。
用到的三种鼠标光标移动的方法分别是:凝视移动方法、相对中心移动方法和遥控移动方法。
凝视移动方法的功能是设置鼠标光标的初始位置,使鼠标光标基本移动到目标物体的附近:以目标物体为圆心,半径为2cm;
相对中心移动算法和遥控移动方法用来微调鼠标的位置,使鼠标光标可以精确地调整至目标物体上,从而进行点击操作。
鼠标移动方法的选择根据视线追踪误差大小的情况和使用者的习惯来进行设置;
例如,用帧数来记录时间,随帧数的增加,鼠标位置计算选择的移动方法可按如下变化:
第0~5帧:直接设置鼠标位置在视线追踪的预测点上。
第6~105帧:使用凝视移动方法。
第106~115帧:鼠标位置暂时确定,无法移动鼠标。
第116帧以后:根据使用者习惯,可用相对中心移动方法或是遥控移动方法调整鼠标位置。
此外,如识别到使用者单眼眨眼时不移动光标;如识别到使用者双眼眨眼0.5秒以上时重置帧计数为0,重新开始一个鼠标光标的位置调整。
直接设置鼠标在视线追踪的预测点上鼠标会非常抖,抖动的幅度约为半径2cm的圆形,加上眨眼点击的瞬间眼姿势的变化会导致预测点的变化影响到鼠标位置,基本无法点击到精确的目标。凝视移动鼠标的方法相比于直接设置鼠标在视线追踪的预测点上更加精确,凝视移动鼠标会根据预测点的结果使鼠标慢慢稳定在屏幕上的一个点上,解决了鼠标抖动的问题。但受预测点误差的限制,最终鼠标稳定到的那个点可能并不是在我们真正想要点击的目标上方,并且预测点基本不会预测到屏幕最边角的位置,边角位也是鼠标移动的盲点区域。所以在使用凝视移动方法将鼠标稳定到一个位置以后,还需要轻微调整鼠标的位置,相对中心移动方法和遥控移动方法都可以达到微调鼠标的效果,他们移动鼠标的平均速度大约是1cm/s,都可以弥补凝视移动方法的问题。但使用相对中心移动算法或是遥控移动算法的前提是,鼠标光标的位置已经离目标物体相距不远了(比如:在目标物体半径2cm的范围内)。
所以,在视线追踪误差较大的情况下,一般来说需要先使用凝视移动来将鼠标调整到目标物体附近的位置,如果鼠标此时已经落在目标物体上,则可以直接眨眼触发鼠标点击。如果是落在目标物体附近,则使用后两种方法:相对中心移动和遥控移动,来细微调整鼠标的位置到目标物体上。
相对于后两种移动方法,凝视移动是一种比较粗略的移动方法,所以一般不会不会在使用相对中心移动或遥控移动之后,再使用凝视移动的方法。
至于怎么使用这三种方法则可以根据视线追踪误差大小的情况和使用者的习惯,灵活组合。
如使用的顺序可以是:
①凝视移动→相对中心移动
例如:第0~5帧:直接设置鼠标位置在视线追踪的预测点上,第5~60帧:使用凝视移动,第60~70帧:鼠标位置暂时确定,无法移动鼠标,第70帧以后:使用相对中心移动。
②凝视移动→遥控移动
例如:第0~60帧:使用凝视移动方法,第60帧以后:使用遥控移动
③凝视移动→相对中心移动→遥控移动
例如:第0~5帧:直接设置鼠标位置在视线追踪的预测点上,第5~60帧:使用凝视移动方法,第60~70帧:鼠标位置暂时确定,无法移动鼠标,第70~100帧:使用相对中心移动,第100~110帧:鼠标位置暂时确定,无法移动鼠标。第110帧以后:使用遥控移动
④凝视移动→遥控移动→相对中心移动
例如:第0~60帧:使用凝视移动方法,第60~100帧:使用遥控移动。第100帧以后:使用相对中心移动
此外如果使用者使用得很熟练,或是视线追踪的误差相对不大的情况下,他也可以用下面的方式来设置鼠标位置
⑤只采取相对中心移动
第0~40帧:直接设置鼠标位置在视线追踪的预测点上,第40帧以后:使用相对中心移动调整鼠标位置。
⑥只采取遥控移动
第0~40帧:直接设置鼠标位置在视线追踪的预测点上,第40帧以后:使用遥控移动调整鼠标位置。
以下是三种鼠标移动方法的具体说明。
(1)凝视移动方法
鼠标不直接移动至视线预测点,而往视线预测点的方向进行修正,如图3所示。假设鼠标位置与预测点位置的距离为L1,则将鼠标往预测点方向移动D1的距离。D1的计算公式如式(5.1)。
D1=L1×W1 (5.1)
其中W1为修正的权重,W1越小鼠标移动得越慢,抖动越小,越稳定。
随着帧数的增加,将决定鼠标移动距离和稳定性的W1逐渐减小,移动的距离D1随之减小,鼠标会慢慢稳定下来。当W1减小至零时,移动距离D1也变为零,鼠标不再移动。
假设W1初始值为Wa,规定从0开始经过Fb个帧数后鼠标将不再移动,W1的数值随帧数F(0<F<Fb)线性变化的函数式如(5.2)所示。参考可取Wa=0.1,Fb=100。
(2)相对中心移动方法
相对中心移动方法是在鼠标当前的位置已经距离目标物体不远时,使用该方法微调鼠标的位置。
鼠标的移动方式为向预测点相对屏幕中心的方向移动,如4所示。计算屏幕中心坐标与预测的注视点之间的距离L2,预测点相对屏幕中心在什么方向,鼠标就往其平行的方向移动D2的距离。D2的计算公式如式(5.3)。
D2=L2×W2 (5.3)
同样有一个控制移动距离的权重W2。权重W2不随时间变化,而是依据具体情况设置具体数值,可取W2=0.005左右。
(3)遥控移动方法
遥控移动方法的功能是在鼠标当前的位置已经距离目标物体不远时微调鼠标的位置;类似遥控器的左右上下四个方向键,鼠标只能在上下左右四个方向移动。将屏幕分成上下左右四个区域,当预测点出现在哪个区域,鼠标就往对应的方向进行移动。如图5所示,预测点出现在上方的区域,预测点与屏幕中心的y轴距离为L3,于是将鼠标向上移动D3个像素距离。控制移动距离的权重W3。权重W3也不随时间变化,而是依据具体情况设置具体数值,可取W3=0.005左右。D3的计算公式如式(5.4):
D3=L3×W3 (5.4)。
二、识别眼动轨迹实现键盘输入方法
(1)技术介绍和术语定义
本文用前缀编码表示不同的视线轨迹,不同的视线轨迹可以输入不同的键盘字符。一个键盘键位对应的前缀编码称为键盘键位编码或编码,每个编码内的单个符号称为码元。正在进行码元拼接的字符串称为编码串。如:在键盘键位‘Aa’的前缀编码‘101’中,‘101’称为键位编码或编码,‘0’和‘1’称为码元,拼接码元的过程中‘1’、‘10’‘101’都可称为编码串。
部分眼动轨迹对应的前缀编码和键位如图6所示,图中(‘①’‘②’‘③’‘④’)表示视线移动的顺序,(‘1’‘2’‘3’‘4’)表示码元。
(2)眼动轨迹输入编码的原理
眼动轨迹用视线追踪控制的鼠标移动轨迹来表示,如图7(a)码元区域划分和视线轨迹所示,将一块屏幕分成四大区域。每个区域用一个顶点来表示,有四个顶点V1~V4,对应四个码元的输入。根据区域的联通情况有六条无向边e1~e6,是视线可移动的轨迹。
为避免误输入,可以把有效输入码元的区域缩小,优化后如图7(b)码元有效输入区域所示,每个代表顶点V的有效区域块长和宽分别占屏幕长宽的四分之一。
(3)输入编码的流程
为了区分编码的开始与结束,输入键盘键位编码的流程如图8所示:规定屏幕左上顶点V1是一个键位开始编码的标志。在未编码状态下,注视点移动到V1点所在区域,表示开始一个键位的编码输入,进入到编码状态。在编码状态中,利用视线追踪控制鼠标移动到不同区域输入码元。码元按顺序链接成编码串,当编码串有对应的前缀编码,或是判断编码错误时,前者弹出键位字符,后者提示错误信息。随后又变为未编码状态,等候注视点移动到屏幕左上顶点V1开始下一个编码的输入。
(4)设置键盘编码
1)编码有以下三个限制:
Ⅰ、每一个编码都不能是其他编码的前缀。
Ⅱ、屏幕区域V1是起始编码点,‘1’不能作为编码串的首个码元。
Ⅲ、不能连续输入相同的码元,编码串中相邻的码元不能相同。
数字与符号类键位包含10个数字键位和11个符号键位,共21个字符键位,统一使用首个码元为‘2’的前缀编码。
字母类键位包含26个键位,加上常伴随字母一起输入的空格键,共包含27个字符键位,统一使用首个码元为‘3’的前缀编码。
特殊类键位常用的与不常用的一共包含43个键位,统一使用首个码元为‘4’的前缀编码。
以字母类键位为例,使用树来模拟编码过程如图9所示。
对数字与符号键位以及特殊类键位进行相似的编码操作后,部分常用按键的前缀编码如图10所示。
以下是本发明设计的所有键盘键位对应的编码轨迹
(1)字母类键盘键位编码
(2)数字和符号类键盘键位编码
(3)特殊键类键盘键位编码
三、测试结果
1、鼠标移动的测试结果
在画图软件中放置不同长宽的方块,如图11所示。让测试者控制鼠标移动到方块的内部,用眨眼的方式触发鼠标点击。较有经验的使用者在控制鼠标点击时,点击到0.25cm×0.25cm相当于一个勾选框大小的方块内部的成功率有50%。图12是详细的测试结果。
2、键盘输入的测试结果
在work软件中输入文本,如图13所示。让测试者利用视线轨迹来键入英文字符。打字的平均速度在8秒一个字符。图14是两次打字的测试结果。
四、补充说明
1、眼睛图像的获取以及预处理过程,如图18所示
2、视线追踪的校准过程
校准时摄像头放置于电脑屏幕上方,使用者正对电脑屏幕,距离摄像头约45cm。使用者移动鼠标光标,并时刻注视鼠标光标,计算机记录下此时使用者的双眼图片以及鼠标光标的位置作为卷积神经网络的训练样本,样本如图15所示。
校准时鼠标光标在屏幕上按图16的轨迹进行移动,在每秒30帧的摄像头采样速率的条件下用时17秒,采集约500张的样本即能完成校准的步骤,随后就可以采用本发明的方法进行应用。
3、使用低分辨率眼睛图像的视线追踪在计算机上进行交互的难点
在光照等外部环境正常的情况下,使用者经过15秒的校准,立刻测试视线追踪的效果。如图17所示,让测试者分别注视电脑屏幕上12个半径为0.6cm的圆形,并记录下测试者注视每一个圆形时的连续10帧的预测点。
可以发现,神经网络输出的预测点不仅与使用者的实际注视点存在偏差,而且在使用者注视圆形眼睛不动时,预测点也不是稳定在一个点上的。因此这种基于低分辨率图像的视线追踪方法并不能用于视线焦点的研究,更不用说用在操控鼠标点击这种高精度的操作上了。
虽然这种基于低分辨率图像、使用卷积神经网络的视线追踪方法有较大的误差,但是它的预测点是可以覆盖到整个屏幕的。于是可以使用某种方法把鼠标移动到自己想要点击的目标上,本发明就提供了三种鼠标移动的方法,熟练的使用者可以使用该办法将鼠标移动到精确的位置。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种眼控鼠标实现方法,其特征在于:所述眼控鼠标的方法包括以下步骤;
(1)从网络摄像头读取一帧分辨率为640*480图像,包含使用者的正脸;经过人眼定位跟踪,人眼预处理操作后,得到最终作为识别和分析的人眼图像;
(2)将预处理后的人眼图像作为输入,首先经过两个卷积层进行卷积操作,卷积层用到20个卷积核,尺寸为(5,5),步长为(1,1),激活函数为Relu;在卷积提取特征完毕以后,经过池化层,池化层的尺寸为(2,2),步长为(2,2),随后将两张图片的特征进行融合,经过全链接层,激活函数tanh,得到两个输出参数,即预测的注视点在屏幕上的坐标x,y归一值;
(3)第(2)步视线追踪预测结果在屏幕上会存在平均2cm的误差,直接设置鼠标光标在该坐标位置上抖动范围会很大,无法选择点击较小的目标,需采用交互用的鼠标光标移动的方法,有效控制光标移动的路线,并最终将它移动至使用者想要点击的目标位置处,使用其他方法触发鼠标点击;
上述用到的鼠标光标移动的方法有三种,分别是:凝视移动方法、相对中心移动方法和遥控移动方法;
凝视移动方法的功能是设置鼠标光标的初始位置,使鼠标光标基本移动到目标物体的附近:以目标物体为圆心,半径为2cm;
相对中心移动算法和遥控移动方法都是用来微调鼠标的位置,使鼠标光标可以精确地调整至目标物体上,从而进行点击操作;
鼠标移动方法的选择根据视线追踪误差大小的情况和使用者的习惯下来进行设置:
1)如在视线追踪误差较大的情况下,需要先使用凝视移动来将鼠标调整到目标物体附近的位置;如果鼠标此时已经落在目标物体上,则直接眨眼触发鼠标点击;如果是落在目标物体附近,则使用相对中心移动或遥控移动,来细微调整鼠标的位置到目标物体上;
2)相对于相对中心移动和遥控移动,凝视移动是一种比较粗略的移动方法,所以不会在使用相对中心移动或遥控移动之后,再使用凝视移动的方法;
用帧数来记录时间,随帧数的增加,鼠标位置计算选择的移动方法可按如下变化:
第0~5帧:直接设置鼠标位置在视线追踪的预测点上;
第6~105帧:使用凝视移动方法;
第106~115帧:鼠标位置暂时确定,无法移动鼠标;
第116帧以后:根据使用者习惯,可用相对中心移动方法或是遥控移动方法调整鼠标位置;
此外,如识别到使用者单眼眨眼时不移动光标;如识别到使用者双眼眨眼0.5秒以上时重置帧计数为0,重新开始一个鼠标光标的位置调整;
所述凝视移动方法具体操作为:
鼠标不直接移动至视线预测点,而往视线预测点的方向进行修正,假设鼠标位置与预测点位置的距离为L1,则将鼠标往预测点方向移动D1的距离;D1的计算公式如式(5.1):
D1=L1×W1 (5.1);
其中W1为修正的权重,W1越小鼠标移动得越慢,抖动越小,越稳定;
随着帧数的增加,将决定鼠标移动距离和稳定性的W1逐渐减小,移动的距离D1随之减小,鼠标会慢慢稳定下来;当W1减小至零时,移动距离D1也变为零,鼠标不再移动;
假设W1初始值为Wa,规定从0开始经过Fb个帧数后鼠标将不再移动,W1的数值随帧数F(0<F<Fb)线性变化的函数式如(5.2)所示;参考可取Wa=0.1,Fb=100:
所述相对中心移动方法是在鼠标当前的位置已经距离目标物体不远时,使用该方法微调鼠标的位置;
鼠标的移动方式为向预测点相对屏幕中心的方向移动,计算屏幕中心坐标与预测的注视点之间的距离L2,预测点相对屏幕中心在什么方向,鼠标就往其平行的方向移动D2的距离;D2的计算公式如式(5.3):
D2=L2×W2 (5.3);
同样有一个控制移动距离的权重W2,权重W2不随时间变化,而是依据具体情况设置具体数值,可取W2=0.005;
所述遥控移动方法的功能是在鼠标当前的位置已经距离目标物体不远时微调鼠标的位置;类似遥控器的左右上下四个方向键,鼠标只能在上下左右四个方向移动;将屏幕分成上下左右四个区域,当预测点出现在哪个区域,鼠标就往对应的方向进行移动,预测点出现在上方的区域,预测点与屏幕中心的y轴距离为L3,于是将鼠标向上移动D3个像素距离;控制移动距离的权重W3;权重W3也不随时间变化,而是依据具体情况设置具体数值,可取W3=0.005:D3的计算公式如式(5.4):
D3=L3×W3 (5.4)。
2.根据权利要求1所述的眼控鼠标实现方法实现键盘输入的方法,其特征在于,眼动轨迹输入编码的原理:
眼动轨迹用视线追踪控制的鼠标移动轨迹来表示,将一块屏幕分成四大区域;每个区域用一个顶点来表示,有四个顶点V1~V4,对应四个码元的输入,根据区域的联通情况有六条无向边e1~e6,是视线可移动的轨迹;
为避免误输入,把有效输入码元的区域缩小,每个代表顶点V的有效区域块长和宽分别占屏幕长宽的四分之一。
3.根据权利要求2所述的实现键盘输入的方法,其特征在于,输入编码的流程:
首先规定屏幕左上顶点V1是一个键位开始编码的标志;在未编码状态下,注视点移动到V1点所在区域,表示开始一个键位的编码输入,进入到编码状态;在编码状态中,利用视线追踪控制鼠标移动到不同区域输入码元;码元按顺序链接成编码串,当编码串有对应的前缀编码,或是判断编码错误时,前者弹出键位字符,后者提示错误信息;随后又变为未编码状态,等候注视点移动到屏幕左上顶点V1开始下一个编码的输入。
4.根据权利要求2所述的实现键盘输入的方法,其特征在于,设置键盘编码如下:
(1)编码有以下三个限制:
Ⅰ、每一个编码都不能是其他编码的前缀;
Ⅱ、屏幕区域V1是起始编码点,‘1’不能作为编码串的首个码元;
Ⅲ、不能连续输入相同的码元,编码串中相邻的码元不能相同;
(2)键盘编码设置:
1)数字与符号类键位包含10个数字键位和11个符号键位,共21个字符键位,统一使用首个码元为‘2’的前缀编码;
2)字母类键位包含26个键位,加上常伴随字母一起输入的空格键,共包含27个字符键位,统一使用首个码元为‘3’的前缀编码;
3)特殊类键位常用的与不常用的一共包含43个键位,统一使用首个码元为‘4’的前缀编码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010428089.7A CN111580674B (zh) | 2020-05-20 | 2020-05-20 | 一种眼控鼠标实现方法及识别眼动轨迹实现键盘输入方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010428089.7A CN111580674B (zh) | 2020-05-20 | 2020-05-20 | 一种眼控鼠标实现方法及识别眼动轨迹实现键盘输入方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111580674A CN111580674A (zh) | 2020-08-25 |
CN111580674B true CN111580674B (zh) | 2023-07-21 |
Family
ID=72110959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010428089.7A Active CN111580674B (zh) | 2020-05-20 | 2020-05-20 | 一种眼控鼠标实现方法及识别眼动轨迹实现键盘输入方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111580674B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112578905B (zh) * | 2020-11-17 | 2021-12-14 | 北京津发科技股份有限公司 | 一种针对移动终端的人机交互测试方法及系统 |
CN112764544B (zh) * | 2021-01-28 | 2022-04-22 | 中国人民解放军国防科技大学 | 一种结合眼动仪与异步运动想象技术实现虚拟鼠标的方法 |
CN113093906B (zh) * | 2021-04-01 | 2023-08-01 | 中国人民解放军63919部队 | 一种确定和调整用户视线交互中适宜凝视触发时间的方法 |
CN113448435B (zh) * | 2021-06-11 | 2023-06-13 | 北京数易科技有限公司 | 一种基于卡尔曼滤波的眼控光标稳定方法 |
CN115793862B (zh) * | 2023-01-05 | 2023-04-28 | 东云睿连(武汉)计算技术有限公司 | 一种图像目标隐式标注方法、系统、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110221699A (zh) * | 2019-06-13 | 2019-09-10 | 北京师范大学珠海分校 | 一种前置摄像头视频源的眼动行为识别方法 |
CN110780739A (zh) * | 2019-10-18 | 2020-02-11 | 天津理工大学 | 基于注视点估计的眼控辅助输入方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9075453B2 (en) * | 2011-12-29 | 2015-07-07 | Khalifa University of Science, Technology & Research (KUSTAR) | Human eye controlled computer mouse interface |
-
2020
- 2020-05-20 CN CN202010428089.7A patent/CN111580674B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110221699A (zh) * | 2019-06-13 | 2019-09-10 | 北京师范大学珠海分校 | 一种前置摄像头视频源的眼动行为识别方法 |
CN110780739A (zh) * | 2019-10-18 | 2020-02-11 | 天津理工大学 | 基于注视点估计的眼控辅助输入方法 |
Non-Patent Citations (2)
Title |
---|
朱麒文 ; 闫隆鑫 ; 张若兰 ; 张帅 ; 杨兰兰 ; .基于视线追踪的眼控鼠标设计.电子器件.2016,(第02期),全文. * |
黄君浩 ; 贺辉 ; .基于LSTM的眼动行为识别及人机交互应用.计算机系统应用.2020,(第03期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111580674A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111580674B (zh) | 一种眼控鼠标实现方法及识别眼动轨迹实现键盘输入方法 | |
US9417709B2 (en) | System and method for implementing sliding input of text based upon on-screen soft keyboard on electronic equipment | |
US6624833B1 (en) | Gesture-based input interface system with shadow detection | |
US7665041B2 (en) | Architecture for controlling a computer using hand gestures | |
CN112969436B (zh) | 电子视觉辅助设备中自主增强的免手动控制 | |
KR101616591B1 (ko) | 데이터의 공간의 주요 치수를 항해하기 위한 제어 시스템 | |
CN105045399B (zh) | 一种具有3d摄像组件的电子设备 | |
KR20160138062A (ko) | 적응적 호모그래피 매핑에 기초한 눈 시선 추적 | |
CN102981742A (zh) | 基于计算机视觉的手势交互系统 | |
CN112148128A (zh) | 一种实时手势识别方法、装置及人机交互系统 | |
CN105302294B (zh) | 一种交互式虚拟现实演示装置 | |
CN103179359A (zh) | 控制视频终端的方法及装置、视频终端 | |
Linqin et al. | Dynamic hand gesture recognition using RGB-D data for natural human-computer interaction | |
US11868523B2 (en) | Eye gaze classification | |
Chua et al. | Hand gesture control for human–computer interaction with Deep Learning | |
Dominguez et al. | A robust finger tracking method for multimodal wearable computer interfacing | |
US20130127984A1 (en) | System and Method for Fast Tracking and Visualisation of Video and Augmenting Content for Mobile Devices | |
Epstein et al. | Using kernels for a video-based mouse-replacement interface | |
US11727005B2 (en) | Fill in the blanks word completion system | |
Huang et al. | Real‐Time Precise Human‐Computer Interaction System Based on Gaze Estimation and Tracking | |
Kim et al. | Gaze estimation using a webcam for region of interest detection | |
CN112990134B (zh) | 图像仿真方法、装置、电子设备及存储介质 | |
US20220261594A1 (en) | Personalized local image features using bilevel optimization | |
Fang et al. | An improved moving tracking algorithm with multiple information fusion based on 3d sensors | |
US20220050528A1 (en) | Electronic device for simulating a mouse |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |