论文笔记 ImageBind One Embedding Space To Bind Them All

本文最后更新于:2023年12月5日 上午

论文笔记 ImageBind: One Embedding Space To Bind Them All

论文链接:CVPR 2023 Open Access Repository (thecvf.com)

代码链接:facebookresearch/ImageBind: ImageBind One Embedding Space to Bind Them All (github.com)

官方网站:ImageBind by Meta AI (metademolab.com)

Meta的FAIR出的一篇CVPR2023 Highlight,在当时一出就受到广泛的关注,现在在大半年之后我才开始认真看一下hhhh。基本来说,这篇论文提出了一个基于对比学习的、CLIP架构的多模态模型,统一了Image、Video、Text、Audio、Depth、Thermal、IMU七种模态,并涌现了Zero-shot的能力。

方法

上图是ImageBind的网络图,乍一看都不像是个网络架构的图,但其精华都在其中。

首先左边绝大一部分都是在说使用的模态数据源,包括图像-文本对(CLIP的训练数据)、深度传感数据(不清楚,当时应该都有对应的图像)、热力数据(RGB图像+热力图)、视频(图像序列+音频)、第一人称视频(视频+IMU运动传感数据)。可以发现,目前涉及到的其他模态,都能够通过视觉的图像或者图像序列连接在一起,所以这也就带来了本篇文章的标题,使用Image来bing所有模态。

再捋一遍,为什么是ImageBind?因为数据!数据都能通过Image,bind在一起。

由于前人CLIP将图像和语言的语义捆绑在一起的工作做的非常好,所以这篇文章也是采取了基本相同的手法,每种模态使用基于ViT的编码器得到N维的一个特征向量然后使用InfoNCE损失函数进行优化。在训练过程中,图像和文本编码器由于已经学的很好了,不会更新参数,其余编码器使用CLIP或者OpenCLIP来初始化

模态 编码器 适配方法
图像 OpenCLIP ViT-H 630M -
视频 同上 I3D方法拓展ViT,切成2s
文本 OpenCLIP ViT-H 302M -
音频 ViT-B 2s的梅尔频谱
热力图 ViT-S 单通道图像
深度图 ViT-S 单通道图像

ImageBind对不同数据集进行训练,得到训练好的各个模态的编码器之后,就可以做Zero-shot和Emergent Zero-shot的实验,后者是将原来没有数据相连的模态进行实验。比如使用了“图像-文本”和“视频-音频”的数据分别训练,最后却可以进行“音频-文本”的Zero-shot实验。

实验

上图图像和视频就是OpenCLIP的结果,蓝色背景的其他模态就是这篇文章的结果。最下一行就是包括监督学习、集成学习等等在内的最高分,也就是目前的上限。第三行的热力图是直接当作灰度图做CLIP的,音频是一个不算Zero-shot的用了文本的结果。因为实在比的太少了,所以没什么可比性,但是至少比随机高了很多,距离监督学习倒还是有差距。

这张图的三个数据集是有Audio-Text的标注的,但是ImageBind做的只是视觉-音频和视觉-文本的学习,然后Emergent Zero-shot到音频-文本上,发现表现还不错,虽然也是离监督学习和不Emergent的AudioCLIP有差距。

在视频检索上,MSR-VTT只用音频的效果不尽如人意,但是居然还比MIL-NCE好,在加上视觉模态后,更是在Zero-shot上超出其它一大截。

消融实验证明,这个方法是可以继续Scale的。

其它实验去看论文吧~这里不一一分析了。

应用

论文放在摘要前面的第一张图,阐述了ImageBind的可能性。

首先是做任意模态之间的检索,用音频检索文字、用音频检索深度图等等。

其次是做一些可解释性的算术,这个在ZeroCap模型里也探索过(也可以看我的博客[基于梯度下降算法的Zero-shot Captioning方法 - Kamino’s Blog](https://blog.kamino.link/2023/09/08/Grad Guided ZeroShot Captioning/)),下面还有一些例子:

比如水果+鸟叫声=树上的水果,家里墙上的挂钟+教堂钟声=教堂的钟的图,路牌+雷声=打雷时的路牌。

最后,还有结合DALLE-2的生成模型,可以用其他模态的特征来生成图像,比如图中所示的音频生成图像。

论文里还放了一个使用音频进行目标检测的例子,Detic是Meta在ECCV2022提出的一个Open-vocabulary的目标检测模型(我也写过博客[博客 - Kamino’s Blog](https://blog.kamino.link/2022/11/16/Detic and Object Detection Review/)),可以将任意文本的特征作为候选类,来进行目标检测。这里将文本特征替换为音频特征,就可以实现用音频来进行目标检测。

结论

ImageBind给多模态的融合带来了一个崭新的Backbone,由于缺乏比较,其性能不一定好,但是至少是一个开始。ImageBind利用了多种数据源的特点,使用Image来作为中间表示,联合多种数据,定义了Emergent Zero-shot的范式。总的来说,ImageBind是一个很好的工作,是一个崭新的开始。