|把因果干预用到弱监督语义分割上!这篇NeurIPS 2020 oral论文不简单( 二 )


而仅仅通过种子扩张的方法去准确cover到目标的所有区域并不超出目标的边界显然是不可能的 。
而对于一个具体的object而言 , 其不完美的pseudo-mask无非就以下两种基本的情况 , 如图2所示:
1)没cover到完整的区域(Incomplete Foreground);
2)超出了本身的区域 。 对于第二种情况我们又将其分为两种具体的case:超出到了其他前景目标区域中(Object Ambiguity) , 以及超出到了背景区域中(Incomplete Background) 。 在实际生成的pseudo-mask中 , 以上的三种情况往往是混合在一起出现的 。
另外 , 图2中的“context”是我们把数据集中每个类对应的目标区域使用mask扣出来后求mean的结果 , 其能反映出来当前类在图像中的一个大概的位置、形状等信息 。
图 2. 伪标签中存在的三种基本问题. (a) Object Ambiguity; (b) Incomplete Background; (c) Incomplete Foreground.
3 结构化因果图
为了解决伪标签中存在的问题 , 我们首先需要知道的是什么原因产生了这些问题 。 因果关系作为可以用来分析模型component之间因果效应的工具 , 被理论和实践验证是有用的 , 并已经被成功应用在多个计算机视觉任务中 。
在我们的论文中 , 我们通过建立结构化因果图(Structural Causal Model)分析弱监督语义分割模型中各个component之间的因果关系 , 从而发掘导致不完美的pseudo-mask的原因 。
图3就是我们提出的结构化因果关系图 , 其中C是数据集的上下文先验 , X是输入图像 , Y是图像对应的类别标签 , M被认为是X在上下文先验C下的一个具体的表示 。 至于为什么这四个components之间的因果关系可以这么表示 , 以及各个component之间的具体的关系 , 大家可以去查看我们的论文 Section 3.1 , 里面有详细的解释 。 另外 , 关于因果关系的一些背景知识 , 建议大家可以参考[1,2] 。
|把因果干预用到弱监督语义分割上!这篇NeurIPS 2020 oral论文不简单
本文插图

图 3. 本文提出的结构化因果图
4 因果干预
通过以上的结构化因果图 , 我们可以很清楚的发现 , 上下文先验C在整个模型中是一个混淆因子 , 其导致了弱监督语义分割模型在分类的过程中将标签Y和一些存在于X中的和Y无关的像素“虚假关联”了起来 。
例如 , 在PASCAL VOC 2012数据集中 , 只要有“马”出现的时候 , 那么一般同时都会有“人”的存在 , 那么分类模型就会把“马”和“人”进行关联 , 导致马的部分的CAM会落到人所在的像素区域中 , 可视化的例子大家可以参照图2中的Object Ambiguity 。
为了消除这种混淆因子 , 一个最直接的方法就是我们可以获得这样一个数据集:其中不同种类的目标的各种角度均被放在所有可能的上下文中进行了拍摄 , 显然这是不可能实现的 。 退一步讲 , 即使我们可以这么做 , 那也是得不偿失的 。
为了达到相同的目的 , 我们只能使用因果干预来达到近似的效果 。 如图4所示 , 通过切断上下文先验C和图像X之间的关联 , 使得X能和每一种C都公平地进行结合 , 从而打破弱监督语义分割模型在分类过程中的X和Y之间的虚假关联 , 以产生质量更高的CAM用于seed area 。
|把因果干预用到弱监督语义分割上!这篇NeurIPS 2020 oral论文不简单
本文插图

图 4. 干预的结构化因果图
然而在弱监督语义分割的task中 , 上下文先验C本身是不可知的 。 我们能拿到的所有的信息只有图像X , 图像类别标签Y , 以及通过X和Y产生的pseudo-mask 。
为此 , 在本文提出的Context Adjustment方法中 , 我们使用Class-Specific Average Mask来近似构建一个Confounder set , 其中Confounder Set中的每一项是通过对每个类的mask进行平均后获得的均值 。


推荐阅读