[優(yōu)秀畢業(yè)論文]基于變換域的數(shù)字水印技術的研究

上傳人:仙*** 文檔編號:28211495 上傳時間:2021-08-24 格式:DOC 頁數(shù):30 大?。?01.89KB
收藏 版權申訴 舉報 下載
[優(yōu)秀畢業(yè)論文]基于變換域的數(shù)字水印技術的研究_第1頁
第1頁 / 共30頁
[優(yōu)秀畢業(yè)論文]基于變換域的數(shù)字水印技術的研究_第2頁
第2頁 / 共30頁
[優(yōu)秀畢業(yè)論文]基于變換域的數(shù)字水印技術的研究_第3頁
第3頁 / 共30頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《[優(yōu)秀畢業(yè)論文]基于變換域的數(shù)字水印技術的研究》由會員分享,可在線閱讀,更多相關《[優(yōu)秀畢業(yè)論文]基于變換域的數(shù)字水印技術的研究(30頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、學士畢業(yè)論文 基于變換域的數(shù)字水印技術的研究 1. 引言 1.1 數(shù)字水印技術提出的背景 二十一世紀是數(shù)字時代,通信技術的迅速發(fā)展和計算機網(wǎng)絡的普遍運用,使人們可以通過互聯(lián)網(wǎng)收發(fā)信息,可以隨時上傳自己創(chuàng)作的數(shù)字圖象、音樂、視頻等作品,可以進行學術交流。 然而,也正是由于網(wǎng)絡的這種便捷性、傳播迅速的優(yōu)點使其很容易被非法拷貝,導致數(shù)字產(chǎn)品的版權、完整性、有效性得不到保證,嚴重損害了創(chuàng)作者的利益。而一些具有特殊意義的數(shù)字信息,如涉及司法訴訟、政府機要等信息,更是遭到了不法分子地惡意攻擊和隨意篡改等,這一系列問題給當今科學家?guī)砹司薮筇魬?zhàn)

2、。 基于以上類似問題,數(shù)字水印技術可以說是信息時代的特有產(chǎn)物,是一種可以在開放網(wǎng)絡環(huán)境下保護版權和認證來源及保障信息完整性的新型技術,在音頻、圖像、視頻制品中迅速得到廣泛的研究和發(fā)展。 1.2 數(shù)字水印的基本特點 數(shù)字水印是加在數(shù)字圖象、音頻或視頻中的微弱信號,這個信號是人們能夠建立產(chǎn)品所有權、辨認購買者或提供數(shù)字產(chǎn)品的一些額外信息。具體說來,它們都具有以下共同的特征: 1. 不可感知性 對于數(shù)字水印的嵌入,應該對觀察者沒有視覺障礙,理想情況應該是水印圖像與原始圖像沒有絲毫差別。 2. 魯棒性 魯棒性是指一個數(shù)字水印能夠承受攻擊的能力,一般來說數(shù)字水印方法是針對特定的攻擊進行設計

3、。 3. 安全性 水印技術的安全性是其最重要的特性,由于它的商業(yè)性,其算法必須公開,算法的安全性完全取決于密鑰,而不對算法進行保密。 4. 計算復雜度 不同應用中,對于水印的嵌入算法和提取算法的計算復雜度要求是不同的,復雜度直接與水印系統(tǒng)的實時性相關。 5. 水印容量 水印容量是指載體數(shù)據(jù)字中可嵌入水印信息位的多少,可以從幾兆到幾個比特不等。 1.3 數(shù)字水印的應用 數(shù)字水印是以不可感知的方式嵌入到數(shù)字信息中的,總體來說它有以下應用: 數(shù)字產(chǎn)品產(chǎn)權保護 這是數(shù)字水印最廣泛的應用,將秘密的數(shù)字信號嵌入到有價值的數(shù)字文件中,這些數(shù)字信號是產(chǎn)權的標識,在不破壞數(shù)字文件的情況下不能

4、被盜版者出去,起到了保護產(chǎn)權的作用。 1. 數(shù)據(jù)庫標識 有時一些文件中提示數(shù)據(jù)的標識信息往往比文件本身更重要或者一些音像文件需要將說明注釋(如字幕等)與音像本身結(jié)合起來,這就可以通過數(shù)字水印技術加以解決。 2. 文件內(nèi)容鑒定 水印技術在鑒定數(shù)據(jù)建立者和鑒別數(shù)據(jù)內(nèi)容有著特殊的運用,目的是檢測數(shù)據(jù)是否被修改過或是否經(jīng)過特殊的處理。 3. 系統(tǒng)升級 日常生活中常常涉及到舊裝系統(tǒng)升級情況,這可以通過將“增強層”嵌入到所發(fā)送的數(shù)據(jù)中來給傳統(tǒng)的信號發(fā)射系統(tǒng)升級。 4. 商務交易中的票據(jù)防偽 隨著高質(zhì)量圖像輸入輸出設備的發(fā)展,使得貨幣、支票以及其他票據(jù)的偽造變得更加容易。目前,美國、日本以及

5、荷蘭都已開始研究用于票據(jù)防偽的數(shù)字水印技術。 5. 媒體偵破 這一運用的目的是提取對原始信號進行處理過的信息。例如,鑒定方法可以發(fā)現(xiàn)一幅圖像被篡改過,但無法發(fā)現(xiàn)是怎樣篡改的。媒體偵破技術就可以指出圖像的哪部分被篡改了,指出被插入到原圖像中的新對象等等。 1.4 數(shù)字水印技術的研究動態(tài) 隨著多媒體技術和因特網(wǎng)技術的迅猛發(fā)展,一系列有關產(chǎn)權保護和信息安全的問題等亟待人們解決。數(shù)字水印技術便是二十世紀九十年代初出現(xiàn)的為解決這些問題的一門嶄新的技術,也是近幾十年來國內(nèi)外專家和學者研究的一大熱點。 1. 數(shù)字水印技術的研究現(xiàn)狀 1) 空間域數(shù)字水印研究 最初提出的數(shù)字水印嵌入方法是在空間域

6、上實現(xiàn)的。 1995年,Btuyndoncky等提出了一個基于空域分塊的方法,通過改變均值來嵌入水印。1996年,Patchwork等人提出了一種算法(Patchwork算法),該算法隨機選取圖像的N對像素點,通過增加其中一個點的亮度值而相應降低另一個點的亮度來隱藏信息。1998年,Darmstaedter等人提出了一種新的空域水印算法,該算法是基于圖像的88塊的空間域分解進行的。 不過上述的一些空域法普遍存在著可嵌入水印能量不好控制、魯棒性差等缺點,現(xiàn)在已經(jīng)很少有人使用,人們逐漸將水印的嵌入和檢測轉(zhuǎn)到頻域上進行。 2) 頻域數(shù)字水印研究 頻域法大體有三類:DFT域、DCT域和DWT

7、域。 Ruanaidh和Pun利用傅立葉域?qū)θ中缘男D(zhuǎn),平移和縮放變換具有不變性的特點,將水印嵌入到傅立葉域來達到對這些攻擊的魯棒性。 1999年,Hsu和Wu等人提出了基于可視化模型的算法,該算法具有很強的魯棒性。2000年,黃繼武、易開樣等人還提出了一種DCT域數(shù)字水印算法:首先把圖像分成88的不重疊像素塊,經(jīng)過分塊DCT變換后,得到有DCT系數(shù)組成的頻率塊,然后隨機選取一些頻率塊,水印信號嵌入到由密鑰控制選擇的一些DCT系數(shù)中。2004年,王向陽等提出了一種DCT域自適應彩色圖像二維數(shù)字水印算法,將灰度圖像嵌入到原始彩色圖像中。其實 ,很多國內(nèi)外研究人員提出的其他DCT域數(shù)字水印算

8、法,采用的多是基于DCT的88圖像塊。 總的來說,基于圖像特征的方法是探索性的,很難用目前現(xiàn)有的模型進行理論分析,限制了這種方法在需要有嚴格性能規(guī)定的實際商業(yè)中的應用。 2. 數(shù)字水印技術的前景與意義 從國際、國內(nèi)對數(shù)字水印研究現(xiàn)狀和重視程度,可見數(shù)字水印對社會的應用是多么重要,所以它的研究前景是十分廣闊的。數(shù)字水印技術是近十年來橫跨信號處理、數(shù)字通信、密碼學、計算機網(wǎng)絡技術等多學科的新興技術,具有潛在的應用市場和良好的應用前景。 從研究意義來看,對它的研究具有重要的學術、經(jīng)濟和軍事價值。一方面,它將促進多媒體技術、網(wǎng)絡技術、通信技術、信號處理技術等多門新興技術的有機結(jié)合,促進多媒體網(wǎng)

9、絡的進一步繁榮;另一方面,它將有助于多媒體信息版權保護及其沖突問題的解決。同時,它將促進隱蔽通信技術、信息安全技術的提高。 2. 數(shù)字水印技術概況 數(shù)字水印技術是利用數(shù)字產(chǎn)品普遍存在的冗余數(shù)據(jù)與隨機性,將水印信息嵌入在數(shù)字產(chǎn)品本身中,從而起到保護數(shù)字產(chǎn)品版權或者完整性的一種技術。 2.1 數(shù)字水印的分類 數(shù)字水印技術根據(jù)不同的根據(jù)有不同的分類方法,一般有如下分類: 依據(jù)其特性來分可以將數(shù)字水印分為魯棒數(shù)字水印和脆弱水印兩種。前一種要求嵌入的水印對常用的編輯處理或惡意攻擊有一定的抵抗性;而后一種則要求對信息的改動有很強的敏感性。 按水印的用途分類可將其分為版權水印、圖像認證水

10、印、隱藏標識水印、防止復印水印等。 按檢測的過程來劃分數(shù)字水印有非盲水印系統(tǒng)和盲水印系統(tǒng)。一般而言,非盲水印的魯棒性較強,而其應用受到存儲成本的限制。不過,目前學術界研究的數(shù)字水印大多數(shù)是盲水印。 根據(jù)內(nèi)容劃分水印又可以分為有意義水印和無意義水印。二者區(qū)別在于前者本身也是個圖像或者音頻片段的編碼;而后者卻是一個序列號。 按數(shù)字水印的隱藏的位置劃分,數(shù)字水印又有空(時)域數(shù)字水印、頻域數(shù)字水印、時/頻域數(shù)字水印和時間/尺度域數(shù)字水印。 2.2 數(shù)字水印系統(tǒng)的模型 現(xiàn)在學術界對數(shù)字水印算法的理解都是將一些不易察覺的具有隨機特性的數(shù)據(jù)嵌入到圖像頻域或空域的系數(shù)上。從信號處理的角度看,嵌入水

11、印可以看成是在強背景下迭加一個弱信號,由于人類視覺系統(tǒng)的分辨率受到一定的限制,只要迭加的信號幅度不超過HVS的對比門限,人眼就無法感覺到信號的存在,所以可以通過對原始圖像進行一定調(diào)整,在不影響視覺效果的情況下嵌入一些水印信息。 數(shù)字水印系統(tǒng)的一般模型如圖1所示: 圖1 數(shù)字水印系統(tǒng)基本模型 水印嵌入器的輸入量有三個:水印信號M,宿主信號S和密鑰K。 水印信號M是指原始水?。▓D像或一個數(shù)字序列)通過一定的方法經(jīng)過調(diào)制將嵌入到宿主信號中的數(shù)字信號。 宿主信號S是指被嵌入水印的信號(原始信號)。 密鑰K則指用于提高水印系統(tǒng)安全性的密碼信息,它獨立于宿主信號。密鑰有私有密鑰和公共密鑰

12、之分,前者指攻擊者在明確了水印嵌入方法但又不知道密鑰的情況下,水印不會被破壞或盜?。缓笳呤侵腹粽邔λ拗餍盘枺ㄈ鐑?nèi)容標識、語言字幕等)不感興趣的情況下,密鑰也就不存在保密性,可以作為公共密鑰。 2.3 數(shù)字水印算法 1. 水印嵌入算法 數(shù)字水印技術涉及到了多門學科:信號處理、數(shù)字通信、密碼學、模式識別等,研究人員從各個角度對水印嵌入算法進行了研究。以下簡要介紹幾種典型的算法。 1)空域水印嵌入算法 空域水印嵌入算法包括最低有效位算法LSB、Patchwork 方法、紋理映射編碼方法等。其中最低有效位算法LSB是指首先把一個密鑰輸入一個m-序列發(fā)生器來產(chǎn)生水印信號,然后將其重新排列成2

13、維水印信號,并按象素點逐一插入到原始圖像象素值的最低位。由于水印信號被安排在了最底位上,是不可見的,基于同樣的原因,可以輕易的被移去,所以它的魯棒性很差。而Patchwork 方法是一種基于統(tǒng)計的數(shù)字水印嵌入方法,是通過增加一個象素點的亮度值,再相應的減少另一個象素點的亮度值來隱藏信息。紋理映射編碼方法則是將數(shù)字信息隱藏于數(shù)字圖象的任意紋理部分,該算法對于濾波、壓縮和旋轉(zhuǎn)等操作具有抵抗能力。 2)變換域水印嵌入算法 變換域中能量分布集中,有利于保證水印的不可見性,提高了水印的魯棒性,所以這一算法得到了廣泛的應用。圖2是變換域水印算法的過程 圖2 變換域水印嵌入過程圖 變換域算法

14、中有一種典型的算法DCT域數(shù)字水印算法,該算法是通過對選定的DCT系數(shù)進行微小變換以滿足特定的關系,來表示一個比特的信息。在水印信號提取時,則選取相同的DCT系數(shù),并根據(jù)系數(shù)之間的關系抽取比特信息。其特點是數(shù)據(jù)改變幅度較小,且透明性好,但是其抵抗幾何變換等攻擊的能力較弱。另外基于DFT和DWT算法與上述算法具有相似的原理。 目前DWT域的算法還不多見,但小波域具有良好的空頻分解特性,而且嵌入式零樹小波編碼將在新一代的壓縮標準中被采用,迎合著國際壓縮標準,小波域的水印算法具有良好的發(fā)展前景。 2. 水印檢測算法 水印檢測是上述嵌入過程的逆過程,以下詳細介紹一下水印相關檢測技術。 待測試

15、圖像與原始圖像的差為: (2-1) 對進行域變換,再利用下式提取水印序列: (2-2) 得到了可提取的待測試序列: (2-3) 待測序列中假設有n個數(shù)據(jù)值與原始水印序列中對應位上的值不相同,則定義誤碼率: (2-4) 則有相關系數(shù): (2-5) 從而可以得到相關系數(shù)和誤碼率的關系: (2-6) 根據(jù)誤碼率的值可判斷圖像中是否含有水印信號,從而達到版權保護的目的。判定準則為:事

16、先設定閾值。若,可以判定被測圖像中含有水印;否則,沒有水印。閾值的選擇要同時考慮虛警概率和漏警概率。虛警概率是指待測圖像中不包含水印而檢測器輸出結(jié)果卻表明含有水印的概率;漏警概率是指待測圖像中包含水印而檢測器輸出結(jié)果卻表明不含有水印的概率。增大,則漏警概率降低而虛警概率提高;反之亦然。若與不相關,的概率等于具有Gaussian分布的隨機變量超過其均值T倍方差的概率。 圖3是典型的水印檢測/提取系統(tǒng) 圖3 水印檢測提取系統(tǒng) 3. MATLAB軟件的介紹 MATLAB語言是一種非常強大的工程語言,被廣泛應用于包括信號與圖象

17、處理、控制系統(tǒng)設計、通信、系統(tǒng)仿真等諸多領域。 3.1 MATLAB研究數(shù)字水印的優(yōu)點 MATLAB語言有不同于其他高級語言特點,它在研究數(shù)字水印有如下特點: 1. 編程效率高 MATLAB語言是用數(shù)學形式的語言編寫程序,用MATLAB編寫程序猶如在演算紙上排列公式與求解問題。由于它編寫簡單,所以編程效率高,易學易懂。 2.用戶使用方便 與其他語言相比,MATLAB能在同一畫面上進行靈活操作,快速排除輸入程序中的書寫錯誤、語法錯誤甚至語意錯誤,從而加快了用戶編寫、修改和調(diào)試程序的速度,便于操作。 3. 擴充能力強,交互性好 MATLAB語言庫函數(shù)豐富,用戶還可以根據(jù)自己的需要

18、方便地建立和擴充新的庫函數(shù),提高MATLAB使用效率和擴充功能。良好的交互性使程序員可以使用以前編寫過的程序,減少重復性工作。 4. 移植性好,開放性好 MATLAB是用C語言編寫的,而C語言的可移植性很好。于是MATLAB可以很方便地移植到能運行C語言的操作平臺上。 5. 語言簡單,內(nèi)涵豐富 MATLAB語言中最基本最重要的成分是函數(shù),同一函數(shù)名,不同數(shù)目的輸入變量及不同數(shù)目的輸出變量,代表著不同的含義。這不僅使MATLAB的庫函數(shù)功能更豐富,而且大大減少了需要的磁盤空間,使得MATLAB編寫的M文件簡單、短小而高效。 6. 方便的繪圖功能 MATLAB軟件中有一系列繪圖函數(shù),在

19、運用MATLAB軟件時只需要調(diào)用不同的繪圖函數(shù),即可在圖上標出圖題、XY軸標注。 7. 功能強大的工具箱是MATLAB的另一特色。 MATLAB工具箱中的信號處理、控制系統(tǒng)、神經(jīng)網(wǎng)絡、圖象處理、魯棒控制、非線性系統(tǒng)控制設計、系統(tǒng)辨識、最優(yōu)化、模糊邏輯、小波、通信、統(tǒng)計(statistics等工具箱),這些工具箱給各個領域的研究和工程應用提供了有力的工具。 8. MATLAB的缺點 它和其他高級程序相比,程序的執(zhí)行速度較慢。由于MATLAB的程序不用編譯等預處理,也不生成可執(zhí)行文件,程序為解釋執(zhí)行,所以速度較慢。 3.2 MATLAB函數(shù)介紹 在研究水印技術時,我們處理的圖像數(shù)據(jù)是

20、二維信號,而聲音是一維信號,所以在這里,我門只簡單介紹與水印有關的函數(shù)。 1. 數(shù)據(jù)輸入輸出函數(shù) imread()和imwrite():可以讀寫bmp, jpg/jpeg, tif/tiff, png, hdf, pcx, wxd格式文件。讀索引文件時,還可以得到相應的調(diào)色板數(shù)據(jù)。 2. 圖象顯示 imshow():顯示一幅圖像;imfinfo():可以得到讀入圖像的信息。如文件的大小、格式、格式版本號、圖像的高度、寬度、顏色類型(真彩色,灰度圖還是索引圖)等。 3. 變換域函數(shù) 對信號采用不同的變換,是實現(xiàn)頻域法水印的至關重要的一步,MATLAB中的一維信號和二維信號分別提供了各

21、種變換和逆變換函數(shù)。 1) 離散余弦變換(DCT) (1) dct(),dct2():分別實現(xiàn)一維信號和二維信號的DCT(離散余弦變換); (2) idct(),idct2():分別實現(xiàn)一維信號和二維信號的IDCT(逆離散余弦變換); 2) 離散傅立葉變換(DFT) (1) fft(),fft2():分別實現(xiàn)一維信號和二維信號的DFT(離散傅立葉變換); (2) ifft(),ifft2():分別實現(xiàn)一維信號和二維信號的IDFT(逆離散傅立葉變換); 4. 攻擊函數(shù) 對算法進行攻擊測試是對水印魯棒性檢測的一種重要手段,一個好的水印算法必須經(jīng)過各種攻擊測試才能對之做出客觀的評

22、價。 MATLAB中的許多函數(shù)可以直接用來做攻擊測試: 1)旋轉(zhuǎn):rotate()可以對圖像進行任意角度的旋轉(zhuǎn); 2)剪裁:imcrop()可以按精確定位的各點坐標進行剪裁; 3)濾波:filter()和filter2()可實現(xiàn)對一維信號和二維信號的濾波; 4)加各種噪聲:imnoise()可以對圖像加入各種噪聲,如白噪聲、椒鹽噪聲等。 4. 基于DCT域的數(shù)字水印技術 離散余弦變換,簡稱DCT,是一種實數(shù)域變換,其變換核為實數(shù)的余弦函數(shù),計算速度較快,是一種近似最佳變換,很適合于做圖象壓縮和隨機信號處理,它對常用的圖象壓縮有較強的魯棒性。 基于DCT域的數(shù)字水印算法,一

23、般而言有兩種算法。一種是直接對整幅圖像進行DCT計算,選取合適頻段的系數(shù),嵌入水印。另一種是,首先將整幅圖像分成塊,對每一塊分別進行DCT計算,在每一塊中選取合適頻段的系數(shù),將水印信息分散嵌入到每一塊所選取的DCT系數(shù)中。這種方法稱為分塊DCT,這種方法非常適合于88的圖像塊DCT變換。目前,DCT域的水印方法大多數(shù)是采用分塊DCT方法。 4.1 二維DCT概述 一般而言,數(shù)字圖象,其二維DCT變換用矩陣表示,其定義式如下式所示: (4-1) 二維IDCT定義如下: (4-2) 其中 并且 (4-3) 我們最常用到的是88分塊DCT,也

24、就是首先將大小為MN的圖像分成的非重疊的大小為88的塊,然后對每一塊作DCT。根據(jù)式(4-1)和式(4-2),88DCT的定義如下: (4-4) 88IDCT的定義如下: (4-5) 其中, 并且 (4-6) 4.2 基于DCT域數(shù)字水印嵌入算法 DCT域的水印嵌入過程,就是首先對宿主圖像S進行分塊DCT運算,選取出要嵌入的DCT系數(shù)C,并且對宿主圖像用HVS模型進行分析,得到感知系數(shù)掩蔽模板,用其來控制水印嵌入強度,再將編碼后的水印信號W,用一定方式嵌入到選好的系數(shù)中。用嵌入水印的系數(shù)替代原來位置的系數(shù),再進行逆DCT(Inv

25、erse Discrete Cosine Transform,IDCT)變換,就得到了含有水印的圖像X。DCT域水印系統(tǒng)的水印嵌入過程框圖如圖4所示: 圖4 DCT域水印嵌入過程方框圖 水印嵌入步驟如下: 1. 將宿主圖像分成88的塊,每一塊都進行DCT變換,得到與宿主圖象相同尺寸的DCT域系數(shù)矩陣。 2. 產(chǎn)生兩個不相關的偽隨機序列,并設定一個密鑰key。 3. 將每個88的DCT系數(shù)矩陣,從每一塊的中頻段取出個系數(shù)。 4. 然后嵌入水印,嵌入規(guī)則為當水印圖像元素為‘0’時,按照式子(其中alpha為尺度因子,mark為隨機序列,為原圖像的分塊DCT系數(shù)),將一個隨機序列與

26、原始圖像塊的幅度譜對應元素進行乘性疊加;為‘1’時,用另一個偽隨機序列與幅度譜對應元素進行乘性疊加。 5. 用得到的新的DCT系數(shù)對原來位置的DCT系數(shù)進行置換。 6. 對新的DCT系數(shù)矩陣進行DCT逆變換,得到了嵌入水印信號的圖像。 4.3 基于DCT域數(shù)字水印檢測提取算法 DCT域水印的驗證過程(即包括水印的檢測和提取過程),就是將待測圖像Y(注意此時的圖像也許已經(jīng)遭受了圖象處理或惡意攻擊)進行DCT運算;然后按著嵌入水印時選取的DCT系數(shù),選取其含有水印的系數(shù),進行水印提取,然后利用相關檢測法判斷水印是否存在。如果水印檢測器輸出結(jié)果顯示水印存在,則根據(jù)需要可以用水印解碼器對提取的

27、水印進行解碼,恢復水印。水印檢測提取過程如圖5 圖5 DCT域數(shù)字水印檢測提取框圖 水印檢測提取步驟如下: 1. 對含有水印圖像進行88的塊DCT變換。 2. 對每一塊的DCT系數(shù)進行“之”字型排列,從我們已知的嵌入位置取出可能含有水印的系數(shù),將所有提取出的系數(shù),按順序組成新的系數(shù)序列。 3. 用密鑰生成水印信號 4. 將含水印的系數(shù)序列與水印信號進行相關計算,得到歸一化相關系數(shù)。 4.4 實驗結(jié)果及分析 以下是尺度因子alpha=30時的實驗結(jié)果,以及受到各種攻擊后所提取到的水印圖像及其與原始水印圖像的相關系數(shù): 圖6 原始圖像和嵌入水印后的圖像 此時,

28、alpha=30 圖7 沒有受到攻擊的圖像及提取到的水印圖像 此時相關系數(shù)=1 圖8 加入白噪聲后的圖像、原始水印和提取的水印圖像 此時相關系數(shù)=0.99969 圖9 高斯低通濾波后的圖像及提取的水印圖像 此時相關系數(shù)=0.99058 圖10 剪切后的圖像及提取的水印圖像 此時相關系數(shù)=0.93909 圖11 旋轉(zhuǎn)10后的圖像及提取的水印圖像 此時相關系數(shù)=0.48383 從以上結(jié)果可以看出:當圖像(宿主信息)受到加噪、高斯低通濾波、剪切等攻擊后,其可視度、提取的水印圖像與原始水印圖像的相似度(都在90%以上) 都是非常令人滿意的;當受到旋

29、轉(zhuǎn)攻擊后,其提取的水印圖像與原始水印圖像的相似度(不足50%)卻令人感到失望,不過仍可證明水印信息的存在。 5 基于傅立葉域變換的數(shù)字水印技術 5.1 傅立葉變換概述 傅立葉變換(Fourier Transform)是線性系統(tǒng)分析的一個有力工具,是研究信號的頻譜方法,它架起了時域和頻域之間的橋梁。使我們能夠定量分析諸如數(shù)字化系統(tǒng)、采樣點、電子放大器、卷積濾波器、噪聲等的作用,把傅立葉變換的理論同其物理解釋相結(jié)合,將大大有助于解決大多數(shù)圖象處理問題。 Fourier分析理論十分完善,既可以處理連續(xù)信號也可以處理離散信號。計算機只能處理離散信號,且在數(shù)字圖象處理中,輸入圖像和輸出圖像通常

30、都是二維的,一般表示成二維數(shù)字矩陣,因此這里直接討論二維離散傅立葉變換(DFT)和二維快速傅立葉變換(FFT)。 1. 二維離散傅立葉變換DFT(Discrete Fourier Transform) 二維離散傅立葉變換對定義式如下: (5-1) (5-2) 二維離散傅立葉變換的傅立葉譜、相位、功率譜分別如下: 傅立葉譜: (5-3) 相位: (5-4) 功率譜: (5-5) 式子(5-1)可以分離為: (5-6) 式子(5-2

31、)可以分離為: (5-7) 由上兩式可知,二維傅立葉變換可由連續(xù)兩次一維傅立葉變換得到,從而將二維DFT分解為水平和垂直兩部分運算,上式中方括號中的項表示在圖像的行上計算的DFT,方括號外邊的求和則實現(xiàn)結(jié)果數(shù)組在列上的DFT,這種分解使我們可以用一維FFT來快速實現(xiàn)二維DFT。 2. 二維快速傅立葉變換FFT(Fast Fourier Transform) FFT的基本思想是: 令序列的長度為,如果不滿足,在尾部補零,沒有任何影響。按n奇偶把分解為兩個N/2點的子序列: (5-8) (5-9)

32、那么 (5-10) 將(5-8)和(5-9)式代入上式得: (5-11) 上式右邊的兩部分恰好是長度(周期)為N/2的的傅立葉變換,所以: (5-12) (5-13) 這樣一個長度為N的DFT就分解為兩個長度為N/2的DFT,然后進行N/2次復數(shù)的蝶式運算,再運用分解-遞歸思想,分解次,每一次均有N/2個蝶式運算,所以FFT的時間復雜度為。 FFT在圖像運用中的思想是,先將原圖像進行轉(zhuǎn)置,按行對轉(zhuǎn)置后的圖像矩陣做一維FFT,將此變換所得的中間矩陣再轉(zhuǎn)置,再按對轉(zhuǎn)置后的中間矩陣做一維FFT

33、,最后得到的就是二維FFT。 5.2 基于傅立葉域的數(shù)字水印嵌入算法 這里的嵌入算法大抵同前面所講的嵌入過程,唯一不同的是傅立葉變換中涉及到復數(shù)運算,所以在嵌入過程中還需要計算一下其變換后的幅度值方可嵌入,嵌入算法的步驟如下: 1. 將宿主圖像分成88的塊,每一塊都進行DFT變換,得到與宿主圖象相同尺寸的DFT域圖象系數(shù)矩陣。 2. 產(chǎn)生兩個不相關的偽隨機序列,并設定一個密鑰key。 3. 將每個88的DFT系數(shù)矩陣,從每一塊的中頻段取出個系數(shù)。 4. 由于DFT域的幅度譜具有對稱性,為了水印嵌入后保持這種對稱性,也為了確?;謴蛨D像像素值為實數(shù),嵌入水印時采用對稱嵌入。嵌入規(guī)則為當

34、水印圖像元素為‘0’時,按照式子(其中alfa為尺度因子,mark為隨機序列,為原圖像的分塊DFT系數(shù)),將一個隨機序列與原始圖像塊的幅度譜對應元素進行乘性疊加;為‘1’時,用另一個偽隨機序列與幅度譜對應元素進行乘性疊加。 5. 用得到的新的DFT系數(shù)對原來位置的DFT系數(shù)進行置換。 6. 對每一圖像塊進行DFT逆變換,得到含水印圖像。 5.3 基于傅立葉域的數(shù)字水印檢測提取算法 這里的檢測提取算法過程大抵同前面所講的DCT域數(shù)字水印檢測提取算法,提取算法步驟如下: 1. 將宿主圖像分成88的塊,每一塊都進行DFT變換,得到與宿主圖像相同尺寸的DFT域圖象系數(shù)矩陣。 2. 對每一塊

35、的DFT系數(shù)進行“之”字型排列,從我們已知的嵌入位置取出可能含有水印的系數(shù),將所有提取出的系數(shù),按順序組成新的系數(shù)序列。 3. 計算嵌入水印圖像塊的幅度譜與兩個偽隨機序列的相關性,假設嵌入的水印圖像矩陣為‘0’時疊加的是隨機序列A,為‘1’時疊加的是隨機序列B,則提取時如果嵌入水印幅度譜與隨機序列A的相關性大于其B的相關性,那么這個位置嵌入的是水印圖像矩陣‘0’元素。按這個規(guī)則即可提取出水印圖像。 4. 將含水印的系數(shù)序列與水印信號進行相關計算,得到歸一化相關系數(shù)。 5.4 實驗結(jié)果與分析 以下是尺度因子alpha=260時的實驗結(jié)果,以及受到各種攻擊后所提取到的水印圖像及其與原始水

36、印圖像的相關系數(shù): 圖12 原始圖像與嵌入水印后的圖像 圖13 沒有受到攻擊的圖像和直接提取的水印圖像 此時相關系數(shù)=1 圖14 加入白噪聲后的圖像、原始水印圖像及提取的水印圖像 此時相關系數(shù)=0.96566 圖15 高斯低通濾波后的圖像及提取的水印圖像 此時相關系數(shù)=0.97311 圖16 剪切后的圖像及提取的水印圖像 此時相關系數(shù)=0.96907 圖17 旋轉(zhuǎn)后的圖像及提取的水印圖像 此時相關系數(shù)=0.91301 從以上結(jié)果可以看出,由于DFT域?qū)θ中缘男D(zhuǎn)、平移和縮放變換具有不變性的特點,基于DFT域的數(shù)字水印技術要比基于DC

37、T域的數(shù)字水印技術的魯棒性要強的多,特別是對于旋轉(zhuǎn)攻擊,前者的優(yōu)勢更加突出! 結(jié) 論 本文首先對數(shù)字水印技術進行了簡單的概述,介紹了近些年來,國內(nèi)外學者在這一方面所做出的努力和成就,并對其進行了一下客觀的展望。其次,分別從數(shù)字水印可能受到的攻擊、數(shù)字水印技術的嵌入、提取和檢測四個方面展開了研究。 在研究過程中,通過改變尺度因子,進而改變水印信息的嵌入強度,然后比較嵌入水印信息后宿主圖像的可視度來確定最佳尺度因子。經(jīng)過實驗觀察,尺度因子越大嵌入水印后宿主圖像的可視度就越小,即圖像越模糊不清,卻有利于提高其魯棒性;反之亦然。 對于數(shù)字水印技術,除了通過改進算法來提高魯棒性外,我們還可

38、以從密碼學角度通過提高攻破密鑰所需要的代價來保護我們所傳送的信息。另外,還可以仿照互聯(lián)網(wǎng)中通過建立標準的協(xié)議和方法來進一步改變現(xiàn)狀等等。 總之,這是一門嶄新而富有挑戰(zhàn)的學科,而且,隨著網(wǎng)絡的發(fā)展其前景也是非常樂觀的,它需要各個領域的專家聯(lián)合攻關共同努力才能取得理想的效果。同時,也希望自己能在這一領域有所作為! 參考文獻 [1] 朱丹丹.圖像數(shù)字水印技術要析[J] .通化師范學院學報.-通化:2008年2月第29卷第2期:39 [2] 彭靜.數(shù)字水印算法檢測標準的研究[J] .電子科技大學學報.-西安:2007年6月第3

39、6卷第3期:567 [3] 耿永軍,朱雪芹.基于離散余弦變換的數(shù)字水印算法[J] .鄭州大學學報.-鄭州:2005 [4] 劉慧珍.變換域數(shù)字水印算法研究[J] .華僑大學碩士學位論文.-廣州:2006:16~17 [5] 龐小紅.圖像數(shù)字水印理論與技術研究.哈爾濱工程大學博士學位論文.-哈爾濱:2006:29~30 [6] 曾滿紅.傅立葉明文水印及零水印算法的研究.燕山大學碩士學位論文.-北京:2005:16~17 [7] 龐小紅.圖像數(shù)字水印理論與技術研究.哈爾濱工程大學博士學位論文.-哈爾濱:2006:34 [8] Rafael C.Gonzalez,Richad E.Woo

40、ds.數(shù)字圖像處理(阮秋琦,阮宇智等譯)[M]. -北京:電子工業(yè)出版社,2003 [9] 飛思科技產(chǎn)品研發(fā)中心.MATLAB 6.5輔助圖象處理[M] .-北京:電子工業(yè)出版社,2003 附錄A(基于DCT域的數(shù)字水印算法程序) %%%%%%%%%%%%% 嵌入算法 %%%%%%%%%%%%%%% clear all; clc; %%%%%% 讀取水印圖像 %%%%%%%% omark=double(imread(muxiao.bmp))/255; mo=size(omark,1); no=size(omark,2); %

41、%%%% 以下生成水印信息 %%%%%% mark=omark; alpha=30; rand1=randn(1,8); rand2=randn(1,8); %%%%%% 讀取宿主圖像 %%%%%%%% cimage=imread(lena.bmp); figure(1); subplot(2,3,1),imshow(cimage,[]),title(‘原始的宿主圖像’); [mc,nc]=size(cimage); cda0=blkproc(cimage,[8,8],dct2); %%%%%%% 嵌入水印 %%%%%%%%% cda1=cda0; for i=1

42、:mo for j=1:no x=(i-1)*8;y=(j-1)*8; if mark(i,j)==1 k=rand1; else k=rand2; end cda1(x+1,y+8)=cda0(x+1,y+8)+alpha*k(1); cda1(x+2,y+7)=cda0(x+2,y+7)+alpha*k(2); cda1(x+3,y+6)=cda0(x+3,y+6)+alpha*k(3); cda1(x+4,y+5)=cda0(

43、x+4,y+5)+alpha*k(4); cda1(x+5,y+4)=cda0(x+5,y+4)+alpha*k(5); cda1(x+6,y+3)=cda0(x+6,y+3)+alpha*k(6); cda1(x+7,y+2)=cda0(x+7,y+2)+alpha*k(7); cda1(x+8,y+1)=cda0(x+8,y+1)+alpha*k(8); end end %%%%%% 嵌入水印后圖象 %%%%%% wimage=blkproc(cda1,[8,8],idct2); wimage_1=uint8(wimage);

44、imwrite(wimage_1,withmark.bmp,bmp); subplot(2,3,2),imshow(wimage,[]),title(‘嵌入水印后圖象’); %%%%%%%%%%%%%% 進行攻擊測試 %%%%%%%%%%% disp(‘1-->加入白噪聲’); disp(‘2-->高斯低通濾波’); disp(‘3-->剪切圖像’); disp(‘4-->旋轉(zhuǎn)攻擊’); disp(‘5-->直接檢測’) begin=input(‘請選擇攻擊(1-5):’) switch begin %%%%%%% 加入白噪聲 %%%%%%%% case 1 A

45、image1=wimage; Wnoise=20*randn(size(Aimage1)); Aimage1=Aimage1+Wnoise; subplot(2,3,4),imshow(Aimage1,[]),title(‘加入白噪聲后的圖象’); att=Aimage1; imwrite(att,whitenoiseimage.bmp); %%%%%%% 高斯低通濾波 %%%%%%% case 2 Aimage2=wimage; H=fspecial(gaussian,[4,4],0.5); Aimage2=imfilter(Aimage2,H); subplo

46、t(2,3,4),imshow(Aimage2,[]),title(‘高斯低通濾波后的圖象’); att=Aimage2; imwrite(att,gaussianimage.bmp) %%%%%%%% 剪切攻擊 %%%%%%%% case 3 Aimage3=wimage; Aimage3(1:128,1:128)=256; subplot(2,3,4),imshow(Aimage3,[]),title(‘剪切后的圖象’); att=Aimage3; imwrite(att,cutpartimage.bmp); %%%%%%%% 旋轉(zhuǎn)攻擊 %%%%%%%%

47、 case 4 Aimage4=wimage; Aimage4=imrotate(Aimage4,10,bilinear,crop); Aimage_4=mat2gray(Aimage4); subplot(2,3,4),imshow(Aimage_4,[]),title(‘旋轉(zhuǎn)10 度后的圖象’); att=Aimage_4; imwrite(att,rotatedimage.bmp); %%%%%%% 沒有受到攻擊 %%%%%%% case 5 subplot(2,3,4),imshow(wimage,[]),title(‘直接提取的圖像’); att=wim

48、age; imwrite(att,directimage.bmp); end %%%%%%%%%%%%% 提取水印 %%%%%%%%%%%%%% tmark_0=att; tmark_0=blkproc(tmark_0,[8,8],dct2); pass=zeros(1,8); for i=1:mo for j=1:no x=(i-1)*8;y=(j-1)*8; pass(1)=tmark_0(x+1,y+8); pass(2)=tmark_0(x+2,y+7); pass(3)=tmark_0(x

49、+3,y+6); pass(4)=tmark_0(x+4,y+5); pass(5)=tmark_0(x+5,y+4); pass(6)=tmark_0(x+6,y+3); pass(7)=tmark_0(x+7,y+2); pass(8)=tmark_0(x+8,y+1); if (corr2(pass,rand1)>corr2(pass,rand2)) tmark_1(i,j)=1; else tmark_1(

50、i,j)=0; end end end %%%%%%%%%% 計算NC(歸一化相關系數(shù))%%%%%%%% g_mark=double(tmark_1); o_mark=double(omark); [m,n]=size(g_mark); nc_0=0; nc_1=0; nc_2=0; for i=1:m for j=1:n nc_0=nc_0+g_mark(i,j)*o_mark(i,j); nc_1=nc_1+o_mark(i,j)*o_mark(i,j); nc_2=nc_2+g_

51、mark(i,j)*g_mark(i,j); end end NC=nc_0/sqrt(nc_1*nc_2); %%%%%% 顯示提取水印 %%%%%%%% subplot(2,3,5),imshow(muxiao.bmp),title(‘原始水印圖像’); subplot(2,3,6),imshow(tmark_1,[]); name=‘提取得水印圖像’; title(strcat(num2str(name),NC=,num2str(NC))); 附錄B(基于FFT域的數(shù)字水印算法程序) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%

52、%%%%%%%%% 嵌入水印算法 %%%%%%%%%%%%%% clear all; clc; %%%%%% 讀取水印圖象 %%%%%%% omark=double(imread(muxiao.bmp))/255; mo=size(omark,1); no=size(omark,2); %%%%% 以下生成水印信息 %%%%%% mark=omark; alpha=200; R1=randn(1,8); rand1=round(R1); R2=randn(1,8); rand2=round(R2); %%%%%%% 讀取宿主圖像 %%%%%%% cimage=

53、imread(lena.bmp); figure(1); subplot(2,3,1),imshow(cimage,[]),title(原始的宿主圖像); [mc,nc]=size(cimage); cimage=double(cimage); fft0=blkproc(cimage,[8,8],fft2); %%%%%%% 嵌入水印 %%%%%%%%% fft_abs=abs(fft0); fft_angle=angle(fft0); fft1=fft_abs; for ii=1:mo for jj=1:no x=(ii-1)*8;y=(j

54、j-1)*8; if mark(ii,jj)==1 k=rand1; else k=rand2; end fft1(x+1,y+8)=fft_abs(x+1,y+8)+alpha*k(1); fft1(x+2,y+7)=fft_abs(x+2,y+7)+alpha*k(2); fft1(x+3,y+6)=fft_abs(x+3,y+6)+alpha*k(3); fft1(x+4,y+5)=fft_abs(x+4,y+5)+alpha*k(4); fft1

55、(x+5,y+4)=fft_abs(x+5,y+4)+alpha*k(5); fft1(x+6,y+3)=fft_abs(x+6,y+3)+alpha*k(6); fft1(x+7,y+2)=fft_abs(x+7,y+2)+alpha*k(7); fft1(x+8,y+1)=fft_abs(x+8,y+1)+alpha*k(8); end end fft_abs_0=fft1; fft_abs_1=(fft_abs_0.*exp(i*fft_angle)); wimage_0=blkproc(fft_abs_1,[8,8],ifft2); w

56、image=abs(wimage_0); %%%%%% 顯示嵌入水印圖象 %%%%% wimage_1=uint8(wimage); imwrite(wimage_1,withmark.bmp,bmp); subplot(2,3,2),imshow(wimage,[]),title(嵌入水印后的圖象); %%%%%%%%%%%%% 進行各種攻擊 %%%%%%%%%%%% disp(1-->加入白噪聲); disp(2-->高斯低通濾波); disp(3-->剪切圖像); disp(4-->旋轉(zhuǎn)圖象); disp(5-->直接檢測); begin=input(請選擇攻擊(1

57、-5)); switch begin %%%%%%%%加入白噪聲%%%%%%%% case 1 Aimage1=wimage; Wnoise=12*randn(size(Aimage1)); Aimage1=Aimage1+Wnoise; subplot(2,3,4),imshow(Aimage1,[]),title(加入白噪聲后的圖象); att=Aimage1; imwrite(att,whitenoiseimage.bmp); %%%%%% 高斯低通濾波 %%%%%%%% case 2 Aimage2=wimage; H=fspecial(ga

58、ussian,[4,4],0.6); Aimage2=imfilter(Aimage2,H); subplot(2,3,4),imshow(Aimage2,[]),title(高斯低通濾波后的圖象); att=Aimage2; imwrite(att,gaussianimage.bmp) %%%%%%% 剪切攻擊 %%%%%%%%% case 3 Aimage3=wimage; Aimage3(1:128,1:128)=256; subplot(2,3,4),imshow(Aimage3,[]),title(剪切后的圖象); att=Aimage3; imwrit

59、e(att,cutpartimage.bmp); %%%%%%% 旋轉(zhuǎn)攻擊 %%%%%%%%% case 4 Aimage4=wimage; Aimage4=imrotate(Aimage4,10,bilinear,crop); Aimage_4=mat2gray(Aimage4); subplot(2,3,4),imshow(Aimage_4,[]),title(旋轉(zhuǎn)10度后的圖象); att=Aimage_4; imwrite(att,rotatedimage.bmp); %%%%%%% 沒有受到攻擊 %%%%%%% case 5 subplot(2,

60、3,4),imshow(wimage,[]),title(直接提取的圖象); att=wimage; imwrite(att,directimage.bmp); end %%%%%%%%%%%%%%% 提取水印 %%%%%%%%%%%%% tmark_0=att; tmark_0=blkproc(tmark_0,[8,8],fft2); tmark_0=abs(tmark_0); pass=zeros(1,8); for ii=1:mo for jj=1:no x=(ii-1)*8;y=(jj-1)*8; pass(1)=tmar

61、k_0(x+1,y+8); pass(2)=tmark_0(x+2,y+7); pass(3)=tmark_0(x+3,y+6); pass(4)=tmark_0(x+4,y+5); pass(5)=tmark_0(x+5,y+4); pass(6)=tmark_0(x+6,y+3); pass(7)=tmark_0(x+7,y+2); pass(8)=tmark_0(x+8,y+1); if (corr2(pass,rand1)>corr2(pass

62、,rand2)) tmark_1(ii,jj)=1; else tmark_1(ii,jj)=0; end end end %%%%%%%%%% 計算NC(歸一化相關系數(shù))%%%%%%%% g_mark=double(tmark_1); o_mark=double(omark); [m,n]=size(g_mark); nc_0=0; nc_1=0; nc_2=0; for ii=1:m for jj=1:n nc_0=nc_0+g_mark(ii

63、,jj)*o_mark(ii,jj); nc_1=nc_1+o_mark(ii,jj)*o_mark(ii,jj); nc_2=nc_2+g_mark(ii,jj)*g_mark(ii,jj); end end NC=nc_0/sqrt(nc_1*nc_2); %%%%%% 顯示提取水印圖象 %%%%% subplot(2,3,5),imshow(muxiao.bmp),title(原始水印圖象); subplot(2,3,6),imshow(tmark_1,[]); name=提取的水印圖像; title(strcat(num2str(name),NC=,num2str(NC))); 致 謝 經(jīng)過了四年的努力,我終于完成了我的學業(yè),并順利完成了學士畢業(yè)論文,在這期間得到了諸多老師的指導與幫助,還有許多親人朋友的關心與支持,在這里一并表示衷心的感謝! 首先,感謝老師,他在我寫畢業(yè)論文期間給我提供了許多資料,并指導我寫完了畢業(yè)論文,老師嚴謹樸實的治學態(tài)度,誨人不倦的教學精神,和藹可親的處世之道給我留下了很深刻的映像,讓我受益無窮。另外,還要感謝圖書館電子資源管理室,它在我查閱資料方面也給我提供了許多幫助! 感謝所有關心過我的人,謹以我的努力作為回報! - 29 -

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!