【论文精选】TPAMI2020 - PFENet_先验引导的特征富集网络_小样本语义分割
精选精析:
【论文原文】: Prior Guided Feature Enrichment Network for Few-Shot Segmentation (当前引用次数:184)
【论文代码】: https://github.com/Jia-Research-Lab/PFENet/ (当前Star:231)
获取地址:https://ieeexplore.ieee.org/abstract/document/9154595 CSDN下载:https://download.csdn.net/download/qq_36396104/87381592
博主关键词: 小样本学习,语义分割, 先验引导,特征富集
推荐相关论文:
【论文速递】TPAMI2022 - 小样本分割的整体原型激活 - https://phoenixash.blog.csdn.net/article/details/128664715 - 关联创新点:一种无需训练的派生基类先验表示的方案
【作者信息】: Zhuotao Tian, Student Member, IEEE, Hengshuang Zhao, Member, IEEE, Michelle Shu, Student
Member, IEEE, Zhicheng Yang, Member, IEEE, Ruiyu Li, Member, IEEE, Jiaya Jia, Fellow, IEEE
【作者单位】:
• Z. Tian (tianzhuotao@link.cuhk.edu.hk), H. Zhao and J. Jia are with the Department of Computer Science and Engineering, The Chinese University of Hong Kong. • M. Shu is with Johns Hopkins University. • Z. Yang and R. Li are with SmartMore. • Corresponding Author: H. Zhao.
摘要精析:
由于训练类的高级语义信息使用不当,查询目标与支持目标的空间不一致,目前的小样本分割框架仍然面临着对未见类的泛化能力降低的挑战。为了缓解这些问题,PFENet提出了先验引导特征富集网络(PFENet)。它包括:(1)一种无需训练的先验掩码生成方法,不仅保留了泛化能力,还提高了模型性能;(2)特征富集模块(FEM),通过自适应地用支持特征和先验掩码丰富查询特征来克服空间不一致性。 在PASCAL-5i和COCO上的大量实验证明,所提出的先验生成方法和FEM方法都显著改进了基线方法。PFENet在没有效率损失的基础上,性能超出最先进的方法很多。而且,PFENet模型甚至可以推广到无支持样本的情况。代码可以在https://github.com/Jia-Research-Lab/PFENet/上找到。
关键词 -小样本分割,小样本学习,语义分割,场景理解。
简介精析:
如果没有足够的完全标注的数据,或者在处理没有见过的类别时,已有深度学习框架的性能会迅速恶化。即使提供了额外的数据,模型调优仍然需要消耗大量的时间和资源。为了解决这个问题,需要设计模型快速适应新的类别,由此提出了小样本语义分割[33],并将模型输入数据分为support(支持)集和query(查询)集。如图1所示,首先将support集和query集的图像发送到骨干网提取特征。可以通过为分类器生成权重[33],[41],余弦相似度计算[5],[45],[23],或卷积[15],[54],[49],[9],[1]来处理得到的特征并生成最终的预测。
Fig. 1. 小样本分割框架总结。被用于提取support和query特征的骨干网络可以用一个共享网络或两个孪生神经网络
论文中指出现有的小样本分割方法普遍存在的两个问题:
1.由于滥用高层特征而导致的泛化性能损失
常规语义分割模型在很大程度上依赖于具有语义信息的高级特征。CANet[54]的实验表明,在小样本模型的特征处理过程中,简单地添加高级特征会导致性能下降。在few-shot设置中利用语义信息的方法并不简单。
PFENet使用ImageNet[32]预训练的query和support图像的高层特征来为模型生成“先验”。这些先验值有助于模型更好地识别query图像中的目标。由于之前的先验的过程无需训练,因此尽管在训练过程中经常使用已见类别的高层语义信息,但所得到的模型并没有失去对未见类别的泛化能力。
2.query和support样本之间的空间不一致性
由于样本有限,每个support目标对象的规模和姿态可能与其对应query目标对象有很大差异,我们称之为空间不一致性。
PFENet提出了一种新的特征富集模块(Feature Enrichment module, FEM)来自适应地充实query特征。论文中的消融研究表明,仅仅结合多尺度来解决空间不一致性是次优的,FEM提供了有条件的特征选择,有助于保留跨越不同尺度传递的重要信息。实验证明FEM的性能优于HRNet[44]、PPM[60]、ASPP[4]和GAU[53]等多尺度结构。
基于ResNet-50的PFENet仅包含10.8 M可学习参数,在PASCAL-5i[33]和COCO[21]基准测试中,分别以15.9和5.1 FPS(1-shot和5-shot设置)获得了SOTA结果。此外,论文中还将模型应用于没有标记数据可用的 zero-shot场景来证明有效性。
PFENet模型精析:
Fig. 2. PFENet与先验生成和特征富集模块概述。用H和M标记的白色块分别代表从骨干提取的高级和中级语义特征。
先验生成模块:
重要动机说明:
作者首先说明他们在先验生成模块中采用高层语义特征的动机:CANet[54]中解释了中间层语义特征的性能更好,因为它构成了未见类共享的目标块,高层语义特征(例如ResNet-50的conv5_x)会导致性能降低。但PFENet的另一种解释是,高层语义特征中包含的语义信息比中层特征更具有类特异性,这表明中间层语义特征更容易对模型对未见类的泛化能力产生负面影响。此外,高层语义特征直接提供训练类C_{train}的语义信息,比中层信息更有助于识别属于C_{train}的像素,减少训练损失。 因此,使用中间层语义特征导致了对C_train的偏好。缺乏泛化性和对用于训练的类别的偏好都不利于对未见测试类的评估。
先验掩膜生成方法:
PFENet试图将ImageNet[32]预训练模型中提取的support高级语义特征和support mask转换为一个先验掩码,该掩码能够表示query特征图上每一个像素属于目标类的概率。 训练时,骨干网络参数固定为PANet[45],CANet[54]中的参数。因此,先验生成过程不偏向训练类C_{train},并在对未见的测试类C_{test}进行评估时保持类不敏感。I_Q, I_S表示输入query和support图像,M_S表示二进制支持掩码,F表示骨干网,X_Q, X_S表示高级query和support特征,然后在公式(1)中,support高层语义特征X_S矩阵乘二进制的support mask进行背景去除:
矩阵乘采用的是哈达玛积(Hadamard product)对形状相同的矩阵进行运算,并产生相同维度的第三个矩阵。骨干网F的输出用ReLU函数处理。
作者定义先验特征图为Y_Q,先验Y_Q可以量化X_Q和X_S之间像素级的对应关系。一个像素在Y_Q上的值高,意味着该像素与support特征中的至少一个像素具有高度的对应相似关系。作者还通过将support特征上的背景像素位置用support掩膜设置为零,使得query特征的像素与support特征上的背景没有对应关系,它们只与前景目标区域相关。
先验掩膜计算公式:
PFENet计算support和query特征之间像素级的余弦相似度来生成先验掩膜Y_Q:
其中x_q和x_s分别是query和suppot特征上对应像素位置的特征向量,即计算query特征上每个像素位置和support特征上所有像素位置的向量的余弦相似度,然后保留最大的那个作为Y_Q的特征值c_q。
然后接一个min-max归一化处理YQ,将值归一化到0到1之间。epsilon设置为 1e− 7防止除0。
特征富集模块:
Fig. 4. FEM的可视化说明(虚线框部分)与四个尺度的自上而下的流程。C,1x1和圈出的M分别代表特征拼接、1×1卷积和跨尺度合并模块。激活函数是ReLU。
重要动机说明:
作者同样说明了从support图像上进行全局池化提取类别向量会导致空间信息不一致,因为query图像上目标的面积可能比support样本大得多或小得多,使用全局池化support特征直接匹配query特征的每个像素不够理想。目前的替代方案是添加PPM[60]或ASPP[4],以向特征提供多层次的空间信息。但这两个模块的不足之处在于:1)它们只提供被合并特征的空间信息,没有在每个尺度内进行细化;2)忽略了不同尺度间的层次关系。为了缓解这些问题,作者提出了特征富集模块(FEM)对多尺度结构进行了分解: 1)在每个尺度上,将query特征与support特征和先验掩码横向交互;2)垂直利用层次关系,通过自顶向下的信息路径,将从精细特征中提取的基本信息丰富粗略的特征图。通过横向和纵向优化,收集投影到不同尺度的特征,形成新的query特征。
特征富集方法:
如图4所示,特征富集模块(FEM)将query特征、先验掩码和扩张到对应尺度后的support特征作为输入,输出带有来自support特征的丰富信息的精炼后的query特征。
步骤1 - Inter-Source Enrichment:
将输入投影到不同的尺度上,然后在每个尺度上query特征分别与support特征和先验掩码进行交互。
这个简单,如图4,就是将之前提取的特征变换尺度后(C)串联叠加到一起。i ∈ {1, 2, …, n}代表n个不同的尺度。紧接着用1×1卷积,产生c = 256个输出通道的合并后的特征。
步骤2 - Inter-Scale Interaction:
跨尺度的交互,在不同尺度合并的query和support特征之间选择性地传递重要信息。
作者注意到在向下采样的特征图中可能不存在极小的对象。因此采用自适应的自顶向下过程将信息从较细的特征传递到较粗的特征,有利于在特征富集模块中建立层次关系。不仅要在每个尺度上进行query和support特征之间的交互(水平),还要在不同尺度上的合并特征之间进行交互(垂直),从而有利于整体性能。
图4中圈出的M表示跨尺度合并模块M,该模块通过选择性地将上一层的辅助特征X{Aux}中有用的信息传递给该层主特征X{Main},在不同尺度之间进行交互,从而生成细化的特征。
Fig. 5. 跨尺度合并模块M。C是拼接操作,+是像素级特征相加。α表示1×1卷积,β表示两个3×3卷积。激活函数是ReLU。对于不具有辅助特征的主特征,不与辅助特征进行拼接,仅由具有α和β的主特征产生细化特征。
如图5所示说明了提出的跨尺度合并模块M。首先将从其他尺度下获取的辅助特征调整为与主特征相同的空间大小。然后使用1×1卷积α从主特征和辅助特征拼接后的特征中提取有用的信息,然后与主特征进行一次像素级相加操作。后续使用两个3×3卷积,命名为β完成交互,然后再次和主特征进行一次像素级相加操作,输出细化后的特征。对于那些没有辅助特征的特征(例如,自顶向下路径上的第一个合并特征和自底向上路径上的最后一个合并特征),则简单地忽略了与辅助特征的拼接——细化后的特征只由主特征产生。
步骤3 - Information Concentration:
将不同尺度的特征采样到同样大小后进行拼接,使用一个1×1卷积最终产生细化的query特征。
在FEM的输出特征上,PFENet应用一个卷积块(图7(a))和一个分类头来产生最终的预测。分类头由一个带有Softmax函数的3×3卷积和1×1卷积组成,如图7(b)所示。
此外作者还在训练过程中添加了辅助损失操作。对 Inter-Scale Interaction操作后获得的Merged特征添加一个分类头如图7(b)所示,获得每个尺度下输出的预测图,并和query的图像标签计算的交叉熵进行累加操作,平均后得到最终的辅助损失。对应代码如下:
for idx_k in range(len(out_list)): inner_out = out_list[idx_k] inner_out = F.interpolate(inner_out, size=(h, w), mode='bilinear',align_corners=True) aux_loss = aux_loss + self.criterion(inner_out, y.long()) aux_loss = aux_loss / len(out_list)
损失函数:
PFENet中采用交叉熵损失计算所有的损失函数。Merge后的特征的预测结果产生多个中间辅助监督损失L1,PFENet的最终预测产生了第二个损失L2。总损失L为L1^i和L2的加权和。其中σ用于平衡中间监督的效果。在所有实验中作者经验性地将σ设为1.0。
其他设置说明:
对于所有骨干网络,PFENet将conv3_x和conv4_x的最后一层输出作为中层特征M,串联生成query和support特征,将conv5_x的最后一层输出作为高层特征H,生成先验掩码。在5-shot设置中,PFENet仅简单地将5个池化后的support特征的平均值作为与查询特征关联之前的新support特征。同样,FEM中拼接前的最终先验掩码也是一个由不同support特征和query特征产生的5个先验掩码的平均值得到的。
AIEarth是一个由众多领域内专家博主共同打造的学术平台,旨在建设一个拥抱智慧未来的学术殿堂!【平台地址:https://devpress.csdn.net/aiearth】 很高兴认识你!加入我们共同进步!