编辑 | 集智书童
点击下方卡片,关注“自动驾驶之心”公众号
ADAS巨卷干货,即可获取
点击进入→自动驾驶之心【目标检测】技术交流群
本文只做学术分享,如有侵权,联系删文
作者提出了一种新颖的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
自动检测磁共振成像(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。
本工作的贡献总结如下:
作者首次开发了一个基于RepVGG/RepConv和ShuffleNet的RCS,通过在训练阶段利用重参化来提供更多的特征信息,并减少推理时间。然后,作者构建了一个RCS-OSA(One-Shot Aggregation)模块,它不仅具有低成本的内存消耗,还能提取语义信息。
作者通过将开发的RCS-OSA和RepVGG/RepConv与路径聚合相结合,设计了新的YOLO架构的Backbone和Neck,缩短了特征预测层之间的信息路径。这导致精确定位信息快速传播到Backbone和Neck的特征层次结构中。
作者将所提出的RCS-YOLO模型应用于具有挑战性的脑肿瘤检测任务。据作者所知,这是首次利用基于YOLO的模型进行快速脑肿瘤检测的工作。在公开可用的脑肿瘤检测数据集上进行评估,与其他最先进的YOLO架构相比,RCS-YOLO表现出优越的检测准确性和速度。
所提出的RCS-YOLO网络的体系结构如图1所示。它在基于年轻人群的目标检测器的Backbone和Neck集成了一个新的模块RCS-OSA。
受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等运算符将计算复杂度降低了一半,同时保持了通道间的信息交换。此外,使用结构重参化使得在训练阶段可以进行深度表示学习,从输入特征中学习更丰富的表示,并在推理阶段减少内存消耗以实现快速推理。
作者提出了一种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(即)要少。
为进一步减少推理时间,作者将由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的计算时间。
为了展示所提出的模型在检测脑肿瘤医学图像数据集方面的准确性和快速性,表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的根本优势。结果清楚地显示了作者的方法相对于脑肿瘤检测的最先进方法的优越性能和高效性。
作者在基于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为单位)上仍然表现更好。
[1].RCS-YOLO: A Fast and High-Accuracy Object Detector for Brain Tumor Detection.
[2].https://github.com/mkang315/RCS-YOLO.
Hybrid-SORT起飞 | 超过DeepSORT将近10个点的多目标跟踪香不香?
模型部署系列 | 卷积Backbone量化技巧集锦
YOLO落地部署 | 一文全览YOLOv5最新的剪枝、量化的进展【必读】
① 全网独家视频课程
BEV感知、毫米波雷达视觉融合、多传感器标定、多传感器融合、多模态3D目标检测、点云3D目标检测、目标跟踪、Occupancy、cuda与TensorRT模型部署、协同感知、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码学习)
视频官网:www.zdjszx.com② 国内首个自动驾驶学习社区
近2000人的交流社区,涉及30+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(2D检测、分割、2D/3D车道线、BEV感知、3D目标检测、Occupancy、多传感器融合、多传感器标定、目标跟踪、光流估计)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!
③【自动驾驶之心】技术交流群
自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多模态感知、Occupancy、多传感器融合、transformer、大模型、点云处理、端到端自动驾驶、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向。扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)
④【自动驾驶之心】平台矩阵,欢迎联系我们!