基於偽Zernike矩的魯棒可逆水印嵌入方法和提取方法
2024-04-12 15:53:05 2
基於偽zernike矩的魯棒可逆水印嵌入方法和提取方法
技術領域
1.本發明涉及數字水印技術領域,更具體地,涉及一種基於偽zernike矩的魯棒可逆水印嵌入方法及提取方法。
背景技術:
2.數字水印技術通過將圖像標識、數字、文字和序列號等數字信息嵌入到數字媒體中,起到標識作用。近年來對於圖像數字水印的魯棒性研究已取得了很大進展,但是面臨旋轉、縮放、平移等幾何攻擊仍存在較大困難。魯棒可逆水印具有在載體圖像未受到攻擊時,嵌入的水印信息可以被正確提取且載體圖像可以被完全恢復,而載體圖像受到一定程度攻擊時,水印信息依然可以被無損的正確提取的特點。
3.現有一種可逆魯棒水印方法,其通過計算圖像的zernike矩,基於zernike矩對圖像進行量化水印嵌入,並通過在量化水印嵌入過程中產生的失真信息來判斷圖像是否受到攻擊;當判斷圖像未受到攻擊時,利用圖像的zernike矩提取水印信息並恢復原始圖像;當判斷圖像受到攻擊時,計算受到攻擊後帶有水印信息圖像的zernike矩,並利用帶有水印信息圖像的zernike矩提取水印信息。
4.然而,上述方法在水印嵌入過程中未考慮到不同階數的zernike矩所需的水印強度不同,造成的失真信息過大,且該方法並未對zernike正反變換過程中產生的失真信息進行補償,這進一步增加了用於可逆水印嵌入的失真信息量,造成魯棒性低且無法滿足大容量的水印嵌入的缺陷。
技術實現要素:
5.本發明為克服現有技術存在的魯棒性低且無法滿足大容量的水印嵌入的缺陷,提供一種基於偽zernike矩的魯棒可逆水印嵌入方法及提取方法。
6.為解決上述技術問題,本發明的技術方案如下:
7.第一個方面,本發明提出一種基於偽zernike矩的魯棒可逆水印嵌入方法,包括以下步驟:
8.s1:獲取原始圖像i。
9.s2:計算原始圖像i的n階m重偽zernike矩z
n,m
。
10.s3:對所述偽zernike矩z
n,m
進行自適應歸一化操作,得到歸一化偽zernike矩
11.s4:對歸一化偽zernike矩進行量化水印嵌入,得到帶有魯棒水印的歸一化偽zernike矩和量化失真d
quantified
。其中,w1表示魯棒水印信息。
12.s5:對所述帶有魯棒水印的歸一化偽zernike矩進行自適應歸一化的逆操作,得到帶有魯棒水印的偽zernike矩
13.s6:對所述帶有魯棒水印的偽zernike矩進行偽zernike反變換和取整操作,得到帶有魯棒水印的圖像
14.s7:計算帶有魯棒水印的圖像的偽zernike矩然後計算偽zernike矩與偽zernike矩的差值,對所述差值進行偽zernike反變換和取整操作,得到誤差圖像將誤差圖像i
error
與帶有魯棒水印的圖像進行疊加處理,得到疊加圖像
15.s8:對所述疊加圖像進行去水印操作,得到去水印疊加圖像i
suprimposed
。
16.s9:計算原始圖像i和去水印疊加圖像i
suprumposed
之間的捨入失真d
rounding
。
17.s10:將所述量化失真d
quantified
、所述捨入失真d
rounding
以及疊加圖像的前n個像素的最低有效位嵌入到帶有魯棒水印的圖像中,得到包含魯棒水印與可逆水印的中間圖像其中,w2為可逆水印信息。
18.s11:生成中間圖像的哈希值h1,並將所述哈希值h1替換掉中間圖像的前n個像素的最低有效位,得到魯棒可逆水印圖像
19.第二個方面,本發明還提出基於偽zernike矩的魯棒可逆水印提取方法,包括:
20.獲取魯棒可逆水印圖像和疊加圖像所述魯棒可逆水印圖像和疊加圖像採用如權利要求1~7中任一項所述的基於偽zernike矩的魯棒可逆水印嵌入方法生成。
21.提取所述魯棒可逆水印圖像的前s個像素的最低有效位,即中間圖像的哈希值h1,並使用可逆水印方法將魯棒可逆水印圖像恢復為中間圖像
22.提取疊加圖像的前s個像素的最低有效位,並將提取結果替換掉中間圖像前s個像素的最低有效位後,生成此時中間圖像的哈希值h2。
23.當哈希值h1等於哈希值h2時,判斷魯棒可逆水印圖像未受到攻擊且中間圖像未受到攻擊,並執行以下步驟:
24.提取未受到攻擊的中間圖像的水印信息。
25.對未受到攻擊的中間圖像進行恢復操作,將所述未受到攻擊的中間圖像恢復為原始圖像i。
26.當哈希值h1不等於哈希值h2時,判斷魯棒可逆水印圖像受到攻擊且中間圖像
受到攻擊,執行以下步驟:
27.提取受到攻擊的中間圖像的水印信息。
28.與現有技術相比,本發明技術方案的有益效果是:
29.(1)本發明通過對不同階數的偽zernike矩進行自適應歸一化操作,給予了不同階數的偽zernike矩不同大小的水印強度,使得魯棒可逆圖像面對幾何攻擊和常規處理有更強的魯棒性。
30.(2)本發明通過將帶有魯棒水印的圖像計算得到的偽zernike矩和用於重構該帶有魯棒水印的圖像的偽zernike矩之間的差值進行偽zernike反變換,將得到的誤差圖像補償到帶有魯棒水印的圖像中,進一步降低失真信息量,以實現大容量的水印嵌入。
附圖說明
31.圖1為本發明的基於偽zernike矩的魯棒可逆水印嵌入方法的流程圖。
32.圖2為本發明的基於偽zernike矩的魯棒可逆水印提取方法的流程圖。
具體實施方式
33.附圖僅用於示例性說明,不能理解為對本專利的限制;
34.下面結合附圖和實施例對本發明的技術方案做進一步的說明。
35.實施例1
36.請參閱圖1,本實施例提出一種基於偽zernike矩的魯棒可逆水印嵌入方法,包括以下步驟:
37.s1:獲取原始圖像i。
38.s2:計算原始圖像i的n階m重偽zernike矩z
n,m
。
39.s3:對所述偽zernike矩z
n,m
進行自適應歸一化操作,得到歸一化偽zernike矩
40.s4:對歸一化偽zernike矩進行量化水印嵌入,得到帶有魯棒水印的歸一化偽zernike矩和量化失真d
quantified
。其中,w1表示魯棒水印信息。
41.s5:對所述帶有魯棒水印的歸一化偽zernike矩進行自適應歸一化的逆操作,得到帶有魯棒水印的偽zernike矩
42.s6:對所述帶有魯棒水印的偽zernike矩進行偽zernike反變換和取整操作,得到帶有魯棒水印的圖像
43.s7:計算帶有魯棒水印的圖像的偽zernike矩然後計算偽zernike矩與偽zernike矩的差值,對所述差值進行偽zernike反變換
和取整操作,得到誤差圖像將誤差圖像i
error
與帶有魯棒水印的圖像進行疊加處理,得到疊加圖像
44.s8:對所述疊加圖像進行去水印操作,得到去水印疊加圖像i
suprimposed
。
45.s9:計算原始圖像i和去水印疊加圖像i
suprumposed
之間的捨入失真d
rounding
。
46.s10:將所述量化失真d
quantified
、所述捨入失真d
rounding
以及疊加圖像的前n個像素的最低有效位嵌入到帶有魯棒水印的圖像中,得到包含魯棒水印與可逆水印的中間圖像其中,w2為可逆水印信息。
47.s11:生成中間圖像的哈希值h1,並將所述哈希值h1替換掉中間圖像的前n個像素的最低有效位,得到魯棒可逆水印圖像
48.在具體實施過程中,通過對不同階數的偽zernike矩進行自適應歸一化操作,給予了不同階數的偽zernike矩不同大小的水印強度,使得魯棒可逆圖像面對幾何攻擊和常規處理有更強的魯棒性。將帶有魯棒水印的圖像計算得到的偽zernike矩和用於重構該帶有魯棒水印的圖像的偽zernike矩之間的差值進行偽zernike反變換,將得到的誤差圖像補償到帶有魯棒水印的圖像中,進一步降低失真信息量,以實現大容量的水印嵌入。
49.實施例2
50.本實施例在實施例1提出的基於偽zernike矩的魯棒可逆水印嵌入方法的基礎上做出調整。
51.s1:獲取原始圖像i。
52.s2:計算原始圖像i的n階m重偽zernike矩z
n,m
。
53.本實施例中,以大小為b
×
b的原始圖像i的中心為圓心,b為正整數,作原始圖像i的內切圓,基於所述內切圓構建偽zernike基v
n,m
(xs,y
t
);以所述內切圓為單位圓,根據所述偽zernike基v
n,m
(x,y)計算單位圓內像素的n階m重偽zernike矩z
n,m
,具體表達式如下所示:
[0054][0055]vnm
(x,y)=r
nm
(r)e
imθ
[0056][0057]
θ=tan-1
(y/x)
[0058][0059]
其中,偽zernike基v
n,m
(xs,y
t
)為一組在單位圓上的完備正交基,r
nm
(r)為偽
zernike多項式,xs表示原始圖像i的第s個橫坐標,y
t
表示原始圖像i的第t個縱坐標,δxs表示原始圖像i中單位圓的橫坐標步長,δy
t
表示原始圖像i中單位圓的縱坐標步長,f(xs,y
t
)表示單位圓內的像素,k為從0到(n-|m|)的整數。
[0060]
本實施例中,b的取值為512。
[0061]
s3:對所述偽zernike矩z
n,m
進行自適應歸一化操作,得到歸一化偽zernike矩具體表達式如下所示:
[0062][0063][0064]
其中,ni為嵌入第i個水印比特的偽zernike矩的階數,mi為嵌入第i個水印比特的偽zernike矩的重數,i為第i個水印比特,j為第i個水印比特對應的比特值,z
00
為0階0重的偽zernike矩,n為階數n的上限,為自適應歸一化權重,t
start
為自適應歸一化權重的起始值,γ為用於調整水印強度的全局參數。
[0065]
本實施例中,n=26,t
start
=2400,γ=10。
[0066]
採用自適應歸一化方案針對不同的偽zernike矩階數採用了不同大小的自適應歸一化權重,實現對不同階數的偽zernike矩嵌入不同強度的水印信息,提升了抵抗幾何攻擊和常規處理的魯棒性,並實現了在未受到攻擊時可以提取水印和恢復圖像,在受到攻擊時可以有效提取水印。
[0067]
s4:對歸一化偽zernike矩進行量化水印嵌入,得到帶有魯棒水印的歸一化偽zernike矩和量化失真d
quantified
;其中,w1表示魯棒水印信息d
quantified
,具體表達式如下所示:
[0068][0069][0070][0071]
其中,βi(j)表示約束為βi(1)=βi(0)+δ/2的抖動值,δ為量化步長;d
dec_i
表示到其最接近的整數之間的小數,比如,若那麼此時的d
dec_i
=0.3。
[0072]
本實施例中,量化步長δ=32。
[0073]
本實施例中所採用的的新型量化水印嵌入方法,採用了捨入操作,使得魯棒量化水印僅被嵌入偽zernike矩的整數部分,而原始圖像i的偽zernike矩z
n,m
的小數部分得以保留,使不同的水印信息造成的失真程度相同,顯著降低了用於可逆水印嵌入的失真信息量,實現大容量水印嵌入。基於偽zernike矩絕對值具有旋轉縮放不變的特性,可以有效抵抗旋轉縮放攻擊,在未受到攻擊時可以有效提取水印信息和恢復圖像。
[0074]
s5:對所述帶有魯棒水印的歸一化偽zernike矩進行自適應歸一化的逆操作,得到帶有魯棒水印的偽zernike矩具體表達式如下所示:
[0075][0076]
s6:對所述帶有魯棒水印的偽zernike矩進行偽zernike反變換和取整操作,得到帶有魯棒水印的圖像具體表達式如下所示:
[0077][0078]
其中,l表示魯棒水印信息的長度。
[0079]
s7:計算帶有魯棒水印的圖像的偽zernike矩然後計算偽zernike矩與偽zernike矩的差值,對所述差值進行偽zernike反變換和取整操作,得到誤差圖像然後將誤差圖像i
error
與帶有魯棒水印的圖像進行疊加處理,得到疊加圖像具體表達式如下所示:
[0080][0081][0082]
本實施例中,偽zernike矩雖然是單位圓上的正交變換,但在正反變換過程中會造成信息損失,此時通過構造誤差圖像,將失真信息補償至帶有魯棒水印的圖像中可以降低信息損失程度。因此需要對帶有魯棒水印的圖像計算得到的偽zernike矩和用於重構該圖像的偽zernike矩之間的差值進行偽zernike反變換。
[0083]
s8:對所述疊加圖像進行去水印操作,得到去水印疊加圖像i
suprimposed
,具體步驟包括:
[0084]
計算疊加圖像的偽zernike矩
[0085]
對所述偽zernike矩進行自適應歸一化操作,得到歸一化偽zernike矩
[0086]
通過提取所述歸一化偽zernike矩的量化失真d
quantified
,得到去
除魯棒水印的歸一化偽zernike矩
[0087]
對所述歸一化偽zernike矩進行自適應歸一化的逆操作,得到偽zernike矩z
n,m-suprimposed
,其計算公式如下所示:
[0088][0089]
計算偽zernike矩z
n,m-suprimposed
與偽zernike矩的差值,對所述差值進行偽zernike反變換和取整操作,並將取整操作結果與疊加圖像進行疊加處理,得到去水印疊加圖像i
suprimposed
,其計算公式如下所示:
[0090][0091]
s9:計算原始圖像i和去水印疊加圖像i
suprimposed
之間的捨入失真d
rounding
,其表達式如下所示:
[0092]drounding
=i-i
suprimposed
[0093]
s10:使用可逆水印方法,將所述量化失真d
quantified
、所述捨入失真d
rounding
以及疊加圖像的前n個像素的最低有效位嵌入到帶有魯棒水印的圖像中,得到包含魯棒水印與可逆水印的中間圖像其中,w2為可逆水印信息。
[0094]
s11:生成中間圖像的哈希值h1,並將所述哈希值h1替換掉中間圖像的前n個像素的最低有效位,得到魯棒可逆水印圖像
[0095]
本實施例中,採用sha-256算法生成中間圖像的哈希值h1。
[0096]
實施例3
[0097]
請參閱圖2,本實施例提出一種基於偽zernike矩的魯棒可逆水印提取方法,包括:
[0098]
獲取魯棒可逆水印圖像和疊加圖像所述魯棒可逆水印圖像和疊加圖像採用如實施例1或2所述的基於偽zernike矩的魯棒可逆水印嵌入方法生成。
[0099]
提取所述魯棒可逆水印圖像的前s個像素的最低有效位,即中間圖像的哈希值h1,並使用可逆水印方法將魯棒可逆水印圖像恢復為中間圖像
[0100]
提取疊加圖像的前s個像素的最低有效位,並將提取結果替換掉中間圖像前s個像素的最低有效位後,生成此時中間圖像的哈希值h2;
[0101]
當哈希值h1等於哈希值h2時,判斷魯棒可逆水印圖像未受到攻擊且中間圖像未受到攻擊,並執行以下步驟:
[0102]
提取未受到攻擊的中間圖像的水印信息,具體的步驟包括:
[0103]
提取未受到攻擊的中間圖像的前s個像素的最低有效位、量化失真d
quantified
和捨入失真d
rounding
,並使用可逆水印方法將未受到攻擊的中間圖像恢復為帶有魯棒水印的圖像
[0104]
計算帶有魯棒水印的圖像的偽zernike矩並對所述偽zernike矩進行自適應歸一化操作,得到歸一化偽zernike矩
[0105]
根據歸一化偽zernike矩使用量化水印方法提取魯棒水印信息w1,其表達式如下所示:
[0106][0107][0108]
其中,ni為嵌入第i個水印比特的偽zernike矩的階數,mi為嵌入第i個水印比特的偽zernike矩的重數,i為第i個水印比特,j為第i個水印比特對應的比特值,βi(j)表示約束為βi(1)=βi(0)+δ/2的抖動值,δ為量化步長;
[0109]
對未受到攻擊的中間圖像進行恢復操作,將所述中間圖像恢復為原始圖像i,具體的包括:
[0110]
根據所述量化失真d
quantified
,將所述歸一化偽zernike矩轉換為偽zernike矩其表達式如下所示:
[0111][0112]
對所述偽zernike矩進行自適應歸一化的逆操作,得到偽zernike矩z
n,m-temporary
;
[0113]
對所述偽zernike矩z
n,m-temporary
進行偽zernike反變換和取整操作,得到去水印疊加圖像i
suprimposed
,其表達式如下所示:
[0114][0115]
其中,l表示魯棒水印信息的長度;
[0116]
根據捨入失真d
rounding
,將去水印疊加圖像i
suprimposed
轉換為原始圖像i,其表達式如下所示:
[0117]
i=i
suprimposed
+d
rounding
。
[0118]
當哈希值h1不等於哈希值h2時,判斷魯棒可逆水印圖像受到攻擊且中間圖像受到攻擊,執行以下步驟:
[0119]
提取受到攻擊的中間圖像的水印信息,具體的步驟包括:
[0120]
當哈希值h1不等於哈希值h2時,提取受到攻擊的中間圖像的水印信息的步驟包括:
[0121]
計算受到攻擊的中間圖像的偽zernike矩對所述偽zernike矩進行自適應歸一化操作,得到歸一化偽zernike矩
[0122]
對歸一化偽zernike矩進行量化水印提取操作,得到受到攻擊的中間圖像的水印信息w
attack
,其表達式如下所示:
[0123][0124][0125]
其中,ni為嵌入第i個水印比特的偽zernike矩的階數,mi為嵌入第i個水印比特的偽zernike矩的重數,i為第i個水印比特,j為第i個水印比特對應的比特值,βi(j)表示約束為βi(1)=βi(0)+δ/2的抖動值,δ為量化步長。
[0126]
本實施例中,採用的可逆水印方法是基於預測誤差擴展和直方圖平移技術實現的,具體步驟包括:
[0127]
採用菱形模式預測方案,將圖像中的所有像素點分為兩個相互交叉的集合,分別被稱為叉集和點集,其中叉集用於嵌入信息,點集用於計算預測值。
[0128]
其中,中心像素點u
i,j
的預測值是通過其四周像素點(v
i-1,j
,v
i+1,j
,v
i,j-1
,v
i,j+1
)的
均值計算得到。通過將中心像素點u
i,j
的預測值與實際值相減,得到該像素點的預測誤差。同理可得所有「叉集」像素點的預測誤差。
[0129]
進一步計算所有叉集像素點的局部方差並進行升序排列,得到適用於嵌入量化失真d
quantified
、捨入失真d
rounding
與圖像的前s個像素的最低有效位的預測誤差序列。
[0130]
最後使用直方圖平移方法將量化失真d
quantified
、捨入失真d
rounding
與圖像的前s個像素的最低有效位嵌入排序後的預測誤差序列中。
[0131]
在具體實施過程中,驗證版權資訊的時候只需要把魯棒可逆水印圖像中前n個像素的最低有效位的值,即中間圖像的哈希值h1,提取出來,此時得到的中間圖像的前n個像素的最低有效位都是「0」(因為內容被提取了)。
[0132]
然後再把疊加圖像的最低有效位替換掉中間圖像的最低有效位(因為疊加圖像的最低有效位與中間圖像的最低有效位完全相同),此時中間圖像得以恢復,生成其哈希值h2;h1代表了嵌入水印時中間圖像的哈希值,h2代表了提取水印時中間圖像的哈希,h1和h2二者相同就證明圖像並未受到攻擊。
[0133]
本實施例中,對於基於偽zernike矩的魯棒可逆水印嵌入方法及提取而言,帶有水印信息的圖像在受到攻擊後誤碼率在20%以下認為具有較好的魯棒性,具體實驗結果如下所述:
[0134]
表1:圖片lena受到攻擊時的誤碼率結果表(嵌入魯棒水印為256bits)
[0135][0136]
如表1所示,表中嵌入魯棒水印為256bits,誤碼率超過20%用「——」表示,基於圖
片lena的實驗結果表明本實施例的方法可以抗質量因子為10的jpeg壓縮、壓縮比為100∶1的jpeg2000攻擊、0度到360度的旋轉攻擊和拉伸因子0.5到2.0的縮放攻擊,以及均值為0,方差為0.01到0.03的高斯噪聲攻擊。
[0137]
表2:圖片peppers受到攻擊時的誤碼率結果表(嵌入魯棒水印為256bits)
[0138][0139]
如表2所示,基於圖片peppers的實驗結果表明本實施例的方法可以抗質量因子為10的jpeg壓縮、壓縮比為100∶1的jpeg2000攻擊、0度到360度的旋轉攻擊和拉伸因子0.5到2.0的縮放攻擊,以及均值為0,方差為0.01到0.03的高斯噪聲攻擊。
[0140]
表3:圖片barbara受到攻擊時的誤碼率結果表(嵌入魯棒水印為256bits)
[0141]
[0142][0143]
如表3所示,基於圖片barbara的實驗結果表明本實施例的方法可以抗質量因子為10的jpeg壓縮、壓縮比為100∶1的jpeg2000攻擊、0度到360度的旋轉攻擊和拉伸因子0.5到2.0的縮放攻擊,以及均值為0,方差為0.01到0.03的高斯噪聲攻擊。
[0144]
表4:圖片baboon受到攻擊時的誤碼率結果表(嵌入魯棒水印為256bits)
[0145][0146]
如表4所示,基於圖片baboon的實驗結果表明本實施例的方法可以抗質量因子為10的jpeg壓縮、壓縮比為100∶1的jpeg2000攻擊、0度到360度的旋轉攻擊和拉伸因子0.5到2.0的縮放攻擊,以及均值為0,方差為0.01到0.03的高斯噪聲攻擊。
[0147]
本實施例中使用圖片lena、圖片peppers、圖片barbara和圖片baboon的灰度圖像作為實驗對象,這四組圖片具有不同的特性,比如圖片lena包括平整的區塊、清晰細緻的紋
路、漸漸變化的光影和顏色的深淺層次等;圖片peppers具有更多明暗區域、區塊內部顏色相近和區塊之間顏色差異大的特點;圖片barbara具有大量規則紋理;圖片baboon則具有大量不規則紋理等特性。日常生活中的各類圖片具有這些特性,因此採用這四組圖片作為實驗對象可以使得實驗結果具有推廣性;本實施例所選擇的圖片尺寸為512
×
512,不同圖像差異不大,因此可以推廣到各類圖像當中。
[0148]
上述實施例為本發明較佳的實施方式,但本發明的實施方式並不受上述實施例的限制,其他的任何未背離本發明的精神實質與原理下所作的改變、修飾、替代、組合、簡化,均應為等效的置換方式,都包含在本發明的保護範圍之內。
[0149]
附圖中描述位置關係的用語僅用於示例性說明,不能理解為對本專利的限制;
[0150]
顯然,本發明的上述實施例僅僅是為清楚地說明本發明所作的舉例,而並非是對本發明的實施方式的限定。對於所屬領域的普通技術人員來說,在上述說明的基礎上還可以做出其它不同形式的變化或變動。這裡無需也無法對所有的實施方式予以窮舉。凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明權利要求的保護範圍之內。