模型:
cerspense/zeroscope_v2_XL
example outputs (由 dotsimulate 提供)
无水印的Modelscope视频模型,能够生成1024 x 576的高质量视频。该模型使用了9,923个剪辑和29,769个标记帧,以24帧、1024x576分辨率从 original weights 进行偏移噪声训练而成。zeroscope_v2_XL专为使用 zeroscope_v2_576w 用于 1111 text2video 中的vid2vid扩展而设计。将该模型用作放大器可以在更高分辨率下实现更优秀的整体合成,允许在576x320(或448x256)上进行更快速的探索,然后再过渡到高分辨率渲染。
zeroscope_v2_XL 在渲染1024x576时使用了15.3GB的VRAM
对于放大,建议使用1111扩展。在1024x576分辨率下,denoise 强度在0.66和0.85之间效果最佳。记得使用与生成原始剪辑相同的提示。
先安装所需的库:
$ pip install git+https://github.com/huggingface/diffusers.git $ pip install transformers accelerate torch
然后,使用 cerspense/zeroscope_v2_576w 生成低分辨率视频。
import torch from diffusers import DiffusionPipeline, DPMSolverMultistepScheduler from diffusers.utils import export_to_video pipe = DiffusionPipeline.from_pretrained("cerspense/zeroscope_v2_576w", torch_dtype=torch.float16) pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config) pipe.enable_model_cpu_offload() pipe.enable_vae_slicing() pipe.unet.enable_forward_chunking(chunk_size=1, dim=1) # disable if enough memory as this slows down significantly prompt = "Darth Vader is surfing on waves" video_frames = pipe(prompt, num_inference_steps=40, height=320, width=576, num_frames=36).frames video_path = export_to_video(video_frames)
接下来,可以使用 cerspense/zeroscope_v2_XL 进行放大。
pipe = DiffusionPipeline.from_pretrained("cerspense/zeroscope_v2_XL", torch_dtype=torch.float16) pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config) pipe.enable_model_cpu_offload() pipe.enable_vae_slicing() video = [Image.fromarray(frame).resize((1024, 576)) for frame in video_frames] video_frames = pipe(prompt, video=video, strength=0.6).frames video_path = export_to_video(video_frames, output_video_path="/home/patrick/videos/video_1024_darth_vader_36.mp4")
这里是一些结果:
Darth Vader 在浪上冲浪。在低分辨率或少于24帧的情况下渲染可能会导致输出不佳。
感谢 camenduru 、 kabachuha 、 ExponentialML 、 dotsimulate 、 VANYA 、 polyware 、 tin2tin