基于OpenVino的露天矿卡车司机驾驶行为检测模型轻量优化方法与流程

文档序号:33180602发布日期:2023-02-04 04:52阅读:38来源:国知局
基于OpenVino的露天矿卡车司机驾驶行为检测模型轻量优化方法与流程
基于openvino的露天矿卡车司机驾驶行为检测模型轻量优化方法
技术领域
1.本发明属于露天矿卡车驾驶安全监测技术领域,尤其是涉及一种基于openvino的露天矿卡车司机驾驶行为检测模型轻量优化方法。


背景技术:

2.人脸检测识别技术的蓬勃发展,使机器视觉技术逐渐替代了传统的人工进行司机疲劳驾驶检测的方式,成为了主流。由于涉及实时图像视频处理,通常需要高端的图形图像模块gpu进行处理,目前的人员图像识别技术,均采用带有gpu的高端机、专用机或云计算等方式进行处理。传统的露天矿卡车调度系统采用嵌入式移动设备,受技术与价格等多方面因素制约,通常无法配备gpu、5g等高速运行模块,只好采用扩展接口方式进行硬件组合应用,致使驾驶室内设备繁多,成本高,空间及走线相互干扰大,使用不便,维护维修复杂。如何实现图像处理技术在嵌入式移动终端的轻量化集成应用,是露天矿智能终端研发与使用人员期望解决的问题。openvino是英特尔基于自身的硬件平台,于2019年发布的一种可以加快高性能计算机视觉和深度学习视觉应用开发速度工具套件,支持各种英特尔平台的硬件加速器上进行深度学习,并且允许直接异构执行。目前对于实时目标检测轻量级优化的研究很少,目前查到相关专利为2021年4月30日公布的一种利用yolov5和openvino进行火焰检测的嵌入式网关及其部署方法。该发明包括cpu、vpu、上位机通讯模块、以太网接口、hdmi/vga视频输出、usb扩展接口、ram、rom、保护电路模块、实时时钟模块和复位电路模块,利用yolov5和openvino进行火焰检测的嵌入式网关优化,其特点是硬软件结合对嵌入式网管进行优化,图像处理仍采用vpu技术,cpu仍然采用64运行,软件优化有限。本发明针对移动车载终端cpu不高,无高端gpu、vpu显卡的实际情况,主要从软件方面对司机疲劳驾驶等目标检测模型进行轻量级优化。


技术实现要素:

3.本发明的目的就是为了克服上述现有技术存在的缺陷,提供基于openvino的露天矿卡车司机驾驶行为检测模型轻量优化方法。
4.本发明的目的可以通过以下技术方案来实现:
5.本发明的一种基于openvino的露天矿卡车司机驾驶行为检测模型轻量优化方法,其特征在于,包括以下步骤:
6.s1:构建露天矿卡车司机图片数据库;
7.s2:对露天矿卡车司机图片数据库中的司机驾驶行为图片进行分类标定,构建训练集;
8.s3:构建露天矿卡车司机驾驶行为检测模型;
9.s4:基于训练集并利用引入动量加速模型训练的优化迭代算法及提供进行模型剪枝、合并、量化操作环境的openvino工具对露天矿卡车司机驾驶行为检测模型进行轻量级
优化训练;
10.s5:获取待检测露天矿卡车司机实时驾驶视频,并送入露天矿卡车司机驾驶行为检测模型进行检测,获取露天矿卡车司机的违规驾驶行为类型,并对违规驾驶行为进行语音及文字预警。
11.优选地,所述的步骤s2的具体步骤包括:
12.s2.1:获取露天矿卡车司机驾驶行为类型;
13.s2.2:基于露天矿卡车司机驾驶行为类型对露天矿卡车司机驾驶图片进行标定,并将标定后带标签的图片设置为训练集;
14.s2.3:对训练集进行mosaic数据增强,对图片进行随机的添加噪点、裁剪、翻转、旋转、缩放、平移和亮度、对比度、饱和度调节及颜色增强。
15.优选地,所述的s3中的构建露天矿卡车司机驾驶行为检测模型为yolo-v5卷积神经模型。
16.优选地,所述的步骤s4中基于训练集并利用引入动量加速模型训练的优化迭代算法及提供进行模型剪枝、合并、量化操作环境的对yolo-v5卷积神经模型进行轻量级优化训练,具体包括:
17.s4.1:将图片数据库卷积神经模型送入露天矿卡车司机驾驶行为检测模型;
18.s4.2:采用torch.optim.sgdm()改进的引入动量加速模型训练的优化迭代算法对卷积神经模型权重进行随机梯度下降优化:
19.torch.optim.sgdm()算法公式:
[0020][0021]
其中,momentum∈[0,1)为动量,η是学习步长表示权重θ更新的幅度大小,是权重梯度表示权重更新的方向,δθ为模型权重θ每次迭代的更新量;
[0022]
s4.3:采用损失函数对yolo-v5卷积神经网络模型进行评价,并根据评价结果调整参数,得到优化的yolo-v5卷积神经网络训练模型;
[0023]
s4.4:将经过优化的yolo-v5卷积神经网络训练模型权重.pt格式转换为onnx格式,输入openvino环境;
[0024]
s4.5:在提供进行模型剪枝、合并、量化操作环境的openvino环境对优化的yolo-v5卷积神经网络训练露天矿卡车司机驾驶行为检测模型进行冗余网络层剪枝合并,剪枝优化的yolo-v5卷积神经模型网络模型网络最后一层detect输出层中的dropout操作,合并模型conv卷积层、bn(batch normalization)批归一化层、relu激活函数;
[0025]
s4.6:将优化的yolo-v5卷积神经网络训练模型从fp32到fp16量化,压缩模型体积,量化公式:
[0026][0027]
其中,为取整到临近的整数,clamp()函数公式:
[0028]
clamp(input,input_low,input_high)=min(max(input,input_low),input_
high)))
[0029]
其中,input_low和input_range为可调参数。
[0030]
优选地,所述的s5中违规驾驶行包括c0闭眼疲劳驾驶、c1哈欠疲劳驾驶、c2低头疲劳驾驶、c3未佩戴口罩、c4吸烟、c5打电话及c6吃喝。
[0031]
本发明的一种露天矿卡车司机驾驶行为检测系统,其特征在于,包括露天矿卡车司机视频获取模块、驾驶行为识别模块、语音及文字预警模块、违规行为记录存档模块,
[0032]
所述的露天矿卡车司机图片获取模块用于获取露天矿卡车司机视频;
[0033]
所述的驾驶行为识别模块用于基于权利要求1-4中任意一项所述的一种基于openvino的露天矿卡车司机驾驶行为检测模型轻量优化方法对露天矿卡车司机视频进行行为识别,获取露天矿卡车司机驾驶行为类型;
[0034]
当所述语音及文字预警模块的判断结果为异常驾驶行为时,所述的语音及文字预警模块发出报警文字及语音信号;
[0035]
所述的违规行为记录存档模块用于记录并存储所述露天矿卡车司机id、违规驾驶行为类别、图片日志、时间信息。
[0036]
与现有技术相比,本发明具有如下优点:
[0037]
(1)本发明的基于openvino的露天矿卡车司机驾驶行为检测模型轻量优化方法,得到的人脸实时目标检测模型体积压缩比高,模型物理空间与运算占用内存少,推理速度快,精度高。
[0038]
(2)本发明的基于openvino的露天矿卡车司机驾驶行为检测模型轻量优化方法,可以直接部署在嵌入式卡车调度智能终端上,无需专门的疲劳驾驶终端,减少了驾驶室空间占用,使用简单,维护方便。
附图说明
[0039]
图1为本发明基于openvino的露天矿卡车司机驾驶行为检测模型轻量优化方法的流程图;
[0040]
图2为本发明基于openvino的露天矿卡车司机驾驶行为检测模型轻量优化方法模型训练损失函数图;
[0041]
图3为本发明基于openvino的露天矿卡车司机驾驶行为检测模型轻量优化方法网络层剪枝图;
[0042]
图4为本发明基于openvino的露天矿卡车司机驾驶行为检测模型轻量优化方法网络层合并图。
具体实施方式
[0043]
下面结合附图和具体实施例对本发明进行详细说明。注意,以下的实施方式的说明只是实质上的例示,本发明并不意在对其适用物或其用途进行限定,且本发明并不限定于以下的实施方式。
[0044]
实施例
[0045]
如图1-图4所示,本发明的一种基于openvino的露天矿卡车司机驾驶行为检测模型轻量优化方法,其特征在于,包括以下步骤:
[0046]
s1:构建露天矿卡车司机图片数据库;
[0047]
s2:对露天矿卡车司机图片数据库中的司机驾驶行为图片进行分类标定,构建自有训练集;
[0048]
所述的步骤s2的具体步骤包括:
[0049]
s2.1:获取露天矿卡车司机驾驶行为类型;
[0050]
s2.2:基于露天矿卡车司机驾驶行为类型对露天矿卡车司机驾驶图片进行标定,并将标定后带标签的图片设置为训练集;
[0051]
s2.3:对训练集进行mosaic数据增强,对图片进行随机的添加噪点、裁剪、翻转、旋转、缩放、平移和亮度、对比度、饱和度调节及颜色增强。
[0052]
以此阻止模型学习不相关的特征,避免将无关的要素识别为特征。经过多次训练比较,采用mosaic数据增强后的训练结果更佳。
[0053]
本实施例所述的s3中的构建露天矿卡车司机驾驶行为检测模型为yolo-v5卷积神经模型。
[0054]
s4:基于训练集并利用引入动量加速模型训练的优化迭代算法及提供进行模型剪枝、合并、量化操作环境的openvino工具对露天矿卡车司机驾驶行为检测模型进行轻量级优化训练;
[0055]
具体包括:
[0056]
s4.1:将图片数据库卷积神经模型送入露天矿卡车司机驾驶行为检测模型;
[0057]
s4.2:采用torch.optim.sgdm()改进的引入动量加速模型训练的优化迭代算法及提供进行模型剪枝、合并、量化操作环境的算法对卷积神经模型权重进行随机梯度下降优化:
[0058]
torch.optim.sgdm()改进的引入动量加速模型训练的优化迭代算法公式:
[0059][0060]
其中,momentum∈[0,1)为动量,η是学习步长表示权重θ更新的幅度大小,是权重梯度表示权重更新的方向,δθ为模型权重θ每次迭代的更新量;
[0061]
s4.3:采用损失函数对yolo-v5卷积神经网络模型进行评价,并根据评价结果调整参数,得到优化的yolo-v5卷积神经网络训练模型;
[0062]
采用损失函数对模型进行评价,并根据评价结果调整参数。
[0063]
模型训练超参数如下所示:
[0064][0065]
s4.4:将经过优化的yolo-v5卷积神经网络训练模型权重.pt格式转换为onnx格式,输入提供进行模型剪枝、合并、量化操作环境的openvino环境;s4.5:在openvino环境对优化的yolo-v5卷积神经网络训练露天矿卡车司机驾驶行为检测模型进行冗余网络层剪枝合并,剪枝优化的yolo-v5卷积神经网络模型网络最后一层detect输出层中的dropout操作,合并模型conv卷积层、bn(batch normalization)批归一化层、relu激活函数;
[0066]
s4.5:在openvino环境对模型进行冗余网络层剪枝合并;
[0067]
剪枝操作为:将yolo-v5模型网络最后一层detect输出层中对推理运算无用的dropout操作去掉,dropout操作的作用是随机删除数个神经元以减小网络规模,但是这在全连接层的效果良好,对于detect层的卷积结果作用很小,因为detect卷积包括卷积层、激活层及池化层,其中的池化层的作用就是与相邻的神经元建立联系进行学习,舍弃dropout操作之后detect层仍然可以与相邻的激活网络层进行学习。合并操作为:合并yolo-v5模型conv卷积层、bn(batch normalization)批归一化层、relu激活函数,在原始yolo-v5模型中,bn层位于conv层后面,有对特征图进行归一化的作用,避免模型过拟合,防止权重发生梯度爆炸和消失的情况,虽然bn层对模型推理有十分积极的作用,但是当数据在网络前向传播时,每多一层网络就会增加模型运算推理时间,因此,将bn层与前方的conv层进行合并,相当于对conv层的卷积核计算进行修改,但并未增加卷积运算量,且省去了在整个bn层运算的时间;将relu激活函数与这两层合并可以在卷积运算时进行稀疏矩阵计算,提取出有推理代表性的神经元,增强模型泛化能力,提升运算速度,降低推理时间;
[0068]
s4.6:将优化的yolo-v5卷积神经网络训练露天矿卡车司机驾驶行为检测模型从fp32到fp16量化,压缩模型体积,量化公式:
[0069]
[0070]
其中,为取整到临近的整数,clamp()函数公式:
[0071]
clamp(input,input_low,input_high)=min(max(input,input_low),input_high)))
[0072]
其中,input_low和input_range为可调参数。
[0073]
s5:获取待检测露天矿卡车司机实时驾驶视频,并送入露天矿卡车司机驾驶行为检测模型进行检测,获取露天矿卡车司机的违规驾驶行为行为类型,并对违规驾驶行为进行语音及文字预警。
[0074]
本实施例中,违规驾驶行为类型包括c0闭眼疲劳驾驶、c1哈欠疲劳驾驶、c2低头疲劳驾驶、c3未佩戴口罩、c4吸烟、c5打电话、c6吃喝分类结果具有覆盖性与独立性。
[0075]
本发明还提供了一种露天矿卡车司机驾驶行为检测系统,包括露天矿卡车司机视频获取模块、驾驶行为识别模块、语音及文字预警模块、违规行为记录存档模块,
[0076]
露天矿卡车司机视频获取模块用于获取露天矿卡车司机视频;
[0077]
驾驶行为识别模块用于基于权利要求1-4中任意一项所述的基于openvino的露天矿卡车司机驾驶行为检测模型轻量优化方法对露天矿卡车司机视频进行行为识别,获取露天矿卡车司机驾驶行为类型;
[0078]
当所述语音及文字预警模块的判断结果为异常驾驶行为时,所述的语音及文字预警模块发出报警文字及语音信号;
[0079]
违规行为记录存档模块用于记录并存储所述露天矿卡车司机id、违规驾驶行为类别、图片日志、时间信息。
[0080]
上述实施方式仅为例举,不表示对本发明范围的限定。这些实施方式还能以其它各种方式来实施,且能在不脱离本发明技术思想的范围内作各种省略、置换、变更。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1