2010-10-01 24 views
2

我正在與依靠3D建模軟件的機械工程師合作。這些軟件具有「最適合」功能。它允許您使用傳感器(如3D掃描儀)採集數據,並將測量數據與CAD繪圖對齊。如何將形狀對齊在一起? (幾何最佳擬合算法)

我想知道這樣的算法是如何工作的!

用簡單的話來說,假設在2D空間內有2個幾乎相同的三角形。一個是60-60-60度三角形,另一個是60-59-61。最佳擬合算法會找到將一個三角形對齊到另一個三角形的最佳轉換。

我甚至不確定我在這裏尋找什麼。我已經對Best-Fit算法做了一些研究,但它主要是指bin裝箱,我不確定這與我的問題有何關係。任何建議將受到歡迎

+0

一個等邊三角形沒有方向......所以你的映射不是唯一 – 2010-10-01 17:58:51

+3

找到兩個三角形(或任何多邊形/多面體,你必須一到一個點對應)的最佳疊加一個明確定義問題,可以通過Kabsch算法http://en.wikipedia.org/wiki/Kabsch_algorithm來解決。一般來說,您描述的用3D樣本擬合CAD繪圖的較大問題要困難得多。 – awesomo 2010-10-01 18:06:50

回答

0

最佳擬合算法歸結爲優化算法。您可以從可能的擬合空間到實數定義一個成本函數,然後儘量減少這個函數。當你發現最低限度時,你會說你找到了最合適的。當然,這種擬合可能不是具有其他一些成本函數的最好方法(如兩個成本函數可能會導致與您的三角形示例不同的最佳擬合)。

當然,成本函數和用於最小化它的算法取決於問題。爲具有良好性能的特定問題找到一個好的算法是計算機科學博士學科的課題。這就是一些研究人員所做的。

我認爲最佳擬合最簡單的例子是線性迴歸:在一組點上擬合一條線。通常使用的成本函數是差值平方和,並且有簡單的數學方法來最小化它。

Bin包裝與一般最佳擬合算法無關。這只是一個優化問題,試圖將成本函數「使用的箱數」最小化。

+1

我認爲這裏的問題是,你不知道哪一點轉換成哪一個 – 2010-10-01 18:17:05

+0

@belisarius它比這更糟糕。 3D掃描儀生成的樣本數量要比好的CAD模型的頂點數量要大得多,因此在CAD和掃描之間找到正確的映射並非易事。 – awesomo 2010-10-01 18:20:39

+0

@belisarius:當然你不知道。所以你的成本函數是複雜的(傅立葉光譜匹配?),這使得它更難以最小化。 – ybungalobill 2010-10-01 18:21:09

2

顯然它可以通過構造TRS invariants(TRS:Translation/Rotation/Scaling)來完成。

從紙:

「摘要在本文中,一組新的矩不變量的相對於旋轉,平移,以及用於識別具有N重旋轉對稱物體的縮放適當呈現。前面描述的矩不變量不能用於這個目的,因爲對稱物體的大部分時刻都消失了。這裏提出的不變量是基於復矩的,它們的獨立性和完整性在理論上得到了證明,並且它們的性能可以通過實驗來證明。

+0

不,這是拍攝二維圖像並處理它們以解決物體註冊問題。尺度不變特徵變換(SIFT)是類似方法的一個很好的例子。海報有三維點雲,而不是二維圖像,所以這不完全適用。 – awesomo 2010-10-01 18:32:48

+0

@awesomo OP示例是2D ... – 2010-10-01 18:35:28

+0

如果OP正在處理二維數據,那麼我認爲SIFT就是要走的路。如果他有三維掃描儀的數據,那麼這不是一個明智的方法。 – awesomo 2010-10-01 18:37:43