一、本文介绍
本文给大家带来的改进机制是利用YOLO-MS提出的一种针对于实时目标检测的MSBlock模块(其其实不能算是Conv但是其应该是一整个模块),我们将其用于C2f中组合出一种新的结构,来替换我们网络中的模块可以达到一种轻量化的作用,我将其用于我的数据集上实验,包括多个类别的数据集,其在轻量网络结构的同时,却能够提高一定的mAP精度,所以这是一种十分高效的模块,该网络结构非常适合那些模型精度已经无法提到,想要从轻量化模型的角度入手的读者使用,同时该机制包含二次创新的机会。欢迎大家订阅本专栏,本专栏每周更新3-5篇最新机制,更有包含我所有改进的文件和交流群提供给大家。
欢迎大家订阅我的专栏一起学习YOLO!
专栏目录:YOLOv8改进有效系列目录 | 包含卷积、主干、检测头、注意力机制、Neck上百种创新机制
专栏回顾:YOLOv8改进系列专栏——本专栏持续复习各种顶会内容——科研必备
二、MSBlock
2.1 MSBlock的基本原理
MSBlock的基本原理在于提高实时目标检测器的多尺度特征表示能力。MSBlock通过采用层次化特征融合策略和异构卷积核选择协议,有效地在网络不同阶段处理不同尺度的特征。这种设计使得检测器能够更好地识别和处理不同尺寸的目标。MSBlock的核心思想是通过改进卷积核的大小和结构,以及优化特征融合方式,来增强模型在处理多尺度信息时的性能,从而提高整体的目标检测精度和效率。
MSBlock的基本原理可以分为以下几点:
1. 多尺度特征表示:MSBlock旨在增强实时目标检测器处理不同尺度目标的能力,通过有效地表示和融合不同尺度的特征。
2. 层次化特征融合:MSBlock采用层次化的方式来融合来自网络不同层次的特征,这有助于模型在处理细粒度和粗粒度信息时的表现。
3. 异构卷积核选择:MSBlock实施一种异构卷积核选择协议,即在网络的不同阶段使用不同大小的卷积核,以适应不同尺度的特征表示。
下面我们可以看到三种不同的网络构建模块,分别是CSP Block、ELAN Block和MS-Block。
MS-Block设计包含以下特点:
1. 输入被分割成多个分支,每个分支处理不同的特征子集。
2. 在分支内部,通过1x1卷积进行特征转换,然后应用了一个kxk的深度卷积(深度可分离卷积),再接一个1x1卷积,以增强特征并减少参数数量。
3. 最后,所有的分支再经过一个1x1卷积进行融合,以整合各个分支的特征。
2.2 多尺度特征表示
在本文中,多尺度特征表示是通过MSBlock实现的,它通过在网络的不同层使用不同大小的卷积核来捕捉不同尺度的图像特征。这使得模型能够在低层捕获细节和小尺寸目标的特征,同时在高层捕捉更大区域的特征,有助于识别大尺寸目标。
2.3 层次化特征融合
层次化特征融合是通过MSBlock实现的,该技术利用多个并行处理的子网络或分支来处理输入特征图。这些分支在处理不同尺度的特征后,再通过特定的结构(如1x1卷积)融合这些特征,这样的结构设计允许网络在多个层次上提取和整合特征,提高了对各种尺寸目标的检测性能。
在这张图片中,我们看到了HKS(异构Kernel选择)协议的示意图,这个协议是在YOLO-MS中提出来的。HKS协议通过在网络的不同阶段使用不同大小的卷积核,来优化多尺度特征的提取。在这个图中,从上到下,MS-Block在网络的四个阶段分别使用了9x9、7x7、5x5和3x3的卷积核大小,这种设计允许网络更有效地处理不同尺度的对象,而且每个阶段的输出特征图大小和通道数(C1, C2, C3, C4)也有所不同。最终,通过PAFPN模块将这些特征进一步融合,以增强网络对多尺度特征的捕获能力
2.4 异构卷积核选择
异构卷积核选择是指在深度学习模型中,根据数据的不同层次和尺度选择不同大小的卷积核。在论文中,通过这种方式,网络可以根据特征图的分辨率调整卷积核的大小,使得在捕捉小目标特征时使用较小的卷积核,在捕捉大目标特征时使用较大的卷积核。这样的设计有助于模型更精细地捕捉不同尺度的图像特征,并提高了目标检测的准确性和效率。