第三章 建築物影像與特徵資料庫建立
3.3 使用 DBSCAN 做建築物資料庫影像的特徵區域分群
圖22、交通大學工程五館適合使用者拍攝的三個面。
3.3 使用 DBSCAN 做建築物資料庫影像的特徵區域分群
建築物的一個明顯特色就是存在重覆性的紋路樣式,如:窗戶、磚塊等等,由於 MSER 特徵擷取的特性為抓取灰階穩定區域,容易偵測到窗戶等等內暗外亮或是內亮外 暗的結構,因此,資料庫中儲存的特徵向量也會有重覆的現象。
傳統分群法,如:k-means,必須要事先決定分群數,衡量分到哪群的根據是”相對”
距離遠近,而每一群的代表點通常是特徵向量的平均向量,無法保留特徵空間中孤立的 特徵向量維持自己為孤立群,而是有可能強迫將不同長相的特徵分成一群,取平均值當 作代表,會降低特徵原有的區辨能力。由於要保留特徵向量的區辨能力的同時,又要能
適度減低資料庫中重覆的特徵向量造成的空間浪費與搜尋的時間浪費,本研究使用了 DBSCAN( Density-Based Spatial Clustering of Applications with Noise )分群法[15]來對特 徵向量做分群。
3.3.1 DBSCAN 概述
(a) (b) (c)
圖23、 DBSCAN 演算法可分成(a) 4 群;(b) 4 群;(c) 4 群加上孤立點。
DBSCAN 為以基於分布的疏密為主(density-based)的一種分群法,具有三個特點:
適用任意形狀、可以處理孤立點、只要一次掃描(one scan)。本研究選擇此方法是基於 DBSCAN 可以處理孤立點的特性。
DBSCAN 的輸入是 k 維空間的點座標集合,輸出是各點的分群結果,判斷是否為 一群的依據是密度夠高連續成團的點集合為一群,如圖23 (a)(b)(c),在(c)的例子可以看 出來,分布較分散的孤立點並不會被DBSCAN 分到任何群中,而是視作孤立點。
實做DBSCAN 的方法是利用兩個量測值來決定分群的結果,一個是 Eps,單位為 距離;一個是Minpt,單位為點數。想法是將某一點周遭 Eps 半徑內的點,視作此點的 鄰近點,若某一群鄰近點含有Minpt 個點以上,這些點就會被視作為分布的夠密,而被 分為同一群,由此簡單想法,隨著串接就可以延伸出任何形狀的分群結果,簡單的 DBSCAN 實作演算法如下:
表2、Density-Based Spatial Clustering of Applications with Noise 演算法 Algorithm 3.2:
Density-Based Spatial Clustering of Applications with Noise 演算法 Input:
get the set of points, N(p ) which are p ’s neighbor within the distance Eps;
if N(p ) contains less than MinPt points{
if p hasn’t been labeled { 徵向量為Zernike Moment 的強度(magnitude),相似度的衡量方式為兩向量夾角的餘弦值,
見公式2.10,相似度(similarity)的值介於 0 到 1 之間,值越大越相似。
Eps 的意義在本研究的詮釋下為相似度的 lower bound:與一個特徵向量相似度大於 Eps 的點,為此特徵向量的相似向量(鄰近點),若相似向量(鄰近點)至少有 Minpt 個,就 將這些特徵向量分成同一群。
由於要避免DBSCAN 存在的一大缺點:可能串接不同長相的特徵向量,串接的太 長,而使得同一群的兩個特徵向量可能會因此不相似,所以本研究採用部分分群的方法,
將建築物同一面的每五張影像的特徵向量做一次DBSCAN 分群,分群的結果範例請見 圖24。
圖24、 DBSCAN 演算法對交通大學工程三館特徵區域分群結果的其中一群。
本研究以同群特徵向量強度(magnitude)的平均值(群中心)來當作代表此群的特徵向 量,並且計算被分成同一群的每一個特徵向量與群中心特徵向量的相似度,計算這些相 似度的平均與標準差,判斷有無串接長相不同的兩種區域的現象,若相似度的平均太小,
代表有DBSCAN 串接過長的現象,此群中心不足以代表此群的各特徵向量,無法成功 分群,在此將此種群中的點皆歸為孤立點。
因為建築物也會存在穩定出現卻非重覆樣式(repeat pattern)的特徵區域,對於沒有被 分到群的特徵向量,本研究不將其視為干擾點(noise),由於這些特徵向量對辨識而言也
對建築物的資料庫每五張為一個處理單位做DBSCAN 分群,每一群皆有一特徵向