第三章 多目標數位浮水印系統
3.3 多目標基因演算法配置
) ,
( 是以
zigzag 的掃描方式,依序將係數表示為 DC、AC1、AC2、…、AC1023。
步驟三:從每個區塊中取出 256 個 DCT 係數(AC3 到 AC258),故總共有
本論文提出使用 NSGA-II 來解決多目標最佳化的問題,下面將對 NSGA-II 中所使用的染色體編碼方式、適應函數、挑選、交配與突變的機制作介紹。
NSGA-II 是用來解決多目標最佳化的問題,在進行迭代演算的過程中,每個 解都有各自的適應值,接著以這些適應值當作參考,來決定解之間的支配、非支 配關係,然後再進行演化的動作,演化的過程包括選擇、交配、突變等步驟。
3.3.1 染色體編碼方式
在嵌入浮水印的程序中,使用到的調整參數α (scaling factor),要如何訂定其 數值是一個相當複雜問題。這個調整參數將會隨著不同的藏匿影像而不同,進而 直接影響到數位浮水印的不可見性以及強韌性;可想而知,若以人工的方法訂定 其數值的話,會是一項相當困難的工作。所以,如何訂定合適的調整參數成了我 們要解決的問題。故本論文提出以多目標基因演算法來決定調整參數的數值,透 過 NSGA-II 的運算,最後會決定出一組最適解集合,再由這些解集合中挑選出 使用者本身偏好的解來當作嵌入浮水印的調整參數α 。
調整參數α 是一個大小為
2 2
M × 的對角矩陣(diagonal matrix),矩陣對角線M
上的數可以是一個正整數或是正浮點數,共有 2
M 個數值。故染色體編碼方式可
定義為一個大小為
1×M2 的一維矩陣,其資料型態為實數型態,染色體上的 2 M 個
基因對應到調整參數α 對角線上的 2
M 個數值。
3.3.2 適應函數
由於數位浮水印主要注重的是影像的不可見性以及浮水印的強韌性,故可以 將前述兩項需求定義為兩個獨立的適應函數F1和F2,分別對應不可見性以及強韌 性。F1代表嵌入浮水印之影像的不可見性,計算嵌入浮水印後的影像與藏匿影像 的平均平方誤差(mean square error, MSE);當MSE數值越小,代表兩張影像的差 異度越小,即不可見性越高。F1適應函數定義如(3-19)式:
(
X X)
F1 =MSE , ′ (3-19)
MSE 計算公式如(3-20)式: 的強韌性。我們使用Wang和Bovik 所提出的影像品質指標來評估,以下稱此 方法計算得的值為Q值,其公式如(3-21)式:
此影像品質評估指標結合了三種影像評估因子:相關度損失(loss of correlation)、
明亮度失真(luminance distortion)、對比度失真(contrast distortion)。Q值會介於-1 到 1 之間,當Q值越大,表示兩張影像差異度越小;反之,Q值越小,表示兩張
3.3.3 交配與突變
雖然實數可使用二元編碼來實現,但是當使用者需要更高的精準度時,染色 體的長度會隨之變大,這樣會導致計算複雜度的增加。因此陸續有學者提出適用 於實數編碼的交配與突變方法。
本論文 NSGA-II 中使用的交配方法為模擬二元交配法(simulated binary crossover, SBX)[44],突變方法為多項式突變法(polynomial mutation)[45]。以下將 依序描述模擬二元交配法與多項式突變法如何產生新的子代。
1, 1 Parent 1 Parent
2
Child =1 +β + −β (3-23)
( ) ( )
[
qi i qi i]
i 1, 2,
2, 1 Parent 1 Parent 2
的不同,其演化搜尋能力也會跟著不同。η 為一非負實數,由使用者自訂,若c ηc
其中Childi表示子代的第i個決策變數,Parenti表示父代的第i個決策變數,Upperi 和Loweri分別表示第i個決策變數的上限值與下限值, 的定義如下: δi