论文阅读笔记——O2-Recon:Completing 3D Reconstruction of Occluded Objects in the Scene<br> with a Pre-trained 2D Diffusion Model

本文最后更新于 2026年4月12日 上午

阅读笔记2——O2-Recon: Completing 3D Reconstruction of Occluded Objects in the Scene with a Pre-trained 2D Diffusion Model

一、研究背景与动机

1.1 3D 重建的重要性与挑战

  • 3D 重建在计算机视觉领域占据重要地位,对于场景理解、虚拟现实、机器人导航等众多应用具有关键意义。然而,对象级 3D 重建一直是一个长期的难题,需要为场景中的每个实例创建精确的个体表示。

1.2 现有方法的局限性

  • 基于分类生成模型的方法(如 FroDO 等)虽然能创建完整形状,但局限于特定类别(如桌子、椅子)的物体重建,且生成的形状代码难以准确匹配实际物体表面。
  • 基于 CAD 模型检索的方法(如 Scan2CAD)在从数据库中获取合适模型并估计其姿态时,面临可扩展性差和重建准确性低的问题。
  • 利用 NeRF 的方法(如 vMap)在处理场景级视频中的遮挡问题时表现不佳,导致物体表面重建不完整,因为相机视角限制使得部分物体信息缺失。

1.3 扩散模型的启发

  • 扩散模型在 2D 图像生成和编辑方面取得的成功,为解决 3D 重建中的遮挡问题提供了新的思路。作者受此启发,探索将预训练的 2D 扩散模型应用于 3D 重建中,以填补遮挡区域的信息。

二、研究方法

2.1 数据准备与预处理

  • 输入RGB - D视频序列,其包含(N)个图像帧Inn=1N{I_{n}}_{n = 1}^{N}*和对应的深度帧Dnn=1N{D_{n}}_{n = 1}^{N}
  • 利用已有的实例和语义分割方法(如Kong et al. 2023; Xie et al. 2021),获取高质量的实例分割结果SnIn=1N~{S_{n}^{I}}_{n = 1}^{\tilde{N}}和语义分割结果S˙nSn=1N{\dot{S}_{n}^{S}}_{n = 1}^{N}。这些分割结果将用于后续的掩码提取和处理。

2.2 基于扩散的2D遮挡修复

2.2.1 实例分割与掩码提取

  • 对于每个物体(通过标识符ii区分),根据实例分割结果SnIS_{n}^{I},通过公式Mni=1Ai(x,y),Ai={(x,y)SnI(x,y)=i}M_{n}^{i}=\mathbb{1}_{A_{i}}(x, y), A_{i}=\{(x, y) | S_{n}^{I}(x, y)=i\}提取物体掩码MniM_{n}^{i}

    该公式表示在图像中,将属于物体(i)的像素位置标记为1,其他位置标记为0,从而得到物体的掩码。

  • 将提取的掩码MniM_{n}^{i}与RGB图像帧InI_{n}和深度帧DnD_{n}分别进行哈达玛积操作,得到掩码后的RGB图像Ini=InMniI_{n}^{i}=I_{n} \circ M_{n}^{i}和深度图像Dni=DnMniD_{n}^{i}=D_{n} \circ M_{n}^{i}

    这一步骤将原始的RGB - D数据中与物体相关的部分分离出来,以便后续处理遮挡区域。

2.2.2 修复掩码生成(人在环策略)

2.2.2.1 用户草图

系统要求用户在1 - 3个包含遮挡的代表性图像帧上进行操作。

用户利用其经验和判断,使用诸如RectLabel软件(Kawamura 2017)提供的画笔工具,在这些图像上绘制修复掩码。

该过程简单易行,无需专业知识,每个物体大约花费1 - 2分钟。用户绘制的掩码主要标记出遮挡区域,为后续的修复提供初始指导。

2.2.2.2 深度修复与掩码投影

  • 由于用户绘制的掩码区域因遮挡而缺乏深度信息,为了将掩码准确投影到其他视图,需要先预测这些区域的深度。

    将掩码深度帧DniD_{n}^{i}和用户绘制的草图修复掩码M~ni\tilde{M}_{n}^{i}作为输入,把深度图视为灰度图像(通过将深度值归一化到([0, 255])范围),输入预训练的扩散模型预测伪深度。

    经过扩散模型处理后,将预测的深度图像缩放回原始深度范围[0,Dmax][0,D_{max}] ​,得到完整的深度图。

  • 对于源视图(即包含用户草图的视图,记为nn)和目标视图(记为mm),通过公式M~nmi=Proj(M~ni,Pn,Pm,Km)\tilde{M}_{n \to m}^{i}=Proj(\tilde{M}_{n}^{i}, P_{n}, P_{m}, K_{m})将掩码从源视图投影到目标视图。

    其中PmP_{m}KmK_{m}分别是深度帧mm的外参和内参矩阵,Proj()Proj(\cdot)表示掩码投影过程,具体涉及相机参数的转换和像素坐标的映射。

  • 然后通过公式M~mi=Merge({M~nminselectedviews}\tilde{M}_{m}^{i}=Merge(\{\tilde{M}_{n \to m}^{i} | n \in selected views\}合并从多个选定源视图投影过来的掩码,得到目标视图mm中物体ii的修复掩码M~mi\tilde{M}_{m}^{i}

    在这个过程中,为了提高深度预测的准确性和掩码投影的质量,对于每个选定的源视图,会进行多次深度预测,并选择具有最大有效区域的输出作为最终结果。

2.2.2.3 颜色修复与掩码细化

  • 将生成的修复掩码M~ni\tilde{M}_{n}^{i}和不完全彩色图像IniI_{n}^{i}输入扩散模型进行颜色修复。

    扩散模型根据掩码区域周围的像素信息和文本提示(如“A/an CLASS{CLASS}”,其中CLASS{CLASS}是根据语义分割结果确定的物体类别),填充遮挡区域的颜色,生成更完整的彩色图像。

  • 根据修复后的RGB图像I^ni\hat{I}_{n}^{i}进一步细化物体掩码。通过比较修复前后的图像差异,更新物体掩码,得到更准确的M^ni\hat{M}_{n}^{i}

    例如,去除修复过程中可能引入的噪声或不准确区域,确保掩码与修复后的图像内容更加匹配,从而为后续的3D重建提供更精确的掩码信息。

2.2.2.4 级联SDF预测

  • 架构设计:采用级联网络架构来预测有符号距离场 (SDF) ,该架构由两部分组成。

    1. 第一部分是粗预测块,具有低频位置编码(PElowPE_{low})和浅MLP层(fcoarsef_{coarse}),其主要作用是生成相对光滑的表面,防止在有限相机视图下快速过拟合,为后续的细化提供稳定的基础。
    2. 第二部分是细化块,采用高频位置编码(PEhighPE_{high})和深MLP层(ffinef_{fine}),用于捕捉更精细的几何细节,预测SDF残差,以增强对可见区域精细几何结构的表示能力。
  • 两阶段训练策略

    • 第一阶段:专注于训练粗SDF预测块。在这个阶段,仅使用低频信息,通过大量的训练数据让网络学习到物体的大致形状和表面特征,生成一个相对平滑但可能缺乏细节的初始表面。

      这一步骤有助于网络避免因过早关注细节而导致的过拟合问题,为整个训练过程提供一个稳定的起点。

    • 第二阶段:激活细化块,并使其与粗预测块协同工作。通过将粗预测块的输出与高频位置编码相结合,细化块能够根据更多的细节信息预测SDF残差。在这个阶段,网络在保持整体表面平滑性的同时,能够捕捉到可见区域更精细的几何特征,如物体的边缘、纹理等。具体地,对于空间中的某一点(x),其SDF值(s)通过公式(s=ffine([fcoarse(PElow(x)),PEhigh(x)]))s = f_{fine}([f_{coarse}(PE_{low}(x)), PE_{high}(x)]))计算得到。

      这个公式体现了粗预测块和细化块之间的协作关系,先通过粗预测块对低频信息进行处理,然后将其结果与高频信息一起输入细化块,最终得到准确的SDF预测值。

2.2.2.5 损失函数计算与优化

  • 渲染损失

    • 基于MonoSDF的体渲染方程,对射线®在渲染过程中预期的颜色C^(r)\hat{C}(r)、法线N^(r)\hat{N}(r)和深度D^(r)\hat{D}(r)值与真实值C(r)N(r)C(r)、N(r)D(r)D(r)进行监督。

      这有助于确保渲染结果与实际场景中的物体外观和几何形状尽可能一致。

    • 为了计算渲染损失,从更新后的物体掩码{M^ni}n=1N\{\hat{M}_{n}^{i}\}_{n = 1}^{N}中采样有效射线R^\hat{R}来计算颜色和法线损失,从原始不完全物体掩码{Mni}n=1N\{M_{n}^{i}\}_{n = 1}^{N}中采样射线RR计算深度损失。渲染损失由颜色损失、法线损失和深度损失三部分组成,计算公式为:

      Lr=λCErR˙(C^(r)C(r)1)+λNErR^(1N^(r)TN(r)1)+λDErR(D)^(r)D(r)1) \begin{aligned} \mathcal{L}_{r}= & \lambda_{\mathcal{C}} \mathbb{E}_{r \in \dot{\mathcal{R}}}\left(\parallel \hat{\mathcal{C}}(r)-\mathcal{C}(r)\parallel _{1}\right) \\ & +\lambda_{\mathcal{N}} \mathbb{E}_{r \in \hat{\mathcal{R}}}\left(\parallel 1-\hat{\mathcal{N}}(r)^{T} \mathcal{N}(r)\parallel _{1}\right) \\ & +\lambda_{\mathcal{D}} \mathbb{E}_{r \in \mathcal{R}}\left(\parallel \hat{\mathcal{D})}(r)-\mathcal{D}(r)\parallel _{1}\right)\end{aligned}

      其中λC=λN=λD=1.0\lambda_{\mathcal{C}}=\lambda_{\mathcal{N}}=\lambda_{\mathcal{D}} = 1.0表示各项损失的权重,E\mathbb{E}表示期望操作,1\parallel \cdot \parallel _{1}表示L1L1范数,用于衡量预测值与真实值之间的差异。

  • Eikonal损失

    • 为了正则化3D空间中的SDF值,对沿射线采样的所有点(x)添加Eikonal项。Eikonal损失Leik\mathcal{L}_{eik}的计算公式为

      Leik=λeExX(1xs(x)1) \mathcal{L}_{eik}=\lambda_{e} \mathbb{E}_{x \in \mathcal{X}}\left(\parallel 1-\nabla_{x} s(x)\parallel _{1}\right)
    • 其中λe=0.1\lambda_{e}=0.1为权重参数,xs(x)\nabla_{x} s(x)表示SDF函数s(x)s(x)在点xx处的梯度。

      这个损失项有助于约束SDF的几何性质,使其更符合物理规律,从而提高重建表面的质量。

  • 轮廓损失

    • 受GET3D等方法的启发,引入二元交叉熵损失来从2D轮廓投影监督3D形状。

      具体地,对于沿射线rr求和的权重w(r)w(r)和更新后的物体掩码M^(r)\hat{M}(r),轮廓损失Lsi\mathcal{L}_{si}的计算公式为

      Lsi=λsiLCE(w(r),M^(r))\mathcal{L}_{si}=\lambda_{si} \mathcal{L}_{CE}(w(r), \hat{M}(r))

      其中λsi=5.0\lambda_{si}=5.0为权重参数,LCE\mathcal{L}_{CE}表示二元交叉熵损失函数。通过最小化这个损失,能够使重建的物体在轮廓上与实际物体更加匹配,增强重建的准确性和完整性。

  • 语义一致性损失

    • 为了提高对完全不可见区域的监督,利用预训练的CLIP模型作为编码器ϕ()\phi(\cdot)。将新视角渲染的颜色图像cnc_{n}和法线图像NnN_{n}与修复的文本提示TT(如“A/an CLASS{CLASS}”)以及参考视图的彩色图像crc_{r}和法线图像NrN_{r}所表示的语义空间对齐。

    • 语义一致性损失(Lse\mathcal{L}_{se})的计算公式为{

      Lse=λse(2ϕ(Cn)Tϕ(T)+ϕ(Nn)Tϕ(T)1+1ϕ(Cn)Tϕ(Cr)+1ϕ(Nn)Tϕ(Nr)) \begin{align*} \mathcal{L}_{se} & = \lambda_{se} \left( \left\| 2 - \phi(\mathcal{C}_{n})^{T} \phi(\mathcal{T}) + \phi(\mathcal{N}_{n})^{T} \phi(\mathcal{T}) \right\|_{1} \right. \\ & \quad + \left\| 1 - \phi(\mathcal{C}_{n})^{T} \phi(\mathcal{C}_{r}) \right\| \\ & \quad + \left. \left\| 1 - \phi(\mathcal{N}_{n})^{T} \phi(\mathcal{N}_{r}) \right\| \right) \end{align*}
    1. 其中(λ se=1.0\lambda _{se}=1.0)为权重参数。为了提高计算效率,cnc_{n}NnN_{n}以低分辨率进行渲染。

    2. 语义一致性损失每隔几个迭代应用于随机生成的新视角,新视角的生成过程涉及随机选择参考相机姿态、校正其方向、参数化新相机姿态(包括偏航角、俯仰角和半径)以及渲染RGB图像和表面法线图等步骤。

  • 优化过程:将上述渲染损失Lr\mathcal{L}_{r}*、*Eikonal损失Leik\mathcal{L}_{eik}、轮廓损失Lsi\mathcal{L}{si}和语义一致性损失Lse\mathcal{L}{se}相加,得到总的损失函数(L=L r+L eik+L si+L se(\mathcal{L}=\mathcal{L} {r}+\mathcal{L} {eik}+\mathcal{L} {si}+\mathcal{L} {se}

    1. 使用Adam优化器对神经隐式表面表示进行优化,通过最小化总损失函数来调整网络参数。

    2. 模型在NVIDIA GeForce RTX 3090 GPU上进行训练,总迭代次数设定为50k。

    3. 具体训练过程包括先单独训练粗块20k次,然后再将粗块和细块一起训练30k次。语义一致性损失在训练进行到10k次迭代后开启,并且每5次迭代应用一次。初始学习率设置为2e - 4,并且每20k次迭代降低0.5倍。在每次迭代中,随机选择512条射线,每条射线采样64个点。整个训练过程对于单个物体而言,大约占用3GB GPU内存,耗时约4小时。

    通过这样的优化过程,网络能够逐渐学习到准确的神经隐式表面表示,从而实现对被遮挡物体的高质量3D重建。

三、实验设计

3.1 数据集

  • 实验在 ScanNet 的 6 个场景上进行,涵盖了 77 个物体,其中大部分物体存在不同程度的遮挡,这为评估方法在处理遮挡问题上的有效性提供了丰富的测试案例。
  • 采用 ScanNet 场景级视频的分割结果作为输入,并利用 Scan2CAD 中的对齐 CAD 模型来评估未见区域的重建准确性,通过与真实模型的对比,准确衡量重建方法的性能。

3.2 基线方法

  • 与多种代表性的基线方法进行比较,包括 MonoSDF *(利用地面真值深度优化的场景级重建方法)、FroDO *(重新实现的基于形状代码的方法)、Scan2CAD(基于 CAD 模型检索的方法)、vMap *(通用对象级重建方法,增加迭代次数以公平比较)等。

    这些基线方法涵盖了不同类型的 3D 重建技术,能够全面评估 O2O^2-Recon 框架的优势和性能表现。

3.3 评估指标

  • 采用 F - score(在 5cm 内)和 Chamfer 距离作为主要评估指标,F - score 用于衡量重建结果与真实物体在一定距离范围内的匹配程度,Chamfer 距离则量化了重建表面与真实表面之间的差异。同时报告准确性和完成度指标,从多个维度详细分析重建结果的质量,全面评估O2O^2 -Recon 框架的性能。

四、实验结果

4.1 定性评估

  • 通过与其他方法在不同遮挡条件下的重建结果对比,展示了 O2O^2-Recon 的优势。

    1. MonoSDF * 在处理遮挡区域时无法重建完整表面,在某些情况下甚至失败;
    2. FroDO * 虽然能生成完整网格,但与实际表面匹配不佳,且不能重建任意类别物体;
    3. Scan2CAD 方法检索的 CAD 模型优化后的尺度和姿态参数不理想;
    4. vMap * 在可见区域表现良好,但在不可见区域产生孔洞或退化伪影。
    5. 相比之下, O2O^2-Recon 能够同时为可见区域重建准确表面,为不可见区域重建合理表面,确保了重建的完整性和准确性。

4.2 定量评估

  • 在 F - score 和 Chamfer 距离指标上, O2O^2-Recon 显著优于所有基线方法。

    与基线方法相比,减少 Chamfer 距离约 50%,提高 F - score 超 10%,这表明该框架在重建准确性和表面质量方面具有明显优势。

    同时,通过对准确性和完成度指标的分析,进一步验证了 O2O^2-Recon 在处理遮挡问题上的有效性。

4.3 消融研究

  • 评估不同组件对实现完整 3D 重建的影响。

  • 2D 颜色修复是关键组件,在仅使用投影掩码而不进行颜色修复时,重建的遮挡区域形状不够精确,表面可能出现扭曲或噪声。采用颜色修复和掩码细化后,能够产生更准确的形状,显著提高 F - score 和 Chamfer 距离指标,证明了颜色修复在提高重建质量方面的重要性。

  • 级联 SDF 架构和语义损失对增强完全隐藏区域的重建效果起到重要作用。

    实验表明,两者均有助于使重建表面更平滑、更精确,尤其是语义一致性损失,显著提高了表面的颜色一致性,使重建结果在视觉上更加合理和自然。

五、论文贡献与创新点

  1. 提出 O2O^2-Recon 框架,通过在 2D 图像域中引入基于扩散的修复方法,有效解决了 3D 重建中的遮挡问题,实现了对场景中被遮挡物体的准确和完整重建。

    这一框架为 3D 重建技术提供了新的思路和方法,突破了现有方法在处理遮挡问题上的局限。

  2. 创新地采用人在环策略生成修复掩码,在保证高质量掩码生成的同时,最大限度地减少了人力投入。

    用户只需在少量代表性图像上绘制草图,通过一系列自动化处理步骤(如深度修复、掩码投影、颜色修复和掩码细化),即可生成精确的修复掩码,有效指导基于扩散的 2D 修复过程,提高了修复的准确性和效率。

  3. 创建了新颖的级联 SDF 预测网络,并结合 CLIP 的语义一致性监督,专门针对被遮挡物体中完全不可见区域的重建进行优化。

    这种方法能够有效利用不同频率的位置编码,在保证整体表面平滑性的同时,提高对可见区域精细几何细节的捕捉能力,从而显著提高了完全不可见区域的表面质量,使重建结果更加完整和准确。

六、对相关领域的启发

  1. 为 3D 重建领域提供了新的技术思路和方法,尤其是在处理遮挡问题方面。研究成果可推动该领域进一步探索如何结合先进的图像生成技术(如扩散模型)与传统的 3D 重建方法,以应对复杂场景中的重建挑战,提高重建的准确性和完整性。
  2. 启发后续研究在多模态信息融合方面进行深入探索。例如,如何更好地融合文本信息(通过 CLIP 模型)与图像信息,以提供更丰富的语义监督,进一步提高重建质量,不仅在可见区域,尤其是在遮挡区域的重建上取得更好的效果。
  3. 人在环策略的成功应用为其他计算机视觉任务提供了借鉴。在一些需要人工经验和判断,但又希望尽量减少人工工作量的任务中,可以考虑采用类似的策略,通过少量的人工干预引导模型学习,提高模型的性能和适应性,实现人机协同的优化模式。

七、阅读心得

  1. 论文的创新性和实用性给人留下深刻印象。通过巧妙地结合 2D 扩散模型和人在环策略,解决了 3D 重建中的一个关键问题 —— 遮挡问题,为实际应用提供了更可靠的重建方法。实验设计全面,从定性和定量两个方面充分验证了方法的有效性,使其研究成果具有较高的可信度。
  2. 在阅读过程中,对复杂技术细节的理解需要花费一定时间和精力,尤其是级联 SDF 预测和各种损失函数的设计原理及其相互作用。然而,正是这些精细的设计使得 O2O^2-Recon 框架能够在处理遮挡问题上取得良好效果,也让人深刻体会到在计算机视觉领域,深入理解和创新运用数学模型和算法对于解决实际问题的重要性。
  3. 从更广泛的角度看,该论文展示了跨领域技术融合的潜力。在未来的研究中,我们可以更加积极地探索不同领域技术之间的结合点,充分发挥各自的优势,为解决复杂的科学和工程问题提供新的解决方案。同时,注重人机交互在模型训练和优化中的作用,合理利用人类的经验和判断,提高模型的性能和实用性。

论文阅读笔记——O2-Recon:Completing 3D Reconstruction of Occluded Objects in the Scene<br> with a Pre-trained 2D Diffusion Model
https://www.leejk-magic.top/2025/05/05/O²-Recon/
作者
Jiankuanli
发布于
2025年5月5日
许可协议