掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本申请涉及计算机技术领域,特别是涉及一种危险驾驶行为识别方法、装置、系统及计算机可读存储介质。

背景技术

随着车辆制造业的快速发展,社会生活水平的不断提高,汽车、公交车、中小型客车作为代步工具被越来越广泛应用在日常生活中。相伴着,交通事故的频率也越来越高。为了保证路人、驾驶者及随车人员的人身安全,驾驶者的驾驶行为必须符合道路交通安全的要求。

交通事故调查统计结果表明,如果驾驶员反应操作速度能够快0.5s,可以避免近60%的交通事故,提前1s示警可消除90%的追尾事故。可见,如何提高驾驶行为是否处于危险状态的检测速度和检测准确率,降低交通事故发生概率,是所属领域技术人员需要解决的技术问题。

发明内容

本申请提供了一种危险驾驶行为识别方法、装置、系统及计算机可读存储介质,提高了危险驾驶行为的检测速度和检测准确率,有效降低交通事故发生概率。

为解决上述技术问题,本发明实施例提供以下技术方案:

本发明实施例一方面提供了一种危险驾驶行为识别方法,包括:

调用预先训练好的人脸检测器对待识别近红外图像进行人脸检测,得到所述待识别驾驶员图像中的人脸区域图像;

调用预先训练好的人脸关键点检测模型对所述人脸区域进行检测,得到人脸关键点数据;

将所述人脸区域图像中的人脸进行对齐,基于头部姿态估计算法和所述人脸关键点数据计算对齐后的人脸区域图像中头部姿态角;

调用预先构建的人脸状态检测模型对所述人脸区域图像进行分析,得到人眼闭合状态特征和嘴部动作特征;

根据所述头部姿态角、所述人眼闭合状态特征和所述嘴部动作特征生成危险驾驶行为判决结果;

其中,所述人脸检测器的前馈网络感受野阶数小于预设通用阶数阈值;所述人脸关键点检测模型为利用监督下降法、基于关键点训练样本集训练级联回归模型所得,所述级联回归模型的当前函数输入结果依赖上一级函数输出结果,所述当前函数和所述上一级函数均为基于人脸形状的函数且所述当前函数的优化目标为当前人脸形状与真实人脸形状之差。

可选的,所述人脸检测器的训练过程包括:

获取所述人脸检测器的人脸训练样本集;

利用图像金字塔将所述人脸训练样本集中的每个样本图像均生成多个尺度的图像;

基于多任务级联卷积网络算法,将每个样本图像的多个尺度的图像输入全卷积网络进行训练;

其中,所述全卷积网络的图像缩放比例α满足

可选的,所述将所述人脸区域图像中的人脸进行对齐包括:

将所述人脸区域图像通过沙漏网络编码为保持解析度的概率图;

利用所述沙漏网络的中间层构建的子网产生残差特征,并用于估计基于概率图的方法的对齐误差,以对齐所述人脸区域图像中的人脸。

可选的,所述根据所述头部姿态角、所述人眼闭合状态特征和所述嘴部动作特征生成危险驾驶行为判决结果包括:

预先训练疲劳程度甄别模型,所述疲劳程度甄别模型为基于深度学习算法,利用携带有疲劳程度分级标签的特征融合训练样本集训练卷积神经网络模型所得;

将所述头部姿态角、所述待识别近红外图像的人眼闭合形态、嘴部开合形态和嘴部周围非人脸特征输入所述疲劳程度甄别模型中,得到所述疲劳程度甄别模型输出的驾驶员疲劳程度级别。

可选的,所述根据所述头部姿态角、所述人眼闭合状态特征和所述嘴部动作特征生成危险驾驶行为判决结果之后,还包括:

若所述疲劳程度甄别模型输出的驾驶员疲劳程度级别超过预设报警级别阈值,进行语音报警提示;

若所述疲劳程度甄别模型输出的驾驶员疲劳程度级别超过预设强制级别阈值,强制行驶速度不超过30km/h。

可选的,所述人脸状态检测模型为基于深度学习算法,利用状态训练样本集训练卷积神经网络模型所得;所述状态训练样本集中的每张近红外图像样本图像至少包括下述任何一种或任意组合特征:

人眼开启状态、人眼闭合状态、嘴部开启状态、嘴部闭合状态和驾驶禁止行为。

可选的,所述调用预先训练好的人脸检测器对待识别近红外图像进行人脸检测,得到所述待识别驾驶员图像中的人脸区域图像,之前还包括:

在所述疲劳程度甄别模型或所述人脸状态检测模型的训练过程中,利用结构化的剪枝方法对所述卷积神经网络模型进行网络压缩。

本发明实施例另一方面提供了一种危险驾驶行为识别装置,包括:

人脸检测模块,用于调用预先训练好的人脸检测器对待识别近红外图像进行人脸检测,得到所述待识别驾驶员图像中的人脸区域图像;所述人脸检测器的前馈网络感受野阶数小于预设通用阶数阈值;

人脸关键点检测模块,用于调用预先训练好的人脸关键点检测模型对所述人脸区域进行检测,得到人脸关键点数据;所述人脸关键点检测模型为利用监督下降法、基于关键点训练样本集训练级联回归模型所得,所述级联回归模型的当前函数输入结果依赖上一级函数输出结果,所述当前函数和所述上一级函数均为基于人脸形状的函数且所述当前函数的优化目标为当前人脸形状与真实人脸形状之差;

头部姿态估计模块,用于将所述人脸区域图像中的人脸进行对齐,基于头部姿态估计算法和所述人脸关键点数据计算对齐后的人脸区域图像中头部姿态角;

人脸状态检测模块,用于调用预先构建的人脸状态检测模型对所述人脸区域图像进行分析,得到人眼闭合状态特征和嘴部动作特征;

驾驶行为判断模块,用于根据所述头部姿态角、所述人眼闭合状态特征和所述嘴部动作特征生成危险驾驶行为判决结果。

本发明实施例还提供了一种危险驾驶行为识别系统,包括近红外IR双目摄像头、处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现如上任一项所述危险驾驶行为识别方法的步骤。

本发明实施例最后还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有危险驾驶行为识别程序,所述危险驾驶行为识别程序被处理器执行时实现如前任一项所述危险驾驶行为识别方法的步骤。

本申请提供的技术方案的优点在于,在人脸检测中对前馈网络感受野阶数进行优化,减少大量计算量,同时不会引入过大的误差,有效提升图像的处理速度,有利于提升危险驾驶行为的检测效率;基于监督下降法的人脸关键点检测模型在实际测试的时候只需要根据当前特征点处的局部特征不断迭代就可以得到最终的特征点位置,更加高效和节省资源,同时也保持复杂模型的精度,有效提高危险驾驶行为的检测速度和检测准确率;在头部姿势估计之前先进行人脸对齐,可以显著提高识别的准确率;对人眼闭合和嘴部动作进行融合特征分析,然后结合头部姿态特征进行驾驶员的疲劳状态分析,可有效提高了危险驾驶行为检测准确率,降低交通事故发生概率。

此外,本发明实施例还针对危险驾驶行为识别方法提供了相应的实现装置及计算机可读存储介质,进一步使得所述方法更具有实用性,所述装置及计算机可读存储介质具有相应的优点。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。

附图说明

为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种危险驾驶行为识别方法的流程示意图;

图2为本发明实施例提供的坐标系转化示意图;

图3为本发明实施例提供的LDP和LDN编码值计算流程示意图;

图4为本发明实施例提供的疲劳程度甄别模型状态转移示意图;

图5为本发明实施例提供的剪枝后网络参数分布示意图;

图6为本发明实施例提供的危险驾驶行为识别装置的一种具体实施方式结构图;

图7为本发明实施例提供的危险驾驶行为识别系统的一种具体实施方式结构图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。

在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。

首先参见图1,图1为本发明实施例提供的一种危险驾驶行为识别方法的流程示意图,本发明实施例可包括以下内容:

S101:调用预先训练好的人脸检测器对待识别近红外图像进行人脸检测,得到待识别驾驶员图像中的人脸区域图像。

在本实施例中,人脸检测器为预先训练好、用于识别待识别红外图像中的驾驶员人脸。为了提高人脸检测器的数据处理效果,人脸检测器的前馈网络感受野阶数小于预设通用阶数阈值;预设通用阶数阈值为所属领域中常用的感受野阶数,例如预设通用阶数阈值为10阶,那么本申请为8阶。

S102:调用预先训练好的人脸关键点检测模型对人脸区域进行检测,得到人脸关键点数据。

本步骤中的人脸关键点检测模型为利用监督下降法、基于关键点训练样本集训练级联回归模型所得,级联回归模型的当前函数输入结果依赖上一级函数输出结果,当前函数和上一级函数均为基于人脸形状的函数且当前函数的优化目标为当前人脸形状与真实人脸形状之差。本申请的人脸关键点检测模型基于传统SDM(Supervised Descent Method,监督下降法)的人脸关键点检测方法,通过提取SIFT特征,使用监督梯度下降的方法来求解非线性最小二乘问题,其主体算法框架是一个级联回归模型。SDM算法将人脸特征点检测问题建模为一个回归问题,通过训练集得到每次迭代的步长参数,而在实际测试的时候只需要根据当前特征点处的局部特征,不断迭代就可以得到最终的特征点位置。和传统的方法相比,SDM更加高效和节省资源,同时也保持复杂模型的精度。

级联回归模型可直接学习从人脸表观到人脸形状或者人脸形状模型的参数的映射函数,进而建立从表观到形状的对应关系。面部特征点定位问题可以看作是学习一个回归函数F,以图像I作为输入,输出θ为特征点的位置即人脸形状,可表示为θ=F(I)。级联回归模型可以统一为以下框架:

学习多个回归函数{f

S103:将人脸区域图像中的人脸进行对齐,基于头部姿态估计算法和人脸关键点数据计算对齐后的人脸区域图像中头部姿态角。

本申请中的头部姿态估计算法可根据实际应用场景选择任何一种可实现头部姿势估计的现有技术,本申请对此不作任何限定。同样对人脸区域图像中的人脸进行对齐处理的算法也可根据实际应用场景进行选择,本申请对此不作任何限定。头部姿态角包括但并不限于抬头角度、低头角度和左右扭转角度。

S104:调用预先构建的人脸状态检测模型对人脸区域图像进行分析,得到人眼闭合状态特征和嘴部动作特征。

本申请中的人脸状态检测模型可为预先基于深度学习算法训练好、用于识别眼睛闭合状态、嘴巴闭合状态、嘴部行为如打电话、喝水、抽烟、吃东西等的模型。将上述步骤得到的人脸区域图像输出至人脸状态检测模型中,得到该人脸区域图像中人眼是闭住还是睁开,嘴巴是打开状态还是闭着状态,若为打开状态进一步通过检测嘴巴附件是否有非人脸的物体出现来判断驾驶员是打电话还是喝水还是作别的行为,并将这些行为输出。

作为一种可选的实施方式,人脸状态检测模型例如为基于深度学习算法,利用状态训练样本集训练卷积神经网络模型所得;状态训练样本集中的每张近红外图像样本图像至少包括下述任何一种或任意组合特征:

人眼开启状态、人眼闭合状态、嘴部开启状态、嘴部闭合状态和驾驶禁止行为,驾驶禁止行为例如包括但并不限制于打电话行为、抽烟行为、喝水行为。

S105:根据头部姿态角、人眼闭合状态特征和嘴部动作特征生成危险驾驶行为判决结果。

本申请可预先根据头部姿态角、人眼闭合状态特征和嘴部动作特征的不同组合设置相应的危险行为级别,然后根据上述步骤得到的特征信息与危险行为级别进行匹配从而得到当前驾驶员是否处于危险行为。

在本发明实施例提供的技术方案中,在人脸检测中对前馈网络感受野阶数进行优化,减少大量计算量,同时不会引入过大的误差,有效提升图像的处理速度,有利于提升危险驾驶行为的检测效率;基于监督下降法的人脸关键点检测模型在实际测试的时候只需要根据当前特征点处的局部特征不断迭代就可以得到最终的特征点位置,更加高效和节省资源,同时也保持复杂模型的精度,有效提高危险驾驶行为的检测速度和检测准确率;在头部姿势估计之前先进行人脸对齐,可以显著提高识别的准确率;对人眼闭合和嘴部动作进行融合特征分析,然后结合头部姿态特征进行驾驶员的疲劳状态分析,可有效提高了危险驾驶行为检测准确率,降低交通事故发生概率。

需要说明的是,本申请中各步骤之间没有严格的先后执行顺序,只要符合逻辑上的顺序,则这些步骤可以同时执行,也可按照某种预设顺序执行,图1只是一种示意方式,并不代表只能是这样的执行顺序。

在上述实施例中,对于如何执行步骤S101并不做限定,本实施例中给出人脸检测器的一种训练过程,可包括如下步骤:

获取人脸检测器的人脸训练样本集;

利用图像金字塔将人脸训练样本集中的每个样本图像均生成多个尺度的图像;

基于多任务级联卷积网络算法,将每个样本图像的多个尺度的图像输入全卷积网络进行训练;

其中,全卷积网络的图像缩放比例α满足

在本实施例中,将待识别无深度信息图片即S101中的待识别近红外图像IMG输入人脸检测器,本申请的人脸检测器基于改进的MTCNN算法(Multi-task CascadedConvolutional Networks,多任务级联卷积网络)对IMG进行人脸检测,若IMG中没有检测到人脸,则返回去输入下一幅待识别的近红外图像;若从IMG中检测到人脸A,则标记出其人脸框Rect(x,y,h,w)。x,y,h,w分别是人脸框的定位点的横纵坐标和人脸框的长宽,以及人脸关键特征点位置Point(p1,...,pm),其中m≥2;然后将人脸框Rect截取出来,得到人脸Face1。

上面是标注的MTCNN的人脸检测算法,本实施例通过改进MTCNN算法使得其脱离服务器端的卷积神经网络架构,重新设计了基于C++相关库和Armadillo矩阵加速库加速,实现卷积神经网络的前馈网络,更加快速有效且小型化地实现人脸关键点检测。在不损耗过大精度的前提下,图像金字塔的个数即缩放的阶数由三个因素确定,即输入图片的大小w、最小检测图像minsize和缩放系数factor,设图像金字塔的阶数为n,则有:

其中,最小检测图像minsize为最小检测的尺寸,定义为图像不断通过乘以缩放系数factor使得其尺寸变小从而得到图像金字塔的更小的一层,然后尺寸小于minisize后就不再继续缩小了。也可以理解为图像画面上最小可以检测到的人脸尺寸。若w=250,minsize=20,factor=0.85,则n∈[0,15],即此时图像金字塔的阶数为16。考虑使用情况,本申请中的摄像头拍摄到的图片中的人脸的比例至少占图片大小的1/4,即人脸的宽度大于w/4。由于PNet为一个全卷积神经网络,其感受野大小为12*12,在PNet的输出中任一像素点在缩放后的图片中的区域大小为12*12。因此可对缩放比例α有以下约束

经过对阶数优化后,图像金字塔的阶数从16阶减少到10阶,图像金字塔的图片总面积缩小了10倍,总面积从8*1e5缩小到8*1e4。由于卷积神经网络的计算量与输入图片的面积呈正比,因此在优化之后计算量也相应缩小了10倍,理论上所有图片在PNet的处理速度也将提高10倍。值得注意的是,在有先验知识即摄像头拍摄到的人脸占图片的1/4以上时,上述的优化不会对MTCNN算法精度造成损耗。

另外,为了进一步减少大量计算量,同时不会引入过大的误差,还可对MTCNN算法中阈值也进行了适当的提高,这将大幅度减少每一步中候选框的数量,阈值适当提高,是为了减少MTCNN的候选框的数量,例如对于使用场景是那种一般只有一个两个人脸的检测,不需要把画面中所有人脸都检测出来,因此把阈值提高就可以在Pnet的时候去掉大部分候选框,后面运算Rnet、Onet的时候,运算量就会变小,而且对MTCNN的检测单人脸的精度没什么影响。

本实施例提出人脸检测方法相比常规MTCNN方法,更加小型化和高效化,更适合资源受限模式下采用。

在上述实施例中,对于如何执行人脸对齐操作并不做限定,本实施例中给出人脸对齐的一种实施方式,可包括如下步骤:

将人脸区域图像通过沙漏网络编码为保持解析度的概率图;利用沙漏网络的中间层构建的子网产生残差特征,并用于估计基于概率图的方法的对齐误差,以对齐人脸区域图像中的人脸。

可以理解的是,全卷积神经网络训练的一个很重要的过程即应用核函数生成真实概率矩阵对人脸对齐的影响。经过多次实验研究验证,核函数的使用会导致无论是交叉熵损失函数还是像素级欧几里得损失函数都无法准确地反映对齐误差。换句话说,就是核函数的使用导致训练和测试的评判准则不一致,从而导致性能下降。基于此,本申请构建了一个在训练和测试时结合不同评判准则的全卷积神经网络。这个结构有两个基本的功能:输入的人脸图像通过沙漏网络被编码成保持解析度的概率图;从网络的中间层构建了一个小的子网来产生残差特征并用来估计基于概率图的方法的对齐误差。因为概率图是以最小化预测概率矩阵与真实概率矩阵的误差来训练的,而人脸对齐的残差是通过优化欧几里得损失来训练的,因此训练和测试所用准则的不一致性得到了缓解。

在上述实施例中,对于如何执行头部姿势估计并不做限定,本实施例中给出头部姿势估计的一种实施方式,可包括如下步骤:

头部姿态估计为通过一幅面部图像来获得头部的姿态角。在3D空间中,表示物体的旋转可以由三个欧拉角来表示:分别计算pitch(围绕X轴旋转),yaw(围绕Y轴旋转)和roll(围绕Z轴旋转),分别称为俯仰角、偏航角和滚转角,通俗讲就是抬头、摇头和转头。头部姿态估计的步骤一般为:2D人脸关键点检测;3D人脸模型匹配;计算3D点和对应2D点的转换关系;根据旋转矩阵求解欧拉角。而众所周知一个物体相对于相机的姿态可以使用旋转矩阵和平移矩阵来表示。其中,平移矩阵为物体相对于相机的空间位置关系矩阵,可用T表示。旋转矩阵为物体相对于相机的空间姿态关系矩阵,可用R表示。需要用到坐标系转换,分别是:世界坐标系(UVW)、相机坐标系(XYZ)、图像中心坐标系(uv)和像素坐标系(xy),如图2所示。其中,世界坐标系到相机坐标系可表示为:

相机坐标系到像素坐标系:

像素坐标系和世界坐标系的关系如下:

上式的求解可用DLT(Direct Linear Transform)算法结合最小二乘进行迭代求解,相机总有点瑕疵,比如径向和切向畸变,那关系就要稍微复杂一些,相机坐标系要先转换到图像中心坐标系,图像中心坐标系到像素坐标系:

确定pose就是:确定从3D model到图片中人脸的仿射变换矩阵,它包含旋转和平移的信息;只要知道世界坐标系内点的位置、像素坐标位置和相机参数就可以确定旋转和平移矩阵,关系分明是非线性的,可采用如OpenCV计算PnP问题的函数solvePnp(),它的输出结果包括旋转向量(rotation vector)和平移向量(translation vector),本申请只关心旋转信息,所以主要将对rotation vector进行操作。得到旋转矩阵后,就可以得到欧拉角了。rotation vector是物体旋转信息的表示方式之一,是OpenCV常用的表示方式。除了rotation vector,还有欧拉角(Euler angle)、旋转矩阵(Rotation Matrix)、方向余弦矩阵(Direction Cosine Matrix)、四元数(Quaternion)和轴-角表示(Axis-Angle)。因为本申请所需欧拉角,所以这里只阐述将rotation vector转换为欧拉角的方法。

三维空间的任意旋转,都可以用绕着三维空间的某个轴旋转过某个角度来表示,即Axis-Angle表示方法。Axis可用一个三维向量(x,y,z)来表示,theta可以用一个角度值来表示,直观来讲,一个四维向量(theta,x,y,z)就可以表示出三维空间任意的旋转。注意,这里的三维向量(x,y,z)只是用来表示axis的方向朝向,因此更紧凑的表示方式是用一个单位向量来表示方向axis,而用该三维向量的长度来表示角度值theta。这样一来便可以用一个三维向量(theta*x,theta*y,theta*z)表示出三维空间任意的旋转,前提是其中(x,y,z)是单位向量,这就是旋转向量(Rotation Vector)的表示方式。此外,四元数(Quaternion)也是一种常用的旋转表示方式。从四元数转换到欧拉角公式较简单,所以可先将rotation vector转换为四元数。假设(x,y,z)是axis方向的单位向量,theta是绕axis转过的角度,那么四元数可以表示为:

然后是四元数到欧拉角的转换公式如下:

从而得到头部姿态的估计输出。

作为一种可选的实施方式,本申请还提供了S105的一种实施方式,可包括下述内容:

预先训练疲劳程度甄别模型,疲劳程度甄别模型为基于深度学习算法,利用携带有疲劳程度分级标签的特征融合训练样本集训练卷积神经网络模型所得;将头部姿态角、待识别近红外图像的人眼闭合形态、嘴部开合形态和嘴部周围非人脸特征输入疲劳程度甄别模型中,得到疲劳程度甄别模型输出的驾驶员疲劳程度级别。在疲劳驾驶检测的功能中,可以设计为疲劳程度级别,例如可按照1级到5级疲劳来定义,或者映射到概率置信度空间进行定义。

作为一种可选的实施方式,本实施例可通过采用传统的局部特征对人眼闭合和嘴部动作进行融合特征分析,然后结合其他输入特征如头部姿态进行驾驶员的疲劳状态分析。基于局部方向模式(LDP)计算方法主要思想是通过Kirsch边缘算子计算图像每个像素点周围8个点的边缘响应值,Kirsch边缘算子定义如下所示。然后找到最大响应值和最小响应值位置,最终计算得到这个像素点的LDN编码值,具体的定义和计算方法可如图3所示。

如图3所示,图中的1~7代表着像素点的方向数。使用Kirsch边缘算子计算坐标为(x,y)的像素点的边缘响应,假设最大正响应的方向数为i

LDN(x,y)=8i

其中,C

作为另外一种可选的实施方式,本实施例的疲劳程度甄别模型可基于Q-Learning算法实现。Q-Learning算法目标是达到目标状态时收益最大。该算法下Agent知道当前状态下可以选择哪些动作,同时算法给出了相应的收益函数R,然后由收益函数R得出指导Agent行动的Q值矩阵Q-Table。Q-Table的值Q(s,a)衡量当前s状态下采用a动作的好坏。算法训练的过程中,常使用波尔曼公式更新Q-Table,即:

Q(s,a)=r+γ(max(Q(s',a'))

其中,Q(s,a)表示为在当前s状态下采用a动作后的收益r,与加上折扣γ后的最大收益max(Q(s',a'))之和,具体的算法步骤如下:

Step1:给定参数γ和收益函数r;

Step2:令Q:=0;

Step3:for each episode:

Step3.1:随机选择一个初始的状态s;

Step3.2:若未达到目标状态,则执行以下几步:

1)在当前状态s的所有可能行为中选择一个动作a;

2)利用选定的动作a,得到下一个状态s’;

3)按照Q(s,a)=r+γ(max(Q(s',a'))计算Q(s,a);

4)令s:=s’。

Agent利用上述算法从经验中进行学习,每一个episode相当于一个训练周期。在一个训练周期中,Agent探索外界环境,并接收外界环境的收益,直到达到目标状态。

疲劳程度甄别模型的收益函数R(Y,T)定义为

其中,T

表1疲劳程度甄别模型的参数设置

疲劳程度甄别模型在训练过程中,每个状态S下都有一张记录动作A的平均收益的Q值表,疲劳程度甄别模型在每个动作间的状态转移表如图4所示。A

Q(S,A

本实施例提出一种小型N层设计的深度学习网络实现人眼闭合状态和嘴巴动作行为识别方法,在大量数据的训练下不断优化损失函数使其提升识别精度,且该方法不再受限于人脸关键点检测的比例判定以及摄像头拍摄视频图像的质量。采用多分类深度学习训练的网络,构建多特征融合的目标检测和分类模型,使得在较小的模型规模下,仍能获得更高的识别精度,同时无需增加模型大小和运行时间。

作为本申请的另外一种可选的实施方式,为了及时提醒驾驶员危险行为,保障驾驶行为安全性,基于上述实施例,还可包括:

若疲劳程度甄别模型输出的驾驶员疲劳程度级别超过预设报警级别阈值,进行语音报警提示;

若疲劳程度甄别模型输出的驾驶员疲劳程度级别超过预设强制级别阈值,强制行驶速度不超过30km/h。

可以理解的是,深度人脸识别网络模型一般具有很多参数,计算量很大,小型化芯片处理器的设备往往无法使用这些人脸识别神经网络模型。本申请还可进行模型压缩和加速,目标就是让模型在存储上变得更小、运算上速度更快。在CNN网络结构中,计算量主要在卷积层,存储量主要在全连接层,所以压缩的方法重点在于操作全连接层,加速的方法重点在于操作卷积层。模型压缩的主要思想是减少参数,减少比特数,一般模型压缩过程中也会加速模型。也即作为其他一些可选的实施方式,为了提高整个危险驾驶行为的识别效率,进一步保障驾驶员的行车安全,降低交通事故发生,在疲劳程度甄别模型或人脸状态检测模型的训练过程中,还可利用结构化的剪枝方法对卷积神经网络模型进行网络压缩。剪枝是把一些无用或者训练错误的参数通过一定方式去除,从而减少模型参数量。在剪枝过程中如果随机剪枝,会导致参数0随机分布在网络中,称为Irregular sparsity,如图5中左图所示,白色为0参数。这种情况能起到较好的压缩效果,但是对于加速帮助不大。如果使用结构化的剪枝方法,则剪枝后的参数0位置分布在一行或者一列,称为Regular sparsity,如图5中右图所示。这样在计算过程中0行或者0列不参与计算,可以起到很好加速效果。当然,也可采用其他方式如新紧密结构、知识蒸馏、量化和矩阵分解等方式进行模型压缩,这均不影响本申请的实现。

本发明实施例还针对危险驾驶行为识别方法提供了相应的装置,进一步使得所述方法更具有实用性。其中,装置可从功能模块的角度和硬件的角度分别说明。下面对本发明实施例提供的危险驾驶行为识别装置进行介绍,下文描述的危险驾驶行为识别装置与上文描述的危险驾驶行为识别方法可相互对应参照。

基于功能模块的角度,参见图6,图6为本发明实施例提供的危险驾驶行为识别装置在一种具体实施方式下的结构图,该装置可包括:

人脸检测模块601,用于调用预先训练好的人脸检测器对待识别近红外图像进行人脸检测,得到待识别驾驶员图像中的人脸区域图像。人脸检测器的前馈网络感受野阶数小于预设通用阶数阈值。

人脸关键点检测模块602,用于调用预先训练好的人脸关键点检测模型对人脸区域进行检测,得到人脸关键点数据。人脸关键点检测模型为利用监督下降法、基于关键点训练样本集训练级联回归模型所得,级联回归模型的当前函数输入结果依赖上一级函数输出结果,当前函数和上一级函数均为基于人脸形状的函数且当前函数的优化目标为当前人脸形状与真实人脸形状之差。

头部姿态估计模块603,用于将人脸区域图像中的人脸进行对齐,基于头部姿态估计算法和人脸关键点数据计算对齐后的人脸区域图像中头部姿态角。

人脸状态检测模块604,用于调用预先构建的人脸状态检测模型对人脸区域图像进行分析,得到人眼闭合状态特征和嘴部动作特征。

驾驶行为判断模块605,用于根据头部姿态角、人眼闭合状态特征和嘴部动作特征生成危险驾驶行为判决结果。

可选的,在本实施例的一些实施方式中,所述人脸检测模块601包括人脸检测器训练子模块,所述人脸检测器训练子模块可包括:

样本获取单元,用于获取人脸检测器的人脸训练样本集;

多尺度图像生成单元,用于利用图像金字塔将人脸训练样本集中的每个样本图像均生成多个尺度的图像;

模型训练单元,用于基于多任务级联卷积网络算法,将每个样本图像的多个尺度的图像输入全卷积网络进行训练;

其中,全卷积网络的图像缩放比例α满足

作为一种可选的实施方式,所述头部姿态估计模块603包括人脸对齐子模块,所述人脸对齐子模块包括:

编码单元,用于将人脸区域图像通过沙漏网络编码为保持解析度的概率图;

对齐单元,用于利用沙漏网络的中间层构建的子网产生残差特征,并用于估计基于概率图的方法的对齐误差,以对齐人脸区域图像中的人脸。

作为另外一种可选的实施方式,所述驾驶行为判断模块605包括:

模型训练子模块,用于预先训练疲劳程度甄别模型,疲劳程度甄别模型为基于深度学习算法,利用携带有疲劳程度分级标签的特征融合训练样本集训练卷积神经网络模型所得;

疲劳程度输出子模块,用于将头部姿态角、待识别近红外图像的人眼闭合形态、嘴部开合形态和嘴部周围非人脸特征输入疲劳程度甄别模型中,得到疲劳程度甄别模型输出的驾驶员疲劳程度级别。

作为其他一种可选的实施方式,所述装置例如还可包括:

报警模块,用于若疲劳程度甄别模型输出的驾驶员疲劳程度级别超过预设报警级别阈值,进行语音报警提示;

制动模块,用于若疲劳程度甄别模型输出的驾驶员疲劳程度级别超过预设强制级别阈值,强制行驶速度不超过30km/h。

可选的,在本实施例的另一些实施方式中,所述装置例如还可以包括网络压缩模块,用于在疲劳程度甄别模型或人脸状态检测模型的训练过程中,利用结构化的剪枝方法对卷积神经网络模型进行网络压缩。

本发明实施例所述危险驾驶行为识别装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

由上可知,本发明实施例提高了危险驾驶行为的检测速度和检测准确率,有效降低交通事故发生概率。

本发明实施例还提供了一种危险驾驶行为识别系统,可包括近红外IR双目摄像头1和危险驾驶行为识别装置2,危险驾驶行为识别装置2可包括处理器和存储器。上文中提到的危险驾驶行为识别装置2是从功能模块的角度描述,进一步的,本实施例从硬件角度描述。其中,存储器用于存储计算机程序;处理器用于执行计算机程序时实现如上述任一实施例提到的危险驾驶行为识别方法的步骤。

其中,处理器可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器71可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器还可以包括AI(ArtificialIntelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。

存储器可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器至少用于存储以下计算机程序,其中,该计算机程序被处理器加载并执行之后,能够实现前述任一实施例公开的危险驾驶行为识别方法的相关步骤。另外,存储器所存储的资源还可以包括操作系统和数据等,存储方式可以是短暂存储或者永久存储。其中,操作系统可以包括Windows、Unix、Linux等。数据可以包括但不限于危险驾驶行为识别结果对应的数据等。

在一些实施例中,危险驾驶行为识别系统还可包括有显示屏、输入输出接口、通信接口、电源以及通信总线,例如还可包括传感器。

本发明实施例所述危险驾驶行为识别装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

由上可知,本发明实施例提高了危险驾驶行为的检测速度和检测准确率,有效降低交通事故发生概率。

为了使所属领域技术人员更加清楚本申请的技术方案,基于上述实施例,本申请还提供了一个示意性实施例,请参见图7,近红外IR双目摄像头1、驾驶行为识别装置2和报警装置3均设置在车内,为了使所属领域技术人员更加清楚明白本申请各器件之间的关系,本申请在图7中将各器件进行放大处理,本实施例可包括以下内容:

危险驾驶行为识别系统可包括近红外IR双目摄像头1、驾驶行为识别装置2和报警装置3。近红外IR双目摄像头1与驾驶行为识别装置2可通过有线连接,也可采用无线连接如wifi、蓝牙等进行数据传输,将其采集的图像传输至驾驶行为识别装置2中进行处理,驾驶行为识别装置2和报警装置3可通过有线连接,也可采用无线连接如wifi、蓝牙等进行数据传输。

其中,近红外IR双目摄像头1可用于采集当前驾驶员的图像,并作为待识别近红外图像发送至驾驶行为识别装置2。可预先在驾驶员座位上设置压力传感器,当压力传感器产生压力信号触发近红外IR双目摄像头1采集图像,近红外IR双目摄像头1在压力信号触发下采集的图像即为驾驶员的近红外图像。

本申请中的驾驶行为识别装置2根据待识别近红外图像中存在的危险驾驶行为触发报警装置进行报警提示。驾驶行为识别装置2可为内嵌图像识别程序的独立硬件设备如FPGA、也可为微处理器或数据处理芯片,图像识别程序可采用相关技术中任何一种可实现驾驶员危险驾驶行为如打电话如睡觉识别的程序,本申请对此不作任何限定。当检测到驾驶员存在危险驾驶行为,驾驶行为识别装置2向报警装置3发送一个报警触发指令,以使报警装置3进行报警提示驾驶员当前驾驶行为为危险驾驶行为,报警装置3例如可为蜂鸣器,当然也可为其他类型的报警器。

作为一种可选的实施方式,近红外IR双目摄像头1采集的驾驶员图像越清晰,后续图像处理的精度也就越高,基于此,危险驾驶行为识别系统还可包括补光光源模块。补光光源模块用于在当前成像环境的光照不满足预设光照条件时,为近红外IR双目摄像头供补光光源。

补光的目的是为了使在光照条件差的情况下能够在摄像头找到待成像目标,可使得自然环境的光照度与拍摄主体的光照度接近,避免在图像采集过程中曝光太过或曝光不足。经过多次试验证明,补光光源的光强度为当前成像环境中的自然光源光强度的20%,即可达到补光的效果,即补光光源的光强度可不小于当前成像环境中自然光源光强度的20%,但是,从环保节约的角度考虑,补光光源的光强可为当前成像环境中自然光源光强度的20%。当然,实际应用中并不限于这个光照值,本领域技术人员可根据具体情况进行选择。

为了降低整体系统的功耗,节约系统电能,使整个系统更加环保;此外,为了减小设备的体积,减轻设备质量,有利于其向更轻、更薄、更小的新型设备发展,优选的,补光光源可为LED补光灯。

为了消除环境中其他光源的影响,补光光源可为单一波长的光源,还可在补光光源环境中进行成像的摄像头上设置窄带滤光片,用于进行成像时,避免环境中其他光照的影响。由于窄带滤光片的功能是为了消除环境中其他光源的对第二摄像头进行成像时的影响,故窄带滤光片的带波长与单一波长的光源的波长应相同。

由于光波长越长,对太阳光(自然光)的影响越小;而且,光波长越长,受到环境中其他光源的干扰就越小,光照环境适应性越好。多次试验证明,红外波段对人体的感知小。因此,补光光源的光波长可不小于760nm,即光波长处于红外波段以及微波波段的光。可选的,补光光源可为红外光源。

在一种具体实施方式中,补光光源可为波长为La的LED补光灯;

相应的,窄带滤光片为带波长为La的窄带滤光片。

作为另一种可选的实施方式,为了进一步保障驾驶员的人身安全,保障驾驶行为的安全性,基于上述实施例,所述系统还可包括与驾驶行为识别装置2相连的制动装置;制动装置与驾驶行为识别装置2可通过无线连接如wifi。制动装置用于当接收驾驶行为识别装置发送的限速指令,强制行驶速度不超过30km/h。当然,强制行驶速度还可根据实际情况进行调整,这均不影响本申请的实现。

作为其他一种可选的实施方式,为了及时提醒驾驶员当前处于危险驾驶行为中,所述系统例如还可包括与驾驶行为识别装置2相连的显示屏和语音播放器。显示屏和语音播放器与驾驶行为识别装置2的数据传输方式同样可以通过无线也可通过有线,这均不影响本申请的实现。

显示屏可为任何一种类型显示屏,如LED显示屏,显示屏可用于将危险驾驶行为提示信息和建议操作信息进行循环展示。建议操作信息即为针对危险驾驶行为系统给出的建议,是危险驾驶行为变得不危险。语音播报器用于播放危险驾驶行为语音提示信息和建议操作语音信息。

可以理解的是,如果上述实施例中的危险驾驶行为识别方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。

基于此,本发明实施例还提供了一种计算机可读存储介质,存储有危险驾驶行为识别程序,所述危险驾驶行为识别程序被处理器执行时如上任意一实施例所述危险驾驶行为识别方法的步骤。

本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

由上可知,本发明实施例提高了危险驾驶行为的检测速度和检测准确率,有效降低交通事故发生概率。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

以上对本申请所提供的一种危险驾驶行为识别方法、装置、系统及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

相关技术
  • 危险驾驶行为识别方法、装置、系统及可读存储介质
  • 一种危险驾驶行为的识别方法、装置、设备及存储介质
技术分类

06120112177882