RCS-YOLO | 比YOLOv7精度提高了2.6%,推理速度提高了60%

简介: RCS-YOLO | 比YOLOv7精度提高了2.6%,推理速度提高了60%

作者提出了一种新颖的YOLO架构,名为Reparameterized Convolution based on channel Shuffle (RCS-YOLO)。作者引入了RCS和一种One-Shot Aggregation of RCS (RCS-OSA)技术,将特征级联和计算效率相结合,以提取更丰富的信息并减少时间消耗。

在大脑肿瘤数据集Br35H上的实验结果显示,所提出的模型在速度和准确性上均优于YOLOv6、YOLOv7和YOLOv8。

值得注意的是,与YOLOv7相比,RCS-YOLO的精度提高了2.6%,推理速度提高了60%,达到每秒114.8张图像检测。作者提出的RCS-YOLO在大脑肿瘤检测任务上实现了最先进的性能。

代码:https://github.com/mkang315/RCS-YOLO

1、简介

自动检测磁共振成像(MRI)中的脑肿瘤是复杂、繁琐和耗时的,因为在脑肿瘤图像中存在许多被错过、误解和误导性的类似肿瘤的病变。目前大部分工作集中在从MRI中进行脑肿瘤分类和分割,而检测任务却很少被探索。尽管现有研究表明各种卷积神经网络(CNN)对脑肿瘤检测是有效的,但使用YOLO网络的性能却鲜有研究。

随着CNN的快速发展,不同视觉任务的准确性不断提高。然而,基于CNN的模型中越来越复杂的网络架构,如ResNet、DenseNet、Inception等,使推理速度变慢。尽管许多先进的CNN提供了更高的准确性,但复杂的多支设计(如ResNet中的残差相加和Inception中的分支连接)使得模型难以实现和定制,从而降低了推理速度并减少了内存利用率。MobileNets中使用的深度可分离卷积也降低了GPU推理速度的上限。此外,某些现代计算库对3x3正则卷积进行了高度优化。因此,VGG在研究和工业界的实际应用中仍然广泛使用。

RepVGG是对VGG的扩展,通过重参化来加快推理时间。在训练阶段,RepVGG使用多支拓扑结构的架构,然后在推理阶段重参化为简化的单支结构。在网络训练的优化策略方面,YOLOv6、YOLOv7和YOLOv6 v3.0中引入了重参化。YOLOv6和YOLOv6 v3.0使用了来自RepVGG的重参化。在YOLOv6、YOLOv6 v3.0和YOLOv7中,通过RepConv将RepVGG转换为没有Indentity连接的RepVGG,而在YOLOv7中被称为RepConvN。由于RepConv中去除了Indentity连接,可以为不同特征映射提供更多的梯度多样性,直接访问ResNet或在DenseNet中进行连接。

分组卷积,使用多个核在每层进行卷积的分组,如RepVGG一样,也可以显著减少模型的计算复杂性,但组之间没有信息交流,这限制了卷积操作的特征提取能力。为了克服分组卷积的缺点,ShuffleNet V1和V2引入了通道洗牌操作,以便在不同特征通道之间促进信息流动。

此外,将YOLOv7中的空间金字塔池化和交叉阶段部分网络加上Conv-BN-SiLU(SPPCSPC)与YOLOv5和YOLOv8 中的空间金字塔池化快速(SPPF)进行比较时,发现SPPCSPC体系结构中的更多卷积层会减缓网络的计算。然而,SPP模块通过在Neck网络中对不同卷积核大小进行最大池化来实现局部特征和全局特征的融合。

为了实现快速高准确性的医学图像目标检测,作者提出了一种新的YOLO架构,名为RCS-YOLO,利用了RepVGG/RepConv。

本工作的贡献总结如下:

  1. 作者首次开发了一个基于RepVGG/RepConv和ShuffleNet的RCS,通过在训练阶段利用重参化来提供更多的特征信息,并减少推理时间。然后,作者构建了一个RCS-OSA(One-Shot Aggregation)模块,它不仅具有低成本的内存消耗,还能提取语义信息。
  2. 作者通过将开发的RCS-OSA和RepVGG/RepConv与路径聚合相结合,设计了新的YOLO架构的Backbone和Neck,缩短了特征预测层之间的信息路径。这导致精确定位信息快速传播到Backbone和Neck的特征层次结构中。
  3. 作者将所提出的RCS-YOLO模型应用于具有挑战性的脑肿瘤检测任务。据作者所知,这是首次利用基于YOLO的模型进行快速脑肿瘤检测的工作。在公开可用的脑肿瘤检测数据集上进行评估,与其他最先进的YOLO架构相比,RCS-YOLO表现出优越的检测准确性和速度。

2、本文方法

所提出的RCS-YOLO网络的体系结构如图1所示。它在基于年轻人群的目标检测器的Backbone和Neck集成了一个新的模块RCS-OSA。

2.1、RepVGG/RepConv ShuffleNet

受ShuffleNet的启发,作者设计了一种基于通道Shuffle的结构化重参化卷积,称为RCS。图2显示了RCS的结构示意图。给定输入张量的特征维度为C×H×W,经过通道分裂运算符后,它被分为两个不同的通道维张量,尺寸均为C×H×W。对于其中一个张量,作者使用Indentity分支、1×1卷积和3×3卷积构建训练时的RCS。

在推理阶段,通过使用结构重参化,将Indentity分支、1×1卷积和3×3卷积转换为3×3 RepConv。多支拓扑结构在训练阶段可以学习丰富的特征信息,简化的单支结构在推理阶段可以节省内存消耗以实现快速推理。在其中一个张量经过多支训练后,以通道方式将其与另一个张量连接。通道Shuffle运算符也被应用于增强两个张量之间的信息融合,从而实现对输入不同通道特征之间的深度测量,而计算复杂度较低。

当没有通道Shuffle时,每个分组的输出特征仅与分组内的输入特征相关,并且来自某个分组的输出仅与该分组内的输入相关。这阻止了通道组之间的信息流动,削弱了特征提取的能力。而使用通道Shuffle后,输入和输出特征完全相关,其中一个卷积组从其他组中获取数据,实现了不同组之间更有效的特征信息交流。通道Shuffle操作在堆叠的分组卷积上进行,允许更丰富的特征表示。此外,假设分组数为,则对于相同的输入特征,通道Shuffle的计算复杂度是通用卷积的倍。

与常用的3×3卷积相比,在推理阶段,RCS使用通道分裂和通道Shuffle等运算符将计算复杂度降低了一半,同时保持了通道间的信息交换。此外,使用结构重参化使得在训练阶段可以进行深度表示学习,从输入特征中学习更丰富的表示,并在推理阶段减少内存消耗以实现快速推理。

2.2、RCS-based One-Shot Aggregation

作者提出了一种RCS-OSA模块,通过将在第2.1节中开发的RCS结合到OSA中,如图3所示。RCS模块被重复堆叠,以确保特征的复用,并增强相邻层特征之间不同通道之间的信息流动。在网络的不同位置,作者设置不同数量的堆叠模块。

为了减少网络碎片化的程度,在One-Shot Aggregation路径上仅保留了3个特征级联,这可以减轻网络计算负担并降低内存占用。在多尺度特征融合方面,受到PANet的启发,RCS-OSA + 上采样和RCS-OSA + RepVGG / RepConv 下采样进行不同大小特征图的对齐,以允许两个预测特征层之间的信息交换。这使得目标检测可以实现高精度的快速推理。

此外,RCS-OSA保持相同数量的输入通道和最小输出通道,从而降低了内存访问成本(MAC)。在网络构建方面,作者将最大池化下采样32次的YOLOv7作为Backbone,并采用RepVGG / RepConv,Stride为2进行下采样。由于RCS-OSA模块具有多样化的特征表示和低成本的内存消耗,因此作者在RCS-OSA模块中使用不同数量的堆叠RCS,以在Backbone和Neck的不同阶段实现语义信息提取。

计算效率(或时间复杂度)的常见评估指标是浮点运算次数(FLOPs)。FLOPs只是衡量推理速度的间接指标。然而,具有DenseNet Backbone的目标检测器显示出较慢的速度和较低的能量效率,因为通过密集连接线性增加的通道数导致了较重的MAC,这导致了相当大的计算开销。给定尺寸为M×M的输入特征,大小为K×K的卷积核,输入通道数和输出通道数,可以计算出FLOPs和MAC。

假设n为4,作者提出的RCS-OSA和Efficient Layer Aggregation Networks (ELAN) 的FLOPs分别为和。与ELAN相比,RCS-OSA的FLOPs减少了近50%。RCS-OSA的MAC(即)也比ELAN的MAC(即)要少。

2.3、Detection Head

为进一步减少推理时间,作者将由RepVGG和IDetect组成的检测头数量从3减少到2。YOLOv5、YOLOv6、YOLOv7和YOLOv8都有3个检测头。

然而,作者只使用两个特征层进行预测,将原来的9个不同尺度的anchors减少为4个,并使用K-means无监督聚类方法重新生成具有不同尺度的anchors。相应的尺度为(87,90),(127,139),(154,171),(191,240)。这不仅减少了RCS-YOLO的卷积层数和计算复杂性,还减少了推理阶段网络的整体计算要求和后处理NMS的计算时间。

3、实验

3.1、SOTA对比

为了展示所提出的模型在检测脑肿瘤医学图像数据集方面的准确性和快速性,表1展示了作者提出的检测器与其他最先进的目标检测器之间的性能比较。FPS的时间包括数据预处理、前向模型推理和后处理。输入图像的长边设置为640像素。短边自适应缩放而不失真,同时保持填充的灰度是短边的32倍像素。

可以看到,RCS-YOLO在结合RCS-OSA模块的优势下表现出色。与YOLOv7相比,本文的目标检测器的FLOPs减少了8.8G,推理速度提高了43 FPS。在检测率方面,精确度提高了0.04;提高了0.002;提高了0.004。

此外,RCS-YOLO比YOLOv6-L v3.0和YOLOv8l更快且更准确。尽管RCS-YOLO的与YOLOv8l相等,但这并不掩盖RCS-YOLO的根本优势。结果清楚地显示了作者的方法相对于脑肿瘤检测的最先进方法的优越性能和高效性。

3.2、消融实验

作者在基于YOLO的目标检测器中展示了所提出的RCS-OSA模块的有效性。表2中RepVGG-CSP的结果,其中RCS-YOLO中的RCS-OSA被替换为现有的YOLOv4-CSP架构中使用的CSPNet),除了GFLOPs外,都低于RCS-YOLO。由于RepVGG-CSP的参数(22.2M)不到RCS-YOLO(45.7M)的一半,因此RepVGG-CSP的计算量(即GFLOPs)也相应较小。然而,RCS-YOLO在实际推理速度(以FPS为单位)上仍然表现更好。

4、参考

[1].RCS-YOLO: A Fast and High-Accuracy Object Detector for Brain Tumor Detection.

[2].https://github.com/mkang315/RCS-YOLO.


相关文章
|
19天前
|
编解码 缓存 计算机视觉
改进的yolov5目标检测-yolov5替换骨干网络-yolo剪枝(TensorRT及NCNN部署)-1
改进的yolov5目标检测-yolov5替换骨干网络-yolo剪枝(TensorRT及NCNN部署)-1
160 0
|
19天前
|
算法 PyTorch 计算机视觉
改进的yolov5目标检测-yolov5替换骨干网络-yolo剪枝(TensorRT及NCNN部署)-2
改进的yolov5目标检测-yolov5替换骨干网络-yolo剪枝(TensorRT及NCNN部署)-2
119 1
改进的yolov5目标检测-yolov5替换骨干网络-yolo剪枝(TensorRT及NCNN部署)-2
|
机器学习/深度学习 编解码 算法
yolo原理系列——yolov1--yolov5详细解释
yolo原理系列——yolov1--yolov5详细解释
938 0
yolo原理系列——yolov1--yolov5详细解释
|
19天前
|
网络架构
YOLOv5改进 | 2023主干篇 | 利用RT-DETR特征提取网络PPHGNetV2改进YOLOv5(超级轻量化精度更高)
YOLOv5改进 | 2023主干篇 | 利用RT-DETR特征提取网络PPHGNetV2改进YOLOv5(超级轻量化精度更高)
126 0
|
10月前
|
算法 Go 计算机视觉
【YOLO系列】YOLOv5超详细解读(网络详解)
【YOLO系列】YOLOv5超详细解读(网络详解)
6414 1
【YOLO系列】YOLOv5超详细解读(网络详解)
|
11月前
YOLOV5模型转onnx并推理
YOLOV5模型转onnx并推理
662 0
|
人工智能 并行计算 计算机视觉
|
机器学习/深度学习 算法 计算机视觉
YOLO V4 Tiny改进版来啦!速度294FPS精度不减YOLO V4 Tiny(附论文下载)
YOLO V4 Tiny改进版来啦!速度294FPS精度不减YOLO V4 Tiny(附论文下载)
273 0
|
固态存储 开发工具 git
mmdetection目标检测训练自己的数据
mmdetection目标检测训练自己的数据
236 0
|
PyTorch 算法框架/工具
使用transformer的YOLOv7及TensorRT部署
使用transformer的YOLOv7及TensorRT部署
使用transformer的YOLOv7及TensorRT部署