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

基于双流卷积神经网络的视觉疲劳检测方法与流程

2021-10-24 12:32:00 来源:中国专利 TAG:视觉 在线 疲劳 操作员 实时


1.本发明属于计算机视觉及视频分析技术领域,更进一步涉及一种视觉疲劳检测方法,可用于在线实时检测操作员的视觉疲劳等级。


背景技术:

2.随着社会发展的不断进步,计算机的使用已经涉及到了各行各业,越来越多的工作岗位要求从业者熟练掌握计算机的相关技能,并且要求作业者长时间使用计算机。此类工作体力劳动量少,工作内容较为单调、重复,很容易引起作业人员的视觉疲劳,造成作业人员的工作能力下降,大大降低了其工作效率。并且当人体持续出现视觉疲劳状态时,很容易导致作业人员出现注意力不集中、眼干、眼涩、头晕等症状。因此,如何检测到作业人员的视觉疲劳,并及时采取有效的干预方法,保证作业人员始终能够保持一个较好的工作状态,从而提升作业人员的任务效绩,是值得关注的一件事。
3.现有技术用于视觉疲劳检测行为主要分为基于生理信息和基于视觉信息,其中,生理信息主要包括脑电信息和心率信息,视觉信息主要包括眼动信息和面部信息。
4.合肥湛达智能科技有限公司在其申请号:201810368035.9的专利文献中提出了“一种基于双网络结果的驾驶疲劳程度检测回归模型”,其实现方案包括获取现有不同角度人脸数据集或收集固定、移动车内摄像头拍摄视频作为样本视频数据,并进行尺寸处理和人工标注,将处理过的图片级输入第一个卷积网络,该卷积网络获得头部候选窗口以及头部状态,将头部候选窗中不是低头的图片级处理后输入第二个卷积网络,获得人眼和嘴部状态,将每分钟内低头、闭眼、打哈欠的次数输入回归模型中,用梯度下降算法优化参数,输出疲劳程度。该方法存在三点不足之处:其一,由于是人工标定低头、闭眼、打哈欠等次数,由此带来繁重的人力问题,且闭眼等动作发生时间较短,导致标注困难问题;其二,由于该网络使用回归的方法,由此带来在预测人体动作发生次数时,预测不准确问题;其三,由于多级卷积神经网络会使得网络深度加深,导致网络参数量大,模型体积大,因此在实际任务部署中实时性差,且该网络结构复杂,由此带来难以训练的问题。
5.中国人民解放军南京军区福州总医院在其申请号:201811633627.5的专利申请文献提出“一种基于长短期记忆神经网络的精神疲劳检测方法”该方法包括采用单通道便携式脑电采集设备,对脑电信号进行采集,将采集的脑电信号数据经蓝牙传送到移动端上,并通过无线网络发送至服务器端,服务器端接受脑电信号,采用小波阈值去噪法对脑电信号降噪处理,降噪处理后的数据通过长短期记忆神经网络模型进行分析计算得出人精神疲劳状态分级结果返回移动端,移动端接收人精神疲劳状态分级结果并实时显示或提示。该方法存在两点不足之处:其一,由于该方法采集的数据为单一脑电数据,不能很好表示作业人员的真实疲劳状态;其二,由于长短期记忆神经网络在输入数据的序列长度较长时,会增加网络的计算量,导致网络计算效率降低。


技术实现要素:

6.本发明的目的是针对上述现有技术存在的不足,提出一种基于双流卷积神经网络的视觉疲劳检测方法,以降低网络参数量,提升计算效率,提高视觉疲劳等级判断的准确率。
7.实现本发明目的的思路是:通过输入多种生理信息,增加信息的丰富性;通过在数据预处理阶段,利用滑窗法加上一个随机增量,采集原始数据集中的数据,实现对数据的增强,有效防止网络训练中过拟合情况的发生;通过利用一维卷积神经网络算法构建网络,减少网络的参数量,提升网络的计算效率;通过融合面部特征与深度特征,准确表示人脸表情与人脸空间位置;通过融合眼动特征,面部特征和深度特征,有效融合眼动空间和面部空间的信息,提升视觉疲劳检测的准确率。
8.根据上述思路,本发明的技术方案包括如下:
9.(1)构建多模态疲劳数据库:
10.(1a)采集47个受试者共188个原始眼动数据d
eo
,该原始眼动数据包括时间戳ts
e
,注视点坐标p
g
(x,y),左眼空间位置p
le
(x,y,z),右眼空间位置p
re
(x,y,z),头部位置p
h
(x,y,z)和头部姿态r
h
(x,y,z);
11.(1b)采集47个受试者共188个原始面部数据d
io
,该原始面部数据包括时间戳ts
i
,人脸双眼特征点和嘴部内侧特征点共20个特征点位置数据;
12.(1c)采集47个受试者共188个原始深度数据d
po
,该原始深度数据包括时间戳ts
p
和特征点位置数据对应的深度数据;
13.(1d)采集47个受试者共188个疲劳等级标签,该标签值即为真实疲劳程度,取值范围在[0,3]之间,当疲劳程度取值为0时,表示不疲劳状态;当疲劳程度取值为1时,表示轻度疲劳状态;当疲劳程度取值为2时,表示中度疲劳状态;当疲劳取值为3时,表示重度疲劳程度;
[0014]
(1e)通过将对应的原始眼动数据d
eo
,原始面部数据d
io
,原始深度数据d
po
和疲劳等级标签组合,构建样本大小为188的多模态疲劳数据库;
[0015]
(2)构建训练样本集、验证样本集和测试集:
[0016]
(2a)从多模态疲劳数据库中获取数量为n
×
n的原始眼动数据d
eo
,其中n是样本个数,n是疲劳等级分类数,沿原始眼动数据的时间维使用步长为h δ的滑窗,获得l个大小为t
e
×
e的眼动数据d
e
,其中,h表示固定步长,δ表示随机扰动,t
e
=f
e
×
t,t
e
表示眼动数据的帧数,f
e
表示眼动仪的采样率,t表示采集的时间,e表示眼动数据的维度大小;
[0017]
(2b)从多模态疲劳数据库中获取数量为n
×
n的原始面部数据d
io
,根据(2a)中获取的眼动数据d
e
的时间戳,提取对应的l个大小为t
i
×
i的面部数据d
i
,其中,t
i
=f
i
×
t,t
i
表示面部数据的帧数,f
i
表示每秒传输帧数fps,t表示采集的时间,i表示面部数据的维度大小;
[0018]
(2c)从多模态疲劳数据库中获取数量为n
×
n的原始深度数据d
po
,根据(2b)中获取的面部数据d
i
,提取对应的l个大小为t
i
×
p的深度数据d
p
,其中p表示深度数据的维度大小;
[0019]
(2d)从多模态疲劳数据库中获取与眼动数据d
e
对应的疲劳等级标签;
[0020]
(2e)从眼动数据d
e
,面部数据d
i
和深度数据d
p
中分别获取3l/5组的训练眼动数据d
etrain
,训练面部数据d
itrain
和训练深度数据d
ptrain
,将该训练眼动数据d
etrain
,训练面部数据d
itrain
和训练深度数据d
ptrain
组成训练集,并将该训练集与对应的疲劳等级标签组成训练样
本集;
[0021]
(2f)从眼动数据d
e
,面部数据d
i
和深度数据d
p
中分别获取1l/5组的验证眼动数据d
eval
,验证面部数据d
ival
和验证深度数据d
pval
,将该验证眼动数据d
eval
,验证面部数据d
ival
和验证深度数据d
pval
组成验证集,并将验证集与对应的疲劳等级标签组成验证样本集;
[0022]
(2g)从眼动数据d
e
,面部数据d
i
和深度数据d
p
中分别获取1l/5组的测试眼动数据d
etest
,测试面部数据d
itest
和测试深度数据d
ptest
,将该测试眼动数据d
etest
,测试面部数据d
itest
和测试深度数据d
ptest
组成测试集;
[0023]
(3)构建双流卷积神经网络模型:
[0024]
(3a)建立由输入层和5个卷积层级联组成的时序眼动网络,用于生成序列眼动特征x
g

[0025]
(3b)建立由输入层和6个卷积层级联组成的空间面部网络,用于生成空间面部特征x
i

[0026]
(3c)建立由输入层和3个卷积层级联组成的空间深度网络,用于生成空间深度特征x
d

[0027]
(3d)建立由1个卷积层和2个全连接层级联组成的特征融合网络,用于生成融合特征x;
[0028]
(3e)建立由1个softmax函数组成的视觉疲劳检测网络,用于生成操作员的疲劳程度;
[0029]
(3f)将时序眼动网络、空间面部网络和空间深度网络三者并联后,再依次与特征融合网络和视觉疲劳检测网络级联,构成双流卷积神经网络模型;
[0030]
(3g)定义交叉熵损失函数为双流卷积神经网络损失函数loss;
[0031]
(4)将训练样本集中的训练眼动数据d
etrain
、训练面部数据d
itrain
、训练深度数据d
ptrain
和疲劳等级标签作为双流卷积神经网络的输入,对双流卷积神经网络模型进行训练;
[0032]
(5)将验证样本集中的验证眼动数据d
eval
、验证面部数据d
ival
、验证深度数据d
pval
和疲劳等级标签作为双流卷积神经网络的输入,对训练后的双流卷积神经网络模型进行验证,保存准确率最高的模型;
[0033]
(6)迭代(4)和(5)共k次,输出训练好的双流卷积神经网络模型,其中,k≥1000;
[0034]
(7)将测试集中的测试眼动数据d
etest
、测试面部数据d
itest
、测试深度数据d
ptest
作为双流卷积神经网络模型的输入,输出疲劳程度,该疲劳程度取值范围在[0,3]之间,即当疲劳程度取值为0时,表示不疲劳状态;当疲劳程度取值为1时,表示轻度疲劳状态;当疲劳程度取值为2时,表示中度疲劳状态;当疲劳取值为3时,表示重度疲劳程度。
[0035]
本发明与现有技术相比,具有以下优点:
[0036]
第一,本发明对原始数据使用固定步长加随机增量的滑窗法,获得数倍于原始数据数量的数据,以对样本集进行扩充,克服了因数据量不足而导致的神经网络训练过拟合问题。
[0037]
第二,本发明通过构建一维卷积神经网络来处理具有时序特性和空间特性的文本数据,与传统的二维卷积网络相比,该网络在能够高效处理时间流信息和空间流信息,与传统的长短期长短期记忆神经网络和循环神经网络相比,该网络减少了参数量,提升了网络的计算效率。
[0038]
第三,本发明通过提取眼动数据的特征,有效表示了眼动空间中人眼扫视模式、眨眼模式、眼睛位置和头部姿态信息。
[0039]
第四,本发明通过提取面部数据的特征,有效表示了面部空间中人脸表情信息。
[0040]
第五,本发明通过将面部特征和深度特征进行融合,有效结合了人脸表情信息和人脸姿态信息。
[0041]
第六,本发明通过将眼动特征和面部空间特征进行融合,有效结合眼动空间信息和面部空间信息,为视觉疲劳检测提供了更丰富可靠的信息。
附图说明
[0042]
图1为本发明的实现流程图;
[0043]
图2为本发明中构建的双流卷积神经网络结构示意图。
具体实施方式
[0044]
以下结合附图与具体实施例,对本发明做进一步详细描述。
[0045]
参照图1,本发明的实现步骤如下:
[0046]
步骤1,构建多模态疲劳数据库。
[0047]
1.1)采集47个受试者共188个原始眼动数据d
eo
,该原始眼动数据包括时间戳ts
e
,注视点坐标p
g
(x,y),左眼空间位置p
le
(x,y,z),右眼空间位置p
re
(x,y,z),头部位置p
h
(x,y,z)和头部姿态r
h
(x,y,z);
[0048]
1.2)采集47个受试者共188个原始面部数据d
io
,该原始面部数据包括时间戳ts
i
,人脸双眼特征点和嘴部内侧特征点共20个特征点位置数据;
[0049]
1.3)采集47个受试者共188个原始深度数据d
po
,该原始深度数据包括时间戳ts
p
和特征点位置数据对应的深度数据;
[0050]
1.4)采集47个受试者共188个疲劳等级标签,该标签值即为真实疲劳程度,取值范围在[0,3]之间,当疲劳程度取值为0时,表示不疲劳状态;当疲劳程度取值为1时,表示轻度疲劳状态;当疲劳程度取值为2时,表示中度疲劳状态;当疲劳取值为3时,表示重度疲劳程度;
[0051]
1.5)通过将对应的原始眼动数据d
eo
,原始面部数据d
io
,原始深度数据d
po
和疲劳等级标签组合,构建样本大小为188的多模态疲劳数据库。
[0052]
步骤2,训练样本集、验证样本集和测试集。
[0053]
2.1)从多模态疲劳数据库中获取数量为188的原始眼动数据d
eo
,沿每个眼动数据时间维使用固定步长为2的滑窗,加上一个取值区间在[

1,1]的随机步长,共采集112800个大小为450
×
14的眼动数据d
e

[0054]
2.2)从多模态疲劳数据库中获取数量为188的原始面部数据d
io
,根据1.1)中获取的眼动数据d
e
的时间戳,提取对应的112800个大小为75
×
40的面部数据d
i

[0055]
2.3)从多模态疲劳数据库中获取数量为188的原始深度数据d
po
,根据1.2)中获取的面部数据d
i
,提取对应的112800个大小为75
×
20的深度数据d
p

[0056]
2.4)从多模态疲劳数据库中获取与眼动数据d
e
对应的疲劳等级标签;
[0057]
2.5)从眼动数据d
e
,面部数据d
i
和深度数据d
p
中分别获取67680个训练眼动数据
d
etrain
,训练面部数据d
itrain
和训练深度数据d
ptrain
,并用这三个数据组成训练集,再将该训练集与对应的疲劳等级标签组成训练样本集;
[0058]
2.6)从眼动数据d
e
,面部数据d
i
和深度数据d
p
中分别获取22560个验证眼动数据d
eval
,验证面部数据d
itest
和验证深度数据d
ptest
,并将该三个数据组成验证集,再将该验证集与对应的疲劳等级标签组成验证样本集;
[0059]
2.7)从眼动数据d
e
,面部数据d
i
和深度数据d
p
中分别获取22560个测试眼动数据d
etest
,测试面部数据d
itest
和测试深度数据d
ptest
,将该三个数据组成测试集。
[0060]
步骤3,构建双流卷积神经网络。
[0061]
参照图2,本步骤的具体实现如下:
[0062]
3.1)构建时序眼动网络
[0063]
该时序眼动网络,其结构为:输入层

第一卷积层

第二卷积层

第三卷积层

第四卷积层

第五卷积层,用于生成序列眼动特征x
g

[0064]
3.2)构建空间面部网络
[0065]
该空间面部网络,其结构为:输入层

第1卷积层

第2卷积层

第3卷积层

第4卷积层

第5卷积层

第6卷积层,用于生成空间面部特征x
i

[0066]
3.3)构建空间深度网络
[0067]
该空间深度网络,其结构为:输入层

第ⅰ卷积层

第ⅱ卷积层

第ⅲ卷积层,用于生成空间深度特征x
d

[0068]
3.4)构建特征融合网络
[0069]
该特征融合网络,其结构为:卷积层

第一全连接层

第二全连接层,用于生成融合特征x;
[0070]
3.5)构建视觉疲劳检测网络
[0071]
该视觉疲劳检测网络,包括一个softmax函数,用于生成疲劳程度;
[0072]
3.6)将时序眼动网络、空间面部网络、空间深度网络三者并联,再依次与特征融合网络和视觉疲劳检测网络级联构成双流卷积神经网络:
[0073]
上述时序眼动网络、空间面部网络、空间深度网络和特征融合网络的结构参数设置如下表:
[0074]
各个网络参数设置
[0075][0076]
步骤4,定义双流卷积神经网络损失函数。
[0077]
本实例将交叉熵损失函数设为该网络使用的损失函数loss,表示如下:
[0078][0079]
其中,m表示样本的数量,n表示疲劳等级的数量;y
ic
为指示变量,如果该类别和样本i的类别相同,该变量值为1,否则为0;p
ic
表示对于观测样本i属于类别c的预测概率。
[0080]
步骤5,对双流卷积神经网络模型进行训练。
[0081]
5.1)初始化网络参数,设置迭代次数为t,最大迭代次数为k,k≥1000,并令t=1;
[0082]
5.2)将训练眼动数据d
etrain
及与其对应的训练面部数据d
itrain
和对应的训练深度数据d
ptrain
分别输入到时序眼动网络、空间面部网络和空间深度网络中,得到序列眼动特征x
g
、空间面部特征x
i
和空间深度特征x
d

[0083]
5.3)将序列眼动特征x
g
与空间面部特征x
i
进行拼接,得到一次拼接特征x
gi
;再将该一次拼接特征x
gi
经过一个卷积层输出的结果与空间深度特征x
d
拼接,得到二次拼接特征x
gid
;该二次拼接特征x
gid
依次经过两个全连接层,输出融合特征x;
[0084]
5.4)将融合特征x输入到疲劳检测网络得到预测结果y
p

[0085]
5.5)将预测结果y
p
代入双流卷积神经网络损失函数loss中,计算出双流卷积神经
网络模型的损失,采用梯度下降法对整个网络的参数进行更新;
[0086]
5.6)将验证样本集中的验证眼动数据d
eval
、验证面部数据d
ival
、验证深度数据d
pval
和疲劳等级标签作为更新后的双流卷积神经网络输入,输出疲劳等级,并统计该疲劳等级与验证样本集中的疲劳等级标签相同数据的数量,将该数量除以验证样本集数量,输出准确率,保存准确率最高的模型;
[0087]
5.7)判断t是否等于k:
[0088]
若是,输出当前保存的双流卷积神经网络模型,即为已训练好的双流卷积神经网络模型;
[0089]
否则,令t=t 1,返回5.2);
[0090]
步骤6,将测试集中的测试眼动数据d
etest
、测试面部数据d
itest
、测试深度数据d
ptest
作为双流卷积神经网络模型的输入,输出疲劳程度,该疲劳程度取值范围在[0,3]之间,即当疲劳程度取值为0时,表示不疲劳状态;当疲劳程度取值为1时,表示轻度疲劳状态;当疲劳程度取值为2时,表示中度疲劳状态;当疲劳取值为3时,表示重度疲劳程度。
[0091]
以上描述仅是本发明的一个具体实例,并不构成对本发明的任何限制。显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜