基于车载GPU的列车驾驶盹睡检测系统及方法与流程

文档序号:19116987发布日期:2019-11-13 01:16阅读:503来源:国知局
基于车载GPU的列车驾驶盹睡检测系统及方法与流程

本发明涉及图像处理技术领域,具体涉及一种基于车载gpu的列车驾驶盹睡检测系统及方法。



背景技术:

随着轨道交通事业的快速发展,各地区之间铁路运输距离越来越长,列车驾驶员疲劳检测对提高长时间驾驶安全性具有重要意义。目前的疲劳检测方法基本都是基于驾驶员的疲劳检测技术。通过摄像机,采集驾驶员面部的视频图像,进行分析,计算出头部姿态、眼睛睁闭频率等特征量,推测驾驶员的疲劳程度。这一技术思路具备非接触,不需特殊传感器,成本低等优点,受到广泛的关注。目前已有的基于视频分析的检测疲劳方法,大多采用传统计算机视觉方法,检测精度低,抗光线干扰能力差。近年来,被广泛关注的深度学习算法已经被成功运用于语音识别、图形识别等各个领域,智能视频分析领域得到了工程界的广泛重视。但实际上这些应用的计算量十分巨大,其需要大规模矩阵计算。现有技术中,通常仅利用cpu来实现深度学习过程中的计算,计算耗时长、效率低。而在列车行驶过程中,无法实时判别司机驾驶状态,也就无法有效保证列车安全可靠地运行。因此,在列车司机驾驶的同时,实现实时疲劳预警对于安全驾驶的需求越来越迫切。



技术实现要素:

针对上述现有技术的不足,本发明提供了一种基于车载gpu列车驾驶盹睡检测系统及方法,是一种基于车载gpu的在线检测系统,有效解决了现有技术中计算耗时长效率低,无法实时示警的问题。

本发明采用如下技术方案:

一种基于车载gpu的列车驾驶员盹睡检测系统,包括摄像模块、系统总线、cpu、gpu、扬声器、存储模块,所述系统总线分别连接所述摄像模块、存储模块、扬声器和cpu,所述cpu还连接所述gpu;所述摄像模块用于采集驾驶员面部图像,所述系统总线用于连接实现数据传输,所述gpu用于根据预先训练好的模型,前向计算得到驾驶员面部图像的预测结果,并将预测结果反馈至所述cpu,所述cpu用于顺序分配待检测驾驶员面部图像数据至gpu,依据所述gpu反馈的预测结果进行盹睡判断,所述扬声器用于预警、提醒驾驶员正处于疲劳状态,所述存储模块用于存储驾驶员面部图像的预测结果;

所述基于车载cpu的列车驾驶员盹睡检测系统的检测方法包括:摄像模块采集驾驶员面部图像;cpu从摄像模块中读取待检测的驾驶员面部图像;cpu将待检测的驾驶员面部图像数据分配至gpu;gpu根据预先训练好的模型,前向计算得到驾驶员面部图像的预测结果,并将预测结果反馈至cpu;cpu依据perclos算法判断标准进行盹睡判断,若超过阈值则通过扬声器进行预警;cpu将驾驶员面部图像的预测结果传输到存储模块中作为日志记录。

进一步地,所述摄像模块为广角摄像头。

进一步地,所述cpu的数量为一个,所述gpu的数量为一个或多个。

进一步地,所述存储模块为sd卡。

进一步地,所述摄像模块采集驾驶员面部图像包括:广角摄像头采集一帧驾驶员的面部图像。

进一步地,所述预先训练好的模型具体为:线下训练一个神经网络模型,该模型是基于mtcnn算法训练的人脸关键点检测模型;根据实际列车驾驶室监控视频数据作为训练数据,训练一个分类模型,该分类模型是对眼睛区域的图像进行分类,按照白色眼球的区域占眼部图像区域面积的比例判断司机睁眼还是闭眼,若白色眼球的区域占眼部图像区域面积的比例超过80%,则判断司机是闭眼,否则为睁眼。

进一步地,所述cpu依据perclos算法判断标准进行盹睡判断,若超过阈值则通过扬声器进行预警,包括:统计检测时间段内闭眼帧数,统计检测时间段总帧数;计算perclos值f,所述perclos值的计算公式为:若f>0.15,则认为驾驶员处于疲劳状态,并在本地通过扬声器进行预警,同时通过车载的4g网络将预警信息上传至铁路运行监控中心;若f≤0.15时,判断驾驶员处于正常状态,扬声器不工作。

进一步地,所述检测时间段一般为30秒或者60秒;当认为列车驾驶员处于疲劳状态时,开启后台与对应列车驾驶室或对应驾驶员电话终端的视频通话;在f>0.5时,由后台决定是否对所对应的列车降速运行,并通知对应列车相关工作人员提醒列车驾驶员;在f>0.95时,由后台决定是否对所对应的列车降速运行,并通知对应列车相关工作人员提醒列车驾驶员,进一步与共轨行进方向上的前一列车与后一列车的车载gpu进行通信,以提醒注意保持安全行车距离。

一种基于车载gpu的列车驾驶盹睡检测方法,基于列车驾驶盹睡检测系统,所述方法包括以下步骤:s1、摄像模块采集驾驶员面部图像;s2、cpu从摄像模块中读取待检测的驾驶员面部图像;s3、cpu将待检测的驾驶员面部图像数据分配至gpu;s4、gpu根据预先训练好的模型,前向计算得到驾驶员面部图像的预测结果,并将预测结果反馈至cpu;s5、cpu依据perclos算法判断标准进行盹睡判断,若超过阈值则通过扬声器进行预警;s6、cpu将驾驶员面部图像预测结果传输到存储模块中作为日志记录。

本发明的有益效果为:

首先摄像头采集一帧驾驶员的面部图像,利用具有强大并行计算能力的gpu执行耗时的深度神经网络前向传播过程,完成对人脸眼部睁闭状态的判断。之后通过系统总线将判断结果传输到存储模块,并在出现连续闭眼情况时通过扬声器实现超时预警。本发明采用了cpu与多个gpu卡协同的高密度计算方式,由具有强大并行计算能力的gpu执行耗时的前向计算,其余的逻辑判断,数据分配则由cpu完成;从而加速了视频图像分析的处理时间,提升了计算效率。

附图说明

图1为本发明基于车载gpu的列车驾驶盹睡检测系统的结构示意图。

图2为本发明基于车载gpu的列车驾驶盹睡检测系统的运行流程示意图。

图3为本发明基于车载gpu的列车驾驶盹睡检测方法的步骤示意图。

附图中,扬声器1、摄像模块2、系统总线3、存储模块4、cpu5、gpu6。

具体实施方式

下面结合附图对本发明作进一步的详细说明。

如图1所示,本发明提供了一种基于车载gpu的列车驾驶盹睡检测系统,本系统为单机系统,包括摄像模块2、系统总线3、cpu5、gpu6、扬声器1、存储模块4,所述系统总线3分别连接所述摄像模块2、存储模块4、扬声器1和cpu5,所述cpu5还连接所述gpu6;

本实施方式中,摄像模块2为广角摄像头,用于采集驾驶员面部图像;所述系统总线3用于连接实现数据传输;所述gpu6的数量为四个,四个gpu6具体为两块gpu卡,每块gpu卡包括两个gpu芯片,用于根据预先训练好的模型,前向计算得到驾驶员面部图像的预测结果,并将预测结果反馈至所述cpu5;所述cpu5的数量为一个,用于顺序分配待检测驾驶员面部图像数据至各个gpu6,依据所述gpu6反馈的预测结果进行盹睡判断;所述扬声器1用于预警、提醒驾驶员正处于疲劳状态;所述存储模块4为sd卡,用于存储驾驶员面部图像的预测结果,方便日后统计。

如图2所示,基于车载gpu的列车驾驶盹睡检测系统的运行流程如下:首先广角摄像头拍摄一帧驾驶员的面部图像;然后cpu5从广角摄像头中获取到驾驶员面部图像并将数据顺序分配给各个gpu6,达到并行加速的效果,各个gpu6同时进行计算得到驾驶员面部图像的预测结果,并将预测结果反馈至cpu5,cpu5根据预测结果对驾驶员进行盹睡判断,若判断为正在盹睡,通过扬声器1进行示警,提醒驾驶员,若判断为没有盹睡,则扬声器1不进行工作;最后cpu5将各个gpu6反馈的预测结果存储至sd卡中,方便日后统计。循环执行上述流程,在列车驾驶员驾驶过程中实时检测驾驶员的疲劳状态,降低危险发生的概率。

如图3所示,本发明还提供了一种基于车载gpu列车驾驶盹睡检测方法,该方法的具体步骤如下:

s1、摄像模块采集驾驶员面部图像。摄像头为广角摄像头,采集时采集一帧驾驶员的面部图像。

s2、cpu从摄像模块中读取待检测的驾驶员面部图像。

s3、cpu将待检测的驾驶员面部图像数据分配至各个gpu,可以达到并行加速的效果。

s4、每个gpu根据预先训练好的模型,前向计算得到驾驶员面部图像的预测结果,并将预测结果反馈至cpu。

预先训练好的模型为:线下训练一个神经网络模型,该模型是基于mtcnn算法训练的人脸关键点检测模型;根据实际列车驾驶室监控视频数据作为训练数据,训练一个分类模型,该分类模型是对眼睛区域的图像进行分类,按照白色眼球的区域占眼部图像区域面积的比例判断司机睁眼还是闭眼,若白色眼球的区域占眼部图像区域面积的比例超过80%,则判断司机是闭眼,否则为睁眼。

mtcnn,multi-taskconvolutionalneuralnetwork(多任务卷积神经网络),将人脸区域检测与人脸关键点检测放在了一起,基于cascade框架。总体可分为pnet、rnet、和onet三层网络结构。

p-net,全称为proposalnetwork,其基本的构造是一个全连接网络。对上一步构建完成的图像金字塔,通过一个fcn进行初步特征提取与标定边框,并进行bounding-boxregression调整窗口与nms进行大部分窗口的过滤。r-net,全称为refinenetwork,其基本的构造是一个卷积神经网络,相对于第一层的p-net来说,增加了一个全连接层,因此对于输入数据的筛选会更加严格。在图片经过p-net后,会留下许多预测窗口,我们将所有的预测窗口送入r-net,这个网络会滤除大量效果比较差的候选框,最后对选定的候选框进行bounding-boxregression和nms进一步优化预测结果。o-net,全称为outputnetwork,基本结构是一个较为复杂的卷积神经网络,相对于r-net来说多了一个卷积层。o-net的效果与r-net的区别在于这一层结构会通过更多的监督来识别面部的区域,而且会对人的面部特征点进行回归,最终输出五个人脸面部特征点。

s5、cpu依据perclos算法判断标准进行盹睡判断,若超过阈值则通过扬声器进行预警。

perclos是percenteyeclosure的缩写,指在一定的时间内眼睛闭合所占的时间比例。再具体实验中有p70,p80,em三种测量方式,其中p80被认为最能反映人的疲劳程度。根据一次眼睛闭合与睁开过程中撑开程度随时间的变化,得到所需测量的眼睛某个程度的闭合或睁开的持续时间,从而计算出perclos值。对于p80的测量方式来说,认为当perclos值大于0.15时,驾驶员处于疲劳状态。

本方法中具体步骤为:

s5.1、统计检测时间段内闭眼帧数,统计检测时间段总帧数。其中检测时间段一般为30秒或者60秒。

s5.2、计算perclos值f,所述perclos值的计算公式为:若f>0.15,则认为驾驶员处于疲劳状态,并在本地通过扬声器进行预警,同时通过车载的4g网络将预警信息上传至铁路运行监控中心;若f≤0.15时,判断驾驶员处于正常状态,扬声器不工作。

当认为列车驾驶员处于疲劳状态时,开启后台与对应列车驾驶室或对应驾驶员电话终端的视频通话;在f>0.5时,由后台决定是否对所对应的列车降速运行,并通知对应列车相关工作人员提醒列车驾驶员;在f>0.95时,由后台决定是否对所对应的列车降速运行,并通知对应列车相关工作人员提醒列车驾驶员,进一步与共轨行进方向上的前一列车与后一列车的车载gpu进行通信,以提醒注意保持安全行车距离。

s6、cpu将驾驶员面部图像预测结果传输到存储模块中作为日志记录,方便日后统计。

本实施例所产生的有益效果为:采用了cpu与多个gpu卡协同的高密度计算方式,由具有强大并行计算能力的gpu执行耗时的前向计算,其余的逻辑判断,数据分配则由cpu完成;从而加速了视频图像分析的处理时间,提升了计算效率。本实施方式所提供的基于车载gpu的列车驾驶员盹睡检测系统是一种基于车载gpu的在线检测系统,有效解决了现有技术中计算耗时长效率低,无法实时示警的问题。

本实施方式中,基于mtcnn算法训练的人脸关键点检测模型训练的分类模型为背景技术中的现有技术,故不做过多赘述。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

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