廉价 Framepack 摄影机控制 LORA,只需一个训练视频。
首先声明:此方法并非旨在与现有其他方法竞争。它是我心中酝酿已久的一个想法,需要将其付诸实践。我选择了 Framepack 来实现,但我预计它与其他 I2V 模型也能类似地工作。
这一切都始于两个假设:
你可以使用计算机生成图形为视频模型创建摄影机 LORA。这当然是真的,因为足够好的 CG 图像与真实镜头无法区分。那么,是否可以使用劣质 CG 创建摄影机 LORA 呢?幸运的是,我拥有尝试这个的完美技能!
对于 I2V 模型,模型可以过滤掉风格,只使用训练数据的动作。
我不是那种过多纠结于理论的人,所以我尝试了一下。我在 Blender 中创建了一个视频,围绕一个角色旋转,并导出为 48 帧。然后训练了一个 Framepack LORA。
这是朴素的训练视频:
提示词:“摄影机围绕主体旋转 360 度。”以 320x192 分辨率训练。请注意,由于仅在四个点之间进行插值,旋转有些晃动。
这是使用 LORA 的结果。有些是精选的,但并不太过分:
"> "> 所以,至少发生了一些事情。我们从 360 度中获得了 270 度。我用我称之为“英雄变焦”的方法训练了另一个,因为没有更好的术语了。这是一种低角度变焦,加速靠近面部,用于戏剧性效果。 "> "> "> 你可以清楚地看到两段式变焦,开始慢,然后加快。我想象这可以作为一种风格迁移图像 + 视频到视频的方式,类似于 VACE 的工作方式,不同之处在于必须为每个剪辑训练一个特定的 LORA。示例:
训练视频
">输入图像
结果
">另一个结果(我猜那个背景注定会失败。)
">好的。我们已经训练了一个基于人形角色外观的单一视频 LORA。如果我是第一次打开 Blender 呢?我们能用可怕的“默认立方体”做些什么吗?
这里有一些演示特定摄影机动作的训练视频。在测试上一批时,我注意到如果图像中有任何背景,LORA 可能会出现问题。因此,为了提供更多参考,我添加了一个环境纹理。
"> ">嗯,这些画看起来很熟悉。所以如果可以的话,肯定会发生风格泄漏。
"> ">在这些镜头中,主体保持相当静止。我们可以在提示中添加一些东西,让他更生动吗?
">好的,这也行。
局限性
这种狭窄的 LORA 灵活性有限,并且很可能会在复杂的提示(或与训练内容差异太大的提示)下崩溃。
对于以前未见的区域,风格会渗入。在强度过高或步数过高的训练中,默认立方体可能会出现在结果视频中。
它似乎与其他 LORA 配合不佳。特别是如果它们最初没有太多摄影机运动。可能会注意到某种“互相抵消”的效果。
结论
该方法有效!您可以非常便宜地训练摄影机 LORA,在 3090 上只需 30-60 分钟。即使它没有完全按预期工作,它也能帮助视频模型朝着正确的方向发展。
它不能做所有事情。与输入偏差,与其他 LORA 混合,复杂的提示可能会降低 LORA 的性能。
训练方案
单个视频,分辨率从 192 到 320 像素不等。40-48 帧。Rank 32 LORA。250 到 500 步之间。我使用 https://github.com/a-r-r-o-w/finetrainers (v0.0.1) 和 https://github.com/neph1/finetrainers-ui 进行训练。
每个 LORA 的训练时间在 30-60 分钟之间,具体取决于步数。
我在这里提供了一些模型:https://huggingface.co/neph1/framepack-camera-controls
这篇文章写得没有经过太多思考。如果您需要澄清,或者我遗漏了什么,请告诉我。