Hugging Face AI WebTV:构建自动化视频与音乐合成流
Hugging Face 推出了 AI WebTV,这是一个实验性演示,展示了如何整合开源的文本转视频(text-to-video)和音乐合成模型来创建自动化广播流。该项目作为一个技术演示和展示集,展示了当前生成式 AI 在制作短视频序列及配套音频方面的能力。
系统架构与流水线
AI WebTV 利用一套流水线,将人类的高层想法转化为连续的视频和音频流。该过程始于人类提供的基础主题和创意,随后由大语言模型(LLM)——具体来说是 ChatGPT 进行处理,为特定的视频镜头生成各种独立的提示词(prompts)。
视频生成链
核心视频合成由基于 ModelScope 的 Zeroscope V2 模型驱动。生成过程通常遵循两阶段链条:
- 初始生成:
zeroscope_v2_576模型以 576x320 的分辨率创建一个视频剪辑。 - 放大(Upscaling):使用
zeroscope_v2_XL进行可选的第二轮处理,将视频放大至 1024x576。在此阶段,必须应用与初始生成时相同的提示词。
后处理与音频
为了优化视觉输出并添加听觉元素,该流水线采用了另外两种工具:
- 帧插值(Frame Interpolation):使用 FILM (Frame Interpolation for Large Motion) 算法来平滑过渡并修复微小的渲染错误,尤其是在摄像机平移或旋转期间。
- 音频合成:使用 MusicGen 系列中的
musicgen-melody模型生成音乐。
广播基础设施
该系统使用 NodeJS 和 TypeScript 实现。它利用 Hugging Face Spaces 来托管模型,并通过 @gradio/client NPM 包进行调用。对于最终的广播,使用 FFmpeg 读取 .mp4 视频和 .m4a 音频文件的播放列表,然后将其作为 FLV 流发送到 RTMP 服务器(具体为 node-media-server)。
能力与观察
AI WebTV 演示突显了文本转视频模型模拟现实物理现象和多样化艺术风格的能力。
动态场景模拟
文本转视频模型可以为流体、动物和车辆合成动作。该项目中的示例包括:
- 在柔和的虚化背景下,蜜蜂在花朵周围嗡嗡作响。
- 一只灰熊在激流中捕捉三文鱼,水花飞溅。
- 日出时分,海浪拍打着岩石海岸。
风格化与构图
该系统展示了视觉风格的多样性,从写实的电影镜头(例如:黎明时分的一名宇航员和一只羊驼)到皮克斯(Pixar)或吉卜力工作室(Studio Ghibli)风格的 3D 渲染动画。
技术局限与失败案例
尽管取得了成功,该项目也发现了当前文本转视频合成中一些反复出现的失败模式:
- 方向错误:模型可能难以处理运动方向,有时生成的剪辑看起来像是在倒放。
- 渲染伪影:写实场景偶尔会出现垂直线或波浪状伪影。
- 提示词泄露:模型可能会字面上将提示词中的单词插入到图像中。例如,提到 "IMAX" 或 "Canon EOS" 可能会导致这些单词或物体物理性地出现在场景中。
- 属性忽略:特定的修饰词(例如颜色 "green")偶尔会被模型忽略。
文本转视频提示词的最佳实践
基于 AI WebTV 的实验,Hugging Face 建议采用以下策略来提高输出质量:
- 使用视频特定关键词:明确说明摄像机运动、角色朝向、速度和方向,以避免随机或倒置的动画。
- 确保场景间一致性:在创建视频序列时,在每个提示词中包含详尽的细节,以保持不同镜头间元素(如颜色)的一致性。
- 利用帧插值:使用 FILM 等工具来平滑动画并创建慢动作效果,这可以将渲染缺陷转化为可接受的风格化特征。
Sources
- OriginalBuilding an AI WebTV