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

一种融合MSRCP预处理算法与改进YOLOv5的雾天船舶检测方法

2022-12-13 23:26:22 来源:中国专利 TAG:

一种融合msrcp预处理算法与改进yolov5的雾天船舶检测方法
技术领域
1.本发明涉及深度学习技术领域,具体而言,尤其涉及一种融合msrcp预处理算法与改进yolov5的雾天船舶检测方法。


背景技术:

2.港口中时常发生的海雾对船的航行安全造成极大的威胁。由于受到海上云雾环绕使能见度降低,驾驶员和引航员的瞭望范围受到限制,海上交通的安全性受到了极大的威胁,发生海上事故的概率大大增加。同时,由于海雾的存在改变了空气中的压力、湿度等参数,船用雷达的探测性能也会大幅度降低。在这种情况下,船舶识别系统对可见光图像的自动检测和辨识能力也会降低,漏检率和误检率会随着环境的恶劣程度变高。
3.深度学习中的图像检测技术能够有效地学习并提取图像的关键信息,达到能够快速检测出图像种类的目的。目标检测技术被广泛应用到海上溢油、船舶运动、目标侦查等方面。基于深度学习的目标算法有两种:一种是双阶段回归算法,通过卷积神经网络生成一系列可能存在潜在目标的候选区域,然后根据候选区域的特征对每一个区域进行分类和边界回归。双阶段以faster-rcnn为代表;另一类是单阶段算法,使用单个卷积神经网络直接完成输入图像上所有目标的定位与分类,典型的算法有yolo网络。基于候选区域的双阶段的目标检测算法虽然精度很高,但是检测速度不高。而单阶段目标检测方法如2020年提出的yolov5,虽然在检测精度上稍有逊色,但是检测速度很快,可以满足实时性要求。
4.由于雾天海上环境的复杂性,雾天拍摄的可见光图像具有清晰度不高、云雾干扰较强、对比度低、色彩失真强的特点,这将导致目标检测时容易出现漏检率高的情况,尤其是对于海上远处的小目标船舶。因此,在保证实时性的要求下,降低漏检率,是目前需解决的首要技术问题。


技术实现要素:

5.根据上述提出现有雾天海上可见光图像的船舶实时检测所存在的技术问题,本发明提供了一种基于融合msrcp预处理算法与改进yolov5的雾天船舶检测方法,本发明采用msrcp算法对图像进行预处理,用k-means聚类算法和遗传变异算法选定锚框,使用softpool对特征图进行池化操作,有效解决了因为雾天图像特征不清晰而导致的远处小目标船检测漏检率高的问题。
6.本发明采用的技术手段如下:
7.一种msrcp预处理算法与改进yolov5的雾天船舶检测方法,包括如下步骤:
8.s1、采集海上雾天船舶图像数据,并对图像进行msrcp预处理,得到图片数据集;
9.s2、对得到的数据集进行标注,建立专有数据集;
10.s3、对网络进行改进,采用改进k-means聚类方法设计先验框,再使用遗传变异算法对获得的先验框进行遗传变异;
11.s4、构建改进yolov5网络模型,在网络主体部分采用了softpool池化替换原来的maxpool池化;
12.s5、利用数据集对改进的yolov5网络进行训练,获取基于改进yolov5网络的检测模型以及权重文件;
13.s6、利用训练好的网络模型对获取到的图像进行检测,得到预测结果。
14.进一步地,所述步骤s1中采集海上雾天船舶图像数据,并对图像进行msrcp预处理,得到图片数据集的具体实现过程如下:
15.s11、准备图片,图像数据集包括但不限于新加坡海事数据集;
16.s12、将带雾图像输入到msrcp算法当中,得到经过处理的图像。
17.进一步地,所述步骤s2中对得到的数据集进行标注的具体实现过程如下:
18.对每个船的种类进行区分并用标注框进行打标,得到包含不同种类目标框的图片数据集。
19.进一步地,所述步骤s3中的对网络进行改进,采用k-means聚类方法设计先验框,再使用遗传变异算法对获得的先验框进行遗传变异的具体实现过程如下:
20.s31、将标注好的目标边框长宽输入到聚类算法当中;
21.s32、算法随机选择九个样本作为簇的中心;
22.s33、计算每个样本离每个簇的距离1-iou;
23.s34、计算每个样本距离最近的簇中心,并分配到离它最近的簇中;
24.s35、根据每个簇中的样本重新计算簇中心,这里使用的是计算中值;
25.s36、重复执行步骤s34到步骤s35,直到每个簇中元素不再发生变化;
26.s37、使用遗传算法随机对锚框的宽高进行变异,使用适应度函数对锚框进行适应度的计算并进行评估,如果变异后效果变得更好,就将变异后的结果赋值给锚框,如果变异后效果变差就跳过,默认变异1000次;
27.s38、将最终变异得到的锚框按照面积进行排序并返回。
28.进一步地,所述步骤s4中,构建改进yolov5网络模型,在网络主体部分采用softpool池化替换原来的maxpool池化的具体实现过程如下:
29.将spp结构块中的maxpool池化替换为softpool池化,softpool池化的定义如下:
[0030][0031]
其中,wi表示该激活的自然指数与邻域r内所有激活的自然指数之和的比值。
[0032]
进一步地,所述步骤s5中,利用数据集对改进的yolov5网络进行训练,获取基于改进yolov5网络的检测模型以及权重文件的具体实现过程如下:
[0033]
s51、设置合适的实验参数训练网络;
[0034]
s52、将数据集中的图像输入到输入端,输入端对图像进行mosaic数据增强和图片归一化处理,将训练的图片归一化为640*640大小;
[0035]
s53、经过backbone部分,focus结构对输入目标的维度进行切片操作,csp结构对图片进行卷积操作,获得特征图;
[0036]
s54、经过neck部分对特征图进行特征信息提取,在neck部分中图片先进行上采样
来提取图像特征,再进行下采样融合不同尺度的特征信息;
[0037]
s55、预测端对融合特征图的每个网格输出置信度和位置信息,最后通过非极大抑制nms筛选出最终的预测框。
[0038]
进一步地,所述步骤s6中,利用训练好的网络模型对获取到的图像进行识别,得到预测结果的具体实现过程如下:
[0039]
s61、得到训练好的权值文件,将测试集图像输入网络中进行检测;
[0040]
s62、得到检测目标的位置和类别。
[0041]
较现有技术相比,本发明具有以下优点:
[0042]
1、本发明提供的融合msrcp预处理算法与改进yolov5的雾天船舶检测方法,针对雾天海上环境下获取的图像特征不清晰,采用了融合msrcp预处理步骤的yolov5网络,在输入模型之前先对图像进行预处理,改善了因为云雾遮挡而导致的图像信息不明显的问题。
[0043]
2、本发明提供的融合msrcp预处理算法与改进yolov5的雾天船舶检测方法,采用k-means算法和遗传变异算法对锚框进行聚类,使获得的锚框更贴近样本,加快锚框收敛速度。
[0044]
3、本发明提供的融合msrcp预处理算法与改进yolov5的雾天船舶检测方法,采用softpool池化替换原来的maxpool池化,改善了下采样操作中,因为池化操作丢失重要信息的风险,能够较好地保留小目标船只的信息。
[0045]
基于上述理由本发明可在船舶检测等领域广泛推广。
附图说明
[0046]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0047]
图1为本发明方法流程图。
[0048]
图2为本发明实施例提供的数据集中正常天气图片。
[0049]
图3为本发明实施例提供的数据集中雾天天气图片。
[0050]
图4本发明实施例提供的经过msrcp算法与原始雾天图像对比图。
[0051]
图5为发明实施例提供的原始yolov5结构框图。
[0052]
图6为本发明实施例提供的spp模块替换softpool前后对比图。
[0053]
图7为本发明实施例提供的经过softpool池化和最大池化的效果对比图。
[0054]
图8为本发明实施例提供的原始图像检测和融合msrcp算法和改进yolov5模型检测效果对比图。
具体实施方式
[0055]
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0056]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅
仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0057]
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0058]
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。同时,应当清楚,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员己知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任向具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0059]
在本发明的描述中,需要理解的是,方位词如“前、后、上、下、左、右”、“横向、竖向、垂直、水平”和“顶、底”等所指示的方位或位置关系通常是基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,在未作相反说明的情况下,这些方位词并不指示和暗示所指的装置或元件必须具有特定的方位或者以特定的方位构造和操作,因此不能理解为对本发明保护范围的限制:方位词“内、外”是指相对于各部件本身的轮廓的内外。
[0060]
为了便于描述,在这里可以使用空间相对术语,如“在
……
之上”、“在
……
上方”、“在
……
上表面”、“上面的”等,用来描述如在图中所示的一个器件或特征与其他器件或特征的空间位置关系。应当理解的是,空间相对术语旨在包含除了器件在图中所描述的方位之外的在使用或操作中的不同方位。例如,如果附图中的器件被倒置,则描述为“在其他器件或构造上方”或“在其他器件或构造之上”的器件之后将被定位为“在其他器件或构造下方”或“在其位器件或构造之下”。因而,示例性术语“在
……
上方”可以包括“在
……
上方”和“在
……
下方”两种方位。该器件也可以其他不同方式定位(旋转90度或处于其他方位),并且对这里所使用的空间相对描述作出相应解释。
[0061]
此外,需要说明的是,使用“第一”、“第二”等词语来限定零部件,仅仅是为了便于对相应零部件进行区别,如没有另行声明,上述词语并没有特殊含义,因此不能理解为对本发明保护范围的限制。
[0062]
如图1所示,本发明提供了一种msrcp预处理算法与改进yolov5的雾天船舶检测方法,包括如下步骤:
[0063]
s1、采集海上雾天船舶图像数据,并对图像进行msrcp预处理,得到图片数据集;
[0064]
s2、对得到的数据集进行标注,建立专有数据集;
[0065]
s3、对网络进行改进,采用改进k-means聚类方法设计先验框,再使用遗传变异算法对获得的先验框进行遗传变异;
[0066]
s4、构建改进yolov5网络模型,在网络主体部分采用了softpool池化替换原来的
maxpool池化;
[0067]
s5、利用数据集对改进的yolov5网络进行训练,获取基于改进yolov5网络的检测模型以及权重文件;
[0068]
s6、利用训练好的网络模型对获取到的图像进行检测,得到预测结果。
[0069]
具体实施时,作为本发明优选的实施方式,所述步骤s1中采集海上雾天船舶图像数据,并对图像进行msrcp预处理,得到图片数据集的具体实现过程如下:
[0070]
s11、准备图片,图像数据集包括但不限于新加坡海事数据集,具体为:
[0071]
s111、将新加坡海事数据集中的视频,正常天气下的视频每隔五帧截一下。正常天气下的图像如图2所示。
[0072]
s112、选其中带有雾的视频,每帧保存一下。雾天天气下的图像如图3所示。
[0073]
s12、将带雾图像输入到msrcp算法当中,得到经过处理的图像。具体为:
[0074]
s121、设置参数sigma_list=[15,80,150],g=5.0,b=25.0,alpha=150.0,beta=46.0,low_clip=0.01,high_clip=0.99;
[0075]
s122、获取图像的msr效果图;
[0076][0077]
式中,n代表尺度;ωn为每个尺度所对应的权重。
[0078]
s123、将msr乘上色彩恢复函数,得到msrcr的效果图;
[0079][0080]
式中,g和b为经验参数。
[0081]
s124、将经过msrcr算法增强后的强度图像进行处理,再将数据根据原始的rgb的比例映射到每个通道,即可得到基于msrcp增强算法的图像。强度图像的获取公式为:
[0082][0083]
式中,i
nt
代表强度图像,ir代表原始图像的r通道值,ig代表原始图像的g通道值,ib原始图像的b通道值。
[0084]
s125、将获得的图像进行色彩恢复。
[0085][0086][0087]
代表单通道强度图像,i代表像素索引序号。分别对r、g、b 3个通道利用放大因子a进行色彩调整,从而得到增强后的图像。计算公式为
[0088]
r(x,y)=ai
(r,g,b)
(x,y)
[0089]
式中,b代表色度,i
(r,g,b)
(x,y)图像代表在坐标(x,y)处的rgb特征图,r(x,y)代表增强后图像。
[0090]
s126、再对获得的图像进行手动色彩增强。增强参数为:明度=1.25,对比度=1,
锐度=3,得到效果图如图4所示。
[0091]
具体实施时,作为本发明优选的实施方式,所述步骤s2中对得到的数据集进行标注,具体为对每个船的种类进行区分并用标注框进行打标,得到包含不同种类目标框的图片数据集。其具体实现过程如下:
[0092]
s21、用新加坡海事数据集中的load_mat_into_csv_xml文件生成数据集中的xml文件。
[0093]
s22、创建名为annotations的文件夹,将生成的xml文件摆放到annotations文件夹中。
[0094]
s23、将获得的图像按照pascal voc数据集的格式将图片命名,创建名为jpeg images的文件夹,将整个数据集中的图像放在jpeg images文件夹中;
[0095]
s24、将图像分成训练集、验证集和测试集。
[0096]
s25、创建名为image sets的文件夹,在image sets文件夹下创建名为train、val、test三个.txt文件,将图像中训练集、验证集、测试集的编号分别写入train、val、test文件中。
[0097]
具体实施时,作为本发明优选的实施方式,所述步骤s3中的对网络进行改进,采用k-means聚类方法设计先验框,再使用遗传变异算法对获得的先验框进行遗传变异的具体实现过程如下:
[0098]
s31、将标注好的目标边框长宽输入到聚类算法当中;
[0099]
s32、算法随机选择九个样本作为簇的中心;
[0100]
s33、计算每个样本离每个簇的距离1-iou;
[0101]
s34、计算每个样本距离最近的簇中心,并分配到离它最近的簇中;
[0102]
s35、根据每个簇中的样本重新计算簇中心,这里使用的是计算中值;
[0103]
s36、重复执行步骤s34到步骤s35,直到每个簇中元素不再发生变化;
[0104]
s37、使用遗传算法随机对锚框的宽高进行变异,使用适应度函数对锚框进行适应度的计算并进行评估,如果变异后效果变得更好,就将变异后的结果赋值给锚框,如果变异后效果变差就跳过,默认变异1000次。
[0105]
s38、将最终变异得到的锚框按照面积进行排序并返回。所述步骤s38中的将最终变异得到的锚框按照面积进行排序并返回的具体实现过程如下:
[0106]
s381、最终得到的框为(10,14),(20,11),(16,23),(31,33),(60,26),(32,54),(87,36),(49,91),(165,97)
[0107]
s382、计算适应度,此时达到的适应度为82.63%。
[0108]
具体实施时,作为本发明优选的实施方式,所述步骤s4中,构建改进yolov5网络模型,原始yolov5模型如图5所示。在网络主体部分采用softpool池化替换原来的maxpool池化的具体实现过程如下:
[0109]
替换前后的spp模块如图6所示,将spp结构块中的maxpool池化替换为softpool池化,softpool池化的定义如下:
[0110]
[0111]
其中,wi表示该激活的自然指数与邻域r内所有激活的自然指数之和的比值。softpool池化效果对比如图7所示。
[0112]
具体实施时,作为本发明优选的实施方式,所述步骤s5中,利用数据集对改进的yolov5网络进行训练,获取基于改进yolov5网络的检测模型以及权重文件的具体实现过程如下:
[0113]
s51、设置合适的实验参数训练网络;具体实现过程如下:
[0114]
s511、骨干网络选择cspdarknet。实验学习率采用warmup学习策略训练预热,提高训练稳定性的同时可以缓解模型过拟合。warmup阶段之后,采用余弦退火算法对学习率进行下降,训练时的优化器optimizer采用随机下降梯度法sgd。
[0115]
s512、训练分为两个阶段,分别是冻结阶段和解冻阶段。在冻结阶段,模型的主干被冻结了,特征提取网络不会发生改变,占用较小的显存,仅对网络进行微调;解冻阶段训练,模型的主干不被冻结,特征提取网络会发生改变,占用的显存较大,网络的所有参数都会发生改变。
[0116]
s513、其他参数选择如下:
[0117][0118]
s52、将数据集中的图像输入到输入端,输入端对图像进行mosaic数据增强和图片归一化处理,将训练的图片归一化为640*640大小;
[0119]
s53、经过backbone部分,focus结构对输入目标的维度进行切片操作,csp结构对图片进行卷积操作,获得特征图;
[0120]
s54、经过neck部分对特征图进行特征信息提取,在neck部分中图片先进行上采样来提取图像特征,再进行下采样融合不同尺度的特征信息;
[0121]
s55、预测端对融合特征图的每个网格输出置信度和位置信息,最后通过非极大抑制nms筛选出最终的预测框。
[0122]
s56、将训练所得的权值文件都保存到logs文件夹中。
[0123]
具体实施时,作为本发明优选的实施方式,所述步骤s6中,利用训练好的网络模型对获取到的图像进行识别,得到预测结果的具体实现过程如下:
[0124]
s61、得到训练好的权值文件,将测试集图像输入网络中进行检测;具体为:
[0125]
s611、选取train loss最低的权值文件作为改进yolov5网络的检测权值文件。
[0126]
s612、运行predict.py文件,将模式参数调至predict。
[0127]
s613、输入检测图像的路径,获得检测结果。部分检测结果和原始yolov5结果对比图如图8所示。
[0128]
s62、得到检测目标的位置和类别。
[0129]
实施例
[0130]
为了验证本发明方案的有效性,本实施例利用pytorch进行计算机仿真研究,参数设置参见步骤s5。
[0131]
采用融合了msrcp算法的改进yolov5模型与原始yolov5模型,模拟船舶在雾天环境,能见度不良的情况下进行目标检测,并进行对比分析。
[0132]
实验结果如图8所示,从图8可以看出,经过改进后的模型不仅识别出了更多船只,置信度也有明显提升。因为有大量雾的遮挡,原始yolov5算法出现了漏检的情况,图中右侧的船只没有被识别。表明yolov5算法在特征信息不明显时进行检测存在困难,而预处理步骤可以展现更多信息,softpool池化操作可以在下采样时保留更多的特征信息。经过改善后,模型有效减少漏检情况的同时,置信度也有提升。
[0133]
仿真结果表明,采用融合msrcp算法的改进yolov5模型对海上雾天图像进行目标检测,针对雾天海上环境下获取的图像特征不清晰,采用了融合msrcp预处理步骤的yolov5网络,在输入模型之前先对图像进行预处理,改善了因为云雾遮挡而导致的图像信息不明显的问题。采用了k-means算法和遗传变异算法对锚框进行聚类,使获得的锚框更贴近样本,加快锚框收敛速度。采用了softpool池化替换原来的maxpool池化,改善了下采样操作中,因为池化操作丢失重要信息的风险,能够较好地保留小目标船只的信息,进而提高了模型的检测精度,降低了模型的漏检率。
[0134]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献