<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Robotic on Xiong Jia</title>
        <link>https://Peraspera1.github.io/categories/robotic/</link>
        <description>Recent content in Robotic on Xiong Jia</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <copyright>xj</copyright>
        <lastBuildDate>Fri, 25 Apr 2025 16:03:07 +0800</lastBuildDate><atom:link href="https://Peraspera1.github.io/categories/robotic/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>EvolvingGrasp</title>
        <link>https://Peraspera1.github.io/p/evolvinggrasp/</link>
        <pubDate>Fri, 25 Apr 2025 16:03:07 +0800</pubDate>
        
        <guid>https://Peraspera1.github.io/p/evolvinggrasp/</guid>
        <description>&lt;img src="https://Peraspera1.github.io/images/EvolvingGrasp/cover.png" alt="Featured image of post EvolvingGrasp" /&gt;&lt;p&gt;由于在低多样性数据上训练的模型存在局限性，灵巧的机械手通常难以在复杂环境中有效地泛化。然而，现实世界本质上呈现了无限的场景范围，因此无法考虑所有可能的变化.&lt;/p&gt;
&lt;p&gt;**​​现有方法的局限​​：**传统灵巧抓取方法（优化型或基于学习的方法）依赖有限多样性的数据集，难以适应真实场景中无限的变化。扩散模型虽能生成多样抓取，但存在采样效率低、物理合理性不足的问题&lt;/p&gt;
&lt;p&gt;一个自然的解决方案是让机器人从复杂环境中的经验中学习，这种方法类似于进化，系统通过持续反馈进行改进，从失败和成功中学习，并迭代以实现最佳性能。
也就是在动态环境中实现抓取策略的持续优化，同时平衡效率与物理可行性。&lt;/p&gt;
&lt;h2 id=&#34;问题定义&#34;&gt;问题定义
&lt;/h2&gt;&lt;p&gt;输入​​：物体点云 $O\in\mathbb{R}^{N\times3}$ ，表示物体的几何形状。&lt;/p&gt;
&lt;p&gt;输出：灵巧手的抓取姿态参数 x&lt;/p&gt;
&lt;h2 id=&#34;方法&#34;&gt;方法
&lt;/h2&gt;&lt;p&gt;对于一个物体点云O，模型会通过预测噪声，然后去噪得到多个手部姿态的样本。这个样本里有正样本和负样本（判断正负样本的方式是在仿真加扰动，有一些metrics去判断，也可以由人来选择）。然后根据HPO的损失函数来调整模型参数（如LoRA微调），使未来生成的姿态更偏向成功分布，而非直接修改去噪步骤的参数。&lt;/p&gt;
&lt;h2 id=&#34;hpo&#34;&gt;HPO
&lt;/h2&gt;&lt;p&gt;​Handpose-wise Preference Optimization (HPO) 基于偏好对齐的进化式抓取生成&lt;/p&gt;
&lt;p&gt;​​目标​​：通过对比正样本（成功抓取）和负样本（失败抓取）的差异，优化模型生成抓取姿态的后验概率分布。&lt;/p&gt;
&lt;p&gt;使用Bradley-Terry模型定义偏好概率：
$p_\mathrm{BT}(x_0^w\succ x_0^l)=\sigma(r(x_0^w)-r(x_0^l))$&lt;/p&gt;
&lt;p&gt;HPO损失函数:&lt;/p&gt;
&lt;p&gt;$\mathcal{L}_{\mathrm{HPO}}=\mathbb{E}\log\sigma\left(\sum_{i=1}^{N_{\mathrm{suc}}}\log\frac{\pi_\theta(x_{n-1}^i|x_n^i)}{\pi_{\mathrm{ref}}(x_{n-1}^i|x_n^i)}-\sum_{j=1}^{N_{\mathrm{fail}}}\log\frac{\pi_\theta(x_{n-1}^j|x_n^j)}{\pi_{\mathrm{ref}}(x_{n-1}^j|x_n^j)}\right)$&lt;/p&gt;
&lt;p&gt;通过正样本（成功抓取）和负样本（失败抓取）的对数概率比优化策略，使模型偏好高质量抓取。&lt;/p&gt;
&lt;h3 id=&#34;bradley-terry模型&#34;&gt;​​Bradley-Terry模型
&lt;/h3&gt;&lt;p&gt;Bradley-Terry模型是一种用于​​配对比较（Pairwise Comparison）​​的概率模型，最初用于预测竞技比赛中选手的胜负概率。&lt;/p&gt;
&lt;p&gt;每个选项（如选手或抓取姿态）有一个隐式“强度值”​​（即奖励函数值 r(x)）。&lt;/p&gt;
&lt;p&gt;Example: 选手A的强度值 r(A)=2，选手B的强度值 r(B)=1  根据Bradley-Terry模型，A战胜B的概率为 $\frac{e^2}{e^2+e^1}\approx73\%$&lt;/p&gt;
&lt;p&gt;在论文中，抓取姿态的“强度值”由隐式奖励函数 r(x) 表示（显式的奖励函数，如“接触点数越多越好”），代表抓取姿态的质量（如稳定性、防穿透性），那么偏好概率公式由以下方程表示：&lt;/p&gt;
&lt;p&gt;$p_{\mathrm{BT}}(x^w\succ x^l)=\sigma(r(x^w)-r(x^l))=\frac{1}{1+e^{-(r(x^w)-r(x^l))}}$&lt;/p&gt;
&lt;p&gt;$x^w$是成功样本，$x^l$是失败样本，如果 $x^w$ 比 $x^l$更优,则 $r(x^w)&gt;r(x^l)$ ,概率趋近于1;反之趋近于0。&lt;/p&gt;
&lt;h2 id=&#34;pcm&#34;&gt;PCM
&lt;/h2&gt;&lt;p&gt;PCM的核心，一是通过一致性模型框架压缩推理步骤，而是引入物理约束。&lt;/p&gt;
&lt;h3 id=&#34;一致性模型&#34;&gt;一致性模型
&lt;/h3&gt;&lt;p&gt;从预训练的扩散模型（教师模型）中蒸馏出一个轻量级的一致性模型（学生模型），从而将扩散模型的去噪过程（数百步）压缩为​​极少数步骤​​（2-8步），直接学习从噪声到干净数据的映射&lt;/p&gt;
&lt;h4 id=&#34;自洽性&#34;&gt;自洽性
&lt;/h4&gt;&lt;p&gt;模型在不同时间步（timestep）对同一噪声输入的预测结果指向同一数据点​​（即去噪后的干净数据）。例如，输入一个噪声样本$x_t$, (对应时间步 t)，模型应直接预测出最终去噪结果$x_0$。输入另一个噪声样本$x_{t&#39;}$，对应时间步$t&#39;$，模型预测的$x_0$应与前者的结果一致。&lt;/p&gt;
&lt;p&gt;那么自洽性损失的定义如下：&lt;/p&gt;
&lt;p&gt;$\mathcal{L}_{\text{consistency}}=\mathbb{E}_{t,t^{\prime}}\left[\|f_\theta(x_t,t)-f_\theta(x_{t^{\prime}},t^{\prime})\|^2\right]$&lt;/p&gt;
&lt;p&gt;在训练时，随机采样两个时间步 t 和 t&amp;rsquo;，并通过数值 ODE 求解器（如 DDIM）生成相邻时间步的噪声样本$x_t$和$x_{t&#39;}$。
模型需预测两者的去噪结果$x_0$，并通过损失函数强制它们的预测一致。&lt;/p&gt;
&lt;h4 id=&#34;模型蒸馏&#34;&gt;模型蒸馏
&lt;/h4&gt;&lt;p&gt;教师模型​​：传统扩散模型需要 100+ 步去噪（如 DDPM），每一步迭代修正噪声。&lt;/p&gt;
&lt;p&gt;​​学生模型（PCM）​​：通过​​蒸馏（Distillation）​​将教师模型的多步去噪过程压缩为​​单步映射​​（从任意噪声$x_t$直接预测$x_0$）。&lt;/p&gt;
&lt;p&gt;教师模型使用大规模抓取数据集（如 DexGraspNet、MultiDex）训练传统的扩散模型。&lt;/p&gt;
&lt;p&gt;学生模型在推理时需满足物理可行性（如避免穿透、保持接触稳定性）。为此，在采样过程中引入​​梯度引导​​：&lt;/p&gt;
&lt;p&gt;$\hat{\mu}_\theta(x_t,t)=\mu_\theta(x_t,t)+\sum_{i=1}^m\gamma_i\nabla_{x_t}\mathcal{L}_{\mathrm{PA}_i}(F_\theta(x_t,t),\epsilon_\theta)$&lt;/p&gt;
&lt;p&gt;学生模型本身是单步映射，但实际应用中通过 2-8 步迭代逐步修正噪声，以提升稳定性。&lt;/p&gt;
&lt;h2 id=&#34;评估指标&#34;&gt;评估指标
&lt;/h2&gt;&lt;h3 id=&#34;suc6&#34;&gt;Suc.6
&lt;/h3&gt;&lt;p&gt;Success rate Suc.6 measures the proportion of grasping poses where the object’s displacement does not exceed 2 cm in all six axial directions (±X, ±Y , ±Z), evaluating multi-directional stability.&lt;/p&gt;
&lt;p&gt;在仿真器中给物体一个扰动，看物体在六个方向上的移动会不会超过2cm。需要六个方向都小于2cm才算成功。&lt;/p&gt;
&lt;h3 id=&#34;suc1&#34;&gt;Suc.1
&lt;/h3&gt;&lt;p&gt;Suc.1 measures the proportion where displacement does not exceed 2cm in at least one direction, assessing single-direction stability.&lt;/p&gt;
&lt;p&gt;在仿真器中给物体一个扰动，看物体在单个方向上的移动会不会超过2cm。&lt;/p&gt;
&lt;h3 id=&#34;pen&#34;&gt;Pen.
&lt;/h3&gt;&lt;p&gt;Pen. indicates the maximum penetration depth (mm) between the hand and the object, with lower values suggesting more physically plausible grasps.&lt;/p&gt;
&lt;p&gt;手与物体之间的最大穿透深度 （mm），值越低表示物理上越合理。&lt;/p&gt;
&lt;p&gt;结果如下（论文中的metrics似乎单位错了？）：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/EvolvingGrasp/metrics.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;metrics&#34;
	
	
&gt;&lt;/p&gt;
&lt;h2 id=&#34;手部姿态参数表示&#34;&gt;手部姿态参数表示​
&lt;/h2&gt;&lt;p&gt;抓取姿态 x 由三部分组成：
$x=\left\{\theta_h\in\mathbb{R}^{24},T_{\mathrm{global}}\in\mathbb{R}^3,R_{\mathrm{global}}\in SO(3)\right\}$&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;​关节角度&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;​​参数​​： $x=  \theta_h\in \mathbb{R}^{24}$&lt;/p&gt;
&lt;p&gt;​​含义​​：控制手部24个关节的弯曲角度（如手指的屈伸、侧展）。&lt;/p&gt;
&lt;p&gt;​​作用​​：决定手指的局部形状，例如手指如何包裹物体。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;​​全局平移&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;​​参数​​： $T_{\mathrm{global}}\in\mathbb{R}^3$&lt;/p&gt;
&lt;p&gt;​​含义​​：手部基坐标系（如掌心）在三维空间中的平移坐标 (x,y,z)。&lt;/p&gt;
&lt;p&gt;​​作用​​：确定手部相对于目标物体的位置（如手距离物体的远近）。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;​​全局旋转&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;​​参数​​：$ R_{\mathrm{global}}\in SO(3)$&lt;/p&gt;
&lt;p&gt;​​含义​​：手部基坐标系的三维旋转矩阵（属于特殊正交群 SO(3)），表示手部的朝向（如掌心朝上/朝下）。&lt;/p&gt;
&lt;p&gt;​​作用​​：决定手部在空间中的摆放方向，影响抓取角度（如正握、侧握）&lt;/p&gt;
</description>
        </item>
        <item>
        <title>NeuralFeels</title>
        <link>https://Peraspera1.github.io/p/neuralfeels/</link>
        <pubDate>Mon, 14 Apr 2025 20:34:24 +0800</pubDate>
        
        <guid>https://Peraspera1.github.io/p/neuralfeels/</guid>
        <description>&lt;img src="https://Peraspera1.github.io/images/NeuralFeels/cover.png" alt="Featured image of post NeuralFeels" /&gt;&lt;h2 id=&#34;信息概览&#34;&gt;信息概览
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Science Robotics&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;论文题目：&lt;/strong&gt; NeuralFeels with neural fields: Visuotactile perception for in-hand manipulation&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;论文单位：&lt;/strong&gt; CMU&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;p&gt;NeuralFeels方法使用了视觉（RGB-D摄像头）、**触觉（基于视觉的触觉传感器）和本体感知（机器人关节角度）**数据。这些数据通过在线神经场（Neural Field）模型进行处理，结合了多种感知输入，以获得更精确的物体位姿和形状估计&lt;/p&gt;
&lt;p&gt;作者使用了Signed Distance Field (SDF)，这是一种基于距离的表示方法，可以高效地表示物体的表面。&lt;/p&gt;
&lt;p&gt;NeuralFeels方法的一个关键特性是在线学习。在物体与机器人手进行交互时，系统会实时更新物体的3D表示（SDF）和位姿&lt;/p&gt;
&lt;h2 id=&#34;工作流&#34;&gt;工作流
&lt;/h2&gt;&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/NeuralFeels/workflow.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;workflow&#34;
	
	
&gt;
系统首先通过视觉（RGB-D相机）和触觉（指尖DIGIT传感器）获取数据，利用​​Segment Anything Model（SAM）​​分割物体区域并排除手部遮挡，同时通过预训练的​​触觉变压器​​从触觉图像中提取接触深度；随后，前端处理生成的点云与深度信息输入后端，通过​​神经符号距离场（SDF）​​建模物体几何形状，并构建​​位姿图​​（包含SDF约束、帧间ICP配准和位姿平滑因子），采用交替优化策略——即固定位姿时通过梯度下降更新神经场参数，固定神经场时通过非线性优化（Levenberg-Marquardt算法）求解物体位姿，同时动态管理关键帧以平衡计算效率与全局一致性，最终在在线交互中实现物体形状的渐进式重建与姿态的稳定跟踪，触觉数据在视觉遮挡或噪声场景下显著补全局部几何信息，提升系统鲁棒性。&lt;/p&gt;
&lt;h2 id=&#34;度量指标&#34;&gt;度量指标
&lt;/h2&gt;&lt;h3 id=&#34;pose-metric位姿度量&#34;&gt;Pose Metric（位姿度量）
&lt;/h3&gt;&lt;p&gt;首先是位姿，从估计的网格中下采样一些点，并与离其最近的真实点作差&lt;/p&gt;
&lt;p&gt;传统的成对距离方法需要在估计点和真实点之间建立逐对对应关系，对于每个估计点，都需要找到多个真实点并计算距离，这样会导致计算量迅速增加，尤其是当物体复杂或者有大量点时，计算量会非常庞大。&lt;/p&gt;
&lt;p&gt;ADD-S通过只计算每个估计点和最近点的距离，避免了这种逐对匹配，大大减少了计算的复杂度。每个点只需要找到对应的最近点，而不需要考虑所有可能的点对，这样可以大幅加速计算过程。&lt;/p&gt;
&lt;p&gt;？？不过这样难道不会陷入局部最优吗？得去代码里仔细看看&lt;/p&gt;
&lt;h3 id=&#34;shape-metric形状度量&#34;&gt;Shape Metric（形状度量）
&lt;/h3&gt;&lt;p&gt;形状度量用来衡量物体形状的重建精度。为了评估物体的形状重建，作者使用了 F-score，这是一个结合了精度（Precision）和召回率（Recall）的指标，通常用于多视角重建任务。&lt;/p&gt;
&lt;p&gt;精度（Precision）
精度衡量的是重建的表面点与真实表面点之间的匹配质量。具体来说，它计算的是：&lt;/p&gt;
&lt;p&gt;重建的点集中有多少百分比的点，在距离真实表面点 $\tau$（例如5毫米）以内。&lt;/p&gt;
&lt;p&gt;召回率（Recall）
召回率衡量的是真实物体表面点被重建点覆盖的程度。具体来说，它计算的是：&lt;/p&gt;
&lt;p&gt;真实的物体表面点中有多少百分比的点，可以在重建的点集里找到，并且其距离小于 $\tau$。&lt;/p&gt;
&lt;p&gt;F-score 是精度和召回率的调和平均值（harmonic mean），这可以综合考量重建的准确度和完整度，得出一个[0,1]的评分。
F-score 的值越接近 1，表示重建的物体表面越精确，重建的点与真实点之间的距离越小，且重建点尽可能多地覆盖了真实表面。&lt;/p&gt;
&lt;h2 id=&#34;细节&#34;&gt;细节
&lt;/h2&gt;&lt;p&gt;物体的对齐：为了避免初始化阶段的误差，作者在实验中假设物体的初始位姿是已知的，并且它与真实位姿是对齐的。这意味着，尽管物体的初始位姿是在实验开始时设定的，物体的质心和主轴已经在某种程度上与地面真值对齐.初始化时，物体的坐标系是通过CAD模型的几何质心和主轴方向来设置的，确保物体坐标系与实际操作中的初始姿势匹配。为了保证后续重建的物体位姿不会从中受益，作者在手内物体旋转的5s后才开始做物体位姿和形状的测量，专注与后续的重建和跟踪。&lt;/p&gt;
&lt;p&gt;由于细小误差的积累，且没有回环检测，那么随着时间的累积，物体的pose误差会不断累计，不过作者并没有这方面的改进，只是说明他们大部分的实验的形状估计并没有随着时间的延长而恶化。&lt;/p&gt;
&lt;h2 id=&#34;目标&#34;&gt;目标
&lt;/h2&gt;&lt;p&gt;增量式地重建物体，在线地同时优化网络权重-&amp;gt;更新SDF，物体位姿&lt;/p&gt;
&lt;p&gt;有一个灵巧手在拿着物体旋转，这个旋转的策略应该是给定的&lt;/p&gt;
&lt;p&gt;输入RGBD图像，四个手指的触觉传感器，以及机器人自身关节角旋转的参数&lt;/p&gt;
&lt;h2 id=&#34;key-insights&#34;&gt;key insights
&lt;/h2&gt;&lt;p&gt;神经场（Neural Fields）是一种利用神经网络表示和建模3D空间中物体形状的方式。最常见的形式是有符号距离场（Signed Distance Fields，SDF），它通过神经网络来近似描述物体表面的位置。在这种表示中，每一个空间点都有一个标量值，表示到最近表面的距离。&lt;/p&gt;
&lt;p&gt;神经场的优势在于，它提供了一种连续的、差分可计算的方式来描述复杂的三维几何形状，相比于离散的表示（例如点云或网格），神经场在内存占用和计算效率上更具优势，且可以进行精确的表面重建。&lt;/p&gt;
&lt;p&gt;“姿态化”意味着神经场不仅表示物体的几何形状，还考虑了物体的位置和姿态（即其在三维空间中的方向和位置）。具体来说，NeuralFeels 中的神经场是通过优化物体的姿态（即物体在空间中的位置和朝向）和形状（即物体的几何特征）来动态更新和估计物体的模型。&lt;/p&gt;
&lt;p&gt;在NeuralFeels中，物体模型（即神经场）是通过交替优化的方式来估计的：&lt;/p&gt;
&lt;p&gt;形状优化：通过优化神经网络来更好地匹配物体的表面。&lt;/p&gt;
&lt;p&gt;姿态优化：通过优化姿态图（Pose Graph）来调整物体的相对位置和朝向，确保物体的表面与其姿态保持一致&lt;/p&gt;
&lt;h2 id=&#34;触觉相关&#34;&gt;触觉相关
&lt;/h2&gt;&lt;p&gt;DIGIT视觉触觉传感器&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/NeuralFeels/tactile.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;tactile&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;输入为触觉图像，输出为像素级深度图。&lt;/p&gt;
&lt;h2 id=&#34;前端&#34;&gt;前端
&lt;/h2&gt;&lt;h2 id=&#34;后端&#34;&gt;后端
&lt;/h2&gt;&lt;h2 id=&#34;需要讨论的问题&#34;&gt;需要讨论的问题
&lt;/h2&gt;&lt;p&gt;1 这个论文的代码里给的是原始的触觉输入图像，然后他们自己训了一个transformer来输出深度，如果用我们自己的传感器需要作哪些更改？&lt;/p&gt;
&lt;p&gt;2 SDF没有颜色信息，用&lt;a class=&#34;link&#34; href=&#34;https://github.com/city-super/GSDF&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GSDF&lt;/a&gt;转高斯？或者还有没有别的方法？从本质上来说，我只是需要物体的形状作监督，只是physgaussian和GIC等代码用的是颜色来作为损失，既然已经有SDF场，有没有什么办法能把sdf离散为粒子？比如sdf-&amp;gt;voxel-&amp;gt;particle&lt;/p&gt;
&lt;h2 id=&#34;补充材料&#34;&gt;补充材料
&lt;/h2&gt;&lt;p&gt;随便记录下&lt;/p&gt;
&lt;h3 id=&#34;物体的mesh和pose真值的获取&#34;&gt;物体的mesh和pose真值的获取
&lt;/h3&gt;&lt;p&gt;获取真实物体的mesh
&lt;img src=&#34;https://Peraspera1.github.io/images/NeuralFeels/sup01.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;sup01&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;获取真实物体的pose
&lt;img src=&#34;https://Peraspera1.github.io/images/NeuralFeels/sup02.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;sup02&#34;
	
	
&gt;&lt;/p&gt;
&lt;h3 id=&#34;keyframe选取&#34;&gt;keyframe选取
&lt;/h3&gt;&lt;p&gt;两个指标，一个是时间间隔，另一个是将SDF渲染为深度图，与传感器深度图对比计算差异。若平均损失超过阈值 d_thresh？，说明当前SDF模型与观测数据差异较大（例如探测到物体新表面），从信息增益的角度出发？&lt;/p&gt;
&lt;h3 id=&#34;触觉-深度图相比于二值有哪些优势&#34;&gt;触觉-深度图相比于二值有哪些优势？
&lt;/h3&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>Galileo</title>
        <link>https://Peraspera1.github.io/p/galileo/</link>
        <pubDate>Mon, 10 Mar 2025 15:32:44 +0800</pubDate>
        
        <guid>https://Peraspera1.github.io/p/galileo/</guid>
        <description>&lt;img src="https://Peraspera1.github.io/images/galileo/cover.png" alt="Featured image of post Galileo" /&gt;&lt;h1 id=&#34;论文信息&#34;&gt;论文信息
&lt;/h1&gt;&lt;h2 id=&#34;信息概览&#34;&gt;信息概览
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;NeurIPS 2015&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;论文题目：&lt;/strong&gt; Galileo: Perceiving Physical Object Properties by Integrating a Physics Engine with Deep Learning&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;论文单位：&lt;/strong&gt; MIT&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;h1 id=&#34;论文细节&#34;&gt;论文细节
&lt;/h1&gt;&lt;h2 id=&#34;小记&#34;&gt;小记
&lt;/h2&gt;&lt;p&gt;估计物体的质量、位置、3D 形状和摩擦力&lt;/p&gt;
&lt;p&gt;mapping visual inputs to physical properties&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;第二个部分是在Bullet的基础上，这个引擎输入上述的物理表示然后执行前向的物理模拟，算出模拟得到的速度和位置曲线。&lt;/p&gt;
&lt;p&gt;第三部分是似然函数？用场景中的速度矢量来评估真实世界的视频？？&lt;/p&gt;
&lt;p&gt;Now, given a video as observation to the model, physical scene understanding in the model corresponds to inverting the generative model by probabilistic inference to recover the underlying physical object properties in the scene.&lt;/p&gt;
&lt;p&gt;none of them focused on learning physical properties directly, and nor they have incorporated a physics engine with representation learning.&lt;/p&gt;
&lt;p&gt;一个物体从倾斜的表面上滑下来，并可能与地面上的另一个物体发生碰撞。&lt;/p&gt;
&lt;p&gt;将物理引擎的反馈合并到循环中，从视觉输入中估计物体的物理属性。&lt;/p&gt;
&lt;p&gt;首先，我们提出了 Galileo，这是一种新颖的模型，通过将物理引擎的反馈合并到循环中，从视觉输入中估计物体的物理属性。我们证明，它在真实世界的视频数据集上取得了令人鼓舞的性能。其次，我们训练一个基于深度学习的识别模型，该模型可以在生成模型中进行高效推理，并使生成模型能够预测静态场景的未来动态演变（例如，该场景如何及时展开）。第三，我们测试我们的模型，并将其与人类在各种物理判断任务上进行比较。我们的结果表明，人类在这些任务中非常成功，我们的模型在性能上与人类非常匹配，但也始终犯与人类类似的错误，这为支持人类物理场景理解的概率模拟解释提供了进一步的证据。&lt;/p&gt;
&lt;p&gt;训练的网络是LeNet 输入裁剪好的图像块，输出物体的label（属性）&lt;/p&gt;
</description>
        </item>
        <item>
        <title>SFA</title>
        <link>https://Peraspera1.github.io/p/sfa/</link>
        <pubDate>Sat, 08 Mar 2025 14:43:57 +0800</pubDate>
        
        <guid>https://Peraspera1.github.io/p/sfa/</guid>
        <description>&lt;img src="https://Peraspera1.github.io/images/SFA/cover.png" alt="Featured image of post SFA" /&gt;&lt;h1 id=&#34;论文信息&#34;&gt;论文信息
&lt;/h1&gt;&lt;h2 id=&#34;信息概览&#34;&gt;信息概览
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Science Robotic 2019&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;论文题目：&lt;/strong&gt; See, feel, act: Hierarchical learning for complex manipulation skills with multisensory fusion&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;论文单位：&lt;/strong&gt; MIT&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;p&gt;文章要解决的一个核心问题是机器人如何像人类一样，结合视觉和触觉信息，高效学习复杂的物理操作技能，比如玩 Jenga（叠叠乐）？&lt;/p&gt;
&lt;h2 id=&#34;论文细节&#34;&gt;论文细节
&lt;/h2&gt;&lt;p&gt;分析：
这个问题可以从两个角度来解读：1 机器人需要边操作边感知，用触觉和视觉来推测积木状态，而不是仅靠视觉；2 机器人需要同时处理可移动和不可移动的积木，制定合适的策略来提取积木，而不让塔倒塌。传统机器人学习主要依赖视觉数据，缺乏触觉推理能力，导致它们需要大量数据才能学会基本操作。而基于强化学习方法需要大量训练数据，但由于Jenga游戏中的物理交互细节微妙，RL难以快速收敛。因此，文中给出的方法可以按照探索（Exploration）+ 学习（Learning）+ 决策（Decision Making）的框架来解决。&lt;/p&gt;
&lt;h3 id=&#34;探索&#34;&gt;探索
&lt;/h3&gt;&lt;p&gt;机器人随机选择一个积木并执行推的动作，并记录：积木的受力情况（触觉传感器），积木移动的位置和角度（摄像头），机器人末端执行器的参数（本体感知），塔的稳定性（由视觉观测），类似于人类玩Jenga时会试探性地推一下积木，看看它是否松动&lt;/p&gt;
&lt;h3 id=&#34;训练&#34;&gt;训练
&lt;/h3&gt;&lt;p&gt;论文提出了一种分层学习（hierarchical learning）方法；&lt;/p&gt;
&lt;p&gt;低层级：学习物理参数（如积木的受力情况、摩擦力、位移）&lt;/p&gt;
&lt;p&gt;高层级：归纳行为模式（如“积木可以移动” vs “积木被卡住”）&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/SFA/images1.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;image&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;绿色集群表示机器人未与任何块接触的轨迹，特别是在轨迹开始时，测得的力可以忽略不计，并且块不会移动。灰色簇表示抵抗运动并被卡住的块，表现出较大的阻力并且几乎没有平移。蓝色簇表示相当容易移动的块（大位移）并且表现出可以忽略不计的阻力。黄色集群表示移动但对机器人提供有意义阻力的块。&lt;/p&gt;
&lt;p&gt;计算：积木是否容易被推动（基于力反馈）/积木是否松动（基于历史数据）/积木移动时的可能路径（基于视觉+力传感器）&lt;/p&gt;
&lt;p&gt;论文使用了贝叶斯神经网络（BNN, Bayesian Neural Network） 学习积木的力学行为模式，使机器人可以从少量数据中泛化：输入：推积木时的力+位移信息。输出：预测未来的受力情况和积木的运动轨迹。&lt;/p&gt;
&lt;h3 id=&#34;泛化&#34;&gt;泛化
&lt;/h3&gt;&lt;p&gt;机器人在每次推积木时，会先计算成功的概率。例如，如果积木之前被推过但没有动，机器人会降低推的力度或改变推的方向。&lt;/p&gt;
&lt;p&gt;然后执行贝叶斯更新（Bayesian Update）：机器人会随着每次操作更新对积木状态的信心。&lt;/p&gt;
&lt;p&gt;例如：机器人发现某个积木很难移动 → 更新其状态为“卡住”，减少未来的尝试。发现某个积木容易移动 → 优先尝试此类积木。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;更多训练的细节：&lt;/strong&gt;
1 采用贝叶斯建模学习积木的物理属性；
2 用深度学习训练一个预测模型（输入力，预测积木的反应）；
3 机器人自监督学习，不断改进对积木状态的推测；&lt;/p&gt;
&lt;h2 id=&#34;思考&#34;&gt;思考
&lt;/h2&gt;&lt;p&gt;这个训练的框架也许有用，但应该仅限于摩擦力的框架，而且我对BNN并不太了解；&lt;/p&gt;
&lt;p&gt;估计摩擦力的框架到时可以借鉴？即输入物体的rgb图+末端执行器的位姿+施加力的大小和方向，然后先算一步先验(即初步估计的摩擦系数，就能简单的判断这个力是否能推动物体)再输入神经网络，得到物体下一时刻的位移。&lt;/p&gt;
&lt;h2 id=&#34;其他&#34;&gt;其他
&lt;/h2&gt;&lt;p&gt;论文提出了一种分层学习（hierarchical learning）方法，通过视觉和触觉融合，使机器人学习Jenga游戏中的操作技能&lt;/p&gt;
&lt;p&gt;论文想要解决的问题是主动感知与混合行为。&lt;/p&gt;
&lt;p&gt;首先是如何通过视觉信息和触觉信息来感知世界；
然后是如何通过多模态信息来学习操作；&lt;/p&gt;
&lt;p&gt;基于RL构建的大部分方法都无法有效地利用利用有关对象和动作的物理知识，而且这些系统需要比人类多得多的训练数据来学习新模型或新任务，而且它们的泛化范围要小得多，鲁棒性也要差得多。&lt;/p&gt;
&lt;p&gt;给机器人的任务是玩Jenga这个游戏。&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;很多仿真系统中对于摩擦力的建模是很粗糙的，因此仿真到现实的gap是难以弥合的。&lt;/p&gt;
&lt;p&gt;触觉信息是间断的，很难与视觉信息对齐。在Jenga任务中，视觉信息和触觉信息互相补充。&lt;/p&gt;
&lt;p&gt;触觉反馈可以提供高分辨率的局部信息，以补充来自视觉的全局但粗略的信息。&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Dough</title>
        <link>https://Peraspera1.github.io/p/dough/</link>
        <pubDate>Thu, 06 Mar 2025 10:51:30 +0800</pubDate>
        
        <guid>https://Peraspera1.github.io/p/dough/</guid>
        <description>&lt;img src="https://Peraspera1.github.io/images/doughs/cover.png" alt="Featured image of post Dough" /&gt;&lt;h1 id=&#34;论文信息&#34;&gt;论文信息
&lt;/h1&gt;&lt;h2 id=&#34;信息概览&#34;&gt;信息概览
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;ECCV 2024&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;论文题目：&lt;/strong&gt; DoughNet: A Visual Predictive Model for Topological Manipulation of Deformable Objects&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;论文单位：&lt;/strong&gt; Columbia University&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;是否开源：&lt;/strong&gt; 是&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;总结：&lt;/strong&gt;
纯视觉的预测模型，主要用于长时间预测可变性物体(如黏土/橡皮泥)的在不同物理条件下的几何拓扑变换。
可变形物体（如面团）的操作通常涉及拓扑变化（如分裂、合并）。传统方法主要关注几何形变，而忽略了拓扑变化。为了解决这个问题，研究者提出 DoughNet，一个基于 Transformer 的视觉预测模型，能够&lt;strong&gt;推测因不同工具或操作方式导致的拓扑变化&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id=&#34;论文细节&#34;&gt;论文细节
&lt;/h2&gt;&lt;h3 id=&#34;输入输出&#34;&gt;输入输出
&lt;/h3&gt;&lt;p&gt;DoughNet 需要三个主要输入：&lt;/p&gt;
&lt;p&gt;初始状态的 RGB-D 图像：通过深度相机（如RealSense）获取点云数据。
由于是单视角，数据是不完整的，因此需要进一步补全。&lt;/p&gt;
&lt;p&gt;机器人端执行工具（End-Effector, EE）的几何形状：
EE 可以是剪刀、夹子、滚轴等工具，每种工具会对物体施加不同影响。
该工具的几何形状以&lt;strong&gt;点云&lt;/strong&gt;形式输入。&lt;/p&gt;
&lt;p&gt;操作轨迹（Action Trajectory）：机器人执行的操作，包括工具的移动路径、开合角度、力的大小等。&lt;/p&gt;
&lt;p&gt;DoughNet通过潜在空间预测生成两个核心输出：&lt;/p&gt;
&lt;p&gt;1 几何预测（Geometrical Prediction）：&lt;/p&gt;
&lt;p&gt;预测物体的形状变化（如被拉长、压扁、弯曲等）。
结果以点云、体素或隐式表面表示（Occupancy Map） 输出。&lt;/p&gt;
&lt;p&gt;2 拓扑预测（Topological Prediction）：&lt;/p&gt;
&lt;p&gt;预测物体是否会合并、分裂或变形为不同拓扑结构（如从球变为环）。
结果以拓扑图（Topology Graph）形式表示，包括：连通组件数量（Number of Components），每个组件的拓扑属性（如 genus, 环数）。
这些输出最终用于机器人操作规划，帮助选择合适的工具和动作策略。&lt;/p&gt;
&lt;p&gt;for example,输入：初始面团形态（RGB-D 图像）;给定机器人工具为刀片；再给一段向下切割的轨迹。
那么这个网络会预测切割过程中的形态变化（面团从整体到分裂）及最终分裂后的面团形态（两个独立部分）&lt;/p&gt;
&lt;h3 id=&#34;网络信息流&#34;&gt;网络信息流
&lt;/h3&gt;&lt;h4 id=&#34;编码&#34;&gt;编码
&lt;/h4&gt;&lt;p&gt;DoughNet采用去噪自编码器来处理输入数据，并生成潜在表示（Latent Codes）。&lt;/p&gt;
&lt;p&gt;首先对于物体的初始点云数据 $X \in ℝ^{N×(3+1)}$（XYZ 位置 + 深度值）。使用Transformer Cross-Attention 计算点云之间的关系，并生成一组潜在特征（Latent Codes）。
再使用自注意力机制（Self-Attention）在点云上执行全局聚合，生成一个紧凑的潜在编码（Z）。这个潜在编码允许 DoughNet 处理不同大小和拓扑结构的物体。&lt;/p&gt;
&lt;p&gt;然后把EE（工具）的几何信息也被编码成潜在向量，与物体的潜在表示一起处理，以推测它们的交互方式。&lt;/p&gt;
&lt;p&gt;输出：一组潜在编码 [z]，表示物体当前的形状及拓扑信息。&lt;/p&gt;
&lt;h4 id=&#34;预测&#34;&gt;预测
&lt;/h4&gt;&lt;p&gt;DoughNet采用自回归预测来模拟物体在操作过程中的变化。&lt;/p&gt;
&lt;p&gt;输入：&lt;/p&gt;
&lt;p&gt;物体当前的潜在编码 [zt]。&lt;/p&gt;
&lt;p&gt;EE 的编码 [zt_m]，代表操作工具的信息。&lt;/p&gt;
&lt;p&gt;当前的操作 [a_t]（如 EE 移动路径）。&lt;/p&gt;
&lt;p&gt;Transformer 预测:&lt;/p&gt;
&lt;p&gt;通过Cross-Attention，模型推测物体与 EE 交互后下一步的潜在编码 [z_{t+1}]。
由于预测发生在潜在空间（Latent Space），计算量较低，且模型可以学习更稳定的特征。&lt;/p&gt;
&lt;p&gt;多步预测（Multi-Step Prediction）：&lt;/p&gt;
&lt;p&gt;由于是自回归结构，DoughNet可以递归地预测未来形态（反复输入自己的输出，进行多步预测）。&lt;/p&gt;
&lt;p&gt;预测的输出是：
1 下一步物体的潜在编码 [z_{t+1}]。
2 EE 的影响 [z_{t+1}^m]（用于判断 EE 选择是否合理）。&lt;/p&gt;
&lt;h4 id=&#34;解码&#34;&gt;解码
&lt;/h4&gt;&lt;p&gt;DoughNet 需要将预测的潜在编码转换回物体的几何形状和拓扑结构。&lt;/p&gt;
&lt;p&gt;形状解码：采用 Transformer 解码层，将潜在编码 [z] 还原成 物体表面的点云或体素网格。&lt;/p&gt;
&lt;p&gt;组件分割（Component Segmentation）：预测哪些点属于哪个物体组件（如两个面团是否仍然是一个整体，或已经分裂成两部分）。&lt;/p&gt;
&lt;p&gt;拓扑预测（Topology Prediction）：
预测物体的 拓扑结构（genus, 组件数），比如：是否分裂？是否合并？是否变成一个环？
采用Cross-Attention计算物体在不同时间步的拓扑关系。&lt;/p&gt;
&lt;p&gt;最终输出：完整物体的形状（Occupancy Map, Point Cloud, Mesh）和拓扑结构。&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Cosmos</title>
        <link>https://Peraspera1.github.io/p/cosmos/</link>
        <pubDate>Tue, 04 Mar 2025 16:22:05 +0800</pubDate>
        
        <guid>https://Peraspera1.github.io/p/cosmos/</guid>
        <description>&lt;img src="https://Peraspera1.github.io/images/cosmos/cover.png" alt="Featured image of post Cosmos" /&gt;&lt;h2 id=&#34;cosmoscomfyui-环境配置记录&#34;&gt;Cosmos+ComfyUI 环境配置记录
&lt;/h2&gt;&lt;h3 id=&#34;配置comfyui-环境&#34;&gt;配置ComfyUI 环境
&lt;/h3&gt;&lt;p&gt;官方推荐的是python=3.12版本，但是由于我的cuda是11.7版本，没有对应的pytorch，所以我改成了3.11版本的python及其对应的pytorch，这里的版本可根据需要自行修改。&lt;/p&gt;
&lt;p&gt;在终端中输入：&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;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&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;conda&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;create&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;comfyui&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;python&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;3.11&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;conda&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;activate&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;comfyui&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;conda&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;install&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pytorch&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;==&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;2.5.1&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;torchvision&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;==&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;0.15.2&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;torchaudio&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;==&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;2.0.2&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pytorch&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;cuda&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;12.1&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;c&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pytorch&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;c&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;nvidia&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;git&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;clone&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;https&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;//&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;github&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;comfyanonymous&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ComfyUI&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;git&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;cd&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ComfyUI&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;pip&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;install&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;r&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;requirements&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;txt&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;https&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;//&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pypi&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mirrors&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ustc&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;edu&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;cn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;simple&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&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;之后运行&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;main&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&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;出现如下结果：
&lt;img src=&#34;https://Peraspera1.github.io/images/cosmos/comfyui1.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;终端截图&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;打开网站后结果如下
&lt;img src=&#34;https://Peraspera1.github.io/images/cosmos/comfyui2.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;网页UI&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;至此comfyUI配置完成&lt;/p&gt;
&lt;h3 id=&#34;cosmos-相关配置&#34;&gt;Cosmos 相关配置
&lt;/h3&gt;&lt;p&gt;下载 &lt;a class=&#34;link&#34; href=&#34;https://huggingface.co/comfyanonymous/cosmos_1.0_text_encoder_and_VAE_ComfyUI/tree/main/text_encoders&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;语言模型&lt;/a&gt;
并保存到ComfyUI/models/text_encoders/ 路径下&lt;/p&gt;
&lt;p&gt;下载 &lt;a class=&#34;link&#34; href=&#34;https://huggingface.co/comfyanonymous/cosmos_1.0_text_encoder_and_VAE_ComfyUI/blob/main/vae/cosmos_cv8x8x8_1.0.safetensors&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;vae&lt;/a&gt;
并保存到 ComfyUI/models/vae/ 路径下&lt;/p&gt;
&lt;p&gt;下载 &lt;a class=&#34;link&#34; href=&#34;https://huggingface.co/mcmonkey/cosmos-1.0/blob/main/Cosmos-1_0-Diffusion-7B-Text2World.safetensors&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;cosmos模型&lt;/a&gt;
并保存到 ComfyUI/models/diffusion_models 路径下&lt;/p&gt;
&lt;h3 id=&#34;comfyui-工作流配置&#34;&gt;ComfyUI 工作流配置
&lt;/h3&gt;&lt;p&gt;在&lt;a class=&#34;link&#34; href=&#34;https://comfyanonymous.github.io/ComfyUI_examples/cosmos/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;官方文档&lt;/a&gt;中，下载对应的json文件并保存到comfyui下的workflow的文件夹（自己新建），下图以text2video为例&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/cosmos/comfyui3.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;workflow&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;然后在网页端打开这个工作流直接运行就可以了&lt;/p&gt;
&lt;h3 id=&#34;踩坑&#34;&gt;踩坑
&lt;/h3&gt;&lt;p&gt;Q1&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;module&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;torch&amp;#39;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;has&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;no&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;attribute&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;float8_e4m3fn&amp;#39;&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;A1&lt;/p&gt;
&lt;p&gt;torch版本太低了，升级到pytorch=2.5.1+cuda=12.1就好&lt;/p&gt;
&lt;h1 id=&#34;comfyui-基本使用方法&#34;&gt;Comfyui 基本使用方法
&lt;/h1&gt;&lt;p&gt;安装了两个插件还挺好用的，分别是AlekPet和VHS&lt;/p&gt;
</description>
        </item>
        <item>
        <title>DANOs</title>
        <link>https://Peraspera1.github.io/p/danos/</link>
        <pubDate>Mon, 03 Mar 2025 10:04:23 +0800</pubDate>
        
        <guid>https://Peraspera1.github.io/p/danos/</guid>
        <description>&lt;img src="https://Peraspera1.github.io/images/DANOs/cover.png" alt="Featured image of post DANOs" /&gt;&lt;h1 id=&#34;论文信息&#34;&gt;论文信息
&lt;/h1&gt;&lt;h2 id=&#34;信息概览&#34;&gt;信息概览
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;RAL 2023&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;论文题目：&lt;/strong&gt; Differentiable Physics Simulation of Dynamics-Augmented Neural Objects&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;论文单位：&lt;/strong&gt; MIT&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;是否开源：&lt;/strong&gt; 否&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;总结：&lt;/strong&gt;
输入未经处理的rgb视频，使用可微分物理引擎来模拟其在施加的力和扭矩下的运动&lt;/p&gt;
&lt;h2 id=&#34;论文细节&#34;&gt;论文细节
&lt;/h2&gt;&lt;p&gt;1 估计物体质量、质心、惯性矩阵和表面摩擦系数，通过表面接触的概率?&lt;/p&gt;
&lt;p&gt;总体思想如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://Peraspera1.github.io/images/danos/sys1.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;理论&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;他们主要的创新点还是在提取物体表面上做的，但该方法是建立在nerf场上的，没必要借鉴，在3DGS的情况下应该有更好的表示方式。
总之，这个工作主要还是建立在dojo这个他们MIT自己研究的仿真平台上的，不一定有泛用性，而且这个平台已经停止开发了。
可以去研究下genesis是怎么工作的。&lt;/p&gt;
&lt;h2 id=&#34;相关论文&#34;&gt;相关论文
&lt;/h2&gt;&lt;p&gt;“Marching cubes: A high resolution 3d surface construction algorithm”  siggraph  生成物体表面的网格模拟运动&lt;/p&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>
