作者丨赵磊
学校丨北京林业大学硕士生
研究方向丨语义分割
本文已经被 NeurIPS 2019 (2019 Conference and Workshop on Neural Information Processing Systems) 接收,论文为弱监督图像语义分割方法提出了一种全新的损失函数——门控全连接条件随机场损失即 Gated CRF Loss,通过与传统交叉熵损失函数结合,应用于重量级语义分割模型 DeepLab-v3plus 的训练过程,能够在 Pascal VOC 2012 数据集中将基于点击和描画的弱监督分割方法精度分别提升至 67.39%和 75.50%,为时下最佳。论文主要的贡献在于门控全连接条件随机场损失函数的提出与一系列证明该损失函数有效的消融实验的设计。
背景
目前流行的图像语义分割模型通常在具有完整标注的大型数据集上进行训练,这样的数据集获取成本过高,基于此弱监督语义分割方法得到了更多的关注,并已经进行了多种不同的尝试,包括输入不同类型的弱标注(基于粗略描画的,基于边界框的,基于粗略点击绘制的以及基于图像级别标签的),这些方法能够降低标注数据的成本,但分割精度较差,尤其是分割边界。
论文提出使用新型的损失函数:对于有标注的像素点使用交叉熵损失,对于无标注的像素点使用门控 CRF 损失。门控 CRF 损失用于弱监督分割方法的训练,它能够:1)消除无关像素点的对当前像素点分类的影响;2)更加关注语义边界而非区域之间的语义联系;3)简化了全连接条件随机场与卷积神经网络的结合方式;4)不依赖高维滤波器,能够进行端到端训练。
门控CRF损失
用于语义分割的传统交叉熵损失
用于语义分割卷积神经网络 F 在训练中需要多对图像 x- 标注 y,最终为每个像素点从 C 个类中预测其所属类别。用 N 表示一副图像中像素点的个数,其属于类别 i 的概率为
,传统的用于多分类问题的交叉熵损失函数形式为
, 其中 y 是给定标签。
在强监督的方法中,几乎所有的像素点都是带有标注的,从而会形成一个密集的分割图,其中每个像素点
; 而弱监督方法中只有一部分像素 点带有标注,会形成一个带有不完整结果的分割图
,由于无标注的像素点不 能为学习过程提供有效信息,损失函数可以表示为
,由于只有部分像素点有标 注,这个交叉熵损失通常被称为局部交叉熵损失( partial cross-entropy , pCE) 。
弱监督标注:基于点击和基于描画
典型的弱监督方法的动机是通过更少的像素得到更多的采样点,弱标注的 数据有多边形标注、描画标注和边界框标注等,其中基于点击和描画的标注具有以下优点:1)标注区域更小,带有标注的像素点通常是精准可信的;2)标注过程更加高效;3)目标和其他区域的类别更好处理。
因此论文关注基于点击和描画的弱标注数据。但是该论文提出的方法也能应用在图像级别的弱标注数据,只需把 pCE 损失换成一个其他合适的损失函数。基于点击(click- based)和基于描画(scribble-based)的弱标注数据如下图所示。
门控 CRF 损失函数用于密集标注任务
论文希望在不引入任何先验知识的情况下减小弱监督分割方法和强监督分割方法的性能差距,而只使用 pCE 损失不能为边界处提供更多的帮助,由此引入全连接条件长。首先定义为类别为 i 和 j 的位置 a 和 b 的能量项:
表示两个点对的势,μ 表示通用的类别矩阵,形状为
,后跟
,在
中,
表示权重,
是 第 p 个核的特征向量,计算如下:
且:
通过能量项的定义和计算可以看出,给定特征相似度时如果两个位置的类别不同则能量项值越小,而特征相似性度量是通过核的权重和频带计算得到的,也就是说一个核就是一个五维的颜色相似度。下图是当 σRGB=0.1,σXY =12.0 时部分的计算结果:
然后计算位置 a 和 b 处的预测值
的势:
预测值的能量项是全连接条件随机场的重点,门控 CRF 损失对齐进行进一步优化,总结如下:
1.
表明能量项的计算排除了像素点自己给自己打标签的情况。 有时候也想将一些其他位置的无关像素点排除,论文定义了一个和输入图像 x 大小相同的源掩码
,其中
,即当该位置为 1,则可以用于为其他位置计算势,为 0 则不可以。
2. 能量和被认为是所有位置 a∈[1,N] 能量的累加,这过于简单。弱监督任务中,可能有的点参与到当前点的能量和计算时,会带来负面影响。为了排除这些点的干扰,论文还设计了和输入图像 x 尺寸相同的目标掩码
,值为 1 表示该像素点可以从其他位置的像素点接收能量,0 则不可以。
3. 对于一个固定的位置 a,在假定所有核都是高斯核且特征向量
包 含位 置坐标的时候,a 和 b 的势会随距离的增大而减小。 当监督信号十分分散或微 弱的时候,CRF 存在大量冗余计算,但这些计算对于捕获像素点之间的联系又 非常关键,论文采用的方式是限制参与对位置 b 处像素点能量求和的范围,使其只与邻近位置 Ω(a) 计算能量。
为了实现 1 和 2,论文对 CRF 中能量项计算的公式进行了调整使其支持门控信息:
其中
,即门控函数,其能够有选择地进行能量计算 {只有当 b 是有效的“源”位置且 a 是有效的“目标”位置,位置 b 对于位置 a 的能量才能够参与计算}。
为了实现 3,论文定义了一个窗口(位置 a 的半径 r 区域):
这样能量和变为:
最终论文提出的门控 CRF 损失函数表示为:
这个损失对于最终损失的贡献的权重为 λ,即:
实验分析
实验设置
该论文提出的方法并不依赖特定的架构,实验选择当前语义分割效果最好的重量级语义分割模型 DeepLab-v3plus 作为 baseline。另外本文使用了 Pascal VOC2012 和 CityScapes 两个数据集,由于缺少基于点击和基于描画的弱监督数据,论文利用已有方法进行生成,用于模型训练和实验结果比对,并且采用平均交并比(mIoU)作为评价指标。
下列图表结果中,鼠标标志表示训练数据是基于点击的弱监督数据,线条标志表示训练数据是基于描画的弱监督数据,黑色实心方框表示训练数据是全监督数据。
分割结果可视化
如下图所示,从左到右前两列为原始图像和真实标注,后三列分别为全监督方法的分割结果,以及采用新型损失时,基于描画标注数据和基于点击标注数据的分割结果。
定量分析
在 VOC 数据集上与 SOTA 弱监督方法的精度进行对比,结果如下表所示,可以看到。在弱监督方法中不论是基于点击的弱监标注数据还是基于描画的弱标注数据,损失函数结合门控 CRF 损失都会大幅提升实验精度。具体地,分别将弱监督下最好的平均交并比提升至 67.39%和 75.50%。
消融实验
源掩码和目标掩码 的影响
下表中第一列表示损失函数只采用局部交叉熵损失(pCE),后三列都是门控 CRF 损失与局部交叉熵损失的结合,一次为不激活源掩码
和目标掩码
,只激活源掩码,同时激活源掩码和目标掩码。
可以看到,门控 CRF 损失和源掩码的激活能够有效提升弱监督数据的精度,但是激活目标掩码后,VOC 数据集上的精度反而有所降低,这是因为 VOC 数据集中一幅图中的目标实例较少,相应的弱监督数据质量也较低,激活目标掩码弱化门控 CRF 损失必然会导致精度的下降。
而在 CityScapes 数据集中每幅图通常包含多个目标实例,能够为 pCE 损失提供了有效支持,激活目标掩码会提升最终结果。由此论文指出,源掩码是必须加入的,而目标掩码需要视数据集情况决定是否激活。
小有标注像素输入规模对最终结果的影响
该实验结果来自基于点击的弱监督数据,[1×1] 和 [3×3] 分别表示基于点击的数据中每次点击的像素点数为 1 和 9,结果如下表所示:
可以看到只使用交叉熵损失时,VOC 数据集中每次点击的像素点多比较有利,而结合门控 CRF 损失后,则消除了两者的精度差距,表明结合门控 CRF 损失后对弱监督的数据更加有利。而在 CityScapes 数据集中,实验结果均为明显变化,可能是由于该数据集中包含更多的小尺度目标,扩大每次点击绘制的像素点数可能会使当前目标覆盖其他目标从而影响精度。
不同邻域范围对实验精度的影响
如下表所示,精度与并不随邻域范围增加而一直增大,取 6 时效果最好。
不同损失权重的影响
下表为不同权重的门控 CRF 损失对实验结果的影响。可以看到对于弱监督数据,取 0.1 时得到最好精度效果,对于全监督,取 0.15 时得到最好精度效果。而且随着权重的变化,实验精度变化不大。
总结
该论文提出了一种简单却有效的损失函数用于弱监督图像语义分割模型的训练,使用标准交叉熵损失用于有标注像素点,使用新型的门控 CRF 损失用于无标注像素点。整个方法不需要额外的预处理或后处理,能够端到端地训练。方法在基于点击和基于描画的弱监督标注数据中都取得了 SOTA 效果。
综合来看,该方法是将全连接条件随机场用作损失函数的又一种尝试,并且在常用的弱标注数据上取得了较好的效果。通过大量的消融实验,为其他具体的弱监督任务的数据标注和损失函数选用指明了新的方向,期待代码尽快开源。