技术领域
[0001] 本发明属于智能驾驶技术领域,具体涉及一种识别驾驶员驾驶行为及危险驾驶行为预警方法、系统、装置。
相关背景技术
[0002] 随着汽车数量的增多,交通事故的发生更加频繁。不规范的驾驶行为存在着严重的安全隐患,这也是超过80%的交通事故发生的主要原因。因此,对驾驶员的驾驶行为进行监控具有极其重要的应用价值。随着图像处理和计算机视觉技术的发展,基于计算机视觉的驾驶员监控系统已成为驾驶员行为识别的主流发展方向。
[0003] 目前,针对现有的基于视觉的驾驶员行为识别技术,具有识别结果尚且不够精确的缺陷,究其原因,主要存在以下问题:
[0004] (1)对于驾驶员行为识别公开的数据集中训练样本不够充足,这也限制了深度卷积神经网络对识别准确率的进一步提高;
[0005] (2)对于驾驶员属性识别,传统的方法包括特征提取和分类器判别这两个步骤。在现实的场景当中,驾驶员某些动作不是特别明显,姿态也是千变万化的,同时,识别还受到光照等自然环境的影响,现有的一些特征提取方法不能很好的处理这些问题。此外,在复杂多变的环境下,传统方法的识别准确率较低;
[0006] (3)驾驶员驾驶行为由一个内置的车载摄像头捕捉,由于获取的图像均为驾驶员及车内同一视野内的区域,不同的驾驶行为具有相似的全局背景信息,但由于不同的驾驶行为导致的手、人脸、眼睛等不同的动作,不同的驾驶行为又具有不同的局部信息,给识别带来了一定的困难。
[0007] 同时,识别出当前车辆正在危险驾驶,如果不及时对本车驾驶员及周围车辆驾驶员进行通知,则仍然会造成诸多隐患。
具体实施方式
[0049] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0050] 下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
[0051] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0052] 本发明的识别驾驶员驾驶行为的方法,如图1所示,包括以下步骤:
[0053] 步骤S100,获取当前时刻驾驶员的驾驶行为深度图像;
[0054] 步骤S200,基于所述驾驶行为深度图像,通过驾驶行为识别模型获取驾驶员的驾驶行为状态;
[0055] 所述驾驶行为识别模型基于深度卷积神经网络构建,其训练方法为:
[0056] 步骤A100,利用ImageNet数据集对驾驶行为识别模型进行预训练,得到第一模型;
[0057] 步骤A200,以预设行为类别对应的全连接层和分类层,替换所述第一模型的全连接层和分类层,得到第二模型;
[0058] 步骤A300,基于第一训练样本集,采用迁移学习方法对所述第二模型进行训练,获得训练好的驾驶行为识别模型;所述第一训练样本集为预设行为类别对应训练样本集,通过将驾驶行为深度图像样本进行驾驶员区域提取获取。
[0059] 为了更清晰地对本发明识别驾驶员驾驶行为的方法进行说明,下面结合附图对本发明方法一种实施例中各步骤进行展开详述。
[0060] 下文优选实施例中,先对的驾驶行为识别模型的训练方法进行详述,再对基于识别驾驶员驾驶行为的方法获取驾驶员的驾驶行为状态进行详述。
[0061] 1、驾驶行为识别模型的训练方法
[0062] 步骤A100,利用ImageNet数据集对驾驶行为识别模型进行预训练,得到第一模型。
[0063] 本发明根据包含有不同驾驶员驾驶行为状态的驾驶员驾驶行为识别任务需求,适应性的构建针对不同驾驶员驾驶行为识别任务需求的驾驶行为识别模型,从而适应于逐步发展的驾驶员驾驶行为状态。驾驶行为识别模型基于深度卷积神经网络构建,可以选取AlexNet、GooleNet、ResNet中任一种。
[0064] 基于构建的驾驶行为识别模型,利用开源数据集对其进行预训练,得到相应的表示预训练结果的模型,将其作为第一模型。本实施例中,开源数据集优选为ImageNet数据集,在其他实施例中可以根据任务需求选取其他的开源数据集。
[0065] 步骤A200,以预设行为类别对应的全连接层和分类层,替换所述第一模型的全连接层和分类层,得到第二模型。
[0066] 本实施例中,保留第一模型中特征提取与表征部分相关的层,并根据当前驾驶行为状态识别结果,修改第一模型中分类器部分相关的层,得到第二模型。由于需要利用深度卷积神经网络从上述开源数据集中学习到的特征提取与表征部分的高准确度效果,能够精确的完成对开源数据集中的驾驶员驾驶行为特征提取与表征过程。因而,需要在对第一模型进行修改时,保留第一模型中的特征提取与表征部分相关的层,仅修改预训练模型中最后几层与分类部分有关的层。具体为:修改第一模型中最后2~3层全连接层和softmax层(例如:将原网络模型的最后一个全连接层和输出1000个类别的输出层替换为一个新的全连接层和输出所需七个类别概率的softmax层),使得第一模型能够输出7个上述驾驶员驾驶行为状态的概率。
[0067] 需要说明的是,在本实施例中,第一模型中的特征提取与表征部分所提取到的特征信息具体指的是驾驶员具体动作行为的特征,其目的是判断出驾驶员所做的动作,从而利用后端的分类器部分归类出具体的驾驶员驾驶行为状态,例如:头部旋转角度、视线偏移方向、手指细节动作、手关节位置动作等细节性动作特征。
[0068] 步骤A300,基于第一训练样本集,采用迁移学习方法对所述第二模型进行训练,获得训练好的驾驶行为识别模型;所述第一训练样本集为预设行为类别对应训练样本集,通过将驾驶行为深度图像样本进行驾驶员区域提取获取。
[0069] 在本实施例中,通过安装在驾驶员前方的深度相机,收集在驾驶过程中的含有驾驶员驾驶行为信息的原始深度RGB图像。采集的深度图像为包含不同类别的驾驶员驾驶行为信息的原始深度图像,优选为预设行为类别的驾驶行为深度图像。本实施例中,优选的驾驶行为类别包括为8个状态:正常驾驶(状态)、右后视镜检查(状态)、后视镜检查(状态)、左后视镜检查(状态)、发短信息(状态)、接听电话(状态)和使用无线电/视频设备(状态)、打瞌睡或晕倒等危险驾驶(状态)。其中,发短信息状态、接听电话状态、使用无线电/视频设备状态、打瞌睡或晕倒等危险驾驶状态为危险驾驶行为状态。由于深度图像所采集到每个像素点中包含有图像的深度位置信息,相较于普通相机所采集到的图像来说,能够更加准确的识别出当前图像中驾驶员所在的具体位置,并且能够更加精确的勾勒出驾驶员的所在图像的轮廓。
[0070] 将实时采集到的每幅原始深度RGB图像进行图像分割处理,提取图像中驾驶员所在区域的驾驶行为图像,并将当前得到的驾驶行为图像,存入训练样本集中,用以构成实时更新的训练样本集。
[0071] 在图像分割处理过程中,需要利用混合高斯模型将实时采集到的每幅原始深度RGB图像进行裁剪及分割处理,将驾驶员区域从原始深度图像的背景中分割出来,识别出驾驶员位置。也就是说,需要将原始图像中与驾驶行为无关的相似的全局背景信息滤除,只保留与驾驶行为有关的局部特征信息,例如手、人脸、眼睛等不同的位置。这样,相比于直接在原始图像上进行驾驶行为识别模型的训练处理,使用分割处理后的驾驶员行为图像进行识别模型的训练,可以提升识别模型的准确率、以及识别结果的精确度。
[0072] 由于在构建驾驶行为识别模型过程中,已经先利用大规模开源数据集对模型进行了预训练,故二次训练过程只需要训练样本集内的几百张到一千张的数据即可完成,这样,降低了在采集训练样本集中训练数据的时间成本,提高了构建驾驶行为识别模型的效率。
[0073] 2、识别驾驶员驾驶行为的方法
[0074] 步骤S100,获取当前时刻驾驶员的驾驶行为深度图像。
[0075] 本实施例中,通过安装在驾驶员前方的深度相机,收集在驾驶过程中的含有驾驶员行为信息的深度图像,作为输入图像。
[0076] 步骤S110,基于所述驾驶行为深度图像,通过驾驶行为识别模型获取驾驶员的驾驶行为状态。
[0077] 在本实施例中,基于输入图像,通过训练好的驾驶行为识别模型直接获取驾驶员的驾驶行为状态。
[0078] 本发明第二实施例的一种驾驶员危险驾驶行为预警方法,如图2所示,包括以下步骤:
[0079] 步骤S200,基于上所述的识别驾驶员驾驶行为的方法获取第一车辆中驾驶员驾驶行为状态;所述第一车辆为被检测到处于危险驾驶行为状态的车辆;
[0080] 步骤S210,基于预设的驾驶员行为状态分级规则,对所识别的驾驶员驾驶行为状态进行危险级别判断,依据预设的危险级别预警方式进行预警提示;
[0081] 若所述驾驶行为状态属于预设的轻度危险驾驶行为状态,则生成第一预警提示;所述预设的轻度危险驾驶行为状态包括发短信息状态、接听电话状态、使用无线电/视频设备状态;所述第一预警提示为当前车辆的危险驾驶行为;
[0082] 若所述驾驶行为状态属于预设的重度危险驾驶行为状态,将预警信息进行广播播报;所述预警信息包括车辆坐标信息、车辆信息、驾驶员驾驶行为状态;所述预设的重度危险驾驶行为状态包括打瞌睡或晕倒等危险驾驶状态;
[0083] 第二车辆获取广播播报的预警信息,基于自身车辆信息生成第二预警提示;所述第二车辆为所述第一车辆预设广播播报范围内的车辆;所述自身车辆信息包括车辆坐标信息;所述第二预警提示包括第一车辆相对于第二车辆的方位及距离、第一车辆的车辆信息。
[0084] 为了更清晰地对本发明驾驶员危险驾驶行为预警方法进行说明,下面结合附图对本发明方法一种实施例中各步骤进行展开详述。
[0085] 步骤S200,基于上所述的识别驾驶员驾驶行为的方法获取第一车辆中驾驶员驾驶行为状态;所述第一车辆为被检测到处于危险驾驶行为状态的车辆。
[0086] 在本实施例中,检测各车辆驾驶员驾驶行为状态,若包含发短信息状态、接听电话状态、使用无线电/视频设备状态、打瞌睡或晕倒等危险驾驶状态为危险驾驶行为状态,则判定当前车辆需要进行预警提示。
[0087] 步骤S210,基于预设的驾驶员行为状态分级规则,对所识别的驾驶员驾驶行为状态进行危险级别判断,依据预设的危险级别预警方式进行预警提示;
[0088] 若所述驾驶行为状态属于预设的轻度危险驾驶行为状态,则生成第一预警提示;所述预设的轻度危险驾驶行为状态包括发短信息状态、接听电话状态、使用无线电/视频设备状态;所述第一预警提示为当前车辆的危险驾驶行为;
[0089] 若所述驾驶行为状态属于预设的重度危险驾驶行为状态,将预警信息进行广播播报;所述预警信息包括车辆坐标信息、车辆信息、驾驶员驾驶行为状态;所述预设的重度危险驾驶行为状态包括打瞌睡或晕倒等危险驾驶状态;
[0090] 第二车辆获取广播播报的预警信息,基于自身车辆信息生成第二预警提示;所述第二车辆为所述第一车辆预设广播播报范围内的车辆;所述自身车辆信息包括车辆坐标信息;所述第二预警提示包括第一车辆相对于第二车辆的方位及距离、第一车辆的车辆信息。
[0091] 本实施例中,将驾驶员危险驾驶行为状态分为轻度危险驾驶行为状态和重度轻度危险驾驶行为状态。其中,轻度危险驾驶行为状态包括发短信息状态、接听电话状态、使用无线电/视频设备状态;重度轻度危险驾驶行为状态包括打瞌睡或晕倒等危险驾驶状态为危险驾驶行为状态。在其他实施例中,可根据实际需求,根据驾驶行为进行更精细的划分。
[0092] 对所识别的驾驶员驾驶行为状态进行危险级别判断,若为轻度危险驾驶行为状态,则生成第一预警提示。即根据当前车辆驾驶员的驾驶行为状态,在显示屏上展示当前驾驶员行为状态并进行声音警报提示,提醒驾驶员纠正驾驶行为,注意安全驾驶。
[0093] 若驾驶行为状态属于预设的重度危险驾驶行为状态,则可能会对本车及其他车辆造成一定的威胁,甚至会造成交通事故等重大影响。这时候需要对周边的车辆进行预警提示,从而使周边的车辆形成避让,将损失减到最小。具体处理如下:
[0094] 被检测到处于危险驾驶行为状态的车辆,基于当前车辆的车辆坐标信息、车辆信息、驾驶员驾驶行为状态生成预警信息并进行广播播报,即对周边预设范围内的车辆进行广播。将被检测到处于危险驾驶行为状态的车辆作为第一车辆。
[0095] 第一车辆预设广播播报范围内的车辆获取广播播报的预警信息,基于自身车辆的坐标信息,生成包括第一车辆相对于自身车辆的方位及距离、第一车辆的车辆信息的第二预警提示,提示第二车辆的驾驶员进行避让。其中,车辆信息包括车牌号、车辆颜色、车辆型号。因此,生成的播报如下:左前方50米有一辆红色的法拉利,车牌号为:京A 12345,驾驶员正在打瞌睡,请注意避让或减速行驶。
[0096] 本发明第三实施例的一种识别驾驶员驾驶行为的系统,如图3所示,包括:获取模块100、识别模块110、输出模块120;
[0097] 所述获取模块100,配置为获取当前时刻驾驶员的驾驶行为深度图像;
[0098] 所述识别模块110,配置为基于所述驾驶行为深度图像,通过驾驶行为识别模型获取驾驶员的驾驶行为状态;
[0099] 所述输出模块120,配置为输出驾驶员的驾驶行为状态。
[0100] 本发明第四实施例的一种驾驶员危险驾驶行为预警系统,如图4所示,包括获取模块200、危险等级判别模块210、预警提示模块220;
[0101] 所述获取模块200,配置为基于上述的识别驾驶员驾驶行为的系统获取第一车辆中驾驶员驾驶行为状态;所述第一车辆为被检测到处于危险驾驶行为状态的车辆;
[0102] 所述危险等级判别模块210,配置为基于预设的驾驶员行为状态分级规则,对所识别的驾驶员驾驶行为状态进行危险级别判断,获取驾驶员驾驶行为状态的危险级别;
[0103] 所述预警提示模块220,配置为基于所述驾驶行为状态的危险级别,依据预设的危险级别预警方式进行预警提示:
[0104] 若所述驾驶行为状态属于预设的轻度危险驾驶行为状态,则生成第一预警提示;所述预设的轻度危险驾驶行为状态包括发短信息状态、接听电话状态、使用无线电/视频设备状态;所述第一预警提示为当前车辆的危险驾驶行为;
[0105] 若所述驾驶行为状态属于预设的重度危险驾驶行为状态,将预警信息进行广播播报;所述预警信息包括车辆坐标信息、车辆信息、驾驶员驾驶行为状态;所述预设的重度危险驾驶行为状态包括打瞌睡或晕倒等危险驾驶状态;
[0106] 第二车辆获取广播播报的预警信息,基于自身车辆信息生成第二预警提示;所述第二车辆为所述第一车辆预设广播播报范围内的车辆;所述自身车辆信息包括车辆坐标信息;所述第二预警提示包括第一车辆相对于第二车辆的方位及距离、第一车辆的车辆信息。
[0107] 所述技术领域的技术人员可以清楚的了解到,为描述的方便和简洁,上述描述的系统的具体的工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0108] 需要说明的是,上述实施例提供的识别驾驶员驾驶行为的系统和/或驾驶员危险驾驶行为预警系统,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块来完成,即将本发明实施例中的模块或者步骤再分解或者组合,例如,上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块,以完成以上描述的全部或者部分功能。对于本发明实施例中涉及的模块、步骤的名称,仅仅是为了区分各个模块或者步骤,不视为对本发明的不当限定。
[0109] 本发明第五实施例的一种存储装置,其中存储有多条程序,所述程序适用于由处理器加载并实现上述的识别驾驶员驾驶行为的方法和/或上述的驾驶员危险驾驶行为预警方法。
[0110] 本发明第六实施例的一种处理装置,包括处理器、存储装置;处理器,适于执行各条程序;存储装置,适于存储多条程序;所述程序适于由处理器加载并执行以实现上述的识别驾驶员驾驶行为的方法和/或上述的驾驶员危险驾驶行为预警方法。
[0111] 所述技术领域的技术人员可以清楚的了解到,未描述的方便和简洁,上述描述的存储装置、处理装置的具体工作过程及有关说明,可以参考前述方法实例中的对应过程,在此不再赘述。
[0112] 本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的模块、方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,软件模块、方法步骤对应的程序可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的设定应用和设计约束条件。本领域技术人员可以对每个设定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0113] 术语“第一”、“第二”等是用于区别类似的对象,而不是用于描述或表示设定的顺序或先后次序。
[0114] 术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。
[0115] 至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。