AnyAngle:Qwen-Image 2.1 LoRA 实现任意相机角度
AnyAngle 是一个 Qwen-Image 2.1 LoRA,可把照片移动到任意相机角度:先用高斯泼溅或 3D模型渲染场景,再让编辑模型把这个视角迁移过去。
在编辑模型中,仅靠提示词改变角度往往只能落在少数几个固定的方位角和仰角上,再继续推进就会让图像漂移成另一种外观。AnyAngle 把这项任务拆成两部分:由几何决定新的视点,由编辑模型决定原始画面从该视点看应该是什么样子。
使用该 LoRA 完成的相机角度变化,来自模型卡片。
Pipeline
模型卡片把这一方法描述为一串现有工具的链路,而不是单一的模型:
- 重建场景。 来源图像会变成高斯泼溅(作者使用的是 Tripo Splat,但注明任何泼溅生成器都可以),或通过 Trellis2 或 Pixal3D 变成 3D模型。
- 在 Blender 中移动相机。 导入重建结果,添加一个相机,把它设置到想要的角度,然后渲染该视角的粗略图像。
- 用 Qwen-Image 2.1 迁移角度。 把粗略渲染图和原始图像连同 AnyAngle LoRA 以及下面的提示词一起输入编辑模型。输出会保留原始图像的风格和材质,同时采用新的视点。
Change the camera angle from <image2> to <image1>.
模型卡片中展示的三步流程:来源图像、从新角度得到的粗略渲染,以及完成后的编辑结果。
模型卡片的节点图中各部分的连接方式:原始图像和粗略渲染都会进入已应用该 LoRA 的 Qwen-Image 2.1 编辑流程。
设置
该卡片明确说明了这个 LoRA 适合在什么条件下运行:
- LoRA 强度为 1.0。
- CFG 3.0、步数 20 或更多可获得最佳效果。
- 可以叠加一个 turbo LoRA 来降低分镜和镜头规划时的延迟,代价是质量略有下降。
该权重本身是一个 rank-24 适配器,bf16 下约 120 MB,其键名按 diffusion_model.* 排列,这正是 ComfyUI 自带 LoRA 加载器所期望的命名方式,因此无需任何转换步骤即可加载。
训练
该数据集混合了真实 Blender 渲染图(为风格多样性而挑选)与合成图像对:原始图像加上不同相机角度下与之匹配的一帧。由于锚点和目标都是同一场景的渲染结果,这些图像对在几何上是一致的,而非模型臆想出来的,这正是大幅改变角度时仍能保持风格一致的原因。为了覆盖插画和素描风格,作者使用了 MiniMax H3 图生视频的环绕渲染,即画面中所有内容保持静止而相机在移动,然后训练了几千步。
失效之处
结果的好坏取决于重建质量。如果泼溅或 3D模型在空间上有误或过于粗糙,物体可能会位置错乱,或在低分辨率图像上出现人脸畸形。卡片中的示例正是因为这一原因,出现了一张桌子和一条马尾辫摆放错位的情况;建议的修复方法是校正重建结果的位置,或从更好的泼溅结果出发,并期待更新一代的 3D 和世界生成器会持续改进这一步。
获取方式
- LoRA 权重、方法与示例:lilylilith/QI_2.1_AnyAngle
- 基础模型:Qwen/Qwen-Image-2.1,在 ComfyUI 中通过官方的 Qwen Image 2.1 编辑工作流加载
评论
使用 GitHub 登录后即可参与讨论。