林子萱 金思靜 劉 穎 周 勇 程 航
(福州大學(xué)數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,福建 福州 350108)
多媒體技術(shù)的飛速發(fā)展和廣泛應(yīng)用使得智能手機(jī)和數(shù)碼相機(jī)等成像設(shè)備得以不斷普及,其產(chǎn)生的數(shù)字圖像規(guī)模也急劇膨脹,在這種情況下,海量存儲(chǔ)和高效檢索給資源受限的用戶帶來極大的挑戰(zhàn)。隨著云計(jì)算時(shí)代的到來,越來越多的用戶和企業(yè)傾向于外包海量數(shù)據(jù)到云端進(jìn)行存儲(chǔ)和處理。在這種情況下,外包操作會(huì)致使圖像擁有者失去對(duì)圖像數(shù)據(jù)的直接保護(hù),可能會(huì)導(dǎo)致圖像數(shù)據(jù)隱私泄露和濫用的風(fēng)險(xiǎn)。為了隱私保護(hù),圖像所有者在外包前就對(duì)圖像數(shù)據(jù)進(jìn)行加密以防止隱私泄露,但這在一定程度上限制了圖像數(shù)據(jù)的后續(xù)檢索操作。因此,如何高效地管理和檢索數(shù)以億計(jì)的密文圖像數(shù)據(jù)成為一個(gè)亟待解決的問題。
目前明文域圖像檢索的方法主要包括兩種類型:基于文本的圖像檢索(TBIR)和基于內(nèi)容的圖像檢索(CBIR)。其中,TBIR技術(shù)已接近成熟,具有速度快、實(shí)現(xiàn)簡(jiǎn)單等優(yōu)點(diǎn),但受限于人工標(biāo)注效率低。而CBIR方法能更好地捕捉語義的信息,優(yōu)于TBIR,使其成為當(dāng)前圖像檢索研究的熱點(diǎn)。特征的有效性直接影響著CBIR方案的檢索精度,如果僅采用單一的特征(例如顏色、紋理、形狀等)進(jìn)行檢索,將使得檢索的效率和檢索結(jié)果的準(zhǔn)確性難以滿足檢索用戶的需求。在明文域中,已有部分學(xué)者對(duì)紋理特征和顏色信息融合技術(shù)展開研究[1-2],并取得不錯(cuò)的效果。為此,本文將明文紋理和顏色特征融合思想引入密文圖像檢索中,以此提高檢索性能。其中,紋理特征主要采用差分直方圖統(tǒng)計(jì)的方法,在文獻(xiàn)[3]所采用方法的基礎(chǔ)上優(yōu)化了圖像矩陣分塊和灰度差分運(yùn)算方向的方案,實(shí)現(xiàn)紋理特征的統(tǒng)計(jì)和提取。除此之外,本文采用圖像累積直方圖的方式提取顏色特征向量,并采用文獻(xiàn)[4]使用的可逆數(shù)據(jù)隱藏技術(shù),將顏色特征向量嵌入加密后的圖像中。根據(jù)顏色和紋理特征的各自優(yōu)勢(shì)設(shè)置相應(yīng)的權(quán)重值,以此作為圖像的特征索引,最后分別采用巴氏系數(shù)算法、夾角余弦距離算法計(jì)算差分直方圖的距離和顏色特征向量間的距離,從而計(jì)算出圖像間的相似性。
本文研究一種基于多特征融合的加密圖像檢索技術(shù)。主要考慮使用場(chǎng)景如下:用戶僅需提交加密后的圖像庫給云端服務(wù)器;當(dāng)云端服務(wù)器接收到用戶密文域查詢請(qǐng)求時(shí),服務(wù)器在不知道檢索圖像和圖像庫明文內(nèi)容的情況下,能夠計(jì)算出密文檢索圖像與密文圖像庫中圖像的相似度,并按相似度排序,返回最相似的密文圖像給用戶;用戶能夠利用私鑰,解密檢索結(jié)果,恢復(fù)出明文圖像。
文獻(xiàn)[3]提出了一種基于Paillier同態(tài)加密算法[5]的密文域圖像檢索方法,該方法利用Paillier同態(tài)加密算法對(duì)圖像進(jìn)行加密,將加密后的矩陣按照3×3的大小分為若干個(gè)模塊,在每個(gè)模塊中取4個(gè)方向進(jìn)行差分運(yùn)算,統(tǒng)計(jì)出該密文圖像的差分直方圖。計(jì)算檢索圖像與圖庫圖像兩者的差分直方圖之間的相似度,從而判斷出圖像之間的相似度。本文在文獻(xiàn)[3]的基礎(chǔ)上進(jìn)行改進(jìn),提出一種基于紋理特征及顏色特征的加密圖像檢索方法。在文獻(xiàn)[3]所運(yùn)用方法的基礎(chǔ)上,對(duì)差分的計(jì)算進(jìn)行優(yōu)化,將加密后的圖像按照5×5的大小進(jìn)行分塊,且在每個(gè)模塊中進(jìn)行6個(gè)方向上的差分運(yùn)算。同時(shí)在明文域提取出圖像的顏色特征向量(采用數(shù)據(jù)隨機(jī)化處理方法可進(jìn)一步提高其安全性),圖像加密后,利用文獻(xiàn)[4]所運(yùn)用的可逆數(shù)據(jù)隱藏技術(shù),將向量嵌入到密圖中,以實(shí)現(xiàn)特征免獨(dú)立存儲(chǔ)。對(duì)于云端來說,可以利用可逆數(shù)據(jù)隱藏技術(shù)提取出圖像的顏色特征向量作為顏色特征索引,再計(jì)算加密圖像的差分直方圖作為紋理特征索引,結(jié)合兩者計(jì)算圖像間的相似度,從而達(dá)到提高檢索精確度的目的。下文分別就Paillier同態(tài)加密算法、特征提取、可逆數(shù)據(jù)隱藏技術(shù)、圖像檢索進(jìn)行詳細(xì)介紹。
Paillier于1999年提出了一種具有同態(tài)性質(zhì)的加密技術(shù),利用該算法加密后的密文可直接進(jìn)行算術(shù)運(yùn)算,運(yùn)算結(jié)果解密后與在明文域中進(jìn)行對(duì)應(yīng)運(yùn)算所得的結(jié)果一致,是可靠的密文處理手段。本文基于Paillier加密算法的思想提出了一種新的同態(tài)加密域圖像檢索方法。以下對(duì)Paillier加密算法思路進(jìn)行簡(jiǎn)要介紹。
2.1.1 加密
c=E[m,r]=(gm×rn) modn2
(1)
在進(jìn)行固定明文m的加密過程中,利用r的隨機(jī)性,能夠?qū)⒚魑膍加密成永不相同的密文c,由此確保密文內(nèi)容隱私的保護(hù)。
2.1.2 解密
(2)
2.1.3 Paillier同態(tài)加密算法的同態(tài)性質(zhì)
本文側(cè)重討論 Paillier加密體制的加法同態(tài)和減法同態(tài)性質(zhì)。
(1)加法同態(tài)性質(zhì)
滿足加法同態(tài)的條件為密文相乘等于明文相加,且Paillier擁有在未知明文的情況下可以直接對(duì)密文進(jìn)行算數(shù)運(yùn)算的功能,即
E[(m1+m2) modn,r]=(E[m1,r1]×E[m2,r2]) modn2
(3)
故Paillier密碼體制滿足加法同態(tài)性質(zhì)。
(2)減法同態(tài)性質(zhì)
本文采用乘法的逆E[m,r]-1表示除以E[m,r]的運(yùn)算,逆的性質(zhì)為:
E[m,r]×E[m,r]-1=E[m,r]-1×E[m,r]=e(其中e為群?jiǎn)挝辉?
(4)
故可以推出:
E[(m1-m2) modn,r]=(E[m1,r1]×E[m2,r2]-1) modn2
(5)
此時(shí),Paillier同態(tài)加密算法滿足減法同態(tài)性質(zhì)。
特征提取是基于多特征融合的圖像檢索技術(shù)中的關(guān)鍵一步,本文主要采用紋理和顏色兩種特征進(jìn)行圖像檢索。
2.2.1 紋理特征提取
首先介紹紋理特征的提取。文獻(xiàn)[3]采用差分直方圖表示圖像的紋理特征,加密后的圖像為一個(gè)加密矩陣,將加密矩陣分為若干個(gè)3×3大小的矩陣,稱其為模塊矩陣。在每個(gè)模塊矩陣上進(jìn)行4個(gè)方向的差分計(jì)算,并統(tǒng)計(jì)各個(gè)方向上差分值的頻數(shù),生成差分直方圖。由于Paillier加密算法的同態(tài)性質(zhì),明文域與密文域所計(jì)算出的差分直方圖相同。實(shí)驗(yàn)表明,將加密矩陣分為若干個(gè)3×3大小的矩陣,由于分塊過小,導(dǎo)致計(jì)算差分值時(shí)出現(xiàn)的無效值過多,從而影響結(jié)果的精確性。本文在文獻(xiàn)[3]所用方法的基礎(chǔ)上進(jìn)行改進(jìn),提出一種精確度更高的差分直方圖計(jì)算方法。將加密矩陣分為若干個(gè)5×5大小的矩陣,并進(jìn)行6個(gè)方向上的差分運(yùn)算。
圖1為模塊矩陣的示意圖,其中cd(x,y)表示點(diǎn)(x,y)加密后的值。記單個(gè)模塊矩陣在四個(gè)方向上的差分值分別為cd1,cd2,cd3,cd4,cd5,cd6,計(jì)算公式分別為:
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)
統(tǒng)計(jì)所有模塊矩陣在相同方向上差分的頻數(shù),生成差分直方圖,共6張差分直方圖,這些差分直方圖蘊(yùn)含了圖像的紋理特征。
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個(gè)等分區(qū)間,統(tǒng)計(jì)每個(gè)區(qū)間中像素值出現(xiàn)的頻數(shù)在圖像中的占比,繪制成累積直方圖。分別在R、G、B三個(gè)顏色通道上統(tǒng)計(jì)累積直方圖,得到24個(gè)統(tǒng)計(jì)值,按順序排列為向量
(r0,r1,r2,r3,r4,r5,r6,r7,g0,g1,g2,g3,g4,g5,g6,g7,b0,b1,b2,b3,b4,b5,b6,b7)
該向量即為圖像的顏色特征向量。
本文運(yùn)用可逆數(shù)據(jù)隱藏技術(shù)將圖像顏色特征嵌入加密圖像中,加密圖像傳輸?shù)皆贫撕?,云端管理者可以提取出顏色特征作為圖像檢索的參考之一,從而達(dá)到提高檢索精確度的目的。本文利用文獻(xiàn)[4]提出的自盲算法實(shí)現(xiàn)可逆數(shù)據(jù)隱藏。
自盲算法利用Paillier同態(tài)加密算法的自盲特性,在不改變明文值的情況下對(duì)密文值進(jìn)行修改,以達(dá)到將額外數(shù)據(jù)嵌入加密圖像的目的。在Paillier同態(tài)加密系統(tǒng)中,由于數(shù)據(jù)加密的隨機(jī)性,同一個(gè)明文值可能被加密為多種不同的密文值。也就是說,明文值m的密文值不是唯一的,且不同的密文值可以被解密為同一明文值,這就是Paillier加密算法的自盲性質(zhì)。自盲性質(zhì)表明,每一個(gè)密文值都可以在不改變所對(duì)應(yīng)的明文值的情況下進(jìn)行修改。
(12)
利用公式(13)可提取隱藏的二進(jìn)制數(shù),
(13)
(14)
將提取出的顏色特征向量轉(zhuǎn)化為二進(jìn)制數(shù)向量,按上述方式嵌入加密后的圖像中,傳輸?shù)皆贫撕罂衫迷摲绞教崛☆伾卣飨蛄窟M(jìn)行相似度計(jì)算。
用戶將加密后的圖像和公鑰傳輸?shù)皆贫?,云端存?chǔ)加密圖像,并利用可逆數(shù)據(jù)隱藏技術(shù)提取圖像的顏色特征向量,建立圖像的顏色特征索引;再利用Paillier特點(diǎn)提取差分直方圖,建立圖像的紋理特征索引。用戶將檢索密圖發(fā)送至云端,云端提取出檢索密圖的顏色特征向量和差分直方圖,分別運(yùn)用巴氏系數(shù)、夾角余弦距離計(jì)算法計(jì)算圖像差分直方圖、顏色特征向量之間的相似度,結(jié)合兩個(gè)相似度的值得出兩張圖像間的相似度,將相似度高的密圖返回給用戶。
2.4.1 差分直方圖相似度計(jì)算
本文采用巴氏系數(shù)計(jì)算法計(jì)算直方圖的相似度。巴氏系數(shù)是對(duì)兩個(gè)統(tǒng)計(jì)樣本的重疊量的近似計(jì)算,其計(jì)算公式如下:
(15)
其中,a、b為兩個(gè)樣本,n是分塊數(shù),ai、bi分別是在a、b中第i部分的元素。巴氏系數(shù)越接近1,表示兩個(gè)樣本越相似,越接近0,表示樣本越不相似。
通過巴氏系數(shù)計(jì)算法計(jì)算兩個(gè)不同加密矩陣在相同方向上差分直方圖的相似度,得到6個(gè)方向上差分直方圖的相似度,取這6個(gè)值的平均值作為兩個(gè)加密矩陣在紋理上的相似度,記為d1。
2.4.2 顏色特征向量相似度計(jì)算
本文采用夾角余弦距離計(jì)算法來計(jì)算兩個(gè)顏色特征向量之間的相似度。夾角余弦距離衡量?jī)蓚€(gè)樣本點(diǎn)所對(duì)應(yīng)的向量之間的夾角的大小,設(shè)兩個(gè)樣本點(diǎn)為A(x11,x12,...,x1n)和B(x21,x22,...,x2n),其計(jì)算公式如下:
(16)
(17)
在使用夾角余弦距離計(jì)算公式前,需先將提取出的二進(jìn)制數(shù)向量轉(zhuǎn)化為十進(jìn)制數(shù)向量。因參與計(jì)算的數(shù)據(jù)均為正數(shù),故夾角余弦的取值范圍為[0,1]。夾角余弦越大,表示兩個(gè)向量的夾角越小,樣本點(diǎn)間的相似度越高;夾角余弦越小,表示兩個(gè)向量的夾角越大,樣本點(diǎn)間的相似度越低,記為d2。
2.4.3 根據(jù)特征檢索圖像
用戶將檢索密圖發(fā)送至云端,云端根據(jù)紋理特征索引及顏色特征索引檢索相似密圖。設(shè)紋理特征的權(quán)重值為α,顏色特征的權(quán)重值為β,圖像的相似度S,其計(jì)算公式如下:
S=α×d1+β×d2
(18)
云端按相似度由高到低對(duì)圖庫中密圖進(jìn)行排序,將相似度高的前幾張密圖返回給用戶,完成本次檢索。
為驗(yàn)證該方法的有效性和可行性,本文從圖庫中選取200張彩色圖像,進(jìn)行實(shí)驗(yàn),以下僅顯示部分結(jié)果。
圖2為待檢索圖像。采用文獻(xiàn)[3]的方法計(jì)算差分直方圖檢索得到最相似的圖像為圖3、圖4、圖5,按照相似度由高到低的順序列出。其中圖4所顯示的檢索結(jié)果與原圖像明顯不相似。
圖2 原圖像
圖3 檢索結(jié)果(1)
圖4 檢索結(jié)果(2)
圖5 檢索結(jié)果(3)
利用本文提出的改進(jìn)算法再對(duì)圖2進(jìn)行檢索,可得到不同結(jié)果。按照相似度從高到低的順序顯示檢索得到最相似的3張圖像,如圖6、圖7、圖8所示。
圖6 檢索結(jié)果(4)
圖7 檢索結(jié)果(5)
圖8 檢索結(jié)果(6)
在對(duì)分塊方法和差分方向進(jìn)行改進(jìn)后,檢索性能有明顯提高,檢索結(jié)果顯示的3張圖像均與原圖像較為吻合。觀察兩次檢索結(jié)果的差別,可以證實(shí)算法改進(jìn)的合理性。
在此基礎(chǔ)上增加顏色特征,實(shí)驗(yàn)中為了方便,將紋理特征與顏色特征的權(quán)值設(shè)置為α=β=1,則圖像相似度定義為:
S=α×d1+β×d2
(19)
根據(jù)式(19)計(jì)算相似度S并返回相似度最高的3張圖像,按照相似度從高到低的順序顯示檢索得到最相似的3張圖像,檢索結(jié)果如圖9、圖10、圖11所示。
圖9 檢索結(jié)果(7)
圖10 檢索結(jié)果(8)
圖11 檢索結(jié)果(9)
在結(jié)合顏色特征后檢索性能進(jìn)一步提升,檢索結(jié)果中的圖像不僅與原圖像輪廓較為相似,且顏色也相近,說明了顏色特征在圖像檢索中的重要作用,證實(shí)該方法的合理性和精確性。
本文提出了一種基于多特征融合的加密圖像檢索方法,該方法在明文域利用累積直方圖提取圖像的顏色特征向量,運(yùn)用Paillier同態(tài)加密算法加密圖像后,在密文域提取加密矩陣的差分直方圖作為圖像的紋理特征。此外,本文基于Paillier加密算法的自盲性質(zhì),運(yùn)用可逆數(shù)據(jù)隱藏的方法將顏色特征向量嵌入加密后的圖像中,實(shí)現(xiàn)特征免獨(dú)立存儲(chǔ)。云端結(jié)合紋理和顏色特征建立特征索引,以提高圖像檢索精確度。但本文還存在一些不足之處:所采用的特征提取算法較為簡(jiǎn)單、實(shí)驗(yàn)數(shù)據(jù)集較小且性能對(duì)比實(shí)驗(yàn)不夠充分。在未來的研究中需對(duì)以上不足不斷修正。