CN118192805A - 一种基于深度学习与视线追踪的指令下发、人机交互方法 - Google Patents
一种基于深度学习与视线追踪的指令下发、人机交互方法 Download PDFInfo
- Publication number
- CN118192805A CN118192805A CN202410353832.5A CN202410353832A CN118192805A CN 118192805 A CN118192805 A CN 118192805A CN 202410353832 A CN202410353832 A CN 202410353832A CN 118192805 A CN118192805 A CN 118192805A
- Authority
- CN
- China
- Prior art keywords
- data
- module
- eye
- neural network
- image
- 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.)
- Pending
Links
- 230000003993 interaction Effects 0.000 title claims abstract description 60
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000013135 deep learning Methods 0.000 title claims abstract description 21
- 238000013528 artificial neural network Methods 0.000 claims abstract description 55
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 28
- 238000012549 training Methods 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 24
- 238000007781 pre-processing Methods 0.000 claims abstract description 18
- 230000008569 process Effects 0.000 claims abstract description 17
- 230000008859 change Effects 0.000 claims abstract description 14
- 230000004424 eye movement Effects 0.000 claims description 37
- 230000006870 function Effects 0.000 claims description 32
- 230000033001 locomotion Effects 0.000 claims description 26
- 230000004397 blinking Effects 0.000 claims description 12
- 230000009471 action Effects 0.000 claims description 9
- 238000011176 pooling Methods 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 230000004913 activation Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000013527 convolutional neural network Methods 0.000 claims description 6
- 238000013461 design Methods 0.000 claims description 6
- 208000003464 asthenopia Diseases 0.000 claims description 5
- 238000001914 filtration Methods 0.000 claims description 4
- 230000009467 reduction Effects 0.000 claims description 4
- 230000033764 rhythmic process Effects 0.000 claims description 4
- 230000006641 stabilisation Effects 0.000 claims description 3
- 238000011105 stabilization Methods 0.000 claims description 3
- 230000000087 stabilizing effect Effects 0.000 claims description 3
- 230000001815 facial effect Effects 0.000 claims description 2
- 230000004886 head movement Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 3
- 210000004087 cornea Anatomy 0.000 description 3
- 210000001747 pupil Anatomy 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 210000003128 head Anatomy 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000001028 reflection method Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 208000003443 Unconsciousness Diseases 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 230000003334 potential effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Image Analysis (AREA)
Abstract
一种基于深度学习与视线追踪的人机交互系统,包含硬件和软件模块;硬件包括头戴式设备和处理器,头戴式设备包括用于实时采集人眼图片的相机,处理器选择使用专门用于处理神经网络算法的NPU;软件模块包含图像预处理模块,神经网络预测模块和指令下发、人机交互模块;图像预处理模块对原始图像进行预处理,使图片能够被神经网络接受并减少图像处理过程中的误差;过程包括用相机防抖子模块,图像尺寸裁剪子模块处理;神经网络预测模块,包含数据集选取与生成模块和用于训练与预测的神经网络模块;指令下发、人机交互模块将得到的数据进行分组,每一组数据代表一种视线变化趋势。
Description
技术领域
本发明属于图像处理、人工智能相交叉的技术领域,具体为一种基于深度学习与视线追踪的指令下发、人机交互方法。
背景技术
在VR眼镜中,人类的眼睛是距离探测器最近的人体器官,同时人类眼睛动作以及视线的变化蕴含了丰富的信息。目前越来越多的研究开始关注人眼变化的信息,并根据捕捉到的人眼图像进行后续的语义分析和理解。目前追踪人眼信息变化的头戴式眼动仪等作为辅助决策的工具,可以为身体受限的使用者提供一种新型的人机交互方式,因此头戴式眼动仪也广泛的应用在医疗、辅助驾驶、军事等领域。
利用一系列人眼图片作为输入的预测视线方向的算法,主要有三种:第一种是建立3D的人眼模型,根据拍摄的瞳孔角膜的位置不同计算出视轴和相机轴之间的夹角,从而得到视线方向;第二种是建立视觉平面和相机平面的映射函数,根据瞳孔角膜反射法等直接计算出视线在屏幕上的落点,从而计算出视线方向;第三种是利用深度学习算法,利用大量高品质的输入,通过神经网络来得到获取的人眼图片和视线方向的映射函数。其中,第一种由于需要建立复杂的人眼3D模型,且要保证高精度的人眼图片作为输入等原因,系统较为复杂,不利于迁移。第二种方式中瞳孔角膜反射法需要利用到红外摄像机和红外光对被拍摄的人眼区域额外不光,设备要求较高,且长时间的红外照射可能导致人眼疲劳等情况。第三种方式由于使用传统的卷积神经网络以及单任务学习模型等方式,存在模型参数量大、训练预测时间长、速度慢、以及视线方向在坐标系统有两个参数分别是与x轴和y轴的夹角,但单任务学习模型只有一个损失函数只能得到一个目标结果等问题。
此外,在视线追踪的基础上,人们开始提出如何根据得到的信息进行高效的人机交互等问题,传统的方式利用眨眼、注视等作为一种交互方式,但是由于传统的交互模式比较简单,又由于人类的眼睛会产生无意识的眨眼和走神等现象,可能会造成指令的误触。因此,有必要探索一种新的人机交互指令下发方式,以解决现有方式存在的对硬件要求较高,深度学习模型参数量过大、训练和预测速度慢、单一任务学习模型只能训练得到一个目标结果的问题。视线追踪策略选择卷积神经网络和多任务学习模型结合的方式,眼动交互选择利用眼势变化对机器下发相应指令的方式。
发明内容
为解决上述问题,本发明发明旨在探索新型的人机交互指令下达方式,基于深度学习和眼动追踪技术,最终实现实时的人眼图片采集预测与指令下达,人机交互等,从而实现解放人类双手,增加人机交互模式等目的,因此具有较高的实用价值。
本发明的技术方案包括:一种基于深度学习和眼动追踪的指令下发、人机交互方法,包含头戴式设备的硬件部分和用于图像处理的软件部分。
硬件部分包括头戴式设备由单只用于采集人眼图像的相机,以及处理图像的核心处理器组成。由于人类的双眼在注视某个方向时具有一致性,因此利用单只人眼相机便可获得理想的图片。
核心处理器可以用专门用于神经网络预测的NPU或者CPU即可。
软件部分包含图像预处理模块,神经网络预测模块和指令下发、人机交互模块。
图像预处理模块对原始图像进行预处理,过程包括相机防抖,图像尺寸裁剪。在佩戴头戴式人眼采集设备时,不可避免的会产生相机上下左右抖动等问题,因此需要使用相机的防抖算法,降低获取低质量人眼图片的概率。
神经网络的输入数据尺寸有相应的限制,在此处也对其在尺寸上进行裁剪,使之符合神经网络的数据输入要求。
神经网络预测模块,包含数据集的选取与生成模块和用于训练与预测的神经网络模块。
数据集使用3D人眼数据生成软件提供,利用软件根据不同的要求生成不同参数下逼真的3D仿真人眼图片。
神经网络部分使用轻量化神经网络作为网络的Backbone,在预测得到的结果上加上全连接层使之分别得到x方向与y方向的夹角。
使用多分类交叉熵函数判断训练结果的概率分布与真实结果概率分布之间的差异。根据交叉熵损失函数得到的结果对神经网络训练参数进行调整,不断优化网络模型,提高网络模型的鲁棒性和健壮性。
指令下发与人机交互模块,包含指令设计模块以及人机交互显示模块,指令设计模块将得到的视线数据以5个为一组送入到处理器进行判断,将得到的指令编号发送给人机交互显示模块集中输出。
进一步的,在每一个应用模块上我们大致使用的如下的设计思路:
(1)对实时采集原始图像进行数据预处理操作,由于随着头部运动,相机会产生对应的抖动,此时就会对后续的实验结果产生影响,因此预处理的具体实现方式如下:
使用电子稳像方法处理图像的抖动问题,其主要步骤为:
①将读取到的图像转换成灰度图像,根据两帧之间的相对运动来对相机的抖动进行修正。
②对两帧图像之间的特征进行读取。并得到两帧图像之间从前一帧数据到后一帧数据的欧式转换。
③定义移动平均滤波器,通过对比平滑轨迹和原始轨迹,将差值应用到原始转换中,进行实验迭代选择最好的窗口尺寸参数。过滤掉无意识眨眼和眼动抖动的噪声图片,具体实现方法如下:
人眼在进行视线的移动时,或者跟随目标物体移动时,算法识别到的x与y坐标应该是平滑变化的,不会出现数据的突然变化,由于人眼疲劳导致的注意力下降与眨眼等操作就会导致预测结果产生快速的变换,因此在一组数据中,当某一些数据相对于前后数据产生了较大的变化就可以当作噪声数据剔除,并将后面的数据依次前提,保证一组数据的数据量充足。
(2)对数据预处理后实现神经网络的预测的方法为:
选定UnityEyes为训练网络提供数据集,其中可以设置相机坐标的角度与人眼的视线坐标,不同的相机角度与人眼视线坐标叠加,可以生成处于不同拍摄角度下的不同视线方向的3D人眼图片。
将其通过轻量化残差神经网络得到高位数据特征并将其结果放入多任务学习模型中,多任务学习模型可以针对不同的输出结果值同时训练多个损失函数,而我们期望得到的输出结果值有两个分别是x与y轴上的夹角,因此此时利用多任务学习模型可以同时平行训练多个模型,使之更加方便,又可以节省时间成本存储成本和计算成本。最终通过神经网络可以得到视线方向在两个坐标轴上的夹角值。
(3)指令下发、人机交互的技术实现方案为:
我们根据眼势的不同种类,定义多种有向线段,每条线段代表了一种变化趋势,一种有向线段可以代表一种指令下发和人机交互的方式。
将5对眼睛角度的变量x和y作为一组数据集中输入到人机交互模块中进行判断,在人机交互模块中,我们使用动态时间规整算法来计算两个序列的相似程度,利用动态时间规整算法来对采集的人眼数据和事先定义的所有有向线段的数据进行对比,最终得到最相近的有向线段,进而实现对应指令的下发操作。
有益效果:
使用第三种深度学习的方式对拍摄图片进行处理,使用深度学习的方式可以降低对设备和环境的依赖性,同时为了提高系统相应速度,可以对网络进行相应的裁剪和组合,使之处理过程更加高效和迅速。
因此本发明也根据眼势的变化作为人机交互指令下发的方式。并且提出的指令也有简单,且误触率低的优点。
附图说明
图1为基于深度学习、视线追踪的指令下发和人机交互方法示意图;
图2为神经网络与多任务学习模型示意图;
图3为基于深度学习、视线追踪的指令下发和人机交互方法流程图;
图4为人机交互模式设计示意图;
图5为视线追踪触发人机交互方式示意图。
具体实施方式
本发明公开了一种基于深度学习与视线追踪的人机交互系统,该系统主要包括主要由头戴式设备组成的硬件部分以及用于图像处理的软件部分。
硬件部分中的头戴式设备主要由单只用于采集人眼图像的相机和处理图像的核心处理器组成。由于人类的双眼在注视某个方向时具有一致性,因此利用单只人眼相机便可获得理想的图片。核心处理器可以用CPU或者专门用于神经网络预测的NPU。
如图1所示,软件部分主要包含图像预处理模块、神经网络预测模块和指令下发、人机交互模块。
图像预处理模块主要用于对原始图像进行预处理,包括相机防抖、图像尺寸裁剪。相应的,图像预处理模块具体包括数据采集子模块、相机防抖子模块和图像裁剪子模块。
使用者在对视线落点进行识别的时候需要使用人机交互系统的硬件部分即佩戴头戴设备,由于佩戴头戴式设备并使用其相机拍摄人眼图片时,相机会随着头部运动产生抖动、运动模糊等情况,所以此时相机拍摄的图像不利于后续的裁剪和视线预测,因此需要使用防抖算法处理采集到的人眼图片,以降低获取低质量人眼图片的概率。
本发明中,相机防抖子模块主要使用电子稳像的方式处理图像抖动问题。电子稳像处理的主要包括以下步骤:
①将读取到的图像转换成灰度图像,根据两帧之间的相对运动来对相机的抖动进行修正。
②对两帧图像之间的特征进行读取。并得到两帧图像之间从前一帧数据到后一帧数据的欧式转换。
③定义移动平均滤波器,移动平均滤波器本质是一种低通滤波器,它的目的是过滤掉两帧图像间的高频扰动,在相机拍摄人眼图片过程中,由于相机的抖动会在两帧图像上产生高频扰动,因此通过对比平滑轨迹和原始轨迹,将差值应用到原始转换中,进行实验迭代选择最好的窗口尺寸参数。
过滤掉无意识眨眼和眼动抖动的噪声图片,具体实现方法如下:
人眼在进行视线的移动时,或者跟随目标物体移动时,算法识别到的x与y坐标应该是平滑变化的,不会出现数据的突然变化,由于人眼疲劳导致的注意力下降与眨眼等操作就会导致预测结果产生快速的变换,因此在一组数据中,当某一些数据相对于前后数据产生了较大的变化就可以当作噪声数据剔除,并将后面的数据依次前提,保证一组数据的数据量充足。
对拍摄到的眨眼图像进行检测和删除。具体可用dlib库中的函数对图像中的面部特征进行检测,进而检测出眨眼图像并删除。
具体细节为:首先定义6个分别位于眼睛的周围坐标点,通过6个坐标点形成的眼睛纵横比来计算眼睛的长宽比,当人在睁眼睛的时候长宽比的比值基本不变,但是当眨眼时,此比值会迅速的变为0,利用这种原理便可对眨眼现象进行去除,以此提高数据的可靠性。
最后图像裁剪子模块对经过相机防抖子模块处理后的图像数据进行裁剪,得到适合神经网络处理的64*64*3大小的裁剪图片。
本发明构建的神经网络预测模块包含训练数据生成子模块、神经网络训练预测子模块。
训练数据生成子模块可使用UnityEyes3D人眼生成软件实现,软件可以设置相机与人眼视线坐方向x轴与y轴的角度范围,通过设置角度范围参数生成处于不同拍摄角度下的不同视线方向的3D人眼图片。
在进入该软件后,先配置图片像素的长和宽的尺寸,通常选择默认640*480即可;然后选择图像生成质量为Fastest即可,它可以短时间内生成更多张的3D人眼图片;再选择相机视角,Left为拍摄的左眼视角,Right为拍摄的右眼视角;最后配置虚拟相机坐标和视线方向两类坐标,并生成任意张人眼图片。
神经网络训练预测子模块中使用的神经网络为卷积神经网络,其由输入层、卷积层、激活函数、池化层和全连接层组成。如图2所示。
卷积层是卷积神经网络的核心,它对图像进行卷积操作以提取图像的特征。卷积层由不同的卷积核组成,卷积核在数学上表示为不同尺寸大小的卷积矩阵,选择不同的卷积矩阵就可以提取出图片不同的特征。
卷积层连接的时候需要添加激活函数,若没有激活函数层与层之间就是简单的线性连接,不足以拟合目标结果,激活函数的引入为神经网络提供了非线性特征。在本发明中使用ReLU激活函数,表达式为:ReLU(x)=max(0,x),相较于其他激活函数,ReLU函数计算量较小,不易出现梯度消失的情况,且可以较好的避免过拟合现象的出现。
图像经过卷积层的处理之后还有较为庞大的数据量,为了减少数据处理量,就需要使用池化层对图像进行下采样处理。卷积得到的特征图像经过池化层以后可以较小图像尺寸,提高计算效率。
图像经过卷积层和池化层处理之后需要对处理结果进行分类以得到最后的输出结果,这个时候需要使用全连接层对数据进行分类。全连接层是一个完全连接的神经网络,可以根据网络权重得到最后的分类结果。
在模型的训练过程中为了判别训练结果和预期结果是否相近,我们引入了损失函数。损失函数的计算结果越小就说明模型与预期越接近,模型的鲁棒性也就越好。在模型的训练过程中,网络会通过正向传输得到模型的结果,计算模型结果与预期结果的差距,再通过反向传输调节网络中的各个权重,以让模型结果能够更加接近预期结果,这就是损失函数的作用。
如图2所示,单一任务学习模型在一维化操作后只有一组全连接层,多任务学习模型在一维化操作以后引入多组全连接层,同时单任务学习模型只有一个损失函数,只能训练得到一个目标结果。相对于单任务学习模型,多任务学习模型就是在一个模型中针对不同的目标结果同时训练多个损失函数。多任务学习模式可以更加方便的平行训练多个模型;同时节省时间成本、存储成本和计算成本等,很适合实际工程中使用;并且,还能可以缓解过拟合的问题从而提升模型的泛化能力。
多任务学习通常会使用一个统一的底层结构,而在上层分为不同的分支训练不同的参数。由于这些任务会共享底层的数据,所以此类模型过拟合的可能较低。
因此多任务学习模型可以针对不同的输出结果值同时训练多个损失函数,而我们期望得到的输出结果值有两个分别是x与y轴上的夹角,因此此时利用多任务学习模型可以同时平行训练多个模型,使之更加方便,又可以节省时间成本存储成本和计算成本。
设计卷积神经网络输入的是一个(64×64×3)的彩色图像。接着第一层是一个卷积池化层,包含一个大小为(7×7)步长为2的卷积函数和一个窗口大小为(3×3)步长为2的池化函数。最后一层为全局平均池化层以输出特征向量。以此作为多任务模型的基础,后面连接与卷积神经网络模型中相同的分支网络,使用相同的损失函数和分支损失函数权重。
我们通过使用传统神经网络对视线角度进行预测,将人眼图片通过图2所示的网络结构后就可以得到视线方向在两个坐标轴上的夹角值x和y。
指令下发、人机交互模块主要为以下方式:我们将眼势作为触发对应指令的方式,首先眼跳是指视线方向从一个角度转变到另一个角度,而眼势通常由一次或多次眼跳组成,眼跳的次数往往代表了这种眼势交互的复杂程度。眼势按眼跳次数分可以分为单眼势和多眼势。单眼势是指仅包含一次眼跳的过程,而多眼势中会包含两次以上的眼跳过程。由于多眼势的这种特征,它会较单眼势更为复杂,也需要使用者记住相应的眼势轨迹,对使用者的记忆和认知有一定挑战。
在指令系统中对于多眼势输入的判断是按顺序一次完成相应的眼跳动作,当这些动作正确完成之后就视为正确触发相应指令。这种方式相对于注视输入、眨眼输入和单眼势输入来说不易产生误判。
我们事先收集眼动数据并设计眼势动作,如图4所示定义多种有向线段,每条线段代表了一种眼势动作,最后将图4中的12种眼势动作数据写入到眼势动作文件中,为后续采集人眼图片判断眼势动作提供标准数据。
将相机拍摄到的人眼图片经过神经网络预测模块处理以后会得到与两个坐标轴之间的角度x和y。1秒中内,神经网络预测模块最多可以预测5至7张人眼图片的角度值,因此我们将5张图片的角度值集合起来定义为一组数据。人眼在这一组数据中会有角度的变化,例如视线方向从最左侧移动至最右侧,我们利用一组数据内角度的变化来判断这组数据是属于哪种眼势动作。
根据眼势的不同,定义不同的指令下发方式。为了能让机器更好地识别出对应的眼势动作,人的眼睛视线角度范围需要尽量拉大,每一个眼跳位置尽量达到视线的极限位置(即x到达-5和5,y到达-5和5)。如图4所示,-5和5分别为最大的视线角度,以x轴为例-5代表视线向左30°,5代表视线向右30°,由此提出12种交互模式。如图4所示,1号眼势动作为从最右侧水平向左到达最左侧,2号眼势动作为从最左侧水平向右到最右侧,3号眼势动作为从最上方竖直向下到最下方,4号眼势动作为从最下方竖直向上到最上方,5号眼势动作为从最左侧斜向上到最上方,6号眼势动作为从最上方斜向下到最左侧,7号眼势动作为从最上侧斜向下到最右方,8号眼势动作为从最右方斜向上到最上侧,9号眼势动作为从最下侧斜向上到最右方,10号眼势动作为从最右方斜向下到最下侧,11号眼势动作为从最右侧斜向下到最下方,12号眼势动作为从最下方斜向上到最右侧。
将一组数据集中输入到人机交互模块中进行判断,在人机交互模块中,我们使用动态时间规整算法(DTW)来计算两个序列的相似程度,利用动态时间规整算法来对采集的人眼数据和事先定义的所有有向线段的数据进行对比,最终得到最相近的有向线段,进而实现对应指令的下发操作。
设计完成眼动触发动作以后,利用动态时间规划算法对经过神经网络预测过后的一组数据进行计算,得出实际眼势动作与眼势动作标准文件中12种标准眼势动作数据之间的相似程度。
动态时间规整(DTW)可以用来计算两个序列的相似程度,这两个序列可以有不同的长度和不同的节奏。当两个数据序列长度不相同时,DTW可以对序列进行拉伸或压缩从而让两个序列在长度和节奏上尽可能相似,从而计算出两个数据序列的相似程度,因此动态时间规划是一种时间规整问题上的动态规划。
我们对12个眼势动作分别设定了标准轨迹并已经存入了眼势动作文件,使用摄像头捕捉人眼图像后计算视线角度,将角度坐标合成两个序列并与标准轨迹计算DTW值。例如,1号眼势动作我们拟定的标准轨迹为X:[-5,-3,0,3,5],Y:[0,0,0,0,0]。为了便于计算,我们每次集齐5个注视角度输入进行处理,例如某一时候收集的序列为x:[-5,-5,0,0,5],y:[1,1,1,0,0],这时x与X的DTW距离为5,y与Y的DTW距离为3,在下一次处理之前我们会弹出序列最左侧的数据,也就是-5和1,下一个时间点到达时再将最新的视线坐标压入序列右侧。
同时我们需要对x和y的DTW值加上相应的权重以得到最终代表二维序列的DTW值。对于水平移动的眼势动作,主要需要识别左右之间的变化过程,所以x的权重较大,y的权重较小,x的权重为1,y的权重为0.1;对于竖直移动的眼势动作,主要需要识别上下之间的变化过程,所以y的权重较大,x的权重较小,x的权重为0.1,y的权重为1;对于倾斜变化的眼势动作,x和y方向的变化同样重要,所以x和y的权重均等,均为0.55。
设定好x和y的权重之后,对整体的DTW值设定阈值,以区别随机眼动和目标眼势动作。我们通过改变DTW的阈值比较实际眼动次数和识别出的眼动次数,每次的实际眼动次数为10次。
得到预测眼势动作与标准眼势动作相似度数据之后我们需要对这些数据进行区分识别。目前部分研究使用深度学习模型(比如LSTM)识别每一种眼动方式,将眼动图像以时间顺序输入到网络之中,最后得到相应的模式信息。但是训练这种模型需要大量的数据支撑,故选择了K最近邻分类算法(KNN)。这种算法可以在获取一个新的输入数据后与现有的已经分好类的训练集进行比较,以找到最相似的K个实例,如果这K个实例大多数属于某一类别,那么这个新的输入就属于这个类别。
KNN算法的具体实时步骤为:
(1)首先计算当前点与数据集中其余点的距离(一般为欧氏距离),在T中找出与当前点最近的k个点,定义k个点的集合。
(2)根据多数投票原则确定当前点x所属类别。
对于KNN算法来说,K值的确定对预测结果的好坏有至关重要的影响。如果K的值较小只有与输入近似的样本能够决定结果类别,算法的近似误差也较小,但如果近似点为噪声点预测就会产生偏差,算法过拟合,估计误差也就变大了。如果K值选择得较大,远离输入的样本也会对算法结果产生影响,这时零星的噪声点不会对结果产生较大的干扰,具有较好的鲁棒性,但是此时集合中也会包含与实际类别不同的类别,当这些类别较多时就会影响模型输出的最终结果,算法欠拟合。
根据眼动跟踪技术的基础上对眼动交互系统进行设计。定义了眼动交互的标准眼势动作并将其写入眼势动作标准文件,然后对一组经过神经网络预测后的数据使用KNN+DTW模型进行分类识别。根据DTW算法的KNN算法的结合可以得出具体的眼势动作序号,进而触发对应的指令。本发明利用拍摄到的一组人眼图片数据经过处理后可以实现12种眼势动作的触发,根据12种眼势动作,可以给系统提供不同的交互方式,效果图如图5所示。
以上通过具体的实施方式对本申请进行了详细的说明,如上所述仅为本申请的一种较为便利和低成本的实现方式,并不用于限制本申请,凡在本申请的精神和原则范围内所作的任何修改、实施方式的组合、等同替换和改进,均应当包含在本申请的保护范围内。
Claims (9)
1.一种基于深度学习和眼动追踪的指令下发、人机交互方法,其特征在于,包含硬件部分和用于图像处理的软件模块;
硬件部分包括头戴式设备,包括单只用于采集人眼图像的相机,以及处理图像的核心处理器组成;
核心处理器用专门用于神经网络预测的NPU或者CPU;
软件模块包含图像预处理模块,神经网络预测模块和指令下发、人机交互模块;
图像预处理模块对原始图像进行预处理,使图片能够被神经网络接受并减少图像处理过程中的误差;过程包括用相机防抖子模块,图像尺寸裁剪子模块处理;
神经网络预测模块,包含数据集选取与生成模块和用于训练与预测的神经网络模块;神经网络模块使用轻量化神经网络作为网络的Backbone,在预测得到的结果上加上全连接层使之分别得到x方向与y方向的夹角;
神经网络预测模块将预处理过后的图片送入已经训练完成的轻量化残差神经网络进行预测,所述残差神经网络能预测视线方向在世界平面上x和y坐标的角度,角度不同代表视线方向上的不同,随后将图片根据时间顺序依次送入网络中进行训练得到不同的数据;
数据集使用3D人眼数据生成软件提供,利用软件根据不同的要求生成不同参数下逼真的3D仿真人眼图片;
使用多分类交叉熵函数判断训练结果的概率分布与真实结果概率分布之间的差异;根据交叉熵损失函数得到的结果对神经网络训练参数进行调整,不断优化网络模型,提高网络模型的鲁棒性;
指令下发与人机交互模块,包含指令设计模块以及人机交互显示模块,指令下发、人机交互模块将得到的数据进行分组,每一组数据代表一种视线变化趋势;指令设计模块将得到的视线数据以5个为一组送入到处理器进行判断,将得到的指令编号发送给人机交互显示模块集中输出。
2.根据权利要求1所述的基于深度学习和眼动追踪的指令下发、人机交互方法,其特征在于,图像预处理模块对实时采集原始图像进行数据预处理操作,由于随着头部运动,相机会产生对应的抖动,会对后续的实验结果产生影响,因此预处理的具体实现方式如下:
使用电子稳像方法处理图像的抖动,步骤为:
①将读取到的图像转换成灰度图像,根据两帧之间的相对运动来对相机的抖动进行修正;
②对两帧图像之间的特征进行读取;并得到两帧图像之间从前一帧数据到后一帧数据的欧式转换;
③定义移动平均滤波器,通过对比平滑轨迹和原始轨迹,将差值应用到原始转换中,进行实验迭代选择窗口尺寸参数;过滤掉无意识眨眼和眼动抖动的噪声图片,具体实现方法如下:
人眼在进行视线的移动时,或者跟随目标物体移动时,算法识别到的x与y坐标应该是平滑变化的,不会出现数据的突然变化,由于人眼疲劳导致的注意力下降与眨眼等操作就会导致预测结果产生快速的变换,因此在一组数据中,当某一些数据相对于前后数据产生了较大的变化就能当作噪声数据剔除,并将后面的数据依次前提,保证一组数据的数据量充足。
3.根据权利要求1所述的基于深度学习和眼动追踪的指令下发、人机交互方法,其特征在于,对数据预处理后实现神经网络的预测的方法为:
选定UnityEyes为训练网络提供数据集,其中设置相机坐标的角度与人眼的视线坐标,不同的相机角度与人眼视线坐标叠加,生成处于不同拍摄角度下的不同视线方向的3D人眼图片;
将其通过轻量化残差神经网络得到高位数据特征,并将其结果放入多任务学习模型中,多任务学习模型针对不同的输出结果值同时训练多个损失函数,而期望得到的输出结果值有两个分别是x与y轴上的夹角;此时利用多任务学习模型能同时平行训练多个模型;最终通过神经网络得到视线方向在两个坐标轴上的夹角值。
4.根据权利要求1所述的基于深度学习和眼动追踪的指令下发、人机交互方法,其特征在于,指令下发、人机交互的技术实现方案为:
根据眼势的不同种类,定义多种有向线段,每条线段代表了一种变化趋势,一种有向线段可以代表一种指令下发和人机交互的方式;
将5对眼睛角度的变量x和y作为一组数据集中输入到人机交互模块中进行判断,在人机交互模块中,使用动态时间规整算法来计算两个序列的相似程度,利用动态时间规整算法来对采集的人眼数据和事先定义的所有有向线段的数据进行对比,最终得到最相近的有向线段,进而实现对应指令的下发操作。
5.根据权利要求1所述的基于深度学习和眼动追踪的指令下发、人机交互方法,其特征在于,相机防抖子模块使用电子稳像的方式处理图像抖动问题;电子稳像处理的包括以下步骤:
①将读取到的图像转换成灰度图像,根据两帧之间的相对运动来对相机的抖动进行修正;
②对两帧图像之间的特征进行读取;并得到两帧图像之间从前一帧数据到后一帧数据的欧式转换;
③定义移动平均滤波器,移动平均滤波器本质是一种低通滤波器,它的目的是过滤掉两帧图像间的高频扰动,在相机拍摄人眼图片过程中,由于相机的抖动会在两帧图像上产生高频扰动,因此通过对比平滑轨迹和原始轨迹,将差值应用到原始转换中,进行实验迭代选择最好的窗口尺寸参数。
6.根据权利要求1所述的基于深度学习和眼动追踪的指令下发、人机交互方法,其特征在于,过滤掉无意识眨眼和眼动抖动的噪声图片,具体实现方法如下:
人眼在进行视线的移动时,或者跟随目标物体移动时,算法识别到的x与y坐标应该是平滑变化的,不会出现数据的突然变化,由于人眼疲劳导致的注意力下降与眨眼等操作就会导致预测结果产生快速的变换,因此在一组数据中,当某一些数据相对于前后数据产生了较大的变化就可以当作噪声数据剔除,并将后面的数据依次前提,保证一组数据的数据量充足。
7.根据权利要求1所述的基于深度学习和眼动追踪的指令下发、人机交互方法,其特征在于,图像预处理模块对拍摄到的眨眼图像进行检测和删除;具体可用dlib库中的函数对图像中的面部特征进行检测,进而检测出眨眼图像并删除;
具体为:首先定义6个分别位于眼睛的周围坐标点,通过6个坐标点形成的眼睛纵横比来计算眼睛的长宽比,当人在睁眼睛的时候长宽比的比值基本不变,但是当眨眼时,此比值会迅速的变为0,利用这种方法对眨眼现象进行去除;
最后图像裁剪子模块对经过相机防抖子模块处理后的图像数据进行裁剪,得到适合神经网络处理的64*64*3大小的裁剪图片。
8.根据权利要求1所述的基于深度学习和眼动追踪的指令下发、人机交互方法,其特征在于,构建的神经网络预测模块包含训练数据生成子模块、神经网络训练预测子模块;
训练数据生成子模块可使用UnityEyes3D人眼生成软件实现,软件可以设置相机与人眼视线坐方向x轴与y轴的角度范围,通过设置角度范围参数生成处于不同拍摄角度下的不同视线方向的3D人眼图片;
在进入该软件后,先配置图片像素的长和宽的尺寸,然后选择图像生成质量为Fastest;再选择相机视角,Left为拍摄的左眼视角,Right为拍摄的右眼视角;最后配置虚拟相机坐标和视线方向两类坐标,并生成任意张人眼图片;
神经网络训练预测子模块中使用的神经网络为卷积神经网络,其由输入层、卷积层、激活函数、池化层和全连接层组成;
图像经过卷积层和池化层处理之后对处理结果进行分类以得到最后的输出结果,使用全连接层对数据进行分类;全连接层是一个完全连接的神经网络,根据网络权重得到最后的分类结果;
在模型的训练过程中引入了损失函数;损失函数的计算结果越小就说明模型与预期越接近;
采用多任务学习模型针对不同的输出结果值同时训练多个损失函数,期望得到的输出结果值有两个分别是x与y轴上的夹角,因此此时利用多任务学习模型能同时平行训练多个模型。
9.根据权利要求1所述的基于深度学习和眼动追踪的指令下发、人机交互方法,其特征在于,在人机交互模块中,将一组数据集中输入到人机交互模块中进行判断,使用动态时间规整算法(DTW)来计算两个序列的相似程度,利用动态时间规整算法来对采集的人眼数据和事先定义的所有有向线段的数据进行对比,最终得到最相近的有向线段,进而实现对应指令的下发操作;
设计完成眼动触发动作以后,利用动态时间规划算法对经过神经网络预测过后的一组数据进行计算,得出实际眼势动作与眼势动作标准文件中12种标准眼势动作数据之间的相似程度;
动态时间规整(DTW)用来计算两个序列的相似程度,这两个序列可以有不同的长度和不同的节奏;当两个数据序列长度不相同时,DTW对序列进行拉伸或压缩从而让两个序列在长度和节奏上相似,从而计算出两个数据序列的相似程度,因此动态时间规划是一种时间规整问题上的动态规划。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410353832.5A CN118192805A (zh) | 2024-03-27 | 2024-03-27 | 一种基于深度学习与视线追踪的指令下发、人机交互方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410353832.5A CN118192805A (zh) | 2024-03-27 | 2024-03-27 | 一种基于深度学习与视线追踪的指令下发、人机交互方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118192805A true CN118192805A (zh) | 2024-06-14 |
Family
ID=91401840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410353832.5A Pending CN118192805A (zh) | 2024-03-27 | 2024-03-27 | 一种基于深度学习与视线追踪的指令下发、人机交互方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118192805A (zh) |
-
2024
- 2024-03-27 CN CN202410353832.5A patent/CN118192805A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11715231B2 (en) | Head pose estimation from local eye region | |
CN109685037B (zh) | 一种实时动作识别方法、装置及电子设备 | |
CN109472198A (zh) | 一种姿态鲁棒的视频笑脸识别方法 | |
CN103353935A (zh) | 一种用于智能家居系统的3d动态手势识别方法 | |
CN108197534A (zh) | 一种人头部姿态检测方法、电子设备及存储介质 | |
CN115482574B (zh) | 基于深度学习的屏幕注视点估计方法、装置、介质及设备 | |
Zhang et al. | Multimodal spatiotemporal networks for sign language recognition | |
CN110555383A (zh) | 一种基于卷积神经网络和3d估计的手势识别方法 | |
CN114155512A (zh) | 一种基于3d卷积网络多特征融合的疲劳检测方法及系统 | |
Jingchao et al. | Recognition of classroom student state features based on deep learning algorithms and machine learning | |
CN113419624B (zh) | 一种基于头部时序信号校正的眼动交互方法及装置 | |
Vasisht et al. | Human computer interaction based eye controlled mouse | |
CN113298047B (zh) | 基于时空关联图像的3d形态和姿态估计方法和装置 | |
CN113408389A (zh) | 一种智能识别司机睡意动作的方法 | |
CN110879976B (zh) | 自适应智能眼动数据处理系统及其使用方法 | |
Bhowmick et al. | A Framework for Eye-Based Human Machine Interface | |
CN118192805A (zh) | 一种基于深度学习与视线追踪的指令下发、人机交互方法 | |
Hu et al. | Gesture detection from RGB hand image using modified convolutional neural network | |
CN115484411A (zh) | 拍摄参数的调整方法、装置、电子设备和可读存储介质 | |
CN113703564B (zh) | 一种基于面部特征的人机交互设备及系统 | |
CN114610156A (zh) | 基于ar/vr眼镜的交互方法、装置及ar/vr眼镜 | |
Miah et al. | Mouse Cursor Movement and Control using Eye Gaze-A Human Computer Interaction | |
Lin et al. | Real-time eye detection in video streams | |
CN116524572B (zh) | 基于自适应Hope-Net的人脸精准实时定位方法 | |
Zhu et al. | A novel target tracking method of unmanned drones by gaze prediction combined with YOLO algorithm |
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 |