一種圖像檢索方法及系統與流程
2023-07-28 05:26:01 1

本發明屬於圖像處理技術領域,具體而言,涉及一種圖像檢索方法及系統。
背景技術:
隨著信息與通信技術的迅猛發展,各種圖像數據呈爆炸指數式增長。如何對海量的圖像數據進行有效的管理成為了一個亟待解決的問題。隨著模式識別與機器學習理論與算法的發展,在很一定程度實現了圖像的自動管理。當前主要包括兩種圖像管理方式:圖像機器學習與傳統圖像標註。其中,圖像機器學習技術主要利用大量有標記的樣本來訓練穩定的分類模型,以實現對未知的一系列圖像檢測、分類與識別;而傳統的圖像標註方法則通過新建一個與圖像對應的輔助文件,記錄人工/機器標註的結果信息。這兩種標註方式在傳輸和儲存方面,一方面增加了帶寬開銷或空間容量開銷,另一方面及容易丟失或損壞。另外,多數標註的信息缺乏加密防護,標註的信息不安全且容易洩露。
技術實現要素:
為解決上述技術缺點,本發明利用加密技術及可逆水印技術在原圖像中標註信息防止標註信息洩露,同時降低標註後圖像的帶寬開銷、空間容量開銷,提高對圖像數據的管理。
本發明提供了一種圖像檢索方法,包括如下步驟:
將標註信息加密為密文數據後嵌入原圖像,利用可逆水印算法將被替換的原始像素作為水印生成標註圖像;
提取標註圖像中密文數據並解密,將解密結果與檢索條件進行匹配獲取目標標註圖像,計算與目標標註圖像對應的原圖像的像素值並提取水印後輸出。
進一步,在本發明所述的圖像檢索方法中,所述將標註信息加密為密文數據後嵌入原圖像,利用可逆水印算法添加水印後生成標註圖像包括
獲取原圖像LSB位,提取並保存原圖像LSB位內容,將密文數據嵌入原圖像LSB位生成第一標註圖像;
將原圖像LSB位內容水印至第一標註圖像生成第二標註圖像。
更進一步,在本發明所述的圖像檢索方法中,所述獲取原圖像LSB位,提取並保存原圖像LSB位內容,將密文數據嵌入原圖像LSB位生成第一標註圖像包括
獲取標註信息,根據編碼表後將標註信息編碼為N位編碼,並對其進行檢驗;
將校驗後的N位編碼進行加密生成密文字符串;
在提取LSB位內容後的原圖像中嵌入密文字符串生成第一標註圖像。
進一步,在本發明所述的圖像檢索方法中,所述提取標註圖像中密文數據並解密,將解密結果與檢索條件進行匹配獲取目標標註圖像,計算與目標標註圖像對應的原圖像的像素值並提取水印後輸出包括
獲取檢索條件;
獲取標註圖像LSB位,提取密文數據並解密獲取標註信息;
將標註信息與檢索條件進行匹配獲取目標標註圖像;
計算與目標標註圖像對應的原圖像的像素值並提取水印的原圖像的LSB位內容後輸出原圖像。
本發明還提供了一種圖像檢索系統,包括
圖像處理裝置,用於將標註信息加密為密文數據後嵌入原圖像,利用可逆水印算法添加水印後生成標註圖像;
檢索裝置,用於提取標註圖像中密文數據並解密,將解密結果與檢索條件進行匹配獲取目標標註圖像,計算與目標標註圖像對應的原圖像的像素值並提取水印後輸出。
進一步,在本發明所述的圖像檢索系統中,圖像處理裝置包括
第一處理模塊,用於獲取原圖像LSB位,提取並保存原圖像LSB位內容,將密文數據嵌入原圖像LSB位生成第一標註圖像;
第二處理模塊,用於將原圖像LSB位內容水印至第一標註圖像生成第二標註圖像。
更進一步,在本發明所述的圖像檢索系統中,第一處理模塊包括
編碼模塊,用於獲取標註信息,根據編碼表後將標註信息編碼為N位編碼,並對其進行檢驗;
加密模塊,用於將校驗後的N位編碼進行加密生成密文字符串;
生成模塊,用於在提取LSB位內容後的原圖像中嵌入密文字符串生成第一標註圖像。
進一步,在本發明所述的圖像檢索系統中,所述檢索裝置包括
接口模塊,用於獲取檢索條件;
解密模塊,用於獲取標註圖像LSB位,提取密文數據並解密獲取標註信息;
查詢模塊,用於將標註信息與檢索條件進行匹配獲取目標標註圖像;
處理模塊,用於計算與目標標註圖像對應的原圖像的像素值並提取水印的原圖像的LSB位內容後輸出原圖像。
綜上,本發明提出的算法對原圖像的影響很小、算法速度快,適應於大量樣本的標註場景中,降低了空間複雜度,加密的標註信息防止被篡改,提高了標註信息的有效性、關聯性與管理性。
附圖說明
圖1為本發明所述的圖像檢索方法一個實施例的流程示意圖;
圖2為本發明所述的圖像檢索方法一個實施例中S101的流程示意圖;
圖3為本發明所述的圖像檢索方法一個實施例中對標註信息編碼並校驗後一個實施例的結構組成示意圖;
圖4為本發明所述的圖像檢索方法一個實施例中對標註信息編碼並校驗後的實施例的結構示意圖;
圖5為本發明所述的圖像檢索方法一個實施例中原圖像的分塊的結構示意圖;
圖6為本發明所述的圖像檢索方法一個實施例中S102的流程示意圖;
圖7為本發明所述的圖像檢索系統一個實施例的結構示意圖。
具體實施方式
如圖1所示,本發明提供了一種圖像檢索方法,包括如下步驟:
S101、將標註信息加密為密文數據後嵌入原圖像,利用可逆水印算法將被替換的原始像素作為水印生成標註圖像;
數字水印技術是將一些標識信息(即水印)嵌入數字載體中,且不影響原始載體的使用價值的方法。根據數字水印抵抗攻擊的魯棒性可以將其分為魯棒數字水印和易損數字水印兩類。根據數字水印水印的可逆性可以將其分為可逆數字水印和不可逆數字水印兩類。其中,可逆數字水印要求在提取端不僅能完整地提取出水印,並且能無損失的恢復出原始載體。這種特殊的水印目前主要應用在醫療、軍事和司法領域一些應用場景。可逆數字水印領域的可以劃分為兩類算法:空間域算法和變換域算法。目前已有的可逆水印算法主要集中在空間域,本實施例中採用的是空間域的可逆水印算法,提出基於比特翻轉的可逆數字水印技術:在發送端,當嵌入水印比特是1時,翻轉原圖像的塊中的LSB位,否則不翻轉。在接收端,根據圖像自身平滑性特徵,對接收圖像可以同時進行水印比特提取和原始圖像恢復。
S102、提取標註圖像中密文數據並解密,將解密結果與檢索條件進行匹配獲取目標標註圖像,計算與目標標註圖像對應的原圖像的像素值並提取水印後輸出。
本發明首先對標註信息進行加密,防止標註信息洩露或者被篡改,同時利用可逆水印算法對圖像上添加水印,在接收端可以100%地恢復原始圖像。具體實施時,標註信息可選包括創建者、所有者的標示信息、購買者的標示(即序列號)等。與傳統的人工圖像標註方法相比較,本發明不需要建立輔助文件,不需要將圖像與標註的輔助文件關聯起來,降低了空間複雜度,減小了空閒容量開銷。
進一步,S101如圖2所示包括
S1011、獲取原圖像LSB位,提取並保存原圖像LSB位內容,將密文數據嵌入原圖像LSB位生成第一標註圖像;
更進一步,所述S1011包括
獲取標註信息,根據編碼表後將標註信息編碼為N位編碼,本實施例中取N=12,最大可以表示212=4096類別,並對其進行校驗;
將校驗後的N位編碼進行加密生成密文字符串;
在提取LSB位內容後的原圖像中嵌入密文字符串生成第一標註圖像。
具體實施時,將標註有信息進行編碼並校驗可選的按照如下步驟進行:
(1)將人工/機器對圖像的標註信息通過查找12位編碼表,對分類等標註信息進行編碼;
(2)對標註的信息進行校驗可選的利用奇偶糾錯編碼,共有四位糾錯碼。
本實施例中利用的為12位編碼表,將標註信息編碼後為12位編碼並檢驗後為20位,具體可選的如圖3-4所示,其中,前四位為前綴,0000、1111分別代表人工標註、機器標註。
校驗規則為:第1-4位標註信息得到第一位糾錯碼;第5-8位標註信息得到第二位糾錯碼;第9-12位標註信息得到第三位糾錯碼;前三位糾錯碼得到第四位糾錯碼。同時加上四位前綴0000/1111標識信息,分別代表人工或機器標註,即將標註信息編碼為20位。需要說明的是,本實施例是按照12為編碼表對標註信息進行編碼的,具體實施時還可選的將標註信息編碼為其他位的編碼,本發明在此不進行限制。
具體實施時,加密的算法可選按照如下公式進行:
其中,d為原始數據,ks為偽隨機數,c為密文字符串數據,表示異或。該加密算法使用簡單異或操作,加解密過程均為同一個算法,易於硬體的實現,有利於提高了加解密速度。
需要說明的是,本實施例僅為本發明的一個實施例,具體實施時還可選的利用其他加密算法進行加密。
S1012、將原圖像LSB位內容水印至第一標註圖像生成第二標註圖像。
具體實施時,可選的按照如下步驟進行:
(a)將去掉中心區域的原圖像LSB進行分組,可選按照n×n的格式進行分塊,n=3,5,7,...15,本實施例中取n=3,即按照3×3進行分塊。
(b)如圖5所示,在分塊中對9個位置進行編號,其中塊中心的LSB為指示位,在嵌入過程保持不變,而周圍的8個LSB隨著嵌入可逆水印改變。
(c)如果嵌入的水印是0,8個LSB不翻轉。如果嵌入的水印是1,8個LSB進行翻轉。
規則如下:
其中,i表示分塊的編號,m表示嵌入的水印,LSBi表示不翻轉,表示翻轉。
為了提高水印檢測和恢復的準確性,具體實施時可選的使用多級嵌入策略,即在多個塊(一個組)按照步驟(a)-(c)進行同樣嵌入操作,直到所有的原圖像的20位LSB的比特嵌入。
圖像的質量可以使用PSNR(峰值信噪比)進行評估。評估按照如下公式進行計算:
根據國際標準圖像庫,對標註圖像進行灰度圖像進行算法仿真,得到表組圖像的PSNR都基本為51dB,圖像質量十分良好,證明對標註加密嵌入原圖像並水印後對原圖像的影響不大;同時本發明對標註信息進行編碼加密的算法速度快,能夠適應於大量樣本的標註場景中,降低了空間複雜度,防止了標註被篡改,提高了標註信息的有效性、關聯性與管理性。
進一步,如圖6所示,S102包括
S1021、獲取檢索條件;
S1022、獲取標註圖像LSB位,提取密文數據並解密獲取標註信息;具體實施時,可選的按照如下步驟進行:
(1)定位到嵌入水印圖像的中心區域的LSB,提取20位加密的數據。
(2)對數據進行解密如下:
(3)將得到的標註數據包進行以下檢測:
(a)若標識部分是1111或者0000進行後面的檢測,否則丟棄,不執行後面的操作。
(b)對數據包的校驗位進行檢測,若錯誤,直接丟棄,不執行後面的操作。
(4)將得到的數據包的標註部分通過編碼表進行解碼,得到圖像標註信息。
S1023、將標註信息與檢索條件進行匹配獲取目標標註圖像;
S1024、計算與目標標註圖像對應的像素值並提取水印的原圖像的LSB位內容後輸出原圖像。
具體實施時可選的對目標標註圖像按照如下步驟進行:
(1)對含水印圖像同樣進行分塊,如3*3。
(2)對每一個塊的1-8位置的LSB進行翻轉。
(3)分別計算每一個塊的翻轉前和翻轉後的平滑度值,如下:
其中,P0指塊中間的像素值,Pi,分別指塊周圍的翻轉前和翻轉後的像素值,而H0,H1分別指塊翻轉前和翻轉後的平緩度值。平滑度越小越接近真實圖像。
(4)恢復每一個塊的原始像素值,並且提取水印,如下:
其中,re_Pi指塊中恢復的像素值,m指提取出來的水印信息。
具體地,如接收圖像的某一個塊的像素值P0=7,P1=P2=6,P3=P4=...=P8=7.其中的8個位置的LSB位的比特翻轉後,像素值計算得到H0=2<H1=6,因此可以確定翻轉前的塊是原始圖像的塊,並且提取出的水印比特是0。
本發明目的在於對原數據(圖像、音頻、視頻等數據)進行管理,方便根據用戶的檢索條件進行檢索,因此本發明對原圖像進行標註後方便了用戶查詢需求的圖像數據。本發明獲取檢索條件後對所有的標註圖像進行解密獲取標註信息,根據標註信息匹配與檢索條件對應的目標標註圖像並進行輸出。
如圖7所示,本發明還提供了一種圖像檢索系統,包括
圖像處理裝置10,用於將標註信息加密為密文數據後嵌入原圖像,利用可逆水印算法將被替換的原始像素作為水印生成標註圖像;
檢索裝置20,用於提取標註圖像中密文數據並解密,將解密結果與檢索條件進行匹配獲取目標標註圖像,計算與目標標註圖像對應的原圖像的像素值並提取水印後輸出。
進一步,圖像處理裝置包括
第一處理模塊,用於獲取原圖像LSB位,提取並保存原圖像LSB位內容,將密文數據嵌入原圖像LSB位生成第一標註圖像;
第二處理模塊,用於將原圖像LSB位內容水印至第一標註圖像生成第二標註圖像。
進一步,第一處理模塊包括
編碼模塊,用於獲取標註信息,根據編碼表後將標註信息編碼為N位編碼,並對其進行檢驗;
加密模塊,用於將校驗後的N位編碼進行加密生成密文字符串;
生成模塊,用於在提取LSB位內容後的原圖像中嵌入密文字符串生成第一標註圖像。
進一步,所述檢索裝置包括
接口模塊,用於獲取檢索條件;
解密模塊,用於獲取標註圖像LSB位,提取密文數據並解密獲取標註信息;
查詢模塊,用於將標註信息與檢索條件進行匹配獲取目標標註圖像;
處理模塊,用於計算與目標標註圖像對應的原圖像的像素值並提取水印的原圖像的LSB位內容後輸出原圖像。
以上所述僅為本發明的優選實施例而已,並不用於限制本發明,對於本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。