论文《Geometric primitive refinement for structured light cameras》学习

(2018 三区)

Abstract

三维摄像机系统是一些高级视觉任务的有用传感器,如导航、环境测绘或尺寸标注。然而,对于许多算法来说,原始的3-D数据并不是最好的表示。相反,许多方法依赖于更抽象的场景描述,其中场景表示为平面、球体或更复杂模型等几何原语的集合。这些原语通常是在单独的点测量上估计的,而这些点测量直接受到传感器测量误差的影响。提出了一种改进空间变化模式的结构光相机几何原语参数的方法。与将模型拟合到一组3-D点测量值相比,我们建议使用所有属于特定对象的信息,同时直接将模型拟合到图像中,而不需要绕道计算差异。为此,我们提出了一种新的标定方法,它可以恢复距离传感器未知的内部参数,重建未知的投影模式。这对于消费者结构的光传感器来说尤其必要,因为用户无法获得这些传感器的内部结构。校准后,通过将观测到的结构光点状图案与投影虚拟图案的虚拟视图进行比较,粗略的模型得到了相当程度的细化。在平面、球体和长方体三种几何基本类型上对标定方法和细化方法进行了评价。与基线相比,平面法线的方向提高了60%以上,平面距离提高了30%以上。对球形和长方体的初始参数分别进行了50%以上和30%以上的优化。该方法还可以在高纹理的平面段上进行鲁棒性操作,并且在校准时没有考虑到的范围内进行。

关键词: 结构光;距离成像;几何原语

1 Introduction

精确的场景信息是许多基于视觉的应用程序的关键组件,如尺寸标注、机器人导航、楼层检测、SLAM算法,或通常的任何地图构建任务。这些应用程序极大地受益于最近广泛使用的低成本相机,这些相机可以捕捉具有附加深度信息的二维图像(4、20、22)。著名的深度相机是基于飞行时间、立体视觉和结构光。这些摄像机能够以合理的精度捕获密集的、有序的帧速率的云量。更高级别的视觉任务,如机器人导航或映射,通常计算数据的中间表示。平面的分割和准确检测是一项常见的任务。例如,在机器人技术的背景下,几种同步定位和映射(SLAM)算法在3- d平面上进行操作,从原始的感知信息中检测和分割[3,4,22,23]。平面表示法也被用于从距离传感器到颜色传感器的校准[9,11]。Moerwald等人证明了在物体边界处缺失测量值的外推法。[17]是场景中物体抽象表征有用性的另一个例子。将模型拟合到捕获的点云中的特定区域在维度化上下文中也很有用,例如,如果需要测量盒状对象的大小。当然,这适用于所有类型的模型,可以适用于一个3-D测量列表,例如最小二乘方式或通过RANSAC。

摘要:3d技术之所以流行,是因为它解决了3d数据处理的三大难题:

  • 高级视觉算法通常不需要对原始的感官测量进行操作,但无论如何都需要一个环境模型。此外,抽象表示简化了许多常见的计算,如确定对象的大小或计算多个对象的内部部分。
  • 额外的深度维度增加了要处理的数据量(这可能是一个瓶颈,特别是在实时应用程序中,如SLAM)。通过计算简化的几何表示法,可以大大降低数据传输率。目前的测距相机只能提供有限的精度。对于结构光和飞行时间相机,这些误差从几毫米到几厘米[8,14]。将几何基元模型拟合到点云的分段上,可以减少噪声对后续计算的影响。尤其是当测量误差来源于时间噪声源时。

这项工作中,我们提出了一种高度精确的方法来拟合一个3-D模型在点云中的一个片段使用消费者结构的光相机。这类传感器的著名例子是微软Kinect、华硕Xtion和最近发布的Orbbec Astra。这些摄像机使用一个单一的红外摄像机来捕捉投影机产生的红外点模式。用点图形的畸变来计算深度。与立体视觉系统相比,结构光传感器的一个优点是,它们在具有均匀纹理的表面上提供密集的深度数据。通常,结构光相机通过小块的块匹配来计算距离。与此相反,我们提出了一种利用代表对象的完整二维图像信息来寻找该对象的精确参数对象的方法。

我们的方法是基于这样一种思想,即对于任何三维参数模型,都可以模拟发射出的点模式的投影和观察(见图1)。我们建议基于定义对象的模型创建对象的虚拟视图。如果把被观察对象的特征完美地描述出来,那么虚拟图像和被观察图像将是完全相同的。因此,通过测量这两幅图像之间的相似性,并调整模型参数,使相似性增加,可以优化得到更准确的参数。创建这样的虚拟视图需要了解描述结构光传感器的所有内部参数:投影仪的模型、投影仪和摄像机之间的关系以及发射的点模式。像上面提到的那样,使用现成的结构光传感器的挑战在于用户通常无法获得这些参数。为了解决这个问题,我们提出了一种新的校准方法,它可以恢复投影仪的固有参数,投影仪和相机之间的空间关系,并从两个或多个图像中重建未知的发射点模式。
论文《Geometric primitive refinement for structured light cameras》学习_第1张图片
这项工作的贡献包括三个部分:

  • 提出了一种新的定标技术,用于测量投影仪的针孔模型参数、摄像机和投影仪的外部参数以及未知的点模式。
  • 针对结构光相机的几何原语,提出了一种新的细化方法。相对于常规的像素视差计算,我们建议同时使用所有属于对象的像素。该图像信息与模型形状所构成的约束相结合,以细化初始参数。
  • 结果表明,用该方法可以对平面、球体和长方体三种不同的几何原语进行有效的初始估计。以平面为例,我们发现平面模型的角精度和距离精度与基线相比分别提高了60%和30%以上。球体的初始估计值可以提高50%。此外,即使是复杂的模型,如长方体,也可以细化多达30%。

在第2部分,我们介绍相关的工作。本著作中使用的符号在第3节中有解释。第4节详细描述了校准方法。在第5节中,我们给出了如何获得一个对象的初始化的信息,该对象可以用第6节中描述的方法进行细化。该方法的性能在第7节中进行了评估。我们在第8节中总结并总结了我们的发现。

2 Related work

一个结构光相机系统是由许多参数定义的:相机和投影仪的固有参数,它们的空间关系,最后是投影模式。在自定义设置中,这些参数可以由用户直接控制,也可以通过校准获得。

Moreno和Taubin 16]发表了一个校准工具箱,用于这种系统通过校准目标找到空间关系。Ye和Song[27]最近提出了一种基于3d空间控制点的初始校准结果细化方法。

Yamazakietal等人[26]提出了了如何预测摄像机和投影仪之间的空间关系以及这两种设备的内在参数。该方法不需要标定目标,因此不能确定标度。Bird和Papanikolopoulos 2提出了另一种至少有两个摄像头和一个投影仪的无目标设置方法【2】。

上述方法是为自定义结构的光系统或允许用户控制投影模式的设置而设计的。然而,这些方法不适用于现成的传感器,如Microsoft Kinect或Orbbec Astra,因为这些相机不提供对其内部参数的访问。在这项工作中,我们放宽了这些要求,并提出了一种可以用未知模式校准通用结构光相机的方法。

这项工作在原则上与点云的原始检测和分割密切相关。然而,在焦点上有一个显著的不同。在我们的工作中,目标是获得一个位置和参数的估计值,以尽可能准确地定义一个对象。与此相反,检测方法的主要目标是快速、粗分割,通常侧重于实时应用。

对于用结构化光摄像机捕获的点云,存在大量关于几何原语检测的工作。在[18]中可以找到关于点云分割的综述。Poppinga等人通过在3-D点云上执行区域增长,将场景转换成平面。提出了一种计算平面与点的最小二乘拟合的有效方法。[12]的作者通过一个多边滤波步骤扩展了这种方法,以增强对测量噪声的鲁棒性。作者还提出了一种可选的、精度较低的分段方法来降低计算复杂度。Trevor等人的[24]通过先分割图像和只拟合满足一定尺寸的区域来减少平面拟合的数量。可以用b样条建模的[17]识别区域。该方法联合使用距离和颜色信息来计算场景中缺失的距离信息,在对应搜索失败的情况下,可能会以像素的形式出现。Georgiev等人的[10]建议首先搜索点云中的线段,以减少搜索空间。第二步,对这些线段进行分析和组合,得到场景中的平面线段。在[6]中,提出了一种实时可捕获的、基于图形的方法。图节点表示不重叠的图像区域。对这些节点分别进行平面性分析,如果它们属于同一段,则合并。然后,使用区域增长来确定属于各个模型的精确像素。Borrmann等人提出了一种新的用于三维平面检测的霍夫变换累加器,并将其与其他霍夫变换的变体进行了比较。

上述方法中的平面估计相对简单。它通常由一个最小二乘拟合到三维点云使用奇异值分解或变异。然而,这种快速方法很容易出现异常值或其他估计错误。总而言之,如果需要高度精确,应用程序可以从我们的方法中受益,但是运行时要求不那么严格。

与上述方法的一个重要区别在于,我们的方法不针对三维点,而是直接针对结构光传感器的点模式。这允许将图案的几个点联合到一个几何原语中,从而避免立体匹配过程中的个别错误。

直接对点图案进行操作的思想也被用于其他应用中。Fanello et al.[21]将对应搜索问题作为分类问题,用随机森林分别对每个像素进行求解。投影仪模式是从校准和培训阶段获得的。这项工作与我们的一个显著的不同之处在于,我们不是对每个点单独操作。相反,我们通过联合优化一个表面上的所有点来包含非局部线索。Mcilroy等人的[15]也直接作用于点模式。作者提出了一种基于Kinect摄像头的低成本跟踪器。作者演示了如何用点模式在固定多平面表面上的投影来确定投影仪的姿态。我们使用类似的想法,但我们解决投影表面使用固定的相机/投影仪设置。

几何原语的抽象表示,例如平面,已经被许多用于高级视觉任务的作品所使用。这种类型的方法有可能从所提出的算法的高精度中获益。Holz等人的工作的扩展。[12]使用平面地图进行定位或位置识别[7]。在[25]中,平面被用作创建环境地图的功能。利用这些平面有效地减少了映射过程的计算复杂度,提高了映射和定位任务的精度。Birk等人的[3]演示了如何通过确定性的非迭代方法来有效地利用平面表面补丁来估计机器人的运动。Biswas等人提出了一种基于RANSAC的平面分割算法,用于避障和导航,该算法仅依赖于深度信息。Taguchi等人的[23]研究表明,在使用Kinect传感器进行三维重建时,使用平面实现高帧率是很重要的。Salas等人的[22]提出了一个SLAM系统,可以随着时间的推移恢复场景中平面的边界。

3 Notation

我们用粗体大写字母表示图像,例如图像I.用粗体小写字母表示向量,例如x =(X, Y, Z)。如果需要,上标指定向量的坐标系统,例如, x ( c ) x ^{(c)} x(c)表示从摄像机c看到的一个点。

几何原语,例如平面、球体或圆柱,被表示为参数化的三维模型。所有参数描述这样一个模型中参数向量θ。以平面为例,我们使用Hesse法向形式来描述一个有四个参数的平面:三个值代表一个单位法向,一个值代表原点到平面的距离。

一个平移向量和一个旋转矩阵构成刚体变换 R c p R_{cp} Rcp,例如,它将摄像机和投影仪的坐标系统联系起来。我们用 Π \Pi Π来描述从三维空间到二维图像域的投影。这种投影被实现为一个针孔相机模型,或一个针孔相机模型与一个镜头分解模型的结合。 Π θ − 1 \Pi_\theta^{-1} Πθ1描述一个逆投影。在这个工作中,逆投影实现为一线的交点参数θ定义的3 d模型。

4 Calibration of the structured light camera and reconstruction of the dot pattern

整个校准过程如图2所示。首先描述了一组校准图像的采集在4. 1。 在4.2中. 我们演示了如何近似地初始化传感器的外部参数。接下来,我们创建第4.3节中描述的点模式的初始重建。从今以后。我们展示了如何在一个基于多个校准图像的非线性优化方案中细化初始参数和初始点模式。改进见4.5节。
论文《Geometric primitive refinement for structured light cameras》学习_第2张图片

4.1 Calibration data and reference distance information

在本节中,我们将描述校准数据以及如何获取校准数据。

校准过程需要至少两张图像,每张图像由一个点模式图像和一个对应的点云组成。这些平面可以是平行的,但不能共面。

一个均匀的白墙捕获在不同的距离将确保最佳估计内部参数和点模式。一般来说,在不同距离上捕获的图像越多,估计的结果就越好。

校准协议要求成像平面的位置和方向是已知的。理论上可以利用点云的距离信息来估计平面模型。然而,通过校准模式可以获得更精确的平面模型。点模式在两步过程中捕捉得最好,这两步过程包括使用校准模式估计平面和在捕捉点模式之前去除校准模式。

在初步的实验中,我们比较了不同的校准模式,包括棋盘[19]和字母[1]与作者提供的校准模式。在这些实验中,棋盘被检测到的距离范围更广,也比文字标签更准确,这就是我们使用棋盘的原因。

4.2 Coarse initialization of the intrinsic and extrinsic parameters

通过两步得到了第一个粗校准。首先,我们估计了投影仪和摄像机 R p c R_{pc} Rpc之间的相对位置。在第二步中,我们计算了代表投影仪的针孔相机模型的参数。

我们稍微简化了相机和投影仪之间相对位置的估计。由于在几乎所有的现成的结构光相机中,相机和投影仪的主光线都是平行的,因此相机和投影仪的空间关系 R p c R_{pc} Rpc简化为平移b,我们称b为基线。

基线的估计如图3所示。这里投影仪发射出ri射线,最终击中平面。从图中可以看出,同样的射线ri也可以从位于 P 和 P ′ P和P' PP两个不同平面上的对应点 x i 和 x i ′ x_i和x'_i xixi计算出来。因此,投影仪P的投影中心,也就是基线b,可以通过找到两条或多条射线的交点来计算。

对于这一步,假设相机 Π c \Pi _c Πc的固有参数是已知的,或者可以在单独的校准步骤[28]中计算出来。

导要求已知两个平面 P 和 P ′ P和P' PP的位置。它们的参数可以通过结构光深度测量或(首选)通过附着在其表面的校准模式来估计。通过块匹配获得点对应 ( x i , x i ′ ) (x_i, x'_i) (xi,xi)。如果相机和投影仪的位置只在x坐标上不同,块搜索可以限制在x轴上。

这种方法可以很容易地扩展到两条以上的射线,以提高估计的准确性。实际上,五到十道射线就足够了。如果对应关系在图像中很好地分布,就可以得到最佳初始化,因为在图像的四个象限中是相等的。

基线的近似值允许投影仪针孔模型参数的估计。我们假设这个项目有一个理想点,并且这个中心点在图像的中心。因此,找到投影仪模型简化为估算焦距。

我们计算焦距,使一个像元在投影仪图像的同一个角落里被观测到。图4演示了这个场景。为了捕获完整的观察模式,我们选择角 p ( c ) p ^{(c)} p(c),它对应于使到投影仪距离最大的3-D点 x ( c ) = ( X ( c ) , Y ( c ) , Z ( c ) ) x (c) =(X^{(c)},Y ^{(c)}, Z ^{(c)}) x(c)=(X(c)Y(c)Z(c))的投影。当 x ( p ) = x ( c ) + b x (p) = x (c) + b x(p)=x(c)+b及其各自的投影 p ( p ) p ^{(p)} p(p)时,通过针孔相机模型可以直接计算出焦距:
论文《Geometric primitive refinement for structured light cameras》学习_第3张图片
计算 f p f _p fp需要知道固定图像的宽度W。在实践中,W的值应该等于或大于相机图像的宽度。

所得到的焦距直接取决于被观测的平面和照相机之间的距离,而更近的平面会导致更小的焦距。因此,我们使用带有最小平面摄像机分辨率的校准图像来计算 f p f _p fp的阶数,以包括投影点模式的最可能的部分。

4.3 Dot pattern reconstruction

在本节中,我们将介绍如何重建发射器投射到场景中的静态图像。我们将重建的图像称为虚点模式S。下面,我们将描述如何使用之前计算的内在和外在参数从I中的相应像素获得S中所有像素的强度。

重构过程如图5所示。这里,点 p i ( p ) p^{(p)}_i pi(p)的强度是从I中对应的点 p i ( c ) p^{(c)}_i pi(c)计算出来的。坐标 p i ( c ) p^{(c)}_i pi(c)通过将 r i r_i ri与平面相交,将其转化为摄像机的坐标系,最后投影到图像平面上得到。在 p i ( p ) p^{(p)}_i pi(p)处的虚点图形的强度现在由I内插。这用interp(·)表示。数学上,S的单个像素的强度查找由
论文《Geometric primitive refinement for structured light cameras》学习_第4张图片
初始点模式的估计可以扩展到使用多个图像,类似地如4.2节所述。

论文《Geometric primitive refinement for structured light cameras》学习_第5张图片
然而,与第4.2节相似,结果是对模式进行了一个粗糙的估计。

4.4 Virtual image generation

在已知点模式、外部参数和内部参数的情况下,可以生成参数模型的虚拟图像V。在标定的上下文中,目标是在标定场景中生成一个平面的虚拟图像。为此,我们使用了式(2)中给出的逆向重建管道, R c p 是 R p c R_{cp}是R_{pc} RcpRpc的逆。平面被定义为 θ \theta θ。通过使用之前计算的虚点模式S作为查找源,可以获得所有坐标 p i ( c ) p_i^{(c)} pi(c)的像素值:
在这里插入图片描述
注意,Eq.(3)中表示的图像生成管道允许对描述场景或结构光传感器的所有参数进行调整。在4.5节中,将利用这一特性来细化传感器参数和初始虚点模式。还要注意的是,虽然校准是在平面上进行的,但精化的应用可以作用于任意的几何结构,这些结构可以用参数模型表示。唯一的要求是实现一种用特殊模型计算数轴交叉的方法。

虚拟图像的生成可以并行化,因为所有像素值都可以独立计算。根据使用的几何原语和相机属性,可以进行更多的简化。例如,如果对平面区域进行细化,透镜畸变可以忽略不计,则点模式与虚像之间的映射可以用单应性来表示。

4.5 Optimization of intrinsic parameters and the dot pattern

粗校准仅基于少量的点对应。在细化过程中,利用M定标图像的完整图像信息,获得更准确的内外部参数,更准确的点模式重构。我们假设,如果真实的传感器参数是已知的,那么就有可能创建与所观察到的摄像机图像相同的场景虚拟视图。

我们使用梯度下降来细化刚体变换 R c p R_{cp} Rcp,投影仪的焦距 f p f_p fp和从投影仪上看到的点图形S。在每一次迭代中,都要执行两个步骤:首先,细化外部参数和焦距,然后更新点模式。这个迭代过程如图2所示。

梯度下降需要一个成本函数来衡量两个图像的不同之处。为此,我们计算了观察到的图像I和虚拟图像V之间的均值差的平方,而虚拟图像V本身取决于特定的 f p f_p fp R c p R_{cp} Rcp

为了增加相似性,每个像素都被其邻域的平均值标准化。利用积分图像可以有效地对其进行积分。归一化图像I的代价函数 I ′ I' I及其对应的归一化虚像 V ′ V' V是由
论文《Geometric primitive refinement for structured light cameras》学习_第6张图片
其中,N为像素个数。我们用数值方法通过改变电流参数得到了梯度。注意,像素方面的差异和所需的归一化妨碍了解析导数的使用。

一旦梯度是已知的,当前的参数集是调整和用来估计一个新的点模式。

从每个M校准图像中,可以得到一个点模式Sj,如4.3节所示。更新后的点模式S1计算为像素方向的中值图像,即
在这里插入图片描述
中值滤波器限制了传感器噪声对网点重构的影响。在下一次迭代中,S’将作为当前的点模式S。

可以通过最小化Eq.(6)得到由 R c p ∗ 、 f p ∗ 和 S ∗ R ^*_{cp}、f_ p^*和S^∗ RcpfpS组成的最佳参数集。该函数最小化已知平面的M个归一化虚拟视图 V j ′ V'_j Vj与它们相应的归一化观测 I j ′ I'_j Ij之间的差异。
论文《Geometric primitive refinement for structured light cameras》学习_第7张图片
用上述方法,投影仪参数,基线,旋转和点模式可以估计和保存为未来重用。重新校准只需要对投影仪/时代设置进行更改,这通常不会在操作过程中发生。

5 Geometric primitive detection

细化方法需要对象模型的初始估计,对象模型的参数需要细化。获取这种初始化有多种方法,例如将点云完全分解为几何原语,或者基于种子值或感兴趣区域的半自动分割。在第2节中,我们列出了用于查找不同原语的例子,如平面[12,20,24]或b样条模型[17]。

在这项工作中,我们没有对如何获得特定模型的初始参数设置任何约束。相反,我们只需要一个参数向量0来解析地描述模型。在这工作。研究了三种不同的模型:平面模型、长方体模型和球体模型。该方法的一个普遍局限性是,它假设几何模型是场景分割区域的一个足够精确的表示。例如,必须在单独的处理步骤中处理原语被另一个对象遮挡的情况。在我们的实现中,我们使用掩码来忽略这些异常区域。

6 Geometric primitive refinement

细化算法的核心思想是创建对象的虚拟视图。如果描述对象的所有参数都是已知的或正确估计的,则虚拟视图与观察到的图像匹配。因此,我们的目标是估计未知参数,从而最小化虚拟视图和观察到的图像之间的偏差。

为了生成一个虚拟视图,需要一个完整的成像系统模型。在本节中,我们假设摄像机和投影仪的内部参数、它们的空间关系和投影点模式已经用第四节中描述的校准程序计算过了。

场景中对象的参数,例如一个平面,总结了在参数向量θ。在这种情况下,我们假设存在一个目标的初始估计,它是通过某种初始检测算法得到的。在本节中,我们将介绍如何进一步改进这些参数,使它们的虚拟视图与观察到的图像更准确地匹配。

得到了最优模型参数 θ ∗ θ^∗ θ通过非线性优化。与校准过程类似,我们使用梯度下降法来寻找最优值。一个度量e是用来测量之间的不同观察图像I一个摄像头和一个虚拟映像V(θ)。在这里,我们重新使用了在Eq.(4)中定义的稍微修改过的误差度量。在校准过程的优化阶段,这个误差度量用于基于固定的平面模型参数来寻找 R c p 和 f p R_{cp}和f_p Rcpfp。在对象参数的优化,我们修理相机的系统参数和不同对象参数θ。因此,不同的均方误差对于一个给定的θ的定义是:
论文《Geometric primitive refinement for structured light cameras》学习_第8张图片
的目标细化步骤是找到参数θ∗,最大化之间的相似性(或最小化不同,分别) I I I V ( R c p , θ ) V (R _{cp},θ) V(Rcp,θ)。更准确地说,我们在寻找
在这里插入图片描述
一些影响,如场景纹理,变化的表面反射率,或侧面的入射角可能会对优化产生负面影响。因此,为了提高优化的鲁棒性,我们首先将每个像素除以其邻域的均值进行归一化处理。这可以有效地实现使用积分图像。令 I 和 V I和V IV I 和 V I和V IV的归一化像,则式(8)为
论文《Geometric primitive refinement for structured light cameras》学习_第9张图片
可以通过梯度下降来优化。我们观察到,在一个线段的边界处可能会有一些异常值。因此,对这些边界进行再加性侵蚀可以提高估计的总体精度。

7 Evaluation

本节将对所提出的方法进行全面的评估。我们评估了该方法的三个不同方面:它的准确性相对于不同的场景,校准数据的影响,并适用于不同的几何原语。

我们在精度研究中使用平面段,因为校准模式允许对参考平面进行高度精确的估计,以便进行定量评估。在本研究中,我们将我们的方法与平面的最小二乘拟合方法的结果进行比较。在这些实验中,我们研究了相机与平面的距离、细化平面的大小、纹理的鲁棒性以及最大迭代次数对细化的影响。

评估的第二部分包括对校准程序不同方面的研究。在这种情况下,我们评估了用于校准系统的校准图像数量的影响。此外,我们还研究了校正结果对校正过程中未覆盖的距离的泛化效果。最后,我们对所提出的方法在平面以外的两种基本几何模型的适用性进行了评价。在这些例子中,球体和长方体的初始估计被细化,使得它们的位置和模型参数变得更加精确。

在这个评价中,使用了一个Orbbec Astra 结构光相机。该相机配备了一个通用的工厂校准,用于所有的相机型号,独立于个体模型的变化。了获得尽可能高的精度,我们使用[19,28]估算了特定相机的固有参数。

7.1 Evaluation data sets and experimental setup

该系统通过一组25张校准图像进行校准,图像显示在0.7米到1.7米的距离上有一面白色的墙壁。该壁近似垂直于光轴。准确的参考平面是从棋盘图中计算出来的,这些棋盘图在捕获点图之前就被删除了。评估中使用了四个不同场景的不同数据集。第一个数据集的捕获与校准数据类似,由70幅白色墙壁的图像组成,范围为∼0.65 ~∼1.75m。我们把这个数据集称为 t h e   w a l l the \ wall the wall数据集。这些单独的图像均匀地散布在评估的距离范围内。对于每一幅图像,地面真值平面由一个棋盘格来估计。在捕获点模式之前,棋盘被从场景中移除。

纹理数据集由显示具有不同表面属性的六块板的图像组成。该数据集用于研究细化方法在纹理和表面属性方面的鲁棒性。另外两个数据集分别包含球体和盒子的图像。该球数据集包含40张不同角度、不同距离、半径10.5cm的白衣球图像。长方体数据集包含一个32.4cm×26.4cm×10cm的木盒图像40张。这个盒子以不同的姿势被拍摄下来,比如不同的脸指向相机。第7.8节和第7.9节描述了球体和平面的初始检测方法。

在平面的情况下,我们通过对平面参数与细化前后的地面真平面的比较来评价结果。请注意,地面真相平面是从棋盘格中计算出来的,因此只能在某些不确定的情况下是准确的。然而,初步结果表明,基于棋盘格的平面估计的不确定性至少比我们改进结果的其余误差小五倍。

我们使用以下符号来描述结果:评估正常的方向之间的角度和地面真理正常用α。评价的距离参数与地面真值平面之间的差值用 Δ d \Delta d Δd表示。下标 i 和 r i和r ir表示初始值和细化值。在优化期间,不使用来自棋盘的信息。

通过[12]的概率二分类平面分割得到初始平面估计。该方法将场景分割成单独的平面段。分段法计算每个平面段的最小二乘拟合,以及确定特定分段的掩码。我们使用所提出的方法来细化平面模型的初始估计。在此步骤中,只考虑段掩码的有效像素。

在优化过程中,观察到的和生成的虚拟图像按其平均值(窗口大小为11个像素)归一化像素。默认情况下,在梯度下降的优化过程中最多执行60次迭代。当所有优化像素的平均平方误差在一次迭代中变化 < 1 0 − 5 < 10^{−5} <105时,优化测试就开始了。

7.2 Distance between plane and camera

第一个实验的目的是评估相机和平面之间的距离的影响。在此评估中,我们分析了初始化和改进模型的法向量和距离参数的偏差。

我们使用墙壁数据集来做这个实验。根据与中心像素的距离,将图像细分为10厘米宽的区域。在得到的图6中,我们将参考法线的平均偏差作为一个角度,并将属于一个特定箱子的所有平面上的平均距离参数的差值表示出来。
论文《Geometric primitive refinement for structured light cameras》学习_第10张图片
结果表明,该方法可以在几乎整个范围内减小最小二乘平面估计的误差。距离参数的改进幅度始终大于30%。在近距离,我们的方法不能改进法线方向,返回的法线比初始化差一些。我们用投影模式的饱和度来解释这一点。当摄像机非常靠近墙壁,从而达到其操作范围的极限时,图案中各个点的空间范围就会增长,直到它们最终合并。一旦相机到墙有一定的距离(>0.8m),该方法可以改善正常的初始方向。随着距离的增加,可能提高60%甚至更多(> 1.6米)。

7.3 Influence of the size of the plane segment

精度和线段尺寸之间的关系是另一个有趣的特性。该方法利用了一个平面段中所有像素点的信息。因此,可以预期,更高的精度成为可能,如果更多的像素在细化过程中使用。我们用墙数据集的图像来研究这种关系。

我们从整个图像区域的5%开始,迭代地增加5%的片段大小。所有的线段都位于图像中心。图7显示了所有图像的平均增益。在整个线段尺寸范围内,初始平面模型的距离参数精度可提高约40%。假设有一个直角,一个错误的距离参数会因为错误的视差值而均匀地影响所有被评估的像素。相反,法线的方向对平面上所有像素的影响是不同的。这种效果在图像的边缘区域最为明显,如果这些区域覆盖了图像的大部分区域,这种效果会更加明显。这就解释了为什么较小的线段法向的精度提高会降低。拥有至少40%图像大小的段仍然允许≈30%的改进,而几乎不可能细化覆盖小于25%图像的段。

从这个图中还可以得到另一个有趣的观察结果:对于覆盖图像区域50-60%的片段,可以计算出最佳精度。一种可能的解释是投影仪的不均匀场景照明。根据这个论证,我们认为中心的50-60%的图像是最好的照明,从而提供了优化比外层图像区域。
论文《Geometric primitive refinement for structured light cameras》学习_第11张图片

7.4 Maximum number of iterations

在当前简单的实现中,如果达到预先设定的60次迭代,或者成本函数的变化不超过 1 0 [ − 5 10 ^{[- 5} 10[5,则优化程序将进行评估。这些参数需要根据精度要求进行调整。

下面的实验考察了使用wall数据集的迭代中平均成本函数的下降。我们评估了从0(无细化)到60次迭代的固定迭代次数后的结果。实验结果如图8所示。图中显示了相似度度量,在我们的实现中,强度的均方差,是如何随着额外的迭代而减少的。在超过30次迭代之后,不会观察到较大的误差。
论文《Geometric primitive refinement for structured light cameras》学习_第12张图片

7.5 Performance on textured surfaces

在本节中,我们将评估表面支撑的鲁棒性。在本例中,使用了纹理数据集。如图9所示,场景由六个不同的木板组成,木板有不同的、有挑战性的表面,木板被放在一张桌子上。表1为实验结果。实验前用棋盘图法计算了各平面段的参考平面。

对于所有平面段,用Holz等人的[12]方法返回的最小二乘平面拟合参数可以用该方法进行细化。段3由于其较强的结构,是本评价中最具挑战性的例子之一。即使在这种情况下,平面的正常方向和距离也可以分别提高31和81%。此外,距离参数的巨大精度增益是可能的。另一个有挑战性的例子是高规格的黑色线段(线段2),它与参考平面的偏差在法线方向上可减少17%,在距离参数上可减少60%。平均而言,法线方向可以提高24%,距离参数甚至可以提高44%。

论文《Geometric primitive refinement for structured light cameras》学习_第13张图片
论文《Geometric primitive refinement for structured light cameras》学习_第14张图片

7.6 Number of calibration images

所需校准图像的数量直接影响校准工作。在本实验中,我们将校准图像(见7.1节)按其在中心像素处的距离排序。从该列表中均匀采样N幅图像,覆盖整个校准范围。每个结果集都被用作所提议的校准方法的输入。

在本实验中,通过不同的标定,对墙体数据集的所有图像进行了细化。对于每个校准,我们计算所有最终成本函数值的平均值,以度量最终虚拟图像与观察到的图像的匹配程度。图10展示了N ={2,3,5,10,15,25}的校准图像的实验结果。
论文《Geometric primitive refinement for structured light cameras》学习_第15张图片
正如预期的那样,更多的校准图像也会提高算法的整体精度。然而,它也是有效的交易精度为金额的努力,一个人想要投资校准。即使只有很少的图像,例如< 10,也可以进行相当大的改进。初始化的度量值为0.129,仅使用5张校准图像就可以获得40%以上的收益,而使用25张图像几乎可以获得50%的收益。

7.7 Importance of calibrating the whole range of operation

本实验的目的是探讨在校正过程中未涉及的距离上获得精确平面参数的可能性。这是一个重要的问题,因为它也直接影响校准工作和校准数据的可重用性。

在这个评估中,我们重新使用了7.6节中排列有序的杯状图像。从这个列表中,我们绘制了用于校准的前10张图像,其范围从0.70到1米。这个校准是用来细化壁数据集的平面。

在图11中,我们比较了两组不同校准图像的残差:第一组是所有校准图像,第二组是近距离子集。有限的校准范围的影响不是很严重,但仍然可以观察到。对于距离大于1.2m的平面,如图11a所示,法向误差增大。抗参数(图11b)非常稳定,导致两个校准装置之间几乎没有明显的差异。
论文《Geometric primitive refinement for structured light cameras》学习_第16张图片
作近距离子集校正之用。甚至可以认为距离参数在校准数据范围内变得更加精确。我们假设在校准过程中得到的点图样与在这个范围内观察到的图样最相似。相比之下,其它网点图案则很可能反映出所观察到的图案的完整校准范围。

7.8 Evaluation on spheres

本实验针对球的位置和半径的细化,对所提方法的性能进行了评价。球体用圆心和半径表示;因此, θ \theta θ包含四个未知数: ( c X , c Y , c Z , r ) (c_X, c_Y, c_Z, r) (cX,cY,cZ,r)。用距离阈值2.5mm的RANSAC对初始球体进行了估计。对于RANSAC使用较小的阈值,由于相机的离散化误差大于1毫米,导致初始估计的鲁棒性较差。估计过程中包含的3-D点是在球体周围一个严格选择的矩形区域中获得的。此外,Holz等[112]采用平面分割方法对所有属于背景平面的像素进行了识别,并将其排除在估计过程之外,从而得到一组离群点很少的点集。

表2给出了spheres数据集的实验结果。在表中,我们列出了球体的真实半径与各自估计的半径之间的绝对差值。根据兰萨克的估计,半径的平均绝对误差约为一毫米。利用改进后的方法,误差可减少50%以上,达到0.46mm。
论文《Geometric primitive refinement for structured light cameras》学习_第17张图片
图12显示了来自数据集的四个示例。对于这些示例,投影仪暂时被禁用,以捕获没有重叠点模式的图像。每例。最初的RANSAC估计得到了改进,结果的球体与观测到的球体更加接近。在这两个例子中都可以观察到的噪声是由于发射体失效时红外光谱的低照度造成的。
论文《Geometric primitive refinement for structured light cameras》学习_第18张图片

7.9 Evaluation on cuboids

长方体是另一种有趣的原语,可以用提出的方法进行细化。在这个评估中,我们用长方体的尺寸(长×宽×高)和它在刚体变换中的位置来表示长方体,刚体变换将长方体的坐标系与相机的坐标系联系起来。因此,θ包含九个参数需要完善。

该方法在长方体数据集上进行了评价,图13展示了该数据集选取的四个示例。图中分别以蓝色和绿色表示初始长方体模型和细化长方体模型的轮廓。
论文《Geometric primitive refinement for structured light cameras》学习_第19张图片
最初的长方体是通过三步来找到的:首先,探测到平面和地板。其次,得到了长方体的二分式。在最后一步中,计算长方体与摄像机之间的旋转和平移。

顶部平面是由Holz等人的平面分割方法[12]计算,初始化的种子坐标在盒子的顶部。地板平面是通过RANSAC从所有点计算的,除了那些支持顶平面的点。为了估计,我们假设地板平行于盒子的顶平面,从而使法线与顶平面的法线相同。由于地面与大多数点云相似,所以对地面的估计是非常准确的。

盒子的长度和宽度是由支撑顶板的像素点的边界盒的两个主要维数来计算的。通过计算长方体的一个支点到底板的距离来确定高度。

长方体的坐标系统是这样定义的:原点以长方体为中心,坐标轴与长方体的长、宽、高尺寸一致。这使得在它自己的坐标系中计算长方体的坐标变得容易。用Horn的方法[13]计算转角和平移。

在此评估中,我们测量了长方体检测的误差,测量值与真实值的绝对差值。

初始检测的平均误差为0.94 cm。细化之后,这个误差减少了约30%到0.66厘米。注意,这个误差度量只考虑盒子的尺寸,而不考虑它们相对于摄像机的位置。对于标注尺寸的任务,方框位置可能只是次要的;然而,对于定位任务来说,精确的空间信息与长方体的维度同样重要。

7.10 Runtime

细化单个对象的运行时取决于对象覆盖的像素数量、最大迭代次数和描述对象所需的参数数量。在这些因素中,最后一个影响最大,因为计算导数需要在每次优化迭代中多次渲染对象。在我们的实现中,我们计算了中心差分,这导致每个参数生成两个虚拟图像。

我们已经在一个消费者笔记本上评估了我们实现的两个变体。第一个版本只使用Intel I7-4700 CPU,而第二个版本使用简单的CUDA实现在GPU (Nvidia 750M)上生成虚拟图像。运行时的实验是在壁面数据集上进行的,壁面数据集由填满整个视场的平面组成。由于每个图像的迭代次数可能会因梯度下降优化器中的早期停止条件而有所不同,因此我们只提供单个迭代所需的平均时间的度量。

CPU实现每次迭代平均需要340 ms,这包括生成9个病毒图像(8个用于4个参数的中心差异,另一个用于评估更新后的参数)。在这个实现中,我们使用完整的呈现管道,没有任何类似于基于同伦的平面到平面的映射(参见4.4节)。通过将渲染过程转移到GPU,一次迭代的运行时间可以减少到40毫秒,从而带来超过8的加速。我们相信,如果GPU的所有功能都被利用(插值和纹理内存),那么运行时间还会进一步减少。额外的加速可以通过移植完整的优化到GPU来实现。

8 Conclusion

本文提出了一种利用结构光传感器的点模式细化几何基元模型参数的新方法。

该方法利用在场景中知道几何原语的准确参数可以重新渲染原语,使渲染的图像与结构光传感器的相机图像相同。与常规的拟合方法不同的是,这种方法只对单个的3-D点进行拟合,而所提出的算法将所有的像素同时归入几何原语。此外,对象形状的先验知识有助于约束优化问题。

作为一个先决条件的估计几何原始,我们提出一个鲁棒的校准方法现成的结构光相机像微软Kinect跳动或阿斯特拉方法,未知相机点模式,投影仪焦距,外在参数可以计算摄像机和投影仪之间从一个小套校准图片。

我们在平面段、球体和长方体上演示了提出的方法的性能。就平面而言,我们使用最先进的平面检测方法来寻找平面碎片。然后,利用该方法对这些初始平面的参数进行了改进。结果表明,该方法能较好地估计出平面线段的法向角和距离。例如,我们在分割中发现,对于高反射和扩散的平面段,法线方向的平面参数可以提高60%以上,距离参数可以提高30%以上。所提出的方法对纹理、平面距离和平面段的大小具有很强的鲁棒性。同样,在这些非常冗长的场景中,性能增益的量级也差不多。在球体和长方体的情况下,最初发现的参数可以改进到50和
30%,分别。

你可能感兴趣的:(论文学习)