System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于智能船舶,具体涉及一种基于改进yolov3的水面障碍物检测方法。
技术介绍
1、目前在船舶
,智能无人艇的发展最为突出,智能无人艇得到快速发展的前提是对附近水面障碍物进行有效的感知。但是传统的障碍物检测成本大、效率低下且精度不够,而基于深度学习的目标检测拥有精度高、速度快的优势,能够解决智能无人艇自主航行过程中对水面常见障碍物检测的问题。
2、在计算机视觉领域基于深度学习的目标检测算法,主要分为one-stage和two-stage两大类。其中two-stage是以ssp-net、fast r-cnn以及r-fcn为代表,主要通过生成区域候选框进行目标分类的方法,其检测效果好,但是速度比较慢;而one-stage是一种端到端对整张图片进行检测的方法,单次检测就能获得最终的检测结果,但是精度效果较差,如yolo、ssd等。一般情况下,要求既要满足准确性和高效性,又要能够在复杂的环境下拥有较好的检测结果,为满足以上需求,科研工作人员已经做大量研究工作,比如taoliu等人提出了一种基于yolov4的反向深度可分离卷积的海面目标检测方法,虽然参数量有所减少,但是在复杂天气状况下的检测效果并不理想。另外,姚婷婷等人提出一种特征增强全卷积网络下的船舶检测方法,虽提高了精度,但是参数量较大,难以应用到实际中。
技术实现思路
1、本专利技术的目的在于克服现有技术的缺陷,提供一种基于改进yolov3的水面障碍物检测方法,可有效解决智能无人艇在自主航行过程中对水面常见
2、为解决上述技术问题,本专利技术采用以下技术方案。
3、一种基于改进yolov3的水面障碍物检测方法,包括以下步骤:
4、步骤1.采集常见水面障碍物图像,获取由船舶、礁石、浮标组成的水面障碍物数据集;
5、步骤2.对水面障碍物数据集进行加雾加雨数据增强处理;
6、步骤3.对水面障碍物数据集使用k-means++聚类算法进行优化锚框,获得新的锚框;
7、步骤4.针对水面障碍物的检测任务对原yolov3模型进行特征提取网络结构的改进,获得轻量化的检测模型:对主干网络中的残差结构进行优化,将其中的普通卷积层替换成深度可分离卷积,在保证不同通道之间的信息融合的同时,减少特征提取网络的参数量与计算量;为了弥补深度可分离卷积替换普通卷积带来的部分精度损失,以提高网络专注度,在残差结构中引入simam注意力模块,从而轻量化yolov3目标检测模型,提升检测精度与训练速度;
8、步骤5.引入siou预测框损失函数,重新定义惩罚比;
9、步骤6.经过步骤4和5得到改进的yolov3模型,利用水面障碍物数据集对改进的yolov3模型进行训练,得到最好的权重文件best.pt,并对测试集中的图像进行分类和定位;
10、所述步骤1包括:
11、1.1通过相机采集和网络收集水面障碍物数据集,所收集的数据集图像均来自现实中的场景;
12、1.2对水面障碍物数据集进行手动清洗、删除重复、模糊、格式错误的数据集图像,最终得到包含船舶、礁石、浮标的水面障碍物数据集。
13、具体地,在步骤2中所述的对水面障碍物数据集进行加雾加雨数据增强处理,包括:
14、2.1使用opencv对数据集图像进行像素级别的雨雾噪声融合处理,模拟出复杂天气情况下水面障碍物的天气背景,扩充水面障碍物数据集;
15、2.2使用labelimg图像标注工具按照pascal voc格式对水面障碍物数据集中的船舶、礁石、浮标障碍物进行标注,通过脚本转换成yolo格式的txt文本标签;
16、2.3将增强后的水面障碍物数据集按照7:1:2的比例划分为训练集、验证集和测试集;
17、2.4分别使用mixup、mosaic、cutmix数据增强方法对水面障碍物数据集进行处理,再各自利用yolov3模型进行训练。
18、具体地,在步骤3中所述的对水面障碍物数据集使用k-means++聚类算法进行锚框优化,获得新的锚框,包括:
19、3.1从水面障碍物数据集随机选定一个聚类中心作为初始中心点,记为k1;
20、3.2计算出每一个点ai与其聚类中心的距离记为di,所述的距离di计算公式如下:
21、di=1-iou
22、其中,iou为锚框与标注框的交并比;
23、3.3步骤3.2中di较大的点被选作为下一个聚类中心概率更大,依据此原理选定第二个新的聚类中心k2;
24、3.4不断重复步骤3.2和3.3直到最后选出个聚类中心k,k值取9;使用k-means++聚类算法得到9个锚框参数:[(13,11),(26,19),(46,30),(99,36),(74,72),(166,67),(109,150),(277,134),(183,263)];
25、3.5引入yolov5算法中的anchor fitness函数,计算不同聚类方法得到的锚框参数的适应度。
26、具体地,在步骤4中所述的对yolov3的网络结构进行改进,包括:
27、4.1对主干网络中的残差结构进行优化,将其中的普通卷积层替换成深度可分离卷积;其中深度卷积是对特征图进行分组卷积,使用不同的卷积对组内的特征图编码;
28、4.2将深度可分离卷积计算成本和传统卷积的计算成本的计算量相比较,得到深度可分离卷积的计算量与普通卷积计算量之比为:
29、
30、从上式可得,深度可分离卷积与传统卷积计算量的比值为在相同维度的输入时,深度可分离卷积比普通卷积具有更少的计算量,在保证不同信息融合的同时,减少了特征提取网络的参数量与计算量;
31、4.3在残差结构中引入simam注意力机制,simam注意力机制是一种无参数注意力模块,使得每个神经元被分配一个唯一的权重并对此推导出解析解以加速计算,具体定义如下:
32、
33、其中,m表示当前通道的神经元个数,i为不同空间维度上的索引,t、xi分别为输入特征为x∈rc×h×w时在同通道中的目标神经元和其他神经元,wt、bt分别表示xi、t权重和偏置,理论上,每个通道均有m个能量函数,对于上述公式有如下解释:
34、
35、
36、
37、
38、其中,μt和为当前通道中除目标神经元之外的其他神经元的均值和方差;结合以上公式得到最小能量计算式:
39、
40、从该式中可以看出,能量越低,目标神经元与其他神经元差异越大,也就表示其更需要受关注,每个神经元的重要性都可以通过来得到,整个模块细化过程可以表示为:
41、
42、式中,e表示对所有在通道和空间维度的进行分组,sig本文档来自技高网...
【技术保护点】
1.一种基于改进YOLOv3的水面障碍物检测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于改进YOLOv3的水面障碍物检测方法,其特征在于,在步骤2中所述的对水面障碍物数据集进行加雾加雨数据增强处理,包括:
3.根据权利要求1所述的一种基于改进YOLOv3的水面障碍物检测方法,其特征在于,在步骤3中所述的对水面障碍物数据集使用K-means++聚类算法进行锚框优化,获得新的锚框,包括:
4.根据权利要求1所述的一种基于改进YOLOv3的水面障碍物检测方法,其特征在于,在步骤4中所述的对YOLOv3的网络结构进行改进,包括:
5.根据权利要求1所述的一种基于改进YOLOv3的水面障碍物检测方法,其特征在于,在步骤5中所述的引入SIoU预测框损失函数,包括:
6.根据权利要求1所述的一种基于改进YOLOv3的水面障碍物检测方法,其特征在于,在步骤6中,所述的利用水面障碍物数据集对改进的YOLOv3模型进行训练,得到最好的权重文件best.pt,并对测试集中的图像进行分类和定位,包括:
【技术特征摘要】
1.一种基于改进yolov3的水面障碍物检测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于改进yolov3的水面障碍物检测方法,其特征在于,在步骤2中所述的对水面障碍物数据集进行加雾加雨数据增强处理,包括:
3.根据权利要求1所述的一种基于改进yolov3的水面障碍物检测方法,其特征在于,在步骤3中所述的对水面障碍物数据集使用k-means++聚类算法进行锚框优化,获得新的锚框,包括:
4.根据权利要求1所述的一种基于改进yo...
【专利技术属性】
技术研发人员:管延敏,闫帅帅,王添羽,韦龙,虞嘉晨,
申请(专利权)人:江苏科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。