阿里巴巴开源可控视频生成框架VideoComposer!(内含体验、推理实践干货)

简介: 8月16日,时间、空间可控的视频生成模型 VideoComposer 在魔搭社区开源。

导读

8月16日,时间、空间可控的视频生成模型 VideoComposer  在魔搭社区开源。

https://live.csdn.net/v/322097


VideoComposer是由阿里巴巴研发的可控视频生成框架,其可以让用户更灵活地使用文本条件、空间条件和时序条件来生成视频,比如使用草图、深度图或运动向量等多个组合条件合成目标视频,极大地提高了视频灵活性和可控性。本项目相比于之前的开源项目主要增加了无水印数据训练,可使得生成的视频没有水印。此外,本项目目前只支持文本+深度图+Style方便体验。image.png

模型介绍

VideoComposer采用组合式生成策略,旨在提升视频生成的可控性,包括两个部分:

组合条件,首先将视频分解成三种重要的要素,即文本条件、空间条件和视频特有时序条件,分表表示视频的概要内容、空间布局和细节以及运动模式,以此重构该视频。在训练过程中,通过按照特定概率随机Mask部分条件,使得VideoComposer具有随机组合任意条件以控制视频生成

时空条件编码器STC-encoder,由空间卷集提取空间特征,时序Transformer对输入条件做时序编码两部分构成,其作为统一接口策略可以编码多个条件以生成更高稳定的视频,并可以更容易地拓展到其他的条件

环境配置与安装

本文在1*A10的环境配置下运行 (显存要求22G)

python>=3.8

实验环境准备

选择ModelScope Notebook免费实例PAI-DSW。选择GPU环境,镜像如下(要选择torch1.11.0的镜像):

image.png

安装最新ModelScope

打开Notebook,在Terminal中运行代码:

pip install "modelscope" --upgrade -f https://pypi.org/project/modelscope/

安装依赖库

pip install motion-vector-extractor>=1.0.6
pip install scikit-video>=1.1.11
pip install pynvml>=11.5.0
pip install numpy==1.24.2
pip install bitsandbytes==0.38.1

模型链接及下载

VideoComposer 模型链接:

https://modelscope.cn/models/damo/VideoComposer/summary

模型weights下载

VideoComposerfrom modelscope.hub.snapshot_download import snapshot_download
model_dir = snapshot_download('damo/VideoComposer', cache_dir='model_weights/', revision='v1.0.4')

模型推理

环境配置完成后,打开Notebook:

import cv2
import sys
from modelscope.msdatasets import MsDataset
from modelscope.pipelines import pipeline
from modelscope.utils.constant import DownloadMode, Tasks
sys.argv = ['run.py']

导入pipeline:

pipe = pipeline(
    task=Tasks.text_to_video_synthesis,
    model='damo/VideoComposer',
    model_revision='v1.0.4',
    download_mode=DownloadMode.FORCE_REDOWNLOAD)

载入测试样例,输入由三个部分组成:

  • 视频,待编辑视频,建议主体目标显著,居中;
  • 风格图,选一张期望的风格图,风格显著时会,效果会好一些;
  • 文本,描述期望输出的视频对应的文本,VideoComposer可以做一定的目标转换;
ds = MsDataset.load(
    'buptwq/videocomposer-depths-style',
    split='train',
    download_mode=DownloadMode.FORCE_REDOWNLOAD)

推理:

inputs = next(iter(ds))
inputs.update({
    'text':
    'A glittering and translucent fish swimming in a small glass bowl with multicolored piece of stone, like a glass fish'
})
print('inputs: ', inputs)
output = pipe(inputs)

输出文件保存在outputs/rank.gif。

您也可以通过以下方式测试自己的数据:

image_in = '<image路径>'
video_in = '<video路径>'
text_in = '<文字描述>'
inputs = {'Image:FILE': image_in, 'Video:FILE': video_in, 'text':text_in}
print('inputs: ', inputs)
output = pipe(inputs)

关于模型更多的能力,可以将源码中的‘non_ema_228000.pth’替换成本项目中的‘non_ema_141000_no_watermark.pth’,即可体验无水印的运动迁移、草图生成视频、风格转换等其他多项能力,欢迎开发者的尝试和建议。

创空间体验

VideoComposer Demo创空间链接:

https://modelscope.cn/studios/damo/VideoComposer-Demo/summary

image.png

https://modelscope.cn/studios/damo/VideoComposer-Demo/summary

相关文章
|
编解码 自然语言处理 算法
开源版图生视频I2VGen-XL:单张图片生成高质量视频
VGen是由阿里巴巴通义实验室开发的开源视频生成模型和代码系列,具备非常先进和完善的视频生成系列能力
|
搜索推荐
小模型将成为私有化落地的主流选择
小模型将成为私有化落地的主流选择
653 2
小模型将成为私有化落地的主流选择
|
存储 人工智能 自然语言处理
Scepter Studio-万能图片生成工作台
一句“A cute girl”这样的提示词,到底在Scepter studio上可以生成多少张不同风格的图片?答案是:无限
|
机器学习/深度学习 编解码 人工智能
AI短视频制作一本通:文本生成视频、图片生成视频、视频生成视频
AI短视频制作一本通:文本生成视频、图片生成视频、视频生成视频
2382 0
|
人工智能 安全
Stable Diffusion:网页版 体验 / AI 绘图
Stable Diffusion:网页版 体验 / AI 绘图
2767 0
|
数据库 数据库管理 Python
解释Python中的内存视图(Memory View)。
解释Python中的内存视图(Memory View)。
586 0
|
8月前
|
人工智能 API
阿里巴巴发布开源视频编辑全功能模型Wan2.1-VACE,视频创作迎来"全能选手"!
阿里巴巴发布的开源模型Wan2.1-VACE,作为“万相2.1”系列成员,是业内首个视频生成与编辑统一解决方案。该多合一AI模型支持文本、图像和视频的多模态输入,提供视频生成、局部编辑、画面延展等功能,大幅提升创作效率。借助创新技术如“视频条件单元”和“上下文适配”,Wan2.1-VACE可广泛应用于短视频制作、广告营销等领域。模型已上线Hugging Face等平台,免费下载使用,助力AI普惠。
1398 0
|
12月前
|
机器学习/深度学习 数据采集 编解码
视频生成框架EasyAnimate正式开源!
视频生成框架EasyAnimate正式开源!
459 0
|
11月前
|
存储 人工智能 API
OWL:告别繁琐任务!开源多智能体系统实现自动化协作,效率提升10倍
OWL 是基于 CAMEL-AI 框架开发的多智能体协作系统,通过智能体之间的动态交互实现高效的任务自动化,支持角色分配、任务分解和记忆功能,适用于代码生成、文档撰写、数据分析等多种场景。
2011 13
OWL:告别繁琐任务!开源多智能体系统实现自动化协作,效率提升10倍
|
人工智能 PyTorch 算法框架/工具
StableAnimator:复旦联合微软等机构推出的端到端身份一致性视频扩散框架
StableAnimator是由复旦大学、微软亚洲研究院、虎牙公司和卡内基梅隆大学联合推出的端到端身份一致性视频扩散框架。该框架能够根据一张参考图像和一系列姿态,直接合成高保真度且保持人物身份一致性的视频,无需任何后处理工具。本文详细介绍了StableAnimator的主要功能、技术原理以及如何运行该框架。
577 7
StableAnimator:复旦联合微软等机构推出的端到端身份一致性视频扩散框架