一種安全圖像檢索方法和系統、一種圖像檢索伺服器與流程
2023-06-29 21:19:21

本發明涉及圖像處理技術領域,特別涉及一種安全圖像檢索方法和系統、一種圖像檢索伺服器。
背景技術:
隨著網絡技術的發展,尤其是隨著各種社交網站的流行,圖像、視頻、音頻、文本等異構數據每天都在以驚人的速度增長。針對包含豐富視覺信息的海量圖片,在這些浩瀚的圖像集中方便、快速、準確地查詢並檢索到用戶所需的或感興趣的圖像的技術CBIR(Content Based Image Retrieval,基於內容的圖像檢索)應運而生。但是,隨著人們安全意識和隱私意識的增強,如何在在線照片服務滿足性能需求時,同時對私有圖像加密和存儲,檢索相關圖像時並不洩露加密圖像的任何信息給伺服器成為難題。
現在,基本上都是在基於CBIR框架中提出基於加密特徵的圖像檢索技術,通過加密域圖像處理操作,將圖像檢索和隱私信息保護結合起來,可以在不洩露用戶隱私的情況下實現圖像檢索。但是,在檢索過程中,需要將經過加密的圖像或者圖像特徵先進行解密,再進行圖像檢索或者進行圖像特徵檢索,從而造成圖像信息的洩露,因此,圖像檢索的安全性較低。
技術實現要素:
本發明實施例提供了一種安全圖像檢索方法和系統、一種圖像檢索伺服器,能夠提高圖像檢索的安全性。
第一方面,本發明實施例提供了一種安全圖像檢索方法,該方法預先接收從圖像管理端發來的各個待匹配圖像的加密SIFT(scale invariant feature transform,尺度不變特徵變換)特徵向量,其中,每個所述待匹配圖像對應至少兩個所述加密SIFT特徵向量,所述加密SIFT特徵向量通過加密從對應的待匹配圖像中提取的SIFT特徵向量生成,還包括:
接收用戶端發來查詢圖像的查詢SIFT特徵向量,其中,所述查詢SIFT特徵向量通過加密從所述查詢圖像中提取的SIFT特徵向量生成;
根據所述各個圖像的所述加密SIFT特徵向量和所述查詢SIFT特徵向量,確定與所述查詢圖像相似的相似待匹配圖像的標識;
向所述圖像管理端發送所述相似加密SIFT特徵向量對應的待匹配圖像的標識,以使所述圖像管理端根據所述標識向所述用戶端反饋所述相似加密SIFT特徵向量對應的待匹配圖像。
優選地,在所述接收用戶端發來查詢圖像的查詢SIFT特徵向量之前,進一步包括:
對所述各個待匹配圖像的加密SIFT特徵向量進行聚類,得到碼書;
針對每個所述待匹配圖像,根據所述碼書的每一類中包含的當前待匹配圖像的所述加密SIFT特徵向量的數量,生成所述當前待匹配圖像的權重向量;
在所述接收用戶端發來查詢圖像的查詢SIFT特徵向量之後,進一步包括:
確定每個所述查詢SIFT特徵向量所屬於的所述碼書中的類;
根據所述碼書的每一類中包含的所述查詢圖像的所述查詢SIFT特徵向量的數量,生成所述查詢圖像的權重向量;
所述根據所述各個圖像的所述加密SIFT特徵向量和所述查詢SIFT特徵向量,確定與所述查詢圖像相似的相似待匹配圖像的標識,包括:
確定每個所述待匹配圖像的權重向量與所述查詢圖像的權重向量的相似度;
根據每個所述待匹配圖像對應的相似度,確定與所述查詢圖像相似的相似待匹配圖像的標識。
優選地,在所述根據所述碼書的每一類中包含的當前待匹配圖像的所述加密SIFT特徵向量的數量,生成所述當前待匹配圖像的權重向量之前,進一步包括:
針對所述碼書的每一類,確定所述碼書的當前類包含的所述加密SIFT特徵向量對應的所述待匹配圖像的數量與所述待匹配圖像的總數的第一比值;
所述根據所述碼書的每一類中包含的當前待匹配圖像的所述加密SIFT特徵向量的數量,生成所述當前待匹配圖像的權重向量,包括:
針對所述碼書的每一類,確定所述碼書的當前類中包含的所述當前待匹配圖像的所述加密SIFT特徵向量的數量與所述碼書中類的總數的第二比值;
根據公式一,確定所述當前待匹配圖像在所述碼書的每一類中的權重,其中,所述公式一為:
ωi=tfi×log(idfi)
其中,ωi為所述當前待匹配圖像在所述碼書的第i類中的權重,tfi為第i類對應的第二比值,idfi為第i類對應的第一比值;
所述根據所述碼書的每一類中包含的所述查詢圖像的所述查詢SIFT特徵向量的數量,生成所述查詢圖像的權重向量,包括:
針對所述碼書的每一類,確定所述碼書的當前類中包含的所述查詢SIFT特徵向量的數量與所述碼書中類的總數的第三比值;
根據公式二,確定所述查詢圖像在所述碼書的每一類中的權重,其中,所述公式二為:
ωj=fj×log(idfj)
其中,ωj為所述查詢圖像在所述碼書的第j類中的權重,fj為第j類對應的第三比值,idfj為第j類對應的第一比值。
優選地,所述確定每個所述待匹配圖像的權重向量與所述查詢圖像的權重向量的相似度,包括:
根據公式三,分別確定每個所述待匹配圖像的權重向量與所述查詢圖像的權重向量的相似度,其中,所述公式三為:
其中,dj為當前待匹配圖像j對應的相似度,A為所述當前待匹配圖像j的權重向量,B為所述查詢圖像的權重向量,i為權重向量的第i維,n為所述待匹配圖像的總數;
所述根據每個所述待匹配圖像對應的相似度,確定與所述查詢圖像相似的相似待匹配圖像的標識,包括:
將對應的相似度最大的預設值個所述待匹配圖像作為所述相似待匹配圖像,確定與所述查詢圖像相似的所述相似待匹配圖像的標識。
第二方面,本發明實施例提供了一種圖像檢索伺服器,該圖像檢索伺服器包括:第一接收單元、第二接收單元、確定單元和發送單元,其中,
所述第一接收單元,用於接收從圖像管理端發來的各個待匹配圖像的加密SIFT特徵向量,其中,每個所述待匹配圖像對應至少兩個所述加密SIFT特徵向量,所述加密SIFT特徵向量通過加密從對應的待匹配圖像中提取的SIFT特徵向量生成;
所述第一接收單元,用於接收用戶端發來查詢圖像的查詢SIFT特徵向量,其中,所述查詢SIFT特徵向量通過加密從所述查詢圖像中提取的SIFT特徵向量生成;
所述確定單元,用於根據所述第一接收單元接收的所述各個圖像的所述加密SIFT特徵向量和所述第二接收單元接收的所述查詢SIFT特徵向量,確定與所述查詢圖像相似的相似待匹配圖像的標識;
所述發送單元,用於向所述圖像管理端發送所述確定單元確定的所述相似加密SIFT特徵向量對應的待匹配圖像的標識,以使所述圖像管理端根據所述標識向所述用戶端反饋所述相似加密SIFT特徵向量對應的待匹配圖像。
優選地,進一步包括:聚類單元、第一處理單元和第二處理單元,其中,
所述聚類單元,用於對所述第一接收單元接收的所述各個待匹配圖像的加密SIFT特徵向量進行聚類,得到碼書;
所述第一處理單元,用於針對每個所述待匹配圖像,根據所述碼書的每一類中包含的當前待匹配圖像的所述加密SIFT特徵向量的數量,生成所述當前待匹配圖像的權重向量;
所述第二處理單元,用於確定每個所述查詢SIFT特徵向量所屬於的所述碼書中的類;以及根據所述碼書的每一類中包含的所述查詢圖像的所述查詢SIFT特徵向量的數量,生成所述查詢圖像的權重向量;
所述確定單元,用於確定每個所述待匹配圖像的權重向量與所述查詢圖像的權重向量的相似度;以及根據每個所述待匹配圖像對應的相似度,確定與所述查詢圖像相似的相似待匹配圖像的標識。
優選地,進一步包括:計算單元,用於針對所述碼書的每一類,確定所述碼書的當前類包含的所述加密SIFT特徵向量對應的所述待匹配圖像的數量與所述待匹配圖像的總數的第一比值;
所述第一處理單元,用於針對所述碼書的每一類,確定所述碼書的當前類中包含的所述當前待匹配圖像的所述加密SIFT特徵向量的數量與所述碼書中類的總數的第二比值;以及根據公式一,確定所述當前待匹配圖像在所述碼書的每一類中的權重,其中,所述公式一為:
ωi=tfi×log(idfi)
其中,ωi為所述當前待匹配圖像在所述碼書的第i類中的權重,tfi為第i類對應的第二比值,idfi為第i類對應的第一比值;
所述第二處理單元,用於針對所述碼書的每一類,確定所述碼書的當前類中包含的所述查詢SIFT特徵向量的數量與所述碼書中類的總數的第三比值;
根據公式二,確定所述查詢圖像在所述碼書的每一類中的權重,其中,所述公式二為:
ωj=fj×log(idfj)
其中,ωj為所述查詢圖像在所述碼書的第j類中的權重,fj為第j類對應的第三比值,idfj為第j類對應的第一比值。
優選地,所述確定單元,用於所述確定每個所述待匹配圖像的權重向量與所述查詢圖像的權重向量的相似度,包括:
根據公式三,分別確定每個所述待匹配圖像的權重向量與所述查詢圖像的權重向量的相似度,將對應的相似度最大的預設值個所述待匹配圖像作為所述相似待匹配圖像,確定與所述查詢圖像相似的所述相似待匹配圖像的標識;
其中,所述公式三為:
其中,dj為當前待匹配圖像j對應的相似度,A為所述當前待匹配圖像j的權重向量,B為所述查詢圖像的權重向量,i為權重向量的第i維,n為所述待匹配圖像的總數。
第三方面,本發明實施例提供了一種安全圖像檢索系統,該圖像檢索系統包括:圖像管理端、用戶端和第二方面中任一所述的圖像檢索伺服器,其中,
所述圖像管理端,用於發送各個待匹配圖像的加密SIFT特徵向量給所述圖像檢索伺服器,其中,每個所述待匹配圖像對應至少兩個所述加密SIFT特徵向量,所述加密SIFT特徵向量通過加密從對應的待匹配圖像中提取的SIFT特徵向量生成;以及接收所述圖像檢索伺服器發送的相似加密SIFT特徵向量對應的待匹配圖像的標識,根據所述標識向所述用戶端反饋所述相似加密SIFT特徵向量對應的待匹配圖像;
所述用戶端,用於發送查詢圖像的查詢SIFT特徵向量,其中,所述查詢SIFT特徵向量通過加密從所述查詢圖像中提取的SIFT特徵向量生成;以及接收所述圖像管理端反饋的所述相似加密SIFT特徵向量對應的待匹配圖像。
優選地,所述圖像管理端,進一步用於提取各個待匹配圖像中的至少兩個SIFT特徵向量;針對每一個所述SIFT特徵向量,隨機打亂當前SIFT特徵向量的比特位平面的排列順序,並與預設的第一偽隨機序列異或,獲得平面隨機SIFT特徵向量;將每一個所述平面隨機SIFT特徵向量的每一維度轉換為一元數,並隨機打亂所述一元數的排列順序,以及與預設的第二偽隨機序列異或,獲得編碼隨機SIFT特徵向量;由具有第一維度的密鑰生成具有第一維度的高斯隨機矩陣,並將所述高斯隨機矩陣與所述編碼隨機SIFT特徵向量作內積,獲得所述當前SIFT特徵向量對應的加密SIFT特徵向量;
所述用戶端,進一步用於提取查詢圖像中的檢索SIFT特徵向量;針對每一個所述檢索SIFT特徵向量,隨機當前檢索SIFT特徵向量的比特位平面的排列順序,並與預設的第一偽隨機序列異或,獲得平面隨機檢索SIFT特徵向量;將每一個所述平面隨機檢索SIFT特徵向量的每一維度轉換為一元數,並隨機打亂所述一元數的排列順序,以及與預設的第二偽隨機序列異或,獲得編碼隨機檢索SIFT特徵向量;由具有第一維度的密鑰生成具有第一維度的高斯隨機矩陣,並將所述高斯隨機矩陣與所述編碼隨機檢索SIFT特徵向量作內積,獲得加密後的所述查詢SIFT特徵向量。
本發明實施例提供了一種安全圖像檢索方法和系統、一種圖像檢索伺服器,通過預先接收從圖像管理端發來的各個待匹配圖像的加密SIFT特徵向量,在用戶需要進行圖像檢索時,接收用戶端發來查詢圖像的查詢SIFT特徵向量,根據各個圖像的加密SIFT特徵向量和查詢SIFT特徵向量,確定與查詢圖像相似的相似待匹配圖像的標識,然後向圖像管理端發送相似加密SIFT特徵向量對應的待匹配圖像的標識,以使圖像管理端根據標識向用戶端反饋相似加密SIFT特徵向量對應的待匹配圖像。由於本發明提供的方法直接根據各個圖像的加密SIFT特徵向量和查詢SIFT特徵向量,確定與查詢圖像相似的相似待匹配圖像的標識,在特徵向量加密時直接進行檢索,不需要對圖像的特徵向量進行解密,從而有效地避免了圖像信息的洩露,因此能夠有效的提高圖像檢索的安全性。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是本發明一個實施例提供的一種安全圖像檢索方法的流程圖;
圖2是本發明一個實施例提供的另一種安全圖像檢索方法的流程圖;
圖3是本發明一個實施例提供的一種圖像檢索伺服器的結構示意圖;
圖4是本發明一個實施例提供的另一種圖像檢索伺服器的結構示意圖;
圖5是本發明一個實施例提供的又一種圖像檢索伺服器的結構示意圖;
圖6是本發明一個實施例提供的一種安全圖像檢索系統的結構示意圖。
具體實施方式
為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例,基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動的前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
如圖1所示,本發明實施例提供了一種安全圖像檢索方法,該方法可以包括以下步驟:
步驟101:預先接收從圖像管理端發來的各個待匹配圖像的加密SIFT特徵向量。
在該步驟中,每個待匹配圖像對應至少兩個加密SIFT特徵向量,加密SIFT特徵向量通過加密從對應的待匹配圖像中提取的SIFT特徵向量生成。
步驟102:接收用戶端發來查詢圖像的查詢SIFT特徵向量。
在該步驟中,所述查詢SIFT特徵向量通過加密從所述查詢圖像中提取的SIFT特徵向量生成。
步驟103:根據所述各個圖像的所述加密SIFT特徵向量和所述查詢SIFT特徵向量,確定與所述查詢圖像相似的相似待匹配圖像的標識。
步驟104:向所述圖像管理端發送所述相似加密SIFT特徵向量對應的待匹配圖像的標識,以使所述圖像管理端根據所述標識向所述用戶端反饋所述相似加密SIFT特徵向量對應的待匹配圖像。
在圖1所示的實施例中,通過預先接收從圖像管理端發來的各個待匹配圖像的加密SIFT特徵向量,在用戶需要進行圖像檢索時,接收用戶端發來查詢圖像的查詢SIFT特徵向量,根據各個圖像的加密SIFT特徵向量和查詢SIFT特徵向量,確定與查詢圖像相似的相似待匹配圖像的標識,然後向圖像管理端發送相似加密SIFT特徵向量對應的待匹配圖像的標識,以使圖像管理端根據標識向用戶端反饋相似加密SIFT特徵向量對應的待匹配圖像。由於本發明提供的方法直接根據各個圖像的加密SIFT特徵向量和查詢SIFT特徵向量,確定與查詢圖像相似的相似待匹配圖像的標識,在特徵向量加密時直接進行檢索,不需要對圖像的特徵向量進行解密,從而有效地避免了圖像信息的洩露,因此能夠有效的提高圖像檢索的安全性。
在本發明一個實施例中,為了保證圖像檢索的高效性,在所述接收用戶端發來查詢圖像的查詢SIFT特徵向量之前,進一步包括:
對所述各個待匹配圖像的加密SIFT特徵向量進行聚類,得到碼書;
針對每個所述待匹配圖像,根據所述碼書的每一類中包含的當前待匹配圖像的所述加密SIFT特徵向量的數量,生成所述當前待匹配圖像的權重向量;
在所述接收用戶端發來查詢圖像的查詢SIFT特徵向量之後,進一步包括:
確定每個所述查詢SIFT特徵向量所屬於的所述碼書中的類;
根據所述碼書的每一類中包含的所述查詢圖像的所述查詢SIFT特徵向量的數量,生成所述查詢圖像的權重向量;
所述根據所述各個圖像的所述加密SIFT特徵向量和所述查詢SIFT特徵向量,確定與所述查詢圖像相似的相似待匹配圖像的標識,包括:
確定每個所述待匹配圖像的權重向量與所述查詢圖像的權重向量的相似度;
根據每個所述待匹配圖像對應的相似度,確定與所述查詢圖像相似的相似待匹配圖像的標識。
在該實施例中,可以採用基於曼哈頓距離的K-均值聚類法進行聚類,通過迭代過程把所有加密SIFT特徵向量集劃分為不同的類別,使生成的每個聚類內緊湊,類間獨立,對大數據集的處理,該算法具有相當高的效率。而對於碼書可以是C={c1,c2,...,ca,...,cB},a=1,...,B,其中,B為碼書的尺寸。而碼書的尺寸也就是碼書的類別。例如,B=1000,就表明碼書中分了1000類。由於在進行K-均值聚類進行分類時是基於某種距離的,可以是歐氏距離也可以是曼哈頓距離等,因此在滿足距離的條件下,可能將不同的加密SIFT特徵向量歸為同一類中,所以碼書中每一類中可能包含多個不同的加密SIFT特徵向量。由於加密SIFT特徵向量的歐氏距不再等於SIFT特徵向量的歐氏距離,因此使用歐氏距離進行聚類會引起較大的誤差。然而通過證明可以得知,對加密SIFT特徵向量基於曼哈頓距離進行K-均值聚類可以有效的減小誤差。
證明過程如下:
其中,d(Q,F)為查詢SIFT特徵向量Q和加密SIFT特徵向量F之間的距離,Q為查詢SIFT特徵向量,F為加密SIFT特徵向量,q為從查詢圖像中提取的SIFT特徵向量,f為與加密SIFT特徵向量F對應的從待匹配圖像中提取的SIFT特徵向量,ri為加密時使用的高斯隨機矩陣的第i列,K為高斯隨機矩陣的總列數,θi為(f–q)與ri之間的夾角。
根據大數準則,近似為常數,因此,最後可以得出d(Q,F)≈c·||f-q||2,也就是基於曼哈頓距離進行K-均值聚合後查詢SIFT特徵向量和加密SIFT特徵向量之間的距離近似與從查詢圖像中提取的SIFT特徵向量和與加密SIFT特徵向量對應的從待匹配圖像中提取的SIFT特徵向量之間的距離,也就是與從查詢圖像提取的原始向量和從待匹配圖像提取的原始向量之間的歐式距離成比例。
在本發明一個實施例中,為了增加圖像檢索的準確度,在所述根據所述碼書的每一類中包含的當前待匹配圖像的所述加密SIFT特徵向量的數量,生成所述當前待匹配圖像的權重向量之前,進一步包括:
針對所述碼書的每一類,確定所述碼書的當前類包含的所述加密SIFT特徵向量對應的所述待匹配圖像的數量與所述待匹配圖像的總數的第一比值;
所述根據所述碼書的每一類中包含的當前待匹配圖像的所述加密SIFT特徵向量的數量,生成所述當前待匹配圖像的權重向量,包括:
針對所述碼書的每一類,確定所述碼書的當前類中包含的所述當前待匹配圖像的所述加密SIFT特徵向量的數量與所述碼書中類的總數的第二比值;
根據公式一,確定所述當前待匹配圖像在所述碼書的每一類中的權重,其中,所述公式一為:
ωi=tfi×log(idfi)
其中,ωi為所述當前待匹配圖像在所述碼書的第i類中的權重,tfi為第i類對應的第二比值,idfi為第i類對應的第一比值;
所述根據所述碼書的每一類中包含的所述查詢圖像的所述查詢SIFT特徵向量的數量,生成所述查詢圖像的權重向量,包括:
針對所述碼書的每一類,確定所述碼書的當前類中包含的所述查詢SIFT特徵向量的數量與所述碼書中類的總數的第三比值;
根據公式二,確定所述查詢圖像在所述碼書的每一類中的權重,其中,所述公式二為:
ωj=fj×log(idfj)
其中,ωj為所述查詢圖像在所述碼書的第j類中的權重,fj為第j類對應的第三比值,idfj為第j類對應的第一比值。
在該實施例中,通過計算待匹配圖像的權重向量,將與每個待匹配圖像對應的至少兩個加密SIFT特徵向量量化為一個由權重表示的權值向量,從而使一個權值向量代表一個待匹配圖像;而對於查詢圖像對應的查詢SIFT特徵向量,同樣將查詢SIFT特徵向量量化為一個由權重表示的權值向量,從而僅用一個權值向量就可以表示該查詢圖像。由於待匹配圖像和查詢圖像均使用一個對應的權值向量表示,因此可以直接通過確定待匹配圖像和查詢圖像對應的權值向量的相似度,從而得知待匹配圖像和查詢圖像的相似度。對於第二比值可以通過公式進行計算,公式為例如,碼書共150類,分為第1類,…,第50類,…,第150類,而在該碼書中圖像1的第1類中有600個加密SIFT特徵向量,而碼書中類的總數為150,則第二比值為對於第一比值同樣可以通過公式進行計算,公式為若待匹配圖像的總數為60000,而第1類包含有加密SIFT特徵向量的待匹配圖像為600,則第一比值為接著就可以通過公式一確定圖片1中第1類的權重為根據公式計算出待匹配圖像和查詢圖像中每一類的權重後,便可得到權重向量。
在本發明一個實施例中,為了快速獲取待匹配圖像的權重向量與所述查詢圖像的權重向量的相似度,所述確定每個所述待匹配圖像的權重向量與所述查詢圖像的權重向量的相似度,包括:
根據公式三,確定每個所述待匹配圖像的權重向量與所述查詢圖像的權重向量的相似度,其中,所述公式三為:
其中,dj為當前待匹配圖像j對應的相似度,A為所述當前待匹配圖像j的權重向量,B為所述查詢圖像的權重向量,i為權重向量的第i維,n為所述待匹配圖像的總數;
所述根據每個所述待匹配圖像對應的相似度,確定與所述查詢圖像相似的相似待匹配圖像的標識,包括:
將對應的相似度最大的預設值個所述待匹配圖像作為所述相似待匹配圖像,確定與所述查詢圖像相似的所述相似待匹配圖像的標識。
在該實施例中,提供了一種快速計算待匹配圖像的權重向量與所述查詢圖像的權重向量的相似度,但這並不是唯一的算法,通過其他算法求得待匹配圖像的權重向量與所述查詢圖像的權重向量的相似度的方法同樣在本發明的保護範圍內。例如,假設待匹配圖像的權重向量是(A1,A2),查詢圖像的權重向量是(B1,B2),則待匹配圖像的權重向量與查詢圖像的權重向量的相似度為求得結果必定在-1至1之間,並且所計算出的相似度值越大,就認為待匹配圖像的權重向量與所述查詢圖像的權重向量,同時也代表待匹配圖像與查詢圖像越相似。
值得說明的是,最大的預設值個可以通過用戶端或圖像管理端進行調節。例如,最大的預設值個可以是20個、100個、1000個等等。
如圖2所示,本發明實施例提供了一種安全圖像檢索方法,該方法可以包括以下步驟:
步驟201:預先接收從圖像管理端發來的各個待匹配圖像的加密SIFT特徵向量。
在該步驟中,接收到的加密SIFT特徵向量的數量由圖像管理端中圖像集的大小決定,由於圖像集越大則提取的SIFT特徵向量越多,相應的加密SIFT特徵向量也就越多,接收到的加密SIFT特徵向量也就越多。
步驟202:基於曼哈頓距離採用K-均值聚類法對加密SIFT特徵向量進行聚類,得到碼書。
在該步驟中,碼書的尺寸大小為M,由於大小和類別相等,也就是碼書中包含了M類。
步驟203:針對碼書的每一類,確定碼書的當前類包含的加密SIFT特徵向量對應的待匹配圖像的數量與待匹配圖像的總數的第一比值。
在該步驟中,由於待匹配圖像的多樣性,會引起加密SIFT特徵向量的多樣性,因此可能存在圖像2中第3類中有500個加密SIFT特徵向量,而在圖像3中第3類中沒有加密SIFT特徵向量的情況;第一比值可以通過公式進行計算,公式為待匹配圖像的總數為60000,在上述M類的碼書第1類中包含加密SIFT特徵向量的待匹配圖像的數量為600,則第一比值為通過同樣的方法可以計算出其他各類在待匹配圖像中的第一比值。
步驟204:針對碼書的每一類,確定碼書的當前類中包含的當前待匹配圖像的加密SIFT特徵向量的數量與碼書中所有加密SIFT特徵向量的總數的第二比值。
在該步驟中,碼書中的每一類可能包括多個不同的加密SIFT特徵向量,由於通過了K-均值聚類,可以把這些不同的加密SIFT特徵向量看做是相同的加密SIFT特徵向量,因此只需要每一類中確定加密SIFT特徵向量的總數即可,不需要區分是否相同;第二比值同樣可以通過公式進行計算,公式為例如,M=250,碼書則分為第1類,…,第250類,而圖像1中第1類的加密SIFT特徵向量的數量為500,碼書中類的總數為250,則在圖像1中第1類的第二比值為通過同樣的方法可以計算出M類的碼書中其餘各類的第二比值。
步驟205:確定當前待匹配圖像在碼書的每一類中的權重,生成當前待匹配圖像的權重向量。
在該步驟中,利用下述公式(1)進行計算,
ωi=tfi×log(idfi) (1)
例如,在步驟204已經計算出tfi為2,在步驟203中已經計算出idfi為100,則在圖像1中第一類的權重為ωi=2×log100=2×2=4。通過同樣的方法可以計算出其他各類的權重。將當前待匹配圖像各類權重組生成權重向量。例如,上述M類碼書C={c1,c2,...,ca,...,cM},a=1,...,M,計算出圖像1中各類的權重分別為第1類c1為4,第2類c2為6,…,第M類cM為1.5,則圖像1的權重向量為(4,6,...,1.5)。通過同樣的方法可以計算出各個待匹配圖像的權重向量。
步驟206:接收用戶端發來查詢圖像的查詢SIFT特徵向量。
在該步驟中,用戶端抽取查詢圖像的SIFT特徵向量,並且會對SIFT特徵向量進行加密得到查詢SIFT特徵向量,因此接收到的是經過加密的查詢SIFT特徵向量。
步驟207:針對碼書的每一類,確定碼書的當前類中包含的查詢SIFT特徵向量的數量與碼書中類的總數的第三比值。
在該步驟中,第三比值同樣可以通過公式進行計算,公式為例如,M=125,碼書則分為第1類,…,第27類,…,第125類,而查詢圖像中第1類的查詢SIFT特徵向量的數量為125,碼書中類的總數為125,則在查詢圖像中第1類的第三比值為通過同樣的方法可以計算出M類的碼書中其餘各類的第三比值。
步驟208:根據查詢圖像在所述碼書的每一類中的權重,生成查詢圖像的權重向量。
步驟209:確定每個待匹配圖像的權重向量與查詢圖像的權重向量的相似度。
在該步驟中,通過下述公式(2)計算相似度,
該計算結果必定在-1至1之間,並且所計算出的相似度值越大,就認為待匹配圖像的權重向量與所述查詢圖像的權重向量,同時也代表待匹配圖像與查詢圖像越相似。
步驟210:將對應的相似度最大的預設值個待匹配圖像作為相似待匹配圖像,確定與查詢圖像相似的相似待匹配圖像的標識。
在該步驟中,將相似度最大的預設值個待匹配圖像作為相似待匹配圖像。例如,有10個計算結果,分別是0.99,0.88,0.54,0.64,0.18,0.45,056,0.64,0.96,0.78,而將相似度最大的4個作為相似待匹配圖像,則取0.99,0.96,0.88,0.78對應的待匹配圖像作為相似待匹配圖像。
步驟211:向圖像管理端發送相似加密SIFT特徵向量對應的待匹配圖像的標識,以使圖像管理端根據標識向用戶端反饋相似加密SIFT特徵向量對應的待匹配圖像。
如圖3所示,本發明實施例提供了一種圖像檢索伺服器,該圖像檢索伺服器可以包括:第一接收單元301、第二接收單元302、確定單元303和發送單元304,其中,
所述第一接收單元301,用於接收從圖像管理端發來的各個待匹配圖像的加密SIFT特徵向量,其中,每個所述待匹配圖像對應至少兩個所述加密SIFT特徵向量,所述加密SIFT特徵向量通過加密從對應的待匹配圖像中提取的SIFT特徵向量生成;
所述第二接收單元302,用於接收用戶端發來查詢圖像的查詢SIFT特徵向量,其中,所述查詢SIFT特徵向量通過加密從所述查詢圖像中提取的SIFT特徵向量生成;
所述確定單元303,用於根據所述第一接收單元301接收的所述各個圖像的所述加密SIFT特徵向量和所述第二接收單元接收的所述查詢SIFT特徵向量,確定與所述查詢圖像相似的相似待匹配圖像的標識;
所述發送單元304,用於向所述圖像管理端發送所述確定單元302確定的所述相似加密SIFT特徵向量對應的待匹配圖像的標識,以使所述圖像管理端根據所述標識向所述用戶端反饋所述相似加密SIFT特徵向量對應的待匹配圖像。
如圖4所示,在本發明一個實施例中,為了保證圖像檢索的高效性,該圖像檢索伺服器可以進一步包括:聚類單元401、第一處理單元402和第二處理單元403,其中,
所述聚類單元401,用於對所述第一接收單元301接收的所述各個待匹配圖像的加密SIFT特徵向量進行聚類,得到碼書;
所述第一處理單元402,用於針對每個所述待匹配圖像,根據所述碼書的每一類中包含的當前待匹配圖像的所述加密SIFT特徵向量的數量,生成所述當前待匹配圖像的權重向量;
所述第二處理單元403,用於確定每個所述查詢SIFT特徵向量所屬於的所述碼書中的類;以及根據所述碼書的每一類中包含的所述查詢圖像的所述查詢SIFT特徵向量的數量,生成所述查詢圖像的權重向量;
所述確定單元303,用於確定每個所述待匹配圖像的權重向量與所述查詢圖像的權重向量的相似度;以及根據每個所述待匹配圖像對應的相似度,確定與所述查詢圖像相似的相似待匹配圖像的標識。
如圖5所示,在本發明一個實施例中,為了增加圖像檢索的準確度,進一步包括:計算單元501,用於針對所述碼書的每一類,確定所述碼書的當前類包含的所述加密SIFT特徵向量對應的所述待匹配圖像的數量與所述待匹配圖像的總數的第一比值;
所述第一處理單元402,用於針對所述碼書的每一類,確定所述碼書的當前類中包含的所述當前待匹配圖像的所述加密SIFT特徵向量的數量與所述碼書中類的總數的第二比值;以及根據公式一,確定所述當前待匹配圖像在所述碼書的每一類中的權重,其中,所述公式一為:
ωi=tfi×log(idfi)
其中,ωi為所述當前待匹配圖像在所述碼書的第i類中的權重,tfi為第i類對應的第二比值,idfi為第i類對應的第一比值;
所述第二處理單元403,用於針對所述碼書的每一類,確定所述碼書的當前類中包含的所述查詢SIFT特徵向量的數量與所述碼書中類的總數的第三比值;根據公式二,確定所述查詢圖像在所述碼書的每一類中的權重,其中,所述公式二為:
ωj=fj×log(idfj)
其中,ωj為所述查詢圖像在所述碼書的第j類中的權重,fj為第j類對應的第三比值,idfj為第j類對應的第一比值。
在本發明一個實施例中,所述確定單元303,用於根據公式三,分別確定每個所述待匹配圖像的權重向量與所述查詢圖像的權重向量的相似度,將對應的相似度最大的預設值個所述待匹配圖像作為所述相似待匹配圖像,確定與所述查詢圖像相似的所述相似待匹配圖像的標識;
其中,所述公式三為:
其中,dj為當前待匹配圖像j對應的相似度,A為所述當前待匹配圖像j的權重向量,B為所述查詢圖像的權重向量,i為權重向量的第i維,n為所述待匹配圖像的總數。
如圖6所示,本發明實施例提供了一種安全圖像檢索系統,該圖像檢索系統包括:圖像管理端601、用戶端602和上述任一實施例所述的圖像檢索伺服器603,其中,
所述圖像管理端601,用於發送各個待匹配圖像的加密SIFT特徵向量給所述圖像檢索伺服器603,其中,每個所述待匹配圖像對應至少兩個所述加密SIFT特徵向量,所述加密SIFT特徵向量通過加密從對應的待匹配圖像中提取的SIFT特徵向量生成;以及接收所述圖像檢索伺服器503發送的相似加密SIFT特徵向量對應的待匹配圖像的標識,根據所述標識向所述用戶端502反饋所述相似加密SIFT特徵向量對應的待匹配圖像;
所述用戶端602,用於發送查詢圖像的查詢SIFT特徵向量,其中,所述查詢SIFT特徵向量通過加密從所述查詢圖像中提取的SIFT特徵向量生成;以及接收所述圖像管理端反饋的所述相似加密SIFT特徵向量對應的待匹配圖像。
在本發明一個實施例中,所述圖像管理端601,進一步用於提取各個待匹配圖像中的至少兩個SIFT特徵向量;針對每一個所述SIFT特徵向量,隨機打亂當前SIFT特徵向量的比特位平面的排列順序,並與預設的第一偽隨機序列異或,獲得平面隨機SIFT特徵向量;將每一個所述平面隨機SIFT特徵向量的每一維度轉換為一元數,並隨機打亂所述一元數的排列順序,以及與預設的第二偽隨機序列異或,獲得編碼隨機SIFT特徵向量;由具有第一維度的密鑰生成具有第一維度的高斯隨機矩陣,並將所述高斯隨機矩陣與所述編碼隨機SIFT特徵向量作內積,獲得所述當前SIFT特徵向量對應的加密SIFT特徵向量;
所述用戶端602,進一步用於提取查詢圖像中的檢索SIFT特徵向量;針對每一個所述檢索SIFT特徵向量,隨機當前檢索SIFT特徵向量的比特位平面的排列順序,並與預設的第一偽隨機序列異或,獲得平面隨機檢索SIFT特徵向量;將每一個所述平面隨機檢索SIFT特徵向量的每一維度轉換為一元數,並隨機打亂所述一元數的排列順序,以及與預設的第二偽隨機序列異或,獲得編碼隨機檢索SIFT特徵向量;由具有第一維度的密鑰生成具有第一維度的高斯隨機矩陣,並將所述高斯隨機矩陣與所述編碼隨機檢索SIFT特徵向量作內積,獲得加密後的所述查詢SIFT特徵向量。
在該實施例中,密鑰的維度決定高斯隨機矩陣的維度,例如,密鑰的維度為20維,則該20維密鑰生成獨立的20維標準高斯向量,從而得到具有20維標準高斯向量的高斯隨機矩陣。
綜上,本發明的各實施例,至少具有如下有益效果:
1、在本發明的實施例中,通過預先接收從圖像管理端發來的各個待匹配圖像的加密SIFT特徵向量,在用戶需要進行圖像檢索時,接收用戶端發來查詢圖像的查詢SIFT特徵向量,根據各個圖像的加密SIFT特徵向量和查詢SIFT特徵向量,確定與查詢圖像相似的相似待匹配圖像的標識,然後向圖像管理端發送相似加密SIFT特徵向量對應的待匹配圖像的標識,以使圖像管理端根據標識向用戶端反饋相似加密SIFT特徵向量對應的待匹配圖像。由於本發明提供的方法直接根據各個圖像的加密SIFT特徵向量和查詢SIFT特徵向量,確定與查詢圖像相似的相似待匹配圖像的標識,在特徵向量加密時直接進行檢索,不需要對圖像的特徵向量進行解密,從而有效地避免了圖像信息的洩露,因此能夠有效的提高圖像檢索的安全性。
2、在本發明的實施例中,通過將各個待匹配圖像的加密SIFT特徵向量進行聚類並得到碼書,根據碼書計算出各個待匹配圖像中各個類的權重,從而得到各個待匹配圖像的權重,將各個待匹配圖像至少兩個加密SIFT特徵向量轉換為一個能夠代表該待匹配圖像的權重向量,使得圖像檢索高效並且準確。
3、在本發明的實施例中,將文字信息檢索使用的TF-IDF思想,運用到圖像檢索中,能夠快速確定待匹配圖像的權重向量,並且只需要通過計算待匹配圖像的權重向量與查詢圖像的權重向量的相似度,就能夠確定圖像檢索結果,使得圖像檢索更加方便快捷。
上述裝置內的各單元之間的信息交互、執行過程等內容,由於與本發明方法實施例基於同一構思,具體內容可參見本發明方法實施例中的敘述,此處不再贅述。
需要說明的是,在本文中,諸如第一和第二之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句「包括一個……」限定的要素,並不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同因素。
本領域普通技術人員可以理解:實現上述方法實施例的全部或部分步驟可以通過程序指令相關的硬體來完成,前述的程序可以存儲在計算機可讀取的存儲介質中,該程序在執行時,執行包括上述方法實施例的步驟;而前述的存儲介質包括:ROM、RAM、磁碟或者光碟等各種可以存儲程序代碼的介質中。
最後需要說明的是:以上所述僅為本發明的較佳實施例,僅用於說明本發明的技術方案,並非用於限定本發明的保護範圍。凡在本發明的精神和原則之內所做的任何修改、等同替換、改進等,均包含在本發明的保護範圍內。