SalGAN: Visual saliency prediction with generative adversarial networks

2017-03-17

  摘要:本文引入了对抗网络的对抗训练机制来进行显著性物体的预测。虽然我们老板很不喜欢显著性,但是,做显著性检测的人还是会说:这是有意义的。如本文说的:恩,显著性可以作为 soft-attention,来引导其他计算机视觉任务的进行,也可以直接引导 marketing 领域。

  本文区别于其他方法最显著的地方在于:the usage of generatvie adversarial networks。本文将训练分为两个阶段:

    1. 产生器产生一个服从训练集合的伪造的样本;

    2. 判别器就是用于判断给定的样本是 真实的 还是 伪造的。

  本文中谈到的 data distribution 意思是:实际的图像 和 对应的显著性图。

    本文总结的贡献点是:

    1. 探索了 GAN 在显著性物体检测上的应用,在某些数据集上取得了不错的效果;

    2. 在训练 DCNN 时,应用 二元交叉熵损失函数 和 下采样显著性图 是可以提升效果的。

  本文的网络框架设计如图所示:

  

  网络结构分析:

  1. 产生器:
    Convolutional encoder-decoder architecture

  2. 判别器:

    就是一个 CNN 结构。

  

  训练(Training):

  1. Content Loss

    由于 产生器 部分的输出是 saliency map,要计算的这部分就是:输出的 saliency map 和 gt saliency map 之间均方差 loss 。

    用的就是 两个 map 之间的欧式距离:

    

    本文中 MSE 就是用来作为 baseline 的,因为大部分显著性检测的方法都是基于这个 loss function。GT saliency maps 被归一化到 0-1 之间。

    这里用到了 二元交叉熵损失函数:

    

  2. 对抗损失

    关于 GAN 这里就不在介绍了,那么显著性检测和 gan 有什么不同呢?

    1. 首先,目标是拟合一个 决策函数 来产生实际的 saliency values,而不是从随机的 noise 中得到 真实的图像;

        这样的话,输入给产生器的东西就不再是 随机的 noise,而是一张图像;

    2. 其次,显著性所对应的图 是衡量质量的;

        所以我们将图像和 saliency map 作为输入给产生器

    3. 最后,在 GAN 产生图像的时候,没有 gt 进行对比,属于无监督学习;

        但是,在显著性检测的时候,我们是有现有的 gt 作为对比的。

    

  我们发现产生器函数更新的时候,我们发现 利用判别器的loss 和 对比gt得到的交叉熵损失函数,可以显著地提升对抗训练的稳定性和收敛速度。

  最终的 loss function 可以定义为:

  

  


  实验结果:

    

SalGAN: Visual saliency prediction with generative adversarial networks的更多相关文章

  1. GD-GAN: Generative Adversarial Networks for Trajectory Prediction and Group Detection in Crowds

    GD-GAN: Generative Adversarial Networks for Trajectory Prediction and Group Detection in Crowds 2019 ...

  2. 语音合成论文翻译:2019_MelGAN: Generative Adversarial Networks for Conditional Waveform Synthesis

    论文地址:MelGAN:条件波形合成的生成对抗网络 代码地址:https://github.com/descriptinc/melgan-neurips 音频实例:https://melgan-neu ...

  3. StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks 论文笔记

    StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks  本文将利 ...

  4. 论文笔记之:Semi-Supervised Learning with Generative Adversarial Networks

    Semi-Supervised Learning with Generative Adversarial Networks 引言:本文将产生式对抗网络(GAN)拓展到半监督学习,通过强制判别器来输出类 ...

  5. 《Self-Attention Generative Adversarial Networks》里的注意力计算

    前天看了 criss-cross 里的注意力模型  仔细理解了  在: https://www.cnblogs.com/yjphhw/p/10750797.html 今天又看了一个注意力模型 < ...

  6. Paper Reading: Perceptual Generative Adversarial Networks for Small Object Detection

    Perceptual Generative Adversarial Networks for Small Object Detection 2017-07-11  19:47:46   CVPR 20 ...

  7. (转)Introductory guide to Generative Adversarial Networks (GANs) and their promise!

    Introductory guide to Generative Adversarial Networks (GANs) and their promise! Introduction Neural ...

  8. Generative Adversarial Networks,gan论文的畅想

    前天看完Generative Adversarial Networks的论文,不知道有什么用处,总想着机器生成的数据会有机器的局限性,所以百度看了一些别人 的看法和观点,可能我是机器学习小白吧,看完之 ...

  9. 论文笔记之:UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS

    UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS  ICLR 2 ...

随机推荐

  1. 【爬虫】biqukan抓取2.0版

    #!python3.7 import requests,sys,time,logging,random from lxml import etree logging.basicConfig(level ...

  2. 20165305 实验三 敏捷开发与XP实践

    实验3-1 敏捷开发与XP实践 http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的内容替换成IDEA 参考 http://www.cnblog ...

  3. HTTPS 之共享秘钥 公钥 及 私钥

    HTTPS 之共享秘钥 公钥 及 私钥一 共享秘钥1.1 概念共享秘钥和我们生活中同一把锁的钥匙概念类似,对同一把锁来说,加锁时使用什么钥匙,解锁也必须使用同样的钥匙. 1.2 共享秘钥在HTTP传输 ...

  4. Set接口——HashSet集合

    不重复,无索引,不能重复元素,没有索引: HashSet集合: 此时实现Set接口,有哈希表(HashMap的一个实例)支持,哈希表意味着查询速度很快, 是无序的,即元素的存取的顺序可能不一致: 且此 ...

  5. tomcat2章1

    package ex02.pyrmont; import java.io.File; public class Constants { public static final String WEB_R ...

  6. POJ 1182 食物链 (种类并查集)

    动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形.A吃B, B吃C,C吃A. 现有N个动物,以1-N编号.每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种.有人用两种说 ...

  7. bzoj2287 [POJ Challenge]消失之物

    题目链接 少打个else 调半天QAQ 重点在47行,比较妙 #include<algorithm> #include<iostream> #include<cstdli ...

  8. Android4.0 主线程不能访问网络异常解决办法

    从两个方面说下这个问题: 1. 不让访问网络的原因 2. 解决该问题的办法 不让访问网络的原因: 由于对于网络状况的不可预见性,很有可能在网络访问的时候造成阻塞,那么这样一来我们的主线程UI线程 就会 ...

  9. Python基础二_操作字符串常用方法、字典、文件读取

    一.字符串常用方法: name.captitalize()                       #字符串首字母大写 name.center(50,'*')                   ...

  10. The Little Prince-11/27

    The Little Prince-11/27    The little boy gradually realized that it is tiresome for children to be ...