问题
给定一个点云描述(P={(pi,ni)}i∈I,其中pi是点的位置,ni是点的法向,I是点的集合)的曲面(surfel cloud),求曲面特征。
基本思路
先对曲面做不同尺度的smooth(类似于图像处理中的高斯金字塔),然后仿照二维图像中求SIFT特征的方法计算特征。
点云Smooth
假设给定点云P={(pi,ni)}i∈I以及任意一个三维空间的点x,计算x在P上的投影。
因为是三维空间中任意一点,因此我们往往要将它表示成已知的各点的加权平均。如果按照高斯函数的范围取权重,则x相对于某一点pi的权重为
θih(x):=∑j∈IAje−d2(x,pj)/h2Aie−d2(x,pi)/h2
其中,d(x,pi)表示两点之间的距离,h表示高斯函数的方差(半径),Ai表示各点的面积——如果我们知道各点的连接方式,那么面积就是一环三角形面的面积的三分之一;如果我们只知道点云,不知道连接方式,则Ai统一等于1。
使用权重加权,我们可以计算得到x的法向:
n[P,h](x):=i∈I∑θih(x)ni
因此,如果我们想计算x在曲面上的投影,则可以求以下式子的最小值:
E[P,h](x):=i∈I∑θih(x)⟨n[P,h](x),x−pi⟩2
显然,只有x在曲面上时,首先x−pi的值较小,其次它们往往和法向n[P,h](x)垂直,因此能让误差取到最小值。曲线内外的点,通过迭代求解,就可以投影到曲面上。
对于点云的Smooth,我们将每个点自身带入到上面的计算中,每个点的位置都受到周围点位置的影响,相当于进行了smooth。我们取不同的h半径,即hj=h0Fj,其中F是一个可调常数(文中设置为21/4),就得到了不同程度的smooth,与图像处理中的高斯金字塔十分类似。
特征计算
我们希望特征是不变量在邻域中的最大值,因此首先定义邻域。对于空间上的一个点q,我们认为以下集合中的点在q的邻域内:b(q,R):={k∈I:d(pk,q)<R},即一个半径为R的球体。
然后我们定义不变量。有了不同尺度的高斯滤波后(即Pj:={(pihj,nihj)}i∈I),我们对他们相邻两层计算
dj(i):=⟨nij,pij−pij−1⟩
然后仿照SIFT,使用dj(i)来定义特征:
dj(i)>dj−1(i′) for all i′∈b(pi,Chj−1)dj(i)>dj(i′) for all i′∈b(pi,Chj)\{i}dj(i)>dj+1(i′) for all i′∈b(pi,Chj+1)
特征点的dj(i)需比同一层、上一层、下一层的邻域内的其他点的dj(i)都要大。类似地,我们也可以按照最小值给出一个特征的定义。
稳定性分析
稳定性分析主要考虑三个因素:均匀重采样、添加噪声、使用QSlim模型简化(可参考我的另一篇博客对QSlim的介绍)对特征点的影响。
首先我们需要定义如何判定两个(稍有不同的)模型上特征点是否一致。文中的判定方法是,对于x点,尺度为h的特征f,如果在另一个模型的相同尺度或邻近尺度h′(对于本文中,h′∈[F−1h,Fh]),存在一个特征f′,它的坐标x′与x之间的距离小于2h,我们就判定f与f′之间存在对应关系。
文中测试了Venus、Buddha和Bunny三个模型,对均匀重采样、添加噪声,得到了Figure1。

对模型简化,得到了Figure4。同时,在模型简化中,引入了面积权重,发现带面积权重的比不带面积权重的要好。

我个人感觉,这里的稳定性看起来一般,只有约一半的点找到了对应点。不知道其他特征算法的稳定性和它相比如何。
表面局部特征描述子
上面的方法只是找到了特征点的位置,但没有特征点的描述子。如果我们把那些坐标、法向、尺度之类的视为描述子,那么它们就不具有旋转不变性了。因此,要仿造SIFT就要仿到底,我们要加上邻域的信息,形成直方统计,然后再加一个傅里叶变换。
具体来说,我们在特征点和法向垂直的方向,取一个平面,对平面上以特征点为中心,按圆盘采样,如下图所示:

如果我们在平面上定义uv坐标系,则每个点ξkl的位置为
ξkl:=x+M2lh(cos(N2πk)u+sin(N2πk)v)
其中l=1,⋯,M,为在半径上采样,k=1,⋯,N,为在角度上采样。对于这样一个点ξkl,我们也可以加权地求它的法向vkl,即
vkl=n[P,h](ξkl)
类似上面对于不变量的定义,这里也对每个点求不变量skl:
skl=∥ξkl−x∥⟨ξkl−x,vkl⟩
对这些skl做直方统计就好了。但另一种更好的方法是,通过傅里叶变换实现空间压缩和特征保留的方法,在l方向做离散余弦变换(DCT),在k方向做离散傅里叶变换(DFT),然后取结果的左上角M′×N′个值就好了。因此,它的特征描述子为:
σP(x,n,h):=(s~kl)k=1,…N′,l=1,…M′
稳定性分析
由于我们在点的切平面上对圆盘进行采样,这些采样点都没有落在模型表面。实验发现,落在表面反而由于表面的噪声,导致结果更差。Figure6中,左图使用投影落在模型表面,右图直接使用切平面,比较两者和不加噪声的模型之间的误差。发现左图误差更大。

特征过滤
另外,如果在一个平面上加噪声,平面会变得起伏不平,从而出现许多小的特征。但这些特征在描述子的大小(magnitude)上往往很小,因此可以人为设定阈值将其去除。
应用:表面匹配
过程略。放一张结果图吧(Figure10)。

参考文献
Li, Xinju, and Igor Guskov. “Multiscale Features for Approximate Alignment of Point-based Surfaces.” Symposium on geometry processing. Vol. 255. 2005.