新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 用于圖像認證的半脆弱水印算法研究

用于圖像認證的半脆弱水印算法研究

作者: 時間:2012-02-11 來源:網(wǎng)絡 收藏


4.2.2水印嵌入的實現(xiàn)
由于JPEG壓縮的不變性,也就是說,如果一個DCT系數(shù)是經(jīng)過某個預先選定的量化步長量化并取整得到的,只要后續(xù)的量化步長小于選定值,則這個DCT系數(shù)可以被精確重建,換句話說,如果某幅圖像預先經(jīng)過某個選定的質(zhì)量因子的JPEG有損壓縮,那么這幅圖像可以對任何大于該選定質(zhì)量因子的后續(xù)JPEG壓縮保持不變,因為原始量化圖像所有DCT系數(shù)都可以精確重建,而如果后續(xù)JPEG壓縮的質(zhì)量因子小于選定值,原始量化圖像的DCT系數(shù)則無法恢復。這個需要預先選定的質(zhì)量因子一般可以設(shè)定為人眼最低可以接受的圖像質(zhì)量因子,也就是說,任何低于該質(zhì)量因子的圖像被視為不可接受的。JPEG標準推薦圖像的質(zhì)量因子在50一75之間均為視覺上可以接受的,因此我們可以選擇50作為預先設(shè)定的質(zhì)量因子,其對應的量化表為DCT系數(shù)的量化步長。


利用前面所述的JPEG壓縮的不變性,首先將原始圖像的8*8塊DCT系數(shù)塊按預定的質(zhì)量因子對應的量化表進行量化,通過對量化后的DCT系數(shù)進行”微調(diào)”來嵌入水印信息比特,再進行DCT反變換得到水印圖像。相同的過程提取出水印,并將其與原始水印信息匹配的百分比和設(shè)定的閾值比較,決定是否通過認證。該算法能夠抵抗所有大于預定質(zhì)量因子的攻擊。


算法中水印信息的選擇是基于圖像內(nèi)容特征的。一種簡單的基于圖像內(nèi)容的特征是每個分塊灰度值的均值的最重要位(MSB ,the Most Significant Bit),即最高位。水印的嵌人算法采用了一種無損數(shù)據(jù)隱藏方法環(huán)形直方圖算法(Circular His-togram Algorithm)。首先把待嵌人水印的圖像分成8*8塊,每塊64個像素通過密鑰被隨機地分為A和B兩組,在每一組中,灰度值直方圖映射為一個環(huán)形,環(huán)形的周長為256個單位,等分為Q個區(qū)間,每個區(qū)間分的弧長為256/O若一個像素灰度值落在某個區(qū)間之內(nèi),則這個區(qū)間的權(quán)重加1,這樣每一組共有犯個權(quán)重加載在環(huán)上。計算每組環(huán)上的加權(quán)平均值,從統(tǒng)計學的角度分析,由于A, B兩組的像素都是隨機選擇的,因而A, B兩組的加權(quán)平均值應非常接近或近似相等。為了在每一個8*8塊中嵌入1比特水印信息,將塊中像素的灰度值作如下修改:
若嵌人比特為”1 ” C`=C+P當像素在A組中;
C`=C-P當像素在B組中;
若嵌入比特為”0″ C`=C-P當像素在A組中;
C`=C+P當像素在B組中;
其中c為待嵌入水印圖像的像素灰度值,c為修改后,即嵌入水印后圖像的像素灰度值,P= 256/Q。若嵌入比特”1″,則A組中的所有像素灰度值增加P,對應到環(huán)上即像素灰度值均順時針方向偏轉(zhuǎn)了一個區(qū)間,每個像素在環(huán)上的位置均順時針轉(zhuǎn)了360/Q度。相應的B組中的所有像素均逆時針方向偏轉(zhuǎn)了相同的度數(shù)。這樣當嵌入比特”10的時候,A組的加權(quán)平均值大于B組,且每個圖像塊灰度值的均值,即選定的圖像特征保持不變。嵌入”0″比特的情況同理可得。通過這種環(huán)形直方圖無損數(shù)據(jù)隱藏算法將由圖像內(nèi)容特征產(chǎn)生的水印信息嵌入了預壓縮后的圖像〔9〕。


4.2.3水印檢測的實現(xiàn)
將接收到的待驗證的圖像先按預定質(zhì)量因子壓縮,恢復出預壓縮后的水印圖像;再依照環(huán)形直方圖算法提取水印:將圖像8*8分塊按選定的密鑰隨機分成A, B兩組,并映射到環(huán)上,計算A, B兩組對應環(huán)的加權(quán)平均值。如果A組的加權(quán)平均值大于B組,則提取出比特”1″,反之則提取出比特”0″。過程將提取出的水印比特與對恢復出的預壓縮圖像再次計算得到的特征信息進行比較匹配,若匹配的百分比大于設(shè)定的域值則圖像通過認證,反之判斷為遭受過惡意篡改。由前面所說的JPEG壓縮的不變性可知,該算法可以抵抗任何高于預定質(zhì)量因子的JPEG壓縮。并能根據(jù)認證過程中不匹配的比特定位遭受篡改的位置,精度為8*8塊。由于嵌人的水印信息是基于圖像內(nèi)容特征的,每幅圖像嵌人的比特信息必定各不相同,因而可以有效地抵抗共謀攻擊〔10〕。
論文中用到的糾錯編碼現(xiàn)在就可以發(fā)揮它的優(yōu)勢了。程序?qū)崿F(xiàn)到此,論文用糾錯解碼的方法得到36*4的提取水印,把這個水印和之前植入的水印信息進行比較,就可以作出是否被篡改的判斷了。
for i=1:36
s1(i)=x1(i,1)+x1(i,2)+x1(i,3)+x1(i,5);
s2(i)=x1(i,2)+x1(i,3)+x1(i,4)+x1(i,6);
s3(i)=x1(i,1)+x1(i,2)+x1(i,4)+x1(i,7);
s1(i)=mod(s1(i),2);
s2(i)=mod(s2(i),2);
s3(i)=mod(s3(i),2);
if (s1(i)==0s2(i)==0)(s3(i)==1)
x1(i,7)=~x1(i,7);
elseif (s1(i)==0s2(i)==1)(s3(i)==0)
x1(i,6)=~x1(i,6);
elseif (s1(i)==0s2(i)==1)(s3(i)==1)
x1(i,4)=~x1(i,4);
elseif (s1(i)==1s2(i)==0)(s3(i)==0)
x1(i,5)=~x1(i,5);
elseif (s1(i)==1s2(i)==0)(s3(i)==1)
x1(i,1)=~x1(i,1);
elseif (s1(i)==0s2(i)==1)(s3(i)==0)
x1(i,3)=~x1(i,3);
elseif (s1(i)==1s2(i)==1)(s3(i)==1)
x1(i,2)=~x1(i,2);
end;
end;


4.3 實驗結(jié)果與分析
由算法寫的程序在Matlab6.5平臺上仿真,使用標準水印實驗圖像cameraman(256*256)(如圖4.1)作為認證圖像。由于Matlab的易用性,我只要用個簡單的函數(shù)imread()就能讀取cameraman圖像為我用了。

圖4.1 Cameraman
Matlab功能強大的函數(shù)功能使我生成高斯正態(tài)序列也變得簡單了。如下的程序能生成36*4的信息。
randn(’state’,1106);
g1=randn(36,4);
for i=1:36
for j=1:4
if g1(i,j)>=0
w0(i,j)=1;
else w0(i,j)=0;
end;
end;
end;
加入的高斯正態(tài)序列生成的圖片,也即要加入的水印圖像如圖4.2。

圖 4.2 水印圖像
這些屬于預處理的工作做好后,就可以實現(xiàn)嵌入了。嵌入水印是所有所有算法中最重要的部分,這部分寫的好壞能很大程度上影響算法的性能。應用本算法嵌入水印后的圖像為4.3圖。

圖 4.3 嵌入水印后的圖像
使用語句imwrite(f,’attackf.jpg’,'jpg’,'quality’,30)即實現(xiàn)了30%JPEG壓縮。攻擊后的圖像為圖4.4。

圖 4.4 30%jpeg壓縮后的圖像
我們知道,在評價一個算法好壞的時候有兩中標準,一種是主觀的一種是客觀的。首先在主觀上我們可以很直接的說,算法能抵抗壓縮因子為30%的JPEG壓縮。當我們把壓縮因子提高到20%時的圖像如圖4.5。


這樣在主觀上我們就能看出來壓縮因子在20時,算法就有一定的局限性了。對JPEG壓縮攻擊后的圖像進行水印提取后與嵌入的水印進行相關(guān)系數(shù)運算結(jié)果是r11=corr2(w0,w11)=1;snr11=31.2909。對余下的九種攻擊,我們也給出圖像,并求其相關(guān)系數(shù)和信噪比。由于算法加入了糾錯編碼,使得水印在遭受惡意篡改后所求出的相關(guān)系數(shù)是0,而在遭受了善意攻擊后的相關(guān)系數(shù)則是1。


所以得出結(jié)論如下:本算法能有效抵抗高斯低通濾波,直方圖均衡化,圖像增亮和變暗,對增加對比度,降低對比度,添加高斯噪聲增黑白像素點,添加乘積性噪聲則性能下降。也就是說本算法能很好的實現(xiàn)對圖像的認證功能。但算法對篡改的定位不是很有效,只能在主觀上判斷篡改部分。

圖 4.5 20%jpeg壓縮后的圖像
snr=30.3054 r=1
以下依次給出論文所做的其它攻擊后的圖像,如圖4.6-4.14。

圖4.6高斯低通濾波后的圖像 圖4.7 直方圖均衡化后的圖像
snr=31.067 r=1 snr=31.126 r=1

圖4.8 圖像增亮處理后的 圖4.9 圖像變暗處理后的
snr= 30.596 r=1 snr=30489 r=1

圖4.10 增加對比度后的圖像 圖4.11 降低對比度后的圖像
snr=30.158 r=0 snr=31.268 r=0

圖4.12 添加高斯噪聲后的圖像 圖4.13 增加黑白點像素后的圖像
snr=31.564 r=0 snr=31.357 r=0
圖4.14添加乘積性噪聲后圖像
snr=31.874 r=0

第五章 總結(jié)與展望
5.1 本文所做的工作總結(jié)
本論文主要是研究了一個用于的水印算法,并對其有效性進行了評價。下面就在本論文寫作過程中作的工作進行一下總結(jié):


一. 針對現(xiàn)在數(shù)字媒體應用的日益廣泛和盜版現(xiàn)狀的擔憂,提出了數(shù)字水印的概念。并進一步闡述了數(shù)字水印的必要性和重要性。然后對于特殊應用上,比如方面的要求,引出了的概念。之后論文還詳細介紹了脆弱水印的發(fā)展歷程和研究現(xiàn)狀。


二. 論文具體解釋了數(shù)字水印的定義和的技術(shù)要求,并詳細介紹了國內(nèi)外做的方法,在此基礎(chǔ)上介紹了評價水印算法優(yōu)劣的幾個指標。最后對本次畢業(yè)設(shè)計要用到的仿真平臺Matlab6.5進行了簡單的介紹。


三. 針對要實現(xiàn)對圖像進行認證這一目標,介紹了認證算法的一般要求,然后就提出了一個可用于圖像認證的半脆弱水印算法。介紹了算法的思路,并畫出了算法的方框圖。


四. 這部分詳細說明了算法各個部分的實現(xiàn)過程。包括水印的預處理的實現(xiàn),水印嵌入的實現(xiàn)和水印檢測的實現(xiàn)。之后把仿真后的輸出結(jié)果直觀的貼在論文里,并給出了攻擊后圖像對于原圖像的信噪比和水印的相關(guān)系數(shù)。再加上我們的主觀評價,得出了對算法的評價。


5.2 工作展望
數(shù)字水印技術(shù)的理論基礎(chǔ)依然非常薄弱,大多數(shù)水印算法還是經(jīng)驗性的。主要有以下幾個方面還需努力:


〔1〕 從現(xiàn)實的角度看,水印系統(tǒng)必然要在算法的魯棒性、水印的嵌入信息量以及不可覺察性之間達到一個平衡,這涉及魯棒性算法的原理性設(shè)計、水印的構(gòu)造模型、水印能量和容量的理論估計、水印嵌入算法和檢測算法的理論研究等方面。如何確定平衡點仍是一個難題,目前大多數(shù)水印算法均利用經(jīng)驗而不是從理論上解決此問題;


〔2〕如何將水印技術(shù)與現(xiàn)行國際圖像及視頻壓縮標準,如JPEG2000和MPEG-4(Moving Picture Experts Group-4,運動圖像專家組)相結(jié)合,以及如何將水印技術(shù)應用于DVD工業(yè)標準中;


〔3〕 所有權(quán)的證明問題還沒有完全解決,就目前已經(jīng)出現(xiàn)的很多算法而言,攻擊者完全可以破壞掉圖像中的水印,或復制出一個理論上存在的”原始圖像”,這導致文件所有者不能令人信服地提供版權(quán)歸屬的有效證據(jù)。因此一個好的水印算法應該能夠提供完全沒有爭議的版權(quán)證明,在這方面還需要做很多工作。目前將水印作為版權(quán)保護的法律證據(jù)還不可能;


〔4〕聲頻和視頻水印的解決方案還不完善,大多數(shù)的視頻水印算法實際上是將其圖像水印的結(jié)果直接應用與視頻領(lǐng)域中,而沒有考慮視頻應用中大數(shù)據(jù)量以及近乎實時的特性。從今后的發(fā)展上看,水印在包括DVD等數(shù)字產(chǎn)品在內(nèi)的視頻和音頻領(lǐng)域?qū)⒂袠O為廣闊的應用前景。因此如何設(shè)計成熟的、合乎國際規(guī)范的水印算法仍然懸而未決;

〔5〕現(xiàn)有水印算法中在原理上有許多雷同之處,但目前國內(nèi)外的工作尚未能對這些有內(nèi)在聯(lián)系的不同算法中的共性問題進行高度提煉和深入的理論研究,因而缺乏對數(shù)字水印作進一步研究具有指導意義的理論結(jié)果。


從目前看大多數(shù)水印算法本質(zhì)上都沒什么差別,且在嵌入過程中均是對PN(Pseudo Noise Sequence,偽隨機序列)序列進行調(diào)制并結(jié)合掩蔽特性,在檢測過程中使用基于相關(guān)法的假設(shè)檢驗。水印算法的設(shè)計不僅要考慮一般性的由標準數(shù)據(jù)處理過程導致的魯棒性問題,而且要考慮由于惡意攻擊而導致的魯棒性問題。前面已經(jīng)提到了幾種普遍的攻擊類型,針對性的水印策略和方法也在研究中。一句話,水印應該有足夠的冗余設(shè)計以保證能夠抵抗各種攻擊行為。在版權(quán)保護方面,還需要考慮一些額外的方面。一個問題是如果有很多水印被嵌入到圖像中,如何證明那個最先被嵌入的。此問題的解決也許需要數(shù)字時間標識或水印等級等方法。而且現(xiàn)在已經(jīng)可以看出,一個水印算法僅僅有足夠的魯棒性不足以保證解決有效版權(quán)問題,即使能夠得到原始數(shù)據(jù)。更進一步的講,水印算法應該是非對稱的、單向的、不可逆的。


雖然已經(jīng)有商業(yè)化的水印系統(tǒng),但對水印的研究還遠未成熟,許多問題如魯棒性、真?zhèn)舞b別、版權(quán)證明、網(wǎng)絡快速自動驗證等方面仍然還需要比較完美的解決方案〔11-14〕。


上一頁 1 2 3 4 5 6 下一頁

關(guān)鍵詞: 圖像認證 半脆弱水印

評論


技術(shù)專區(qū)

關(guān)閉