当前位置: 首页 > news >正文

SORA:OpenAI最新文本驱动视频生成大模型技术报告解读

Video generation models as world simulators:作为世界模拟器的视频生成模型

  • 1、概览
  • 2、Turning visual data into patches:将视觉数据转换为补丁
  • 3、Video compression network:视频压缩网络
  • 4、Spacetime Latent Patches:时空潜在补丁
  • 5、Scaling transformers for video generation:用于视频生成的缩放变压器
  • 6、Variable durations, resolutions, aspect ratios:可变持续时间、分辨率、纵横比
    • 采样灵活性
    • 改进了框架和构图
  • 7、Language understanding:语言理解
  • 8、Prompting with images and videos:使用图像和视频进行提示
    • DALL·E图像动画制作
    • 扩展生成的视频
    • 视频到视频编辑
    • 连接视频
  • 9、Image generation capabilities:图像生成能力
  • 10、Emerging simulation capabilities:新兴的模拟能力
  • 11、Discussion:讨论

1、概览

本技术报告侧重于:
(1)我们将所有类型的视觉数据转化为统一表示的方法,该方法能够对生成模型进行大规模训练。
(2)对Sora的能力和局限性进行定性评估。模型和实施细节未包含在本报告中。

许多先前的工作已经使用各种方法研究了视频数据的生成建模,包括:
递归网络、
生成对抗性网络、
自回归变换器、
和扩散模型。
这些工作通常关注一小类视觉数据、较短的视频或固定大小的视频。

Sora是一个通用的视觉数据模型,它可以生成不同持续时间、宽高比和分辨率的视频和图像,最高可达一分钟的高清视频。
在这里插入图片描述
这里OpenAI声称:Sora已经可以较稳定地生成60s连贯长视频。

2、Turning visual data into patches:将视觉数据转换为补丁

我们从大型语言模型中获得灵感,这些模型通过在互联网规模的数据上进行训练来获得通才能力。LLM范式的成功部分归功于使用了巧妙地统一了文本的各种形式——代码、数学和各种自然语言——的令牌。在这项工作中,我们考虑视觉数据的生成模型如何继承这些优势。LLM有文本标记,而Sora有视觉补丁。补丁先前已被证明是视觉数据模型的有效表示。
我们发现补丁是在不同类型的视频和图像上训练生成模型的高度可扩展和有效的表示。
在这里插入图片描述
在高水平上,我们通过首先将视频压缩到较低维度的潜在空间中,然后将表示分解为时空补丁,将视频转化为补丁。
值得注意的是,与传统的压缩空间不同,它是对时间维度进行压缩。这也就很好解释了为什么它可以生成60s的长视频。

3、Video compression network:视频压缩网络

我们训练了一个降低视觉数据维度的网络。
这个网络以原始视频作为输入,并输出一个在时间和空间上都被压缩的潜在表示。
Sora在这个压缩的潜在空间中接受训练并随后生成视频。我们还训练了一个相应的解码器模型,该模型将生成的延迟映射回像素空间。

4、Spacetime Latent Patches:时空潜在补丁

给定压缩的输入视频,我们提取一系列时空补丁,这些补丁充当变换器令牌。这种方案也适用于图像,因为图像只是具有单个帧的视频。
我们基于补丁的表示使Sora能够在不同分辨率、持续时间和纵横比的视频和图像上进行训练。在推理时,我们可以通过在适当大小的网格中排列随机初始化的补丁来控制生成的视频的大小。(也就是说Sora支持不同分辨率,不同时长不同横竖比的视频训练及生成)

5、Scaling transformers for video generation:用于视频生成的缩放变压器

Sora是一个扩散模型;给定输入噪声补丁(以及文本提示等条件信息),它被训练来预测原始的“干净”补丁。
重要的是,Sora是一个diffusion transformer。transformer在各种领域都表现出了显著的缩放特性,包括语言建模、计算机视觉和图像生成。
在这里插入图片描述
在这项工作中,我们发现diffusion transformer也可以有效地扩展为视频生成模型。
下面,我们展示了随着训练的进行,具有固定种子和输入的视频样本的比较。随着训练计算量的增加,样本质量显著提高。
在这里插入图片描述
(可以见得,越训练越狗模狗样了)

6、Variable durations, resolutions, aspect ratios:可变持续时间、分辨率、纵横比

过去的图像和视频生成方法通常将视频调整大小、裁剪或修剪为标准大小,例如,分辨率为256x256的4秒视频。我们发现,相反,对数据进行原生规模的训练可以带来几个好处。

采样灵活性

Sora可以对宽屏幕1920x1080p视频、垂直1080x1920视频以及其间的所有视频进行采样。这使Sora可以直接按照不同设备的固有纵横比为其创建内容。它还允许我们在以全分辨率生成之前快速原型化较低大小的内容——所有这些都使用相同的模型。
在这里插入图片描述

改进了框架和构图

我们根据经验发现,以视频的固有长宽比进行视频训练可以改善构图和取景。我们将Sora与我们的模型的一个版本进行比较,该版本将所有训练视频裁剪为正方形,这是训练生成模型时的常见做法。在方形裁剪上训练的模型(左)有时会生成仅部分可见主题的视频。相比之下,Sora(右)的视频有了更好的取景效果。
在这里插入图片描述
(这里是说Sora通过调整视频比例有了更好的生成效果,这里本文作者存疑,技术报告这一段的描述颇有种裁剪拼贴效果更好的感觉)

7、Language understanding:语言理解

训练文本到视频生成系统需要大量具有相应文本字幕的视频。我们将DALL-E3中引入的重字幕技术应用于视频。我们首先训练一个高度描述性的字幕器模型,然后使用它为训练集中的所有视频生成文本字幕。我们发现,对高度描述性视频字幕的训练可以提高文本保真度以及视频的整体质量。
与DALL-E3类似,我们还利用GPT将简短的用户提示转换为发送到视频模型的更长详细的字幕。这使Sora能够准确地按照用户提示生成高质量的视频。

8、Prompting with images and videos:使用图像和视频进行提示

上面和我们的登录页中的所有结果都显示了文本到视频的示例。但Sora也可以被其他输入提示,例如预先存在的图像或视频。这一功能使索拉能够执行广泛的图像和视频编辑任务——创建完美循环的视频、为静态图像设置动画、在时间上向前或向后扩展视频等。

DALL·E图像动画制作

Sora能够生成提供图像和提示作为输入的视频。下面展示了基于DALL·E 231和DALL·E 330图像生成的示例视频。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

扩展生成的视频

Sora还能够在时间上向前或向后扩展视频。接下来介绍了四个视频,它们都是从生成的视频片段开始向后扩展的。因此,四个视频中的每个视频的开头都与其他视频不同,但所有四个视频的结局都相同。
我们可以使用这种方法向前和向后扩展视频,以产生无缝的无限循环。

视频到视频编辑

扩散模型已经实现了从文本提示编辑图像和视频的大量方法。下面我们将其中一种方法SDEdit,32应用于Sora。这项技术使Sora能够转换零样本输入视频的风格和环境。

连接视频

我们还可以使用Sora在两个输入视频之间逐渐插值,在具有完全不同主题和场景组成的视频之间创建无缝过渡。在下面的示例中,中心的视频在左侧和右侧的相应视频之间进行插值。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

9、Image generation capabilities:图像生成能力

Sora还能够生成图像。我们通过在时间范围为一帧的空间网格中排列高斯噪声块来实现这一点。该模型可以生成各种尺寸的图像,分辨率高达2048x2048。
(是对图像生成领域的冲击)

10、Emerging simulation capabilities:新兴的模拟能力

我们发现,视频模型在大规模训练时表现出许多有趣的突发能力。这些功能使索拉能够从物理世界模拟人、动物和环境的某些方面。这些特性的出现对3D、物体等没有任何明显的归纳偏差——它们纯粹是尺度现象。
3D一致性。Sora可以生成具有动态相机运动的视频。随着相机的移动和旋转,人和场景元素在三维空间中一致移动。
(也是对三维模型生成领域的冲击)
(好狠的Sora,主打一个吃干抹净)

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

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

模拟数字世界:Sora还能够模拟人工过程,例如电子游戏。索拉可以用一个基本策略同时控制《我的世界》中的玩家,同时也可以高保真地渲染世界及其动态。这些功能可以通过提示索拉使用提及“我的世界”的标题来引发零样本
这些能力表明,视频模型的持续扩展是开发物理和数字世界以及生活在其中的物体、动物和人的高效模拟器的一条很有前途的道路。

11、Discussion:讨论

在这里插入图片描述

Sora目前作为一个模拟器表现出许多局限性。
例如,它不能准确地模拟许多基本相互作用的物理过程,比如玻璃破碎。其他相互作用,比如吃食物,并不总是能产生物体状态的正确变化。
我们在登录页中列举了该模型的其他常见故障模式,如长时间样本中出现的不相干或对象的自发出现。

在这里插入图片描述
我们相信,Sora今天的能力表明,视频模型的持续扩展是开发物理和数字世界以及生活在其中的物体、动物和人的强大模拟器的一条很有前途的道路。

相关文章:

SORA:OpenAI最新文本驱动视频生成大模型技术报告解读

Video generation models as world simulators:作为世界模拟器的视频生成模型 1、概览2、Turning visual data into patches:将视觉数据转换为补丁3、Video compression network:视频压缩网络4、Spacetime Latent Patches:时空潜在…...

阿里云第七代云服务器ECS计算c7、通用g7和内存r7配置如何选择?

阿里云服务器配置怎么选择合适?CPU内存、公网带宽和ECS实例规格怎么选择合适?阿里云服务器网aliyunfuwuqi.com建议根据实际使用场景选择,例如企业网站后台、自建数据库、企业OA、ERP等办公系统、线下IDC直接映射、高性能计算和大游戏并发&…...

视觉slam十四讲学习笔记(六)视觉里程计 1

本文关注基于特征点方式的视觉里程计算法。将介绍什么是特征点,如何提取和匹配特征点,以及如何根据配对的特征点估计相机运动。 目录 前言 一、特征点法 1 特征点 2 ORB 特征 FAST 关键点 BRIEF 描述子 3 特征匹配 二、实践:特征提取…...

PyTorch-线性回归

已经进入大模微调的时代&#xff0c;但是学习pytorch&#xff0c;对后续学习rasa框架有一定帮助吧。 <!-- 给出一系列的点作为线性回归的数据&#xff0c;使用numpy来存储这些点。 --> x_train np.array([[3.3], [4.4], [5.5], [6.71], [6.93], [4.168],[9.779], [6.1…...

C++数据结构与算法——栈与队列

C第二阶段——数据结构和算法&#xff0c;之前学过一点点数据结构&#xff0c;当时是基于Python来学习的&#xff0c;现在基于C查漏补缺&#xff0c;尤其是树的部分。这一部分计划一个月&#xff0c;主要利用代码随想录来学习&#xff0c;刷题使用力扣网站&#xff0c;不定时更…...

掌上新闻随心播控,HarmonyOS SDK助力新浪新闻打造精致易用的资讯服务新体验

原生智能是HarmonyOS NEXT的核心亮点之一&#xff0c;依托HarmonyOS SDK丰富全面的开放能力&#xff0c;开发者只需通过几行代码&#xff0c;即可快速实现AI功能。新浪新闻作为鸿蒙原生应用开发的先行者之一&#xff0c;从有声资讯入手&#xff0c;将基于Speech Kit朗读控件上线…...

2024年危险化学品经营单位主要负责人证模拟考试题库及危险化学品经营单位主要负责人理论考试试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年危险化学品经营单位主要负责人证模拟考试题库及危险化学品经营单位主要负责人理论考试试题是由安全生产模拟考试一点通提供&#xff0c;危险化学品经营单位主要负责人证模拟考试题库是根据危险化学品经营单位主…...

C/C++如何把指针所指向的指针设为空指针?

实践出真知&#xff0c;指针对于初学的友友来说&#xff0c;头都要大了。喵喵一直遵循在实践中学&#xff0c;在学习中实践&#xff0c;相信你也会有所得&#xff01; 以下是该问题的解决方案&#xff1a; int** ptrPtr new int*; // 创建指向指针的指针 int* ptr new int;…...

第三节:基于 InternLM 和 LangChain 搭建你的知识库(课程笔记)

视频链接&#xff1a;https://www.bilibili.com/video/BV1sT4y1p71V/?vd_source3bbd0d74033e31cbca9ee35e111ed3d1 文档地址&#xff1a; https://github.com/InternLM/tutorial/tree/main/langchain 课程笔记&#xff1a; 1.仅仅包含训练时间点之前的数据&#xff0c;无法…...

qt-C++笔记之打印所有发生的事件

qt-C笔记之打印所有发生的事件 code review! 文章目录 qt-C笔记之打印所有发生的事件1.ChatGPT问答使用 QApplication 的 notify 方法使用 QObject 的 event 方法 2.使用 QObject 的 event 方法3.使用 QApplication 的 notify 方法 1.ChatGPT问答 在Qt C中&#xff0c;若要打…...

pytorch 实现线性回归(深度学习)

一 查看原始函数 初始化 %matplotlib inline import random import torch from d2l import torch as d2l 1.1 生成原始数据 def synthetic_data(w, b, num_examples):x torch.normal(0, 1, (num_examples, len(w)))y torch.matmul(x, w) bprint(x:, x)print(y:, y)y tor…...

[Doris] Doris的安装和部署 (二)

文章目录 1.安装要求1.1 Linux操作系统要求1.2 软件需求1.3 注意事项1.4 内部端口 2.集群部署2.1 操作系统安装要求2.2 下载安装包2.3 解压2.4 配置FE2.5 配置BE2.6 添加BE2.7 FE 扩容和缩容2.8 Doris 集群群起脚本 3.图形化 1.安装要求 1.1 Linux操作系统要求 1.2 软件需求 1…...

【QT+QGIS跨平台编译】之三十五:【cairo+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文章目录 一、cairo介绍二、文件下载三、文件分析四、pro文件五、编译实践一、cairo介绍 Cairo是一个功能强大的开源2D图形库,它提供了一套跨平台的API,用于绘制矢量图形和文本。Cairo支持多种输出目标,包括屏幕、图像文件、PDF、SVG等。 Cairo的设计目标是简单易用、高效…...

MySQL(基础)

第01章_数据库概述 1. 为什么要使用数据库 持久化(persistence)&#xff1a;把数据保存到可掉电式存储设备中以供之后使用。大多数情况下&#xff0c;特别是企业级应用&#xff0c;数据持久化意味着将内存中的数据保存到硬盘上加以”固化”&#xff0c;而持久化的实现过程大多…...

STM32F1 - 中断系统

Interrupt 1> 硬件框图2> NVIC 中断管理3> EXTI 中断管理3.1> EXTI与NVIC3.2> EXTI内部框图 4> 外部中断实验4.1> 实验概述4.2> 程序设计 5> 中断向量表6> 总结 1> 硬件框图 NVIC&#xff1a;Nested Vectored Interrupt Controller【嵌套向量…...

【Linux系统化学习】缓冲区

目录 缓冲区 一个样例 现象解释 缓冲区存在的位置 缓冲区 在刚开始学习C语言的时候我们就听过缓冲区这个名词&#xff0c;很是晦涩难懂&#xff1b;在Linux下进程退出时也包含缓冲区&#xff0c;因此缓冲区到底是什么&#xff1f;有什么作用&#xff1f; 让我们先从一个小…...

基于BP算法的SAR成像matlab仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 BP算法的基本原理 4.2 BP算法的优点与局限性 5.完整工程文件 1.课题概述 基于BP算法的SAR成像。合成孔径雷达&#xff08;SAR&#xff09;是一种高分辨率的雷达系统&#xff0c;能够在各种天气和光…...

【C++ STL】你真的了解string吗?浅谈string的底层实现

文章目录 底层结构概述扩容机制浅拷贝与深拷贝插入和删除的效率浅谈VS和g的优化总结 底层结构概述 string可以帮助我们很好地管理字符串&#xff0c;但是你真的了解她吗&#xff1f;事实上&#xff0c;string的设计是非常复杂的&#xff0c;拥有上百个接口&#xff0c;但最常用…...

17.3.1.3 灰度

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 灰度的算法主要有以下三种&#xff1a; 1、最大值法: 原图像&#xff1a;颜色值color&#xff08;R&#xff0c;G&#xff0c;B&a…...

基于CAS操作的atomic原子类型

在上一节的卖票程序中&#xff0c;我们讲解了如何在多线程中保证临界资源的正确访问——使用互斥锁&#xff0c;即 lock_guard<mutex> lock(mtx); count;lock_guard<mutex> lock(mtx); count--; 从汇编角度解释线程间互斥-mutex互斥锁与lock_guard的使用-CSDN博客…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写&#xff0c;中文译为后进先出。这是一种数据结构的工作原则&#xff0c;类似于一摞盘子或一叠书本&#xff1a; 最后放进去的元素最先出来 -想象往筒状容器里放盘子&#xff1a; &#xff08;1&#xff09;你放进的最后一个盘子&#xff08…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

c#开发AI模型对话

AI模型 前面已经介绍了一般AI模型本地部署&#xff0c;直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型&#xff0c;但是目前国内可能使用不多&#xff0c;至少实践例子很少看见。开发训练模型就不介绍了&am…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

Device Mapper 机制

Device Mapper 机制详解 Device Mapper&#xff08;简称 DM&#xff09;是 Linux 内核中的一套通用块设备映射框架&#xff0c;为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程&#xff0c;并配以详细的…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中&#xff0c;新增了一个本地验证码接口 /code&#xff0c;使用函数式路由&#xff08;RouterFunction&#xff09;和 Hutool 的 Circle…...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性&#xff1a; 隐藏字段的实现细节 提供对字段的受控访问 访问控制&#xff1a; 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性&#xff1a; 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑&#xff1a; 可以…...

现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?

现有的 Redis 分布式锁库&#xff08;如 Redisson&#xff09;相比于开发者自己基于 Redis 命令&#xff08;如 SETNX, EXPIRE, DEL&#xff09;手动实现分布式锁&#xff0c;提供了巨大的便利性和健壮性。主要体现在以下几个方面&#xff1a; 原子性保证 (Atomicity)&#xff…...

Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成

一个面向 Java 开发者的 Sring-Ai 示例工程项目&#xff0c;该项目是一个 Spring AI 快速入门的样例工程项目&#xff0c;旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计&#xff0c;每个模块都专注于特定的功能领域&#xff0c;便于学习和…...