西安有做网站的吗,网站建设简报,腾讯网站备案,群站wordpress期刊#xff1a;TPAMI
年份#xff1a;2024
摘要
研究图像语义分割问题。目前的方法主要集中在通过专门设计的上下文聚合模块(如空洞卷积、神经注意力)或结构感知的优化目标(如iou样损失)挖掘局部上下文#xff0c;即单个图像中像素之间的依赖关系。然而TPAMI
年份2024
摘要
研究图像语义分割问题。目前的方法主要集中在通过专门设计的上下文聚合模块(如空洞卷积、神经注意力)或结构感知的优化目标(如iou样损失)挖掘局部上下文即单个图像中像素之间的依赖关系。然而它们忽略了训练数据的“全局”上下文即不同图像之间像素之间的丰富语义关系。受最近无监督对比表示学习进展的启发本文提出一种像素级对比算法PiCo用于全监督学习环境下的语义分割。其核心思想是强制属于相同语义类的像素嵌入比来自不同语义类的嵌入更相似。通过明确探索以前很少研究的标记像素的结构提出了一种用于语义分割的像素级度量学习范式。所提出的训练算法与现代分割解决方案兼容在测试期间没有额外的开销。实验表明通过著名的分割模型(即DeepLabV3、HRNet、crnet、SegFormer、Segmenter、MaskFormer)和骨干(即MobileNet、ResNet、HRNet、MiT、ViT)所提出算法在不同的数据集(即Cityscapes、ADE20 K、PASCAL-Context、COCO-Stuff、CamVid)上带来了一致的性能提升。期望这项工作将鼓励社区重新思考当前语义分割事实上的训练范式。
Introduction
动机
利用全局上下文信息来改善语义分割的性能。通过像素级的对比学习促使同一类别的像素在嵌入空间中更紧凑不同类别的像素更分散。提出一种新的训练算法与现代分割解决方案兼容且在测试期间没有额外的开销。
主要贡献
提出一种有监督的逐像素对比学习语义分割方法。它将当前的图像训练策略提升到图像间、像素到像素的范式。其本质是通过充分利用标记像素之间的全局语义相似性来学习像素语义嵌入空间。开发了一种区域记忆以更好地探索巨大的视觉数据空间并支持进一步计算像素到区域的对比度。该方法结合像素到像素的对比度计算利用像素之间以及像素与语义区域之间的语义相关性。不是选择随机像素样本进行密集度量学习而是可以通过更好的示例采样和合成策略提供更强大的分割模型。
Method
2.1 前置知识
无监督对比学习无监督对比学习是一种自监督学习方法它通过学习数据的内在结构和模式来表示数据而不需要依赖于外部的标签信息。这种方法的核心思想是通过对比正样本相似的数据点和负样本不相似的数据点来学习区分不同数据点的特征表示。损失函数设计用来拉近正样本对之间的距离同时推远负样本对之间的距离。 其中 表示 I 的正样本的特征嵌入包含所有负样本的嵌入· 表示内部点乘积 0 是缩放距离分布的温度超参数。
记忆库在无监督对比学习中记忆库Memory Bank是一种关键机制用于存储训练过程中遇到的样本的特征表示以便在计算对比损失时使用。记忆库存储了大量样本的特征向量这些特征向量通常由编码器网络生成编码器网络负责将输入数据映射到特征空间。在每次迭代中记忆库用于提供负样本即与当前锚点anchor样本不同但同时参与损失函数计算。这有助于模型学习区分不同类别或不同实例的特征表示。
由于一次训练迭代中可用的负样本数量可能受到批处理大小的限制记忆库允许模型在每次迭代中访问更多的负样本从而提高学习效率。
2.2 监督对比分割
2.2.1 像素级交叉熵损失
一种常用的损失函数用于训练卷积神经网络CNN或其它类型的神经网络以预测图像中每个像素的类别标签。 以上损失函数公式存在两个问题i)独立验证每个像素的分割预测而忽略了像素之间的关系。因此模型可能会遇到难以识别视觉证据较弱或属于小物体的像素。ii) 由于 softmax 的使用损失仅取决于 logits 之间的相对关系不能直接监督学习的表示 。
这两个问题很少被注意到;只有少数结构感知损失被设计用来解决i)通过考虑相邻像素的成对亲和力优化交叉过并测量ii)最大化groundtruth和预测映射之间的区域互信息。
然而这些替代损失只考虑图像中像素之间的依赖性(即局部上下文)而不考虑图像中像素之间的语义相关性(即全局结构)。
2.2.2 Pixel-to-Pixel对比
通过像素级的对比学习来探索训练数据中的全局语义结构从而正则化分割嵌入空间的优化。这样同一类别的像素嵌入会被拉近而不同类别的像素嵌入则会被推远。
对于一个锚点像素 其真实语义标签为 正样本是其他属于类别 的像素负样本则是属于其他类别 的像素。 其中和分别表示正样本和负样本的像素嵌入集合 是温度参数用于控制分布的平滑程度。 正/负样本和锚点 i 不限于来自同一图像这种基于像素到像素对比度的损失设计的目的是通过将同一类像素样本拉近并推开不同的类样本来学习嵌入空间。
与传统的像素级分类损失如交叉熵损失不同像素到像素的对比损失不仅考虑了单个像素的分类准确性还考虑了像素之间的全局语义关系。
像素级交叉熵损失和对比损失是互补的前者让分割网络学习对分类有意义的判别像素特征而后者有助于通过显式探索像素样本之间的全局语义关系来规范嵌入空间从而提高类内紧凑性和类间可分离性。因此整体训练目标是 如图所示LSEG学习到的像素嵌入变得更紧凑比仅使用LCE学习的像素嵌入更好。这表明通过享受一元交叉熵损失和成对度量损失的优势分割网络可以生成更多的判别特征从而产生更有希望的结果。 左交叉熵损失右Pixel-to-Pixel对比损失 2.2.3 Pixel-to-Region对比
Pixel-to-Region Contrast像素到区域对比是PiCo算法的一个重要组成部分旨在通过利用图像中像素和区域语义区域之间的关系来提升语义分割的性能。
像素到区域对比是一种正则化技术它不仅考虑像素级别的对比还考虑像素与其所属语义区域之间的关系。
为了有效地进行像素到区域的对比论文中提出了一种记忆库的设计用于存储像素和区域的特征表示。记忆库包含两部分像素队列和区域记忆库。
像素队列为每个类别维护了一个固定大小的像素特征集合这些像素是从最新的小批量样本中随机选取的。区域记忆库存储了每个图像中每个语义类别的区域特征这些特征是通过平均池化同一图像中所有标记为该类别的像素嵌入得到的。
在计算像素到区域的对比损失时属于同一类别的区域嵌入被视为正样本而其他类别的区域嵌入被视为负样本。
动机由于在密集预测设置中存在大量的像素样本其中许多是冗余的例如从同一物体区域中采样的像素直接存储所有训练像素样本会大大降低学习过程的速度。因此通过维护像素队列和区域记忆库可以更有效地利用数据。
2.2.4 Hard Example Sampling
硬样本采样的目的是在训练过程中专注于那些难以正确分类的样本即“硬”样本从而提高模型对困难案例的学习能力。
硬样本采样策略
Hardest Example Sampling最硬样本采样选择与锚点像素在特征空间中最相似的负样本和最不相似的正样本。Semi-Hard Example Sampling半硬样本采样选择与锚点像素相似度处于中间水平的样本避免使用最容易和最困难的样本。Segmentation-Aware Hard Anchor Sampling分割感知硬锚点采样将分类错误的像素作为硬锚点并在损失计算中给予更多关注。
通过专注于硬样本模型可以学习到更加鲁棒的特征表示从而在面对具有挑战性的场景时表现更好。
2.2.5 Hard Negative Example Synthesis
硬负样本合成的目的是在训练过程中增加模型学习的难度通过引入难以区分的负样本来推动模型学习更鲁棒的特征表示。在对比学习中负样本的选择对于模型学习至关重要。硬负样本是那些在特征空间中与锚点样本相似度较高的样本这些样本对于模型的区分能力提出了更高的要求。
硬负样本的合成机制
负负合成Negative-Negative Synthesis通过随机选择负样本对进行凸线性组合来生成新的负样本。负锚合成Negative-Anchor Synthesis将锚点样本与选定的负样本进行线性混合生成更具挑战性的负样本。
合成的硬负样本在损失函数中作为负样本参与计算增加了损失函数的复杂性促使模型在优化过程中更加关注特征的区分度。
2.3 Detailed Network Architecture
对于小批量中的每个训练图像 I利用特征提取器 将其投影到密集嵌入 I 中然后将其输入分割头 进行掩码预测即 Y由交叉熵损失 () 监督以及用于像素对比度的投影头 ()。此外维护内存库M设计硬示例采样和合成策略来寻找更多信息样本以实现有效的对比学习。 Feature Extractor ()特征提取器用于将输入图像 映射到密集的特征表示 其维度为 ××其中 × 是特征图的空间尺寸 是特征维度。常见的CNN或Transformer骨干网络可以用于实例化 。
segmentation Head ()分割头 将特征表示 映射到一个类别分数图 其维度为 ××∣∣其中 ∣∣ 是类别的数量。这个分数图表示了每个像素属于各个类别的置信度。
Projection Head ()投影头 用于将每个高维像素嵌入 映射到一个低维的 -归一化特征向量用于计算对比损失 。 通常由几个1x1的卷积层、批量归一化BN和ReLU激活函数组成。在推理时 被移除不会引入任何额外的计算成本。
Memory Bank (M)记忆库 由两部分组成分别存储像素嵌入和区域嵌入。对于每个训练图像我们为每个类采样 V 10 像素。对于每个类我们将像素队列的大小设置为 T 10 N。对于大规模或词汇表的数据集例如 COCO-Stuff 和 ADE20 K我们将 T 设置为固定数量的即 10,000记忆库在训练后被丢弃不参与推理过程。
Joint Loss ()联合损失 结合了表示学习和度量学习的优势用于更显著的分割特征学习。它结合了像素级交叉熵损失 和对比损失 通过一个可调节的系数 来平衡两种损失。
总的来说 通过特征提取器得到特征并通过分割头得到像素级别的预测将其预测与Grounding Truth比较计算交叉熵损失。通过特征提取器得到特征并通过投影得到低维特征向量将分类错误的像素作为硬锚点从记忆库中选择与当前锚点像素相似的负样本以及不相似的正样本使用采样得到的锚点、正样本和负样本计算像素级的对比损失。使用联合损失反向传递更新网络并合成新的负样本。在每次训练迭代中重复上述损失计算和参数更新步骤直到模型在验证集上的性能不再提升或达到预定的迭代次数。 Conclusion
在本文中我们提出了一种新的监督学习范式用于语义分割它享受一元分类和结构化度量学习的互补优势。通过逐像素的对比学习它研究了训练像素之间的全局语义关系引导像素嵌入到跨图像的类别判别表示最终提高分割性能。实验表明在不同的语义分割基准上该算法比基于fcn或基于transformer的分割器实现了一致的性能改进。我们的算法在各种密集预测任务中显示出巨大的潜力例如姿态估计和身体解析。它也带来了新的挑战特别是在智能数据采样和生成、度量学习损失设计、训练期间的类再平衡和多层特征对比方面。考虑到过去几年里大量的技术突破我们期待在这些方向上出现一阵创新的热潮。