OpenAI视频生成Sora技术简析

基本介绍

Sora是春节期间OpenAI发布的产品,主要是通过文字描述生成视频,通过大规模视频数据训练而成的生成模型,当前还没开放试用。官方发布的技术报告:https://openai.com/research/video-generation-models-as-world-simulators

基本思想

本质上还是一个扩散模型框架,与之前图像生成类似,只是视频相当于图像加了时间序列,增加了一个时间维度。大致可以想象成通过解噪音,生成了很多图,然后在时间维度上叠加,得到生成的视频。但实际情况并不是一张张图生产后再拼凑成视频。

2e43366d7f45f490e64863860e1162e8.png 64833611af810c0a65b3f5866ce7b45a.png

DiT网络

在网络结构方面,相比于传统的扩散模型网络,Sora中了Diffusion Transformers(DiT)网络结构。这个网络其实就是把原来扩散模型中的Unet换成了Transformer结构,当前Transformer大有一统江湖的趋势,啥都换Transformer,这个主要就是因为Transformer有很强的扩展性。

0fa9d3ff8147e740c0ef2a91aef04abd.png

块(patch)转换

将可视数据转成块能够实现统一处理,块是一种高度可扩展且有效的表示方式。其实也是一种数据表示思想,类似于大语言模型的token化。他主要是通过一个编码器来对其进行转换的,原始视频输入到这个网络,得到的输出就是经过压缩后的潜在表示,Sora模型就是在这个潜在空间中进行训练。

0e9e6fd3a7fd72bc4943c091839b2081.png 0356c0824ea31e6786ffe8ece9b92fdb.png

从更高层面上看,实际上视频就被压缩到了一个指定的低纬度的潜在空间。潜在空间的块组合包含了视频的时间和空间信息,原始视频转换成了块组合。通过这种处理能够统一能够很好解决分辨率、持续时间、纵横比等不同的视频问题。最终再将这些块以序列的结果拼接起来,最终输入到编码器中,这是为了满足transformer网络结构输入的要求。

关于潜在空间

就是图片生成中使用的方法推广到视频,以前的稳定扩散模型中就是把图片经过编码器压缩到潜在空间,然后潜在空间再通过解码器来生成图片。像素级的生成方式所需要的显存和计算都很大,成本很高。潜在空间主要解决的问题就是维度灾难,降维后能减轻运算量,实际上就是一种压缩方式。

a2791cad3667cca6077c10e84a5a644d.png

文本条件化扩散模型

所谓的条件化实际上就是将文本也向量化后作为输入的一部分进入到网络,这样就能够控制视频的生成。下图展示的是文本条件化的扩散模型,这里只画了图像的示意图,其实都差不多。整个过程应该也是经过几百上千次的去噪音操作,最终得到潜在空间表示后经过解码器生成最终的视频。

36a4b05651692dd9e4894bb070bfb826.png 4d1f08b60413fcb35b8432469943732a.png

关于数据样本

收集了大量带有相应文本字幕的视频,相当于有了视频的文字描述。但是这个描述还不够,因为人类对视频中的字幕添加时主要是关注主题对象,并没有对背景细节及图像颜色之类的进行描述,所以Sora还用了一种叫e-captioning的技术,它能丰富对视频的解读并增加细节文字描述,这个也是OpenAI的DALLE3产品提出来的一种技术。

还支持图像和视频提示

Sora还支持给定一张图片或视频,然后接着生成相关视频。这个实际上就是在输入时增加了图像和视频作为条件,也就是前面说的除了文本条件外,还有图像条件和视频条件。

b1f78699cc3e057daef44164e5de5ae0.png

完整技术框架

完整的技术框架大致如下,视频经过压缩网络处理后成为块,然后进行扩散处理,这个过程其实主要就是训练一个噪音预测器。然后在生成的阶段会把潜在空间随机噪音、文本、视频、图片等多模态提示作为条件一起进行解噪音操作,最终得到潜在空间表示,将其经过解码器网络得到生成的视频。

15e7c442df592f9648c7f93b19c65b4b.png

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Simulink系列】——动态系统仿真 之 混合系统

声明:本系列博客参考有关专业书籍,截图均为自己实操,仅供交流学习! 一、混合系统概述 由不同类型系统共同构成的系统称为混合系统!仿真时必须考虑连续信号和离散信号的采样匹配问题,一般使用变步长连续求…

Sora 提示词每日分享 | 中英文对照

每日分享一个 sora 创意视频提示词之《冲浪者在历史大厅的巨浪中展现技艺》 sora提示词视频 prompt: In an ornate, historical hall, a massive tidal wave peaks and begins to crash. Two surfers, seizing the moment, skillfully navigate the face of the wave. 提示词…

成都直播产业园进行时!发挥直播电商优势 赋能优势产业发展

在当今数字化的时代,直播电商已经成为一种新型的商业模式,为优势产业的发展带来了巨大的机遇。通过直播电商,优势产业能够更好地展示自身特色和优势,扩大渠道,提升品牌影响力,从而实现产业的升级和转型。天…

JAVA工程师面试专题-《Redis》篇

目录 一、基础 1、Redis 是什么 2、说一下你对redis的理解 3、Redis 为什么这么快? 4、项目中如何使用缓存? 5、为什么使用缓存? 6、Redis key 和value 可以存储最大值分别多是多少? 7、Redis和memcache有什么区别&#xf…

数字电路设计得力助手——《Design Compiler User Guide》

在当今数字化时代,电子设备和芯片的需求日益增长,这使得数字电路设计变得愈发重要。在数字电路设计过程中,使用先进的工具和技术是至关重要的。Synopsys公司的Design Compiler就是这样一款备受推崇的设计编译器软件,而其详尽的用户…

python(ch2)

可变长编码和不可变长编码 可变长编码是指不同字符使用不同数量的字节进行编码。例如,UTF-8 编码中,ASCII 字符使用 1 个字节编码,而其他语言的字符使用 2 个或更多字节编码。 不可变长编码是指所有字符都使用相同数量的字节进行编码。例如…

代码随想录01 移除元素

移除元素 1.暴力解法2.双指针法 1.暴力解法 暴力解法就是嵌套两次for循环,第一层for循环来寻找数组中的值等于val的, 第二层for循环是往前覆盖,将值等于val的删除. 2.双指针法 双指针法,分为快指针和慢指针 快指针的意义是新的数组中含有的值 慢指针的意义是新的数组中值所在的…

SAP MD81创建客户独立需求简介

正常我们用的最多的计划独立需求都是使用的是MD61 ,今天我们说下SAP的另外的一个标准功能客户独立需求MD81。虽然SAP给这个TCODE的描述是客户独立需求,但是实际是没有地方去关联对应的客户信息的。或者可以理解为是一个关联销售订单的一个计划独立需求。 1、MD81在SAP中的路…

Pyglet综合应用|推箱子游戏之关卡图片载入内存

目录 读取图片 分割图片 综合应用 本篇为之前写的博客《怎样使用Pyglet库给推箱子游戏画关卡地图》的续篇,内容上有相关性,需要阅读的请见链接: https://hannyang.blog.csdn.net/article/details/136209138 「推箱子」是一款风靡全球的益…

Python及Pydev调试程序传递参数方法的实践

在Python中,可以使用sys.argv来获取命令行参数。下面是一个示例的Python脚本,展示了如何通过命令行传递参数并打印输出: import sys# 判断是否有传入参数 if len(sys.argv) > 1:# 获取第二个参数(索引为1)param s…

spring面试题

文章目录 前言一、面试题1、springIOC是什么?2、springIOC产生的原因:背景3、spring 中Bean的生命周期:4、springAOP:5、Spring框架中的设计模式-太多了1、单例模式(Singleton Pattern):2、工厂…

如何在三维地球上快速拉白模以辅助建筑规划设计?

通过以下方法可以在三维地球上快速拉白模以辅助建筑规划设计。 方法/步骤 下载三维地图浏览器 http://www.geosaas.com/download/map3dbrowser.exe,安装完成后桌面上出现”三维地图浏览器“图标。 2、双击桌面图标打开”三维地图浏览器“ 3、点击“要素标绘”菜…

算法打卡day3|链表篇|Leetcode 203.移除链表元素、 707.设计链表 、 206.反转链表

链表基本概念 定义 链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)。其…

聚水潭和金蝶云星空接口打通对接实战

聚水潭和金蝶云星空接口打通对接实战 对接系统聚水潭 聚水潭成立于2014年,创始人兼CEO骆海东拥有近三十年传统及电商ERP的研发和实施部署经验。聚水潭创建之初,以电商SaaSERP切入市场,凭借出色的产品和服务,快速获得市场的肯定。随…

谷歌竞价:8个提升谷歌竞价排名营销推广展示方式

伴随着网络广告的高速发展,谷歌竞价排名变成企业品牌推广产品与服务的有效工具。怎样提高谷歌竞价排名推广展示率却是一个值得探究讨论的话题。下面我们就详细介绍8个方式来帮助你提高谷歌竞价排名推广展示率。 方法一:关键字科学研究和选择关键字在谷歌…

扩展坞的新视角与LDR6023AQ的技术革新

一、扩展坞的演变与重要性 扩展坞,这一设备在现代科技中扮演着日益重要的角色。作为连接手机、电脑和其他设备的桥梁,它不仅延伸了设备的功能边界,还为用户提供了更为便捷和高效的操作体验。随着技术的不断进步,扩展坞的种类和功…

PHP开发人员必备工具:提升效率,加速开发!

PHP开发人员必备工具:提升效率,加速开发! PHP是一种广泛应用于Web开发的脚本语言,许多开发人员都在使用PHP构建各种类型的应用程序。为了提高开发效率和质量,有许多工具可以帮助PHP开发人员简化工作流程、调试代码、进…

2024.2.27 模拟实现 RabbitMQ —— 网络通信设计(客户端)

目录 需求分析 RabbitMQ 客户端设定 ConnectionFactory(连接工厂) Connection(连接) Channel(通道) 针对 客户端 和 服务器 单元测试 需求分析 RabbitMQ 客户端设定 一个客户端可以有多个模块每个模块…

HuggingFists系统功能介绍(5)--环境资源

模型库 模型库用于管理由HuggingFists系统自己生成的或者外部导入的各种模型。如:HuggingFace网站提供的各类模型可导入该模块进行统一管理及部署。该功能目前在HuggingFists的社区版中并未提供。 环境管理 环境管理-工作节点 环境管理-服务配置 环境管理主要用于与…

KubeSphere 镜像构建器(S2I)服务证书过期解决方案

目前 KubeSphere 所有 3.x.x 版本,如果开启了 DevOps 模块并使用了镜像构建器功能(S2I)都会遇到证书过期问题。 解决方法 已开启 DevOps 模块 下载这个更新 S2I 服务证书压缩包,上传到任一可以访问 K8s 集群的节点; …
最新文章