周曉煒 趙 琰,2*
1(上海電力大學電子與信息工程學院 上海 200090) 2(廣西師范大學廣西多源信息挖掘與安全重點實驗室 廣西 桂林 541004)
數字圖像隨著互聯網技術的快速發展以及計算機的廣泛應用已經滲入到生活中的各個角落,但其在傳輸過程中的安全性也受到了考驗,市場上也出現了各種類似于Photoshop和美圖秀秀等簡單易用快速的圖像編輯軟件。數字圖像在傳輸過程中很容易被替換或者篡改,圖像接收端需要能夠驗證收到圖像的安全性,這就引出了圖像哈希的概念。圖像哈希是指使用緊湊序列表示圖像及其內容的技術。人們通過使用提出的哈希算法對接收圖像進行處理得到哈希序列,計算其與從安全通道接收到的原哈希序列的距離來驗證接收圖像的安全性。一般情況下,圖像哈希需要能夠區分出相似圖像和不同圖像,即具有魯棒性和區分性。
圖像感知哈希算法的核心是圖像特征向量的選取。近幾年提出的圖像感知哈希算法一般都是基于變換域和空域,而基于空域的哈希算法根據特征的選取又大致分為基于形狀紋理特征和結合顏色信息的算法。
1) 基于變換域。文獻[1]通過DCT變換構造基于顏色向量角的特征矩陣,再用LLE降維來構建哈希,算法對大部分內容保持操作都具有較好的魯棒性,但對旋轉、裁剪和縮放操作不夠魯棒。文獻[2]提取圖像在YCbCr空間的亮度Y分量進行Radon變換,對Radon變換后的系數進行一維DCT變換取第一AC分量構成行向量后提取統計特征作為哈希,算法使用Radon變換從而具有良好的抗旋轉性能,但對亮度和對比度調整的魯棒性和區分性不足。Tang等[3]通過對數極坐標變換和離散傅里葉變換從圖像中提取具有旋轉不變性的特征矩陣,然后使用多維尺度分析(MDS)將特征矩陣表示為哈希序列,算法對大角度旋轉也具有不錯的魯棒性,但運行效率不高。Yan等[4]提出的基于四元數的哈希方法使用四元數傅里葉變換同時結合顏色和結構特征生成哈希,能夠消除幾何畸變對哈希序列的影響,檢測出幾乎所有類型的篡改,相對于之前多數算法只能檢測出特定篡改在應用廣泛性上有了很大提升。文獻[5]對圖像進行DCT變換后提取低頻系數作為特征再通過DWT變換將其轉換為緊湊哈希序列,算法有較低的哈希位數,但在旋轉操作下只對小角度魯棒。
2) 基于空域。(1) 基于形狀紋理特征。文獻[6]結合SVD和LBP的特性提出了SVD-CSLBP算法,提高了對內容保持操作的魯棒性,但代價是對旋轉操作的敏感性。文獻[7]結合全局特征四元數Zernike矩和局部特征SIFT特征點來構造哈希,通過檢測匹配SIFT興趣點來定位篡改,算法可以檢測定位對象插入、刪除、替換、復制移動和剪切粘貼等篡改操作。文獻[8]通過提取灰度圖像的精確Gaussian-Hermite矩以及Gaussian-Hermite矩的不變量來構建哈希序列,算法除JEPG壓縮操作不如Zernike矩魯棒外,對其他內容保持操作尤其是噪聲的魯棒性都優于大多數比較算法。(2) 基于顏色信息。Qin等[9]提出基于環和基于塊的策略對圖像顏色矢量角提取特征從而生成哈希,算法相對于其他基于顏色矢量角的算法魯棒性和區分性都有所提升,但對亮度和對比度的魯棒性略有下降。文獻[10]利用顏色向量角能夠很好地區分色相和飽和度差異的特性,從歸一化圖像內最大圓內的顏色矢量角里提取直方圖來構建圖像哈希,算法的哈希序列不夠緊湊,且對局部區域的篡改不夠敏感。Tang等[11]將RGB彩色圖像轉換為HSI和YCbCr顏色空間,計算HSI和YCbCr各分量的塊均值和方差,提取局部顏色特征然后計算塊特征向量和參考特征向量之間的歐氏距離作為哈希值,但算法對旋轉操作不魯棒。文獻[12]將圖像進行ring分割后在感知均勻的CIE-L×a×b×顏色空間中提取每一環的統計特征構成哈希,該算法對旋轉有較強的魯棒性,但效率不高。
3) 其他方法。Tang等[13]首先將圖像構建為一個穩定的三階張量,然后使用Tucker分解將三階張量分解為一個核張量和三個正交因子矩陣,將正交因子矩陣構造為哈希序列,算法對JPEG壓縮和乘性噪聲等內容保持操作有較強的魯棒性。文獻[14]對整幅圖像提取SIFT特征點后將圖像分為非重疊的若干子塊,選取其中特征點個數較多的圖像子塊提取其顏色、紋理和形狀特征形成最終哈希序列,該算法的碰撞率小于很多算法,但不適用于特征分布均勻的圖像。
以上基于變換域的哈希算法忽略了人類對圖像最直觀的視覺感知特征,基于形狀特征的算法和結合顏色信息的算法可以很好地描述圖像輪廓和表示圖像色度分量的變換,但對圖像的表達都比較單一。為了能夠從人類視覺感知上更完整地表示圖像,從而提高算法的區分性和魯棒性,本文從YCbCr顏色空間結合變換域NSCT分解和空域的形狀特征Zernike矩提取圖像的低頻和高頻信息共同構成哈希序列,并使用PCA降維降低低頻圖像的特征維度。實驗結果表明本文算法具有不錯的區分性和魯棒性。
本文哈希算法的步驟如圖1所示,包括以下5部分內容:(1)
圖像預處理;(2) 將經過預處理操作的圖像三個通道分別進行NSCT一級分解,保留三個通道分解后的低頻圖像和Y通道的高頻圖像;(3) 將Y通道分解得到的高頻圖像經過Canny算子提取邊緣后計算Zernike不變矩得到高頻特征;(4) 在YCbCr空間,每個通道NSCT分解后的低頻圖像分別分割為64個子塊并提取6個統計特征,構成一個18維的特征矩陣后使用PCA降維并壓縮得到低頻特征;(5) 聯合低頻特征和高頻特征并利用密鑰進行加密后構成最終的哈希序列。

圖1 本文哈希算法框架
首先使用雙線性插值處理將圖像的大小調整為256×256大小并進行高斯低通濾波來提高圖像哈希算法對縮放操作和各種噪聲的魯棒性。如果輸入圖像是RGB彩色圖像,因其顏色空間三個通道之間存在一定的相關性,而YCbCr空間具有和人的視覺感知一致性及色度相互獨立的優點,因此將其轉化到YCbCr空間。
非下采樣輪廓波變換(NSCT)[15]是一種二維圖像變換技術,相較于其他變換方法它能夠將圖像分解為低頻部分和多方向的光滑輪廓。NSCT通過非子采樣金字塔濾波器和非子采樣方向濾波器組兩種濾波器進行工作,在原始圖像上應用非子采樣金字塔濾波器,去除低通和高通子帶,在帶通濾波器上應用NSDFB進行分解。
首先對經過預處理操作的圖像的Y、Cb、Cr通道分別進行NSCT一級分解,保留三個通道分解得到的低頻圖像和Y通道分解得到的高頻圖像。
1.3.1形狀特征提取
Zernike函數[16]最早由Frits Zernike提出,具有簡單的旋轉不變性,它的核是一組單位圓上定義的完備正交基。一幅數字圖像f(x,y)的重復度為q、階數為p的二維Zernike矩函數定義為:
(1)
式中:dxdy=rdrdθ,-π≤θ≤π。
Zernike矩可以用來描述圖像的形狀特征,而圖像的高頻分量往往是圖像亮度變化劇烈的地方,YCbCr空間中Y通道是亮度分量,Cb通道反映的是藍色信號部分與RGB信號亮度值之間的差異,Cr通道反映了RGB顏色模型中紅色信號部分與RGB信號亮度值之間的差異,所以算法僅對預處理后的圖像Y通道進行NSCT分解得到的高頻圖像使用Canny算子提取邊緣得到二值圖像,接著對二值圖像提取Zernike矩作為中間哈希序列H1。這里提取9個Zernike不變矩(Z00,Z11,Z20,Z22,Z31,Z33,Z40,Z42,Z44)作為高頻特征,所以H1的長度為9。
1.3.2統計特征提取和降維
本文算法將三個通道得到的低頻圖像分成n×n個子塊后提取每個子塊的6個統計特征,分別是均值、標準差、平滑度、三階矩、一致性、熵。每個通道可以得到一個6×n的特征矩陣,結合3個通道的特征矩陣得到一個18×n的特征矩陣X。
通過主成分分析[17]忽略次要的分量可以將18×n的特征向量矩陣X降維構成一個k×n的矩陣Y。通過計算矩陣Y各行與參考向量y0的二范數來將矩陣Y壓縮為一個哈希序列。步驟如下:
首先,設Y=[y1,y2,…,yN],計算參考向量y0=[y0(1),y0(2),…,y0(k)]T,其中y0(i)為向量y0的第i個元素,定義為:
(2)
式中:yj(i)為向量yj的第i個元素。
接著計算矩陣Y各行向量yj與參考向量y0的二范數,定義為:
(3)
將向量d量化為與中間哈希序列H1同一量級的序列即為哈希序列H2,H2的長度為n。
結合高頻圖像提取形狀特征得到的中間哈希序列H1和低頻圖像得到的中間哈希序列H2得到最終哈希h,即h=[H1,H2],所以h的長度為n+9。
為了確保圖像傳輸過程中未被替換或篡改,需要對收到的圖像進行安全認證。如圖2所示,首先通過本文哈希函數對收到圖像提取哈希序列h1,然后計算h1與從安全通道傳輸的圖像原哈希序列h2之間的歐氏距離。當歐氏距離d≤T時,圖像通過安全認證,否則安全認證失敗,其中:T為一個預先給定的閾值。歐氏距離公式為:
(4)
式中:h1(i)表示收到圖像所提取的哈希序列的第i個值;h2(i)表示安全通道傳輸的圖像原哈希序列的第i個值。

圖2 圖像安全認證流程
實驗中的參數設置如下:3×3高斯低通濾波的標準差設置為3,低頻圖像的分塊數n=64,PCA降維中取k=5,所得到的哈希長度為73。
將圖3所示的Airplane、House、Lena、Baboon和Peppers五幅標準圖像作為魯棒性實驗樣本,利用Photoshop、MATLAB和光影魔術手等圖像編輯軟件對五幅標準圖像進行內容保持操作,所采用的內容保持操作及參數如表1所示。

圖3 五幅標準圖像

表1 內容保持操作參數
實驗結果如圖4所示,其中橫坐標表示不同參數下的各種內容保持操作,縱坐標表示內容保持操作圖像哈希序列與原圖像哈希序列之間的距離。可以看出,內容保持操作圖像與原圖之間的哈希距離比較集中,基本都小于60,個別操作與原圖距離較大,但不超過80,遠小于后文設置的區分相似圖像和不同圖像的最優閾值。

圖4 魯棒性實驗結果
算法的區分性實驗樣本來自于華盛頓大學Ground Truth Database圖庫[18]中的700幅圖像和數據庫VOC2007[19]中的300幅圖像構成的1 000幅不同圖像圖庫。1 000幅圖像兩兩之間構成不同圖像對,不同圖像對的總數為499 500,通過對1 000幅圖像進行如表2所示的處理,每幅圖像與其生成的14幅內容保持操作圖像共15幅圖像兩兩之間構成相似圖像對,相似圖像對的總數為105 000。實驗結果如圖5所示,橫坐標為圖像對之間的歐氏距離,縱坐標為不同歐氏距離的圖像對的數目。不同圖像對之間的哈希距離分布用實線表示,相似圖像對之間的哈希距離分布用虛線表示。可以看出,虛線和實線之間只有少量相交,即相似圖像和不同圖像只有少量圖像會被判斷錯誤,所以可以通過合適的閾值來區分相似圖像和不同圖像。這里引入檢錯率和碰撞率[20]來衡量哈希算法的區分性,計算式分別如下:
(5)
(6)
式中:閾值T確定時,NE為所有相似圖像對中被判斷為不同圖像對的數目;NC為所有不同圖像對中被判斷為相似圖像對的數目;NS、ND分別為相似圖像對的總數目和不同圖像對的總數目;PE為檢錯率;PC為碰撞率。

表2 不同攻擊參數

圖5 區分性實驗結果
不同閾值下的PC和PE如表3所示。可以看出,檢錯率與碰撞率呈反比關系,碰撞率增大,檢錯率減小。這是因為相似圖像之間的哈希距離與不同圖像之間的哈希距離有部分相交,所以閾值過小會有更多的相似圖像被誤判為不同圖像從而擁有更大的碰撞率,閾值過大則會導致不同圖像被誤判為相似圖像的數目增多,檢錯率隨之增大。當閾值T為124時,檢錯率和碰撞率都相對較小,所以區分相似圖像和不同圖像的最優閾值可以設為124。

表3 不同閾值下的PC和PE
本文使用標準圖像中的Lena圖像來測試本文哈希算法的安全性,如圖6所示。對原圖像使用500個錯誤密鑰生成錯誤的哈希序列,與正確密鑰生成的哈希序列計算歐氏距離,得到的結果遠遠高于2.2節設置的最優閾值124,使用錯誤密鑰所生成的哈希會被判斷為未通過安全認證,所以本文算法具有較高的安全性。

圖6 安全性實驗結果
將本文算法與DCT-DWT算法[5]、Local color算法[11]、Ring partition算法[12]和Tensor decomposition算法[13]進行對比。為了進行公平的比較,使用2.2節采用的499 500個不同圖像對和105 000個相似圖像對來驗證它們的分類性能,在同一臺配置為Intel(R) Core(TM)i5-3230M CPU @2.60 GHz和4.00 GB內存的計算機的MATLAB R2015b平臺上對各個比較算法進行仿真。使用ROC曲線[21]和算法速度來衡量算法的優劣,其中兩個重要指標正確接受率PTPR和錯誤接受率PFPR定義如下:
(7)
(8)
式中:nTPR為所有相似圖像對中被正確判斷為相似圖像的數目;NTPR為相似圖像對的總數目;nFPR為所有不同圖像對中被錯誤判斷為相似圖像的個數;NFPR為不同圖像對的總數目。可以看出,性能好的算法應該擁有更高的正確接受率和更低的錯誤接受率。而在ROC曲線中,x軸為PFPR,y軸為PTPR,所以算法的ROC曲線越接近坐標軸的左上角則其分類性能越好。
圖7所示為不同哈希算法的ROC曲線比較。可以看出本文算法所生成的ROC曲線在所有算法中最靠近坐標軸左上角,說明本文算法擁有更高的正確接受率和更低的錯誤接受率,即分類性能最好。

圖7 不同算法的ROC曲線
圖8所示為不同算法相似圖像之間哈希距離和不同圖像之間哈希距離分布圖。視覺相似的圖像生成哈希相互之間的距離與不同圖像所生成哈希之間的距離重疊部分越多,算法的區分性越差。可以看出,本文算法兩條曲線相交最少,也就表明其區分性最好。

(a) 本文算法

(b) DCT-DWT算法

(c) Local color算法

(d) Ring partition算法

(e) Tensor Decomposition算法圖8 不同算法相似圖像間哈希距離和 不同圖像間哈希距離分布圖
不同算法在上述平臺上進行仿真中計算1 000幅圖像生成哈希序列的平均時間如表4所示。可以看出,除Local color算法較本文算法稍快0.22 s,其他比較算法運算效率均差于本文算法,但本文算法的區分性能在所有比較算法中最好,更遠遠優于Local color算法。綜合考慮運算效率和哈希性能的前提下,本文算法在保證效率的同時分類性能最優。

表4 各算法運行時間
本文提出了一種基于NSCT分解和Zernike矩的感知圖像哈希算法,在YCbCr顏色空間將NSCT分解得到的低頻圖像提取統計特征使用PCA降維得到低頻特征,NSCT分解得到的Y分量的高頻圖像提取邊緣后使用Zernike矩表示形狀特征,結合低頻和高頻特征生成哈希。
算法基于變換域在不同顏色空間提取圖像的統計特征和形狀特征來生成哈希,多角度多方位地表示圖像內容,更符合人類視覺感知特性。實驗表明該算法相較幾種對比算法速度較快,區分性更好,在保證哈希性能的同時實現分類性能最優。