CN117422998A - 一种基于YOLOv5s改进的河道漂浮物识别算法 - Google Patents
一种基于YOLOv5s改进的河道漂浮物识别算法 Download PDFInfo
- Publication number
- CN117422998A CN117422998A CN202311448980.7A CN202311448980A CN117422998A CN 117422998 A CN117422998 A CN 117422998A CN 202311448980 A CN202311448980 A CN 202311448980A CN 117422998 A CN117422998 A CN 117422998A
- Authority
- CN
- China
- Prior art keywords
- module
- feature
- network
- yolov5s
- convolution
- 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
- 238000001514 detection method Methods 0.000 claims abstract description 48
- 238000012549 training Methods 0.000 claims abstract description 18
- 238000000034 method Methods 0.000 claims abstract description 13
- 230000006872 improvement Effects 0.000 claims abstract description 10
- 230000007246 mechanism Effects 0.000 claims abstract description 7
- 238000007781 pre-processing Methods 0.000 claims abstract description 6
- 238000007667 floating Methods 0.000 claims abstract description 4
- 238000010586 diagram Methods 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 15
- 230000004927 fusion Effects 0.000 claims description 10
- 230000004913 activation Effects 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 7
- 238000011176 pooling Methods 0.000 claims description 6
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims description 5
- 238000012360 testing method Methods 0.000 claims description 5
- 239000011800 void material Substances 0.000 claims description 4
- 238000013136 deep learning model Methods 0.000 claims description 3
- 230000009467 reduction Effects 0.000 claims description 3
- 238000011282 treatment Methods 0.000 claims description 3
- 230000002708 enhancing effect Effects 0.000 claims description 2
- 238000002372 labelling Methods 0.000 claims description 2
- 238000005457 optimization Methods 0.000 claims description 2
- 208000034699 Vitreous floaters Diseases 0.000 abstract description 7
- 238000000605 extraction Methods 0.000 abstract description 5
- 238000013135 deep learning Methods 0.000 abstract 1
- 230000000694 effects Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 102100022430 Melanocyte protein PMEL Human genes 0.000 description 1
- 108091058557 SILV Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
- G06V20/182—Network patterns, e.g. roads or rivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种河道漂浮物自动识别的深度学习方法,属于目标检测领域。该方法包括以下步骤:步骤1,获取河道漂浮物数据图像集FloW‑Img,对图像做数据预处理;步骤2,基于YOLOv5s的网络结构进行优化,将多尺度注意力机制融合入YOLOv5s主干网络中,又在颈部网络引入3d卷积丰富小目标的语义信息,基于上述改进构建新模型A‑YOLOv5s;步骤3,输入已经标注的漂浮物图像数据,训练A‑YOLOv5s模型,得到最优模型参数;步骤4,利用步骤3得到的模型参数构建的A‑YOLOv5s检测河道漂浮物,输出检测结果。大量河道漂浮物检测结果说明,本发明的识别方法,和已有常见方法相比,在确保检测速度的基础上,大幅提高了特征提取性能与识别准确率,实现了河道漂浮物的快速、准确识别。
Description
技术领域
本发明属于目标检测领域,具体为一种基于YOLOv5s改进的河道漂浮物识别算法。
背景技术
河道漂浮物是河道污染的一项重要原因,目前,国内主要依靠人工巡检打捞的方式进行水面清洁,但人工服务难以做到及时,有效的清理,同时还需要耗费大量的人力、财力。随着目标检测技术的快速发展,国内外研究者将经典的目标检测算法用于河道漂浮物的识别上,对河道漂浮物进行实时的监控与告警。但是,一方面河道环境复杂,漂浮物种类繁多且有大量的小目标存在,使用轻量级的网络容易造成检测效果不佳;另一方面大模型虽然能够提升检测效果,却大大降低了检测速度。如何选择与改进当前的目标检测算法,实现速度与精度的平衡,成为亟待解决的难点。
YOLOv5作为单阶段目标检测的优秀算法,在保障检测速度的同时,还能有较高的检测精度,本发明选用YOLOv5的s版本,并进行网络结构的优化,在保证检测速度的基础上,大幅提升模型检测精度。
发明内容
发明目的:本发明所要解决的技术问题是针对现有的河道漂浮物识别方法中,难以实现速度与精度的平衡,提出了一种基于改进的YOLOv5s河道漂浮物识别方法。
为了解决上述技术问题,本发明采用的技术方案是:
一种基于YOLOv5s改进的河道漂浮物识别方法,包括以下步骤:
步骤1,获取河道漂浮物数据图像集FloW-Img,对图像做数据预处理,得到符合要求的图像数据;
步骤2,以YOLOv5s深度学习模型为基础算法的网络结构进行优化,提出了河道多尺度目标注意力网络架构思想,针对漂浮物大中小目标特点,将多尺度注意力机制融合入YOLOv5s主干网络中,同时又在颈部网络引入3d卷积丰富小目标的语义信息,基于上述改进构建了新模型,记为A-YOLO5S;
步骤3,输入已经标注的漂浮物图像数据,训练A-YOLO5S模型,得到最优模型参数;
步骤4,利用步骤3得到的模型参数构建的A-YOLO5S检测河道漂浮物,输出检测结果。
进一步地,所述步骤1数据预处理具体包括:
进行图像数据分类与标注并统一将图像调整为640*640大小、将数据集划分为训练集与测试集,其中80%作为训练集,20%作为测试集、训练集进行数据增强,增强方式包括:翻转、平移、旋转、缩放;
进一步地,所述步骤2的A-YOLO5S目标检测模型包括:进行特征提取的主干网络,进行特征加强与融合的颈部网络,进行分类与回归的检测头网络;
所述主干网络由Focus层、第一CSP网络模块、第二CSP网络模块、第三CSP网络模块、第四CSP网络模块组成,接收640*640大小的图像输入后,第二CSP网络模块、第三CSP网络模块、第四CSP网络模块分别输出80*80*128、40*40*256、20*20*512大小的特征图;
所述颈部网络,对来自主干网络的三个不同大小、不同深度的特征图进行通道与空间维度上的特征融合与优化,将大小为20*20*512、40*40*256、80*80*128的特征图进行卷积,特征堆叠与上采样,然后又通过下采样,特征堆叠与卷积实现语义与空间信息的融合得到新的特征图,再将这三个特征图输入到ss模块实现语义的进一步融合,最终得到20*20*640、40*40*284、80*80*256大小的特征图,输入检测头网络中。
所述检测头网络,包括三个head模块,这三个模块分别接收颈部网络的20*20*640、40*40*284、80*80*256的特征图作为输入,最终输出目标的分类与回归结果。
进一步地,所述主干网络中,
所述Focus层包括:Focus网络模块与一个Conv模块,其中Conv模块由卷积层、BN层与SILU激活函数组成,输出一张320*320*32的特征图;
所述第一CSP网络模块包括:一个下采样模块、一个CspLayer模块与一个Multi-attention模块,输出一张160*160*64的特征图;
所述第二CSP网络模块包括:一个下采样模块、一个CspLayer模块与一个Multi-attention模块,输出一张80*80*128的特征图作为浅层特征feat0;
所述第三CSP网络模块包括:一个下采样模块、一个CspLayer模块与一个Multi-attention模块,输出一张40*40*256的特征图作为中间层特征feat1;
所述第四CSP网络模块包括:一个下采样模块、一个SPP模块与一个CspLayer模块,输出一张20*20*512的特征图作为深层特征feat2。
进一步地,所述CspLayer模块,具体包括:
将输入的特征图X0按通道拆分为两个部分[X0′,X0″],其中X0″通过多个堆叠的残差block进行卷积计算,另一部分X0′通过少量处理之后直接连接到最后,具体计算公式如下:
Xt=Wn(...W2(W1(Wk(X0″))));
Xu=Wu1([Xt,Wu2(X0′)]);
其中,Wk(),Wt(),Wu1(),Wu2()均为卷积操作,其中t∈(1,n),n表示堆叠的残差块个数,Xu为CspLayer模块的输出特征图。
进一步地,所述Multi-attention模块,具体包括:
一个Aspp模块、一个Senet注意力模块与两个Conv模块。首先将特征图X输入Aspp模块中,获得其多尺度特征信息,然后将输出的特征图X1添加通道注意力机制,使得网络能够关注更加重要的通道信息,再经过一个Conv之后与最初的特征图X执行元素级相加操作得到X2,最后再输入Conv得到最终的输出X3,具体计算公式如下:
X2=Conv(Senet(Aspp(X)))+X;
X3=Conv(X2);
进一步地,所述Aspp模块,具体包括:
该模块通过不同的空洞rate构建不同感受野的卷积核,对输入的特征图进行空洞卷积,然后在通道维度上进行拼接,得到特征图的多尺度信息,具体计算公式如下:
Aspp(X)=W1,1([Pool(X),W3,6(X),W3,12(X),W3,18(X),W1,1(X)]);
其中Pool表示池化操作,Wi,j(X)表示对输入特征图进行卷积操作,i为卷积核大小,j为空洞rate的值。
进一步地,所述颈部网络中,ss模块具体包括:
对于进行了初步特征融合的3个不同尺寸的特征图P3,P4,P5,以浅层特征图P3为基准,将P4、P5调整为P3大小,然后再进行维度扩充与特征图拼接操作,这样就得到了一个4维的张量,接着进行3d卷积,经过3d池化之后又进行维度缩减,最终将新增特征通道拼接到P3,P4,P5上,实现语义信息的进一步丰富。
进一步地,所述检测头网络中,head模块仅包括单独的卷积层,输出的特征图通道数为n,计算公式如下:
n=3×(5+num_classes);
其中,num_classes为训练数据集的类别总数。
与现有技术相比,本发明具有如下优点:
(1)对FloW-Img数据集进行了随机数据增强,提升了模型的鲁棒性与泛化能力,降低了模型对图像的敏感度。
(2)主干网络中引入Mult-attention模块,在其中使用Aspp模块着眼于获取特征图的多尺度信息,通过Senet通道注意力模块关注重要的特征尺度,然后使用残差边提升模型效果,最终使得主干网络的特征提取能力大幅提高。
(3)在颈部网络中引入ss模块,通过对不同深浅的特征图进行3d卷积与特征拼接,提高小目标的检测精度,而又不降低大、中型目标的检测效果。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明。
图1为本发明基于YOLOv5s改进的河道漂浮物识别算法流程图;
图2为A-YOLO5S网络结构图。
图3为Mult-attention模块结构图。
图4为ss模块结构图。
图5为河道漂浮物的检测结果。
具体实施方式
下面结合附图,对本发明作详细说明:
如图1所示,本发明是一种基于YOLOv5s改进的河道漂浮物识别算法,包括以下步骤:
步骤1,获取河道漂浮物数据图像集FloW-Img,对图像做数据预处理,得到符合要求的图像数据:
本发明涉及的FloW-Img数据集来自城市的内陆河道场景,共有1个检测类别,含有已标注的2000张jpg图片和检测对象类别的xml文本,可直接用于目标检测的训练数据集。对于训练数据集,随机采用翻转、平移、旋转、缩放的数据增强方式,并统一调整图像为640*640大小,提升模型的泛化能力。
步骤2,以YOLOv5s深度学习模型为基础算法的网络结构进行优化,提出了河道多尺度目标注意力网络架构思想,针对漂浮物大中小目标特点,将多尺度注意力机制融合入YOLOv5s主干网络中,同时又在颈部网络引入3d卷积丰富小目标的语义信息,基于上述改进构建了新模型,记为A-YOLO5S。
Yolov5作为单阶段目标检测的优秀算法,在保障检测速度的同时,还能有较高的检测精度,其分为四个版本:YOLOv5s,YOLOv5m,YOLOv5l,YOLOv5x,其中YOLOv5s是最轻量级的版本,参数量最小,但速度也最快,比较适合工业部署。本发明针对现有的YOLOv5s网络结构进行优化,构建改进的YOLOv5s算法,提高网络的特征提取能力与小目标的检测效果。
如图2所示,本发明的改进后的YOLOv5s具体网络结构包括用于特征提取的主干网络、进行特征加强与融合的颈部网络、进行分类与回归的检测头网络。
具体地,主干网络由Focus层、第一CSP网络模块、第二CSP网络模块、第三CSP网络模块、第四CSP网络模块组成;Focus层包括:Focus网络模块与一个Conv模块,其中Conv模块由卷积层、BN层与SiLU激活函数组成,输出一张320*320*32的特征图;第一CSP网络模块包括一个下采样模块、一个CspLayer模块与一个Mult-attention模块,输出一张160*160*64的特征图;第二CSP网络模块包括一个下采样模块、一个CspLayer模块与一个Mult-attention模块,输出一张80*80*128的特征图作为浅层特征feat0;第三CSP网络模块包括一个下采样模块、一个CspLayer模块与一个Mult-attention模块,输出一张40*40*256的特征图作为中间层特征feat1;第四CSP网络模块包括:一个下采样模块、一个SPP模块与一个CspLayer模块,输出一张20*20*512的特征图作为深层特征feat2;
与现有算法不同的是,本发明在第一、第二、第三CSP网络模块中引入了Mult-attention模块。如图3所示,Mult-attention模块首先将特征图X输入Aspp模块中,通过不同的空洞rate构建不同感受野的卷积核,对输入的特征图进行空洞卷积,以获得其多尺度特征信息,同时,为了最大可能得降低模型复杂度,Aspp模块的输入与输出特征图通道数一致,接着,将输出的特征图X1添加轻量化的通道注意力机制Senet,使得网络能够关注更加重要的通道信息,再经过一个Conv之后与最初的特征图X执行元素级相加操作得到X2,最后再进行Conv得到最终的输出X3,具体计算公式如下:
X2=Conv(Senet(Aspp(X)))+X;
X3=Conv(X2);
Aspp(X)=W1,1([Pool(X),W3,6(X),W3,12(X),W3,18(X),W1,1(X)]);
其中Pool表示池化操作,Wi,j(X)表示对输入特征图进行卷积操作,i为卷积核大小,j为空洞rate的值。
下采样模块由单个的Conv模块组成,包含卷积层、BN层与SiLU激活函数,卷积层的卷积核大小为3,步长为2,实现了特征图的下采样,SiLU相比于传统的激活函数ReLU而言,增加了平滑和非单调的特点,计算公式如下:
CspLayer模块是一种跨阶段的局部网络结构,该模块将梯度的变化从头到尾集成到特征图中,并采用跨通道池来压缩特征映射,既减轻了计算量与内存成本又保证了推理的准确率。在目标检测任务中,CspLayer模块作为主干网络的组成部分,带来了较大的提升。CspLayer的具体工作原理是将输入的特征图X0按通道拆分为两个部分[X0′,X0″],其中X0″通过多个堆叠的残差block进行卷积计算,另一部分X0′通过少量处理之后直接连接到最后,具体计算公式如下:
Xt=Wn(...W2(W1(Wk(X0″))));
Xu=Wu1([Xt,Wu2(X0′)]);
其中,Wk,Wt,Wu1,Wu2均为卷积操作,n表示堆叠的残差块个数,Xu为CspLayer模块的输出特征图。
具体地,本发明的颈部网络,接收浅层特征feat0,中间层特征feat1,深层特征feat2作为输入,feat2、feat1、feat0的特征图大小分别为20*20*512、40*40*256、80*80*128,将其依次进行卷积、上采样与特征堆叠,然后又通过下采样,特征堆叠与卷积构建特征金字塔,实现语义与空间信息的融合,得到新的特征图,再将这三个新的特征图输入到ss模块实现语义的进一步融合,最终得到20*20*640、40*40*284、80*80*256大小的特征图,输入检测头网络中完成检测任务。
如图2所示,本发明的特征金字塔搭建过程如下:
深层特征feat2通过卷积进行特征提取,得到特征图P5,P5的通道数减少至256,然后P5又通过最近邻差值进行上采样,将特征图扩大两倍至40*40得到特征图P5_up,P5_up实现与中层特征feat1在通道上的拼接,再通过CspLayer模块、卷积后得到特征图P4,P4经过上采样模块,将通道数减少至256得到特征图P4_up,P4_up大小扩大两倍至80*80,实现与浅层特征feat0在通道上的拼接,feat0的特征图得到更新,丰富了浅层特征图上欠缺的语义信息,经过CspLayer模块之后得到特征图P3。
接着,P3经过下采样得到P3_down特征图,P3_down大小为40*40,与P4在通道上进行拼接,P4特征图得到更新之后,又经过CspLayer模块实现P4特征图空间信息的丰富。同样,P4经过下采样得到P4_down,P4_down大小为20*20,与P5在通道上拼接,经过CspLayer模块实现P5特征图空间信息的丰富。
至此,特征金字塔搭建完毕,其中CspLayer模块与前文一致,不再赘述。
与现有算法不同的是,本发明在走完特征金字塔模块之后,并未直接将P3,P4,P5输入到检测头网络中,考虑到特征金字塔跨尺度的特征融合,会存在不同层之间梯度计算的不一致性,使得通道中的有效信息衰减,为了提高图像中小目标的检测效果而又不降低其他目标的检测精度,引入ss模块。
如图3所示,ss模块以P3、P4、P5特征图作为输入,先将P4、P5统一上采样为80*80大小,然后对这三类特征图扩充一个维度,在新扩充的维度上实现特征图拼接,得到一个四维的特征图张量Px(3,c,w,h)。其中3表示由三个特征图拼接而来,c、w、h表示特征图的通道数、宽、高。将Px输入3d卷积与3dBN中,经过ReLU激活函数与3d平均值池化之后,Px又进行维度缩减,最终将新增特征通道拼接到P3,P4,P5上,得到特征图P3s、P4s、P5s,实现语义信息的进一步丰富。
具体地,本发明的检测头网络,接收P3s、P4s、P5s作为输入,分别传入head模块实现目标检测任务,head模块仅包括单独的卷积层,输出的特征图通道数为n,计算公式如下:
n=3×(5+num_classes);
其中,num_classes为训练数据集的类别总数。
步骤3,输入已经标注的漂浮物图像数据,训练A-YOLO5S模型,得到最优模型参数。
本发明将步骤2搭建好的A-YOLO5S网络用Pytorch实现,将数据集输入网络中进行模型训练,利用GPU加快模型训练速度。模型迭代次数为300次,期间利用随机梯度下降算法进行权值更新,每次迭代完计算模型在测试集上的map值,并不断更新map最高的权重文件。迭代结束后,保存训练过程中map精度最高的模型参数。
为了验证本发明的有效性,将YOLO v4tiny、YOLO v3、Faster RCNN、原有的YOLOv5s和本发明提出的改进后的YOLOv5s算法,在Flow-Img数据集上进行map的对比,实验结果如下表所示:
算法模型 | Faster RCNN | YOLO v3 | YOLO v4tiny | YOLOv5s | A-YOLO5S |
map/% | 53.59 | 57.14 | 58.09 | 76.39 | 80.59 |
fps/s | 33.06 | 55.04 | 59.91 | 50.03 | 46.75 |
从对比结果可知,本发明提出的改进后的YOLOv5s算法精度保持最高,且fps相比原有的yolv5s仅有小幅的下降,证明了本发明提供方案的有效性。
步骤4,利用步骤3得到的模型参数构建的A-YOLO5S检测河道漂浮物,输出检测结果。
如图5所示,改进后的yolo5s算法能够实现河道上的河道漂浮物检测。
Claims (9)
1.一种基于YOLOv5s改进的河道漂浮物识别算法,其特征在于:包括以下步骤:
步骤1,获取河道漂浮物数据图像集FloW-Img,对图像做数据预处理,得到符合要求的图像数据;
步骤2,以YOLOv5s深度学习模型为基础算法的网络结构进行优化,提出了河道多尺度目标注意力网络架构思想,针对漂浮物大中小目标特点,将多尺度注意力机制融合入YOLOv5s主干网络中,同时又在颈部网络引入3d卷积丰富小目标的语义信息,基于上述改进构建了新模型,记为A-YOLO5S;
步骤3,输入已经标注的漂浮物图像数据,训练A-YOLO5S模型,得到最优模型参数;
步骤4,利用步骤3得到的模型参数构建的A-YOLO5S检测河道漂浮物,输出检测结果。
2.根据权利要求1所述的一种基于YOLOv5s改进的河道漂浮物识别算法,其特征在于:所述图像数据预处理方法包括:进行图像数据分类与标注并统一将图像调整为640*640大小、将数据集划分为训练集与测试集,其中80%作为训练集,20%作为测试集、训练集进行数据增强,增强方式包括:翻转、平移、旋转、缩放。
3.根据权利要求1所述的一种基于YOLOv5s改进的河道漂浮物识别算法,其特征在于,所述A-YOLO5S目标检测模型包括:进行特征提取的主干网络,进行特征加强与融合的颈部网络,进行分类与回归的检测头网络;
所述主干网络由Focus层、第一CSP网络模块、第二CSP网络模块、第三CSP网络模块、第四CSP网络模块组成,接受640*640大小的图像输入后,第二CSP网络模块、第三CSP网络模块、第四CSP网络模块分别输出80*80*128、40*40*256、20*20*512大小的特征图;
所述颈部网络,对来自主干网络的三个不同大小、不同深度的特征图进行通道与空间维度上的特征融合与优化,将大小为20*20*512、40*40*256、80*80*128的特征图进行卷积,特征堆叠与上采样,然后又通过下采样、特征堆叠与卷积实现语义与空间信息的融合,得到新的特征图,再将这三个特征图P5、P4、P3输入到ss模块实现语义的进一步融合,最终得到20*20*640、40*40*284、80*80*256大小的特征图,输入检测头网络中。
所述检测头网络,包括三个head模块,这三个模块分别接收颈部网络的20*20*640、40*40*284、80*80*256的特征图作为输入,最终输出目标的分类与回归结果。
4.根据权利要求3所述的一种基于YOLOv5s改进的河道漂浮物识别算法,其特征在于,所述主干网络中,
所述Focus层包括:Focus网络模块与一个Conv模块,其中Conv模块由卷积层、BN层与SiLU激活函数组成,输出一张320*320*32的特征图;
所述第一CSP网络模块包括:一个下采样模块、一个CspLayer模块与一个Mult-attention模块,输出一张160*160*64的特征图;
所述第二CSP网络模块包括:一个下采样模块、一个CspLayer模块与一个Mult-attention模块,输出一张80*80*128的特征图作为浅层特征feat0;
所述第三CSP网络模块包括:一个下采样模块、一个CspLayer模块与一个Mult-attention模块,输出一张40*40*256的特征图作为中间层特征feat1;
所述第四CSP网络模块包括:一个下采样模块、一个SPP模块与一个CspLayer模块,输出一张20*20*512的特征图作为深层特征feat2。
5.根据权利要求4所述的一种基于YOLOv5s改进的河道漂浮物识别算法,其特征在于:所述CspLayer模块,具体包括:
将输入的特征图X0按通道拆分为两个部分[X0′,X0″],其中X0″通过多个堆叠的残差block进行卷积计算,另一部分X0′通过少量处理之后直接连接到最后,具体计算公式如下:
Xt=Wn(...W2(W1(Wk(X0″))));
Xu=Wu1([Xt,Wu2(X0′)]);
其中,Wk(),Wt(),Wu1(),Wu2()均为卷积操作,其中t∈(1,n),n表示堆叠的残差块个数,Xu为CspLayer模块的输出特征图。
6.根据权利要求4所述的一种基于YOLOv5s改进的河道漂浮物识别算法,其特征在于:所述Mult-attention模块,具体包括:
一个Aspp模块、一个Senet注意力模块与两个Conv模块。首先将特征图X输入Aspp模块中,获得其多尺度特征信息,然后将输出的特征图X1添加通道注意力机制,使得网络能够关注更加重要的通道信息,再经过一个Conv之后与最初的特征图X执行元素级相加操作得到X2,最后再经过Conv得到最终的输出X3,具体计算公式如下:
X2=Conv(Senet(Aspp(X)))+X;
X3=Conv(X2)。
7.根据权利要求6所述的一种基于YOLOv5s改进的河道漂浮物识别算法,其特征在于:所述Aspp模块,具体包括:
该模块通过不同的空洞rate构建不同感受野的卷积核,对输入的特征图进行空洞卷积,然后在通道维度上进行拼接,得到特征图的多尺度信息,具体计算公式如下:
Aspp(X)=W1,1([Pool(X),W3,6(X),W3,12(X),W3,18(X),W1,1(X)]);
其中Pool表示池化操作,Wi,j(X)表示对输入特征图进行卷积操作,i为卷积核大小,j为空洞rate的值。
8.根据权利要求3所述的一种基于YOLOv5s改进的河道漂浮物识别算法,其特征在于:所述颈部网络中,ss模块具体包括:
对于进行了初步特征融合的3个不同尺寸的特征图P3,P4,P5,以浅层特征图P3为基准,将P4、P5调整为P3大小,然后再进行维度扩充与特征图拼接操作,这样就得到了一个4维的张量,接着进行3d卷积与3d池化,经过激活函数之后又进行维度缩减,最终将新增特征通道拼接到P3,P4,P5上,实现语义信息的进一步丰富。
9.根据权利要求3所述的一种基于YOLOv5s改进的河道漂浮物识别算法,其特征在于:所述检测头网络中,head模块仅包括单独的卷积层,输出的特征图通道数为n,计算公式如下:
n=3×(5+num_classes);
其中,num_classes为训练数据集的类别总数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311448980.7A CN117422998A (zh) | 2023-11-02 | 2023-11-02 | 一种基于YOLOv5s改进的河道漂浮物识别算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311448980.7A CN117422998A (zh) | 2023-11-02 | 2023-11-02 | 一种基于YOLOv5s改进的河道漂浮物识别算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117422998A true CN117422998A (zh) | 2024-01-19 |
Family
ID=89528044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311448980.7A Pending CN117422998A (zh) | 2023-11-02 | 2023-11-02 | 一种基于YOLOv5s改进的河道漂浮物识别算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117422998A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118015552A (zh) * | 2024-04-09 | 2024-05-10 | 上海勘测设计研究院有限公司 | 基于信息融合的站内设备工作状态识别方法、系统及装置 |
-
2023
- 2023-11-02 CN CN202311448980.7A patent/CN117422998A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118015552A (zh) * | 2024-04-09 | 2024-05-10 | 上海勘测设计研究院有限公司 | 基于信息融合的站内设备工作状态识别方法、系统及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113850825B (zh) | 基于上下文信息和多尺度特征融合的遥感图像道路分割方法 | |
CN112541503B (zh) | 基于上下文注意力机制和信息融合的实时语义分割方法 | |
CN109241972B (zh) | 基于深度学习的图像语义分割方法 | |
CN111612008B (zh) | 基于卷积网络的图像分割方法 | |
CN111178316A (zh) | 一种基于深度架构自动搜索的高分辨率遥感影像土地覆盖分类方法 | |
CN113034506B (zh) | 遥感图像语义分割方法、装置、计算机设备和存储介质 | |
CN111563507A (zh) | 一种基于卷积神经网络的室内场景语义分割方法 | |
CN114241274B (zh) | 一种基于超分辨率多尺度特征融合的小目标检测方法 | |
CN116309648A (zh) | 一种基于多注意力融合的医学图像分割模型构建方法 | |
CN113255837A (zh) | 工业环境下基于改进的CenterNet网络目标检测方法 | |
CN114048822A (zh) | 一种图像的注意力机制特征融合分割方法 | |
CN117422998A (zh) | 一种基于YOLOv5s改进的河道漂浮物识别算法 | |
CN111666948A (zh) | 一种基于多路聚合的实时高性能语义分割方法和装置 | |
CN114998210A (zh) | 一种基于深度学习目标检测的早产儿视网膜病变检测系统 | |
CN115908772A (zh) | 一种基于Transformer和融合注意力机制的目标检测方法及系统 | |
CN115482518A (zh) | 一种面向交通场景的可扩展多任务视觉感知方法 | |
CN113436198A (zh) | 一种协同图像超分辨率重建的遥感图像语义分割方法 | |
Cheng et al. | A survey on image semantic segmentation using deep learning techniques | |
CN110633706B (zh) | 一种基于金字塔网络的语义分割方法 | |
CN112084897A (zh) | 一种gs-ssd的交通大场景车辆目标快速检测方法 | |
CN116935043A (zh) | 一种基于多任务生成对抗网络的典型地物遥感图像生成方法 | |
CN114693966A (zh) | 一种基于深度学习的目标检测方法 | |
CN114972851B (zh) | 一种基于遥感影像的船只目标智能检测方法 | |
Li et al. | Underwater object detection based on improved SSD with convolutional block attention | |
CN112733934A (zh) | 复杂环境下的多模态特征融合道路场景语义分割方法 |
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 |