PCL:最小特征值与特征向量为什么可以表示法向量??
?求解點云法向:(基于局部平面擬合點云的法向量)
點云法向量求解需要其鄰域內(nèi)點支持,而鄰域的大小一般由鄰域半徑值或臨近點個數(shù)來表示。現(xiàn)實中需要根據(jù)點分辨率、物體細節(jié)精細程度和用途等因素來取值。過大的鄰域會抹平三維結(jié)構(gòu)細節(jié)使得法向量過于粗糙,而過小的鄰域由于包含了太少的點受噪聲干擾程度較強。
特征值物理意義:
事實上,我們求方陣特征值和特征向量是在處理一個半成品,對于一個非方陣的矩陣A,它往往代表一個多維空間里的多個數(shù)據(jù)。我們求這個矩陣A的協(xié)方差陣Cov(A,A’),即得到一個方陣B,而我們平時求的特征值,就是求B的特征值,那么求出的特征值是代表什么呢?它就是代表矩陣A的那些數(shù)據(jù),在那個多維空間中,各個方向上分散的一個度量(即理解為它們在各個方向上的特征是否明顯,特征值越大,則越分散,也就是特征越明顯),而對應的特征向量,不言而喻,也就是它們對應的各個方向。
目標:選擇最小特征值對應的特征向量,并進行單位化,則該向量為點云法向量。
求解點云法向量的形式與PCA降維求解協(xié)方差矩陣(是方陣,非方陣沒有特征值和特征向量)的特征值和特征向量相同,于是我們可以借用PCA原理進行求解點云的法向量。需要注意是:基于PCA降維求解協(xié)方差矩陣的特征值要求越大越好,其特征向量就越能描述數(shù)據(jù)的特征,小就越不能區(qū)分樣本之間的不同,也就是表征了數(shù)據(jù)中的共性。在我們的優(yōu)化目標函數(shù)中,就是要為所有的鄰域點尋找一個平面,使得所有的鄰域點都在這個平面上,或者說所有點與該平面的距離最小,所以要求我們選擇協(xié)方差矩陣的最小特征值和對應特征向量。(表明點之間的差異就小)
? ? ? ?在求出法向量后還需要判斷法向量的方向,一般來說法向量方向的矯正沒有嚴格的數(shù)學公式可以使用。比較簡單的方法是通過視點方向進行判斷。比如我的視點方向是(0,0,1),那么求出來的法向量跟(0,0,1)進行點乘,如果小于0,就將法向量取反。更復雜的方法是使用最小生成樹對法向量進行方向矯正。
來自:https://blog.csdn.net/o180o/article/details/97647657
參考:http://www.pclcn.org/study/shownews.php?lang=cn&id=105
點云法線計算
點云采樣于物體表面,物體表面的法線即為點云法線,故可先對物體表面的幾何進行估計,即可計算出點云法線。一般可用低階多項式曲面進行局部擬合,如左圖所示。如果點云均勻分布,希望計算速度快,也可以用平面進行局部擬合,平面法線即為點云法線,如右圖所示。
平面的局部擬合,可以采用PCA(主成分分析)的方法。因為曲面局部是平坦的,法線所在的方向是主成分最低的方向,也就是PCA里面最小特征值對應的特征方向。具體操作如下:1)給每個點計算K鄰近鄰域(也可以用半徑鄰域);2)計算PCA的協(xié)方差矩陣 Cov = ∑ (Ni – C) X (Ni – C),其中Ni為鄰域點,C為中心點。這個協(xié)方差矩陣的最小特征值對應的特征向量即為這個點的法線方向。
https://blog.csdn.net/weixin_45748803/article/details/102645605
?
總結(jié)
以上是生活随笔為你收集整理的PCL:最小特征值与特征向量为什么可以表示法向量??的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QT:(4)解决在VS15下配置QT后没
- 下一篇: 机器学习中的数学基础:(1.1)矩阵特征