黃櫻,牛保寧,*,關(guān)虎,張樹武
(1.太原理工大學(xué) 信息與計算機(jī)學(xué)院,太原030024; 2.中國科學(xué)院自動化研究所 數(shù)字內(nèi)容技術(shù)與服務(wù)研究中心,北京100190)
數(shù)字媒體內(nèi)容的使用和傳播在給人們帶來方便的同時,也引發(fā)了嚴(yán)重的網(wǎng)絡(luò)版權(quán)問題。圖像水印技術(shù)為數(shù)字圖像版權(quán)的查證提供了技術(shù)支撐。它將一個代表版權(quán)的數(shù)字標(biāo)記不可察覺地嵌入到圖像中(該標(biāo)記被稱為水印),當(dāng)發(fā)生版權(quán)糾紛時,可以通過提取水印來確定圖像的所有權(quán)。
一個好的水印算法必須使嵌入的水印兼?zhèn)淞己玫牟豢梢娦院汪敯粜浴2豢梢娦允侵杆∏度氲綀D像后不能影響其質(zhì)量和使用;魯棒性是指即使圖像被各種攻擊(噪聲、壓縮、縮放、剪切等)所改變,水印也能被正確地提取。水印的不可見性和魯棒性由水印的嵌入強(qiáng)度決定。增大水印的嵌入強(qiáng)度有利于提高水印的魯棒性,但同時會降低水印的不可見性;反之亦然。因此,魯棒性與不可見性之間存在矛盾:增加魯棒性通常以犧牲不可見性為代價,兩者相互制約。
一幅圖像通常包含紋理平滑區(qū)域(單位空間上灰度變化平緩)和紋理粗糙區(qū)域(單位空間上灰度變化劇烈)。觀察嵌入水印后的圖像可以發(fā)現(xiàn),嵌入在紋理平滑區(qū)域中的水印相比嵌入在紋理粗糙區(qū)域中的水印更容易讓人眼察覺。這說明紋理平滑區(qū)域和紋理粗糙區(qū)域?qū)λ〉某惺芰κ遣煌摹H欢壳暗乃〖夹g(shù)[1-15]沒有利用這一事實(shí),通常它們?yōu)楸苊庥绊憟D像的視覺質(zhì)量(往往取決于紋理平滑區(qū)域的視覺質(zhì)量),只能減小水印的嵌入強(qiáng)度,同時也降低了水印的魯棒性。
在水印嵌入時通常利用一個嵌入?yún)?shù)來控制水印的嵌入強(qiáng)度,嵌入?yún)?shù)的設(shè)定需要同時兼顧魯棒性和不可見性。大多數(shù)自適應(yīng)水印技術(shù)[1-4]利用圖像的某些特性(均值[2]、方差[3-4]、熵[1]等)相應(yīng)調(diào)整嵌入?yún)?shù),它們雖然可以平衡不同圖像中水印的不可見性之間的差異,但由于這些特性與水印的不可見性沒有直接關(guān)聯(lián),在提高水印魯棒性的同時無法保證所有圖像中嵌入的水印擁有一致的不可見性。現(xiàn)有的自適應(yīng)水印算法[5-6]將嵌入?yún)?shù)與峰值信噪比(PSNR,不可見性的評估指標(biāo)之一)相關(guān)聯(lián),可使所有含水印圖像獲得基本一致的PSNR,然而,PSNR是基于誤差敏感的圖像質(zhì)量評價,存在評價結(jié)果與人的主觀感覺不一致的情況。
為解決這些問題,本文從圖像頻率(表征圖像灰度變化劇烈程度的指標(biāo))角度分析,利用圖像紋理粗糙區(qū)域易于隱藏水印的優(yōu)勢,提出了一種基于圖像紋理的自適應(yīng)水印算法,將其命名為TBAQT(Texture-based Adaptive Quantization Threshold)。
本文創(chuàng)新點(diǎn)如下:
1)提出了一種紋理粗糙度——紋理值的度量方法,用該方法計算得到的紋理值能夠真實(shí)地反映圖像的紋理情況;并引入全局紋理值和局部紋理值的概念,分別用于表征圖像(區(qū)域)整體和局部紋理的豐富程度。
2)利用滑動窗口及窗口內(nèi)區(qū)域的局部紋理值,通過適當(dāng)?shù)卦O(shè)置滑動窗口的尺寸和移動步長,精確地獲取圖像的紋理粗糙區(qū)域;將水印嵌入在圖像的紋理粗糙區(qū)域中,以保證嵌入水印后的圖像質(zhì)量;通過同時在多個紋理粗糙區(qū)域中嵌入相同的水印,提高提取水印的準(zhǔn)確率。
3)運(yùn)用多元回歸分析得到水印嵌入?yún)?shù)關(guān)于紋理區(qū)域的全局紋理值和局部紋理值的函數(shù)關(guān)系,通過該函數(shù),可根據(jù)嵌入?yún)^(qū)域的紋理值自適應(yīng)地調(diào)整相應(yīng)區(qū)域的水印嵌入?yún)?shù),在保證每幅圖像中嵌入的水印都能獲得基本一致的不可見性的前提下,最優(yōu)化每個嵌入?yún)^(qū)域的嵌入?yún)?shù),最大限度地提高水印的魯棒性。
結(jié)合算法的整體設(shè)計,本文算法能夠有效抵抗各種圖像處理攻擊及幾何攻擊。
在圖像水印技術(shù)中,水印的嵌入強(qiáng)度通常由一個嵌入?yún)?shù)來控制,設(shè)置合適的嵌入?yún)?shù)可以平衡水印的魯棒性和不可見性。非自適應(yīng)水印技術(shù)[12-13]在為每幅圖像嵌入水印時都使用一個憑經(jīng)驗(yàn)得到的固定的嵌入?yún)?shù),無法保證每幅圖像中嵌入的水印都具有良好的不可見性。因?yàn)樗〉牟豢梢娦赃€與載體圖像本身相關(guān),導(dǎo)致不同圖像中水印的不可見性存在差異。相對地,自適應(yīng)水印技術(shù)[1-6]利用一個自適應(yīng)調(diào)參模型,根據(jù)載體圖像的相關(guān)信息自適應(yīng)地調(diào)整水印的嵌入?yún)?shù)。相比非自適應(yīng)水印技術(shù),自適應(yīng)水印技術(shù)可以減小不同圖像中嵌入水印之間不可見性的差異,并在此基礎(chǔ)上提高水印的魯棒性。
如圖1所示,一個完整的自適應(yīng)水印技術(shù)主要包含三部分內(nèi)容:嵌入?yún)^(qū)域的確定、自適應(yīng)調(diào)參模型、水印嵌入和提取算法。

圖1 自適應(yīng)水印技術(shù)框架Fig.1 Framework of adaptive watermarking technology
嵌入?yún)^(qū)域表示水印在圖像中的嵌入位置。水印技術(shù)既可將一幅完整的圖像作為水印的嵌入?yún)^(qū)域(全局水印技術(shù)[12-15]),也可僅在圖像多個特定的區(qū)域中嵌入水印(局部水印技術(shù)[7-9])。由于全局水印技術(shù)在執(zhí)行過程中利用了圖像的全部信息,這就決定了其難以完全抵抗剪切攻擊,更無法避開圖像中的紋理平滑區(qū)域。局部水印技術(shù)通常利用特征點(diǎn)定位嵌入?yún)^(qū)域,它們將從圖像中提取的某些具有平移、旋轉(zhuǎn)或尺度不變性的特征點(diǎn)作為參考點(diǎn),在其定位的非重疊的區(qū)域中嵌入水印。Tang和Hang[8]使用Mexican-Hat小波尺度交互方法提取特征點(diǎn),將水印嵌入到以特征點(diǎn)為中心的規(guī)范化圓形區(qū)域中,但該特征點(diǎn)對圖像修改比較敏感。Nasir等[7]采用基于終止(end-stopped)小波的特征提取方法來提取重要的幾何不變特征點(diǎn),然后通過歸一化特征點(diǎn)定位的水印嵌入?yún)^(qū)域來實(shí)現(xiàn)旋轉(zhuǎn)不變性。Ye等[9]利用SIFT特征點(diǎn)的旋轉(zhuǎn)和尺度不變性,將水印嵌入到SIFT特征點(diǎn)定位的圓形區(qū)域中。然而特征區(qū)域的定位及同步與特征點(diǎn)的穩(wěn)定性緊密相關(guān),圖像被攻擊前后的特征區(qū)域難以保證完全一致,這會影響水印提取的準(zhǔn)確率;而且特征點(diǎn)并不會刻意捕獲圖像中的紋理粗糙區(qū)域,因此也難以避免特征區(qū)域中包含紋理平滑的部分。
如式(1)所示,自適應(yīng)調(diào)參模型的實(shí)質(zhì)是一個函數(shù),自變量是一個或者多個與嵌入?yún)^(qū)域相關(guān)的參考值(x1,x2,…,xn),因變量為嵌入?yún)?shù)(p)。

在嵌入水印時,通過該函數(shù)關(guān)系,可使每個嵌入?yún)^(qū)域的嵌入?yún)?shù)都能夠跟隨這些參考值自適應(yīng)地改變。現(xiàn)有大多數(shù)自適應(yīng)水印技術(shù)利用圖像的某些特性(均值[2]、方差[3-4]、熵[1]等)調(diào)整嵌入?yún)?shù)。Guan等[2]使用待嵌入水印的系數(shù)的平均值來調(diào)整水印嵌入強(qiáng)度。Mohrekesh等[3]利用圖像塊和鄰域之間的局部方差自適應(yīng)地改變每個塊的嵌入?yún)?shù)。Yadav和Singh[4]利用具有較高信息熵的圖像塊的標(biāo)準(zhǔn)差來調(diào)節(jié)相應(yīng)強(qiáng)度因子。Fazlali等[1]提出嵌入?yún)?shù)由近似圖像中圖像塊的邊緣和熵決定。雖然這些自適應(yīng)水印技術(shù)可以減小不同圖像中嵌入水印的不可見性之間的差異,但是影響圖像中水印不可見性的圖像特征是多樣的,它們難以考慮得面面俱到,因此,仍然無法保證每幅圖像中嵌入水印的不可見性。近年來,Huang等[5-6]提出一種可根據(jù)指定的PSNR自適應(yīng)地調(diào)整水印的嵌入?yún)?shù)的模型,能夠使嵌入水印的圖像獲得基本一致的PSNR,然而PSNR是基于對應(yīng)像素點(diǎn)誤差的質(zhì)量評價,對圖像中的不同區(qū)域不具有區(qū)分性,評價結(jié)果可能與人的主觀感覺不一致。
在水印算法中,空間域水印算法[10-11]通過直接修改載體圖像的像素來嵌入水印;變換域水印算 法[2,5-6,12-15]首 先 執(zhí) 行 域 變 換,再 通 過 修 改 變 換域的系數(shù)來嵌入水印。變換域水印算法相比空間域水印算法具有更好的不可見性和魯棒性。Parah和Loan等[12-13]利用離散余弦變換(DCT)系數(shù)塊之間的關(guān)聯(lián)性,通過調(diào)整相鄰塊中低頻系數(shù)的數(shù)值來嵌入水印,這些方法具有很高的水印容量,但它們都只進(jìn)行了一級DCT,因此對攻擊的抵抗能力有限。Huynh-The等[14-15]提出一種信道選擇機(jī)制,將水印嵌入到DWT的最優(yōu)信道,并在提取時利用大津法(OTSU)確定分割閾值,雖然該算法能夠很好地平衡水印的不可見性和魯棒性,但其對旋轉(zhuǎn)和剪切攻擊敏感。Guan和Huang等[2,5-6]將 擴(kuò) 頻 和 量 化 方 案 的 優(yōu) 勢 分 別 與 兩 級DCT域中一些系數(shù)的穩(wěn)定性相結(jié)合,使得水印能夠抵抗常見的圖像處理攻擊和幾何失真。近年來,深度學(xué)習(xí)備受關(guān)注,尤其是生成模型[16-20]的發(fā)展,為水印算法的研究提供了新的思路。但由于模型訓(xùn)練需要較大的時間開銷,以及如何設(shè)計合適的訓(xùn)練策略等問題,此類方法還有待進(jìn)一步探索。
為克服現(xiàn)有嵌入?yún)^(qū)域確定方法及自適應(yīng)調(diào)參模型存在的缺陷,并結(jié)合Huang等[6]提出的差值量化水印算法的優(yōu)勢,本文提出了基于圖像紋理的自適應(yīng)水印算法,能夠充分利用圖像紋理粗糙區(qū)域易于隱藏水印的優(yōu)勢,在保證每幅圖像中嵌入水印的不可見性的同時,最大限度地提高水印的魯棒性。
圖像紋理在形式上存在廣泛性和多樣性[21],因此目前沒有一個統(tǒng)一的定義,通常研究者會根據(jù)不同的應(yīng)用提出相應(yīng)的概念與定義。根據(jù)本文的實(shí)際需求,紋理粗糙區(qū)域/圖像和紋理平滑區(qū)域/圖像的定義如下,判定規(guī)則見2.2節(jié)。
定義1 單位空間內(nèi)灰度變化劇烈的區(qū)域/圖像定義為紋理粗糙區(qū)域/圖像。
定義2 單位空間內(nèi)灰度變化平緩的區(qū)域/圖像定義為紋理平滑區(qū)域/圖像。
圖像的頻率[22]是表征圖像灰度變化劇烈程度的指標(biāo)。圖像可以分解成不同的頻率成分,其中,低頻成分表示灰度連續(xù)漸變的一塊區(qū)域,描述圖像的概貌和輪廓;高頻成分是指圖像灰度變化劇烈的地方,主要描述圖像的細(xì)節(jié)和邊緣。噪聲是在圖像上出現(xiàn)的一些隨機(jī)的、離散的、孤立的像素點(diǎn),因?yàn)樗c附近的像素點(diǎn)灰度值明顯不一樣,導(dǎo)致灰度出現(xiàn)較大的變化,所以對應(yīng)高頻成分。根據(jù)以上定義可知,紋理粗糙區(qū)域應(yīng)該包含更多的高頻成分,而紋理平滑區(qū)域則包含更多的低頻成分。
圖2為采用文獻(xiàn)[6]提出的水印算法嵌入水印后的圖像,放大后可見嵌入在紋理平滑區(qū)域中的水印,但無法察覺嵌入在紋理粗糙區(qū)域中的水印(SSIM 為結(jié)構(gòu)相似度,是不可見性的評價指標(biāo))。這是因?yàn)槿搜蹖Φ皖l數(shù)據(jù)的敏感度高于高頻數(shù)據(jù)[22],所以改變低頻成分對圖像視覺上的影響遠(yuǎn)大于高頻成分。在圖像中嵌入水印,相當(dāng)于在圖像上疊加了與之無關(guān)的噪聲,若將水印嵌入在圖像的紋理平滑區(qū)域,可能會使嵌入水印的像素點(diǎn)的灰度值明顯異于鄰域像素點(diǎn),致使水印變得可見;相對地,紋理粗糙區(qū)域本身就屬于灰度急劇變化的區(qū)域,因此能夠使嵌入的水印不易被察覺。

圖2 嵌入水印的圖像Fig.2 Watermarked image
在保證圖像視覺效果的前提下,盡可能地提高水印的魯棒性,是對水印算法的基本要求。綜上所述,相比紋理平滑區(qū)域,在相同嵌入強(qiáng)度下,水印嵌入在紋理粗糙區(qū)域具有更好的不可見性;相對地,在相同不可見性條件下,紋理粗糙區(qū)域可以容忍更大的嵌入強(qiáng)度。因此,本文考慮僅在紋理粗糙區(qū)域嵌入水印來同時提高水印的魯棒性和不可見性,并且還能通過在多個紋理粗糙區(qū)域嵌入相同的水印來進(jìn)一步提高魯棒性。
根據(jù)以上所述可知,圖像紋理與圖像的頻率相關(guān),這促使筆者聯(lián)想到DCT。DCT的特點(diǎn)就是將圖像中零散分布的頻率成分變成有序分布。二維DCT正變換核為

式中:x和y分別為圖像像素的橫坐標(biāo)和縱坐標(biāo);u和v分別為DCT系數(shù)的橫坐標(biāo)和縱坐標(biāo);x,u=0,1,…,M-1;y,v=0,1,…,N-1;M和N分別為圖像的長和寬。

二維DCT定義如下:

式中:f(x,y)為M×N維的圖像像素矩陣;F(u,v)表示與圖像像素矩陣對應(yīng)的DCT系數(shù)矩陣。
根據(jù)二維DCT正變換核可知,隨著u、v值的增大,余弦函數(shù)的頻率越大,因此,圖像的DCT系數(shù)矩陣的左上角代表低頻系數(shù),右下角表示高頻系數(shù)。其中,F(xiàn)(0,0)與余弦函數(shù)無關(guān)(cos 0=1),它是圖像抽樣信號的均值,被稱為DCT的直流系數(shù)(DC系數(shù)),其他DCT系數(shù)都是由余弦函數(shù)參與得到,所以被稱為交流系數(shù)(AC系數(shù))。DC系數(shù)反映圖像的灰度級別,與灰度值的分布無關(guān);AC系數(shù)與圖像頻率相關(guān),可以用來反映圖像的灰度變化程度,因此適合描述圖像的紋理。
隨機(jī)產(chǎn)生2組均值為100、方差分別為10和50、取值范圍為0~255的隨機(jī)整數(shù),組成2個8×8大小的矩陣,分別用以模擬紋理平滑圖像和紋理粗糙圖像,如圖3(a)和圖4(a)所示,它們對應(yīng)的DCT系數(shù)矩陣(僅保留整數(shù))如圖3(b)和圖4(b)所示。盡管2幅圖像DCT系數(shù)矩陣不同位置上的AC系數(shù)的絕對值有大有小,但從總體上來看,紋理粗糙圖像的AC系數(shù)的絕對值普遍大于紋理平滑圖像。這是因?yàn)榧y理平滑圖像的灰度值變化緩慢,圖像信號在2組正交函數(shù)的投影值出現(xiàn)了大量正負(fù)相抵消的情景,從而導(dǎo)致AC系數(shù)在數(shù)值上較小。相反,紋理粗糙圖像的灰度值變化劇烈,因此,發(fā)生正負(fù)抵消的情況要相對較少,得到的AC系數(shù)的數(shù)值也相對較大。

圖3 紋理平滑圖像像素及DCT系數(shù)矩陣Fig.3 Pixel and DCT coefficient matrix of smooth image

圖4 紋理粗糙圖像像素及DCT系數(shù)矩陣Fig.4 Pixel and DCT coefficient matrix of textured image
由此推斷,紋理粗糙圖像的AC系數(shù)絕對值之和必然會大于紋理平滑圖像的AC系數(shù)絕對值之和,并且紋理越豐富,即圖像的灰度值變化越劇烈,AC系數(shù)絕對值之和會越大。因此,利用圖像DCT的AC系數(shù)的絕對值之和能夠很好地描述圖像的紋理情況。
定義3 將圖像紋理粗糙程度的度量定義為圖像的紋理值(Tv),用于反映圖像紋理的豐富程度。
計算式為

式中:i≠0或j≠0;AC(i,j)為位于第i行第j列的AC系數(shù)。
如圖5所示,紋理值能夠很好地反映圖像的紋理粗糙程度,并且與人的直觀視覺感受一致。
為了獲取圖像的紋理粗糙區(qū)域,最原始的方法是直接求取某塊區(qū)域的紋理值,若紋理值大于閾值(Tt),則認(rèn)為該區(qū)域是紋理粗糙區(qū)域。
定義4 將一幅完整圖像或一塊完整區(qū)域的紋理值定義為該圖像或者區(qū)域的全局紋理值(Tg)。
但這樣做存在一個問題,如圖6所示,如果某一區(qū)域大部分是紋理比較豐富區(qū)域,但仍然存在小塊平滑的區(qū)域(見圖6(a)),它的全局紋理值也會比較大。雖然圖6(b)的全局紋理值小于圖6(a)的全局紋理值,但圖6(b)并不包含紋理平滑部分,因此更適合嵌入水印。
為了避免選取包含平滑部分的紋理粗糙區(qū)域,對區(qū)域進(jìn)行平均劃分,求取區(qū)域中每個分塊的紋理值。
定義5 將所有分塊中的最小紋理值定義為該圖像或區(qū)域的局部紋理值(Tl)。
在對區(qū)域進(jìn)行劃分時,可根據(jù)實(shí)際需求設(shè)置劃分比例(P),分塊數(shù)量越多,對區(qū)域的紋理要求越精細(xì),這樣雖然可以獲取到紋理更為豐富的區(qū)域,但能夠滿足閾值條件的區(qū)域可能會越少,因此需要進(jìn)行適當(dāng)權(quán)衡。
圖7給出了隨機(jī)選取的100個區(qū)域的全局紋理值和局部紋理值,因?yàn)榫植考y理值刻畫紋理更為細(xì)致,所以對于一個區(qū)域而言,局部紋理值通常比全局紋理值小,因此,紋理粗糙區(qū)域的判定規(guī)則如下。

圖5 圖像的紋理值Fig.5 Texture value of images

圖6 區(qū)域的全局紋理值和局部紋理值Fig.6 Global texture value and local texture value of a region

圖7 100個區(qū)域的局部紋理值和全局紋理值Fig.7 Local texture values and global texture values of 100 regions
判定規(guī)則 若圖像中某個區(qū)域的局部紋理值大于閾值,該區(qū)域可被判定為紋理粗糙區(qū)域。
如圖6所示,利用局部紋理值不但能夠反映區(qū)域的紋理情況,還能避免紋理粗糙區(qū)域中出現(xiàn)小塊平滑區(qū)域。
利用滑動窗口按照一定步長遍歷原始圖像,計算每個窗口的全局紋理值(Tg)和局部紋理值(Tl);根據(jù)2.2節(jié)的判定規(guī)則判定每個窗口區(qū)域是否為紋理粗糙區(qū)域,保存紋理粗糙區(qū)域的位置信息與紋理值;運(yùn)算結(jié)束后窗口向右或向下移動一個步長的位移,直到完成對整幅圖像的處理。
本文要求滑動窗口的尺寸和移動步長應(yīng)與原始圖像尺寸成比例,以保證圖像在縮放、剪切、翻轉(zhuǎn)或者旋轉(zhuǎn)90°的整數(shù)倍后獲取的紋理粗糙區(qū)域與原始圖像的紋理粗糙區(qū)域保持一致。設(shè)置滑動窗口的大小與原始圖像的比例為W,移動步長與原始圖像的比例為S,可將W和S作為密鑰,以增加算法的安全性。
并不是所有紋理粗糙區(qū)域都用于嵌入水印。如果2個紋理粗糙區(qū)域發(fā)生重疊,嵌入在其中的水印信息會相互干擾,從而影響到水印提取的正確性。因此,將水印的嵌入?yún)^(qū)域定義如下。
定義6 圖像中用于嵌入水印的非重疊的紋理粗糙區(qū)域被定義為水印的嵌入?yún)^(qū)域。
獲取水印嵌入?yún)^(qū)域的方法如下:將所有紋理粗糙區(qū)域按照局部紋理值從大到小的順序排序,逐個遍歷紋理粗糙區(qū)域,計算當(dāng)前訪問紋理粗糙區(qū)域中心點(diǎn)與其他紋理粗糙區(qū)域中心點(diǎn)的坐標(biāo)差,若橫坐標(biāo)差和縱坐標(biāo)差分別都小于紋理粗糙區(qū)域的長和寬,則判定2個紋理粗糙區(qū)域發(fā)生重疊,刪除其中局部紋理值較小的紋理粗糙區(qū)域,得到最終n個非重疊的紋理粗糙區(qū)域。
如果圖像中沒有一個通過滑動窗口遍歷到的區(qū)域能夠被判定為紋理粗糙區(qū)域,則選擇前3個具有較大局部紋理值且不重疊的窗口區(qū)域作為水印的嵌入?yún)^(qū)域。
由于商業(yè)模式健全、市場可拓展,Dormi已獲得“金沙江創(chuàng)投”旗下廣東分部的大學(xué)生項目天使投資30萬元,完成了走出廣州市的目標(biāo)。在獲得社會VC資本后,Dormi實(shí)現(xiàn)從校園創(chuàng)業(yè)項目邁向市場的第一步。
在紋理粗糙區(qū)域中嵌入和提取水印時,可采用已有的水印嵌入和提取算法。本文采用了文獻(xiàn)[6]中提出的差值量化水印算法(DQAQT)。
在水印嵌入算法中,水印的嵌入強(qiáng)度由一個嵌入?yún)?shù)控制,使用自適應(yīng)調(diào)參模型可根據(jù)載體圖像的相關(guān)信息自適應(yīng)地調(diào)整水印的嵌入?yún)?shù),能夠減小不同圖像中嵌入水印之間不可見性的差異。若要保證每幅圖像中嵌入水印的不可見性,意味著需要使每幅嵌入水印的圖像與其原始圖像之間具有一致良好的水印不可見性指標(biāo),因?yàn)樗〉牟豢梢娦允峭ㄟ^反映水印嵌入前后圖像的變化情況的一些評價指標(biāo)來衡量的。DQAQT中采用了基于PSNR的自適應(yīng)調(diào)參模型,能夠根據(jù)期望的PSNR自適應(yīng)地調(diào)整水印的嵌入?yún)?shù),使得每幅嵌入水印的圖像與原始圖像之間的PSNR都能保持基本一致。那么,一致的PSNR能否保證每幅含水印圖像都擁有一致的視覺質(zhì)量呢?
自然圖像的像素間存在著很強(qiáng)的相關(guān)性[23],這些相關(guān)性在視覺場景中攜帶著關(guān)于物體結(jié)構(gòu)的重要信息。人類視覺系統(tǒng)(HVS)主要從可視區(qū)域內(nèi)獲取結(jié)構(gòu)信息,所以可以通過探測結(jié)構(gòu)信息是否改變來近似感知圖像的失真情況。結(jié)構(gòu)相似度(SSIM)就是衡量數(shù)字圖像、視頻主觀感受質(zhì)量的一種方法。PSNR是基于像素點(diǎn)之間誤差的圖像質(zhì)量評價,它并未考慮到人眼的視覺特性,而SSIM源于HVS感知圖像的原理,評價結(jié)果與主觀感受更接近。使用相同的水印算法在圖8所示的紋理粗糙區(qū)域中嵌入與圖2等量的水印,雖然能夠得到基本相同的PSNR,但SSIM 差距很大,對比圖2和圖8可以證實(shí),PSNR與人的實(shí)際感受是不一致的,而SSIM更符合人眼視覺感知。

圖8 紋理粗糙區(qū)域嵌入水印Fig.8 Watermark embedded in textured region
DQAQT在進(jìn)行水印嵌入時需要利用到圖像的每一個像素,對于圖像整體而言,水印的嵌入強(qiáng)度是一致的,因此,它更適合利用PSNR作為不可見性的評價指標(biāo)。本文算法是在圖像中的部分區(qū)域嵌入水印,嵌入?yún)^(qū)域以外的像素不會因嵌入水印而發(fā)生變化,并且對于不同區(qū)域水印的嵌入強(qiáng)度可以不同。由于人眼對圖像不同區(qū)域變化的承受力不同,SSIM 的評價結(jié)果更符合人眼感知,因此,SSIM更適合用作為本文算法不可見性的評價指標(biāo)。
綜上所述,DQAQT中采用的基于PSNR的自適應(yīng)調(diào)參模型并不適合用于調(diào)整本文算法的嵌入?yún)?shù)。為使所有圖像中嵌入的水印都獲得一致良好的不可見性,希望能夠設(shè)計一種新的自適應(yīng)調(diào)參模型來調(diào)節(jié)本文算法的嵌入?yún)?shù),在提高水印魯棒性的同時使得嵌入水印的圖像擁有基本一致的SSIM。
從圖8可以看出,紋理粗糙區(qū)域嵌入的水印具有更好的不可見性(SSIM);相對地,圖像紋理越豐富,人眼能夠忍受像素的變化量越大,即在相同不可見性條件下,紋理值越大的區(qū)域可設(shè)置更大的嵌入?yún)?shù)。所以希望能夠利用嵌入?yún)^(qū)域的紋理值自適應(yīng)地調(diào)整水印的嵌入?yún)?shù),使得在所有嵌入?yún)^(qū)域獲得一致SSIM 的前提下,最大限度地增加每個嵌入?yún)^(qū)域的水印嵌入強(qiáng)度,從而提高水印算法的魯棒性。
局部紋理值反映了一個區(qū)域的最弱紋理情況,因此在2.2節(jié)中通過利用區(qū)域的局部紋理值來判定一個區(qū)域是否為紋理粗糙區(qū)域。然而,由于局部紋理值僅為區(qū)域中某一分塊的紋理值,無法反映區(qū)域整體的灰度分布及對比度,因此,需要同時考慮區(qū)域的局部紋理值和全局紋理值。
本文選取了100個紋理值不同的區(qū)域,調(diào)整對應(yīng)的嵌入?yún)?shù),使得它們在嵌入水印后的SSIM相同。為得到嵌入?yún)?shù)與紋理值的函數(shù)關(guān)系,將局部紋理值(Tl)、全局紋理值(Tg)、局部紋理值的二次方()及全局紋理值的二次方)作為自變量,嵌入?yún)?shù)(Pe)作為因變量,利用多元線性回歸的方法擬合數(shù)據(jù)點(diǎn)。表1給出了各種自變量組合情況下得到的關(guān)系式對數(shù)據(jù)點(diǎn)的擬合情況。

表1 多元線性回歸結(jié)果Table 1 Multiple linear regression results
以模型6為例,它所代表的關(guān)系式為:Pe=-0.053+0.025 1+4.65 4 Tl+1.948Tg+19.33。R2代表有多少數(shù)據(jù)點(diǎn)能夠被相應(yīng)模型解釋,如對于模型1,有89%的數(shù)據(jù)點(diǎn)可由局部紋理值單獨(dú)解釋。
如表1所示,模型1~模型3、模型5的系數(shù)均十分顯著,而模型5能夠擬合更多的數(shù)據(jù)點(diǎn)。計算每幅圖像通過這些模型估計的嵌入?yún)?shù)與實(shí)際設(shè)置的嵌入?yún)?shù)之間的誤差值,如圖9所示。可以看到,模型5的誤差值的波動幅度最小,由此也反映模型5擬合度是最高的。
根據(jù)表1結(jié)果可看到,模型5和模型6都能夠很好地擬合所有的數(shù)據(jù)點(diǎn),但對于模型6,局部紋理值和全局紋理值的二次項表現(xiàn)并不顯著,屬于過擬合的情況,而模型5中的3個估計值均十分顯著,因此,嵌入?yún)?shù)與紋理值之間的關(guān)系可由模型5表示,關(guān)系式為

該模型是在給定嵌入水印后的SSIM 條件下生成的,可使嵌入水印后的圖像獲得基本一致的SSIM。通過該模型,可利用嵌入?yún)^(qū)域的紋理值自適應(yīng)地調(diào)整對應(yīng)的嵌入?yún)?shù),最優(yōu)化每幅圖像中每個嵌入?yún)^(qū)域的嵌入?yún)?shù),最大限度地保證了水印的不可見性和魯棒性。
確定水印嵌入?yún)^(qū)域后,在每個嵌入?yún)^(qū)域中利用差值量化水印算法[6]進(jìn)行水印的嵌入和提取,并通過模型5自適應(yīng)地調(diào)整每個嵌入?yún)^(qū)域的水印嵌入?yún)?shù),從而提出一種基于圖像紋理的自適應(yīng)水印算法,將其命名為TBAQT。

圖9 模型擬合誤差Fig.9 Fitting error of models
從華盛頓大學(xué)的圖像數(shù)據(jù)庫(http://www.cs.washington.edu/research/imagedatabase/)中隨機(jī)選擇100幅不同尺寸的圖像組成實(shí)驗(yàn)的圖像數(shù)據(jù)集,這些圖像都是一般的自然場景圖像,能夠更好地體現(xiàn)算法的實(shí)用性。通過分析100幅圖像所產(chǎn)生結(jié)果的平均值來對算法的各項指標(biāo)進(jìn)行評估。待嵌入這些圖像中的水印為相同的128位0/1序列。
利用原始圖像與含水印圖像之間的SSIM 來評估水印的不可見性,該評價指標(biāo)更符合人眼的視覺感知;利用原始水印與提取水印之間的比特錯誤率(BER)來評估水印的魯棒性。一個好的水印算法應(yīng)具有較高的SSIM和較低的BER。
在本文算法中,將滑動窗口的大小與原始圖像的比例W設(shè)置為1/4,滑動窗口的移動步長與原始圖像的比例S設(shè)置為1/16,此時滑動窗口尺寸僅為原始圖像的1/16,并且一幅圖像包含256個窗口,可盡量避免窗口中包含一小塊紋理平滑區(qū)域;計算窗口內(nèi)區(qū)域局部紋理值時的劃分塊尺寸與滑動窗口尺寸的比例P設(shè)置為1/16,紋理閾值Tt設(shè)置為3.0;以保證紋理粗糙區(qū)域的紋理豐富程度。
在平衡不可見性和魯棒性上,自適應(yīng)水印算法TDSS[2]和DQAQT[6]表現(xiàn)突出,它們與本文算法(TBAQT)嵌入了相同的水印容量(128 bit),采用了相同的兩級DCT變換,并選擇了相同的DCT系數(shù)用于嵌入水印。除此之外,DQAQT 與TBAQT還采用相同的差值量化方法來嵌入和提取水印,而TDSS中采用的是擴(kuò)頻嵌入和提取方法。TDSS、DQAQT與TBAQT的主要區(qū)別在于水印的嵌入?yún)^(qū)域及采用的自適應(yīng)調(diào)參模型不同。TDSS和DQAQT將一幅完整的圖像作為水印的嵌入?yún)^(qū)域,TBAQT僅在圖像的紋理粗糙區(qū)域中嵌入水印。TDSS、DQAQT與TBAQT分別采用了基于均值、PSNR與圖像紋理的自適應(yīng)調(diào)參模型。因此,將TDSS和DQAQT與TBAQT進(jìn)行整體性能的比較,能夠公正地體現(xiàn)TBAQT的優(yōu)勢。
4.2.1 不可見性比較
實(shí)驗(yàn)通過在相同水印嵌入強(qiáng)度的情況下對比原始圖像與含水印圖像之間的SSIM 值來評估水印的不可見性。由于TDSS與DQAQT、TBAQT采用的嵌入方法不同,無法設(shè)置相同的嵌入強(qiáng)度,因此僅將DQAQT與TBAQT進(jìn)行不可見性的比較。DQAQT與TBAQT均使用了相應(yīng)的自適應(yīng)調(diào)參模型調(diào)整水印嵌入?yún)?shù),由于嵌入?yún)?shù)控制著水印的嵌入強(qiáng)度,嵌入?yún)?shù)不同,水印的嵌入強(qiáng)度則不同。為了能夠有效對比水印的不可見性,實(shí)驗(yàn)將DQAQT與TBAQT的嵌入?yún)?shù)設(shè)置為100,以保證它們水印的嵌入強(qiáng)度相同。利用TBAQT與DQAQT分別對數(shù)據(jù)集中的圖像進(jìn)行水印嵌入,最終得到每幅圖像的SSIM值如圖10所示。
在相同水印嵌入強(qiáng)度的情況下,圖像SSIM值之間的差異較大,這是因?yàn)槊糠鶊D像的紋理情況都是不同的,因此嵌入水印后圖像的視覺效果必定有差異。能夠很明顯地看到,TBAQT得到的每幅圖像的SSIM 值均遠(yuǎn)遠(yuǎn)優(yōu)于DQAQT,這足以證明TBAQT可使水印具有更好的不可見性。出現(xiàn)這樣的結(jié)果原因很顯然,DQAQT是在整幅圖像上進(jìn)行水印嵌入,雖然水印的嵌入強(qiáng)度會均攤到每個像素上,但嵌入在紋理平滑區(qū)域的水印相比在紋理粗糙區(qū)域會讓視覺更敏感,從而拉低了整幅圖像的SSIM值;而TBAQT僅在紋理粗糙區(qū)域嵌入水印,嵌入?yún)^(qū)域在圖像中占比很小,雖然單位像素嵌入強(qiáng)度較DQAQT大,但由于紋理粗糙區(qū)域?qū)λ【哂泻芎玫碾[蔽性,不會對圖像質(zhì)量產(chǎn)生明顯的影響,因此使得整幅圖像能夠獲得較高的SSIM值。這也證明了第2節(jié)所述,在相同水印嵌入強(qiáng)度的情況下,紋理粗糙區(qū)域中嵌入的水印會具有更好的不可見性。

圖10 相同水印嵌入強(qiáng)度情況下100幅圖像的SSIM值Fig.10 SSIM of 100 images with the same watermark embedding strength
4.2.2 自適應(yīng)性比較
TDSS、DQAQT與TBAQT均為自適應(yīng)水印算法,TDSS使用待嵌入水印的變換域系數(shù)的均值自適應(yīng)地調(diào)整嵌入?yún)?shù);DQAQT通過給定PSNR自適應(yīng)地調(diào)整嵌入?yún)?shù);TBAQT利用嵌入?yún)^(qū)域的紋理值自適應(yīng)地調(diào)整嵌入?yún)?shù)。實(shí)驗(yàn)將TDSS的嵌入?yún)?shù)初始值設(shè)置為62,DQAQT的PSNR閾值設(shè)置為46 d B,使TDSS、DQAQT和TBAQT得到的100幅含水印圖像與它們的原始圖像之間的平均SSIM值基本相同(平均SSIM值分別為99.193%、99.195%和99.202%,SSIM 值大于99%已能夠反映非常好的視覺質(zhì)量),以對比采用這3種自適應(yīng)水印算法得到的每幅圖像的SSIM 值的波動情況,以及在相同不可見性條件下對比3個算法的魯棒性。
圖11給出了TDSS、DQAQT和TBAQT得到的每幅圖像的SSIM值。可以看到,由TDSS獲得的圖像的SSIM 曲線波動劇烈,并且其中許多幅圖像的SSIM 值遠(yuǎn)遠(yuǎn)低于平均值,意味著嵌入的水印可能被人眼察覺。這也說明,待嵌入水印的變換域系數(shù)的均值并不能準(zhǔn)確地反映圖像的視覺特性。通過DQAQT獲得的含水印圖像與原始圖像之間的SSIM 值的波動幅度明顯大于TBAQT。這是因?yàn)殡m然DQAQT能夠讓每幅圖像獲得基本一致的PSNR,但PSNR并未考慮到人眼的視覺特性,因此導(dǎo)致了與SSIM 值(更符合人眼主觀感受)不一致的情況。而TBAQT的自適應(yīng)調(diào)參模型是在給定的SSIM 值的條件下進(jìn)行的,自然能夠獲得符合期望的視覺效果。

圖11 不同算法得到的100幅圖像的SSIM值Fig.11 SSIM of 100 images obtained by different algorithms
4.2.3 魯棒性比較
本節(jié)主要比較TDSS、DQAQT與TBAQT從經(jīng)過各種攻擊的含水印圖像中恢復(fù)隱藏水印的能力,其中不但包括各種圖像處理攻擊,還包括多種幾何攻擊。實(shí)驗(yàn)分別利用 TDSS、DQAQT 與TBAQT首先給圖像數(shù)據(jù)庫中的100幅原始圖像嵌入水印,然后對嵌入水印的圖像進(jìn)行各種攻擊,最后從攻擊后的含水印圖像中提取水印。計算提取的水印與原始水印之間的BER,用以衡量通過TDSS、DQAQT與TBAQT嵌入到圖像中的水印的魯棒性。
1)圖像處理攻擊
為了評估3個算法的魯棒性,對它們生成的含水印圖像應(yīng)用各種常見的圖像處理攻擊,主要攻擊類型和攻擊參數(shù)設(shè)置及模擬實(shí)驗(yàn)的結(jié)果如表2所示。表中:黑體數(shù)據(jù)為最小值。

表2 圖像處理攻擊后不同算法提取水印的BER值Table 2 BERs of watermark extr acted by differ ent algorithms under image pr ocessing attacks
從實(shí)驗(yàn)結(jié)果可以看出:
(1)除均值濾波攻擊外,在任何情況下TDSS提取水印的BER都遠(yuǎn)高于DQAQT和TBAQT,這一方面是因?yàn)門DSS采用的擴(kuò)頻方法存在載體信號干擾(HSI),這是擴(kuò)頻方法固有的缺陷,會影響水印提取的準(zhǔn)確率;另一方面是因?yàn)門DSS中采用的自適應(yīng)調(diào)參模型僅根據(jù)均值調(diào)整水印的嵌入?yún)?shù),對嵌入強(qiáng)度的調(diào)節(jié)能力有限,無法最優(yōu)化水印的魯棒性。
(2)DQAQT與TBAQT抵抗JPEG壓縮的能力不相上下,DQAQT提取水印的BER 略微高于TBAQT。因?yàn)閮烧呔鶎⑺∏度朐贒CT的中低頻系數(shù)中,而JPEG主要是通過刪除圖像DCT的高頻系數(shù)來達(dá)到壓縮的目的,因此對水印的影響較小。
(3)面對噪聲疊加、直方圖均衡及亮度改變等圖像處理攻擊,TBAQT很好地展現(xiàn)了它的優(yōu)勢,實(shí)驗(yàn)結(jié)果非常優(yōu)秀,其提取水印的BER明顯低于DQAQT。這歸功于TBAQT利用圖像紋理來調(diào)整水印的嵌入?yún)?shù),嵌入?yún)^(qū)域的紋理越豐富,水印的嵌入強(qiáng)度越大,因此能夠有效阻擋各種噪聲的干擾及像素值的改變;并且TBAQT在多個紋理粗糙區(qū)域嵌入了相同的水印,進(jìn)一步提高了算法的魯棒性。
(4)DQAQT在抵抗低通濾波(均值濾波和中值濾波)方面表現(xiàn)良好,相比之下TBAQT略有遜色。這是由于濾波模板在處理TBAQT嵌入?yún)^(qū)域的邊緣時,會引入嵌入?yún)^(qū)域以外的邊緣附近的像素,導(dǎo)致嵌入?yún)^(qū)域邊緣像素受到影響,從而容易使嵌入在這些位置的水印發(fā)生提取錯誤。
2)幾何攻擊
對含水印圖像應(yīng)用各種幾何攻擊來進(jìn)一步對比3個算法的魯棒性。主要攻擊類型和參數(shù)設(shè)置及模擬實(shí)驗(yàn)的結(jié)果如表3所示。

表3 幾何攻擊后不同算法提取水印的BER值Table 3 BERs of watermark extracted by differentalgorithms under geometric attacks
從實(shí)驗(yàn)結(jié)果可以看出:
(1)在所有情況下,DQAQT與TBAQT嵌入水印的魯棒性都優(yōu)于TDSS。原因在分析圖像處理攻擊實(shí)驗(yàn)結(jié)果的(1)中已進(jìn)行解釋。
(2)針對旋轉(zhuǎn)、翻轉(zhuǎn)、縮放、放縮及縱橫比調(diào)整等幾何攻擊,TBAQT和DQAQT的表現(xiàn)勢均力敵,提取水印的BER基本都為0。這一方面得益于采用的差值量化方法能夠有效抵抗這些攻擊;對于TBAQT而言,更重要的是其紋理粗糙區(qū)域大小及滑動窗口移動方式的適當(dāng)設(shè)置,使得獲取的紋理粗糙區(qū)域在攻擊前后仍然保持一致。TBAQT唯獨(dú)對于縮放倍數(shù)低于0.6的圖像,提取水印的能力不如DQAQT,這是因?yàn)榍度雲(yún)^(qū)域本身就比圖像小得多,當(dāng)圖像縮放到很小時,紋理粗糙區(qū)域的尺寸相對更小,導(dǎo)致部分水印信息丟失而無法正確提取。
(3)剪切和遮擋攻擊都是裁剪掉圖像的部分像素,只是裁剪的位置有所不同。遮擋攻擊裁剪中心區(qū)域相比剪切攻擊裁剪左上角區(qū)域?qū)D像影響更嚴(yán)重,因?yàn)橐话阒匾畔⒍純A向于放置在圖像的中心位置。TBAQT能夠完美抵抗這2種攻擊,而DQAQT在裁剪范圍超過25%后BER顯著上升。這是由于DQAQT將水印嵌入在完整的圖像中,部分圖像信息丟失必然導(dǎo)致嵌入在其中的水印信息無法提取;而TBAQT在多個紋理粗糙區(qū)域中嵌入相同的水印,嵌入?yún)^(qū)域在圖像中占比較小且沒有重疊,即便部分區(qū)域被裁剪,仍然可能存在不受影響的嵌入?yún)^(qū)域,因此使得TBAQT能夠有效抵抗剪切和遮擋攻擊,這也是其的優(yōu)勢所在。
1)TBAQT可使嵌入水印的所有圖像獲得一致良好的不可見性。在實(shí)驗(yàn)中,100幅嵌入水印的圖像與它們的原始圖像之間的SSIM 均高于99%,且不同圖像之間的 SSIM 差異不超過0.5%。
2)TBAQT對于絕大多數(shù)圖像處理攻擊和幾何攻擊均表現(xiàn)出優(yōu)異的魯棒性。在實(shí)驗(yàn)中,從被攻擊后的嵌入水印圖像中提取的水印與原始水印之間的BER基本接近于0。
3)TBAQT在嵌入水印前首先需要定位水印的嵌入?yún)^(qū)域,因此算法的運(yùn)行時間相比直接在圖像中嵌入水印的TDSS和DQAQT高,后續(xù)將對如何提高算法的運(yùn)行效率展開研究。生成模型[16-20]是近期受關(guān)注的熱點(diǎn),在未來的研究工作中也將借鑒生成模型的相關(guān)方法,對水印算法進(jìn)行深入研究。