一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于视觉图像信息的眼动交互系统

2022-07-31 03:47:45 来源:中国专利 TAG:


1.本发明涉及计算机视觉技术领域,尤其涉及到一种基于视觉图像信息的眼动交互系统。


背景技术:

2.相比较于其它人机交互方式,眼动交互是人与其它对象最直接、最自然的一种交互方式,在人机交互领域有着广泛的应用前景,其更是ar、vr等设备的重要组成部分。传统的眼动交互方法往往依赖特有设备且需要使用者完成复杂的校准过程。比如,现在头戴式ar设备中普遍采用红外校准方式,其需要使用者在每次佩戴时完成多点的标定工作,通过红外光在眼球上的多点反射确定相对位置关系,这种方式不仅使用流程繁琐且还会受到环境光和佩戴过程中发生的位置偏移的影响。


技术实现要素:

3.针对现有的眼动交互方法使用流程繁琐且易受到其它因素影响的问题,本发明公开了一种基于视觉图像信息的眼动交互系统,通过摄像头采集的人眼眼部图像就可以实时预测出人眼视线的方向并且实现包括“眨眼确认”在内的多种眼部动作指令。
4.本发明公开了一种基于视觉图像信息的眼动交互系统,包括头戴式ar眼镜、睁闭眼识别模块、注视点坐标预测模块、闭眼计时模块和指令集识别模块,头戴式ar眼镜与睁闭眼识别模块相连接,睁闭眼识别模块与注视点坐标预测模块相连接,注视点坐标预测模块与指令集识别模块相连接,闭眼计时模块与睁闭眼识别模块相连接。头戴式ar眼镜的近眼摄像头逐帧采集双眼图像,并将每一帧双眼图像送入睁闭眼识别模块,睁闭眼识别模块负责识别左右双眼分别处于睁眼状态还是闭眼状态,如果睁闭眼识别模块将双眼图像都识别为睁眼状态,则利用注视点坐标预测模块实时预测当前双眼的注视点坐标。如果睁闭眼识别模块识别双眼图像中有一只眼睛图像识别为闭眼状态或者双眼图像都识别为闭眼状态,则利用指令集识别模块对眼动动作指令进行判别,眼动动作指令在人机交互中起到指令作用。眼动动作指令包括眨眼确认等。闭眼计时模块负责对连续闭眼状态的持续时间进行统计,其采用按帧计数的方式对时间进行统计。双眼的注视点坐标是指被试者双眼注视屏幕时,双眼视线交汇于屏幕上的一点的坐标。双眼图像包括左右两个单眼图像。
5.睁闭眼识别模块采用三层隐藏层的卷积神经网络进行睁眼闭眼的二分类识别,该卷积神经网络的输入为每一帧的单眼图像,输出为睁眼或者闭眼的二分类识别结果,三层隐藏层分别为卷积层、池化层以及全连接层。
6.所述的睁闭眼识别模块的构建,首先需要构建样本数据集,其次是搭建卷积神经网络,最后是对所搭建的卷积神经网络进行训练和测试。
7.所述的构建样本数据集,采集n个人的睁眼闭眼图片各m张,在采集过程中,在头戴式ar眼镜的近眼摄像头能采集到完整双眼图像的前提下,确保采集环境光线、近眼摄像头相对被采集者的位置和角度均具有多样性,对所采集到的nm张图像样本分别采用旋转、平
移、亮度变化等方式,将其扩增至3nm张图像样本以上,将扩增后的图像样本作样本数据集。
8.所述的搭建卷积神经网络,该卷积神经网络的第一层为卷积层。第二层为池化层,采用最大池化方案。第三层即为全连接层,该层采用线性拟合的方式得到预测结果,三个层依次连接,激活函数采用relu激活函数,并将该激活函数添加至卷积层之后。
9.所述的对所搭建的卷积神经网络进行训练和测试,对样本数据集进行尺寸缩放、归一化和标准化处理,将处理过的样本数据转化为pytorch可处理的tensor向量,作为该卷积神经网络的输入,该卷积神经网络的梯度更新采用随机梯度下降算法,该卷积神经网络的参数优化采用adam函数。采用交叉验证法对样本数据集进行划分并进行迭代训练及测试。
10.所述的注视点预测模块,采用六层深度卷积神经网络来实现,该模块的输入为每一帧的双眼图片,其输出为预测得到的双眼的注视点坐标值。
11.所述的注视点预测模块,首先需要构建样本数据集,其次是搭建深度卷积神经网络,最后是对所搭建的深度卷积神经网络进行训练和测试。
12.所述的样本数据集的构建,需要若干名被试者参与,每一名被试者佩戴头戴式ar眼镜,凝视其头戴式ar眼镜显示界面中不断移动的目标,使其眼睛的注视点跟随目标移动,该目标从头戴式ar眼镜显示界面中背景网格图的左上角移动至右下角,再从右下角移动至左上角为一轮测试,每名被试者需要重复测试20轮,在每轮测试中,头戴式ar眼镜上的近眼摄像头逐帧采集被试者的双眼图像,并记录双眼注视点即目标的坐标位置,双眼图像和对应的注视点坐标构成该样本数据集的样本和标签,从而完成对该样本数据集的构建。
13.所述的搭建深度卷积神经网络,其第一层卷积层的卷积核数量为8,卷积核尺寸为3
×
3,卷积的步长为3。激活函数为relu激活函数。其后第2至6层卷积层卷积核数量逐层增加至前层的1.5倍,第2至6层卷积层的卷积核尺寸均为3
×
3,采用膨胀卷积的方式,膨胀系数为2,激活函数使用leakyrelu激活函数。
14.所述的对所搭建的深度卷积神经网络进行训练和测试,对样本数据集进行尺寸缩放、归一化和标准化处理。将样本数据集的以7:3的数据量比例划分为训练集和测试集,以l1损失函数作为损失函数,以adam函数作为优化函数,对所搭建的深度卷积神经网络进行迭代训练若干次后,取测试结果最佳的一组模型参数,作为该深度卷积神经网络的最终参数。
15.本发明的有益效果为:
16.本发明的公开的基于视觉图像信息的眼动交互方法无须繁琐的标定过程,可以随戴随用。基于眼部图像特征的眼动行为识别针对不同使用人员的眼部差异性也具有良好的自适应性,针对每次佩戴时位置的差异性以及佩戴过程中的产生的位置偏移也具有良好的鲁棒性。基于2d灰度图像特征的识别方式在不同环境光下,也具有良好的自适应性。此外,本方案只需要采集眼部图像的2d平面信息所以并不依赖特有设备,只需要普通的摄像头就可以实现,比如笔记本或者手机自带的摄像头或者一个普通的usb摄像头,相比较于传统的红外方式更是具有低成本以及适用性广泛的优点。
附图说明
17.图1为本发明在ar眼镜场景下的一种眼动交互方式总体流程图;
18.图2为本发明的睁闭眼识别模块的实现示意图;
19.图3为本发明的注视点预测模块的实现示意图;
20.图4为本发明的头戴式ar设备显示界面示意图;
21.图5为本发明的ar设备场景的一套眼动指令集的示意图;
22.图6为本发明在“右眼眼图识别为睁眼状态”时,左眼的不同状态下触发的“眨眼确认”、“长眨打开”两种指令的详细流程图。
具体实施方式
23.为了更好的了解本发明内容,这里给出一个实施例。
24.首先对本发明实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
25.深度学习:深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。
26.卷积神经网络:convolutional neural networks基于卷积运算的神经网络系统是深度学习一种方式。卷积神经网络主要由两部分组成,一部分是特征提取(卷积、激活函数、池化),另一部分是分类识别(全连接层)。其中:卷积(convolution):提取输入的不同特征;激活函数(activation function):引入非线性因素,把卷积层的结果进行非线性映射;池化层(pooling):缩小输入图像,减少计算量;全连接层(fully connected layers):全连接层在整个卷积神经网络中起到“分类器”的作用,即通过卷积、激活函数、池化等深度网络后,再经过全连接层对结果进行识别分类。ytorch:pytorch是一个开源的python机器学习库,基于torch,用于自然语言处理等应用程序。全连接层:全连接层中的每一层是由许多神经元组成的平铺结构,其核心操作就是矩阵向量乘积y=wx,从而将信号由一个特征空间线性变换到另一个特征空间。
27.基础卷积神经网络模型即base cnn model,最初主要用于进行图片分类任务,但可基于此模型架构修改或组合而进行其他深度学习任务如目标检测,语义分割等等,常见的基础卷积神经网络模型包括alexnet,googlenet,resnet,mobilenet,efficientnet等等。
28.实施例1:
29.如参考图1,其示出了本发明在ar眼镜场景下的一种眼动交互方式总体流程图。
30.通过头戴式ar眼镜的近眼摄像头逐帧采集双眼图像,每一帧双眼图像送入睁闭眼识别模块,睁闭眼识别模块负责识别左右双眼分别处于睁眼状态还是闭眼状态,如果睁闭眼识别模块将双眼图像都识别为睁眼状态,则利用注视点坐标预测模责实时预测当前双眼的注视点坐标,在人机交互上用于对注视点进行定位。如果睁闭眼识别模块识别双眼图像中有一只眼睛图像识别为闭眼状态或者双眼图像都识别为闭眼状态,则利用指令集识别模块对眼动动作指令进行判别,眼动动作指令在人机交互中起到指令作用。眼动动作指令包括眨眼确认等。闭眼计时模块负责对连续闭眼状态的持续时间进行统计,其采用按帧计数的方式对时间进行统计。针对不同设备性能可以设置不同的图像采集频率。以30hz的采样率为例,即设备每秒采集30张眼部图像用于分析,那么闭眼计时模块每连续计数30张闭眼图片为一秒。双眼的注视点坐标是指被试者双眼注视屏幕时,双眼视线交汇于屏幕上的一
点的坐标。双眼图像包括左右两个单眼图像。
31.如参考图2所示,基于移动设备算力有限性以及对眼动交互的实时性考量,睁闭眼识别模块采用三层隐藏层的卷积神经网络进行睁眼闭眼的二分类识别,该卷积神经网络的输入为每一帧的单眼图像,输出为睁眼或者闭眼的二分类识别结果,三层隐藏层分别为卷积层、池化层以及全连接层。
32.所述的睁闭眼识别模块的构建,首先需要构建样本数据集,其次是搭建卷积神经网络,最后是对所搭建的卷积神经网络进行训练和测试。
33.所述的构建样本数据集,采集n个人的睁眼闭眼图片各m张,在采集过程中,在头戴式ar眼镜的近眼摄像头能采集到完整双眼图像的前提下,确保采集环境光线、近眼摄像头相对被采集者的位置和角度均具有多样性,对所采集到的nm张图像样本分别采用旋转、平移、亮度变化等方式,将其扩增至3nm张图像样本以上,将扩增后的图像样本作样本数据集。
34.所述的搭建卷积神经网络,其网络结构如图2所示,该卷积神经网络的第一层为卷积层,其卷积核设置为10个,卷积核尺寸为3*3,步长为2。第二层为池化层,采用最大池化方案。第三层即为全连接层,该层采用线性拟合的方式得到预测结果,三个层依次连接,激活函数采用relu激活函数,并将该激活函数添加至卷积层之后。
35.所述的对所搭建的卷积神经网络进行训练和测试,为防止参数量过大影响在线识别的速度,同时减少样本无关特征带来的差异性影响,对样本数据集进行尺寸缩放、归一化和标准化处理。以采集的图像尺寸640*400为例,首先将图像放缩至320*200大小,然后将所有像素值均除以250使所有像素值均分布在0-1之间,实现归一化。然后以0.5为均值,0.5为方差对样本进行标准化分布处理。将处理过的样本数据转化为pytorch可处理的tensor向量,作为该卷积神经网络的输入,该卷积神经网络的梯度更新采用随机梯度下降算法,该卷积神经网络的参数优化采用adam函数。采用交叉验证法对样本数据集进行划分并进行迭代训练及测试。
36.所述的注视点预测模块,如参考图3所示,为达到较好的注视点预测精度,同时兼顾注视点预测的实时性效果,采用六层深度卷积神经网络来实现,该模块的输入为每一帧的双眼图片,其输出为预测得到的双眼的注视点坐标值。
37.所述的注视点预测模块,首先需要构建样本数据集,其次是搭建深度卷积神经网络,最后是对所搭建的深度卷积神经网络进行训练和测试。
38.所述的样本数据集的构建,为克服不同使用者眼睛形状、大小等差异性多带来的影响使模型具有良好的跨被试能力,需要若干名被试者参与,每一名被试者佩戴头戴式ar眼镜,凝视其头戴式ar眼镜显示界面中不断移动的目标,使其眼睛的注视点跟随目标移动,该目标从头戴式ar眼镜显示界面中背景网格图的左上角移动至右下角,再从右下角移动至左上角为一轮测试,每名被试者需要重复测试20轮,在每轮测试中,头戴式ar眼镜上的近眼摄像头逐帧采集被试者的双眼图像,并记录双眼注视点即目标的坐标位置,双眼图像和对应的注视点坐标构成该样本数据集的样本和标签,从而完成对该样本数据集的构建。头戴式ar设备显示界面如图4所示。
39.所述的搭建深度卷积神经网络,基于参考图3所示的网络结构,其第一层卷积层的卷积核数量为8,卷积核尺寸为3
×
3,卷积的步长为3。激活函数为relu激活函数。其后第2至6层卷积层卷积核数量逐层增加至前层的1.5倍,第2至6层卷积层的卷积核尺寸均为3
×
3,
但为了在减少参数量的同时不减少特征数,采用膨胀卷积的方式,膨胀系数为2,激活函数使用leakyrelu激活函数。
40.所述的对所搭建的深度卷积神经网络进行训练和测试,对样本数据集进行尺寸缩放、归一化和标准化处理。将样本数据集的以7:3的数据量比例划分为训练集和测试集,以l1损失函数作为损失函数,以adam函数作为优化函数,对所搭建的深度卷积神经网络进行迭代训练若干次后,取测试结果最佳的一组模型参数,作为该深度卷积神经网络的最终参数。参考图5展示了此发明为ar设备场景而设计的一套眼动指令集。
41.首先指明,该指令集可以不依赖额外的传感器,比如用右眼闭眼、左眼眼球向上运动代替右眼闭眼、头部姿态向上的滚动页面指令,但针对ar设备场景下,其ar设备具有头部姿态运动传感器的优势,为使用户拥有更好的使用体验以及更低的学习成本,此指令集以ar设备的头部姿态传感器为辅助示出了一种ar设备场景下的眼动指令集。应当明确的是此实施例是作为ar设备场景下的一种实施范例,但是此发明可以应用于包括但不限于ar设备以及任何具有双目摄像头及姿态传感器(陀螺仪)的设备或场景。
42.如整体流程图中所介绍,在双眼均闭眼或者左眼、右眼中有一只眼睛闭眼时,整体流程进入眼动指令集识别模块。如图5所示,该指令集包括了人机交互中最常用的八种指令。具体介绍如下:
43.应当首先指出的是,为了避免人正常眼睑跳动所带来的指令误触,所有眨眼指令必须要求单眼闭眼在0.5秒以上。
44.指令1:眨眼确认
45.当右眼处于睁眼状态,左眼处于闭眼状态且闭眼时长大于0.5秒但是小于1.5秒时触发,该指令模拟了鼠标的单击确认功能,是人机交互中最常用的一个功能。
46.指令2:长眨打开
47.当右眼处于睁眼状态,左眼处于闭眼状态且闭眼状态时长大于1.5秒但是小于3秒时触发。该指令模拟了鼠标的双击打开功能,也是人机交互中非常常用的一个功能。
48.指令3:向上滚动页面
49.当左眼处于睁眼状态,右眼处于闭眼状态且闭眼时长大于0.5秒时开始读取ar设备头部姿态传感器数据,当头部向上运动即抬头时,触发此“向上滚动页面”指令。该指令模拟了鼠标的向下滚动滚轮实现页面向上滚动的功能或者在手机上用手指向上滑动页面的功能。
50.指令4:向下滚动页面
51.当左眼处于睁眼状态,右眼处于闭眼状态且闭眼时长大于0.5秒时开始读取ar设备头部姿态传感器数据,当头部向下运动即低头时,触发此“向下滚动页面”指令。该指令模拟了鼠标的向上滚动滚轮实现页面向下滚动的功能或者在手机上用手指向下滑动页面的功能。
52.指令5:向左翻页
53.当左眼处于睁眼状态,右眼处于闭眼状态且闭眼时长大于0.5秒时开始读取ar设备头部姿态传感器数据,当头部向左运动即向左扭头时,触发此“向左翻页”指令。该指令模拟了在手机上用手指向左滑动翻页的功能。
54.指令6:向右翻页
55.当左眼处于睁眼状态,右眼处于闭眼状态且闭眼时长大于0.5秒时开始读取ar设备头部姿态传感器数据,当头部向右运动即向右扭头时,触发此“向右翻页”指令。该指令模拟了在手机上用手指向右滑动翻页的功能。
56.指令7:返回上一层
57.当左右双眼都处于闭眼状态,且闭眼时间大于0.5秒、小于1.5秒时触发。该功能模拟了手机三大功能键之一的点击返回功能。
58.指令8:返回首页
59.当左右双眼都处于闭眼状态,且闭眼时长大于1.5秒小于3秒时触发。该功能模拟了手机三大功能键之一“home”键功能即返回首页功能。
60.以“眨眼确认”、“长眨打开”指令为例介绍指令识别的具体过程:
61.如参考图6,其示出了在“右眼眼图识别为睁眼状态”时,左眼的不同状态下触发的“眨眼确认”、“长眨打开”两种指令的详细流程图。
62.首先,通过ar眼镜的近眼摄像逐帧采集单眼图像,每一帧眼部图像经过预处理(尺寸缩放、归一化、标准化)后送入闭眼识别模块,闭眼识别模块检测当前帧的眼图是否闭眼,如果闭眼则进入闭眼计时模块,闭眼计时模块负责检测连续闭眼状态的时间,若连续闭眼时间不足0.5秒,即在开始闭眼的0.5秒内检测到睁眼状态,则闭眼计数器清零;若连续闭眼时间超过0.5秒,则继续计时,若在此后的1秒内检测到睁眼状态则触发“眨眼确认”指令,否则继续计时;若在此后的1.5秒内即左眼开始闭眼的1.5秒到3秒时间内检测到左眼睁眼状态,则触发“长眨打开”指令,否则判定为空指令。
63.需要特别指出的是,所有指令触发完成后,闭眼计时器都会清零,为下一次指令的触发做准备。
64.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献