關於網格比較工具metro使用的幾點注意事項


Metro作為一個非常好用的簡化網格比較工具,在科研界幾乎算是標准了。不過很多比較牛的作者會使用自己設計的一些比較算法,但是如果metro夠用了也就不必那么麻煩了,畢竟Metro使用的方法還算是很成熟了。不得不說,VCG這些人太惜字如金了,一些很基本的東西說的相當不夠詳細,只好自己努力搜尋了一些資料。

有個地址需要fanqiang才能訪問

http://meshlabstuff.blogspot.com/2010/01/measuring-difference-between-two-meshes.html

http://vcg.isti.cnr.it/activities/surfacegrevis/simplification/metro.html

這里有最新的下載鏈接,sourceforge的,當然還有源碼:

http://sourceforge.net/projects/vcg/files/metro/

 

當然,論文才是了解這個工具最好的窗口,只是論文相對有些老。

 

但是作為一個純科研的項目,其和那些成熟的工程類的工具比起來,還是有很多不方便的地方,首當其沖就是使用說明書不完善,也沒有相應的論壇或者問答機制回答初學者的問題,網上相關的資料也少(就他們自己寫的那幾篇)。

OK,下面來講下我自己遇到的問題。

我用的是最新的metro4.07。以下是一個metro輸出的樣例:

------------------------------- Metro V.4.07 http://vcg.isti.cnr.it release date: May 11 2007 ------------------------------- read mesh `XXX.ply' Removed 0 duplicate and 0 unreferenced vertices from mesh XXX.ply read mesh `YYY.ply' Removed 5 duplicate and 3841 unreferenced vertices from mesh YYY.ply Mesh info: M1: 'XXX.ply' vertices 2400610 faces 4786342 area 249717.8967 bbox (25.1502 35.4685 0.0000)-(166.6869 199.6000 190.0000) bbox diagonal 288.221771 M2: 'YYY.ply' vertices 1078709 faces 2153443 area 249189.0805 bbox (25.4688 35.4680 -0.1387)-(166.6808 199.6717 190.0403) bbox diagonal 288.221710 Forward distance (M1 -> M2): target # samples : 47863420 target # samples/area : 191.669963 Vertex sampling Edge sampling Similar Triangles face sampling distances: max : 13.545480 (0.043946 wrt bounding box diagonal) mean : 0.007310 RMS : 0.077103 # vertex samples 2400610 # edge samples 36665001 # area samples 6397199 # total samples 45462810 # samples per area unit: 182.056675 Backward distance (M2 -> M1): target # samples : 47863420 target # samples/area : 192.076715 Vertex sampling Edge sampling Similar Triangles face sampling distances: max : 0.199435 (0.000647 wrt bounding box diagonal) mean : 0.004265 RMS : 0.006333 # vertex samples 1078709 # edge samples 24402286 # area samples 21303713 # total samples 46784708 # samples per area unit: 187.747825 Hausdorff distance: 13.545480 (0.043946 wrt bounding box diagonal) Computation time : 186088 ms # samples/second : 495719.840175 

關於三個度量結果,max是最大距離,mean是平均距離,RMS是對距離值(有正有負)求平方之后所得的平均值再開方(可見Wiki百科)。

結果里面,

   max  : 13.545480 (0.043946  wrt bounding box diagonal)

中的wrt讓人很費解,看了上面給出的第二個鏈接,才知道原來是with respect to的縮寫,汗!

另外,一開始分析結果時,發現后面給出的相對於包圍盒對角線的比值0.043946有些詭異,如果用13.545480除以前面的bbox diagonal值根本不是這個結果!糾結了老半天,終於從論文里得到了答案,論文里metro的結果展示如下:

為何每個誤差值后面有兩個百分號?用直覺認為正確的方法算一下,比如

3.3314/345.234=0.009649

正好是前一個百分比值,那后一個是啥?

等等,Bbox Diag下面是不是有個Diameter?應該是包圍球的直徑,用原來的絕對誤差值3.3314除以它,正好等於0.010068。

好了,看來為何相對於包圍盒對角線的誤差不是我們想的那樣的原因找到了,就是metro4.07在得出相對於包圍盒對角線的誤差時,用的卻是包圍盒直徑。這肯定算個比較嚴重的bug了吧,唉,害得我糾結了不止一個晚上。

http://sourceforge.net/projects/vcg/files/metro/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM