【论文阅读】NEF:用于从多视图重建 3D 参数曲线的神经边缘场

  • 摘要
  • 一、引言
  • 二、相关工作
  • 三、方法
    • 3.1 重建 3D 边缘点
      • 3.1.1 预备知识
      • 3.1.2 神经边缘场
      • 3.1.3 训练 NEF
    • 3.2 提取 3D 参数曲线
      • 3.2.1 Bezier曲线优化
      • 3.2.2 由粗到精方案
  • 四、实验
    • 4.1. ABC-NEF 数据集。
    • 4.2.与最先进技术的比较
    • 4.3.消融研究
    • 4.4.真实场景
  • 五、结论

paper code

摘要

我们研究了从一组校准的多视图图像中重建对象的 3D 特征曲线的问题。为此,我们学习了一个代表 3D 边缘密度分布的神经隐式场,我们称之为神经边缘场 (NEF)。受 NeRF [22] 的启发,NEF 通过基于视图的渲染损失进行了优化,其中在给定视图上渲染 2D 边缘图,并将其与从该视图图像中提取的地面真实边缘图进行比较。 NEF 基于渲染的可微优化充分利用了 2D 边缘检测,无需监督 3D 边缘、3D 几何算子或交叉视图边缘对应。设计了几种技术以确保学习范围受限且与视图无关的 NEF,以实现稳健的边缘提取。使用迭代优化方法从 NEF 中提取最终的参数化 3D 曲线。在我们使用合成数据的基准测试中,我们证明 NEF 在所有指标上都优于现有的最先进方法。


图 1. 我们利用 2D 边缘检测通过学习神经隐式场并进一步重建表示对象几何形状的 3D 参数曲线来直接获取 3D 边缘点。我们在 3.1 中介绍了从提出的神经边缘场中提取 3D 边缘的细节,以及在 3.2 中重建参数曲线的由粗到精的优化策略。整个流水线都是自我监督的,只有二维监督。

一、引言

特征曲线在一定程度上“定义”3D 形状,不仅在几何上(从曲线网络重建表面 [17、18]),而且在感知上(基于特征曲线的形状感知 [4、38])。因此,特征曲线的提取一直是图形学和视觉领域的一个长期难题。传统的 3D 曲线提取方法通常直接在 3D 形状上工作,例如,多边形网格或点云。这种方法有一个主要困难:由于不完美的 3D 采集和/或重建,尖锐的边缘可能会部分损坏或完全丢失。因此,基于几何的方法,即使是最先进的方法,也对参数设置敏感,并且会在圆形边缘、噪声和稀疏数据附近进行错误修剪。最近,提出了基于学习的方法来解决这些问题,但通用性有限 [20,21,36,42]。

在许多情况下,在 3D 形状的 2D 图像中,边缘在视觉上很突出并且很容易检测到。为了解决遮挡,人们可能会想到从多视图边缘重建 3D 曲线。然而,该解决方案强烈依赖于交叉视图边缘对应,这本身就是一个非常困难的问题[31]。这就解释了为什么即使在深度学习时代也很少有关于多视图曲线重建的工作。我们问这样一个问题:我们可以直接从多视图图像的输入中学习 3D 特征曲线提取吗?

在这项工作中,我们试图通过从一组校准的多视图图像中学习表示 3D 边缘密度分布的神经隐式场来回答这个问题,受到最近成功的神经辐射场 (NeRF) [22] 的启发。我们将此边缘密度场称为神经边缘场 (NEF)。与 NeRF 类似,NEF 通过基于视图的渲染损失进行了优化,其中在给定视图上渲染 2D 边缘图,并将其与从该视图图像中提取的真实边缘图进行比较。体积渲染基于 MLP 沿视线预测的边缘密度和颜色(灰度)。然而,与 NeRF 不同的是,我们的目标仅仅是优化后来用于提取参数化 3D 曲线的 NEF,不涉及新的视图合成。基于渲染的 3D 边缘密度可微分优化充分利用了 2D 边缘检测,无需 3D 几何算子或交叉视图边缘对应。后者是通过多视图一致性隐式学习的。

直接将 NEF 优化为类似 NeRF 的密度是有问题的,因为密度范围可以任意大并且场景之间不同,并且很难选择合适的阈值来提取有用的几何形状(例如,NeRF 的 3D 表面和 NEF 的 3D 边缘)。此外,由于噪声,NeRF 密度通常不能很好地近似底层 3D 形状。因此,我们寻求通过学习具有可学习比例因子的映射函数,将边缘密度限制在 [0, 1] 范围内,以将边缘密度映射到实际 NEF 密度。通过这样做,我们可以很容易地选择一个阈值来从优化的边缘密度中稳健地提取边缘。

NEF 优化的另一个问题是边缘密度场和图像中检测到的边缘的可见性不兼容。虽然前者基本上是底层 3D 形状的线框表示,并且所有边缘在任何视图中都是可见的(即,没有自遮挡),但 2D 图像中的边缘可以被对象本身遮挡。这导致对具有不同可见性的不同视图的监督不一致,并可能导致漏检:根据边缘可见的一个视图,NEF 中应该存在的边缘可能会被其他不可见的视图抑制。为了解决这个问题,我们选择 1)在 NEF 中强加密度和颜色之间的一致性,以及 2)在渲染损失中对非边缘像素给予较少的惩罚,以允许 NEF 保持从所有视图看到的所有边缘。 这本质上使 NEF 视图独立,这是合理的。

获得边缘密度后,我们通过将 3D 密度体积视为边缘点云来拟合参数曲线。我们以粗到细的方式优化曲线的控制点。由于初始化对于这种非凸优化非常重要,我们首先以贪婪的方式应用线拟合来覆盖大多数点。基于初始化,我们然后通过添加额外的控制点将线升级为三次 Bezier 曲线,并通过额外的端点正则化同时优化所有曲线。

我们使用由来自 ABC 数据集 [16] 的 115 个具有复杂形状结构的 CAD 模型组成的合成数据集构建基准,并利用 BlenderProc [7] 渲染姿势图像。对所提出的数据集进行的大量实验表明,仅在 2D 监督下进行自我训练的 NEF 在所有指标上都优于现有的最先进方法。我们的贡献包括:

  1. 基于神经隐式场优化的多视图2D 边缘自监督3D 边缘检测。
  2. 多项技术设计可确保学习范围受限且与视图无关的 NEF 以及迭代优化策略以重建参数曲线。
  3. 评估和比较各种边缘/曲线提取方法的基准。

二、相关工作

神经辐射场
NeRF [22] 已经证明了新视图合成的卓越能力。 NeRF 的基本思想是将场景的几何形状和外观表示为辐射场,允许查询连续空间位置和观察方向的颜色和体积密度以进行渲染。在 NeRF 主干上设计了许多扩展,例如加速训练 [28、33] 和推理 [3、14、41]、编辑 [19、34、43]、生成模型 [23、30] 和模型重建[24、35、40] 以及更多内容在 [5、10] 中进行了讨论。然而,利用 NeRFs 提取 3D 骨架/曲线的作品并不多。我们提出神经边缘场 (NEF) 从 2D 图像重建 3D 边缘。与我们最接近的基于 NeRF 的工作是用于模型重建 [35,40],我们都通过将原始密度定义为转换后的新表示来恢复精确的几何形状。不同之处在于,它们用符号距离函数(SDF)的零水平集来表示表面,并专注于表面重建;而我们通过学习NEF引入边缘密度来表示每个空间位置的边缘概率。

3D 参数化曲线重建
3D参数化曲线重建的基础是点云边缘检测算法。 传统(非学习)方法侧重于多视图图像 [26],或点云的局部几何特性,例如法线 [6、37]、曲率 [39] 和层次聚类 [9]。最近的数据驱动方法通常采用边缘检测作为点云的二元分类。对于每个可能的边缘点,其邻域属性被作为学习特征。随着网络架构的进步,用于边缘检测的分类器从随机森林 [11, 12],基于 PointNet++ [27] 的点状多层感知器 (MLP) [36, 42],到胶囊网络 [2]。

将点云边缘表示为参数化曲线更具挑战性。 PIE-NET [36] 学习从点云中检测边缘和角点,并使用网络生成参数化曲线备选,最后抑制无效的备选。 PC2WF [20] 由一系列前馈块组成,用于将点云采样为补丁,以对补丁是否包含角进行分类。它们回归角的位置,并将所有角连接为参数曲线。 DEF [21] 以基于块的方式通过一组额外的深度图像计算每个输入点云的截断距离特征场的估计值,以及角点检测和聚类后的拟合曲线。与那些至少需要点云作为输入和来自标记数据集的训练的作品不同,我们的方法由 2D 边缘进行自我监督。

三、方法

为了从多视图图像中获取 3D 参数化曲线,该方法包括两个步骤:构建神经边缘场 (NEF) 和重建参数化曲线。如图 1 所示,二维边缘图由最先进的边缘检测网络 PiDiNet [32] 预测,NEF 是根据这些多视图边缘图构建的,如 3.1 中介绍的,直接在边缘图上采用 NeRF 是有问题的,边缘图和原始图像之间有很多差异。由于遮挡,边缘稀疏且视图之间不一致。为了应对它们,我们引入了几种专门为 NEF 设计的训练损失。为了从 3D 边缘点重建参数曲线,我们在 3.2 中介绍了两阶段从粗到精的优化。 在粗阶段,我们将曲线简化为直线,并以拟合和删除策略将一组线拟合到 3D 边缘点。在精细阶段,我们通过添加额外的控制点将直线升级为三次 Bezier 曲线。

3.1 重建 3D 边缘点

在本节中,我们学习了一个表示 3D 边缘空间分布的神经隐式场,称为神经边缘场 (NEF)。我们首先在 3.1.1 介绍有关 NeRF 的预备知识。 NEF 的设计在 3.1.2 中介绍。 3.1.3 介绍训练 NEF 需要特定的损失设计。

3.1.1 预备知识

NeRF [22] 表示具有 MLP 网络的连续场景,该网络将相机光线之间的 5D 坐标(位置(x,y,z)和观察方向(θ,φ))映射到颜色(r,g,b)和体积密度σ。训练后,可以在体积渲染之后从任意相机姿势渲染新颖的视图。给定相机原点 o 和射线方向 d 以及近边界和远边界 tn 和 tf ,相机射线 r(t) = o + td 的预测像素颜色 ^ C 定义如下:

其中, ,密度 σ 和颜色 c 是 MLP 网络的预测。 NeRF 的损失函数是重新渲染损失,由渲染颜色 ^ C 和地面真值像素颜色 C 之间的均方误差 (MSE) 定义:

其中 Ri 是每个训练批次中的射线集。在我们的场景中,我们采用 NeRF 的结构作为骨干,但将颜色 c = (r, g, b) 修改为一维灰度值,如 c = (gray) 来表示边缘强度。

3.1.2 神经边缘场

我们引入神经边缘场 (NEF),从 2D 边缘图训练以表示每个空间位置的边缘概率。虽然 NeRFs 基于可微分体积渲染合成逼真的新颖视图图像,但它们的体积密度并不能很好地接近实际的 3D 形状。 NEF 也存在类似情况。 NEF 密度并不近似于实际的 3D 边缘。 NEF 密度的范围和规模也因场景而异,使得 3D 边缘难以从中提取。最近,NeuS [35] 和 VolSDF [40] 通过符号距离函数 (SDF) 表示物体表面,并通过分布函数将 SDF 映射到 NeRFs 的体积密度。同样,我们在 NEF 密度之前引入了一个称为边缘密度的中间密度场,如图 3 所示。在训练期间,通过对边缘密度的适当监督/约束,它们有望很好地近似 3D 边缘。边缘密度描述了每个位置的边缘概率。在[0, 1]范围内,与二维边统一(1表示有边,0为无边)。在映射函数之后,我们可以将边缘密度转换为用于体绘制的 NEF 密度。给定 x ∈ R3 表示物体在 R3 中占据的空间,E(x) 表示位置 x 的边缘密度值,NEF 密度 σ 计算如下:


其中 α 是控制密度尺度的可训练参数,β 是控制函数位置的均值,g 调整 [0, 1] 附近的分布。边缘密度有望自适应地匹配 NEF 密度的分布,并且也应该很容易被统一的阈值二值化。因此,为了确保从边缘密度到 NEF 密度的正确映射,我们在所有实验中设置 β = 0.8 和 g = 10,并且 α 是一个可训练的参数。如图 2 所示,α 值因场景而异。边缘密度是通过在原始 NeRF MLP 之后添加一个额外的 sigmoid 层获得的。我们添加另一个 4 个隐藏层的 MLP,大小为 256,以根据边缘密度和视图方向预测灰度值 c。网络架构如图 3 所示。

(a) 不同α下边缘密度到体积密度的转换曲线。 (b) 在训练迭代期间显示 α × 10−4 的五个随机选择样本的曲线。

图 2. 等式 3 中 α 的变换和变化趋势示例。如 (a) 所示,边缘密度范围为 0 到 1,我们可以自适应地匹配 NEF 密度。适应不同的场景由(b)中的可训练参数 α 控制。


图 3. 位置编码 (PE) 后将 3D 位置 (x, y, z) 和观察方向 (θ, φ) 馈入网络。 NEF 密度 σ 是从具有可学习尺度的边缘密度映射而来的。

3.1.3 训练 NEF

将 NEF 训练为 NeRF 是有问题的:首先,3D 边缘类似于物体的 3D 骨架,在体绘制中,样本沿光线稀疏,使网络容易陷入局部最优。其次,由于遮挡,2D 边缘图与实际 3D 线框不匹配。边缘可能不会在所有视图中都可见,从而导致视图之间的不一致。我们引入加权均方误差损失(W-MSE)和一致性损失来解决这两个问题。此外,为了鼓励 NEF 中点的稀疏性,我们还引入了稀疏性损失。

通过三种损失设计,我们能够稳定地训练由 2D 图像监督的 NEF。最终损失函数表示为:

其中平衡参数λ1、λ2、λ3在所有实验中分别设置为1、1和0.01。一旦 NEF 被训练,我们设置一个 0.7 的固定阈值来二值化边缘密度,从 NEF 中提取 3D 边缘点。

W-MSE 损失
我们从轻量级边缘检测器 PiDiNet [32] 获得 2D 边缘图。在边缘地图上,边缘像素呈白色,通常分布稀疏。因此,在训练 NEF 时,边缘和非边缘像素高度不平衡,导致沿射线的样本非常稀疏。在这种情况下,网络很容易退化到局部最优。最常见的退化情况是预测所有的密度和颜色都为零,而渲染的图像都是黑色的。因此,我们通过在每批次中添加自适应权重 W( r ) 来修改原始颜色损失。 加权均方误差损失 (W-MSE) 定义为:


其中 C+ 和 C- 表示由阈值 η 决定的每个批次中边缘和非边缘像素的数量。我们在整篇论文中将 η 设置为 0.3。通过强制网络更多地关注边缘像素/光线,避免退化,自适应权重简单而有效。

一致性损失
每个视图的边缘图与真实的 3D 线框不匹配。在 2D 边缘地图上,由于遮挡,并非所有边缘都是可见的。这意味着“ground truths” 并不完全正确,在每个视图中都缺少那些不可见的边缘。

为了成功地从这些 2D 边缘图中重建 3D 边缘点,我们应该通过整合来自其他视图的信息来恢复每个视图的完整边缘图,其中被遮挡的边缘是可见的,如图 4 所示。对于每个视图,被遮挡的边缘在图像以及边缘图中都是不可见的。由于视图之间的这种不一致,NEF 在训练过程中会感到困惑。在每个视图中,都有许多漏检像素,这些像素在“ground truth”上是非边缘的。这种不一致在空间位置的物体表面周围带来了嘈杂的 NEF。对于这些被遮挡的边缘,边缘密度值接近于 1,但颜色接近于 0 以拟合那些漏检样本。因此,我们强制边缘密度和颜色强度(均在 [0, 1] 范围内)的值对所有沿射线的样本保持一致,以减少漏检像素。 一致性损失也由均方误差计算,定义为:


由于等式 5 中的 W-MSE 损失鼓励NEF更多地关注边缘像素并减少对非边缘像素的惩罚。因此,结合 W-MSE 损失和一致性损失,不仅可以稳定训练过程,还可以通过从其他视图中学习来鼓励 NEF 遮挡边缘。经过训练,NEF 重新渲染的边缘图成功地恢复了那些不可见的边缘,如图 4 所示。因此,采用不同的 2D 边缘检测器对 NEF 重建的影响有限。由于一致性损失,NEF 会自动纠正缺失的 2D 边缘,无论它们是否被检测器遮挡或遗漏(参见第 B.2 节)。

图 4. 绿色点表示在给定视图中可以看到和检测到的边缘。黄色点表示在此视图中可见的边缘,但很难检测到(即照明不当)。红色的表示完全被遮挡但可以在其他视图中看到的边缘。我们的方法整合了从多个视图看到的边缘,并且可以重新渲染该视图的所有边缘。

稀疏损失
如前所述,边缘在 2D 和 3D 空间中都是稀疏的。为了鼓励空间稀疏性以及加速收敛,我们添加了一个额外的正则化器,即稀疏性损失,以在训练期间沿着非边缘像素的射线惩罚不必要的边缘密度。我们采用 Cauchy损失 [1] 作为稀疏正则化器,它对异常值具有很强的鲁棒性。稀疏损失定义为:

其中 i 索引输入边缘图的非边缘像素,j 索引沿相应射线的样本,s 控制正则化器的比例。我们固定 s = 0.5。

3.2 提取 3D 参数曲线

从NEF的3D边缘点云中,我们进一步提取参数曲线。我们以粗到细的方式从3D边缘中提取贝塞尔曲线。优化的目标在第3.2.1节中介绍。粗到细的流程在第3.2.2节中介绍。

3.2.1 Bezier曲线优化


图 5. 我们逐条迭代优化线以拟合 3D 边缘点,并遵循拟合和删除策略。这个过程一直持续到只剩下很少的点。拟合线以不同颜色显示。

我们采用三次 Bezier 曲线来表示 3D 边缘的几何形状。对于每条曲线,我们优化了四个控制点的位置。第一个和最后一个控制点定义开始和结束位置,另外两个控制点导致不同的曲率。直线可以被认为是具有两个控制点的线性 Bezier 曲线。目标是为所有曲线优化一组参数(四个控制点的位置) {curvei}ni=1= {{pji}j=1,4}ni=1 以适应 3D 点云。曲线的数量 n 因不同的对象而异。为了优化曲线拟合,我们在每条曲线上采样 100 个点,并通过在它们周围添加高斯噪声将它们扩大到 500。我们应用广泛使用的倒角距离 (Chamfer Distance, CD) 来计算曲线点和 3D 边缘点之间的距离。 Pc和Pt分别代表曲线采样点和目标3D边缘点,Chamfer loss定义为:


其中 γ 是控制每一侧趋势的参数(对于原始 Chamfer 损失,γ = 1)。 Pc 中的每个点找到 Pt 中的最近点(反之亦然),并计算平均成对点级距离。较大的 γ 意味着优化更侧重于最小化从 Pc 到 Pt 的距离。

通过最小化 CD,我们将 Bezier 曲线拟合到 3D 边缘点。然而,CD 的优化对端点细节不敏感,我们发现很多曲线没有连接。为了鼓励曲线连接,我们在目标函数中添加了一个正则化器,以鼓励空间接近的端点相遇。每条 Bezier 曲线的两个端点是第一个和最后一个控制点,所有曲线的端点 {curvei}ni=1 记为 PE = {{pji}j=1,4}ni=1。端点正则化器定义为:

M 是一个掩码,以确保端点损失仅规范那些彼此足够接近(在距离 d 内)的端点。最后,优化所有曲线的目标函数:

其中 λ 在所有实验中都设置为 0.01。

3.2.2 由粗到精方案

优化的目标函数是高度非凸的,使得控制点很容易收敛到局部最小值。因此,Bezier 曲线的初始化对优化的最终结果具有重大影响。也很难选择适合所有对象的适当数量的曲线。因此,我们设计了一个从粗到细的管道来提取曲线。在粗略级别,我们将 cubic Bezier 降级为直线,并将一组直线拟合到 3D 边缘点。在精细级别,我们将直线升级为三次 Bezier 曲线,并连接曲线的端点。

粗略级优化
我们不是同时优化所有线路,而是使用拟合和删除策略逐条迭代优化线路。具体来说,在每次迭代中,我们在 Chamfer loss(等式 9)中将 γ 增大到 5,以鼓励一条线(线性曲线)最大限度地拟合部分 3D 边缘点。确定一条线后,我们删除该线周围的 3D 边缘点并记录其参数。这个过程一直持续到剩下的 3D 边缘点不多(即 <20)。拟合的线组作为精细级别的初始化。我们在图 5 中演示了粗略优化的过程。由于线条是一条一条地拟合的,因此我们不考虑该级别的端点正则化。

精细级优化
粗略优化初始化行数,以及开始和结束位置。在精细级别,我们通过在端点对之间插入另外两个控制点,将所有直线升级回三次 Bezier 曲线,并求解等式12 中的优化。 生成的参数曲线与 3D 边缘点精确匹配,如图 6 所示。


图 6. 与其他方法的定性比较。从左到右,我们呈现渲染图像、PIE-NET、PC2WF、DEF 的结果、我们重建的曲线、我们从边缘密度获得的点云边缘,以及地面实况边缘。其他方法是在 ABC 数据集的点云上训练的,而我们的方法是通过 2D 边缘图进行自我监督的。

四、实验

我们与最先进的方法进行比较,并对贡献的 ABC-NEF 数据集进行消融实验。更多实验、讨论、培训细节和视频演示在补充中。

4.1. ABC-NEF 数据集。

与之前的作品 [20、21、36] 一样,我们对 ABC 数据集 [16] 进行了实验,该数据集由超过一百万个带有边缘注释的 CAD 模型组成。为了评估我们的管道,我们提供了一个名为 ABC-NEF 的数据集,其中包含 115 个不同且具有挑战性的 CAD 模型。它们包括各种类型的曲面和曲线,来自 ABC 数据集的第一块。我们采用 BlenderProc [7] 渲染面向对象中心的姿势图像。我们为每个对象采样 50 个 800 × 800 图像光线视图。 50 个视图是通过斐波那契采样 [13] 将相机均匀放置在球体上进行采样的。 ABC-NEF 数据集的统计分析和关于视图数量的消融包含在补充材料中。

4.2.与最先进技术的比较

比较设置
我们将所提出的方法与参数化曲线重建的三种最先进的数据驱动方法 PIE-NET [36]、PC2WF [20] 和 DEF [21] 进行了比较。这三种方法都需要点云作为输入,而我们的方法只需要 2D 图像。按照他们论文中的设置,对于PIE-NET,我们采用最远点采样的方法统一采样8096个代表物体形状的干净点云作为输入,PIE-NET的输出包含闭合和开放曲线。对于 PC2WF,我们从表面网格中为每个对象子采样 200,000 个点作为输入,它输出代表直线的端点对。对于 DEF,输入包含 128 个深度图和点云视图。在 DEF 中,收集深度图以构建距离特征场,用于检测点云上的角点并提取样条曲线。

我们采用他们的预训练模型来重建参数曲线以进行评估。由于 PC2WF 旨在检测直线,我们还对所提出的 ABC-NEF 的一个子集进行了比较,该子集包含 26 个只有直线的 CAD 模型,名为 ABC-NEF-Line。

评估指标
我们对重建的参数曲线上的点进行采样,并评估采样点与地面真实边缘点之间的距离。为了确保点均匀分布,我们对体素网格上的点进行下采样,因此每个体素最多有一个点。

为了测量重建 3D 边缘的位置,我们采用交并比 (IoU)、精度、召回率及其 F 分数。然而,两个点云之间的微小变化可能会导致上述指标发生较大变化。我们还采用点云之间的倒角距离(CD)来衡量重建参数曲线的几何精度。点云之间的小偏移不会对 CD 产生太大影响。在比较之前,我们将所有地面真值边缘和曲线预测归一化并对齐到 [0, 1] 的范围内。归一化后,在评估 IoU、precision、recall 和 F-score 时,如果至少存在一个 ground truth 点且 L2 距离小于 0.02,则认为点匹配。

比较结果
如表 1 所示,我们的自监督方法仅具有 2D 监督,在所有指标和数据集中明显优于其他最先进的方法。我们观察到 PIE-NET 和 PC2WF 都实现了比召回率高得多的精度,这意味着它们经常漏检曲线,但检测到的曲线定位准确。尽管 PC2WF 旨在检测直线,但我们注意到在 ABC-NEF-Line 数据集上,我们的方法仍然取得了更好的性能。


表 1. 与最先进方法的定量比较。请注意,我们的方法由 2D 边缘图进行自我监督,而其他方法则在从 ABC 数据集采样的点云上进行训练。 “A-N”表示 ABC-NEF 数据集,“A-N-L”表示 ABCNEF-Line 数据集。

我们在图 6 中说明了定性性能。结果表明,PIE-NET 和 DEF 可以很好地检测和定位大多数曲线,PC2WF 精通重建线结构。然而,受限于设计,PC2WF 只能检测直线,难以捕捉任何其他类型的曲线。由于 PIE-NET 正是针对尖锐特征进行训练,导致椭圆边缘和曲率相对较弱区域的性能不佳。同时,DEF重建曲线主要基于连续平滑的距离特征场,因此难以区分接近的曲线,并且容易错误地连接相邻曲线。我们还注意到这些方法在很大程度上依赖于角点检测来重建曲线,因此如果遗漏了某些角点则无法覆盖所有边缘。本质上,这些数据驱动的方法可能会因为分布外形状的重建曲线而受到影响。相反,我们的方法受益于自监督管道,可以在自然图像上进行训练。更多的比较和讨论在补充材料中。

4.3.消融研究

我们进行消融研究以验证每个损失和设计。等式 5 中的 W-MSE 损失。由于边缘和非边缘像素(射线)的不平衡,对于学习 NEF 至关重要。如果没有 W-MSE 损失,NEF 的训练将遭受预测全零场的退化。因此,我们以带有 W-MSE 损失的 NEF 作为基线版本,并评估稀疏性损失和一致性损失。

为了更好的可视化,我们通过说明渲染的深度图来比较边缘密度的质量。由于深度图本质上是由沿光线累积的 NEF 密度渲染的,并且准确地传达了边缘密度的空间分布。如图 7 所示,网络可能会在没有稀疏正则化的情况下在场景中生成随机噪声密度。在没有一致性损失的情况下,网络被训练为适应不正确的 “ground truth”,丢失被遮挡的边缘,从而在每个视图中过度拟合 2D 边缘并且无法重建一致的 3D 边缘。


图 7. 从左到右,我们在给定视图中呈现 2D 图像和检测到的边缘图,然后是三种损失组合的渲染边缘图和深度图。渲染的深度图显示了边缘密度场的空间分布。稀疏正则化消除了物体周围的大部分噪声,一致性损失使边缘密度与二维边缘清晰对齐,易于与背景分离。

获得 3D 边缘点后,我们以由粗到细的方式重建参数化曲线。我们通过单独移除每个部分来证明我们设计的必要性。我们在图 8 中显示了使用和不使用粗级初始化、线到曲线策略和端点损失的优化结果。所选样本的定量结果如表 2 所示。没有粗略级初始化。在粗层次上,如果我们尝试在不从直线初始化的情况下拟合三次 Bezier 曲线,则一条三次 Bezier 曲线可能拟合多条相连的直线。因此,如果没有线到曲线策略,曲线总数可能不足以进行全局优化并进一步影响端点损失。端点损失用于细化所有曲线以紧密连接。通过所有设计策略,我们的完整结果干净、紧凑且符合几何形状。


图 8. 基于 3D 边缘点,我们通过从完整版本中排除关键设计来显示重建的消融参数曲线。

我们还对其他边缘检测器(即 Canny)进行消融实验,在模糊图像(具有 9 × 9 内核大小的高斯模糊)上检测到嘈杂的 2D 边缘图,并随机丢弃所有视图的 30% 和 50% 图像(边缘)像素以测试我们方法的稳健性。如图 9 所示,所有备选方案均表现合理。即使边缘贴图严重损坏,它仍然可以恢复粗略的 3D 形状。


图 9. Canny 检测器和低质量 2D 边缘图的消融实验。对于每个消融实验,从左到右,它显示检测到的 2D 边缘、渲染边缘和深度图(揭示边缘密度的分布)。

4.4.真实场景

我们还测试了 NEF 在现实世界场景中收集的几个具有尖锐几何形状的玩具的性能。我们拍摄了一段围绕和观察目标玩具的视频,并剪切了大约 60 帧作为输入。我们应用 COLMAP [29],一种著名的运动结构 (SFM) 求解器,来估计输入图像的相机姿势。我们仍然应用预训练的 PiDiNet [32] 来提取 2D 边缘图,训练 NEF,并从提取的边缘点重建曲线。该过程如图 10 所示。重建结果显示了我们的方法在现实世界场景中提取 3D 边缘点和重建参数曲线的潜力,即使相机姿势不完全正确。


图 10. 输入一组从视频中剪切的多视图图像,我们使用 COLMAP [29] 获取相机姿势,通过 PiDiNet [32] 检测 2D 边缘图,并重建 3D 曲线。

五、结论

我们提出了第一个通过学习神经边缘场进行 3D 参数化曲线重建的自监督管道。仅通过 2D 监督进行自我监督,我们的方法实现了与以干净和完整的点云作为输入的替代方法相当甚至更好的曲线重建。我们的方法显示了泛化能力的潜力和利用多模态信息的优势。该方法在处理纹理对象、对象内部的边缘方面存在局限性,并且网络架构将被优化为更简单。更多讨论在补充材料中。


  1. 是一个新颖的想法,其在处理被遮挡边缘提出的三个Loss的思路挺不错,值得学习。
  2. 就实验结果来看,其目前似乎只适用于较规则的几何体,而且在真实数据下表现不佳。
  3. 这个工作让我想到了 LIMAP。LIMAP使用传统方法,没有进行曲线参数化,重在3D线段重建,在点线视觉定位上有较强的竞争力,且LIMAP在真实场景下表现良好。两者侧重不同,这篇文章目标应该是部件级重建,LIMAP则旨在场景级重建(见下图)。

【论文阅读】NEF:用于从多视图重建 3D 参数曲线的神经边缘场相关推荐

  1. 论文阅读 [TPAMI-2022] Locally Connected Network for Monocular 3D Human Pose Estimation

    论文阅读 [TPAMI-2022] Locally Connected Network for Monocular 3D Human Pose Estimation 论文搜索(studyai.com) ...

  2. 【论文阅读】用于代表单个树木的机载LiDAR 3D点云针叶树/落叶分类的深度学习

    Deep learning for conifer/deciduous classification of airborne LiDAR 3D point clouds representing in ...

  3. 论文阅读:Multi-view Convolutional Neural Networks for 3D Shape Recognition

    Preface 今天阅读一篇ICCV2015的论文:<Multi-view Convolutional Neural Networks for 3D Shape Recognition>, ...

  4. 【论文阅读】Point-GNN: Graph Neural Network for 3D Object Detection in a Point Cloud

    最近在看3d目标检测的文章,感觉看完东西还是要记一下自己的想法,尤其是有思考的文章. 论文题目:Point-GNN: Graph Neural Network for 3D Object Detect ...

  5. <论文阅读>用于 3D 点线和平面的视觉惯性里程计框架 A Visual Inertial Odometry Framework for 3D Points, Lines and Planes

    被疫情包围了!在家多看看论文吧- 论文地址:A Visual Inertial Odometry Framework for 3D Points, Lines and Planes [摘要]:恢复连续 ...

  6. 【论文阅读】用于自动中文作文评分的多阶段预训练

    摘要 这篇文章提出了一个基于预训练的中文作品评分方法.方法包含3个成分:弱监督预训练,有监督的交叉提示(cross-prompt)微调 和 有监督的目标提示(target-prompt)微调. 一个文 ...

  7. 论文阅读——A Comprehensive Study on Deep Learning-Based 3D Hand Pose Estimation Methods综述阅读2

    3D手势姿态估计综述   本文通过对大量有代表性的论文研究,提出一种基于输入数据模式的新分类法,即RGB.深度或多模态信息.最后,我们展示了在最流行的RGB和基于深度的数据集上的结果,并讨论了这一快速 ...

  8. 论文阅读-----使用可分离脚印的x射线3D CT向前和向后投影

    Long Y , Fessler J A , Balter J M . 3D Forward and Back-Projection for X-Ray CT Using Separable Foot ...

  9. 论文阅读笔记:(2021.10 CoRL) DETR3D: 3D Object Detection from Multi-view Images via 3D-to-2D Queries

    论文地址:DETR3D: 3D Object Detection from Multi-view Images via 3D-to-2D Queries | OpenReviewWe introduc ...

最新文章

  1. [svc]java初步
  2. 计算机机房综合防护,计算机机房综合防护系统技术方案
  3. 【uni-app】在新窗口中打开链接
  4. C#程序开发中经常遇到的10条实用的代码
  5. 2013年 省职业学校 公共基础课程 两课 评比 计算机应用,江苏省职业学校公共基础课程两课评比教案.doc...
  6. tcping命令详解
  7. 图灵奖得主 Adi Shamir最新理论,揭秘对抗性样本奥秘 | 智源大会特邀报告回顾...
  8. 自我实现型的人的五个特质
  9. 苹果IPSW文件提取软件
  10. 利用快代理搭建自己的代理池(妈妈再也不用担心IP被封了)
  11. 资金核对平台的发展历程
  12. 用Shader Graph的Flipbook节点实现水花效果
  13. uoj265【2016提高】愤怒的小鸟(状压dp)
  14. 使用树莓派搭建家庭宠物监控并在B站24小时直播
  15. python魔术方法是什么_Python常用魔术方法
  16. Python 实现最大回撤
  17. Prometheus + AlertManager + Prometheus-webhook-dingtalk的告警通知
  18. 学习笔记:Qt与Matlab混合编程及遇到的诸多问题(附DEMO)
  19. RC滤波器、时域、频域分析笔记A
  20. 麒麟信安一云多芯云桌面解决方案,为某市财政局搭建“云上信创”

热门文章

  1. php 5.3 construct_PHP构造方法__construct( )
  2. 计算机网络考试复习的错题整理
  3. vector的find用法
  4. C#中的值传递和引用传递
  5. cocos2dx[3.2](2) 3.x巨变
  6. 通过微信公众号给npy发送天气的小程序
  7. adsl mss_ADSL的完整形式是什么?
  8. manifest for java:8 not found: manifest unknown: manifest unknown
  9. 学员优秀博文赏析:泛型通配符及约束
  10. 踩坑之Linux top监控进程%CPU超过100%