旷视科技:据我们所知,ThunderNet实现了ARM平台上的第一个实时检测器和最快的单线程速度。
论文地址
代码即将开源
一:网络整体介绍
ThunderNet的整体架构如下图所示。 ThunderNet使用320×320像素作为网络的输入分辨率。整体的网络结构分为两部分:Backbone部分和Detection部分。网络的骨干部分为SNet,SNet是基于ShuffleNetV2进行修改得到的。 网络的检测部分,利用了压缩的RPN网络,修改自Light-Head R-CNN网络用以提高效率。 并提出Context Enhancement Module整合局部和全局特征增强网络特征表达能力。 并提出Spatial Attention Module空间注意模块,引入来自RPN的前后景信息用以优化特征分布。
二:backbone 部分
1.输入分辨率
为了加快推理(前向操作)速度,作者使用320*320大小的输入图像。需要注意的是,在实践中,我们观察到输入分辨率应该与骨干网络的能力相匹配。 具有大输入的小骨干和具有小输入的大骨干都不是最佳的选择。
2.骨干网络(backbone)
骨干网络需要具有两大特点,第一:大的感受野很重要。第二:浅层特征位置信息丰富,深层特征区分度更大,因此需要兼顾这两种特征。而作者认为主流的轻量级网络违法了上述原则,比如ShuffleNetV1/V2限制了感受野。ShuffleNetV2 和MobileNetV2 缺乏浅层特征,而Xception 在计算预算低下的情况下缺乏深层特征。
主流的轻量级网络详解