摘要
轻量型目标检测算法的兴起,是由于计算资源有限。作者提出了一种CSL-Module块,该块能通过更少的计算量产生更多的冗余特征,在中间阶段,我们用逐点卷积来代替深度分离卷积来产生候选特征。实验证明CSL-Module模块能媲美3 x 3卷积,CSL-YOLO可利用当前先进目标检测算法43%的计算量和52%的参数量完成较好的性能。
Introduction
当前先进的目标检测的主干特征提取网络都是VGG,ResNet以及其他高计算量的模块,搭载DarkNet的YOLO计算量至少也要20k次MFLOPS。但是对于边缘计算设备,如此高的计算量显然无法计算。其实,参数量和速度也不一定成正比。在本文中,作者讲FLOPS作为指标,来设计一种新的轻量型卷积CSL-Module。实验证明,CSL-Module比3x3的卷积快5-7倍,同时也比其他轻量化卷积性能更好速度更快,并且达到了SOTA水平。
文章结构:第2节简要回顾了轻量级模型设计的相关技术,第三节介绍CSL-Module,CSL-Bone,CSL-FPN和CSL-YOLO,第四节介绍CSL-YOLO的技巧,第五节介绍实验和讨论,第六节总结。
相关工作
3x3的卷积不适合边缘计算,深度可分离卷积利用DWconv来提取空间特征,PWconv提取深度特征,实验证明这种解耦方法可以逼近3x3卷积性能。mobilenetv1在减少计算量的同时也保证了较好的准确率,mobilenetv2中发现在特征维数较少时进行卷积会丢失很多有用信息。shufflenet将特征图划分成G个组,每个组利用深度可分离卷积。CSPNet将特性映射分为两部分。前半部分由卷积产生,后半部分串联后直接输出。Ghost Module同CSPNet。
SSD系列
Mobile系列-SSD在速度和精度上表现良好,PeleeNet构建了DenseNet轻量化的backbone,减少了SSD的head计算量,同时也取得良好的结果。
YOLO系列
虽然YOLOv1到YOLOv4有相应的小版本,但官方更新版本更注重提高准确性而不是速度,从tinyyolov1到TinyYOLOv4始终遵循类似的压缩策略。在FPN中去掉了一些卷积层或多尺度输出层,这种策略完成很好的压缩比,但是也会造成一定精度的丢失。
Approaches
以往研究表明更少的计算量产生更多的冗余特征图,CSPNet提出一种跨阶段方法实现计算量更少产生冗余特征图更多以及GhostNet用一部分卷积一部分线性计算来减少计算量,这些方法对于边缘设备来说仍然还是很困难。作者提出了一种将特征图分支的方法,第一个分支通过像GhostNet那样的廉价操作生成一半冗余的特征图,第二个分支通过轻量型网络产生另外一半冗余的特征图,然后将其concat。
Difference from Existing Methods
所提出的CSL-Module通过跳过分支的廉价操作生成半冗余特征映射,在主分支上,它不同于CSP模块和Ghost模块。我们建议一个轻量级的主操作来生成另外一半必要的特性映射,在这个分支中,我们设计了一个类似irb的扩展块,利用跳跃分支的输入特征图和输出特征图,通过深度卷积生成中间候选特征图。这个块的优点是PW是free,并且DW比pw更少的FLOPS,总的来说,所提出的CSL-Module通过廉价的操作和跨阶段的思想减少了FLOPs。
Building Lightweight Components
我们提出了两种轻量级组件CSL-Bone和CSL-FPN。这两个组件是目标探测器所必需的。CSL-Bone比其他主干模型提取输入图像的特征值更少;CSL-FPN能更有效地预测不同尺度上的边界。
Lightweight Backbone
提出的CSL-Bone由几个CSL-Module组组成。SE模块集成到组内的第一个CSL-Module中,增强了整个组的特征提取能力。此外,我们还在适当的位置插入池化层进行降采样,以获得高级语义特征。最后,CSL-Bone输出三种不同比例的特征图。总体架构如表1所示。我们在CIFAR-10上评估了CSL-Bone、MobileNetv2和GhostNet,并应用了相同的训练设置。它可以从表2。尽管CSL-Bone的准确率低于Mobile
Lightweight FPN
以往的研究表明,大尺度特征图具有更多的物体细节,如边缘、角落或纹理,而小尺度特征图具有全面的语义理解(这里大尺度特征图是网络低层,小尺度特征图是网络高层),提出的CSL-FPN首先将FPN中的所有卷积-3x3替换为CSL-Module。其次,在扩展阶段,在两个尺度层之间形成一个中尺度层,这些中尺度层可以增强模型对不同尺度目标的检测能力,第三,在重复阶段,同时有(k)th层、(k-1)th层和(k+1)th层进行特征融合,但每次只使用奇层或偶层。例如,在第一次融合中只有第2层和第4层,而在第二次融合中,有第1层,第3层和第5层,换句话说,CSL-FPN跟FPN具有相同的卷积数量但有更多的特征融合。