CN116863293A - 一种基于改进YOLOv7算法的可见光下海上目标检测方法 - Google Patents
一种基于改进YOLOv7算法的可见光下海上目标检测方法 Download PDFInfo
- Publication number
- CN116863293A CN116863293A CN202310690798.6A CN202310690798A CN116863293A CN 116863293 A CN116863293 A CN 116863293A CN 202310690798 A CN202310690798 A CN 202310690798A CN 116863293 A CN116863293 A CN 116863293A
- Authority
- CN
- China
- Prior art keywords
- feature
- yolov7
- target
- local
- attention
- 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 title claims abstract description 57
- 230000007246 mechanism Effects 0.000 claims abstract description 39
- 238000012549 training Methods 0.000 claims abstract description 32
- 238000007781 pre-processing Methods 0.000 claims abstract description 8
- 238000012360 testing method Methods 0.000 claims abstract description 8
- 238000013528 artificial neural network Methods 0.000 claims abstract description 6
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims abstract description 6
- 239000013598 vector Substances 0.000 claims description 58
- 238000000034 method Methods 0.000 claims description 36
- 239000011159 matrix material Substances 0.000 claims description 35
- 238000011176 pooling Methods 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 11
- 230000004913 activation Effects 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 5
- 238000007306 functionalization reaction Methods 0.000 claims description 3
- 238000003062 neural network model Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 11
- 238000012545 processing Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 13
- 238000000605 extraction Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 9
- 230000002776 aggregation Effects 0.000 description 8
- 238000004220 aggregation Methods 0.000 description 8
- 230000004927 fusion Effects 0.000 description 7
- 241000282326 Felis catus Species 0.000 description 4
- 230000001364 causal effect Effects 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
Classifications
-
- 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
- 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/045—Combinations of networks
-
- 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/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- 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
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
- G06V20/54—Surveillance or monitoring of activities, e.g. for recognising suspicious objects of traffic, e.g. cars on the road, trains or boats
-
- 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)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明属于图像处理技术领域,为一种基于改进YOLOv7算法的可见光下海上目标检测方法,包括以下步骤:步骤1,通过船载光电设备采集水面目标图像数据,并将图像数据分成训练集和测试集后进行预处理;步骤2,通过具有局部注意力机制的神经网络对图像数据进行初步进行目标识别,获取全局加权特征图;步骤3,通过预训练模型中的部分注意力机制对特征图进行关键局部信息识别;步骤4,将关键局部信息比对,最后选出相似性最高的类别。本发明利用局部注意力机制得到对分类结果起重要作用的局部信息,通过提高Yolov7主干网络对识别目标图像的理解,从而提高模型的检测效果,以及模型的可解释性。
Description
技术领域
本发明涉及图像处理技术领域,特别涉及一种基于改进YOLOv7算法的可见光下海上目标检测方法。
背景技术
随着现代化海洋发展的不断推进,海上交通运输、海洋资源勘探、渔业养殖等活动逐渐增多,对于海上目标的检测与识别问题越来越受到关注,例如,智能船舶、无人水面艇等需要通过自身对海上环境中的各类目标完成感知与识别,从而完成相应的决策和任务。但传统的海上目标检测方法仅基于雷达等仪器进行目标探测,受限于其工作原理和技术特点,常常难以对目标进行精确识别和定位,同时也存在着对海洋环境的干扰和破坏。
在计算机视觉领域,深度学习算法已经成为海上目标检测的主要方法之一。其中,YOLO(You Only Look Once)算法是一种基于卷积神经网络(CNN)的实时目标检测算法,其快速高效的特点得到了广泛应用。常用的算法包括YOLOv4,首先使用CSP Darknet53结构作为主干网络处理输入图像,主干网络编码后的向量输入SPP结构,PANet结构以及Yolov3head结构,之后通过解码器解码网络输出值,通过非极大值抑制最终将获取结果显示在原图上。但是,现有的基于深度学习的目标检测模型均为黑盒模型,产生的结果可解释性差,设计者无法对输入的检测目标和输出结果之间进行深层次的因果关系解释。同时,YOLO算法在处理海上目标识别时仍然存在一些问题,例如对于海上目标的复杂形态和不同光照条件的适应能力不足、受不同天气(如雨天、雾天等海上常见天气情况)环境的扰动,导致模型以高置信度输出错误结果、以及对小目标和远距离目标的检测效果较差等问题。
发明内容
具体的,本发明提供一种基于改进YOLOv7算法的可见光下海上目标检测方法,所述可见光下海上目标检测方法包括以下步骤:
步骤1,通过船载光电设备采集水面目标图像数据,并将图像数据分成训练集和测试集后进行预处理;
步骤2,通过具有局部注意力机制的神经网络对图像数据进行初步进行目标识别,获取全局加权特征图;
步骤3,通过预训练模型中的局部注意力机制对特征图进行关键局部信息识别;
步骤4,将关键局部信息比对,最后选出相似性最高的类别。
更近一步地,在步骤2中,还包括以下步骤:
步骤21,使用YOLOv7网络生成三个不同尺度的特征图;
步骤22,在训练过程中使用局部注意力机制模块,进一步识别重要的局部特征;
在步骤22中,所述局部注意力机制模块将输入特征图按固定大小或固定数量划分为多个子图块;分别对每个子图块进行细粒度注意力加权,将加权后的子图块拼接在一起得到全局加权特征图。
更近一步地,在步骤2中,所述细粒度注意力加权将每个子图块的特征图在通道维度上进行全局池化,得到每个通道的平均值;将池化后的向量输入一个多层感知机中,经过激活函数和归一化后得到一个权重向量,用于对子图块中的特征图进行加权。
更近一步地,在步骤2中,通过将交叉熵损失函数进行修改,加入额外的惩罚函数构成新的损失函数,对模型进行进一步的优化,损失函数的具体形式如下:
其中,N为样本数量,K表示样本种类数,x为不同的图片,xi表示第i个样本的特征向量,xj表示第j个样本的特征向量,xj′表示第j′个样本的特征向量,δ表示若xi和xj为同一目标类别则为1,否则为0;d为不同图片在特征空间中的欧式距离,表示不同图片与类别特征向量在特征空间中的欧式距离,r为同一类别,Rs为所有类别的集合,vr为该目标的原型向量。
更近一步地,在步骤2中,所述细粒度注意力对于输入序列X=[x1,x2,...,xn],其中,xn表示每个子图块在通道维度上进行全局池化的特征向量,通过一个线性投影将其转化为H=[h1,h2,...,hn],H∈Rn×d,其中d为每个向量hi的维度;
对输入矩阵H进行线性变换,得到三个新的矩阵:查询矩阵Q∈Rn×d′键矩阵K∈Rn×d′和值矩阵V∈Rn×d″,其中d′和d″是新的维度,可以通过调整参数进行控制;
计算查询矩阵Q和键矩阵K之间的相似度得分,得到注意力权重矩阵A∈Rn×n;
对注意力权重矩阵A进行归一化处理,得到归一化的注意力矩阵S∈Rn×n,其中每行的元素和为1;
将注意力矩阵S与值矩阵V进行加权求和,得到新的向量表示O∈Rn×d″,即:O=S·V;
将新的向量表示O与原始向量表示H进行拼接,得到一个新的向量表示H′∈Rn×2d″,即:H′=[H,O];
将新的向量表示H′经过线性变换和激活函数,得到最终的输出向量表示将输入Feed Forward(FF)层,之后输出为/>即为每个子图块进行细粒度注意力加权。
更近一步地,在步骤3中,还包括以下步骤:
步骤31,在预训练阶段,神经网络使用ImageNet数据集进行训练;
步骤32,使用获取的训练集数据进行目标特定的训练,以进一步优化神经网络模型以适应特定任务和场景,并提高目标检测的性能。
更近一步地,在步骤4中,所述局部注意力机制对各子图块提取的局部特征和特征图整体进行评分,综合所有的评分结果来对整体目标进行更精确的识别。
本发明达到的有益效果是:
本发明提出一种通过提高局部信息的因果可解释性的改进YOLOv7算法进行可见光下的海上目标识别,利用局部注意力机制得到对分类结果起重要作用的局部信息,通过提高Yolov7主干网络对识别目标图像的理解,从而提高模型的检测效果,以及模型的可解释性。
本发明通过对YOLOv7算法进行可解释性研究,对数据和模型进行因果推断,可以加深对数据和模型的理解,从而找到影响模型效果的关键点,提升算法性能,对比传统的海上目标识别方法和现有的深度学习目标检测方法,本发明技术方***性、实时性和可解释性都得到了极大提升,使其可广泛应用于海洋监测、救援、渔业养殖等领域,具有良好的实用性和经济效益。
本发明的可见光海上目标检测装置包括船载光电***、图像预处理模块、目标检测模块和数据处理模块等组成部分。其中,船载光电***用于采集海上目标图像,图像预处理模块用于对图像进行预处理,例如图像去噪、图像增强等操作,目标检测模块用于识别和定位图像中的目标,数据处理模块用于将检测结果输出到相应的设备或***中。
附图说明
图1为一种基于改进YOLOv7算法的可见光下海上目标检测方法的网络结构示意图。
图2为一种基于改进YOLOv7算法的可见光下海上目标检测方法中各结构的示意图。
图3为一种基于改进YOLOv7算法的可见光下海上目标检测方法中E-ELAN的结构示意图。
图4为一种基于改进YOLOv7算法的可见光下海上目标检测方法中注意力机制的结构示意图。
具体实施方式
下面结合附图对本发明的技术方案进行更详细的说明,本发明包括但不仅限于下述实施例。
本发明提供了本发明提出一种基于改进YOLOv7算法的可见光下海上目标检测方法,该可见光下海上目标检测方法包括如下步骤:
步骤1,通过船载光电设备采集水面目标图像数据,并将图像数据分成训练集和测试集后进行预处理;
在步骤1中,船载光电***等设备安装于无人艇等海上设备顶部或者侧部,在行进过程中在可见光条件下,对水面目标进行拍摄。为了提高***识别的实时性,将拍摄的RGB图像转为灰度图像。将采集到的图像数据,首先按照7:3的比例,分成训练集和测试集,然后对所有图像数据进行预处理,预处理步骤包括将所有图片裁剪成切割为640X 640的大小,并对所有图片中的水面目标进行目标框标注,目标框的信息参数包括“Categorty”、“bbox-x”、“bbox-y”、“bbox-w”、“bbox-h”分别对应检测类别ID,目标中心点x坐标、目标中心点y坐标、目标相对整图宽度、目标相对整图高度,将标注后的信息存放在txt文件中;
步骤2,通过具有局部注意力机制的神经网络对图像数据进行初步进行目标识别,获取全局加权特征图;
具体包括以下步骤:
步骤21,使用YOLOv7网络生成三个不同尺度的特征图;
如附图1-2所示,使用Yolov7作为目标识别使用的网络结构,首先将预处理好的图片输入主干网络中,经过head层网络输出三层不同尺寸的特征图,经过表征层和卷积层输出预测结果。其中主干网络共50层,首先是4层的CBS卷积层,经过多个CBS卷积层之后特征图大小变为160X 160X 128。
CBS模块在YOLOv7中被用作检测头中的一个重要组成部分,用于提高检测精度和效率。在YOLOv7的检测头中,CBS模块被多次堆叠,用于生成预测框的位置和置信度信息。
CBS是Yolov7网络中的一种基本模块,用于进行特征提取。CBS结构可以有效的提高模型性能,同时减少模型的计算复杂度,在一定程度上降低计算量和内存消耗,缓解了模型的计算压力。它包含依次连接的卷积层(Conv层)、Batch normalization层(BN层)和SiLU层。
然后经过ELAN模块,ELAN由多个卷积层构成,使用组卷积来增加添加特征的基数,并以打乱和基数融合的方式组合不同组的特征。使用这种操作方式增强不同特征图学习到的特征,提高参数的使用和计算,解决在执行模型缩放时深度模型的收敛性会逐渐恶化的问题。ELAN的结构如图3所示,其可保证特征图的大小保持不变。
ELAN模块可以有效地聚合局部特征信息,同时减少计算量和存储空间,从而提高模型的性能和计算效率。当前,ELAN模块已经成功地应用于多种图像分类任务中,取得了良好的效果。
ELAN模块在YOLOv7中被用作主干网络中的一个重要组成部分,用于提取图像特征。在YOLOv7的主干网络中,ELAN模块被多次堆叠,以增强特征提取能力和特征表达能力。具体来说,每个ELAN模块包括一个局部聚合层和一个特征重构层,局部聚合层用于对输入特征图进行分区域处理,以捕捉不同位置和尺度的特征信息,特征重构层则用于将不同位置和尺度的特征信息融合在一起,生成具有更高语义信息的全局特征。
ELAN模块的主要目的是有效地聚合局部特征信息,并且减少冗余的计算,从而提高模型的性能和计算效率。ELAN模块由两个主要的组件组成:局部聚合层和特征重构层。
局部聚合层分为以下几个步骤:
将输入特征图分成若干个不重叠的局部区域,每个区域大小为N*N。
对每个局部区域的特征进行聚合,聚合方式可以是平均池化、最大池化、全局平均池化等。
将每个局部区域的聚合结果拼接起来,得到全局的局部聚合特征图。
而特征重构层则是通过上采样、卷积等操作将局部聚合特征图重新组合成原始特征大小的特征。
特征重构层分为以下几个步骤:
对局部聚合特征图进行上采样操作,使其大小与原始特征图相同。
将上采样后的局部聚合特征图与原始特征图进行逐元素相加,得到特征融合后的结果。
对融合后的特征进行卷积操作,以得到最终的特征表示。
ELAN主要用于特征提取,CBS主要用于预测框生成,两者的结合可以显著提高YOLOv7的目标检测性能和效率。
在YOLOv7的主干网络中,ELAN模块通常被堆叠在一起,以增强特征提取能力和特征表达能力。这些ELAN模块输出的特征图经过一个MaxPooling层进行下采样,生成尺寸更小的特征图作为后续处理的输入。
MaxPooling层在CNN中,池化操作被广泛应用于减少特征图尺寸和参数数量,从而加快模型的计算速度和减小模型的存储空间。最大池化层是池化操作的一种,其具体作用是在特征图中滑动一个固定大小的窗口,并从窗口内选择最大值作为输出。最大池化层可以有效地减小特征图的尺寸,并提取出局部最大值特征,从而提高模型的鲁棒性和泛化能力。
三个最大池化模块MP-1由最大池化层和CBS构成,三种不同通道数的输出特征图C3,C4和C5,其大小分别为:80X80X512,40X40X1024,以及20X20X1024。
在YOLOv7中,每个ELAN模块输出的特征图经过一个MaxPooling层进行下采样,以减小特征图的尺寸和参数数量,并提高模型的计算效率。最大池化层的大小通常为2x2或3x3,可以通过设置步长来控制下采样的程度。经过多次堆叠和下采样后,最终得到的特征图尺寸较小,但具有更高级别的语义信息,可以提高模型的目标检测精度和泛化能力。
YOLOv7的head层首先得到主干网络输出的32倍降采样特征图C5,首先经过SPPCSP模块,将通道数降低为512,生成特征图C5′;其次通过CBS进一步将通道数降低为256;最后通过上采样模块Upsample将特征图调整为40X40X256。特征图C4通过CBS也将通道数调整为256后与特征图C5生成的40X40X256通过特征图拼接模块cat按通道方向拼接在一起。
其中,上采样模块Upsample,用于将特征图的尺寸扩大两倍,通常使用反卷积(Deconvolution)或双线性插值(Bilinear Interpolation)等方式实现。特征图拼接模块cat用于将两个特征图按通道方向拼接在一起。
拼接后的特征图通过量级特征提取模块ELAN-W生成40X40X256的特征图C4′,再通过CBS和上采样模块Upsample处理生成80X80X128的特征图,特征图C3通过CBS也将通道数调整为128后与该特征图通过特征图拼接模块cat拼接生成80X80X256的特征图,该特征图通过量级特征提取模块ELAN-W进一步生成80X80X128的特征图C3′。
ELAN-W:轻量级特征提取模块,由多个ELAN模块和一个SELayer组成,ELAN-W模块可以有效提取输入特征图的高级语义信息,从而提高检测精度和泛化能力。
特征图C3′通过重复模块REP和特征融合模块CMB输入局部注意力机制模块。重复模块REP用于多次堆叠某一种模块或多种模块,以增强特征提取和表达能力。特征融合模块CMB用于将多个特征图进行加权融合,生成最终的检测结果。
特征图C3′同时通过最大池化模块MP-2处理与特征图C4′通过特征图拼接模块cat拼接,并通过量级特征提取模块ELAN-W生成40X40X256的C4″。特征图C4″通过重复模块REP和特征融合模块CMB输入局部注意力机制模块。最大池化模块MP-2,用于将特征图的尺寸缩小一半。MP-2模块通常使用2x2的窗口和步长为2的方式实现下采样。
特征图C4″通过轻量级特征提取模块ELAN-W和最大池化模块MP-2处理与特征图C5′通过特征图拼接模块cat拼接,并通过量级特征提取模块ELAN-W生成20X20X512的C5″。特征图C5″通过重复模块REP和特征融合模块CMB输入局部注意力机制模块。
在YOLOv7中,检测网络的输入为原始图像,经过骨干网络(不在图中)得到一系列特征图。其中,经过ELAN-W、MP-2和REP模块处理后,得到尺寸为80x80、40x40和20x20的特征图。这些特征图包含不同尺度的目标信息,可以通过CMB模块进行特征融合,并经过多层卷积和全连接层后得到最终的检测结果。YOLOv7的输出为三个不同尺度的特征图,它们的尺寸分别为80x80、40x40和20x20,每个特征图对应3个不同大小的锚框,每个锚框预测85个值(4个坐标值、1个目标置信度值和80个类别置信度值)。这些特征图和锚框可以通过后处理模块(如NMS算法)得到最终的检测结果,包括检测框的坐标和类别。
步骤22,如附图4所示,在训练过程中使用局部注意力机制模块,进一步识别重要的局部特征。
局部注意力机制模块包含一个多层注意力机制和一个前馈全连接网络,将YOLOv7主干网络所生成的特征图输入多层注意力层中,得到全局的注意力评分,选取得分最高的部分单独输入注意力层,前馈网络输出最终每个部分的特征图,根据这些特征图,生成相应的原型向量。
在局部注意力机制模块中,进一步引入了细粒度注意力机制(Fine-GrainedAttention),用于增强网络对目标的关注和理解能力。细粒度注意力机制的核心思想是将输入特征图分为多个子图块,并在子图块上进行注意力加权。自注意力可以学习到输入序列中不同位置之间的依赖关系,并根据这些依赖关系对序列中的不同位置进行加权。在细粒度注意力机制中,可以将输入特征图看作一个序列,然后使用自注意力来计算每个子块在整个特征图中的重要性。
本专利的细粒度注意力机制分为两个步骤:
1、子图块划分
将输入特征图按固定大小或固定数量划分为多个子图块,如3x3或5x5的网格。每个子块包含了原始特征图中的一小块区域,这些子块可以根据不同的划分方式得到,常见的子图块划分方式有基于网格的划分、基于均匀采样的划分、基于聚类的划分等,每个子图块包含了特征图中的一小部分信息。
YOLOv7网络包含了多个卷积层和池化层,通过这些层对输入图像进行多次下采样,从而生成不同尺度的特征图。在生成特征图之后,为了提高目标检测的精度和效率,YOLOv7使用子图块划分的策略。这意味着将每个特征图划分为多个较小的子图块,并在每个子图块上进行目标检测。子图块是YOLOv7已经提取的特征图上进行注意力加权,通过注意力机制加权,可以在特征图上得到重要性得分较高的部分,将这些部分视为关键局部信息。
子图块划分的目的是对不同区域的特征进行更精细的分析和检测,以便提高目标检测的准确性和定位能力。通过将特征图划分出多个子图块,YOLOv7可以对每个子图块独立进行目标检测,减少了冗余计算并提高了效率。
2、细粒度注意力加权
对每个子图块进行细粒度注意力加权,得到每个子图块的权重。这里采用了Squeeze-and-Excitation(SE)注意力机制,它包括:(1)Squeeze:将每个子图块的特征图在通道维度上进行全局池化,得到每个通道的平均值。这个步骤可以将每个子图块的特征压缩到一个较小的向量中。(2)Excitation:将池化后的向量输入一个多层感知机(MLP)中,经过激活函数和归一化后得到一个权重向量,用于对子图块中的特征图进行加权。
最终,对每个子图块进行细粒度注意力加权后,将加权后的子图块拼接在一起得到全局加权特征图,用于后续的目标检测。
全局池化:全局池化操作通常在特征图生成之后的阶段进行。全局池化在目标检测算法中通常用于将整个特征图压缩为固定大小的特征向量。在本实施例中,全局池化可能在特征图生成之后、目标检测之前的阶段进行。
多层感知机:多层感知机(MLP)通常用于对特征向量进行进一步的处理和映射。在本实施例中,具体的MLP操作在目标检测的阶段进行,用于处理全局池化后的特征向量,以提取更高层次的语义信息。
图块拼接:在本实施例中,图块拼接(concatenation)用于将不同尺度的特征图进行拼接,以获得更丰富的特征表示。图块拼接操作在目标检测的阶段进行,用于将不同尺度的特征图拼接成一个统一的特征图,以进行目标检测和预测。
自注意力机制对于输入序列X=[x1,x2,...,xn],其中,xn表示每个子图块在通道维度上进行全局池化的特征向量,通过一个线性投影将其转化为H=[h1,h2,...,hn],之后将H输入多层注意力层,该层加入了skipconnection(SC)和batch normalization(BN)。
多层注意力层是一种基于自注意力机制的深度学习模型,它的输入是一个由n个向量hi组成的矩阵H∈Rn×d,其中d为每个向量hi的维度。多层注意力层通过将每个向量hi与其他向量进行比较,然后根据比较结果给每个向量分配一个权重,从而生成一组新的向量表示。
多层注意力层的实现可以分为以下几个步骤:
对输入矩阵H进行线性变换,得到三个新的矩阵:查询矩阵Q∈Rn×d′键矩阵K∈Rn×d′和值矩阵V∈Rn×d″,其中d′和d″是新的维度,可以通过调整参数进行控制。
计算查询矩阵Q和键矩阵K之间的相似度得分,得到注意力权重矩阵A∈Rn×n。常用的相似度计算方法包括点积计算、加性计算等。
对注意力权重矩阵A进行归一化处理,得到归一化的注意力矩阵S∈Rn×n,其中每行的元素和为1。
将注意力矩阵S与值矩阵V进行加权求和,得到新的向量表示O∈Rn×d″,即:O=S.V
将新的向量表示O与原始向量表示H进行拼接,得到一个新的向量表示H′∈Rn×2d″,即:
H′=[H,O]
将新的向量表示H′经过线性变换和激活函数,得到最终的输出向量表示
将输入Feed Forward(FF)层,之后输出为/>即为每个子图块进行细粒度注意力加权。
通过将原有的交叉熵损失函数进行优化,加入额外的惩罚函数构成新的损失函数,对模型进行进一步的性能提升。直到损失函数下降至平稳收敛,将模型参数保存,对其他图片进行目标识别。损失函数的具体形式如下:
其中,N为样本数量,K表示样本种类数,x为不同的图片,xi表示第i个样本的特征向量,xj表示第j个样本的特征向量,xj′表示第j′个样本的特征向量,δ表示若xi和xj为同一目标类别则为1,否则为0;d为不同图片在特征空间中的欧式距离,表示不同图片与类别特征向量在特征空间中的欧式距离,r为同一类别,Rs为所有类别的集合,vr为该目标的原型向量。
其中的交叉熵主要是为了让模型具有基本的目标识别能力,第二项则是为了使得局部注意力机制所识别的局部信息与其他不同类信息之间的距离更远,第三项是为了使得局部注意力机制所识别的局部信息与其同类信息的之间的距离更近。从而使得模型的分界更加清晰,进而提高模型的效果。
步骤3,通过预训练模型中的局部注意力机制对特征图进行关键局部信息识别;
预训练模型是指本方案中使用的改进yolov7模型在大规模数据集上预先训练好的模型。在使用保存的预训练模型对测试集图片中包含的目标进行识别时,一般会使用在大规模图像数据集上预训练好的模型,如ImageNet数据集。
在YOLOv7的训练过程中,还包括以下步骤:
步骤31,也称为"预训练"。在预训练阶段,YOLOv7使用ImageNet数据集进行训练,这是一个包含大量图像和对应标签的广泛用途的图像分类数据集。通过在ImageNet数据集上进行训练,YOLOv7模型可以学习到基本的特征表示和图像理解能力。
步骤32,在预训练之后,YOLOv7使用获取的训练集数据进行"微调"或"目标特定的训练",这被称为大规模数据集的训练。大规模数据集通常是指特定领域的数据集,例如在海上目标检测任务中使用的海上目标图像数据集。通过在特定领域的大规模数据集上进行训练,YOLOv7可以进一步优化模型以适应特定任务和场景,并提高目标检测的性能。
预训练模型中的关键局部信息是指在预训练过程中,模型学习到的在大规模数据集上出现频率较高、对于图像分类任务具有重要作用的特征。这些特征包括边缘、角点、纹理等等。在使用预训练模型对测试集图片中的目标进行识别时,模型会利用这些关键局部信息对目标进行分类。
关键局部信息是指对于海上目标的识别框内的内容的局部特征和上下文信息,这些信息有助于更准确地定位和分类目标。这些关键局部信息通常需要通过一些特定的方法,如关键点检测等,进行获取和标注,然后再应用到目标识别的任务中。
获得图片中的关键局部信息通常需要进行目标检测或关键点检测。目标检测是指在图片中检测出目标的位置和边界框,关键点检测则是在目标检测的基础上,对目标的关键点进行定位。
对于图片中的关键局部信息,***可以进行多种类别识别,包括以下几种:
目标分类:***可以识别图片中的目标,例如人、船、浮标等,从而对图片进行分类。
行为识别:***可以识别图片中的人物行为,例如走路、跑步等,从而对图片进行分类。
特征识别:***可以识别图片中的特征,例如颜色、形状等,从而对图片进行分类。
场景识别:***可以识别图片中的场景,例如晴天、阴天、夜晚等,从而对图片进行分类。
在本实施方式中,可见光条件下的海上目标重点局部信息包括目标的颜色、形状、纹理、大小等信息。
这些类别识别可以帮助算法更好地理解图片中的内容,从而对其进行更深入的分析和应用。
步骤4,将关键局部信息比对,最后选出相似性最高的类别。
在测试集上进行目标检测,需要通过与计算训练过程中提取到的每一类目标的局部特征相似度概率来确定,通过对整体进行对比打分,选出得分最高的一类,细粒度注意力机制不仅针对整体进行打分,也需要对每一部分进行单独的打分,综合所有的打分来对整体目标进行更精确的识别。
使用Yolov7结合之前所述的注意力机制获取重点局部信息,大致步骤为:使用Yolov7进行目标检测,获取目标的位置信息。使用注意力机制对目标位置附近的区域进行特征提取,以提取目标的重点局部信息。将特征向量与已知目标的特征向量进行比对,以识别目标。在使用注意力机制的同时,还需要进行模型训练和参数调优等工作,以获得更好的识别效果。
相比其他算法,如Faster R-CNN、YOLO、SSD等,使用Yolov7结合注意力机制可以获得更加准确和可靠的目标识别结果。可以使用不同的指标对比算法的表现,如准确率、召回率、F1得分、以及ROC曲线、混淆矩阵等。
对于海上无人平台来说,目前的目标检测算法主要应用于理想环境状态下,在真实的海洋环境状况下存在样本数据不足、受环境因素干扰、成像效果差等问题,制约了海洋智能环境感知的技术发展,难以较好的解决海上目标识别的准确度和实时性。
本发明通过对YOLOv7算法进行可解释性研究,对数据和模型进行因果推断,可以加深对数据和模型的理解,从而找到影响模型效果的关键点,提升算法性能,对比传统的海上目标识别方法和现有的深度学习目标检测方法,本发明技术方***性、实时性和可解释性都得到了极大提升。
发明不仅局限于上述具体实施方式,本领域一般技术人员根据实施例和附图公开内容,可以采用其它多种具体实施方式实施本发明,因此,凡是采用本发明的设计结构和思路,做一些简单的变换或更改的设计,都落入本发明保护的范围。
Claims (7)
1.一种基于改进YOLOv7算法的可见光下海上目标检测方法,其特征在于,所述可见光下海上目标检测方法包括以下步骤:
步骤1,通过船载光电设备采集水面目标图像数据,并将图像数据分成训练集和测试集后进行预处理;
步骤2,通过具有局部注意力机制的神经网络对图像数据进行初步进行目标识别,获取全局加权特征图;
步骤3,通过预训练模型中的局部注意力机制对特征图进行关键局部信息识别;
步骤4,将关键局部信息比对,最后选出相似性最高的类别。
2.根据权利要求1所述基于改进YOLOv7算法的可见光下海上目标检测方法,其特征在于,在步骤2中,还包括以下步骤:
步骤21,使用YOLOv7网络生成三个不同尺度的特征图;
步骤22,在训练过程中使用局部注意力机制模块,进一步识别重要的局部特征;
在步骤22中,所述局部注意力机制模块将输入特征图按固定大小或固定数量划分为多个子图块;分别对每个子图块进行细粒度注意力加权,将加权后的子图块拼接在一起得到全局加权特征图。
3.根据权利要求2所述基于改进YOLOv7算法的可见光下海上目标检测方法,其特征在于,在步骤2中,所述细粒度注意力加权将每个子图块的特征图在通道维度上进行全局池化,得到每个通道的平均值;将池化后的向量输入一个多层感知机中,经过激活函数和归一化后得到一个权重向量,用于对子图块中的特征图进行加权。
4.根据权利要求2所述基于改进YOLOv7算法的可见光下海上目标检测方法,其特征在于,在步骤2中,通过将交叉熵损失函数进行修改,加入额外的惩罚函数构成新的损失函数,对模型进行进一步的优化,损失函数的具体形式如下:
其中,N为样本数量,K表示样本种类数,x为不同的图片,xi表示第i个样本的特征向量,xj表示第j个样本的特征向量,xj′表示第j′个样本的特征向量,δ表示若xi和xj为同一目标类别则为1,否则为0;d为不同图片在特征空间中的欧式距离,表示不同图片与类别特征向量在特征空间中的欧式距离,r为同一类别,Rs为所有类别的集合,vr为该目标的原型向量。
5.根据权利要求2所述基于改进YOLOv7算法的可见光下海上目标检测方法,其特征在于,在步骤2中,所述细粒度注意力对于输入序列X=[x1,x2,...,xn],其中,xn表示每个子图块在通道维度上进行全局池化的特征向量,通过一个线性投影将其转化为H=[h1,h2,...,hn],H∈Rn×d,其中d为每个向量hi的维度;
对输入矩阵H进行线性变换,得到三个新的矩阵:查询矩阵Q∈Rn×d′键矩阵K∈Rn×d′和值矩阵V∈Rn×d″,其中d′和d″是新的维度,可以通过调整参数进行控制;
计算查询矩阵Q和键矩阵K之间的相似度得分,得到注意力权重矩阵A∈Rn×n;
对注意力权重矩阵A进行归一化处理,得到归一化的注意力矩阵S∈Rn×n,其中每行的元素和为1;
将注意力矩阵S与值矩阵V进行加权求和,得到新的向量表示O∈Rn×d″,即:O=S·V;
将新的向量表示O与原始向量表示H进行拼接,得到一个新的向量表示H′∈Rn×2d″,即:H′=[H,O];
将新的向量表示H′经过线性变换和激活函数,得到最终的输出向量表示将输入Feed Forward(FF)层,之后输出为/>即为每个子图块进行细粒度注意力加权。
6.根据权利要求1所述基于改进YOLOv7算法的可见光下海上目标检测方法,其特征在于,在步骤3中,还包括以下步骤:
步骤31,在预训练阶段,神经网络使用ImageNet数据集进行训练;
步骤32,使用获取的训练集数据进行目标特定的训练,以进一步优化神经网络模型以适应特定任务和场景,并提高目标检测的性能。
7.根据权利要求2所述基于改进YOLOv7算法的可见光下海上目标检测方法,其特征在于,在步骤4中,所述局部注意力机制对各子图块提取的局部特征和特征图整体进行评分,综合所有的评分结果来对整体目标进行更精确的识别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310690798.6A CN116863293A (zh) | 2023-06-12 | 2023-06-12 | 一种基于改进YOLOv7算法的可见光下海上目标检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310690798.6A CN116863293A (zh) | 2023-06-12 | 2023-06-12 | 一种基于改进YOLOv7算法的可见光下海上目标检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116863293A true CN116863293A (zh) | 2023-10-10 |
Family
ID=88227622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310690798.6A Pending CN116863293A (zh) | 2023-06-12 | 2023-06-12 | 一种基于改进YOLOv7算法的可见光下海上目标检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116863293A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117197137A (zh) * | 2023-11-07 | 2023-12-08 | 山东大学 | 基于高光谱图像的组织样本分析方法及*** |
-
2023
- 2023-06-12 CN CN202310690798.6A patent/CN116863293A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117197137A (zh) * | 2023-11-07 | 2023-12-08 | 山东大学 | 基于高光谱图像的组织样本分析方法及*** |
CN117197137B (zh) * | 2023-11-07 | 2024-02-09 | 山东大学 | 基于高光谱图像的组织样本分析方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110472627B (zh) | 一种端到端的sar图像识别方法、装置及存储介质 | |
CN111639692B (zh) | 一种基于注意力机制的阴影检测方法 | |
CN114202696A (zh) | 基于上下文视觉的sar目标检测方法、装置和存储介质 | |
CN109815956B (zh) | 一种基于自适应位置分割的车牌字符识别方法 | |
CN114972213A (zh) | 一种基于机器视觉的两阶段主板图像缺陷检测及定位方法 | |
CN117253154B (zh) | 一种基于深度学习的集装箱弱小序列号目标检测识别方法 | |
Nguyen et al. | Satellite image classification using convolutional learning | |
CN113343989B (zh) | 一种基于前景选择域自适应的目标检测方法及*** | |
CN113052200A (zh) | 一种基于yolov3网络的声呐图像目标检测方法 | |
CN110991257A (zh) | 基于特征融合与svm的极化sar溢油检测方法 | |
CN116863293A (zh) | 一种基于改进YOLOv7算法的可见光下海上目标检测方法 | |
CN116468995A (zh) | 一种联合slic超像素和图注意力网络的声呐图像分类方法 | |
CN112149526A (zh) | 一种基于长距离信息融合的车道线检测方法及*** | |
Fan et al. | A novel sonar target detection and classification algorithm | |
Zuo et al. | A remote sensing image semantic segmentation method by combining deformable convolution with conditional random fields | |
CN115115863A (zh) | 水面多尺度目标检测方法、装置及***和存储介质 | |
CN117372853A (zh) | 一种基于图像增强和注意力机制的水下目标检测算法 | |
Chicchon et al. | Semantic segmentation of fish and underwater environments using deep convolutional neural networks and learned active contours | |
Zhang et al. | Novel approaches to enhance coral reefs monitoring with underwater image segmentation | |
CN116503603B (zh) | 一种基于弱监督语义分割和特征弥补的类间遮挡目标检测网络模型的训练方法 | |
CN116486203B (zh) | 一种基于孪生网络和在线模板更新的单目标跟踪方法 | |
Yan et al. | Optical remote sensing image waters extraction technology based on deep learning context-unet | |
Sui et al. | Near-infrared maritime target detection based on Swin-Transformer model | |
CN113313091B (zh) | 仓储物流下的基于多重注意力和拓扑约束的密度估计方法 | |
CN112419227B (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 |