一种轻量化的无人艇目标检测方法

文档序号:33086234发布日期:2023-01-31 22:04阅读:139来源:国知局
一种轻量化的无人艇目标检测方法

1.本发明属于无人智慧船舶领域,具体涉及一种轻量化的无人艇目标检测方法。


背景技术:

2.随着人类海上活动的增加,无人艇被广泛用来执行各种任务。无人艇是一种智能船,具有体积小、速度快和无人操作等优点。因为无人艇可以代替传统的依靠人工操作的船舶在复杂甚至危险的水域执行特定的任务,因此对于无人艇的研究具有很高的工程价值。对于无人艇的环境感知系统,视觉感知系统是非常重要的一部分,可以为无人艇的智能驾驶提供非常重要的环境信息。对海面目标精准的识别与定位是实现无人艇的自动避障和自主导航的前提。
3.近年来,随着深度学习理论及算法发展,目标检测算法在精度和速度方面都有所提升。一些基于深度学习的目标检测算法也被应用于无人艇的环境感知系统中,但是目前大部分的无人艇目标检测算法倾向于增加模型参数或者增加额外的网络组件来提升目标检测的精度。但是无人艇所搭载的嵌入式设备算力有限,对于计算复杂、参数量大的网络在嵌入式设备上执行目标检测任务实时性较差。因此对目标检测模型进行轻量化处理,使其能够满足水面无人艇实时检测要求,对于提升无人艇的智能化程度十分重要。


技术实现要素:

4.本发明的目的在于解决现有的目标检测算法无法在算力有限的嵌入式设备上完成实时目标检测的问题。设计了一种轻量化的无人艇目标检测方法,用于在无人艇所搭载的嵌入式平台上完成实时目标检测。
5.本发明的目的通过如下技术方案来实现:
6.一种轻量化的无人艇目标检测方法,具体步骤如下:
7.步骤一:在海面拍摄目标图像制作数据集;通过水面无人艇拍摄真实海洋环境下海面目标图像,并对海面目标进行类别和位置信息的标签标注,构建海面目标检测数据集;
8.步骤二:对海面图像数据进行数据扩增预处理扩增海面目标检测数据集;数据扩增预处理包括随机裁切、左右翻转、上下翻转、对比度变换、色调变换、饱和度变换和mosaic图像增强;
9.步骤三:构建轻量化海面目标检测网络模型的主干网络结构;采用yolo v5网络作为基础网络,并将yolo v5网络结构中的特征提取网络替换为轻量化的网络shufflenet v2;使用深度可以分离卷积对颈部网络结构进行重构,代替yolo v5颈部网络中的bottleneck模块;
10.步骤四:轻量化网络模型的训练;读取海面目标检测数据集,对步骤二中的模型进行训练和测试,当损失值收敛后,对模型进行测试,当损失值未收敛时调整模型超参数,直至模型收敛;
11.步骤五:轻量化海面目标检测网络的嵌入式设备部署;将轻量化网络模型部署到
水面无人艇的xavier嵌入式设备上,在xavier上根据需求配置好深度学习环境,将上位机训练好的权重参数移植到xavier上进行调试,对海面目标的实时检测。
12.进一步地,所述步骤二中mosaic图像增强是指每次读取4张图片,进行翻转、缩放以及色域变化处理,并且按照上下左右的位置摆放好,然后将这4张图片拼在一起。
13.进一步地,所述步骤三中shufflenet v2网络的结构包括依次连接的stage1-stage4阶段,所述stage1阶段包括依次连接的3
×
3卷积层和最大池化层;所述stage2阶段包括依次连接的一层shufflenet unit1和三层shufflenet unit2;所述stage3阶段包括依次连接的一层shufflenet unit1和七层shufflenet unit2;所述stage4阶段包括依次连接的一层shufflenet unit1和一层shufflenet unit2。
14.进一步地,所述shufflenet unit1具体是指上一层的输入经由通道分离后,一半的特征通道经由1
×
1卷积层、步长为1的深度可分离卷积层、1
×
1卷积层处理的输出,与另一半进行concat后经过通道分离操作完成的;shufflenet unit2具体是指上一层的输入经由1
×
1卷积层、步长为2的深度可分离卷积层、1
×
1卷积层处理的输出,与上一层的输入经由一层步长为2的深度可分离卷积、1
×
1卷积层的输出进行concat后经过通道随机混合完成操作完成的。
15.进一步地,所述步骤三中深度可分离卷积具体可分为两个过程,分别为逐通道卷积和逐点卷积;逐通道卷积的一个卷积核负责一个通道,一个通道只被一个卷积核卷积;逐点卷积的卷积核尺寸1
×1×
m,m为上一层的通道数。
16.进一步地,所述通道随机混合操作具体是指把通道数分成n组,将将分完组的通道数按组变换维度,进行转置之后分成n组然后将其拼接起来组成最终的新特征图。
17.进一步地,所述步骤四中的轻量化网络模型的训练,每次输入一张图片进行计算,将其预测值与真实边界框一次送入损失函数计算分类、置信度损失和回归损失,由损失进行反向传播,更新网络权重;不断迭代计算,每训练p次计算一次损失并输出,完成一轮训练后保存相应权重文件,当损失收敛不再下降,得到最终模型。
18.本发明的有益效果在于:
19.本发明通过使用mosaic图像扩增,丰富了图像的背景信息并增加了小尺度目标的数量,提高了海面小目标的检测精度。通过使用轻量化的网络shufflenet v2作为yolo v5网络结构中的特征提取网络,使用深度可分离卷积代替yolo v5中的bottleneck模块,显著降低了模型的参数量,大幅度提高了在嵌入式设备上的检测速度。相对于原本的yolo v5网络,具有更快的处理速度,充分满足无人艇在检测海面目标时对于实时性的要求。
附图说明
20.图1为本发明的一种轻量化的无人艇目标检测方法的流程图;
21.图2为本发明轻量化目标检测网络结构示意图;
22.图3为本发明的shufflenetv2网络中shufflenet unit模块的结构示意图(图中左半部分为shufflenet unit1单元的结构示意图,图中左半部分为shufflenet unit2单元的结构示意图);
23.图4为本发明在无人艇上实时检测的流程图。
具体实施方式
24.下面结合附图对本发明做进一步描述。
25.如图附图1所示:为轻量化的无人艇目标检测方法的流程图,包括如下步骤:
26.(1)在海面拍摄目标图像,制作数据集:通过水面无人艇拍摄真实海洋环境下海面目标图像,并对海面目标进行类别和位置信息的标签标注,构建海面目标检测数据集。
27.(2)对海面图像数据进行数据扩增预处理扩增海面目标检测数据集:数据扩增预处理包括随机裁切、左右翻转、上下翻转、对比度变换、色调变换、饱和度变换和mosaic图像增强。
28.(3)构建轻量化海面目标检测网络模型的主干网络结构:采用yolo v5网络作为基础网络,并将yolo v5网络结构中的特征提取网络替换为轻量化的网络shufflenet v2。采用深度可以分离卷积对颈部网络结构进行重构,代替yolo v5颈部网络中的bottleneck模块。
29.(4)轻量化网络模型的训练:读取海面目标检测数据集,对步骤二中的模型进行训练和测试,当损失值收敛后,对模型进行测试,当损失值未收敛时调整模型超参数,直至模型收敛。
30.(5)轻量化海面目标检测网络的嵌入式设备部署:将设计好的整体网络模型部署到水面无人艇的嵌入式设备上,在嵌入式设备上根据需求配置好深度学习环境,将上位机训练好的权重参数移植到嵌入式设备上进行调试,实现对海面目标的实时检测。
31.本发明提供的一种轻量化的无人艇目标检测方法,针对水面真实海洋环境中采集的数据中小尺度目标较多的问题,采用mosaic进行数据扩增。针对主流的目标检测算法检测在算力有限的嵌入式平台上对海面目标进行检测时实时性较差的问题,基于yolo v5算法设计了一种轻量化的网络模型,重构了网络模型结构,大幅度减少了模型参数量,并提高了推理速度。最后在嵌入式平台上进行海面目标的实时检测,在保持较高检测速度的同时能够维持一定的检测精度,满足无人艇的应用要求。具体实施方式如下:
32.(1)在海面拍摄目标图像,制作数据集。
33.本发明通过在水面无人艇的顶部搭载前视摄像头,在真实海域中拍摄海面目标图像构建海面目标检测数据集。主要用来对目标检测网络模型进行训练。使用labelimg标注工具对图像进行标注,标注出图像中目标的类别和位置信息,并保存为coco数据集格式。之后将其按8:2的比例随机划分为训练集和验证集。
34.(2)对海面图像数据进行数据扩增预处理扩增海面目标检测数据集。
35.数据扩增预处理包括随机裁切、左右翻转、上下翻转、对比度变换、色调变换、饱和度变换和mosaic图像增强。其中,mosaic图像增强是指每次读取4张图片,进行翻转、缩放以及色域变化处理,并且按照上下左右的位置摆放好,然后将这4张图片拼在一起。在丰富图像背景信息的同时也增加了小尺度目标的数量。
36.(3)构建轻量化海面目标检测网络模型的主干网络结构
37.本发明轻量化的无人艇目标检测网络结构图如图2所示。无人艇的目标检测算法不仅需要在各种海洋环境下准确识别海面目标,也需要尽可能地减少模型尺寸以便于在无人艇所搭载的嵌入式平台上完成实时目标检测。本发明基于yolo v5算法检测原理,使用shufflenet v2和深度可分离卷积,重新设计了网络模型,大幅度减少了模型的参数量。
38.所述的轻量化的无人艇目标检测网络主要由三部分组成:一是主干网络:二是颈部网络:三是检测网络。其中,主干网络是一个卷积神经网络用来提取图像的特征。颈部网络是一系列的特征融合层,主要用来将不同尺度的特征图融合在一起。检测网络是模型的最后一部分,用来对上一层的输出进行分类和回归,输出检测结果。
39.yolo v5的主干特征提取网络包含太多的卷积层。尽管这些卷积层可以更好的从图像中提取特征,但这些卷积层中包含大量的参数,回会导致计算量增大、检测速度减慢。因此,本发明中使用shufflenet v2作为主干特征提取网络。shufflenet v2具有模型尺寸小、推理速度快的优点。shufflenet v2网络的结构包括依次连接的stage1-stage4阶段,所述stage1阶段包括依次连接的3
×
3卷积层和最大池化层;所述stage2阶段包括依次连接的一层shufflenet unit1和三层shufflenet unit2;所述stage3阶段包括依次连接的一层shufflenet unit1和七层shufflenet unit2;所述stage4阶段包括依次连接的一层shufflenet unit1和一层shufflenet unit2。
40.如图3所示,shufflenet unit1是上一层的输入经由通道分离后,一半的特征通道经由1
×
1卷积层、步长为1的深度可分离卷积层、1
×
1卷积层处理的输出,与另一半进行concat后经过通道分离操作完成的;shufflenet unit2是上一层的输入经由1
×
1卷积层、步长为2的深度可分离卷积层、1
×
1卷积层处理的输出,与上一层的输入经由一层步长为2的深度可分离卷积、1
×
1卷积层的输出进行concat后经过通道随机混合完成操作完成的。
41.在yolo v5的颈部网络中的bottleneck模块包含太多的卷积层,为了进一步减少参数量,本发明使用深度可分离卷积代替bottleneck模块。其中,深度可分离卷积可分为两个过程,分别为逐通道卷积和逐点卷积。逐通道卷积的一个卷积核负责一个通道,一个通道只被一个卷积核卷积。逐点卷积的卷积核尺寸1
×1×
m,为上一层的通道数。深度可分离卷积的计算量与常规卷积的计算量比值如下:
[0042][0043]
其中,dk·dk
是卷积核的尺寸,df·df
是特征图的尺寸。m和n分别代表输入通道数和输出通道数。显然,深度可分离卷积的计算量小于常规卷积。
[0044]
(4)轻量化网络模型的训练。
[0045]
本发明在对于轻量化网络模型的训练前引入了自适应锚框。具体的,在训练前,会对数据集中的标注信息进行核查,计算此数据集标注信息对于默认锚框的最佳召回率,当召回率大于或等于0.98时,则不需要更新锚框,否则需要重新计算符合此数据集的锚框。计算此数据集标注框的锚框是通过k-means聚类实现的,在每次训练时自适应计算不同训练集的锚框值。
[0046]
本发明在对于轻量化网络模型的训练中的损失函数由边界框回归损失、分类损失和置信度损失三部分组成。
[0047]
第一部分是边界框回归损失,采用giou来衡量边界框的损失,边界框损失函数l
box
计算公式如下:
[0048]
[0049]
l
box
=1-giou
[0050]
其中a为预测框,b为真实框,c表示包含a与b的最小闭合框。
[0051]
第二部分是分类损失,采用二元交叉熵损失计算,分类损失函数l
cls
计算公式如下:
[0052][0053]
其中,y表示真实类别,表示预测类别
[0054]
第三部分是置信度损失,采用二元交叉熵损失计算,置信度损失函数l
obj
计算公式如下:
[0055][0056]
其中,c表示真实置信度,表示预测置信度
[0057]
进一步的,在训练过程中,通过网络模型计算出的预测值与真实值对比,使用上述损失函数计算其损失值。之后通过梯度反向传播,对模型内的参数进行更新,是训练模型的loss区域最小值。在不断对模型进行更新的过程中,loss逐渐收敛至最小值,此时的模型即为最优的海面目标检测模型。
[0058]
(5)轻量化海面目标检测网络的嵌入式设备部署。
[0059]
在无人艇所搭载的嵌入式设备上部署部署目标检测模型来进行海面目标实时检测,首先需要在嵌入式设备上配置深度学习运行环境,安装cuda、opencv等工具包。之后根据yolo v5算法的要求安装pytorch、torchvision等工具包。将训练好的模型权重文件移植到嵌入式设备上进行调试,实现对海面目标的检测。
[0060]
如图4所示,为本发明方法实时检测的流程,首先对无人艇采集的视频,取出当前待测帧,将待测帧的尺度缩放到640x640像素大小,然后输入到本发明的轻量化无人艇目标检测网络中,最后采用非极大抑制算法对结果进行后处理,得到最总的检测结果。
[0061]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1