問題
給定一個點雲描述(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.