OpenAI Sora 关键技术详解:揭秘时空碎片 (Spacetime Patches) 技术

编者按:近日,OpenAI发布其首个视频生成模型“Sora”,该模型生成的视频内容可以呈现出多个角色、特定动作以及复杂场景,为构建能够理解和模拟现实世界的人工智能模型奠定了基础。

本文解析的重点即是 Sora 背后的核心技术 Spacetime Patches,作者认为该技术通过创新的时空数据建模方法,让 Sora 学会预测时空维度上事件和对象的变化、运动和互动,从而建立起视频世界的物理模型,生成极其逼真的视频。

这确实是生成模型领域的里程碑,也是一个 AGI 的里程碑。编者相信,没准有一天,哆啦A梦的二次元口袋照相机也可能成为现实。

作者 | Vincent Koc

编译 | 岳扬

人工智能如何将静态图像转换为动态、逼真的视频?OpenAI的 Sora 通过创新性地使用时空碎片技术(spacetime patches)给出了一个答案。

在快速发展的生成模型领域,OpenAI 的 Sora [1]是一个重要的里程碑,有望重塑我们对视频生成的理解和认识。本文将解读 Sora 背后的技术[2]以期激发新一代模型在图像、视频和3D内容创建方面的潜力。

OpenAI 使用以下提示词生成生成了一段视频:A cat waking up its sleeping owner demanding breakfast. The owner tries to ignore the cat, but the cat tries new tactics and finally the owner pulls out a secret stash of treats from under the pillow to hold the cat off a little longer.  —— 通过Sora生成的视频内容几乎达到了无以伦比的逼真程度。由于 Sora 正在进行测试,完整模型尚未完全向公众发布。

01 Sora 的独特方法如何改变视频生成的方式

在生成模型(generative models)领域的发展过程中,我们见证了从生成式对抗网络(GAN)到自回归(auto-regressive)和扩散模型(diffusion models)等多种方法的演变,它们都有各自的优势和局限性。Sora通过采用新的模型技术和凭借其高度灵活性带来了范式转变,能够处理多种多样的视频时长(duration)、宽高比(aspect ratio)和分辨率(resolution)。

Sora结合了扩散原理(diffusion)和 transformer 架构,提出了diffusion transformer model,并具有如下特性:

  • 文字到视频:这种功能我们应该已经见到过很多次了
  • 图像到视频:为静态图像赋予生命
  • 视频到视频:将视频的风格转换为其他样式
  • 修改视频时间:扩展和缩短视频
  • 创建无缝循环视频:创建看起来无限循环的平铺视频(译者注:在视频编辑领域,Tile(平铺)是一个专业术语,指的是将一个视频片段复制并拼接,重复排列形成一个新的视频画面的技术。)
  • 图像生成:虽然只是单帧静止画面,但是称得上一部“单帧电影”(分辨率高达2048 x 2048)
  • 生成任何分辨率的视频:从1920 x 1080 到 1080 x 1920,应有尽有
  • 模拟虚拟世界: 像 Minecraft 和其他视频游戏
  • 创建视频: 最长1分钟,包含多个短视频

想象一下,你正在一个厨房里。像Pika[3]和RunwayML[4]这样的传统视频生成模型就像严格遵循食谱的厨师,他们能够制作美味佳肴(视频),但受限于他们所知的食谱(算法)。这些“厨师”可能专攻制作蛋糕(短视频)或意大利面(某类型视频),使用特定的“食材”(数据格式)和“烹调技术”(模型架构)。

相比之下,Sora像是全能大厨,对食品风味的构成与变化了如指掌。Sora不仅能遵循食谱,还持续创造新的菜式。 数据和模型架构的灵活性,让 Sora 能生产出一系列高质量的视频,堪比大师厨艺的多变与精湛。

02 探索 Sora 秘方的核心:Spacetime Patches 技术

Spacetime Patches 是 Sora 创新的核心,它建立在谷歌 DeepMind 早先对 NaViT [5]和 ViT(Vision Transformers)的研究基础之上,其基础是一篇 2021 年的论文《An Image is Worth 16x16 Words[6]》。

“Vanilla” Vision Transformer 架构 —— 图片来源:Dosovitskiy等,2021[6]

在传统的 Vision Transformers 中,我们使用一系列图像 “patches” 来训练模型进行图像识别,而不是像训练 language transformers 那样使用单词来进行训练。通过 “patches”,我们可以摆脱卷积神经网络对图像处理的束缚。


如何将帧/图像划分为 patches —— 图片来源:Dehghani等,2023[5]

然而,Vision transformers 受到图像训练数据的限制,这些数据的大小和长宽比都是固定的,这就限制了图像的质量,并需要对图像进行大量的预处理。

切割视频时态数据的可视化 —— 资料来源:kitasenjudesign[7]

通过将视频处理为 patches 序列,Sora保持了原始的长宽比和分辨率,这与 NaViT 处理图像的方式类似。这种保留对于捕捉视觉数据的真实本质至关重要,可使模型从更准确的世界表征中学习,从而赋予Sora其近乎魔法的准确性。

Spacetime Patching 处理过程的可视化 —— 图片来源:OpenAI(Sora)

通过这种方法,Sora 可以高效地处理各种视觉数据,而无需调整大小或进行填充等预处理步骤。这种灵活性确保了每一条数据都有助于模型的理解,就像厨师使用各种配料来提升菜肴的风味一样。

通过 Spacetime Patching 技术详细而灵活地处理视频数据,为Sora拥有精确的物理模拟和三维一致性等复杂特性奠定了基础。 这些能力对于创建不仅看起来逼真,而且符合世界物理规则的视频至关重要,让我们看到了人工智能创建复杂、动态视觉内容的潜力。

03 喂养Sora:多样化数据在训练中的作用

生成模型的表现与训练数据的质量和多样性密不可分。 现有的视频模型传统上是在更受限的数据集上训练的,时长较短,目标较窄。

Sora的训练数据集广泛多样,包含不同长度、分辨率和长宽比的视频与图像。其重现 Minecraft 等数字世界的能力[8],极有可能吸收了来自Unity、Unreal等系统的模拟镜头数据,以捕捉更丰富视角和风格的视频内容。这让Sora类似GPT语言模型,达到视频生成的“全能”境界。

丰富数据训练使Sora能够深刻理解复杂动力学,生成既多样又高质量的内容。 这种方法模仿了大语言模型在多样化文本上的训练方式,将类似理念应用于视觉数据,以获得通用能力。

使用可变 patches 的 NaVit vs. 传统的 Vision Transformers —— 图片来源:Dehghani等,2023[5]

正如 NaViT 模型通过将来自不同图像的多个 patches 打包到单个序列中,能够显著提高训练效率和性能一样,Sora 利用时空碎片(Spacetime Patching)实现了在视频生成场景中类似的生成效率。这种方法可以更有效地学习庞大的数据集,提高模型生成高保真视频的能力,同时与现有模型架构相比还可以显著降低所需的计算量。

04 让模拟的物理世界栩栩如生:Sora 对三维空间和视频连贯性的掌控

三维空间以及物体的运动和互动具有逻辑性和一致性是 Sora 演示中的一大亮点。通过对大量视频数据进行训练,而不对视频进行调整或预处理,Sora 可以学习对物理世界进行建模,而且其准确性令人印象深刻,因为它能够以原始形式消化训练数据。

它能生成数字世界和视频,在这些视频中,其中的物体和角色在三维空间中移动和互动,即使在它们被遮挡或离开画面时也能保持连贯性,令人信服。

05 展望未来:Sora对生成模型的启示

Sora为生成模型树立一种新的高标准。这种技术极有可能激发开源社区继续探索视觉生成领域的新边界,驱动新一代生成模型的发展,打破创造力和内容真实性的限制。

Sora 的征程才刚刚开始,正如 OpenAI 所说: “扩大视频生成模型的规模是建立物理世界通用模拟器的一条大有可为的道路。”

Sora技术与最新的AI研究和实践应用的融合,预示着生成模型的光明前景。随着这些技术的持续演化,必将重新定义我们与数字内容的互动,使高保真、动态视频生成变得更加便捷和多样。

Thanks for reading!

END

参考资料

[1]https://openai.com/sora

[2]https://openai.com/research/video-generation-models-as-world-simulators

[3]https://pika.art/home

[4]https://runwayml.com/ai-tools/gen-2/

[5]https://arxiv.org/abs/2307.06304

[6]https://arxiv.org/abs/2010.11929

[7]https://twitter.com/kitasenjudesign/status/1489260985135157258

[8]https://techcrunch.com/2024/02/15/openais-sora-video-generating-model-can-render-video-games-too/

原文链接:

https://towardsdatascience.com/explaining-openai-soras-spacetime-patches-the-key-ingredient-e14e0703ec5b

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2811971.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

单片机51 定时器

一、基本概念 1.1简介 单片机的定时器是一种内部功能模块,用于产生计时、计数、延时等功能。定时器通常由一个或多个计数器和相关的控制逻辑组成。单片机的定时器可以运行在不同的工作模式下,以适应不同的计时和计数需求。 C51中的定时器和计数器是同…

Tomcat 下部署若依单体应用可观测最佳实践

实现目标 采集指标信息采集链路信息采集日志信息采集 RUM 信息会话重放 即用户访问前端的一系列过程的会话录制信息,包括点击某个按钮、操作界面、停留时间等,有助于客户真是意图、操作复现 版本信息 Tomcat (9.0.81)Springboot(2.6.2)JDK (>8)DDT…

请求包的大小会影响Redis每秒处理请求数量

文章目录 🔊博主介绍🥤本文内容压测规划客户端长连接数量对性能的影响请求包大小的影响Pipleline模式对Redis的影响 📢文章总结📥博主目标 🔊博主介绍 🌟我是廖志伟,一名Java开发工程师、Java领…

第二章 Xshell5连接VM中虚拟系统Ubuntu1704

第二章 Xshell5连接VM中虚拟系统Ubuntu1704 第一章 Win10系统VM安装Ubuntu1704虚拟机 第三章 VMware虚拟机ubuntu显示屏幕太小,无法自适应解决办法 一、设置全新安装的Ubuntu的root密码 1.1、启动Ubuntu系统,在桌面右键打开终端 1.2、尝试登陆root用户…

【postgresql】数据表id自增与python sqlachemy结合实例

需求: postgresql实现一个建表语句,表名:student,字段id,name,age, 要求:每次添加一个数据id会自动增加1 在PostgreSQL中,您可以使用SERIAL或BIGSERIAL数据类型来自动生成主键ID。以下是一个创建名为stude…

TiDB之分布式数据库TiDB 操作管理规范【附可下载文档】

一、 目的 为了在软件生命周期内规范数据库相关的设计、开发、运维工作,便于不同团队之间的沟通及协调,制定此文档,以期在相关规范上达成共识和默契,提升相关环节的工作效率及系统的可维护性。同时好的规范,在执行的时候可以培养出好的习惯,好的习惯是软件质量的很好保证…

EMQX Enterprise 5.5 发布:新增 Elasticsearch 数据集成

EMQX Enterprise 5.5.0 版本已正式发布! 在这个版本中,我们引入了一系列新的功能和改进,包括对 Elasticsearch 的集成、Apache IoTDB 和 OpenTSDB 数据集成优化、授权缓存支持排除主题等功能。此外,新版本还进行了多项改进以及 B…

Qt项目:网络1

文章目录 项目:网路项目1:主机信息查询1.1 QHostInfo类和QNetworkInterface类1.2 主机信息查询项目实现 项目2:基于HTTP的网络应用程序2.1 项目中用到的函数详解2.2 主要源码 项目:网路 项目1:主机信息查询 使用QHostI…

【练习——打印每一位数】

打印一个数的每一位 举个例子:我们现在要求打印出123的每一位数字。我们需要去想123%10等于3,就可以把3单独打印出来了,然后再将123/10可以得到12,将12%10就可以打印出2,而我们最后想打印出1,只需要1%10就…

前端路由与后端路由的区别

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

MySQL之Pt-kill工具

工具下载 [rootlocalhost1 bin]# wget percona.com/get/percona-toolkit.tar.gz [rootlocalhost1 bin]# yum install perl-DBI [rootlocalhost1 bin]# yum install perl-DBD-MySQL [rootlocalhost1 bin]# ./pt-kill --help1、每10秒检查一次,发现有 Query 的进程就…

数据隐私安全趋势

在当今社交媒体和开源开发的世界中,共享似乎已成为社会常态。毕竟,我们都被教导分享就是关怀。这不仅适用于个人,也适用于公司:无论是有意在社交媒体帐户和公司网站上,还是无意中通过员工的行为,公司可能会…

【Python笔记-设计模式】命令模式

一、说明 命令模式是一种行为设计模式,旨在对命令的封装,根据不同的请求将方法参数化、延迟请求执行或将其放入队列中,且能实现可撤销操作。 (一) 解决问题 将请求发送者和接受者解耦,请求发送者只需知道如何发送请求&#xff…

FullCalendar日历组件:进行任务增删改,参考gitee例子修改

效果 参考路径 zxj/FullCalendar开发示例 - 码云 - 开源中国 (gitee.com) 代码 主页面&#xff1a;index.php <?php ob_start(); include(includes/session.inc); ?> <!DOCTYPE html> <html><head><title>日程管理</title><meta …

html中的meta 元信息

html中的meta 元信息 1. 配置字符编码 <meta charset"utf-8">2. 针对 IE 浏览器的兼容性配置。 <meta http-equiv"X-UA-Compatible" content"IEedge">3. 针对移动端的配置 <meta name"viewport" content"widt…

Vue前端实现一个本地消息队列(MQ), 让消息延迟消费或者做缓存

MQ功能实现的具体代码(TsMQ.ts)&#xff1a; import { v4 as uuidx } from uuid;import emitter from /utils/mittclass Message {// 过期时间&#xff0c;0表示马上就消费exp: number;// 消费标识&#xff0c;避免重复消费tag : string;// 消息体body : any;constructor( exp…

学习磁盘管理

文章目录 一、磁盘接口类型二、磁盘设备的命名三、fdisk分区四、自动挂载五、扩容swap六、GPT分区七、逻辑卷管理八、磁盘配额九、RAID十、软硬链接 一、磁盘接口类型 IDE、SATA、SCSI、SAS、FC&#xff08;光纤通道&#xff09; IDE, 该接口是并口。SATA, 该接口是串口。SCS…

LeetCode刷题---确认率

解题思路: 将Signups和Confirmations进行左连接&#xff0c;连接的条件为Signups.user_idConfirmations.user_id 根据题中要求进行查询&#xff0c;这里使用AVG聚合函数来求解确认率 AVG(c.action‘confirmed’)表示对action列进行求平均&#xff0c;如果action‘confirmed’&a…

Atcoder ABC341 E - Alternating String

Alternating String&#xff08;交替字符串&#xff09; 时间限制&#xff1a;3s 内存限制&#xff1a;1024MB 【原题地址】 所有图片源自Atcoder&#xff0c;题目译文源自脚本Atcoder Better! 点击此处跳转至原题 【问题描述】 【输入格式】 每个查询 q u e r y i query…

【论文笔记之 YIN】YIN, a fundamental frequency estimator for speech and music

本文对 Alain de Cheveigne 等人于 2002 年在 The Journal of the Acoustical Society of America 上发表的论文进行简单地翻译。如有表述不当之处欢迎批评指正。欢迎任何形式的转载&#xff0c;但请务必注明出处。 论文链接&#xff1a;http://audition.ens.fr/adc/pdf/2002_…