季平,秦川
上海理工大學(xué)光電信息與計算機(jī)工程學(xué)院,上海200093
基于多碼本矢量量化的圖像篡改恢復(fù)
季平,秦川
上海理工大學(xué)光電信息與計算機(jī)工程學(xué)院,上海200093
提出一種用于數(shù)字圖像篡改檢測與內(nèi)容恢復(fù)的自嵌入脆弱圖像水印算法.對原始圖像每個不重疊分塊進(jìn)行基于邊緣復(fù)雜度的內(nèi)容分析,選擇不同大小的矢量量化碼本進(jìn)行分塊壓縮,可獲得相應(yīng)的標(biāo)識符和表示圖像分塊主要內(nèi)容的索引值以構(gòu)成壓縮碼.將其復(fù)制多份后作為參考比特,通過密鑰嵌入至其他多個分塊中.用于篡改定位的認(rèn)證比特則被嵌入每個分塊本身.由于在多碼本矢量量化協(xié)同下生成的參考比特具有較高的內(nèi)容表示效率,該算法在篡改率相同的條件下可取得更理想的內(nèi)容恢復(fù)性能,這一結(jié)論得到了實(shí)驗結(jié)果的驗證.
脆弱水?。皇噶苛炕?;多碼本;篡改檢測;內(nèi)容恢復(fù)
近年來,隨著個人電腦和寬帶互聯(lián)網(wǎng)的蓬勃發(fā)展,多媒體數(shù)據(jù)的使用日漸增長,其傳播方式更加便捷,但同時帶來的問題是:數(shù)字圖像在傳輸過程中,一些別有用心的人可能會利用圖像處理工具輕而易舉地進(jìn)行篡改以達(dá)到非法的目的,因此不能保證從互聯(lián)網(wǎng)下載到的數(shù)字圖像是真實(shí)的.在這種背景下,對于數(shù)字圖像知識產(chǎn)權(quán)(intellectual property rights,IPR)的保護(hù),特別是對圖像的完整性與真實(shí)性的保護(hù),已經(jīng)成為一個十分重要的問題,受到了越來越多的關(guān)注.許多研究者就數(shù)字圖像處理的認(rèn)證問題開展了大量的深入的研究工作[1-5].
傳統(tǒng)的數(shù)字圖像認(rèn)證方法是對接收到的圖像進(jìn)行真?zhèn)伪鎰e,其中包括采用經(jīng)典密碼學(xué)中的哈希(hash)函數(shù)來驗證圖像數(shù)據(jù)的完整性.如果接收到的圖像的哈希值等于原始圖像的哈希值,那么接收到的圖像可以被視為完好無損的,否則判斷為被篡改過的,但這類認(rèn)證方法無法對圖像中的篡改區(qū)域進(jìn)行準(zhǔn)確定位.為了彌補(bǔ)這一不足,文獻(xiàn)[6-8]提出了脆弱圖像水印方法,可以實(shí)現(xiàn)圖像的完整性認(rèn)證與篡改區(qū)域的定位.文獻(xiàn)[7]針對多媒體數(shù)據(jù)的冗余特性設(shè)計了脆弱圖像水印算法,計算隨機(jī)選取像素灰度值中除了最低有效位(least significant bit,LSB)之外的其他位的校驗值,再嵌入到圖像像素的最低有效位中,從而實(shí)現(xiàn)了水印信息的認(rèn)證.雖然該方法的安全性不高,且篡改區(qū)域定位的準(zhǔn)確性也較差,但畢竟是脆弱圖像水印的早期代表文獻(xiàn)之一.文獻(xiàn)[8]提出了一種自適應(yīng)水印嵌入容量的圖像認(rèn)證算法,主要原理是將圖像分為互相重疊的子塊,再由各子塊中的像素決定,并將它位于子塊中心像素的LSB中.根據(jù)需要嵌入水印的像素所處分塊區(qū)域的復(fù)雜度,自適應(yīng)地調(diào)整嵌入的位數(shù).該方法能夠生成高質(zhì)量的含水印圖像,同時又可以準(zhǔn)確定位圖像中被篡改的區(qū)域.文獻(xiàn)[6-8]雖然可以對數(shù)字圖像進(jìn)行完整性認(rèn)證并且定位篡改區(qū)域,但是無法進(jìn)一步對圖像中的篡改區(qū)域進(jìn)行內(nèi)容恢復(fù).
鑒于此,近年來提出的脆弱圖像水印算法著重考慮了實(shí)現(xiàn)圖像篡改定位后的內(nèi)容恢復(fù).由于可進(jìn)行內(nèi)容恢復(fù)算法嵌入的水印通常由原圖像本身的主要內(nèi)容生成,此類脆弱水印算法也被稱為自嵌入水?。?-13].早期該類方法主要是將用于內(nèi)容恢復(fù)圖像的水印信息復(fù)制多份后分別嵌入圖像的其他分塊,以提高完全恢復(fù)的概率[14-15].其中,文獻(xiàn)[14]提出了一種分層的脆弱水印算法,用于圖像的篡改定位與內(nèi)容恢復(fù),其原理是將平均亮度信息用于生成參考比特與認(rèn)證比特,并根據(jù)隨機(jī)序列將水印信息隱藏在圖像的其他分塊中,但當(dāng)隱藏某分塊亮度信息的對應(yīng)分塊也被篡改時,就無法進(jìn)行內(nèi)容恢復(fù)了.文獻(xiàn)[15]提出了一種有效的圖像恢復(fù)雙重水印方案,可適用于大面積篡改情況.該方法將每個圖像分塊的水印信息復(fù)制兩份分別藏入其他的兩個圖像分塊,這樣即使其中一份水印信息被破壞,也有再次恢復(fù)的機(jī)會.實(shí)驗結(jié)果表明,雖然該方法在圖像的篡改率大于50%的情況下仍可以進(jìn)行恢復(fù),但是恢復(fù)效果只能達(dá)到可以模糊識別的程度,故視覺質(zhì)量并不理想.另外,當(dāng)藏入圖像分塊中的兩份恢復(fù)水印同時被破壞時,也無法通過取出參考水印進(jìn)行有效的恢復(fù).因此,此類方法無論嵌入多少份,其恢復(fù)質(zhì)量與圖像被篡改的面積沒有關(guān)系.文獻(xiàn)[16]提出了一種具有彈性恢復(fù)質(zhì)量的自嵌入水印算法,將用于內(nèi)容恢復(fù)的參考數(shù)據(jù)分散嵌入整幅圖像,避免了篡改一致性問題(tampering coincidence problem,TCP),且當(dāng)篡改面積越小時,可提取出的參考數(shù)據(jù)越多,恢復(fù)質(zhì)量也越好.文獻(xiàn)[17]給出了一種基于分享機(jī)制的自嵌入水印算法,將圖像像素的高5位(5 most significant bits,5MSB)比特通過隨機(jī)矩陣交織在一起,當(dāng)恢復(fù)篡改塊的內(nèi)容時,其他完好塊中的信息也可以參與恢復(fù).因此,篡改面積越小,可利用的信息就越多,恢復(fù)質(zhì)量也就越好,但可以恢復(fù)的最大篡改面積較小.不同于上述算法采用圖像的像素值信息作為水印數(shù)據(jù),文獻(xiàn)[18]提出一種基于矢量量化(vector quantization,VQ)的脆弱圖像水印,通過生成的隨機(jī)序列將圖像每個分塊對應(yīng)的碼本索引嵌入到其他分塊中,恢復(fù)時再根據(jù)取出索引值在碼本中對應(yīng)的碼字完成篡改區(qū)域的內(nèi)容恢復(fù).
為了進(jìn)一步提高用于內(nèi)容恢復(fù)的參考比特嵌入效率,即用相同或更短長度的參考比特來實(shí)現(xiàn)相同或更佳的圖像恢復(fù)質(zhì)量,本文提出一種基于多碼本矢量量化的自嵌入圖像脆弱水印算法.首先提取原始圖像的邊緣特征,再根據(jù)每個不重疊分塊的邊緣復(fù)雜度使用相應(yīng)的矢量量化碼本,獲得可表示圖像主要內(nèi)容的索引值.在每個索引值前加入相應(yīng)的標(biāo)識符構(gòu)成壓縮碼,并將其復(fù)制多份后作為參考比特.通過密鑰將參考比特置亂后嵌入其他分塊,由于在多碼本矢量量化協(xié)同下生成的參考比特可以更有效地表示圖像內(nèi)容信息,本文算法在篡改位置位于圖像中的較復(fù)雜區(qū)域時,可取得更理想的內(nèi)容恢復(fù)性能.
本文所提出的自嵌入水印算法嵌入的水印信息包括兩個部分:1)認(rèn)證比特,用于準(zhǔn)確定位圖像中被篡改的區(qū)域.2)參考比特,用于恢復(fù)篡改區(qū)域的內(nèi)容.本文算法的嵌入過程如圖1所示:
圖1 水印嵌入流程圖Figure 1 Flowchart of watermark embedding procedure
為了提高篡改恢復(fù)性能,本文算法在生成參考比特時對圖像采用的是多碼本下的VQ壓縮,其主要思想如下:對于圖像中的復(fù)雜區(qū)域,采用較大的碼本增加壓縮比特長度,以獲得較高的恢復(fù)質(zhì)量;對于圖像中的平滑區(qū)域,采用較小的碼本提高參考比特的嵌入效率.為此,首先對原始圖像I進(jìn)行邊緣檢測.然后,根據(jù)復(fù)雜程度將圖像劃分為4類,再用對應(yīng)的VQ碼本對每類圖像分快進(jìn)行壓縮.本文算法采用4種不同大小的VQ碼本,分別為L=128,256,512,1 024,于是得到VQ索引值;將獲得的VQ索引值添加相應(yīng)的標(biāo)識符,復(fù)制多份后作為參考比特.認(rèn)證比特由參考比特與原始圖像像素中的全部高5位比特(5 MSB)共同決定.最后,將認(rèn)證比特與參考比特嵌入到原始圖像的低3位(3 LSB)中,生成水印圖像Iw.
1.1VQ算法簡介
VQ算法是由Gray等人提出的一種基于訓(xùn)練序列的壓縮算法[19].作為一種有損數(shù)據(jù)壓縮的算法,VQ算法常用于基于塊編碼規(guī)則的圖像壓縮處理.首先,將待壓縮的原圖像劃分為互不重疊且大小相同的分塊,設(shè)每個分塊中有k個像素.將這k個像素按從左至右、從上至下的順序進(jìn)行排列,構(gòu)成一個一維向量v={v1,v2,···,vk}.顯然,從不同的分塊中所取出的k個像素值所構(gòu)成的向量是不盡相同的.在用VQ算法壓縮前,需要通過LBG算法[20]建立一個含有L個碼字的碼本CB={ci|I=0,1,···,L-1},碼字,其中L表示碼本的大小,i表示碼字ci的索引值.LBG算法的基本原理是:隨意選取t個圖像塊作為碼矢量,由這t個碼矢量將所有的圖像塊劃分為t個集合,使每個集合中的圖像塊均與各碼矢量距離中對應(yīng)的碼矢量的距離最小.由這t個集合的重心,得到t個新的碼矢量.如果這些碼矢量與原來的碼矢量變化不大,就完成了碼書的訓(xùn)練,否則重新選取碼矢量.簡而言之,它是一種基于最近鄰原則把訓(xùn)練矢量分配到與它歐氏距離最小的碼字的簇中,并不需要知道輸入矢量的概率分布,而是通過訓(xùn)練矢量集和一定的迭代算法來逼近最優(yōu)的碼本,所以是一種建立VQ碼本的簡單有效的方法.
對每個圖像分塊進(jìn)行壓縮時,根據(jù)式(1)計算向量v與每個碼字之間的歐氏距離dis(v,ci),最終確定歐氏距離取得最小值的ci?,并記錄其索引值i?,即根據(jù)式(2)將i?轉(zhuǎn)換成二進(jìn)制比特,作為原有的圖像塊向量v的壓縮結(jié)果.因此,每個圖像分塊可用l=lb L個比特表示,如圖2所示.
圖2 VQ算法示意圖Figure 2 An illustration of VQ algorithm
進(jìn)行VQ解壓時,將索引值i?所對應(yīng)的在碼本CB中的碼字向量取出,即可完成對圖像分塊的解壓恢復(fù).在壓縮過程中,選取碼字向量與原始圖像分塊向量存在一定的失真,所以VQ壓縮是一種有損壓縮算法.VQ圖像壓縮算法的壓縮率、解壓圖像質(zhì)量與碼本大小L相關(guān),如表1所示.從表1中可以得出,隨著所使用碼本的增大,解壓圖像的質(zhì)量有所提高,但壓縮率有所降低.
表1 VQ壓縮率、解壓圖像質(zhì)量與碼本大小之間的關(guān)系(k=16)Table 1 Relationship among VQ compression ratio,the quality of decompressed image and the size of codebook(k=16)
1.2區(qū)域分類
本節(jié)主要采用邊緣檢測的方法對原始圖像進(jìn)行區(qū)域分類.本文算法進(jìn)行區(qū)域分類的目的是對位于圖像復(fù)雜度較高的區(qū)域采用較大的碼本進(jìn)行VQ壓縮,對位于圖像平滑的區(qū)域采用較小的碼本進(jìn)行VQ壓縮,以提高參考比特的表示效率.區(qū)域分類的主要過程如圖3所示:
圖3 區(qū)域分類流程圖Figure 3 Flowchart of image region classification
首先,對原始圖像I進(jìn)行邊緣檢測.設(shè)I的尺寸為h×w,共有N(N=h×w)個像素,且h和w均為4的倍數(shù).本文邊緣檢測采用Sobel檢測算子[20],輸出1幅二值圖像Ib,其中復(fù)雜位置用1表示,平滑位置用0表示,如圖4所示.從圖4(b)中可以看到,Lena圖像的邊緣,即復(fù)雜區(qū)域被檢測出來,以白色顯示;平滑區(qū)域以黑色顯示.然后,將Ib劃分為互不重疊的4×4分塊Bn(n=1,2,···,N/16),統(tǒng)計每個子塊Bn中所包含1的數(shù)目Cn(0≤Cn≤16).那么,當(dāng)Cn越大時,分塊Bn所處的區(qū)域越復(fù)雜,反之越平滑.對所有Bn按其區(qū)域復(fù)雜度進(jìn)行排序(即根據(jù)Cn按降序排列),獲得集合,且滿足再將集合S按式(3)等分為4個子集S1、S2、S3、S4,每個子集中的元素即圖像分塊的數(shù)目均為N/64.這樣可將原始圖像的分塊分為4類,如式(3)所示:
圖4 圖像邊緣檢測結(jié)果Figure 4 Result of image edge detection
當(dāng)原圖I中的分塊Bn屬于子集S1中時,Bn所處區(qū)域較復(fù)雜,在后續(xù)進(jìn)行VQ壓縮時應(yīng)使用較大的碼本.雖然降低了壓縮率,但即使Bn被篡改,在接收端進(jìn)行內(nèi)容恢復(fù)時的質(zhì)量也會提高.由于進(jìn)行VQ壓縮前已對原圖像進(jìn)行邊緣檢測,并確定了每個分塊所對應(yīng)的VQ碼本,所以就運(yùn)算時間而言,本文算法與使用單碼本的算法差異并不大.
1.3水印嵌入過程
對圖像完成基于分塊邊緣復(fù)雜度的區(qū)域分類后,再進(jìn)行水印信息的生成和嵌入.
1.3.1參考比特的生成
對屬于S1、S2、S3、S4類型的分塊,分別采用大小L=1 024,512,256,128的VQ碼本進(jìn)行壓縮,以獲得對應(yīng)的索引值.由于使用了4個不同的VQ碼本,為了在接收端解碼恢復(fù)時進(jìn)行區(qū)分,本文在每個索引值前加入一個2比特的標(biāo)識符,分別對應(yīng)4個大小不同的碼本.然而,如果對圖像的每個分塊A僅生成一份標(biāo)識符與一份索引值,那么當(dāng)分塊A與含有A中恢復(fù)信息的分塊A'同時被攻擊者篡改時,將無法恢復(fù)A中的內(nèi)容.因此,本文將標(biāo)識符與索引值均復(fù)制λ份(λ為正整數(shù)),以便給接收端提供多次恢復(fù)的機(jī)會.具體來說,對于屬于類型Sm的分塊Bn,采用對應(yīng)大小為L=211-m的VQ碼本進(jìn)行壓縮,可得到11-m個索引值比特,再將這11-m個索引值比特和對應(yīng)的2比特的標(biāo)識符復(fù)制λ份,可獲得分塊Bn的長度為λ(13-m)的參考比特.不同類型分塊對應(yīng)的參考比特長度的具體數(shù)據(jù)如表2所示.根據(jù)2.1節(jié)所述,屬于S1、S2、S3、S4類型的分塊數(shù)均為N/64,故整幅圖像中N/16個分塊總共可以獲得的參考比特數(shù)lr為21λN/32,如式(4)所示:
表2 不同類型分塊對應(yīng)的參考比特長度Table 2 Lengths of reference-bits corresponding to the blocks of different types
圖5給出了圖像分塊參考比特生成的例子.假設(shè)圖像中的某個4×4分塊B屬于類型S3,采用L=256的VQ碼本進(jìn)行壓縮后所對應(yīng)的索引值x=(222)10=(11011110)2,由表2可知其對應(yīng)的標(biāo)識符為(10)2.由于λ取為3,將標(biāo)識符與索引值x均復(fù)制了3份,分別得到R1、R2、R3.將獲得的R1、R2、R3通過隨機(jī)序列矩陣嵌入其他3個分塊像素的3LSB.
1.3.2參考/認(rèn)證比特的嵌入
當(dāng)圖像中的某一區(qū)域遭受篡改時,其鄰域也很可能被篡改.為了防止每一個分塊與其參考比特的嵌入位置過近,通過密鑰K1生成對應(yīng)的整數(shù)隨機(jī)矩陣Q,以確定參考比特的嵌入位置,如式(5)所示.Q中每一行元素值都是將1~N/16置亂獲得,且保證每列上所產(chǎn)生隨機(jī)數(shù)q1,n,q2,n,···,qλ,n均不相同
于是,由分塊Bn生成的λ份參考比特分別被嵌入到λ個分塊{Bq1,n,Bq2,n, ···,Bqλ,n}的3 LSB中,其對應(yīng)關(guān)系為
式中,符號?表示將其左邊數(shù)據(jù)嵌入右邊的分塊.根據(jù)式(6)將用于恢復(fù)每個分塊的參考比特分別嵌入到其他λ個分塊的3 LSB中,同時每個分塊Bn被嵌入來自其他λ個分塊的參考比特,即,其中n1,n2,···,nλ互不相同,也就是說,Bnk的第k份參考比特被嵌入到分塊Bn中,k∈{1,2,···,λ}.根據(jù)1.3節(jié)所述,中參考比特元素最長為12比特,所以嵌入分塊Bn的參考比特的總位數(shù)≤12λ.在本文算法的設(shè)計中,水印比特(包括參考比特和認(rèn)證比特)均嵌入3 LSB,且每個4×4分塊的認(rèn)證比特長度定為12,可允許嵌入的參考比特的數(shù)目最多為3×16-12=36,故λ的取值須滿足12λ≤36,即λ≤3.
圖5 圖像分塊參考比特生成示例Figure 5 An example of reference-bits generation
對于一個4×4的分塊Bn,將其5 MSB的80個比特Mn、個參考比特、其分塊序號n和密鑰K2,通過輸入至哈希函數(shù)H,輸出得到12個認(rèn)證比特,如式(7)所示.哈希函數(shù)的特點(diǎn)如下:不同的輸入對應(yīng)顯著不同的輸出,且具有不可逆性,能保證認(rèn)證水印的安全性
參考/認(rèn)證水印嵌入的示例如圖6所示,其中參數(shù)λ=3.假設(shè)某個4×4的分塊B600中按順序嵌入了來自于3個不同分塊B901、B300、B402的參考比特,即,假設(shè)的總長度為30位,可表示為(r1,r2,···,r30),然后將分塊B中16個像素的5 MSB取出,可獲得80個比特即(p1,p2,···,p80),并將其與30個參考比特、分塊位置信息及密鑰K2一起經(jīng)過哈希函數(shù)計算得到12個認(rèn)證比特(a1,a2,···,a12).最后,根據(jù)密鑰K3確定參考比特與認(rèn)證比特所要替換分塊B中3 LSB的比特位置.圖中“O”表示水印比特的嵌入位置,“×”表示該位置的比特在水印過程前后沒有發(fā)生改變.
圖6 水印嵌入示例Figure 6 An example of watermark embedding
在嵌入水印的過程中,因為沒有改變原始圖像像素的5 MSB,只是替換了圖像3 LSB的部分比特為參考比特與認(rèn)證比特,所以含水印圖像相對于原圖像的失真最大為
式中,bo表示原圖像3 LSB的十進(jìn)制值,bem表示含水印圖像3 LSB的十進(jìn)制值.因此,本文算法含水印圖像Iw的PSNR值不小于10×lg(2552/ED)=37.92 dB.
1.4篡改內(nèi)容恢復(fù)
假設(shè)攻擊者在不改變圖像大小尺寸的情況下對圖像內(nèi)容進(jìn)行篡改,如背景或人臉的替換等.定義包含篡改內(nèi)容的圖像分塊數(shù)目與總分塊數(shù)目之比為篡改率α,篡改內(nèi)容恢復(fù)分為兩個步驟:首先定位出被篡改的區(qū)域,其次對定位的篡改區(qū)域進(jìn)行內(nèi)容恢復(fù).具體來說,在接收到的可疑圖像中將認(rèn)證比特取出,用來判斷圖像每個分塊是否被篡改.完成篡改定位過程后,從所有完好的區(qū)域中取出參考比特(VQ索引值和標(biāo)識符)來完成圖像的恢復(fù).
1.4.1篡改定位
1.4.2內(nèi)容恢復(fù)
完成篡改定位后,圖像中的完好分塊不需要進(jìn)行任何恢復(fù)操作,而檢測出篡改分塊則需進(jìn)行內(nèi)容恢復(fù).本文先使用與發(fā)送端相同密鑰的K1生成隨機(jī)矩陣Q,再從Q中對應(yīng)的嵌入位置取出參考比特并解壓用于內(nèi)容恢復(fù).設(shè)分塊n為某個檢測出的篡改分塊,首先從Q中找到該分塊生成的參考比特所嵌入的分塊,即{Bq1,n,Bq2,n,···,Bqλ,n}.若其中有一個或一個以上的分塊是完好的,就可以根據(jù)1.2節(jié)中所使用的密鑰K3提取出相應(yīng)的參考比特來恢復(fù)分塊n,具體步驟如下:
步驟1假設(shè){Bq1,n,Bq2,n,···,Bqλ,n}中的分塊Bqj,n是完好的,j∈{1,2,···,λ},則可從此分塊的3 LSB中提取出包含λ份參考比特的序列,其中用于分塊n恢復(fù)的參考比特為.但是,由于參考比特序列中的每一份參考比特長度可能不同,需要通過分析該序列以分別解析出這λ份參考比特.
圖7給出了內(nèi)容恢復(fù)過程的示例,其中參數(shù)λ=3.假設(shè)需要恢復(fù)的4×4分塊為B144,根據(jù)密鑰K1確定的隨機(jī)矩陣Q可知,用于恢復(fù)B144中的參考比特嵌入到其他3個不同分塊B441、B225、B961中.根據(jù)篡改檢測的結(jié)果假設(shè)B441與B225均被判斷為篡改,則B961被判斷為完好,因此只能從B961中提取出有效的參考比特用于恢復(fù)B144.通過密鑰K3取出嵌入在B961中的參考比特序列R,且由隨機(jī)矩陣Q可知,嵌入在B961中用于恢復(fù)B144的參考即可.用中的索引值及其標(biāo)比特為.于是,根據(jù)步驟1和2描述的方法從R中解析出.在R中,之前還有來自其他兩個分塊的參考比特,這里假設(shè)它們來自Bm1與Bm2.首先,讀取出R的前2個比特即(11)2,由表2可知其對應(yīng)的索引值長度為7,故索引值比特為(1001010)2,于是可提取出.繼續(xù)在R中依次讀取后續(xù)2個比特(10)2,其對應(yīng)的索引值長度為8,故索引值比特為(10111010)2,可提取出.最后,可確定的標(biāo)識符為(00)2,其對應(yīng)的索引值長度為10,索引值比特為(0101000111)2=(327)10.這樣就可以使用L=1 024的VQ碼本與所獲得索引值(327)10來恢復(fù)分塊B144.
圖7 內(nèi)容恢復(fù)過程示例Figure 7 An example of content recovery
本節(jié)將通過一系列實(shí)驗來驗證所提出算法的有效性和優(yōu)越性.實(shí)驗過程中將本文算法的參數(shù)λ取值為3.圖8中的(a)~(c)是大小為512×512的標(biāo)準(zhǔn)測試圖像Crowd、Airplane、Lake.圖9中的(a)~(c)為圖8中的(a)~(c)對應(yīng)的含水印圖像,其PSNR分別為38.61dB、38.62dB、38.56 dB.水印比特嵌入原始圖像的3 LSB中,故對于原始圖像改變不大,含水印圖像的視覺質(zhì)量也很理想.
圖8 原始圖像Figure 8 Original images
圖9 含水印圖像Figure 9 Watermarked images
對圖9中的(a)~(c)這3幅含水印圖像Crowd、Airplane、Lake進(jìn)行不同面積的篡改,所得篡改結(jié)果和篡改區(qū)域定位如圖10中的(a)~(f)所示.圖10中(a)~(c)篡改圖像的PSNR值分別為20.78 dB、15.93 dB、22.29 dB,篡改率α依次為23.5%、31.6%、9.1%.圖10中(d)~(f)為篡改檢測的結(jié)果,其中黑色區(qū)域表示原圖像中完好的區(qū)域,不需要內(nèi)容恢復(fù)的操作;白色區(qū)域表示被標(biāo)記的篡改區(qū)域,需要進(jìn)一步的內(nèi)容恢復(fù).由圖10中(d)~(f)篡改區(qū)域的定位結(jié)果可以看出,本文方法的篡改檢測具有極高的準(zhǔn)確性.
圖10 篡改圖像與篡改區(qū)域定位的結(jié)果Figure 10 Tampered images and the corresponding results of tampering detection
圖11~13中的各圖(a)為采用文獻(xiàn)[15]方法進(jìn)行內(nèi)容恢復(fù)的結(jié)果,圖11~13中的各圖(b)為采用文獻(xiàn)[18]方法進(jìn)行內(nèi)容恢復(fù)的結(jié)果,圖11~13中的各圖(c)為使用本文方法進(jìn)行內(nèi)容恢復(fù)的結(jié)果,表3為圖11~13中恢復(fù)圖像質(zhì)量的數(shù)據(jù).可以看出,本文方法的恢復(fù)圖像質(zhì)量均高于文獻(xiàn)[15,18].相較于將恢復(fù)信息復(fù)制2份的算法[15]與使用單一VQ碼本的脆弱水印算法[18],本文方法的優(yōu)勢在于:先根據(jù)原圖像的復(fù)雜度進(jìn)行區(qū)域分類,再使用不同碼書進(jìn)行VQ壓縮,從而獲得用于內(nèi)容恢復(fù)的參考比特,提高了參考比特的內(nèi)容表示效率,并且當(dāng)圖像中的復(fù)雜區(qū)域被篡改時,本文算法可取得更理想的恢復(fù)效果.
圖11 對篡改后的Crowd圖像恢復(fù)結(jié)果Figure 11 Recovered results of tampered Crowd
圖12 對篡改后的Airplane圖像恢復(fù)結(jié)果Figure 12 Recovered results of tampered Airplane
圖13 對篡改后的Lake圖像恢復(fù)結(jié)果Figure 13 Recovered results of tampered Lake
表3 篡改內(nèi)容恢復(fù)結(jié)果PSNR和篡改率α比較Table 3 Comparison of PSNR values and α for recovered images
如何有效地設(shè)計用于內(nèi)容恢復(fù)的參考比特是影響自嵌入機(jī)制的脆弱圖像水印算法性能的重要因素之一.由于原始圖像中每個分塊基于邊緣信息內(nèi)容的復(fù)雜度不同,本文算法選擇大小不同的矢量量化碼本進(jìn)行壓縮,獲得可表示圖像分塊主要內(nèi)容的索引值.在索引值前加入相應(yīng)的標(biāo)識符構(gòu)成壓縮碼,并將其復(fù)制多份后作為參考比特,通過密鑰分別嵌入到其他分塊中.因為多碼本協(xié)同下的參考比特能夠更有效地表示圖像內(nèi)容信息,所以當(dāng)被篡改分塊出于復(fù)雜區(qū)域時,本文算法可取得比文獻(xiàn)[15,18]更理想的篡改內(nèi)容恢復(fù)性能.
[1]FRIDRICH J,GOLjAN M.Images with self-correcting capabilities[C]//Proceedings of IEEE International Conference on Image Processing,1999:792-796.
[2]QIAN Z X,F(xiàn)ENG G R.Inpainting assisted self-recovery with decreased embedding data[J].IEEE Signal Processing Letters,2010,17(11):929-932.
[3]馬左紅,華文深,李曉明,張悅.基于雙隨機(jī)相位加密技術(shù)的圖像隱藏方法[J].光學(xué)儀器,2012,34(4):21-25. MA Z H,HUA W S,LI X M,ZHANG Y.Image hiding method based on double random phase encryption technology[J].Optical Instruments,2012,34(4):21-25.(in Chinese)
[4]付天舒,韓春杰,隋鑫.基于DCT變換的自適應(yīng)圖像水印實(shí)現(xiàn)[J].光學(xué)儀器,2013,35(3):51-57. FU T S,HAN C J,SUI X.Adaptive image watermark realization based on DCT transform[J]. Optical Instruments,2013,35(3):51-57.(in Chinese)
[5]楊杉杉,秦川,徐伯慶.一種基于安全隱藏的圖像分層篡改檢測和內(nèi)容恢復(fù)算法[J].計算機(jī)應(yīng)用研究,2015,2:507-511. YANG S S,QIN C,XU B Q.Fragile watermarking based on secure embedding for hierarchical tampering detection and content recovery[J].Computer Application and Research,2015,2:507-511.(in Chinese)
[6]SUTHAHARAN S.Fragile image watermarking using a gradient image for improved localization and security[J].Pattern Recognition Letters,2004,25(16):1893-1903.
[7]WALTON S.Image authentication for a slippery new age[J].Dr Dobb's Journal,1995,20(4):18-26.
[8]CHANG C C,HU Y S,LU T C.A watermarking-based image ownership and tampering authentication scheme[J].Pattern Recognition Letters,2006,27(5):439-446.
[9]HE H J,CHEN F,H.TAI M,KALKER T,ZHANG J S.Performance analysis of a blockneighborhood-based self-recovery fragile watermarking scheme[J].IEEE Transactions on Information Forensics and Security,2012,7(1):185-196.
[10]QIN C,CHANG C C,CHEN K N.Adaptive self-recovery for tampered images based on VQ indexing and inpainting[J].Signal Processing,2013,93(4):933-946.
[11]QIN C,CHANG C C,CHEN P Y.Self-embedding fragile watermarking with restoration capability based on adaptive bit allocation mechanism[J].Signal Processing,2012,92(4):1137-1150.
[12]KORUS P,DZIECH A.Adaptive self-embedding scheme with controlled reconstruction performance[J].IEEE Transactions on Information Forensics and Security,2014,9(2):169-181.
[13]KORUS P,DZIECH A.Efficient method for content reconstruction with self-embedding[J].IEEE Transactions on Image Processing,2013,22(3):1134-1147.
[14]LIN P L,HSIEH C K,HUANG P W.A hierarchical digital watermarking method for image tamper detection and recovery[J].Pattern Recognition,2005,38(12):2519-2529.
[15]LEE T Y,LIN S D.Dual watermark for image tamper detection and recovery[J].Pattern Recognition,2008,41(11):3497-3506.
[16]ZHANG X P,WANG S Z,QIAN Z X.Self-embedding watermark with flexible restoration quality[J].Multimedia Tools and Applications,2011,54(2):385-395.
[17]ZHANG X P,WANG S Z,QIANZ X,F(xiàn)ENG G R.Reference sharing mechanism for watermark self-embedding[J].IEEE Transactions on Image Processing,2011,20(2):485-495.
[18]YANG C,SHEN J.Recover the tampered image based on VQ indexing[J].Signal Processing,2010,90(1):331-343.
[19]GRAY R M.Vector quantization[J].IEEE ASSP Magazine,1984,1(2):4-29.
[20]LINDE Y,BUZO A,GRAY R M.An algorithm for vector quantizer design[J].IEEE Transactions on Communication,1980,28(1):84-95.
[21]CANNY J.A computational approach to edge detection[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1986,8(6):679-698.
(編輯:秦?。?/p>
Image Tampering Recovery Based on Multi-codebook Vector Quantization
JI Ping,QIN Chuan
School of Optical-Electrical and Computer Engineering,University of Shanghai for Science and Technology,Shanghai 200093,China
We propose a self-embedding fragile watermarking scheme to detect image tampering and recover original contents.By analyzing edge complexity of all non-overlapping blocks in the original image,the codebooks of vector quantization with different sizes are chosen to compress these blocks.The corresponding indicator and the index value representing the main content of the image block are collected to form the compression codes. They are duplicated to be used as reference-bits.These reference bits are then embedded into other multiple blocks according to secret keys,and authentication-bits are embedded into each block itself.Since the reference-bits based on multiple-codebook vector quantization have high efficiency in representing the image contents,the proposed scheme can achieve good performance of content recovery as compared to the reported methods.This is verified by experimental results.
fragile watermarking,vector quantization,multi-codebook,tampering detection,content recovery
TP391
0255-8297(2015)06-0615-13
10.3969/j.issn.0255-8297.2015.06.005
2015-06-30;
2015-08-06
國家自然科學(xué)基金(No.61303203);上海市自然科學(xué)基金(No.13ZR1428400);上海市教育委員會科研創(chuàng)新項目基金(No.14YZ087);上海智能家居大規(guī)模物聯(lián)共性技術(shù)工程中心項目基金(No.GCZX14014);滬江基金研究基地專項基金(No.C14001);滬江基金(No.C14002)資助
秦川,博士,副教授,研究方向:數(shù)字圖像處理、多媒體信息安全,E-mail:qin@usst.edu.cn