3D 模型的主成分分析(3D Model PCA, CPCA, NPCA)

來源:互聯網
上載者:User

PCA(Principal Component Analysis,主成分分析)是模型處理中常用的一種方法,因為它能夠有效地提取出模型的主要成分和結構,一定程度上去除噪音和幹擾,因此成為了對3D模型施加其它後續操作的基本變換。由於模型的3D自由度,因而在對模型施加PCA操作時需要滿足以下幾個基本要求:平移不變性,旋轉不變性,縮放不變性。在進行PCA分析時,由於旋轉和縮放不變性比較容易實現,因而各種方法的差別主要就集中在旋轉不變性的實現上。

常用的兩種模型PCA方法有CPCA和NPCA,前一種方法基於網格模型的頂點統計屬性而得到旋轉矩陣,後一種方法基於網格模型的表面法向量統計屬性而得到旋轉矩陣。

假設模型的頂點集為V,法向量集為N。

CPCA:

1.     Translation Invariance

尋找模型的質心C。質心的計算就通過模型頂點集的統計,得到三個方向上頂點的均值即為質心,平移不變性的實現即是將模型的質心向座標原點處移動至重合即可實現。

此時可得到移動後的模型為:

                         

2.     Rotation Invariance

旋轉不變性的實現主要通過統計模型的頂點,進而得到旋轉矩陣,然後對模型施加矩陣旋轉即可。首先計算影響矩陣M:

                          

其中的A為模型網格的總面積,m為模型頂點的數量。然後求得M的3個特徵值及特徵向量,然後根據其特徵值的大小,依遞減的順序組合特徵向量即可得到旋轉矩陣RM,得到此旋轉矩陣後即可對模型進行旋轉,得到頂點及向量集為:

                         

3.     Scale Invariance

縮放不變性的實現是通過統計施加上述操作模型的頂點與質心之間的距離分布關係。

                         

其中

                         

Sy , Sz 與此類似。得到縮放矩後即可對模型施加縮放操作:

                         

NPCA:

NPCA的實現在平移與縮放不變性的實現上均與CPCA相同,主要差別在於旋轉矩陣的獲得有所不同。

同樣得到影響矩陣M:

                        

其中Ei為第i個三角面的法向量,Nl為整個模型的法向量均值。之後即與上述操作相同,求得RM之後即可施加旋轉操作。

對兩個模型施加PCA操作:

                             CPCA                                        NPCA

   

   

 

 

更多內容請參見:

《Efficient 3D Shape matching and retrieval using a concrete radialized spherical projection representation》

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.