跳转至

BlenderFusion: 3D-Grounded Visual Editing and Generative Compositing

会议: ECCV2026
论文: ECCV 原文
领域: 图像生成 / 3D 视觉
关键词: 3D感知编辑、生成式合成、双流扩散、源区域遮蔽、物体相机解耦

一句话总结

BlenderFusion 把图像中的物体提升为可编辑几何,用 Blender 表达精确编辑意图,再通过双流扩散合成器补全并融合画面,在三个视频数据集上优于适配后的 Object 3DIT 和 Neural Assets,且支持训练未覆盖的精细组合编辑。

研究背景与动机

生成一张漂亮图片与编辑一张已有图片并不是同一个问题。把杯子旋转、把椅子缩小、替换背景,同时要求相机不动且其余物体保持原样,需要逐个控制几何和身份;一句文本提示或粗糙二维布局通常不足以准确表达这些约束。Object 3DIT 主要针对单物体刚性变换,Neural Assets 虽然支持多物体与相机,但依赖压缩的物体 token,容易丢失细节或混入背景。Image Sculpting 已经利用 Blender,却依赖逐场景优化,主要处理单图单物体。

直接借用图形软件也不能解决全部问题。真实照片往往只有单视角,重建出的网格缺少背面、纹理不完整,旋转后会出现孔洞或不自然的表面;完整物理渲染所需的材质与光照也未必可得。另一方面,若让扩散模型独自推断几何,它可能用移动背景来模拟物体移动,看似符合训练视频,却违背用户“只动这个物体”的意图。尤其 Objectron 中物体基本静止、主要是相机运动,常规跨帧训练本身就包含这种捷径。

因此,本文不是让生成模型学会所有 Blender 操作,而是让 Blender 提供可见、明确的目标几何,把生成模型的职责收敛为修复与融合。为了让它既参考原图身份,又不执着于已经失效的原始布局,训练还必须教它何时舍弃源内容,以及如何在固定相机时响应物体变化。核心 idea:把几何控制交给显式 3D 编辑,把照片级合成交给双流扩散,并用源区域遮蔽与模拟物体抖动打破源图复制和相机运动捷径。

方法详解

整体框架

输入是一张或多张含物体的图像,以及物体类别、3D 框和相机信息;输出是遵循编辑后布局的二维合成图像。流程先做几何分层与编辑,再准备经过源区域遮蔽的有效上下文,最后由双流生成合成器联合参考源场景与目标渲染。模拟物体抖动只用于构造训练条件,不是每次编辑必须执行的推理步骤。

源流保留原始图像、源渲染、源相机与物体姿态;目标流包含目标渲染、目标相机、目标物体姿态和待去噪潜变量。两套渲染都是从同一批重建物体出发生成的,因此模型既能看到物体原本的外观,又能看到用户明确要求的几何变化,而不必从一句描述中猜旋转方向或空间关系。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["输入图像<br/>3D框与相机"] --> B["几何分层与编辑"]
    B -->|源图与源渲染| C["源区域遮蔽"]
    C -.->|仅训练时重组条件| D["模拟物体抖动"]
    B -->|目标渲染与姿态| E["双流生成合成"]
    C -->|推理时有效源上下文| E
    D -.->|固定相机训练条件| E
    E --> F["编辑后图像"]
    G["目标视频帧"] -.->|仅训练时提供监督| E

这里的几何不是保证完整、正确的真实场景模型,而是控制接口。默认重建只覆盖单视图可见表面;扩散模型在这个不完美接口之上补纹理、补几何并融合背景。复杂的材质或部件编辑可以替换为更完整的图像到 3D 重建结果,但不改变后续合成器的输入形式。

关键设计

1. 几何分层与编辑:把用户操作转为可见的目标渲染

首先将已知 3D 框投影成二维框,用类别提示 Grounding DINO;只有预测框与投影框的 IoU 大于 0.5 时才用前者细化定位,再将框交给 SAM2 提取掩码。Depth Pro 预测度量深度,物体掩码切出各实例的深度,随后依据其 3D 框校准尺度。将这些深度反投影为点云并连接相邻点,就得到每个物体的三角网格。这不是从任意照片自动恢复所有场景参数的完整方案,类别、框和相机条件是实验设置的重要组成部分。

每个网格独立导入 Blender 后,平移、旋转、缩放、删除与插入便成为显式操作;相机运动由相机对象控制,背景替换通过新背景图替换源图实现。编辑前后各渲染一次 RGB 和 Object Index Pass 实例索引掩码,分别作为源条件与目标条件。这样“移杯子”不再只是一组可能被模型误解的 token,而是目标画面里杯子的轮廓、遮挡与投影位置。细粒度形变或材质变化需要更完整网格时,论文的渐进式编辑演示采用 Hunyuan3D v2,而非声称默认的浅层网格能胜任所有操作。

2. 源区域遮蔽:保留身份参考,但撤销已经失效的上下文

源图既是有用的外观参考,也可能是编辑的阻力。删除物体时若完整保留源图,模型可能把它重新画回去;替换背景时,旧背景也不应继续作为可靠证据。训练中,源图和源渲染里的每个物体以 0.5 的概率被遮蔽,背景区域也进行随机遮蔽,避免模型仅仅形成固定的局部修补习惯。模型因此必须读取目标渲染,而不能只复制源图或依赖相对相机姿态。

推理时遮蔽是按编辑任务选择的:可以同时遮住源图与源渲染中的失效区域,也可以只遮源图。区别在于要丢弃的是旧外观上下文,还是连源几何参考也不再可信。它不等于把所有源信息都抹掉,也不等于遮住目标渲染;目标分支仍应明确表达用户需要保留或新增的场景。原文正文没有列出每类操作的全部遮蔽规则,因此不能把某一种掩码模式写成所有操作的统一配置。

3. 模拟物体抖动:用条件重组教会固定相机下的物体变化

普通训练从视频抽取源帧与目标帧,用物体框和相机参数把源重建变换到目标姿态,再以目标帧监督合成。问题是,Objectron 的物体没有真实运动,模型容易把物体外观变化归因于相机;到测试时仅旋转物体、背景不动,这条经验就失效。本文的抖动策略并不是凭空生成一个有真实标签的新动态视频,而是把源流中的图像和相机参数替换为目标帧及目标相机,同时保留源渲染与源、目标物体框之间的几何差异。

随后对目标帧上下文和源渲染分别随机遮蔽,让合成器依据有噪声的目标渲染恢复目标图像。此时图像上下文与目标处于同一相机,源渲染仍提供物体参考,模型必须利用物体姿态条件来完成恢复,而不能把变化全部解释成相机运动。遮蔽也避免了直接看到目标帧就复制答案的捷径。该策略是在训练条件中模拟解耦的物体变化,不应与测试时给用户操作额外加入随机抖动混淆。

4. 双流生成合成:共享生成先验,显式交换源与目标信息

合成器由预训练扩散模型改造,实验采用 Stable Diffusion v2.1。源、目标两个流使用同一套权重,分别处理各自输入,再通过覆盖两流特征的自注意力交换信息。源流中的原图帮助保持身份与细节,目标流中的粗渲染规定新布局;模型学习填补变换不完整网格后暴露的区域,并将物体和背景融合成最终图片。双流不是两个分别训练的生成器,也不是先生成物体、再用另一个模型拼接背景。

每个流的入口由 4 通道扩展到 15 通道:4 个图像或噪声潜变量通道、4 个渲染潜变量通道、1 个实例掩码通道,以及 6 个 Plücker 相机嵌入通道,即 \(4+4+1+6=15\);新增通道的权重采用零初始化。类别经 CLIP 编码,3D 框经位置编码和 MLP 处理,再组织成替代文本条件的物体 token 序列。实现中以源相机为坐标参考,把框角点投影后表示为图像坐标和深度。这让像素级渲染、实例身份、相机射线与框级姿态各自承担不同条件作用,而不是指望单一特征同时编码全部控制信息。

一个完整示例

以“相机不动,把桌上的杯子转向另一侧,同时保留椅子和背景”为说明性例子。分层阶段分别得到杯子和椅子的网格,Blender 只旋转杯子并重新渲染;目标实例掩码与 RGB 渲染反映杯子的新轮廓,椅子与相机条件保持不变。这个例子用于解释流程,不对应论文额外报告的定量样本。

合成器从源流读取杯子原本的颜色、纹理及周围环境,从目标流读取旋转后的位置和形状,并补全原视角看不到的表面。如果继续删除杯子,源区域遮蔽可以撤销它的旧上下文,避免合成器把它恢复回来。若要修改杯柄形状,默认单视角网格可能不足,便需要更完整的重建;操作接口支持某项编辑,并不意味着任意输入上的重建质量都足以支撑它。

损失函数 / 训练策略

训练以真实目标视频帧监督条件扩散合成,核心新增内容是输入结构与两种训练条件策略。当前正文没有展开完整损失公式、各条件丢弃比例或抖动采样分布,因此这里不补造专用几何损失,也不把通用扩散目标写成作者明确报告的精确公式。

合成器使用 8 张 NVIDIA A100 80GB,batch size 为 320,共训练 30,000 次迭代。优化器为 AdamW,weight decay 为 1e-2,线性 warmup 为 500 步;扩散模型学习率为 5e-5,框编码 MLP 为 1e-4。推理采用 50 步 DDPM 采样,classifier-free guidance 的 scale 为 2.0。

WOD 视频中的车主要平移、旋转多样性不足,因此三个比较方法都先使用 MOVi-E 预训练,再训练 WOD,并将基础学习率降到 1e-5。这一共享初始化是 WOD 结果的前提,不能把它描述成仅靠真实驾驶视频就获得了充分的解耦旋转能力。

实验关键数据

主实验

标准评测给定相机与物体姿态,将源视频帧转换为目标帧。MOVi-E 是作者增强动态物体数量和相机运动范围后生成的 10,000 段视频,分辨率为 512×512;Objectron 数据集含 15,000 段、9 类物体,使用 384×512;WOD 数据集含 1,000 段,使用前视相机、过滤小车,分辨率为 528×352。这些是生成规模或数据集总规模,不是测试集样本数;当前正文未给出完整训练/测试划分。

表中为原文 Table 2 的关键列。PSNR 衡量像素重建质量,单位 dB,越高越好;LPIPS 衡量感知距离,越低越好;FID 衡量生成与真实图像分布的特征差异,越低越好。Object 3DIT 已适配为 SD v2.1,并加入相机嵌入和多物体条件,不是未经修改的原始单物体模型。

数据集 方法 物体 PSNR ↑ 物体 LPIPS ↓ 整帧 PSNR ↑ 整帧 FID ↓
MOVi-E Object 3DIT 14.06 0.411 17.02 15.71
MOVi-E Neural Assets 13.74 0.428 16.73 23.08
MOVi-E BlenderFusion 18.90 0.227 21.32 9.11
Objectron Object 3DIT 13.88 0.424 14.98 6.14
Objectron Neural Assets 13.73 0.427 14.56 6.18
Objectron BlenderFusion 16.06 0.291 16.54 3.25
WOD Object 3DIT 18.90 0.255 23.21 11.92
WOD Neural Assets 16.87 0.322 20.41 15.39
WOD BlenderFusion 20.93 0.185 24.11 10.02

标准跨帧指标不直接衡量“固定相机只动某物体”。原文 Table 3 另在 60 个解耦与精细控制样本上比较编辑前后的物体身份特征;Objectron 的 DINO/CLIP 余弦相似度由 Neural Assets 的 0.748/0.717 提高到 0.866/0.810,越高表示特征越接近,但不等于几何编辑完全正确。

Table 4 的用户研究包含 54 个例子,其中视频帧转换 18 个、解耦控制 24 个、精细合成 12 个;24 位参与者给出 1,294 次选择。与 Neural Assets 成对比较时,BlenderFusion 总体获选率为 87.04%,精细合成为 93.75%;这些是人类偏好比例,不是任务成功率。

消融实验

原文 Figure 8 提供定性组件消融:仅增加双流与深度/分割条件,主要改善平移;加入 Blender 渲染后仍可能把背景随物体一起移动;源区域遮蔽改善对象控制,但相机与物体仍有耦合;再加入模拟物体抖动才进一步缓解固定相机编辑问题。当前正文未列出这些组件的逐项数值,不能声称某模块带来确定的 PSNR 增益。

下表取自原文 Table 5,是同一 Objectron 标准视频评测中的上游误差分析,而非上述组件消融的替代数值。O-DINO 是逐物体 DINO 特征余弦相似度;深度和掩码扰动在建网格前施加,掩码噪声对应侵蚀/膨胀。

配置 物体 PSNR ↑ 物体 LPIPS ↓ O-DINO ↑ 整帧 PSNR ↑ 整帧 LPIPS ↓
Neural Assets 13.73 0.427 0.921 14.56 0.427
BlenderFusion 默认 16.06 0.291 0.959 16.54 0.323
深度噪声 15% 15.69 0.307 0.957 16.24 0.334
深度噪声 30% 15.28 0.325 0.955 15.98 0.344
掩码噪声 10px 15.58 0.309 0.957 16.12 0.337
掩码噪声 20px 15.15 0.326 0.955 15.83 0.348

关键发现

  • MOVi-E 整帧 PSNR 为 21.32 dB,比适配后 Object 3DIT 的 17.02 dB 高 4.30 dB;复杂多物体变化更能体现显式渲染条件的价值。
  • 30% 深度噪声使物体 PSNR 从 16.06 降至 15.28 dB,仍高于 Neural Assets 的 13.73 dB;这支持中等上游误差鲁棒性,不证明严重缺面或大遮挡可以无损修复。
  • Objectron 上 A100、bf16、384×512 的全流程为 13.08 秒/图,峰值显存约 20GB:分层 0.6 秒、Blender 脚本 3.0 秒、合成器 9.48 秒。原文 Neural Assets 的 5.94 秒采用 256×256,不能把二者直接当成等分辨率速度比较。

亮点与洞察

  • 粗糙渲染是控制信号,不是最终产品。它把“该改哪里、几何怎么变”变成可见证据,让生成先验负责缺失纹理与融合,而不是同时猜控制意图。
  • 源图并非总是越完整越好。主动删除已失效上下文,使身份参考与编辑服从性能够分别处理,也适合研究其他参考图驱动的局部生成任务。
  • 数据中的相机运动不等价于用户想要的物体操作。模拟物体抖动的价值在于改变条件之间的统计关系,而不只是增加随机增强。

局限与展望

  • 作者明确指出:严重掩码或深度错误会造成几何缺失,大角度旋转与重遮挡尤其困难;真实驾驶数据的姿态不足也使合成预训练成为重要前提。
  • 作者承认物理准确的重光照和阴影仍不完善;更强重建、丰富合成数据和显式光照监督是提出的改进方向。跨 SUN-RGBD、ARKitScenes、Hypersim 的泛化主要是定性展示,视觉质量较域内下降。
  • 本笔记判断:依赖 3D 框和相机条件,以及部分演示采用更完整重建,使它尚不能直接等同于任意照片上的零准备编辑工具;约 13 秒的单图耗时也不能称为实时生成。
  • 本笔记判断:需要进一步报告细粒度编辑的几何误差、遮挡一致性及不同重建器下的成本,才能区分“画面更受偏好”与“严格服从物理编辑约束”。

相关工作与启发

  • vs Object 3DIT:后者用语义与姿态条件驱动编辑;这里直接提供编辑前后渲染。即使基线加入多物体和相机条件,固定相机编辑仍可能暴露训练中的运动耦合。
  • vs Neural Assets:后者用 DINO/RoIAlign 提取物体外观 token;这里保留源图与显式渲染,减少压缩外观与前景背景混合的问题,代价是几何处理和双流计算。
  • vs Image Sculpting:两者都借助 Blender 的编辑能力,本文扩展到多物体、相机和背景并训练通用合成器;Image Sculpting 因逐场景优化与任务范围不同未进入主定量对比,不能据此宣称对它已有同设置数值优势。

评分

  • 新颖性: 4/5,贡献在显式几何接口、双流条件与解耦训练的协同,不是全新扩散骨干。
  • 实验充分度: 4/5,覆盖三个数据集、用户研究和上游噪声,但真实精细编辑的定量几何验证仍有限。
  • 写作质量: 4/5,问题与失败模式衔接清晰,部分复现细节需补充材料。
  • 价值: 4/5,为可控图像编辑提供实用接口设计,但重建质量和耗时限制了直接部署。