zoukankan      html  css  js  c++  java
  • [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。然后用判别器得到的LadvLseg同时对网络进行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

  • 相关阅读:
    Git/GitHub使用技巧
    《暗时间》第一遍读书心得整理
    学习方法摘要总结
    Py爬虫项目
    2018年6月12日
    狐狸坑蛋糕
    Codeforces 371C Hanburgers
    【别忘咯】 关于运算优先级
    【noip 2009】 乌龟棋 记忆化搜索&动规
    【Openjudge】 算24
  • 原文地址:https://www.cnblogs.com/mangoyuan/p/8875597.html
Copyright © 2011-2022 走看看