• 沒有找到結果。

第三章 利用 2D影像之目標物體輪廓來辨識 3D物體的方法

3.2 資料庫的建立

3.2.2 提出的新外觀結合演算法

經由上一小節,我們說明了Cyr and Kimia 提出的外觀結合演算法,如 何去求得aspect-graph,並由其每個代表外觀的特徵面組成物體的資料庫。

而這個方法的好處是建立資料庫時,每個物體是分開建立的,所以當加進 一個新的物體的資料庫時,是不需對全部的物體重做的,只需對此新進物 體做即可,但此方法還是有以下幾點缺點:

1. 每個物體在建立資料庫時,都必須使用 M 張照取樣順序排列的面,

即照拍攝角度由小到大排列的視角順序的面,才能代入演算法去建 資料庫。

2. 由於此法假設取樣的物體的面是足夠多去表示此物體的,但實際上 我們知道一個物體可能投影出的面是無限多的,所以,此假設是會 有問題的,因此必須有一個可以更新資料庫的機制,使的資料庫變 的更完善。不幸的是,此法若要更新資料庫,則必須把物體全部 M 張面加上新進用來更新資料庫的面,重新按照拍攝角度由小到大排 列的視角順序排好,全部再重新代入演算法去建資料庫,即無法簡 單地一張一張的更新,而是不管有幾張要更新,都要加上之前的全

部重算。

3. 若物體具有一些對稱性,雖然我們已對此法多加了一個門檻值來使 此法不致因物體的對稱性的關係而多出一些不必要的外觀,但這樣 做還是不能完全避免不必要的外觀,例如像完全對稱的物體就還是 會產生不必要的外觀。

所以,基於以上列出的Cyr and Kimia 提出的外觀結合演算法的缺點,

我們提出一個新的外觀結合演算法來解決上述的缺點。此新的外觀結合演 算法也是一種基於相似度的方法,而且此法不僅是每個物體分開來建資料 庫,而且對在物體的每個面而言,是可以分開來建資料庫的,即可以一次 一個面來建資料庫,而且也可以不按照順序地任意先用哪個面來建資料 庫,而且它對於對稱的物體,也不會多出一些不必要的外觀,正因為如此,

所以,此法可以解決上述Cyr and Kimia 提出的外觀結合演算法的缺點。接 著以下我們來說明此新的外觀結合演算法是如何運作的。

首先,先定義一些用於下列說明的符號, 指的是新進來要建某物 體資料庫的面, 是此物體資料庫中第 個外觀的特徵面, 則是此 新進來的面與所有此物體的特徵面中距離最近的那個特徵面的相鄰左右 兩個特徵面, 代表此新進來的面與所有此物體的特徵面中距離最近的 那個特徵面所代表的外觀。

Vnew

Cm m Cmmin±1

mmin

接著列出此新的外觀結合演算法運作的步驟如下:

1. 當有一個新進來要建某物體資料庫的面發生時,先判斷此時此物體 的資料庫裡已存在多少個外觀。

2. 依據外觀的數目,來做其建立此物體的資料庫的動作。

(a)外觀的數目=0:

此新進來的面直接形成一個外觀,且此外觀的特徵面就是此新進 來的面。

(b)外觀的數目=1 或 2:

Cmd Vnew Cm threshold threshold threshold

all > > (3-14)

圖 3-5 新的外觀結合演算法的條件說明圖

步驟2 的(c)的含義就是說,此新進來的面與所有此物體的特徵面中 距離最近的那一個距離,

1. 若比threshold_1小,則合併此新進來的面。

2. 若比 大、比 小,則依據跟 左右兩個外觀

的關係來決定,也就是說跟 左右兩個外觀的距離(即跟其特徵 面的距離)都大於 ,則要用此新進來的面新增一個外 觀,反之,則合併此新進來的面。

1 _

threshold threshold_2 mmin

mmin

2 _ threshold

3. 若比threshold_2大,則要用此新進來的面新增一個外觀。

所以,由上述步驟2 的(c)的說明可知,這兩個門檻值會影響整個新 的外觀結合演算法最後得到的結果,因此若要在後面辨識時得到好的結 果,則此處兩個門檻值的設定就變的很重要。值得注意的是, 的 值不能設定的與 的值比例差太大,否則會導致此物體的資料庫 裡的外觀的數目不斷的增加,而使得用來表達物體的外觀過度表達。而若 設定的值越小,物體就會被表達的越細微,即外觀的數目會越 多,當然此時用來表達物體的外觀也可能會過度表達。

1 _ threshold 2

_ threshold

2 _ threshold

總而言之,此法是一個以一個物體的一個面為單位的演算法,也就是 它從頭到尾,都是一個面一個面單獨地分開來去建立、去完善資料庫,所 以它是可以不斷地學習,直到精確完整地表達物體為止,而且它也可對不 同的物體設定適合它們的門檻值,來分別建立出符合各自物體的資料庫。

再者,若將此我們提出的外觀結合演算法與Cyr and Kimia 提出的外觀結合 演算法的計算量相比較,以兩者的最差情況相比較,假設現在目前的物體 資料庫是以n個面建出的,則若新加一個面來完善資料庫,對於Cyr and Kimia 的方法,要全部重算,所以共需要計算彼此之間的距離

( )

2 1 n n+ ×

次,

但若以我們提出的方法來做,且其原來的外觀數目就是n,則因為此法是 以一個物體的一個面為單位的演算法,所以只需計算彼此之間的距離n 次,所以由此可知,我們提出的方法快Cyr and Kimia 的方法

( )

2 +1

n 倍,因

此在計算量上我們也是較少的。

最後,再將我們提出的方法,以流程圖的方式說明如下。

圖 3-6 新的外觀結合演算法的流程圖

相關文件