公开/公告号CN114937260A
专利类型发明专利
公开/公告日2022-08-23
原文格式PDF
申请/专利权人 重庆大学;南京启诺信息技术有限公司;
申请/专利号CN202210528176.9
申请日2022-05-16
分类号G06V20/59(2022.01);G06V40/16(2022.01);G06V10/26(2022.01);G06V10/764(2022.01);G06V10/774(2022.01);G06V10/82(2022.01);G06T7/136(2017.01);G06K9/62(2022.01);G06N3/04(2006.01);G06N3/08(2006.01);
代理机构重庆缙云专利代理事务所(特殊普通合伙) 50237;
代理人王翔
地址 400044 重庆市沙坪坝区沙正街174号
入库时间 2023-06-19 16:28:30
法律状态公告日
法律状态信息
法律状态
2022-09-09
实质审查的生效 IPC(主分类):G06V20/59 专利申请号:2022105281769 申请日:20220516
实质审查的生效
技术领域
本发明涉及信息技术领域,具体是基于传统方法与深度神经网络相结合的疲劳驾驶检测方法。
背景技术
随着机动车占有量的不断增长以及生活节奏的不断加快,道路交通事故已然成为了危害人民生活和经济发展的猛虎。根据国家统计,有20%的交通事故是由疲劳驾驶引起的,其中严重交通事故更占到了40%,因此对驾驶员疲劳检测方法的研究具有非常重要的社会价值。
发明内容
本发明的目的是提供基于传统方法与深度神经网络相结合的疲劳驾驶检测方法,包括以下步骤:
1)获取驾驶者驾驶汽车视频流,并转换为若干驾驶者图像;
2)利用HOG人脸定位算法对驶者图像进行人脸定位,得到人脸定位框图像;
对所述图像进行人脸定位的步骤包括:
2.1)使用HOG算子获得图像的梯度方向;
2.2)根据梯度方法,利用SVM分类器进行脸部识别,,得到脸部的矩形预选框R的左上角坐标x
2.3)将人脸定位框图像输入深度神经网络YOLOv5模型之前,对图像进行裁剪,裁去其他部分,保留人脸定位框。
3)建立深度神经网络YOLOv5模型;
所述深度神经网络YOLOv5模型由历史驾驶者驾驶汽车图像训练得到。
4)将人脸定位框图像输入到深度神经网络YOLOv5模型中,判断HOG人脸定位框中眼部睁闭状态;
5)对人脸定位框图像的脸部锚点进行定位,并判断嘴部张闭状态;判断嘴部锚点张闭状态的指标包括嘴部纵横比MAR。
对人脸定位框图像的脸部锚点进行定位的方法包括GBDT算法。
6)基于眼部睁闭状态和嘴部张闭状态判断驾驶者是否处于疲劳状态。
判断驾驶者是否处于疲劳状态的方法包括:
6.1)统计t时刻眼部睁闭状态改变尺寸,若眼部睁闭状态改变尺寸大于预设的眼部睁闭状态改变尺寸阈值,则令眼部睁闭状态改变次数k1=k1+1,并进入步骤6.2),否则,直接进入步骤6.2);t=1,2,…,T;T为总时段;t初始值为1;
6.2)统计t时刻嘴部张闭状态改变尺寸,若嘴部张闭状态改变尺寸大于预设的嘴部张闭状态改变尺寸阈值,则令嘴部张闭状态改变次数k2=k2+1,并进入步骤6.3),否则,直接进入步骤6.3);
6.3)令时刻t=t+1,并返回步骤6.1),直到获取得到T时段内眼部睁闭状态改变的次数k1和嘴部张闭状态改变的次数k2;
判断次数k1>k1max且次数k2>k2max是否成立,若是,则驾驶者处于疲劳状态;其中,k1max为预设的眼部睁闭状态改变次数阈值;k2max为预设的嘴部张闭状态改变次数阈值。
本发明的技术效果是毋庸置疑的,本发明提出了一种基于传统方法与深度神经网络相结合的疲劳驾驶检测方法,使用传统方法能够快速检测到特征范围,进一步使用深度神经网络检测特征的标签,在保证了检测准确度的同时,通过缩小检测范围提高了检测的速度,能够部署于实际生产当中。
附图说明
图1为本发明公开一种基于传统方法与深度神经网络相结合的疲劳驾驶检测方法的流程图;
图2为本发明使用HOG和SVM分类器得到的人脸预选框;
图3为本发明裁剪预选框以及标注的数据集示例图;
图4为本发明使用GBDT得到的人脸特征图;
图5为本发明使用YOLOv5训练的模型测试得到的结果图;
图6为本发明设计的系统判断疲劳的结果图;
图7为YOLOv5模型结构图;
图8为使用YOLOv5神经网络获得的眼部睁闭结果;
图9为检测效果图。
具体实施方式
下面结合实施例对本发明作进一步说明,但不应该理解为本发明上述主题范围仅限于下述实施例。在不脱离本发明上述技术思想的情况下,根据本领域普通技术知识和惯用手段,做出各种替换和变更,均应包括在本发明的保护范围内。
实施例1:
参见图1至图9,基于传统方法与深度神经网络相结合的疲劳驾驶检测方法,包括以下步骤:
1)获取驾驶者驾驶汽车视频流,并转换为若干驾驶者图像;
2)利用HOG人脸定位算法对驶者图像进行人脸定位,得到人脸定位框图像;
对所述图像进行人脸定位的步骤包括:
2.1)使用HOG算子获得图像的梯度方向;
2.2)根据梯度方法,利用SVM分类器进行脸部识别,,得到脸部的矩形预选框R的左上角坐标x
2.3)将人脸定位框图像输入深度神经网络YOLOv5模型之前,对图像进行裁剪,裁去其他部分,保留人脸定位框。
3)建立深度神经网络YOLOv5模型;
所述深度神经网络YOLOv5模型由历史驾驶者驾驶汽车图像训练得到。
4)将人脸定位框图像输入到深度神经网络YOLOv5模型中,判断HOG人脸定位框中眼部睁闭状态;
5)对人脸定位框图像的脸部锚点进行定位,并判断嘴部张闭状态;判断嘴部锚点张闭状态的指标包括嘴部纵横比MAR。
对人脸定位框图像的脸部锚点进行定位的方法包括GBDT算法。
6)基于眼部睁闭状态和嘴部张闭状态判断驾驶者是否处于疲劳状态。
判断驾驶者是否处于疲劳状态的方法包括:
6.1)使用GBDT判断眼部睁闭状态EAR和嘴部张闭状态MAR,统计t时刻眼部睁闭状态改变尺寸,若眼部睁闭状态改变尺寸大于预设的眼部睁闭状态改变尺寸阈值,则令眼部睁闭状态改变次数k1=k1+1,并进入步骤6.2),否则,直接进入步骤6.2);t=1,2,…,T;T为总时段;t初始值为1;
6.2)统计t时刻嘴部张闭状态改变尺寸,若嘴部张闭状态改变尺寸大于预设的嘴部张闭状态改变尺寸阈值,则令嘴部张闭状态改变次数k2=k2+1,并进入步骤6.3),否则,直接进入步骤6.3);
6.3)令时刻t=t+1,并返回步骤6.1),直到获取得到T时段内眼部睁闭状态改变的次数k1和嘴部张闭状态改变的次数k2;
判断次数k1>k1max且次数k2>k2max是否成立,若是,则驾驶者处于疲劳状态;其中,k1max为预设的眼部睁闭状态改变次数阈值;k2max为预设的嘴部张闭状态改变次数阈值。
实施例2:
一种基于传统方法和深度神经网络的疲劳驾驶检测方法,步骤包括:
S101、使用HOG人脸识别算法对人脸进行定位;
S102、对步骤S101获得的HOG人脸定位框照片进行裁剪并对驾驶员眼部的睁闭进行标注;
S103、在步骤S101定位的脸部方框内使用GBDT算法对脸部锚点进行定位,并对得到的嘴部锚点进行张闭判断,进一步判断驾驶员是否存在打哈欠行为;
S104、基于步骤S102标注的人眼睁闭数据对YOLOv5模型进行训练;
S105、在步骤S101定位的脸部方框内使用深度神经网络YOLOv5模型对眼部的睁闭进行检测,进一步判断驾驶员是否存在长时间闭眼行为;
S106、根据步骤S103和S105共同计算驾驶员的疲劳值,从而对驾驶员发出预警。
步骤S101包括:
使用HOG算子获得脸部图像的梯度方向,并对得到的梯度方向使用SVM分类器进行脸部的识别,得到脸部的矩形预选框R的左上角坐标和右下角坐标x
步骤S102包括:
对步骤S101获得的人脸定位方框(x
步骤S103包括:
在步骤S101获得的矩形方框(x
其中y
步骤S104包括:
对步骤S102制作的数据集划分为训练集、验证集和测试集,使用YOLOv5的预设模型进行训练,得到能够识别眼部睁闭的模型。
步骤S105包括:
对步骤S101获得的矩形方框(x
步骤S106包括:
使用MAR进行嘴部打哈欠监测,使用了MAR=1作为阈值分割的界限,当MAR超过1时,直到下一帧MAR小于1,便视为一次打哈欠动作结束,此时哈欠计数器加一,若一段时间打哈欠过于频繁,我们将这个阈值调整为30秒5次,若超过这个阈值便标记为疲劳,使用YOLO进行眼部监测,对每一帧眼部状态进行分析,若一段时间识别为closed_eye,直到下一次识别为open_eye,则至此识别为一次眨眼动作,若眨眼次数过多,我们将这个阈值调整为30秒30次,若超过这个阈值便标记为疲劳,若一次闭眼时间过长,我们将这个阈值设置为3秒,若超过这个阈值便标记为疲劳。
实施例3:
一种基于传统方法与深度神经网络相结合的疲劳驾驶检测方法的,步骤包括:
S101、使用HOG算子获得脸部图像的梯度方向,并对得到的梯度方向使用SVM分类器进行脸部的识别,得到脸部的矩形预选框R的左上角坐标和右下角坐标x
其中g代表像素的二维梯度,g
S102、对步骤S101获得的HOG人脸定位框照片进行裁剪并对驾驶员眼部的睁闭进行标注,具体图例如图4所示;
S103、在步骤S101定位的脸部方框内使用GBDT算法对脸部锚点进行定位,获得脸部的68个特征点,GBDT的算法原理如图5所示,主要通过学习人脸对齐的回归函数生成一个级联的回归函数,每轮迭代产生一个弱分类器,每个分类器在上一轮分类器的残差基础上进行训练,根据学习通过每次计算的回归两来不断更新自己的向量,其中向量更新公式如下:
其中,
其中y
S104、基于步骤S102标注的人眼睁闭数据集对YOLOv5模型进行训练,神经网络模型选用YOLOv5模型,其权值是基于coco数据集训练过后的神经网络权值,在此基础上进行训练,可以加速算法的收敛。其中,YOLOv5模型的特征提取器是一个残差模型,对小目标的检测上较为精准,其模型结构图如图7所示,我们在步骤S102得到的数据集上对眼部睁闭进行训练,得到训练的权重模型;
S105、对步骤S101获得的矩形方框(x
S106、根据步骤S103和S105共同计算驾驶员的疲劳值,使用MAR进行嘴部打哈欠监测,使用了MAR=1作为阈值分割的界限,当MAR超过1时,直到下一帧MAR小于1,便视为一次打哈欠动作结束,此时哈欠计数器加一,若一段时间打哈欠过于频繁,我们将这个阈值调整为30秒5次,若超过这个阈值便标记为疲劳,使用YOLO进行眼部监测,对每一帧眼部状态进行分析,若一段时间识别为closed_eye,直到下一次识别为open_eye,则至此识别为一次眨眼动作,若眨眼次数过多,我们将这个阈值调整为30秒30次,若超过这个阈值便标记为疲劳,若一次闭眼时间过长,我们将这个阈值设置为3秒,若超过这个阈值便标记为疲劳,具体图例如图9所示。
上述实验效果证明,使用传统方法能够快速检测到特征范围,进一步使用深度神经网络检测特征的标签,在保证了检测准确度的同时,通过缩小检测范围提高了检测的速度,能够部署于实际生产当中。
机译: 用于检测机动车辆即乘用车中驾驶员疲劳的装置,具有确定驾驶员疲劳特征的疲劳模型的值,以及基于强度传感器的输出参数来修正值的修正模块
机译: 用于检测驾驶员在驾驶汽车时的疲劳状态的方法,包括基于主动驾驶员力矩周期与参考周期或阈值的比较来完成主动驾驶员力矩周期。
机译: 用于例如驾驶员辅助系统的操作方法检测驾驶员货车的疲劳度,涉及通过处理单元基于脉搏率和皮肤电导率将控制信号传输至发动机控制装置和/或警告装置