?

用于醫學圖像認證的Contourlet-SVD雙水印算法

2019-01-24 09:30宗偲琦
小型微型計算機系統 2019年1期
關鍵詞:子帶角點原圖

陳 青,宗偲琦

(上海理工大學 光電信息與計算機工程學院,上海 200093)

1 引 言

近幾年來,網絡系統的迅速發展使得醫學圖像的傳播交流越來越便捷.與此同時也帶來了許多的隱患.不法分子可能會竊取或破壞完整的圖像以獲取不正當的利益,這對醫學圖像的完整性、機密性和真實性[1]造成了很大的影響.為了使的眾多醫學數字圖像能夠符合醫學數字影像和通訊(DICOM)標準[2],許多科學有效的方案相繼被提出,而數字圖像水印是其中最有效的方法之一.為了能讓醫學數字圖像能夠在網絡上安全地傳輸,人們根據數字水印的標準提出了許多數字水印方案.這些標準包括不可見性和魯棒性等.除此之外,更專業的數字水印還要求能夠幫助判斷和定位圖像被篡改的區域[3],如脆弱水印[4]等.水印要求越高,所用的算法計算難度就越高.除此之外,對醫學圖像的感興趣區域(ROI)劃分有助于幫助醫師判別病情,同時也有助于醫學水印信息的劃分[5].現有的一些醫學圖像數字水印算法由于需要預處理或是繁瑣的計算過程并不適用于批量處理圖像數據.

目前常見的ROI自動劃分方法包括模板定位法和紋理分析法.ShunZhang[6]等人通過計算圖像上物體的面積,將最大面積標記為ROI并腐蝕出ROI形狀作為模板,在接收端通過將模板與圖像相乘達到自動選取ROI的目的.該方法僅適用于圖案緊湊、紋理簡單的醫學圖像,且ROI模板需另行存儲,對文件傳輸帶來一定負擔.N.Aherrahrou[7]等人使用局部差分法(PDE)、DWT和DFT方法將醫學圖像分為結構區、紋理區和噪聲區,計算出醫學圖像紋理最為復雜的區域并將其設為ROI.該方法適用于紋理分布集中且變化明顯的醫學圖像,但

計算方法較為復雜.在選擇水印嵌入方案時,針對醫學圖像要求水印嵌入方案可逆、對原圖質量影響小,結合水印的魯棒性和不可見性等要求,現有的數字水印嵌入算法一般選擇將水印嵌入至變換域中,以此來提高水印的隱蔽性和抗攻擊能力.小波變換(WT)、離散余弦變換(DCT)等頻域變換一直都是研究的熱點,而輪廓波(Contourlet)變換[8]由于具有良好的方向性和各向異性[9]而被認為是能夠完整描述圖像特性的變換方法.此外,由于圖像在輪廓域經過多次分解可以得到一個逼近子圖和多個帶通方向子帶,這就為水印的嵌入位置帶來多種選擇方式,一定程度上擴展了數字水印的負載能力.

本文將提出一種基于特征值提取的醫學圖像雙水印算法.該算法利用Harris角點法[10]從圖像中提取出特征值信息,利用其中最穩定的特征點坐標定位圖像ROI區域,實現接收端自動選取ROI的功能.病人信息和從ROI提取出的特征點像素值經過壓縮編碼后將以二進制的形式嵌入至輪廓波分解后的RONI中頻子帶和高頻子帶中.選取認證水印,將ROI圖像經過輪廓波分解后,使用SVD奇異值分解法[11]將水印嵌入到ROI區域的逼近子圖內完成圖像版權認證.通過驗證接收端得到圖像和原圖特征點匹配程度可以鑒別圖像是否遭到篡改.本文在大量實驗基礎上選定合適的特征值數量值,并選取最穩定的特征值以保證在接收端對特征區域的提取與原圖特征區域提取相匹配.結合輪廓波分解和SVD奇異值分解的優點,保證了水印的不可見性和魯棒性.實驗結果表明該方法操作簡單,對原圖影響小,篡改探測精確度高.

2 基本原理

2.1 Contourlet變換

Contourlet變換,又稱輪廓波變換,是由Do和Vetterli首先提出的一種多尺度、多方向的信號表示方法[12].輪廓波分解具有很好的方向性和各向異性,能準確地將圖像的邊緣捕獲到不同尺度、不同方向的子帶中[13],因此能夠很好地滿足醫學圖像處理要求.圖像經過輪廓波分解時,首先由拉普拉斯金字塔濾波器(Laplasse Pyramid,LP)分解出低頻逼近子圖,描述圖像大致輪廓,再經過方向濾波器組(Directional Filter Bank,DFB)分解出方向子帶,用于描述圖像細節信息[14].輪廓波變換過程如圖1所示.圖像經過一次輪廓波分解后可以得到一個低頻逼近子圖、一個中頻子圖以及兩個高頻方向子帶,可根據水印特性選擇不同的子帶進行嵌入.

圖1 輪廓波分解示意圖Fig.1 Contourlet transform

2.2 特征點提取與ROI定位

本文使用Harris角點法提取醫學圖像特征點.角點包括局部窗口移動變化較大的點和局部曲率突變的圖像點兩類[15].醫學圖像特征點主要分布于圖案交界處以及紋理復雜區域,這些區域通常聚集著圖像關鍵信息.一張圖像角點有多個,本算法需要提取出特征點用于ROI定位,因此要求篩選出具有很高的重復檢測率,以及對噪聲和攻擊具有魯棒性的角點作為特征點.檢測算法的步驟如下:

1) 對原圖分別進行X和Y方向上的高斯濾波.此步驟目的為改進Harris角點法的精度.對濾波后的像素矩陣求解其自相關矩陣,再次進行高斯濾波,得到由經過兩次濾波后的像素值組成的矩陣M.

2) 構建與原圖尺寸大小一致的零矩陣用于存放計算出的權值R(i,j).R(i,j)的計算公式為

R(i,j)=det(M)-k×(tr(M))2

(1)

矩陣R中最大像素值為Rmax,閾值T的計算公式為T=0.08Rmax,其中0.08為經過多次實驗后得到的經驗常數.當R(i,j)>T時則判定該位置為一個候選角點.

3) 對初步計算出的角點進行局部非極大值抑制計算(NMS)[16].

4) 去掉圖像邊緣處的角點.

5) 將圖像劃分為8×8的小塊,對每個子塊進行編號并記錄每個子塊的中心點坐標.

6) 根據子塊中心點位置與圖像中心點的距離和每個子塊內角點的數量對每個子塊進行排序,選取距圖像中心最近的且角點數量最多的N個子塊作為特征塊用于ROI的定位.子塊的數量N由水印圖像大小來決定.

7) 劃定ROI區域,該區域需包含所有選定的子塊,因此分別計算每個子塊中心點橫坐標、縱坐標與圖像中心點橫、縱坐標的差值,取其中最大值M作為ROI區域長寬值,得到大小為M×M的正方形ROI區域.接收端可通過重新檢測特征角點步驟重新獲取ROI.具體ROI選取步驟如下:

a) N個特征塊坐標分別為(r1,l1), (r2,l2),…,(rn,ln),圖像中心點坐標為O(o1,o2),計算R=(r1-o1,r2-o1,…rn-o1),L=(l1-o2,l2-o2,…ln-o2)和差值絕對值R′=(|r1-o1|,|r2-o1|,…|rn-o1|), L′=(|l1-o2|,|l2-o2|,…|ln-o2|).

b) 將R和L中元素按從大到小排序,計算兩個數組中最大元素與最小元素的差值r和l. 比較兩者大小,取M=max(r,l).

c) 將R′和 L′元素從大到小排列,分別取與中心點橫坐標和縱坐標差值最大的橫坐標rm和lm,若rm-o1>0,則取橫坐標從rm至rm±M,縱坐標lm±M(rm-o1和lm-o2大于0時取-,小于0時取+)的所有坐標點的像素值構成ROI區域圖像矩陣IR.

3 水印算法

3.1 水印嵌入

水印內容包含用于鑒別篡改的ROI信息、病人信息和版權認證信息.從ROI 提取出的穩定特征點將作為鑒別篡改的依據.認證水印為二值圖像.詳細步驟如下:

2) 選取認證水印圖像IA,圖像尺寸為N1×N2.對IA進行k次Arnold置亂[17].

4) 計算Qij=round(S(1,1)∕q),round為四舍五入運算,q為可調節的水印嵌入強度系數,計算Ti=mod(Q+wi,j,2),其中wi,j為水印像素值,再根據以下公式計算嵌入水印后的奇異值

(2)

6) 從原圖RONI部分選取M×M尺寸的區域IN,記錄區域所在位置.對IN進行一次輪廓波變換,得到逼近子圖、中頻子帶IN1和高頻子帶IN2.

8) 將嵌入水印后的RONI和ROI重新拼合,得到嵌入水印后的圖像.

圖2 特征塊的選取及ROI和RONI的劃分Fig.2 Characteristic blocks and dividing ROI

特征塊和ROI選取如圖2所示.整體方案流程見圖3.

3.2 水印提取

在水印提取之前先要對嵌入水印的圖像進行特征值提取,還原ROI和RONI的劃分.水印提取即為水印嵌入的逆過程,具體步驟如下:

(3)

4) 定位RONI水印嵌入位置IN,對其進行一次輪廓波變換,使用步驟3和步驟4中的方法從中頻和高頻子帶中提取出病人信息和ROI特征值.

圖3 水印嵌入流程圖Fig.3 Flow chart of watermark embedding

3.3 篡改鑒別

4 實驗結果

本文提出的算法以Matlab2016為運行平臺,實驗需驗證特征點提取穩定性能、嵌入水印后圖像PSNR值以及篡改檢測性能.實驗選取了臨床上常見的醫學CT掃描圖像為載體圖像,認證水印圖像為64×64二值圖像并經過Arnold置亂,嵌入到經過輪廓波分解后的ROI低頻子圖內.同時將病人信息嵌入RONI中頻子帶,選取30個特征點嵌入RONI高頻子帶區域用于鑒別篡改.當特征點匹配率小于90%時即認為圖像遭到篡改.原圖像及嵌入水印圖像如圖4所示.

圖4 原始圖像、水印圖像及嵌入水印后的圖像Fig.4 Original images,watermark image, watermark-embedded images

根據PSNR值計算公式

(4)

對三張嵌入水印的圖像進行PSNR值計算,值分別為42.43db,43.82db,43.98db,可見水印嵌入對原圖影響不大.對嵌入水印后的圖像進行添加噪聲、JEPG壓縮、剪切等常見攻擊,在接收端仍然可以提取出水印信息.未受攻擊和遭到攻擊時提取水印實驗結果如圖5所示,提取的水印NC值實驗結果如表1所示.由實驗結果可見水印具有較好的魯棒性.

圖5 未受攻擊和遭到攻擊時提取的水印圖像

Fig.5 Extracted watermark images without and under attack

驗證特征點的穩定性,實驗對多組原始圖像和嵌入水印后圖像進行特征值提取,將兩者結果進行比對,考慮到存在噪聲的情況,設定兩者像素差值小于10%即認為兩者相匹配.實驗結果如表2所示.可見在沒有遭受攻擊的情況下,兩者特征點匹配率均大于92%.

表1 水印算法魯棒性實驗結果

表2 篡改鑒別實驗結果

5 結 語

本文算法通過對醫學圖像特征值的提取,完成了ROI區域自動選擇和篡改鑒別.實驗數據表明,該算法提取特征點準確、特征點重復檢測率高,且不需要復雜的圖像預處理程序,實際應用中可提高批量處理圖像效率.使用奇異值分解法將認證水印、病人信息以及篡改鑒別信息分別嵌入至輪廓波分解后的不同子帶中,提高了原圖水印負載能力.提取接收端圖像的水印并計算與原水印的NC值來驗證水印具有較好魯棒性,通過PSNR值計算證明水印嵌入對原圖質量影響較小.在篡改鑒定階段,為了驗證篡改鑒定的性能,分別對真實篡改圖像和添加噪聲圖像進行特征值提取匹配實驗,實驗結果證明了算法探測篡改的精度較高、誤差率較小.在算法實現設計階段,將提取圖像特征值數量設計為可控,以便后續對特征點數量進行調整.理論上特征值數量越多,篡改探測的精度越高,且還可以用作篡改恢復.但考慮到水印容量以及批量處理圖像效率問題,今后還需要在探測精度和處理效率兩者間尋求平衡,這也是后續研究的重點之一.

猜你喜歡
子帶角點原圖
超高分辨率星載SAR系統多子帶信號處理技術研究
多支撐區域模式化融合角點檢測算法仿真
基于點云聚類的垛型角點檢測方法
角點檢測技術綜述①
子帶編碼在圖像壓縮編碼中的應用
完形:打亂的拼圖
高分辨率機載SAR多子帶合成誤差補償方法
基于FAST角點檢測算法上對Y型與X型角點的檢測
找一找
改進的DWT?MFCC特征提取算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合