今天我们正式开始合成视频,解决视频时空域tokens编码的问题,同时也探讨下多尺寸视频编码和生成的问题。
论文地址:https://arxiv.org/abs/2212.05199 。CVPR2023 Highlight。
项目地址:https://magvit.cs.cmu.edu/。
这篇论文是奠基性的文章,后面谷歌的videopoet都是它的改进版。我反复看了好几遍,里面有很多东西,常看常新。代码也写的很有意思。他为了提升论文CVPR的通过率,把效果图直接放在了论文的最开始。
一、Spatial-Temporal Tokenization时空编码
一段视频,假设长宽为H,W,时长为T,rgb视频的话通道数为3,则通过一个3D VQ 编码模块,编码成tokens,所有tokens的值z空间属于Z,Z是一个codebook,论文里有写,是1024个词表空间(在figure10里)。
通俗地讲,就是一段视频被编码成一长串的视频隐空间的语义tokens了。
接下来讲这个3D VQ编码器模块。
其实非常简单,上一节
Sora技术3:编码图像tokenizer-从VQ- VAE、VQGAN到MAGVIT
我们讲过 2D的 VQGAN编码器,本文中的3D VQ分两块,第一块是3D卷积,直接将VQGAN扩展一列时间维度成为3D卷积即可;第二块是下采样(上采样)。编码器中,第一步是对T frame 多帧使用3D下采样降维,然后再用2D下采样对空间降维;解码器就翻过来,先用2D上采样,再用3D上采样生产多帧视频。采样这样设计是有原因的,因为我上采样的时候,先把时域信息挖掘好,再挖掘空域信息,有利于保证时域信息不丢失,如果提前对空域下采样,则会丢失不少时域前后帧之间的相关信息。
原文作者:Agent的潜意识;如有侵权,请联系管理员删除。