目标检测CBNet

pytorch玩转深度学习

共 1658字,需浏览 4分钟

 ·

2021-04-14 23:45

到目前为止(2019.10.24),在COCO数据集上表现最佳的目标检测网络(单模型非ensemble)是CBNet,COCO测试集上的mAP为53.3。

作者声称,合并功能更强大的backbone可提高目标检测器的性能。为此,他们提出了一种新颖的策略,通过相邻backbone之间的复合连接(Composite Connection)来组合多个相同的backbone。这样他们搞出了一个更强大的backbone,称为复合骨干网络(Composite Backbone Network)。

如上图所示,CBNet由多个相同的backbone网络和相邻backbone网络之间的复合连接组成。从左到右,助理backbone中每个阶段的输出,也可以看作是更高级别的features。每个feature级别的输出作为输入的一部分,通过复合连接流到后续backbone的并行阶段。这样将多个高级和低级特征融合在一起以生成更丰富的feature表示。

论文介绍了两种类型的结构:双backbone(DB)三重backbone(TB)。从命名可以猜到,DB由两个相同的backboone组成,而TB由三个相同的backbone组成。性能差异将在后面讨论。

为了组合来自backbone的多个输出,论文引入了一个复合连接模块。该块由一个1x1卷积和一个batch normalization层组成。添加这些层以减少通道数并执行上采样操作。

最后的backbone(在图中最右侧)被称为"Lead Backbone",用于目标检测。每个辅助backbone的输出作为其相邻backbone的输入, Lead Backboone输出的feature则作为RPN /detection head的输入。

复合样式

复合样式有四种:

  • 相邻的上级构成(Adjacent Higher Level Composition)是上一节中介绍的样式。助理backbone的每个输出feature都通过复合连接模块作为相邻的backbone的输入。

  • 相同层级构成(Same Level Composition)是另一种简单的样式,它将前一个backbone的相邻同级的输出feature直接并行传到后面的backbone。如图所示,此样式未使用复合连接模块。

  • 相邻的下级构成(Adjacent Lower-Level Composition)与AHLC非常相似。唯一的区别是,来自之前backbone的较低级阶段的feature将传递到后续backbone。

  • 密集上级构成(Dense Higher-Level Composition)受到DenseNet论文的启发,该论文的每一层都与之后的所有层相连来在每个阶段中建立密集的连接。

上表显示了不同构成样式之间的比较。我们可以观察到AHLC样式优于其他复合样式。原因在论文中已得到很好的解释。作者声称,将先前backbone的低级feature直接添加到后续backbone的较高级feature会损害后继feature的语义信息。另一方面,将前一个backbone的较深层feature添加到后继backbone的较浅层feature中会增强后一feature的语义信息。

实验结果

上表显示了MS-COCO测试集上的检测结果。第5–7列显示目标检测结果,而第8–10列显示实例分割结果。明显看到,利用更多的backbone结构可以提高网络的性能。

结论

论文展示了一种称为CBNet的新颖架构。通过组合多个backbone架构,建议的网络将检测网络的准确率提高了约1.5%到3%。

当然模型参数大小和训练时间都增加了,speed–accuracy trade-off需要进一步检验。


浏览 31
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报