【显著性物体检测】Amulet: Aggregating Multi-level Convolutional Features for Salient Object Detection【论文笔记】

论文链接

摘要:同样是利用多级特征进行显著性物体检测,但这一片出的比较早,与2018年的cvpr的很多网络结构都有相似之处。作者提出的Amulet网络,首先将多级特征整合到多个分辨率下,然后再每一个分辨率下进一步特征整合进行显著性预测,再进行显著性融合得到最终的显著性图像。

直接看网路结构: 

作者分为了四个部分,分别是蓝色的块,表示多级特征提取;黄色的块RFC(resolution-based feature combination),表示基于分辨率的特征整合,至于什么叫基于分辨率呢,可以理解为整合后特征的维度,后面会具体讲。橙色的块SMP( saliency map prediction )表示递归地进行显著图预测,在这过程中每一份预测图都和真图进行递归监督 DeepRecursiveSupervision(DRS);最后蓝色的BPR(Boundary preserved refinement)边框整合,进一步提升显著图的精确度,最后经过FSP( fusion saliency prediction )进行显著图融合

【显著性物体检测】Amulet: Aggregating Multi-level Convolutional Features for Salient Object Detection【论文笔记】

 

 我们一个一个看:

多级特征提取部分,由去掉全连接和最后一层池化的VGG-16组成,每一次池化前的特征张量作为特征图

基于分辨率的特征整合(RFC),如下图,将其他层的特征通过shrink和extend得到和当前层相同分辨率的特征,然后连接(concatenate)起来,在使用1x1的卷积核和ReLU进行卷积,作为这一层整合之后的特征。直接理解就是,把其他层的特征缩放到当前层的特征一样的大小,然后连接做卷积,从而得到考虑不同层级的特征,而分辨率与当前的特征一致。

【显著性物体检测】Amulet: Aggregating Multi-level Convolutional Features for Salient Object Detection【论文笔记】

递归地进行显著图预测 ,如图中的橙色部分,对于第五层,直接经过反卷积到输入一样的大小,得到输出的显著图,对于前面的层,每一层都对当前层的特征进行反卷积,同时结合后一层已经输出的特征图,再进行卷积,进一步进行显著性预测。依次进行,最终递归到第一层。而递归监督,指的是,每一层的特征图都受到真图的监督,也就是最终的loss函数,包含这里每一个显著性预测图与真图的loss。

【显著性物体检测】Amulet: Aggregating Multi-level Convolutional Features for Salient Object Detection【论文笔记】

 边框整合,顾名思义,就是将边框信息整合进来,将每一层对应的特征图进行1x1的卷积之后,与之前预测的显著图相加之后进行卷积,得到整合了更多边框的细节的显著图,将这些显著图与之前第一层输出的显著图进行显著图融合(FSP)

【显著性物体检测】Amulet: Aggregating Multi-level Convolutional Features for Salient Object Detection【论文笔记】

作者在当时取得了不错的效果,但是,个人感觉这个网络数据流通非常复杂,也是作者提的:

每一份特征,都经过多个通道对最后的显著图产生影响 。结构有点复杂= =可以和2018双向结构的那篇进行对比,只不过两篇论文双向的实现方式不一样。博客链接,但都是利用了五层的特征。

整个RFC利用五个层级的特征,然后又从分辨率的角度进行由高到低的传播,这一部分和双向那篇是一致的。

最后还进行边框的整合,又一次利用了五层各自的特征。这一部分,有两个点

1是使用了多重监督,使用的显著图,都是监督的,然后融合后的也会进行监督。

2是再度使用了之前的特征,融合了多层特征形成的显著图再度与多级特征进行整合,以加强边缘信息。这一点是比双边额外多的一部分。