1.3 全文架構
本篇論文共分為五章,以下為各章的內容概述:
【第一章】緒論
說明本論文的研究背景、研究動機、研究目的和全文的架構。
【第二章】理論基礎與技術背景
簡介本論文使用的基礎理論 KFCM 與 KFCM with spatial constraint 演算法及 技術背景。
【第三章】基礎電路架構介绍
詳細說明本論文所提出的 KFCM with spatial constraint 演算法的基礎電 路,及其內部各單元架構。
【第四章】實驗結果與數據探討
呈現本論文所提出的電路設計成果數據、以及討論。
【第五章】結論
對本論文做最後的總結。
____________________________________________第二章 理論基礎與技術背景
____________________________________________第二章 理論基礎與技術背景
____________________________________________第二章 理論基礎與技術背景
7
圖 2.1 KFCM 演算法流程圖
____________________________________________第二章 理論基礎與技術背景
8
2.2 Kernel-Based Fuzzy C-Means with spatial
constraint 演算法
儘管 KFCM 是有效的,在做影像分割時卻沒有加入空間資訊。因此,當現有 一張受到雜訊干擾的圖片要做分割時,分割的成功率就會降低。加入空間資訊後 的 KFCM 為 KFCM with spatial constraint (KFCM-SC) 可以用來解決這個問題。而 KFCM-SC 可以視為 KFCM 和 FCM-S 的結合 [2, 12],而 KFCM-SC 是要最小
____________________________________________第二章 理論基礎與技術背景
並且推出 PLD(programmable logic device)設計軟體 Quartus II 供使用者使用,
Quartus II 是一個在做硬體開發時很常被使用的開發環境。我們可在此環境寫硬體 描述語言 Verilog HDL、VHDL,並藉由模擬圖、RTL 圖、自動機圖…等不同的 工具去協助我們做電路的驗證,是一款很好用的硬體開發環境。本研究是在 NIOS development kit 中的 Stratix Ⅲ EP3SL150F1152C2 系統開發板上實現我們所提出 的硬體電路。
在開發客製化電路上,也提供使用者許多需要的設計元件,使用者可以針對
____________________________________________第二章 理論基礎與技術背景
10
自己的需求做選擇,並藉由 SOPC 系統將電路和自己設計的客製化電路整合,如 圖 2.2。在此是將使用者的客製化電路掛載到 FPGA 板子上面的匯流排(Avalon Bus),如圖 2.4。該客製化電路的所有輸入以及輸出訊號線都藉由此匯流排與開 發板上面的系統作溝通,編譯完後即可燒錄到開發板上使用。
而在燒錄到開發板上後,最後藉由 Altera 公司提供的 NIOSⅡ IDE 視窗介面 的軟體開發工具,設計者就可以在上面編寫程式碼、編譯、除錯及觀察程式執行 結果。整體的實作流程如圖 2.3 所示。
圖 2.2 SOPC 系統介面
____________________________________________第二章 理論基礎與技術背景
11
圖 2.3 軟硬體共同設計流程圖
圖 2.4 FPGA 上的 Avalon System
____________________________________________第三章 基礎電路架構介紹 是 Mean Computation Unit,此單元的目的是計算每筆資料 與其周遭空間資訊的 平均值 ̅ ;另一個就是 KFCM-SC 演算法的計算部分電路。本節接下來將討論此 兩大單元。
圖 3.1 KFCM with spatial constraint 架構圖
3.1 Mean Computation Unit
給定一個資料 , ̅ 是在空間上以 為中心的鄰居共佔 3x3 個區塊的加總平均。
____________________________________________第三章 基礎電路架構介紹
13
向量傳遞至 cell 2,同時第二筆的訓練向量 進入 cell 1,以此類推。由於圖形邊 界的資料並沒有滿足 3x3 個區塊的鄰居數,因此不考慮邊界平均值處理的情況。
所以從 Mean Computation Unit 輸出且有意義的值是從第 N+2 個時脈之後出現的 資料,而此向量的所有鄰居在第 2N+3 個時脈後才會全部充斥在管線化的架構中,
因此我們需要 2N+3 個 stage 保留所有的需要的鄰居資訊。
圖 3.2 Mean Computation Unit 架構
此電路的設計優點為可以百分之百的利用資料,當每一個資料離開最後一個 stage 的位移暫存器時,代表不再需要參與每個資料的平均值計算。
____________________________________________第三章 基礎電路架構介紹
14
3.2 KFCM-SC 分群演算法電路
本論文提出的 KFCM-SC 分群演算法電路和 KFCM 電路大致上有著相同的 架構組合, 其中包含 Pre-Computation Unit, Membership Coefficients Updating
Unit, 和 Center Updating Unit,而 KFCM-SC 比 KFCM 多出一塊計算影像區塊平 均值的電路,如圖 3.3 所示。此外 KFCM 可視為 KFCM-SC 中的𝛼 的特例。
以下我們將詳細介紹 KFCM-SC 的電路。
圖 3.3 KFCM-SC 計算流程圖
3.2.1 Pre-Computation Unit
此塊電路主要用來降低在計算權重係數和質心時的計算複雜度,在此使用模糊係 數 m=2,因此公式(8)可以簡化為:
(( ) 𝛼( ̅ )) (10)
____________________________________________第三章 基礎電路架構介紹
15
而
∑ ( ( )) ( ( ̅ )) (11)
因此,計算權重係數的複雜度即可在此單元藉由計算此 而降低。在公式(11)中,
可以注意到包含了公式(3)核函式的計算,圖 3.4 所示即為核函式的架構。
圖 3.4 核函式(Kernel Computation Unit) 架構圖
其中包含了計算距離平方以及做高斯指數運算的部分。要特別注意的是,在 公式(3)中除以𝜎 的除法運算,可以藉由設定此𝜎 為 2 的次方而避免掉。做高斯指
數運算的部分,使用的是 Altera 公司提供的浮點數指數(ALTPF_EXP) 計算功能 (megafunction) [15] ,而根據核函式的計算,Pre-Computation Unit 可以被分成
c 個 stage,其中每個 stage i 如圖 3.5,所示。
每一個 stage i 會接收來自前一個 stage i-1 所計算完的 並會計算 和 。 和 如下定義:
∑ (( ( )) 𝛼 ( ( ̅ ))) (12)
____________________________________________第三章 基礎電路架構介紹
到下一個 stage i+1 及接下來的所有 stage。到了最後一個在 Pre-Computation Unit 中的 stage 時,在此即是指 stage c,就可以得到最終要傳遞給接下來要計算的權
到之後的 Center Updating Unit 去計算最後新的質心。
這裡的 Pre-Computation Unit 使用管線化的架構去更進一步的增強電路的產 能,圖 3.6 是有三個 stage 的 Pre-Computation Unit (c=3)管線化架構。
____________________________________________第三章 基礎電路架構介紹
17
圖 3.5 Pre-Computation Unit 內部架構圖
圖 3.6 管線化 Pre-Computation Unit (以 c=3 ,即 3 群為例)
____________________________________________第三章 基礎電路架構介紹
18
3.2.2 Membership Coefficient Updating Unit
對於每一個資料 , 在 計算 權 重係數時,都是 同步地在此 Membership Coefficient Updating Unit 做計算;因此,在此 Unit 中,包含了 c 塊模組,如圖 3.8 所示,每一塊模組分別負責計算一筆對應的權重係數,而在圖 3.7 表示的是 每一塊計算權重係數模組的內部架構。
根據公式(15),可以觀察到每一塊計算權重係數的模組會從前面的
Pre-Computation Unit 接收到 和 ,在此模組中包含了乘法器以及一個做倒 數運算用的運算單元,以用來計算所需的 。Membership Coefficient Updating Unit 的最後輸出 ,將會被傳遞到下一個 Center Updating Unit 去計算新的質心。
圖 3.7 Membership-Coefficient Updating Unit 架構
____________________________________________第三章 基礎電路架構介紹
19
圖 3.8 管線化的權重係數更新單元架構(以 c 群為例)
在此圖中,說明的是同一時間對於 c 個質心來說,有 c 個模組同時在計算
其對應的權重係數值,將每個模組所需的 廣播到此 c 個模組內,並傳遞每個模 組各自的需求值 ,而之後也會同時算出對應的權重係數 。
____________________________________________第三章 基礎電路架構介紹
20
3.2.3 Center Updating Unit
類似前面提到的 Membership Coefficient Updating Unit,這裡的 Center Membership Coefficient Updating Unit 中獲得。因此,可以大大地簡化計算 的
方式。
比較公式(9)和公式(18),可以輕鬆地發現,在模糊係數 m=2 的情況下,當累
____________________________________________第三章 基礎電路架構介紹
21
加到 k=t, ,新的質心就被本論文提出的電路算出來了。
圖 3.9 Center Updating Unit 內部架構圖
圖 3.10 管線化 Center Updating Unit 架構
____________________________________________第四章 實驗結果與數據探討
22
第四章 實驗結果與數據探討
本章節主要為介紹實驗環境以及呈現我們的實驗結果。
4.1 開發平台與實驗環境介紹
由於 FPGA 具有可程式化的彈性,可以重複修改與快速上市等優點,使設計 人員更容易建置客製化的硬體電路在 SOPC 系統上,因此 FPGA 非常適合用來實 現本論文提出的硬體架構。表 4.2 為軟、硬體的實做環境。圖 4.1 為本論文實驗 時所使用的 FPGA 開發板,由 Terasic 公司生產,該版型號為 DE3,而 FPGA 上 面使用的晶片為 Altera 公司製造的 EP3L150F1152C2。表 4.1 為 Altera DE3 EP3L150 FPGA 開發板的詳細規格資訊:
圖 4.1 Altera DE3 EP3L150 實驗開發板
____________________________________________第四章 實驗結果與數據探討
23
表 4.1 DE3 EP3L150 FPGA 開發板的詳細規格
表 4. 2 軟、硬體實現環境 Device feature Number Combinational ALUTs 113,600 Memory ALUTs 56800 Dedicated logic registers 113600
Total pins 744
Total block memory bits 5630976 DSP block 18-bit elements 384
Total PLLs 8
____________________________________________第四章 實驗結果與數據探討 種類別的資源: Adaptive Look-Up Tables (ALUTs),區塊記憶體位元數(Block Memory Bits)和 DSP 區塊(DSP Blocks),在編譯時所選的裝置為: Altera Stratix
____________________________________________第四章 實驗結果與數據探討 Device feature Number Combinational ALUTs 85200
Memory ALUTs 42600
Dedicated logic registers 85200
Total pins 744
Total block memory bits 8248320 DSP block 18-bit elements 896
Total PLLs 8
Total DLLs 4
ALUTs DSP Blocks Block Memory Bits
c = 2
13904/85200 (16%) 218/896 (24%) 27648/8248320 (<1%)c = 3
20739/85200 (24%) 326/896 (36%) 41472/8248320 (<1%)c = 4
27245/85200 (32%) 435/896 (49%) 61028/8248320 (<1%)____________________________________________第四章 實驗結果與數據探討
Adders Multipliers Dividers Exponent Operators
____________________________________________第四章 實驗結果與數據探討
____________________________________________第四章 實驗結果與數據探討
One loop period for
KFCM-SC Software
____________________________________________第四章 實驗結果與數據探討 distribution noise 雜訊干擾影像,範圍介於 b 之間,其平均值為 0,是一種 additive 的雜訊。首先定義平均雜訊能量 (average noise energy):
____________________________________________第四章 實驗結果與數據探討
____________________________________________第四章 實驗結果與數據探討
31
表 4.10 不同 FCM 演算法架構對草莓圖的分割錯誤率比較
Architectures 10 20 40 60 80 FCM [11] 2.39% 2.54% 3.29% 4.95% 6.61%
FCM-SC [12] 2.12% 2.16% 2.27% 2.58% 3.04%
KFCM [17] 2.31% 2.42% 2.77% 3.48% 4.95%
KFCM-SC 1.28% 1.45% 1.56% 1.80% 2.08%
圖 4.4 不同 FCM 演算法架構對草莓圖的分割錯誤率比較
從表 4.10 中觀察到,不論雜訊的強度為何,KFCM-SC 硬體架構皆勝於其他 現有的硬體架構,和基本的 FCM 以及 KFCM 有較大的差距,和現有最佳的 FCM-SC[11] 也略勝一個百分點左右。在圖 4.5 及圖 4.6 將會具體呈現經過分群後 草莓圖還原後的結果,並會和其他三者做比較還原後的結果作比較。
____________________________________________第四章 實驗結果與數據探討
32
(a)
(b)
(c)
(d)
(e)
圖 4.5 草莓圖使用 KFCM-SC 演算法硬體電路之分群結果顯示 由上而下為雜訊值 b=80,b=60,b=40,b=20,b=10,左邊為加入雜訊後的原始
圖片,中間為 FCM-SC 分群結果,右邊為 KFCM-SC 分群結果
____________________________________________第四章 實驗結果與數據探討
33
(a)
(b)
(c)
(d)
(e)
圖 4.6 草莓圖使用 KFCM-SC 演算法硬體電路之分群結果顯示 由上而下為雜訊值 b=80,b=60,b=40,b=20,b=10,左邊為 FCM 分群結果,中
間為 KFCM 分群結果,右邊為 KFCM-SC 分群結果
____________________________________________第四章 實驗結果與數據探討
34
接下來,將對圖 4.3(b)的梨子和杯子圖作分析,肉眼可以很明顯的分辨出這 是一張前景為梨子和杯子,再加上背景總共三群(c=3)的圖片,而梨子和杯子也有 其自然存在的紋理,表 4.11 及圖 4.7 即是此圖加入雜訊後分割的效果。
表 4.11 不同 FCM 演算法架構對梨子杯子圖的分割錯誤率比較
圖 4.7 不同 FCM 演算法架構對梨子杯子圖的分割錯誤率比較
Architectures
b=10 b=20 b=40 b=60 b=80
Basic FCM [11] 2.86% 3.12% 5.97% 16.01% 26.25%FCM-SC [12] 2.25% 2.37% 3.27% 3.90% 5.37%
KFCM [17] 0.65% 2.16% 5.09% 13.2% 19.99%
KFCM-SC 1.36% 1.33% 1.49% 2.52% 4.84%
____________________________________________第四章 實驗結果與數據探討
35
(a)
(b)
(c)
(d)
(e)
圖 4.8 梨子杯子圖使用 KFCM-SC 演算法硬體電路之分群結果顯示 由上而下為雜訊值 b=80,b=60,b=40,b=20,b=10,左邊為加入雜訊後的原始
圖片,中間為 FCM-SC 分群結果,右邊為 KFCM-SC 分群結果
____________________________________________第四章 實驗結果與數據探討
36
(a)
(b)
(c)
(d)
(e)
圖 4.9 梨子杯子圖使用 KFCM-SC 演算法硬體電路之分群結果顯示 由上而下為雜訊值 b=80,b=60,b=40,b=20,b=10,左邊為 FCM 分群結果,中
圖 4.9 梨子杯子圖使用 KFCM-SC 演算法硬體電路之分群結果顯示 由上而下為雜訊值 b=80,b=60,b=40,b=20,b=10,左邊為 FCM 分群結果,中