三維點雲學習(3)2 K Means

2021-10-08 03:08:44 字數 1865 閱讀 5637

將輸入的n個資料點,分為n個類

1.隨機選取k個中心點

2.e-step(expectation):n個點、k個中心,求n個點到k個中心的nearest-neighbor

3.m-step(maximization):更新中心點的位置,把屬於同乙個類的資料點求乙個均值,作為這個類的中心值

4.不斷重複2、3步

k-means的本質是一直優化損失函式 j

最小化損失函式有兩種方法:e-step(expectation)、m-step(maximization)

μ  k:

類的中心

點\mu\,k:類的中心點

μk:類的中

心點υ  nk

:boo

l值變數

,判斷是

點是否屬

於該類\upsilon\,nk:bool值變數,判斷是點是否屬於該類

υnk:bo

ol值變

量,判斷

是點是否

屬於該類

expectation

使得最近的uk所對應的rnk的值為1,其他值為0,可以盡可能的降低損失函式

乙個類的中心點uk等於屬於這類的點的均值

1.初始化選擇uk時,可以選取資料點裡的點作為初始的中心點

2.執行多次k-means迭代,選擇損失函式最小的一次為最終的結果

3.在e-step(expectation),可以使用octree或者kd-tree的方法尋找最臨近點,確定rnk

4.mini-bath k-means:每次迭代裡,都選不一樣的assemble

k-medoids(k中心點演算法)加強版的k-means,在處理m-step時

k-means:選取的是所有點的平均值

k-medoids:選取的uk是所有點的差值和函式最小,所以uk必然資料集裡的乙個點

e-step相同,m-step求解v函式

本質就是求解在乙個類中,那個點相對於其他所有點的距離的和函式(損失函式)最小,這個點就認為是中心點(uk),如下圖歷遍次數為7*7=49次,解決了雜訊的問題。

k-means的缺點:

1.k是未知的,需要實驗或者猜出k

2.k-means對雜訊很敏感,所以發明k中心點解決雜訊干擾問題

3.hard-asignment rk為bool值,對於邊界點難解決,所以需要引入gmm(高斯混合模型)解決

顯示三維點雲 三維雷射點雲資料建模

三維雷射點雲資料建模 常見的建模軟體有3dmax cad 草圖大師 revit等,在規則模型建模中,我們常會用到3dmax建模,在這裡就以3dmax為例來說明其在點雲建模應用的經驗 首先我們需要將採集到的點雲資料的原始格式轉換成autodesk軟體可以利用的rcs檔案,轉換工具就是recap或者re...

三維點雲綜述

三維影象的表現形式有 深度圖 以灰度表達物體與相機的距離 幾何模型 cad軟體建立 點雲模型 最常見 最基礎 影象處理三個層次 低層次 影象強化 濾波 邊緣檢測等 中層次 連通區域標記 label 影象分割等 高層次 物體識別 場景分析 點雲處理三個層次 低層次 濾波 關鍵點 keypoints 分...

Dlib三維點雲示例

源 來自dlib的示例 在windows下需要鏈結winmm comctl32 gdi32 imm32 user32等庫。下面的 生成乙個像是三維螺旋狀的點雲。原始碼如下 include include include using namespace dlib using namespace std...