【魔改YOLO系列】CST-YOLO:YOLO与CNN-Swin Transformer结合,实现精准小目标检测

科技   2024-11-05 10:05   辽宁  

点击下方深度学习爱好者”,选择加"星标"或“置顶

论文信息

题目:CST-YOLO: A NOVEL METHOD FOR BLOOD CELL DETECTION BASED ON IMPROVED YOLOV7 AND CNN-SWIN TRANSFORMER

CST-YOLO:基于改进YOLOv7和CNN-Swin Transformer的血细胞检测新方法

作者:Ming Kang,Chee-Ming Ting,Fung Fung Ting,Raphaël C.-W. Phan

源码:https://github.com/mkang315/CST-YOLO

论文创新点

  1. CNN-Swin Transformer (CST) 模块:作者提出了一个基于Swin Transformer的卷积或CNN-Swin Transformer(CST)模块,并将其引入YOLOv7的特征提取模块中,增强了模型的感受野并更好地提取目标特征信息。
  2. 加权高效层聚合网络 (W-ELAN):开发了一个名为加权ELAN(W-ELAN)的自适应特征融合模块,能够动态融合特征图数据,有效抑制无效特征图,并增强网络对全局信息的理解。
  3. 多尺度通道分割 (MCS) 模块:应用了多尺度通道分割(MCS)模块来从输入特征图中提取不同感受野的特征信息,通过不同大小的通道调整和上采样操作,使模型能够动态地过滤和抑制特征信息较少的通道。
  4. 连接卷积层(CatConv):构建了一个连接卷积层(CatConv)模块,通过替换YOLOv7中的特征融合部分的MPConv结构,增强了模型的特征融合能力,并通过融合更多的特征数据实现更好的目标检测。

摘要

血细胞检测是计算机视觉中典型的小目标检测问题。在本文中,作者提出了一种基于YOLOv7架构的血细胞检测模型CST-YOLO,并用CNN-Swin Transformer(CST)增强,这是CNN-Transformer融合的新尝试。作者还在CST-YOLO中引入了三个其他有用的模块:加权高效层聚合网络(W-ELAN)、多尺度通道分割(MCS)和连接卷积层(CatConv),以提高小目标检测精度。实验结果表明,所提出的CST-YOLO在三个血细胞数据集上分别达到了92.7%、95.6%和91.1%的mAP@0.5,超越了最先进的目标检测器,例如RT-DETR、YOLOv5和YOLOv7。

关键字

  • 医学图像处理
  • 小目标检测
  • You Only Look Once (YOLO)
  • Swin Transformer
  • CNN-Transformer融合

2. 方法

所提出的CST-YOLO模型如图1所示。它在YOLOv7中结合了四个新组件,即CST、W-ELAN、MCS和CatConv。

2.1. CNN-Swin Transformer

为了更好地捕获图像中的全局信息,作者设计了一个新颖的CNN-Swin Transformer模块,并以并行融合结构引入到YOLOv7架构中。CST首先使用两个并行的1×1卷积来调整输入特征图的通道数,以获得两个输出,其中一个用作Swin Transformer的输入,捕获输入特征图的全局特征信息,然后将两个输出拼接。CST模块可以从输入特征图中提取具有不同感受野的特征,这极大地提高了模型表示输入特征图的能力,从而增强了模型的检测性能。与论文中引用的现有CNN-Swin Transformer融合方法相比,我们提出的CST模块具有新颖的融合结构,在CNN和Swin Transformer的并行结构中,将两组组合特征在一系列连接后进行拼接。它能够增强模型的感受野,并使用窗口移动自注意力机制更好地提取小目标上下文信息。
Swin Transformer由两层自注意力机制组成,分别使用正常窗口和移位窗口。在前一层中,输入特征图首先被划分为窗口,然后对每个窗口使用自注意力机制,窗口之间没有任何信息交互。这种机制提高了检测速度,但减少了模型的感受野,不利于网络中的特征提取。随后引入了移位窗口自注意力机制,其中正常窗口自注意力机制的窗口划分首先被窗口移动,移动后的一个窗口中的信息相当于融合了正常窗口自注意力机制中的多个窗口。
对于图3中的血细胞图像示例,层i+1中中间蓝色区域的窗口输入来自层i中的相同区域,而层i+1中的蓝色区域包含了层i中四个窗口的信息。也就是说,层i+1中的每个窗口相当于层i中的四个窗口的信息。这克服了不同窗口之间无法交换信息的问题。通过结合使用i-th和i+1th层,不仅解决了传统自注意力机制中所需的参数数量过多的问题,而且还缓解了正常窗口自注意力机制中感受野减少的问题。通过结合使用i-th和i+1th层,不仅解决了传统自注意力机制中参数数量过多的问题,而且还解决了正常窗口自注意力机制中感受野减少的问题。

2.2. 加权ELAN

受EfficientDet中加权特征融合的启发,作者开发了加权ELAN,这是与E-ELAN不同的新变体,以促进动态特征融合。W-ELAN的架构如图4所示。在特征图拼接过程中,对每个特征图应用权重,并且它是训练过程中的可学习参数。
为了防止不同特征图对应的权重变化过大,学习到的权重必须按如下方式进行归一化:
其中是归一化的特征图权重,是训练过程中网络输出的权重,是一个固定的小值,防止分母为0。在训练过程中,如果一个特征对最终网络的预测贡献更大,网络会自动为该特征分配更大的权重,而对最终网络的预测贡献较小的特征则分配较小的权重。我们注意到,这个过程完全由训练过程决定,没有主动干扰。

2.3. 多尺度通道分割

许多研究表明,在计算机视觉任务中,不同设置的感受野大小在目标特征信息提取中存在显著差异。感受野越小,网络中可以观察到的局部图像信息越多。相反,感受野越大,在网络中可以观察到的图像信息越全局化。
为了提高模型对不同尺度目标特征信息的感知能力,作者应用了MCS模块(图5)。该模块通过四个不同的内核平均池化层传递输入特征图,以获得不同大小的特征图,然后通过1×1卷积进行通道调整,获得四个特征图,所有通道数均为256。为了连接这四个特征图,我们首先应用四个不同上采样系数的上采样操作,以调整四个特征图的宽度和高度,使其大小统一,然后执行连接。假设输入特征图大小为(B, C, W, H),经过上述操作后,输出特征图为(B, 1000, W, H)。然后通过平均池化(AvgPool)选择批量中所有像素的平均值,获得大小为(B, 1000, 1, 1)的特征图,并通过Sigmoid激活函数,将输入特征值归一化到0和1之间,这将乘以输入特征图的通道。这相当于对输入特征的每个通道应用不同的注意力,使模型能够动态过滤具有更多特征信息的通道,并抑制那些较少的。
为了减少MCS模块的参数,上述操作后获得的特征图沿通道方向被分成四份,然后将四个特征图求和,得到的特徴图通过使用1×1卷积进行通道调整以获得模块的最终输出。还添加了残差连接。

2.4. 连接卷积层

为了增强模型的特征融合能力,作者修改了Yolov7特征融合部分的MPConv结构,首先替换了选择批量中最大像素值的最大池化(MaxPool),从而在背板中产生了CBSConcat。然后,为了通过卷积提取更多特征信息,将下采样部分的相关特征乘以2作为输入到连接卷积层模块(图6)的颈部。同时,为了确保特征图的大小一致性,在特征融合之前通过步长为2的卷积调整大小。此外,作者在YOLOv7中使用RepConv + IDetect作为检测头。本质上,RepConv是没有恒等连接的RepVGG,而后者则被采用在YOLOv6和YOLOv6 v3.0的可重参数化主干中。

3. 实验

声明

本文内容为论文学习收获分享,受限于知识能力,本文对原文的理解可能存在偏差,最终内容以原论文为准。本文信息旨在传播和学术交流,其内容由作者负责,不代表本号观点。文中作品文字、图片等如涉及内容、版权和其他问题,请及时与作者联系,作者将在第一时间回复并处理。
下载1:Pytoch常用函数手册
在「深度学习爱好者」公众号后台回复:Pytorch常用函数手册,即可下载全网第一份Pytorch常用函数手册,涵盖Tensors介绍、基础函数介绍、数据处理函数、优化函数、CUDA编程、多线程处理等十四章章内容。
下载2:Python视觉实战项目52讲
小白学视觉公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

深度学习爱好者
分享机器学习、深度学习和Python等知识与原理,每天分享深度学习与计算机视觉领域的经典和最新的论文总结,带读者一起跟踪前言科技!
 最新文章