文章来源 量子位 报道 | 公众号 QbitAI

CLIP大家都不陌生吧?

由OpenAI于今年1月份推出,能够实现文本描述与图片的精准匹配。

现在,有人“灵机一动”,从CLIP中学习了一种音频表示方法。

用这个方法搭配VQGAN-CLIP,就能实现声音到图像的转变

比如给它听4种不同的青蛙叫,它就能生成4种青蛙的照片:


 篇幅有限,只贴第一张图片对应的音频

给它听不同的教堂铃声,就能生成下面这样的图像:

 篇幅有限,只贴第一张图片对应的音频

再来一段更直观的根据音频生成的视频:

嗯,画风有点诡异,彷佛看到了还未被完全驯服的AI的内心世界……

不过这是不是还挺有意思?

那同样都使用VQGAN-CLIP,到底是用文字生成还是用这种音频表示的生成效果更好呢?

这也有一张对比图片:

第一行是VQGAN-CLIP根据文字生成的图片,第二行是根据音频。从左到右分别为:街头音乐、狗叫、小孩玩耍、枪击声。

你觉得哪个更像?

目前,关于这个音频表示方法的研究已被国际声学、语音与信号处理顶会ICASSP接收。

所以,一个音频是怎么和图像连接起来的呢?

从CLIP中提取音频表示方法

下面就来看看这个音频表示方法有何特殊之处。

方法名叫Wav2CLIP,从下图我们可以看出它和CLIP的模型架构非常像。

作为视听(audio-visual)对应模型,Wav2CLIP也有两个编码器,一个是冻结图像编码器(Frozen Image Encoder),一个是音频编码器,分别从视频中提取图像和音频数据进行训练。

冻结图像编码器通过冻结CLIP的图像编码器获得,也就是将CLIP视觉模型的图结构和权重固化到一起后直接加载运行。

音频编码器的预训练通过提取视频中CLIP图像的embedding完成,这也是Wav2CLIP的前置(pretext)任务。

按照CLIP论文的原始方法,研究人员采用对比损失(contrastive loss)进行特征提取,并添加多层感知器(MLP)作为投影层。

交叉投影的损失函数定义如下:

 f/g:投影函数,L:对比损失函数

添加MLP层的好处有两个:

一是有助于稳定提取过程;

二是能够加强多模态的一致性,因为模型学习到的音频embedding能通过这个投影层恢复CLIP图像的embedding。

总的来说,Wav2CLIP的训练数据为一段视频,利用CLIP的图像编码器(freeze操作)对音频图片和音频进行特征提取,就可以生成“明白”自己应该对应什么图片的音频表示。

所以反过来也可以根据这种表示推出图片,就像我们在开头看到的“青蛙”和“教堂铃声”一样。

具体方法就是通过把引导VQGAN在潜空间中查找与文本提示匹配的图像的CLIP embeddings,替换成Wav2CLIP音频embeddings而完成。

由于Wav2CLIP不同于以往的视听对应模型,它不需要将视觉模型与听觉模型结合起来学习,所以训练方法也就非常轻量级。

再加上Wav2CLIP的embeddings源于CLIP,这意味着它们是与文字对齐的。

所以经过额外层的训练,Wav2CLIP也能执行零样本音频分类、音频字幕和跨模态检索(根据文本搜索音频)等下游任务。

下游任务性能比较

在实验评估中,Wav2CLIP采用ResNet-18的架构作为音频编码器。

首先来看Wav2CLIP在分类和检索任务上的性能。

  • 与非SOTA的音频表示模型相比,Wav2CLIP在几乎所有分类和检索任务中的性能都比YamNet和OpenL3略强,不是最强的地方,表现和第一名差别也不大。

具体在检索任务上,对于音频检索(AR),可以看到Wav2CLIP作为帧级特征提取器的性能很有竞争力。

对于跨模态检索(CMR)任务,Wav2CLIP达到了0.05 MRR,这意味着它能够从前20个音频中检索出正确结果,比OpenL3好不少。

  • 与SOTA模型相比,仍有改进的余地

不过也情有可原,因为对于大多数SOTA模型来说,编码器在每个任务上都经过专门的训练或微调,而Wav2CLIP只用冻结特征提取器,并且只训练简单的MLP分类器输出答案,也就是所有任务都采用的是同一个音频编码器。

再看在音频字幕任务中与基线比较的结果:

所有指标都略优于基线。

不过作者表示,这不是一个公平的比较,因为他们的编码器和解码器架构都不同,但他们想表明的是:Wav2CLIP很容易适应不同的任务,并且仍然具有合理的性能。

最后再来看一下Wav2CLIP与OpenL3和YamNet使用不同百分比的训练样本进行VGGSound音频分类的结果(VGGSound包含309种10s的YouTube视频)。

可以发现Wav2CLIP碾压OpenL3,和YamNet不相上下——使用10%的训练数据就能达到相同性能。

不过Wav2CLIP和YamNet预训练的前置任务非常不同,YamNet需要大量的标记数据,Wav2CLIP在完全没有人工注释的情况下完成预训练,所以Wav2CLIP更易于扩展

总的来说,这种音频表示方法进一步训练的模型在上面这3种任务上都能表现出与同类相媲美或更高的性能。

在未来工作方面,研究人员表示将在Wav2CLIP上尝试各种专门为多模态数据设计的损失函数和投影层,并探索从共享embedding空间生成音频,以实现从文本或图像到音频的跨模态生成。

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

开源代码:
https://github.com/descriptinc/lyrebird-Wav2CLIP

更多音频转图像的demo欣赏:

https://descriptinc.github.io/lyrebird-wav2clip

猜您喜欢:

等你着陆!【GAN生成对抗网络】知识星球!

CVPR 2021专题1:GAN的改进

CVPR 2021 | GAN的说话人驱动、3D人脸论文汇总

CVPR 2021 | 图像转换 今如何?几篇GAN论文

【CVPR 2021】通过GAN提升人脸识别的遗留难题

CVPR 2021生成对抗网络GAN部分论文汇总

经典GAN不得不读:StyleGAN

最新最全20篇!基于 StyleGAN 改进或应用相关论文

超100篇!CVPR 2020最全GAN论文梳理汇总!

附下载 | 《Python进阶》中文版

附下载 | 经典《Think Python》中文版

附下载 | 《Pytorch模型训练实用教程》

附下载 | 最新2020李沐《动手学深度学习》

附下载 | 《可解释的机器学习》中文版

附下载 |《TensorFlow 2.0 深度学习算法实战》

附下载 | 超100篇!CVPR 2020最全GAN论文梳理汇总!

附下载 |《计算机视觉中的数学方法》分享

GAN应用案例:音频转图像相关推荐

  1. Github大热论文 | U-GAT-IT:基于GAN的新型无监督图像转换

    作者丨武广 学校丨合肥工业大学硕士生 研究方向丨图像生成 生成对抗网络(GAN)在这几年的发展下已经渐渐沉淀下来,在网络的架构.训练的稳定性控制.模型参数设计上都有了指导性的研究成果.我们可以看出 1 ...

  2. 《音频、图像及视频技术》学习笔记

    秒懂音视频开发学习笔记 01_移动通信技术的发展 02_重识图片 03_Windows开发环境搭建 04_Qt开发基础 05_重识声音 06_重识音频 07_音频录制01_命令行 08_音频录制02_ ...

  3. 教大家如何用一行代码打造下载神器!下载全网视频、音频、图像!太牛了!

    今天就浓重的给大家介绍一款神器 --you-get 这里说全网可能一点夸张,但如果实际上去使用you-get下载媒体文件(视频.音频.图像),对于主流的平台几乎都可以满足需求. 目前you-get支持 ...

  4. [Python从零到壹] 六十四.图像识别及经典案例篇之图像傅里叶变换和傅里叶逆变换详解

    祝大家新年快乐,阖家幸福,健康快乐! 欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所 ...

  5. NVIDIA开源DG-Net:用GAN生成高质量行人图像,辅助行人重识别/在线试衣

    前几天英伟达开源了DG-Net的源码.让我们来回顾一下这篇CVPR19 Oral的论文. 论文是英伟达(NVIDIA), 悉尼科技大学(UTS), 澳大利亚国立大学(ANU)的研究人员 在CVPR19 ...

  6. 如何让GAN生成更高质量图像?斯坦福大学给你答案

    本文来自斯坦福斯大学,论文在 WGAN 的基础上为 GAN 设计了课程,通过不断地增强判别器的判别能力(增加课程难度),让生成器学习任务更困难,在越来越难的课程下不断进步自己的生成能力,从而实现高质量 ...

  7. 登顶Github趋势榜,非监督GAN算法U-GAT-IT大幅改进图像转换效果

    点击我爱计算机视觉标星,更快获取CVML新技术 近日,GAN的大家族又出一位重量级新成员U-GAT-IT,图像转换效果提升明显,原作者开源代码这两天登顶Github趋势榜,引起极大关注. U-GAT- ...

  8. 设计灵感案例|教你图像在海报中可以如何摆放!

    通过改变图像的表现方式,合理运用重复.解构.变形.拼贴.逆向等手法,将海报设计中的图像运用反常规思维加以表现.通常制作一些特别的元素或是装饰,将主题表现得更加生动形象和与众不同,达到吸引人眼球的目的, ...

  9. 详解StyleGAN进化过程!看GAN如何一步步控制图像生成风格?

    点击上方"码农突围",马上关注 这里是码农充电第一站,回复"666",获取一份专属大礼包 真爱,请设置"星标"或点个"在看&quo ...

最新文章

  1. Java常用多线程辅助工具---countdownLatch
  2. 第八课.Python面向对象(二)
  3. linux内核参数优化
  4. 接口自动化框架(java)--2.接口用例POST请求,参数配置
  5. css预处理器sass使用教程(多图预警)
  6. Could not load driverClass ${jdbc.driver}
  7. 频繁模式增长Frequent-Pattern Growth(FP-Growth)
  8. 华为拿百亿资金给员工分红,预计每股1.58元
  9. 「SF图片上传不清晰」解决方案
  10. 一些经久不衰的linux 视频教程列表
  11. 勤哲cad服务器注册机,勤哲CAD服务器
  12. 汇川plc c语言,汇川小型PLC梯形图编程教程(十):输入输出继电器X和Y元件及常开常闭触点介绍...
  13. 【WPA三维路径规划】基于matlab狼群算法无人机三维路径规划【含Matlab源码 167期】
  14. leecode-C语言实现-1619. 删除某些元素后的数组均值
  15. fir1截止频率计算_如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器?请写出设计...
  16. 本地项目的一个git仓库损坏如何恢复
  17. 图片点击放大,你的网页也能做到!
  18. Akka 指南 之「消息传递可靠性」
  19. Unity Shader - ddx/ddy偏导函数测试,实现:锐化、高度图、Flat shading应用、高度生成法线
  20. windows更换壁纸cmd命令,window修改注册表更换壁纸,已设壁纸缓存地址

热门文章

  1. 学人工智能电脑配置要求高吗?多少钱能搞定?
  2. 「github资料」40个Python可视化图表案例(附零基础学习资料)
  3. 英语口语248之每日十句口语
  4. python文字图片拼接_Python-PIL-拼接图片
  5. 科学计算机按次方怎么在按括号,如何使用多功能计算器?
  6. 关于ARM的一些简介
  7. js创建对象并赋值其属性
  8. jmeter并发测试教程_jmeter进行并发测试教程
  9. matlab模拟夫琅禾费单缝衍射,夫琅禾费单缝衍射光强分布MATLAB分析【毕业论文】.doc...
  10. 一时兴起之matlab学习记录