《Single-Shot Object Detection with Enriched Semantics》论文笔记
1. 概述
导读:这篇文章提出了新的一阶段检测算法Detection with Enriched Semantics(EDS),该算法在检测网络中通过semantic Segmentation branch以及global activation module增强了目标检测的语义特征,采用的是attention的思想增强特征中重要的成分。global activation module使用自监督的方法学习通道与目标类别之前的关系。基于VGG16的EDS算法在VOC2007数据集上获得了81.7的mAP,COCO上获得32.8的mAP,帧率为31.5FPS。
这篇文章的算法是基于SSD算法的改进,在SSD算法中大目标使用高阶的特征去预测,小目标使用浅层的特征去预测。文中指出这样会带来两个问题:
- 1)由于浅层的特征只是一些基本的视觉特征,就使得小目标检测性能并不好;
- 2)由于浅层特征的不理想也会影响高层次特征的检测性能;
对于第一个问题:使用图1中左下角的语义分割分支用于增强检测网络中的低层次特征。图2中的几幅图很好解释了语义分割分支增强特征的过程,原始的低层次特征(B)被语义分割的特征(C)**(增强)之后得到强化之后的特征(D),这样特征(D)就兼容了语义分割和目标检测的特征,这个过程可以看做是attention的过程。
对于第二个问题:文章提出的网络结构还加入了Global Activation Module,该模块排除了定位的信息,使用自监督的方式学习特征通道与目标类别之间的关系,这样可以增强在较高层级中目标检测特征的语义信息。
文章的贡献:通过使用语义分割分支以及Global Activation Module增强了特征的语义信息,从而提升检测器的检测性能。为毛不在高层次的特征里面也使用Segmentation增强呢?文中给出的解释是低层次的特征里面已经做过了这样的操作,而且高层次的特征本来就是高度融合,分辨率也比较小,分割并不适合;
2. 网络设计
2.1 网络整体结构
2.2 低层次特征的的语义增强
这里的语义分割是使用弱监督的形式,使用每个目标框的标注作为该分类的分割标注,这样就不需要额外的分割数据标注。整个的语义分割分支的结构见下图3所示,其中涉及到的先关过程及字母标志解析见下文。
这里使用代表检测分支的低层次特征图,代表分割的GT,其中的参数代表检测分类的数目(VOC时为20,COCO为80),语义分割的输出,因而可以用数学形式表示为:
其中满足:。
分割的中间结果是分割的中间结果,用于产生最后的分割结果也用来生成**特征。之后**特征通过与原始特征点乘得到激励之后的输出,该输出被用来替换掉原始的输入。
对于分割任务中GT的设置,分割的标注是来自于检测标注信息,其标注产生的原则见下图4:
2.3 高层次特征的语义增强
高层次的特征由Global Activation Module完成,该模块由三个阶段组成:spatial pooling、channel-wise learning和broadcasted multiplying。对于输入的特征,spatial pooling可以被描述为:
chanel-wise learning由**函数产生:
对于broadcasted multiplying就是对应通道上的点乘了。
2.4 网络的损失函数
对于原有的检测网络其定位的损失描述为:,而在文章中有为其增加了分割分支,因而还需要加入分割分支的损失:
文章给出的结论显示所取得的效果是最好的。
3. 实验结果
在VOC数据集上的检测性能:
COCO数据集上的检测性能: