CN115984681A - 一种基于YOLOv5的水下目标检测方法 - Google Patents
一种基于YOLOv5的水下目标检测方法 Download PDFInfo
- Publication number
- CN115984681A CN115984681A CN202211606325.5A CN202211606325A CN115984681A CN 115984681 A CN115984681 A CN 115984681A CN 202211606325 A CN202211606325 A CN 202211606325A CN 115984681 A CN115984681 A CN 115984681A
- Authority
- CN
- China
- Prior art keywords
- yolov5
- module
- data set
- detection
- underwater
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A20/00—Water conservation; Efficient water supply; Efficient water use
- Y02A20/152—Water filtration
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种基于YOLOv5的水下目标检测方法,包括如下步骤:获取水下特定目标的初始数据集;对初始数据集进行增强,用以增加初始数据集的数量,得到扩充数据集;利用CA模块对主干网络里的部分C3模块进行改进;将SE注意力模块加入到主干网络的特定位置上;采用基于无锚盒的检测头对输入的图像进行检测;将扩充数据集输入到YOLOv5模型中,进行训练;用训练好的YOLOv5模型对水下图像进行检测。本发明能够保证在不大幅度降低检测速度的前提下,在复杂的水下环境中,提高检测模型对多种特定目标的检测精度。
Description
技术领域
本发明涉及目标检测技术领域,尤其是一种基于YOLOv5的水下目标检测方法。
背景技术
现有的大部分目标检测方法主要应用于陆地上的环境中。由于陆地上的方便性,在陆地上采集到的图片质量和数量都十分理想,使得目标检测模型的训练效果能够达到预期目标。但是与陆地上的环境不同,水下环境往往十分复杂(水质浑浊、光线不均匀、洋流干扰等),存在多种因素影响着水下图片的质量和数量,从而进一步影响水下目标检测的准确性。考虑到水下环境的复杂性,往往需要对常规的检测模型进行适当地修改,使其能够更好地在水下环境中执行各种目标检测任务。
发明内容
本发明需要解决的技术问题是提供一种基于YOLOv5的水下目标检测方法,能够保证在不大幅度降低检测速度的前提下,在复杂的水下环境中,提高YOLOv5模型对多种特定目标的检测精度。
为解决上述技术问题,本发明所采用的技术方案是:一种基于YOLOv5的水下目标检测方法,包括如下步骤:
步骤S1、获取水下特定目标的初始数据集:所述初始数据集是利用标记软件对获取的水下图像进行标记,将图像中的各种目标用特定的方框标记出来;
步骤S2、对初始数据集进行增强,用以增加初始数据集的数量,得到扩充数据集;
步骤S3、YOLOv5模型的主干特征提取网络中C3模块引入CA模块,用以提高YOLOv5模型对水下模糊目标的检测性能,在主干特征提取网络中C3模块的输出端添加SE注意力模块,用以提高YOLOv5模型对图像中模糊物体的检测精度;
步骤S4、将扩充数据集输入到YOLOv5模型主干特征提取网络,获得特征图,SE注意力模块的输出特征图输入到颈部网络中进行特征融合,利用特征金字塔网络和路径聚合网络,对所述特征图通过双向融合将低级的空间特征与高级的语义特征进行融合,将融合后的特征图输入到YOLOv5模型的检测网络中;
步骤S5、YOLOv5模型检测网络中的基于无锚盒的检测框对输入的融合后的特征图进行处理,将检测到的目标的种类、位置和置信度在输入图片中标识出来;
步骤S6、将扩充数据集输入到YOLOv5模型中,设置相应的训练次数,随着训练次数的增加,YOLOv5模型的损失函数曲线逐渐收敛,当损失函数曲线收敛并稳定时,YOLOv5模型训练到最优,并生成相应的权重文件;
步骤S7、将训练好的权重文件下载到YOLOv5模型中对实际的水下图像进行检测,将检测出的种类、位置、置信度等信息在图片中加以标注,并输出相关文件。
本发明技术方案的进一步改进在于:所述步骤S1中采用LabelImg程序对获取的水下图像进行标注,将其格式修改为YOLO格式,应用于YOLOv5模型的训练中。
本发明技术方案的进一步改进在于:所述步骤S2中采用镜像翻转的方式对初始数据集进行增强,具体过程为:分别设置左右上下方向镜像、左右方向镜像、上下方向镜像的处理方式,每设置一次翻转方式,对初始数据集进行一次处理,最终得到扩充数据集,扩充数据集在数量上是初始数据集的3倍。
本发明技术方案的进一步改进在于:所述步骤S3中YOLOv5模型的主干特征提取网络中C3模块引入CA模块的方式为:将一个CA模块加入到C3-True模块的主干分支中的卷积模块和bottleneck模块之间,用以提高模型对浅层特征的提取能力。
本发明技术方案的进一步改进在于:所述步骤S3中YOLOv5模型的主干特征提取网络中C3模块引入CA模块的方式为:利用CA模块代替C3-False模块的主干分支中的bottleneck模块。
本发明技术方案的进一步改进在于:所述步骤S4中在颈部网络中输出三种类型的特征图,分别对应于图像中大、中、小目标的检测,将三种特征输入到检测网络中用以实际检测。
本发明技术方案的进一步改进在于:所述步骤S5中YOLOv5模型的检测网络由三个检测层组成,其输出为维度分别为80×80、40×40和20×20的特征图,用于对图像中的大、中、小目标进行检测。
本发明技术方案的进一步改进在于:所述步骤S6的具体过程为:所述扩充数据集包括训练集、验证集和测试集,所述训练集、验证集和测试集的比例为8:1:1。
本发明技术方案的进一步改进在于:所述步骤S6中的损失函数为CIOU损失函数,具体的计算公式为:
LCIOU=1-CIOU,
其中ρ2(b,bgt)表示预测框中心坐标与真实框中心坐标的欧氏距离,c表示两边框外接矩形对角线长度,αv表示引入的真实框与预测框长宽比因子。
由于采用了上述技术方案,本发明取得的技术进步是:
1、本发明提出了一种基于YOLOv5的水下目标检测方法,对不同场景中的目标物进行检测,该方法很好地解决了由于水下复杂的环境导致目标检测精度降低的问题。同时,能够保证在不大幅度降低检测速度的前提下,在复杂的水下环境中,提高YOLOv5模型对多种特定目标的检测精度;
2、本发明将CA模块和C3模块进行结合,形成两种新的改进模块代替原模型中的部分C3模块,在提高模型检测精度的同时,降低模型的参数量;将SE模块加入到主干网络中一些C3模块的输出端,使YOLOv5模型可以更好地对模糊图像中的目标进行检测;将原始检测网络中基于锚盒的检测框改为基于无锚盒,极大地减少了耗时和需要的算力。
附图说明
图1为本发明实例主干网络中C3-1模块的结构图;
图2为本发明实例主干网络中C3-2模块的结构图。
具体实施方式
下面结合实施例对本发明做进一步详细说明:
实施例的水下目标检测方法,包括:
步骤S1:获取水下特定目标的初始数据集;所述初始数据集是利用标记软件对获取的水下图像进行标记,将图像中的各种目标用特定的方框标记出来。
所述水下特定目标的初始数据集来自于2019年中国水下机器人大赛中的水下目标检测组,这个初始数据集总共包含3701张水下图片。本实施例中采用LabelImg程序对获取的水下图片进行标注,将其格式修改为YOLO格式,应用于YOLOv5模型的训练中。
步骤S2:利用数据增强方法对初始数据集进行增强,用以增加初始数据集的数量,得到扩充数据集。具体方式包括:
采用镜像翻转的方式,分别设置左右上下方向镜像、左右方向镜像、上下方向镜像的处理方式,每设置一次翻转方式,对初始数据集进行一次处理,最终得到扩充数据集,扩充数据集在数量上是初始数据集的3倍。
步骤S3:在将扩充数据集输入到YOLOv5模型主干网络之前,采用适当的措施对YOLOv5模型原始的主干网络进行修改,用以提高主干网络对特征的提取能力,从而获得更为丰富的特征图。
具体包括:
1)将CA模块和YOLOv5模型中特定位置上的C3模块进行结合,形成新的改进模块代替模型中的原始C3模块,用以提高检测模型对水下模糊目标的检测性能。
第一种结合方式是将一个CA模块加入到C3-True模块的主干分支中的卷积模块和bottleneck模块之间,用以提高模型对浅层特征的提取能力。第二种结合方式是利用CA模块代替C3-False模块的主干分支中的bottleneck模块。第一种结合方式的示意图如图1所示,命名为C3-1模块。第二种结合方式的示意图如图2所示,命名为C3-2模块。
2)由于水下复杂的环境,导致收集到的数据集往往是模糊的,所以本发明在YOLOv5模型的主干网络中嵌入SE注意力模块。
本发明在主干网络中C3模块的输出端添加SE注意力模块,用以提高检测模型对图像中模糊物体的检测精度。当在主干网络中嵌入SE注意力模块后,对颈部网络中的融合特征层也进行了相应的改进。原始的YOLOv5模型是将主干网络中C3模块的输出特征图输入到颈部网络中进行特征融合,本发明将SE注意力模块的输出特征图输入到颈部网络中进行特征融合。
步骤S4:将扩充数据集输入到修改后的YOLOv5模型主干特征提取网络,获得特征图,SE注意力模块的输出特征图输入到颈部网络中进行特征融合,利用特征金字塔网络和路径聚合网络,对所述特征图通过双向融合将低级的空间特征与高级的语义特征进行融合,将融合后的特征图输入到检测网络中。
颈部网络是一系列混合图像特征的特征聚合层,主要用于生成特征金字塔和路径聚类网络。通过双向融合对不同的特征进行融合,增强了自下向上的路径,提高了对低级特征的传输。在颈部网络中输出三种类型的特征图,分别对应于图像中大、中、小目标的检测,将三种特征输入到检测网络中用以实际检测。
步骤S5:将YOLOv5模型检测网络中的基于锚盒的检测框修改为基于无锚盒的检测框,利用检测框对输入的融合后的特征进行处理,将检测到的目标的种类、位置和置信度在输入图片中标识出来。
由于锚盒的设置需要手动设计,对于不同数据集需要设计不同的锚盒,以及锚盒数量巨多,在计算IOU时,需要耗费大量的算力,将检测框修改为基于无锚盒的模块。
YOLOv5模型的检测网络由三个检测层组成,其输出为维度分别为80×80、40×40和20×20的特征图,用于对图像中的大、中、小目标进行检测。
步骤S6:将扩充数据集输入到YOLOv5模型中,设置相应的训练次数,随着训练次数的增加,YOLOv5模型的损失函数曲线逐渐收敛,当损失函数曲线收敛并稳定时,YOLOv5模型训练到最优,并生成相应的权重文件。
将准备好的扩充数据集按照训练集:验证集:测试集等于8:1:1的比例,分为三部分。在Linux环境下搭建相应的训练环境,具体的训练环境为:Python3.8,CUDA11.1,pytorch1.8.0,将扩充数据集和修改后的YOLOv5模型上传到环境中。设置相应的训练次数,随着训练次数的增加,YOLOv5模型的损失函数曲线逐渐收敛,当损失函数曲线收敛并稳定时,YOLOv5模型训练到最优。损失函数为CIOU损失函数,具体的计算公式为:
LCIOU=1-CIOU,
其中ρ2(b,bgt)表示预测框中心坐标与真实框中心坐标的欧氏距离,c表示两边框外接矩形对角线长度,αv表示引入的真实框与预测框长宽比因子。
步骤S7:将训练好的权值文件下载到YOLOv5模型中,输入新的水下图片,YOLOv5模型对其进行检测,将检测出的种类、位置、置信度等信息在图片中加以标注,并输出相关文件。
本实施例的一种基于YOLOv5的水下目标检测方法可以很好地对不同场景中的目标物进行检测。该方法很好地解决了由于水下复杂的环境导致目标检测精度降低的问题。同时,本实施例能够保证在不大幅度降低检测速度的前提下,在复杂的水下环境中,提高YOLOv5模型对多种特定目标的检测精度。
Claims (9)
1.一种基于YOLOv5的水下目标检测方法,其特征在于:包括如下步骤:
步骤S1、获取水下特定目标的初始数据集:所述初始数据集是利用标记软件对获取的水下图像进行标记,将图像中的各种目标用特定的方框标记出来;
步骤S2、对初始数据集进行增强,用以增加初始数据集的数量,得到扩充数据集;
步骤S3、YOLOv5模型的主干特征提取网络中C3模块引入CA模块,用以提高YOLOv5模型对水下模糊目标的检测性能,在主干特征提取网络中C3模块的输出端添加SE注意力模块,用以提高YOLOv5模型对图像中模糊物体的检测精度;
步骤S4、将扩充数据集输入到YOLOv5模型主干特征提取网络,获得特征图,SE注意力模块的输出特征图输入到颈部网络中进行特征融合,利用特征金字塔网络和路径聚合网络,对所述特征图通过双向融合将低级的空间特征与高级的语义特征进行融合,将融合后的特征图输入到YOLOv5模型的检测网络中;
步骤S5、YOLOv5模型检测网络中的基于无锚盒的检测框对输入的融合后的特征图进行处理,将检测到的目标的种类、位置和置信度在输入图片中标识出来;
步骤S6、将扩充数据集输入到YOLOv5模型中,设置相应的训练次数,随着训练次数的增加,YOLOv5模型的损失函数曲线逐渐收敛,当损失函数曲线收敛并稳定时,YOLOv5模型训练到最优,并生成相应的权重文件;
步骤S7、将训练好的权重文件下载到YOLOv5模型中对实际的水下图像进行检测,将检测出的种类、位置、置信度等信息在图片中加以标注,并输出相关文件。
2.根据权利要求1所述的一种基于YOLOv5的水下目标检测方法,其特征在于:所述步骤S1中采用LabelImg程序对获取的水下图像进行标注,将其格式修改为YOLO格式,应用于YOLOv5模型的训练中。
3.根据权利要求1所述的一种基于YOLOv5的水下目标检测方法,其特征在于:所述步骤S2中采用镜像翻转的方式对初始数据集进行增强,具体过程为:分别设置左右上下方向镜像、左右方向镜像、上下方向镜像的处理方式,每设置一次翻转方式,对初始数据集进行一次处理,最终得到扩充数据集,扩充数据集在数量上是初始数据集的3倍。
4.根据权利要求1所述的一种基于YOLOv5的水下目标检测方法,其特征在于:所述步骤S3中YOLOv5模型的主干特征提取网络中C3模块引入CA模块的方式为:将一个CA模块加入到C3-True模块的主干分支中的卷积模块和bottleneck模块之间,用以提高模型对浅层特征的提取能力。
5.根据权利要求1所述的一种基于YOLOv5的水下目标检测方法,其特征在于:所述步骤S3中YOLOv5模型的主干特征提取网络中C3模块引入CA模块的方式为:利用CA模块代替C3-False模块的主干分支中的bottleneck模块。
6.根据权利要求1所述的一种基于YOLOv5的水下目标检测方法,其特征在于:所述步骤S4中在颈部网络中输出三种类型的特征图,分别对应于图像中大、中、小目标的检测,将三种特征输入到检测网络中用以实际检测。
7.根据权利要求6所述的一种基于YOLOv5的水下目标检测方法,其特征在于:所述步骤S5中YOLOv5模型的检测网络由三个检测层组成,其输出为维度分别为80×80、40×40和20×20的特征图,用于对图像中的大、中、小目标进行检测。
8.根据权利要求1所述的一种基于YOLOv5的水下目标检测方法,其特征在于:所述步骤S6中扩充数据集包括训练集、验证集和测试集,所述训练集、验证集和测试集的比例为8:1:1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211606325.5A CN115984681A (zh) | 2022-12-14 | 2022-12-14 | 一种基于YOLOv5的水下目标检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211606325.5A CN115984681A (zh) | 2022-12-14 | 2022-12-14 | 一种基于YOLOv5的水下目标检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115984681A true CN115984681A (zh) | 2023-04-18 |
Family
ID=85967321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211606325.5A Pending CN115984681A (zh) | 2022-12-14 | 2022-12-14 | 一种基于YOLOv5的水下目标检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115984681A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116912675A (zh) * | 2023-09-13 | 2023-10-20 | 吉林大学 | 一种基于特征迁移的水下目标检测方法及系统 |
-
2022
- 2022-12-14 CN CN202211606325.5A patent/CN115984681A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116912675A (zh) * | 2023-09-13 | 2023-10-20 | 吉林大学 | 一种基于特征迁移的水下目标检测方法及系统 |
CN116912675B (zh) * | 2023-09-13 | 2023-11-28 | 吉林大学 | 一种基于特征迁移的水下目标检测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115601549B (zh) | 基于可变形卷积和自注意力模型的河湖遥感图像分割方法 | |
CN110782490A (zh) | 一种具有时空一致性的视频深度图估计方法及装置 | |
CN112633277A (zh) | 基于深度学习的航道船牌检测、定位及识别方法 | |
CN112084859B (zh) | 一种基于稠密边界块和注意力机制的建筑物分割方法 | |
CN113673338B (zh) | 自然场景文本图像字符像素弱监督自动标注方法、系统及介质 | |
CN112287941B (zh) | 一种基于自动字符区域感知的车牌识别方法 | |
CN112149535B (zh) | 一种结合SegNet和U-Net的车道线检测方法和装置 | |
CN112801182B (zh) | 一种基于困难样本感知的rgbt目标跟踪方法 | |
CN113609896A (zh) | 基于对偶相关注意力的对象级遥感变化检测方法及系统 | |
CN111882620A (zh) | 一种基于多尺度信息道路可行驶区域分割方法 | |
CN113449691A (zh) | 一种基于非局部注意力机制的人形识别系统及方法 | |
CN116453121B (zh) | 一种车道线识别模型的训练方法及装置 | |
CN115984681A (zh) | 一种基于YOLOv5的水下目标检测方法 | |
CN114943888B (zh) | 基于多尺度信息融合的海面小目标检测方法 | |
CN113554032A (zh) | 基于高度感知的多路并行网络的遥感图像分割方法 | |
CN116935332A (zh) | 一种基于动态视频的渔船目标检测与跟踪方法 | |
CN115147597A (zh) | 光伏组件的定位方法、装置及电子设备 | |
CN117011722A (zh) | 基于无人机实时监控视频的车牌识别方法及装置 | |
CN115019139A (zh) | 一种基于双流网络的光场显著目标检测方法 | |
CN114529949A (zh) | 一种基于深度学习的轻量级手势识别方法 | |
CN113256711A (zh) | 一种单目相机的位姿估计方法及系统 | |
WO2024000728A1 (zh) | 单目三维平面恢复方法、设备及存储介质 | |
US11551385B1 (en) | Texture replacement system in a multimedia | |
CN111738088B (zh) | 一种基于单目摄像头的行人距离预测方法 | |
CN117095276A (zh) | 一种基于yolo-cable模型的海缆目标检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |