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

相关文章

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删

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

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

Linux之计划任务和调度命令at/cron详解

《Linux之计划任务和调度命令at/cron详解》:本文主要介绍Linux之计划任务和调度命令at/cron的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux计划任务和调度命令at/cron一、计划任务二、命令{at}介绍三、命令语法及功能 :at

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J

Redis实现延迟任务的三种方法详解

《Redis实现延迟任务的三种方法详解》延迟任务(DelayedTask)是指在未来的某个时间点,执行相应的任务,本文为大家整理了三种常见的实现方法,感兴趣的小伙伴可以参考一下... 目录1.前言2.Redis如何实现延迟任务3.代码实现3.1. 过期键通知事件实现3.2. 使用ZSet实现延迟任务3.3

基于Python和MoviePy实现照片管理和视频合成工具

《基于Python和MoviePy实现照片管理和视频合成工具》在这篇博客中,我们将详细剖析一个基于Python的图形界面应用程序,该程序使用wxPython构建用户界面,并结合MoviePy、Pill... 目录引言项目概述代码结构分析1. 导入和依赖2. 主类:PhotoManager初始化方法:__in

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Linux中的计划任务(crontab)使用方式

《Linux中的计划任务(crontab)使用方式》:本文主要介绍Linux中的计划任务(crontab)使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、前言1、linux的起源与发展2、什么是计划任务(crontab)二、crontab基础1、cro

将Mybatis升级为Mybatis-Plus的详细过程

《将Mybatis升级为Mybatis-Plus的详细过程》本文详细介绍了在若依管理系统(v3.8.8)中将MyBatis升级为MyBatis-Plus的过程,旨在提升开发效率,通过本文,开发者可实现... 目录说明流程增加依赖修改配置文件注释掉MyBATisConfig里面的Bean代码生成使用IDEA生

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

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