2-27-Exploring Cross-Image Pixel Contrast for Semantic Segmentation(arxiv2021)有代码

2023-10-29

原文链接: http://www.myzaker.com/article/60348715b15ec0509c7170d3/

在这篇论文中,研究者提出了一种新的、全监督语义分割训练范式「像素对比学习」,强调利用训练集中、跨图像的像素 - 像素对应关系来学习一个结构化的特征空间,用来替代传统的、基于图像的训练范式。

论文地址:https://arxiv.org/pdf/2101.11939.pdf

代码地址:https://github.com/tfzhou/ContrastiveSeg

当前,语义分割算法的本质是通过深度神经网络将图像像素映射到一个高度非线性的特征空间。然而,现有算法大多只关注于局部上下文信息(单个图像内、像素之间的位置和语义依赖性),却忽略了训练数据集的全局上下文信息(跨图像的、像素之间的语义相关性),因而难以从整体的角度对习得的特征空间进行约束,进而限制了语义分割模型的性能。

最近,苏黎世联邦理工学院及商汤研究院的研究者提出了一种新的、全监督语义分割训练范式:像素对比学习(pixel-wise contrastive learning),强调利用训练集中、跨图像的像素 - 像素对应关系(cross-image pixel-to-pixel relation)来学习一个结构化(well structured)的特征空间,用来替代传统的、基于图像的(image-wise)训练范式。

该训练策略可直接应用于主流的语义分割模型,并在模型推理阶段不引入额外计算开销。下图展示了在 Cityscapes 验证集上主流分割算法的性能,可以看出,在 DeepLabV3、HRNet、OCR 上引入像素对比学习后,取得了较为显著的性能提升。

当前语义分割领域忽略了什么问题?

 

图像语义分割旨在为图像中的每个像素预测一个语义标签,是计算机视觉领域的一个核心问题。自 Fully Convolutional Network(FCN) [ 1 ] 提出以后,主流的语义分割算法强调图像内部的上下文信息(intra-image context)。主要从两方面入手 : 1 ) 提出不同的上下文聚合模块(context aggreation module),如 dilated convolution, spatial pyramid pooling, encoder-decoder 及 non-local attention 等经典模型,核心思想是利用额外的模型参数或特殊的操作来建模提取图像内部的上下文信息;2)传统算法将语义分割视为一个像素级的分类任务,因而逐像素独立计算交叉熵损失(cross-entropy loss),但完全忽略了像素间的依赖关系。因而有研究者提出结构化的(structure-aware)损失函数,如 pixel affinity loss [ 2 ] ,lovasz loss [ 3 ] 等,直接在训练目标函数中对分割结果的整体结构信息进行显式约束。

然而,以上工作都只关注图像内部的上下文信息,却忽略了跨图像的、全局的上下文信息:在训练集中,来自不同图像的像素之间也具有极强的相关性,如图 1(b),相同颜色的像素表示他们具有相同的语义。

更进一步,当前语义分割算法的本质是通过深度神经网络,将图像像素映射到一个高度非线性的特征空间(如图 1(c)),在这个过程中,只利用了上下文聚合模块或结构化的损失函数来强调局部的像素间的依赖关系,但忽略了一个本质问题:一个理想的语义分割特征空间究竟是什么样的?

研究者认为,一个好的分割特征空间应同时具备两个性质:

强判别能力:在该特征空间中,每个像素的特征应具有较强的分类能力(strong categorization ability of individual pixel embeddings);

高度结构化:同类像素的特征应高度紧致(intra-class compactness),不同类像素的特征尽量分散(inter-class dispersion)。

然而,当前语义分割方法一般只关注性质 1,却忽略了 2。此外,很多表征学习(representation learning)的工作 [ 4, 5 ] 也验证了:通过强调性质 2,有助于更好的增强性质 1。因此我们大胆假设,尽管当前的语义分割算法已经取得了极佳性能,但是通过同时考虑性质 1 和 2,有可能习得一个更好的、结构化的分割特征空间,进而进一步提高语义分割算法的性能。

无监督对比学习引发的思考

近年来,无监督学习领域迎来了巨大发展,源头是对比学习(contrastive learning) [ 6, 7 ] 在海量无标注训练样本下的成功应用。假设 是一张没有标注的训练样本图像 I 的特征向量, 为图像 I 的一个正样本(positive sample)特征,这个正样本往往是对 I 施以某种变换得到的(如 flipping、cropping 操作等), 为一个负样本(negative sample)特征,训练集中其它非 I 的图像均被视为负样本。之后通过对比学习损失函数,如下面的 InfoNCE loss [ 8 ] ,进行无监督训练:

目标是将正样本从大量负样本中识别出来。无监督训练得到的图像特征表现出了极强的泛化能力,能够为下游任务提供极佳的网络初始化权重,或仅经过少量有标签样本的微调(finetuning),即可获得接近全监督训练性能的图像分类模型。

无监督对比学习的成功也带来了启发,对比学习属于度量学习(metric learning),本质是利用了数据集的整体信息,学习了一个具有极强表达能力的图像表征空间。在图像语义分割的全监督训练条件下,训练图像的每个像素的标签已经给出,我们可以将正样本视为同属于相同语义类别的像素,将负样本视为不属于同一语义类别的像素,而不论它们是否来源于同一个训练图像。之后即可以利用度量学习或对比学习,对传统的交叉熵损失加以改进,进而挖掘所有训练图像中、像素与像素之间的全局语义关系,进而获得一个高度结构化的分割特征空间,从而同时强调性质 1 和 2。由此研究者提出了一个基于像素对比学习的、全监督的、语义分割训练范式,像素对比学习(pixel-wise contrastive learning),强调利用训练数据集的全局上下文信息,从整体的角度对习得的特征空间进行显式约束,使其在全局结构上具备良好的性质(intra-class compactness 和 inter-class dispersion)。

如图 1(d)所示,给定一个训练样本中的像素 i,也称之为锚点(anchor point),研究者将 i 与其它像素在分割特征空间上进行比较,尽可能拉近 i 与其同类的像素(正样本)的距离,并迫使 i 尽可能远离其它不同类像素(负样本)。因此该训练范式能够考虑整个训练集中所有像素的全局语义相似度,使得模型能够利用更具多样性的、大规模样本提升表征学习的能力,从而获得更优的语义特征空间(如图 1(e))。

基于 Pixel-Wise 交叉熵的经典语义分割损失函数有何问题?

下面以语义分割领域经典的 Pixel-wise 交叉熵作为出发点,进一步探讨将度量学习或对比学习引入语义分割训练的必要性。

如前所述,当前语义分割算法将该任务视作一个逐像素的语义分类问题,即为图像中的每个像素 i 预测一个语义标签 c。因此使用 pixel-wise 交叉熵作为训练目标:

这里 y 表示:通过 FCN 得到对像素 i 的未归一化的分类预测(unnormalized categorical score vector),也称为 logit,表示像素 i 的真实标签,为的 one-hot 编码。

 

然而,该优化目标函数有两个缺点:

只对每个像素的预测独立地进行约束,而忽略了像素之间的关系 [ 9 ] ;

由于使用了 softmax 操作,交叉熵的计算实际只依赖于 logits 之间的相对关系,却无法直接约束习得的像素特征(cannot directly supervise on the learned representations) [ 10 ] 。

尽管最近的一些结构化损失函数(如 pixel affinity loss, lovasz loss 等)意识到了缺点 1,但也只考虑了同一个图像内部的像素依赖关系,却忽略了不同图像间像素的语义一致性。而缺点 2,在语义分割领域则鲜有提及。

基于全监督、像素 - 像素对比学习的语义分割训练范式

本文提出的像素对比学习(pixel-wise contrastive learning)能够较好的解决交叉熵损失函数的两个缺点。在训练过程中,对于任意像素(锚点)i, 其正样本为其它与之同类的像素,负样本为其它与之不同类的像素。值得注意的是,对于锚点 i 的正负样本的选择不限于同一张图像。对像素 i,对比损失函数定义为:

交叉熵损失促使分割模型学习具有判别力的特征、提升分类能力(强调性质 1),pixel-wise contrastive loss 通过探索像素之间的全局语义关系,从整体上约束语义分割特征空间(强调性质 2)。

 

下图对只使用交叉熵损失(左图)与上式混合损失函数(右图)学习到的分割特征进行了可视化,可以看出,通过引入 pixel-wise contrastive loss,同类像素特征更加紧致,而类与类之间可以更好的分离。这表明,通过结合一元(unary)交叉熵损失和二元(pari-wise)contrastive loss 的优势,分割网络能够学习到更好的特征表示。

基于以上框架,研究者进一步探索了像素 - 区域对比学习及难例挖掘,并得出了若干有益结论

除了损失函数的设计和训练样本的数量外,训练样本的判别能力对于对比学习也是很重要的

除了挖掘信息丰富的正负样本,还提出了一个anchor抽样策略。:容易错误预测的像素,即c=¨c,被认为是hard anchor。对于对比损失计算,一半的anchor是随机抽样的,一半是hard anchor. 这种anchor采样策略使对比学习能够更加关注难以分类的像素.

不同于当前主流算法只关注图像内部像素的局部上下文信息,本文提出跨图像、像素对比损失函数,来挖掘训练数据集中所有像素的全局关系,有效提升了语义分割的性能。这有助于我们重新思考当前主流的训练范式,不仅仅只关注训练样本自身的特性,同时从全局的角度,关注训练样本之间关系。

本文也带来了一些有益的启示,如:

对比学习或度量学习依赖于正负样本的质量,更智能的采样策略能够帮助分割网络更快速有效的学习。

从度量学习的角度,交叉熵损失为一元损失函数(unary loss), 而对比损失为二元损失函数(pair-wise loss),探索高阶的度量损失函数有可能带来更大的提升。

对比损失在计算中需要对正负样本采样,有可能借此更自然地实现训练中的类别再均衡(class rebalance)。

本文方案在主流语义分割数据集上取得了有效的性能提升,并且有望在其它图像稠密预测任务中(如 2D 人体姿态估计,医疗图像分割等发挥优势。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2-27-Exploring Cross-Image Pixel Contrast for Semantic Segmentation(arxiv2021)有代码 的相关文章

  • SRGAN——使用与超分辨率重建的GAN

    SRGAN数据GAN理论在超分辨率重建 SR 方面的应用 一 超分辨率技术 1 SR技术介绍 SR技术 是指从观测到的低分辨率图像重建出相对应的高分辨率图像 在监控设备 卫星图像和医学影像等领域都有重要的应用价值 也可以应用于马赛克图片的恢
  • 单图像超分辨率重建总结

    单图像超分辨率重建总结 定义 单图像超分辨率重建 Single Image Super resolution Reconstruction SISR 旨在从给定的低分辨率 LR 图像中 重建含有清晰细节特征的高分辨率 HR 图像 是计算机视
  • 超分辨率重建——(一)何为超分和分类

    图像超分辨重建 图像超分辨率 SR 是计算机视觉中提高图像和视频分辨率的一类重要技术 图像超分辨率重建 Super resolution Reconstruction SR 是由一张或多张低分辨率图像得到高分辨率图像的过程 存在问题 传统图
  • 2-27-Exploring Cross-Image Pixel Contrast for Semantic Segmentation(arxiv2021)有代码

    原文链接 http www myzaker com article 60348715b15ec0509c7170d3 在这篇论文中 研究者提出了一种新的 全监督语义分割训练范式 像素对比学习 强调利用训练集中 跨图像的像素 像素对应关系来学
  • CVPR2020超分辨率重建论文阅读笔记

    为什么要进行超分辨率重建 1 视觉效果不吸引人 2 影响下游方法使用 如分割等 3 电子显示产品分辨率提高 需要更高分辨率的图像 超分辨率重建问题面临难点和存在问题如下 1 病态问题 一对多 同样的LR图像对应无数解 2 MSE指标可能导致
  • 【超分辨】SRGAN详解及其pytorch代码解释

    SRGAN详解 介绍 网络结构 损失函数 数据处理 网络训练 介绍 2023年更新 本代码是学习参考代码 一般不能直接运行 想找现成能运行的建议看看其他的 SRGAN是一个超分辨网络 利用生成对抗网络的方法实现图片的超分辨 关于生成对抗网络
  • SRGAN 图像超分辨率重建(Keras)

    文章目录 前言 一 SRGAN 1 训练步骤 2 生成器 3 判别器 二 其他准备 1 数据读取 2 VGG19提取特征 4 训练过程代码 5 预测过程 参考链接 前言 SRGAN 网络是用GAN网络来实现图像超分辨率重建的网络 训练完网络
  • 最快可达 SwinIR 4倍的高效超分网络

    本文首发于 我爱计算机视觉 如需转载等事宜请联系我爱计算机视觉 作者单位 香港理工大学 OPPO 论文链接 https arxiv org abs 2203 06697 代码链接 https github com xindongzhang
  • 通用视觉框架OpenMMLab实践,MMEditing工具包,windows10配置

    活动地址 CSDN21天学习挑战赛 1 MMEditing 面向图像编辑的工具包 支持图像修复 图像转译 图像修补 图像超分任务 2 检查自己pytorch的版本 pytorch和cuda安装配置可以参考这里 在python中输入 impo
  • NITIRE 2023官方的PSNR及SSIM计算代码

    NITIRE 2023官方的PSNR及SSIM计算代码 问题描述 做图像复原任务时 总避免不了计算PSNR和SSIM等图像质量评估指标 但是网上实在是太多计算这类指标的代码了 不同代码计算的结果还可能存在差异 有使用matlab计算SSIM
  • AI数字人:语音驱动面部模型及超分辨率重建Wav2Lip-HD

    1 Wav2Lip HD项目介绍 数字人打造中语音驱动人脸和超分辨率重建两种必备的模型 它们被用于实现数字人的语音和图像方面的功能 通过Wav2Lip HD项目可以快速使用这两种模型 完成高清数字人形象的打造 项目代码地址 github地址
  • 2021-01-26Taming Transformers for High-Resolution Image Synthesis(arXiv2020)(有代码)

    转自 https blog csdn net amusi1994 article details 112301258 代码链接 https github com CompVis taming transformers 项目主页 https
  • DR数字成像平板探测器的主要特性

    平板探测器是DR和CT的核心部件 其性能对图像质量影响很大 随着市面上探测器的品牌和型号越来越丰富 价格也是有高有低 让人挑起来眼花缭乱 下面整理了一些探测器的主要特性及简单分析 希望对大家在数字成像中探测器的选型有所帮助 实时成像中动态图
  • 【深度学习】 - 作业7: 图像超分辨率重建

    课程链接 清华大学驭风计划 代码仓库 Victor94 king MachineLearning MachineLearning basic introduction github com 驭风计划是由清华大学老师教授的 其分为四门课 包括
  • 深度学习超分辨率重建(总结)

    本文为概述 详情翻看前面文章 1 SRCNN 2 3改进 开山之作 三个卷积层 输入图像是低分辨率图像经过双三次 bicubic 插值和高分辨率一个尺寸后输入CNN 图像块的提取和特征表示 特征非线性映射和最终的重建 使用均方误差 MSE
  • 超分辨率重建测试(DASR)

    测试链接 GitHub LongguangWang DASR CVPR 2021 Unsupervised Degradation Representation Learning for Blind Super Resolutionhttp
  • 超分辨率学习记录

    超分辨率学习记录 超分定义 经典模型 前上采样 SRCNN 后上采样 FSRCNN 这篇博客主要内容来自于天池网站的超分辨率理论基础 同时对于其中涉及的学术名词也进行了解释 作为自己学习的记录 注 所有名词右上方带 的下面都有详细解释 博客
  • MMEditing代码阅读笔记一:main()函数中的build_model()

    MMEditing代码阅读笔记一 main 函数中的build model 小白一枚 编程功底很弱 接触MMEditing这套代码 刚开始小眉头一皱 鼠标见点来点去不知道咋个回事 网上又没有关于MMEditing代码阅读的相关阐述 眉头更皱
  • 论文阅读笔记之——《Multi-level Wavelet-CNN for Image Restoration》及基于pytorch的复现

    本博文是MWCNN的阅读笔记 论文的链接 https arxiv org pdf 1805 07071 pdf 代码 https github com lpj0 MWCNN 仅仅是matlab代码 通过参考代码 对该网络在pytorch框架
  • 人工智能超分辨率重建:揭秘图像的高清奇迹

    导言 人工智能超分辨率重建技术 作为图像处理领域的一项重要创新 旨在通过智能算法提升图像的分辨率 带来更为清晰和细致的视觉体验 本文将深入研究人工智能在超分辨率重建方面的原理 应用以及技术挑战 1 超分辨率重建的基本原理 单图超分辨率 利用

随机推荐

  • c# Lambda

    分配给委托类型 Func
  • 三种公钥密码体系(传统公开密钥体系 / 基于身份的公开密钥体系 / 基于无证书的公开密钥体系 )

    公开密钥体系 分类 基于证书的公开密钥体系 基于身份的公开密钥体系 基于无证书的公开密钥体系 基于证书的公开密钥体系 第一种方案是采用证书机制实现用户的身份和用户的钥匙之间的安全对应 证书机制一般都采用公钥基础设施 Public Key I
  • 开心档之Bootstrap4 自定义表单

    Bootstrap4 自定义表单 Bootstrap4 可以自定义一些表单的样式来替换浏览器默认的样式 自定义复选框 如果要自定义一个复选框 可以设置 div 为父元素 类为 custom control 和 custom checkbox
  • 如何让FasterTransformer支持动态batch和动态sequence length

    FasterTransformer 算子 nvidia在开源的FasterTransformer的代码中 提供tensorrt和tensorflow的自定义算子编译和py调用示例 详见FasterTransformer py 但是如果使用t
  • openwrt编译环境搭建

    openwrt编译环境搭建 1 虚拟机安装 请参考网络上的资料进行安装 2 ubuntu安装 请参考网络上的资料进行安装 3 ubuntu下安装相关的编译环境 若是编译环境没有准备好 在后来的操作中会出现一些问题 sudoapt get i
  • 什么是4K HDR?HDR10+、HDR10 PRO、杜比视界HDR区别

    转自 https www sohu com a 255875615 200013 这一篇继续围绕4K给大家讲一下4K中的4K HDR HDR10 HDR10 都是什么意思 关于更多4K HDR相关资料和视频电影请到 Hao4K https
  • Angular进阶技术之模块化及懒加载

    Angular组件模块化以及路由懒加载 前提摘要 模块化的场景 NgModule 引发的思考 如何去定义模块和模块化的作用 Angular模块化以及路由懒加载 延伸 子组件模块 二级路由懒加载模块 模块化引申 一些命令和tips 本地发布测
  • 第六章 修改表

    文章目录 第六章 修改表 1 修改表的数据类型 2 添加列 3 修改列的位置 4 修改列名和数据类型 5 删除列 6 设置主键 7 设置唯一键 8 使列具有自动连续编号功能 9 设置默认值 10 关于索引的操作 第六章 修改表 1 修改表的
  • cad中tk什么意思_cad图纸中各种字母是什么意思

    展开全部 ACE 在能进入的bai吊顶在敷du设 BC 暗敷 梁zhi内 CLC 暗敷设在dao柱子内 we 暗敷设在墙回内 WE 沿墙明敷答设 FC 预埋在地面内 BE 沿屋架或跨屋架敷设 CLE 沿柱或跨柱敷设 WE 沿墙面敷设 CE
  • PCL 欧式聚类分割

    目录 一 算法原理 1 实现流程 2 实现方法 3 核心代码 4 参考文献 二 代码实现 三 结果展示 四 应用案例 五 保存结果 六 不调库实现 一 算法原理 1 实现流程 欧式聚类是一种基于欧氏距离度量的聚类算法 基于KD Tree的近
  • Docker 入门到实战教程(一)介绍Docker

    一 Docker简介 1 1 什么是虚拟化 在计算机中 虚拟化 英语 Virtualization 是一种资源管理技术 是将计算机的各种实体资源 如服务器 网络 内存及存储等 予以抽象 转换后呈现出来 打破实体结构间的不可切割的障碍 使用户
  • hadoop web查看集群datanode 信息不全

    环境说明 同一主机上 两台ubuntu虚拟机 问题 启动Hadoop后 两个节点上的jps查看进程正常 可web登录50070端口 查看的datanode information 只显示的本机上的datanode信息 namenode上jp
  • Serializable序列化实例

    需要序列化的对象 package com zizhu import java io Serializable public class SerializableHello implements Serializable private st
  • 工具类——Java导出EXCEL2(设置样式、加载并填充图片、加载指定模板、大数据量设置窗口大小与刷新频率)

    文章目录 一 POI设置样式 二 POI导出图片 1 解释XSSFClientAnchor 三 加载指定模板导出 四 Workbook XSSFWorkbook与SXSSFWorkbook 1 大数据量导出 1 根据数据量选择XSSFWor
  • ora-12801错误

    今天开发人员遇到如下错误 SQL gt SELECT from 2 FT SB FCS C 3 FT DJ FCDJ D 4 WHERE C YXBZ Y 5 AND C CQZH D FCDJXH 6 AND D ZYBZ Y 7 AND
  • Stress-ng

    介绍如何在 Linux 系统上使用 stress ng 负载测试工具 产生 CPU 内存等资源满载的状况 stress ng stress ng 与旧的 stress 都可以用来产生系统负载 但新的 stress ng 功能较丰富 所以这里
  • C++入门(2/2)

    目录 一 内联函数 二 auto关键字 C 11 三 范围for 四 nullptr 一 内联函数 C 用inline修饰的函数 会在编译时在调用内联函数的地方展开 没有了函数调用建立栈帧的开销 内联函数提升程序运行的效率 对于一个短小的函
  • ubuntu解决连不上网问题(无网关篇)

    今天用ubuntu时发现系统连不上网了 可能是之前捣鼓虚拟机作为ftp服务器导致的 windows下ipconfig命令查看到虚拟机的默认网关是空的 知道了是ubuntu默认网关没配好的原因 参考了这篇博客 如下 1条消息 虚拟机ping不
  • 1 两数之和

    题目描述 给定一个整数数组 nums 和一个目标值 target 请你在该数组中找出和为目标值的那 两个 整数 并返回他们的数组下标 你可以假设每种输入只会对应一个答案 但是 数组中同一个元素不能使用两遍 示例 给定 nums 2 7 11
  • 2-27-Exploring Cross-Image Pixel Contrast for Semantic Segmentation(arxiv2021)有代码

    原文链接 http www myzaker com article 60348715b15ec0509c7170d3 在这篇论文中 研究者提出了一种新的 全监督语义分割训练范式 像素对比学习 强调利用训练集中 跨图像的像素 像素对应关系来学