A global registration method based on the vector field representation(论文笔记)

2 向量场和表面分类

       在2002年,Tubic等人提出了一种新的三维数据表示的体积框架,称为向量场。该框架能够使用一种类型的数据表示来实现交互式3D建模的所有步骤(包括配准、集成、建模和可视化),同时保持所有步骤的点数和视图数的线性计算复杂度。本节介绍了关于点集数据的向量场表示的术语,然后扩展框架,引入嵌入进向量场表示中的近似表面分类方法。

       向量场是一个体积表示,其中每个体素编码从体素中心指向表面上要建模的最近点的向量。因此,通过向量场表示可以直接、即时地获得视图配准的相关信息,如最近点、到曲面的法向量和到曲面的切平面。假设一个点云数据是可用的,向量场是通过更新位于数据点p_{i}附近的每个体素的协方差矩阵C来构建的,该体素位于一个大小为\epsilon的的包络中:

C = \frac { 1 } { N } \sum _ { i = 1 } ^ { N } ( p _ { i } - \tilde { p } ) ( p _ { i } - \tilde { p } ) ^ { T } = \frac { 1 } { N } \sum _ { i = 1 } ^ { N } p _ { i } p _ { i } ^ { T } - p _ { i } p _ { i } ^ { T }  (1)

        其中\tilde { p } = \frac { 1 } { N } \sum _ { i = 1 } ^ { N } p _ { i },N是已经参与体素更新的点的个数。

      协方差矩阵最小特征值对应的特征向量表示最近点到切平面的法向量N,则体素v处向量场F(v)的方向计算为

F ( v ) = N \langle N , \overline { p } - v \rangle  (2)

       其中\left \langle. \right \rangle表示标量积。

图1 向量场重建

        图1显示了向量场表示的2D视图,包络内(以虚线为界)的所有体素都使用表面上的点集信息(黑色)进行更新。为了进一步扩展,我们在向量场中定义了两种类型的体素:活动体素和表面体素。活动体素是包含指向表面上最近点的向量场信息的体素(图1中包络内的体素)。表面体素是包含表面上点的活动体素。表面体素可以通过查找表面体素编码的最近点是否位于该体素内来轻松检验(在图1的示例中,表面体素用红色表示)。

图2 法线方向和切线方向的曲率的例子

       利用向量场框架,我们提出了一种表面分类方法。这里的主要思想是基于Besl在1986年引入的高斯曲率和平均曲率的符号,将表面体素划分为8种基本表面类型。然后我们假设表面体素内表面上的所有区域(或点)与该体素中的表面类型相同。直观地看,如果体素足够小,这个假设对于光滑表面是可以接受的。因此,通过向每个表面体素添加名为“表面类型”的附加信息来增强向量场表示。为此,在一个表面体素上,我们通过编码的向量场值检测表面上最近的点,然后使用邻近表面体素的其他最近的点来估计该点的高斯曲率和平均曲率。这些曲率的符号决定了这一点周围表面的局部类型。这些信息随后存储在这个表面体素中。我们采用Chen和Schmitt描述的方法,从法向量及其邻近点估算一点的曲率。在我们的示例中,最近点处的法向量由向量场隐式编码(如图1所示)。在计算曲率之前,首先对所有法向量的方向进行归一化,以确保与相机方向的点积为负。图3显示了检测表面体素上给定最近点的邻近最近点的示例。现在Chen和Schmitt的方法被如下利用。

图3 最近点p及其邻域,由红色的表面体素组成

       该方法的主要思想是为p点的局部切平面上的一组单位长度的切向量选择一个合适的坐标系( \widehat { e } _ { 1 } , \widehat { e } _ { 2 } )。图2显示了围绕一点的切平面,法线曲率k_{n},主曲率k_{1},k_{2}和切线向量t。法线曲率k_{n}是曲线投影到包含切线向量t和表面n的法线的平面上的曲率。在一点上,法线曲率的最大值和最小值是主曲率k_{1},k_{2}。假设点pm个邻点。用该点及其邻点的法向量估计p点局部切平面上的法线曲率k_{n}(t_{i})和切线方向t_{i},如下:

k_{n}(t_{i})=-\frac{\left \langle p_{i}-p,N_{i}-N \right \rangle}{\left \langle p_{i}-p,p_{i}-p \right \rangle}  (3)

t _ { i } = \frac { ( p _ { i } - p ) - \left \langle p _ { i } - p , N \right \rangle N } { | | ( p _ { i } - p ) - \left \langle p _ { i } - p , N \right \rangle N | } ( i = 1 , 2 , ...,m )  (4)

       其中\left \| . \right \|是向量的欧式范数,N_{i}N是在p_{i}p处的法向量。设k_{n}(t_{id})是切线方向t_{id}对应的法线曲率最大值。我们可以选择p点处切平面上的特殊坐标系如下:

\widehat { e } _ { 1 } = t _ { i d } , \widehat { e } _ { 2 } = \frac { \widehat { e } _ { 1 } \times N } { | | \widehat { e } _ { 1 } \times N | | }  (5)

       由此,根据Chen和Schmitt的方法,可以得到m个方程:

k _ { n } ( t _ { i } ) = a \cos ^ { 2 } ( \theta _ { i } ) + b \cos ( \theta _ { i } ) \sin ( \theta _ { i } ) + c \sin ^ { 2 } ( \theta _ { i } )  (6)

     其中\theta _ { i }t_{i}\hat{e}_{1}(i=1,2,...,m)之间的夹角。采用最小二乘法求解系数a,b,c的方程组,最后计算高斯曲率(K)和均值曲率(H)

K = a c - b ^ { 2 } / 4 \ , H = ( a + c ) / 2  (7)

       这种估计曲率的方法通常用于曲面的网格表示。对于点集数据,查找诸如邻近点和法向量之类的信息在计算代价上是很大的。在向量场表示中,所有这些信息都是隐式可用的,并且直接编码在每个体素中。

      因此,公式(3)(4)和(7)中的计算仍然很简单,因为它们被用在向量场中编码的最近点。计算高斯K和均值曲率H后保留的信息为表1中定义的该点处的曲面类型。

表1 由高斯和均值曲率定义的曲面类型


3 配准

       本节详细介绍了利用曲面类型信息增强的向量场从粗到精的配准过程,并强调了算法每一步所使用的对应关系和误差度量。该算法的示意图如图4所示。利用每个视图中的数据分别构建增强向量场。向量场表示包括第2节中介绍的曲面类型。该信息用于估计每对视图之间的粗略方向。最后,将所有粗略注册的视图提交到姿态优化过程中进行最终配准。

图4 从粗到精的配准说明

       在粗配准估计过程中,从每个视图中的数据构建向量场后,选择一个视图中的一种表面类型来检测其他视图中表面上的相同区域。所选的表面类型必须包含少量的表面体素(覆盖表面上的小区域或特殊区域),并且该数字在两个视图中必须相似(覆盖表面上的相同区域)。选择这些点的一个方法是构建视图中每种类型体素数量的直方图,并选择数量介于最小计数和最大计数之间的体素。为了估计两个视图之间的粗变换,必须找到这些区域上的对应点。我们使用了Chen等人提出的RANSAC-DARCES方法,RANSAC-DARCES是RANSAC(随机样本一致性)和DARCES(数据对齐刚性约束穷尽搜索)过程的结合。主要思想是利用几何约束来搜索相应的点。例如,RANSAC从一个视图中选择主点S_{p},次点S_{s}和辅助点S_{a}三个控制点。另一个视图中的对应点M_{p},M_{s},M_{a}必须满足与这三个控制点的几何形状相匹配的约束。这意味着距离\overline { M _ { p } M _ { s } }必须等于\overline { S _ { p } S _ { s } },并且点M_{a}必须位于以M_{q}为圆心,半径d _ { q s } = \overline { S _ { a } S _ { q } }的圆C _ { a }上,如图5所示。如上所述,RANSAC只选择少量的体素来估计粗配准。这种策略避免了需要实现深度搜索方法,如Chen所提出的方法。这有助于减少匹配过程中满足几何约束的计算量。对于RANSAC-DARCES选择的3个点对( S _ { p } , M _ { p } ) , ( S _ { s } , M _ { s } )( S _ { a } , M _ { a } )中的每一个,估计一个刚性变换。通过首先使用从第一个视图中所有表面体素中提取的所有最近的点(称为参考点)来评估刚性变换的有效性,然后使用该刚性变换将参考点带到第二个视图中的新位置。在第二个视图中,找到了转换后的参考点与表面成功对齐的次数。Chen的论文介绍了这一产生标准。在我们的例子中,当一个转换的参考点落在另一个视图的表面体素中时,会检测道一个事件。该产生准则相当于测量点到小于体素大小的表面的距离的误差函数,但是不需要任何复杂的计算。这是我们基于向量场的方法的一个优点。产生出现次数最多的变换被认为是粗配准过程的最佳变换。

图5 RANSAC-DARCES方法给出的三个对应点的几何约束

       在姿态细化过程中,从上述粗配准过程中获得的所有预配准视图都将进行增量配准。利用向量场的位姿细化方法是Tubic等人提出的,基本上是ICP算法的一种变体。它包括在每次估计视图之间的转换后迭代更新向量场表示。在ICP中,查找对应点的步骤近似为查找最近的点。向量场的优点就是它隐式地提供了最近的点。图6是用向量场搜索最近对应点的示例。给定一个数据点p,只需要定位该点所在的体素,然后使用存储在体素向量场中的值来找到最近点的近似值。在该图中,我们不是寻找数据点p的最近点c_{p},而是得到切面上最近点c_{t}的近似值\Pi _{t}作为p的最近点。如果点p属于活动体素(活动体素是已经计算出向量场的体素),则p称为控制点,c_{t}为估计变换的匹配点。因此,如果粗配准的结果不准确,并且用于构建向量场的体素大小很小,则不可能在细配准过程中找到足够的匹配点来估计变换。为了处理粗刚体变换的误差,从一个粗分辨率(即大体素)的向量场开始,逐步减小体素大小,直到接近数据的分辨率,实现姿态的细化。假设我们有M组点,我们的姿态精细化算法可以总结如下:

       算法中的变换是从控制点和匹配点中估计出来的,这些点之间的距离计算出的误差函数最小,如下所示

\epsilon = \sum _ { i = 1 } ^ { N } | | c _ { t i } - \widehat { T } p _ { i } | |  (8)

       其中\left \| . \right \|是欧式距离,N是图6中pc_{t}是对应点的个数,\hat{T}是估计变换。向量场表示中所有可用的信息使得误差函数的计算变得简单。该算法的收敛性取决于是否达到预先设定的最大迭代次数,或者几次连续迭代的误差测量是否保持不变。

图6 体素中最近的点的确定

强噪声的理想时频表示方法主要是为了在频域和时域上准确地表示出噪声信号。在处理强噪声信号时,我们希望减小噪声对信号的影响,从而更好地分析和提取信号的特征。 首先,为了处理强噪声信号,可以考虑使用适当的滤波方法。例如,我们可以使用带通滤波器来去除噪声信号中的不必要的低频和高频成分,从而保留信号的主要特征。此外,还可以采用自适应滤波器来根据噪声信号的特性自动调整滤波参数,以更好地去除噪声。 其次,为了获得理想的时频表示,可以考虑使用一些先进的时频分析方法,如短时傅里叶变换(STFT)、连续小波变换(CWT)或多尺度分析方法(如小波包变换)。这些方法可以将信号在时域和频域上进行局部化处理,从而更好地反映信号的瞬时特性和频谱特性。 另外,为了进一步减小噪声对时频表示的影响,可以考虑使用一些去噪技术。例如,小波阈值去噪是一种常用的方法,它可以根据信号的小波系数大小来判断是否为噪声,从而去除噪声成分。此外,还可以使用基于机器学习的方法来训练和应用噪声模型,从而更准确地估计和去除噪声。 综上所述,针对强噪声的理想时频表示方法可以包括滤波、时频分析和去噪等步骤。通过有效地组合这些方法,我们可以更准确地分析和提取信号的特征,从而更好地理解和利用强噪声信号。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值