Press "Enter" to skip to content

技术干货 | 弱监督语义分割:从图像级标注快进到像素级预测

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

 

 

导读: 语义分割 一直是计算机视觉图像领域的主要任务之一 , 在实际应用中,由于能准确地定位到物体所在区域并以像素级的精度排除掉背景的影响,一直是精细化识别、图像理解的可靠方式 。 本文简单介绍了弱监督语义分割的概念和流程,并简单介绍了其中的几篇文章,以实践的角度分析了这些算法的落地优缺点。

 

文| 刘稳军

 

网易易盾高级计算机视觉研发工程师

 

 

背景

 

语义分割旨在将图像中的所有像素进行分类,也一直是计算机视觉图像领域的主要任务之一。在实际应用中,由于能准确地定位到物体所在区域并以像素级的精度排除掉背景的影响,一直是精细化识别、图像理解的可靠方式。但是构建语义分割数据集需要对每张图像上的每个像素进行标注。据统计,单张 1280*720 像素的图像分割标注时间约 1.5 个小时[1],而动辄上万、十万才能产生理想效果的数据集标注所需要的人力物力让实际业务项目的投入产出比极低。

 

针对这个问题, 仅需图像级标注即可达到接近的分割效果的弱监督语义分割 ,是近年来语义分割相关方向研究的热点。该技术利用更简单易得的图像级标注,以训练分类模型的方式获取物体的种子分割区域并优化,从而实现图像的像素级密集性预测。

 

网易易盾算法团队经过深入调研后,基于实践分析了弱监督语义分割技术方向的特点,并在实际项目上验证了它的有效性,从而成功将该技术落地到实际项目中并取得了显着的项目指标提升, 有效助力了网易易盾内容安全服务精细化识别 。 本文将介绍弱监督语义分割的分类和常规流程,选择该方向中有代表性的几篇论文进行简单介绍。

 

 

基本信息

 

分类

 

根据弱监督信号的形式,常见的弱监督语义分割可分为以下四类:

 

图像级标注: 仅标注图像中相关物体所属的类别,是最简单的标注;

 

物体点标注: 标注各个物体上某一点,以及相应类别;

 

物体框标注: 标注各个物体所在的矩形框,以及相应类别;

 

物体划线标注: 在各个物体上划一条线,以及相应类别。

 

 

本文主要关注标注最简单方便的,也是最难的——基于图像级标注的弱监督语义分割。

 

基于图像级标注的弱监督语义分割步骤

 

基于图像级标注的弱监督语义分割大多采用多模块串联的形式进行,如下图:

 

 

弱监督语义分割的步骤[2]

 

首先利用 图像级标注的图像类别标签 通过单标签或多标签分类的方式训练出一个分类模型,该分类模型通过计算图像中相应类别的类别特征响应图 CAM[3] 来当作分割伪标签的种子区域;接着 使用优化算法 (如 CRF[4]、AffinityNet[5] 等) 优化和扩张种子区域 ,获得最终的像素级的分割伪标签;最后,使用图像数据集和分割伪标签训练传统的分割算法(如 Deeplab 系列[6])。

 

 

代表性工作

 

这部分主要介绍图像级弱监督分割中几篇典型的论文,首先会介绍弱监督分割的基础论文 CAM[3],然后会介绍 2 篇如何获取覆盖度更广、更精准的 CAM 的算法(OAA[7]、SEAM[8])作为分割伪标签的种子区域,最后介绍一篇典型的种子区域优化扩张算法 AffinityNet[4]。

 

CAM(Class Activation Mapping)

 

这篇文章是由周博磊在 2016 年的 CVPR 提出,作者发现了即使在没有定位标签的情况下,训练好的 CNN 中间层也具备目标定位的特性,但是这种特性被卷积之后的向量拉伸和连续的全连接层破坏,若是将最后的多个全连接层换成了全局平均池化层 GAP 和单个后接 Softmax 的全连接层,即可保留这种特性。同时经过简单的计算,可以获取促使 CNN 用来确认图像属于某一类别的具有类别区分性的区域,即 CAM, CAM 具体的计算方式如下图:

 

 

设 f k (x,y) 为最后一层卷积层获取的第 k 个特征图在 (x,y) 位置的值,W k ^ c 是类别 c 对应最后一层全连接层第 k 个权重,则类别 c 的响应特征图 CAM 在 (x,y) 位置的值为:

 

 

Mc 即为 CAM。 CAM 的值越大,表示对分类贡献度越高 :如上图最后一幅图的热力图红色区域表示 CAM 值最大,也正是澳洲犬脸部区域。

 

在文章中,作者表示 CAM 所在区域可直接作为弱监督目标定位的预测,并进行了相关实验,不仅相比当时最好的弱监督定位算法效果提升明显,而且仅需单次前向推理过程即可得到定位框。

 

在弱监督语义分割中,CAM 一直是产生种子区域的核心算法。但是 CAM 缺点也很明显: 仅关注最具辨别度的区域,无法覆盖到整个目标 ,后续的算法中大多是在解决这个问题或者对 CAM 进行后处理,接下来会挑选几篇代表性的工作进行介绍。

 

获取更好的种子区域

 

OAA[7]

 

这篇文章的动机简单而直接,作者通过观察发现 在训练收敛前不同的训练阶段,模型所产生的 CAM 会在同一目标上的不同部位移动 ,如下图中的 b、c、d 表示不同的训练阶段,其 CAM(高亮区域)在移动。当整合同一图像在不同阶段产生的 CAM 时,整合后的 CAM 更能覆盖完全整个目标,如图中的 e 列。

 

 

其算法示意图如下:

 

 

对单张图像中的某个类别而言,在第 t 个 epoch 训练该图像时对其 CAM 特征图 Fc 进行 ReLU 和标准化:

 

 

然后与前一 epoch 保存的特征图 A (t-1) ^c 进行像素级比较,选择每个像素的最大值,最终输出为作为累积后的响应图 M t 。在训练完成后,Mt 即当作弱监督语义分割伪标签的种子区域。

 

OAA 算法简单且有效,当时在 VOC 弱监督分割数据集上取得了 SOTA 的表现;但笔者在实际项目尝试中发现其效果一般,原因在于多个 epoch 的 CAM 取最大值的方式容易使得种子区域出现较多噪声,而这些噪声是很难通过后处理消除的,最终导致分割精度明显下降。

 

SEAM[8]

 

该文章引入大火的自监督学习理念,通过观察发现同一图像经过不同的仿射变换所产生的 CAM 不一致这一特点(如下图 a 中不同尺寸变换),利用隐式的等变换约束的方式建立类似自监督对比学习的一致性正则化学习机制,减少这种不一致程度来优化 CAM,从而得到高精度的种子区域(下图 b)。

 

 

不同尺寸输入的图像的 CAM

 

SEAM 算法示意图如下:

 

 

将原始图像和其经过简单的放射变换 A(·) 后(如缩小、左右翻转)的图像分别送入到共享参数的 CNN 中获取各自对应的 CAM 特征图 y^o 和 y^t,这两个特征图再经过像素关系优化模块 Pixel Correlation Module (PCM) 的学习后分别得到优化后的 CAM 特征图 y^o 和 y^t。其中,PCM 是类似于 self-attention 的操作,query 和 key 是 CNN 得到的特征图,value 是 CAM 特征。其 loss 由 3 部分构成:

 

 

其中,L cls 是常用的多标签分类损失函数 multi-label soft margin loss,equivariant regularization (ER) loss 为:

 

 

equivariant cross regularization (ECR) loss 为:

 

 

推理时,采用多个尺度及其左右翻转后的图像产生的多个 CAM 加和、标准化后作为最终的 CAM。

 

SEAM 算法不仅在开放数据集相对其他算法取得了较大的提升,在易盾的实际项目中也取得较好的结果,其缺点是算法的训练和推理都比较耗时。

 

CAM 后处理

 

在得到 CAM 种子区域后,可以直接作为语义分割伪标签进行训练,但为了更好的分割结果,通常会对种子区域进行优化,接下来介绍一篇非常有效的算法 AffinityNet[5]。

 

该篇文章主要的做法是对于一张图像和其相应的 CAM,建立所有像素与其周围一定半径的像素的邻接图,然后使用 AffinityNet 估计邻接图中像素对之间的语义密切关系以建立概率转移矩阵。对每个类别而言,邻接图中在目标边缘的点会根据概率转移矩阵以 random walk 鼓励该点扩散到相同语义的边缘位置,同时会惩罚扩散到其他类别的行为。 这种语义的扩散和惩罚能显着优化 CAM,使其能较好地覆盖到整个目标,从而得到更精确、完整的伪标签。

 

该模型训练的主要难点在于如何不使用额外的监督信息,作者通过观察发现 CAM 可以作为产生训练 AffinityNet 监督信息的来源。 虽然 CAM 存在覆盖不完全以及噪声问题,但是,CAM 依然会正确地覆盖局部区域并确认该区域像素间的语义密切关系,这正是 AffinityNet 所需要达成的目标。为了获取 CAM 可靠的标签,作者摒弃了 CAM 特征图分数相对较低的像素,只保留高得分和背景像素。在这些特征区域上采集像素对,如果它们属于同一类别则 label 为 1,否则为 0,如下图所示。

 

 

在训练过程中图像经过 AffinityNet 得到特征图 f^aff,则特征图上像素 i 和 j 的语义密切度 W ij 计算方式如下:

 

 

其中,(X i ,Y i )表示第 i 个像素特征在特征图 f^aff 上的坐标位置。然后利用交叉熵损失函数进行训练。整体的训练和推理过程如下图所示:

 

 

首先利用训练图像的 CAM 选择多个像素对作为训练样本,并得到语义密切关系的 label,这些数据用来训练 AffinityNet(如上图左边部分);然后使用训练好的 AffinityNet 在每张图像上进行推理计算以获取该图像邻接图的语义密切矩阵作为概率转移矩阵;最后在该图的 CAM 上以 random walk 的形式使用该矩阵,得到最终优化后的语义分割伪标签(如上图右边部分)。

 

AffinityNet 算法思路清晰、结果可靠,常常作为 OAA 或 SEAM 等算法获取的 CAM 后处理方法用来优化伪标签精度和扩展伪标签覆盖区域,其提升效果在定性和定量分析中都很明显。

 

 

总结

 

本文简单介绍了弱监督语义分割的概念和流程,并简单介绍了其中的几篇代表文章,从实践的角度分析了这些算法的落地优缺点。现有的弱监督语义分割流程较为繁琐冗长,在学界已经有一些工作提出端到端的解决方案,并取得了一定的效果(如参考[9][10])。未来网易易盾算法团队会持续跟进学界最新方向并尝试落地,以进一步提升易盾内容安全服务精细化识别项目效果。

 

作者介绍

 

刘稳军,网易易盾高级计算机视觉研发工程师,负责内容安全领域相关算法的研发工作。

 

参考文献

 

[1] Cordts M, Omran M, Ramos S, et al. The cityscapes datasetfor semantic urban scene understanding[C]//Proceedings of the IEEE conferenceon computer vision and pattern recognition. 2016: 3213-3223.

 

[2] Zhang D, Zhang H, Tang J, et al. Causal intervention forweakly-supervised semantic segmentation[J]. Advances in Neural InformationProcessing Systems, 2020, 33: 655-666.

 

[3] Zhou B, Khosla A, Lapedriza A, et al. Learning deepfeatures for discriminative localization[C]//Proceedings of the IEEE conferenceon computer vision and pattern recognition. 2016: 2921-2929.

 

[4] Krähenbühl P, Koltun V. Efficient inference in fullyconnected crfs with gaussian edge potentials[J]. Advances in neural informationprocessing systems, 2011, 24.

 

[5] Ahn J, Kwak S. Learning pixel-level semantic affinitywith image-level supervision for weakly supervised semantic segmentation[C]//Proceedingsof the IEEE conference on computer vision and pattern recognition. 2018:4981-4990.

 

[6] Chen L C, Papandreou G, Kokkinos I, et al. Deeplab:Semantic image segmentation with deep convolutional nets, atrous convolution,and fully connected crfs[J]. IEEE transactions on pattern analysis and machineintelligence, 2017, 40(4): 834-848.

 

[7] Jiang P T, Hou Q, Cao Y, et al. Integral object miningvia online attention accumulation[C]//Proceedings of the IEEE/CVF InternationalConference on Computer Vision. 2019: 2070-2079.

 

[8] Wang Y, Zhang J, Kan M, et al. Self-supervisedequivariant attention mechanism for weakly supervised semanticsegmentation[C]//Proceedings of the IEEE/CVF Conference on Computer Vision andPattern Recognition. 2020: 12275-12284.

 

[9] Zhang B, Xiao J, Wei Y, et al. Reliability does matter:An end-to-end weakly supervised semantic segmentation approach[C]//Proceedingsof the AAAI Conference on Artificial Intelligence. 2020, 34(07): 12765-12772.

 

[10] Araslanov N, Roth S. Single-stage semantic segmentationfrom image labels[C]//Proceedings of the IEEE/CVF Conference on Computer Visionand Pattern Recognition. 2020: 4253-4262.

 

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。