• 沒有找到結果。

第三章 研究方法

3.2 比對方法建構

Matching 將特徵子進行配對,找出最小的距離總和,也可藉由 voxel 權重計算出 邊權重,找到最小的距離權重總和,進行配對,得到相似的模型,如圖 3.11 所 式可以得到一個 eigenMatrix,因此藉由這個 matrix 就可以獲得 eigenVector 和 eigenValue,這邊根據 eigenValue 選擇投影量最大的值(major value)和投影量第二 大的值(middle value)當作篩選依據,以兩兩模型間的 major value 絕對值差異和 middle value 絕對值差異相加的值,做為差異度 diff,如式( 3.5)所示。

此Threshold 設定為 0.3,其值經由實驗取得。diff(A,B)小於 0.3 會保留繼續 做後續的動作,反之,則忽略。舉例而言,假設目標模型A 的 eigenvalue 為(0.8, 0.5, 0.1),模型 B 的 eigenvalue 為(0.3, 0.4, 0.1),| 0.8 - 0.3 | + | 0.5 – 0.4 | = 0.5 + 0.1

= 0.6 > Threshold,則模型 B 就會被過濾掉。以此篩選方式,先快速淘汰最不相 似的模型,再進行後續比對等動作。

3.2.2 比對方法

本研究採用的比對方法為相似度計算搭配weighted bipartite matching (WBM) 和nearest neighbor distance ratio (NNDR)。相似度計算是基於特徵子之間的距離 判斷,如式( 3.6),我們經由實驗得知𝜎設為 27 時,效果較好。WBM 意味一個點 最多只能與一個點配成一對,雙雙對對之間的邊,整體成為一個匹配;NNDR 不 直接使用目標點和最近鄰近點的距離,與 threshold 相比以決定是否相似,而是 以最近點與第二鄰近點的距離比值來判定,其比值小於 threshold 才算是成功配 對,如式( 3.7),在此我們設定 Threshold 值為 0.5。

由於3DLTD 特徵子是使用三元特徵編碼,可以藉由 Hamming distance 快速 計算模型之間的相似度差異,接著使用 WBM 或是以 NNDR 去找出最相似的組 合。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

36

3.2.3 Weighted bipartite matching

bipartite matching 做法為在所有點都配對下,最小距離總和的匹配。經由前 面步驟,得知每個voxel 的權重和 3DLTD 特徵子,透過 voxel 權重和式( 3.8)計 算出配對時所採用的邊權重,最後計算出最小距離權重匹配。舉例而言,假設每 個模型有兩個 cubes,模型 A 特徵子為{{0,1,2},{1,1,1}},模型 B 特徵子為 {{1,2,2},{1,0,1}},計算每個 cube 的距離 |0-1|+|1-2|+|2-2|=2,以此類推,得到模 型A 第一個 cube 所對應的距離 2、3,和第二個 cube 對應到的距離 2、1,再從 中取出最小的距離組合 2+1=3,因此模型 A 與模型 B 的最小距離值為 3,如圖 3.12 所示。

圖 3.12 Bipartite matching 示意圖

接著,討論 weighted bipartite matching 狀況,假設模型 A 權重為,模型 A {3,1,2},{2,3,2},模型 B 為{2,2,2},{1,1,1},邊權重為(兩個模型權重的 1/2)×原本 的cubes 間的距離,以例子說明,{(3+2)/2,(1+2)/2,(2+2)/2}={2.5, 1.5, 2},再把計 算的結果乘上原本 cubes 間的距離,|1×2.5|+|1×1.5|+|0×2|=4,以此類推,得到模 型A 第一個 cube 所對應的距離 4、4.5,和第二個 cube 對應到的距離 4.5、2,再 從中取出最小的距離權重組合4+2=6,因此模型 A 與模型 B 的最小距離值為 6,

如圖 3.13 所示。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

37

𝑊𝑖𝑗 = 1

2× (𝑣𝑖 + 𝑣𝑗)

( 3.8)

圖 3.13 Weighted bipartite matching 示意圖

另外,加入權重後,兩兩模型間的距離通常都會變大。透過圖 3.12 和圖 3.13 得知,原模型距離為 3,考慮權重後,距離變為 6。因此,轉換相似度 時,需要採用相對應的標準差值,其值為模型兩兩距離統計之樣本標準差的 1/10,如式( 3.9)所示。以例子說明,假設原模型標準差為100,取得的值為 10,

權重模型的標準差為200,取得的值為 20,而這兩個取得的值則是距離 3 和 6 的 σ 值。

σ =模型兩兩距離統計之標準差

10 ( 3.9)

的方法,然而bounding box 切太小會使得 voxel 點數太少,所以我們將 bounding box 分割成 3×3×3 的 cubes 以及 voxels,總共有 729 個 voxels 進行測試。

本研究採用的資料樣本為Qmodel Creator 所製作的積木風格模型,目前使用

相關文件