將輸入的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...