基于扩张坐标注意力的改进YOLOv3目标检测方法转让专利

申请号 : CN202111120554.1

文献号 : CN113837275B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨真真郑艺欣杨永鹏邵静

申请人 : 南京邮电大学

摘要 :

本发明公开了一种基于扩张坐标注意力的改进YOLOv3目标检测方法,包括:采用具有不同扩张率的并行的多个扩张卷积结构对坐标注意力模块进行改进,引入扩张坐标注意力模块,构建得到改进YOLOv3目标检测网络;采用多尺度训练策略,预先设定更多不同尺度的图像进行训练。本发明与其他先进的目标检测算法相比,具有更高的检测精度。

权利要求 :

1.一种基于扩张坐标注意力的改进YOLOv3目标检测方法,其特征在于,所述检测方法包括以下步骤:采用具有不同扩张率的并行的多个扩张卷积结构对坐标注意力模块进行改进,引入扩张坐标注意力模块,构建得到改进YOLOv3目标检测网络;采用多尺度训练策略,预先设定多种具有不同尺度的图像对改进YOLOv3目标检测网络进行训练;

所述改进YOLOv3目标检测网络的主干网络是Darknet‑53,包括依次连接的一个3×3的卷积层和5组残差块;输入的图像通过3×3的卷积层后,将通道数调整为32;每个残差块均包括一个1×1的卷积层、一组重复执行的残差单元,自前向后5组残差块分别重复执行1次、

2次、8次、8次和4次;每个残差单元由两个DBL单元构成,每个DBL单元由卷积层、标准化层和激活函数层组成;

浅层特征层和中层特征层上采样的结果进行堆叠,得到中层特征图的预测结果;同样,中层特征图也与同样经过上采样处理的深层特征图进行堆叠,通过堆叠构建特征金字塔,输出三个形状不同的特征层;

所述扩张坐标注意力模块连接在第三个残差块与第二个残差块之间;

所述扩张坐标注意力模块包括残差层、X轴平均池化层、Y轴平均池化层、扩张卷积结构、第一卷积层、BN层、两个第二卷积层、两个激活函数和re‑weight层;

所述残差层的输出端直接与re‑weight层连接;同时,残差层的输出端依次通过呈并联关系的X轴平均池化层和Y轴平均池化层、扩张卷积结构、第一卷积层与BN层的输入端连接;

BN层的输出端分别与两个呈并联结构的第二卷积层和激活函数的组合体连接,两个激活函数的输出端均连接至re‑weight层。

2.根据权利要求1所述的基于扩张坐标注意力的改进YOLOv3目标检测方法,其特征在于,所述多个扩张卷积结构的原始卷积核大小相同,扩张率不同;

根据下述公式计算得到每个扩张卷积结构的实际卷积核大小R:

R=k+(k‑1)(d‑1)=kd‑d+1

其中,d为扩张卷积的扩张率,k为原始卷积核大小。

3.根据权利要求1所述的基于扩张坐标注意力的改进YOLOv3目标检测方法,其特征在于,三个特征层的大小分别为52×52、26×26和13×13。

4.根据权利要求1所述的基于扩张坐标注意力的改进YOLOv3目标检测方法,其特征在于,采用多尺度训练策略,预先设定多种具有不同尺度的图像对改进YOLOv3目标检测网络进行训练的过程包括以下步骤:预先设定一个尺度范围,训练时每隔一些batches在该尺度范围内随机更改输入图像的尺寸,且为32的倍数;

不改变网络结构,针对更改得到的多尺度的输入图像,仍由单个尺度进行训练。

说明书 :

基于扩张坐标注意力的改进YOLOv3目标检测方法

技术领域

[0001] 本发明涉及图像处理技术领域,具体而言涉及一种基于扩张坐标注意力的改进YOLOv3目标检测方法。

背景技术

[0002] 基于计算机视觉的目标检测一直是研究热点,目标检测通过用矩形框标记图像中目标的位置以及大小,并能够识别出目标类别。目标检测器可以适用于各种各样的应用场景,因此发挥着重要作用。传统的目标检测算法的特征大多是人为手动设计的,计算开销大,速度和精度也低,在实际应用中难以满足对检测速度和精度的需求。随着信息技术的发展,能够学习图像的鲁棒性和高层次特征表示的卷积神经网络(Convolutional Neural Network,CNN)为深度学习目标检测算法提供了新思路。基本分为两个方向:基于候选区域的两阶段检测器和基于一体化卷积神经网络的两阶段检测器。
[0003] 基于候选区域的两阶段检测器一般来说检测的精度较高,分为两步,第一步是获取候选区域,第二步是对候选区域的目标分类和坐标回归。两阶段检测器毕竟是两级检测器,往往很准确,但在实际应用中存在一些速度限制。因此,学者们提出了一阶段检测器,这是个一步到位的过程,直接使用卷积神经网络提取特征进行目标检测。
[0004] YOLOv1算法,实现了通过单个神经网络进行目标检测,将图像分割成多个区域,预测每个区域的边界框和概率,速度变快但与两阶段检测器相比精度有所下降。YOLOv2算法在v1的基础上在每一个卷积层引入了标准化层,主干网络为Darknet‑19,有效提升目标检测精度并保持检测速度。而YOLOv3引入了多尺度特征,使用了更深层的新主干网络Darknet‑53代替原来的Darknet‑19,改变了网络结构并且提升了网络精度。SSD算法在YOLO v1算法的基础上去掉了全连接层并引入了锚点机制从而提升了精度,特别是对一些小目标的检测效果较好。Retinanet也是一种基于CNN的一阶段检测算法,验证了Focal Loss的有效性。EfficientDet在EfficientNet的基础上加入了双向特征金字塔(Bidirectional Feature Pyramid Network,BiFPN),检测精度有所提升。基于卷积神经网络的目标检测器占据了重要地位,尤其是YOLOv3,作为一阶段检测器在实践中得到了广泛应用。
[0005] 但是目前的YOLOv3网络仍然存在以下缺陷:(1)目标检测的鲁棒性和精度不高;(2)使用小卷积的卷积核感受野较小、对图像特征提取不充分;(3)原始YOLOv3网络中层数较深,浅层特征层多次卷积之后输入图像的小物体特征容易消失,特征提取不充分。

发明内容

[0006] 本发明针对现有技术中的不足,提供一种基于扩张坐标注意力的改进YOLOv3目标检测方法,与其他先进的目标检测算法相比,具有更高的检测精度。
[0007] 为实现上述目的,本发明采用以下技术方案:
[0008] 本发明实施例提出了一种基于扩张坐标注意力的改进YOLOv3目标检测方法,所述检测方法包括以下步骤:
[0009] 采用具有不同扩张率的并行的多个扩张卷积结构对坐标注意力模块进行改进,引入扩张坐标注意力模块,构建得到改进YOLOv3目标检测网络;采用多尺度训练策略,预先设定多种具有不同尺度的图像对改进YOLOv3目标检测网络进行训练。
[0010] 进一步地,所述多个扩张卷积结构的原始卷积核大小相同,扩张率不同;
[0011] 根据下述公式计算得到每个扩张卷积结构的实际卷积核大小R:
[0012] R=k+(k‑1)(d‑1)=kd‑d+1
[0013] 其中,d为扩张卷积的扩张率,k为原始卷积核大小。
[0014] 进一步地,所述改进YOLOv3目标检测网络的主干网络是Darknet‑53,包括依次连接的一个3×3的卷积层和5组残差块;输入的图像通过3×3的卷积层后,将通道数调整为32;每个残差块均包括一个1×1的卷积层、一组重复执行的残差单元,自前向后5组残差块分别重复执行1次、2次、8次、8次和4次;每个残差单元由两个DBL单元构成,每个DBL单元由卷积层、标准化层和激活函数层组成;
[0015] 浅层特征层和中层特征层上采样的结果进行堆叠,得到该特征图的预测结果;同样,中层特征图也与同样经过上采样处理的深层特征图进行堆叠,通过堆叠构建特征金字塔,输出三个形状不同的特征层。
[0016] 进一步地,三个特征层的大小分别为52×52、26×26和13×13。
[0017] 进一步地,所述扩张坐标注意力模块连接在第三个残差块与第二个残差块之间;
[0018] 所述扩张坐标注意力模块包括残差层、X轴平均池化层、Y轴平均池化层、扩张卷积结构、第一卷积层、BN层、两个第二卷积层、两个激活函数和re‑weight层;
[0019] 所述残差层的输出端直接与re‑weight层连接;同时,残差层的输出端依次通过呈并联关系的X轴平均池化层和Y轴平均池化层、扩张卷积结构、第一卷积层与BN层的输入端连接;BN层的输出端分别与两个呈并联结构的第二卷积层和激活函数的组合体连接,两个激活函数的输出端均连接至re‑weight层。
[0020] 进一步地,采用多尺度训练策略,预先设定多种具有不同尺度的图像对改进YOLOv3目标检测网络进行训练的过程包括以下步骤:
[0021] 预先设定一个尺度范围,训练时每隔一些batches在该尺度范围内随机更改输入图像的尺寸,且为32的倍数;
[0022] 不改变网络结构,针对更改得到的多尺度的输入图像,仍由单个尺度进行训练。
[0023] 本发明的有益效果是:
[0024] 本发明首先采用不同扩张率的并行扩张卷积对坐标注意力模块进行改进,提出了扩张坐标注意力模块,该模块改善了使用小卷积核感受野较小、对图像特征提取不充分的问题,融合了不同感受野下的特征映射,增强了对各个尺度检测目标的信息提取,改善了目标检测的准确性;并在YOLOv3的主干特征提取网络的浅层特征层之前加入了扩张坐标注意力模块,改善了原始YOLOv3网络中层数较深,浅层特征层多次卷积之后输入图像的小物体特征容易消失,特征提取不充分的问题,进而提高目标检测的精度;此外,还采用多尺度训练策略,预先设定更多不同尺度的图像进行训练,使得检测目标的特征更容易被捕捉到,提升了目标检测的鲁棒性和精度。最后在PASCAL VOC2007和VOC2012数据集上进行了消融实验和对比实验。消融实验研究了多尺度训练、注意力模块、扩张卷积和扩张坐标注意力各个策略分别对改进的YOLOv3检测算法的贡献;对比实验将改进的YOLOv3算法与其他先进的目标检测算法进行了对比,验证了公开的目标检测算法具有更高的检测精度。

附图说明

[0025] 图1是本发明实施例的基于扩张坐标注意力的改进YOLOv3目标检测方法流程图。
[0026] 图2是所提出的基于注意力模块改进的扩张坐标注意力模块。
[0027] 图3是并行的扩张卷积结构示意图。
[0028] 图4是基于扩张坐标注意力的改进YOLOv3目标检测的消融实验结果示意图。
[0029] 图5是本发明实施例的方法与其他先进目标检测算法的对比图。
[0030] 图6是本发明实施例的方法与其他先进目标检测算法的比较。

具体实施方式

[0031] 现在结合附图对本发明作进一步详细的说明。
[0032] 需要注意的是,发明中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
[0033] 图1是本发明实施例的基于扩张坐标注意力的改进YOLOv3目标检测方法流程图。参见图1,该目标检测方法包括以下步骤:
[0034] 采用具有不同扩张率的并行的多个扩张卷积结构对坐标注意力模块进行改进,引入扩张坐标注意力模块,构建得到改进YOLOv3目标检测网络;采用多尺度训练策略,预先设定更多不同尺度的图像进行训练。本发明具有更高的检测精度。
[0035] 一、原理说明
[0036] 本实施例的目标检测网络是基于YOLOv3网络的改进,YOLOv3是一种端到端的目标检测算法,将目标检测问题转换成回归问题,直接检测图像。当图像输入到YOLOv3的网络中,被划分为S×S的网格,只要目标的中心点落在某个网格,该网格就用来检测该目标,同时生成矩形框定位位置,判定类别。YOLOv3的主干网络是Darknet‑53。YOLOv3首先将输入的图像通过一个3×3的卷积,通道数调整为32,然后是5组重复的残差块,每个残差块先经过一个1×1的卷积层再经过一组重复执行的残差单元,分别重复执行1次,2次,8次,8次,4次,每个残差单元由两个DBL单元构成,而每个DBL单元由卷积层、标准化层和激活函数层组成。由于每组残差块最前面的1×1卷积核步长为2,输入图像的宽和高会被不断地压缩,通道数不断扩张,故每经过一组残差块输出的特征层维度都会变为原来的1/2,一共会输出三个形状不同的特征层,三个特征层大小分别为52×52,26×26,13×13。
[0037] Darknet‑53一共有53个卷积层,除了最开始的卷积层之外,都由残差块构成。残差块由两部分组成,主干会接受正常的卷积,激活函数和标准化,另一部分和普通的卷积相比会有一个残差线从旁边引出来,不经过卷积等操作直接与尾部进行相连,对二者进行相加,得到一个残差网络块的结构,直接映射到后面的一个特征层里。残差边的存在使得网络会更容易优化和训练。
[0038] 输出的浅层特征层会和中层特征层上采样的结果进行堆叠,得到该特征图的预测结果。同样,中层特征图也与同样经过上采样处理的深层特征图进行堆叠,通过堆叠构建特征金字塔,进行多尺度特征融合,以便提取更多的特征,检测不同大小的物体。
[0039] 本实施例从以下几个角度对原始YOLOv3网络进行了改进。
[0040] (一)扩张坐标注意力模块
[0041] 示例性地,本实施例还采用不同扩张率的并行扩张卷积对坐标注意力模块进行改进,提出了扩张坐标注意力模块,扩张坐标注意力模块如图2所示。注意力模块可以学习网络中不同渠道的相关性和重要性。通道注意告诉我们“什么”,空间注意告诉我们“在哪里”,一个好的注意机制需要将通道注意和空间注意混合起来,通道注意力会给网络带来性能的提升,但是忽略了位置信息。坐标注意力将二维全局池化转换为沿垂直方向和水平方向的两个一维全局池化,使位置信息直接嵌入通道注意中,可以获得更多的信息。坐标注意力模块不仅不易丢失信息,而且能够捕获位置信息,让注意力模块能够在更大范围内起作用。
[0042] 扩张坐标注意力模块是在注意力模块的基础上加入了并行的扩张卷积结构,增大了感受野,提高了多尺度的目标检测性能。如果只是单纯增加卷积层的数量或者增大卷积核的大小,会导致以计算量增大为代价。池化操作可以增大感受野但也会损失信息。扩张卷积结构可以在不做池化操作损失信息且不额外增加计算成本的情况下增大感受野,使得卷积的输出包含较大范围的信息。扩张率为1时和正常的卷积一样,当扩张率为d,卷积核大小为k时,那么实际的卷积核大小R是
[0043] R=k+(k‑1)(d‑1)=kd‑d+1
[0044] 其中d为扩张卷积的扩张率,k为卷积核大小,R是实际的卷积核大小。当扩张率越大时,感受野也越大。并行的扩张卷积结构代替了普通的标准卷积,对输入进行重采样,再把这些分支的输出连接到一起,整合多尺度信息。4个并行的分支都是卷积核为3的扩张卷积,但扩张率不同,由此生成不同尺度的感受野,提升检测性能。在感受野增大的同时,可以避免信息的丢失,并行的扩张卷积结构如图3所示。
[0045] 由于扩张卷积可以增大感受野,且不同的扩张率会产生不同的感受野,因此扩张坐标注意力模块将并行的多扩张率的扩张卷积引入注意力模块,并行的结构使得输入进行不同的扩张卷积,在并行的扩张卷积帮助下,扩张坐标注意力模块能够更好地提取特征。
[0046] 本实施例在YOLOv3的主干特征提取网络的浅层特征层之前加入了扩张坐标注意力模块,改善了原始YOLOv3网络中层数较深,浅层特征层多次卷积之后输入图像的小物体特征容易消失,以及特征提取不充分的问题,进而提高目标检测的精度。
[0047] (二)多尺度训练策略
[0048] 示例性地,本实施例提出的目标检测方法还提出采用多尺度训练策略,预先设定更多不同尺度的图像进行训练,使得检测目标的特征更容易被捕捉到,提升了目标检测的鲁棒性和精度。YOLOv3的基础网络架构Darknet‑53都由卷积层构成,且层数较多,经过一系列卷积变换之后特征图会变小,目标也会相应变小,有些信息会丢失。此外,目标检测任务中往往需要检测不同的物体,而目标的尺度往往存在差异,大小和形状也不同,若仅使用单一尺度的图像进行训练,会导致某些目标的特征不容易被捕捉到。
[0049] 多尺度训练策略输入更多并且更大尺寸的图像来进行训练,预先设定一个尺度范围,训练时每隔一些batches在该范围内随机更改输入图像的尺寸,且为32的倍数,实际上还是由单个尺度进行训练,且不改变网络结构。通过采用输入更多不同尺度的图像进行训练,能够更对地捕获信息,对不同尺度的目标进行检测时提升鲁棒性,并且提升精度。
[0050] 二、实验验证
[0051] 本发明在PASCAL VOC2007上和PASCAL VOC2012上进行了实验,以证明提出的基于扩张坐标注意力的改进YOLOv3目标检测算法对于检测精度的提升。先进行了消融实验,研究各个策略包括多尺度训练策略、注意力模块、扩张卷积和扩张坐标注意力模块对新算法的贡献。还将新算法与其他先进的目标检测算法进行了对比实验。
[0052] 为了公平研究不同的策略的提升,在PASCAL VOC2007上和VOC2012上进行了消融实验,以研究多尺度训练策略、注意力模块、扩张卷积和扩张坐标注意力模块分别对算法的贡献。实验结果如图4所示。由于扩张坐标注意力模块是将并行的扩张卷积加入到注意力模块中,所以同时加入注意力模块和扩张卷积时,代表在YOLOv3上加入扩张坐标注意力模块。主要观察平均精度均值(Mean Average Precision,mAP)的变化。mAP是目标检测最常用的性能指标,mAP越大代表网络的检测精确度越高。
[0053] 首先,在YOLOv3的基础上加入多尺度训练策略,每隔10个批次修改输入图像尺度,它可以在不改变网络结构的情况下增强网络的鲁棒性。从图中可以看出,多尺度训练机制可以有效提升mAP,在两个数据集中分别提升0.94%和0.68%。接着分别验证了注意力模块和扩张卷积的有效性,二者都是加在YOLOv3浅层特征层之前,注意力模块可以在特征提取时挑选出更加关键有用的信息,而并行的扩张卷积结构可以产生不同大小的感受野,使得更多信息被捕获。实验表明,注意力模块和扩张卷积结构在YOLOv3上都起到了非常有效的作用,mAP都有所升高,分别在PASCAL VOC2007上提升1.25%和1%,在PASCAL VOC2012上提升1.15%和0.69%,说明注意力模块和扩张卷积结构都可以对YOLOv3的网络性能提升起到很大作用。最后验证本发明提出的扩张坐标注意力模块的引入对提出算法的贡献,也就是同时加上注意力模块和扩张卷积结构,可以看到,加了扩张坐标注意力模块之后YOLOv3的mAP分别提升了1.42%和1.79%,比只加注意力模块或扩张卷积结构都更有效,说明二者的结合是非常有贡献的。测试结果显示扩张坐标注意力的引入能够提升网络性能,说明了注意力模块和扩张卷积的有效性。同时多尺度训练机制也为算法性能的提升做出了贡献,这说明各个策略的有效性。
[0054] 为了视觉上直观地看到新算法的优越性,在图5展示了新算法与其他先进目标检测算法在同一张图像上的检测对比,包括SSD、EfficientDet‑D0、EfficientDet‑D1、YOLOv3‑SPP、Retinanet、EfficientDet‑D2以及YOLOv3。图像被不同的检测器检测后,用不同颜色的矩形框标记物体。视觉评价结果如图5所示。从图5中,可以看到公开的改进YOLOv3的物体检测结果比其他先进的物体检测器更准确。SSD、EfficientDet‑D0、EfficientDet‑D1、YOLOv3‑SPP存在漏检,与原始的YOLOv3相比,改进YOLOv3表现出更好的性能,框出的目标更加精确,能够提高目标检测的性能。同时,图6显示了新算法和其他先进的目标检测器的对比,每秒传输帧数(Frames Per Second,FPS)是指目标检测网络每秒可以处理多少帧,FPS值越大,代表检测速度越快。从图中可以看出不管是在PASCAL VOC2007还是PASCAL VOC2012数据集上,新算法的mAP都是最大的,分别为83.21%和84.32%,其次是EfficientDet‑D2,但改进YOLOv3的FPS远远大于EfficientDet‑D2。从FPS角度来看,新算法略低于YOLOv3和YOLOv3‑SPP,但mAP比它们高,且从图5的对比图像可以看出,新算法能够更准确的框出目标。综合考虑检测精度和速度,新算法能够在提升网络精确度的同时,兼顾速度。因此证明了与其他先进目标检测网络相比,新算法能提升目标检测器的性能。
[0055] 以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。