【报告解析】OpenAI Sora视频模型官方报告全解析 | 效果,能力以及基本原理

省流版

1 核心数据处理将视频数据整合成一个一个的Patch,方便统一训练数据,利用扩散Transformer架构

2 功能效果除了可以实现基础的文生视频外,实际上还有非常惊艳的视频延展,视频编辑,视频连接等多种功能,具体可以看官网的demo

3 模型涌现了3D一致性,远距离物体相关性等等卓越的能力

1 主要内容概述

摘要中指出,OpenAI探索了生成模型在视频数据的大规模训练,特别的,训练了基于文本条件的扩散模型,模型利用了Transformer架构,能够生成长达一分钟的视频,研究结果显示大规模的视频生成模型是构建通用的真实物理世界模拟器的一种很有潜力的方式

报告主要聚焦于两点

1 将所有类型的视觉数据转换为统一表示的方法,从而实现生成模型的大规模训练

2 对能力和局限性进行定性评估

具体的模型和实施细节并不包括在该报告中

以往的工作利用循环神经网络,自回归Transformer,和扩散模型等等,这些工作往往只聚焦于视频数据的一小部分,比如很短的视频或者固定的尺寸分辨率,Sora打破了这种已有的束缚,能够生成不同时长(最长60s),不同分辨率的视频

2 统一视频数据为patches

我们知道,在语言模型中,我们会将字符转换为一个一个的token,这样可以优雅地统一各种文本形式,比如代码,数学公式和不同的自然语言

在该工作中,也进行了这样的统一,将视频数据转换为一个一个的patch,事实证明patches是一种有效的表征

首先将一帧一帧的视频数据经过一个编码器,转换为低纬度的潜在空间的表示形式(目的是在时间上和空间上进行压缩)同时训练了一个对应的练解码器将这种潜在空间的内容转换为像素空间

接下来 将这种表现形式分解为时空潜在patches

请添加图片描述

然后将这些patches输入给扩散Transformer结构,使得训练能够利用不同分辨率大小,时长的视频数据。在推理阶段,我们可以通过在适当大小的网格中排列随机初始化的patches来控制生成的视频的大小

实际训练中,随机生成噪声直到不断去噪恢复到原来的patch
请添加图片描述

证明了扩散Transformer结构在视频数据非常有效

过去的图像和视频生成方法通常将视频调整大小、裁剪或修剪为标准大小,例如,分辨率为 256x256 的 4 秒视频。

OpenAI发现,以原生大小对数据进行训练有几个好处

1 采样灵活性

2 以原始纵横比对视频进行训练可以改善构图,而裁剪可能会导致很大的问题

我们首先训练一个高度描述性的字幕器模型,然后使用它为训练集中的所有视频生成文本字幕。OpenAI发现,对高度描述性视频字幕的训练可以提高文本保真度以及视频的整体质量。

3 功能效果展示

3.1 文本输入生成视频

这个就不用多说了哈哈哈哈,最基础的功能

3.2 图片和文本共同输入

请添加图片描述

3.3 视频延展

可以根据已有的视频按照时间向前延展或者向后延展

最后可以生成一些有趣的效果

3.4 视频到视频的编辑

比如更改视频中的风格,背景等等

看示例

左边图是原始视频,让左边的车跑在丛林里

请添加图片描述

3.5 连接视频

请添加图片描述

如图可以将左边视频的汽车和右边视频豹子两个元素连接在一起到中间的

3.6 生成图片

对你没有看错

虽然Sora最初是为了视频来的,但是由于训练中有图片所以也可以进行图片的生成

请添加图片描述

4 涌现的能力

4.1 3D一致性

Sora 可以生成具有动态相机运动的视频。随着摄像机的移动和旋转,人物和场景元素在三维空间中始终如一地移动。

4.2 远距离相关性和物体持久性

视频生成系统面临的一个重大挑战是在对长视频进行采样时保持时间一致性。Sora通常(尽管并非总是)能够有效地对短期和长期依赖关系进行建模。例如,模型可以保留人、动物和物体,即使它们被遮挡或离开框架。同样,它可以在单个样本中生成同一角色的多个镜头,从而在整个视频中保持它们的外观。

4.3 与世界互动

Sora 有时可以以简单的方式模拟影响世界状态的动作。例如,画家可以在画布上留下新的笔触,这些笔触会随着时间的推移而持续存在,或者一个人可以吃汉堡并留下咬痕。

4.4 模拟数字世界

Sora还能够模拟人工过程,例如视频游戏。Sora 可以同时通过基本策略控制 Minecraft 中的玩家,同时还可以高保真地渲染世界及其动态。这些功能可以通过提示 Sora 提及“Minecraft”来零触发。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-17 06:04:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-17 06:04:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-17 06:04:03       87 阅读
  4. Python语言-面向对象

    2024-02-17 06:04:03       96 阅读

热门阅读

  1. ubantu 新建.sh 文件

    2024-02-17 06:04:03       48 阅读
  2. STM32-寄存器和HAL库以及如何使用

    2024-02-17 06:04:03       50 阅读
  3. react中如何做到中断diff过程和恢复

    2024-02-17 06:04:03       48 阅读
  4. Vue3 中应该使用 Ref 还是 Reactive?

    2024-02-17 06:04:03       61 阅读
  5. 【VTKExamples::PolyData】第二十八期 LinearExtrusion

    2024-02-17 06:04:03       44 阅读
  6. docker的常用命令有哪些?

    2024-02-17 06:04:03       45 阅读
  7. Lua:面向对象/C之间的交互

    2024-02-17 06:04:03       51 阅读
  8. Docker安装和使用MySQL

    2024-02-17 06:04:03       47 阅读