MSCap: Multi-Style Image Captioning with Unpaired Stylized Text

原文地址

时间:2019 CVPR

题外话,这篇文章思路写的非常清楚,读起来很舒服

Intro

当前的image captioning方法通常生成一些客观的描述,而没有关于语言学上的研究,如图,展示了不同风格的caption

之前的相关工作也有将image caption的表达更丰富化的工作,但它们都无法同时生成多个风格的caption,为了生成kkk种不同的表达,往往需要kkk个不同的模型,为了解决这个问题,我们提出了一个multi-style image captioning(MSCap)模型,通过对抗学习网络来同时生成多风格的image caption,仅仅使用image caption数据上的原有img-caption标签和unpaired的风格化的caption。

本文的贡献:

  • 提出了MSCap,一个生成多风格的caption的模型
  • 设计了style-dependent的caption generator,可以利用不成对的风格化caption作为预训练,然后引入back-translation模块来保证生成的caption和图像内容一致
  • 进行了定量和定性分析

MSCap for Multi-Style Image Captioning

overview

如图所示

整个模型由五个子网络组成,image Encoder EEE,caption generator GGG,caption discriminator DDD,style classifier CCC,和back-translation network TTT,给定数据集P=(x,y^f)P={(x,\hat{y}_f)}P=(x,y^f),以及unpaired的风格化的corpsePu=(y^s,s),s∈{s1,...,sk}P^u={(\hat{y}_s,s)},s\in\{s_1,...,s_k\}Pu=(y^s,s),s{s1,...,sk}包括kkk个不同的caption,y^s\hat{y}_sy^s是风格sss的caption,记y^f\hat{y}_fy^f有factual风格,记为s0s_0s0,记拓展的风格化corpse为P′=(y^s,s),s∈{s0,...,sk}P'={(\hat{y}_s,s)},s\in\{s_0,...,s_k\}P=(y^s,s),s{s0,...,sk},我们的目标是生成句子yyy,使得(1)yyy是一个自然的句子,(2)yyy是风格sss的,(3)(x,y)是相关的

Caption Generator GGG根据图片编码向量E(x)E(x)E(x)和目标风格sss来生成句子y=G(E(x),s)y=G(E(x),s)y=G(E(x),s),然后喂给D,C,TD,C,TD,C,T,来使得它分别满足每个条件,其中discriminator DDD分类器就是分别yyy是否是自然语言输出,style classifier CCC输出yyy属于k+1k+1k+1个类别的概率,back-translation module TTT用来保证yyy是视觉上基于xxx的,这通过将yyy翻译到y^f\hat{y}_fy^f实现

Image Encoder

本文使用context vector cv=E(x)c^v=E(x)cv=E(x)

Caption Generator

condition GGG on style labels,本文使用k+1k+1k+1维one-hot向量来编码风格,然后通过一个embedding层concat到输入的word embedding上得到wtw_twt,作为LSTM每步的输入

Enable training on unpaired corpus,在unpaired数据集上训练的常规方法是需要图片特征的,但unpaired数据集上没有这个特征,因此我们采用了mergingstyle gate(如图(b)所示)

我们首先将visual context移出LSTM,让LSTM仅仅建模语言信息,然后引入一个额外的multimodal fusion module来融合visual context cvc^vcv和liguistic context ctlc^l_tctl来预测词。style gate为词的预测提供了一个plan B,当没有图片时仅仅依赖ctlc^l_tctl,综合的信息取两者的加权和

ctc_tct是mixed context vector,hth_tht是LSTM的隐藏状态,且

ctl=lt⊙tanh(mt)c^l_t=l_t\odot tanh(m_t) ctl=lttanh(mt)

其中ltl_tlt是gate vector,mtm_tmt是memory cell state,然后预测下一个词

其中τ\tauτ是temperature parameter,训练的unpaired的数据的时候,将gtg_tgt设置为1即可,此时模型完全依赖于linguistic context

我们在paired的数据和unpaired的数据上预训练caption generator,通过最大化对数似然

Adversarial Loss

discriminator DDD用来区分generator GGG的生成结果

其中y^\hat{y}y^是真实的caption

Style Classification Loss

Back-Translation Loss

这一步将生成的caption和image关联起来,基于假设xxxy^f\hat{y}_fy^f拥有相同的信息,则生成的caption yyy和图片xxx的相关性就可以通过yyy和ground truth y^f\hat{y}_fy^f来估计,所以我们限制yyyy^f\hat{y}_fy^f的内容一致,这通过使用back-translation module T将yyy翻译会yfy_fyf来实现,即T(y,s)→y^fT(y,s)\to\hat{y}_fT(y,s)y^f,T通过multilingual neural machine translation(NMT) network来实现,以encoder和decoder组成,目标是最小化

另一种方法是将yyy直接翻译成图片,但这比较困难

Full Objectives

最终的损失函数为

Training Strategy

由于训练的不稳定和方差大等问题,我们使用了WGAN等的训练策略

Experimental Setup

数据集

  • COCO
  • FlickrStyle10K
  • SentiCap

Result



结论

本文使用unpaired的数据训练了一个能够生成多个style的Image caption模型

问题

  • unpaired的数据如何度量生成caption的质量?实际上数据是paired的
  • 同style的unpaired数据在GGG上训练的时候如何相互区分?如果连输入图片都没有的话?

MSCap: Multi-Style Image Captioning with Unpaired Stylized Text相关推荐

  1. 前端学习(2491):refused to apply style from ‘‘ because its MIME type (‘text/html‘) is not a supported sty

    <link type="text/css" rel="stylesheet" href="./main.css"> 加个type ...

  2. 【CVPR2019】论文完整列表一

    CVPR 2019 Paper list No.1-1000 ?CVPR2019 完整列表二 论文题目与链接 Finding Task-Relevant Features for Few-Shot L ...

  3. AAAI 2020 | 北理工阿里文娱:你所看视频的介绍,可以用到这样的「图像描述」技术...

    点击我爱计算机视觉标星,更快获取CVML新技术 机器之心发布 机器之心编辑部 人工智能顶级会议 AAAI 2020 将于 2 月 7 日-2 月 12 日在美国纽约举办,不久之前,AAAI 2020 ...

  4. NLPCC'22 | 一种兼具准确性和多样性的图像风格化描述生成框架

    每天给你送来NLP技术干货! 来自:南大NLP 01 研究动机 在本文中,我们研究了图像描述(Image Captioning)领域一个新兴的问题--图像风格化描述(Stylized Image Ca ...

  5. CVPR2019论文题目中文列表

    英文题目 中文题目   Finding Task-Relevant Features for Few-Shot Learning by Category Traversal 少镜头学习中用类别遍历法寻 ...

  6. cvpr 2019 image caption

    文章目录 第一类: Adversarial Semantic Alignment for Improved Image Captions (这篇文章在第三类也会出现,但说问题的角度不同) Descri ...

  7. (九:2020.08.27)CVPR 2019 追踪之论文纲要(译)

    CVPR 2019 追踪之论文纲要(修正于2020.08.28) 讲在前面 论文目录 讲在前面 论坛很多博客都对论文做了总结和分类,但就医学领域而言,对这些论文的筛选信息显然需要更加精细的把控,所以自 ...

  8. Neural Style论文笔记+源码解析

    引言 前面在Ubuntu16.04+GTX1080配置TensorFlow并实现图像风格转换中介绍了TensorFlow的配置过程,以及运用TensorFlow实现图像风格转换,主要是使用了文章A N ...

  9. android Style(样式)的解析

    先说下为啥要使用样式吧,举个例子来说吧 当要做这样的一个布局的时候 每个标签都要写的话,会感觉怎样 <LinearLayoutandroid:layout_width="match_p ...

最新文章

  1. Python 【搜狐号】短视频的自动上传与发布实例演示,同时支持抖音、快手、哔哩哔哩、小红书、微视、西瓜视频、微信视频号等平台的视频自动化同步发布
  2. java_version干什么的_java类中serialVersionUID的作用及其使用
  3. 【洛谷T37388】P哥破解密码
  4. ITFriend创业败局(五):创业可以停止,公司必须注销,不然后果很严重
  5. 2016CCPC长春:Sequence II(主席树)
  6. 数组的最长递减子序列java_47.创新工场: 求一个数组的最长递减子序列 | 学步园...
  7. Alt + 数字键 符号大全
  8. 使用ssh登录华为云linux,mac远程ssh登陆华为云--linux版本
  9. .NET Core 编程指南中文版 —— 7.4 迁移 - 从 DNX 迁移
  10. 【学习档案】word文档转为XML格式
  11. 2022年上半年韩国移动游戏市场洞察
  12. C语言求解一元二次方程组的代码
  13. RPC中Stub的理解
  14. Linux下使用df与du命令查看磁盘空间
  15. R语言-频数统计函数
  16. camus执行任务,偶发性异常
  17. 钉钉、微信抢占移动OA入口,其他OA厂商何去何从?
  18. 无tensorflow,在pytorch下使用tensorboard可视化工具报错:Could not load dynamic library ‘cudart64_110.dll‘; dlerror
  19. esp12s 第十二章 舵机控制
  20. PPT结尾页只有“谢谢”?你out了!聪明人都这样结尾,礼仪满满

热门文章

  1. 传输层---TCP协议
  2. 深度学习--综述前言
  3. CANoe从入门到精通“保姆级”教程(三)- 经典范例解读
  4. 今日头条是如何做推广和运营的?
  5. tp5 对接腾讯云聊天
  6. Unity下计步器Pedometer算法的实现
  7. ssm整合说明与模板-Spring Spring MVC Mybatis整合开发
  8. 误人子弟的网络,谈谈HTTP协议中的短轮询、长轮询、长连接和短连接
  9. 阿里云最新云服务器价格表查询地址(官网)
  10. 电子漫画系列更新10张!古老的示波器,USB hub萌妹,超级酷的焊接壁画