一種基于哈希編碼加權排序的自適應查詢方法
【技術領域】
[0001] 本發明涉及計算機搜索技術領域,尤其涉及一種基于哈希編碼加權排序的自適應 查詢方法。
【背景技術】
[0002] 圖片、視頻等數據的快速增長給數據索引和搜索帶來了極大的挑戰。大數據上的 近似最近鄰搜索由于其在查詢性能和效率的出色表現,在過去數十年中引起越來越多的關 注。
[0003] 基于圖的重排序算法一般分為圖的構建過程和圖傳播過程。首先是圖的構建過 程。通常來說,把每個圖像作為圖的頂點,然后將這些相似的頂點連接起來,作為圖的邊, 相似性的大小看成是這些節點之間邊的權重。受啟發于page-rank的排序思想,在一幅圖 中,被越多的頂點連接指向的頂點應該越重要,即一副圖像和越多的圖像相似越重要,而且 通常越重要的頂點在排序的時候越靠前。頂點的重要性要靠圖的傳播過程來實現。具體來 說,對于一個查詢,節點V和查詢相似,即是重要的節點,如果節點u和節點V相似,那么有 很大的可能節點u也和查詢相似。直觀地,如果一個節點和查詢非常相似,那么它的周圍應 該有很多節點也和查詢相似。即采用隨機游走的思想進行圖的傳播,隨機游走過程穩定時 的概率被當作圖像最后的相關分數,然后按照相關分數的大小對圖像進行重排序。
[0004] 由于基于圖的重排序方法,充分考慮了圖像之間的相似性和圖像數據的分布結 構,這些特點使得該方法非常容易和多特征融合的排序方法相結合。現有技術中,無監督的 基于圖的多特征融合的方法,將多個特征查詢的結果分別構造一張圖,然后將多個圖進行 融合,融合之后,針對單個圖運用page-rank等方法進行重排序。還有一種新的通過弱監督 的方式多圖進行融合的方法,通過引入了多圖學習的框架,該方法對圖的構建不僅考慮單 個特征內的結果的關系,同時考慮特征之間的關系。
[0005] 在實現本發明的過程中,發明人發現現有技術至少存在以下問題:
[0006] 現有的基于哈希的最近鄰搜索技術,在大多數的圖像查詢中,都是采用單一的圖 像特征進行查詢和排序,由于單一的特征無法全面表示圖像信息,不能從多個方面查詢出 用戶所需圖像信息,而且即使慮特征之間的關系,但現有技術基于圖像的原始特征進行多 特征的融合進行重排序,或者需要存儲圖像的原始特征,或者需要存儲圖像的最近鄰關系, 需要消耗大量的硬盤空間,當數據量很大時,又不能加載到內存,導致內存消耗大,嚴重影 響查詢效率。
【發明內容】
[0007] 鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決或 者減緩上述問題的基于哈希編碼加權排序的自適應查詢方法。
[0008] 根據本發明的一個方面,提供了 一種基于哈希編碼加權排序的自適應查詢方法, 該方法包括:
[0009] 對查詢數據提取多種特征,分別為每種特征構建一個哈希表,并利用每種特征對 應的哈希表分別進行查詢;
[0010] 獲取利用所述每種特征對應的哈希表進行查詢的多個查詢結果,并將所述多個查 詢結果中的每個查詢結果分別構建一個對應的圖;
[0011] 將每個查詢結果對應的圖進行融合,得到一個融合圖;
[0012] 利用圖的重排序算法對所述每個查詢結果在所述融合圖上進行重新排序,得到最 終的查詢結果。
[0013] 可選的,所述對查詢數據提取多種特征,分別為每種特征構建一個哈希表,并利用 每種特征對應的哈希表分別進行查詢,具體包括:
[0014] 訓練數據提取多種數據特征,生成每種數據特征的至少一個錨點;
[0015] 選取標記樣例,用所述每種數據特征的至少一個錨點分別表示所述標記樣例;
[0016] 用所述每種數據特征的至少一個錨點分別表示查詢,并計算每種數據特征表示的 查詢和所述標記樣例的相似度量;
[0017] 利用每種數據特征表示的查詢和所述標記樣例的相似度量分別為每種特征構建 一個哈希表,并利用每種特征對應的哈希表分別進行查詢。
[0018] 可選的,所述生成每種數據特征的至少一個錨點,具體為:
[0019] 采用聚類的方式生成每種數據特征的至少一個錨點。
[0020] 可選的,所述選取標記樣例的方法具體為:采用聚類或隨機的方式選取標記樣例。
[0021] 可選的,所述獲取利用所述每種特征對應的哈希表進行查詢的多個查詢結果,并 將所述多個查詢結果中的每個查詢結果分別構建一個對應的圖,具體包括:
[0022] 利用相似度量計算查詢適應的比特級別的權重,并根據哈希函數之間的關系進行 權重優化;
[0023] 基于優化后的權重,計算查詢和結果的海明距離,并根據所述海明距離進行排序, 獲得排序結果;
[0024] 利用錨點,計算近似近鄰相似度;
[0025] 根據所述優化后的權重、排序結果以及近似近鄰相似度將每個查詢結果構建一個 對應的圖。
[0026] 可選的,所述利用圖的重排序算法對所述每個查詢結果在所述融合圖上進行重新 排序,得到最終的查詢結果,具體包括:
[0027] 分別計算每個查詢結果在所述融合圖上進行重新排序的排序得分;
[0028] 根據所述排序得分,選擇得分最高的查詢結果作為最終的查詢結果。
[0029] 本發明的有益效果為:
[0030] 本發明提供的一種基于哈希編碼加權排序的自適應查詢方法,將基于圖的重排序 方法和多特征融合的重排序方法相結合,根據多特征融合的哈希重排序結果,構造多個圖, 然后采用特征融合進行圖融合,最后對融合圖進行重排序,從而有效地綜合多特征優勢,實 現數據的快速查詢,降低內存的消耗,有效地提高了查詢的效率和準確率,對查詢性能有很 大提升。
[0031] 上述說明僅是本發明技術方案的概述,為了能夠更清楚了解本發明的技術手段, 而可依照說明書的內容予以實施,并且為了讓本發明的上述和其它目的、特征和優點能夠 更明顯易懂,以下特舉本發明的【具體實施方式】。
【附圖說明】
[0032] 通過閱讀下文優選實施方式的詳細描述,各種其他的優點和益處對于本領域普通 技術人員將變得清楚明了。附圖僅用于示出優選實施方式的目的,而并不認為是對本發明 的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0033] 圖1示出了本發明實施例的一種基于哈希編碼加權排序的自適應查詢方法的流 程圖;
[0034] 圖2示出了本發明實施例的一種基于哈希編碼加權排序的自適應查詢方法中步 驟S12的細分流程圖。
【具體實施方式】
[0035] 下面詳細描述本發明的實施例,所述實施例的示例在附圖中示出,其中自始至終 相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附 圖描述的實施例是示例性的,僅用于解釋本發明,而不能解釋為對本發明的限制。
[0036] 本技術領域技術人員可以理解,除非特意聲明,這里使用的單數形式"一"、"一 個"、"所述"和"該"也可包括復數形式。應該進一步理解的是,本發明的說明書中使用的措 辭"包括"是指存在所述特征、整數、步驟、操作、元件和/或組件,但是并不排除存在或添加 一個或多個其他特征、整數、步驟、操作、元件、組件和/或它們的組。
[0037] 本技術領域技術人員可以理解,除非另外