• 沒有找到結果。

演化式硬體影像濾波器設計與其搜尋空間分析

問題定義與分析

3.2 演化式硬體影像濾波器設計與其搜尋空間分析

以演化式硬體的概念實現影像濾波器 ,其實作概念圖如圖3.2所示 。 影像過濾的方法 如上節所敘以遮罩為單位進行過濾,從影像左上角讓遮罩依序移動至右下角,使用相同 的CGP設計過濾,每過濾一個遮罩都會得到一個像素 ,最後將含有雜訊的影像還原 。 過 濾的函式則由直角座標式基因規劃產生 ,並透過演化機制來取得最佳解 。

演化式硬體影像濾波器所需的參數如表3.1所示,在此設計中的搜尋空間分析如下, 假設濾波器過濾影像大小為 k × k ,遮罩大小為 m × m ,共有 (k − m + 1)2個遮罩需

Output pixel

3.1: CGP濾波器參數

Parameters Value

Image size (k × k) 256 × 256 Mask size (m × m) 3 × 3 CGP grid size (c × r) 8 × 4

Level back (Lb) 2

Number of function (nf ) 16

Stopping criteria (G) 5000 generations Population size (P ) 100

Probability of crossover (C) 0.4 ∼ 0.8 Probability of mutation (M) 0.4 ∼ 0.8 Restart Threshold (R) 0 ∼ 1

其中 lv為自己的階層編號 。

– 不會取到遮罩資料的階層 ,我們以 LV2nonmask代表此層的計算量 。

LV2nonmask = [(Lb × r)2× nf ]r (3.5)

• CGP的輸出選擇: CGP 的輸出將其中一個CLB的輸出值當作最終的輸出,輸出

的選擇方面同樣有level back 機制,我們以LVoutput表示此層的計算量,計算量為

LVoutput = (Lb × r) (3.6)

因此,加入 level back 機制的整體搜尋空間為公式 (3.7) , CGP 共有 c, lv編號 將從1c ,公式將分成五個部分計算,第一部分為訓練影像所切割出來的遮罩的數量共

遮罩資料層, lv編號從 2Lb ;第四部分為第一層之後不會取到遮罩資料層, lv編號從 Lb到c ;最後是 CGP 輸出的計算量 。

(k − m + 1)2× LV1× YLb lv=2

LV2masklv× (3.7)

Yc i=Lb+1

LV2nonmask × LVoutput

若以表 3.1的數值為例,則搜尋空間的計算量為:

(256 − 3 + 1)2× ((32)2× 16)4× ((32+ 4)2× 16)4× (3.8)

(((2 × 4)2× 16)4)8−2× (2 × 4).

公式 (3.8) 分成五個部分,第一部分為訓練影像所切割出來的遮罩的數量共 2542個;第

二部分為CGP第一層的搜尋空間計算量如公式(3.3) ;第三部分為公式(3.4) , 因為level back 為 2 ,在第二層的 CLB 可以取得第一層 CLB 的輸出值及輸入層的資料; 第四部

分為公式 (3.5) ,由於第三層往前兩層取值無法取得輸入層的資料; 第五部分則為 CGP

的輸出選擇, 如公式(3.6)。 而公式(3.8) 的結果遠大於1080。 在如此龐大的搜尋空間中 找尋最佳解極其不易 ,故以演化式演算法的方式來搜尋最佳解 。

以演化式演算法完成演化式硬體影像濾波器的最佳解找尋 ,需要對每代產生的個體 做評估 。 評估一個個體的好壞需要經過 (k − m + 1)2個遮罩過濾 ,每過濾一個遮罩所需 的計算量由CGPCLB數量決定為c×r ,代表完成一個個體評估的計算量為(k−m+

1)2× (c × r)。 若族群內共有P個個體須演化G個世代,完成演化式硬體影像濾波器的最 佳解搜尋所需要的整體計算量為G×P ×(k−m+1)2×(c×r) 。 若以表3.1的數值為例,評 估一個濾波器的好壞所需要的計算量為(256−2+1)2×(8×4) ≃ 2×106 ,而得到一個最佳 的演化式硬體影像濾波器需要經過 5000×100×(256−2+1)2×(8×4) ≃ 1012。 如此龐大

的計算量卻只能評估5 ×105個個體,表示在搜尋空間中只測試5 ×105種解答,與上段敘 述的搜尋空間遠大於1080相比相差甚遠 。 為了增加搜尋範圍必須提升演化代數或族群數, 但過多的演化代數或族群數意味著計算量的增加,而龐大的計算量將耗費大量運算時間, 使得增加搜尋範圍形成阻礙 。

相關文件