本發(fā)明涉及圖片搜索領域,具體涉及一種圖片檢索匹配方法和裝置。
背景技術:
:隨著越來越多的電商企業(yè)與平臺的崛起,網(wǎng)購已成為人們不可缺少的一種在線購物方式。但在一些電商平臺上涉及信息搜索時,當下大部分人仍是使用文字錄入的方式進行信息搜索,而隨著將來越來越多的電商平臺基建于移動設備上,及用戶越來越容易接受基于圖片的搜索方式來進行信息搜索。當下一些大型的電商平臺在不斷精細化功能的過程中,已逐步開始注重基于圖片的信息搜索。而由于圖片內(nèi)容的復雜性,當下已有的多種圖片信息檢索算法的高效與精準仍是個影響圖片信息檢索的瓶頸。技術實現(xiàn)要素:為了克服現(xiàn)有技術的不足,本發(fā)明的目的在于提供一種圖片檢索匹配方法和裝置,實現(xiàn)提高圖片檢索的效率和匹配結(jié)果的準確度。為解決上述問題,本發(fā)明所采用的技術方案如下:方案一:一種圖片檢索匹配方法,包括以下步驟:S101、接收用戶輸入的待匹配圖片;S102、提取待匹配圖片的局部特征點;S103、根據(jù)待匹配圖片的局部特征點計算出待匹配圖片的特征矩陣;S104、將待匹配圖片的特征矩陣作為輸入特征矩陣進行向量化轉(zhuǎn)換得到特征向量;S105、將待匹配圖片的特征向量與特征向量數(shù)據(jù)庫中的特征向量進行匹配,并將匹配到的特征向量所對應的圖片信息返回給用戶。優(yōu)選的,所述向量化轉(zhuǎn)換包括以下步驟:A、讀取圖片數(shù)據(jù)庫中所有圖片的特征矩陣并進行合并得到特征矩陣M;B、在特征矩陣M的特征值空間中隨機生成預設數(shù)量的中心特征值;C、取出特征矩陣M的每一行,記為Fi,依次計算出與Fi最近鄰的中心特征值;D、依次更新每個中心特征值,更新的規(guī)則為:當前的中心特征值更新為當前的中心特征值與最近鄰的Fi的幾何中心值;E、判斷每個中心特征值更新時所產(chǎn)生的位移是否小于預設閾值,若是,則執(zhí)行步驟F,若否,則返回步驟C;F、保存更新后的每個中心特征值,形成一個中心特征向量;G、將輸入特征矩陣記為M1,針對M1的每一行從中心特征向量中依次取出對應的最近鄰的中心特征值;H、統(tǒng)計每個被取出的中心特征值的命中次數(shù)并得到對應于所述輸入特征矩陣的特征向量。優(yōu)選的,特征向量數(shù)據(jù)庫中的特征向量通過以下步驟生成:步驟一、用于將圖片數(shù)據(jù)庫中所有圖片放進隊列中;步驟二、用于依次提取隊列中每張圖片的局部特征點;步驟三、用于根據(jù)每張圖片的局部特征點計算出每張圖片的特征矩陣;步驟四、用于依次將每張圖片的特征矩陣作為輸入特征矩陣進行向量化轉(zhuǎn)換得到特征向量,并將每張圖片對應的特征向量保存至特征向量數(shù)據(jù)庫中。方案二:一種圖片檢索匹配裝置,包括以下模塊:接收模塊:用于接收用戶輸入的待匹配圖片;特征點提取模塊:用于提取待匹配圖片的局部特征點;特征矩陣計算模塊:用于根據(jù)待匹配圖片的局部特征點計算出待匹配圖片的特征矩陣;向量化模塊:用于將待匹配圖片的特征矩陣作為輸入特征矩陣進行向量化轉(zhuǎn)換得到特征向量;匹配返回模塊:用于將待匹配圖片的特征向量與特征向量數(shù)據(jù)庫中的特征向量進行匹配,并將匹配到的特征向量所對應的圖片信息返回給用戶。優(yōu)選的,所述向量化轉(zhuǎn)換包括以下模塊:合并模塊:用于讀取圖片數(shù)據(jù)庫中所有圖片的特征矩陣并進行合并得到特征矩陣M;中心特征值生成模塊:用于在特征矩陣M的特征值空間中隨機生成預設數(shù)量的中心特征值;第一計算模塊:用于取出特征矩陣M的每一行,記為Fi,依次計算出與Fi最近鄰的中心特征值;中心特征值更新模塊:用于依次更新每個中心特征值,更新的規(guī)則為:當前的中心特征值更新為當前的中心特征值與最近鄰的Fi的幾何中心值;判斷模塊:用于判斷每個中心特征值更新時所產(chǎn)生的位移是否小于預設閾值,若是,則執(zhí)行中心特征向量生成模塊,若否,則返回第一計算模塊;中心特征向量生成模塊:用于保存更新后的每個中心特征值,形成一個中心特征向量;中心特征值確定模塊:用于將輸入特征矩陣記為M1,針對M1的每一行從中心特征向量中依次取出對應的最近鄰的中心特征值;特征向量輸出模塊:用于統(tǒng)計每個被取出的中心特征值的命中次數(shù)并得到對應于所述輸入特征矩陣的特征向量。優(yōu)選的,特征向量數(shù)據(jù)庫中的特征向量通過以下模塊生成:模塊一、用于將圖片數(shù)據(jù)庫中所有圖片放進隊列中;模塊二、用于依次提取隊列中每張圖片的局部特征點;模塊三、用于根據(jù)每張圖片的局部特征點計算出每張圖片的特征矩陣;模塊四、用于依次將每張圖片的特征矩陣作為輸入特征矩陣進行向量化轉(zhuǎn)換得到特征向量,并將每張圖片對應的特征向量保存至特征向量數(shù)據(jù)庫中。相比現(xiàn)有技術,本發(fā)明的有益效果在于:能夠在檢索時大大提高匹配效率,同時由于數(shù)據(jù)量的較少,能夠存儲更多的數(shù)據(jù),使得檢索匹配的結(jié)果更加準確。附圖說明圖1為本發(fā)明的圖片檢索匹配方法的流程圖。具體實施方式下面,結(jié)合附圖以及具體實施方式,對本發(fā)明做進一步描述:參考圖1,一種圖片檢索匹配方法,包括以下步驟:S101、接收用戶輸入的待匹配圖片。S102、提取待匹配圖片的局部特征點。S103、根據(jù)待匹配圖片的局部特征點計算出待匹配圖片的特征矩陣。S104、將待匹配圖片的特征矩陣作為輸入特征矩陣進行向量化轉(zhuǎn)換得到特征向量。S105、將待匹配圖片的特征向量與特征向量數(shù)據(jù)庫中的特征向量進行匹配,并將匹配到的特征向量所對應的圖片信息返回給用戶。圖片信息是預先針對每張圖片所標記上的信息。其中,步驟S102和S103均可采用現(xiàn)有技術實現(xiàn),現(xiàn)有的圖片檢索也是基于特征矩陣進行檢索,由于特征矩陣的數(shù)據(jù)量大,檢索時需要耗費大量內(nèi)存,因此無法應用于大規(guī)模的圖片檢索。因此,本發(fā)明通過將特征矩陣進行向量化轉(zhuǎn)換,轉(zhuǎn)換為低緯度的特征向量,而特征向量中的數(shù)據(jù)遠遠小于特征矩陣中的數(shù)據(jù),這樣每張圖片對應的特征數(shù)據(jù)大大減少,檢索時的匹配效率也更高,而且,服務器便能存儲更多的圖片,從而支持大規(guī)模的圖片檢索,檢索的結(jié)果更加準確。向量化轉(zhuǎn)換的原理近似于聚類算法,對圖片的特征值進行聚合處理,具體包括以下步驟:A、讀取圖片數(shù)據(jù)庫中所有圖片的特征矩陣并進行合并得到特征矩陣M。B、在特征矩陣M的特征值空間中隨機生成預設數(shù)量的中心特征值。其中,預設數(shù)量根據(jù)圖片數(shù)據(jù)庫中的圖片數(shù)量決定,一般圖片有10萬張,則預設數(shù)量為10000,即隨機生成10000個中心特征值。C、取出特征矩陣M的每一行,記為Fi,依次計算出與Fi最近鄰的中心特征值。特征矩陣M相當于三維矩陣,其每一行表示一張圖片的特征矩陣。依次計算出與Fi最近鄰的中心特征值是指從第一行開始,計算離第一行最近鄰的中心特征值,離第二行最近鄰的中心特征值,以此類推。D、依次更新每個中心特征值,更新的規(guī)則為:當前的中心特征值更新為當前的中心特征值與最近鄰的Fi的幾何中心值。即計算出兩個特征值的幾何中心值作為新的中心特征值。E、判斷每個中心特征值更新時所產(chǎn)生的位移是否小于預設閾值,若是,則執(zhí)行步驟F,若否,則返回步驟C。F、保存更新后的每個中心特征值,形成一個中心特征向量。G、將輸入特征矩陣記為M1,針對M1的每一行從中心特征向量中依次取出對應的最近鄰的中心特征值。即從M1的第一行開始,依次找到與當前行最近鄰的中心特征值。H、統(tǒng)計每個被取出的中心特征值的命中次數(shù)并得到對應于所述輸入特征矩陣的特征向量。例如,將中心特征向量記為CV=[C1,C2,…,C10000,],在步驟H中,假如命中C13,C25次,…,Cn7次,則得到的特征向量為Cout=[3,5,…,7]。其中,有多少個中心特征值被取出,則得到的特征向量就有多少個維度。對于特征向量數(shù)據(jù)庫中的特征向量通過以下步驟生成:步驟一、用于將圖片數(shù)據(jù)庫中所有圖片放進隊列中;步驟二、用于依次提取隊列中每張圖片的局部特征點;步驟三、用于根據(jù)每張圖片的局部特征點計算出每張圖片的特征矩陣;步驟四、用于依次將每張圖片的特征矩陣作為輸入特征矩陣進行向量化轉(zhuǎn)換得到特征向量,并將每張圖片對應的特征向量保存至特征向量數(shù)據(jù)庫中。通過上述的圖片檢索匹配方法,能夠在檢索時大大提高匹配效率,同時由于數(shù)據(jù)量的較少,能夠存儲更多的數(shù)據(jù),使得檢索匹配的結(jié)果更加準確。在8G內(nèi)存,4核服務器上運行效果如下:傳統(tǒng)方法本發(fā)明存儲圖片數(shù)量195022576單次搜索時間0.25s0.10s對應于上述的圖片檢索匹配方法,本發(fā)明還公開了一種圖片檢索匹配裝置,包括以下模塊:接收模塊:用于接收用戶輸入的待匹配圖片;特征點提取模塊:用于提取待匹配圖片的局部特征點;特征矩陣計算模塊:用于根據(jù)待匹配圖片的局部特征點計算出待匹配圖片的特征矩陣;向量化模塊:用于將待匹配圖片的特征矩陣作為輸入特征矩陣進行向量化轉(zhuǎn)換得到特征向量;匹配返回模塊:用于將待匹配圖片的特征向量與特征向量數(shù)據(jù)庫中的特征向量進行匹配,并將匹配到的特征向量所對應的圖片信息返回給用戶。優(yōu)選的,所述向量化轉(zhuǎn)換包括以下模塊:合并模塊:用于讀取圖片數(shù)據(jù)庫中所有圖片的特征矩陣并進行合并得到特征矩陣M;中心特征值生成模塊:用于在特征矩陣M的特征值空間中隨機生成預設數(shù)量的中心特征值;第一計算模塊:用于取出特征矩陣M的每一行,記為Fi,依次計算出與Fi最近鄰的中心特征值;中心特征值更新模塊:用于依次更新每個中心特征值,更新的規(guī)則為:當前的中心特征值更新為當前的中心特征值與最近鄰的Fi的幾何中心值;判斷模塊:用于判斷每個中心特征值更新時所產(chǎn)生的位移是否小于預設閾值,若是,則執(zhí)行中心特征向量生成模塊,若否,則返回第一計算模塊;中心特征向量生成模塊:用于保存更新后的每個中心特征值,形成一個中心特征向量;中心特征值確定模塊:用于將輸入特征矩陣記為M1,針對M1的每一行從中心特征向量中依次取出對應的最近鄰的中心特征值;特征向量輸出模塊:用于統(tǒng)計每個被取出的中心特征值的命中次數(shù)并得到對應于所述輸入特征矩陣的特征向量。優(yōu)選的,特征向量數(shù)據(jù)庫中的特征向量通過以下模塊生成:模塊一、用于將圖片數(shù)據(jù)庫中所有圖片放進隊列中;模塊二、用于依次提取隊列中每張圖片的局部特征點;模塊三、用于根據(jù)每張圖片的局部特征點計算出每張圖片的特征矩陣;模塊四、用于依次將每張圖片的特征矩陣作為輸入特征矩陣進行向量化轉(zhuǎn)換得到特征向量,并將每張圖片對應的特征向量保存至特征向量數(shù)據(jù)庫中。對本領域的技術人員來說,可根據(jù)以上描述的技術方案以及構思,做出其它各種相應的改變以及形變,而所有的這些改變以及形變都應該屬于本發(fā)明權利要求的保護范圍之內(nèi)。當前第1頁1 2 3