[CVPR2018]Learning to Adapt Structured Output Space for Semantic Segmentation
学习适应结构化输出空间进行语义分割
|
在语义分割场景中,虽然物体在外表上不同,但是他们的输出是结构化且共享很多例如空间分布, 局部内容等信息。所以作者提出了multi-level的输出空间adaptation。 本文提出一种在未知领域强化source领域知识的finetune,作者观察到分割效果不好的痛点 (例如源领域是天气好的图片,目标领域是下雨天气,预测下雨天气分割时,对于车子这些原有领域 已知的目标,我们要强化它的分割效果)。 作者主要做了两组实验,在虚拟数据集如GTA5等训练,然后在真实数据测试。在一个城市的数据 训练,然后在另一个城市测试。 |
Overview of the Proposed Model

算法主要流程:
为了解决分割网络在一个领域往另一个领域迁移,首先在source数据集训练一个backbone。然后对于source和target数据集抽样,通过对样本的feature map做输入,训练一个判别网络来判断target图有哪些知识是来源于source。然后用判别器得到的Ladv和Lseg同时对网络进行finetune。
Network Architecture and Training
Discriminator
判别器由{64, 128, 256, 512, 1}x4x4, stride=2的卷积层组合而成,除了最后一层都用0.2的leaky ReLU激活。最后一层加入upsample恢复大小,不使用BN。
Segmentation Network
在deeplab-v2上做改动,改部分层的stride、加入ASPP,实验说在Cityspaces上有65.1% mIoU。
NetworkTraining
输入源图片得到分割输出Ps,求Lseg训练分割网络。然后对于目标输入,得到分割输出后Pt,和Ps一起优化Ld。另外还要优化对抗损失Ladv。
Objective Function for Domain Adaptation
总损失函数为
,i 是multi-level的不同卷积层特征图进行处理得到的结果,分为前后两部分交叉熵。
第一部分是分割效果的交叉熵:
,第二部分则是
,在部分的设计在于最大化特征图target中属于source的像素点,目的在于让网络识别哪些是之前source领域有的知识。
至于怎么训练网络判断,
,z=0表示点输入目标领域,不在我们知道的知识范围内。训练则通过在两个领域分别采样即可。
优化目标
,在最小化source image的分割损失的情况下,最大化目标预测值被认为是源预测值的可能,即最大化运用会原先的知识。
Experimental Results


[CVPR2018]Learning to Adapt Structured Output Space for Semantic Segmentation的更多相关文章
- 论文笔记之: Deep Metric Learning via Lifted Structured Feature Embedding
Deep Metric Learning via Lifted Structured Feature Embedding CVPR 2016 摘要:本文提出一种距离度量的方法,充分的发挥 traini ...
- 论文笔记: Mutual Learning to Adapt for Joint Human Parsing and Pose Estimation
Mutual Learning to Adapt for Joint Human Parsing and Pose Estimation 2018-11-03 09:58:58 Paper: http ...
- Struck: Structured Output Tracking with Kernels
reference: Struck: Structured Output Tracking with Kernels hot topic: tracking-by-detection methods, ...
- 论文笔记:A Review on Deep Learning Techniques Applied to Semantic Segmentation
A Review on Deep Learning Techniques Applied to Semantic Segmentation 2018-02-22 10:38:12 1. Intr ...
- Review of Semantic Segmentation with Deep Learning
In this post, I review the literature on semantic segmentation. Most research on semantic segmentati ...
- Semantic Segmentation on Remotely Sensed Images Using an Enhanced Global Convolutional Network with Channel Attention and Domain Specific Transfer Learning
创新点: 1.在GCN(global convolutional network)基础上,把他的backbone替换成更多层的,使其适应中分辨率影像,resnet50,101,152 2.利用 cha ...
- 论文笔记:(CVPR2017)PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation
目录 一. 存在的问题 二. 解决的方案 1.点云特征 2.解决方法 三. 网络结构 四. 理论证明 五.实验效果 1.应用 (1)分类: ModelNet40数据集 (2)部件分割:ShapeNet ...
- Remote Sensing Images Semantic Segmentation with General Remote Sensing Vision Model via a Self-Supervised Contrastive Learning Method
论文阅读: Remote Sensing Images Semantic Segmentation with General Remote Sensing Vision Model via a Sel ...
- [论文][半监督语义分割]Adversarial Learning for Semi-Supervised Semantic Segmentation
Adversarial Learning for Semi-Supervised Semantic Segmentation 论文原文 摘要 创新点:我们提出了一种使用对抗网络进行半监督语义分割的方法 ...
随机推荐
- CentOS搭建Sqoop环境
Sqoop是一个用来将Hadoop(Hive.HBase)和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如:MySQL ,Oracle ,Postgres等)中的 ...
- Python未彻底测试的项目
第一 socket 第二 twisted 第三 tornado 第四 微信网页版本登录 第五:进程,线程,协程间关系 第六:TCP三次握手 第七:堡垒机 第八:重写django admin
- java堆内存模型
广泛地说,JVM堆内存被分为两部分——年轻代(Young Generation)和老年代(Old Generation). 年轻代 年轻代是所有新对象产生的地方.当年轻代内存空间被用完时,就会触发垃 ...
- 你了解的UIKit结构?
- Oracle修改表字段类型(number-->varchar2(len)),亲测可用
思路: --新建临时表以存储正确的顺序create table A_2 as select (column1,colum2,……A表中的顺序) from A_1 ; --删除表A_1drop tabl ...
- 初识Django —Python API接口编程入门
初识Django —Python API接口编程入门 一.WEB架构的简单介绍 Django是什么? Django是一个开放源代码的Web应用框架,由Python写成.我们的目标是用Python语言, ...
- LeetCode 82 ——删除排序链表中的重复元素 II
1. 题目 2. 解答 新建一个链表,并添加一个哨兵结点,从前向后开始遍历链表. 如果下一个结点的值和当前结点的值相等,则循环向后遍历直到找到一个和当前结点值不相等的结点: 反之,如果下一个结点的值和 ...
- 【集训试题】exam 信心考 最小割
题意概述: 有N个人,A,B两个考场.如果学生i在A考场,总信心值增加xi:如果学生i在B考场,总信心值增加yi.其中还有m对好友,当第i对好友的两个人都在A考场时,总信心值增加ai:如果两人都在B考 ...
- 【转】hexo博客图片问题
1.首先确认_config.yml 中有 post_asset_folder:true. Hexo 提供了一种更方便管理 Asset 的设定:post_asset_folder 当您设置post_as ...
- 父窗体和子窗体的显示,show&showdialog方法
showdialog(): 子窗体弹出后,不能对父窗体进行操作.show()可以. 具体原理: 1.在调用Form.Show方法后,Show方法后面的代码会立即执行 2.在调用Form.ShowDi ...