PhysGen
PhysGen: Rigid-Body Physics-Grounded Image-to-Video Generation阅读笔记
motivation
- 现有图形学方法利用基于模型的动力学来模拟合理的运动,并使用图形渲染器生成图像。但这些方法中用到的动力学和光照物理都是预定义的。
- 现有数据驱动的图像到视频(I2V)生成技术很少在视频生成过程中融入真实世界的物理原理,因此生成的视频往往无法真实再现现实世界中的物体运动(比如无法模拟不同的力和扭矩作用于物体后产生的运动结果)。
整体架构
- 感知模块旨在推理图像中呈现的物体的语义信息、碰撞几何结构以及物理属性。
- 力学模块利用输入的力/扭矩,结合推断出的形状和几何信息,来模拟物体的刚体运动,以及物体与物体、物体与场景之间的交互。
- 渲染模块将模拟出的物体运动转换为像素级运动,并结合基于图像的变形(warping),渲染最终的视频。
创新点1:感知模块
物体实例分割
- 首先利用GPT-4V识别图像中的物体种类。
- 将种类信息送入Grounding-SAM生成实例物体的掩码
。 - 使用GPT-4V将每个物体归类于前景物体/背景物体。
- 从背景物体中提取出碰撞/支撑边界;前景物体在得到用户输入后送入物理模拟器。
物理性质推理
- 将实例物体的掩码加在原始图像上,送入GPT-4V,得到每个物体的质量
弹性 和摩擦系数 。 - 利用每个物体的质量
和其形状基元,计算得到转动惯量 。
基元几何化
- 掩码不适合用于物理模拟,因此将每个物体都转化成圆形或者多边形的矢量化表示。选择依据是哪种形状能尽可能的覆盖更大面积的掩码。
- 圆形可以更真实地模拟滚动运动。
本征图像分解
- 使用现有本征图像分解模型从单张图像中推导物体的反照率
。 - 使用surface normal estimator计算物体法线
。 - 将环境光建模为有向光,并使用 Intrinsic Harmonization for Illumination-Aware Compositing估算环境光
。
背景修复
- 为了填补物体运动后造成地背景空洞,使用Inpaint Anything生成没有任何前景物体的背景图
。
创新点2:力学模块
每个物体的刚体运动可表示为:
其中
并在每个时间步中加入碰撞检测。
定义仿射变换
创新点3:渲染模块
视频合成
使用Inpaint Anything生成的图像做背景,前景图像则利用
其中,
重打光
重打光模块用于模拟物体移动造成的阴影变化,使用Lambertian shading model f对前景物体重打光:
生成内容细化
- 使用预训练的latent diffusion encoder将视频序列
编码为潜在变量 。 - 定义初始噪声强度
,像原始潜在变量 中添加一定量的噪声。 - 保持前景图像使用原始潜在变量,背景图像使用经过去噪后的潜变量。
- 使用融合权重
控制向前景图像中加入去噪后的潜变量的量。 - 将最终的潜变量
进行解码生成最终的视频 。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 由本自性清净故,令诸爱染悉无垢!