• 沒有找到結果。

第二章 文獻探討

2-1 影像多值化

影像多值化是將影像由灰階圖轉至多值圖,可以三值、四值、五值…,二值 化是則多值化中的一個特例,將影像僅分為黑白兩種值,而多值化可以基於二值 化方法擴展至多值化方法來使用,如 Cluster_Otsu[6]在二值化的公式 2-1 如:’

𝑇𝑇ℎ= 𝑎𝑎𝑎𝑎𝑎𝑎 𝑚𝑚𝑎𝑎𝑚𝑚 �𝜔𝜔0(𝜇𝜇0 − 𝜇𝜇𝑇𝑇)2+ 𝜔𝜔1(𝜇𝜇1− 𝜇𝜇𝑇𝑇)2

6

Entropy_Kapur[7]依影像亂度來計算門檻值,希望前景與背景兩群各自的 亂度要大越好,亂度反映群集包含的資料分布,越大表示包含越多種的資料,

7

以通常會搭配最佳化演算法來加速求解解決時間問題,如螢火蟲演算法[9]就 是一個好的最佳化演算法,將會在下一節做介紹。

[13]以平均值與標準差為基礎做影像多值化,多值化目標𝐾𝐾演算法如圖 2-1,以四值化為過程範例如圖 2-2。

圖2-1 [18]多值化演算法

圖2-2 [18]四值化過程

k-mean [15]是一種常用在資料分群的算法,[14]則以灰階值、鄰居平均 值、鄰居中值當作每個影像點的三維特徵使用 k-mean 來做多值化,做𝐾𝐾值化就

8

有𝐾𝐾個群中心,當群中心收斂不再移動後將每個影像點歸屬給距離自己最近的 群中心來完成多值化,群中心的初始化利用三維特徵各自排序後截成𝐾𝐾 − 1後 由決定,演算法如圖 2-3。

圖2-3 群中心演算法

SVM [18]是一種監督式學習的分類方法,需要事先知道輸入與輸出來訓練 model,再用 model 對資料做分類,[16]將影像切為 32x32 共 1024 個區塊(圖 2-4),以 Sobel [17]做輪廓偵測得到的輪廓圖(圖 2-5)為基礎在每個區塊挑選 輪廓強度最強的點當作特徵黑點,特徵白點則基於特徵黑點混合而成,把每個 區塊得到的特徵點當作訓練資料送入 SVM 做訓練,並配合已知的多值化圖的比 例來調整 model 做多值化。

圖2-4 區塊切割 圖2-5 Sobel 輪廓圖

2-2 螢火蟲演算法

由二值化推展的多值化法都有窮舉所有解花費太多時間的問題,所以通常會 搭配最佳化演算法來進行加速如螢火蟲演算法就是一種最佳化演算法,螢火蟲演 算法是透過觀察自然界中螢火蟲發光行為所建立的演算法,不同種類的螢火蟲有

9

不一樣的發光目的,可能是求偶或吸引獵物,雄性螢火蟲會使用發光的強度做為 競爭的方式來吸引雌性螢火蟲,使雌性螢火蟲追隨著發光的雄性螢火蟲飛行。

螢火蟲演算法中,每一隻螢火蟲散佈在多維的空間中,相當於多個門檻值,

這些螢火蟲的亮度與自己所在的位置有關,我們使用多值化 otsu 來計算螢火蟲 的亮度,越好的解亮度就越亮,每一螢火蟲除了最亮的那一隻以外都會往比自己 亮的螢火蟲方向移動,離自己越近、亮度越亮的螢火蟲移動的越快,如圖 2-6,

最亮的那一隻則會在自己周圍看看有沒有更好的解,在每隻螢火蟲都進行過移動 後,更新每隻螢火蟲的亮度後重複動作直到達到停止條件。

圖2-6 螢火蟲移動

螢火蟲演算法的主要流程可分為佈署螢火蟲、計算亮度、三個階段,第一階 段讓螢火蟲均勻帶著多維的解散佈在空間中,第二階段計算螢火蟲所在位置的亮 度,螢火蟲的亮度代表所在位置的好壞,越亮的表示解越好,在每隻螢火蟲都有 了自己的亮度後,第三階段開始螢火蟲被亮度比自己亮的螢火蟲吸引向其移動,

移動的速度會受到螢火蟲之間的距離影響,重複流程直到迭代結束,移動速度如 公式 2-5:

𝑋𝑋𝑖𝑖𝑡𝑡+1= 𝑋𝑋𝑖𝑖𝑡𝑡+𝛽𝛽�𝑋𝑋𝑗𝑗𝑡𝑡− 𝑋𝑋𝑖𝑖𝑡𝑡� + (𝑎𝑎𝑎𝑎𝑟𝑟𝑟𝑟 − 0.5) 其中

𝛽𝛽 = 𝑝𝑝−𝑑𝑑𝑖𝑖𝑖𝑖2 , 𝑟𝑟𝑖𝑖𝑗𝑗 = �∑𝑛𝑛𝑘𝑘=1(𝑋𝑋𝑗𝑗,𝑘𝑘− 𝑋𝑋𝑖𝑖,𝑘𝑘)2

(2-5)

10

結果結合來尋找輪廓,Prewitt 法[26]與 Sobel 法僅有模板上的不同,如圖 2-9,

算法如下:

11

超度量輪廓圖(Ultrametric Contour Map,UCM) [21-23]則是一個將影像處 理為三種特徵(亮度、色彩、紋理)各自計算八個角度的光影差異並透過不同的權 重來合併成為輪廓的方法,在[21]中數據顯示以柏克萊大學用來辨別輪廓偵測結 果好壞用的 dataset 與 benchmark (BSDS) [28]做判別,以 UCM 用來輪廓偵測有 比其他方法較好的結果。

12

相關文件