林子萱 金思靜 劉 穎 周 勇 程 航
(福州大學數學與計算機科學學院,福建 福州 350108)
多媒體技術的飛速發展和廣泛應用使得智能手機和數碼相機等成像設備得以不斷普及,其產生的數字圖像規模也急劇膨脹,在這種情況下,海量存儲和高效檢索給資源受限的用戶帶來極大的挑戰。隨著云計算時代的到來,越來越多的用戶和企業傾向于外包海量數據到云端進行存儲和處理。在這種情況下,外包操作會致使圖像擁有者失去對圖像數據的直接保護,可能會導致圖像數據隱私泄露和濫用的風險。為了隱私保護,圖像所有者在外包前就對圖像數據進行加密以防止隱私泄露,但這在一定程度上限制了圖像數據的后續檢索操作。因此,如何高效地管理和檢索數以億計的密文圖像數據成為一個亟待解決的問題。
目前明文域圖像檢索的方法主要包括兩種類型:基于文本的圖像檢索(TBIR)和基于內容的圖像檢索(CBIR)。其中,TBIR技術已接近成熟,具有速度快、實現簡單等優點,但受限于人工標注效率低。而CBIR方法能更好地捕捉語義的信息,優于TBIR,使其成為當前圖像檢索研究的熱點。特征的有效性直接影響著CBIR方案的檢索精度,如果僅采用單一的特征(例如顏色、紋理、形狀等)進行檢索,將使得檢索的效率和檢索結果的準確性難以滿足檢索用戶的需求。在明文域中,已有部分學者對紋理特征和顏色信息融合技術展開研究[1-2],并取得不錯的效果。為此,本文將明文紋理和顏色特征融合思想引入密文圖像檢索中,以此提高檢索性能。其中,紋理特征主要采用差分直方圖統計的方法,在文獻[3]所采用方法的基礎上優化了圖像矩陣分塊和灰度差分運算方向的方案,實現紋理特征的統計和提取。除此之外,本文采用圖像累積直方圖的方式提取顏色特征向量,并采用文獻[4]使用的可逆數據隱藏技術,將顏色特征向量嵌入加密后的圖像中。根據顏色和紋理特征的各自優勢設置相應的權重值,以此作為圖像的特征索引,最后分別采用巴氏系數算法、夾角余弦距離算法計算差分直方圖的距離和顏色特征向量間的距離,從而計算出圖像間的相似性。
本文研究一種基于多特征融合的加密圖像檢索技術。主要考慮使用場景如下:用戶僅需提交加密后的圖像庫給云端服務器;當云端服務器接收到用戶密文域查詢請求時,服務器在不知道檢索圖像和圖像庫明文內容的情況下,能夠計算出密文檢索圖像與密文圖像庫中圖像的相似度,并按相似度排序,返回最相似的密文圖像給用戶;用戶能夠利用私鑰,解密檢索結果,恢復出明文圖像。
文獻[3]提出了一種基于Paillier同態加密算法[5]的密文域圖像檢索方法,該方法利用Paillier同態加密算法對圖像進行加密,將加密后的矩陣按照3×3的大小分為若干個模塊,在每個模塊中取4個方向進行差分運算,統計出該密文圖像的差分直方圖。計算檢索圖像與圖庫圖像兩者的差分直方圖之間的相似度,從而判斷出圖像之間的相似度。本文在文獻[3]的基礎上進行改進,提出一種基于紋理特征及顏色特征的加密圖像檢索方法。在文獻[3]所運用方法的基礎上,對差分的計算進行優化,將加密后的圖像按照5×5的大小進行分塊,且在每個模塊中進行6個方向上的差分運算。同時在明文域提取出圖像的顏色特征向量(采用數據隨機化處理方法可進一步提高其安全性),圖像加密后,利用文獻[4]所運用的可逆數據隱藏技術,將向量嵌入到密圖中,以實現特征免獨立存儲。對于云端來說,可以利用可逆數據隱藏技術提取出圖像的顏色特征向量作為顏色特征索引,再計算加密圖像的差分直方圖作為紋理特征索引,結合兩者計算圖像間的相似度,從而達到提高檢索精確度的目的。下文分別就Paillier同態加密算法、特征提取、可逆數據隱藏技術、圖像檢索進行詳細介紹。
Paillier于1999年提出了一種具有同態性質的加密技術,利用該算法加密后的密文可直接進行算術運算,運算結果解密后與在明文域中進行對應運算所得的結果一致,是可靠的密文處理手段。本文基于Paillier加密算法的思想提出了一種新的同態加密域圖像檢索方法。以下對Paillier加密算法思路進行簡要介紹。
2.1.1 加密

c=E[m,r]=(gm×rn) modn2
(1)
在進行固定明文m的加密過程中,利用r的隨機性,能夠將明文m加密成永不相同的密文c,由此確保密文內容隱私的保護。
2.1.2 解密

(2)
2.1.3 Paillier同態加密算法的同態性質
本文側重討論 Paillier加密體制的加法同態和減法同態性質。
(1)加法同態性質
滿足加法同態的條件為密文相乘等于明文相加,且Paillier擁有在未知明文的情況下可以直接對密文進行算數運算的功能,即
E[(m1+m2) modn,r]=(E[m1,r1]×E[m2,r2]) modn2
(3)
故Paillier密碼體制滿足加法同態性質。
(2)減法同態性質
本文采用乘法的逆E[m,r]-1表示除以E[m,r]的運算,逆的性質為:
E[m,r]×E[m,r]-1=E[m,r]-1×E[m,r]=e(其中e為群單位元)
(4)
故可以推出:
E[(m1-m2) modn,r]=(E[m1,r1]×E[m2,r2]-1) modn2
(5)
此時,Paillier同態加密算法滿足減法同態性質。
特征提取是基于多特征融合的圖像檢索技術中的關鍵一步,本文主要采用紋理和顏色兩種特征進行圖像檢索。
2.2.1 紋理特征提取
首先介紹紋理特征的提取。文獻[3]采用差分直方圖表示圖像的紋理特征,加密后的圖像為一個加密矩陣,將加密矩陣分為若干個3×3大小的矩陣,稱其為模塊矩陣。在每個模塊矩陣上進行4個方向的差分計算,并統計各個方向上差分值的頻數,生成差分直方圖。由于Paillier加密算法的同態性質,明文域與密文域所計算出的差分直方圖相同。實驗表明,將加密矩陣分為若干個3×3大小的矩陣,由于分塊過小,導致計算差分值時出現的無效值過多,從而影響結果的精確性。本文在文獻[3]所用方法的基礎上進行改進,提出一種精確度更高的差分直方圖計算方法。將加密矩陣分為若干個5×5大小的矩陣,并進行6個方向上的差分運算。
圖1為模塊矩陣的示意圖,其中cd(x,y)表示點(x,y)加密后的值。記單個模塊矩陣在四個方向上的差分值分別為cd1,cd2,cd3,cd4,cd5,cd6,計算公式分別為:
cd1=cd(x-2,y-2)×[cd(x,y)]-1modN2
(6)
cd2=cd(x+2,y-2)×[cd(x,y)]-1modN2
(7)
cd3=cd(x-2,y+2)×[cd(x,y)]-1modN2
(8)
cd4=cd(x+2,y+2)×[cd(x,y)]-1modN2
(9)
cd5=cd(x,y-2)×[cd(x,y+2)]-1modN2
(10)
cd6=cd(x-2,y)×[cd(x+2,y)]-1modN2
(11)
統計所有模塊矩陣在相同方向上差分的頻數,生成差分直方圖,共6張差分直方圖,這些差分直方圖蘊含了圖像的紋理特征。

cd(x-2,y-2)cd(x-1,y-2)cd(x,y-2)cd(x+1,y-2)cd(x+2,y-2)cd(x-2,y-1)cd(x-1,y-1)cd(x,y-1)cd(x+1,y-1)cd(x+2,y-1)cd(x-2,y)cd(x-1,y)cd(x,y)cd(x+1,y)cd(x+2,y)cd(x-2,y+1)cd(x-1,y+1)cd(x,y+1)cd(x+1,y+1)cd(x+2,y+1)cd(x-2,y+2)cd(x-1,y+2)cd(x,y+2)cd(x+1,y+2)cd(x+2,y+2)
圖1 模塊矩陣示意圖
2.2.2 顏色特征提取
利用圖像累積直方圖描述圖像的顏色特征。將像素值分為8個等分區間,統計每個區間中像素值出現的頻數在圖像中的占比,繪制成累積直方圖。分別在R、G、B三個顏色通道上統計累積直方圖,得到24個統計值,按順序排列為向量
(r0,r1,r2,r3,r4,r5,r6,r7,g0,g1,g2,g3,g4,g5,g6,g7,b0,b1,b2,b3,b4,b5,b6,b7)
該向量即為圖像的顏色特征向量。
本文運用可逆數據隱藏技術將圖像顏色特征嵌入加密圖像中,加密圖像傳輸到云端后,云端管理者可以提取出顏色特征作為圖像檢索的參考之一,從而達到提高檢索精確度的目的。本文利用文獻[4]提出的自盲算法實現可逆數據隱藏。
自盲算法利用Paillier同態加密算法的自盲特性,在不改變明文值的情況下對密文值進行修改,以達到將額外數據嵌入加密圖像的目的。在Paillier同態加密系統中,由于數據加密的隨機性,同一個明文值可能被加密為多種不同的密文值。也就是說,明文值m的密文值不是唯一的,且不同的密文值可以被解密為同一明文值,這就是Paillier加密算法的自盲性質。自盲性質表明,每一個密文值都可以在不改變所對應的明文值的情況下進行修改。

(12)

利用公式(13)可提取隱藏的二進制數,
(13)

(14)
將提取出的顏色特征向量轉化為二進制數向量,按上述方式嵌入加密后的圖像中,傳輸到云端后可利用該方式提取顏色特征向量進行相似度計算。
用戶將加密后的圖像和公鑰傳輸到云端,云端存儲加密圖像,并利用可逆數據隱藏技術提取圖像的顏色特征向量,建立圖像的顏色特征索引;再利用Paillier特點提取差分直方圖,建立圖像的紋理特征索引。用戶將檢索密圖發送至云端,云端提取出檢索密圖的顏色特征向量和差分直方圖,分別運用巴氏系數、夾角余弦距離計算法計算圖像差分直方圖、顏色特征向量之間的相似度,結合兩個相似度的值得出兩張圖像間的相似度,將相似度高的密圖返回給用戶。
2.4.1 差分直方圖相似度計算
本文采用巴氏系數計算法計算直方圖的相似度。巴氏系數是對兩個統計樣本的重疊量的近似計算,其計算公式如下:
(15)
其中,a、b為兩個樣本,n是分塊數,ai、bi分別是在a、b中第i部分的元素。巴氏系數越接近1,表示兩個樣本越相似,越接近0,表示樣本越不相似。
通過巴氏系數計算法計算兩個不同加密矩陣在相同方向上差分直方圖的相似度,得到6個方向上差分直方圖的相似度,取這6個值的平均值作為兩個加密矩陣在紋理上的相似度,記為d1。
2.4.2 顏色特征向量相似度計算
本文采用夾角余弦距離計算法來計算兩個顏色特征向量之間的相似度。夾角余弦距離衡量兩個樣本點所對應的向量之間的夾角的大小,設兩個樣本點為A(x11,x12,...,x1n)和B(x21,x22,...,x2n),其計算公式如下:
(16)
(17)
在使用夾角余弦距離計算公式前,需先將提取出的二進制數向量轉化為十進制數向量。因參與計算的數據均為正數,故夾角余弦的取值范圍為[0,1]。夾角余弦越大,表示兩個向量的夾角越小,樣本點間的相似度越高;夾角余弦越小,表示兩個向量的夾角越大,樣本點間的相似度越低,記為d2。
2.4.3 根據特征檢索圖像
用戶將檢索密圖發送至云端,云端根據紋理特征索引及顏色特征索引檢索相似密圖。設紋理特征的權重值為α,顏色特征的權重值為β,圖像的相似度S,其計算公式如下:
S=α×d1+β×d2
(18)
云端按相似度由高到低對圖庫中密圖進行排序,將相似度高的前幾張密圖返回給用戶,完成本次檢索。
為驗證該方法的有效性和可行性,本文從圖庫中選取200張彩色圖像,進行實驗,以下僅顯示部分結果。
圖2為待檢索圖像。采用文獻[3]的方法計算差分直方圖檢索得到最相似的圖像為圖3、圖4、圖5,按照相似度由高到低的順序列出。其中圖4所顯示的檢索結果與原圖像明顯不相似。

圖2 原圖像

圖3 檢索結果(1)

圖4 檢索結果(2)

圖5 檢索結果(3)
利用本文提出的改進算法再對圖2進行檢索,可得到不同結果。按照相似度從高到低的順序顯示檢索得到最相似的3張圖像,如圖6、圖7、圖8所示。

圖6 檢索結果(4)

圖7 檢索結果(5)

圖8 檢索結果(6)
在對分塊方法和差分方向進行改進后,檢索性能有明顯提高,檢索結果顯示的3張圖像均與原圖像較為吻合。觀察兩次檢索結果的差別,可以證實算法改進的合理性。
在此基礎上增加顏色特征,實驗中為了方便,將紋理特征與顏色特征的權值設置為α=β=1,則圖像相似度定義為:
S=α×d1+β×d2
(19)
根據式(19)計算相似度S并返回相似度最高的3張圖像,按照相似度從高到低的順序顯示檢索得到最相似的3張圖像,檢索結果如圖9、圖10、圖11所示。

圖9 檢索結果(7)

圖10 檢索結果(8)

圖11 檢索結果(9)
在結合顏色特征后檢索性能進一步提升,檢索結果中的圖像不僅與原圖像輪廓較為相似,且顏色也相近,說明了顏色特征在圖像檢索中的重要作用,證實該方法的合理性和精確性。
本文提出了一種基于多特征融合的加密圖像檢索方法,該方法在明文域利用累積直方圖提取圖像的顏色特征向量,運用Paillier同態加密算法加密圖像后,在密文域提取加密矩陣的差分直方圖作為圖像的紋理特征。此外,本文基于Paillier加密算法的自盲性質,運用可逆數據隱藏的方法將顏色特征向量嵌入加密后的圖像中,實現特征免獨立存儲。云端結合紋理和顏色特征建立特征索引,以提高圖像檢索精確度。但本文還存在一些不足之處:所采用的特征提取算法較為簡單、實驗數據集較小且性能對比實驗不夠充分。在未來的研究中需對以上不足不斷修正。