请人做网站卖东西好吗/广告图片

请人做网站卖东西好吗,广告图片,国内重大新闻事件2021年10月,小程序开发公司制作AIGC系列博文: 【AIGC系列】1:自编码器(AutoEncoder, AE) 【AIGC系列】2:DALLE 2模型介绍(内含扩散模型介绍) 【AIGC系列】3:Stable Diffusion模型原理介绍 【AIGC系列】4&#xff1…

AIGC系列博文:
【AIGC系列】1:自编码器(AutoEncoder, AE)
【AIGC系列】2:DALL·E 2模型介绍(内含扩散模型介绍)
【AIGC系列】3:Stable Diffusion模型原理介绍
【AIGC系列】4:Stable Diffusion应用实践和代码分析
【AIGC系列】5:视频生成模型数据处理和预训练流程介绍(Sora、MovieGen、HunyuanVideo)

目录

  • 1 Sora介绍
    • 1.1 前言
    • 1.2 Feature
    • 1.3 Benchmarks
  • 2 Movie Gen
    • 2.1 预训练数据
      • 2.1.1 视觉过滤(Visual filtering)
      • 2.1.2 运动过滤
      • 2.1.3 内容过滤
      • 2.1.4 字幕生成
      • 2.1.5 多阶段数据整理
      • 2.1.6 分桶处理可变时长和尺寸
    • 2.2 预训练
    • 2.3 Finetuning
  • 3 HunyuanVideo
    • 3.1 Data Filtering
    • 3.2 Data Annotation

1 Sora介绍

1.1 前言

OpenAI做Sora的目的:

  1. 视觉有吸引力,OpenAI喜欢做这种带有创造力的生产力工具;
  2. 他们希望这个世界不仅仅只有文本,更应该像人一样,用更多的感官去感知这个世界,这样才能改变我们最终跟电脑或AI机器人交互的方式;
  3. 视频生成是通向AGI道路一个非常关键的部分。

1.2 Feature

  1. Remix:video editing,支持一些替换、移除或者想象出来的一些元素等操作。

  2. Recut:重新生成、重新剪辑,把选取想要的内容部分,删除不想要的部分,根据已有的好的部分,再去往前或者往后做扩展。

  3. Story board:给定一个视频的timeline,细化到每一帧去剪辑和生成新的视频。

  4. Loop:把一个视频的头和尾稍微剪辑一下,再把它拼起来变成一个无限循环的新视频。

  5. Blend:把两个视频合并成同一个视频,例如物体的合并或者style的合并。

  6. Style presets:先定义一个style,把你的视频都变成这个style。

1.3 Benchmarks

我们来看一下谷歌的Veo2 发布的视频生成模型之间的PK,如下图所示,x轴是不同的视频生成模型,包括Meta的 Movie Gen、快手的可灵、Minimax和Sora Turbo,y轴是用户整体的喜好度。

粉红色是指用户喜欢其他家生成的视频,不喜欢Veo 2;绿色是指用户非常喜欢Veo 2,但不喜欢其他家的生成结果;白色是平局。

benchmarks

整体上,快手的可灵效果还不错,仅次于谷歌的Veo 2,而Sora是最差的,起了个大早,赶了个晚集。

Sora没有发表论文,所以没法精度。

2 Movie Gen

Meta在2024年10月份的时候发表了Movie Gen论文,内容非常详实,总共有96页,效果也不错。

论文:MovieGen: ACastofMediaFoundationModels

Movie Gen是一系列基础模型,能够生成高质量、1080p高清视频,支持不同的宽高比和同步音频。此外,论文还展示了其他能力,例如基于精确指令的视频编辑以及根据用户提供的图像生成个性化视频。模型在多个任务上达到了新的技术水平,包括文本到视频合成、视频个性化、视频编辑、视频到音频生成以及文本到音频生成。Movie Gen最大的视频生成模型是一个拥有300亿参数的Transformer,训练时的最大上下文长度为73,000个视频tokens,这意味着可以以每秒16帧的速度生成长达16秒的视频。

论文在架构、潜在空间、训练目标与方法、数据管理、评估协议、并行化技术和推理优化方面做出了多项技术革新和简化,这些改进使我们能够充分利用扩展预训练数据、模型大小和训练计算的优势来训练大规模媒体生成模型。

2.1 预训练数据

预训练数据集包括O(100)M个视频-文本对和O(1)B个图像-文本对,遵循类似(Dai et al., 2023)的图像-文本数据整理策略,并专注于视频数据的整理。

原始数据池由长度为4秒至2分钟的视频组成,涵盖了来自不同领域如人类、自然、动物和物体的概念。数据整理流程最终生成了一个剪辑-提示对的预训练集,每个剪辑长度为4秒至16秒,这样能确保每个视频尽可能都是描述同一个概念(with single-shot camera and non-trivial motion)。

数据整理流程下图所示,它包括三个过滤阶段:1)视觉过滤,2)运动过滤,和3)内容过滤,以及一个字幕生成阶段。过滤后的剪辑被标注有平均包含100词的详细生成字幕。

数据整理流程

2.1.1 视觉过滤(Visual filtering)

应用6个过滤器去除低视觉质量的视频。

  1. 过滤掉分辨率小于720px的视频

  2. 数据集中60%的视频为横屏视频,40%为竖屏视频

  3. 删去文字特别多的视频

  4. 从长视频中抽取出单场景的4-16s的片段

  5. 保证视频美学品质

  6. 保证视频没有边框

2.1.2 运动过滤

自动过滤掉低运动的视频。

首先,我们使用内部静态视频检测模型移除没有运动的视频。接着,基于VMAF运动分数和运动向量(FFmpeg开发者),识别出具有“合理”运动的视频。此外,使用了PySceneDetect库中的Shot Boundary Detection移除频繁抖动的摄像机运动视频。最后,移除了带有特殊运动效果的视频,例如幻灯片视频。

2.1.3 内容过滤

删除重复的视频片段、对不同类型的数据进行重新采样,保证内容的均匀性。

首先是抽Embedding,因为数据量太大,需要先做一次聚类(clustering),把常见的concept全部抽出来,再根据每个cluster的大小和相似度,把cluster合并起来。最后再从每个cluster中均匀地(平方根倒数)抽取视频数据。

值得注意的是,LLaMa 3里Vision Model的训练数据的准备,也是使用这套流程。

2.1.4 字幕生成

通过使用LLaMa3-Video模型为视频创建准确而详细的文本提示。在底座模型基础之上,微调了该模型的8B和70B变体用于视频字幕任务,并用这些模型为整个训练集的视频添加字幕,最终的训练集包含了70%的8B字幕和30%的70B字幕。用两个模型来做,主要是模型的训练很贵,推理也不便宜,训练集有几个亿的视频的话,用70B的模型也是需要很多卡去跑好几周。另外可能还考虑了多样性,虽然70B模型很好,但是如果全用它来生成的话,会存在bias,换一个模型的话数据的多样性会好一点。

为了实现电影摄像机运动控制,训练了一个摄像机运动分类器,它可以预测16种摄像机运动类别之一,例如缩放、平移等。将高置信度的摄像机运动预测加入到之前生成的文本字幕中,在推理时,这允许用户指定视频生成时的具体摄像机控制。

2.1.5 多阶段数据整理

作者根据逐渐严格的视觉、运动和内容阈值整理出预训练数据的三个子集,以满足不同预训练阶段的需求。

  • 首先,整理了一组最低宽度和高度为720像素的视频用于低分辨率训练。
  • 接着,过滤该集合,提供最低宽度和高度为768像素的视频用于高分辨率训练。
  • 最后,整理了新的视频以扩充我们的高分辨率训练集。

高分辨率集包含80%的横屏视频和20%的竖屏视频,其中至少60%包含人类。在整理过程中,作者建立了一个包含600个人类动作和表情的分类法,并使用该分类法进行了零样本文本到视频检索,以选择包含人类的视频,在内容重新采样期间保留了这些人视频的频率。

经过最终的处理,数据越来越少,最终只保留了少于1%的数据。

剩余数据

2.1.6 分桶处理可变时长和尺寸

为了适应不同的视频长度和宽高比,作者根据宽高比和长度对训练数据进行分桶处理,每个分桶中的视频具有完全相同的latent shape,从而便于训练数据的批量处理。图像和视频数据集都使用了五个宽高比分桶,因此,我们的模型可以生成不同宽高比的图像和视频,例如,横屏为1024×576,竖屏为576×1024。作者定义了五个时长分桶(4秒至16秒),并根据视频长度调整潜在帧的数量,如下表所示。通过向文本字幕添加FPS tokens引入了FPS控制,这样可以以不同的帧率(16至32 FPS)采样视频。

fps

2.2 预训练

这些训练细节都是针对30B模型的。

为了使训练更快更稳定,作者采取了多阶段训练的策略。主要是以下三个步骤,如下表所示:

  1. 首先使用text-to-image的数据对模型进行warm up热身训练,随后使用text-to-image和text-tovideo的数据进行联合训练。

  2. 视频数据分辨率首先由256px提升至768px。

  3. 不断用更好的数据集和优化后的超参数对模型进行训练。

作者保持一个验证集,里面是数据是模型从来没有见过的,可以拿来测试模型的性能,validation loss和人类评估结果是耦合得很好的。

stage

2.3 Finetuning

为了保证生成结果的质量,finetuning的数据集规模可以较小,但是数据质量一定要有保障。因此finetuning的数据均由人为标注,所以这个阶段就是SFT。

高质量的定义:良好的运镜、真实性、美学性、内容丰富、文本描述详细。

为了筛选高质量的数据集,Movie Gen使用连续的四个步骤对数据进行筛选:

  1. 创建一个候选子集,这一步是自动化完成的,作者设置了一个严格的阈值,从美观、运动和场景切换上对每个视频进行严格的限制。此外,使用目标检测模型移除了只有小物体的视频。

  2. 与Content Filtering一样,对第一阶段筛选后的视频进行重新采样,保证各个类别的视频均匀分布。具体做法是,沿用分词表(human verbs and expressions),再做一次视频检索,从而把相关概念的视频抽出来。作者既做了文本k-NN,也做了视频k-NN。对于视频k-NN,做法是每个概念里人工选了几个非常好的视频作为种子视频,再去做视频k-NN,从而拿到concept-balanced的子集。这一步也是自动化完成。

  3. 这一步是人工做的,人为找出具有电影质感的、适合做视频生成训练样本的视频。此外,标注人员还需要把视频中最好看的那一个片段挑出来。

  4. 人为对模型生成的提示词进行润色修改,同时加入详细的原数据:运镜、人物表情、物体和背景信息、具体的运动描述和光线信息。

SFT数据集长度都在10.6s到16s之间,其中50%是16s,剩下50%是10.6s到16s之间。

最后,再做一个Model Averaging操作:不同数据子集、不同超参数训练出来的模型各有所长,为了利用不同checkpoint模型的优势、提升模型泛化性Movie Gen对SFT阶段不同的模型参数进行了平均操作,类似于Llama 3。

3 HunyuanVideo

论文:HunyuanVideo: A Systematic Framework For Large Video Generation Model

GitHub:HunyuanVideo

HuggingFace:HunyuanVideo

与Movie Gen一样,Hunyuan Viedoe使用了图像-视频联合训练的策略,将视频分为五类、图像分为两类,以满足不同训练需求。原始数据涵盖人物、动物、风景等多个领域,筛选时设定了最低时长、画质、构图、色彩等严格标准,优先选用高质量数据,显著提升了模型性能。

3.1 Data Filtering

  1. 使用PySceneDetect把原始视频分割为单镜头拍摄的视频片段。

  2. 使用OpenCV中的拉普拉斯算子找出视频中最“干净”的一帧作为视频开头。

  3. 使用内部的VideoCLIP模型计算每个视频的embeddings,使用embeddings计算余弦距离,删去重复数据。使用K-Means算法对数据进行重新采样以保持各种类型数据的多样性。

  4. 使用Dover模型筛选更为美观的视频片段。单独训练了一个用于筛选清晰度的视频。

  5. 删去了完全禁止和动作幅度较小的视频。(estimated optical flow)

  6. 使用PySceneDetect和Transnet v2获得场景边界信息

  7. 使用OCR模型移除文字过多的视频片段

  8. 使用目标检测模型移除敏感信息

SFT阶段,约有100万条数据,同样采用人为标注的数据进行微调。

数据

3.2 Data Annotation

结构化说明文本:HunYuanVideo使用JSON来对图片信息进行说明。JSON数据包括:Short Description描述场景的主要内容、Dense Description详细、完整的描述、Background描述物体所在的背景、Style描述视频的风格、Shot Type描述视频的具体视角、Lighting描述视频的光线情况、Atmosphere描述视频氛围如Cozy、Tense等。

此外,HunYuanVideo扩展了JSON结构,以包含额外的元数据派生元素,包括源标签、质量标签以及来自图像和视频元信息的其他相关标签。

为了防止过拟合,HunYuanVideo通过精心设计的Dropout及排列和组合策略,根据这些多维度的描述信息来合成长度和模式各异的字幕,旨在提高生成模型的泛化能力。

HunYuanVideo训练了一个运镜分类器来预测14个不同的运镜类型,包括变焦放大、变焦缩小、向上平移、向下平移等。高置信度的分类结果将被添加至数据的JSON说明文本中。

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

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

相关文章

鸿蒙启动页开发

鸿蒙启动页开发 1.1 更改应用名称和图标 1.更改应用图标 找到moudle.json5文件,找到应用启动的EntryAbility下面的icon,将原来的图标改成自己设置的即可 2.更改应用名称 3.效果展示 2.1 广告页面开发 3.1 详细介绍 3.1.1 启动页面 import { PrivacyDialog } fr…

傅里叶分析

傅里叶分析之掐死教程(完整版)更新于2014.06.06 要让读者在不看任何数学公式的情况下理解傅里叶分析。 傅里叶分析不仅仅是一个数学工具,更是一种可以彻底颠覆一个人以前世界观的思维模式。但不幸的是,傅里叶分析的公式看起来太复…

长时间目标跟踪算法(2)-LCT目标跟踪算法

LCT算法的原始论文和源码已开源,原始论文和源码打包下载。 目录 算法简介核心思路与基本原理 2.1 任务分解:平移与尺度估计2.2 时间上下文相关滤波模型2.3 目标外观相关滤波模型2.4 在线随机蕨分类器 实现方案 3.1 关键公式与频域加速3.2 伪代码与流程…

uniapp-原生android插件开发摘要

uni-app在App侧的原生扩展插件,支持使用java、object-c等原生语言编写,从HBuilderX 3.6起,新增支持了使用uts来开发原生插件。 基础项目 UniPlugin-Hello-AS工程请在App离线SDK中查找 基础项目(App离线SDK)已经配置好了自定义插件所需要的…

Idea 中 Project Structure简介

在 IntelliJ IDEA 中,Project Structure(项目结构)对话框是一个非常重要的配置界面,它允许你对项目的各个方面进行详细的设置和管理。下面将详细介绍 Project Structure 中各个主要部分的功能和用途。 1. Project(项…

Linux:进程概念

目录 1 冯诺依曼体系 2 操作系统(Operator System) 3 如何理解管理 3.1计算机管理硬件 3.2 管理逻辑图 3.3 怎样管理 4 什么是进程? 5 查看进程 5.1 ps ajx显示所有进程信息 5.2 /proc(内存文件系统) 5.2.1 ls /proc/PID 5.2.2 ls /proc/PID -al ​ 5…

Conda 全面使用指南:从基础操作到高级优化

一、Conda 简介 Conda 是一个开源的包、依赖项和环境管理系统,可在 Windows、macOS 和 Linux 上运行。它最初是为 Python 程序创建的,但可以打包和分发任何语言的软件。Conda 有 Anaconda 和 Miniconda 两种发行版,Anaconda 包含大量常用的数…

计算机毕设JAVA——某高校宿舍管理系统(基于SpringBoot+Vue前后端分离的项目)

文章目录 概要项目演示图片系统架构技术运行环境系统功能简介 概要 网络上许多计算机毕设项目开发前端界面设计复杂、不美观,而且功能结构十分单一,存在很多雷同的项目:不同的项目基本上就是套用固定模板,换个颜色、改个文字&…

【Redis】在Java中以及Spring环境下操作Redis

Java环境下&#xff1a; 1.创建maven 项目 2.导入依赖 <!-- redis --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>4.3.2</version></dependency> 此处使用的是Jedis&…

橙心同步助手更新,,支持博客园、头条和语雀

文章同步助手v1.5版本开发完成了&#xff0c;新增了博客园、头条和语雀同步支持。 使用方式和前几个版本一致&#xff0c;都需要先登录上对应平台的账号&#xff0c;再进行同步。 语雀因为可以有不同的知识库&#xff0c;所以同步的时候需要指定对应的知识库&#xff0c;才能…

如何把网络ip改为动态:全面指南

在数字化时代&#xff0c;网络IP地址作为设备在网络中的唯一标识&#xff0c;扮演着至关重要的角色。随着网络环境的不断变化&#xff0c;静态IP地址的局限性逐渐显现&#xff0c;而动态IP地址则因其灵活性和安全性受到越来越多用户的青睐。那么&#xff0c;如何把网络IP改为动…

IDEA集成DeepSeek,通过离线安装解决无法安装Proxy AI插件问题

文章目录 引言一、安装Proxy AI1.1 在线安装Proxy AI1.2 离线安装Proxy AI 二、Proxy AI中配置DeepSeek2.1 配置本地部署的DeepSeek&#xff08;Ollama方式&#xff09;2.2 通过第三方服务商提供的API进行配置 三、效果测试 引言 许多开发者尝试通过安装Proxy AI等插件将AI能力…

八. Spring Boot2 整合连接 Redis(超详细剖析)

八. Spring Boot2 整合连接 Redis(超详细剖析) 文章目录 八. Spring Boot2 整合连接 Redis(超详细剖析)2. 注意事项和细节3. 最后&#xff1a; 在 springboot 中 , 整合 redis 可以通过 RedisTemplate 完成对 redis 的操作, 包括设置数据/获取数据 比如添加和读取数据 具体…

easyExcel使用案例有代码

easyExcel 入门,完成web的excel文件创建和导出 easyExcel官网 EasyExcel 的主要特点如下&#xff1a; 1、高性能&#xff1a;EasyExcel 采用了异步导入导出的方式&#xff0c;并且底层使用 NIO 技术实现&#xff0c;使得其在导入导出大数据量时的性能非常高效。 2、易于使…

【网络安全 | 渗透测试】GraphQL精讲二:发现API漏洞

未经许可,不得转载。 推荐阅读:【网络安全 | 渗透测试】GraphQL精讲一:基础知识 文章目录 GraphQL API 漏洞寻找 GraphQL 端点通用查询常见的端点名称请求方法初步测试利用未清理的参数发现模式信息使用 introspection探测 introspection运行完整的 introspection 查询可视化…

新建菜单项的创建之CmpGetValueListFromCache函数分析

第一部分&#xff1a; PCELL_DATA CmpGetValueListFromCache( IN PHHIVE Hive, IN PCACHED_CHILD_LIST ChildList, OUT BOOLEAN *IndexCached, OUT PHCELL_INDEX ValueListToRelease ) 0: kd> dv KeyControlBlock 0xe1…

神经网络 - 激活函数(ReLU 函数)

一、ReLU函数&#xff1a; ReLU(Rectified Linear Unit&#xff0c;修正线性单元)&#xff0c;也叫 Rectifier 函数 &#xff0c;是目前深度神经网络中经常使用的激活函数&#xff0c;ReLU 实际上是一个斜坡(ramp)函数&#xff0c;其定义为&#xff1a; 也即&#xff1a; Re…

Spring Boot环境配置

一、Java开发环境 确保你的计算机已经安装了Java Development Kit&#xff08;JDK&#xff09;。建议使用JDK 17&#xff0c;可以从Oracle官方网站上下载并安装。 1.下载及配置环境变量 &#xff08;1&#xff09;下载JDK&#xff1a;官网下载 &#xff08;2&#xff09;运…

conda env remove与conda remove

在 Conda 中&#xff0c;删除环境的两种常用命令是 conda env remove --name ryu 和 conda remove -n ryu --all。它们的核心功能相同&#xff08;删除指定名称的 Conda 环境&#xff09;&#xff0c;但存在细微差异。以下是详细解释&#xff1a; 1. 命令对比 命令说明conda e…

6.6.5 SQL访问控制

文章目录 GRANT授予权限REVOKE回收权限 GRANT授予权限 GRANT语句可以给用户授予权限&#xff0c;基本格式是GRANT 权限 TO 用户。在授权时&#xff0c;WITH GRANT OPTION是可选项&#xff0c;有此句话&#xff0c;被授予权限的用户还能把权限赋给其他用户。 REVOKE回收权限 RE…