欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

图形生成视频的开源版本 I2VGen-XL:从单一图像生成高质量视频

最编程 2024-03-24 16:37:35
...

引言

目前视频生成算法都面临了如下的一些问题:

1、连续性:强调视频在时序上的连续性,运动的准确性。

2、真实性:强调视频质感、低信噪比等,避免‘一眼假’的程度。

3、可控性:视频生成的条件可控性,尤其是运动可控性。

4、高效性:生成视频的复杂度高,耗时较长

5、鲁棒性:提升视频生成的成功率,避免Cherry pick


VGen是由阿里巴巴通义实验室开发的开源视频生成模型和代码系列,具备非常先进和完善的视频生成系列能力,包含了如下内容:

网络异常,图片无法展示
|

  • VideoComposer:具有高度灵活可控性的视频合成
  • I2VGen-XL: 通过视频扩散模型进行高质量图像到视频的生成。
  • HiGen:分层时空解耦技术用于文本生成视频(T2V)
  • TF-T2V:使用无文本视频训练的规模化文本到视频模型的生成方法
  • InstructionVideo:通过人类反馈,优化视频扩散模型
  • DreamVideo:用定制主题和动作可控视频生成模型
  • VideoLCM:基于潜在性一致模型(LCM)优化视频模型生成速度


VGen可以根据输入的文本、图像、指定的运动、指定的主体,甚至人类提供的反馈信号生成高质量的视频。它还提供了各类常用的视频生成模型工具,例如可视化、采样、训练、推理、使用图像和视频的联合训练,加速等各类工具和技术。


本文介绍VGen中的的图生视频算法I2VGen-XL可以精细到什么程度?1280×720 分辨率没有压力,而且生成的动作效果非常连贯。


I2VGen-XL图生视频算法,得益于扩散模型的快速发展,面向视频生成模型难以同时确保语义准确性和视频生成的质量。


级联I2VGen-XL的方法,能够成功的生成具有连贯的空间和运动动力学和连续细节的高清视频。I2VGen-XL首先利用单个静态图像作为主要条件来减少对良好对齐的文本-视频对的依赖。主要由如下两个阶段组成。

网络异常,图片无法展示
|

在基础阶段中,采用两个分层编码器来同时补货输入图像的高级语义和低级细节,从而确保更逼真的动态,同时保留图像的内容和结构。在细化的阶段中,利用单独的扩散模型来增强分辨率,并通过细化细节来显著改善视频的时间连续性。


下面是I2VGen-XL高清图像视频生成的官方示例,我们可以看到在较大的运动幅度上取得了较为真实,连贯,真实的高质量视频:

网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|


同时,和现在评价比较好的视频生成模型和软件做了对比,I2VGen-XL也效果很能打,主要体现在I2VGen—XL的不俗的动作生成能力:

其他的视频生成模型,更多是镜头的平移,物体的动作比较轻微。

网络异常,图片无法展示
|

I2VGen-XL,比较好的展现了鱼游泳的姿态

网络异常,图片无法展示
|

其他的视频生成模型,更多是镜头的平移,看不到瀑布的流动性

网络异常,图片无法展示
|

I2VGen-XL,比较好的展现了瀑布水流的效果。

网络异常,图片无法展示
|

I2VGen-XL现已在魔搭社区开源!


github地址:

https://github.com/ali-vilab/i2vgen-xl


模型weights地址:

https://modelscope.cn/models/damo/i2vgen-xl


创空间体验地址:

https://modelscope.cn/studios/damo/I2VGen-XL


论文地址:

https://arxiv.org/pdf/2311.04145.pdf


项目主页:

https://i2vgen-xl.github.io


环境准备

环境配置与安装

  1. python 3.8及以上版本
  2. pytorch 1.12及以上版本,推荐2.0及以上版本
  3. 建议使用CUDA 11.4及以上

本文主要演示的模型推理代码可在PAI-DSW的配置下运行(显存要求45G)


模型推理

模型推理代码:

# need A100 
from modelscope.pipelines import pipeline
from modelscope import snapshot_download
model_dir = snapshot_download('damo/i2vgen-xl', revision='v1.1.3')
inference = pipeline('image-to-video', model=model_dir)
image = model_dir + '/data/test_images/img_0001.jpg'
output = inference(image, caption="""the puppy is on the surface of the ground, the sunlight softly illuminates the puppy's fur, accentuating its cuteness. The puppy is looking directly into the camera with an innocent and curious expression on its face. """)
print(output)


小编也用一张图片:

网络异常,图片无法展示
|


prompt:

the puppy is on the surface of the ground, the sunlight softly illuminates the puppy's fur, accentuating its cuteness. The puppy is looking directly into the camera with an innocent and curious expression on its face.


生成了如下视频:

网络异常,图片无法展示
|

很惊喜的看到,动作连贯的同时,清晰度很高,光影的效果也很喜人,大家快来尝试吧!

申请链接:https://modelscope.cn/studios/damo/I2VGen-XL/