欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2021115214592
申请人: 西南交通大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-01-05
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.基于眼部特征的铁路调度员不良状态识别方法,其特征在于,包括以下步骤:首先是实验前期的准备工作,然后根据调度实验的要求完成调度任务,实时采集实验所需要的眼部数据;

采用聚类算法找到分类效果较好的时间片段,通过设置相同的滑窗提取眼动仪的帧数据和事件数据中的六项眼动特征构成模型输入端数据集,根据不同的工作状态分别标签作为输出端,放入搭建好的机器学习模型进行训练对比分析。

2.根据权利要求1所述的基于眼部特征的铁路调度员不良状态识别方法,其特征在于,具体包括以下步骤:

步骤一:实验前期准备

搭建情绪识别模型

实地采集铁路调度员工作中,具有紧张、易怒、厌倦情绪下特征明显的人脸表情图片组成本次情绪验证的数据集;

采取经典加权法进行图像灰度处理:初始化采样参数,分割每个训练集图片利用labels模型保存包含多个人脸矩阵的序列和对应标签;

计算像素在x,y轴上的偏移坐标并利用双线性差值法计算每个区域的像素相邻点之间的灰度值和LBP(0,1)编码值,从而获得全图的LBP编码图;

进行降维处理得到ULBP值,将编码图像切割成8*8个区域,利用LBP值和ULBP值得到各区域的子直方图,继而得到全图LBPH图;通过比较不同人脸图像之间的LBPH图得到分类结果;

搭建人脸特征检测模型

(1)对视频进行帧图像提取,为与眼动仪的30帧/秒的采样率对齐利用for循环函数设置1秒取30张人脸图像;

(2)对图像做灰度处理并计算每个像素的大小和方向,分割图像成6*6块提取每块区域不相同的像素获得区域梯度直方图,组合所有的子图即形成整张图像的HOG梯度直方图向量集;

(2)设置SVM核函数为线性,此时HOG特征向量为一维矩阵,为满足SVM训练要求,对所有的图像特征集进行向下拼接组成n维矩阵;投入SVM分类器判断每帧人脸数量是否相同;

(4)对检测到的人脸调用dlib库的68特征分类器进行切片定位,循环人脸检测的位置,检测出人脸的位置信息,遍历字典中36‑47位(x,y)坐标值;

(5)计算双眼高宽值,并做高宽比计算;

(6)写入excel,实验结束结束运行;

步骤二:实验设计与数据采集

实验过程中实时记录调度员眼动数据并进行实时视频采集,实验步骤如下:(1)、进行1、2、3组状态诱导并同时进行视频监控;

(2)、利用视频识别技术根据视频监控确定调度员情绪诱导效果,并邀请诱导成功的调度员进行调度实验;

(3)、第4组进行调度操作,并实时采集面部视频信息;

(4)、采集眼动指标,分析调度员工作过程中注视时间、瞳孔大小、平均扫视速度眼动数据;

(5)、利用搭建人脸特征检测模型分析第4组面部视频,提取眼睛高宽比值,并进行聚类分析寻找最优疲劳状态分级与区段;

(6)、建立基于机器学习的调度员状态识别模型,对调度员的工作状态进行判定;

步骤三:K‑means聚类分析采用k均值聚类算法对眼睛高宽比的数据进行聚类,剔除混乱的区段,并标记切割时间点;

(1).采用手肘法获得最优聚类数;

(2).使用手肘法确定最佳聚类数K后,使用轮廓系数法对聚类结果验证;

(3).得到最优聚类数后通过K‑means聚类算法确定每个样本的聚类成员,输入样本矩阵,随机选取K个初始聚类中心,找到使每个聚类欧氏距离平方和达到最小的观测点集合;

计算以上每个聚类中观测样本的质心作为新的聚类中心;

重复以上步骤10次,得到最终聚类中心并保留每个观测样本的聚类成员;

(4).提取聚类成员序列做簇状柱形图分析,找到分类较平稳片段,截取该时间段内对应的疲劳组眼动数据;

步骤四:眼动仪原始数据提取与处理提取以下六种眼动指标:

瞳孔大小:从采样率30hz的原始数据中选取采样率10hz的左、右瞳孔直径的两列时间序列,分别平方后相加求平均,并乘以,获取以为单位的平均瞳孔大小时间序列以及对应的时间戳;

扫视速度、扫视次数:从采样率30hz的原始数据中选取标签为Saccade的时间序列,提取其扫视角速度以及时间戳,并以瞳孔大小计算中的10hz的时间戳为对象以5s为窗口,分别统计Saccade序列中时间窗口内数据的扫视角速度平均值以及扫视次数,作为该时刻的扫视速度以及扫视速度;

注视时间:从采样率30hz的原始数据中选取标签为Fixation的时间序列,提取其开始时刻与结束时刻,计算注视时长,并以瞳孔大小计算中的10hz的时间戳为对象,以5s为窗口,分别统计Fixation序列中窗口内数据的注视时间平均值,作为该时刻的注视时间;

眨眼次数、眨眼时间:从采样率30hz的原始数据中选取标签为Blink的时间序列,提取其开始时刻以及结束时刻,计算眨眼时长,并以瞳孔大小计算中的10hz的时间戳为对象,以

5s为窗口,分别统计Blink序列中窗口内数据的眨眼时间平均值以及眨眼次数,作为该时刻的眨眼时间和眨眼次数;

步骤五:构建机器学习模型

分类数据集是输入端为六个眼动特征指标,输出端为疲劳、紧张、厌倦、易怒四种不良工作状态,依次标签1、2、3、4的七维矩阵;时序数据集是输入端为疲劳状态含有时间特征和六个眼动特征指标,输出端为K‑means聚类成员的八维矩阵;

KNN:首先采用交叉验证的方法求得最优K值,将分类数据集分成K个不相交的子集,任意选取其中一个子集作为验证集其余K‑1个子集作为训练集,训练结束后对验证集进行验证得到分类准确率,依次求得K次分类准确率并做均值处理;筛选出K取1‑20的最大分类准确率对应的K值即为所求;

初始化最优K值,输入的分类数据集的特征向量x和目标向量y,定义x,y的从属关系,划分训练集与测试集;计算测试集与训练集的欧氏距离并根据大小关系排序,取前k个样本数据对应的出现次数最多分类标签即为该测试集分类;

ID3决策树:采用二分法对连续指标进行离散化:将n个连续指标的数值集合A进行从小到大排序得到该属性的一个新集合B,对相邻的两个元素bi、bi+1依次做均值计算,得到拥有(n‑1)个元素的新集合C,依据每个中位点c的两+ ‑ +

侧b值将集合B划分为两个新集合B和B ;计算集合B的信息熵: UB表示B‑

和B两个集合的元素个数与B集合元素个数的比值;

对于每个中位点c计算信息增益值: 选择信息增益值最大的点作为划分节点,构造决策树;

隐马尔可夫模型:

0

输入观测状态序列O并确定初始参数λ,将眼动仪记录下的铁路行车调度员眼部特征信

0 0 0 0

息作为隐马尔可夫模型的观测状态序列O;模型的初始参数λ=(π,A ,B),n表示前文中K‑means聚类结果;

计算状态转移矩阵和观测概率矩阵的训练值 初始观察概率矩阵B表示在状态为i

0 0

时,观察值为j的概率,通过Baum‑Welch算法对输入的观测状态序列O和初始参数A ,B进行训练,最终计算出疲劳程度分级下的训练值 分别表示铁路行车调度员安全行为评估隐马尔可夫模型的隐含状态转移矩阵和观测状态转移概率矩阵;

训练三种分类模式下的铁路行车调度员安全行为隐马尔可夫模型;迭代次数设置为

10000,精度为0.0001;

根据训练得到的状态转移矩阵和观测概率矩阵 以及观测状态序列O=(o1,o2,...,oT),求解出观测状态序列O对应隐藏状态I最大可能性的状态序列likelystates;

GRU模型:

GRU模型通过运行两个输入层:当前时刻的的眼动指标Xt,包含上一时刻相关信息的隐状态St‑1,输出得到:当前时刻的疲劳程度Yt,和包含当前时刻相关信息的隐藏状态St;

GRU的内部受重置门r和更新门z控制;更新门用于控制上一时刻疲劳程度信息被保留的多少,将权重矩阵分别左乘前一时刻疲劳程度和当前时刻眼动指标,相加后放入sigmoid激活:zt=sigmoid(Wz[Xt,St‑1]);重置门用于将当前时刻之前的历史信息保留到隐藏状态St被输出前的数据S′中,计算方法和更新门类似:rt=sigmoid(Wr[Xt,St‑1]);

经过门控处理后,首先通过tanh函数来激活重置门数据rt:S′=tanh(Ws′[rt*St‑1,Xt],此时的S′已经保留了对当前时刻眼动数据的输入和部分隐藏状态;

接着对更新门得到数据zt进行筛除和保留操作得到当前状态的隐藏状态St:St=(1‑zt)*St‑1+zt*S′,加号前半部分选择性遗忘St‑1的信息,后半部分对当前时刻的眼动输入信息进行保留;最后将St左乘权重矩阵并放入sigmoid函数激活得到当前疲劳程度状态Yt:Yt=sigmoid(Wt[St])。