首发于目标检测

CFENet(和RefineDet速度相当精度更好)论文阅读笔记

背景:

《CFENet: An Accurate and Efficient Single-Shot Object Detector for Autonomous Driving》论文是2018 ACCV上的论文,该作者来自于北大和阿里巴巴,他们的另一篇论文M2Det结果也同样非常好,发在了2019 AAAI上(后续会介绍)。另外需要说明的是,这两篇paper的思路和RFBNet(2018 ECCV)也很相似。

论文地址:

代码地址:

一、研究动机

在自动驾驶的场景中,小目标较多(比如交通标志,远方的车辆),并且对小目标而言,在要求速度的同时,其检测精度也很重要。该论文在SSD的基础上,提出了一个轻量的框架,主要针对SSD每层检测的特征进行了增强和融合,从而提升了最后的检测效果。

二、研究方法

主要的框架如图所示:

和传统的SSD相比,主要在于增加了四个CFE(Comprehensive Feature Enhancement)模块和2个FFB(Feature Fusion Blocks)模块:

1)CFE模块:具体的结构如图,可以看到,一是增加了一个residual的结构,二是采用了 k\times k 的卷积核,增大感受野,同时为了减少计算量,并将其替换为 1\times k k\times 1 的卷积(该方法在Inception v3提出)和组卷积。作者认为这是一种可以提升shallow特征表达的方式。在本文中,k的值为7。

备注:该模块和2018 ECCV RFBNet中的RFB模块类似,但是RFB中还利用了dilation卷积。

2)FFB模块:主要目的是为了融合不同尺度的特征,其结构如图。

三、实验结果

从结果上看,在COCO数据集上,CFENet相比SSD有巨大的提升(5个点以上),相比RefineDET也有1-2个点的提升。

更具体地看:

第一列是原始的SSD,第二列是作者设计了普通的inception模块,为了和CFENet对比。第四列是在底层特征中加入CFE模块,最后是加入FFB模块。

在BBD数据集上:

可以看到,CFENet相比refineDet速度相似,但是性能提升了2个点左右。

四、总结分析

优点:

和RFBNet类似,通过加入特征增强模块,以极少的计算量代价获得了较大的性能提升。(感觉RFBNet能发顶会的原因可能更在于找到了生物上的解释,把特征增强模块类比人的视觉神经网络)。

缺点:

1)SSD的backbone换成ResNet50,其速度更快,精度也更高(这个我做过实验)。既然如此在WAD的比赛中,为什么还是选用了VGG,另外VGG网络的特征表达能力有限,获得如此提升可能并不困难,但是该模块在ResNet中是否依然有效有待验证。

2)采用 7\times7 的卷积核,在硬件上计算效率也不是很高。

发布于 2019-02-12 21:34