一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于云边端架构的复杂背景下锥桶识别方法

2022-07-10 14:18:54 来源:中国专利 TAG:


1.本发明涉及一种锥桶识别方法,更具体的说,尤其涉及一种基于云边端架构的复杂背景下锥桶识别方法。


背景技术:

2.无人驾驶已经成为机器视觉领域的研究热点。具有无人驾驶特征的服务型机器人、物流配送车辆、智能公共交通工具等相继出现。在高速公路养护作业中,在施工场地周围设置安全警示设备(通常为锥桶)是道路养护工作规范要求,交通锥桶是必备警示设备之一,它们主要用于分割或合并车道以及安全警示。为了人员和车辆的安全,在无人驾驶系统中,准确检测锥桶位置也逐渐被人们所重视。交通锥桶有圆锥和方锥两种形状,在道路养护作业时,它们布置在特定区域的周围,以便于重定向交通或封锁区域。此时,在复杂天气条件下准确检测出锥桶在无人驾驶系统中是非常必要的。


技术实现要素:

3.本发明为了克服上述技术问题的缺点,提供了一种基于云边端架构的复杂背景下锥桶识别方法。
4.本发明的基于云边端架构的复杂背景下锥桶识别方法,云边端架构由云服务器、边缘控制器和终端组成,云服务器经无线网络与边缘控制器相通信,边缘控制器的数量为多个,多个边缘控制器间隔设置于交通道路的一侧;终端为行驶在交通道路上的行驶车辆,行驶车辆经无线网络与边缘控制器相通信,行驶车辆上设置有用于对前方交通路况进行图像采集的摄像头;其特征在于,基于云边端架构的复杂背景下锥桶识别方法通过以下步骤来实现:a).布置设备,首先建立云服务器,然后在道路的两侧间隔布置边缘控制器,相邻两边缘控制器的间距以能实现与行驶车辆全路段通信为准;并建立与服务器与边缘控制器的通信;b).锥桶识别模型的训练,采集晴天、阴天、雨天和夜晚四种环境下包含圆锥桶和方锥桶的交通路面图像,采用mobilenetv3网络模型与yolov4网络模型相融合形成的深度学习网络模型mobilenetv3_yolov4训练出锥桶识别模型,并将得到的锥桶识别模型的权值文件分发给每个边缘控制器;c).行驶车辆通信的建立,行驶车辆在道路上行驶的过程中,与其两端的两个边缘控制器中负荷小的建立通信;d).图像数据的采集和上传,行驶车辆在行驶的过程中,将采集的前方路况的图像上传至与其建立通信的边缘控制器;e).锥桶识别,边缘控制器利用权值文件对接收的行驶车辆上传的图像进行识别处理,如果识别出图像中含有交通锥桶,则进一步识别出锥桶的位置信息并下发至行驶车辆;
f).自动避障,当行驶车辆接收到边缘控制器下发的锥桶位置信息后,则采用自动避障策略避开锥桶所在位置。
5.本发明的基于云边端架构的复杂背景下锥桶识别方法,所述云服务器采用机架式服务器,边缘控制器采用mips系统、arm系统或x86系统;使用docker镜像的方法在一台边缘控制器上配置基本环境,并打包成docker镜像,其余的边缘控制器直接载入打包好的docker镜像。
6.本发明的基于云边端架构的复杂背景下锥桶识别方法,步骤b)中所述的锥桶识别模型的训练包括:b-1).统一图像大小和图像的初步处理;b-2).采用mobilenetv3网络模型中的bneck结构作为主干特征网络对图像进行处理,得到通道数不同的特征层;b-3).采用spp-net网络对步骤b-2)中最后获取的特征层进行处理,以实现对特征层信息的进一步提取;b-4).采用panet网络对步骤b-2)中获取的两个通道数不同的特征层以及步骤b-3)生成的特征层进行处理,以实现对特征层信息的进一步提取,最终形成三个有效特征层;b-5).将步骤b-4)最终形成的三个有效特征层作为权值文件分发给每个边缘控制器。
7.本发明的基于云边端架构的复杂背景下锥桶识别方法,步骤b-1)中所述的统一图像大小和图像的初步处理方法为:b-1-1).采集足够数量的晴天、阴天、雨天和夜晚四种环境下包含圆锥桶和方锥桶的交通路面图像,图像包含r、g、b三个通道;然后将所有的图像统一为(3,416,416)格式,即包含r、g、b三个通道,宽度和高度均为416像素;b-1-2).对经步骤b-1-1)获取的图像依次进行卷积核为3
×
3的卷积、batchnorm标准化和hard_swish激活函数处理的操作,形成通道为16、大小为208
×
208的特征层输出;步骤b-2)中所述的采用mobilenetv3网络模型中的bneck结构作为主干特征网络对图像进行处理方法为:b-2-1). 定义如下步骤的bneck结构处理流程:b-2-1-1).首先原始输入的特征层依次进行卷积核为1
×
1的卷积、batchnorm标准化和hard_swish激活函数处理的操作;b-2-1-2).然后将步骤b-2-1-1)的输出依次进行深度可分离卷积、batchnorm标准化的操作;b-2-1-3).引入注意力机制,首先将步骤b-2-1-2)的输出进行全局平均池化global average pooling的操作,然后再进行两个全连接层fully connected layer的操作,将得到的结果与b-2-1-2)的输出相乘;b-2-1-4).将步骤b-2-1-3)的输出进行hard_swish激活函数的操作;b-2-1-5).将步骤b-2-1-4)的输出依次进行卷积核为1
×
1的卷积、batchnorm标准化操作;b-2-1-6).将步骤b-2-1-1)中的原始输入的特征层与步骤b-2-1-5)输出的特征层相加,形成最后的输出结果;
b-2-2).以步骤b-1-2)输出的特征层为原始输入,执行1次步骤b-2-1-1)至步骤b-2-1-6)的bneck结构处理流程,获得通道数c=16、大小为(208,208)的输出;b-2-3).以步骤b-2-2)输出的特征层为原始输入,循环执行2次步骤b-2-1-1)至步骤b-2-1-6)的bneck结构处理流程,获得通道数c=24、大小为(104,104)的输出;b-2-4).以步骤b-2-3)输出的特征层为原始输入,循环执行3次步骤b-2-1-1)至步骤b-2-1-6)的bneck结构处理流程,获得通道数c=40、大小为(52,52)的输出,将得到的特征层传入步骤b-4)的panet网络中;b-2-5).以步骤b-2-4)输出的特征层为原始输入,循环执行4次步骤b-2-1-1)至步骤b-2-1-6)的bneck结构处理流程,获得通道数c=80、大小为(26,26)的输出;b-2-6).以步骤b-2-5)输出的特征层为原始输入,循环执行2次步骤b-2-1-1)至步骤b-2-1-6)的bneck结构处理流程,获得通道数c=112、大小为(26,26)的输出,将得到的特征层传入步骤b-4)的panet网络中;b-2-7).以步骤b-2-6)输出的特征层为原始输入,循环执行3次步骤b-2-1-1)至步骤b-2-1-6)的bneck结构处理流程,获得通道数c=160、大小为(13,13)的输出。
8.本发明的基于云边端架构的复杂背景下锥桶识别方法,所述的步骤b-3)具体通过以下步骤来实现:b-3-1).首先将步骤b-2-7)输出的特征层分别利用5*5、9*9和13*13的池化核进行最大池化max pooling操作;b-3-2). 然后将步骤b-3-1)中三者的最大池化后的结果和步骤b-2-7)的输出依次进行堆叠concat和3次卷积conv
×
3的操作,之后将结果传入步骤b-4)的panet网络中。
9.本发明的基于云边端架构的复杂背景下锥桶识别方法,所述的步骤b-4)具体通过以下步骤来实现:b-4-1).首先将步骤b-3-2)的输出依次进行卷积和上采样upsampling的操作,然后将其与步骤b-2-6)输出的特征层依次进行堆叠concat、5次卷积conv
×
5的操作;b-4-2).首先将步骤b-4-1)的输出依次进行卷积和上采样upsampling的操作,然后将其与步骤b-2-4)输出的特征层依次进行堆叠concat、5次卷积conv
×
5的操作;b-4-3).将步骤b-4-2)的输出依次进行卷积核为3
×
3的卷积和卷积核为1
×
1的卷积操作,得到参数为3*(1 4 num_classes),52,52)的先验框;先验框3*(1 4 num_classes),52,52)的含义为:数字3表示每一个特征层的每一个特征点存在3个先验框,数字1表示用来判断先验框内部是否包含待检测物体,数字4代表先验框的调整参数有4个,4个调整参数分别为先验框的宽、高、以及中心点的x、y坐标,52、52分别为特征层的宽和高;b-4-4).首先将步骤b-4-2)的输出进行下采样downsampling的操作,然后将其与步骤b-4-1)的输出依次进行堆叠、5次卷积conv
×
5的操作;b-4-5).将步骤b-4-4)的输出依次进行卷积核为3
×
3的卷积和卷积核为1
×
1的卷积操作,得到参数为3*(1 4 num_classes),26,26)的先验框;b-4-6).首先将步骤b-4-4)的输出进行下采样downsampling的操作,然后将其与步骤b-3-2)的输出依次进行堆叠、5次卷积conv
×
5的操作;b-4-7).将步骤b-4-6)的输出依次进行卷积核为3
×
3的卷积和卷积核为1
×
1的卷积操作,得到参数为3*(1 4 num_classes),13,13)的先验框;3个先验框3*(1 4 num_
classes),52,52)、3*(1 4 num_classes),26,26)和3*(1 4 num_classes),26,26)构成锥桶识别模型的权值文件。
10.本发明的有益效果是:本发明的基于云边端架构的复杂背景下锥桶识别方法,利用云边端协作的方式,合理分配计算资源,提高交通锥桶检测的实时性,降低单个行驶车辆的成本;在锥桶识别模型的建立过程中,采用mobilenetv3网络模型与yolov4网络模型相融合形成的深度学习网络模型mobilenetv3_yolov4进行训练,将原有hard_swish激活函数替换为swish激活函数后的检测精度提升最大,且响应速度没有明显变化,使得锥桶的检测速度有了明显的提升,可以满足高速公路行驶车辆系统对锥桶检测准确性、实时性的要求。
附图说明
11.图1为本发明的基于云边端架构的系统原理图;图2为本发明中yolov4网络模型结构图;图3为本发明中bneck网络结构图;图4为本发明中mobilenetv3_yolov4网络模型结构图。
12.图中:1云服务器,2边缘控制器,3终端。
具体实施方式
13.下面结合附图与实施例对本发明作进一步说明。
14.如图1所示,给出了本发明的基于云边端架构的系统原理图,其由云服务器1、边缘控制器2和终端3三部分组成,终端为在交通道路上行驶的车辆。云服务器1可采用机架式服务器,mips系统、arm系统、x86系统作为边缘控制器2。边缘控制器分布在道路一侧,当行驶车辆出现在两台边缘控制器2中间位置时,会启动云服务器1来判断两台边缘控制器2的当前负荷,优先选择当前负荷量小的边缘控制器2与行驶车辆3进行数据交互。由于边缘控制器2的数量多、种类不一,存在环境异构问题,故采用docker镜像的方法,仅需在一台边缘控制器2上配置基本环境,并打包成docker镜像,其他的边缘控制器2直接载入打包好的docker镜像即可。由于深度学习网络需要使用到gpu资源,故边缘控制器2载入docker镜像后还需要根据不同硬件资源配置相应的gpu环境。
15.如图2、图3和图4所示分别给出了yolov4网络模型结构图、bneck网络结构图以及mobilenetv3_yolov4网络模型结构图,本发明的基于云边端架构的复杂背景下锥桶识别方法通过以下步骤来实现:a).布置设备,首先建立云服务器,然后在道路的两侧间隔布置边缘控制器,相邻两边缘控制器的间距以能实现与行驶车辆全路段通信为准;并建立与服务器与边缘控制器的通信;b).锥桶识别模型的训练,采集晴天、阴天、雨天和夜晚四种环境下包含圆锥桶和方锥桶的交通路面图像,采用mobilenetv3网络模型与yolov4网络模型相融合形成的深度学习网络模型mobilenetv3_yolov4训练出锥桶识别模型,并将得到的锥桶识别模型的权值文件分发给每个边缘控制器;c).行驶车辆通信的建立,行驶车辆在道路上行驶的过程中,与其两端的两个边缘控制器中负荷小的建立通信;
2-1-6)的bneck结构处理流程,获得通道数c=16、大小为(208,208)的输出;b-2-3).以步骤b-2-2)输出的特征层为原始输入,循环执行2次步骤b-2-1-1)至步骤b-2-1-6)的bneck结构处理流程,获得通道数c=24、大小为(104,104)的输出;b-2-4).以步骤b-2-3)输出的特征层为原始输入,循环执行3次步骤b-2-1-1)至步骤b-2-1-6)的bneck结构处理流程,获得通道数c=40、大小为(52,52)的输出,将得到的特征层传入步骤b-4)的panet网络中;b-2-5).以步骤b-2-4)输出的特征层为原始输入,循环执行4次步骤b-2-1-1)至步骤b-2-1-6)的bneck结构处理流程,获得通道数c=80、大小为(26,26)的输出;b-2-6).以步骤b-2-5)输出的特征层为原始输入,循环执行2次步骤b-2-1-1)至步骤b-2-1-6)的bneck结构处理流程,获得通道数c=112、大小为(26,26)的输出,将得到的特征层传入步骤b-4)的panet网络中;b-2-7).以步骤b-2-6)输出的特征层为原始输入,循环执行3次步骤b-2-1-1)至步骤b-2-1-6)的bneck结构处理流程,获得通道数c=160、大小为(13,13)的输出。
18.其中,所述的步骤b-3)具体通过以下步骤来实现:b-3-1).首先将步骤b-2-7)输出的特征层分别利用5*5、9*9和13*13的池化核进行最大池化max pooling操作;b-3-2). 然后将步骤b-3-1)中三者的最大池化后的结果和步骤b-2-7)的输出依次进行堆叠concat和3次卷积conv
×
3的操作,之后将结果传入步骤b-4)的panet网络中。
19.其中,所述的步骤b-4)具体通过以下步骤来实现:b-4-1).首先将步骤b-3-2)的输出依次进行卷积和上采样upsampling的操作,然后将其与步骤b-2-6)输出的特征层依次进行堆叠concat、5次卷积conv
×
5的操作;b-4-2).首先将步骤b-4-1)的输出依次进行卷积和上采样upsampling的操作,然后将其与步骤b-2-4)输出的特征层依次进行堆叠concat、5次卷积conv
×
5的操作;b-4-3).将步骤b-4-2)的输出依次进行卷积核为3
×
3的卷积和卷积核为1
×
1的卷积操作,得到参数为3*(1 4 num_classes),52,52)的先验框;先验框3*(1 4 num_classes),52,52)的含义为:数字3表示每一个特征层的每一个特征点存在3个先验框,数字1表示用来判断先验框内部是否包含待检测物体,数字4代表先验框的调整参数有4个,4个调整参数分别为先验框的宽、高、以及中心点的x、y坐标,52、52分别为特征层的宽和高;b-4-4).首先将步骤b-4-2)的输出进行下采样downsampling的操作,然后将其与步骤b-4-1)的输出依次进行堆叠、5次卷积conv
×
5的操作;b-4-5).将步骤b-4-4)的输出依次进行卷积核为3
×
3的卷积和卷积核为1
×
1的卷积操作,得到参数为3*(1 4 num_classes),26,26)的先验框;b-4-6).首先将步骤b-4-4)的输出进行下采样downsampling的操作,然后将其与步骤b-3-2)的输出依次进行堆叠、5次卷积conv
×
5的操作;b-4-7).将步骤b-4-6)的输出依次进行卷积核为3
×
3的卷积和卷积核为1
×
1的卷积操作,得到参数为3*(1 4 num_classes),13,13)的先验框;3个先验框3*(1 4 num_classes),52,52)、3*(1 4 num_classes),26,26)和3*(1 4 num_classes),26,26)构成锥桶识别模型的权值文件。
20.可见,1)云服务器用做存储数据和训练数据。将制作的交通锥桶数据集上传至云
服务器,把深度学习网络的训练任务卸载到云端,训练好的权值文件直接分发至边缘控制器即可。有效利用云服务器强大的计算资源,节省训练的时间。2)将终端采集的实时画面上传至边缘控制器,在边缘控制器中进行深度学习网络的推理过程,将得到的交通锥桶位置信息下传至终端,在终端进行运动控制。有效利用边缘控制器良好的实时性,使交通锥桶的检测速度进一步提升。
21.本发明测试了faster_rcnn、yolov3、yolov4等模型,对比发现yolov4模型的检测精度最高,yolov4网络模型如图2所示,输入图像大小为416
×
416,cspdarknet53作为主干特征提取网络,spp-net、panet为加强特征提取网络。鉴于大型网络对设备的高内存和慢速度问题,采用轻量级深层神经网络mobilenetv3模型与yolov4模型相结合的mobilenetv3_yolov4模型。mobilenetv3是一种轻量级的深层神经网络,它的核心思想是使用深度可分离卷积块。深度可分离卷积与常规卷积相比,计算量大幅降低。
22.如图3所示,mobilenetv3使用了特殊的bneck结构,它综合使用了mobilenetv2的具有线性瓶颈的逆残差结构、mobilenetv1的深度可分离卷积结构、轻量级的注意力模型和hard_swish激活函数。在bneck结构中,将输入的特征层利用1
×
1的卷积进行升维操作,利用深度可分离卷积进行特征提取,对获取到的特征层施加注意力机制,此处注意力机制即对获取到的特征层进行全局平均池化,再进行两次全连接,得到的结果与施加注意力机制之前的特征层相乘,从而得到一个新的特征层,然后利用1
×
1的卷积进行降维操作,最后将原始输入的特征层与降维后的特征层相加并输出结果。
23.而mobilenetv3_yolov4模型将yolov4模型与mobilenetv3模型相结合。将原始yolov4模型中的主干特征提取网络cspdarknet53替换为mobilenetv3模型,取出最后的三个有效特征层进行加强特征提取,并在加强特征提取网络panet中,将常规的3
×
3卷积替换为深度可分离卷积,大幅减少网络参数量。mobilenetv3_yolov4模型如图4所示,输入图像大小默认为416
×
416,图中c表示特征通道数,t表示执行次数,num_classes表示检测物体的种类。其中,spp-net、panet与yolov4中的结构一致。
24.本发明的自建样本库包含圆锥、方锥两种类型的锥桶,包含了晴天、阴天、雨天、夜晚四种环境下的交通锥桶图像,而且对四种环境下的锥桶图像单独分类,共采集1678张带有多个锥桶的图像,训练集1278张,包含3678个锥桶,测试集400张,包含796个锥桶。
25.本实验均在自己搭建的云边端系统模型上进行,云服务器、边缘控制器和终端的cpu型号、cpu主频和gpu型号如表1所示:表1
在实验中可以用map(mean average precision)做为评价指标。在目标检测中,每一类都可以根据precision和recall绘制一条pr曲线,ap就是该曲线下的面积,map表示所有类别的ap值求平均。由于本数据集的标签只有一种,故本实验的ap值与map值相等。交并比iou(intersection over union)是用来衡量预测框和真实框的重合程度的。
26.通过计算不同iou下的map值来评价模型好坏。本发明测试了map@0.5、map@0.75和map@[0.5:0.95]值。map@0.5表示iou大于0.5的map值,map@0.75表示iou大于0.75的map值,map@[0.5:0.95]表示iou的阈值从0.5-0.95的区间上每隔0.5计算一次map值,取这10个map值的平均值作为最终结果。本发明针对四种不同的环境,分别对不同的目标检测模型进行对比。模型训练过程统一在云服务器上进行。
[0027]
a.非云边端架构下的检测精度表2为非云边端架构下晴天时各个模型的map值,表3为非云边端架构下阴天时各个模型的map值,表4为非云边端架构下雨天时各个模型的map值,表5为非云边端架构下夜晚时各个模型的map值, map@0.5、map@0.75与map@[0.5:0.95]的结果表明,yolov4模型的检测精度最高,yolov3处于第二位,mobilenetv3_yolov4处于第三位,faster_rcnn模型的检测精度最低。
[0028]
表2 表3 表4 表5
除上述深度学习网络模型以外,还通过锥桶的颜色、结构特征进行对比测试。首先,通过相机提取图中红色阈值的数据,再经过锥桶的纹理特征进一步筛选。此方法仅针对单一类型锥桶,且受光照影响较大。经过测试,晴天下的准确率为45.83%,阴天下的准确率为33.50%,雨天下的准确率为24.87%,夜晚下的准确率为17.29%。由于准确率太低,不再分析此方法。
[0029]
b.非云边端架构下的检测速度在非云边端架构中,本实验把深度学习网络的推理过程放在终端进行。实验中,由行驶车辆的摄像头实时采集画面,分辨率为640
×
480。表6为非云边端架构下各个模型的检测速度,其中fps(frames per second)为终端每秒钟处理图像的帧数。由数据可以看出,mobilenetv3_yolov4的推理速度最高,但依然无法满足行驶车辆的实时性要求,如表6所示,给出了非云边端架构下各个模型的检测速度。
[0030]
表6c.云边端架构下的检测精度经过测试,云边端架构与非云边端架构下各个模型检测精度一致,yolov4模型的检测精度最高,yolov3处于第二位,mobilenetv3_yolov4处于第三位,faster_rcnn模型的检测精度最低。四种环境下各个模型的map值同表2~5。
[0031]
d.云边端架构下的检测速度在云边端架构中,本实验把深度学习网络的推理过程放在边缘控制器进行。实验中,由行驶车辆的摄像头实时采集画面,分辨率为640
×
480,由socket通信方式上传实时画面到边缘控制器,边缘控制器完成推理后通过socket通信方式将输出的结果返回给终端。表7为云边端架构下各个模型的检测速度,此推理速度忽略了socket通信中由终端到边缘控制器的网络传输的速度,而是从上传至边缘控制器开始,到处理完一帧数据结束,计算出处理每帧图像所需的时间,即可得出最终的帧率。如表7所示,给出了云边端架构下各个模型的检测速度,由数据可以看出,在云边端架构中,各个模型的推理速度有了显著的提升,其中,mobilenetv3_yolov4的推理速度最高,达到10~15fps,满足行驶车辆的实时性要求。
[0032]
表7
将mish、prelu、swish三种主流的激活函数依次代替mobilenetv3_yolov4中原有的hard_swish激活函数。分别对比四种激活函数在不同环境下的map值。云边端架构与非云端架构下的检测精度一致,故替换激活函数后的精度检测过程都放在边缘控制器完成即可。
[0033]
可见,本发明自建复杂环境锥桶数据集,分析了几种常见目标检测算法在不同环境下的检测性能,在原有mobilenetv3_yolov4模型的基础上,替换不同激活函数做测试,并将神经网络算法合理分布到云边端架构,结果表明,替换为swish激活函数后检测精度提升最大,且响应速度没有明显变化。结合云边端架构后,锥桶的检测速度有了明显的提升,可以满足高速公路预警跟随车系统对锥桶检测准确性、实时性的要求。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献