PhysInsert: Physically Plausible Object Insertion with Geometric Priors and Bidirectional Object-Scene Interactions
Yue Gong, Le Zhang, Rui Chen, Song Chang, Xiaochao Qu, Luoqi Liu, Ting Liu, Yebin Liu
cs.CV
2026-10-30
Qwen-Image-Edit加VGGT几何流并用12951对图训练,DIoU从48.32%到62.99%。
参考图物体插入要比贴图多一层:透视、姿态、受光得改到目标场景,物体造成的阴影和反射也得出现,身份还不能丢。
三处监督都不够。跨光照没有同一物体的受控对照,外观容易被原样搬过去。双向交互上,mask-and-fill 先涂掉编辑区再填,物体受光能变,场景里的阴影、镜像和反射没有对齐真值。生成式编辑或抠图拼出的训练对,同样保证不了这些效果来自渲染。简化背景也缺少遮挡和附着。跨视角时,固定机位的数据几乎没教过透视和姿态怎么改,mask 或框也限制文本细控。二维图像损失碰不到物体和场景的三维关系。
InsertWorld 不把物体随机贴进背景。它从完整的 BlenderKit 场景里删掉已有物体,相机、光照和其余内容不动,只重渲「有物体」和「无物体」,阴影、镜像和反射由渲染器重算。随机摆放容易穿模和悬浮,删除才能留下真实接触。每个物体再单独渲 7 种光照,每种 11 个固定视角加 12 个随机视角。训练集是 322 个场景、1710 个物体、12,951 对反事实图、275,310 张参考图。标注含摆放描述。
底座是 Qwen-Image-Edit-2511。Qwen2.5-VL 和 VAE 冻结,DiT 用秩 32 的 LoRA 训练约 16,000 步,8 张 L20X。推理 40 步,CFG 为 4.0。框引导再训 4,000 步,并多喂一张画了目标框的参考图。
几何引导适配(GGA)增加第三条 token 流。冻结的 VGGT(从图像回归相机、深度和结构)先读无物体背景,MLP 把几何特征映进 DiT,再加上模态嵌入。每一层里,几何、图像、文本各自算 QKV,拼起来做联合注意力。背景几何描述的是插入之前。插入后目标图的 VGGT 特征只作监督,不进生成器。第 14、29、44、59 层的几何状态经读出头去对齐它,距离是 Smooth L1 加余弦距离。推理时第三条流仍然开着,从背景几何出发自己演化。
二维监督负责变化落在哪里。真值 mask 下采样成占用图。有无物体两图的平滑像素差,去掉物体和一圈边界之后,当成外部效果的软标签。它不区分阴影和反射。空间头在第 35、47、56 层预测占用和效果,损失是均衡交叉熵加 Dice,两路权重 0.65 和 0.35。摆放描述对应的文本 token,其注意力分布用 KL 拉向物体区域。背景始终保留,推理不需要 mask。
流匹配之外,几何、反事实、定位三项的权重是 0.02、0.01、0.005。
PhysInsert-Bench 共 400 例,来自与训练不重叠的 103 个场景。光学 180 例,其中同视角 154、跨视角 26。结构 220 例使用独立的参考视角。另外 40 例来自 DreamBooth,50 例野外数据来自 ABO、NAVI、ORIDa,以及 SAM 3D 重建后渲出的参考图。
文本引导、每例一张参考图:
| 方法 | DIoU | Mask IoU | DINO-Obj. | PSNR | FID | Phy-VLM |
| Nano Banana Pro | 54.58 | 48.34 | 0.7023 | 22.85 | 46.55 | 3.48±0.09 |
| GPT-Image-2 | 38.02 | 31.92 | 0.6746 | 19.39 | 53.46 | 3.17±0.11 |
| Qwen-Image-Edit-2511 | 48.32 | 44.14 | 0.6786 | 19.34 | 60.99 | 2.94±0.15 |
| PhysInsert | 62.99 | 56.08 | 0.7276 | 24.40 | 41.96 | 3.52±0.11 |
同预算、只换 InsertWorld 的 Insert-Anything,文本 DIoU 只有 22.66,OmniPaint 为 37.69。物体区域 AbsRel 从基座的 0.2207 降到 0.1195,δ1.25 从 73.35% 升到 86.56%,LPIPS 从 0.2260 降到 0.1118。
框引导下,Mask IoU 68.62、DINO-Obj. 0.7229、PSNR 25.81、FID 37.50,这几项最高。DIRECT 额外用了真值姿态,SSIM 为 0.8957,略高于 0.8876。同一数据和同样预算也抬高了 Insert-Anything 与 OmniPaint 的框引导指标。
野外单参考图,PSNR 20.36、FID 95.67。开源方法里 DINO-Obj. 0.7784 最高,仍低于 Nano Banana Pro 的 0.7881。三张参考图时 PSNR 20.60、FID 87.90。DreamBooth 单参考图 PSNR 17.45、FID 83.68、DINO-Obj. 0.8856,身份分高于表中全部对照,GPT-Image-2 为 0.8821。FID 和 Nano Banana Pro 的 83.74 几乎一样。
27 人盲测 25 例,背景来自 RealBokeh,物体来自 Distinctions-646。综合分 4.04,光照融合、透视和姿态三项最高,身份和背景保持仍有竞争力。消融里,只做数据微调,PSNR 从 19.34 到 22.53,DIoU 从 48.32% 到 60.19%。去掉 GGA、注意力定位或反事实监督,PSNR 分别是 23.83、23.73、23.90,完整模型是 24.40。
一张物体参考图,按文本或框放进另一张场景,并让光照、影子和透视跟着走。背景不用先挖空,推理也不用先建三维代理再拟合姿态。文本能转动笔记本、改水壶嘴方向,或放到椅后和上层架子。
改进是渐进的,大半收益来自数据。几何流和二维监督在数据微调之上,再多出 1.87 的 PSNR 和 2.80 个点的 DIoU。自建测试里相对闭源模型的差距,换到 DreamBooth 和野外集就明显变小。
1024 分辨率、40 步、CFG 4.0,单张 L20X 上原版约 79.4 秒、55.9 GiB,本模型约 120.1 秒、60.8 GiB,管线参数大约多 4.5%。
模型没有单独优化身份。参考视角和目标视角差得大时,身份会掉。多张参考图怎么互补,留到以后。野外单参考的 DINO-Obj. 已经低于 Nano Banana Pro。
Phy-VLM 是 GPT-5.5 看着真值图打的分,提示里还写明不能只因为尺寸扣分。3.52±0.11 和 3.48±0.09 的 95% 区间重叠,这项第一站不住。AbsRel 和 δ1.25 比的是 Depth Anything 3 对生成图和真值图的估计深度,估计器本身会带误差。外部效果标签来自像素差,没有拆成阴影或反射。主测试和训练集走的是同一条 Blender 反事实管线,域内数字会偏乐观。DreamBooth 的无物体背景用 Nano Banana Pro 擦除后再人工检查。用户研究只有 25 例。