玩出花,只用文本就能干CV的活!
点上方计算机视觉联盟获取更多干货
仅作学术分享,不代表本公众号立场,侵权联系删除
转载于:新智元
AI博士笔记系列推荐
周志华《机器学习》手推笔记正式开源!可打印版本附pdf下载链接
零样本的风格迁移听说过没有?英伟达一个实习生小哥集文本CLIP和图像生成StyleGAN于一身,只需要输入几个单词就可以完成你想要的风格迁移效果!再也不用为了风格迁移找数据啦!
StyleGAN想必大家都不陌生了,它借助生成对抗网络(GAN)对捕获丰富语义的潜在空间和模拟图像分布的能力,可以用来换脸、风格迁移、换肤色等等,一般的输入数据都是源域的图像和目标域的图像。
但这些模型的应用范围仅限于可以收集大量图像的域,这一要求严重限制了其适用性。事实上,在许多情况下(例如某个特定艺术家的绘画),可能没有足够的数据来训练一个GAN,甚至面临根本没有任何数据的情况。
根据以往的经验,大规模预训练模型已经见到了足够多的域的数据,也就是说直接使用Vision语言模型也许可以不用收集数据,直接根据文本就可以召回相关域的图像。
有了数据就可以建立一个文本驱动的图像生成器啦!
英伟达的实习生 Rinon Gal 最近提出这样一个模型,不需要图像输入就可以做StyleGAN,秘诀就是利用CLIP模型的多模态能力。
这种文本驱动的方法域外(out-of-domain)的图像生成,研究人员引入了一个训练方案,该方案只使用文本提示词,就可以将预训练的模型的域转移到一个新的域。
域转移(domain shift)的实现是通过修改生成器对与文本对齐的图像的权重来实现的。
例如上图中,研究人员修改了针对真实人脸和汽车的图像生成器,就可以生成特定艺术风格的绘画。还可以在教堂里训练生成器以生成纽约市的图像。
但这种模型是相当于是「盲目」训练(train blindly)的,在训练过程中看不到目标域的任何图像,也就是说这符合zero-shot的设定。
这个模型主要由两个核心组件构成,StyleGAN和CLIP。
近年来,StyleGAN及其后继模型已然是无条件图像生成领域的老大哥,能够合成质量非常高图像。
StyleGAN生成器由两部分组成,首先,映射网络将从高斯分布采样的隐编码转换为学习的隐空间中的向量。然后把这些隐向量输入到第二个组件合成网络,用来控制网络中不同层的特征。
之前的研究也证明了,通过遍历这个中间隐空间W,或者通过在不同的网络层上混合不同的W编码,能够对生成图像中语义属性的细粒度控制。
但这种潜在空间传输通常仅限于域内修改,也就是说,它被约束到具有与初始训练集匹配的属性的图像的流形。相比之下,这篇论文的目标是在不同域之间转换生成器,而不只是在隐空间内编辑或是微调语义感知。
结合StyleGAN的生成能力和CLIP的语义知识能力的模型最近也有人提出,模型叫StyleCLIP,并且提出三种方法来利用CLIP的语义表达能力:
1、隐优化技术(latent optimization technique),使用标准的反向传播方法修改给定的潜编码,使得生成的图像和给定的目标文本之间的CLIP-space内距离最小。研究人员将这个损失函数命名为全局CLIP损失。
2、隐映射(latent mapper),训练网络将输入的隐编码转换为修改生成图像中文本描述属性的编码。这个映射器使用相同的全局CLIP损失进行训练,从而最小化到目标文本的CLIP-space距离。对于一些剧烈的形状修改,我们发现训练这样一个潜在的映射器可以帮助提高识别结果-
3、通过确定修改哪些维度的隐编码会导致图像空间变化,从而发现GAN隐空间中有意义的变化方向。
这三个方法训练和推理时间变化很大,但它们都与其他隐空间编辑方法有一个共同的特点,它们应用于给定图像的修改在很大程度上受限于预训练生成器的图像域。
所以,StyleCLIP能够改变发型、表情,甚至可以将狼变成狮子,但他们不能将照片变成其他风格的绘画。
为此研究人员主要从两方面基于StyleCLIP又做了改进:
(1) 如何才能最好地提取封装在CLIP中的语义信息?
(2)应该如何正则化优化过程以避免模式崩溃?
首先就是损失函数的修改,除了之前提到的全局CLIP损失,第二个损失函数用来保留多样性和防止图像崩溃。一个图像对包含两个图像,一个由参考生成器生成,另一个由修改的可训练的生成器使用相同的隐编码生成。
把参考图像和目标图像的embedding按照CLIP-space中源文本和目标文本的embedding方向对齐。
这个损失函数可以克服全局CLIP损失的缺点,如果目标生成器仅创建单个图像,则从所有源到该目标图像的剪辑空间方向将不同,所以它们不能全部与文本方向一致。
其次,网络很难收敛到通用的解决方案,因此必须加入干扰来欺骗CLIP。
在实验部分,下图可以看到如何从狗生成到各种动物。对于所有动物翻译实验,在每次迭代中将可训练层的数量设置为三层,并训练隐映射器以减少源域数据的泄漏。
可以看到变化主要集中在样式或较小的形状调整上。例如,许多动物都会竖起右耳,而大多数AFHQ数据集中的狗品种则不会。
除了zero-shot外,研究人员还将方法与两种few-shot方案进行比较,即Ojha提出的模型和MineGAN进行比较。
第一种方法侧重于保持源域的多样性,同时适应目标域的风格,而后一种方法则通过引导GAN朝向更好地匹配目标集分布的隐空间域来稳定训练,但会牺牲一定的多样性。
下图可以看到虽然论文中提出的模型生成的图片可以看出来有人工生成的痕迹,但它成功地避免了备选方案显示的过度拟合和模式崩溃结果,保持了高度的多样性,并且能够在不提供任何目标域图像的情况下实现了这一点。
参考资料:
https://stylegan-nada.github.io/
-------------------
END
--------------------
我是王博Kings,985AI博士,华为云专家、CSDN博客专家(人工智能领域优质作者)。单个AI开源项目现在已经获得了2100+标星。现在在做AI相关内容,欢迎一起交流学习、生活各方面的问题,一起加油进步!
我们微信交流群涵盖以下方向(但并不局限于以下内容):人工智能,计算机视觉,自然语言处理,目标检测,语义分割,自动驾驶,GAN,强化学习,SLAM,人脸检测,最新算法,最新论文,OpenCV,TensorFlow,PyTorch,开源框架,学习方法...
这是我的私人微信,位置有限,一起进步!
王博的公众号,欢迎关注,干货多多
王博Kings的系列手推笔记(附高清PDF下载):
博士笔记 | 周志华《机器学习》手推笔记第一章思维导图
博士笔记 | 周志华《机器学习》手推笔记第二章“模型评估与选择”
博士笔记 | 周志华《机器学习》手推笔记第三章“线性模型”
博士笔记 | 周志华《机器学习》手推笔记第四章“决策树”
博士笔记 | 周志华《机器学习》手推笔记第五章“神经网络”
博士笔记 | 周志华《机器学习》手推笔记第六章支持向量机(上)
博士笔记 | 周志华《机器学习》手推笔记第六章支持向量机(下)
博士笔记 | 周志华《机器学习》手推笔记第七章贝叶斯分类(上)
博士笔记 | 周志华《机器学习》手推笔记第七章贝叶斯分类(下)
博士笔记 | 周志华《机器学习》手推笔记第八章集成学习(上)
博士笔记 | 周志华《机器学习》手推笔记第八章集成学习(下)
博士笔记 | 周志华《机器学习》手推笔记第九章聚类
博士笔记 | 周志华《机器学习》手推笔记第十章降维与度量学习
博士笔记 | 周志华《机器学习》手推笔记第十一章稀疏学习
博士笔记 | 周志华《机器学习》手推笔记第十二章计算学习理论
博士笔记 | 周志华《机器学习》手推笔记第十三章半监督学习
博士笔记 | 周志华《机器学习》手推笔记第十四章概率图模型
点分享
点收藏
点点赞
点在看
玩出花,只用文本就能干CV的活!相关推荐
- Clipboard还能玩出花
Clipboard是Android提供的一个系统服务,它提供了一个全局的剪贴板,让文字.图片.数据,在多App间共享成为可能,今天,我们来了解下它的真面目,以及被玩坏的新姿势. 老规矩,Google ...
- 如何在新时代下的结对编程中将代码玩出花来
好久没写文章了,标题起的有点膨胀. 你猜我想说什么 我想写一个结对编程小记.最近在和 S (帅气的花名) 利用业余时间,进行了一次结对编程.现在我准备把结对编程的一些思考分享给大家,下面开始吧. PS ...
- Linux- 系统随你玩之--玩出花活的命令浏览器-双生姐妹花
文章目录 1.背景 2.命令浏览器-双生姐妹花 2.1.姐妹花简介 2.2 .验名正身 2.3.常用功能选项 3.常用实操 3.1.发送请求获取文件 3.1.1.抓取页面内容到一个文件中 3.1.2. ...
- Spring Security 玩出花!两种方式 DIY 登录
Spring Security 玩出花!两种方式 DIY 登录 一般情况下,我们在使用 Spring Security 的时候,用的是 Spring Security 自带的登录方案,配置一下登录接口 ...
- android 手机输入法表情,最近手机输入法玩出花,讯飞输入法安卓版让表情包说话?...
原标题:最近手机输入法玩出花,讯飞输入法安卓版让表情包说话? 网络社交流行"能发图就别说话",但一夜之间,一部分高级玩家已经进化到"斗嘴",参加斗图的表情拥有了 ...
- 代码注释也可以玩出花来
1.这是一个被代码耽误的诗人 2.来一份1987年的代码看看 3.产品经理要对此负责 4.不敢看,也不敢问 5.老实的程序员 6.程序员正确发牢骚的地方 7.阅读源码的人,心里一定的崩溃的 8.第一 ...
- Linux- 系统随你玩之--玩出花活的命令浏览器下
文章目录 1.背景 2.常规操作 2.1.测试相关 2.1.1.修改 HTML 请求标头 2.1.2. 模拟不同浏览器发出 2.1.3.重定向 2.2. 下载相关操作 2.2.1. 后台下载 2.2. ...
- Linux使用alias命令玩出花活
Linux使用alias命令玩出花活 alias可以自定义命令,将命令玩出新高度 1.命令格式 #命令格式 alias 自定义命令='xxxx' #比如 alias hello="echo ...
- 简单的Postman,还能玩出花?
Postman是一款我们在工作中使用频率非常高的API调试工具,估计很多童鞋在使用它时也比较粗暴,填好接口地址.参数,直接send就完事了,估计大家要说了,这么简单的东西还能玩出什么花来.今天就和大家 ...
最新文章
- Flutter - 弹出底部菜单Show Modal Bottom Sheet
- leetcode141 环形链表
- 收获,不止SQL优化——抓住SQL的本质--读过程
- 关于JQuery全选/反选第二次失效的问题
- 语言纸对折的厚度编写代码_分享几款由“Python”语言编写的“有趣、恶搞、好玩”的程序代码...
- linux显示文件开头部分内容,一天一个linux基础命令之查看文件开头部分内容head...
- 【UV打印机】PrintExp打印软件教程(七)-高级模式(其它)
- 使用FFmpeg进行摄像头视频采集
- JAVA小鑫の日常系列故事(七)——小纸条
- 支付宝二维码可以抓包更改金额_mac下 安卓模拟器抓包推荐 - _恒
- Android 4高级编程(第3版)》
- 小萝莉说Crash(二): Unrecognized selector xxx 之 ForwardInvocation
- matlab图像分类器,一个用BoW|Pyramid BoW+SVM进行图像分类的Matlab Demo
- Win7系统待办下载 纯净版无广告待办软件
- C++项目实战 —— 演讲比赛流程管理系统
- 如何计算某年某月有多少天?
- 中本聪论文_浏览器中本机智能卡支持的案例
- 台达服务器显示b,台达变频器VFD-B系列故障代码详表
- 怀化php工资一般多少,【慌了】怀化官方最新平均工资标准出炉,快看看你拖后腿没......
- php 正则 靓号,正则表达式号码靓号类型判断代码
热门文章
- 计算机数据恢复报告单,计算机数据恢复第三章MBR引导分析篇
- 创建一个守护进程来监听服务进程的异常状态_用 C# 来守护 Python 进程
- java 线程参数 用final,JAVA 关于final修饰变量参数
- php的mktime,PHP mktime()函数获得本地时间戳
- python中返回值为ture表达式_python return逻辑判断表达式(21)|python教程|python入门|python教程...
- mac怎么查node版本_py2neo基本操作(v4版本,亲测有效)
- python 爬虫框架_Python实战:爬虫框架(6)
- 公路交通安全设施设计细则_转让江苏公路交通工程(公路安全设施分项)二级资质(包安许)...
- netty冲突 play sbt_Scala的Play框架:编译错误[类型应用程序不是程序包控制器的成员]...
- leetcode刷题六z字形变换