疲劳驾驶检测方法、装置、计算机设备和存储介质与流程

文档序号:21728642发布日期:2020-08-05 01:20阅读:134来源:国知局
疲劳驾驶检测方法、装置、计算机设备和存储介质与流程

本申请涉及计算机技术领域,特别是涉及一种疲劳驾驶检测方法、装置、计算机设备和存储介质。



背景技术:

随着社会经济飞速发展,城市道路的大规模建设,机动车保有量呈指数增加。机动车保有量呈指数增加的同时,交通事故的发生率日益增高。同时随着现代人生活节奏加快,熬夜现象严重、缺乏锻炼、饮食不规律等因素造成了现代人容易疲劳,精力差,随之出现的疲劳驾驶成为造成交通事故的主要原因之一。

在现有方式中,通常基于脑电信号(electroencephalogram,eeg)的睡眠检测模型对清醒状态和睡眠状态进行检测,以确定是否处于疲劳驾驶状态。

但是,脑电信号eeg容易受到噪音的干扰,并且难以收集,使得进行疲劳驾驶检测的检测准确性较低。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够提升疲劳驾驶检测准确性的疲劳驾驶检测方法、装置、计算机设备和存储介质。

一种疲劳驾驶检测方法,所述方法包括:

获取待处理视频,并从待处理视频中提取各帧图像;

分别对各帧图像中的检测对象进行人脸关键点信息的提取,得到对应各帧图像的人脸关键点信息;

基于提取的人脸关键点信息,进行疲劳驾驶状态的检测,得到对应疲劳驾驶状态的初始检测结果;

根据初始检测结果,确定检测对象的目标疲劳参考值,并判断目标疲劳参考值是否大于预设阈值;

当目标疲劳参考值大于预设阈值时,则生成检测对象处于疲劳驾驶状态的最终检测结果。

在其中一个实施例中,分别对各帧图像中的检测对象进行人脸关键点信息的提取,得到对应各帧图像的人脸关键点信息,包括:

分别对各帧图像进行人脸区域的检测,得到对应各帧图像的人脸区域图像;

分别对各人脸区域图像进行人脸关键点信息的提取,得到对应各帧图像的人脸关键点信息。

在其中一个实施例中,基于提取的人脸关键点信息,进行疲劳驾驶状态的检测,得到对应疲劳驾驶状态的初始检测结果,包括:

从提取的人脸关键点信息中,提取各人脸关键部位对应的多个目标人脸关键点信息;

根据各人脸关键部位的多个目标人脸关键点信息,检测各人脸关键部位的状态是否处于疲劳驾驶状态,并生成对应的初始检测结果。

在其中一个实施例中,根据各人脸关键部位的多个目标人脸关键点信息,检测各人脸关键部位的状态是否处于疲劳驾驶状态,并生成对应的初始检测结果,包括:

根据人脸关键部位的多个目标人脸关键点信息,计算多个目标人脸关键点信息对应的多个目标人脸关键点之间的目标距离;

判断目标距离是否大于预设距离;

当目标距离大于预设距离时,则确定人脸关键部位的状态处于疲劳驾驶状态,并生成处于疲劳驾驶状态的初始检测结果;

当目标距离小于或等于预设距离时,则确定人脸关键部位的状态未处于疲劳驾驶状态,并生成未处于疲劳驾驶状态的初始检测结果。

在其中一个实施例中,进行疲劳驾驶状态的检测,得到对应疲劳驾驶状态的初始检测结果,包括:

进行多种不同表现形式的疲劳驾驶状态的检测,得到对应多种不同表现形式的疲劳驾驶状态的初始检测结果;

根据初始检测结果,确定检测对象的目标疲劳参考值,包括:

基于各表现形式的疲劳驾驶状态的初始检测结果,确定检测时间内各表现形式的疲劳驾驶状态被检测到的次数;

根据各表现形式的疲劳驾驶状态被检测到的次数,以及在检测时间内帧图像的数量,确定各表现形式的疲劳驾驶状态的占比;

基于预先设置的各表现形式的疲劳驾驶状态的权重以及各表现形式的疲劳驾驶状态的占比,生成检测对象的目标疲劳参考值。

在其中一个实施例中,上述方法还包括:

当目标疲劳参考值小于或等于预设阈值时,判断检测时间内的最后一帧图像是否为待处理视频的最后一帧图像;

当检测时间内的最后一帧图像为待处理视频的最后一帧图像时,则生成检测对象未处于疲劳驾驶状态的最终检测结果;

当检测时间内的最后一帧图像不是待处理视频的最后一帧图像时,则获取待处理视频中下一检测时间内的各帧图像,并继续对检测对象是否处于疲劳驾驶状态进行检测。

在其中一个实施例中,对各帧图像中的检测对象进行人脸关键点信息的提取是通过预先训练的检测模型进行的,检测模型的训练方式包括:

获取训练集图像;

通过标注框对训练集图像中的人脸关键点分别进行标注,分别得到训练集图像中人脸关键点的信息;

对标注后的训练集图像进行归一化处理,得到与预设尺寸一致的训练集图像;

将训练集图像输入构建的初始检测模型,对训练集图像进行特征提取,得到特征图像;

对特征图像进行回归预测,得到人脸关键点的预测结果;

基于标注框以及预测结果,确定模型的损失值,并通过损失值更新模型参数;

对初始检测模型进行迭代处理,得到训练后的检测模型。

一种疲劳驾驶检测装置,所述装置包括:

获取模块,用于获取待处理视频,并从待处理视频中提取各帧图像;

提取模块,用于分别对各帧图像中的检测对象进行人脸关键点信息的提取,得到对应各帧图像的人脸关键点信息;

检测模块,用于基于提取的人脸关键点信息,进行疲劳驾驶状态的检测,得到对应疲劳驾驶状态的初始检测结果;

第一判断模块,用于根据初始检测结果,确定检测对象的目标疲劳参考值,并判断目标疲劳参考值是否大于预设阈值;

第一结果生成模块,用于当目标疲劳参考值大于预设阈值时,则生成检测对象处于疲劳驾驶状态的最终检测结果。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。

上述疲劳驾驶检测方法、装置、计算机设备和存储介质,通过获取待处理视频,并从待处理视频中提取各帧图像,然后分别对各帧图像中的检测对象进行人脸关键点信息的提取,得到对应各帧图像的人脸关键点信息,并基于提取的人脸关键点信息,进行疲劳驾驶状态的检测,得到对应疲劳驾驶状态的初始检测结果,进一步根据初始检测结果,确定检测对象的目标疲劳参考值,并进行判断,生成对应的最终检测结果。从而,可以直接对待处理视频中的各帧图像进行人脸关键点信息的提取,以及疲劳驾驶状态的检测判定,即可确定检测对象的目标疲劳参考值,相比于通过eeg进行检测,不用接收外界的干扰,帧图像也易于收集,进而可以提升疲劳驾驶检测的准确性。

附图说明

图1为一个实施例中疲劳驾驶检测方法的应用场景图;

图2为一个实施例中疲劳驾驶检测方法的流程示意图;

图3为另一个实施例中疲劳驾驶检测方法的流程示意图;

图4为一个实施例中人脸关键点信息提取步骤的流程示意图;

图5为一个实施例中人脸区域检测步骤的流程示意图;

图6为一个实施例中人脸关键点部位关键点的示意图;

图7为一个实施例中疲劳驾驶检测装置的结构框图;

图8为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的疲劳驾驶检测方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102用于采集待处理视频,并通过网络发送至服务器104。服务器104在获取终端102发送的待处理视频后,可以从待处理视频中提取各帧图像,然后分别对各帧图像中的检测对象进行人脸关键点信息的提取,得到对应各帧图像的人脸关键点信息。进一步,服务器104可以基于提取的人脸关键点信息,进行疲劳驾驶状态的检测,得到对应疲劳驾驶状态的初始检测结果,并根据初始检测结果,确定检测对象的目标疲劳参考值,并判断目标疲劳参考值是否大于预设阈值。最后,当服务器104确定目标疲劳参考值大于预设阈值时,则生成检测对象处于疲劳驾驶状态的最终检测结果。其中,终端102可以但不限于是各种带有视频采集功能以及网络传输功能的各种照相机、摄像机、录像机、个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种疲劳驾驶检测方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:

步骤s202,获取待处理视频,并从待处理视频中提取各帧图像。

其中,待处理视频是指由终端采集的,用于对视频中检测对象的状态进行检测处理的视频,待处理视频可以包括多帧图像。检测对象是指车辆驾驶的驾驶员。

具体地,终端可以进行待处理视频的采集,并发送至服务器。服务器在接收到待处理视频后,可以逐帧对待处理视频进行帧图像的提取,得到待处理视频中的各帧图像。

步骤s204,分别对各帧图像中的检测对象进行人脸关键点信息的提取,得到对应各帧图像的人脸关键点信息。

其中,人脸关键点信息是指识别人脸目标的信息,例如,68个人脸关键点的信息等。具体地,68个人脸关键点中可以包括人脸的眼睛、嘴唇、鼻子、眉毛以及外轮廓的关键点。

具体地,服务器可以通过多种不同的检测算法对人脸关键点进行提取,例如,神经网络模型或者其他的人脸关键点检测算法等对各帧图像进行提取,以得到人脸的关键点信息。

步骤s206,基于提取的人脸关键点信息,进行疲劳驾驶状态的检测,得到对应疲劳驾驶状态的初始检测结果。

其中,疲劳驾驶状态是指人处于疲劳时的面部表情状态,例如,可以包括但不限于打哈欠、闭眼或者打盹等。

具体地,服务器可以根据提取的人脸关键点信息,分别对不同表现形式的疲劳驾驶状态进行检测,即分别对打哈欠、闭眼或者打盹等进行检测,以得到各疲劳驾驶状态初始检测结果。

步骤s208,根据初始检测结果,确定检测对象的目标疲劳参考值,并判断目标疲劳参考值是否大于预设阈值。

其中,目标疲劳参考值是指对检测对象是否处于疲劳驾驶状态进行判定的指标值,例如,可以是检测对象的疲劳值等。

具体地,服务器可以根据各初始检测结果,对检测对象的目标疲劳参考值进行计算,并基于计算得到的目标疲劳参考值以及预设阈值,对检测对象是否处于疲劳驾驶状态进行判定。

步骤s210,当目标疲劳参考值大于预设阈值时,则生成检测对象处于疲劳驾驶状态的最终检测结果。

如前所述,服务器基于得到的目标疲劳参考值以及预设阈值,对检测对象是否处于疲劳驾驶状态进行判定。

具体地,当服务器判定得到的目标疲劳参考值大于预设阈值时,可以确定检测对象处于疲劳驾驶状态,则可以生成检测对象处于疲劳驾驶状态的最终检测结果。

上述疲劳驾驶检测方法中,通过获取待处理视频,并从待处理视频中提取各帧图像,然后分别对各帧图像中的检测对象进行人脸关键点信息的提取,得到对应各帧图像的人脸关键点信息,并基于提取的人脸关键点信息,进行疲劳驾驶状态的检测,得到对应疲劳驾驶状态的初始检测结果,进一步根据初始检测结果,确定检测对象的目标疲劳参考值,并进行判断,生成对应的最终检测结果。从而,可以直接对待处理视频中的各帧图像进行人脸关键点信息的提取,以及疲劳驾驶状态的检测判定,即可确定检测对象的目标疲劳参考值,相比于通过eeg进行检测,不用接收外界的干扰,帧图像也易于收集,进而可以提升疲劳驾驶检测的准确性。

在其中一个实施例中,参考图3,服务器分别对各帧图像中的检测对象进行人脸关键点信息的提取,得到对应各帧图像的人脸关键点信息,可以包括:分别对各帧图像进行人脸区域的检测,得到对应各帧图像的人脸区域图像;分别对各人脸区域图像进行人脸关键点信息的提取,得到对应各帧图像的人脸关键点信息。

其中,人脸区域是指帧图像中人脸所在的区域,人脸区域可以包括检测对象的所有人脸信息,即包括检测对象的68个人脸关键点。具体地,人脸区域图像是指仅包含人脸区域的图像。

在本实施例中,服务器对各帧图像进行人脸区域的检测可以是通过预先训练的神经网络模型进行的,例如,可以采用多尺度目标检测框架(singleshotmultiboxdetector,ssd),基础网络用mobilenetv2,ssd网络对帧图像进行人脸区域的处理过程可以参考图4所示。

其中,vgg是指分类网络进行分类,convlayers是指多个卷积层进行卷积处理,avgpooling是指平均池化处理,detector&classifier是指预测分类处理,fastnon-maximumsuppression是指快速非极大值抑制处理。

具体地,服务器通过ssd网络帧图像进行多次下采样处理,进行多尺度的特征的提取,以得到多个尺度的特征图像。然后分别对提取的特征图像进行回归预测,以及相邻层特征图像的融合,以及非极大值抑制处理处理后,得到人脸区域的预测框。进一步,通过预测框对人脸区域进行拆分,得到人脸区域图像。

在本实施例中,服务器对人脸区域图像进行人脸关键点信息的提取可以是通过预先训练的人脸关键点检测模型进行的,例如,可以是senet-10。其中,senet-10的网络处理流程可以参考图5所示。

具体地,服务器可以将人脸区域图像x输入检测模型,人脸区域图像x的特征通道数为c1。然后服务器通过网络模型对人脸区域图像x进行一系列卷积后,得到特征通道数为c2的特征图。然后对得到的特征分别进行squeeze操作(即fsq)、excitation操作(即fex)以及reweight的操作(fscale)后,输出人脸关键点信息。

其中,squeeze(压缩)操作是指顺着空间维度来进行特征压缩,将每个二维的特征通道变成一个实数,这个实数某种程度上具有全局的感受野,并且输出的维度和输入的特征通道数相匹配;excitation(激励)操作是一个类似于循环神经网络中门的机制,通过参数w来为每个特征通道生成权重;reweight(重标定)的操作,将excitation的输出的权重看做是经过特征选择后的每个特征通道的重要性,然后通过乘法逐通道加权到得到的特征图上,完成在通道维度上的对特征图的重标定。

上述实施例中,通过分别对各帧图像进行人脸区域的检测,得到对应各帧图像的人脸区域图像,然后对各人脸区域图像进行人脸关键点信息的提取,得到对应各帧图像的人脸关键点信息,相比于直接对帧图像进行人脸关键点信息的提取,缩小信息提取的范围,可以提升人脸关键点信息提取的准确性,进而可以提升疲劳驾驶检测的准确性。

在其中一个实施例中,基于提取的人脸关键点信息,进行疲劳驾驶状态的检测,得到对应疲劳驾驶状态的初始检测结果,可以包括:从提取的人脸关键点信息中,提取各人脸关键部位对应的多个目标人脸关键点信息;根据各人脸关键部位的多个目标人脸关键点信息,检测各人脸关键部位的状态是否处于疲劳驾驶状态,并生成对应的初始检测结果。

具体地,参考图6,人脸包括多个人脸关键部位,例如,嘴唇、眼睛、鼻子、眉毛以及人脸轮廓等,人脸关键点信息中包括对应各人脸关键部位的信息,如,对应嘴唇的多个目标人脸关键点信息、对应眼睛的多个目标人脸关键点信息等。

在本实施例中,服务器可以根据提取的人脸关键点信息,从中提取出对应各人脸关键部位的多个目标人脸关键点信息,例如,可以根据senet-10网络的功能,对各人脸关键部分的目标人脸关键点信息进行提取等。

进一步,服务器可以根据各人脸关键部位的多个目标人脸关键点信息,对各人脸关键部位的状态是否处于疲劳驾驶状态进行检测判定,例如,根据嘴唇的多个目标人脸关键点信息,确定是否在打哈欠,根据眼睛的多个目标人脸关键点信息,确定是否闭眼,根据整个面部轮廓的多个目标人脸关键点信息,确定是否在打盹等。

上述实施例中,通过分别提取各人脸关键部位对应的多个目标人脸关键点信息,并可以基于各人脸关键部位对应的多个目标人脸关键点信息对各人脸关键部位的状态进行检测,可以提升检测的准确性。

在其中一个实施例中,根据各人脸关键部位的多个目标人脸关键点信息,检测各人脸关键部位的状态是否处于疲劳驾驶状态,并生成对应的初始检测结果,可以包括:根据人脸关键部位的多个目标人脸关键点信息,计算多个目标人脸关键点信息对应的多个目标人脸关键点之间的目标距离;判断目标距离是否大于预设距离;当目标距离大于预设距离时,则确定人脸关键部位的状态处于疲劳驾驶状态,并生成处于疲劳驾驶状态的初始检测结果;当目标距离小于或等于预设距离时,则确定人脸关键部位的状态未处于疲劳驾驶状态,并生成未处于疲劳驾驶状态的初始检测结果。

具体的,继续参考图6,对于某一人脸关键部位,例如嘴唇,在常态情况时,其对应的多个目标人脸关键点之间的距离是固定的,当处于打哈欠状态时,嘴唇的多个目标人脸关键点之间的距离将会发生显著的变换。

在本实施例中,服务器可以对得到人脸关键部位的多个目标人脸关键点信息,对目标关键点之间的目标距离进行计算,例如,可以是分别对相邻两个目标关键点之间的目标距离进行计算等,以得到相邻两个目标关键点目标距离。

进一步,服务器可以基于预设阈值对目标关键点之间的目标距离进行判定,当判定目标距离大于预设距离时,则服务器可以确定人脸关键部位的状态处于疲劳驾驶状态,并生成处于疲劳驾驶状态的初始检测结果。当服务器判定目标距离小于或等于预设距离时,则确定人脸关键部位的状态未处于疲劳驾驶状态,并生成未处于疲劳驾驶状态的初始检测结果。

可选地,服务器可以分别对各相邻目标关键点之间的目标距离进行计算,并分别基于各预设距离对各目标距离进行判定,然后对目标距离大于预设距离的数量进行统计,在基于预设数量对统计的数量进行进一步的判定,以确定人脸关键部位的状态是否处于疲劳驾驶状态。

上述实施例中,通过各脸关键部位的多个目标人脸关键点信息,计算多个目标人脸关键点之间的目标距离,从而,可以基于具体数值对人脸关键部位的状态进行判定,可以使处理过程更加简洁,提升服务器的处理效率。

在其中一个实施例中,进行疲劳驾驶状态的检测,得到对应疲劳驾驶状态的初始检测结果,可以包括:进行多种不同表现形式的疲劳驾驶状态的检测,得到对应多种不同表现形式的疲劳驾驶状态的初始检测结果。

如前所述,疲劳驾驶状态可以有多种不同的表现形式,如打哈欠、闭眼或者打盹等。

在本实施例中,服务器可以多种不同表现形式的疲劳驾驶状态的检测,即分别进行打哈欠、闭眼以及打盹等疲劳驾驶状态的检测,并生成对应各表现形式的疲劳驾驶状态的初始检测结果,即对应打哈欠的初始检测结果、对应闭眼的初始检测结果、以及对应打盹的初始检测结果等。

在本实施例中,根据各初始检测结果,确定检测对象的目标疲劳参考值,可以包括:基于各表现形式的疲劳驾驶状态的初始检测结果,确定检测时间内各表现形式的疲劳驾驶状态被检测到的次数;根据各表现形式的疲劳驾驶状态被检测到的次数,以及在检测时间内帧图像的数量,确定各表现形式的疲劳驾驶状态的占比;基于预先设置的各表现形式的疲劳驾驶状态的权重以及各表现形式的疲劳驾驶状态的占比,生成检测对象的目标疲劳参考值。

具体地,继续参考图3,服务器可以根据各表现形式的疲劳驾驶状态的初始检测结果,即在各帧图像中,检测对象是在闭眼、打哈欠或者打盹等,对在检测时间内,各种表现形式的疲劳驾驶状态被检测到的次数进行统计,例如,统计各种表现形式的疲劳驾驶状态的帧数。

进一步,服务器根据各表现形式的疲劳驾驶状态被检测到的次数以及在检测时间内帧图像的总的数量,分别对闭眼、打哈欠以及打盹的占比进行计算,如计算百分比,计算公式如下:

其中,公式(1)为闭眼的占比计算公式,公式(2)为打哈欠的占比计算公式,公式(3)为打盹的占比计算公式,feye为闭眼的百分比,teye为闭眼被检测到的帧数,fmouth为打哈欠的百分比,tmouth为打哈欠被检测到的帧数,fmouth为打盹的百分比,tmouth为打盹被检测到的帧数。

进一步,服务器可以基于预先设置的各表现形式的疲劳驾驶状态的权重,对检测对象的目标疲劳参考值,例如,计算检测对象的疲劳值。具体地,目标疲劳参考值的计算如公式(4)所示:

f=ω1feye+ω2fmouth+ω3fbrain(4)

其中,ω1为闭眼的权重、ω2为打哈欠的权重、ω3为打盹的权重。

上述实施例中,通过计算在检测时间内各表现形式的疲劳驾驶状态的占比,以及基于各表现形式的疲劳驾驶状态的权重以及各表现形式的疲劳驾驶状态的占比,生成检测对象的目标疲劳参考值,使得目标疲劳参考值基于多种表现形式的疲劳驾驶状态的检测结果综合生成,可以提升生成的目标疲劳参考值的准确性,进而可以提升疲劳驾驶状态检测的准确性。

在其中一个实施例中,上述方法还可以包括:当目标疲劳参考值小于或等于预设阈值时,判断检测时间内的最后一帧图像是否为待处理视频的最后一帧图像;当检测时间内的最后一帧图像为待处理视频的最后一帧图像时,则生成检测对象未处于疲劳驾驶状态的最终检测结果;当检测时间内的最后一帧图像不是待处理视频的最后一帧图像时,则获取待处理视频中下一检测时间内的各帧图像,并继续对检测对象是否处于疲劳驾驶状态进行检测。

如前所述,服务器可以将得到的目标疲劳参考值与预设阈值进行比较判定,确定判断目标疲劳参考值是否大于预设阈值。

具体地,继续参考图3,当目标疲劳参考值大于预设阈值时,则服务器生成检测对象处于疲劳驾驶状态的最终检测结果,当目标疲劳参考值小于或等于预设阈值时,则服务器可以对该检测时间内的最后一帧图像是否为待处理视频的最后一帧图像进行判断。

在本实施例中,当该检测时间内的最后一帧图像为待处理视频的最后一帧图像时,则服务器可以生成检测对象未处于疲劳驾驶状态的最终检测结果。

可选地,当该检测时间内的最后一帧图像不是待处理视频的最后一帧图像时,则服务器可以获取待处理视频中下一检测时间内的各帧图像,并继续对检测对象是否处于疲劳驾驶状态进行检测。

在本实施例中,服务器在某一检测时间内,确定目标疲劳参考值大于预设阈值时,则可以停止继续进行检测,并输出该检测对象处于疲劳驾驶状态的最终检测结果,若服务器对待处理视频的最后一帧图像进行检测后,得到的目标疲劳参考值均为小于或者等于预设阈值,则可以输出检测对象未处于疲劳驾驶状态的最终检测结果。

上述实施例中,通过对待处理视频的多个检测时间分别进行检测,当某一检测时间检测到检测对象处于疲劳驾驶状态即可停止继续检测,相比于对整个待处理视频,可以减少检测的数据量,从而可以节约检测资源,降低资源的耗费。并且,分检测时间进行检测,使得服务器处理的数据量较小,可以提升服务器的处理效率。

在其中一个实施例中,对各帧图像中的检测对象进行人脸关键点信息的提取是通过预先训练的检测模型进行的,检测模型的训练方式可以包括:获取训练集图像;通过标注框对训练集图像中的人脸关键点分别进行标注,分别得到训练集图像中人脸关键点的信息;对标注后的训练集图像进行归一化处理,得到与预设尺寸一致的训练集图像;将训练集图像输入构建的初始检测模型,对训练集图像进行特征提取,得到特征图像;对特征图像进行回归预测,得到人脸关键点的预测结果;基于标注框以及预测结果,确定模型的损失值,并通过损失值更新模型参数;对初始检测模型进行迭代处理,得到训练后的检测模型。

具体地,服务器可以获取历史检测视频,并从历史检测视频中获取各帧图像,以此作为训练集图像。

然后,服务器可以通过标注工具对训练集图像中的每一个检测对象的人脸关键点信息进行标注,例如,可以通过labelimg分别标注人脸的68个关键点等,得到训练集图像中检测对象的人脸关键信息。

进一步,服务器可以根据检测模型的输入尺寸的要求,对训练集图像进行图像填充以及图像缩放处理,得到与检测模型要求的输入尺寸一致的训练集图像。

进一步,服务器将缩放后的训练集图像输入检测模型,通过检测模型对各训练集图像分别进行特征的提取,以生成特征图像,进而对生成的特征图像进行回归预测,得到人脸关键点的预测结果。

进一步,服务器标注框以及模型对人脸关键点的预测结果,进行损失值的计算。其中,进行损失计算的损失函数可以是l1损失函数和/或l2损失函数,或者也可以其他的损失函数,对此不作限制。

然后,服务器根据得到的损失值对模型参数进行更新,并根据预先设置的学习率,对模型进行迭代处理,以得到训练完成的检测模型。

上述实施例中,通过训练后的检测模型进行人脸关键点的识别,可以提升人脸关键点信息识别的准确性,进而可以提升疲劳驾驶状态检测的准确性。

应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图7所示,提供了一种疲劳驾驶检测装置,包括:获取模块100、提取模块200、检测模块300、第一判断模块400和第一结果生成模块500,其中:

获取模块100,用于获取待处理视频,并从待处理视频中提取各帧图像。

提取模块200,用于分别对各帧图像中的检测对象进行人脸关键点信息的提取,得到对应各帧图像的人脸关键点信息。

检测模块300,用于基于提取的人脸关键点信息,进行疲劳驾驶状态的检测,得到对应疲劳驾驶状态的初始检测结果。

第一判断模块400,用于根据初始检测结果,确定检测对象的目标疲劳参考值,并判断目标疲劳参考值是否大于预设阈值。

第一结果生成模块500,用于当目标疲劳参考值大于预设阈值时,则生成检测对象处于疲劳驾驶状态的最终检测结果。

在其中一个实施例中,提取模块200可以包括:

第一检测子模块,用于分别对各帧图像进行人脸区域的检测,得到对应各帧图像的人脸区域图像。

第一提取子模块,用于分别对各人脸区域图像进行人脸关键点信息的提取,得到对应各帧图像的人脸关键点信息。

在其中一个实施例中,检测模块300可以包括:

第二提取子模块,用于从提取的人脸关键点信息中,提取各人脸关键部位对应的多个目标人脸关键点信息。

第二检测子模块,用于根据各人脸关键部位的多个目标人脸关键点信息,检测各人脸关键部位的状态是否处于疲劳驾驶状态,并生成对应的初始检测结果。

在其中一个实施例中,第二检测子模块可以包括:

目标距离计算单元,用于根据人脸关键部位的多个目标人脸关键点信息,计算多个目标人脸关键点信息对应的多个目标人脸关键点之间的目标距离。

判断单元,用于判断目标距离是否大于预设距离。

第一初始检测结果生成单元,用于当目标距离大于预设距离时,则确定人脸关键部位的状态处于疲劳驾驶状态,并生成处于疲劳驾驶状态的初始检测结果。

第二初始检测结果生成单元,用于当目标距离小于或等于预设距离时,则确定人脸关键部位的状态未处于疲劳驾驶状态,并生成未处于疲劳驾驶状态的初始检测结果。

在其中一个实施例中,检测模块300用于进行多种不同表现形式的疲劳驾驶状态的检测,得到对应多种不同表现形式的疲劳驾驶状态的初始检测结果。

在本实施例中,第一判断模块400可以包括:

次数确定子模块,用于基于各表现形式的疲劳驾驶状态的初始检测结果,确定检测时间内各表现形式的疲劳驾驶状态被检测到的次数。

占比确定子模块,用于根据各表现形式的疲劳驾驶状态被检测到的次数,以及在检测时间内帧图像的数量,确定各表现形式的疲劳驾驶状态的占比。

值生成子模块,用于基于预先设置的各表现形式的疲劳驾驶状态的权重以及各表现形式的疲劳驾驶状态的占比,生成检测对象的目标疲劳参考值。

在其中一个实施例中,上述装置还可以包括:

第二判断模块,用于当目标疲劳参考值小于或等于预设阈值时,判断检测时间内的最后一帧图像是否为待处理视频的最后一帧图像。

第二结果生成模块,用于当检测时间内的最后一帧图像为待处理视频的最后一帧图像时,则生成检测对象未处于疲劳驾驶状态的最终检测结果。

循环处理模块,用于当检测时间内的最后一帧图像不是待处理视频的最后一帧图像时,则获取待处理视频中下一检测时间内的各帧图像,并继续对检测对象是否处于疲劳驾驶状态进行检测。

在其中一个实施例中,提取模块200对各帧图像中的检测对象进行人脸关键点信息的提取是通过训练模块预先训练的检测模型进行的,训练模块可以包括:

训练集图像获取子模块,获取训练集图像。

标注子模块,通过标注框对训练集图像中的人脸关键点分别进行标注,分别得到训练集图像中人脸关键点的信息。

归一化处理模块,对标注后的训练集图像进行归一化处理,得到与预设尺寸一致的训练集图像。

特征提取子模块,将训练集图像输入构建的初始检测模型,对训练集图像进行特征提取,得到特征图像。

特征融合子模块,对特征图像进行回归预测,得到人脸关键点的预测结果。

损失处理子模块,基于标注框以及预测结果,确定模型的损失值,并通过损失值更新模型参数。

迭代处理模块,对初始检测模型进行迭代处理,得到训练后的检测模型。

关于疲劳驾驶检测装置的具体限定可以参见上文中对于疲劳驾驶检测方法的限定,在此不再赘述。上述疲劳驾驶检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储待处理视频、帧图像、初始检测结果以及最终检测结果等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种疲劳驾驶检测方法。

本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取待处理视频,并从待处理视频中提取各帧图像;分别对各帧图像中的检测对象进行人脸关键点信息的提取,得到对应各帧图像的人脸关键点信息;基于提取的人脸关键点信息,进行疲劳驾驶状态的检测,得到对应疲劳驾驶状态的初始检测结果;根据初始检测结果,确定检测对象的目标疲劳参考值,并判断目标疲劳参考值是否大于预设阈值;当目标疲劳参考值大于预设阈值时,则生成检测对象处于疲劳驾驶状态的最终检测结果。

在其中一个实施例中,处理器执行计算机程序时实现分别对各帧图像中的检测对象进行人脸关键点信息的提取,得到对应各帧图像的人脸关键点信息,可以包括:分别对各帧图像进行人脸区域的检测,得到对应各帧图像的人脸区域图像;分别对各人脸区域图像进行人脸关键点信息的提取,得到对应各帧图像的人脸关键点信息。

在其中一个实施例中,处理器执行计算机程序时实现基于提取的人脸关键点信息,进行疲劳驾驶状态的检测,得到对应疲劳驾驶状态的初始检测结果,可以包括:从提取的人脸关键点信息中,提取各人脸关键部位对应的多个目标人脸关键点信息;根据各人脸关键部位的多个目标人脸关键点信息,检测各人脸关键部位的状态是否处于疲劳驾驶状态,并生成对应的初始检测结果。

在其中一个实施例中,处理器执行计算机程序时实现根据各人脸关键部位的多个目标人脸关键点信息,检测各人脸关键部位的状态是否处于疲劳驾驶状态,并生成对应的初始检测结果,可以包括:根据人脸关键部位的多个目标人脸关键点信息,计算多个目标人脸关键点信息对应的多个目标人脸关键点之间的目标距离;判断目标距离是否大于预设距离;当目标距离大于预设距离时,则确定人脸关键部位的状态处于疲劳驾驶状态,并生成处于疲劳驾驶状态的初始检测结果;当目标距离小于或等于预设距离时,则确定人脸关键部位的状态未处于疲劳驾驶状态,并生成未处于疲劳驾驶状态的初始检测结果。

在其中一个实施例中,处理器执行计算机程序时实现进行疲劳驾驶状态的检测,得到对应疲劳驾驶状态的初始检测结果,可以包括:进行多种不同表现形式的疲劳驾驶状态的检测,得到对应多种不同表现形式的疲劳驾驶状态的初始检测结果。处理器执行计算机程序时实现根据初始检测结果,确定检测对象的目标疲劳参考值,可以包括:基于各表现形式的疲劳驾驶状态的初始检测结果,确定检测时间内各表现形式的疲劳驾驶状态被检测到的次数;根据各表现形式的疲劳驾驶状态被检测到的次数,以及在检测时间内帧图像的数量,确定各表现形式的疲劳驾驶状态的占比;基于预先设置的各表现形式的疲劳驾驶状态的权重以及各表现形式的疲劳驾驶状态的占比,生成检测对象的目标疲劳参考值。

在其中一个实施例中,处理器执行计算机程序时还可以实现如下步骤:当目标疲劳参考值小于或等于预设阈值时,判断检测时间内的最后一帧图像是否为待处理视频的最后一帧图像;当检测时间内的最后一帧图像为待处理视频的最后一帧图像时,则生成检测对象未处于疲劳驾驶状态的最终检测结果;当检测时间内的最后一帧图像不是待处理视频的最后一帧图像时,则获取待处理视频中下一检测时间内的各帧图像,并继续对检测对象是否处于疲劳驾驶状态进行检测。

在其中一个实施例中,处理器执行计算机程序时实现对各帧图像中的检测对象进行人脸关键点信息的提取是通过预先训练的检测模型进行的,检测模型的训练方式可以包括:获取训练集图像;通过标注框对训练集图像中的人脸关键点分别进行标注,分别得到训练集图像中人脸关键点的信息;对标注后的训练集图像进行归一化处理,得到与预设尺寸一致的训练集图像;将训练集图像输入构建的初始检测模型,对训练集图像进行特征提取,得到特征图像;对特征图像进行回归预测,得到人脸关键点的预测结果;基于标注框以及预测结果,确定模型的损失值,并通过损失值更新模型参数;对初始检测模型进行迭代处理,得到训练后的检测模型。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取待处理视频,并从待处理视频中提取各帧图像;分别对各帧图像中的检测对象进行人脸关键点信息的提取,得到对应各帧图像的人脸关键点信息;基于提取的人脸关键点信息,进行疲劳驾驶状态的检测,得到对应疲劳驾驶状态的初始检测结果;根据初始检测结果,确定检测对象的目标疲劳参考值,并判断目标疲劳参考值是否大于预设阈值;当目标疲劳参考值大于预设阈值时,则生成检测对象处于疲劳驾驶状态的最终检测结果。

在其中一个实施例中,计算机程序被处理器执行时实现分别对各帧图像中的检测对象进行人脸关键点信息的提取,得到对应各帧图像的人脸关键点信息,可以包括:分别对各帧图像进行人脸区域的检测,得到对应各帧图像的人脸区域图像;分别对各人脸区域图像进行人脸关键点信息的提取,得到对应各帧图像的人脸关键点信息。

在其中一个实施例中,计算机程序被处理器执行时实现基于提取的人脸关键点信息,进行疲劳驾驶状态的检测,得到对应疲劳驾驶状态的初始检测结果,可以包括:从提取的人脸关键点信息中,提取各人脸关键部位对应的多个目标人脸关键点信息;根据各人脸关键部位的多个目标人脸关键点信息,检测各人脸关键部位的状态是否处于疲劳驾驶状态,并生成对应的初始检测结果。

在其中一个实施例中,计算机程序被处理器执行时实现根据各人脸关键部位的多个目标人脸关键点信息,检测各人脸关键部位的状态是否处于疲劳驾驶状态,并生成对应的初始检测结果,可以包括:根据人脸关键部位的多个目标人脸关键点信息,计算多个目标人脸关键点信息对应的多个目标人脸关键点之间的目标距离;判断目标距离是否大于预设距离;当目标距离大于预设距离时,则确定人脸关键部位的状态处于疲劳驾驶状态,并生成处于疲劳驾驶状态的初始检测结果;当目标距离小于或等于预设距离时,则确定人脸关键部位的状态未处于疲劳驾驶状态,并生成未处于疲劳驾驶状态的初始检测结果。

在其中一个实施例中,计算机程序被处理器执行时实现进行疲劳驾驶状态的检测,得到对应疲劳驾驶状态的初始检测结果,可以包括:进行多种不同表现形式的疲劳驾驶状态的检测,得到对应多种不同表现形式的疲劳驾驶状态的初始检测结果。计算机程序被处理器执行时实现根据初始检测结果,确定检测对象的目标疲劳参考值,可以包括:基于各表现形式的疲劳驾驶状态的初始检测结果,确定检测时间内各表现形式的疲劳驾驶状态被检测到的次数;根据各表现形式的疲劳驾驶状态被检测到的次数,以及在检测时间内帧图像的数量,确定各表现形式的疲劳驾驶状态的占比;基于预先设置的各表现形式的疲劳驾驶状态的权重以及各表现形式的疲劳驾驶状态的占比,生成检测对象的目标疲劳参考值。

在其中一个实施例中,计算机程序被处理器执行时还可以实现如下步骤:当目标疲劳参考值小于或等于预设阈值时,判断检测时间内的最后一帧图像是否为待处理视频的最后一帧图像;当检测时间内的最后一帧图像为待处理视频的最后一帧图像时,则生成检测对象未处于疲劳驾驶状态的最终检测结果;当检测时间内的最后一帧图像不是待处理视频的最后一帧图像时,则获取待处理视频中下一检测时间内的各帧图像,并继续对检测对象是否处于疲劳驾驶状态进行检测。

在其中一个实施例中,计算机程序被处理器执行时实现对各帧图像中的检测对象进行人脸关键点信息的提取是通过预先训练的检测模型进行的,检测模型的训练方式可以包括:获取训练集图像;通过标注框对训练集图像中的人脸关键点分别进行标注,分别得到训练集图像中人脸关键点的信息;对标注后的训练集图像进行归一化处理,得到与预设尺寸一致的训练集图像;将训练集图像输入构建的初始检测模型,对训练集图像进行特征提取,得到特征图像;对特征图像进行回归预测,得到人脸关键点的预测结果;基于标注框以及预测结果,确定模型的损失值,并通过损失值更新模型参数;对初始检测模型进行迭代处理,得到训练后的检测模型。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1