1 月 24 日消息,最近,Meta AI 推出了这样一个“杂食者”(Omnivore)模型,可以对不同视觉模态的数据进行分类,包括图像、视频和 3D 数据。
比如面对最左边的图像,它可以从深度图、单视觉 3D 图和视频数据集中搜集出与之最匹配的结果。
这在之前,都要分用不同的模型来实现;现在一个模型就搞定了。
而且 Omnivore 易于训练,使用现成的标准数据集,就能让其性能达到与对应单模型相当甚至更高的水平。
实验结果显示,Omnivore 在图像分类数据集 ImageNet 上能达到 86.0% 的精度,在用于动作识别的 Kinetics 数据集上能达 84.1%,在用于单视图 3D 场景分类的 SUN RGB-D 也获得了 67.1%。
另外,Omnivore 在实现一切跨模态识别时,都无需访问模态之间的对应关系。
不同视觉模态都能通吃的“杂食者”
Omnivore 基于 Transformer 体系结构,具备该架构特有的灵活性,并针对不同模态的分类任务进行联合训练。
模型架构如下:
Omnivore 会将输入的图像、视频和单视图 3D 图像转换为 embedding,并馈送到 Transformer 中。
虽然它可以使用任何 vision transformer 架构来处理 patch embedding,但鉴于 Swin transformer 在图像和视频任务上的强大性能,这里就使用该架构作为基础模型。
具体来说,Omnivore 将图像转为 patch,视频转为时空 tube(spatio-temporal tube),单视图 3D 图像转为 RGB patch 和深度 patch。
然后使用线性层将 patches 映射到到 embedding 中。其中对 RGB patch 使用同一线性层,对深度 patch 使用单独的。
总的来说,就是通过 embedding 将所有视觉模式转换为通用格式,然后使用一系列时空注意力(attention)操作来构建不同视觉模式的统一表示。
研究人员在 ImageNet-1K 数据集、Kinetics-400 数据集和 SUN RGB-D 数据集上联合训练出各种 Omnivore 模型。
这种方法类似于多任务学习和跨模态对齐,但有 2 点重要区别:
1、不假设输入观测值对齐(即不假设图像、视频和 3D 数据之间的对应关系);
2、也不假设这些数据集共享相同的标签空间(label space)。
性能超 SOTA
实验方面,首先将 Omnivore 与各视觉模态对应的特定模型(下表中指 Specific)进行比较。
一共有三种不同的模型尺寸:T、S 和 B。
预训练模型在七个下游任务上都进行了微调。
图像特定模型在 IN1K 上预训练。视频特定模型和单视图 3D 特定模型均使用预训练图像特定模型的 inflation 进行初始化,并分别在 K400 和 SUN RGB-D 上进行微调。
结果发现,Omnivore 在几乎所有的下游任务上的性能都相当于或优于各特定模型。
其中尺寸最大的 Swin-B 实现了全部任务上的 SOTA。
将 Omnivore 与具有相同模型架构和参数数量的特定模型比较也是相同的结果。
其中 Omnivore 在 IN1K、K400 和 SUN 数据集上从头开始联合训练,而特定模态的模型针对每个数据集专门训练:
ImageSwin 模型从零开始训练,VideoSwin 和 DepthSwin 模型则从 ImageSwin 模型上进行微调。
接下来将 Omnivore 与图像、视频和 3D 数据分类任务上的 SOTA 模型进行比较。
结果仍然不错,Omnivore 在所有预训练任务中都表现出了优于 SOTA 模型的性能(下图从上至下分别为图像、视频和 3D 数据)。
此外,在 ImageNet-1K 数据集上检索给定 RGB 图像的深度图也发现,尽管 Omnivore 没有接受过关于 1K 深度图的训练,但它也能够给出语义相似的正确答案。
最后,作者表示,尽管这个“杂食者”比传统的特定模式模型有了很多进步,但它有一些局限性。
比如目前它仅适用于单视图 3D 图像,不适用于其他 3D 表示,如体素图(voxels)、点云图等。
论文地址:点击打开
代码已开源:点击打开