王婷
摘要:該文提出了一種適用于醫(yī)學(xué)圖像的半脆弱數(shù)字水印算法。該算法在分析醫(yī)學(xué)圖像特征后將醫(yī)學(xué)圖像分塊,再將文本病例信息使用自定義編碼表生成水印信息,嵌入原始圖像的頻域中,實現(xiàn)了信息的隱藏。實驗結(jié)果表明,該算法對各種攻擊具有半脆弱性,水印檢測難度大,可以對篡改進(jìn)行檢測和精確定位。
關(guān)鍵詞:醫(yī)學(xué)圖像;數(shù)字水??;DCT變換;信息隱藏;半脆弱
中圖分類號:TP309
文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2017)10-0221-03
電子病歷系統(tǒng)目前已在我國大部分三級醫(yī)院開始使用了,這無疑為臨床診斷和醫(yī)學(xué)類學(xué)生的理論學(xué)習(xí)帶來了很多便利,但目前電子病歷僅僅是實現(xiàn)了病歷錄入的電子化,對于病歷內(nèi)容保護(hù)較少,尤其是作為診斷依據(jù)的醫(yī)學(xué)圖像很容易被篡改,而且診斷信息往往與圖像分開存儲,一方面,會影響醫(yī)生的診斷,延誤最佳診治時機,在發(fā)生醫(yī)療事故時,無法作為評斷的有力依據(jù),另一方面,對于正處于學(xué)習(xí)階段、臨床經(jīng)驗較少的醫(yī)學(xué)類學(xué)生,一旦接受到不完整或錯誤的知識,將會對他們將來的工作產(chǎn)生重大的影響,因此,被分發(fā)的圖像完整性及其診斷信息的認(rèn)證就顯得尤為重要。
如果將包括病人和醫(yī)生基本信息、臨床診斷片段等重要文字信息用一定的方式進(jìn)行編碼、以數(shù)字代碼水印形式隱藏在為其拍攝的醫(yī)學(xué)影像中,則既可以解決以上提出的問題,又能在病歷與醫(yī)療圖像之間建立起對應(yīng)關(guān)系,保持診斷數(shù)據(jù)的關(guān)聯(lián)性,有利于準(zhǔn)確快捷的檢索。
與一般圖像相比,醫(yī)學(xué)圖像對水印嵌入有一些獨特的要求:(1)圖像必須無失真,哪怕是微小的改動在法律上都是不允許的,嚴(yán)重的會導(dǎo)致醫(yī)務(wù)人員對病人病情的錯誤診斷。(2)對所嵌入水印信息的安全性要求嚴(yán)格,特別是有些特殊病人的病歷為國家和企業(yè)的機密,絕對不允許泄露,水印不能被非法提取。(3)病歷信息以水印形式嵌入圖像,在需要時應(yīng)該能夠被完整準(zhǔn)確地提取出來,這又要求水印必須具備一定的魯棒性。
基于醫(yī)學(xué)圖像水印的獨特要求和對醫(yī)學(xué)圖像的分析,在水印的嵌入過程中本算法以Cox提出的基于DCT量化系數(shù)的半脆弱水印算法和成思提出的基于醫(yī)學(xué)圖像感興趣區(qū)域的完整性認(rèn)證水印算法,為基礎(chǔ),并對其作了一定的改進(jìn)。Cox提出的算法是隨機將水印信息嵌入圖像的高頻帶,可以使水印信息具有較好的不可見性,但是通常圖像的大部分能量集中在低頻帶,通過量化等處理,嵌入到高頻帶的水印很容易丟失,所以算法的魯棒性很差;成思提出的算法是將水印信息嵌入圖像的中高頻帶,其魯棒性不高,抗攻擊和穩(wěn)定性較差;而將水印嵌入到低頻帶可以使水印具有較好的魯棒性,但是往往會降低水印的不可見性。通過以上分析,為保證魯棒性和不可見性的平衡,本算法選擇將水印嵌入圖像中頻帶。
1.醫(yī)學(xué)圖像的特征
常用醫(yī)學(xué)圖像主要包括:x線圖像、CT圖像、磁共振圖像、PET圖像、超聲圖像、CR圖像、顯微圖片等。
下面我們就以肺栓塞CT圖像為例,從空域和頻域兩個方面對醫(yī)學(xué)圖像的特征進(jìn)行分析。
1.1空域特征
1)CT圖像灰度值在10-100和150-180之間,變化較平緩,幾乎沒有灰度值的突變。其灰度直方圖如圖2所示。
1.2頻域特征
本節(jié),我們將對圖像進(jìn)行DCT變換,然后分析交流分量AC(共63個)的特征。
首先對圖像進(jìn)行8*8分塊DCT變換,獲取DCT系數(shù);然后使用JPEG標(biāo)準(zhǔn)量化表(表2)選擇量化因子,對DCT系數(shù)進(jìn)行量化;最后按z形掃描順序(如表3),將DCT系數(shù)進(jìn)行排序,再進(jìn)行統(tǒng)計分析,其中左上角標(biāo)為DC的第一個頻點為直流分量,左上角陰影部分的20個頻帶點為低頻帶,中間的22個頻帶點為中頻帶,右下角陰影部分的21個頻帶點為高頻帶。實驗時我們將直流分量DC置0,以便于觀察第一個AC系數(shù)的變化方向。
1)頻域均值如圖3所示,低頻帶上變化幅度較大,在-2.2到1.8之間,中頻帶變化幅度較小,大致在0.6到0之間,高頻帶幾乎沒有變化。
2)頻域標(biāo)準(zhǔn)差如圖4所示,由圖可見,低頻帶的頻域標(biāo)準(zhǔn)差變化較大,在0到100之間,中頻帶的頻域標(biāo)準(zhǔn)差變化較小,在0到12之間,高頻帶幾乎沒有變化。
3)在對以上兩步操作統(tǒng)計的頻域均值和標(biāo)準(zhǔn)差進(jìn)行重復(fù)計算后,得到均值的均值和標(biāo)準(zhǔn)差的標(biāo)準(zhǔn)差,如表4所示。這兩個參數(shù)顯示了頻域的相關(guān)特性。
2.算法描述
2.1水印的生成和嵌入
水印的生成和嵌入過程如下:
1)為確保水印的安全性,本算法使用自定義的編碼表對文本病例加密,轉(zhuǎn)換成二進(jìn)制數(shù)作為水印,記為w,水印長度為K,w={wk 0≤k≤K,wk ∈(0,1),被編碼的字符包括0-9、a-z、A-Z、標(biāo)點符號和空格,共62個字符,需用6位的二進(jìn)制數(shù)表示。
4)按z形掃描順序,對64個系數(shù)進(jìn)行編號,將編號為25-36的12個中頻系數(shù)等分為6組,每組2個系數(shù),記作M(1)和M(2),每組對應(yīng)嵌入一位水印信息,針對每組系數(shù),將其最低有效位(LSB)進(jìn)行異或(xor)運算,得到bm(i),若bm(i)<>wk(i),從中隨機選取M(1)或M(2),將其LSB取反;
5)重復(fù)第4)步,對所有圖像塊進(jìn)行計算;
6)將所有圖像塊進(jìn)行逆DCT變換,得到最終加水印圖像。
2.2水印的提取和檢測
1)將加水印圖像進(jìn)行8*8分塊后,應(yīng)用DCT變換,得到DCT系數(shù),按式(1)量化;
3.實驗結(jié)果分析
我們對尺寸為512*424的256級灰度CT圖像進(jìn)行實驗,嵌入的文本信息為(Li Qinghai 43893 Age 57 years M 15 May 2008.pulmonary embolism),水印長度為372bits(62個字符),結(jié)果如圖5所示。其中,圖5-1為原始CT圖像;圖5-2為嵌入水印后的圖像,可看出圖像質(zhì)量無明顯下降,峰值信噪比PSNR=34.6dB;對圖5-2應(yīng)用JPEG壓縮操作,然后檢測壓縮圖像的被修改位置,檢測結(jié)果示意圖如圖5-3,可以看出水印的破壞并不是特別嚴(yán)重,證明水印具有一定的抗壓縮性,是一種半脆弱水??;圖5-4是對圖像進(jìn)行篡改后得到的圖像,篡改部位用黃色箭頭標(biāo)示;圖5-5是對圖5-4相應(yīng)的篡改進(jìn)行檢測得出的結(jié)果示意圖,由圖可見,本算法對篡改可以檢測和精確定位,因為水印只嵌入到圖像的前62個8*8圖像塊中,文本仍可以正確提取。每個分塊的中頻帶嵌入6位水印信息,所以每個像素的水印嵌入量為0.09375bit。
4.結(jié)束語
本文分析了醫(yī)學(xué)圖像的空域特征和頻域特征,為在中頻帶添加水印提供理論依據(jù)。在此基礎(chǔ)上實現(xiàn)了一種半脆弱DCT域水印算法,算法將文本病例使用自定義編碼表生成水印信息,然后在中頻帶上嵌入水印,實驗證明,水印圖像抗壓縮性較好,水印檢測難度大,算法可以檢測和精確定位篡改部位。由于醫(yī)學(xué)圖像的獨特要求,水印圖像的抗壓縮性還不夠理想,算法有待進(jìn)一步提高。對于醫(yī)學(xué)圖像水印的添加,其嵌入位置和嵌入強度受圖像類型及圖像質(zhì)量的影響較明顯,所以今后的研究工作中,還需要對本算法的適用性進(jìn)行進(jìn)一步的檢驗和改進(jìn)。