本周主要是在找双目视觉三维人体姿态估计方向的文章,这篇dual-diffusion,双目三维人体姿态估计的双扩散文章,引起了兴趣,作者从由于摄像机数量的减少,增加了3d重建的不确定性入手,然后使用了扩散模型,从不确定的噪声数据(各个视觉的二维姿态)恢复3d姿态。之所以叫做双扩散,作者将2D和3D的不确定性视为两个相互关联的噪声源,并通过以下步骤同时降低它们的不确定性:首先,模型对输入的2D姿态进行去噪处理。由于2D姿态的误差是3D误差的主要来源之一,通过减少2D姿态的噪声,可以间接降低3D姿态的不确定性。然后在对生成的3d姿态进行去噪,并且该模型能够通过联合优化2D和3D的去噪过程,使得两者相互促进。2D姿态的准确性提升有助于3D姿态的恢复,而3D姿态的优化也可以反过来指导2D姿态的修正。

视角减少后,不确定性也增加了。 后续在文章结尾的时候,还有副页进行讲解:
这张图讲的是双目视觉系统在三维重建中可能存在的误差范围,简单来说就是用两个“眼睛”(相机)看东西的时候,怎么通过它们看到的东西来还原出物体在真实空间中的位置,但这个过程并不是完全精确的,会有一些误差。
图里有两个“眼睛”的位置,分别叫 O1 和 Or,它们就是两个相机的视角。从这两个点出发,光线会射向空间中的一些物体点,比如 A、B、C、F、G 这些点。这些光线会在不同的高度 Z 和 Z' 相交,表示物体在空间中的位置。但问题是,由于相机的视角、分辨率或者匹配误差,这些光线可能不会准确地交在同一个点上,而是会有一个范围,这就是所谓的“不确定性范围”。
图中还标注了一些关键的距离和误差,比如 Δz 和 Δz' 表示在深度方向上的误差,Δx 表示在水平方向上的误差,Δu 表示在图像平面上的像素误差,f 则是相机的焦距。这些标注告诉我们,双目视觉系统的精度受到很多因素的影响,比如相机的焦距、两个相机之间的距离(基线长度),以及图像匹配的精度。
同时,作者还引入了嵌入这个概念,在双目视觉中,深度信息是一个很关键的因素,能够直接影响到3d姿态的准确性。因此作者将3d姿态中每个关节点的深度信息进行编码,作为额外的条件输入到扩散模型中。

建模部分(Modeling):建模部分包括前向扩散过程和反向去噪过程,用于学习从噪声数据中恢复真实姿态的能力。
前向扩散过程(Forward Diffusion):通过输入真实的双目2D姿态 u0,逐步添加噪声,经过 T 步将 u0 转化为噪声分布 uT。这一步的目的是使噪声数据与初始估计的2D姿态分布对齐。
反向去噪过程:对噪声3D姿态 yt进行逐步去噪,将噪声 yt 恢复为合理的3D姿态 y0,其中使用了使用几何映射(Geometric Mapping)这样技术,连接2D和3D域,确保2D和3D姿态的一致性。
在推理部分,就是实际用这个模型来处理新的数据了。首先,从输入的2D姿态里通过三角测量得到一个初始的3D姿态,但这个姿态可能不太准,所以需要用之前学到的去噪方法一步步优化它。优化过程中,还会把3D姿态重新投影回2D,看看是不是变得更合理了。这个过程会反复进行几次,直到结果稳定下来。为了提升效果,还引入了两个小技巧:一个是BaseL-norm,用来处理不同相机之间的距离问题;另一个是Z-embedding,用来更好地理解深度信息。
然后剩下的时间,主要去研究了下扩散模型。
Diffusion Model(扩散模型)是一种基于概率生成模型的方法,通过逐步添加噪声(前向扩散过程)和逐步去噪(反向去噪过程)来生成目标数据。其核心思想是将真实数据分布通过逐步加噪转化为高斯噪声分布,再通过神经网络学习如何从噪声中恢复出真实数据。
前向扩散
在前向扩散过程中,真实数据 x0 通过逐步添加高斯噪声,经过 T 步后转化为完全噪声 xT。每一步的噪声添加过程可以表示为:
βt 是噪声调度参数,控制每一步的噪声强度。通过递归公式,可以直接从 x0 生成 xt。
at=1-βt。=
反向去噪
反向去噪过程的目标是从噪声 xT 逐步恢复出真实数据 x0。每一步的去噪过程可以表示为:
而Σθ模型预测的方差,μθ预测的均值。训练的目标就是最小化预测噪声和真实噪声之间的误差。
这类生成模型,就是实现从无到有的这一个过程,对于扩散模型而言,就是从一堆噪声信息中去生成(还原)出真实(想要的)数据。这给后面其他领域一个思路,是否在其他神经网络、模型中,把中间部分、隐空间里的数据,或者还未优化的数据当作一种噪声,能否使用扩散模型进行优化和去噪,能够使其网络得到的结果更加精准。
在数据集方面,我没能够下载这篇文章(dual-diffusion)对应的数据集,一个官网对大陆ip禁止(Berkeley MHAD),一个提交了申请没回复(human3.6m原始数据),其他渠道下载的数据集 要么结构不符合文章要求的,要么就是标注文件和样本对不上。因此,我最后选择使用MPI-INF-3DHP作为多视觉的数据集,同时准备使用这一类 基于 2d姿态的3dhpe数据集(例如human3.6m的2d姿态数据集(姿态序列)),基于这些序列的基础上进行恢复3d姿态,主要是这些数据集开源,同时数据量较小,方便复现,也便于后期跑实验。后面主要的方向定为多视角,基于序列的3dhpe,希望使用扩散模型,去优化在2d-3d过程中的产生误差。