程格平,徐德剛,王新穎
(湖北文理學(xué)院數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,襄陽 441053)
隨著多媒體和網(wǎng)絡(luò)技術(shù)的快速發(fā)展,多媒體信息內(nèi)容的傳播和分發(fā)變得更加便利,但很容易會引發(fā)數(shù)字作品的版權(quán)保護(hù)問題。數(shù)字指紋是解決這一類問題的數(shù)字版權(quán)保護(hù)技術(shù),主要通過在數(shù)字產(chǎn)品中嵌入特定的身份信息追蹤非法用戶,從而達(dá)到版權(quán)保護(hù)的目的[1]。數(shù)字指紋所受到的威脅主要來自共謀攻擊,具體是指若干擁有相同多媒體作品的用戶聯(lián)合他們的不同拷貝,偽造出一份移除或削弱了原始指紋信息的新拷貝,使得指紋檢測器不能正確追蹤到共謀者[2]。因此,設(shè)計(jì)具有良好抗共謀攻擊性能的數(shù)字指紋方案,已成為數(shù)字指紋技術(shù)的研究重點(diǎn)。
數(shù)字指紋屬于數(shù)字水印的研究范疇,使用魯棒的水印嵌入技術(shù)有助于提高指紋的抗共謀攻擊能力。變換域算法能夠調(diào)節(jié)水印嵌入的能量而不影響載體圖像的視覺質(zhì)量,因而比空域嵌入算法具有更好的魯棒性。奇異值分解(Singular Value Decomposition,SVD)是一種能夠提取圖像代數(shù)特征的矩陣變換方法,具有非常好的穩(wěn)定性,因而被廣泛應(yīng)用于水印算法的設(shè)計(jì)。但是,采用奇異值分解的水印算法不能有效抵抗某些常見的信號處理攻擊,如噪聲攻擊[3-4]。因此,通常將奇異值分解和其它變換域方法相結(jié)合,以增強(qiáng)水印算法的魯棒性。Singh A K[5]等人提出一種基于DCT(Discrete Cosine Transform,DCT)、DWT(Discrete Wavelet Transform,DWT)和SVD變換域的混合水印算法,通過對載體圖像離散小波變換域的低頻子帶進(jìn)行DCT和SVD變換,將指紋信息嵌入在宿主圖像的奇異值分量,該算法對大多數(shù)信號處理攻擊均具有較好的魯棒性,同時提高了載體圖像的視覺質(zhì)量。文獻(xiàn)[6]提出一種基于奇異值分解和離散小波變換的魯棒水印算法。該算法首先對載體圖像進(jìn)行離散小波變換,然后通過修改低頻區(qū)域的奇異值來嵌入水印信息,因此在抵抗幾何攻擊和信號處理攻擊方面取得了較好的效果。然而,這些水印算法雖然能夠不同程度地提高水印的魯棒性和感知透明性,但并不能在彼此相互沖突的性能因素之間獲得有效的平衡。
近年來,研究人員將人工智能應(yīng)用到數(shù)字水印領(lǐng)域,改進(jìn)和優(yōu)化水印算法的性能,取得了一些成果,遺傳算法(Genetic Algorithm,GA)即是一種優(yōu)化問題求解的人工智能技術(shù)[7]?;谶z傳算法,Sikander B等人在圖像的DCT域自適應(yīng)選擇水印嵌入的強(qiáng)度,使得水印圖像能夠有效抵抗濾波、中值和各種幾何攻擊,且具有很好的視覺保真度[8]。利用人眼視覺系統(tǒng)特性和宿主圖像分析方法,文獻(xiàn)[9]在圖像的視覺不敏感區(qū)域嵌入水印,然后使用遺傳算法搜索水印的最佳嵌入位置和強(qiáng)度系數(shù),不但提高了宿主圖像的視覺質(zhì)量,而且增強(qiáng)了水印的魯棒性和安全性。Feng H等人[10]通過分析高斯噪聲對指紋檢測概率和圖像視覺質(zhì)量的影響,在不影響指紋圖像質(zhì)量的情況下,采用迭代的方法逐步添加適量噪聲到共謀偽本中,對噪聲攻擊進(jìn)行優(yōu)化,使得指紋檢測器不能檢測到共謀者的指紋。由此可見,遺傳算法在數(shù)字水印領(lǐng)域得到了廣泛的應(yīng)用,而利用遺傳算法對數(shù)字指紋的多個性能進(jìn)行優(yōu)化的研究卻相對較少。
本文基于擴(kuò)展變換抖動調(diào)制(Spread Transform Dither Modulation,STDM)的量化指紋算法框架,結(jié)合遺傳算法和奇異值分解的理論和方法,提出一種基于遺傳算法和奇異值分解的量化指紋優(yōu)化算法。在載體圖像的離散余弦變換域,根據(jù)JND(Just Noticeable Distortion)視覺模型控制奇異值的修改幅度,再利用遺傳算法的搜索機(jī)制自適應(yīng)調(diào)節(jié)指紋嵌入的強(qiáng)度,從而優(yōu)化指紋系統(tǒng)的綜合性能。
在量化指紋算法中,與量化索引調(diào)制算法不同,基于擴(kuò)展變換的量化指紋算法并不直接量化載體向量X,而是先將載體向量投影到一個隨機(jī)生成的向量R,然后根據(jù)待嵌入的指紋信息,使用STDM指紋嵌入器量化載體向量的投影值X(X=XTR),那么嵌入指紋后的指紋信號Y表示為:
其中,QΔ(?)=round(?/Δ)×Δ 表示量化步長為 Δ 的量化函數(shù),W表示用戶的指紋向量,d為量化嵌入的抖動向量,服從(-Δ/2,Δ/2]上的均勻分布。
一組用戶可能聯(lián)合他們嵌有指紋的作品拷貝實(shí)施各種共謀攻擊,從而獲得共謀攻擊后的作品偽本。若不考慮噪聲信號,則共謀偽本可以表示為:
其中g(shù)(·)表示共謀攻擊函數(shù),Sc為共謀者集合。
進(jìn)行指紋檢測時,根據(jù)待檢測信號Z在投影向量R方向的投影值,使用最小距離檢測器檢測共謀用戶。
其中T(i)為指紋檢測統(tǒng)計(jì)量,系統(tǒng)能夠容納的用戶總量為Nu,具有最小檢測值的用戶即為共謀者。
在文獻(xiàn)[4]中,基于視覺模型的擴(kuò)展變換水印算法使用載體圖像的頻率敏感度分量作為JND閾值,使得指紋嵌入器和檢測器的量化參數(shù)保持一致,在保證圖像視覺質(zhì)量的同時提高了水印算法的魯棒性,但這種算法很難同時兼顧數(shù)字水印的多個性能因素。因此,本文利用遺傳算法和奇異值分解方法,針對數(shù)字指紋的抗共謀性能和視覺保真度,提出基于奇異值分解的量化指紋優(yōu)化算法,如圖1所示。
圖1 基于奇異值分解的量化指紋算法框圖
從圖像處理的角度來看,若一幅大小為m×n的灰度圖像可以看作一個非負(fù)矩陣A,則矩陣A的奇異值分解定義為:
其中r(r=min(m,n))是矩陣A的秩,表示非零奇異值的個數(shù)。U和V分別為正交矩陣,S=diag(λi)是奇異值λi的對角矩陣。
若采用擴(kuò)展變換量化算法的圖像矩陣為A,θA表示指紋圖像與原始圖像的差異矩陣,因此:
由DCT域的JND視覺模型可知,DCT系數(shù)的最大允許修改值為JND(f,k)(f,k分別表示zigzag掃描的頻率和DCT分塊號),即有:
根據(jù)擴(kuò)展變換量化指紋算法的原理,載體信號的最大量化誤差為,可得到指紋信號(α表示嵌入強(qiáng)度系數(shù),且0<α<1),則修改奇異值后的差異矩陣可表示為:
由于量化步長是擴(kuò)展變換量化算法的重要性能參數(shù),可用來調(diào)節(jié)指紋嵌入的強(qiáng)度。因此,根據(jù)JND視覺模型的閾值函數(shù),使用指紋算法的量化嵌入?yún)?shù)α自適應(yīng)調(diào)節(jié)量化步長,于是:
指紋嵌入過程的具體實(shí)現(xiàn)步驟描述如下:
(1)將原始灰度圖像I分成若干大小為8×8的小塊,對每個小塊進(jìn)行DCT變換,得到系數(shù)矩陣A;
(2)對每個DCT系數(shù)矩陣進(jìn)行SVD變換,得到矩陣S、U和V;
(3)從每個奇異值矩陣S中選取最大的奇異值,按DCT塊的光柵掃描順序選擇前L個奇異值,構(gòu)成指紋嵌入的載體向量X;
(4)使用指紋生成器隨機(jī)生成Nu個相互正交且服從高斯分布的用戶指紋W;
(5)根據(jù)JND視覺模型估計(jì)的量化步長,利用STDM指紋嵌入器量化載體向量X的投影值,得到指紋信號Y;
(6)將指紋信號的每個元素作為原奇異值矩陣的最大值,通過SVD逆變換重構(gòu)矩陣,記為=UYVT,然后進(jìn)行逆DCT變換,得到指紋圖像I′;
(7)針對指紋圖像的各類共謀攻擊,利用遺傳算法對量化嵌入?yún)?shù)進(jìn)行迭代優(yōu)化,得到優(yōu)化的指紋圖像。
指紋檢測過程的具體實(shí)現(xiàn)步驟描述如下:
(1)對檢測圖像進(jìn)行8×8分塊DCT變換,得到系數(shù)矩陣;
(2)將矩陣的每個DCT系數(shù)矩陣進(jìn)行SVD變換,得到矩陣、和;
(3)提取每個奇異值矩陣的最大值,形成待檢測的偽本信號Z,然后利用STDM指紋檢測器檢測共謀者。
遺傳算法是基于自然選擇和遺傳學(xué)機(jī)制的一種計(jì)算模型,具有全局隨機(jī)搜索優(yōu)化的特性。在數(shù)字指紋系統(tǒng)中,利用遺傳算法對指紋算法的嵌入?yún)?shù)進(jìn)行優(yōu)化,可有效實(shí)現(xiàn)指紋系統(tǒng)的多性能平衡,下面描述指紋算法的優(yōu)化過程。
(1)遺傳編碼
根據(jù)擴(kuò)展變換量化指紋算法的參數(shù)分析,指紋算法的量化嵌入?yún)?shù)α決定了指紋嵌入的強(qiáng)度,其參數(shù)空間對應(yīng)指紋優(yōu)化算法的解空間。因此,將量化嵌入?yún)?shù)α在取值范圍內(nèi)的值編碼為基因,每個基因組成的染色體可以編碼為ν={ }ν1,ν1,…νL。
(2)適應(yīng)度函數(shù)
為了評估指紋檢測器的檢測性能,采用捕獲一個共謀者的策略作為指紋的抗共謀性能指標(biāo),指紋檢測器正確檢測到一個共謀者的概率Pd表示為:
其中h為檢測閾值,由錯誤陷害一個無辜用戶的概率Pf來確定。概率Pd的值越大,表示指紋抵抗共謀攻擊的性能越強(qiáng)。
對于載體圖像的視覺質(zhì)量評價,通常采用原始圖像和指紋圖像的均方誤差MSE(Mean Square Error)以及對應(yīng)的峰值信噪比PSNR(Peak Signal to Noise Ratio)來度量。MSE和PSNR可以定義為:
其中I(i,j)和I′(i,j)分別表示大小為M×N的原始圖像和指紋圖像。PSNR的值越大,表示共謀攻擊后的載體圖像視覺質(zhì)量越好。
將共謀者檢測概率和均方誤差作為指紋抗共謀性能和圖像視覺質(zhì)量的性能度量標(biāo)準(zhǔn),根據(jù)遺傳算法的基本原理,第c代染色體的適應(yīng)度函數(shù)定義為:
其中,q表示共謀攻擊的種類數(shù)。由于PSNR的值遠(yuǎn)大于共謀者檢測概率Pd,使用權(quán)重因子βi平衡指紋系統(tǒng)多性能需求所產(chǎn)生的影響。
(3)遺傳算子
指紋算法的遺傳操作包括選擇、交叉和變異算子。首先采用賭盤選擇和最優(yōu)個體保存策略相結(jié)合的方法,計(jì)算個體適應(yīng)度值在群體適應(yīng)度總和中所占的比例,選擇適應(yīng)度函數(shù)值最高的個體進(jìn)入下一步操作;其次,采用隨機(jī)選擇和兩點(diǎn)交叉,在隨機(jī)選擇的兩個個體中隨機(jī)設(shè)置兩個交叉點(diǎn),以一定的概率交換兩個交叉點(diǎn)之間的部分基因,從而生成新的個體;然后,采用均勻變異算子,分別將服從量化嵌入?yún)?shù)范圍內(nèi)均勻分布的隨機(jī)數(shù)以較小的概率代替染色體的各個基因;最后,將交叉和變異后的染色體按照適應(yīng)度進(jìn)行排序,選擇一定比例的個體形成下一代種群,直到滿足算法的優(yōu)化終止條件。
為了測試提出指紋算法在共謀抵抗性和視覺保真度方面的性能,本文從USC-SIPI圖像數(shù)據(jù)庫中選擇5幅大小為512×512的灰度圖像作為標(biāo)準(zhǔn)測試圖像,包括 “Lena”、“Baboon”、“Barbara”、“Peppers”和“Bird”?;贛ATLAB軟件平臺,設(shè)計(jì)兩組實(shí)驗(yàn)對本指紋算法進(jìn)行模擬。根據(jù)實(shí)驗(yàn)結(jié)果分析指紋算法的性能,與基于視覺模型的擴(kuò)展變換指紋算法進(jìn)行比較。
假定指紋系統(tǒng)所容納的用戶數(shù)為Nu=1024,用戶指紋是長度L=1024的隨機(jī)高斯序列,參與共謀的用戶數(shù)量為30。為了驗(yàn)證算法的抗共謀攻擊性能,對嵌入指紋后的載體圖像進(jìn)行幾種典型的共謀攻擊,包括平均攻擊、最大值攻擊、中值攻擊和隨機(jī)負(fù)攻擊,即共謀攻擊的種類數(shù)q取值為4。在遺傳算法操作中,設(shè)置種群的初始規(guī)模為30,選取適應(yīng)度函數(shù)的權(quán)重因子β為10,交叉概率為0.9,變異概率為0.1,選擇交叉變異后前50%的個體進(jìn)入下一次迭代,迭代次數(shù)為100,實(shí)驗(yàn)?zāi)M結(jié)果如圖2和圖3所示。
第一組實(shí)驗(yàn)測試了基于視覺模型的擴(kuò)展變換指紋算法的性能與共謀人數(shù)之間的關(guān)系。從圖2(a)和圖2(b)中可以看到,該指紋算法抵抗共謀攻擊的能力隨共謀人數(shù)的增加而逐漸減弱,而經(jīng)過共謀攻擊后的圖像視覺質(zhì)量則與共謀攻擊的方式相關(guān)。具體來看,指紋算法對平均攻擊的抵抗能力最強(qiáng),但引起相對較大的視覺失真。指紋算法抵抗隨機(jī)負(fù)攻擊的能力最弱,但產(chǎn)生相對較小的視覺失真。而對于最大值攻擊,指紋系統(tǒng)不但具有較高的共謀者檢測概率,而且保持了良好的視覺質(zhì)量。
圖2 基于視覺模型的擴(kuò)展變換指紋算法的實(shí)驗(yàn)結(jié)果
第二組實(shí)驗(yàn)測試了提出的指紋算法性能與共謀人數(shù)之間的關(guān)系,其性能曲線圖類似于第一組的實(shí)驗(yàn)結(jié)果,如圖 3 所示。從圖 3(a)和圖 3(b)可以看出,在相同的實(shí)驗(yàn)條件下,指紋優(yōu)化算法的共謀者檢測概率和視覺質(zhì)量都要優(yōu)于基于視覺模型的擴(kuò)展變換指紋算法。針對平均攻擊,指紋算法能夠以達(dá)到或接近于1的概率抵抗18個共謀者,而在相同條件下,基于視覺模型的擴(kuò)展變換指紋算法僅能抵抗14個共謀者,對于其他共謀攻擊方式均存在相似的結(jié)論。在視覺保真度方面,提出的指紋算法對所有共謀攻擊的峰值信噪比均高于41.25db,因而獲得了相對較好的視覺質(zhì)量。
圖3 提出指紋算法的實(shí)驗(yàn)結(jié)果
在擴(kuò)展變換量化指紋算法框架中,本文分析了數(shù)字指紋算法的性能影響因素,提出了一種基于遺傳算法和奇異值分解的量化指紋優(yōu)化算法。借助于JND視覺模型,根據(jù)載體圖像的奇異值分量確定指紋算法的量化步長,并利用遺傳算法對指紋的量化嵌入?yún)?shù)進(jìn)行優(yōu)化。因而,指紋優(yōu)化算法不但能增強(qiáng)指紋信號抵抗共謀攻擊的能力,而且能提高載體圖像的視覺質(zhì)量。經(jīng)過實(shí)驗(yàn)驗(yàn)證,提出的指紋算法能夠在抗共謀性能和視覺保真度之間獲得較好的平衡。因此,有效利用人工智能技術(shù)提高數(shù)字指紋的性能,是指紋算法設(shè)計(jì)的必然趨勢,也是數(shù)字指紋研究的發(fā)展方向。