论文地址:https://arxiv.org/abs/1906.00817

代码:https://github.com/valeoai/ZS3

一、内容

Step 0:首先使用数据集(完全不包含 Unseen Classes 的图片)训练 DeepLabv3+ 模型,得到的模型可以对只含有 Seen Classes 的图片进行分类,去掉训练好的 DeepLabv3+ 的最后一层分类层,将其变成一个特征提取器。将所有 Classes 输入到 w2c 模型,得到每个Class 对应的向量,将此向量连接到 ground-truth 中每个像素上,即每个像素都有其对应的类的向量。

Step 1:使用数据集(完全不包含 Unseen Classes 的图片)输入到 DeepLabv3+ 模型,得到特征图,根据 ground-truth 上的 Class 筛选出不同类别的特征,将每个类的特征作为 Label,对应类的 w2c 输出的向量作为输入,训练 GMMN 模型。

Step 2:使用完整数据集 (包含 Seen 和 Unseen Classes 的图片)输入到 DeepLabv3+ 模型,如果不包含 Unseen Classes,那么直接拿出特征图去训练最终的分类器,如果包含,则根据图片的 ground-truth 对应的类的向量一一生成特征,将不同类特征组合到一起,再去训练最终的分类器。

二、理解

1. 代码中将 Step 1 和 2 和在了一起,为了便于理解,把 Step 1 和 2 分开解释。

2. Step 2 中使用了两次包含 Unseen Classes 的图像和其 ground-truth。

  • 在逐个对类的词向量生成特征时,用到了 ground-truth,根据 ground-truth 知道了类的总数、每个类的位置、以及对应的词向量。
  • 在最终训练分类器时,也用到了含有 Unseen Class 的图像的 ground-truth。
  • 也可以直接忽略 DeepLab 生成的特征图,直接根据 Seen 和 Unseen 标签随机生成图片,利用类的词向量通过 GMMN 生成特征,结合生成的图片的 Label 去训练最终分类器。

3. w2c 和 GMMN 是文章的关键,w2c 建立了一个从词语到向量的联系,GMMN 建立了一个从词向量到特征图上的视觉特征的联系,比如,使用 Unseen Class 为子弹,Seen Class 中包括弹匣,其他都是些不相干的类,自然子弹和弹匣在词向量中的联系比较起来相对紧密,从而子弹通过 GMMN 生成的特征也更与弹匣类似,通过最终分类器的训练,也就更容易能分辨出子弹。

【论文总结】Zero-Shot Semantic Segmentation的更多相关文章

  1. 论文笔记《Feedforward semantic segmentation with zoom-out features》

    [论文信息] <Feedforward semantic segmentation with zoom-out features> CVPR 2015 superpixel-level,f ...

  2. 【Semantic Segmentation】 Instance-sensitive Fully Convolutional Networks论文解析(转)

    这篇文章比较简单,但还是不想写overview,转自: https://blog.csdn.net/zimenglan_sysu/article/details/52451098 另外,读这篇pape ...

  3. Semi-supervised semantic segmentation needs strong, varied perturbations

    论文阅读: Semi-supervised semantic segmentation needs strong, varied perturbations 作者声明 版权声明:本文为博主原创文章,遵 ...

  4. Fully Convolutional Networks for semantic Segmentation(深度学习经典论文翻译)

    摘要 卷积网络在特征分层领域是非常强大的视觉模型.我们证明了经过端到端.像素到像素训练的卷积网络超过语义分割中最先进的技术.我们的核心观点是建立"全卷积"网络,输入任意尺寸,经过有 ...

  5. 论文笔记(3):STC: A Simple to Complex Framework for Weakly-supervised Semantic Segmentation

    论文题目是STC,即Simple to Complex的一个框架,使用弱标签(image label)来解决密集估计(语义分割)问题. 2014年末以来,半监督的语义分割层出不穷,究其原因还是因为pi ...

  6. 2018年发表论文阅读:Convolutional Simplex Projection Network for Weakly Supervised Semantic Segmentation

    记笔记目的:刻意地.有意地整理其思路,综合对比,以求借鉴.他山之石,可以攻玉. <Convolutional Simplex Projection Network for Weakly Supe ...

  7. 论文笔记:Rich feature hierarchies for accurate object detection and semantic segmentation

    在上计算机视觉这门课的时候,老师曾经留过一个作业:识别一张 A4 纸上的手写数字.按照传统的做法,这种手写体或者验证码识别的项目,都是按照定位+分割+识别的套路.但凡上网搜一下,就能找到一堆识别的教程 ...

  8. 论文阅读笔记二十四:Rich feature hierarchies for accurate object detection and semantic segmentation Tech report(R-CNN CVPR2014)

    论文源址:http://www.cs.berkeley.edu/~rbg/#girshick2014rcnn 摘要 在PASCAL VOC数据集上,最好的方法的思路是将低级信息与较高层次的上下文信息进 ...

  9. 论文阅读笔记十七:RefineNet: Multi-Path Refinement Networks for High-Resolution Semantic Segmentation(CVPR2017)

    论文源址:https://arxiv.org/abs/1611.06612 tensorflow代码:https://github.com/eragonruan/refinenet-image-seg ...

随机推荐

  1. Nginx_安装配置

    一.安装gcc依赖库 检查是否安装(linux默认是安装了的) gcc –version  

  2. oracle 之 cursor:创建存储过程批量执行DDL语句

    说明:使用此过程可任意执行批量DDL语句,调用DDL查询语句时,注意转义字符,使用 ' 转义! 需求:批量删除以CUR_TEST开头的表,且有日志记录. 环境准备:建几张以CUR_TEST开头测试表. ...

  3. Linux中常用的监控性能的命令(sar、mpstat,vmstat, iostat,)详解

    Linux中常用的监控性能的命令有: sar:能查看CPU的平均信息,还能查看指定CPU的信息.与mpstat相比,sar能查看CPU历史信息 mpstat:能查看所有CPU的平均信息,还能查看指定C ...

  4. CentOS6.4安装Zookeeper-3.4.12图解教程

    注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6595380916590215683/ 安装工具 VMware_workstation_full_12.5.2 Ce ...

  5. js对象方法

    Number对象方法 toFixed() 方法 toFixed()方法返回的是具有指定位数小数的数字的字符串表示.例如: var oNumberObject = new Number(68); ale ...

  6. httprunner3.x全网最详细教程

    一.所需环境 wiindows10以上 python3.6以上 httprunner3.1.6(最新版本) pycharm社区版 二.安装httprunner 1.卸载旧版本 卸载之前版本的命令为:p ...

  7. 洛谷 CF196A 题解

    题目传送门 题目描述: 读入字符串,求该串的最大字典序子序列. 我的思路: 循环判断只要当前字符比后面所有的字符的字典序大,就把这个字符存到另一个字符串中,最后和输入的字符串循环比较如果该字符和输入时 ...

  8. 《剑指offer》面试题05. 替换空格

    问题描述 请实现一个函数,把字符串 s 中的每个空格替换成"%20". 示例 1: 输入:s = "We are happy." 输出:"We%20a ...

  9. Javascript面向对象——创建对象、构造函数的原型

    Javascript面向对象--创建对象.构造函数的原型 其实:JavaScript中的创建类,就是创建一个构造函数,在创建对象时用到new这个关键字, 一.创建对象 1.函数创建对象 functio ...

  10. 【刷题-LeetCode】304. Range Sum Query 2D - Immutable

    Range Sum Query 2D - Immutable Given a 2D matrix matrix, find the sum of the elements inside the rec ...