執行 PSO 演算法時,根據以下步驟進行:
1. 初始化:於 d 維設計空間中隨機產生 n 個粒子,由這些粒 子所構成的群體稱為族群(population),每個粒子的位置
id( )
x t ,均是設計空間中的一個隨機解。
2. 計算粒子 i 於 d 維空間中的目標函數適應值(fitness of particle, fi )。
3. 判斷是否符合所要求的條件,如果為是的話,則找到其總 體最佳函數適應值 fg 與總體最佳設計值 gbest,即為演算法 執行最佳化的結果,反之,則進行下一步驟。
4. 進行計算 Pid、Pgd。
5. 更新速度與位置:每個粒子根據式(2.1)進行速度更新獲得
id( )
v t 後 , 再 由 式 (2.3) 進 行 位 置 更 新 而得粒 子 新 的 位置 ( 1)
xid t+ 。
6. 重回步驟 2 進行,直到找到小於或等於所要求的目標函數 適應值誤差 (required error of the best fitness, ferrorreq ) 或最大 世代數 (the maximum generation, jmax) 到達時,則停止運 算,演算法輸出總體最佳函數適應值 fg 與總體最佳設計值 gbest,即為演算法執行最佳化的結果。
下圖為其演算法流程圖:
初始化
*產生隨機的位置
*產生隨機的速度
計算細胞神經網路 之目標函數 (F)
開始
是否符合條件
If F(xi) < F(pbesti) then pbesti= xi
更新每個粒子的 速度向量
否
更新每個粒子的 速度向量 求得最佳解
結束
產升下一代的 粒子群
是
If F(xi) < F(gbest) then gbest = xi
圖(八) PSO 演算法流程圖
2.3 慣性 慣性 慣性 慣性權重式粒子群最佳化 權重式粒子群最佳化 權重式粒子群最佳化 權重式粒子群最佳化
現今所有隨機最佳化方法,都面臨到相同問題,初始狀態(Initial state)會影響演算法效率。而原始 PSO 亦面臨到同樣的問題,慣性權 重式粒子群最佳化(particles swarm optimization with inertia weighted, PSO-IW) 便是針對 PSO 此項缺失進行改良,藉由慣性權重因子的加 入,提升族群初始時全域搜索及末期時局部搜尋的能力。
PSO-IW 演算法於 1998 年,首次由 Y. Shi 與 R. Eberhart [15]所 提出,其執行流程沿用 PSO 原始版本,與原始 PSO 不同之處在於速 度更新公式上,PSO-IW 於式(3.1)中,將
v t
id( )
乘上慣性權重因子( )
w t ,如下式所示:
1 2
( 1) ( ) ( ) () ( ( )) () ( ( ))
id id id id gd id
v t+ =w t ×v t + ×c rand × p −x t +c ×rand × p −x t (2.4) 此法僅在速度更新準則上將式(2.1)改用式(2.4),而粒子位置更新 仍沿用式(2.3)。此慣性權重因子 ( )w t 最初採用等值參數設定[13, 15];
由式(2.4)可知其在粒子速度更新時,粒子上一世代之速度於每世代均 佔有一等值的權重,而後面兩項隨機變量,則決定粒子前進速度方向 與大小。在這慣性項中我們很快發現到, ( )w t 扮演了平衡全域搜尋與 局部搜尋相互制衡的角色;當
w t ( )
取較大值時,則粒子上一世代之速 度權重提高,初始階段演算法或許能由於粒子移動量大,而快速收歛 至最佳解區域,但搜尋精準度欠佳;反之,w t ( )
取較小值時,族群提 高局部搜尋能力,需較長時間方能達到最佳解區域,但搜尋精度較 高。於是w t ( )
的選擇在此法中,扮演著決定演算法效率指標相當重要 的參數。隨後於 1999 年,Y. Shi 與 R. Eberhart 提出將
w t ( )
修正量呈線性 變化,隨著世代數增加而線性遞減w t ( )
值,改善了等值w t ( )
參數設定 上的模糊定義。也由於w t ( )
參數隨著世代數呈線性遞減的關係,使 PSO-IW 於初始期時族群中的粒子能有較大範圍的搜尋,且不會因採 用等值慣性權重,而容易越過了最佳解區域;並於後期階段,慣性權 重項對粒子速度的影響減少,故粒子能在已搜尋到的最佳區域內,進 行小範圍的局部搜尋,提高最佳解的精度。Part III: : : :影像雜訊消除架構與設計 影像雜訊消除架構與設計 影像雜訊消除架構與設計 影像雜訊消除架構與設計
3.1 系統敘述 系統敘述 系統敘述 系統敘述
在本計劃中,因為彩色影像為光的三原色(RGB)所組合而成的,
也就是分別為紅(red)、綠(green)、藍(blue)。其個別元素在影像處理 上,就如同灰階影像一般,所以我們在第二年中,將針對影像的分離 及合成,再搭配我們第一年所得到的成果。
以下為本系統的架構圖:
圖(九) 系統架構圖
因為我們經過影像分離及合成,但不知道在處理過程中影像是否 被破壞,所以我們將要證明影像在分離及合成是沒有被破壞的,以下 是我們利用 MATLAB 軟體進行模擬及判斷:
圖(十) 影像分離及合成圖
由圖(十)我們可以用肉眼看出影像經過分離及合成過程中,並沒 有遭受到破壞,但這樣還是不足以證明它的準確性,因為每個人的眼 光並不盡相同,所以我們下面將使用一套較客觀的判斷準則-峰值信 號雜訊比(Peak Signal to Noise Ratio, PSNR):
MSE dB log
10 PSNR
2 10
=
λ (4.2)∑∑
= =
−
=
m
i m
j
ij
m
1 1 ij2
2
( )
MSE 1
α β (4.3)因為我們輸入的圖片為灰階,所以這裡λ為 255,αij 表示輸入 影像在(i, j)位置的像素值,βij 表示經過處理過的影像在(i, j)位置的 像素值,m 為輸入影像的最大尺寸(這裡為 128)。其 PSNR 值為越大,
影像的品質越好,反之,則越差。以下為程式所模擬出的結果:
圖(十一) PSNR 之程式模擬圖
由圖(十一)我們可以看到整體及個別元素的 PSNR 都為無限大,這也 更能證明影像經過分離及合成過程中,並沒有遭受到破壞。
由上述可知,影像經過分離及合成過程中,並沒有遭受到破壞。
以下我們主要是利用一組給定的訓練樣本,然後搭配粒子群最佳演算 法求出細胞神經網路中類比細胞神經網路的模板“A”、“B”、“D”和
“z”。其中此組訓練樣本是由一張受到雜訊干擾的影像以及其對應的 理想未受雜訊干擾的影像所構成(也就是所訓練出的模板必定會使得
此受雜訊干擾影像經過細胞神經網路處理後會得到與其對應的理想 未受雜訊干擾的影像)。我們藉由此組給定的訓練樣本訓練出能夠消 除雜訊的模板其架構如下圖所示:
在圖(十二)中,我們主要是利用灰階的圖像作為訓練樣本(如圖(十三) 所示)並訓練出模板,用來消除其受到雜訊干擾的圖像。
(a) (b)
給定的訓練樣本 細胞神經網路
粒子群 最佳演算法
受到雜訊干擾的影像 對應理想未受雜訊干擾影像
利用粒子群最佳演算法訓練出的模板
“A”、“B”、“D”和“z”
其他受雜訊 干擾之影像
經過細胞神經網路 消除雜訊後之影像
圖(十二) 訓練架構圖
3.2 模板訓練 模板訓練 模板訓練 模板訓練
在本計劃中,我們主要是利用粒子群最佳演算法求出細胞神經網 路中類比細胞神經網路的模板“A”、“B”、“D”和“z”。其目標函數如下:
( )
∑
=
−
=
k
i
d
c
i P i
P Error
1
)
2( )
(
(3.1)這裡 k 為影像的總體像素,Pc(i)為理想未受雜訊干擾影像的第 i 個像 素,Pd(i)為經過系統後雜訊消除影像的第 i 個像素。其模板訓練流程 圖及方塊圖如下圖所示:
圖(十四) 模板訓練流程圖
-
- -
-
+
Error Pd(i)
Pc(i)
PSO CNN
N(n)
圖(十五) 模板訓練方塊圖
Part V: : :總結 : 總結 總結 總結
4.1 系統應用 系統應用 系統應用 系統應用
根據系統架構及訓練架構(見圖(九)、圖(十二)),我們可以針對 受到胡椒鹽雜訊(Salt and Pepper Noise)干擾的圖片,進行以下的各種 實驗。一般胡椒鹽雜訊為我們系統上常見的雜訊,也可以稱為熱雜 訊。其通常在影像上,黑點為胡椒(Pepper),白點為鹽(Salt):
實驗一 實驗一 實驗一 實驗一::::
考慮兩張分別受到 5% 與 10%雜訊(胡椒鹽雜訊)干擾的 128 by 128 方陣之灰階影像(見圖(十六)),且利用 PSO 和 CNN 進行影像訓練 與雜訊消除,以下是我們所提出的模板以及我們所給定的 PSO 參數:
1 2 1 2 1 2 1 1 1
2 1 2 1 1 1 1 2 1
1 2 1 2 1 2 1 1 1
, , ,
a a a b b b d d d
A a a a B b b b D d d d Z z
a a a b b b d d d
= = = =
(4.1)
表(4.1) PSO 參數設定
The number of swarm size 10 The maximum position Xmax 1 The maximum velocity Vmax 10 Acceleration coefficient
c
1 1.4Acceleration coefficient
c
2 1.2 Inertia weightw
0.8Iterations 500
(a) (b)
(c)
圖(十六) (a) 未受雜訊的原始灰階影像 (b) 受 5%雜訊的灰階影像 (c) 受 10%雜訊的灰階影像
經過我們所提出的方法(PSO-CNN)可以得到以下的結果:
圖(十七) PSO-CNN 模板訓練之世代數圖
5%雜訊消除之模板參數:
0.5739 0 0.5739 0.1958 0.0256 0.1958
0 0.5739 0 , 0.0256 0.0256 0.0256 ,
0.5739 0 0.5739 0.1958 0.0256 0.1958
0.6348 0.6348 0.6348
0.6348 0.5235 0.6348 , 0.2683 0.6348 0.6348 0.6348
A B
D Z
= =
= =
10%雜訊消除之模板參數:
0.1693 0 0.1693 0.5636 0.6322 0.5636
0 0.1693 0 , 0.6322 0.6322 0.6322 ,
0.1693 0 0.1693 0.5636 0.6322 0.5636
0.9627 0.9627 0.9627
0.9627 0.2697 0.9627 , 0.1016 0.9627 0.9627 0.9627
A B
D Z
= =
= =
(a) (b) 圖(十八) (a) 雜訊消除後的灰階影像(5%)
(b) 雜訊消除後的灰階影像(10%)
從圖(十六)、圖(十七)和圖(十八)可以看到所提出的細胞神經網路 結合粒子群最佳演算法對於影像雜訊消除效果是良好的。但這樣還是 不足以證明它的準確性,所以我們下面將使用一套較客觀的判斷準則
-峰值信號雜訊比(Peak Signal to Noise Ratio, PSNR):
MSE dB log
10 PSNR
2 10
=
λ (4.2)∑∑ −
=
m m
)
21 (
MSE
α β因為我們輸入的圖片為灰階,所以這裡λ為 255,αij 表示輸入 影像在(i, j)位置的像素值,βij 表示經過處理過的影像在(i, j)位置的 像素值,m 為輸入影像的最大尺寸(這裡為 128)。其 PSNR 值為越大,
影像的品質越好,反之,則越差。
用上述的方法,來驗證 PSO-CNN 的準確性,我們可以得到以下 的結果:
表(4.2) 灰階影像之峰值信號雜訊比值
受 5%雜訊干擾 受 10%雜訊干擾
原始輸入影像 16.1064dB 14.0872dB
PSO-CNN 處理後影像處理後影像處理後影像 處理後影像 29.0902dB 26.8858dB
由表(4.2)以及上述所提到圖(十六)、圖(十七)和圖(十八)可以更能 充分的證明我們所提出的方法(PSO-CNN)對於灰階影像雜訊消除是 有效的。
實驗二實驗二 實驗二實驗二::::
由實驗一的結果可以知道我們所提出的方法(PSO-CNN)對於灰 階影像雜訊消除是有效的,所以在這裡我們考慮兩張分別受到 5% 及 10% 雜訊(胡椒鹽雜訊)干擾的 128 by 128 方陣之彩色影像(見圖(十 九)),其模板為式(4.1)所示而 PSO 参數為表(4.1)所示,都跟實驗一所 設的參數完全一樣,以下是我們經過 PSO-CNN 所得到的結果:
(a) (b)
(c)
圖(十九) (a) 未受雜訊的原始彩色影像 (b) 受 5%雜訊的彩色影像 (c) 受 10%雜訊的彩色影像
(a) (b) 圖(二十) (a) 雜訊消除後的彩色影像(5%)
(b) 雜訊消除後的彩色影像(10%)
表(4.3) 彩色影像之峰值信號雜訊比值(5%)
紅 綠 藍
受5%雜訊干擾彩色影像 17.8718 dB 18.2376 dB 18.4899 dB PSO-CNN 30.2636 dB 30.3692 dB 30.1896 dB
表(4.4) 彩色影像之峰值信號雜訊比值(10%)
紅 綠 藍
受10%雜訊干擾彩色影像 14.7321 dB 15.1974 dB 15.5846 dB PSO-CNN 28.1826 dB 28.4543 dB 28.0863 dB
由圖(十九)、圖(二十)、表(4.3)、表(4.4)以及上述的實驗一結果可 以證明我們所提出的方法(PSO-CNN)對於彩色影像雜訊消除是有效 的。
4.2 結論 結論 結論 結論
我們學習到影像雜訊消除應用在細胞神經網路系統中,基於粒子 群最佳演算法,提出一個新的方法設計影像雜訊消除模板以及模板參 數更新。在不需要事先設定細胞神經網路控制模板參數的情況下,它 會設計輸入模板參數並且得到最佳的模板參數,將之用來消除受到雜 訊污染的灰階影像。與一般傳統方法設計的簡單模板大不相同,我們 提出的方法可以配合不同模板得到最佳的模板參數。舉出的例子也可 以發現我們使用的方法在恢復原始圖片上有良好的品質與效率。
4.3 參考 參考 參考 參考文獻 文獻 文獻 文獻
[1] L. O. Chua and L. Yang, “Cellular neural networks: Theory”, IEEE Trans. Circuits Syst., vol. 35, pp.1257-1272, Oct. 1988.
[2] L. O. Chua and L. Yang, “Cellular neural networks: applications”, IEEE Trans. Circuits Syst., vol. 35, pp.1273-1290, Oct. 1988.
[3] K. R. Crounse and L. O. Chua, “Methods for image processing and pattern formation in Cellular Neural Networks: a tutorial”, IEEE Trans. Circuits Syst., vol. 42, pp.583-601, Oct. 1995.
[4] P. Arena, L. Fortuna, G. Manganaro and S. Spina, “CNN image processing for the automatic classification of oranges”, Proc. IEEE Int. Workshop on cellular neural networks and their applications, pp.
463-467, Dec. 1994.
[5] E. Lueder, and N. Fruehauf, “Optical signal processing for CNN's”, Proc. IEEE Int. Workshop on cellular neural networks and their applications, pp. 45-54, Oct. 1992.
[6] P.R. Bakic, B.D. Reljin, N.S. Vujovic, D.P. Brazakovic, and P.D.
Kostic, “Multilayer transient-mode CNN for solving optimization problems”, Proc. IEEE Int. Workshop on cellular neural networks and their applications, pp. 25-30, June 1996.
[7] A. Gacsadi and P. Szolgay, “An analogic CNN algorithm for following continuously moving objects”, Proc. IEEE Int. Workshop on cellular neural networks and their applications, pp. 99-104, May 2000.
[8] A. Paasio, A. Dawidziuk and V. Porra, “VLSI implementation of cellular neural network universal machine”, Proc. IEEE Int.
Workshop on Electronics, Circuits, and Systems, pp. 414-416, Oct.
1996.
[9] K. Halonen, V. Porra, T. Roska and L. Chua, “Programmable analog VLSI CNN chip with local digital logic”, IEEE Trans. Circuits Syst., vol. 2, pp. 1291-1294, 1991.
[10] P. L. Venetianer, T. Roska and L. O. Chua, “Analogic CNN Algorithms for Some Image Compression, Decompression and Restoration Tasks”, IEEE transactions on circuits and systems I:
Fundamental theory and applications, vol. 42, no. 5, pp. 278-284, 1995.
[11] A. Zarandy, F. Werblin, T. Roska and L. O. Chua, “Novel Types of Analogic CNN Algorithms for Recognizing Bank-Notes”, CNNA-94 Third IEEE International Workshop on Cellular Neural Networks and their Applications, pp. 273 - 278, 8-21 Dec. 1994.
[12] A. Zarandy, A. Stoffels, T. Roska, and L. O. Chua, “Implementation of Binary and Gray-Scale Mathematical on the CNN Universal Machine”, IEEE transactions on circuits and systems I:
Fundamental theory and applications, vol. 45, no. 2, pp. 163-168,
Fundamental theory and applications, vol. 45, no. 2, pp. 163-168,