第三章 叢集整合技術偵測主曲線
3.4 獲得單一分群的資料集合
(a) (b)
圖 12: 叢集整合演算法所得到的最終分群。(a)整合 10 次個別分群後所得到的第三階段 分群結果,(b)整合 5 次個別分群後所得到的第三階段分群結果。(a)、(b)中相同顏色表 示為同一分群。
3.4 獲得單一分群的資料集合
輸入的資料集合可能是由數個多重的分離圖形物件、或是交叉的圖形物件所組成,
我們想從這樣的資料集合中自動的去找到正確的分群,進而能夠自動化的找到資料集合 中所包含的多重圖形物件、或是交叉的圖形物件。
我們將個別去取出屬於一個第三階段分群的資料集合,再以這資料集合去找到它的 主曲線。對於由 3.3 所得到的第三階段分群結果的一個分群而言,它是由數次的個別第 二階段分群所整合的結果。而每一次的個別分群是由數個從模糊 GK 叢集所組成,即 為第一階段分群所得到的雛型。因此我們對一個第三階段分群它所包含的所有由模糊 GK 叢集做去模糊化(defuzzification) ,將每一個輸入的資料集合中的資料點歸屬於最 大相關性值的 GK 叢集所屬的第三階段分群,由此來得到屬於每一個第三階段分群的資 料集合。
下面圖 13 的(a)跟(b)是利用圖 12(b)的第三階段分群所得到的兩個個別分群的資料 集合。(a)的部份為圖 12 的(b)中綠色的個別分群所收集到的資料點集合,形成上半部的 半圓形,(b)的部份為圖 12 的(b)中紅色的個別分群所收集的到的資料集合,形成下半部
的半圓形。
(a)
(b)
圖 13: 單一個別分群的資料集合。(a)兩個半圓形的上半部、(b)兩個半圓形的下半部。
3.5 使用修改的 Fuzzy Curve-Tracing 演算法獲得主曲線
文獻 [6] 中,有討論關於模糊主曲線追蹤演算法的優點與其最主要的限制,它並 無法找到含有多重物件的資料集合。但由前一小節所得到的資料集合是屬於一個單一物 件的資料集合,因此我們可以使用文獻 [6] 所提出的模糊主曲線追蹤演算法,來獲得 此一資料集合的主曲線。其演算法介紹如下:
首先使用模糊 C 均值叢集化演算法來得到輸入資料集合的代表點,因為模糊 C 均 值叢集化演算法只是一個 GK 叢集化演算法的特例,其主要的差異是距離計算方式的不
同。距離函數定義如下:
再來針對這一個所取出來的連通子圖中,其連結大於兩個邊的叢集重心點做去除多 餘邊的動作。去除的方法為找到大於兩個邊的叢集重心點,對於它所擁有的所有連結中 取出相似值最小的那一個連結,而再要去除掉這個相似值最小的那個邊時必須去檢查如 果去掉這一個邊是否會形成兩個連通子圖,若是,則放棄去除此邊,改取出相似值第二 小的邊重覆一樣的檢查是否會形成兩個分離的連通子圖,若不是則去除掉此一連結邊。
重覆這樣的動作直到這一個連通子圖沒有大於兩個邊的叢集重心點並且仍然是維持一 個連通圖形,由此我們便可得到初始主曲線。下圖 14 為所提出方法的流程圖。
最大連通子圖
找到連結邊數大於二的重心點,並且選取所有邊中有最小相似值的邊
是否形成兩個分 離的連通子圖
去除此邊
所有重心點的邊 數是否小於三
結束
選擇相似值次小 的邊
是
否
是 否
圖 14: 去除多餘邊流程圖
下圖 15 為利用我們所提出去除多餘邊的方法所得到的初始主曲線的結果,其中(a) 為由 3.3 所得到的第三階段分群的結果。而(b)為對於(a)中紅色雛型所包含的資料點所 形成的資料集合做找初始主曲線的動作,圖中有由模糊 C 均值演算法得到的重心點所 形成的相關性圖形,且它也是最大的連通子圖。(c)為去除掉多餘邊所得到的初始主曲 線。
(a)
(b) (c)
圖 15: 去除多餘邊獲得初始主曲線。(a)第三階段分群結果、(b)紅色個別分群資料集合 的最大連通子圖、(c)去除多餘邊後所得到的結果。
在上述的方法後,我們可以得到一個初始的主曲線,由這一個初始的主曲線可以去 找出叢集重心點的排列順序。我們下一個步驟就是平滑化初始的主曲線。由 [6] 中作
者提出的方法是去修改模糊 C 均值叢集演算法,在它的成本函數中多加了一條限制條
第四章 實驗結果
4.1 具有多重物件的資料集合偵測
首先我們將對於含有多重物件的資料集合做主曲線的偵測,下圖 16(a)為一個包含 有兩個物件的資料集合,(b)為所得到的第三階段的分群結果,可看出我們所提出的方 法能正確的分辨出兩個物件。而(c)與(e)分別為取出綠色個別分群與紅色個別分群的資 料集合,其(d)與(f)為對應的主曲線。
(a) (b)
(c) (d)
(e) (f)
圖 16: 雙螺旋主曲線的偵測。(a)資料集合、(b)第三階段分群結果、(c)與(e)綠色個別分 群與紅色個別分群的資料集合、(d)與(f)為對應的主曲線。
在上圖16的實驗中我們所使用到的參數值設定如下: 其修改的模糊GK 叢集演算 法的β 為10的15次方、γ 為0.0002、收斂門檻值ε為1、模糊運算子 m 為2、其整合個別 分群的次數為10次。在整合個別分群中,每一次個別分群所選取的雛型個數我們是以在 一個雛型個數範圍內,利用隨機的方式去挑選目前這一次所需要的雛型個數。所使用的 雛型個數範圍為: 50、55、60、65、70、75、80。而模糊主曲線追蹤演算法的叢集重心 點個數為70個、連結門檻值為0.01、平滑化程度α 值為2。
再來我們去測試另一個含有多重物件的資料集合,其所用的參數值與上述有所不同 的是模糊主曲線追蹤演算法的叢集重心點個數為50個。下圖17中(a)是兩個不同半徑的 同心圓所形成的資料集合,(b)為第三階段的分群結果,可看出仍然可以正確的將這兩 不同半徑的同心圓分成兩個分群。因此我們便可從第三階段的分群結果取出正確的個別 分群的資料集合,並且針對個別的資料集合去找出它的主曲線。(c)為最後所得到的主 曲線結果。
(a) (b) (c)
圖17: 不同半徑的同心圓其主曲線的偵測。(a)同心圓資料集合、(b)第三階段分群結果、
(c)整合後個別分群主曲線所得到的結果。
4.2 測試具有交叉的資料集合
這裡我們所使用資料集合含有兩個橢圓,並且此兩橢圓互相相交產生四個交點。在 這裡我們將產生兩組這樣的資料集合,如下圖 18 的(a)跟(b)。
(a) (b) 圖 18: 相交橢圓的資料集合。(a)較窄的相交橢圓、(b)較寬的相交橢圓。
這兩組資料集合主要的不同點在於橢圓圓周的寬度,而橢圓圓周的寬度會決定兩個 橢圓其相交部份對於找到其主曲線的複雜程度。這是因為如果圓周寬度較寬的橢圓相對 於圓周寬度較窄的橢圓其在交叉的部份所包含不同橢圓的資料點較多,而且交叉的部份 較大,所以造成由 GK 演算法所得到的雛型會有較大的機會落在交叉的部份上。因此這 些落在交叉部份上的雛型會有很大的機會包含到不同橢圓的資料點,造成在階層聚合的
過程中有較多的情況造成錯誤的連結。
由下圖 19 可以看出圓周寬度較寬有較差的連結情況,其中(a)與(b)為輸入的橢圓圓 周較寬在不同的雛型個數下所得到的第二階段分群結果。而(c)與(d)為輸入的橢圓圓周 較窄在不同的雛型個數下所得到的第二階段分群結果。
(a) (b)
(c) (d)
圖 19: 不同資料集合的第二階段分群結果。(a)與(b)分別為雛型個數為 30 與 60,由圖 18(b)所得到的第二階段分群的結果。(c)與(d)分別為雛型個數為 30 與 60,由圖 18(a)所 得到的第二階段分群的結果。(a)跟(b)是在最佳化之前。
我們使用這兩組資料集合來測試是否能決定出兩個橢圓的主曲線。首先我們將先對 橢圓圓周寬度較小的圖 18(a)做實驗。實驗中各項的參數數值設定如下:修改的模糊 GK 叢集演算法的β 為 10 的 15 次方、γ 為 0.0002、收斂門檻值ε為 0.5、模糊運算子 m 為 2、
其整合個別分群的次數為 10 次,所使用的雛型個數範圍為: 20、25、30、35、40、45、
50、55、60、65、70、75、80。而模糊主曲線追蹤演算法的叢集重心點個數為 20 個、
連結門檻值為 0.02、平滑化程度α 值為 2。圖 20 是圓周寬度窄的橢圓。
(a)
(b) (c)
(d) (e)
圖 20: 橢圓圓周寬度窄的資料集合其主曲線的偵測。(a)第三階段分群結果、(b)紅色個 別分群資料集合、(c)紅色個別分群的主曲線、(d)綠色個別分群資料集合、(e)綠色個別 分群的主曲線。
而橢圓圓周較寬的各項參數數值設定與上例有所不同的為: 其整合個別分群的次 數為 15 次。圖 21 是圓周寬度寬的橢圓。
(a)
(b) (c)
(d) (e)
圖 21: 橢圓圓周寬度寬的資料集合其主曲線的偵測。(a)第三階段分群結果、(b)紅色個 別分群資料集合、(c)紅色個別分群的主曲線、(d)綠色個別分群資料集合、(e)綠色個別 分群的主曲線。
由圖 20 與圖 21 的(a)可以知道因為橢圓圓周寬度寬的資料集合有較高的困難度,
所以有較差的第三階段的分群結果。因此在取出個別分群的資料集合時會造成圖 21(b) 與(d)有少數的資料點是取到不正確的橢圓資料點,形成類似有雜訊的情況。不過我們 所利用修改的模糊主曲線追蹤演算法可以解決這種具有輕微雜訊的情況。
4.3 英文字母主曲線的偵測
在 4.1 與 4.2 的實驗中,可以知道我們所提出的方法不僅可以在一個含有多重物件 的資料集合裡找到多重的物件,若這些多重的物件是交叉的也可以正確的被找到,所以 在此小節中我們將對英文字母做主曲線偵測的動作,結果為下面的圖 22。下圖 22 是我 們所提出的演算法每步驟的結果,其中(b)為叢集整合技術所得到的第三階段分群的結 果,而(c)、(e)、(g)為屬於單一個別分群的資料集合,與其相對應的(d)、(f)、(h)為利用
修改的 FCT 所得到的個別分群的主曲線,而(i)為最後整合各段主曲線所得到的結果。
(a) (b)
(c) (d)
(e) (f)
(g) (h)
(i)
圖 22: 偵測字母 A。(a)字母 A 的資料集合、(b)叢集整合後的第三階段分群結果、(c)紅 色個別分群的資料集合、(d)紅色個別分群的主曲線、(e)綠色個別分群的資料集合、(f) 綠色個別分群的主曲線、(g)黑色個別分群的資料集合、(h)黑色個別分群的主曲線、(i) 整合所有個別分群主曲線的結果。
對於圖 22 所使用到的各項參數為: 其修改的模糊 GK 叢集演算法的β 為 10 的 15 次方、γ 為 0.0002、收斂門檻值ε為 0.5、模糊運算子 m 為 2、其整合個別分群的次數為
10 次,所使用的雛型個數範圍為: 10、15、20、25、30、35、40。而模糊主曲線追蹤演 算法的叢集重心點個數為 8 個、連結門檻值為 0.05、平滑化程度α值為 2。而在圖 22 的(h)中,初始主曲線呈現出彎彎曲曲的形式,但在經過模糊主曲線追蹤演算法的平滑 化後可以得到很好的平滑結果。在下面的圖 23 中我們對其它的英文字母展現出相同的 實驗結果,而所使用的參數設定如上述。
(a) (b)
(c) (d)
(e) (f)
(g) (h)
圖 23: 不同英文字母的主曲線偵測。由左到右分別為左圖為所採用的字母資料集合(a)、
圖 23: 不同英文字母的主曲線偵測。由左到右分別為左圖為所採用的字母資料集合(a)、