ACM MM 2022 | 基于GMM的多重prototype,助力UDA语义分割新SOTA
©作者 | 陆裕磊
单位 | 浙江大学
研究方向 | 图像分割领域自适应
论文标题:
Bidirectional Self-Training with Multiple Anisotropic Prototypes for Domain Adaptive Semantic Segmentation
论文作者:
Yulei Lu , Yawei Luo, Li Zhang, Zheyang Li, Yi Yang, Jun Xiao (ACM MM 2022)
论文链接:
http://arxiv.org/abs/2204.07730
开源代码:
https://github.com/luyvlei/BiSMAPs
任务介绍
近年来,随着深度神经网络的发展,语义分割任务取得了显著的进展。然而,令人满意的性能却伴随着昂贵标注代价,缓解标注成本问题的一个有效解决方法便是使用图形学仿真或者游戏引擎生成合成数据集。然而,域偏移(domain-shift)阻碍了在合成图像上训练的模型进一步部署在实际环境中。
为了解决这个问题,领域适应(DA)方法提出了弥合源域和目标域之间的差距。在实际应用中,无监督域适应(unsupervised domain adaptation, UDA)由于不需要来自目标域的任何标记样例,最终将人工工作量降至最低而备受关注。
本文动机
首先,现有方法利用整个源域信息进行适应,忽略了一些困难和受干扰源域样本对目标域性能没有贡献甚至阻碍的事实。例如,GTA5 的数据集包含大量关于山区的场景,而 cityscape 则没有。为了实现区域对齐,引入这些像场景的样本反而会使目标分布发生偏移。
第二,传统方式传统方法假设每个类别服从具有相同方差的各向同性分布,因此简单地使用单个特征质 作为原型,采用欧氏距离作为度量来评估候选特征与当前原型的相似度。通过这种方式,与原型足够接近的特性将被分配一个伪标签。然而,这一假设并不一定适用于语义分割的像素级特征。
例如,“vegetation” 是一个类,但它实际上包括树干和树冠等不同的部分。当使用单一的原型来表示 “vegetation” 时,树干的特征可能会不恰当地映射到更接近 “pole” 的原型,如图 1(a) 所示。此外,简单地使用欧氏距离作为度量,而忽略每个类的方差,可能会进一步恶化相似类别之间的伪标签分配,如图 1(c) 所示。
本文方法
3.1 双向自训练框架
▲ 图2
双向的思想如图所示。它包括一个“前向过程”——利用源域原型在目标域内选择可靠的伪标签;一个互补的“反向过程”——利用目标域原型对源域的困难样本或干扰性样本进行“降级”。
在前向过程,我们改进了传统的自训练方法,引入“多重各向异性原型”来生成更准确的伪标签。在反向过程,我们生成源域可转移图(STM)来表示每个源样本在适应中的重要性,并相应地调整训练损失映射的权重。下面分别介绍前向过程和反向过程。
3.2 前向过程——多重各向异性原型
▲ 图3
为了缓解传统单质心的表示能力的不足,我们使用高斯混合模型来代替传统的单质心模型如图 3 所示。高斯混合模型的对数概率密度由如下公式得出:
在源域上我们使用预训练过的语义分割模型抽取像素级特征,然后基于高斯混合模型求解各个类别的原型。在目标域上,基于同样的原型抽取出像素级特征后,我们基于公式(4)求解每个像素属于各个高斯混合模型的对数似然值作为特征与原型的相似度度量。最后使用公式(6)基于对数概率密度阈值来筛选出高置的样本。
3.3 反向过程——源域样本降级
在目标域基于无监督聚类生成原型,对于源域特征,我们使用计算他与目标域原型最小的距离:
这里 D(x) 衡量了任意一个源域特征到目标域的距离,A 代表聚类出来的目标域原型。
但是由于长尾分布的影响,头部类会得到一个比较高的权重,因此我们引入类别熵来平衡类别级的可迁移性,具体来说,我们使用归一化类别熵和特征距离的和求解出综合可迁移性:
其中 e 代表类别熵,d_mean 代表平均特征距离。
3.4 训练流程
▲ 图5
训练遵循预训练+自训练的二阶段范式:
对于源域,基于可迁移图做加权的监督训练:
对于目标域,使用对称交叉熵和伪标签做监督训练:
另外领域数据增强和 EMA 模型,对训练施加一致性正则化:
最终损失由这 3 项构成,在预训练阶段,仅包含公式(10)的损失:
实验结果
4.1 与其他方法对比
与其他 SOTA 方法比较,本文方法在 GTA5->Cityscape 任务上蒸馏前取得了 57.7 的性能,蒸馏后达到了 61.2 的性能,达到了 SOTA 的效果。
4.2 消融分析
在预训练阶段,源域可迁移图(STM)的引入相比 baseline 带来了 1.9 的性能增益,自训练阶段多重各向异性原型带来了 9.1 的性能提升。综合一致性正则和蒸馏技术,最终的性能达到了 61.2.
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
ACM MM 2022 | 基于GMM的多重prototype,助力UDA语义分割新SOTA相关推荐
- ACM MM 2022 | 浙大提出BiSMAP:语义分割UDA 新SOTA!
作者 | III 编辑 | 汽车人 原文链接:https://zhuanlan.zhihu.com/p/547671620 点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷 ...
- 【Keras】基于SegNet和U-Net的遥感图像语义分割
from:[Keras]基于SegNet和U-Net的遥感图像语义分割 上两个月参加了个比赛,做的是对遥感高清图像做语义分割,美其名曰"天空之眼".这两周数据挖掘课期末projec ...
- Keras】基于SegNet和U-Net的遥感图像语义分割
from:[Keras]基于SegNet和U-Net的遥感图像语义分割 上两个月参加了个比赛,做的是对遥感高清图像做语义分割,美其名曰"天空之眼".这两周数据挖掘课期末projec ...
- Semi-supervised Semantic Segmentation with Error Localization Network(基于误差定位网络的半监督语义分割 )
Semi-supervised Semantic Segmentation with Error Localization Network(基于误差定位网络的半监督语义分割 ) Abstract 本文 ...
- 深度学习论文精读01——基于多任务学习的肿瘤医学影像语义分割与分类研究
基于多任务学习的肿瘤医学影像语义分割与分类研究 文章目录 基于多任务学习的肿瘤医学影像语义分割与分类研究 1 背景介绍 2 主要内容 3 材料和方法 3.1卷积神经网络 多层感知模型(全连接) 3.1 ...
- ACM MM 2022最佳论文奖出炉!哈工大聂礼强团队与快手合作斩获
点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入-> CV 微信技术交流群 为检索没有文本描述的短视频寻求解法. 转载自:AI科技评论 ...
- ACM MM 2022 Call for Papers
关注公众号,发现CV技术之美 Overview ACM Multimedia is the premier conference in the multimedia research field, w ...
- CVPR 2022 | 天大本科生论文入选!深度学习长尾分类新SOTA
文 | 丰色 发自 凹非寺 源 | 量子位(QbitAI) 本科生搞科研到底能做出什么成绩? 最新被CVPR 2022收录的一篇论文中,提供了一种新思路来解决深度学习中长尾分布数据的分类问题,最终实现 ...
- 基于标记不确定性和类别不平衡的语义分割在植被制图中的应用(soybean+FCN_segNet+newloss)
近年来,卷积神经网络(CNN)方法在语义分割任务中取得了显著的成功.然而,围绕样本的类别不平衡和人类像素标记的不确定性等挑战并没有完全解决.在这里,我们提出了一种方法,计算每个像素的权重,考虑其类别和 ...
最新文章
- MySQL(三)用正则表达式搜索
- Android Studio——怎么设置代码补全以及提示(详细)?
- android remoteviews 设置背景,Android通过RemoteViews实现跨进程更新UI示例
- 设置网格_设置一个自动运行网格条件单
- Linux驱动之Input子系统要点分析
- 运行时类加载以支持不断变化的API
- gitee自动部署的使用
- c语言 条件编译注释,c语言的预处理/条件编译,最全整理看这里
- android system.out.println,为什么“System.out.println”在Android中不起作用?
- Android FrameWork——Activity启动过程详解
- Vscode C环境配置(转)
- 备战2019秋招之程序员代码面试指南(左程云)C++
- STM32网络通信之DM9000了解
- matlab角度和弧度的互换_MATLAB弧度与角度转换 -
- JS - Promise使用详解--摘抄笔记
- c语言编程中的大于号怎么打,excel表格中怎么输入比较运算符号(大于、小于号)?...
- 和计算机相关的英文名字女孩,最好听的英文名字女孩
- 基于学术研究下载NOAA气象雷达资料的详细步骤
- 想学Docker?我教你啊~
- Python实现配色自由,展示一下可视化配色方案