劉堯,杜慶治,馬迪南,龍華,3,邵玉斌,黃喜陽
(1.昆明理工大學 信息工程與自動化學院,云南 昆明 650500;2.云南日報報業集團,云南 昆明 650032;3.云南省媒體融合重點實驗室,云南 昆明 650228)
隨著信息技術的飛速發展,文本信息的使用變得頻繁起來。在新聞行業,新聞文本圖像承載著傳遞新聞信息的重要作用,隨著新聞文本圖像的廣泛傳播,其面臨著版權保護的問題,而魯棒性數字圖像水印算法就能較好地解決問題。
魯棒性數字圖像水印算法主要在空間域或變換域之中完成水印的嵌入,空間域算法較為簡單但魯棒性較差,常見攻擊會造成水印被破壞[1];變換域算法是對圖像做某種局部或者全局變換,修改變換域參數來實現水印嵌入,從而有著更強的魯棒性。
在變換域文本圖像水印算法中,文獻[2]描述了文本水印現有的一些研究方法,例如文獻[3]提出了一種基于離散小波變換(Discrete Wavelet Transform,DWT)和離散余弦變換(Discrete Fourier Transform,DCT)的圖像水印算法,算法是將中文文本圖像經過DWT 后選擇低頻子帶進行DCT,然后選擇中低頻系數進行水印的嵌入,嵌入水印后的圖像有著良好的不可感知性;文獻[4]將文獻[3]中的DWT 替換為了整數小波變換(Integer Wavelet Transform,IWT)并應用于阿拉伯文本圖像,該算法在面對JPEG 壓縮時抵抗性較好。
上面描述的水印算法雖然在應用到文本圖像上時都有著較好的不可感知性和魯棒性,但是它們都沒有利用文本圖像的背景與文本區域具有一定的差異性這一特征,導致不能將算法重點關注于文本區域,這是本文想要解決的問題一。在醫學圖像水印算法中,會將醫學圖像分為感興趣和非感興趣區域,其中感興趣區域包含著較多的病理信息,而非感興趣區域則是背景區域,由于這種差異信息,使這兩種區域在很多醫學圖像水印算法上被區別對待。文獻[5]通過算法得到醫學圖像的感興趣區域,然后使用DWT 和奇異值分解(Singular Value Decomposition,SVD)嵌入水印圖像,該方法有著良好的不可感知性和較高嵌入容量。所以本文提出將新聞文本圖像區分出區域,在文本區域進行水印嵌入能夠更好的進行版權保護。
現有的水印算法根據載體圖像分為灰度和彩色圖像水印算法,新聞圖像大多都是彩色圖像,彩色三通道圖相比灰度單通道圖在嵌入水印時有更多的選擇,但是現在很多算法只在單通道嵌入水印,沒有分析各通道能量,導致魯棒性不高,這就是本文想要解決的問題二。文獻[6]實現了一種DWT 與QR 分解的圖像水印算法,對圖像B 通道進行DWT 變換后選擇子帶分塊,對子塊進行QR 分解將水印嵌入到R矩陣中,該算法有著較好的不可感知性,但是對于高斯噪聲的魯棒性較差。文獻[7]提出一種基于DWT-SVD 彩色魯棒水印算法,它是將RGB 圖像變換后對Y分量進行DWT 變換,并對子帶進行SVD 分解,通過修改奇異值來嵌入水印,對濾波攻擊等魯棒性較差。文獻[8]在圖像Y分量進行DWT 變換后對子帶進行HD 和SVD 分解,并將結果與Schur分解結果進行比較,得出融合HD 分解的算法具有更好的不可感知性和魯棒性,但是其對運動模糊等攻擊魯棒性較差。
根據上述討論發現,很多算法沒有對新聞文本圖像區分文本區域和其他區域,并且將二值水印嵌入到彩色圖像只在單通道進行,沒有考慮通道中存在的能量特性,可能會將水印嵌入到能量低的部分,導致魯棒性不高。
針對上述兩個問題,本文提出了基于新聞文本圖像的魯棒水印算法,算法首先對新聞文本圖像使用大津閾值算法(OSTU)進行區域區分,并保存文字區域像素點的坐標進行水印嵌入用來解決問題一。將新聞文本圖像轉換為YCrCb 格式,對Cb 和Cr 通道的文本區域像素點矩陣進行DWT 變換,對LL 子帶進行PCA(Principal Component Analysis,PCA)分析能量特性,根據規則選擇較大能量的主成分嵌入水印,最后將其與水印圖像進行SVD 分解嵌入水印,從而解決問題二。
新聞文本圖像指的是在圖像上顯示著帶有豐富新聞信息的文本區域和帶有少量信息的背景區域的一類圖像,新聞文本區域與背景區域的區域差異性會非常明顯。由于這些新聞信息是圖像最主要的信息,所以為了對新聞信息進行版權保護,本文提出一種基于新聞圖像的魯棒水印算法,水印算法的重點之一是將圖像的文本區域與其他區域進行區分,從而將版權水印嵌入文本區域,這樣惡意攻擊者企圖破壞嵌入的版權水印時同樣也會對圖像本身造成極大破壞,所以將版權水印嵌入到文本區域會加深對新聞信息版權的保護。
假設將M×M大小的RGB 新聞文本圖像C轉換為灰度圖Cg,由于新聞文本圖像中文本區域與其他區域的灰度值存在較大差異,所以利用灰度值的差異可以將文本區域與其他區域進行區分。本文使用文獻[9]中的OSTU 通過計算Cg的類間方差σ2(k)確定閾值T,灰度值大于T的為文本區域。
式中L為灰度圖Cg的灰度級個數。
將Cg經過OSTU 后得到二值圖像C0,其中文本區域的點灰度值為255,其他區域點灰度值為0。
圖1a)來自于人民網微博發布的新聞文本圖像,從圖中發現文本區域與其他區域存在較大差異,通過OSTU 得到了文本區域與其他區域區分開的二值圖像C0,如圖1b)所示。

圖1 OSTU 前后圖
由于新聞圖像大多都是彩色圖像,所以本文算法考慮的是彩色圖像水印算法,而現有的彩色圖像水印算法嵌入二值水印時通常是在一個通道上進行水印的嵌入,這樣就忽略了通道中存在的能量特性,容易將水印嵌入到能量低的部分中,導致算法的魯棒性不高,單通道上水印的嵌入如下所示:
將新聞文本圖像C轉換為YCbCr 格式得到矩陣CY、CCr、CCb。遍歷C0中各點的灰度值,將灰度值為255 的像素點作為文本區域像素點,得到Cr 通道表示文本區域的像素矩陣ACr。
對ACr進行DWT 變換選擇低頻子帶LLCr,低頻子帶包含著圖像的主要信息,對其進行水印嵌入會有較好的魯棒性[10];然后進行PCA,PCA 能夠在不損失圖像質量的情況下降低圖像的維度。在本文中采用SVD 實現PCA 算法,將LLCr子帶按列相連接就可得到:
式中X表示低頻子帶系數向量。
首先對LLCr進行標準化,公式如下所示:
對LLCrx進行SVD 分解,公式如下:
式中:UCrx為左奇異值矩陣;VCrx表示右奇異值矩陣;σCr表示奇異值。
可以通過計算貢獻率來選擇降低的維度,貢獻率越大的主成分包含的圖像能量也就越大,第一主成分有著最大的能量[11],所以進行PCA 時一般會選取前m個主成分進行保留,其主成分貢獻率和[12]為ACR(m)。計算貢獻率首先要計算標準化后矩陣的協方差矩陣,將協方差矩陣進行奇異值分解后,通過奇異值計算貢獻率,公式如式(7)和式(8)所示:
式中:COV 為協方差矩陣;σ表示協方差矩陣奇異值;m為選取的主成分數。文獻[13]提到ACR(m)的值超過85%時認為選擇的主成分包含了大多數原變量中所包含的信息,假設降低維度至N,N<M2,且ACR(N) >85%,降低維度后的子帶矩陣為LLCrp,將其進行SVD 分解,如式(9)所示,從式中可以看到降維至N的矩陣LLCrp是將子帶LLCr的左奇異值矩陣UCrx與其前N個奇異值組成的矩陣相乘得到。
將N×N的水印圖像進行SVD 分解后得到N個奇異值σW1,σW2,…,σWN,將其嵌入到載體圖像的奇異值中,如式(10)所示:
式中:α為嵌入強度;矩陣為LLCrp嵌入水印后的矩陣。
上述就是在Cr 通道進行水印嵌入的過程。可以發現在單通道進行水印嵌入時,假設主成分個數為m,且由式(8)得到ACR(m)=85%。當嵌入水印的大小N>m時,會有N-m個水印奇異值嵌入到載體圖像第m個之后的N-m個主成分奇異值中。而主成分的貢獻率是依次遞減的,貢獻率和為85%之后的主成分貢獻率非常低,代表著能量非常低,在這些主成分中嵌入水印會導致水印算法的魯棒性下降,同樣對其他通道單獨進行水印嵌入會出現相同的結果。文獻[14-15]對灰度圖像進行PCA 得到具有較大能量的主成分再進行水印的嵌入,文獻[12]使用的是彩色載體圖像,也只是在單個通道進行PCA,通過上述分析得知,在單個通道進行水印嵌入會出現魯棒性下降問題,那么下面假設在新聞文本圖像的多通道進行水印嵌入。
Y 通道表示圖像的亮度分量,在Y 通道進行嵌入會較大影響不可感知性。Cr 和Cb 是色度通道,對人眼的敏感度較小且魯棒性較為相近,因此對Cr 和Cb 進行水印嵌入。文獻[14]指出由式(8)得到的貢獻率之和為85%后的各主成分的貢獻率非常小,所以利用85%作為一個閾值,對一個通道的貢獻率之和為85%的主成分進行水印嵌入之后,剩余的水印信息在另一個通道主成分進行水印嵌入,這樣能利用各通道主成分的能量特性,實現更好的魯棒性。
假設Cb 通道貢獻率之和為85%的主成分數為mCb,水印的大小為N×N,且mCb≤N,那么選擇嵌入的Cb 通道的主成分數為m1=mCb,嵌入的Cr 通道的主成分數為m2=N-m1,組成的主成分矩陣分別是LLCbp和LLCrp,如式(11)和式(12)所示:
式中:UCbx和UCrx表示左奇異值矩陣;σCb和σCr表示LLCb和LLCr的奇異值。
將LLCbp、LLCrp與水印圖像W進行奇異值分解后進行水印嵌入,如式(13)和式(14)所示:
式中:α1和α2表示Cb 和Cr 通道的嵌入強度;σW為水印的奇異值。
通過上述發現當水印圖像信息都嵌入在了Cb 和Cr通道主成分貢獻率之和為85%的具有較大能量的主成分中,從而避免了在單通道嵌入時可能會將水印信息嵌入到貢獻率之和為85%之外的較小能量的主成分中,而將水印嵌入到各通道具有較大能量的主成分中會讓算法具有更好的魯棒性[16]。下面假設Cb 和Cr 通道的矩陣大小分別為4×4,水印圖像矩陣為3×3,將水印圖像分別按照上文所述方法嵌入到單通道和雙通道中,如圖2 和圖3 所示。

圖2 嵌入到Cb 單通道圖

圖3 嵌入到Cb 和Cr 通道圖
從圖2 和圖3 中可以看到,當水印圖像維度大于圖像通道矩陣時,進行PCA 后保留的主成分貢獻率之和為85%的主成分個數有部分水印信息會嵌入到低能量的主成分系數中,例如圖2中σW3就嵌入到低能量系數,奇異值分解后的奇異值0.676 5 中。而在圖3 中可以看到,將σW1和σW2嵌入到Cb 通道貢獻率之和為85%的主成分奇異值中后,剩下的水印奇異值σW3則嵌入Cr 通道貢獻率之和為85%的主成分奇異值3.094 6中,同時Cr和Cb 通道的魯棒性是相近的,嵌入其中會具有更好的魯棒性,驗證了本文提出的算法提升水印魯棒性的可行性。
水印的嵌入流程圖如圖4 所示。

圖4 水印嵌入流程圖
水印嵌入流程表示過程如下:
1)讀取大小為M×M的載體圖像C的灰度圖Cg,讀取大小為N×N的水印圖像W,通過OSTU 算法對Cg進行文本區域分割得到圖像C0。
2)遍歷圖像C0,保存圖像上灰度值為255 的點坐標到列表Hx中。
3)將載體圖像C轉換為YCrCb 格式,提取出Cb 和Cr 通道對應Hx中坐標的像素值,將其放入矩陣ACb和ACr中后進行一級DWT 變換,得到低頻近似子帶LLCb和LLCr。
4)對LLCb子帶進行PCA 計算各主成分的貢獻率,得到各子帶主成分貢獻率之和為85%的主成分數mCb,并按照算法1 選擇嵌入的主成分。
算法1:主成分選取
其中:m1和m2表示LLCb、LLCr子帶PCA 后選擇的前m1和m2個嵌入的主成分數。
5)將LLCb、LLCr的前m1和m2個主成分組成的矩陣LLCbp和LLCrp以及水印圖像W分別進行SVD 分解,采用式(15)進行水印嵌入。
式中:α1和α2為嵌入強度;σWi和σWj為水印圖像的奇異值;i和j表示第i和第j個奇異值。
6)對嵌入水印后的奇異值矩陣進行逆SVD 分解后,通過逆PCA 提升維度得到LL和LL矩陣,將它們進行逆DWT 變換后得到矩陣A和A。
7)將A和A中每個元素放入到Cb 和Cr 通道嵌入水印的坐標位置就得到了嵌入水印的Cb 和Cr 通道圖像,然后通道合成轉換為RGB 格式就得到嵌入水印的圖像。
水印提取流程圖如圖5 所示。

圖5 水印提取流程圖
水印提取流程表示過程如下:
1)將嵌入水印的圖像轉換為YCrCb 格式,將Cb 和Cr 通道按照Hx中的嵌入坐標提取出像素點的像素值,分別形成矩陣BCb和BCr。
2)對BCb和BCr進行一級DWT 變換,分別得到低頻子帶LL和LL。
3)對子帶LL和LL進行PCA,保留前m1個和m2個主成分得到LL和LL,進行SVD 分解得到奇異值σ和σ。
4)將奇異值根據嵌入準則的逆運算得到嵌入奇異值,對其組合得到提取水印的奇異值矩陣S'W,如式(16)和式(17)所示:
式中:i和j表示第i和第j個奇異值。
5)對奇異值矩陣S'W和矩陣UW、VW進行逆奇異值分解,得到提取水印圖像W'。
本文實驗使用的仿真工具為pycharm。實驗選取的載體圖像為1 024×1 024 大小的圖6a)、圖6b)、圖6c)、圖6d)4 幅新聞文本圖像,其中圖6b)和圖6c)都來自于人民網微博,圖6a)和圖6d)來自于人民日報微博。這幾張圖像上的顏色相差較大,并且上面表示文本區域的大小及內容也不相同,用于實驗更能驗證本文算法對文本圖像的普適性。水印圖像為32×32 大小的二值圖像,如圖7 所示。Cr 與Cb 通道嵌入強度分別為1 和0.5。

圖6 載體圖像

圖7 水印圖像
本文采用的描述嵌入水印后圖像不可感知性的標準為峰值信噪比(PSNR)。PSNR 是用來對兩幅圖像之間的失真情況進行對比,PSNR 越高則表示失真越小。公式如式(18)所示:
式中MSE 表示均方差。
對于魯棒性分析采用歸一化相關系數(NC)進行評價。NC 的取值范圍為0~1,NC 值越大,越接近于1,表明水印算法對這種攻擊的魯棒性越好。歸一化相關系數的計算公式如式(19)所示:
式中:Wi,j為原水印各點像素值;W'i,j為提取水印各點像素值;i和j分別是第i行和第j列。
表1 為圖6 進行水印嵌入后的實驗結果。4 幅圖像嵌入水印后在無攻擊時平均PSNR 為45.66 dB,提取水印NC 值都為1.0,有著良好的不可感知性,并且4 幅圖的PSNR 值相差不大,表明本文算法在一般情況下對新聞文本圖像都適用。

表1 無攻擊時水印的嵌入和提取
為檢驗本文算法的魯棒性,對嵌入水印的4 幅圖像進行中值濾波(MF)、均值濾波(AF)、高斯噪聲(GN)、椒鹽噪聲(SP)、斑點噪聲(SN)、左上裁剪(CR TF)、中心裁剪(CR CT)、旋轉(RO)、曝光增強(EU)、曝光減弱(ED)、飽和度增強(SU)、飽和度減弱(SD)、對比度增強(CU)、對比度減弱(CD)、暖度增強(WU)、暖度減弱(WD)、JPEG(JP)、直方圖均衡(HE)、縮放(SC)攻擊后提取水印實驗結果,如表2 所示。

表2 本文算法對常規攻擊的魯棒性(NC)
從表2 中發現,本文算法在面對中值、均值濾波攻擊時圖6a)和圖6d)的性能很好,平均NC 值在0.99 以上,圖6b)和圖6c)也表現良好,平均NC 值在0.96 以上。本文算法對于噪聲具有良好的抵抗性能,得到的NC 值都在0.98 以上。在修改圖像曝光、對比度等攻擊時,本文算法面對攻擊強度的加大,得到的NC 值沒有明顯變化,除此之外在面對縮放攻擊時本文算法表現較好。對于裁剪攻擊,由于文本區域都集中在圖像中心,所以對中心進行大范圍裁剪會導致水印被大幅度去除,這也會導致圖像的有效信息被大量破壞,其中對圖6a)中心區域裁剪400×400 像素后的NC 值只有0.283。在面對旋轉和直方圖均衡攻擊時,旋轉1°時NC 值就有了一定的下降,并且圖6a)和圖6b)經過直方圖均衡后提取的NC值只有0.886 和0.756,因此本文算法抗旋轉和直方圖均衡的能力較差。
為了進一步驗證本文算法的魯棒性,在進行OSTU后,將本文算法與文獻[8]和文獻[11]中的算法進行比較,選擇圖6a)為載體圖像,水印圖像不變,結果如表3所示。

表3 本文算法與文獻[8,11]對常規攻擊的魯棒性(NC)
本文算法在濾波攻擊上NC 均值為0.997,文獻[8]和文獻[11]算法NC 均值分別為0.989 和0.986,表明本文算法的抗濾波攻擊性能最好。三種算法對于噪聲攻擊都表現良好,不過本文算法處于領先地位。本文算法在噪聲攻擊下的NC 均值為0.998,而文獻[8]和文獻[11]的NC均值為0.984 和0.982。本文算法在旋轉攻擊時表現較差,NC 值為0.966,文獻[8]和文獻[11]NC 值略高于本文算法,達到了0.972 和0.985。在抗JPEG 壓縮攻擊上,本文算法與文獻[8]和文獻[11]的NC 值分別為0.990、0.985、0.990,有著較好性能。在抗直方圖攻擊上,三種算法的魯棒性都較差。對于修改飽和度攻擊,文獻[11]最差,NC 均值為0.975,本文算法和文獻[8]NC 均值稍高于文獻[11],分別為0.995、0.991。面對縮放攻擊時,三種算法都具有良好的魯棒性。而在其他攻擊時,本文算法得到NC 值都處于領先地位;在曝光和對比度修改上,本文算法的NC 均值為0.995,文獻[8]和文獻[11]NC均值為0.982 和0.976;在中心裁剪攻擊上,本文算法與文獻[8]和文獻[11]分別為0.982、0.995 和0.976;在修改暖度上,文獻[8]的魯棒性稍差,均值只有0.823,而本文算法與文獻[11]的均值分別為0.992、0.959,本文算法在抗暖度修改的攻擊上有著更好的魯棒性。
以上實驗表明,在魯棒性方面本文利用Cr 和Cb 通道主成分分析的特性,留下了具有較大能量的主成分系數,從而實現增強算法的魯棒性。在與文獻[8]和文獻[11]算法的實驗結果對比中驗證了本文算法對于大部分攻擊具有較強的魯棒性。
本文提出了一種基于新聞文本圖像的魯棒水印算法。對新聞文本圖像提取出了文本區域進行水印嵌入,加深了對圖像的版權保護,并利用載體圖像不同通道之間的能量特性進行水印嵌入,提高了水印算法的魯棒性。實驗結果表明,本文算法對于濾波、噪聲、JPEG 壓縮等攻擊具有較好的魯棒性,驗證了本文算法在載體圖像Cr 和Cb 通道經過PCA 后具有較大能量的主成分中分別嵌入水印的部分信息能夠提高算法的魯棒性。由于本文算法抗旋轉攻擊能力較差,未來將會對水印算法進行優化,以得到更好的算法性能。
注:本文通訊作者為杜慶治。