MLLM(一)| 文/图生视频任务大升级,BigModel 开源了视频模型CogVideoX

2024-09-03 03:12

本文主要是介绍MLLM(一)| 文/图生视频任务大升级,BigModel 开源了视频模型CogVideoX,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

图片

CogVideoX的体验地址:https://bigmodel.cn/console/trialcenter?modelCode=cogvideox

     自2021年起,智谱 AI 技术团队便开始着手布局包括 text-2-img、text-2-video、img-2-text、video-2-text 在内的多模态模型,并陆续研发并开源了CogView、CogVideo、Relay Diffusion、CogVLM、CogVLM-Video等多个先进模型。近期,智谱 AI 正式开源新一代视频大模型——CogVideoX。

一、CogVideoX的核心技术特点如下:

       针对内容连贯性问题,智谱AI自主研发了一套高效的三维变分自编码器结构(3D VAE)。该结构能够将原始视频数据压缩至原始大小的2%,显著降低了视频扩散生成模型的训练成本和难度。结合3D RoPE位置编码模块,该技术有效提升了在时间维度上对帧间关系的捕捉能力,从而建立了视频中的长期依赖关系。

      在可控性方面,智谱AI打造了一款端到端的视频理解模型,该模型能够为大量视频数据生成精确且内容相关的描述。这一创新增强了模型对文本的理解和对指令的遵循能力,确保生成的视频更加符合用户的输入需求,并能够处理超长且复杂的prompt指令。

      模型采纳了一种将文本、时间、空间三维一体融合的transformer架构。该架构摒弃了传统的cross attention模块,创新性地设计了Expert Block以实现文本与视频两种不同模态空间的对齐,并通过Full Attention机制优化模态间的交互效果。

      CogVideoX 模型目前已在bigmodel.cn平台上线了,基于CogVideoX的产品「清影」(Ying)上线PC端,免费体验AI文本生成视频和图像生成视频的服务。

二、下面是使用bigmodel开放平台的体验示例:

2.1、图生视频

1)Prompt:城市中湖边上有一对情侣在缓慢散步

图片如下所示:

图片

生成的视频如下:

请参见:MLLM(一)| 文/图生视频任务大升级,BigModel 开源了视频模型CogVideoX

生成的效果不错,非常高清。

2.2、文生视频

1)Prompt:一位头发苍白的老人(主体)站在海边(环境描述)看日落(动作)

生成的视频如下:

 请参见:MLLM(一)| 文/图生视频任务大升级,BigModel 开源了视频模型CogVideoX

2)Prompt:特写镜头(镜头描述),清晨的微光(光线运用),两只鸳鸯在海面上嬉戏,鸳鸯是彩色羽毛(主体描述),背景国贸大厦(环境描述)。

 请参见:MLLM(一)| 文/图生视频任务大升级,BigModel 开源了视频模型CogVideoX

3)Prompt:小狗在空地上画画

 请参见:MLLM(一)| 文/图生视频任务大升级,BigModel 开源了视频模型CogVideoX

三、使用API生成视频

首先,需要在官网申请API Key,申请地址:https://bigmodel.cn

然后,使用如下脚本生成视频

from zhipuai import ZhipuAI
client = ZhipuAI(api_key="") # 请填写您自己的APIKeyresponse = client.videos.generations(model="cogvideox",prompt="小狗在空地上画画。"
)
print(response)

生成VideoObject对象,其中id为视频唯一识别号。

VideoObject(id='636617217207461558911210927746488763', model='cogvideox', video_result=None, task_status='PROCESSING', request_id='8911210927746488759')

接下来,使用上述生成的视频id抽取视频内容。

from zhipuai import ZhipuAI
client = ZhipuAI(api_key="") # 请填写您自己的APIKeyresponse = client.videos.retrieve_videos_result(id="636617217207461558911210927746488763"
)
print(response)

抽取视频内容后,会生成视频的url和其中一帧图片的url,具体如下所示:

VideoObject(id=None, model='cogvideox', video_result=[VideoResult(url='https://sfile.chatglm.cn/testpath/video/f0048f7d-e6ed-5cf9-810d-38f14631f9de_0.mp4', cover_image_url='https://sfile.chatglm.cn/testpath/video_cover/f0048f7d-e6ed-5cf9-810d-38f14631f9de_cover_0.png')], task_status='SUCCESS', request_id='8911210927746488759')

生成的视频,如下所示:

 请参见:MLLM(一)| 文/图生视频任务大升级,BigModel 开源了视频模型CogVideoX

生成的图片,如下图所示:

图片

总结:

       从图生视频和文生视频的效果来看,主体和主要动作都完美的生成了,而且非常高清。

       使用API调用的最大感受是响应速度非常快,几乎感觉不到延时,给智谱点赞👍。

这篇关于MLLM(一)| 文/图生视频任务大升级,BigModel 开源了视频模型CogVideoX的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1131857

相关文章

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

如何使用Python实现一个简单的window任务管理器

《如何使用Python实现一个简单的window任务管理器》这篇文章主要为大家详细介绍了如何使用Python实现一个简单的window任务管理器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起... 任务管理器效果图完整代码import tkinter as tkfrom tkinter i

Spring Boot 集成 Quartz 使用Cron 表达式实现定时任务

《SpringBoot集成Quartz使用Cron表达式实现定时任务》本文介绍了如何在SpringBoot项目中集成Quartz并使用Cron表达式进行任务调度,通过添加Quartz依赖、创... 目录前言1. 添加 Quartz 依赖2. 创建 Quartz 任务3. 配置 Quartz 任务调度4. 启

Java使用多线程处理未知任务数的方案介绍

《Java使用多线程处理未知任务数的方案介绍》这篇文章主要为大家详细介绍了Java如何使用多线程实现处理未知任务数,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 知道任务个数,你可以定义好线程数规则,生成线程数去跑代码说明:1.虚拟线程池:使用 Executors.newVir

Spring Boot中定时任务Cron表达式的终极指南最佳实践记录

《SpringBoot中定时任务Cron表达式的终极指南最佳实践记录》本文详细介绍了SpringBoot中定时任务的实现方法,特别是Cron表达式的使用技巧和高级用法,从基础语法到复杂场景,从快速启... 目录一、Cron表达式基础1.1 Cron表达式结构1.2 核心语法规则二、Spring Boot中定

无需邀请码!Manus复刻开源版OpenManus下载安装与体验

《无需邀请码!Manus复刻开源版OpenManus下载安装与体验》Manus的完美复刻开源版OpenManus安装与体验,无需邀请码,手把手教你如何在本地安装与配置Manus的开源版OpenManu... Manus是什么?Manus 是 Monica 团队推出的全球首款通用型 AI Agent。Man