又一个目标检测框架啊~~ 多Backbone网络结构用于目标检测
在现有的基于CNN的检测器中,骨干网络是基本特征提取的重要组成部分,检测器的性能在很大程度上取决于它。
在今天分享中,作者的目标是通过建立一个更强大的骨干网络,如ResNet和ResNeXt,以获得更好的检测性能。具体来说,提出了一种新的策略,通过相邻骨干之间的复合连接来组装多个相同的骨干,以形成一个更强大的骨干称为复合骨干网络(CBNet)。 通过这种方式,CBNet迭代地将前一个骨干的输出特征,即高级特征,作为输入特征的一部分,以逐阶段的方式提供给后续骨干,最后使用最后一个骨干的特征映射(称为领导骨干)进行目标检测。 最后证明CBNet可以非常容易地集成到大多数先进的检测器中,并显著提高它们的性能。
CBNet通过相邻骨干的并行阶段之间的复合连接组合多个相同的骨干(助理骨干和领导骨干)。通过这种方式,CBNet以一种逐阶段的方式迭代地将骨干的输出特征作为输入特征的一部分反馈给后续骨干,最后输出最后一个骨干的特征,即用于对象检测的领导骨干。红色箭头表示复合连接。
Recurrent Convolution Neural Network:
如上图所示,所提出的复合骨干网络体系结构与未展开的递归卷积神经网络(RCNN)体系结构有点相似。然而,所提出的CBNet与该网络有很大的不同。
首先,如上图所示,CBNet的体系结构实际上是完全不同的,特别是对于并行阶段之间的连接。第二,在RCNN中,不同时间步骤的并行阶段共享参数,而在所提出的CBNet中,骨干的并行阶段不共享参数。
此外,如果我们使用RCNN作为检测器的主干,我们需要在Image Net上对其进行预训练。然而,当我们使用CBNet时,我们不需要对其进行预训练。
Architecture of CBNet
所提出的CBNet的体系结构由K个相同的骨干(K≥2)组成)。特别是,为了简单起见,将K=2的情况(如上图a所示)称为双骨干(DB),K=3的情况称为三骨干(TB)。如下图所示,CBNet体系结构包含两种类型的骨干:领导骨干BK和助理骨干B1、B2、...、BK−1。每个骨干包括L级(一般为L级=5级),每个级由几个具有相同大小特征映射的卷积层组成。骨干的第l阶段实现了一个非线性变换Fl(·)。
在传统的只有一个骨干的卷积网络中,第l阶段以前一个l−第1阶段的输出(表示为xl−1)作为输入,可以表示为:
CBNet就不完全于此:
此外,CBNet中的B1、B2、...、BK−1可以采用各种骨干结构,并且可以直接从预先训练好的模型中初始化单个骨干。
实验
CBNet (Dual-ResNet101) 与ResNet101可视化比较
COCO数据集上检测器的mAP增加了约1.5%至3%,通过简单地将CBNet集成到Cascade Mask R-CNN基线中,在COCO上获得了一个新的最先进的结果,mAP为53.3。
同时,实验结果表明,提高实例分割性能也是非常有效的。额外的研究进一步证明了所提出的结构和复合连接模块的有效性。