基于区域的方法在基于模型的单目3D跟踪无纹理物体的复杂场景中变得越来越流行。然而,尽管它们能够实现最先进的结果,大多数方法的计算开销很大,需要大量资源来实时运行。在下文中,我们基于之前的工作,开发了SRT3D,这是一种稀疏的基于区域的3D物体跟踪方法,旨在弥合效率上的差距。我们的方法在所谓的对应线(这些线模型化了物体轮廓位置的概率)上稀疏地考虑图像信息。由此,我们改进了当前的技术,并引入了考虑定义的全局和局部不确定性的平滑阶跃函数。对于所得到的概率公式,提供了详尽的分析。最后,我们使用预渲染的稀疏视点模型来创建物体姿态的联合后验概率。通过Tikhonov正则化的二阶牛顿优化方法对该函数进行最大化。在姿态估计过程中,我们区分了全局和局部优化,并在牛顿法中采用了一种新的近似方法来计算一阶导数。通过多个实验,我们证明了所得算法在运行时间和质量方面都改进了当前的技术,特别是在现实世界中遇到的噪声和混乱图像方面表现出色。
1 引言
在三维空间中跟踪刚性物体并预测其六自由度(6DoF)姿态是计算机视觉中的一项重要任务。其应用范围广泛,从增强现实(需要物体的位置以叠加数字信息)到机器人领域(在非结构化环境中需要物体的姿态以实现稳健的操作)。给定连续的图像帧,3D物体跟踪的目标是估计相机相对于已知物体的旋转和平移。与物体检测不同,跟踪能够连续提供信息,例如,使机器人能够通过视觉伺服来应对环境中的意外变化。虽然这个问题已经被深入研究,但仍然存在许多挑战,如部分遮挡、外观变化、运动模糊、背景杂乱以及实时要求。在本节中,我们首先概述了常见的技术。随后,回顾了基于区域的方法的相关工作。最后,我们介绍了我们的方法并总结了对当前技术的贡献。
过去,许多3D物体跟踪的方法已经被提出。根据一些调查(Lepetit和Fua 2005;Yilmaz等人 2006)以及最近的发展,这些技术可以根据它们对关键点、显式边缘、直接优化、深度学习、深度信息和图像区域的使用进行区分。关键点特征如SIFT(Lowe 2004)、ORB(Rublee等人 2011)或BRISK(Leutenegger等人 2011)已被广泛用于3D物体跟踪(Wagner等人 2010;Vacchetti等人 2004),而最近的发展如LIFT(Yi等人 2016)和SuperGlue(Sarlin等人 2020)在各个阶段引入了深度学习。显式边缘提供了额外的信息来源,被许多方法所使用(Huang等人 2020;Bugaev等人 2018;Seo等人 2014;Comport等人 2006;Drummond和Cipolla 2002;Harris和Stennett 1990)。此外,还提出了直接方法(Engel等人 2018;Seo和Wuest 2016;Crivellaro和Lepetit 2014),这些方法优化了光度误差,并且可以追溯到Lucas和Kanade(1981)。虽然所有三类技术都有其有效的应用,但不幸的是,它们也都有显著的缺点。首先,基于关键点和直接优化的方法需要丰富的纹理,限制了适用物体的范围。同时,表现较好但适用于低纹理物体的基于边缘的方法在复杂场景中往往失效。最后,运动模糊会改变纹理和边缘的外观,导致额外的问题。
为了克服这些问题并对算法进行数据训练,最近提出了一些基于深度学习的方法,这些方法使用卷积神经网络(CNN)来考虑全图像信息。虽然它们取得了不错的效果,但只有少数方法(Wen等人 2020)能实时运行,大多数方法(Deng等人 2021;Wang等人 2019;Li等人 2018;Xiang等人 2018;Garon和Lalonde 2017)报告的帧率低于每秒30帧。然而,即使是最有效的算法也需要高端GPU的显著资源。此外,典型的缺点还包括耗时的训练以及对带纹理的3D模型的要求。另一个相对较新的发展是经济实惠的深度摄像机的出现,这些摄像机可以测量每个像素的表面距离。虽然纯粹基于深度的物体跟踪是可能的,但大多数方法(Ren等人 2017;Kehl等人 2017;Tan等人 2017;Krull等人 2015;Krainin等人 2011)将深度和RGB摄像头的信息结合起来。通常,这会带来更优的结果。然而,在许多应用中,使用额外的深度传感器并不可行。此外,算法需要高质量的图像。根据硬件、表面距离、表面特性和照明条件,获取此类图像可能非常困难。
由于上述缺点,基于区域的技术(Stoiber等人 2020;Zhong等人 2020b;Tjaden等人 2018;Prisacariu和Reid 2012)变得越来越受欢迎。这类方法的一个巨大优势是,使用单目RGB摄像头和物体的无纹理3D模型,它们能够在复杂场景中可靠地跟踪各种物体。其主要假设是物体可以从背景中区分开来。因此,不需要物体的纹理。虽然过去的方法计算开销很大,但我们的稀疏表达式克服了这一缺点。最后,基于我们的经验,基于区域的方法对运动模糊具有鲁棒性,使得跟踪快速移动的物体成为可能。由于这些优良的特性,接下来的工作重点是基于区域的技术。
基于区域的方法使用图像统计数据来区分前景区域(与物体对应)和背景区域。通常使用颜色统计数据来建模每个像素的成员资格。基于这两个区域,目标是找到物体的姿态和最佳解释图像分割的相应轮廓。早期方法已经证明了这种技术的巨大潜力,这些方法使得在许多具有挑战性的场景中能够进行稳健的跟踪(Schmaltz等人 2012;Brox等人 2010;Rosenhahn等人 2007)。分割和姿态跟踪因此被视为独立的问题,首先是提取轮廓的初步步骤,然后进行姿态的优化。Dambreville等人(2008)后来将这两个过程结合到单一的能量函数中,从而提高了跟踪的鲁棒性。基于这种方法,并结合Bibby和Reid(2008)的逐像素后验成员资格,Prisacariu和Reid(2012)开发了PWP3D,这是一种实时能力的算法,使用了水平集姿态嵌入。它是几乎所有最先进的基于区域的方法的基础。
基于PWP3D,提出了多种算法,这些算法结合了额外的信息、扩展了分割模型或提高了效率。为了结合深度信息和基于区域的信息,Kehl等人(2017)扩展了PWP3D的能量函数,并添加了基于迭代最近点(ICP)算法的项。另一种方法中,Ren等人(2017)将区域和深度信息紧密耦合在一个使用3D签名距离函数的概率表达式中。最近,通过像素强度值的直接优化(Liu等人 2020;Zhong和Zhang 2019)或描述符字段(Liu等人 2021),考虑了物体纹理。此外,Sun等人(2021)提出了一种使用轮廓部分模型的基于边缘的技术,并将其与基于区域的方法结合。后来,Li等人(2021)开发了自适应加权局部捆绑,将区域和边缘信息结合起来。为了改进遮挡处理,Zhong等人(2020a)建议使用基于学习的物体分割。最后,Prisacariu等人(2015)建议结合来自手机惯性传感器的测量数据。
为了改进分割,Zhao等人(2014)扩展了PWP3D的外观模型,加入了一个边界项,考虑了像素的空间分布规律性。随后,Hexner和Hagege(2016)提出使用局部外观模型来进一步提高分割性能。这一思想后来被 Tjaden 等人(2018)改进,开发了时间一致的局部颜色直方图。最后,Zhong 等人(2020b)提出了一种方法,介绍了基于极坐标的区域分割和基于边缘的遮挡检测。
为了提高效率,Zhao 等人(2014)提出了一种类似粒子滤波的随机优化方法,用于初始化后续的阻尼牛顿法。后来,Prisacariu 等人(2015)开发了一种使用Levenberg-Marquardt算法的分层渲染方法。此外,Tjaden 等人(2018)提出使用高斯-牛顿法来提高收敛性。除了优化,另一种提高效率的思路是使用简化的签名距离函数(Liu 等人,2020)。Kehl 等人(2017)提出了使用预先计算的轮廓点来表示物体的3D几何形状,并沿射线稀疏计算能量函数。
最后,在我们之前的工作中(Stoiber等人,2020),我们改进了这一思路,开发了一种基于对应线的稀疏方法,使我们的算法在实现更好跟踪结果的同时,比之前的先进方法显著提高了效率。
从上一节介绍的思想出发,我们专注于开发SRT3D,一种高度高效的基于区域的稀疏跟踪方法。为了保持最低复杂度,我们只使用区域信息,并像PWP3D一样采用全局分割模型。我们在之前的方法基础上,沿对应线稀疏地考虑图像信息。此外,我们使用带有Tikhonov正则化的牛顿优化来估计物体姿态。图1展示了跟踪过程中在不同尺度下收敛的对应线。尽管这种公式与我们之前的方法类似,但我们主要动机是通过改进的不确定性建模和更好的优化技术来推进该方法和当前技术水平。此外,我们还对高效的对应线模型进行了更正式的推导和分析。
具体来说,本工作的主要贡献如下:
在后续部分中,我们首先详细推导了对应线模型。随后,开发了一种结合对应线模型与3D物体几何形状稀疏表示的3D跟踪方法。接着讨论了所提算法的实现细节。最后,我们在RBOT和OPT数据集上进行了全面评估,显示我们的方法在效率和质量上都显著超越了当前的先进技术。
在本节中,我们首先定义基本的数学概念,接着描述一种稀疏视点模型,该模型在跟踪过程中避免了对3D模型的渲染。通过将这种几何表示与上一节中开发的对应线模型相结合,我们能够根据姿态公式化联合后验概率。该概率通过使用带有Tikhonov正则化的牛顿优化进行最大化。最后,我们定义了牛顿方法所需的梯度向量和Hessian矩阵,并区分了全局优化和局部优化,以确保快速收敛和高精度。
使用对数的好处是缩放项消失,乘积转化为求和。注意,Hessian 矩阵表示在特定位置处分布的曲率,对于高斯概率分布来说是常数,并且直接对应于负逆方差。基于这种概率解释,可以认为正则化参数对应于先验概率。该先验控制我们对之前姿态的信任程度,相对于由梯度和 Hessian 描述的当前估计。因此,对于 Hessian 表示不确定性高的方向,正则化有助于保持优化的稳定性,并避免不被足够数据支持的姿态变化。
重要性:同时,步长 α_s 有助于平衡权重,并指定优化的进展程度,直接缩放变换向量 θ̂。相同的一阶和二阶导数也可以使用逆方差加权和二阶导数的常数曲率 α_1_s 推导出。附录 D 中给出了这种解释的详细推导。
最后,除了导数的选择,平滑步进函数的参数化以及相应的后验概率分布形状对优化有显著影响。为了研究这一效应,我们考虑了图 5 中显示的对数后验的一阶导数。对于高斯分布,线性的一阶导数引导估计所有对应线的加权均值;而对于拉普拉斯分布,二元导数则引导优化朝向加权中值。注意,这与斜率参数 s_h 和幅度参数 α_h 建模的局部和全局不确定性的解释非常吻合。如果仅存在局部不确定性,考虑轮廓距离中的误差幅度并优化均值是有利的。同时,在全局噪声的情况下,仅考虑误差的方向,并以中值为基础进行优化是合理的。
以下部分提供了已开发算法的实现细节。我们从稀疏视点模型的生成和颜色直方图的计算开始。接下来描述了跟踪过程。最后,我们解释了如何考虑已知的遮挡情况。所有提到的参数值都经过仔细选择,以最大化跟踪质量,同时不需要不合理的计算量。请注意,SRT3D 的源代码在 GitHub 上公开提供,以确保可重复性并允许完全重用。
4.1 稀疏视点模型
对于稀疏视点模型,考虑了 n_v = 2562 个不同的视图。这些视图通过将二十面体的三角形细分 4 次生成,结果是相邻视图之间的角度约为 4°。用于渲染的虚拟相机被放置在离物体中心 0.8 米的距离处。对于所有视图,计算了方向向量 M_v 和常数数量 n_c = 200 的模型点 M_X_i 和法向量 M_N_i。此外,对于每个点和视图,我们还计算了所谓的连续距离,这些距离描述了从 2D 模型点 x_i 沿着由法向量 n_i 定义的直线到前景和背景之间未被打断的距离。计算完毕后,这些值在渲染图像中被转换并以米为单位存储。之后,跟踪器使用这些值来禁用连续距离低于某个阈值的单个对应线,前提是假设在对应线中仅存在单次前景和背景的过渡。
4.2 颜色直方图
为了估计颜色概率分布 p(y∣mf)p(y \mid m_f)p(y∣mf) 和 p(y∣mb)p(y \mid m_b)p(y∣mb),使用了颜色直方图。RGB 颜色空间的每个维度都被离散化为 32 个等间距的箱子,总共得到 32768 个值。颜色直方图的计算可以从当前姿态估计开始,也可以从初始姿态开始,例如由 3D 目标检测管线提供。基于这个姿态,将 3D 模型点和法向量投影到图像中,使用公式 (26) 和 (27)。在法向量的正负方向上偏移一个像素后,考虑前 18 个像素。沿这条线的像素颜色被分配到前景或背景直方图,具体取决于它们位于投影模型点的哪一侧。请注意,如果前景和背景之间的过渡发生在较短的距离内,则考虑的像素少于 18 个。此外,在轮廓位置不确定的情况下,使用大于一个像素的偏移是合理的。
由于运动或动态光照,前景和背景的颜色统计在跟踪过程中不断变化。为了考虑这些变化,同时考虑之前的观察,我们使用在线适应。基于 Bibby 和 Reid(2008),我们如下更新直方图:
pt(y∣mi)=αip(y∣mi)+(1−αi)pt−1(y∣mi)p_t(y \mid m_i) = \alpha_i p(y \mid m_i) + (1 - \alpha_i) p_{t-1}(y \mid m_i)pt(y∣mi)=αip(y∣mi)+(1−αi)pt−1(y∣mi)
其中 i∈{f,b}i \in \{f, b\}i∈{f,b},αf=0.2\alpha_f = 0.2αf=0.2 和 αb=0.2\alpha_b = 0.2αb=0.2 是前景和背景的学习率。注意 p(y∣mi)p(y \mid m_i)p(y∣mi) 是观测到的直方图,而 pt(y∣mi)p_t(y \mid m_i)pt(y∣mi) 和 pt−1(y∣mi)p_{t-1}(y \mid m_i)pt−1(y∣mi) 分别是当前和前一个时间步的适应直方图。初始化时,我们直接使用观测到的直方图,而不是将其与之前的值混合。
4.3 跟踪过程
开始跟踪需要一个初始姿态,这通常由 3D 目标检测管线或数据集注释提供。基于这个姿态和相应的相机图像,初始化前景和背景的颜色直方图。初始化后,对于每个从相机传输的新图像,执行一个跟踪步骤。单个跟踪步骤中执行的所有计算的概述见算法 1。从新图像和先前的姿态估计 CTMC T MCTM 开始,我们首先检索稀疏视点模型的最接近视图。然后,将模型点 M_X_i 和法向量 M_N_i 投影到图像平面上以定义对应线。之后,使用来自稀疏视点模型的连续距离来拒绝距离低于 6 个段的对应线。对于剩余的对应线,后验概率分布 p(dsi∣ωsi,lsi)p(d_{si} \mid \omega_{si}, l_{si})p(dsi∣ωsi,lsi) 在 12 个离散值 dsi∈{−5.5,−4.5,…,5.5}d_{si} \in \{-5.5, -4.5, \ldots, 5.5\}dsi∈{−5.5,−4.5,…,5.5} 上进行评估。在计算中,我们使用 8 个预计算的平滑步进函数值 hfh_fhf 和 hbh_bhb,对应于 x∈{−3.5,−2.5,…,3.5}x \in \{-3.5, -2.5, \ldots, 3.5\}x∈{−3.5,−2.5,…,3.5}。此外,选择一个最小偏移 Δri\Delta r_iΔri,使得线坐标 rir_iri 指向像素中心,而缩放后的线坐标 rsir_{si}rsi 确保 x=rsi−dsix = r_{si} - d_{si}x=rsi−dsi 的匹配值。在我们的案例中,这意味着 rsi∈Zr_{si} \in \mathbb{Z}rsi∈Z。计算出分布后,执行两次正则化牛顿优化迭代。第一次迭代使用全局优化,以快速收敛到粗略的姿态估计。第二次迭代使用局部优化来细化此姿态,步长为 αs=1.3\alpha_s = 1.3αs=1.3。作为正则化参数,我们使用 λr=5000\lambda_r = 5000λr=5000 和 λt=500000\lambda_t = 500000λt=500000。
为了找到最终的姿态,重复此过程七次。我们在第一次迭代中选择较大的尺度 s=5s = 5s=5,在第二次和第三次迭代中选择 s=2s = 2s=2。在所有其他迭代中,采用尺度 s=1s = 1s=1。这一选择的效果是,开始时考虑了低分辨率的大面积,而在后续迭代中使用了高分辨率的短线。不同尺度下的对应线示例见图 1。请注意,尺度值通常取决于需要被跟踪器覆盖的区域以及帧到帧姿态差异的大小。最后,估计当前图像的姿态后,使用预测值更新颜色直方图。之后,跟踪器等待新图像的到来。
4.4 遮挡建模
虽然算法对未知遮挡相当稳健,但通过显式考虑已知遮挡,可以进一步提高跟踪结果。为此,给每个已知对象分配一个 ID。然后,将所有对象渲染到深度图像和包含对象 ID 值的图像中。使用自定义着色器,我们将两幅图像的信息结合起来,计算出一个遮挡掩码,该掩码在每个像素中以二进制方式编码哪些对象是可见的。为了考虑对象姿态的不确定性,着色器评估一个半径为 4 像素的区域,并将深度值最小的对象 ID 分配给中心。如果仅存在背景,则所有对象 ID 被认为是可见的。为了提高效率,使用了一个相机分辨率的四分之一大小的图像。最后,为了拒绝被遮挡的对应线,算法简单地检查对应线中心的遮挡掩码值。