陶孟益,唐 軍,楊恒伏,喻廣武,王鐵石
(湖南第一師范學院信息科學與工程系,湖南長沙410205)
如今數字媒體已廣泛進入人們生活的各個方面,給人們的生產、生活帶來了極大的方便。但同時信息處理技術的快速發展也使得攻擊者可以很容易未經授權地分發、復制數字媒體,甚至任意篡改數字媒體。如何認證數字媒體內容與檢測惡意篡改成為數字媒體產業所面臨的嚴峻考驗。半脆弱水印技術在保護媒體版權的同時,能抵抗一定程度的惡意攻擊。近年來,半脆弱水印作為一種有效的內容認證與篡改檢測技術引起了眾多研究人員的關注[1]。劉敏等結合混沌映射與LSB(Least Significant Bits)替換技術提出一種應用于圖像篡改檢測的脆弱水印算法[2],將水印信息嵌入在置亂后圖像的最低有效位平面中。算法脆弱性好但不能抵抗通常的內容保持攻擊。崔尚勇提出一種基于均值運算的半脆弱水印算法[3],首先計算出圖像各分塊內子塊均值,然后根據子塊系數分布規律生成零水印,算法透明性和魯棒性較好,能抵抗常規圖像處理操作,且具有一定的篡改定位能力。高鐵杠等提出一種基于Hash和漢明碼的半脆弱水印方案。根據logistic混沌映射定位圖像各分塊的相關塊,并在各圖像分塊中偽隨機選取MSB位生成比特序列,進一步進行漢明碼編碼,由編碼序列比特替換LSB位以嵌入水印。該方案具有較好的圖像保護能力與篡改檢測能力。武鳳翔等[5]提出一種半脆弱水印認證算法,從小波低頻系數中提取圖像特征作為水印,將其嵌入到圖像分塊中,算法透明性好,抵御噪聲、有損壓縮等非惡意攻擊的同時,可有效檢測定位剪切、替換等惡意攻擊。王友衛等[6]得出一種結合相關塊組的半脆弱水印算法,輪流使用每個子塊組內特定塊生成水印,而將水印嵌入到子塊組內的其他塊中。算法透明性較好,有較強的抵抗偶然攻擊能力,且能較好地定位裁剪、替換等操作攻擊。然而這些篡改檢測算法[3-6]只能檢測與定位圖像塊級篡改,定準精度有待提高。為較好地實現版權保護和高精度篡改檢測、定位,在充分挖掘圖像特性的基礎上,結合自適應LSB替換技術,設計基于自適應半脆弱水印篡改檢測方案。
為增強水印提取的可靠性,水印嵌入時根據MSB(Most Significant Bits)位確定各像素水印嵌入比特位數,然后將水印信號嵌入到LSB位中。其具體步驟如下:
1)載入原始圖像I和二值水印圖像W。
2)抽取圖像高k位比特生成原圖MSB殘差圖,圖像高k位比特不用于水印嵌入,而僅用于計算各像素水印嵌入比特位數。
3)給定用戶密鑰key,利用混沌映射對水印圖像進行加密處理,得加密水印信號W'。
4)根據MSB殘差圖計算各像素自適應水印比特位數。由MSB圖像計算出各像素Iij所在s×s鄰域均值aveij,考慮到人眼的亮度非線性屏蔽特性,可經由aveij刻畫出亮度敏感因子為


式中:x為鄰域Oij內任意像素值。
綜合考慮亮度、紋理特性,集成圖像視覺特性因子為

再將視覺因子λij歸一化到區間[0,7-k],即獲得圖像各像素自適應水印嵌入比特數numij。
5)對圖像I中各像素Iij,應用LSB替換策略由加密水印比特替換其numij位LSB比特,直到全部加密水印信號嵌入完畢,即生成含水印圖像。
水印提取基本是水印嵌入的逆過程,主要技術步驟如下:
1)載入認證圖像I',給定用于特性計算的高MSB比特位數k。
2)抽取圖像I'各像素高k位MSBs,生成殘差MSB殘差圖。
3)根據水印嵌入過程步驟4)相同方法,計算出自適應水印嵌入比特數numij,由于水印嵌入僅在各像素低numij位進行,而numij<7-k,水印嵌入根本不會改變高k位MSB殘差圖,因而水印嵌入前后均由MSB殘差圖計算出的各像素水印嵌入比特位數numij是相同的。
4)直接提取認證圖像各象素的低numij位LSBs得到numij位比特信息,0≤s<numij。采用多數原則即可恢復加密水印信號W',其中元素為
式中:xij是像素Iij的像素值,而0≤i<m,0≤j<n;m,n為載體圖像和水印圖像大小,下文同。
而圖像紋理特性則可由鄰域內像素與均值最大差值來近似計算

5)最后利用給定用戶密鑰key對W'進行解密以恢復水印信號。
圖像認證與篡改檢測依賴于原始水印W與恢復水印W^,詳細過程描述如下:
1)計算出恢復水印W^與原始水印的歸一化相關系數為

式中:?為異或運算表示取反運算。
2)如果NC=1則表示圖像未遭受任何攻擊;如果T<NC<1(其中T為用戶指定閾值,且T∈(0.5,1),則認為遭受到通常的內容保持攻擊;否則圖像遭受到惡意攻擊,進行步驟3)進行篡改檢測與定位。
3)篡改檢測與定位主要步驟為:
(1)首先根據原始水印與恢復水印獲得水印差圖像為

(2)然后利用掃描線探測法出差圖像中各行白色像素點(錯誤檢測像素)距離之和,再除以差圖像中白色像素總數,得到相鄰白色像素點間平均距離L,并對差圖像執行L×L的中值濾波以去除錯誤檢測引起的噪聲干擾。
(3)使用L×L的結構元素實施數學形態學膨脹運算,以連接水印檢測錯誤形成的“空洞”。
(4)再進一步使用大小為(L+2)×(L+2)的結構元素來實施腐蝕運算,以消除膨脹可能造成的邊界擴大效應。
(5)最后,運用大小為3×3的結構元素以實施膨脹運算,從而定位出與實際篡改相符的圖像區域。
該算法在VC6.0環境下得以實現,實驗中以256×256的二值圖像為水印,如圖1所示。閾值T取值0.7。為驗證算法有效性,針對大量不同類型的大小為256×256的8 bit深度灰度圖像進行了測試,圖2顯示了一個水印嵌入測試示例,未遭受攻擊時恢復出水印與原始水印完全一致。從視覺上看,人眼覺察不出隱秘圖像中水印嵌入所引起的人為痕跡。


圖2 水印嵌入
更為廣泛深入的隱秘性測試結果由表1所列出,隱秘圖像視覺質量由峰值信噪比予以客觀評價。從表1可以發現,該算法所生成的隱秘圖像PSNR平均高達37.30 dB,隱秘圖像視覺質量好。

表1 隱秘圖像視覺質量PSNR dB
表2以Lena圖像為例,給出了算法對3×3平均濾波、3×3中值濾波、輕度噪聲迭加、JPEG壓縮(質量因子85)等內容保持攻擊的魯棒測試效果,其NC值可達0.74(T<0.7)以上,說明提出算法對通常的內容保持攻擊是魯棒的。

表2 不同算法對內容保持攻擊操作的魯棒性
另一方面,以剪切、復制粘貼等惡意攻擊為例(見圖3),測試算篡改檢測與定位能力,其篡改檢測與定位效果如圖4所示。從圖中可以看出,該方案能有效形成一個緊湊的篡改區域,較為準確地檢測并定位圖像所遭受的篡改。同時方案能將篡改定位到像素級,而通常的篡改檢測算法其檢測定位精度只能是圖像塊級,如表3所示。

圖3 惡意篡改圖

圖4 篡改檢測與定位

表3 不同方案的篡改定位精度
結合自適應半脆弱水印技術,設計與實現了一種高精度圖像篡改檢測方案。該方案水印嵌入過程較好地利用了圖像視覺屏蔽特性,算法透明性高。方案對通常的內容保持攻擊是魯棒的,并采用數學形態學濾波以較高精度檢測與定位圖像篡改區域。實驗表明該方案是可行的,可應用于網絡環境數字圖像內容認證與篡改檢測。
:
[1]陳自剛,何金枝.基于JPEG XR的半脆弱數字水印技術研究[J].電視技術,2012,36(15):25-27.
[2]劉敏,陳志剛,鄧小鴻.基于混沌和脆弱水印的圖像篡改檢測算法[J]. 計算機應用,2013,33(5):1371-1373.
[3]崔尚勇.基于均值運算和系數分類的半脆弱水印算法[J].計算機工程,2010,36(21):152-156.
[4]高鐵杠,譚琳,曹雁軍.基于Hash函數和漢明碼的半脆弱水印算法[J]. 光電子·激光,2012,23(9):1808-1814.
[5]武鳳翔,岳曉麗,徐江.基于分塊的小波域圖像半脆弱水印認證算法[J]. 鄭州大學學報:工學版,2012,33(2):10-13.
[6]王友衛,劉元寧,朱曉冬.用于圖像內容認證的半脆弱水印新算法[J]. 浙江大學學報:工學版,2013,47(6):969-976.