如何對點云進行最遠點采樣(python代碼)
初始化:選擇一個初始點,通常是從點云中隨機選擇的。
迭代采樣:
計算所有未選擇的點到已選擇點集合的最短距離。
從未選擇的點中選擇距離最遠的點,并將其添加到選擇的點集合中。
重復此過程,直到選擇了所需數(shù)量的點。
結(jié)束:當選擇了所需數(shù)量的點或達到其他停止條件時,算法結(jié)束。
以下為點云示例,因為點云在計算中一般使用批處理()batching),所以不妨假設(shè)兩片點云的分別被分成了三批次,其中每批次有12個點,每個點有X\Y\Z三維坐標
故xyz_3d的張量維度是[3, 12, 3],采樣點數(shù)量為4
但是我們上面定義的函數(shù)得出的四個最遠點,我們只擁有他的在xyz中的索引,我們?nèi)绾潍@得他的坐標值呢.
