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

文生视频基础1:sora技术报告学习

sora技术报告学习

  • 背景
  • 学后理解
    • 训练流程
    • 技术拆解
      • 编码解码
      • 扩散模型
      • 训练用数据
    • 28号直播交流会后的一些想法
      • 自身的一点点想法
  • 参考

原文地址:Video generation models as world simulators

背景

此项目的背景是基于Datawhale的关于sora技术文档的拆解和相关技术讲解课程。重点在于对于文生视频的技术框架讲解,和项目的实践来帮助理解sora及sora诞生的原因。

学后理解

训练流程

参考图片
自身对于该流程的理解是:

  • 视频是很多帧的具备时间次序的图片组成, 数据来源是不同的,有多种规格,为了数据的统一,在前将原视频数据切分为Patches(一个一个规格相同的视频块),后利用编码器压缩成低维空间表示(降低计算消耗)。
  • 中间部分常用DIT完成文本语义和图像语义的映射
  • 最后通过解码器恢复成各种规格的视频数据

技术拆解

编码解码

patches操作

  • 什么是pathces操作
    patches 操作是将图像分割成一系列重叠或非重叠的固定大小的子图像块,这些子图像块通常被用作局部特征的表示。
  • einops库
    eniops是一个用于操作张量的库,它支持numpy、pytoch、tensorflow等
import einops
import matplotlib.pyplot as plt
from einops import rearrange
import numpy as np
import pandas as pd
import os
from torchvision import transforms
from PIL import Image
import torchimage_path = r".\9.png"
preprocess = transforms.Compose([transforms.Resize((224,224)),transforms.ToTensor()])image = Image.open(image_path).convert("RGB")
tensor_image = preprocess(image)display(tensor_image)patches = rearrange(tensor_image,'c (h p1) (w p2) -> (h w) c p1 p2',p1=16,p2=16)
patches.shapefigure = plt.figure(figsize=(5,5))
for i in range(patches.size(0)):img = patches[i].permute(1,2,0)figure.add_subplot(14,14,i+1)plt.axis('off')plt.imshow(img)
plt.show

理解时空编码(spacetime latent patches)

  • 摊大饼法:
    在这里插入图片描述
    从输入视频剪辑中均匀采样n_t个帧,使用与ViT相同的方法独立地嵌入每个2D帧 并将这些token连接在一起
  • 立体切割:
    在这里插入图片描述
    将输入的视频划分为若干tuplet,每个tuplet会变成一个token
    通过spatial temperal attention进行空间/时间建模获得有效的视频表征token,即上图灰色block。

扩散模型

训练用数据

待补充

28号直播交流会后的一些想法

听了三位大佬的一些关于sora的讨论,认为主要可以归纳为以下几点

  • 三位大佬的一个共同点都是对sora使用的训练模型其实并不怎么关注,侧面也说明其实对于数据科学来说,不管是做大模型也好,还是做一些CV、NLP的小项目也好,最关键的,或者说要实现落地,首要考虑的往往不是模型,而是输入
    • 数据的来源,训练数据质量的高低怎么保证
    • 怎么保证对原数据进行压缩、编码后,其中需求的信息没有、或者较少的丢失
  • sora的出现会对现在的一些现有行业造成冲击(如动画、自媒体等),但也谈不上能够摧毁一些行业,大可不必担心工作会丢,它并不算是一个能够取代人类的智能体,只是一个工具,工具要创造价值需要握在人的手上,所以与其焦虑,不如期待怎么使用它来和自己的工作结合
  • sora为啥使用DIT 而不是UNET,大佬的意见是结合自己的实际经验来看,transformer比较适合极大的数据集,而基于CNN的模型在小数量集上的表现反而会更好。
  • 就基于sora的诞生,对于自己的工作的启发:
    • 赵老师认为其实中国对于数据的基础建设这一块当前是欠缺的,不能说能够像水、电这些当做一种资源去利用(感觉蛮有道理,当前中国是有一些专门做数据标注的公司,但并没有体系化,只是从其它公司接外包,然后招一群人做兼职。现在越来越多的AI产品落地,国内对高质量数据集的需求肯定会越来越大的)
    • 沈老师认为,当前实现是不要浮躁,其次是现在其实相对于学术成就,会更加认可你自己实现过的项目,我们想要人生过的好,想要选择好方向(不要选择一些明知道以后可能被取代的方向),然后坚持

自身的一点点想法

  • 个人比较认同沈老师的观点,当前的这些AI产品,远算不上真正的通用智能体,这些AI工具的最大意义是使一些原本工作量巨大,繁杂的工作变得效率更高,没法想人一样去思考,也没有人的想象力。
  • 同时感觉赵老师说的结合自身体会,感觉好像是个可以试试的创业赛道,不过还是得谨慎思考才行。

参考

  • Datawhale 202402学习

相关文章:

文生视频基础1:sora技术报告学习

sora技术报告学习 背景学后理解训练流程技术拆解编码解码扩散模型训练用数据 28号直播交流会后的一些想法自身的一点点想法 参考 原文地址:Video generation models as world simulators 背景 此项目的背景是基于Datawhale的关于sora技术文档的拆解和相关技术讲解…...

Linux第68步_旧字符设备驱动的一般模板

file_operations结构体中的函数就是我们要实现的具体操作函数。 注意: register_chrdev()和 unregister_chrdev()这两个函数是老版本驱动使用的。现在新字符设备驱动已经不再使用这两个函数,而是使用Linux内核推荐的新字符设备驱动API函数。 1、创建C…...

23种设计模式——工厂方法模式

定义: 一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其他子类。 工厂方法通用类图: 这个图更好理解 在工厂方法模式中,抽象产品类Product负责定义产品的共性,实现对事物最抽象的…...

水豚鼠标助手 强大的鼠标美化工具

水豚鼠标助手 水豚鼠标助手是一款 鼠标换肤、屏幕画笔、放大镜、聚光灯、屏幕放大、倒计时功能的强大屏幕演示工具。 软件助手获取 水豚鼠标助手1.0.0 安装教程 第一步:下载后,双击软件安装包 第二步:Windows可能会出现提示弹窗&#xff…...

ArrayList集合源码分析

ArrayList集合源码分析 文章目录 ArrayList集合源码分析一、字段分析二、构造方法分析三、方法分析四、总结 内容如有错误或者其他需要注意的知识点,欢迎指正或者探讨补充,共同进步。 一、字段分析 //默认初始化容量。这里和Vector一样,只是…...

循环队列与循环双端队列

文章目录 前言循环队列循环双端队列 前言 1、学习循环队列和循环双端队列能加深我们对队列的理解,提高我们的编程能力。 2、本文循环队列使用的是数组,循环双端队列用的是双向链表 3、题目连接:设计循环队列 ,设计循环双端队列。 …...

https【详解】与http的区别,对称加密,非对称加密,证书,解析流程图

http 和 https 的区别 http 是明文传输,敏感信息容易在传输过程中被劫持https http加密,劫持了也无法解密 https 用到的加密方式 https 同时使用了对称加密和非对称加密,之所以没有全部使用非对称加密,是因为非对称加密的运算更加…...

(C语言)qsort函数模拟实现

前言 我们需先了解qsort函数 qsort函数详解:http://t.csdnimg.cn/rTNv9 qsort函数可以排序多种数据类型,很是神奇,这是为什么,我们在里模拟实现这样的功能 目录 1. qsort函数模拟实现 2. 我们使用bubble_sort函数排序整形数…...

WordPress建站入门教程:如何在本地电脑搭建WordPress网站?

前面跟大家分享了『WordPress建站入门教程:如何安装本地WordPress网站运行环境?』,接下来boke112百科就继续跟大家分享本地电脑如何搭建WordPress网站。 小皮面板(phpstudy)的“软件管理 – 网站程序”虽然可以一键部…...

Vue3教程

1.1 配置环境 vue官网: Vue.js - The Progressive JavaScript Framework | Vue.js 终端 Linux和Mac上可以用自带的终端。 Windows上推荐用powershell或者cmd。Git Bash有些指令不兼容。 安装Nodejs 安装地址: Node.js 安装vue/cli 打开Git Bash&#x…...

Linux系统Docker部署RStudio Server

文章目录 前言1. 安装RStudio Server2. 本地访问3. Linux 安装cpolar4. 配置RStudio server公网访问地址5. 公网远程访问RStudio6. 固定RStudio公网地址 前言 RStudio Server 使你能够在 Linux 服务器上运行你所熟悉和喜爱的 RStudio IDE,并通过 Web 浏览器进行访问…...

【C++】每周一题——2024.3.3(手滑再再写一篇)

题目 Cpp 【问题描述】 求N个字符串的最长公共子串&#xff0c;2 < N&#xff1c;&#xff1d;20&#xff0c;字符串长度不超过255。 例如&#xff1a;N&#xff1d;3&#xff0c;由键盘依次输入三个字符串为 What is local bus? Name some local buses. local bus is a h…...

TabLayout与ToolBar、ViewPager的使用

目录 1. 在ToolBar中添加TabLayout 2. 将工具栏设为活动栏 3. 初始化TabLayout 4. TabLayout监听器 可以在ToolBar工具栏中添加TabLayout配合&#xff0c;效果如下图。 1. 在ToolBar中添加TabLayout TabLayout的常用属性有&#xff1a; tabBackground 指定标签的背景 t…...

链表基础知识详解(非常详细简单易懂)

概述&#xff1a; 链表作为 C 语言中一种基础的数据结构&#xff0c;在平时写程序的时候用的并不多&#xff0c;但在操作系统里面使用的非常多。不管是RTOS还是Linux等使用非常广泛&#xff0c;所以必须要搞懂链表&#xff0c;链表分为单向链表和双向链表&#xff0c;单向链表很…...

SAP PP学习笔记05 - BOM配置(Customize)1 - 修正参数

上次学习了BOM相关的内容。 SAP PP学习笔记04 - BOM1 - BOM创建&#xff0c;用途&#xff0c;形式&#xff0c;默认值&#xff0c;群组BOM等_sap销售bom与生产bom-CSDN博客 SAP PP学习笔记04 - BOM2 -通过Serial来做简单的BOM变式配置&#xff0c;副明细&#xff0c;BOM状态&…...

前端从普通登录到单点登录(SSO)

随着前端登录场景的日益复杂化和技术思想的不断演进&#xff0c;前端在登录方面的知识结构变得越来越复杂。对于前端开发者来说&#xff0c;在日常工作中根据不同的登录场景提供合适的解决方案是我们的职责所在&#xff0c;本文将梳理前端登录的演变过程。 1、无状态的HTTP H…...

考研总计划(基础篇)

分为数学&#xff0c;专业课&#xff0c;英语三个部分 数学规划表 高数基础&#xff1a;3月初到4月15号 具体实行计划&#xff1a;分为看课日和写题日 看课日:早上10点到12点半看课&#xff0c;19:30到21:30继续看课。 写题日:早上10点到12点半复习前一天的题目&#xff0…...

力扣周赛387

第一题 代码 package Competition.The387Competitioin;public class Demo1 {public static void main(String[] args) {}public int[] resultArray(int[] nums) {int ans[]new int[nums.length];int arr1[]new int[nums.length];int arr2[]new int[nums.length];if(nums.leng…...

部署PhotoMaker通过堆叠 ID 嵌入自定义逼真的人物照片

PhotoMaker只需要一张人脸照片就可以生成不同风格的人物照片&#xff0c;可以快速出图&#xff0c;无需额外的LoRA培训。 安装环境 python 3.10gitVisual Studio 2022 安装依赖库 git clone https://github.com/bmaltais/PhotoMaker.git cd PhotoMaker python -m venv venv…...

挑战杯 基于深度学习的中文情感分类 - 卷积神经网络 情感分类 情感分析 情感识别 评论情感分类

文章目录 1 前言2 情感文本分类2.1 参考论文2.2 输入层2.3 第一层卷积层&#xff1a;2.4 池化层&#xff1a;2.5 全连接softmax层&#xff1a;2.6 训练方案 3 实现3.1 sentence部分3.2 filters部分3.3 featuremaps部分3.4 1max部分3.5 concat1max部分3.6 关键代码 4 实现效果4.…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义&#xff08;Task Definition&…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

在rocky linux 9.5上在线安装 docker

前面是指南&#xff0c;后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装&#xff1b;只需暴露 19530&#xff08;gRPC&#xff09;与 9091&#xff08;HTTP/WebUI&#xff09;两个端口&#xff0c;即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

华为OD机试-食堂供餐-二分法

import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列&#xff0c;以便知晓哪些列包含有价值的数据&#xff0c;…...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1&#xff1a;修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本&#xff1a;CentOS 7 64位 内核版本&#xff1a;3.10.0 相关命令&#xff1a; uname -rcat /etc/os-rele…...