技术领域
[0001] 本
发明涉及深度学习及
图像识别技术领域,尤其涉及一种新型疲劳检测方法。
背景技术
[0002] 由于疲劳驾驶的高发性与危险性,驾驶人疲劳监测预警技术(Driver Fatigue Monitoring and Prewarning,即DFMP)的研究已成为交通安全领域的研究重点。DFMP的关键是疲劳状态识别,目前疲劳状态识别技术可分为3大类:基于医学的识别、基于车辆行驶参数的识别和基于
机器视觉的识别。
[0003] 目前疲劳检测技术存在以下问题:
[0004] (1)基于医学的识别方法,它主要通过检测脑电
信号、心
电信号、心率变化等生理信号来判断驾驶员是否处于疲劳状态。它利用神经网络,通过人体运动时的生理参数来预测人体疲劳程度。但是因疲劳程度的客观定量化还不够准确,对象的匀速跑步运动也不具备运动的多样性且佩戴的
传感器会影响驾驶员的正常驾驶,因此实际应用效果并不是很好。
[0005] (2)基于车辆行驶参数的识别方法,它主要是通过由传感器检测
方向盘转
角大小和车速高低等参数,判定车辆所处的行驶状态,进而判定驾驶员是否疲劳。这种基于车辆行驶参数的识别方法存在
算法复杂、识别率较低、反应速度较慢等缺点。
[0006] (3)基于机器视觉的识别方法,它目前已成为智能车辆及安全辅助驾驶中疲劳状态识别的主要途径,在车辆内部安装摄像头对驾驶员进行拍摄,通过人在疲劳时会出现的打哈欠、眨眼、头部倾斜等特征来判断。这些由识别面部器官变化状态而得出的疲劳检测标准,由于没有区分个体差异,且人为标定的特征难以清楚地表征疲劳状态,因此这类算法得到的检测效果不是十分理想。
[0007] 此外,国内外疲劳检测算法大多基于单一的、人工提取的疲劳状态特征实现。大部分算法结构复杂,鲁棒性低。光照变化、面部表情、复杂背景等对检测率造成很大影响。
发明内容
[0008] 本发明所要解决的技术问题是,针对
现有技术的不足,提供一种基于深度学习的疲劳检测方法,它采用SSD(Single Shot MultiBox Detector)算法和landmark算法实现
人脸检测及特征点自动提取。在此
基础上,使用
支持向量机分类器进行眼部和嘴部疲劳特征分类,再基于疲劳与非疲劳状态时间占比算法实现
视频流图像的疲劳状态检测。该基于深度学习的疲劳检测方法与司机无
接触,安全可靠,识别率高,能够自动提取人脸眼部和嘴部特征点,实现疲劳特征分类,为疲劳判断提供依据。
[0009] 为了解决以上问题,本发明提供了一种基于深度学习的疲劳检测方法,包括:
[0010] 视频
数据采集步骤:通过摄像头采集司机
正面人脸
帧图像;
[0011] 人脸检测步骤:通过SSD算法进行人脸检测;
[0012] 特征点提取步骤:使用landmark算法检测人脸的68个特征点,
定位和提取眼部特征点和嘴部特征点;
[0013] 疲劳特征分类步骤:采集所述眼部和嘴部的疲劳特征数据,统计眼部疲劳特征数据集和嘴部疲劳特征数据集,用所述数据集训练眼部疲劳特征模型和嘴部疲劳特征模型,进行眼部疲劳特征分类和嘴部疲劳特征分类;
[0014] 疲劳判断步骤:根据眼部和嘴部开闭时间占比算法判断是否疲劳;
[0015] 所述眼部疲劳特征数据包括眼睛睁开和闭合两种状态的眼睛周围特征点纵横比(eye aspect ration(EAR))数据,所述嘴部疲劳特征数据包括所述嘴部张开和闭合的开口程度数据α。
[0016] 优选地,所述特征点提取步骤提取至少6个眼部特征点P1、P2、P3、P4、P5和P6,P1位于眼部内眼角,P2、P3位于眼部上廓,P4位于眼部外眼角,P5和P6位于眼部下廓,所述疲劳特征分类步骤采用EAR方程计算所述EAR数据,所述EAR方程为
[0017] 优选地,所述特征点提取步骤提取至少4个嘴部特征点Q1、Q2、Q3和Q4,Q1位于嘴部左嘴角,Q2位于嘴部上唇中点,Q3位于嘴部右嘴角,Q4位于嘴部下唇中点,所述疲劳特征分类步骤采用开口程度计算公式计算所述开口程度数据α,所述开口程度计算公式为[0018] 优选地,所述摄像头为设置于司机座椅正下前方的红外摄像头,所述视频数据采集步骤使用rtsp协议
访问红外摄像头。
[0019] 优选地,所述人脸检测步骤将所述司机正面人脸帧图像的RGB图像输入网络模型,获得各个特征层,在所述特征层暴
力回归目标窗口,判断窗口是否存在人脸。
[0020] 优选地,所述特征点提取步骤包括:
[0021] 初始步骤:使用所检测到的人脸作为初始形状;
[0022] 回归步骤:采用ERT(ensemble of regression trees)级联回归树算法进行回归直至与groundtruth的误差小于
阈值,通过10次回归树,得到所述特征点的定位结果;
[0023] 提取步骤:定位和提取眼部特征点和嘴部特征点。
[0024] 优选地,所述特征点提取步骤在回归步骤前还包括:
[0025] 训练步骤:将
像素点强度作为特征,已标定的训练集附近的像素点和点对之间的距离作为特征池,将所述距离除以两眼之间的距离以进行归一化,引入指数距离先验,套用级联回归树模型,使用梯度提升算法使用残差回归,拟合误差,得到回归树模型。
[0026] 优选地,所述疲劳判断步骤根据一定时间内所述眼部张开和闭合的时间比计算FatigueE指数,所述FatigueE指数计算公式为 当所述FatigueE指数超过70%时,判断出现疲劳特征。
[0027] 优选地,所述疲劳判断步骤根据一定时间内所述嘴部张开和闭合的时间比计算FatigueM指数,所述FatigueM指数计算公式为 当所述FatigueM指数超过70%时,判断出现疲劳特征。
[0028] 与现有技术相比,本发明包括以下优点:
[0029] 1.本发明对疲劳状态具有良好的识别率,且采用深度学习方法实现人脸检测及模型训练,提高了人脸检测速率和
精度。
[0030] 2.本发明通过检测眼部和嘴部两部分特征点实现疲劳判断,提高了疲劳检测的可靠性。
附图说明
[0031] 本发明的以上发明内容以及下面的具体实施方式在结合附图阅读时会得到更好的理解。需要说明的是,附图仅作为所
请求保护的发明的示例。在附图中,相同的附图标记代表相同或类似的元素。
[0032] 图1是根据本发明一
实施例的一种基于深度学习的疲劳检测方法示意图;
[0033] 图2是根据本发明一实施例的特征点提取步骤示意图;
[0034] 图3是根据本发明另一实施例的特征点提取示意图;
[0035] 图4是根据本发明一实施例的眼部特征点示意图;
[0036] 图5是根据本发明一实施例的嘴部特征点示意图。
具体实施方式
[0037] 以下在具体实施方式中详细叙述本发明的详细特征以及优点,其内容足以使任何本领域技术人员了解本发明的技术内容并据以实施,且根据本
说明书所揭露的说明书、
权利要求及附图,本领域技术人员可轻易地理解本发明相关的目的及优点。
[0038] 参见图1,作为本发明的第一方面,本发明提供了一种基于深度学习的疲劳检测方法,包括:
[0039] 视频数据采集步骤:通过摄像头采集司机正面人脸帧图像;
[0040] 人脸检测步骤:通过SSD算法进行人脸检测,可选择地,也可以采用传统检测方法,例如:基于特征的方法、基于模板匹配方法;
[0041] 特征点提取步骤:使用landmark算法检测人脸的68个特征点,定位和提取眼部特征点和嘴部特征点,可选择地,也可采用SAM或AAM算法替代landmark算法;
[0042] 疲劳特征分类步骤:采集眼部和嘴部的疲劳特征数据,统计眼部疲劳特征数据集和嘴部疲劳特征数据集,利用支持向量机分类器进行典型模型训练,用数据集训练眼部疲劳特征模型和嘴部疲劳特征模型,进行眼部疲劳特征分类和嘴部疲劳特征分类;
[0043] 疲劳判断步骤:根据眼部和嘴部开闭时间占比算法判断是否疲劳;
[0044] 眼部疲劳特征数据包括利用支持向量机分类器采集的眼睛睁开和闭合两种状态的眼睛周围特征点纵横比(eye aspect ration(EAR))数据以实现眼部睁开程度计算,即通过采集一段视频序列得到其眼部状态变化的特征序列,统计眼部睁开和闭合状态的EAR数据集,嘴部疲劳特征数据包括嘴部张开和闭合的开口程度数据α,基于特征点曲线拟合的嘴唇内轮廓检测方法以实现嘴部张开程度计算,即通过采集一段视频序列得到其嘴部状态变化的特征序列,统计嘴部张开和闭合的开口程度数据集。
[0045] 进一步的,特征点提取步骤提取至少6个眼部特征点P1、P2、P3、P4、P5和P6,参见图2,P1位于眼部内眼角,P2、P3位于眼部上廓,P4位于眼部外眼角,P5和P6位于眼部下廓,当眼睛睁开和闭合时,眼部特征点彼此坐标之间的关系如图2中直线所示,长宽比在眼睛睁开和闭合时会有所不同,疲劳特征分类步骤采用EAR方程计算EAR数据,EAR方程为
[0046] EAR方程的分子中计算的是眼睛特征点在垂直方向上的距离,分母计算的是眼睛的特征点在
水平方向上的距离。由于水平点只有一组,而垂直点有两组,所以分母乘上了2,以保证两组特征点的权重相同。EAR在眼睛睁开时是基本保持不变的,在小范围内会上下浮动,然而,当眼睛闭合时,EAR会迅速下降。通过采集一段视频序列得到其眼部状态变化的特征序列,统计眼部睁开和闭合的EAR数据集,进而用EAR训练眼部睁开和闭合的SVM模型,实现眼部疲劳特征分类。
[0047] 进一步的,特征点提取步骤提取至少4个嘴部特征点Q1、Q2、Q3和Q4,参见图3,Q1、Q2、Q3和Q4是人脸特征点中对应内嘴唇的4个特征点,Q1位于嘴部左嘴角,Q2位于嘴部上唇中点,Q3位于嘴部右嘴角,Q4位于嘴部下唇中点,疲劳特征分类步骤采用基于嘴巴内轮廓的开口程度计算公式计算开口程度数据α,开口程度计算公式为 ||Q2-Q4||即H计算的是嘴巴内轮廓的特征点在垂直方向上的距离,||Q1-Q3||即L计算的是嘴巴内轮廓的特征点在水平方向上的距离。通过采集一段视频序列得到其嘴部状态变化的特征序列,统计嘴部张开和闭合的开口程度数据集,用数据集训练嘴部张开和闭合的疲劳特征模型,实现嘴部疲劳特征分类。
[0048] 进一步的,摄像头为设置于司机座椅正下前方的红外摄像头,视频数据采集步骤使用rtsp协议访问红外摄像头,选择合适的红外摄像机镜头参数、视场角、焦距,使得人脸全部出现图像画面里时,能够占据画面的50%以上的面积。
[0049] 进一步的,人脸检测步骤基于SSD算法实现人脸检测,将司机正面人脸帧图像的RGB图像输入网络模型,训练网络模型,即将一张完整的图片送进网络获得各个特征层,在特征层暴力回归目标窗口,判断窗口是否存在人脸,以检测图像中人脸的数量、
位置以及大小。
[0050] 进一步的,特征点提取步骤先使用平均脸贴在一个新的测试脸中,得到初始shape,用脸部形状来预测特征点,同时反过来也用特征点预测脸部的形状,可利用与训练时间同样的误差函数回归,不断回归并减小与groundtruth(真实人脸特征值)的误差,直至误差小于一个预设的阈值,通过10次级联回归树,得到最终的人脸特征点定位结果。参见图4,特征点提取步骤具体包括:
[0051] 初始步骤:使用所检测到的人脸作为初始形状;
[0052] 回归步骤:采用ERT(ensemble of regression trees)级联回归树算法,即基于梯度提高学习的回归树方法进行回归,直至与groundtruth的误差小于阈值,通过10次回归树,得到特征点的定位结果;
[0053] 提取步骤:定位和提取眼部特征点和嘴部特征点。
[0054] 进一步的,特征点提取步骤在回归步骤前还使用级连回归树算法训练模型,即先在训练集中对人脸图像特征点进行标注,利用回归树模型进行训练。参见图5,特征点提取步骤在回归步骤前还具体包括:
[0055] 训练步骤:计算平均脸作为模型在测试时初始化的形状,将像素点强度作为特征,已标定的训练集附近的像素点和点对之间的距离作为特征池,将距离除以两眼之间的距离以进行归一化,这里引入指数距离先验,套用集成回归树模型,模型为级联的10个回归树,每个回归树中有500个弱回归器,每个树的深度为5,使用梯度提升算法(集成)使用残差不断回归,拟合误差,得到最终的回归树模型。
[0056] 采用EAR数据集训练眼部睁开和闭合的疲劳特征模型,再用支持向量机分类器实现眼部疲劳特征分类,用数据集训练嘴部张开和闭合的疲劳特征模型,实现嘴部疲劳特征分类,可选择地,也可以采用统计闭眼次数和嘴部打哈欠次数方法替代眼部和嘴部开闭时间占比算法。
[0057] 进一步的,采用眼部和嘴部开闭时间占比算法判断是否疲劳,根据眼睛、嘴巴张开和闭合在一定时间内的时间比来判断疲劳状态,疲劳判断步骤根据一定时间内眼部张开和闭合的时间比计算FatigueE指数和/或嘴部张开和闭合的时间比计算FatigueM指数,FatigueE指数计算公式为 FatigueM指数计算公式为当FatigueE指数或FatigueM指数超过70%或80%时,则
可以判断出现疲劳特征。
[0058] 可选择地,也可利用最近邻分类器(KNN)对脸部疲态进行分类代替基于眼部和嘴部开闭时间占比算法的疲劳判断方法,即KNN分类时,利用K个近邻的投票占总票数的比例作为属于某一概念(疲劳、疑似疲劳、清醒)的分值。
[0059] 这里采用的术语和表述方式只是用于描述,本发明并不应局限于这些术语和表述。使用这些术语和表述并不意味着排除任何示意和描述(或其中部分)的等效特征,应认识到可能存在的各种
修改也应包含在权利要求范围内。其它修改、变化和替换,例如不同规格的元器件的替换,也可能存在。相应的,权利要求应视为
覆盖所有这些等效物。
[0060] 同样,需要指出的是,虽然本发明已参照当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,在没有脱离本发明精神的情况下还可做出各种等效的变化或替换,因此,只要在本发明的实质精神范围内对上述实施例的变化、变型都将落在本
申请的权利要求书的范围内。