PAGENet论文笔记
PAGENet论文笔记
引用格式
[1] Wang W , Zhao S , Shen J , et al. Salient Object Detection With Pyramid Attention and Salient Edges[C]// CVPR19. 2019.
研究的背景
- 多尺度显著性特征对SOD是十分重要的,以往的工作往往将注意力集中在如何组合中间层的结果上面。
- CNNs通过重复的池化和下采样操作使得深的层可以获得更大的感受野和更强的表示能力,但是同时失去了细节的信息,这对高级任务来说是有用的,但是对于低级任务来说是不利的,因为低级任务往往需要精确到像素级别,例如SOD,在边界上面就需要精确的像素级分类结果。以往的工作使用的是densely connected或者bottom-up/top-down网络架构,然后在top-down过程中逐渐恢复显著性目标的细节,但是锐度问题仍然是一个挑战。因此有感于语义分割中的先进技术,作者设计了一个显著边缘检测模块,来更好地分割显著性目标并锐化边界。
- 锐化度是一个挑战,边界不能做到像素级的精细分类,这主要是由于卷积核的平滑性和池化层的下采样。
使用的方法(创新点)
- 设计了一个基础的金字塔注意力结构(pyramid attention module),目的是在利用多尺度显著性信息的时候更多地关注显著性区域。这种堆叠注意力的设计通过考虑多尺度注意力并且扩大了层的感受野来增强网络的层的表示能力。在骨干网络中,通过多次的下采样,我们得到了多尺度的特征,对于每一个特征图,都要使用soft attention mechanism来得到注意力图(归一化重要性权重),图中每个位置的值代表该位置的重要性,在得到不同尺度的注意力图之后均进行上采样,恢复到该层图像的尺寸。最后将注意力图和原图加权求和,为了防止太多接近0的结果,因此需要与原图相加来方便反向传播$Y_j=\frac{1}{N}\sum_{n=1}^{N}(1+I_j^{‘n})X_j$。在图三中,可以看出该模块显著抑制了背景中的特征。
添加了一个显著边缘检测模块(salient edge detection module),这个模块强调了显著边缘信息的重要性——它为更好地分割显著性目标并精细化改进目标边界提供了强有力的线索。这个模块学习精确的显著边缘估计,从而更好地进行边界保持的显著目标分割。它以金字塔注意力模块的改进之后的结果作为输入,经过一系列的卷积层之后得到显著边缘预测,其损失函数被定义为:$\frac{1}{K}\sum_{k=1}^{K}\Vert P_k-F(Y_{I_k})\Vert_2^2$.其中$I_k$是输入的图像,$Y_{I_k}$是精细化改进之后的特征,$F$是送入显著边缘检测模块进行处理,$P_k$是从ground truth得到的显著边缘。
总的损失函数由两部分组成,被定义为如下:
$$\frac{1}{K}\sum_{k=1}^{K}(-\sum_i(\beta(1-G_i)log(1-S_i)+(1-\beta)G_ilog(S_i))+\Vert P_k-F(Y_{I_k})\Vert _2^2)$$
引入密集连接( Gao Huang, Zhuang Liu, Kilian Q Weinberger, et al. Densely connected convolutional networks. In CVPR, 2017)来综合使用不同层次的信息,第L层的结果将由前L-1层的显著性图和显著边界图共同得到。
研究的成就
- 提出Pyramid Attentive and salient edGE-aware saliency model, 也就是PAGE-Net。
- 金字塔注意力模块继承了注意力机制的特征增强能力(选择与任务相关的特征,Fei Wang, Mengqing Jiang, Chen Qian, etal. Residual attention network for image classifification. In CVPR, 2017),并成功的处理了多尺度显著性特征学习的问题。
- 显著边缘检测模块将边界信息嵌入到SOD模型中,帮助更好地分割并锐化结果。
评估方法
- PR曲线,F-measure,MAE.
其他
在深度学习中,获取具有很好代表能力的特征是最关键最为基础的,而具有多尺度空间的特征可以具有很好的代表能力,尤其是在显著性检测任务中,有很多工作可以表明多尺度特征具有很大的作用,因为很多工作中的模型都是通过组合各中间层的特征输出而获取较好的结果(不同中间层的特征的尺度是不一样的)。
基于CNN的用来解决不同任务的模型都具有一个统一的骨干网络(Vgg、ResNet或者其他),骨干网络主要负责提取统一的特征,后续根据不同任务而设计的网络再利用这些统一提取到的特征进行各自的任务,所以骨干网络提取到的特征具有广泛性或者说是具有冗余性,而不同的任务可能只需要骨干网络中提取到的特征的一部分,一般后续设计的特定网络应该会自适应地选取自己所需的特征,但是最近的一些关于attention的工作的成功表明,我们获取在接受骨干网络提取到的特征时就可以先对其进行筛选,这样的筛选会取得更好的结果,这可能是由于神经网络的学习能力还不够强,靠我们后续自己设计的网络去学习需要的特征还是有困难的,因为那些冗余的特征可能还会造成干扰,其实从这个角度来看,attention就是将原始的特征进行一些过滤,将那些响应值不大的特征滤除,增强响应值大的特征,将解空间减小,这样有助于后续的神经网络通过学习选取适合自己任务的特征。在显著性目标检测任务中,采用attention模块可以使得模型更加关注于与显著性相关的图像中的区域,从而有效地滤除背景中的一些干扰区域,有效提高模型的性能。attention要滤除不相干的特征,如何判断哪些特征是不相干的则变成一个有待解决的问题,最开始的方法便是直接对原始特征进行softmax或者sigmoid后得到[0,1]的与原始特征同尺寸的权重矩阵,用该权重矩阵与原始特征进行相应像素相乘进行筛选,这样做的动机便是认为响应值大的特征便是重要的特征,那些响应值小的特征应该就是不相关的特征,这样筛选方式还不够具有任务导向性,后面就有人采用了门的结构,将原始特征与有关的特征进行融合然后再进行上述的attention,类似的操作还有很多,在本片论文中,作者将多尺度特征提取和attention相结合,提取后的特征既具有较大的感受野(多尺度),而且还更加关注显著性区域(采用了attention),作者的做法就是对当前层的原始特征进行不同尺寸的下采样,对原始特征以及下采样后的特征再进行attention操作,最后将这些过滤后的特征再融合起来,便得到了pyramid attention后的结果。
显著性目标检测的任务大多是通过语义分割的方式来进行的,我们知道语义分割自从FCN以来就有一个缺点,那就是空间信息的丢失问题,由于CNN中的池化和下采样的存在,高层特征能够获取更大的感受野和更强的表示能力但是代价则是丢失了很多细节性的空间信息,而这些空间信息对于像素精细分类的任务来说是非常必要的,在显著性目标检测领域中,尽管有skip connect或者编码解码结构来解决这些问题,比如U-Net,通过逐步融合上一层的具有更多的空间信息的特征来一步步细化分割结果,很好地解决了空间信息缺失的问题,但是我觉得尽管融合了底层的特征可以很好地恢复丢失的空间信息,这种方法看似完美地同时解决了分类精度和空间信息恢复的问题,但是我觉得还是有不足的地方,因为尽管底层的特征具有更多的空间信息,但它毕竟就是特征,他的表示性相较于高层特征还具有一定差距,也就是具有语义上的鸿沟,融合高层和底层的特征就需要网络来缩小它们之间的语义鸿沟,这增加了网络的负担,而且缩小语义鸿沟和恢复空间信息貌似是两个具有矛盾性的问题,因为网络在融合的过程中肯定会权衡某个像素的分类是根据高层特征来分类还是通过底层特征来分类,若是对显著性目标进行定位肯定考虑高层特征多些,若是细化显著性目标的边缘肯定是考虑底层特征多些,若网络对于底层特征考虑过多,那么可能就会直接导致显著性目标检测的错误,尽管边缘可能会很好,若是网络对于高层特征考虑过多,则得出的结果显著性目标会检测到,但其边缘可能会有模糊不清的表现,所以我们可能会看到,U-Net可能对于那些较为容易检测出来的显著性物体有很准确的定位以及边缘分割效果,但是对于那些背景比较复杂的难以分类的显著性物体来说,要么会检测出背景中的物体,要么检测出来的显著性物体边缘会有模糊的现象,这可能就是类似于U-Net方法对于特征的语义鸿沟处理不当所造成的结果,虽然我并不知道如何解决这个问题,但是U-Net的缺点应该就是这样的。在本文中作者将显著性物体的边缘信息融入到提取到的特征中,作者是通过网络预测显著性物体边缘来得到边缘信息的,有了边缘信息可以使得模型更好地定位显著性物体以及细化分割结果。之前的方法中还有增加边缘loss,可以使得模型更加注重于显著性物体边缘的像素的分类。