模型:
deepmind/optical-flow-perceiver
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。
@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} }