OpenAl 视频生成模型 —— Sora技术报告解读

news/发布时间2024/5/15 20:35:20

这里是陌小北,一个正在研究硅基生命的碳基生命。正在努力成为写代码的里面背诗最多的,背诗的里面最会写段子的,写段子的里面代码写得最好的…厨子。

写在前面

早上醒来,就看到OpenAl推出的视频模型Sora炸锅了,感觉所有人都不淡定了… 这种时候我一般是先不看,让子弹先飞一会儿的,正当我看会儿闲书修身养性的时候,技术报告又出来了,这下我也来神儿了,盘他盘他…

其实我老早就想研究一下当前的文生视频模型都有哪些技术,做个调研和总结了,今天就当个起点吧。因为2024年很可能迎来视频的“ChatGPT 时刻”,a16z发布了文章《为什么2023是AI视频的突破年,以及2024年的展望》,总结了2023年的AI视频产品以及相应的时间点。

再加上年初,谷歌推出了Lumiere模型,字节跳动和腾讯也分别公布了MagicVideo V2与VideoCrafter2,今天OpenAl的Sora一出,只能说硝烟已至,未来已来。

通过这份总结可以看出,大多数产品只能生成 3 到 4 秒钟的视频,并且存在视频质量参差不齐,人物风格难以统一等问题,但是今天Sora直接将时长打到60秒,并且支持多角度镜头,还有最重要的,Sora似乎已经涌现出了模拟能力,有了“世界模型”的雏形…

技术报告解读

首先贴上技术报告地址:https://openai.com/research/video-generation-models-as-world-simulators

报告标题是“Video generation models as world simulators” —— “作为世界模拟器的视频生成模型”,并且在报告开始就说了,视频生成模型是构建物理世界通用模拟器的一个值得研究的方向,悬念感拉满。

接下来是回顾之前视频领域的研究进展,主要包括 recurrent networks,generative adversarial networks(GAN),autoregressive transformers,diffusion models,这些方法通常应用与小范围的视觉数据、短视频或固定大小的视频。Sora是一个通用的视觉数据模型,它可以生成不同时长、长宽比和分辨率的视频和图像,而且最多可以输出长达一分钟的高清视频。

关于报告公示的具体细节,先泼个冷水,CloseAI 的报告不包含模型和训练的细节,报告重点阐述的有两点:第一,Sora将所有类型的视觉数据转换为统一表示形式(patches),从而用于大规模训练生成模型;第二,对 Sora 的能力和局限性进行定性评估。

技术点一:视觉数据转为 Patches

Patches是类似于LLM中token的概念。LLM过使用互联网上大规模的数据进行训练从而获得了通用能力,这也给了Sora灵感。

LLM中正是通过token这一新的范式,将文本的多种模态 (代码、数学和各种自然语言)统一了起来。所以视觉模型Sora参考了这一创新,OpenAI 发现 patches 是训练生成各种类型视频和图像的模型的可扩展且有效的表示。

如下图,首先将视频压缩到较低维的潜在空间,然后将表示分解为spacetime patches,从而将视频转换为 patches。

技术点二:视频压缩网络

OpenAI 训练了一个降低视觉数据维度的网络和相应的解码器模型。看起来还是类似于transformer 的编码器和解码器,编码器将原始视频作为输入,并输出在时间和空间上压缩的latent representation,解码器将生成的潜在表示映射回像素空间。Sora 在这个压缩的潜在空间中接受训练,而后生成视频。OpenAI 还训练了,将生成的潜在表示映射回像素空间。

技术点三:Spacetime Latent Patches

给定一个压缩的输入视频,OpenAI 提取一系列时空 patches,充当 Transformer 的 tokens。该方案也适用于图像,因为图像可视为单帧视频。OpenAI 基于 patches 的表示使 Sora 能够对不同分辨率、持续时间和长宽比的视频和图像进行训练。在推理时,OpenAI 可以通过在适当大小的网格中排列随机初始化的 patches 来控制生成视频的大小。

技术点四:用于视频生成的Scaling Transformer

Sora 是一个扩散 Transformer。关于为什么采用Transformer,报告中提到,Transformer 在各个领域都表现出了卓越的缩放特性,包括语言建模、计算机视觉、和图像生成。同时,OpenAI 发现扩散 Transformers在视频模型上同样有效。

Sora的具体实现方式是:通过给定的输出的noisy patches(噪声 patches,以及像是问题提示一类的训练信息),训练出模型,用来预测原始的“clean” patches。

下面,OpenAI 展示了训练过程中具有固定种子和输入的视频样本的比较。随着训练计算的增加,样本质量显着提高。

技术点五:语言理解

由于训练文本到视频生成系统需要大量带有相应文本字幕的视频。OpenAI将 DALLE 3 中的重字幕(re-captioning)技术应用于视频。具体来说,首先训练一个高度描述性的字幕生成器模型,然后使用它为训练集中所有视频生成文本字幕。研究团队发现,对高度描述性视频字幕进行训练可以提高文本保真度以及视频的整体质量。

与 DALLE 3 类似,研究团队还利用 GPT 将简短的用户 prompt 转换为较长的详细字幕,然后发送到视频模型。这使得 Sora 能够生成准确遵循用户 prompt 的高质量视频。

亮点一:可变的持续时间,分辨率,宽高比

以往,图像和视频生成方法通过需要调整大小、进行裁剪或者是将视频剪切到标准尺寸。Sora采用在原始大小的数据上进行训练,OpenAI 发现在原始大小的数据上进行训练,可以提供以下好处:

首先是采样的灵活性:Sora 可以采样宽屏视频 1920x1080p,垂直视频 1080x1920p 以及两者之间的视频。这使 Sora 可以直接以其天然纵横比为不同设备创建内容。Sora 还允许在生成全分辨率的内容之前,以较小的尺寸快速创建内容原型 —— 所有内容都使用相同的模型。

其次是改进帧和内容组成:研究者通过实证发现,使用视频的原始长宽比进行训练可以提升内容组成和帧的质量。(原文的例子我就不贴了,反正就是证明他们的方法好)

亮点二:可以以图像和视频作为提示

这里,报告中列举了通过DALL-E的图像制作动画视频、基于一段视频拓展新视频、SDEdit(根据文本 prompt 编辑视频的方法,能够在零样本条件下改变输入视频的风格和环境)、连接视频、生成图像(单帧视频)。

亮点三:涌现模拟能力

OpenAI 发现,视频模型在经过大规模训练后,涌现出模拟能力。这些能力使 Sora 能够模拟物理世界中的人、动物和环境的某些方面。这表明,视频模型的持续扩展是开发物理和数字世界模拟器的一条有前景的道路。

Sora表现出的涌现模拟具体能力如下:

(1)三维一致性。Sora 可以生成动态摄像机运动的视频。随着摄像机的移动和旋转,人物和场景元素在三维空间中的移动是一致的。

(2)长序列连贯性和目标持久性。视频生成系统面临的一个重大挑战是在对长视频进行采样时保持时间一致性。OpenAI 发现,虽然 Sora 并不总是能有效地模拟短距离和长距离的依赖关系,但它在很多时候仍然能做到这一点。例如,即使人、动物和物体被遮挡或离开画面,Sora 模型也能保持它们的存在。同样,它还能在单个样本中生成同一角色的多个镜头,并在整个视频中保持其外观。

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

(4)模拟数字世界。Sora 还能模拟视频游戏。Sora 可以通过基本策略同时控制Minecraft中的玩家,同时高保真地呈现世界及其动态。只需在 Sora 的提示字幕中提及 「Minecraft」,就能零样本激发这些功能。

局限性讨论

Sora 目前还存在许多局限性。例如,它不能准确模拟许多基本交互的物理现象,如玻璃碎裂。也并不是总能产生正确的物体状态变化,官方主页列举了该模型的其他常见失效模式,例如长时间样本中出现的不一致性或物体的自发出现等。总结来讲,也就是难以准确模拟复杂场景的物理原理,并且可能无法理解因果关系。

写在最后

关于视频模型的研究总结,之后应该还会继续,2024的开年,很精彩…

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

如若内容造成侵权/违法违规/事实不符,请联系编程老四网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

网络入门基础

本专栏内容为:Linux学习专栏,分为系统和网络两部分。 通过本专栏的深入学习,你可以了解并掌握Linux。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:网络 🚚代码仓库:小小unicorn的代…

智慧安防/视频监控汇聚平台EasyCVR如何通过接口调用获取设备录像回看的流地址?

视频云存储/视频融合/安防监控EasyCVR视频汇聚系统可兼容各品牌的IPC、NVR、移动单兵、智能手持终端、移动执法仪、无人机、布控球等设备的接入,支持的接入协议包括:国标GB28181、RTSP/Onvif、RTMP,以及厂家的私有协议与SDK,如&am…

LeetCode 0106.从中序与后序遍历序列构造二叉树:分治(递归)——五彩斑斓的题解(若不是彩色的可以点击原文链接查看)

【LetMeFly】106.从中序与后序遍历序列构造二叉树:分治(递归)——五彩斑斓的题解(若不是彩色的可以点击原文链接查看) 力扣题目链接:https://leetcode.cn/problems/construct-binary-tree-from-inorder-an…

@RefreshScope和@NacosConfigListener正确的用法大全和不生效原因解析

问题引入 使用过Nacos的同学都知道,当我们修改nacos配置后,应用后端是可以感知到配置信息变化了。比如当我在Nacos配置页面修改日志级别后,再去看应用日志输出,日志立马就改成了最新配置的输出级别。 但是,我们在prope…

C++ Primer 笔记(总结,摘要,概括)——第4章 表达式

目录 4.1 基础 4.1.1 基本概念 4.1.2 优先级与结合律 4.1.3 求值顺序 4.2 算术运算符 4.3 逻辑和关系运算符 4.4 赋值运算符 4.5 递增和递减运算符 4.6 成员访问运算符 4.7 条件运算符 4.8 位运算符 4.9 sizeof运算符 4.10 逗号运算符 4.11 类型转换 4.11.1 算数转换…

Docker再学习 - 实战

我是南城余!阿里云开发者平台专家博士证书获得者! 欢迎关注我的博客!一同成长! 一名从事运维开发的worker,记录分享学习。 专注于AI,运维开发,windows Linux 系统领域的分享! 知…

机器视觉在OCR字符检测的应用

在产品质量 检测过程中,对于字符、条码等标识信息的识别、读取、检测是非常重要的一部分,比如在食品饮料包装检测中,生产日期 、保质期 、生产批号 、条码等字符信息是产品管理和追溯必不可缺的,因此利用机器视觉技术进行OCR字符采…

flink类加载器原理与隔离(flink jar包冲突)

flink类加载器原理与隔离 Java 类加载器解决类冲突基本思想什么是 Classpath?Jar 包中的类什么时候被加载?哪些行为会触发类的加载?什么是双亲委派机制?如何打破双亲委派机制? Flink 类加载隔离的方案Flink是如何避免类泄露的?Flink 卸载用户代码中动态加载的类Flink 卸载…

Mysql第二关之存储引擎

简介 所有关于Mysql数据库优化的介绍仿佛都有存储引擎的身影。本文介绍Mysql常用的有MyISAM存储引擎和Innodb存储引擎,还有常见的索引。 Mysql有两种常见的存储引擎,MyISAM和Innodb,它们各有优劣,经过多次优化和迭代,…

【华为 OD 机考 C 卷 D卷】11月份华为od机试 C 卷 D卷 已来 ,如何刷题?

提示 2023年11月份,华为官方已经将 华为OD机考:OD统一考试(A卷 / B卷)切换到 OD统一考试(C卷)和 OD统一考试(D卷) 。 目前在考C卷,经过两个月的收集整理,C…

YOLOv7(目标检测)入门教程详解---检测,推理,训练

目录 一.前言 二.yolov7源码下载 三.detect(检测) 四.Train(训练) 数据准备: labellmg: 配置训练的相关文件 配置数据集文件 正式训练: 推理: 推理效果: 五.总结 一.前言 …

【python】爬取百度热搜排行榜Top50+可视化【附源码】【送数据分析书籍】

英杰社区https://bbs.csdn.net/topics/617804998 一、导入必要的模块: 这篇博客将介绍如何使用Python编写一个爬虫程序,从斗鱼直播网站上获取图片信息并保存到本地。我们将使用requests模块发送HTTP请求和接收响应,以及os模块处理文件和目录操…

如何将OpenAI Sora生成的普通AI视频转化为Vision Pro的空间视频,沉浸式体验

【基于AI的Vision Pro空间视频】工作流:这个工作流程用于将2D视频转换为适用于 Vision Pro的Spatial视频: 1、使用Deep3D将2D视频转换为3D SBS: 使用Deep3D工具将2D视频转换为3D SBS格式: 转换例子:Prediction– lucataco/deep3d – Replicatehttps://replicate.com/…

Shiro-11-web 介绍

配置 将Shiro集成到任何web应用程序的最简单方法是在web.xml中配置一个Servlet ContextListener和过滤器,该Servlet了解如何读取Shiro的INI配置。 INI配置格式本身的大部分是在配置页面的INI部分中定义的,但是我们将在这里介绍一些额外的特定于web的部…

js设计模式:建造者模式

作用: 将众多功能独立封装,然后用一个大类将其全部收纳,形成一个完整的功能 这个是很常见的设计模式 示例: function render(h){}function h(){}function $mount(dom){console.log(dom,绑定的根节点)console.log(this,this是vue实例)}function use(plugin){}function $attr(…

编程笔记 Golang基础 007 第一个程序:hello world 使用Goland

编程笔记 Golang基础 007 第一个程序:hello world 使用Goland 步骤1:启动GoLand并创建新项目步骤2:创建主包和主函数步骤3:运行程序小结 开始在Goland环境中编程go语言代码啦。 步骤1:启动GoLand并创建新项目 打开GoL…

相机图像质量研究(32)常见问题总结:图像处理对成像的影响--振铃效应

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结:光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结:光学结构对成…

vue3-组合式 API

什么是组合式 API? 组合式 API (Composition API) 是一系列 API 的集合,使我们可以使用函数而不是声明选项的方式书写 Vue 组件。它是一个概括性的术语,涵盖了以下方面的 API: 响应式 API:例如 ref() 和 reactive()&a…

Aster实现一台电脑当两台使——副屏搭配键鼠

前言:笔者每年回家,都面临着想要和小伙伴一起玩游戏,但小伙伴没有电脑/只有低配电脑的问题。与此同时,笔者自身的电脑是高配置的电脑,因此笔者想到,能否在自己的电脑上运行游戏,在小伙伴的电脑上…

用HTML5 Canvas创造视觉盛宴——动态彩色线条效果

目录 一、程序代码 二、代码原理 三、运行效果 一、程序代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!-- 声明文档类型为XHTML 1.0 Transitional -…
推荐文章