模型:

deepmind/optical-flow-perceiver

英文

Perceiver IO用于光流

Perceiver IO模型在 AutoFlow 上进行了训练。它由Jaegle等人在 Perceiver IO: A General Architecture for Structured Inputs & Outputs 的论文中引入,并在 this repository 首次发布。

光流是计算机视觉中一个已有几十年历史的开放问题。给定同一场景的两个图像(例如视频的连续两帧),任务是估计第一幅图像中每个像素的二维位移。这具有许多广泛的应用,例如机器人导航和视觉测距,三维几何的估计,甚至可以辅助将更复杂的学习推理,例如从合成图像到真实图像的三维人体姿态估计。

免责声明:推出Perceiver IO的团队没有为该模型编写模型卡片,因此此模型卡片是由Hugging Face团队编写的。

模型描述

Perceiver IO是一个可以应用于任何模态(文本、图像、音频、视频等)的Transformer编码器模型。其核心思想是在不太大的一组潜在向量(例如256或512个)上使用自注意机制,只使用输入对潜在向量进行交叉注意。这使得自注意机制的时间和内存要求不依赖于输入的大小。

为了解码,作者使用了所谓的解码器查询,这允许灵活地解码潜在隐藏状态以产生任意大小和语义的输出。对于光流任务,输出是一个包含预测流的张量,形状为(batch_size,height,width,2)。

Perceiver IO架构。

由于自注意机制的时间和内存要求不依赖于输入的大小,Perceiver IO的作者可以训练模型使用原始像素值,通过将一对图像连接起来并提取每个像素周围的3x3区域来实现。

该模型在重要的光流基准数据集上取得了最先进的结果,包括 Sintel KITTI

使用目的和限制

您可以使用原始模型来预测一对图像之间的光流。请参阅 model hub 以查找您可能感兴趣的其他任务的其他版本。

如何使用

关于如何使用Perceiver进行光流计算,请参考 tutorial notebook

训练数据

该模型是在 AutoFlow 上训练的,这是一个包含400,000个带注释图像对的合成数据集。

训练过程

预处理

帧被调整为368x496的分辨率。作者将帧沿通道维度连接并提取每个像素周围的3x3区域(每个像素有三个带有2个值的维度,总共54个值)。

预训练

超参数的详细信息可以在 paper 的附录E中找到。

评估结果

该模型在Sintel.clean上达到了1.81的平均端点误差(EPE),在Sintel.final上达到了2.42的EPE,以及在KITTI上达到了4.98的EPE。有关评估结果,请参考 paper 的表4。

BibTeX引用和引文信息

@article{DBLP:journals/corr/abs-2107-14795,
  author    = {Andrew Jaegle and
               Sebastian Borgeaud and
               Jean{-}Baptiste Alayrac and
               Carl Doersch and
               Catalin Ionescu and
               David Ding and
               Skanda Koppula and
               Daniel Zoran and
               Andrew Brock and
               Evan Shelhamer and
               Olivier J. H{\'{e}}naff and
               Matthew M. Botvinick and
               Andrew Zisserman and
               Oriol Vinyals and
               Jo{\~{a}}o Carreira},
  title     = {Perceiver {IO:} {A} General Architecture for Structured Inputs {\&}
               Outputs},
  journal   = {CoRR},
  volume    = {abs/2107.14795},
  year      = {2021},
  url       = {https://arxiv.org/abs/2107.14795},
  eprinttype = {arXiv},
  eprint    = {2107.14795},
  timestamp = {Tue, 03 Aug 2021 14:53:34 +0200},
  biburl    = {https://dblp.org/rec/journals/corr/abs-2107-14795.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}