文摘
研究机器上建立驾驶员疲劳检测算法显著改善了交通安全。一般来说,许多算法评估驾驶状态根据有限的视频帧,从而导致一些不准确。我们提出一个实时检测算法参与信息熵。特别是,该算法依赖于足够的连续视频帧的分析。首先,我们介绍一种改进YOLOv3-tiny卷积神经网络捕捉面部区域复杂的驾驶条件下,消除不准确和情感造成的人工特征提取。第二,我们构造一个几何区域人脸特征三角形(FFT)基于Dlib工具包的应用以及地标和面部区域的坐标;然后我们创建一个人脸特征向量(FFV),其中包含所有的信息每个FFT的面积和重心。我们使用FFV作为一个指标,以确定司机是否处于疲劳状态。最后,我们设计一个滑动窗口的面部信息熵。比较实验表明,我们的算法执行比当前的准确性和实时性。 In simulated driving applications, the proposed algorithm detects the fatigue state at a speed of over 20 fps with an accuracy of 94.32%.
1。介绍
每年道路交通事故导致严重损害人体健康。根据世界卫生组织的统计数据,疲劳驾驶是交通事故的主要原因之一(1]。国家睡眠基金会指出,约有32%的司机每月至少有一个疲劳驾驶体验(2]。驾驶员疲劳驾驶是一种有害的威胁和其他交通参与者。世界各地的国家法律来解决这个问题。例如,中国道路交通安全法律规定,“司机不能开车连续4小时以上,每两个之间的休息期间长时间驾驶应该不少于20分钟”(3]。在欧洲,法律要求,“司机应该停下来休息每4.5小时的连续开车,剩下的时间应不少于20分钟”(3]。在美国,法律规定是“累计最大程度上的每日驾驶时间不得超过11小时,和连续的日常休息时间不得少于10小时”(4]。正如上面提到的,疲劳驾驶是完全与驾驶时间。是主观判断司机是否在疲劳状态下没有足够的量化指标和可靠的数据分析。
根据相关数据,沉重的疲劳驾驶造成的交通事故占所有交通事故的50% (5]。因此,研究疲劳驾驶检测是不可避免的。以下类型的检测算法。
1.1。基于生理和行为的检测方法
检测方法基于生理和行为是那些判断司机的状态通过安装一个侵入性传感器和收集数据,描述驾驶员的生理、心理、和驾驶操作。这些检测方法包括脑电图信号检测(6),心电图信号检测(7)、脉搏跳动检测(8],EMG信号检测(9]。
1.2。基于机器视觉的检测方法
以独特的车辆运动的特点和驱动程序的行为,这种方法对驾驶员的疲劳状态。机器的检测已成为广泛使用的方法建立疲劳驾驶检测由于其noninvasion和更高的精度。这种方法适用于核心技术包括人脸检测、眼睛定位,和疲劳评估。燕et al。10)用面具来定位眼睛的位置得到司机的面部图像,使用PERCLOS评估司机的疲劳状态。该方法具有更好的性能对个人与引人注目的特性,但面具的制作有重大影响模型的泛化性能。妞妞和王11]面部图像序列中的图像划分为不重叠的相同大小的块。然后,他们设法使用Gabor小波变换,提取多尺度特性。为了选择最知名的,他们运用学习演算法。该方法可以有效地识别不同性别和不同照明条件下的姿势。使用“亮眼的效果,”Bergasa和新12)位于眼睛位置与主动近红外光源设备。他们使用有限状态机来确认是否闭眼睛。他们还应用模糊系统对疲劳状态进行评估。然而,Bergasa算法高度取决于硬件水平;另一方面,“亮眼效应”严格的有效性依赖于周围的光照条件。你等。13]应用CAMShift跟踪算法进行目标区域检测到甚至被遮挡。然后眼睛特征点是根据特定的比例关系获得的面部器官。最后,他们用PERCLOS确定驾驶员疲劳状态。
1.3。基于信息融合的检测方法
任何疲劳检测方法都有其优点和缺点。所以综合监测驾驶员疲劳状态的各种方法是光明的。“醒了”14由欧盟发起一个驾驶行为综合监控系统。它使用许多传感器如图片和压力合成驾驶员的眼动,视力的方向,方向盘控制等驾驶条件。然后,它全面的检测和评价。看到机器(15]进行multifeature信息融合等面部特征检测驾驶员的头部姿势,眼睑运动,视线方向,瞳孔直径。它完成了驾驶员疲劳状态的实时监控。
尽管疲劳检测技术已经取得了很大的进步,它可以更好的:(我)基于生理驾驶员疲劳检测需要各种额外的监控设备或设备。它不仅会减少驾驶的舒适度还能收集的数据的成本和脆弱,阻碍了这些方法的推广。(2)如果光线条件变化或司机的脸部分堵塞,例如,戴眼镜或太阳镜,演算法无法准确定位位置和给司机立即报警。(3)目前,常用的算法是基于PERCLOS,打开和关闭状态判断疲劳的司机的眼睛。然而,当司机的眼睛太小,算法很容易误判。此外,其他疲劳指标少常用由于较低的可靠性和鲁棒性。
如上所述文学研究讨论,结果驾驶疲劳检测有缺陷的入侵,鲁棒性较低,低可靠性。因此,我们提出一个疲劳驾驶检测算法基于面部运动信息熵。创新如下:(我)我们设计一个司机的人脸检测架构基于改进YOLOv3-tiny卷积神经网络和训练更广泛的脸(开源的网络数据集16]。与其他深学习算法相比,如YOLOv3 [17]和MTCNN [18),该算法基于改进的YOLOv3-tiny网络更准确和简化。它有更少的计算,因而很容易移植到其他手机。(2)我们使用了Dlib工具包来提取面部特征点被改进YOLOv3-tiny卷积神经网络。然后我们创建了FFT分析的特点,眼睛和嘴巴的位置。接下来,我们构造FFV其中包含的整体信息每个FFT的面积和重心。我们计算每一帧的FFV并将它写入数据库。从而建立状态分析数据集。在许多研究的基础评估司机的状态的识别结果单帧或几帧,减少疲劳驾驶检测的准确性。分析结果的基础上大量连续的框架,我们设计滑动窗口的驾驶疲劳分析获得的统计特征的面部运动状态。因此,司机可以观察到疲劳的过程。(3)去除干扰,源于每一个FFT之间的大小差异,我们引入投影基准面和投影原理应用于提取运动特征点的脸。然后,基于特征点的运动,我们建议面部运动信息熵,定量描述的混乱程度的运动特征点的脸。因此,可以判断驾驶员的疲劳状态。目前,常用的算法是基于PERCLOS [19),打开和关闭状态的判断疲劳的司机的眼睛。然而,当司机的眼睛太小,算法很容易误判。因此,我们揭示了不同疲劳驾驶和nonfatigue驾驶之间的运动特点提出了面部运动信息熵。
本文分为以下七个部分。第一章是引言。在本部分中,我们介绍了我们的疲劳驾驶检测系统背景和研究意义,国内外的研究现状。我们提出一个疲劳驾驶检测算法基于面部运动信息熵与技术创新。在第二章中,我们详细解释该算法。这个算法的组合的结构改进YOLOv3-tiny网络和Dlib工具包。前捕获ROI,而后者获得面部地标和创建一个疲劳状态数据集。我们做的描述面部运动信息熵的定义和计算方法,这是主索引来表示疲劳状态。第三章是实验分析。首先,介绍了实验环境和数据集。然后我们使用定性描述和定量评价测量人脸检测和特征点的位置。 Finally, we evaluate our fatigue driving detection algorithm in two directions: accuracy and real time. The fourth chapter is the conclusion, which mainly summarizes the main work content of this paper and analyzes the shortcomings of the system and the aspects that need to be improved. Then, we propose the future optimization direction and prospect of the algorithm. Other sections are Data Availability, Conflict of Interests, Acknowledgments, and References.
2。方法
我们的方法的整体管道图所示1。该算法包括以下4个模块。人脸定位。原始数据是实时摄像头视频来源。基于深入学习理论,我们应用改进YOLOv3-tiny网络从复杂的背景中提取疑似面临区域。特征向量提取。FFT是一个几何区域的每一帧包含面部特征。基于怀疑面临区域的坐标,我们获得面部地标Dlib工具包的应用和构建FFV通过计算司机的FFT的面积和重心。数据集构建。根据FFV提取在一定时期内,司机状态分析数据集建立的顺序。疲劳的判断。我们设计一个滑动窗口作为采样器;每次分析几个顺序FFVs配以相关的连续帧的预测上的FFV面部投影基准面。后来,它遍历所有FFVs和输出面部运动信息熵对应于当前面部特征点集。然后我们比较的面部运动信息熵阈值对驾驶员的疲劳状态进行评估。
2.1。人脸检测的基础上,改进YOLOv3-Tiny网络
人脸检测位置是驾驶员疲劳检测的基础,和结果的准确性对算法的性能有很大的影响。因此,准确、快速人脸检测的基本任务是驾驶疲劳检测算法。在传统的人脸检测算法,面对功能主要是根据预定的特性,比如哈雾和猪(20.,21]。哈雾特性而言,中提琴和琼斯22]提出一种联合哈雾特性的人脸检测算法。然而,图像特征可能会失去,因为不当的姿势,昏暗的光线条件下,噪声干扰,或部分遮住了脸,这降低了预定的功能方法的鲁棒性和可靠性。最近,深入学习理论提供了新方法检测和分割23]。它可以分为2类:一个转移目标探测模型人脸检测和分割过程;另一种是级联的方法,比如MTCNN [24,25]和级联CNN [26]。与传统方法相比(27基于卷积神经网络的人脸检测,自动提取功能,而不是人为的操作。数据集的支持下,人脸检测性能大大改善。
YOLO[意思的28)(你只看一次)模型是一种基于深度学习的快速目标检测模型(29日]。它是一个单独的端到端网络,目标探测变成一个回归的问题。具体来说,我们可以代替滑动窗口在回归传统的目标检测方法和卷积神经网络(CNN) (30.]。这种特征提取的方法较少受到外部环境的影响,快速提取目标特征的优势。
灵感来自YOLO模型意思的想法,我们将多目标回归转化为单一目标回归,因此减少了计算量。然后,我们提高网络定位YOLOv3-tiny疑似区域。
YOLOv3 YOLOv3-tiny网络是一个简化版本,所以它比YOLOv3更好的实时。它简化了YOLOv3特征检测传统卷积网络darknet-53 7层和6马克斯池层和1样本层。改进后的网络结构如图2。在图中,“Darknetconv2d BN漏”(双)是网络的基本组成部分,“Conv”是卷积层,和“漏ReLU”激活功能。批正常化(批处理规范)是一种正则化方法,保证了算法的收敛性和避免过度拟合。Concat三明治一个示例层中间的两双。Nonmaximum抑制(NMS)是消除额外的面部盒和找到最好的司机的脸可疑区域。
我们认为图像用于分析疲劳驾驶只包含一个脸。如果网络显示在multiface检测精度高,一个人脸检测会更准确。在YOLOv3-tiny网络训练阶段,我们使用更广泛的脸(人脸检测数据集和基准)(http://wider-challenge.org/2019.html)[16]数据集的驾驶数据。更广泛的脸数据集包括32203张图片和393703年的脸,这是最常见的一个数据库。数据集包含不同尺度、姿势、遮挡,表情,化妆,和照明,如图3。
(一)
(b)
(c)
(d)
(e)
(f)
更广泛的脸数据集具有以下特点:(我)数据集分为三种类型:训练集,测试集和验证集,分别占40%,50%,和10%的数据集(2)有大量的面孔在每一个图像,其中包含平均12.2的面孔(3)高分辨率彩色图像数据集的照片
首先,基于YOLOv3-tiny网络,广泛的脸的图片数据集调整到10个不同的尺寸,每个图片分为13×13网格细胞或26×26网格细胞。然后,我们发现司机的脸的位置不重叠的网格单元和分类。对于每个网格单元,网络输出B边框以及相应的信心和司机的条件概率的脸。最后,nonmaximal值是用来抑制多余的边框。公式给出的信心 在哪里的概率是司机的脸。如果包括, ;否则 。 十字路口在联盟(借据)边界框的真正的盒子。
有四种基本元素YOLOv3-tiny网络损失函数:中央边界框的误差项,边界框的宽度和高度误差项,预测误差项的信心,和预测误差项的类别。我们设法使用离线训练YOLOv3-tiny网络提取准确的人脸区域进行进一步的研究。
2.2。司机的面部运动特征提取
2.2.1。面对基于Dlib工具包功能位置
司机的脸上区域找到改善YOLOv3-tiny网络,我们使用了基于Dlib-ml[面临关键检测模型31日]库提取的细粒度特性一个司机的脸(如图4(一))。Dlib库包含68个关键点。测试原理是应用级联型回归检查所有要点脸的组件。
(一)
(b)
人脸检测过程如下。首先,输入图像的特征提取,包括特征脸的轮廓,眉毛,眼睛,鼻子,嘴轮廓。其次,提取的特征映射到脸部特征点通过一个训练有素的回归量;在这一点上,一个初始的形状的关键点人脸生成组件从原来的形象。第三,梯度增加(32)用于迭代调整初始形状,直到它与真正的形状匹配;每个阶段的级联回归量与最小二乘法计算。
面对关键Dlib库的检测方法是基于回归树(ERT)算法的合奏29日]。它使用回归树估计脸部特征点集,并计算的速度快。68年的检测要点在每个脸大约需要1毫秒。类似于(33]和[34),这种级联回归量方法是可用的,尽管部分缺失的特征点的训练样本集。迭代算法过程中使用以下公式: 在哪里T轮的数量是回归和吗是当前形状估计;每一个回归预测一个增加我和基于输入图像 ,也就是说, 。最初的形状使用训练数据的平均形状,和更新策略梯度提高决策树(GBDT)算法(32]。为每个单独的分区,每一次,我们训练弱分类器的预测价值接近次区域的真正价值。最终,整个地区的预测价值是每个表语值的加权和。
当检测到司机的脸,脸的特征点是由上面的算法,实时获得如图4 (b)。
2.2.2。运动状态参数提取
正如上面所讨论的,司机得自然驾驶期间由于生理和心理状态的变化。那时,他们都处于疲劳状态。疲劳驾驶的危害司机及其他交通参与者,因为它减少驾驶认知和驾驶技能,因此导致误解、误判和误动作。确保驾驶安全,交通安全,司机必须有一个清晰的理解的驾驶条件和周边道路环境中所有的时间35]。它要求司机不断地调整方向和眼睛的注视点。相比nonfatigue开车,司机的视野调整行为是否发生显著变化,在早期,中期,或晚期阶段的疲劳36]。面部运动状态,如运动振幅和频率,是不正常的。
因此,我们提出一种人脸特征三角形描述驾驶员的面部运动状态。基于人脸特征位置,我们定义了一个人脸特征三角形(FFT)。如图5,左眼的中点,右眼的中点是B,嘴的中点是三分由FFT c。根据FFT,我们定义脸部特征向量(FFV) 在哪里 是FFT的中点和FFT的面积。根据平面三角形的重心和面积公式, 见以下方程:
其中,根据图4(一)、Dlib面部特征点定位和中点二维坐标公式,坐标 , ,和 被定义为 p36所在的坐标点36图4(一)。
作为显示在图6,FFT司机的脸位置的不同而存在明显的变化;因此FFV适合描述状态的面部运动的疲劳检测算法。
2.3。司机的面部特征点集合
一般来说,头posture-based疲劳检测算法(37)取决于瞬时如点头头部运动的特点,以确定司机是否处于疲劳状态。很难判断疲劳基于单帧或小的帧数,甚至有可能误判。因此,有必要研究驾驶员的面部运动的统计特征在疲劳状态。节中描述2.2,提取统计特征的面部运动之间的关系,找到统计特性和驾驶疲劳状态,我们定义FFT。由于FFT的面积随司机的头和相机之间的距离,为了获得正规化的数据,我们应用一个面对投影基准面方法。如图7it项目所有的fft算法,预设投影基准面和消除了干扰,源于不同的距离。的面积投影基准面 ,和投影公式所示以下方程: “行”和“上校”输入图像的行和列的数量。一个点 数据投影到投影平面的定义是司机的面部运动的特征点。我们建立的特征点集司机的面部运动通过计算帧的特征点,然后构建统计模型驱动的面部运动状态。实验结果如图所示8。
2.4。驾驶员疲劳状态评估模型基于面部运动信息熵
2.4.1。面部运动信息熵
如上所述,在nonfatigue状态,司机是活跃的注视点和头部方向快速切换,而在相反的情况下,驾驶员头部位置改变他们的慢得多。
比较不同频率和振幅的注视点和方向两个驾驶状态,基于面部特征点运动,我们统计的面部运动特征点集在大量连续的帧。数据9(一个)和9 (b)显示的面部运动疲劳和nonfatigue条件下特征点,分别。
(一)
(b)
因此,与疲劳驾驶状态相比,nonfatigue面部运动特征点更加发散和混乱。“沟通”的数学理论38)指出,任何信息冗余,冗余的可能性或不确定性有关每个符号(数字、字母或单词)消息。信息熵,热力学的概念。它指的是平均数量的信息后去除多余的部分。下面的方程显示了信息熵的数学表达式:
基于面部特征点的位置2.2。1,我们提取FFV和建立状态分析数据集。然后,面部运动信息熵的定义是根据信息熵的概念。因此,指标评估的面部特征点集的混乱程度。计算方法如下:(1)计算中心点 面部运动的特征点集,N是特征点的数量,如所示 (2)计算欧氏距离来表示每个功能点的中心点, ,所示 (3)计算距离的平均值和标准偏差,如以下所示的方程 (4)的时间间隔被定义为方程(11), 。 被定义为方程(12): (5)根据每个特征点到中心点的距离,距离的数量下降的时间间隔算作是 。(6)信息熵计算面部运动 ,5所示
2.4.2。司机的面部运动信息熵设计基于SVM的分类器
如上所述,当司机专注在开车,他们通常把注视点和头部方向为了得到一个更好的驾驶环境,和面部运动信息熵较高。相反,信息熵是疲劳驾驶的情况下要低得多。我们使用开源的训练集数据集YawDD (http://www.site.uottawa.ca/∼shervin /打呵欠)[39]。它包含所有年龄段的疲劳驾驶数据集和所有种族的人,包括不同的性别和面部特征。它提供了视频,记录一些常见的驾驶条件,如开车戴眼镜,说,开车时和唱歌,甚至假装模拟疲劳。
支持向量机(40)是一个机器学习模型,采用结构风险最小化准则的框架下统计学习理论。它是一个线性分类器模型的最大间隔在特征空间中定义。给定一个训练数据集 在特征空间, 是th输入样本和 相对应的标签吗 。当 , 被称为积极的样品,什么时候 , 是一个负样本。
一般来说,一个线性判别函数 在一个 - - - - - -维空间可以区分两种类型的数据,可以被描述为一个分类超平面
法向量和拦截确定超类表面功能。根据支持向量机的基本思想,线性可分支持向量机的约束优化问题可以得到:
在训练阶段的司机的脸马克盒子,改进YOLOv3-tiny用作训练网络,和训练集应用于检测司机的脸。节中描述2.4。1,司机的面部运动信息熵计算基于Dlib脸部特征点的定位信息。其中,当 , 是一个正样本,表明司机nonfatigue驾驶状态下,当 , 是负样本,表明司机疲劳驾驶状态。结合约束方程(15),超平面参数和可以得到司机的面部运动信息熵计算分类器。
实验表明,投影数据区域有不同的价值观,这将影响参数和司机的面部运动信息熵分类器。在这个实验中,设置为10000。
2.4.3。疲劳的判断基于面部运动信息熵
正如上面提到的,司机获得的原始图像与一个车载摄像头,和改进的YOLOv3-tiny网络被用来检测司机的脸。面对区域提取作为输入子图象,然后Dlib工具包用于获取子图象,如果脸的面部特征点检测在一个框架的形象。如果不是,该系统将确定司机的头部姿势是不正常的。如果确定司机的头部姿势异常连续超过10帧,该系统将发出警报。基于面对地标,FFV根据眼睛的坐标计算特征点和特征点。在一定数量的帧(帧的数量设置摘要超过1000帧),我们计算每帧FFV。考虑到疲劳在驾驶过程中经常产生,如果直接计算所有FFVs的面部运动信息熵,结果可能是不准确的。为了提高精度,如图10,本文设置一个滑动窗口中信息熵计算面部运动在所有FFVs段。窗口大小设置为1000,滑动步长设置为100。每次滑动窗口的幻灯片,1000年当前FFVs滑动窗口获得第一。然后,我们可以获得的面部运动特征点在当前窗口。最后,面部运动信息熵计算在当前窗口。集判断阈值的YawDD训练集训练支持向量机分类器。如果 ,判断是司机处于疲劳状态。否则,滑动窗口移动到下一位置继续分析。
疲劳的流程图的判断基于面部运动信息熵图所示11。
3所示。结果与讨论
为了验证算法的有效性,我们评估的性能改进与公众YOLOv3-tiny网络数据集更广泛的脸和YawDD。在此基础上,设计实验进行比较来验证是否疲劳驾驶检测算法基于面部运动信息熵是正确的。
3.1。实验环境和数据集
实验平台是x86架构的英特尔酷睿i5 - 8400, 2.80 GHz CPU时钟速度。显卡与帕斯卡GTX1060架构(CUDA: 9.2;CUDNN: 7.2)。RAM是8 g DDR4, opencv3.4.6图像库。PaddlePaddle1.5深度学习计算框架。程序的环境是python 3.6。硬件配置如表所示1。
实验中使用的数据集包括更广泛的脸和YawDD公共数据集,在更广泛的公共数据集面临包括32203和393703年的面孔照片,用于列车Yolov3-tiny脸上的网络。然而,更广泛的数据集只包含标记脸图像,不提供任何信息对驾驶员的疲劳状态。因此,更广泛的脸数据集不能用于分析驾驶员疲劳状态。YawDD是疲劳驾驶检测的数据集包括男性和女性志愿者在肉眼,戴眼镜,正常状态,说话/唱歌,和模拟疲劳。所以我们选择YawDD数据集作为测试集的疲劳驾驶检测。的检测结果YawDD数据集如图12。
(一)
(b)
(c)
3.2。人脸检测和特征点的位置
3.2.1之上。定性描述
为了验证基于改进的人脸检测的有效性YOLOv3-tiny网络和基于Dlib面部特征点定位的准确性,在实验室实验和车辆。
在实验室里,光线均匀,不彻底改变。人脸识别算法基于改进YOLOv3-tiny网络可以准确检测面临着从测试视频。可以正确面对区域标记,如图(13日)和13 (b)(1 - 1)和(1 - 2)。此外,该算法可以检测司机的脸和马克特征点区域,即使是在戴眼镜的情况下(如图13(2 - 1)),头部倾斜(如图13(1 - 3)),和表达改变(如图13(2 - 2))。
(一)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(我)
(j)
(k)
(左)
(m)
(n)
(o)
(p)
在车辆实验中,光照的变化可能会导致高干扰司机的人脸检测和特征点的位置。这是至关重要的验证算法的有效性在真实车辆的场景。在真实的驾驶场景,该算法可以完成人脸检测和特征点位置不均匀照明,如图13(4 - 1)。可以看出,该算法具有良好的识别性能和健壮的性能在实验室和真实的车辆,这将提供司机的疲劳特征提取的基础和疲劳状态评估。
3.2.2。定量评价
改进YOLOv3-tiny网络提供了疲劳驾驶检测面临的地标。它的性能是疲劳驾驶检测算法的有效性。因此,我们定量地评估的性能改进YOLOv3-tiny网络更广泛的数据集。
在本文中,我们采用ROC曲线(41)理论评估。精度正确预测样本的数量比样品的总数量,是一个直观的模型性能的评价指标。然而,准确率难以表达模型的优点和缺点的正负样本数据的分布不均。灵敏度表示所有阳性样品的比例正确检测到。特异性表明所有的负样本正确检测到的比例。中华民国曲线是一个综合指标敏感性和特异性的结合而形成的,反映了连续变量的敏感性和特异性。
(1)精度(ACR)。在任务驱动的人脸检测、ACR是正确地检测出图像的数量比图片的总数: 在哪里正确地检测出图像的数量和吗是图片的总数。
的过程中提高YOLOv3-tiny网络训练和验证,交叉率参数(借据)[42]介绍了测量之间的相似人脸检测区和明显的区。借据是一个标准来衡量的准确性一个相应的对象在一个特定的数据集,在图14,面对区域模型,检测到的是真正的区域标记,并给出计算公式在下列方程(17): 的面积是 和 的面积是 。
交叉比率表明之间的重叠度模型预测区和真正的区。从图可以看出14值越高,检测精度越高。如果借据= 1,预测框重叠与真正的盒子。一般来说,对象是借据时正确地检测到超过0.5。在人脸检测过程中,我们采用更高的门槛。摘要借据是超过0.75时,面临被认为是正确地检测到。图15显示了司机的人脸检测的精度曲线YOLOv3-tiny改善网络的训练。可以看出,增加训练轮,人脸检测的准确性逐步增加。改进YOLOv3-tiny网络的准确率为98.5%。
(2)ROC曲线。敏感性和特异性是重要的模式识别模型的评价指标。如果你使用 , , ,和表明真阳性的数量,真阴性,假阳性、假阴性样本,分别在测试,然后灵敏度的定义和特异性是
ROC曲线的图真阳性率之间的关系(灵敏度)和假阳性率(1−特异性)。ROC曲线的一个综合指标描述的准确性模式识别任务,和ROC曲线越接近左上角,模型性能就越好。
图16显示了司机的人脸检测的ROC曲线模型。从图可以看出,ROC曲线对应改善YOLOv3-tiny网络接近图的左上角,表明在人脸检测精度高。
总之,通过评估的性能改进YOLOv3-tiny网络更广泛的数据集,结果表明,本文改进的YOLOv3-tiny网络具有较高的精度。此外,中华民国曲线表明,该算法可以有效地避免两种类型的错误在司机的面部识别,也就是说,确保司机的脸可以正确检测,同时避免误判的脸。
3.3。疲劳状态评估
3.3.1。精度
我们使用YawDD数据集测试疲劳检测的性能。人脸检测和面部特征点位置是疲劳驾驶检测的基础。车载视频中每一帧的FFV计算和存储基于面部特征点。计算所有视频帧的FFVs在一定时期内,并建立一个国家分析数据集。滑动窗口(在讨论部分2.4。3)应用于状态分析数据集来计算每个滑动的面部运动信息熵。如果熵不超过阈值,我们可以得出结论,司机处于疲劳状态。视频是随机选择的数据集的疲劳驾驶检测。疲劳驾驶检测的过程如图11。
在这篇文章中,我们随机选择10 YawDD测试集的视频,包括状态nonfatigue驾驶和疲劳驾驶状态。判断疲劳状态的面部信息熵阈值是1.32,结果如表所示2。可以看出疲劳驾驶检测的准确性随机选择十视频是90%,和正确的系统在整个测试组YawDD是94.32%。
3.3.2。速度
基于硬件配置如表所示1,执行比较测试图像来源来验证系统的实时性能。结果如表所示3。
表3说明YawDD擅长视频人脸检测时间。一个可能的原因是数据读取方法之间的差异,以及YawDD视频方法直接从视频流数据。
我们的算法表明,系统具有良好的准确性和高速性能在各种条件下,可以准确地判断驾驶员的疲劳状态。相比之下,演算法+ CNN和CNN + DF_LSTM算法(43,44),我们的方法提高了疲劳驾驶检测算法的准确性。它还具有更好的实时性能,这符合疲劳驾驶检测系统的要求。比较结果如表所示4。
4所示。结论和未来的发展方向
全球汽车保有量的迅速增加,道路交通事故已经成为人类死亡的主要原因之一。疲劳驾驶是交通事故的主要原因之一。疲劳驾驶会严重影响驾驶技能和严重威胁司机和其他交通参与者。目前,疲劳驾驶检测和预警取得更好的研究成果,但他们仍然需要一些改进,比如高干涉性,可怜的检测性能在复杂的环境中,和简单的评价指标。因此,我们提出一种新的疲劳驾驶检测算法基于面部运动信息熵。主要贡献如下。(我)我们设计一个司机的人脸检测架构基于改进YOLOv3-tiny卷积神经网络与开源数据集和训练网络更广泛的脸。与其他深学习算法相比,如YOLOv3 [17]和MTCNN [18),该算法基于改进的YOLOv3-tiny网络提高了人脸识别精度,简化了网络结构,减少计算量。然后,它更方便移植到移动。基于改进的人脸识别的准确率YOLOv3-tiny网络多达98.5%,和单独的测试只需要34.52 ms。(2)Dlib工具包用于提取面部特征点在脸上,坐落在改善YOLOv3-tiny卷积神经网络。然后,司机的FFT分析的定位特征建立了眼睛和嘴巴。最后,司机的FFV由FFT的面积和重心。我们计算每一帧的FFV并将它写入数据库。从而建立状态分析数据集。在许多的研究,依据评估司机的状态的识别结果单帧或几帧,减少疲劳驾驶检测的准确性。本文分析结果的基础上大量连续的框架,我们设计滑动窗口的驾驶疲劳分析获得的统计特征的面部运动状态。因此,司机可以观察到疲劳的过程。(3)消除FFT的变化的干扰区域疲劳驾驶的判断,我们引入投影基准面和投影原理应用于提取运动特征点的脸。然后,基于特征点的运动,我们建议面部运动信息熵,定量描述的混乱程度的运动特征点的脸。然后,我们使用开源数据集训练支持向量机分类器YawDD [37]。实验表明,投影数据区域有不同的价值观,这将影响参数和司机的面部运动信息熵分类器。我们设计基于面部运动信息熵,疲劳判断算法的比较实验表明,我们的算法的准确率为94.32%,而一个算法的速度49.43 ms / f,准确性和速度的进一步提高司机的疲劳检测算法。
在未来,我们将把重点放在以下研究:(1)疲劳检测的结果上传到云平台,结合大数据分析技术分析司机的疲劳期(45](2)疲劳驾驶检测算法融入ADAS(先进驾驶辅助系统)46,47](3)扩大算法的适用环境,探索驾驶员疲劳检测算法基于面部运动信息熵在夜晚环境(48,49]
数据可用性
使用的数据来支持本研究的发现可以从第一作者和通讯作者。
的利益冲突
作者宣称没有利益冲突有关这篇文章的出版。
确认
这项工作是支持部分由中国国家自然科学基金(批准号51808151),广东省公共福利研究和能力建设特殊项目(批准号2016 a020223002),华南理工大学中央高校基金项目(批准号2017 zd034),广东省科技计划项目(批准号2017 a040405021),广东通信理工基础研究基金(批准号20181014),广东省自然科学基金(批准号2020 a151501842),广州2020年研发计划关键领域(批准号202007050004),亚热带建筑科学国家重点实验室、华南理工大学(批准号2020 zb20)。