<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Summary on Xiong Jia</title>
        <link>https://Peraspera1.github.io/tags/summary/</link>
        <description>Recent content in Summary on Xiong Jia</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <copyright>xj</copyright>
        <lastBuildDate>Thu, 08 May 2025 18:28:50 +0800</lastBuildDate><atom:link href="https://Peraspera1.github.io/tags/summary/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Report0508</title>
        <link>https://Peraspera1.github.io/p/report0508/</link>
        <pubDate>Thu, 08 May 2025 18:28:50 +0800</pubDate>
        
        <guid>https://Peraspera1.github.io/p/report0508/</guid>
        <description>&lt;img src="https://Peraspera1.github.io/cover.png" alt="Featured image of post Report0508" /&gt;&lt;h2 id=&#34;实验部分&#34;&gt;实验部分
&lt;/h2&gt;&lt;p&gt;周三晚上和老师讨论的思路是让我找师兄讨论下手物分离，然后先从简单的平面仿真做起；&lt;/p&gt;
&lt;p&gt;我回去想了想，换了个想法，因为既然最后物体的SDF场是由NeuralFeels给出的，那么我其实只需要验证下对软体物体仿真的部分就可以了，对3D表示的精确度没有要求。&lt;/p&gt;
&lt;p&gt;那么现在的问题是从我拍的照片中恢复出物体的3d表示，所以我的想法是就用dino+sam+zeros123+InstantMesh恢复出一个3D物体的mesh表示，然后再做仿真就好了。&lt;/p&gt;
&lt;p&gt;输入的原始图片如下：&lt;/p&gt;
&lt;!-- ![raw_image](/images/report0508/init.jpg) --&gt;
&lt;img src=&#34;https://Peraspera1.github.io/images/report0508/init.jpg&#34; alt=&#34;图片描述&#34; style=&#34;width: 500px; height: auto;&#34; /&gt;
&lt;p&gt;然后使用&lt;a class=&#34;link&#34; href=&#34;https://github.com/IDEA-Research/GroundingDINO&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;dino&lt;/a&gt;，这个模型能够根据文字提示把图片中的内容圈出来&lt;/p&gt;
&lt;p&gt;输入提示词 &amp;ldquo;a star&amp;rdquo; 过dino得到下面这个结果&lt;/p&gt;
&lt;img src=&#34;https://Peraspera1.github.io/images/report0508/a2.png&#34; alt=&#34;图片描述&#34; style=&#34;width: 500px; height: auto;&#34; /&gt;
&lt;p&gt;这个模型会输出一个检测框（列表，每个元素是一个四维张量，分别是检测框的长宽和xy位置）以及文字+得分(如：a star (0.39))&lt;/p&gt;
&lt;p&gt;可以看得出来这个dino模型可能会出现误判，反正我先不管了，就用得分高的那个检测目标和方框，经过SAM分割，输出结果如下：&lt;/p&gt;
&lt;img src=&#34;https://Peraspera1.github.io/images/report0508/a3.png&#34; alt=&#34;图片描述&#34; style=&#34;width: 500px; height: auto;&#34; /&gt;
&lt;p&gt;然后用&lt;a class=&#34;link&#34; href=&#34;https://github.com/cvlab-columbia/zero123&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;zeros123&lt;/a&gt;生成多视角的图片，输入是上面那个用SAM分割好的图片，输出结果如下：&lt;/p&gt;
&lt;img src=&#34;https://Peraspera1.github.io/images/report0508/a4.png&#34; alt=&#34;图片描述&#34; style=&#34;width: 500px; height: auto;&#34; /&gt;
&lt;p&gt;这之后我用&lt;a class=&#34;link&#34; href=&#34;https://github.com/TencentARC/InstantMesh&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;InstantMesh&lt;/a&gt;重建了物体的mesh，结果如下&lt;/p&gt;
&lt;img src=&#34;https://Peraspera1.github.io/images/report0508/a5_1.png&#34; alt=&#34;图片描述&#34; style=&#34;width: 500px; height: auto;&#34; /&gt;
&lt;img src=&#34;https://Peraspera1.github.io/images/report0508/a5_2.png&#34; alt=&#34;图片描述&#34; style=&#34;width: 500px; height: auto;&#34; /&gt;
&lt;p&gt;至此已经得到了物体的mesh了(虽然不太准)&lt;/p&gt;
&lt;p&gt;然后我准备先整理下代码，继续在此基础上做我的仿真实验。&lt;/p&gt;
&lt;h2 id=&#34;组合生成的调研&#34;&gt;组合生成的调研
&lt;/h2&gt;&lt;p&gt;还有之前老师让我去调研的几个组合生成相关的工作，这几次组会都没来得及讲，所以我就简单介绍下&lt;/p&gt;
&lt;h3 id=&#34;two-by-two&#34;&gt;Two by Two
&lt;/h3&gt;&lt;p&gt;题目 ：Two by Two : Learning Multi-Task Pairwise Objects Assembly for Generalizable Robot Manipulation&lt;/p&gt;
&lt;p&gt;CVPR2025 04.06  &lt;a class=&#34;link&#34; href=&#34;https://tea-lab.github.io/TwoByTwo/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;网页&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;总结：&lt;/strong&gt; 输入两个需要装配的物体，比如插座和插头，这个工作是一个数据集，然后训练了一个网络，能够把两个物体的点云对齐，比如把插头和插座对准。&lt;/p&gt;
&lt;p&gt;以下是细节：&lt;/p&gt;
&lt;p&gt;让机器人成功完成装配之类的任务需要对对象对之间的空间关系进行精确推理。机器人需要准确估计每个物体的 6D 姿态，包括它们在空间中的方向和位置。
所以这篇论文的主要创新之处就在于考虑了&lt;strong&gt;物体之间的空间关系&lt;/strong&gt;吧。&lt;/p&gt;
&lt;p&gt;2BY2数据集​​：
​​规模与多样性​​：第一个大型组装数据集，包含517对物体、1034个实例，覆盖18个细粒度任务（如插头插入、鲜花插瓶、面包放入烤面包机等）。&lt;/p&gt;
&lt;p&gt;​​标注信息​​：提供6D姿态（平移+旋转）和对称性标注，模拟真实场景中的物理约束。&lt;/p&gt;
&lt;p&gt;​​任务分类​​：分为三大类（Lid Covering, Inserting and High Precision Placing），每类进一步细分为具体任务（如钥匙开锁、硬币存钱罐）。&lt;/p&gt;
&lt;h4 id=&#34;工作流&#34;&gt;工作流
&lt;/h4&gt;&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/assemblyReport01/2b2.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;2b2&#34;
	
	
&gt;&lt;/p&gt;
&lt;h4 id=&#34;具体实现方法&#34;&gt;具体实现方法
&lt;/h4&gt;&lt;p&gt;解决的问题是日常成对物体组装任务中的6D姿态估计问题​​，即在三维空间中对两个物体进行精确的相对位姿（位置+旋转）预测，使其能够完成功能性组装（如插头插入插座、盖子盖在瓶子上等）。&lt;/p&gt;
&lt;p&gt;先对之前的数据集作了一个处理，分成两部分，物体 B 是底座或接收组件，例如螺母、花瓶、邮筒。物体 A 是配件组件，例如螺栓、花朵、邮件。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;输入​​：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;两个物体的点云 $P_{A}$ 插入物体，如插头）和$P_{A}$（基础物体，如插座），每个点云为1024个点的坐标集合。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;​​输出​​：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;两个SE(3)变换矩阵 ($T_{B}, R_{B}$) 和 ($T_{A}, R_{A}$)，然后分别将$P_{A}$和$P_{B}$变换到预定义的Canonical Space，使其在规范空间内完成正确组装。&lt;/p&gt;
&lt;p&gt;​​规范空间​​：根据任务类型定义的基础坐标系。例如：
​​放置类任务​​（如花瓶）：物体稳定放置在XY平面，Z轴垂直向上。
​​插入类任务​​（如插座）：基础物体固定在XZ平面（模拟墙面），插入方向沿Y轴&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;方法：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;网络分为两个分支，​​模仿人类分步组装逻辑​​（如先固定插座，再插入插头）&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Branch B（基础物体预测）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;两尺度Vector Neuron DGCNN​​：提取$SE(3)$等变特征（旋转/平移时特征同步变换）。&lt;/p&gt;
&lt;p&gt;​​MLP预测头​​：从特征中直接预测旋转矩阵$R_B$和平移向量$T_B​$&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Branch A&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;基于Object B的预测位姿，预测Object A（如插头）的位姿&lt;/p&gt;
&lt;p&gt;将Object B的SO(3)不变特征（与旋转无关）与Object A的SE(3)等变特征​​点乘融合​​，保留几何对齐信息。&lt;/p&gt;
&lt;p&gt;​​MLP预测头​​：输出$R_A$和$T_A$&lt;/p&gt;
&lt;h4 id=&#34;训练策略&#34;&gt;训练策略
&lt;/h4&gt;&lt;p&gt;分步独立训练​​&lt;/p&gt;
&lt;p&gt;​​Branch B训练​​：使用Object B的规范位姿真值（无需考虑Object A）。&lt;/p&gt;
&lt;p&gt;​​Branch A训练​​：固定Branch B，使用Object B的​​真值位姿​​（避免预测误差传递）。&lt;/p&gt;
&lt;p&gt;​​推理阶段​​：先预测Object B位姿，再基于此预测Object A位姿。&lt;/p&gt;
&lt;p&gt;loss 分两个，一个是平移loss，$\mathcal{L}_{\mathrm{trans}}=\|T_{\mathrm{pred}}-T_{\mathrm{gt}}\|_1$，另一个是旋转loss，$\mathcal{L}_{\mathrm{rot}}=\arccos\left(\frac{\mathrm{tr}(R_{\mathrm{gt}}R_{\mathrm{pred}}^T)-1}{2}\right)$&lt;/p&gt;
&lt;p&gt;​​跨物体特征融合​​：通过点乘显式建模功能关系（如孔-轴匹配）&lt;/p&gt;
&lt;h3 id=&#34;infinite-mobility&#34;&gt;Infinite Mobility
&lt;/h3&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/OpenRobotLab/Infinite-Mobility&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;网页&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;总结：&lt;/strong&gt;
定死URDF的文件框架，在此基础上生成各种各样零件的排列方式，从而得到铰接的物体。&lt;/p&gt;
&lt;p&gt;以下是细节部分：&lt;/p&gt;
&lt;p&gt;这篇文章要解决的问题是如何高效地生成大规模高质量的关节物体，以满足具身AI相关任务的需求。现有的方法要么是基于数据驱动的，要么是基于模拟的，这两种方法都受到训练数据规模和质量或模拟的真实性和劳动强度的限制。&lt;/p&gt;
&lt;h4 id=&#34;核心原理&#34;&gt;核心原理
&lt;/h4&gt;&lt;p&gt;我觉得这篇文章的一个比较好的思路是：
每个刚体都描述为一个链接，每个关节是两个链接之间的连接。通过这种结构，铰接对象可以描述为树状结构，其中每个节点代表一个链接，每条边代表一个关节。
从根节点开始，通过语义规则递归添加子节点，生成必要部件（比如椅子的轮子等），同时允许多样化扩展。&lt;/p&gt;
&lt;div align=center&gt;  &lt;!-- 可选的项：right，left，center --&gt;
    &lt;img src=&#34;https://Peraspera1.github.io/images/assemblyReport01/IM1.png&#34; width=&#34;768&#34; height=&#34;512&#34;&gt;  &lt;!-- src处填写路径（本地或网络） width 和 height 就是控制图片的大小的--&gt;
&lt;/div&gt;
&lt;p&gt;部分URDF截图：&lt;/p&gt;
&lt;p&gt;定义物体：
&lt;img src=&#34;https://Peraspera1.github.io/images/assemblyReport01/IM2_3.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;re2&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;生成物体之间的连接：
&lt;img src=&#34;https://Peraspera1.github.io/images/assemblyReport01/IM2_4.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;re2&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;部分物理属性（如摩擦、阻尼）尚未自动化生成，而且底层的组件部分还是有限的(blender api + 本地库)，并非生成得到，但是这个用trellis3D之类的会非常好生成，因为只需要mesh和mtl了&lt;/p&gt;
&lt;h4 id=&#34;结果&#34;&gt;结果
&lt;/h4&gt;&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/assemblyReport01/IM2.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;re&#34;
	
	
&gt;
&lt;img src=&#34;https://Peraspera1.github.io/images/assemblyReport01/IM2_1.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;re2&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;不过对于lay out布局来说，目前还是手动指定的，比如下图就是作者在论文中给出的
&lt;img src=&#34;https://Peraspera1.github.io/images/assemblyReport01/IM2_2.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;re3&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;但是据作者所说，他们应该准备做生成物体布局的工作了，估计今年下半年能够做出来&lt;/p&gt;
&lt;p&gt;还有一个缺点是这篇论文生成的物体可能不能拆卸或组装&lt;/p&gt;
&lt;h3 id=&#34;partrm&#34;&gt;PartRM
&lt;/h3&gt;&lt;p&gt;PartRM: Modeling Part-Level Dynamics with Large Cross-State Reconstruction Model&lt;/p&gt;
&lt;p&gt;CVPR2025 03.19  &lt;a class=&#34;link&#34; href=&#34;https://PartRM.c7w.tech/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;网页&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;总结：&lt;/strong&gt; 也是3D铰接物体的生成，区别是之前的工作更加侧重于&lt;strong&gt;生成&lt;/strong&gt; 大量的铰接物体以供训练，这个工作侧重于从一张图片中推理出铰接物体的未来运动（比如给一个关闭的门，能预测出门打开的样子），代码我还没来得及看&lt;/p&gt;
&lt;p&gt;以下是具体细节：&lt;/p&gt;
&lt;h4 id=&#34;问题&#34;&gt;问题
&lt;/h4&gt;&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/assemblyReport01/re.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;re&#34;
	
	
&gt;
这篇论文主要的工作集中于部件级动态建模方面&lt;/p&gt;
&lt;p&gt;1 提高了动态建模的精度和一致性：现有方法如Puppet-Master和DragAPart通常只能处理&lt;strong&gt;单视图图像或视频&lt;/strong&gt;。而PartRM能够生成3D-aware的部件级运动，并且在多视角下保持一致性
；也就是说之前的工作都是在平面上的抽屉开合，这个工作有物体的三维表示（高斯）&lt;/p&gt;
&lt;p&gt;2 PartRM提出了&lt;strong&gt;PartDrag-4D数据集&lt;/strong&gt;，该数据集提供了20,000多个部件状态的多视角图像，极大地丰富了训练数据。&lt;/p&gt;
&lt;p&gt;3 PartRM采用了&lt;strong&gt;两阶段训练策略&lt;/strong&gt;，分别处理运动学习和外观/几何学习，避免了灾难性遗忘，从而提高了模型的泛化能力。不过我感觉这个两阶段训练处处都有，不能算创新?&lt;/p&gt;
&lt;h4 id=&#34;输入输出&#34;&gt;输入&amp;amp;输出
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;Pipeline&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;任务定义如下：
给定单张铰链物体的图像,一张静态的物体图像（例如微波炉的正面图） $o_t$ 和用户指定的拖拽 $a_t$（表示部件的运动方向和幅度，一个视图，像素坐标级别移动）（这个$a_t$表示从门关闭的位置到门打开的位置的运动）&lt;/p&gt;
&lt;p&gt;输出t+N时刻(N任意)
PartRM会输出门在整个过程中从关闭到打开的每个时刻的运动信息。例如，它会给出门的具体位置，门的移动幅度，以及在不同时间点的姿态，而且由于是高斯渲染，所以能保证多视角的一致性。&lt;/p&gt;
&lt;p&gt;输入：一张包含物体（如门）的单视图图像，以及门的起始位置和终点位置的拖拽交互信息（这些位置是通过像素坐标指定的）。&lt;/p&gt;
&lt;p&gt;输出：模型生成物体的3D表示，以及在不同时间点和视角下的物体状态和运动轨迹。&lt;/p&gt;
&lt;h4 id=&#34;工作流-1&#34;&gt;工作流
&lt;/h4&gt;&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/assemblyReport01/PartRM1.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;workflow&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;首先会利用 Zero123++ 生成输入的多视角图像，然后对输入的拖拽在用户希望移动的 Part 上进行传播。&lt;/p&gt;
&lt;p&gt;这个part是利用SAM分割得到的&lt;/p&gt;
&lt;div align=center&gt;  &lt;!-- 可选的项：right，left，center --&gt;
    &lt;img src=&#34;https://Peraspera1.github.io/images/assemblyReport01/seg.png&#34; width=&#34;768&#34; height=&#34;512&#34;&gt;  &lt;!-- src处填写路径（本地或网络） width 和 height 就是控制图片的大小的--&gt;
&lt;/div&gt;
&lt;p&gt;这些多视角的图像和传播后的拖拽会输入网络中，这个网络会对输入的拖拽进行多尺度的嵌入，然后将得到的嵌入拼接到重建网络的下采样层中。&lt;/p&gt;
&lt;p&gt;因为网络可能不一定能识别到拖拽的区域。因此对拖拽进行传播到需要被拖拽部分的各个区域，使得后续网络感知到需要被拖拽的区域，为此我们设计了一个拖拽传播策略。如图所示，我们首先拿用户给定的拖拽的起始点输入进 Segment Anything 模型中得到对应的被拖拽区域的掩码，然后在这个掩码区域内采样一些点作为被传播拖拽的起始点，这些被传播的拖拽的强度和用户给定的拖拽的强度一样。&lt;/p&gt;
&lt;p&gt;嵌入的过程如下：
&lt;img src=&#34;https://Peraspera1.github.io/images/assemblyReport01/embedding.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;workflow&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;在训练过程中，采用两阶段训练方法，第一阶段学习 Part 的运动，利用高斯库里的 3D 高斯进行监督，第二阶段学习外观，利用数据集里的多视角图像进行监督。&lt;/p&gt;
&lt;h4 id=&#34;数据集&#34;&gt;数据集
&lt;/h4&gt;&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/assemblyReport01/PartRM_dataset.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;dataset&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;文中选取了 8 种铰链物体（其中 7 种用于训练， 1 种用于测试），共 738 个 mesh。对于每个 mesh，如上图所示，文中使其中某个部件在两种极限状态（如完全闭合到完全开启）间运动至 6 个状态，同时将其他部分状态 设置为随机，从而产生共 20548 个状态，其中 20057 个用于训练，491 个用于测试。为渲染多视角图像，我们利用 Blender 为每个 mesh 渲染了 12 个视角的图像。对于两个状态之间拖拽数据的采样，我们在铰链物体运动部件的 Mesh 表面选取采样点，并将两个状态中对应的采样点投影至 2D 图像空间，即可获得对应的拖拽数据。&lt;/p&gt;
&lt;h4 id=&#34;泛化到未知的数据&#34;&gt;泛化到未知的数据
&lt;/h4&gt;&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/assemblyReport01/re2.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;re2&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;因为只指定了物体运动的启动和终点，所以在比较平滑的运动上能够取得比较好的效果，但是应该也不会太好。&lt;/p&gt;
&lt;p&gt;还有一个比较严重的问题，就是他们训练的时候是给了blender中的模型，比如一个抽屉，那么是可以学习抽屉从关闭到打开的过程的，因为模型见过抽屉里的东西，但是泛化到未知环境的时候，怎么生成那些没见过的视图的细节呢？&lt;/p&gt;
&lt;p&gt;而且文中只提到了一点点应用于操作上的内容，不过我没明白这种生成方式是怎么应用上去的，理论上机器人不可能和高斯交互吧，可能要具体看看代码才知道。&lt;/p&gt;
&lt;h3 id=&#34;cast&#34;&gt;CAST
&lt;/h3&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://sites.google.com/view/cast4&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CAST: Component-Aligned 3D Scene Reconstruction from an RGB Image&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;从单张RGB图像重建高质量3D场景，核心是通过分解场景为独立物体生成，并结合根据关系图定义的接触和支撑约束，利用SDF优化物体姿态，消除穿透和漂浮现象，确保场景物理合理性，实现高保真和物理合理的重建&lt;/p&gt;
&lt;p&gt;虽然代码没有开源，但是这个工作是我目前见过的看起来效果最好的场景重建，论文的细节我准备下周花点时间去看看。&lt;/p&gt;
&lt;p&gt;其重建出的3D场景的结果如下：&lt;/p&gt;
&lt;img src=&#34;https://Peraspera1.github.io/images/report0508/cast1.png&#34; alt=&#34;图片描述&#34; style=&#34;width: 800px; height: auto;&#34; /&gt;
</description>
        </item>
        <item>
        <title>AssemblyReport01</title>
        <link>https://Peraspera1.github.io/p/assemblyreport01/</link>
        <pubDate>Thu, 17 Apr 2025 21:58:56 +0800</pubDate>
        
        <guid>https://Peraspera1.github.io/p/assemblyreport01/</guid>
        <description>&lt;img src="https://Peraspera1.github.io/images/assemblyReport01/cover2.jpg" alt="Featured image of post AssemblyReport01" /&gt;&lt;p&gt;一个对于近期组合生成论文的总结&lt;/p&gt;
&lt;h2 id=&#34;partrm&#34;&gt;PartRM
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;论文题目：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;PartRM: Modeling Part-Level Dynamics with Large Cross-State Reconstruction Model&lt;/p&gt;
&lt;p&gt;CVPR2025 03.19  &lt;a class=&#34;link&#34; href=&#34;https://PartRM.c7w.tech/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;网页&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;问题&#34;&gt;问题
&lt;/h3&gt;&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/assemblyReport01/re.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;re&#34;
	
	
&gt;
这篇论文主要的工作集中于部件级动态建模方面&lt;/p&gt;
&lt;p&gt;1 提高了动态建模的精度和一致性：现有方法如Puppet-Master和DragAPart通常只能处理&lt;strong&gt;单视图图像或视频&lt;/strong&gt;。而PartRM能够生成3D-aware的部件级运动，并且在多视角下保持一致性
；也就是说之前的工作都是在平面上的抽屉开合，这个工作有物体的三维表示（高斯）&lt;/p&gt;
&lt;p&gt;2 PartRM提出了&lt;strong&gt;PartDrag-4D数据集&lt;/strong&gt;，该数据集提供了20,000多个部件状态的多视角图像，极大地丰富了训练数据。&lt;/p&gt;
&lt;p&gt;3 PartRM采用了&lt;strong&gt;两阶段训练策略&lt;/strong&gt;，分别处理运动学习和外观/几何学习，避免了灾难性遗忘，从而提高了模型的泛化能力。不过我感觉这个两阶段训练处处都有，不能算创新?&lt;/p&gt;
&lt;h3 id=&#34;输入输出&#34;&gt;输入&amp;amp;输出
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Pipeline&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;任务定义如下：
给定单张铰链物体的图像,一张静态的物体图像（例如微波炉的正面图） $o_t$ 和用户指定的拖拽 $a_t$（表示部件的运动方向和幅度，一个视图，像素坐标级别移动）（这个$a_t$表示从门关闭的位置到门打开的位置的运动）&lt;/p&gt;
&lt;p&gt;输出t+N时刻(N任意)
PartRM会输出门在整个过程中从关闭到打开的每个时刻的运动信息。例如，它会给出门的具体位置，门的移动幅度，以及在不同时间点的姿态，而且由于是高斯渲染，所以能保证多视角的一致性。&lt;/p&gt;
&lt;p&gt;输入：一张包含物体（如门）的单视图图像，以及门的起始位置和终点位置的拖拽交互信息（这些位置是通过像素坐标指定的）。&lt;/p&gt;
&lt;p&gt;输出：模型生成物体的3D表示，以及在不同时间点和视角下的物体状态和运动轨迹。&lt;/p&gt;
&lt;h3 id=&#34;工作流&#34;&gt;工作流
&lt;/h3&gt;&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/assemblyReport01/PartRM1.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;workflow&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;首先会利用 Zero123++ 生成输入的多视角图像，然后对输入的拖拽在用户希望移动的 Part 上进行传播。&lt;/p&gt;
&lt;p&gt;这个part是利用SAM分割得到的&lt;/p&gt;
&lt;div align=center&gt;  &lt;!-- 可选的项：right，left，center --&gt;
    &lt;img src=&#34;https://Peraspera1.github.io/images/assemblyReport01/seg.png&#34; width=&#34;768&#34; height=&#34;512&#34;&gt;  &lt;!-- src处填写路径（本地或网络） width 和 height 就是控制图片的大小的--&gt;
&lt;/div&gt;
&lt;p&gt;这些多视角的图像和传播后的拖拽会输入网络中，这个网络会对输入的拖拽进行多尺度的嵌入，然后将得到的嵌入拼接到重建网络的下采样层中。&lt;/p&gt;
&lt;p&gt;因为网络可能不一定能识别到拖拽的区域。因此对拖拽进行传播到需要被拖拽部分的各个区域，使得后续网络感知到需要被拖拽的区域，为此我们设计了一个拖拽传播策略。如图所示，我们首先拿用户给定的拖拽的起始点输入进 Segment Anything 模型中得到对应的被拖拽区域的掩码，然后在这个掩码区域内采样一些点作为被传播拖拽的起始点，这些被传播的拖拽的强度和用户给定的拖拽的强度一样。&lt;/p&gt;
&lt;p&gt;嵌入的过程如下：
&lt;img src=&#34;https://Peraspera1.github.io/images/assemblyReport01/embedding.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;workflow&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;在训练过程中，我们采用两阶段训练方法，第一阶段学习 Part 的运动，利用高斯库里的 3D 高斯进行 监督，第二阶段学习外观，利用数据集里的多视角图像进行监督。&lt;/p&gt;
&lt;h3 id=&#34;数据集&#34;&gt;数据集
&lt;/h3&gt;&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/assemblyReport01/PartRM_dataset.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;dataset&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;文中选取了 8 种铰链物体（其中 7 种用于训练， 1 种用于测试），共 738 个 mesh。对于每个 mesh，如上图所示，文中使其中某个部件在两种极限状态（如完全闭合到完全开启）间运动至 6 个状态，同时将其他部分状态 设置为随机，从而产生共 20548 个状态，其中 20057 个用于训练，491 个用于测试。为渲染多视角图像，我们利用 Blender 为每个 mesh 渲染了 12 个视角的图像。对于两个状态之间拖拽数据的采样，我们在铰链物体运动部件的 Mesh 表面选取采样点，并将两个状态中对应的采样点投影至 2D 图像空间，即可获得对应的拖拽数据。&lt;/p&gt;
&lt;h3 id=&#34;泛化到未知的数据&#34;&gt;泛化到未知的数据
&lt;/h3&gt;&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/assemblyReport01/re2.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;re2&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;因为只指定了物体运动的启动和终点，所以在比较平滑的运动上能够取得比较好的效果，但是应该也不会太好。&lt;/p&gt;
&lt;p&gt;还有一个比较严重的问题，就是他们训练的时候是给了blender中的模型，比如一个抽屉，那么是可以学习抽屉从关闭到打开的过程的，因为模型见过抽屉里的东西，但是泛化到未知环境的时候，怎么生成那些没见过的视图的细节呢？&lt;/p&gt;
&lt;p&gt;而且文中只提到了一点点应用于操作上的内容，不过我没明白这种生成方式是怎么应用上去的，理论上机器人不可能和高斯交互吧。总的来说，无论是研究方法还是目标都挺无聊的。&lt;/p&gt;
&lt;h2 id=&#34;infinite-mobility&#34;&gt;Infinite Mobility
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;论文题目&lt;/strong&gt;：&lt;/p&gt;
&lt;p&gt;Infinite Mobility: Scalable High-Fidelity Synthesis of Articulated Objects via Procedural Generation&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/OpenRobotLab/Infinite-Mobility&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;网页&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;这篇文章要解决的问题是如何高效地生成大规模高质量的关节物体，以满足具身AI相关任务的需求。现有的方法要么是基于数据驱动的，要么是基于模拟的，这两种方法都受到训练数据规模和质量或模拟的真实性和劳动强度的限制。&lt;/p&gt;
&lt;h3 id=&#34;核心原理&#34;&gt;核心原理
&lt;/h3&gt;&lt;p&gt;我觉得这篇文章的一个比较好的思路是：
每个刚体都描述为一个链接，每个关节是两个链接之间的连接。通过这种结构，铰接对象可以描述为树状结构，其中每个节点代表一个链接，每条边代表一个关节。
从根节点开始，通过语义规则递归添加子节点，确保必要部件生成，同时允许多样化扩展。&lt;/p&gt;
&lt;div align=center&gt;  &lt;!-- 可选的项：right，left，center --&gt;
    &lt;img src=&#34;https://Peraspera1.github.io/images/assemblyReport01/IM1.png&#34; width=&#34;768&#34; height=&#34;512&#34;&gt;  &lt;!-- src处填写路径（本地或网络） width 和 height 就是控制图片的大小的--&gt;
&lt;/div&gt;
&lt;p&gt;部分URDF截图：&lt;/p&gt;
&lt;p&gt;定义物体：
&lt;img src=&#34;https://Peraspera1.github.io/images/assemblyReport01/IM2_3.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;re2&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;生成物体之间的连接：
&lt;img src=&#34;https://Peraspera1.github.io/images/assemblyReport01/IM2_4.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;re2&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;部分物理属性（如摩擦、阻尼）尚未自动化生成，而且底层的部分还是有限的(blender api + 本地库)，并非生成得到，但是这个用trellis3D之类的会非常好生成，因为只需要mesh和mtl了&lt;/p&gt;
&lt;h3 id=&#34;结果&#34;&gt;结果
&lt;/h3&gt;&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/assemblyReport01/IM2.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;re&#34;
	
	
&gt;
&lt;img src=&#34;https://Peraspera1.github.io/images/assemblyReport01/IM2_1.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;re2&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;不过对于lay out布局来说，目前还是手动指定的，比如下图就是作者在论文中给出的
&lt;img src=&#34;https://Peraspera1.github.io/images/assemblyReport01/IM2_2.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;re3&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;而且这篇论文生成的物体可能不能拆卸或组装吧？&lt;/p&gt;
&lt;h2 id=&#34;two-by-two&#34;&gt;Two by Two
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;论文题目：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Two by Two : Learning Multi-Task Pairwise Objects Assembly for Generalizable Robot Manipulation&lt;/p&gt;
&lt;p&gt;CVPR2025 04.06  &lt;a class=&#34;link&#34; href=&#34;https://tea-lab.github.io/TwoByTwo/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;网页&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;让机器人成功完成装配之类的任务需要对对象对之间的空间关系进行精确推理。机器人需要准确估计每个物体的 6D 姿态，包括它们在空间中的方向和位置。
所以这篇论文的主要创新之处就在于考虑了&lt;strong&gt;物体之间的空间关系&lt;/strong&gt;吧。&lt;/p&gt;
&lt;p&gt;2BY2数据集​​：
​​规模与多样性​​：第一个大型组装数据集，包含517对物体、1034个实例，覆盖18个细粒度任务（如插头插入、鲜花插瓶、面包放入烤面包机等）。&lt;/p&gt;
&lt;p&gt;​​标注信息​​：提供6D姿态（平移+旋转）和对称性标注，模拟真实场景中的物理约束。&lt;/p&gt;
&lt;p&gt;​​任务分类​​：分为三大类（Lid Covering, Inserting and High Precision Placing），每类进一步细分为具体任务（如钥匙开锁、硬币存钱罐）。&lt;/p&gt;
&lt;h3 id=&#34;工作流-1&#34;&gt;工作流
&lt;/h3&gt;&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/assemblyReport01/2b2.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;2b2&#34;
	
	
&gt;&lt;/p&gt;
&lt;h3 id=&#34;具体实现方法&#34;&gt;具体实现方法
&lt;/h3&gt;&lt;p&gt;解决的问题是日常成对物体组装任务中的6D姿态估计问题​​，即在三维空间中对两个物体进行精确的相对位姿（位置+旋转）预测，使其能够完成功能性组装（如插头插入插座、盖子盖在瓶子上等）。&lt;/p&gt;
&lt;p&gt;先对之前的数据集作了一个处理，分成两部分，物体 B 是底座或接收组件，例如螺母、花瓶、邮筒。物体 A 是配件组件，例如螺栓、花朵、邮件。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;输入​​：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;两个物体的点云 $P_{A}$ 插入物体，如插头）和$P_{A}$（基础物体，如插座），每个点云为1024个点的坐标集合。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;​​输出​​：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;两个SE(3)变换矩阵 ($T_{B}, R_{B}$) 和 ($T_{A}, R_{A}$)，然后分别将$P_{A}$和$P_{B}$变换到预定义的​​规范空间​​（Canonical Space），使其在规范空间内完成正确组装。&lt;/p&gt;
&lt;p&gt;​​规范空间​​：根据任务类型定义的基础坐标系。例如：
​​放置类任务​​（如花瓶）：物体稳定放置在XY平面，Z轴垂直向上。
​​插入类任务​​（如插座）：基础物体固定在XZ平面（模拟墙面），插入方向沿Y轴&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;方法：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;网络分为两个分支，​​模仿人类分步组装逻辑​​（如先固定插座，再插入插头）&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Branch B（基础物体预测）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;两尺度Vector Neuron DGCNN​​：提取$SE(3)$等变特征（旋转/平移时特征同步变换）。&lt;/p&gt;
&lt;p&gt;​​MLP预测头​​：从特征中直接预测旋转矩阵$R_B$和平移向量$T_B​$&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Branch A&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;基于Object B的预测位姿，预测Object A（如插头）的位姿&lt;/p&gt;
&lt;p&gt;将Object B的SO(3)不变特征（与旋转无关）与Object A的SE(3)等变特征​​点乘融合​​，保留几何对齐信息。&lt;/p&gt;
&lt;p&gt;​​MLP预测头​​：输出$R_A$和$T_A$&lt;/p&gt;
&lt;h3 id=&#34;训练策略&#34;&gt;训练策略
&lt;/h3&gt;&lt;p&gt;分步独立训练​​&lt;/p&gt;
&lt;p&gt;​​Branch B训练​​：使用Object B的规范位姿真值（无需考虑Object A）。&lt;/p&gt;
&lt;p&gt;​​Branch A训练​​：固定Branch B，使用Object B的​​真值位姿​​（避免预测误差传递）。&lt;/p&gt;
&lt;p&gt;​​推理阶段​​：先预测Object B位姿，再基于此预测Object A位姿。&lt;/p&gt;
&lt;p&gt;loss 分两个，一个是平移loss，$\mathcal{L}_{\mathrm{trans}}=\|T_{\mathrm{pred}}-T_{\mathrm{gt}}\|_1$，另一个是旋转loss，$\mathcal{L}_{\mathrm{rot}}=\arccos\left(\frac{\mathrm{tr}(R_{\mathrm{gt}}R_{\mathrm{pred}}^T)-1}{2}\right)$&lt;/p&gt;
&lt;p&gt;​​跨物体特征融合​​：通过点乘显式建模功能关系（如孔-轴匹配）&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Report0404</title>
        <link>https://Peraspera1.github.io/p/report0404/</link>
        <pubDate>Mon, 31 Mar 2025 10:28:46 +0800</pubDate>
        
        <guid>https://Peraspera1.github.io/p/report0404/</guid>
        <description>&lt;img src="https://Peraspera1.github.io/images/report0404/cover.jpg" alt="Featured image of post Report0404" /&gt;&lt;h2 id=&#34;论文总结&#34;&gt;论文总结
&lt;/h2&gt;&lt;h3 id=&#34;scenemotifcoder&#34;&gt;SceneMotifCoder
&lt;/h3&gt;&lt;p&gt;SMC，一种基于示例驱动的视觉程序学习框架，用于根据文本描述生成3D物体排列。它利用大语言模型（LLMs）从少量示例中学习和概括空间图案，创建可重用的元程序，从而生成多样且物理上合理的3D布局。这篇文章之所以能够比其他方法在生成合理布局的方式上取得更好的效果，是因为他们显式地指定了物体排列的几种方式（比如堆叠，环绕，一共差不多10种左右），而且3D资产是从本地库里调出来的，比如输入一段话，模型会调用clip模型，找数据库里最符合的模型。&lt;/p&gt;
&lt;p&gt;这篇文章有几个很明显的缺点，首先motif/meta程序的生成需要不断地调用gpt做询问和验证，尽管论文中说3次以内GPT就能生成正确的程序，但是实测这一步极其容易失败，往往需要十几次迭代。其次，物体排列的方式一定得是他们提前规定好的那几种方式。第三，这篇文章主要是为了生成不同排列方式的Asset，但是Asset是从本地下载的资源库里得到的，而不是生成得到的，也就是模型资源有限，比如我想生成几本书堆叠在一起，往往一直都是那几本书。&lt;/p&gt;
&lt;h3 id=&#34;trellis3d&#34;&gt;trellis3d
&lt;/h3&gt;&lt;p&gt;利用了flow-matching等最新的大模型技术，加上大量的数据，做文/图生3D Asset，相比于以往的方法，能够生成更好的材质/细节等，在渲染质量上有了显著提升，
比较有意思的点是能有灵活的输出格式选择和本地 3D 编辑功能，&lt;/p&gt;
&lt;p&gt;一些最近工作与他的对比&lt;/p&gt;
&lt;p&gt;1 &lt;a class=&#34;link&#34; href=&#34;https://github.com/Tencent/Hunyuan3D-2&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Hunyuan3D 2.0: Scaling Diffusion Models for High Resolution Textured 3D Assets Generation&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;25.01.12&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这篇文章的baseline就是trellis3d；&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/report0404/pic1.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;hy1&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/report0404/pic2.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;hy2&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;2 Simulating the Real World: A Unified Survey ofMultimodal Generative Model&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;25.03.04&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;一个综述，总结了下文字/图片生成3D Asset的一些工作，有张图我觉得还不错&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/report0404/pic3.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;1&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;3 &lt;a class=&#34;link&#34; href=&#34;https://sm0kywu.github.io/Amodal3R/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Amodal3R: Amodal 3D Reconstruction from Occluded 2D Images&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;25.03.17&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;在有遮挡的条件下重建3D物体&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/report0404/pic4.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;2&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/report0404/pic5.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;3&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;4 Can Video Diffusion Model Reconstruct 4D Geometry?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;25.03.27&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;动态场景的物体重建&lt;/p&gt;
&lt;p&gt;5 V2M4: 4D Mesh Animation Reconstruction from a Single Monocular Video&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;25.03.11&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;动态场景的物体重建，单目&lt;/p&gt;
&lt;p&gt;6 &lt;a class=&#34;link&#34; href=&#34;https://github.com/Jianghanxiao/PhysTwin&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PhysTwin: Physics-Informed Reconstruction and Simulation of Deformable Objects from Videos&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;25.03.17&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;王申龙老师的工作，也cite了trellis3d，是我目前看到的最喜欢的工作！而且还开源了！&lt;/p&gt;
&lt;p&gt;为了应对稀疏观测带来的挑战，这篇工作利用了来自&lt;strong&gt;trellis3d&lt;/strong&gt;和视觉基础模型的形状先验和运动估计来估计我们物理表示的拓扑、几何和物理参数。&lt;/p&gt;
&lt;h3 id=&#34;blender-mcp&#34;&gt;blender-mcp
&lt;/h3&gt;&lt;p&gt;两个星期前发布的，是一种利用 claude 控制建模的方式，和SMC类似。&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://blender-mcp.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;blender-mcp&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;小结&#34;&gt;小结
&lt;/h3&gt;&lt;p&gt;主要介绍了3种不同的生成3D Asset的方法。&lt;/p&gt;
&lt;p&gt;SLAT 的核心目标是生成单个高保真3D物体（如一把椅子、一个杯子），专注于解决如何统一表示物体的几何形状和外观纹理。它通过隐式建模（如扩散模型）直接输出3D模型，支持多种格式（3D高斯、辐射场、网格）。&lt;/p&gt;
&lt;p&gt;SMC 的核心目标是生成多个物体的空间排列规则（如餐桌上的餐具布局、墙上的装饰画），专注于抽象化物体间的空间关系（如堆叠、环绕）。它通过程序化生成（如LLM编写的代码）描述物体如何摆放，依赖外部3D模型库实例化具体物体。&lt;/p&gt;
&lt;p&gt;SLAT 使用结构化潜在空间（稀疏3D网格 + 视觉特征）表示物体，通过两阶段扩散模型生成：首先生成稀疏结构，再填充局部细节。其优势在于高质量单物体生成，但编辑需通过隐变量调整，不够直观。SMC 使用视觉程序（如Python-like的领域特定语言）显式定义排列逻辑（如“循环放置5个盘子，间距0.1米”）。它通过LLM从少量示例中归纳程序模板，生成可读、可编辑的代码，直接控制物体位置、旋转和数量。&lt;/p&gt;
&lt;p&gt;SLAT 直接输出3D模型，但可能缺乏物理合理性（如物体悬空、穿透），需后处理修正。而SMC通过程序强制约束物理规则（如碰撞检测、接触面优化），生成布局更符合现实，但需依赖外部模型库和几何优化步骤。不过我感觉SLAT能够输出多种不同类型的3D模型，这是一个非常好的特点。&lt;/p&gt;
&lt;p&gt;其次，blender-mcp我感觉和SMC类似，这个方法的模型库来自一些网站（SMC是本地存储），但是总体来说，模型是固定的，但是这种方式的好处在于，通过claude调取网络上的模型库，其得到的模型资源会更加丰富一点，不过缺点显然就是没有那些物理上排列组合的约束。但是blender-mcp可以通过claude实时调整模型的位置，又稍稍弥补了这个缺点。个人体验而言，我觉得blender-mcp会更好一点。&lt;/p&gt;
&lt;p&gt;btw，所有生成的模型都不能用于仿真，因为他们生成的都是表面的三角mesh，而物理仿真通常需要体网格（比如实心和空心的物体对于外力的响应显然是完全不同的）。其实想想也是，仅通过视觉怎么可能知道物体的内部结构呢？所以我认为才需要更多的信息帮助物体的重建，这样引入触觉就是非常自然的选择了。&lt;/p&gt;
&lt;p&gt;如果一定要用到上面的工作的话，我觉得只能用于碰撞检测吧，因为有生成的物体的几何外形之后，搞一个碰撞盒，做轨迹规划倒是可以，可以参考下面这篇论文。&lt;/p&gt;
&lt;p&gt;VISO-Grasp: Vision-Language Informed Spatial Object-centric 6-DoF  Active View Planning and Grasping in Clutter and Invisibility&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;25.03.17&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;应该是iros25在投，感觉还可，在复杂场景抓取目标物体。&lt;/p&gt;
&lt;h2 id=&#34;一些物理仿真平台的调研和思考&#34;&gt;一些物理仿真平台的调研和思考
&lt;/h2&gt;&lt;h3 id=&#34;genesis&#34;&gt;Genesis
&lt;/h3&gt;&lt;p&gt;定位与特点：
Genesis 是由 Taichi 和 Deepmind 共同推动的一个新兴开源物理仿真平台，本质上可以看作是对现有技术的高度集成与模块化重构。它底层使用 MuJoCo，结合 Taichi 进行高效并行计算，支持 GPU 加速，并引入光追模块用于渲染。&lt;/p&gt;
&lt;p&gt;优势：&lt;/p&gt;
&lt;p&gt;模块化强、拓展性好：得益于 Taichi 的参与，开发者可以方便地定制和拓展各类物理模块（如 MPM、PBD 等），特别适合研究者和算法开发者。&lt;/p&gt;
&lt;p&gt;对软体、流体友好：Taichi 提供的基础模拟能力，如 MPM 和 SPH，在处理可变形体和粒子系统方面很自然。&lt;/p&gt;
&lt;p&gt;可扩展的生成式接口潜力：虽然目前“生成式”这一方向尚未形成独特优势，但作为平台定位，未来潜力大。&lt;/p&gt;
&lt;p&gt;不足：&lt;/p&gt;
&lt;p&gt;底层依然依赖较老版本的 MuJoCo，动力学精度、接触建模等方面仍有提升空间。&lt;/p&gt;
&lt;p&gt;工业级应用生态尚未建立，稳定性与工具链配套较弱。&lt;/p&gt;
&lt;p&gt;算法实现多为基础版本，现阶段更适合作为研究原型平台。&lt;/p&gt;
&lt;p&gt;适用场景： 学术研究、软体/流体模拟原型、仿真平台开发、教学与原型验证。&lt;/p&gt;
&lt;p&gt;总结：&lt;/p&gt;
&lt;p&gt;我个人觉得Genesis的本质就是：mujoco底层+taichi+gpu并行+光追插件。东西都是之前熟悉并用过的东西，只是各取所长进行了一次重组，提高了开发效率。Genesis目前的taichi部分已经开放的软体和流体算法也只有很基础的mpm+，sph+，pbd+，都是20年taichi刚发布就有的东西，但之后说会有ipc可期待一波。使用体验上来说，目前Genesis的底层还是用的mujoco的旧引擎，对loco任务还好，但 manipulation抓取上还有问题，目前Genesis的优势主要在taichi方便的流体和可变形接口，如果要做软体的话，用这个平台会合适一点。&lt;/p&gt;
&lt;p&gt;Genesis最重要的贡献不是生成式，而是作为一个顶级开源仿真平台把这几年做的比较好的工作都集成到一起。尤其是对接taichi后，模块化好可拓展性很高，如果能做到持续维护更新的话会有很大的发展空间。&lt;/p&gt;
&lt;h3 id=&#34;issac-sim&#34;&gt;issac sim
&lt;/h3&gt;&lt;p&gt;Isaac Sim 由 NVIDIA 开发，基于 Omniverse 平台，具有极高的渲染质量。Isaac Sim 利用 RTX 光线追踪技术，实现逼真的实时渲染，是这三者中图形效果最强的工具，尤其适合需要高保真视觉数据的任务。&lt;/p&gt;
&lt;p&gt;Isaac Sim 采用 PhysX 引擎，这在游戏和高性能仿真中非常常见。其动力学求解支持高精度且实时的模拟，适合复杂的载荷和接触问题，且支持自定义物理参数和力矩输入。
但是物理建模虽然实用但不够“学术精确”，对于精细动力学建模（如复杂接触、软体力学）能力有限。
而且它的封闭性较强，底层不如 MuJoCo 和 Genesis 那样开放给研究者深度修改。&lt;/p&gt;
&lt;p&gt;issac lab就是基于issac sim开发的用于强化学习的benchmark&lt;/p&gt;
&lt;h3 id=&#34;mujoco&#34;&gt;mujoco
&lt;/h3&gt;&lt;p&gt;MuJoCo 的渲染相对简单，主要用于计算物理仿真，因此图形渲染能力较为基础。它更注重&lt;strong&gt;物理仿真精度&lt;/strong&gt;而非图形细节。&lt;/p&gt;
&lt;p&gt;MuJoCo 采用的是基于连续时间的动力学求解，使用优化方法进行求解，能够支持复杂关节和接触的高效仿真。它的物理引擎允许用户灵活定制载荷形式，可以在关节、链接和接触面上施加自定义力矩、阻尼等。&lt;/p&gt;
&lt;p&gt;如果要做强化学习，issac sim的并行训练效率更高，如果要做动力学仿真，mujoco的接触会非常准确，但是mujoco对软体、流体类任务支持有限，主要面向刚体系统。&lt;/p&gt;
&lt;h2 id=&#34;部分实验记录&#34;&gt;部分实验记录
&lt;/h2&gt;&lt;p&gt;先用smc生成了一个示例3D资产&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;python&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;inference&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;py&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;desc&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;a stack of four books&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;这个资产在blender中打开，效果如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/report0404/smc1.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;motif1&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;感觉这个程序生成的资产有bug，一叠书里面只有部分书是有材质贴图的，应该是blender的问题，issac sim里是正常的。&lt;/p&gt;
&lt;p&gt;然后导入issac sim，首先简单验证了下碰撞等性质。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/report0404/smc1.gif&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;motif2&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/report0404/smc2.gif&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;motif3&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/report0404/smc3.gif&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;motif4&#34;
	
	
&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Report0318</title>
        <link>https://Peraspera1.github.io/p/report0318/</link>
        <pubDate>Tue, 18 Mar 2025 13:35:13 +0800</pubDate>
        
        <guid>https://Peraspera1.github.io/p/report0318/</guid>
        <description>&lt;img src="https://Peraspera1.github.io/images/report0318/cover.jpg" alt="Featured image of post Report0318" /&gt;&lt;p&gt;之前提到的idea是在&lt;a class=&#34;link&#34; href=&#34;https://physdreamer.github.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Physdreamer&lt;/a&gt;的基础上做分割，分割完了之后再在真实的场景上作预测和仿真。
最近突然发现今年的CVPR上有很多文章已经把我想做的事做完了，索性我就把今年CVPR里和我想做的领域相似的论文都看了一遍，并作了简短的总结如下，并在之后提出了一个新的idea。&lt;/p&gt;
&lt;h2 id=&#34;cvpr-2025&#34;&gt;CVPR 2025
&lt;/h2&gt;&lt;h3 id=&#34;简要回顾&#34;&gt;简要回顾
&lt;/h3&gt;&lt;p&gt;PACNerf (ICLR 2023 Notable) 开创性的工作，没有解决前景背景的分离，在现实世界中的仿真精度很低（体素表示的几何精度很低），需要手动设置材料的类别，然后优化得到材料的参数（简单解释一下，比如一个物体的重量是1kg,重量-类别；1kg-参数），但是可以作弹性仿真、粘性仿真等等；&lt;/p&gt;
&lt;p&gt;PieNerf (CVPR 2024) 优化了PACNerf在大扭曲情况下纹理失真的问题，缺点同PACNerf；&lt;/p&gt;
&lt;p&gt;PhysGaussian (CVPR 2024 Highlight) 开创性的工作 不能在现实中仿真，没有解决前景背景的分离，需要手动设置材料的类别+参数，只能作简单的弹性仿真；&lt;/p&gt;
&lt;p&gt;PhysDreamer (ECCV 2024 Oral) 在PhysGaussian上优化，用生成的视频作监督优化得到材料的参数，但是仍然需要手动设置材料的类别，其余缺点同PhysGaussian；&lt;/p&gt;
&lt;p&gt;VRGS (SIGGRAPH 2024) 在PhysGaussian 做了一个用户自定义施加力的功能，有简单的分割，其余缺点同上；&lt;/p&gt;
&lt;p&gt;PhysGen (ECCV 2024) 独立于上述工作，是二维平面的物理仿真，基本没有上述工作的缺点，利用大模型作材料预测，且二维的分割比较简单，但是只能做刚体模拟，连弹性仿真都做不了，但是二维平面的仿真上他们还可以设置材料的反光率等等，这点在三维环境中就比较难做了；&lt;/p&gt;
&lt;p&gt;Generative Image Dynamics (CVPR 2024 Best Paper) 独立于上述工作，二维平面的可交互弹性仿真，无需显示指定材料，输入力，直接输出响应；&lt;/p&gt;
&lt;h3 id=&#34;decoupledgaussian&#34;&gt;DecoupledGaussian
&lt;/h3&gt;&lt;p&gt;论文题目：&lt;a class=&#34;link&#34; href=&#34;https://wangmiaowei.github.io/DecoupledGaussian.github.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DecoupledGaussian: Object-Scene Decoupling for Physics-Based Interaction&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;该工作的核心亮点在于分割&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;此前所有的研究都无法保证前景与背景的完全分离，即使在2D空间上做了好的segmentation，也很难保证3D中点云的分割，而重建出精细的表面对于物理仿真相当重要，这篇工作的贡献点就在于：1 允许对象独立于初始接触表面移动;2 当物体和场景分离后，还能补全物体和场景的结构;&lt;/p&gt;
&lt;p&gt;效果如下：
&lt;img src=&#34;https://Peraspera1.github.io/images/decoupledgaussian/seg.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;效果11&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;整个框架如下:
&lt;img src=&#34;https://Peraspera1.github.io/images/decoupledgaussian/cover.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;框架&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;首先还是传统的输入多视图图片+colmap+恢复高斯，然后将高斯分布压缩为与场景表面对齐的近似局部平面（这里具体的理论推导在&lt;a class=&#34;link&#34; href=&#34;https://zju3dv.github.io/pgsr/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PGSR&lt;/a&gt;中，不过我还没来得及仔细看）。PGSR就是压扁高斯点云（平面高斯），使其能正确对齐实际场景表面（不然可能出现浮动伪影）。而且被压扁的高斯优化更快速、稳定（只需要沿法线优化）。&lt;/p&gt;
&lt;p&gt;有了一层层平面的高斯之后，然后要识别哪些高斯点属于物体，哪些属于背景。&lt;/p&gt;
&lt;p&gt;具体来说，这篇文章是用语义特征分割的，即每个高斯点都会被赋予一个32维的特征向量，描述其在多视图（用于联合的优化）下的语义信息，然后再通过一个MLP（单层神经网络），将这些特征映射到不同类别（物体或场景）。这个具体实现的细节是一篇2024的ECCV &lt;a class=&#34;link&#34; href=&#34;https://github.com/lkeab/gaussian-grouping&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Gaussian grouping&lt;/a&gt; 加2024年的SIGGRAPH&lt;a class=&#34;link&#34; href=&#34;https://yingjiang96.github.io/VR-GS/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;VR-GS&lt;/a&gt;，本质上应该还是SAM，具体细节我也还没看。&lt;/p&gt;
&lt;p&gt;然后就是这篇文章最大的创新点，用Joint Poisson Fields同时恢复分离后物体和背景场景几何形态，灵感应该是来源于一篇13年的SIGGRAPH。
由于物体和背景在拍摄时是连接在一起的，因此在分离后，原本被遮挡的部分需要补全和修复。例如，一个花盆在桌子上，如果直接移除，桌面上可能会留下不平滑的痕迹，或者花盆底部会变形。&lt;/p&gt;
&lt;p&gt;文中的方法是同时计算计算物体的泊松指示函数$X_O$和背景的泊松指示函数$X_S$。如果 $X_{O(S)}(x)&gt;0.5$，表示该点属于物体（或背景）,如果泊松重建认为有的点同时属于物体和背景，那就直接当成背景，因为背景通常更加稳定。而且文章说Joint Poisson Fields自动生成平滑、封闭的3D表面？？？（例如，如果我们想要分离桌子上的一个花瓶，泊松重建会确保花瓶底部在分离后是封闭的，而不是一个空洞）&lt;/p&gt;
&lt;p&gt;其次，高斯点的$\alpha$混合 (alpha blending) 可能导致多个高斯点的融合，真实表面的位置会受到影响，甚至出现几何扩展或重影，所以他们在现有高斯的基础上生成了代理高斯。&lt;/p&gt;
&lt;p&gt;具体来说，他们用了TSDF的方法，通过设置高斯点的$\alpha$值，使得除了目标物体之外的所有高斯点透明，从而获得物体的二值掩码。设定一个 3D 体素网格。对于每个深度图 D(p)，计算 TSDF 值，并与已有的 TSDF 体素进行加权平均。V(x)，每个体素存储一个TSDF值。从TSDF体素网格中提取代理点(TSDF值从正变负的位置，代表物体的真实表面)，有了表面之后，再用一个他们自己的算法把之前的高斯插值到表面上的高斯，这个新的高斯就是代理高斯(proxy)。&lt;/p&gt;
&lt;p&gt;有了表面之后，还要做内部填充，不然做不了仿真（例如对于一个分离出的雕塑，我们需要在雕塑的内部填充粒子，使其不会在掉落时崩塌），文中的处理方法是在$X_{O}&gt;0.5$的泊松场区域内部提取密集粒子，当然这是因为Joint Poisson Fields能自动生成封闭的3D表面（虽然我不太理解为啥封闭，但是对于封闭的表面这样处理是合理的）。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;存在的问题&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;论文有三个重要的算法，分别是PGSR，Joint Poisson Fields（泊松指示函数）和从TSDF表面得到代理高斯的算法，但是都没仔细介绍，所以我还需要仔细看看详细的理论推导过程。&lt;/p&gt;
&lt;p&gt;然后这篇文章本身存在的问题，首先这篇文章还没开源，没有代码，其次，那个多视图TSDF/物体掩码混合的过程需要将近100s，这个肯定可以优化，当然这篇工作还是为了重建精细的表面，才需要这个算法，而且对于时间其实没有太多的要求，然后这里的材料属性仍然需要手动设定。&lt;/p&gt;
&lt;h3 id=&#34;physflow&#34;&gt;PhysFlow
&lt;/h3&gt;&lt;p&gt;论文题目：&lt;a class=&#34;link&#34; href=&#34;%28https://zhuomanliu.github.io/PhysFlow/%29&#34; &gt;Unleashing the Potential of Multi-modal Foundation Models and Video Diffusion for 4D Dynamic Physical Scene Simulation&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;该工作的核心亮点在于真实世界仿真+不需要手动设置材料参数&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;整体框架如下：
&lt;img src=&#34;https://Peraspera1.github.io/images/report0318/frame.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;框架&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;思路简单地说就是在Physdreamer的基础上，把他们那个SDS loss改成了光流的loss，然后再仿照Phygens利用GPT设置材料属性。&lt;/p&gt;
&lt;p&gt;和之前的工作一样，先还是传统的输入多视图图片+colmap+恢复高斯，然后再是&lt;a class=&#34;link&#34; href=&#34;https://zju3dv.github.io/pgsr/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PGSR&lt;/a&gt;。
然后和Physdreamer不一样的是，Physdreamer只用了传统的SVD（图片生成视频），而这个模型多了个接口，还可以接（文+图）生视频等等各种生成模型。&lt;/p&gt;
&lt;p&gt;其余处理和Physdreamer一样，就是用PhysGaussian的方式，给定初始条件然后进行仿真，再用SVD生成的视频作监督，只是这个监督是光流的监督
，就是在像素级别上让模拟出的运动轨迹（Î_t）与目标运动轨迹（I_t）尽可能接近，使用光流的好处是在大尺度的运动范围下，光流的监督相比于结构损失更加稳定，且计算开销小很多，等这个代码开源了我想去测一下计算开销。具体来说可以看下面这个图，PhysGaussian在模拟飞机螺旋桨的时候，螺旋桨会出现不自然的变形，这是因为PhysGaussian没有优化物理参数，而这篇文章用了能量最小化的物理约束进行优化，这个图就正常了很多。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/report0318/flow.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;光流&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;其次，Physdreamer只做了弹性情况的仿真，这个工作可以拓展到多种材料（一共七种：1弹性体: 杨氏模量𝐸和泊松比 𝜈；2塑性体: 𝐸,𝜈,屈服应力 𝜏
3金属: 𝐸,𝜈,屈服应力 𝜏；4泡沫: 𝐸,𝜈,塑性粘度 𝜂；5沙: 摩擦角 𝜃；6牛顿流体: 流体粘度 𝜇和体积模量 𝜅；7 非牛顿流体: 𝜇,𝜅,𝜏𝑌，η）。
因此他们大多数的数据都是和PACNerf作对比，但其实以上所有论文的仿真都是建立在胡渊鸣18年的那篇SIGGRAPH上的，理论上他们能做的场景physdreamer也能做，所以我觉得这个不能算是他们的创新点。&lt;/p&gt;
&lt;p&gt;不过有个关键的点文中没提，Physdreamer最重要的一点是生成视频的真实度有限，所以他们只取了视频的前8帧作监督，但是这篇工作并没有讲他们生成了多少帧视频来产生光流作监督，
只是说明光流的效果产生的效果物理真实感更强。其次，大部分的论文都是从视觉的角度去分析的，目前还没有人对胡渊鸣的那个物理仿真的代码做过优化（确实真正的物理仿真需要较多的精力去钻研），如果考虑机器手的操作倒是有可能有优化的方向。&lt;/p&gt;
&lt;h3 id=&#34;cvpr-2025-其余工作&#34;&gt;CVPR 2025 其余工作
&lt;/h3&gt;&lt;p&gt;1 &lt;a class=&#34;link&#34; href=&#34;https://github.com/4DVLab/DexGrasp-Anything&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DexGrasp Anything&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;这篇文章昨天刚开源，该工作(DGA)用于通用机器人灵巧抓取。由于灵巧手高自由度和物体形态多样性，生成高质量抓取姿态具有挑战性。DGA通过表面拉力、外部渗透排斥力、自碰撞排斥力三种物理约束，在训练和采样过程中提升抓取的稳定性和合理性。此外，引入大语言模型（LLM）增强物体表征，结合3D点云和文本语义，提高对目标物体的理解。然后还做了一个数据集。&lt;/p&gt;
&lt;p&gt;2 &lt;a class=&#34;link&#34; href=&#34;https://ypwang61.github.io/project/StoryEval/index.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Is Your World Simulator a Good Story Presenter?  A Consecutive Events-Based Benchmark for Future Long Video Generation&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;这个工作提出了StoryEval，一个专为文本生成视频模型设计的评测基准，用于衡量模型在事件连贯性、长视频生成方面的呈现能力&lt;/p&gt;
&lt;p&gt;3 &lt;a class=&#34;link&#34; href=&#34;https://ai.stanford.edu/~sunfanyun/layoutvlm/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LAYOUTVLM: Differentiable Optimization of 3D Layout  via Vision-Language Models&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;本文提出LayoutVLM，一种基于视觉-语言模型（VLMs）的3D布局生成方法，能够将未标注的3D资产按照自然语言指令生成物理可行（避免碰撞、越界）且语义合理（符合指令）的场景布局。&lt;/p&gt;
&lt;p&gt;4 Learning Physics From Video: Unsupervised Physical Parameter Estimation for  Continuous Dynamical Systems&lt;/p&gt;
&lt;p&gt;通过分析视频中的物理运动来估计连续动力系统的参数，无需手动标注数据，不同于以往基于视频帧预测的方法，这个方法用Encoder将视频帧映射到Latent Space，得到动力学变量z。只在潜在空间中优化，提高训练稳定性和效率。鲁棒性强，但是目前应该只能解ODE方程（普通的微分方程），不知道能不能推广至数值求解。&lt;/p&gt;
&lt;p&gt;5 &lt;a class=&#34;link&#34; href=&#34;https://yuegao.me/FluidNexus/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;FluidNexus: 3D Fluid Reconstruction and Prediction from a Single Video&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;这个工作应该是Jiajun Wu 和Zhu Bo(我本科导师的导师，主要领域是图形学和物理仿真)合作的工作，做单视频3D流体重建、未来预测和交互模拟。比较有意思的点是，他们采用两层粒子表示，同时进行物理模拟和渲染：物理粒子：基于PBF模拟流体的速度场和密度场。视觉粒子：基于3D高斯建模流体的视觉外观，并随物理粒子流动。感觉这是一个不错的idea，因为我之前尝试过让粒子同时携带高斯和物理属性，但是效果一直不好，他们的工作思路算是解决了我之前的疑问吧。不过他们还是用的生成模型做预测，可见流场的物理属性恢复与仿真目前还是挺有难度的。&lt;/p&gt;
&lt;p&gt;6 PhysAnimator: Physics-Guided Generative Cartoon Animation&lt;/p&gt;
&lt;p&gt;蒋陈凡夫他们组的工作，将静态动漫图像转换为风格化动画。这个工作其实和去年那篇CVPR best paper挺像的，但是可以模拟多种物理属性的物体。
&lt;img src=&#34;https://Peraspera1.github.io/images/report0318/physAnimator.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;1&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;7 PhysVLM: Enabling Visual Language Models to Understand Robotic Physical  Reachability&lt;/p&gt;
&lt;p&gt;该研究提出了一种新型视觉语言模型（VLM）——PhysVLM，旨在提升机器人在执行任务时对自身物理可达性的理解能力。PhysVLM采用双分支架构，一部分用于视觉处理，另一部分用于处理S-P Map，并通过融合层将两者结合，以确保推理过程中既考虑视觉信息，又兼顾机器人物理约束。研究团队构建了一个大规模的多机器人数据集 Phys100K，并设计了 EQA-phys 基准测试来评估模型的性能。&lt;/p&gt;
&lt;p&gt;具体来说，假设有一个机器人，它的任务是从桌子上拿起一个薯片袋，然后放到一个碗里。传统的视觉语言模型看到这个场景后，可能会直接生成指令：“拿起薯片袋，放入碗中。” 但问题是，它并不了解机器人本身的物理可达性，也就是说，它不会考虑机器人是否真的能伸手够到薯片袋。PhysVLM 的改进在于，它引入了S-P Map（空间物理可达性映射），可以帮助模型理解机器人真正能够触及的范围。当PhysVLM观察到这个场景时，它不会直接给出“拿起薯片袋”的指令，而是会先判断薯片袋是否在机器人的可达范围内。如果它发现薯片袋超出了机器人手臂的极限，它会先建议：“移动机器人靠近薯片袋。” 在移动完成后，它才会生成下一步指令：“现在可以拿起薯片袋，并放入碗中。”&lt;/p&gt;
&lt;p&gt;感觉这个工作的思路挺清楚的，不过具体细节我还没看明白。框架如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/report0318/physvlm.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;1&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;8 Physics-Based Full-Body Human Reaching and Grasping from Walking Data&lt;/p&gt;
&lt;p&gt;和上个工作有点像，这篇工作证明了简短的行走数据可用于生成多样化的抓取运动，有效降低数据采集成本，同时保证物理可行性和自然性，大致侧重于机器人的手脚协调、平衡调整。&lt;/p&gt;
&lt;p&gt;9 PhysicsGen: Can Generative Models Learn  from Images to Predict Complex Physical Relations?(&lt;a class=&#34;link&#34; href=&#34;http://www.physics-gen.org&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;http://www.physics-gen.org&lt;/a&gt;.)&lt;/p&gt;
&lt;p&gt;和之前字节的那篇HOW FAR IS VIDEO GENERATION FROM WORLD  MODEL: A PHYSICAL LAW PERSPECTIVE有点像，总而言之就是得出结论，目前的视频生成模型没有办法生成长时间的符合物理规律的视频，不过这篇工作的主要贡献点更多的是还是在数据集上吧。&lt;/p&gt;
&lt;h2 id=&#34;新的idea&#34;&gt;新的idea
&lt;/h2&gt;&lt;p&gt;因为上述CVPR一篇都没开源，所以我正在跑一篇GIC的工作，这篇工作是Neurips 2024的oral。&lt;/p&gt;
&lt;h3 id=&#34;gic&#34;&gt;GIC
&lt;/h3&gt;&lt;p&gt;论文题目：&lt;a class=&#34;link&#34; href=&#34;https://jukgei.github.io/project/gic/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GIC: Gaussian-Informed Continuum for Physical Property Identification and Simulation&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;输入一组多视图的图片以及已知的相机内外参数，目标是恢复出用连续粒子表示的物体几何外形和物理参数，是前几篇工作的集大成者，主要的创新在于物体内部粒子的填充。我最近准备看看这篇文章的细节和代码部分。&lt;/p&gt;
&lt;p&gt;整体框架如下：
&lt;img src=&#34;https://Peraspera1.github.io/images/GIC/cover.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;overview&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/report0318/twin.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;操作&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;总体来说，他们已经实现了用机器手实现简单的操作并同时恢复出物理属性，那么我的想法很简单，考虑用灵巧手去抓这个柔性物体，并同时实现物体物理属性的估计。
技术难点如下：1 首先此前所有的工作都基本未考虑遮挡情况下的物理属性恢复，但是灵巧手操作的时候肯定有遮挡，所以在有遮挡条件下进行物理属性的估计会比较难，不过有遮挡情况下的人手+刚性物体的表面重建老师应该比较懂；2 灵巧手与柔性物体的接触面积远比GIC的工作大得多，我希望能够和DecoupledGaussian结合一下，最好能够把不同时刻下的灵巧手和柔性物体的几何变化图分离出来；3 手物分离后，就可以单独对物体进行仿真，再按照PACNerf那种方式恢复物理属性；4 有了物体的几何表面和物理属性后，是否可以调整关节的角度/手指的位置？比如找一个failure case，传统的灵巧手去抓一个橡皮泥，用力太大，则橡皮泥的几何发生明显的变形从指间滑落，用力太小抓不起来之类的，不过这方面我的了解还不是很深入；&lt;/p&gt;
&lt;p&gt;反正我目前想先仔细地看看GIC的代码，然后把GIC作为baseline复现出来，再接到灵巧手上，先把硬件调通？然后不考虑强化学习、轨迹规划、触觉之类的，就先把物体放到灵巧手正下方，人工控制手执行抓取动作，做一个有遮挡条件下的物理属性恢复，或者直接用人手抓都行，不过我主要是想顺便趁这个机会学习下灵巧手硬件相关(ros)的东西所以有灵巧手更好；其余部分，比如怎么和VLA结合起来，怎么根据物体的属性调整手抓取的姿势和力之类的以后再说。&lt;/p&gt;
&lt;h2 id=&#34;上次的讨论结果&#34;&gt;上次的讨论结果
&lt;/h2&gt;&lt;p&gt;上周老师让我去测一下Physdreamer的运行时间，根据作者所说，在NVIDIA V100 GPU 需要花费1分钟来推理生成1s（24帧）的预测视频。这个代码对显存要求比较高，我还没跑起来，所以我就推测了一下，因为推理包含三个部分，分别是生成8帧的视频(在我自己的设备上大概需要20s，在他们的V100上应该更快)+渲染损失+仿真，而仿真的过程根据PhysGaussian的结果已经能够达到15~20FPS，那么大部分的时间都是花费在这个不断渲染损失并优化物理属性场的过程上，推测是40s左右。&lt;/p&gt;
&lt;p&gt;我找到了一篇文章 &lt;a class=&#34;link&#34; href=&#34;https://sim-gs.github.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Simanything&lt;/a&gt;，里面有目前大部分文章的对比，结果如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/report0318/simanything2.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;效果&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;这个表格中PhysGaussian没有时间，是因为PhysGaussian是纯粹的仿真器，可以类比于神经网络的一次前向推理；而PhysDreamer没有时间，是因为他们认为训练SVD模型的时间很长，但PhysDreamer直接调用了已有的SVD模型，所以就没对比时间。&lt;/p&gt;
&lt;p&gt;这是这篇文章中和以前工作的一些对比：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/report0318/simanything1.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;效果2&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;以及这篇工作的整体框架：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/report0318/simanything3.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;效果3&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;这篇文章和DecoupledGaussian、PhysFlow一样都是投今年CVPR的工作，但是Simanything这个工作没中，我个人感觉原因可能有以下两点：1、Simanything 的分割做的不够好，而且他们的demo和DecoupledGaussian的demo一模一样，最后的效果一对比就被比下去了；2、他们文章中写的创新点是加速，但是他们之所以能够加速，首先他们用的是真实世界的视频输入作为监督信号，天然就比用生成视频的方式快；其次，他们用GPT-4V先预测了一个物理属性的均值，再去优化物体各个地方相对于均值的偏差，但是GPT-4V的输入是视觉信息（图片）+ 语言描述（BLIP）+ 语义匹配（CLIP），那么如果一开始GPT预测的属性已经很准了（大部分物体的物理属性在空间中的变化还是比较均匀的，比如一个物体的头部和底部的密度一般不会相差太大），那么优化自然会快很多很多，这个感觉完全可以通过调参数调出来。所以综合来看这篇工作的创新性不够，所以没中也是合理的。&lt;/p&gt;
&lt;p&gt;不过这篇文章可能用于参考的地方如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/report0318/simanything4.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;效果4&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;他们描述了一张图片，然后输出了TOP-K个最需要预测的物理属性；那么迁移到机器人上，这个之前和金柯师兄讨论过，是不是就可能和VLA结合起来，输入一个动作（文本描述）+视觉信息（图片），输出执行该动作可能需要预测的物理属性之类的？&lt;/p&gt;
&lt;h2 id=&#34;之后准备做的工作&#34;&gt;之后准备做的工作
&lt;/h2&gt;&lt;p&gt;首先把GIC论文和代码的细节部分看完，等那些CVPR的工作的补充材料或者代码开源了之后我去仔细看看。&lt;/p&gt;
&lt;p&gt;然后有一些挺有趣的工作我也准备去看看。&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Report0312</title>
        <link>https://Peraspera1.github.io/p/report0312/</link>
        <pubDate>Tue, 11 Mar 2025 20:35:54 +0800</pubDate>
        
        <guid>https://Peraspera1.github.io/p/report0312/</guid>
        <description>&lt;p&gt;Nvidia在今年一月份发布的工作&lt;a class=&#34;link&#34; href=&#34;https://github.com/NVIDIA/Cosmos&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cosmos&lt;/a&gt;是目前较为先进的视频生成模型，而且文中还专门提到了他们有很多操作相关的数据。
&lt;img src=&#34;https://Peraspera1.github.io/images/summary2/cosmos_thesis1.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;论文&#34;
	
	
&gt;
我尝试了下这个模型，工作流如下：
&lt;img src=&#34;https://Peraspera1.github.io/images/summary2/workflow.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;工作流&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;生成1280*704的视频，长度为5秒，部分结果如下：&lt;/p&gt;
&lt;video width=&#34;420&#34; controls&gt;
  &lt;source src=&#34;https://Peraspera1.github.io/videos/blast.mp4&#34; type=&#34;video/mp4&#34;&gt;
&lt;/video&gt;
&lt;video width=&#34;420&#34; controls&gt;
  &lt;source src=&#34;https://Peraspera1.github.io/videos/bounce.mp4&#34; type=&#34;video/mp4&#34;&gt;
&lt;/video&gt;
&lt;video width=&#34;420&#34; controls&gt;
  &lt;source src=&#34;https://Peraspera1.github.io/videos/hand_cut_carrot.mp4&#34; type=&#34;video/mp4&#34;&gt;
&lt;/video&gt;
&lt;video width=&#34;420&#34; controls&gt;
  &lt;source src=&#34;https://Peraspera1.github.io/videos/people.mp4&#34; type=&#34;video/mp4&#34;&gt;
&lt;/video&gt;
&lt;video width=&#34;420&#34; controls&gt;
  &lt;source src=&#34;https://Peraspera1.github.io/videos/wine_fuild.mp4&#34; type=&#34;video/mp4&#34;&gt;
&lt;/video&gt;
&lt;video width=&#34;420&#34; controls&gt;
  &lt;source src=&#34;https://Peraspera1.github.io/videos/dog_mud.mp4&#34; type=&#34;video/mp4&#34;&gt;
&lt;/video&gt;
&lt;video width=&#34;420&#34; controls&gt;
  &lt;source src=&#34;https://Peraspera1.github.io/videos/inside.mp4&#34; type=&#34;video/mp4&#34;&gt;
&lt;/video&gt;
&lt;video width=&#34;420&#34; controls&gt;
  &lt;source src=&#34;https://Peraspera1.github.io/videos/boat.mp4&#34; type=&#34;video/mp4&#34;&gt;
&lt;/video&gt;
&lt;p&gt;可以看出，当前模型的效果并不理想。在光影变化和广角视觉效果方面，它已经做得相当不错，能够呈现出较好的视觉效果。然而，在物理场模拟上仍存在明显不足，尤其是在处理流体、爆炸等高度非线性或具有剧烈突变的场景时，表现尤为欠缺。&lt;/p&gt;
&lt;p&gt;第二篇工作是&lt;a class=&#34;link&#34; href=&#34;https://physdreamer.github.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Physdreamer&lt;/a&gt;，是在&lt;a class=&#34;link&#34; href=&#34;https://xpandora.github.io/PhysGaussian/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PhysGaussian&lt;/a&gt;的基础上做的。&lt;/p&gt;
&lt;p&gt;PhysGaussian是第一篇将3D高斯核（用于渲染）与物理属性（如速度、应变、应力）相结合，使其能够模拟牛顿力学中的动态行为，适用于多种不同材料（如弹性物体、金属、非牛顿流体等），但是这篇工作需要手动地设置物理系数，而且输入的是3DGS输出的高斯表示（论文中是用手机拍照，接入colmap恢复点云，再接入3DGS）&lt;/p&gt;
&lt;p&gt;论文的关键思想是生成运动中物体的合理demo，比如一朵花，他把花离散为很多稠密的点，但这些点不是同构的，因此每个点的杨氏模量都不一样，然后按照物理属性去优化材质场E以匹配这个合成的运动。
我们首先从某个视点为 3D 场景出发渲染静态图像。然后，我们利用图像到视频模型(SVD)生成一个短视频剪辑 {$I_0$， $I_1$， . . . ， $I_T$ }，描绘对象的真实运动，这个生成的模型是GT来监督模拟得到的图像，然后再通过可微分模拟和可微渲染来优化材料场E(x)和初始速度场$v_0$(x)，使得模拟的渲染视频与生成的视频匹配。
但其实我觉得核心的部分还是图中下面的箭头，也就是PhysGaussian的工作比较重要。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/physdreamer/image1.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;论文整体框架&#34;
	
	
&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Physics_Summary2</title>
        <link>https://Peraspera1.github.io/p/physic_summary2/</link>
        <pubDate>Mon, 10 Mar 2025 21:29:30 +0800</pubDate>
        
        <guid>https://Peraspera1.github.io/p/physic_summary2/</guid>
        <description>&lt;img src="https://Peraspera1.github.io/images/summary_cover2.jpg" alt="Featured image of post Physics_Summary2" /&gt;&lt;p&gt;这篇文章主要总结了下Jiajun Wu他们组有关物理感知/机器人相关的工作，还有些近期的工作，与summary1部分内容相同。&lt;/p&gt;
&lt;h2 id=&#34;jiajun-wu-工作&#34;&gt;Jiajun Wu 工作
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Galileo: Perceiving Physical Object Properties by Integrating a Physics Engine with Deep Learning&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;2015 NeurIPS&lt;/p&gt;
&lt;p&gt;只能输入初始的静态的位置，对一维的摩擦力+动量守恒的规律建模&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/galileo/cover.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;galielo&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Learning to See Physics via Visual De-animation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;2017 NeurIPS(Spotlight)&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/summary2/learning2seephysics.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;l2s&#34;
	
	
&gt;
输入三张图片，两两之间测量速度，预测二维平面上的动量守恒&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Physical Primitive Decomposition&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;2018 ECCV&lt;/p&gt;
&lt;p&gt;人们用锤子敲击物体的时候会拿起锤子的柄而非锤子的头，那么当机器人去操作的时候应该如何让它知道这个信息呢？&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;See, feel, act: Hierarchical learning for complex manipulation skills with multisensory fusion&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;2019 Science Robotics&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/SFA/cover.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;l2s&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Learning Physical Graph Representations from Visual Scenes&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;2020 NeurIPS(Oral)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Unsupervised Segmentation in Real-World Images via Spelke Object Inference&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;2022 ECCV(Oral)&lt;/p&gt;
&lt;p&gt;对真实世界中的物体进行分割&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Differentiable Physics Simulation of Dynamics-Augmented Neural Objects&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;2023 RAL&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Physically Grounded Vision-Language Models for Robotic Manipulation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;2024 ICRA&lt;/p&gt;
&lt;h2 id=&#34;近期的一些实验&#34;&gt;近期的一些实验
&lt;/h2&gt;&lt;p&gt;上次提到了&lt;a class=&#34;link&#34; href=&#34;https://physdreamer.github.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Physdreamer&lt;/a&gt;，这应该算是Jiajun组里最新的结果了，简而言之就是给定视频的初始帧，利用生成模型生成视频中物体未来的动作，再用这个生成的结果作为监督信号优化物理场。优点是只需要一张图片作为输入，缺点是生成的视频不符合物理规律。如果考虑到实际机器人的操作的话，其实没必要像他们那样用生成的方式，而应该是比如说机器手自主探索环境中物体受力的影响，学习到一些信息后再进行操作。&lt;/p&gt;
&lt;p&gt;而且我个人觉得视频生成模型在富含物理规律的生成方面做得并不够好，比如Nvidia在今年一月份发布的工作&lt;a class=&#34;link&#34; href=&#34;https://github.com/NVIDIA/Cosmos&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cosmos&lt;/a&gt;应该可以代表目前最强的视频生成模型了（因为堆了很多数据），而且文中还专门提到了他们有很多操作相关的数据。
&lt;img src=&#34;https://Peraspera1.github.io/images/summary2/cosmos_thesis1.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;论文&#34;
	
	
&gt;
我尝试了下这个模型，工作流如下：
&lt;img src=&#34;https://Peraspera1.github.io/images/summary2/workflow.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;工作流&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;生成1280*704的视频，长度为5秒，部分结果如下：&lt;/p&gt;
&lt;video width=&#34;420&#34; controls&gt;
  &lt;source src=&#34;https://Peraspera1.github.io/videos/blast.mp4&#34; type=&#34;video/mp4&#34;&gt;
&lt;/video&gt;
&lt;video width=&#34;420&#34; controls&gt;
  &lt;source src=&#34;https://Peraspera1.github.io/videos/bounce.mp4&#34; type=&#34;video/mp4&#34;&gt;
&lt;/video&gt;
&lt;video width=&#34;420&#34; controls&gt;
  &lt;source src=&#34;https://Peraspera1.github.io/videos/hand_cut_carrot.mp4&#34; type=&#34;video/mp4&#34;&gt;
&lt;/video&gt;
&lt;video width=&#34;420&#34; controls&gt;
  &lt;source src=&#34;https://Peraspera1.github.io/videos/people.mp4&#34; type=&#34;video/mp4&#34;&gt;
&lt;/video&gt;
&lt;video width=&#34;420&#34; controls&gt;
  &lt;source src=&#34;https://Peraspera1.github.io/videos/wine_fuild.mp4&#34; type=&#34;video/mp4&#34;&gt;
&lt;/video&gt;
&lt;video width=&#34;420&#34; controls&gt;
  &lt;source src=&#34;https://Peraspera1.github.io/videos/dog_mud.mp4&#34; type=&#34;video/mp4&#34;&gt;
&lt;/video&gt;
&lt;video width=&#34;420&#34; controls&gt;
  &lt;source src=&#34;https://Peraspera1.github.io/videos/inside.mp4&#34; type=&#34;video/mp4&#34;&gt;
&lt;/video&gt;
&lt;video width=&#34;420&#34; controls&gt;
  &lt;source src=&#34;https://Peraspera1.github.io/videos/boat.mp4&#34; type=&#34;video/mp4&#34;&gt;
&lt;/video&gt;
&lt;p&gt;可以看出，当前模型的效果并不理想。在光影变化和广角视觉效果方面，它已经做得相当不错，能够呈现出较好的视觉效果。然而，在物理场模拟上仍存在明显不足，尤其是在处理流体、爆炸等高度非线性或具有剧烈突变的场景时，表现尤为欠缺。&lt;/p&gt;
&lt;p&gt;我认为其中一个关键原因是物理属性的分布方式与像素空间中色彩的分布方式截然不同。色彩在像素空间中的分布通常可以近似为独立同分布（IID），而物理系统中的变量往往存在高度的相互依赖性和因果性。又想到目前许多灵巧手的研究正在采用扩散模型（Diffusion Models）来生成操作轨迹。然而，本质上，这种方法与视频生成的思想是相同的——它依赖于统计概率的相关性，而非物理上的因果律。具体来说，这些模型通常通过学习帧与帧之间的统计相关性，来预测并生成轨迹。但这种方法并不直接考虑物理系统的动力学约束，而是基于数据驱动的方式，在高维概率分布中寻找模式。这类似于视频生成模型如何学习帧与帧或像素之间的关联，而非物理世界中光线传播的真实物理机制。然而，物理系统的演化不仅仅是一个统计问题，更是因果驱动的——例如，在流体动力学、刚体碰撞或柔性物体操作中，每一个状态的变化都严格受偏微分方程或其他物理定律约束，而不是简单的统计相关性。&lt;/p&gt;
&lt;p&gt;从这个角度来看，单纯依靠扩散模型生成轨迹，短期内可能在数据拟合上表现不错，但从长期来看，缺乏对物理约束的精确刻画，难以真正提升灵巧手的操作能力。这也是物理仿真不可或缺的原因之一——它能够提供真实的物理约束，使生成的轨迹不仅在统计上合理，而且符合物理因果关系，从而提升机器人操作的可靠性和可推广性。&lt;/p&gt;
&lt;h2 id=&#34;部分理论解释&#34;&gt;部分理论解释
&lt;/h2&gt;&lt;p&gt;一些比较精彩的解释by&lt;a class=&#34;link&#34; href=&#34;https://mp.weixin.qq.com/s/HSZMbiFuNvTmBv26csZFGg&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sora物理悖谬的几何解释&lt;/a&gt;(这里还有很多理论我还没看明白，之后多去学习一下)&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;为什么数据点云是低维的，而非占满整个原始数据空间？
因为自然现象满足大量的自然规律，这些规律的限制降低了数据样本点云的维数，而无法占满整个空间。比如，我们考察所有自然人脸照片构成的数据集，每个采样点是一张图片，像素的个数乘以3就是原始图像空间的维数。原始图像空间中的任意一点，都是一幅图片，但是极少的图片才是人脸图片，才会落在人脸图片流形上，因此人脸图片流形不可能占满整个原始图像空间。人脸需要满足很多自然的生理学规律，每个规律都会降低数据流形的维数，例如左右对称，就减少了近一半的像素，都有五官等确定的几何与纹理区域，每个器官的形状类似，描述的参数不多，因此进一步降低维数。最终控制人脸的基因非常有限，由此人脸图片流形的维数远远低于图片像素个数。再如，我们观察平面区域的稳恒态温度分布，由物理热扩散定理，稳定函数满足经典的Laplace方程，由其边界值所唯一确定。如果我们在区域内部有n平方个采样点，在区域边界有n个采样点，那么每个观察到的温度函数被表示为维数为n平方的向量，即原始数据空间维数为n平方，但是实际的流形维数为边界函数的维数n。由此可见，满足物理定律的观察样本构成的数据流形维数远远低于原始数据空间维数。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;为什么点云集合是流形，即局部是连续光滑的？
绝大多数情形下，物理系统是适定的，但在临界状态下，物理系统会发生突变（由灾变理论或者临界态理论来描述）。物理定律多由偏微分方程系统来描述，微分方程的解由初始值和边界值来控制，系统是适定的，意味着由于能量守恒、质量守恒、能量传递小于光速等物理限制，初边值逐渐变化时，解也随之逐渐变化。在偏微分方程的正则性理论中，这意味着边值的索伯列夫范数控制解的索伯列夫范等等。我们将解视为数据流形上的点，边值视为其对应的局部坐标（即隐空间中的对应隐特征向量）。从数据流形到隐空间的映射被称为是编码映射，从隐空间到数据流形的映射被称为是解码映射。正则性理论保证编码映射和解码映射是连续的乃至光滑的，解的唯一性保证这些映射是拓扑同胚或者微分同胚。边值可以任意局部扰动，即隐变量存在一个开欧式圆盘的邻域。这意味着满足特定物理定则的观察样本构成了数据流形。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;数据流形上的概率分布如何表示？
关于第三个问题的回答是：用传输变换，将数据概率分布变成计算机可以生成的高斯分布。这个传输变换可以在原始数据空间中进行，也可以在隐空间中进行。常用的传输变换包括最优传输变换和热扩散。我们用流体力学的观点来解释。假设整个隐空间是一个水箱，里面有某种溶剂，其密度为概率密度。我们扰动水箱，使得液体流动起来，使得溶剂密度发生变化。我们计算每个水分子的流向和流速，使得概率密度的熵一直增加，最后就得到高斯分布。例如，我们考虑人脸数据分布，这里每个水分子就是一张人脸图片。我们为人脸图片不断添加噪声，得到一系列图片，直至变成一张白噪声图片。这一系列图片就是水分子的运动轨迹。最后每张人脸图片变成白噪声，所有这些白噪声分布满足高斯分布。这一过程被称为是郎之万的动力学。反过来，给定一张白噪声，我们沿着水分子轨迹倒溯源头，就得到一张人脸图片。这就是扩散生成模型的原理（diffusion model）。当然，也可以直接用最优传输理论求解隐空间到自身的同胚，将数据分布变成高斯分布，这需要求解蒙日-安培方程。由此可见，数据分布的所有信息都由传输映射所包含，而传输映射被一个深度网络来表达。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在Sora生成的视频中，每一帧都异常逼真，但是当老奶奶吹了生日蜡烛的时候，蜡烛的火苗纹丝不动。如果我们将视野缩小到每一个令牌的区域，我们看到美轮美奂的真实画面，令牌之间的衔接也非常平滑自然，但是当相距较远的令牌之间有因果联系的时候，即吹出的空气影响火苗的跳动时，两个令牌之间的物理因果没有体现出来。这意味着Transformer用以表达令牌之间的统计相关性，无法精确表达物理因果律。虽然transformer可以在一定程度上操纵自然语言，但自然语言无法准确表达物理定律，而物理定律目前只有偏微分方程才能精密表达。这反应了基于概率的世界模型的某种局限性。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;自然界的绝大多数物理过程都是稳恒态与临界态的交替变化。在稳恒态中，系统参数缓慢变化，容易获取观察数据；在临界态中（灾变态），系统骤然突变，令人猝不及防，很难抓拍到观察数据。因此，临界态的数据样本非常稀少，几乎在训练集中零测度。由此，Sora系统学习到的数据流形，绝大多数都是由稳恒态的样本所构成。物理过程中的临界态样本多分布在数据流形的边界。因此，在生成过程中，Sora非常容易生成稳恒态的视频片段，但是往往跳过临界态。但是在人类认知中，最为关键的观察恰恰是概率几乎为零的临界态。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
</description>
        </item>
        <item>
        <title>Physics_Summary</title>
        <link>https://Peraspera1.github.io/p/phys_summary/</link>
        <pubDate>Thu, 27 Feb 2025 12:49:57 +0800</pubDate>
        
        <guid>https://Peraspera1.github.io/p/phys_summary/</guid>
        <description>&lt;img src="https://Peraspera1.github.io/images/summary_cover.png" alt="Featured image of post Physics_Summary" /&gt;&lt;p&gt;尽管当前的视频生成模型已能产生令人满意的效果，但生成的结果中仍常出现不自然的现象(&lt;a class=&#34;link&#34; href=&#34;https://openai.com/index/sora/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sora&lt;/a&gt;)，这些现象往往违背了我们对几何和物理常识的理解，因此近年来，许多研究尝试将物理规律融入视频生成模型来得到更好的结果。与此同时，在机器人领域，大多数研究仍主要聚焦于机器人自身的运动轨迹生成，而对环境及交互物体的感知仍停留在视觉信息的层面，未能充分利用物理规律。因此，这篇文章总结了我对近期工作的一些总结，以及一点点对于这些工作在灵巧手操作上可能应用的思考。&lt;/p&gt;
&lt;p&gt;我的想法大致如下：
&lt;img src=&#34;https://Peraspera1.github.io/images/summary/overview.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;overview&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;整个工作的pipeline如下：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt; 给定一个任务，利用LLM预测我们需要知道哪些物理属性（比如物体的摩擦系数）；&lt;/li&gt;
&lt;li&gt; 输入一段视频作为监督信号，从该视频的初始帧开始进行物理仿真，优化物理参数场；&lt;/li&gt;
&lt;li&gt; 得到较为精确的物理参数后，生成/仿真得到该物体在被施加一个力后的响应；&lt;/li&gt;
&lt;li&gt; 在已有的手物交互轨迹基础上，如果能准确预测物体对外力的响应，就能进一步微调手的施力方向和大小，或者将这些信息直接融入轨迹生成过程中，以提升交互精度。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;一句话概括就是让机器人理解真实环境中的物理属性，从而更好地辅助操作实现。那么自然而然地会引出两个问题，&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;首先，如何从环境中恢复物体的物理属性并进行物理仿真？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;其次，在机器人已知物体的物理属性后，如何利用这些信息优化灵巧手的操作？&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;physics-simulation--video-generation&#34;&gt;Physics Simulation &amp;amp; Video Generation
&lt;/h2&gt;&lt;p&gt;事实上，&lt;strong&gt;给定视频恢复物理属性&lt;/strong&gt;(pipeline2)与&lt;strong&gt;给定物理属性生成视频&lt;/strong&gt;(pipeline3)互为反问题(不过我更关注的是生成物体对于外力的响应，并不需要那种精细的视频)。然而，近年来学界的研究更倾向于后者，这一领域的研究主要分为以下三个方向：&lt;/p&gt;
&lt;h3 id=&#34;物理对齐-physics-alignment&#34;&gt;物理对齐 Physics Alignment
&lt;/h3&gt;&lt;p&gt;在语言模型中，对齐（Alignment）指的是通过一系列算法和工程手段，修正模型的行为，使其输出符合预设的安全边界和人类意图。与之对应的，修正视频模型的输出使其满足物理规则的过程就是物理对齐。作为对齐领域的代表性工作，&lt;a class=&#34;link&#34; href=&#34;https://arxiv.org/abs/2203.02155&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;InstructGPT&lt;/a&gt; 提出了两种对齐方法：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;监督微调&lt;/strong&gt;（Supervised Fine Tuning，&lt;strong&gt;SFT&lt;/strong&gt;）人工标注高质量的提示（prompt）和回答（output）数据集，通过监督学习的方式微调模型。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;基于人类反馈的强化学习&lt;/strong&gt;（Reinforcement Learning from Human Feedback，&lt;strong&gt;RLHF&lt;/strong&gt;）对同一个提示，模型输出多个回答，人工对这些回答进行比较打分；使用打分的结果训练一个反馈模型（Reward Model），用于评价模型输出的好坏；使用反馈模型对模型进行强化学习，比如近端策略优化（Proximal Policy Gradient，PPO）。&lt;/p&gt;
&lt;p&gt;将这两种想法用于视频模型中是比较直观的。对于 SFT，我们就需要使用物理真实的视频作为输入。但是真实世界中的视频当然都是物理真实的，可能的问题是视频动态不够，导致模型没有接受到足够的动态信息。因此像 &lt;a class=&#34;link&#34; href=&#34;https://github.com/NVIDIA/Cosmos&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cosmos&lt;/a&gt; 在预训练阶段就会保证数据能够反映真实物理规则。这主要是通过两点做到的：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt; 收集包含大量动态的视频：包括驾驶视频、手部动作、第一人称视角、模拟结果等等。&lt;/li&gt;
&lt;li&gt; 对数据进行过滤：剔除质量低的、缺乏动态的、非物理等的视频，并提取一部分高质量视频作为后训练数据集。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;尽管 Cosmos 的&lt;a class=&#34;link&#34; href=&#34;https://arxiv.org/abs/2501.03575&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;论文&lt;/a&gt;在 5.3.2 节专门讨论了物理对齐的问题，但是实际上并没有做更多的尝试，只是在几个场景中测试了 Cosmos 生成的结果是否吻合模拟/真实的物理。&lt;/p&gt;
&lt;p&gt;对于 RLHF 而言，首要问题是需要一个反馈模型来判别模型输出的结果是否满足物理规律。这方向一个代表工作是 &lt;a class=&#34;link&#34; href=&#34;https://videophy.github.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;VideoPhy&lt;/a&gt;。这篇工作的核心是对市面上十二个视频模型的生成结果进行人工打分，然后训练一个打分网络 VideoCon-Physics。打分分为两个维度，每个维度得分只有 0 或 1：一个是语义的符合程度（Semantic Adherence，SA），一个是是否符合物理常识（Physical Commonsense，PC），结果如下：
&lt;img src=&#34;https://Peraspera1.github.io/images/summary/video_phy.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Benchmark&#34;
	
	
&gt;&lt;/p&gt;
&lt;center style=&#34;font-size:14px;color:#C0C0C0;text-decoration:underline&#34;&gt;Benchmark&lt;/center&gt; 
&lt;p&gt;可以发现成绩最好的是开源模型 &lt;a class=&#34;link&#34; href=&#34;https://github.com/THUDM/CogVideo&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CogVideoX-5B&lt;/a&gt;，但是也只是勉强及格的水平。这方向类似的工作还有 &lt;a class=&#34;link&#34; href=&#34;https://tiger-ai-lab.github.io/VideoScore/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;VideoScore&lt;/a&gt;，&lt;a class=&#34;link&#34; href=&#34;https://phygenbench2024.github.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PhyGenBench&lt;/a&gt;。理论上有了打分模型之后我们就可以对视频模型进行强化学习对齐了，&lt;a class=&#34;link&#34; href=&#34;https://onlinevpo.github.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;OnlineVPO&lt;/a&gt; 就使用了 VideoScore 作为反馈模型微调了 &lt;a class=&#34;link&#34; href=&#34;https://github.com/hpcaitech/Open-Sora&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;OpenSora&lt;/a&gt; 模型，使其在 VideoScore 得分上超越了其他模型。&lt;/p&gt;
&lt;p&gt;整体上来说，物理对齐比较依赖预训练大模型的能力。对于语言模型来说，对齐往往会降低模型在基准测试上的分数，称为支付对齐税（Alignment Tax）。对于视频模型情况应该是类似的，增强其在物理动态方面的能力可能导致其他能力的削弱。因此，一个更本质的问题是，通过预训练的方式大模型是否能够足够泛化地学到物理规律？字节的工作 &lt;a class=&#34;link&#34; href=&#34;https://phyworld.github.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;How Far is Video Generation from World Model? A Physical Law Perspective&lt;/a&gt; 是这个方向的一个初步探索。&lt;/p&gt;
&lt;h3 id=&#34;二维平面模拟-2d-physics&#34;&gt;二维平面模拟 2D Physics
&lt;/h3&gt;&lt;p&gt;Ok，如果视频模型短期内无法达到我们对于物理规律的需求，那我们是否可以通过加入物理模拟的方式增强这方面的能力呢？由于视频模型都是 2D 的，我们可以先从二维平面上的模拟开始，这一领域分为两个方向，一个是显式地加入物理规律并在屏幕空间上进行模拟，另一个则是隐式地推断物体的动力学信息。&lt;/p&gt;
&lt;p&gt;屏幕空间模拟（Screen-space Simulation）指的是绕过 3D 模型，直接在屏幕空间中模拟物体的动态。这方面的一个代表性工作是 &lt;a class=&#34;link&#34; href=&#34;https://stevenlsw.github.io/physgen/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PhysGen&lt;/a&gt;。
&lt;img src=&#34;https://Peraspera1.github.io/images/summary/physgen.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Phygen&#34;
	
	
&gt;&lt;/p&gt;
&lt;center style=&#34;font-size:14px;color:#C0C0C0;text-decoration:underline&#34;&gt;Physgen 流程图&lt;/center&gt; 
&lt;p&gt;大致的流程分为三步：1. 给定一张初始图片，我们先做分割，并使用图像理解模型获取法向贴图、语义等信息，然后使用大语言模型推测对应的材质；2. 使用屏幕空间的 2D 模拟器进行模拟（刚体模拟）；3. 使用视频模型将模拟结果与法向贴图等整合起来，得到最终视频。可以发现，这个流程中其实并不需要大模型生成动态，大模型提供的是一个满足时间连续性的&amp;quot;渲染器&amp;quot;，将模拟结果渲染成视频。最近的 &lt;a class=&#34;link&#34; href=&#34;https://xpandora.github.io/PhysAnimator/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PhysAnimator&lt;/a&gt; 也是这个思路，不过将模拟的对象进一步扩展到了布料这样的软性材料。&lt;/p&gt;
&lt;p&gt;当然，也有不显式加入物理模拟的方式来实现图片上的动力学的工作，而是通过分析图片中物体的振动规律得到信息，并利用这些信息来推断物体的物理特性和驱动它们运动的力，这一工作最早可以追溯到Davis的博士论文&lt;a class=&#34;link&#34; href=&#34;https://dspace.mit.edu/handle/1721.1/107330&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Visual vibration analysis&lt;/a&gt;。如果有了物体对于一个已知力的响应，那么我们是不是就可以在不知道物理规律的前提下分析一个物体对于未知的力的响应了呢（类似于反馈-控制，黑盒模型）？2024年的CVPR Best Paper &lt;a class=&#34;link&#34; href=&#34;https://generative-dynamics.github.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Generative Image Dynamics&lt;/a&gt; 就做了这样的一件事。与PhysGen不同，这篇论文并没有显式地建模出物体的运动规律，而是只学习到了振动频率(事实上，物体振动频率满足该规律：$\omega = \sqrt{\frac{k}{m}}$)，即学习每个像素点的振动规律(利用傅里叶变换分解，学习的参数是傅里叶的系数)。在不考虑训练成本的情况下，相比于显式地模拟，这种方式的推理速度肯定更快，但是显然只能局限于振动这种简单的物理规律，当然，通过改变基函数的方式（比如把傅里叶级数换成勒让德级数）也许可以将该方法推广到更多真实情景，这也是一个值得探索的方向。&lt;/p&gt;
&lt;p&gt;总的来说，在二维平面上的模拟的优点很明显，我们能够对生成的结果进行非常精确的控制，并且在小幅度内基本满足我们对物理规则的认知。但是缺点同样很明显，由于我们是在屏幕空间做分割和模拟，我们永远只能生成物体一面的结果，像布料的遮挡褶皱也无法处理。并且，生成结果的视角只能是固定的。这使得这类方法只适用于生成动态壁纸这样比较受限的应用，不能作为通用的视频生成方法。&lt;/p&gt;
&lt;p&gt;不过我觉得&lt;a class=&#34;link&#34; href=&#34;https://stevenlsw.github.io/physgen/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PhysGen&lt;/a&gt;的思维范式很好，如果要继续往下做的话我更倾向于在该工作上的框架上去做。&lt;/p&gt;
&lt;h3 id=&#34;三维空间模拟-3d-physics&#34;&gt;三维空间模拟 3D Physics
&lt;/h3&gt;&lt;p&gt;既然 2D 的模拟终究是妥协，那不如我们直接回到三维模拟。回顾传统的图形管线，生成视频的过程大致可以分为准备3D 资产、进行模拟、渲染结果这三步。这三步中预训练的视频模型可以充当一个非常好的渲染器，比如下图展示的，&lt;a class=&#34;link&#34; href=&#34;https://github.com/NVIDIA/Cosmos&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cosmos&lt;/a&gt; 可以将三维模拟的结果风格迁移到真实场景的&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=9Uch931cDx8&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;视频&lt;/a&gt;。
&lt;img src=&#34;https://Peraspera1.github.io/images/summary/cosmos1.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Cosmos1&#34;
	
	
&gt;
&lt;img src=&#34;https://Peraspera1.github.io/images/summary/cosmos2.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Cosmos2&#34;
	
	
&gt;&lt;/p&gt;
&lt;center style=&#34;font-size:14px;color:#C0C0C0;text-decoration:underline&#34;&gt; Cosmos中的风格迁移&lt;/center&gt; 
&lt;p&gt;在有 3D 资产和物理参数的基础上，模拟也不是一个困难的问题。传统模拟算法在平衡模拟效果和速度上已经提供了非常多的选择。因此最大的问题在于第一步：对于用户给定的一个语言提示，或者是初始帧，如何获取对应的 3D 资产。对应这两种情况我们可以看到两种解决方法，一是训练文本生成 3D 资产的模型，二是从真实图片中重建。&lt;/p&gt;
&lt;p&gt;首先，世面上已经有很多专注做文本生成 3D 资产的 AI，比如 &lt;a class=&#34;link&#34; href=&#34;https://hyper3d.ai/?lang=zh&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Rodin&lt;/a&gt;，&lt;a class=&#34;link&#34; href=&#34;https://www.meshy.ai/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Meshy&lt;/a&gt; 等,可以直接将这些模型导入到像 Houdini、Blender 这样的图形软件中进行模拟。之前受到很多关注的 &lt;a class=&#34;link&#34; href=&#34;https://genesis-embodied-ai.github.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Genesis&lt;/a&gt; 想做的就是这个思路。另一方面，过程建模（Procedural Modeling）使用形式语言或者节点化的方式描述模型的生成过程，可以将 3D 模型与文本直接联系起来。比如 SVG 图片使用 html 标记语言，CAD 模型可以完全用代码表示，Houdini 用节点系统描述模型等等。在有了代码化的描述之后，我们就可以通过语言模型去生成这些代码，也就生成了 3D 模型。&lt;a class=&#34;link&#34; href=&#34;https://infinigen.org/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Infinigen&lt;/a&gt; 通过 Blender 构建了描述自然和室内场景的过程建模语言，因此可以实现文本生成三维场景。&lt;a class=&#34;link&#34; href=&#34;https://gpt4motion.github.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GPT4Motion&lt;/a&gt; 通过 Blender 实现了无训练，直接从文本生成视频的整个流水线。&lt;/p&gt;
&lt;p&gt;如果我们的任务是从初始帧生成视频，就可以考虑从图片重建出 3D 模型。&lt;a class=&#34;link&#34; href=&#34;https://supertan0204.github.io/physmotion_website/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PhysMotion&lt;/a&gt; 使用的方法就是从单张图片进行 Gaussian Splatting 的重建，然后接入物质点法进行模拟，最后经过视频模型进行渲染。如果我们的单视角重建（本质上是对其他视角的生成任务）足够好，那么生成视频的质量就有保证。但是话又说回来，我们不正是应该利用预训练视频模型的能力来帮助单视角生成的任务吗？为什么反而抛弃了大模型在这方面的能力而只把大模型作为一个渲染器呢？&lt;/p&gt;
&lt;p&gt;我们可以发现，如果只是用大模型去增强现有的图形管线，那么不可避免的需要很长的管线，并且没有充分利用大模型的能力。最理想的情况是，我们用最少的规则限制和控制信号，提供最基础的三维物理和几何的保证，其他的交给预训练模型补充细节。在这个方向上，&lt;a class=&#34;link&#34; href=&#34;https://cinemaster-dev.github.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CineMaster&lt;/a&gt; 是一个很有意思的尝试，只通过最简单的包围盒作为条件，就能实现很好的视频控制生成效果。&lt;/p&gt;
&lt;h3 id=&#34;推断物理信息&#34;&gt;推断物理信息
&lt;/h3&gt;&lt;p&gt;前文提到的都是在有物理信息的情况下进行仿真/生成的工作(也就是pipeline3)，如果我们希望将这一概念应用于机器人操作，那么关键问题就在于：如何估计现实世界中物体的物理参数？这是一个极具挑战性的问题，因为目前市面上很少有数据集能够提供包括物体质量、弹性系数等在内的各种物理信息。因此，依赖于大规模数据集进行学习来解决这一问题变得非常困难，特别是当数据集质量较低且规模较小时，模型的泛化能力也会受到限制。那么，如何应对这一挑战呢？如果我们选择依赖物理仿真，是否能够提升模型的泛化能力呢？毕竟，像牛顿定律等自然科学规律是普适的。然而，物理仿真对算法的精度要求非常高。基于此，一个较为可行的初步思路是将模型学习与物理仿真结合：首先通过模型学习来获取物体的初始物理属性，如质量、速度等；然后借助传统物理模拟来预测物体未来的运动规律，最后再用神经网络做微调。&lt;/p&gt;
&lt;p&gt;在这个方向，&lt;a class=&#34;link&#34; href=&#34;https://www.math.ucla.edu/~cffjiang/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;蒋陈凡夫&lt;/a&gt;他们组在此基础上做了很多相似的工作，最为出名的是&lt;a class=&#34;link&#34; href=&#34;https://sites.google.com/view/PAC-NeRF&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PAC-Nerf&lt;/a&gt;
与&lt;a class=&#34;link&#34; href=&#34;https://xpandora.github.io/PhysGaussian/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PhysGaussian&lt;/a&gt;。他们的思想非常朴素，但是却很有用。其整体框架如下：
&lt;img src=&#34;https://Peraspera1.github.io/images/physgaussian/methodoverview.jpg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;代码整体框架&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;在此基础上，还有两个工作，分别是&lt;a class=&#34;link&#34; href=&#34;https://physdreamer.github.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Physdreamer&lt;/a&gt;和&lt;a class=&#34;link&#34; href=&#34;https://dreamgaussian.github.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DreamGaussian&lt;/a&gt;，但是都是一些incremental的工作而且做的都是偏生成方向。&lt;a class=&#34;link&#34; href=&#34;https://physdreamer.github.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Physdreamer&lt;/a&gt;应该是这个领域较新的成果了，他们结合了&lt;a class=&#34;link&#34; href=&#34;https://xpandora.github.io/PhysGaussian/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PhysGaussian&lt;/a&gt;和&lt;a class=&#34;link&#34; href=&#34;https://dreamgaussian.github.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DreamGaussian&lt;/a&gt;两篇工作，简单点说就是PhysGaussian用了多帧的真实视频作为输入(监督信号)，恢复物理属性后，再去预测渲染未来的视频帧，而Physdreamer则只输入视频的第一帧，由第一帧图片生成后续的帧，并将其作为监督信号，再接入PhysGaussian的框架。缺点是显而易见的，生成的视频质量肯定没办法和真实的视频相比的，而且二者之间的误差肯定会随着时间的推移增加，所以他们只选择了前面生成的10帧左右作为监督，那么也就无法生成长视频序列了。而且他们的结果如下:
&lt;img src=&#34;https://Peraspera1.github.io/images/summary/image3.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;dreamer&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;这些评分的意思，比如上面表格的第一个内容表示，对于alocosia（这是一种植物）的视频生成，有86%的人认为他们生成的视频在motion realism的指标下比真实的视频还要好，不过都是人工打分的指标，感觉没啥参考性。而且如果想用到操作的领域，用生成去做肯定是不合适的。不过他们的工作中有一个我觉得还不错的点，他们对于所有的Gaussian点做了knn下采样，也就是只对所谓的driven-particle作仿真，这一点大大加快了仿真的速度。又联想到最近的一篇文章&lt;a class=&#34;link&#34; href=&#34;https://arxiv.org/abs/2405.18133&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;A Grid-Free Fluid Solver based on Gaussian Spatial Representation&lt;/a&gt;，这篇工作看格式应该是要投SIGGRAPH的，他们是在PhysGaussian的基础上加速了流体的仿真，简单点说就是原本3DGS核携带的信息是球谐函数，他们把这个信息改成了物理属性，或者可以这么理解，本来3DGS渲染的是RGB，他们改成了渲染速度矢量($V_x, V_y, V_z$)。这个思路我感觉挺好的，而且可以和之前knn下采样的思路结合，我们可以在这个基础上继续加新的东西，而且他们的代码还没有开源，所以我最近有时间的话想从头复现下这篇论文，顺便学习下cuda的代码。&lt;/p&gt;
&lt;p&gt;总的来说，我个人感觉这个领域做的人比较少，而且这些工作的不足之处也非常明显，比如首先他们不能将物体的前景与背景分离开来(比如可以参考&lt;a class=&#34;link&#34; href=&#34;https://stevenlsw.github.io/physgen/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PhysGen&lt;/a&gt;的pipeline,并用&lt;a class=&#34;link&#34; href=&#34;https://lotus3d.github.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LOTUS&lt;/a&gt;做分割?)，其次他们还是只能模拟简单的物理规律，比如他们都把花朵建模为了纯粹的弹性-质点模型，而且在物理规律模拟的过程中都是比较传统的算法，这对于机器人的操作来说都是必须要解决的问题，我感觉这个领域还是值得研究的。&lt;/p&gt;
&lt;h2 id=&#34;机器人中的应用-application-in-robot&#34;&gt;机器人中的应用 Application in Robot
&lt;/h2&gt;&lt;p&gt;在机器人领域的调研中，最符合我idea的工作是这篇23年的RAL &lt;a class=&#34;link&#34; href=&#34;https://arxiv.org/abs/2210.09420&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DANOs&lt;/a&gt;。&lt;img src=&#34;https://Peraspera1.github.io/images/summary/image1.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;概览&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;可以参考他们的&lt;a class=&#34;link&#34; href=&#34;youtu.be/Md0PM-wv_Xg&#34; &gt;视频&lt;/a&gt;作进一步的了解。
&lt;img src=&#34;https://Peraspera1.github.io/images/summary/image2.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;部分视频截图&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;他们的工作是通过纯粹的视觉信息来估计物体的质量，重心，摩擦系数这些属性并辅助机械爪工作，由于是23年的工作，所以他们的框架还是建立在Nerf的基础上的，也就是先建立一个体素场，然后在体素的密度和质量之间，通过神经网络的方式建立一个映射，从而恢复出物体的属性。而且他们还在实物实验上验证了他们的结果，不过这个实物实验比较简单，就是一个肥皂在桌子上滑动，然后预测摩擦力/重力，算出物体的运动规律。&lt;/p&gt;
&lt;p&gt;那么由这个工作出发，自然地会想到两条路径。首先，目前，3DGS技术已经被广泛应用，并且相比NeRF，其基于点云的表示方式在物理仿真中更具优势。因此，直接将 NeRF替换为3DGS是一个显而易见的改进方向。这个工作一眼就能看出来能和PhysGaussian结合，虽然我没找到相关工作，但肯定有人会去做，不过别人可能是普通的二爪机械手，我们是灵巧手，而且还能加入触觉信息，这也是我觉得一个可以探索的方向。&lt;/p&gt;
&lt;p&gt;其次由这个工作，我还联想到了很多预训练上的工作，例如，在现实任务中，机械手可能难以直接抓取桌面上的一张卡片，而更合理的策略是先将卡片推到桌子的边缘，再进行夹取。本质上，这一推卡片的过程与上述预测摩擦力/重力的方法是相似的，都涉及物理信息的推理与利用。然而，据我观察，大部分机器人领域的研究仍然主要关注于抓取姿态的生成，即如何在几何层面找到最优的抓取方式，而对物体的物理属性（如摩擦、质心、变形）以及环境因素的考量较少。因此，我的研究想法正是希望从物理信息的角度出发，探索更加智能的抓取策略。（如果后续要做这个方向上的工作，我希望能从这个简单的任务（推卡片）开始做）&lt;/p&gt;
&lt;p&gt;有人可能会质疑：如果目标是执行某些运动学任务（如推卡片、打乒乓球等），为什么不直接用端到端控制器进行学习？目前已有研究通过强化学习等方法，成功训练出了能够打乒乓球或羽毛球的机器人，是否还有必要引入物理建模？&lt;/p&gt;
&lt;p&gt;首先，从直觉上来说，我觉得通过物理规律建模得到的结果可以泛化到很多未知的情境中，端到端的控制方法虽然可以在特定任务上表现出色，但它们通常是基于数据驱动的黑盒模型，容易受到环境因素（如颜色、光照变化等）的干扰。而基于物理规律的建模方法则能够泛化到更多未知场景，不依赖于特定数据分布。&lt;/p&gt;
&lt;p&gt;其次，按照我文章一开始提出的overview，哪一个环节出现了问题，对于我来说都是可控的，这种可控性使得物理建模能够更好地与新兴的研究成果结合（比如之前提到的lotus），并进行模块化优化。而端到端学习往往难以解释模型的决策逻辑，并且对于计算资源的消耗量巨大。&lt;/p&gt;
&lt;p&gt;第三，打乒乓球这种工作只能局限于运动学模型，而对于更精细的操作（如灵巧手抓取柔性物体、操纵复杂工具、物体局部形变等），物理仿真能够提供更完整的解释。例如，在精细抓取任务中，局部形变、摩擦力、微观接触点的作用不可忽视，而这些信息很难通过端到端的黑盒方法直接学习到。&lt;/p&gt;
&lt;h1 id=&#34;reference&#34;&gt;Reference
&lt;/h1&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://rlw1999.github.io/zh/posts/physics-ai/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Physics for Large Video Model&lt;/a&gt;&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
