• 沒有找到結果。

第三章 研究方法

3.1 三維特徵描述子之建構

3.1.2 描述子建構 – 3DLTD

Descriptor (3DLTD)。

圖 3.7 3DLTD 描述子建構流程

Load Model

Divide bounding box into M cubes (First

level)

Divide cube into N voxels (Second

level)

Calculate the value of the voxels Get P pairs of voxels

randomly in cube Obtain feature vector (length P)

{210…,111…} by ternary encoding

eigenMatrix,藉由這個 Matrix 去得知 eigenvector 和 eigenvalue,以 eigenvalue 來 判斷相似性質,根據 eigenvalue 選擇投影量最大的值(major value)和投影量第二 大的值(middle value)當作篩選依據;模型尺寸問題,所採用的方法為切格子的方

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

31

Cube(a, b) = {

2, 𝑣(𝑎) − 𝑣(b) > 𝜃 1, −𝜃 ≤ 𝑣(a) − 𝑣(b) ≤ 𝜃 0, 𝑣(a) − 𝑣(b) < −𝜃

( 3.1)

圖 3.8 二元編碼與三元編碼之門檻值設置示意圖,座標上方為編碼,座標下方為需要

的門檻值,上方圖示的第一張圖示為二元編碼,可以看做將θ 門檻值設為 0,當樣本對

的距離差異值大於0,則編碼為 1; 差異值小於 0,則編碼為 0;第二張圖示為三元編碼

以 3DLTD 使用三元特徵編碼方式為例:把一個模型分割成 3×3×3 的 cubes 以及3×3×3 的 voxels,也就說總共我們可以得到 729 個 voxels。因為參考的積木 風格模型樣本點雲數量普遍為1000 點雲數量上下,因此門檻值𝜃設為:

𝜃 = 𝑙𝑜𝑔10(𝑃𝑜𝑖𝑛𝑡𝑠 𝑜𝑓 𝑚𝑜𝑑𝑒𝑙) ( 3.2)

再從當前選取到的 cube 內隨機挑選 64 組樣本對,如圖 3.9。假設第一組 voxel 的值為10 和 3,第二組樣本對為 2 和 1,第二組樣本對為 5 和 13…等等,假設 模型點數為1000,即𝜃為 3,第一組樣本對 10 – 3 = 7,大於 3,編碼為 2;第二 組樣本對2 – 1 = 1,小於等於 3 且大於等於-3,編碼為 1,第三組樣本對 5 – 13 =

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

32

-8,小於-3,編碼為 0,以此類推,直到編碼到 64 個位元,即為此 voxel 的描述 子(210….)。

假設模型經過些微的改變,可以發現第二組樣本對在二元編碼的情況下,關 係會發生變化,為原本樣本對2 和 1(2 – 1 得到編碼 1),變成樣本對 2 和 4(2 – 4 得到編碼 0),使得整體編碼由(110…)變成(100…);但在三元編碼下,關係仍然 不會改變,原本2 – 1 編碼為 1,改變後 2 – 4 仍然編碼為 1,整體編碼(210…)不 會因為受到輕微改變的影響,由此可觀察到三元編碼利用緩衝區的機制,防止因 些微改變造成數值不同而導致於編碼關係改變的問題,也因為二元變成三元,使 得特徵子的描述能力增加

圖 3.9 三元特徵編碼示意圖

此外,每個model 所得到的特徵,都能夠以 L1-norm 或是 L2-norm 計算其 特徵描述子字串之間的距離,來選擇最相似的描述子,L1-norm 以式( 3.3)、L2-norm 以式( 2.1)計算:

𝐷(𝑥, 𝑦) = ∑ |𝑥𝑖− 𝑦𝑖|

𝑛−1

𝑖=0

( 3.3)

其中n 為描述子的長度,x 和 y 則分別為兩個 model 的描述子字串,由此可以得

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

33

知,三元編碼並不影響匹配方法的使用。

接下來,討論voxel 資料間的關係。我們採取了 Bipartite weighted matching 的方式,可以避免順序不對的問題產生。Voxel 彼此之間所對應的資料,可當作 是模型內部之間所對應的資訊,假設有兩個模型,一為方形模型,另一為球型模 型,則內部voxel 彼此之前所對應到的資訊應該會大不相同,也就表示我們所得 到3DLTD 特徵描述子的分佈是差異很大的。

相關文件