首页> 中国专利> 一种基于注意力机制和DropBlock的YOLOv5海洋鱼类目标检测方法

一种基于注意力机制和DropBlock的YOLOv5海洋鱼类目标检测方法

摘要

一种基于注意力机制和DropBlock的YOLOv5海洋鱼类目标检测方法,它包括以下步骤:步骤1:进行目标鱼类数据集的获取;步骤2:对所获得的数据集进行标注、划分;步骤3:构造加入注意力机制和DropBlock的YOLOv5海洋鱼类目标检测模型;步骤4:采用所构造的海洋鱼类目标检测模型进行鱼类的检测。本发明的目的是为了解决现有的鱼类检测方法由于海洋鱼类活动范围较大以及多样的生存环境,在水下拍摄的鱼类存在变形,无法捕捉到较为清晰的鱼类目标,影响鱼类检测的准确率,而单一的卷积神经网络提取鱼类特征易受到图像噪声的干扰,无法快速的检测出鱼类,从而影响目标检测方法的速度和精度的技术问题。

著录项

  • 公开/公告号CN114677708A

    专利类型发明专利

  • 公开/公告日2022-06-28

    原文格式PDF

  • 申请/专利权人 三峡大学;

    申请/专利号CN202210263759.3

  • 发明设计人 陈露露;臧兆祥;黄天星;

    申请日2022-03-14

  • 分类号G06V40/10;G06V20/05;G06V10/44;G06V10/774;G06V10/776;G06V10/82;G06N3/04;G06N3/08;G06K9/62;

  • 代理机构宜昌市三峡专利事务所;

  • 代理人余山

  • 地址 443002 湖北省宜昌市西陵区大学路8号

  • 入库时间 2023-06-19 15:47:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-06-28

    公开

    发明专利申请公布

说明书

技术领域

本发明属于鱼类研究技术领域,具体涉及一种基于注意力机制和DropBlock的YOLOv5海洋鱼类目标检测方法。

背景技术

海洋鱼类种类繁多、活动范围广,依靠人工统计效率低且难度大。另外,拍摄鱼类目标多为水下拍摄,存在水体浑浊、波动、以及光线扰动,导致图片中鱼类目标清晰度不高。

在现有技术中,申请公布号为CN112926652A的专利文献公开了一种基于深度学习的鱼类细粒度图像识别方法,它选取公开的海洋鱼类视频数据集,无法较好的适应并提取本国海域的鱼类特征;使用融合候选区域的卷积神经网络对鱼类图像进行检测时,检测的速度不够快,检测效果和泛化性不够好。

发明内容

本发明的目的是为了解决现有的鱼类检测方法由于海洋鱼类活动范围较大以及多样的生存环境,在水下拍摄的鱼类存在变形,无法捕捉到较为清晰的鱼类目标,影响鱼类检测的准确率,而单一的卷积神经网络提取鱼类特征易受到图像噪声的干扰,无法快速的检测出鱼类,从而影响目标检测方法的速度和精度的技术问题。

一种基于注意力机制和DropBlock的YOLOv5海洋鱼类目标检测方法,它包括以下步骤:

步骤1:进行目标鱼类数据集的获取;

步骤2:对所获得的数据集进行标注、划分;

步骤3:构造加入注意力机制和DropBlock的YOLOv5海洋鱼类目标检测模型;

步骤4:采用所构造的海洋鱼类目标检测模型进行鱼类的检测。

在步骤3中,模型结构为:将由步骤2获得的鱼类数据集依次经过第一CBS模块---第二CBS模块---第一C3模块---第三CBS模块---第二C3模块---第四CBS模块---第三C3模块---第五CBS模块---第四C3模块---SPPF模块---第六CBS模块---第一Unsample模块---第一Concat模块---第五C3模块---第七CBS模块---第二Upsample模块---第二Concat模块---第六C3模块---第八CBS模块---第三Concat模块---第七C3模块---第九CBS模块---第四Concat模块---第八C3模块;

其中,第一Unsample模块的输出与第三C3模块的输出拼接并输入第一Concat模块;

第二Unsampale模块的输出与第二C3模块的输出拼接并输入第二Concat模块;

第六C3模块的输出输入第一卷积模块Conv的输入端,第一卷积模块Conv的输出作为第一输出结果;

第七C3模块的输出输入第二卷积模块Conv的输入端,第二卷积模块Conv的输出作为第二输出结果;

第八C3模块的输出输入第三卷积模块Conv的输入端,第三卷积模块Conv的输出作为第三输出结果;

第一输出结果、第二输出结果、第三输出结果合并以获得合并后的检测结果。

第一C3模块、第二C3模块、第三C3模块、第四C3模块和第五C3模块为改进的C3模块,它包括C3模块以及与C3模块的输出连接的ECA模块;

具体的结构为:C3模块包括两条支路,第一条支路包括依次串接的CBS模块、bottleneck;另一条支路包括CBS模块;两条支路的输出拼接后再与ECA模块连接。

在ECA模块中,输入经过池化层,再经过卷积,最后经过Sigmoid激活函数得到输出,该输出与输入特征图相乘,其结果作为ECA模块的输出;

第六C3模块、第七C3模块和第八C3模块为改进的C3模块,它包括DropBlock模块、与DropBlock模块的输出连接的C3模块、与C3模块的输出连接的ECA、与ECA的输出连接的SSA;

具体的结构为:C3模块包括两条支路,第一条支路包括依次串接的CBS模块、bottleneck;另一条支路包括CBS模块;两条支路的输出拼接后串接CBS模块,再与ECA模块连接,再与SSA模块连接。

在DropBlock模块中,输入经过DropBlock丢弃局部区域信息得到输出。在ECA模块中,输入经过池化层,再经过卷积,最后经过Sigmoid激活函数得到输出,该输出与输入特征图相乘,其结果作为ECA模块的输出。在SSA模块中,输入分别经过全局最大池化层和全局平均池化层,得到W方向和H方向的特征图最大值,经过BN层,再经过卷积,最后经过Sigmoid激活函数得到输出,该输出与输入特征图相乘,其结果作为SSA模块的输出。

在步骤2中,将由步骤1获取的数据集使用LabelImg标注软件进行手工校对和标注,得到对应的标签数据。

在步骤4中,包括以下步骤:

4-1:将海洋鱼类训练集输入到步骤3中的网络中进行训练,调整模型的学习率、动量、迭代次数,采用余弦退火算法动态调整学习率;

4-2:将海洋鱼类测试集放入步骤4-1训练好的模型中,根据模型输出结果计算相关评价指标,来评价模型的性能;

若模型性能达不到预期,调整网络参数,重复步骤4-1和步骤4-2;通过计算精度(Accuracy)、查准率(Precision)、查全率(Recall)和参数量(Parameters),对方法的性能进行度量;

精度计算公式如式(3)所示,查准率计算公式如式(4)所示,查全率计算公式如式(5)所示;

其中:TP表示真正例,FP表示假正例,FN表示假负例,TN表示真负例。

与现有技术相比,本发明具有如下技术效果:

1)本发明使用融合复杂环境下小目标检测的公开数据集和适合大目标检测的自建数据集,适应鱼类多样的生存环境和检测场景;结合C3结构和ECA的特征提取网络能有效增加主干网络对通道信息的理解能力;基于特征增强和空间注意力机制的SSA结构能够提升特征信息的清晰度,使网络更加高效的处理特征图中需要关注的特征;基于DropBlock正则化方法的目标检测网络,在训练过程中可有效减少YOLOv5颈部的冗余特征,增加网络对局部特征的感知能力,可以有效缓解训练过程中存在的过拟合现象;

2)本发明结合通道注意力机制、空间注意力机制和DropBlock的YOLOv5目标检测模型,可以在不增加额外消耗时间的情况下,实现海洋鱼类目标检测精度的提升,具有广泛的应用场景。

附图说明

下面结合附图和实施例对本发明作进一步说明:

图1为本发明的处理流程图;

图2为本发明中YOLOv5目标检测网络结构示意图;

图3为本发明中YOLOv5目标检测网络中CBS结构示意图;

图4为本发明中YOLOv5目标检测网络中bottleneck结构示意图;

图5为本发明中YOLOv5目标检测网络中C3结构示意图;

图6为本发明中YOLOv5目标检测网络中SPPF结构示意图;

图7为本发明中通道注意力ECA结构示意图;

图8为本发明中通道注意力ECA放置位置示意图;

图9为本发明中空间注意力SSA结构示意图;

图10为本发明中空间注意力SSA放置位置示意图。

具体实施方式

一种基于注意力机制和DropBlock的YOLOv5海洋鱼类目标检测方法,包括:

1.选择、收集数据集;

2.数据集标注、划分;

3.构造加入注意力机制和DropBlock的YOLOv5海洋鱼类目标检测模型;

4.采用所构造的海洋鱼类目标检测模型进行鱼类的检测。

步骤1具体包括:

从公开数据集中选取合适的鱼类样本图像,以及采集来自中国海域的鱼类,人工拍摄的海洋鱼类图像。

步骤2具体包括:

2.1将步骤1获取的公开数据集使用LabelImg标注软件进行手工校对和标注,得到对应正确的标签数据。

2.2将步骤1获取的自建鱼类数据集使用LabelImg标注软件进行手工标注,得到对应的标签数据。

2.3经过上述步骤,得到公开数据集的鱼类图像10325张,得到自建数据集的鱼类图像2675张,合并数据集共13000张鱼类图像和13000个标签数据,随机打散划分成9000张训练集、2000张验证集和2000张测试集。

步骤3具体包括:

3.1将步骤2得到的鱼类数据集图片输入到添加注意力机制和DropBlock的YOLOv5目标检测网络中。

3.2以步骤3.1中YOLOv5目标检测网络的轻量化版本YOLOv5s为例,网络的输入以图像大小640×640,3通道为例,经过网络的第1层,即第一个标准卷积块CBS。CBS是卷积神经网络中的一个基础模块,由卷积层(Conv),批归一化Batch Normalization层(BN),以及SiLU激活函数组成。即网络第一层由卷积核大小为6×6、卷积核个数为32、步长为2的Conv,BN,以及SiLU激活函数组成。最终得到输出为320×320×32的特征图。

3.3将步骤3.2得到的输出特征图输入到网络的第2层中,即第二个标准卷积块CBS,由卷积核大小为3×3、步长为2的卷积层,BN层,SiLU层组成。得到160×160×64的特征图。

3.4将步骤3.3得到的输出特征图输入到网络的第3层中,即添加通道注意力如图4所示,其中C3模块是原始YOLOv5提出的特征提取模块,如图4中的虚线框中所示,本发明在C3的后面插入了ECA注意力机制,有效增加了特征提取网络对通道信息的理解能力。将步骤3.3输入的特征图经过两条支线,一条支线依次经过一个卷积核大小为1×1、步长为1的标准卷积块CBS和一个标准bottleneck,bottleneck由经过1个卷积核大小为1×1、步长为1的标准卷积块CBS和1个卷积核大小为3×3、步长为1的标准卷积块CBS,与bottleneck的输入相加得到它的输出。另一条支线经过一个卷积核大小为1×1、步长为1的标准卷积块CBS,两条支线的输出拼接,再经过一个通道注意力模块(ECA),得到160×160×64的特征图。

3.5步骤3.4中的通道注意力模块(ECA)如图3所示,先经过一个全局平均池化(Global Average Pooling)得到1×1×C的特征图,再经过大小为k的一维卷积,其中k通过通道维度C的函数自适应地确定,最后经过Sigmoid激活函数得到权重与输入特征图相乘。k的计算公式如式(1)所示。其中γ=2,b=1。

3.6将步骤3.4得到的输出特征图输入到网络的第4层中,即标准卷积块CBS,同步骤3.3,得到80×80×128的特征图。

3.7将步骤3.6得到的输出特征图输入到网络的第5层中,即添加通道注意力的C3模块,同步骤3.4,重复两次,得到80×80×128的特征图。

3.8将步骤3.7得到的特征图输入到网络的第6层中,即标准卷积块CBS,同步骤3.3,得到40×40×256的特征图。

3.9将步骤3.8得到的特征图输入到网络的第7层中,即添加通道注意力的C3模块,同步骤3.4,重复三次,得到40×40×256的特征图。

3.10将步骤3.9得到的特征图输入到网络的第8层中,即标准卷积块CBS,同步骤3.3,得到20×20×512的特征图。

3.11将步骤3.10得到的特征图输入到网络的第9层中,即添加通道注意力的C3模块,同步骤3.4,得到20×20×512的特征图。

3.12将步骤3.11得到的特征图输入到网络的第10层中,即空间金字塔池化层(SPPF),降低信息冗余,增大感受野。先经过卷积核大小为1×1、步长为1的标准卷积块CBS,再依次经过3个卷积核大小为5×5、步长为1、填充为2的最大池化层SPPF,再将经过标准卷积块CBS、经过第一个最大池化层SPPF、经过第二个最大池化层SPPF、经过第三个最大池化层SPPF的四个输出进行Concat拼接操作,最后经过卷积核大小为1×1、步长为1的标准卷积块CBS,得到20×20×512的特征图。

3.13将步骤3.12得到的特征图输入到网络的第11层中,即标准卷积块CBS,同步骤3.3,设置卷积核大小为1×1、步长为1,得到20×20×256的特征图。

3.14将步骤3.13得到的特征图输入到网络的第12层中,即上采样层Unsample,不改变特征图的通道数,而增大特征图的宽高,得到40×40×256的特征图。

3.15将步骤3.14得到的特征图输入到网络的第13层中,即拼接层Concat,与网络第7层的输出拼接,不改变特征图的大小,而增加特征图的通道数,得到40×40×512的特征图。

3.16将步骤3.15得到的特征图输入到网络的第14层中,即添加通道注意力的C3模块,同步骤3.4,得到40×40×256的特征图。

3.17将步骤3.16得到的特征图输入到网络的第15层中,即标准卷积块CBS,同步骤3.3,设置卷积核大小为1×1、步长为1,得到40×40×128的特征图。

3.18将步骤3.17得到的特征图输入到网络的第16层中,即上采样层Unsample,不改变特征图的通道数,而增大特征图的宽高,得到80×80×128的特征图。

3.19将步骤3.18得到的特征图输入到网络的第17层中,即拼接层Concat,与网络第5层的输出拼接,不改变特征图的大小,而增加特征图的通道数,得到80×80×256的特征图。

3.20将步骤3.19得到的特征图输入到网络的第18层中,即融合通道注意力和空间注意力以及DropBlock的C3模块。先对输入特征图进行DropBlock操作,丢弃特征图的局部区域信息,不改变特征图大小。对于丢弃率γ的计算与特征图大小feat_size、阈值概率keep_prob相关、丢弃块大小block_size相关,具体计算公式如公式(2)所示。DropBlock的丢弃块大小设置为5,丢弃率设置为0.1。经过添加通道注意力的C3模块,同步骤3.4。再经过空间注意力模块,强化鱼类目标的特征信息,添加方式如图6所示。本发明在传统的空间注意力机制上增加强了W方向的信息和H方向的信息,增强了神经网络对空间位置关系的理解能力。空间注意力模块(SSA)的结构如图5所示,即对特征图分别做一次全局平均池化和全局最大池化,然后将池化得到的特征图按W方向和H方向分别取最大值,随后按照公式(3)中的规则做一次向量的乘法,其中A表示H方向上的最大值,B表示W方向上的最大值,最后将特征增强后得到的结果进行拼接。由于矩阵乘法使得特征的分布发生变化,还需要采用BN层将特征归一化,再送入1×1卷积进行参数学习,经Sigmoid激活函数,得到的权重与输入特征图相乘。最后得到80×80×128的特征图。

OUT

3.21将步骤3.20得到的特征图输入到网络的第19层中,即标准卷积块CBS,同步骤3.3,得到40×40×128的特征图。

3.22将步骤3.21得到的特征图输入到网络的第20层中,即拼接层Concat,与网络第15层的输出拼接,不改变特征图的大小,而增加特征图的通道数,得到40×40×256的特征图。

3.23将步骤3.22得到的特征图输入到网络的第21层中,即融合通道注意力和空间注意力以及DropBlock的C3模块。同步骤3.20,DropBlock的丢弃块大小设置为5,丢弃率设置为0.1,得到40×40×256的特征图。

3.24将步骤3.23得到的特征图输入到网络的第22层中,即标准卷积块CBS,同步骤3.3,得到20×20×256的特征图。

3.25将步骤3.24得到的特征图输入到网络的第23层中,即拼接层Concat,与网络第11层的输出拼接,不改变特征图的大小,而增加特征图的通道数,得到20×20×512的特征图。

3.26将步骤3.25得到的特征图输入到网络的第24层中,即融合通道注意力和空间注意力以及DropBlock的C3模块。同步骤3.20,DropBlock的丢弃块大小设置为3,丢弃率设置为0.1,得到20×20×512的特征图。

3.27将步骤3.20、步骤3.23、步骤3.26的输出经过卷积操作,得到检测结果并进行融合,过滤掉置信度低于0.25的检测框,使用非极大值抑制(Non-Maximum Suppression,NMS)进行后处理,提取置信度高的目标检测框,而抑制置信度低的误检框,得到最终的检测结果。

步骤4具体包括:

4.1将海洋鱼类训练集输入到步骤3中的网络中进行训练,调整模型的学习率、动量、迭代次数等,采用余弦退火算法动态调整学习率,即学习率根据learning rate和回调函数不断调整学习率,最后从每个epoch表现最好的模型中选择最优模型作为最终训练结果。

4.2将海洋鱼类测试集放入步骤4.1训练好的模型中,根据模型输出结果计算相关评价指标,来评价模型的性能。若模型性能达不到预期,可以调整网络参数,重复步骤4.1和步骤4.2。通过计算精度(Accuracy)、查准率(Precision)、查全率(Recall)和参数量(Parameters),对方法的性能进行度量。精度计算公式如式(3)所示,查准率计算公式如式(4)所示,查全率计算公式如式(5)所示。

其中:TP表示真正例,FP表示假正例,FN表示假负例,TN表示真负例。

本发明使用融合复杂环境下小目标检测的公开数据集和适合大目标检测的自建数据集,适应鱼类多样的生存环境和检测场景;结合C3结构和ECA的特征提取网络能有效增加主干网络对通道信息的理解能力;基于特征增强和空间注意力机制的SSA结构能够提升特征信息的清晰度,使网络更加高效的处理特征图中需要关注的特征;基于DropBlock正则化方法的目标检测网络,在训练过程中可有效减少YOLOv5颈部的冗余特征,增加网络对局部特征的感知能力,可以有效缓解训练过程中存在的过拟合现象。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号