论文阅读1:Real-Time 3D Model Acquisition

本文是对论文《Real-Time 3D Model Acquisition》的阅读梳理,该工作来自Princeton University和Stanford University,被发表在计算机图形学顶级会议ACM SIGGRAPH 2002。

目录

1 摘要        

2 动机

3 贡献

4 方法

4.1 实时结构光范围扫描(Real-Time Range Scanning Pipeline)

4.2 快速三维配准(Fast 3D Registration)

4.3 合并与渲染(Merging and Rendering)

5 锚点扫描和重启对准 (Anchor Scans and Restarting Alignment)

6 实验展示

结果示例

7 讨论与思考


1 摘要        

        本工作基于一个消费级的结构光测距仪(60Hz)、一个消费者视频摄像机、一个用于配准的算法ICP(迭代最接近点)的实时变体,以及基于点的对齐(Registration)、合并和渲染算法,设计了一个新的三维模型采集系统,允许用户用手旋转物体,并在扫描物体时看到一个不断更新的模型。这种紧密的反馈回路使用户能够实时发现和填补模型中的漏洞,并确定物体何时被完全覆盖。基于收集的数据,使用高质量的离线全局注册和表面重建算法来产生一个最终的模型。


2 动机

1)在大多数现有的管道中,在几个阶段都需要人工干预。
  • 首先,大多数的范围图像注册算法需要用户提供一个初始猜测,将新的扫描结果与现有的三维模型大致对齐。
  • 然后,所有的扫描都被渲染在一起,操作者使用这些信息来进行视图规划(例如,寻找洞)。这种对准/视图规划周期的每一次迭代都很耗时,在进行下一次扫描和对准之前,无法得到关于扫描仪位置有效性的反馈。
2)现有的自动扫描方法存在不足(计算密集型,需要计算机控制扫描仪)
        自动的“next-best-view”系统已经被提出来,以消除用户在这个循环中的作用[Maver and Bajcsy 1993; Stamos and Allen 1998],但它们通常是计算密集型的,并且需要计算机控制扫描仪的位置。

3 贡献

        提出一个快速廉价的交互式三维模型采集系统。系统消除了对昂贵的校准运动控制阶段的需求,并且消除了离线视图规划算法所带来的时间延迟,允许用户用手旋转物体,并在扫描物体时看到一个不断更新的模型。


4 方法

4.1 实时构光范围扫描(Real-Time Range Scanning Pipeline)

        我们选择使用基于投射结构光三角测量的系统,因为它使用现成的硬件,允许(缓慢)移动的物体,并且每 60 秒返回一个全范 围的图像,而不是单一的点或线的三维数据。

        在使用时间一致性的系统中,整个转换过程需要n帧画面,在每一帧中,任何给定的条纹要么被打开要么被关闭。每个条纹的开关模式被选择来唯一地识别该条纹。例如,假设我们希望使用 2n 个不同的条 纹。我们给每个条纹分配一个从0 2n-1的代 码,并把每个代码看成一个 n 进制数字。我们投射出n 不同的 图案,在图案 k 中,每个条 纹都是当且仅当其代码的 k 位是 1 时才开启。 因此,在任何给定的像素被观察了 n 帧后,可以确定照亮该像素的条纹的身份。
        但这种方法有缺陷,在获得 N 编码帧时,被扫描的物体不得移动。如果物体移动,系统很可能获得一个错误的条纹代码,从而获得错误的三维数据。
        考虑从一帧到另一帧跟踪条纹边界的框架,作者提出如下条纹编码方式:
  • 标记一个代码,使每 对相邻的条纹在一段时间内有一个独特的代码,通过查看边界两侧的开 / 关状 态来获得两个比特的信息 ,而不是每一帧获得一个比特的信息
  • " 边界 "不会在每一 帧都是可见的,因为该边界两边的条纹可能都是开启或关闭的
​​​        图3显示了系统所使用的照明模式的顺序。有四种不同的模式,可以对110个条纹的边界进行唯一的编码。系统在这些帧之间循环,速度为60Hz,用一个同步的NTSC摄像机捕捉视频得到图4。执行边界跟踪和解码(图5),并在每个时间点返回一个范围图像。由于我们可以使用 任何连续四帧的序列来获得深度,因此在识别一个新的条纹边界时有4帧的延迟,但此后每一帧都能获得深度。

4.2 快速三维配准(Fast 3D Registration)

         实时 构光范围扫描得到的图像集合是在物体相对于测距扫描仪移动时产生的,我们必须将来自不同视角的测距图像对齐。比较常见的做法有:
  • 依赖于已知的运动:物体和扫描仪通过一个旋转或平移的台上相对移动,实现实时配准
  • 在物体或扫描仪上放置一个跟踪器(无论哪一个相对于另一个移动),基于跟踪器数据配准

        由于精度和成本方面的考虑,作者并没有使用上述方法,而使用ICP算法的变种。

        ICP [BeslMcKay1992](迭代最接近点),它被广泛用于三维模型的几何排列。在实时测距仪应用中,两个连续的测距图像之间的相对运动很小,所以在最简单的情况下,我们可以简单地将每个测距图像与前一个图像对齐。

        ICP要求相对姿势的初始估计值是已知的,从两个网格和对其相关刚体变换的初始猜测开始,并通过反复生成网格上的对应点对和最小化误差度量来迭代完善变换。其算法步骤如下,

作者使用的变体算法步骤如下,这种算法可以在几毫秒内完成扫描的对齐,速度快到可以纳入本系统的实时管道。与其他大多数类似ICP的算法相比,其主要的速度优势来自于使用基于投影的匹配

 

4.3 合并与渲染(Merging and Rendering)

        扫描模型的实时预览的目的是向用户反馈模型的哪些区域已被扫描,以及是否有任何漏洞,从而用户可以旋转物体进行交互扫描,实现孔洞缺陷填补。为了避免这些冗长的运行时间,作者选择在合并步骤中不进行表面重建,而是直接显示原始范围的样本。

4.3.1 合并

        首先对每个新的范围图像进行三角化,并计算每个顶点的表面法线。接下来,在对准范围图像后,作者抛弃了连接信息,只根据点本身进行合并。这包括将所有的点量化为一个三维网格,并将所有映射到该网格中相同位置的点进行合并。每个网格单元都保持一个运行平均的法线,以便在渲染时使用。

4.3.2 渲染

        渲染是用一种叫做 "splatting "的方法完成的[Rusinkiewicz and Levoy 2000; Pfister et al.2000]这种技术中,为每个点绘制一个与屏幕对齐的图案 (例如,一个阿尔法混合的高斯或一个不透明的圆形或方形 ),按比例调整,使相邻点的图案重叠而不留空隙。当这些点有规律地排列在一个网格上时,比如在这个应用中,它们的间距是预先知道的,为一个给定的视角选择一个花板的大小是很简单的,它可以保证相邻的样本的花板重叠而不留下空隙。因此,产生的渲染结果可以提供一个合并后的表面的外观,而不需要对各点进行三角测量或重建一个一致的多边形网格。图7说明了合并和渲染的算法。

        虽然这种合并算法运行迅速,但它并不能提供最高质量的结果。如果扫描的错位超过了网格间距,这些扫描的样本将不会被合并,从而产生两层或更多的占用体素。在许多测距图像被合并后,结果是在真实表面附近的一个被占用的体素区域(见图8 )。由于 这些体素是用 Z-缓冲来渲染的,可见的体素将是那些最外层的体素,导致表面看起来变厚了。

        为了进行这种基于体素的合并和重构,有必要选择一个适当的网格大小。较小的网格单元会带来更多的细节,但代价是更大的内存使用量、更低的帧率和对噪声更敏感。较大的网格可以提供更高的帧率,但单个的“splats”变得更加明显。此外,当使用较大的网格时,用户可能无法看到数据中的小孔。在实验中,作者使用的网格大小与测距扫描仪给出的采样间隔的数量级相同;更高的网格分辨率会导致帧率大大降低,而感知质量却没有相应的提高。

4.4 离线配准与表明重建(Offlfline Registration and Surface Reconstruction)

        管线并不像最先进的离线注册和表面重建算法那样高。因此 ,一旦用户获得了整个物体的数据,就可以运行一个离线的后处理程序来重建一个最终的、高质量的表面。因为用户确信所有必要的数据都已经获得,而且实时注册的结果可以作为初始猜测。


描和重启准 (Anchor Scans and Restarting Alignment)

        前面介绍的管道的配准阶段总是涉及到在一个范围内的图像和前一个图像之间执行ICP算法,
在理想条件下, 这通常是有效的,但在实验中,ICP 尔也 会失败,如果物体移动得太快,导致条纹边界跟踪失败,或者物体移出了 " " 视野,就会发生这种情况。
        一旦这种情况得到纠正(即物体减慢到一个合理的速度和/或回到视场内),就有必要重新将新的扫描结果与以前获得的模型对齐。在对齐失败后重新开始的一个合理方法可能是把它当作一 个给定未知初始姿势的两个三维模型对齐的一般问题。存在解决这个问题的算法[Johnson和Hebert1997;Chen等人1999],但它 通常很慢且不稳定。
        作者提出一种交互思路,简单 地显示一个或多个范围图像,要求用户将物体定位,使其大致与其中之一对齐,并尝试对这些范围图像进行 ICP ,直到其中一个ICP 成功。更具体的,为了能够在重新启动ICP时显示良好的范围图像, 在扫描的过程中保持一些锚点扫描 ,并试图与之对齐,锚点应具有以下特点:
  • 锚点扫描应该足够大,使用户能够识别,并且ICP能够可靠地运行。
  • 们希望锚点之间的重叠度相对较低,这样它们就能尽可能多地覆盖物体。

为了保持上述特性,定义一组 A-chors ( A 1- An) ,最初只包括所拍 摄的第一次扫描。当每一个额外的范围,图像R 获取时,对齐和重新覆盖的算法如下。

6 实验展示

硬件上该系统使用一台康柏MP1800 DLP投影机,最大分辨率1024x768。由于需要与录像机同步,我们目前向投影机发送S-Video信号,限制了我们的分辨率为640x240间隔。我们使用的摄像机是一台索尼DXC-LS1NTSC摄像机,快门速度为1/500秒。视频由Pinnacle Stu-dioDC10+采集卡进行数字化处理,产生60Hz的640x240错视频场。

CPU的使用。使用一个双CPU统,由英特尔奔腾III处理器以1GHz速度运行。一个CPU用于范围扫描管道的前几个阶段,即抓取视频帧,寻找条纹边界,跨时间匹配边界,并从累积的照明历史中识别边界。第二个CPU进行三角测量以找到三维点,使用快速ICP算法对准扫描,将测距图像整合到三维网格中,并渲染更新的网格。这条流水线的第一部分以全速运行(60兹),而第二部分的运行速度较慢,约为10兹。

布局。 统的布局决定了其工作容积和分辨率。在这里介绍的扫描中,我们将摄像机和投影仪相隔 20 厘米,三角形角度 21度。这种配置产生了一个大约 10 厘米 宽的工作容积。靠近工作容积的前面,取样的间隔大致为 Y 方向每 0.5 毫米(与条 纹方向平行),X 方向每 0.75 毫米(与条 纹垂直)。

结果示例

(a) 扫描完成后的网格数据结构(类似于图1c- e)。黑色的斑点是由于未 检测到的法线不正确的离群点造成的,而不是孔。
(b) 网格中的数据被显示为三角形的范围图像,每个都是不同的颜色。为了清晰起见,我们只显示每十张范围图像。
(c) 范围图像已经用全局注册算法进行了配准。请注意,可以看到较少的恒定颜色区域(即更多的扫描相互渗透),这表明已经实现了更好的对齐
(d) VRIP 表面重建算法被用来生成一个 单一的、合并的表面(与图 1f 相同)


7 讨论与思考

1)准确度和精确度

  • 系统中的sample spacing噪声是0.5-0.75毫米。这些样本中的噪声主要是由于定位条纹边界的误差,,这可能是由于相机和数字化仪的噪声或物体纹理造成的 。对于没有高频纹理的表面,我们可以以亚像素的精度找到条纹边界的位置,我们估计每个样本的噪声低于0.1毫米。(我们估计每个样本的噪声在0.1毫米以下(暂时不考虑外差和失真)。这几乎完全是由于相机和采集卡的噪声造成的:使用更高质量的相机和数字化仪(东芝IK-TU40A3- CCD相机和DPS- 465数字化仪),我们得到更低的每个样本的噪声-- 低于0.03毫米。
  • 使用高质量的相机和数字化仪,对可实现的最小局部噪声的限制取决于两个因素。首先是相机和投影仪的焦点 。使用较小的光圈(特别是在投影仪上 -- 大多数市售型号使用大光圈)将允许更好地定位条纹的边界 。对这个系统的准确性的第二个主要限制是场景纹理。当表面的反射率快速变化时(与相机像素间距的数量有关),系统无法进行准确的子像素估计,因此每个样本的误差会大大增加,大约为 0.2 毫米。

2)校准和翘曲(Calibration and Warping)

        扫描精度因校准错误导致的扫描失真而降低了。作者采用了一个校准程序,用法罗臂触摸探头测量场景中的已知三维点,并找到它们的u v相机位置以及pro-jector p标。最佳的内在和外在的校准参数是通过最小化所有参数的误差来找到的。 u v p x y z的映射同时进行。 虽然我们可以直接从最小化算法的收敛性来估计校准中的误差,但考虑到同一物体在各种不同位置和方向上拍摄的测距图像之间的最大错位,会产生一个更加平均的估计。对于图10的海龟数据集,我们观察到大约0.5毫米的错位。每一次扫描中由于校准错误而造成的失真相当小,但这种失真的影响很容易从一帧增加到另一帧。

3)配准漂移和对扫描策略的影响

        尽管使用了锚点扫描(可将该问题的发生率降低一大截),在某些情况下,这种漂移足够严重,以至于使用该系统完全围绕一个物体进行扫描变得大幅失真。解决登记漂移问题的另一种方法是将我们的系统与传统的6 - DOF跟踪器结合起来,这些跟踪器要么放在物体上,要么放在扫描仪上,取决于哪一个相对于另一个的移动。使用这样的跟踪器(无论是联合数字化臂还是无绳系统)将允许扫描仪应用于更大的物体或环境,因为它消除了由于噪音或校准错误而产生的注册误差。此外,这将使系统在存在退化的几何体(如平面或圆柱体)时更加稳定,因为ICP无法确定所有六个自由度的排列。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值