一種構(gòu)建數(shù)據(jù)庫(kù)的方法和裝置制造方法
【專利摘要】本發(fā)明公開(kāi)了一種構(gòu)建數(shù)據(jù)庫(kù)的方法和裝置,屬于網(wǎng)絡(luò)通信領(lǐng)域。方法包括:將分類后的數(shù)據(jù)庫(kù)圖片的基本信息保存到圖片基本信息表中;提取每張數(shù)據(jù)庫(kù)圖片的數(shù)據(jù)庫(kù)圖片特征,將數(shù)據(jù)庫(kù)圖片特征以及數(shù)據(jù)庫(kù)圖片索引保存到圖片特征表中;通過(guò)LSH算法對(duì)在圖片特征表中保存的每張數(shù)據(jù)庫(kù)圖片的數(shù)據(jù)庫(kù)圖片特征進(jìn)行散列,生成數(shù)據(jù)庫(kù)圖片散列值;將每個(gè)數(shù)據(jù)庫(kù)圖片散列值以及數(shù)據(jù)庫(kù)圖片索引保存到每個(gè)散列表中。本發(fā)明解決了目前還沒(méi)有通用的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)可以支持各種LSH算法的問(wèn)題,進(jìn)而無(wú)法更好的發(fā)揮LSH在相似性檢索中的優(yōu)勢(shì)。
【專利說(shuō)明】一種構(gòu)建數(shù)據(jù)庫(kù)的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,特別涉及一種構(gòu)建數(shù)據(jù)庫(kù)的方法和裝置。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)通信技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)中的數(shù)據(jù)量越來(lái)越大,檢索相似信息的難度也越來(lái)越大。其中,圖片的相似搜索由于可以實(shí)現(xiàn)網(wǎng)絡(luò)圖片自動(dòng)排重、相關(guān)圖片推薦等效果而得到廣泛應(yīng)用,而構(gòu)建數(shù)據(jù)庫(kù)以實(shí)現(xiàn)相似檢索也就越來(lái)越必要。
[0003]目前,圖片相似搜索的方法有tree類相似算法,如R-tree, Kd-tree, SR-tree,是基于空間劃分的算法,檢索的結(jié)果雖然精確但是在高維數(shù)據(jù)集上的時(shí)間效率不高。
[0004]LSH(Location Sensitive Hash,位置敏感哈希函數(shù))算法,由于與一般哈希函數(shù)相比具有位置敏感性,對(duì)散列前的相似點(diǎn)進(jìn)行哈希計(jì)算,之后產(chǎn)生的散列值在一定程度上也能保持相似,并且具有一定的概率保證。這樣LSH算法能夠在保證一定準(zhǔn)確性的前提下,時(shí)間和空間復(fù)雜度得到降低,并且能夠很好地支持高維數(shù)據(jù)的檢索,因此LSH算法在含有豐富特征信息的圖片相似性領(lǐng)域中的應(yīng)用越來(lái)越受到重視。
[0005]在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問(wèn)題:
[0006]目前,存在各種類型的LSH算法,但還沒(méi)有通用的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)可以支持各種LSH算法,進(jìn)而無(wú)法更好的發(fā)揮LSH在相似性檢索中的優(yōu)勢(shì)。
【發(fā)明內(nèi)容】
[0007]為了解決目前沒(méi)有通用的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)支持各種LSH算法的問(wèn)題,本發(fā)明實(shí)施例提供了一種構(gòu)建數(shù)據(jù)庫(kù)的方法和裝置。所述技術(shù)方案如下:
[0008]一方面,提供了一種構(gòu)建數(shù)據(jù)庫(kù)的方法,所述方法包括:
[0009]將分類后的數(shù)據(jù)庫(kù)圖片的基本信息保存到圖片基本信息表中;所述圖片基本信息表中包括所述數(shù)據(jù)庫(kù)圖片的圖片名字、圖片類型、圖片入庫(kù)時(shí)間、數(shù)據(jù)庫(kù)圖片索引和圖片的信息摘要算法MD5值;其中,所述數(shù)據(jù)庫(kù)圖片索引是數(shù)據(jù)庫(kù)圖片的標(biāo)識(shí);
[0010]提取每張所述數(shù)據(jù)庫(kù)圖片的數(shù)據(jù)庫(kù)圖片特征,將所述數(shù)據(jù)庫(kù)圖片特征以及所述數(shù)據(jù)庫(kù)圖片索引保存到圖片特征表中;
[0011]通過(guò)位置敏感哈希函數(shù)LSH算法對(duì)在所述圖片特征表中保存的每張數(shù)據(jù)庫(kù)圖片的數(shù)據(jù)庫(kù)圖片特征進(jìn)行散列,生成數(shù)據(jù)庫(kù)圖片散列值;其中,所述數(shù)據(jù)庫(kù)圖片散列值的個(gè)數(shù)與預(yù)設(shè)的散列表個(gè)數(shù)相等;
[0012]將每個(gè)所述數(shù)據(jù)庫(kù)圖片散列值以及所述數(shù)據(jù)庫(kù)圖片索引保存到每個(gè)所述散列表中。
[0013]具體地,所述將每個(gè)所述數(shù)據(jù)庫(kù)圖片散列值以及所述數(shù)據(jù)庫(kù)圖片索引保存到每個(gè)所述散列表中之后,包括:
[0014]加載每個(gè)所述散列表;
[0015]提取待檢索圖片的待檢索圖片特征,并通過(guò)所述LSH算法對(duì)所述待檢索圖片特征進(jìn)行散列,生成待檢索圖片散列值;其中,生成的每個(gè)所述待檢索圖片散列值與所述加載的散列表相對(duì)應(yīng);
[0016]在與所述每個(gè)待檢索圖片散列值對(duì)應(yīng)的散列表中查找與所述待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片散列值;
[0017]根據(jù)查找到的與所述待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片散列值查找對(duì)應(yīng)的數(shù)據(jù)庫(kù)圖片索引,并根據(jù)所述數(shù)據(jù)庫(kù)圖片索引查找與所述待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片的基本信息。
[0018]進(jìn)一步地,所述在與所述每個(gè)待檢索圖片散列值對(duì)應(yīng)的散列表中查找與所述待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片散列值,包括:
[0019]在所述每個(gè)散列表中查找與所述待檢索圖片散列值相同的散列值;
[0020]和/ 或,
[0021]在所述每個(gè)散列表中查找與所述待檢索圖片散列值達(dá)到預(yù)設(shè)相似度的散列值。
[0022]進(jìn)一步地,所述根據(jù)所述數(shù)據(jù)庫(kù)圖片索引查找與所述待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片的基本信息之后,還包括:
[0023]從與所述待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片的基本信息中選擇預(yù)設(shè)個(gè)數(shù)的數(shù)據(jù)庫(kù)圖片基本信息。
[0024]其中,所述待檢索圖片特征與所述數(shù)據(jù)庫(kù)圖片特征的個(gè)數(shù)和類型相同,所述待檢索圖片特征以及所述數(shù)據(jù)庫(kù)圖片特征包括:圖片顏色、紋理共生矩陣、形狀特征及紋理直方圖特征。
[0025]另一方面,提供了一種構(gòu)建數(shù)據(jù)庫(kù)的裝置,所述裝置包括:
[0026]圖片基本信息表模塊,用于將分類后的數(shù)據(jù)庫(kù)圖片的基本信息保存到圖片基本信息表中;所述圖片基本信息表中包括所述數(shù)據(jù)庫(kù)圖片的圖片名字、圖片類型、圖片入庫(kù)時(shí)間、數(shù)據(jù)庫(kù)圖片索引和圖片的信息摘要算法MD5值;其中,所述數(shù)據(jù)庫(kù)圖片索引是數(shù)據(jù)庫(kù)圖片的標(biāo)識(shí);
[0027]圖片特征表模塊,用于提取每張所述數(shù)據(jù)庫(kù)圖片的數(shù)據(jù)庫(kù)圖片特征,將所述數(shù)據(jù)庫(kù)圖片特征以及所述數(shù)據(jù)庫(kù)圖片索引保存到圖片特征表中;
[0028]散列表模塊,用于通過(guò)位置敏感哈希函數(shù)LSH算法對(duì)在所述圖片特征表中保存的每張數(shù)據(jù)庫(kù)圖片的數(shù)據(jù)庫(kù)圖片特征進(jìn)行散列,生成數(shù)據(jù)庫(kù)圖片散列值;其中,所述數(shù)據(jù)庫(kù)圖片散列值的個(gè)數(shù)與預(yù)設(shè)的散列表個(gè)數(shù)相等;將每個(gè)所述數(shù)據(jù)庫(kù)圖片散列值以及所述數(shù)據(jù)庫(kù)圖片索引保存到每個(gè)所述散列表中。
[0029]具體地,所述裝置還包括:
[0030]加載模塊,用于將每個(gè)所述數(shù)據(jù)庫(kù)圖片散列值以及所述數(shù)據(jù)庫(kù)圖片索引保存到每個(gè)所述散列表中之后,加載每個(gè)所述散列表;
[0031]散列模塊,用于提取待檢索圖片的待檢索圖片特征,并通過(guò)所述LSH算法對(duì)所述待檢索圖片特征進(jìn)行散列,生成待檢索圖片散列值;其中,生成的每個(gè)所述待檢索圖片散列值與所述加載的散列表相對(duì)應(yīng);
[0032]匹配模塊,用于在與所述每個(gè)待檢索圖片散列值對(duì)應(yīng)的散列表中查找與所述待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片散列值;
[0033]檢索模塊,用于根據(jù)查找到的與所述待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片散列值查找對(duì)應(yīng)的數(shù)據(jù)庫(kù)圖片索引,并根據(jù)所述數(shù)據(jù)庫(kù)圖片索引查找與所述待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片的基本信息。
[0034]進(jìn)一步地,所述匹配模塊,包括:
[0035]第一匹配單元,用于在所述每個(gè)散列表中查找與所述待檢索圖片散列值相同的散列值;
[0036]和/ 或,
[0037]第二匹配單元,用于在所述每個(gè)散列表中查找與所述待檢索圖片散列值達(dá)到預(yù)設(shè)相似度的散列值。
[0038]進(jìn)一步地,所述檢索模塊,還用于根據(jù)所述數(shù)據(jù)庫(kù)圖片索引查找與所述待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片的基本信息之后,從與所述待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片的基本信息中選擇預(yù)設(shè)個(gè)數(shù)的數(shù)據(jù)庫(kù)圖片基本信息。
[0039]其中,所述待檢索圖片特征與所述數(shù)據(jù)庫(kù)圖片特征的個(gè)數(shù)和類型相同,所述待檢索圖片特征以及所述數(shù)據(jù)庫(kù)圖片特征包括:圖片顏色、紋理共生矩陣、形狀特征及紋理直方圖特征。
[0040]本發(fā)明實(shí)施例提供的技術(shù)方案帶來(lái)的有益效果是:
[0041]通過(guò)將數(shù)據(jù)庫(kù)圖片的基本信息保存到圖片基本信息表中;提取每張數(shù)據(jù)庫(kù)圖片的數(shù)據(jù)庫(kù)圖片特征,將數(shù)據(jù)庫(kù)圖片特征以及數(shù)據(jù)庫(kù)圖片索引保存到圖片特征表中;通過(guò)LSH算法對(duì)在圖片特征表中保存的數(shù)據(jù)庫(kù)圖片特征進(jìn)行散列,生成數(shù)據(jù)庫(kù)圖片散列值,將每個(gè)數(shù)據(jù)庫(kù)圖片散列值以及數(shù)據(jù)庫(kù)圖片索引對(duì)應(yīng)的保存到每個(gè)散列表中,解決了目前還沒(méi)有通用的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)可以支持各種LSH算法的問(wèn)題,進(jìn)而無(wú)法更好的發(fā)揮LSH在相似性檢索中的優(yōu)勢(shì)。
【專利附圖】
【附圖說(shuō)明】
[0042]為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0043]圖1是本發(fā)明實(shí)施例一提供的數(shù)據(jù)庫(kù)設(shè)計(jì)方法流程圖;
[0044]圖2是本發(fā)明實(shí)施例二提供的數(shù)據(jù)庫(kù)設(shè)計(jì)方法流程圖;
[0045]圖3是本發(fā)明實(shí)施例二提供的圖片基本信息表示意圖;
[0046]圖4是本發(fā)明實(shí)施例二提供的圖片特征表示意圖;
[0047]圖5是本發(fā)明實(shí)施例二提供的散列表示意圖;
[0048]圖6是本發(fā)明實(shí)施例三提供的數(shù)據(jù)庫(kù)設(shè)計(jì)裝置第一種結(jié)構(gòu)示意圖;
[0049]圖7是本發(fā)明實(shí)施例三提供的數(shù)據(jù)庫(kù)設(shè)計(jì)裝置第二種結(jié)構(gòu)示意圖;
[0050]圖8是本發(fā)明實(shí)施例三提供的數(shù)據(jù)庫(kù)設(shè)計(jì)裝置第三種結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0051]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。[0052]實(shí)施例一
[0053]參見(jiàn)圖1,本發(fā)明實(shí)施例提供了一種構(gòu)建數(shù)據(jù)庫(kù)的方法,該方法包括:
[0054]101、將分類后的數(shù)據(jù)庫(kù)圖片的基本信息保存到圖片基本信息表中;圖片基本信息表中包括數(shù)據(jù)庫(kù)圖片的圖片名字、圖片類型、圖片入庫(kù)時(shí)間、數(shù)據(jù)庫(kù)圖片索引和圖片的信息摘要算法MD5值;其中,數(shù)據(jù)庫(kù)圖片索引是數(shù)據(jù)庫(kù)圖片的標(biāo)識(shí);
[0055]102、提取每張數(shù)據(jù)庫(kù)圖片的數(shù)據(jù)庫(kù)圖片特征,將數(shù)據(jù)庫(kù)圖片特征以及數(shù)據(jù)庫(kù)圖片索引保存到圖片特征表中;
[0056]103、通過(guò)位置敏感哈希函數(shù)LSH算法對(duì)在圖片特征表中保存的每張數(shù)據(jù)庫(kù)圖片的數(shù)據(jù)庫(kù)圖片特征進(jìn)行散列,生成數(shù)據(jù)庫(kù)圖片散列值;其中,數(shù)據(jù)庫(kù)圖片散列值的個(gè)數(shù)與預(yù)設(shè)的散列表個(gè)數(shù)相等;
[0057]104、將每個(gè)數(shù)據(jù)庫(kù)圖片散列值以及數(shù)據(jù)庫(kù)圖片索引保存到每個(gè)散列表中。
[0058]具體地,將每個(gè)數(shù)據(jù)庫(kù)圖片散列值以及數(shù)據(jù)庫(kù)圖片索引保存到每個(gè)散列表中之后,包括:
[0059]加載每個(gè)散列表;
[0060]提取待檢索圖片的待檢索圖片特征,并通過(guò)LSH算法對(duì)待檢索圖片特征進(jìn)行散列,生成待檢索圖片散列值;其中,生成的每個(gè)待檢索圖片散列值與加載的散列表相對(duì)應(yīng);
[0061]在與每個(gè)待檢索圖片散列值對(duì)應(yīng)的散列表中查找與待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片散列值;
[0062]根據(jù)查找到的與待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片散列值查找對(duì)應(yīng)的數(shù)據(jù)庫(kù)圖片索引,并根據(jù)數(shù)據(jù)庫(kù)圖片索引查找與待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片的
基本信息。
[0063]進(jìn)一步地,在與每個(gè)待檢索圖片散列值對(duì)應(yīng)的散列表中查找與待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片散列值,包括:
[0064]在每個(gè)散列表中查找與待檢索圖片散列值相同的散列值;
[0065]和/ 或,
[0066]在每個(gè)散列表中查找與待檢索圖片散列值達(dá)到預(yù)設(shè)相似度的散列值。
[0067]進(jìn)一步地,根據(jù)數(shù)據(jù)庫(kù)圖片索引查找與待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片的基本信息之后,還包括:
[0068]從與待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片的基本信息中選擇預(yù)設(shè)個(gè)數(shù)的數(shù)據(jù)庫(kù)圖片基本信息。
[0069]其中,待檢索圖片特征與數(shù)據(jù)庫(kù)圖片特征的個(gè)數(shù)和類型相同,待檢索圖片特征以及數(shù)據(jù)庫(kù)圖片特征包括:圖片顏色、紋理共生矩陣、形狀特征及紋理直方圖特征。
[0070]本發(fā)明實(shí)施例提供的方法,通過(guò)將數(shù)據(jù)庫(kù)圖片的基本信息保存到圖片基本信息表中;提取每張數(shù)據(jù)庫(kù)圖片的數(shù)據(jù)庫(kù)圖片特征,將數(shù)據(jù)庫(kù)圖片特征以及數(shù)據(jù)庫(kù)圖片索引保存到圖片特征表中;通過(guò)LSH算法對(duì)在圖片特征表中保存的數(shù)據(jù)庫(kù)圖片特征進(jìn)行散列,生成數(shù)據(jù)庫(kù)圖片散列值,將每個(gè)數(shù)據(jù)庫(kù)圖片散列值以及數(shù)據(jù)庫(kù)圖片索引對(duì)應(yīng)的保存到每個(gè)散列表中,解決了目前還沒(méi)有通用的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)可以支持各種LSH算法的問(wèn)題,進(jìn)而無(wú)法更好的發(fā)揮LSH在相似性檢索中的優(yōu)勢(shì)。
[0071]實(shí)施例二[0072]參見(jiàn)圖2,本發(fā)明實(shí)施例提供了一種構(gòu)建數(shù)據(jù)庫(kù)的方法,該方法包括:
[0073]201、將分類后的數(shù)據(jù)庫(kù)圖片的基本信息存入圖片基本信息表中;
[0074]具體地,首先將數(shù)據(jù)庫(kù)圖片進(jìn)行分類,如將數(shù)據(jù)庫(kù)圖片分為風(fēng)景、人物等類別,這樣可以節(jié)省檢索過(guò)程中的數(shù)據(jù)量;然后使用C#或其他方式將分類后的數(shù)據(jù)庫(kù)圖片存入圖片基本信息表中;
[0075]具體地,參見(jiàn)圖3,圖片基本信息表用來(lái)記錄圖片的基本信息,圖片基本信息表中包括但不限于數(shù)據(jù)庫(kù)圖片的圖片名字、圖片類型、圖片入庫(kù)時(shí)間、數(shù)據(jù)庫(kù)圖片索引和圖片的MD5 (Message Digest Algorithm,信息摘要算法)值;其中,數(shù)據(jù)庫(kù)圖片索引是數(shù)據(jù)庫(kù)圖片的唯一標(biāo)識(shí);圖片的MD5值用于確保所有的圖片不重復(fù)。
[0076]202、提取每張數(shù)據(jù)庫(kù)圖片的數(shù)據(jù)庫(kù)圖片特征,將數(shù)據(jù)庫(kù)圖片特征以及數(shù)據(jù)庫(kù)圖片索引保存到圖片特征表中;
[0077]具體地,首先提取每張數(shù)據(jù)庫(kù)圖片的數(shù)據(jù)庫(kù)圖片特征,數(shù)據(jù)庫(kù)圖片特征包括但不限于:圖片顏色、紋理共生矩陣、形狀特征及紋理直方圖特征,還根據(jù)對(duì)數(shù)據(jù)檢索要求的高低提取更多的圖片特征,當(dāng)然也可減少數(shù)據(jù)庫(kù)圖片特征的個(gè)數(shù);然后將數(shù)據(jù)庫(kù)圖片的圖片特征以及數(shù)據(jù)庫(kù)圖片索引存入圖片特征表中;參見(jiàn)圖4,該圖片特征表中存放數(shù)據(jù)庫(kù)圖片特征,可以擴(kuò)展,其中還有一個(gè)列名“數(shù)據(jù)庫(kù)圖片索引”用于關(guān)聯(lián)圖片基本信息表中的索引字段;
[0078]提取數(shù)據(jù)庫(kù)圖片的圖片特征的方式可以使用OpenCV工具,也可以采用其他工具提取數(shù)據(jù)庫(kù)圖片的圖片特征。
[0079]203、通過(guò)LSH算法對(duì)在圖片特征表中保存的每張數(shù)據(jù)庫(kù)圖片的數(shù)據(jù)庫(kù)圖片特征進(jìn)行散列,生成數(shù)據(jù)庫(kù)圖片散列值;其中,數(shù)據(jù)庫(kù)圖片散列值的個(gè)數(shù)與預(yù)設(shè)的散列表個(gè)數(shù)相等;
[0080]具體地,使用通用的LSH算法把在圖片特征表中保存的每張數(shù)據(jù)庫(kù)圖片的圖片特征進(jìn)行散列;根據(jù)預(yù)設(shè)的散列表個(gè)數(shù),生成與散列表個(gè)數(shù)相等的數(shù)據(jù)庫(kù)圖片散列值;例如:預(yù)設(shè)的散列表個(gè)數(shù)為10,則將數(shù)據(jù)庫(kù)圖片A的圖片特征進(jìn)行散列,生成10個(gè)散列值。
[0081]204、將每個(gè)數(shù)據(jù)庫(kù)圖片散列值以及數(shù)據(jù)庫(kù)圖片索引保存到每個(gè)散列表中。
[0082]具體地,參見(jiàn)圖5,將步驟203生成的數(shù)據(jù)庫(kù)圖片的每個(gè)散列值PicJfey以及該待檢索圖片索引數(shù)據(jù)庫(kù)圖片索引一起對(duì)應(yīng)的保存到每個(gè)散列表中,如數(shù)據(jù)庫(kù)圖片A生成的10個(gè)散列值,則將每個(gè)散列值以及數(shù)據(jù)庫(kù)圖片A的索引分別對(duì)應(yīng)的保存到10個(gè)散列表中。
[0083]通過(guò)步驟201-204,完成了構(gòu)建數(shù)據(jù)庫(kù)的步驟,此時(shí)已建立3個(gè)表:圖片基本信息表、圖片特征表、散列表,這3個(gè)表通過(guò)數(shù)據(jù)庫(kù)圖片索引進(jìn)行關(guān)聯(lián),可以查找到對(duì)應(yīng)的信息。
[0084]205、加載每個(gè)散列表,提取待檢索圖片的待檢索圖片特征;
[0085]具體地,將步驟204生成的散列表中保存的數(shù)據(jù)庫(kù)圖片的散列值加載到內(nèi)存中;然后提取需要待檢索圖片的待檢索圖片特征;其中,待檢索圖片特征與數(shù)據(jù)庫(kù)圖片特征個(gè)數(shù)和類型相同,待檢索圖片特征以及數(shù)據(jù)庫(kù)圖片特征包括但不限于:圖片顏色、紋理共生矩陣、形狀特征及紋理直方圖特征;還根據(jù)對(duì)數(shù)據(jù)檢索要求的高低提取更多的圖片特征,當(dāng)然也可減少待檢索圖片特征的個(gè)數(shù);
[0086]提取待檢索圖片的圖片特征的方式與提取數(shù)據(jù)庫(kù)圖片的圖片特征的方式相同,可以使用OpenCV工具,也可以采用其他工具提取數(shù)據(jù)庫(kù)圖片的圖片特征。[0087]206、通過(guò)LSH算法對(duì)待檢索圖片特征進(jìn)行散列,生成待檢索圖片散列值;其中,生成的每個(gè)待檢索圖片散列值與加載的散列表相對(duì)應(yīng);
[0088]具體地,使用與數(shù)據(jù)庫(kù)圖片相同的LSH算法對(duì)待檢索圖片的圖片特征進(jìn)行散列,并根據(jù)預(yù)設(shè)的散列表個(gè)數(shù),生成與散列表個(gè)數(shù)相等的待檢索圖片散列值;例如:預(yù)設(shè)的散列表個(gè)數(shù)為10,則將待檢索圖片B的圖片特征進(jìn)行散列,生成10個(gè)散列值。另外,也可以對(duì)應(yīng)的生成的散列值個(gè)數(shù)小于散列表的個(gè)數(shù),但是所生成的散列值必須唯一對(duì)應(yīng)一個(gè)散列表,這樣有些散列表就沒(méi)有散列值和其對(duì)應(yīng),這樣的相似性檢索可能會(huì)漏掉某些相似圖片,精確度降低。
[0089]207、在與每個(gè)待檢索圖片散列值對(duì)應(yīng)的散列表中查找與待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片散列值;
[0090]具體地,可以在每個(gè)散列表中查找與待檢索圖片散列值相同的散列值,查找到的散列值即為匹配相似的散列值;
[0091]還可以在每個(gè)散列表中查找與待檢索圖片散列值達(dá)到預(yù)設(shè)相似度比如相差10的散列值,查找到的散列值即為匹配相似的散列值。[0092]208、根據(jù)查找到的與待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片散列值查找對(duì)應(yīng)的數(shù)據(jù)庫(kù)圖片索引,并根據(jù)數(shù)據(jù)庫(kù)圖片索引查找與待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片的基本彳目息。
[0093]具體地,查找到與待檢索圖片散列值匹配相似的散列值之后,根據(jù)該散列值對(duì)應(yīng)的數(shù)據(jù)庫(kù)圖片索引,在圖片基本信息表中查找與待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片基本信息,此時(shí)已完成待檢索圖片的相似性檢索。
[0094]209、從與待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片的基本信息中選擇預(yù)設(shè)個(gè)數(shù)的數(shù)據(jù)庫(kù)圖片基本信息。
[0095]具體地,由于查找與待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片基本信息可能有多個(gè),比如查找到100個(gè),而用戶可能僅需要10個(gè),此時(shí)可以從與待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片基本信息中選擇預(yù)設(shè)個(gè)數(shù)的如10個(gè)數(shù)據(jù)庫(kù)圖片基本信息;對(duì)于選擇的方式以及選擇的依據(jù)可以根據(jù)情況靈活設(shè)置。
[0096]本發(fā)明實(shí)施例提供的方法,通過(guò)將數(shù)據(jù)庫(kù)圖片的基本信息保存到圖片基本信息表中;提取每張數(shù)據(jù)庫(kù)圖片的數(shù)據(jù)庫(kù)圖片特征,將數(shù)據(jù)庫(kù)圖片特征以及數(shù)據(jù)庫(kù)圖片索引保存到圖片特征表中;通過(guò)LSH算法對(duì)在圖片特征表中保存的數(shù)據(jù)庫(kù)圖片特征進(jìn)行散列,生成數(shù)據(jù)庫(kù)圖片散列值,將每個(gè)數(shù)據(jù)庫(kù)圖片散列值以及數(shù)據(jù)庫(kù)圖片索引對(duì)應(yīng)的保存到每個(gè)散列表中,解決了目前還沒(méi)有通用的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)可以支持各種LSH算法的問(wèn)題,進(jìn)而無(wú)法更好的發(fā)揮LSH在相似性檢索中的優(yōu)勢(shì)。
[0097]實(shí)施例三
[0098]參見(jiàn)圖6,本發(fā)明實(shí)施例提供了一種構(gòu)建數(shù)據(jù)庫(kù)的裝置,該裝置包括:
[0099]圖片基本信息表模塊601,用于將分類后的數(shù)據(jù)庫(kù)圖片的基本信息保存到圖片基本信息表中;圖片基本信息表中包括數(shù)據(jù)庫(kù)圖片的圖片名字、圖片類型、圖片入庫(kù)時(shí)間、數(shù)據(jù)庫(kù)圖片索引、圖片的信息摘要算法MD5值;其中,數(shù)據(jù)庫(kù)圖片索引是數(shù)據(jù)庫(kù)圖片的標(biāo)識(shí);
[0100]圖片特征表模塊602,用于提取每張數(shù)據(jù)庫(kù)圖片的數(shù)據(jù)庫(kù)圖片特征,將數(shù)據(jù)庫(kù)圖片特征以及數(shù)據(jù)庫(kù)圖片索引保存到圖片特征表中;[0101]散列表模塊603,用于通過(guò)位置敏感哈希函數(shù)LSH算法對(duì)在圖片特征表中保存的每張數(shù)據(jù)庫(kù)圖片的數(shù)據(jù)庫(kù)圖片特征進(jìn)行散列,生成數(shù)據(jù)庫(kù)圖片散列值;其中,數(shù)據(jù)庫(kù)圖片散列值的個(gè)數(shù)與預(yù)設(shè)的散列表個(gè)數(shù)相等;將每個(gè)數(shù)據(jù)庫(kù)圖片散列值以及數(shù)據(jù)庫(kù)圖片索引保存到每個(gè)散列表中。
[0102]具體地,參見(jiàn)圖7,該裝置還包括:
[0103]加載模塊604,用于將數(shù)據(jù)庫(kù)圖片的每個(gè)散列值以及數(shù)據(jù)庫(kù)圖片索引保存到每個(gè)散列表中之后,加載每個(gè)散列表;
[0104]散列模塊605,用于提取待檢索圖片的待檢索圖片特征,并通過(guò)LSH算法對(duì)待檢索圖片特征進(jìn)行散列,生成待檢索圖片散列值;其中,生成的每個(gè)待檢索圖片散列值與加載的散列表相對(duì)應(yīng);
[0105]匹配模塊606,用于在與每個(gè)待檢索圖片散列值對(duì)應(yīng)的散列表中查找與待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片散列值;
[0106]檢索模塊607,用于根據(jù)查找到的與待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片散列值查找對(duì)應(yīng)的數(shù)據(jù)庫(kù)圖片索引,并根據(jù)數(shù)據(jù)庫(kù)圖片索引查找與待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片的基本信息。
[0107]進(jìn)一步地,參見(jiàn)圖8,該匹配模塊606,包括:
[0108]第一匹配單兀606a,用于在每個(gè)散列表中查找與待檢索圖片散列值相同的散列值;
[0109]和/ 或,
[0110]第二匹配單元606b,用于在每個(gè)散列表中查找與待檢索圖片散列值達(dá)到預(yù)設(shè)相似度的散列值。
[0111]進(jìn)一步地,該檢索模塊607,還用于根據(jù)數(shù)據(jù)庫(kù)圖片索引查找與待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片的基本信息之后,從與待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片的基本信息中選擇預(yù)設(shè)個(gè)數(shù)的數(shù)據(jù)庫(kù)圖片基本信息。
[0112]其中,本發(fā)明實(shí)施例的待檢索圖片特征與數(shù)據(jù)庫(kù)圖片特征的個(gè)數(shù)和類型相同,待檢索圖片特征以及數(shù)據(jù)庫(kù)圖片特征包括:圖片顏色、紋理共生矩陣、形狀特征及紋理直方圖特征。
[0113]本發(fā)明實(shí)施例提供的裝置,通過(guò)將數(shù)據(jù)庫(kù)圖片的基本信息保存到圖片基本信息表中;提取每張數(shù)據(jù)庫(kù)圖片的數(shù)據(jù)庫(kù)圖片特征,將數(shù)據(jù)庫(kù)圖片特征以及數(shù)據(jù)庫(kù)圖片索引保存到圖片特征表中;通過(guò)LSH算法對(duì)在圖片特征表中保存的數(shù)據(jù)庫(kù)圖片特征進(jìn)行散列,生成數(shù)據(jù)庫(kù)圖片散列值,將每個(gè)數(shù)據(jù)庫(kù)圖片散列值以及數(shù)據(jù)庫(kù)圖片索引對(duì)應(yīng)的保存到每個(gè)散列表中,解決了目前還沒(méi)有通用的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)可以支持各種LSH算法的問(wèn)題,進(jìn)而無(wú)法更好的發(fā)揮LSH在相似性檢索中的優(yōu)勢(shì)。
[0114]需要說(shuō)明的是:上述實(shí)施例提供的構(gòu)建數(shù)據(jù)庫(kù)的裝置在對(duì)圖片構(gòu)建數(shù)據(jù)庫(kù)時(shí),僅以上述各功能模塊的劃分進(jìn)行舉例說(shuō)明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實(shí)施例提供的構(gòu)建數(shù)據(jù)庫(kù)的裝置與構(gòu)建數(shù)據(jù)庫(kù)的方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過(guò)程詳見(jiàn)方法實(shí)施例,這里不再贅述。
[0115]上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。[0116]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過(guò)硬件來(lái)完成,也可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。
[0117]以上僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種構(gòu)建數(shù)據(jù)庫(kù)的方法,其特征在于,所述方法包括: 將分類后的數(shù)據(jù)庫(kù)圖片的基本信息保存到圖片基本信息表中;所述圖片基本信息表中包括所述數(shù)據(jù)庫(kù)圖片的圖片名字、圖片類型、圖片入庫(kù)時(shí)間、數(shù)據(jù)庫(kù)圖片索引和圖片的信息摘要算法MD5值;其中,所述數(shù)據(jù)庫(kù)圖片索引是數(shù)據(jù)庫(kù)圖片的標(biāo)識(shí); 提取每張所述數(shù)據(jù)庫(kù)圖片的數(shù)據(jù)庫(kù)圖片特征,將所述數(shù)據(jù)庫(kù)圖片特征以及所述數(shù)據(jù)庫(kù)圖片索引保存到圖片特征表中; 通過(guò)位置敏感哈希函數(shù)LSH算法對(duì)在所述圖片特征表中保存的每張數(shù)據(jù)庫(kù)圖片的數(shù)據(jù)庫(kù)圖片特征進(jìn)行散列,生成數(shù)據(jù)庫(kù)圖片散列值;其中,所述數(shù)據(jù)庫(kù)圖片散列值的個(gè)數(shù)與預(yù)設(shè)的散列表個(gè)數(shù)相等; 將每個(gè)所述數(shù)據(jù)庫(kù)圖片散列值以及所述數(shù)據(jù)庫(kù)圖片索引保存到每個(gè)所述散列表中。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將每個(gè)所述數(shù)據(jù)庫(kù)圖片散列值以及所述數(shù)據(jù)庫(kù)圖片索引保存到每個(gè)所述散列表中之后,包括: 加載每個(gè)所述散列表; 提取待檢索圖片的待檢索圖片特征,并通過(guò)所述LSH算法對(duì)所述待檢索圖片特征進(jìn)行散列,生成待檢索圖片散列值;其中,生成的每個(gè)所述待檢索圖片散列值與所述加載的散列表相對(duì)應(yīng); 在與所述每個(gè)待檢索圖片散列值對(duì)應(yīng)的散列表中查找與所述待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片散列值 ; 根據(jù)查找到的與所述待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片散列值查找對(duì)應(yīng)的數(shù)據(jù)庫(kù)圖片索引,并根據(jù)所述數(shù)據(jù)庫(kù)圖片索引查找與所述待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片的基本信息。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述在與所述每個(gè)待檢索圖片散列值對(duì)應(yīng)的散列表中查找與所述待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片散列值,包括: 在所述每個(gè)散列表中查找與所述待檢索圖片散列值相同的散列值; 和/或, 在所述每個(gè)散列表中查找與所述待檢索圖片散列值達(dá)到預(yù)設(shè)相似度的散列值。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述數(shù)據(jù)庫(kù)圖片索引查找與所述待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片的基本信息之后,還包括: 從與所述待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片的基本信息中選擇預(yù)設(shè)個(gè)數(shù)的數(shù)據(jù)庫(kù)圖片基本信息。
5.根據(jù)權(quán)利要求1-4任一權(quán)利要求所述的方法,其特征在于,所述待檢索圖片特征與所述數(shù)據(jù)庫(kù)圖片特征的個(gè)數(shù)和類型相同。
6.一種構(gòu)建數(shù)據(jù)庫(kù)的裝置,其特征在于,所述裝置包括: 圖片基本信息表模塊,用于將分類后的數(shù)據(jù)庫(kù)圖片的基本信息保存到圖片基本信息表中;所述圖片基本信息表中包括所述數(shù)據(jù)庫(kù)圖片的圖片名字、圖片類型、圖片入庫(kù)時(shí)間、數(shù)據(jù)庫(kù)圖片索引和圖片的信息摘要算法MD5值;其中,所述數(shù)據(jù)庫(kù)圖片索引是數(shù)據(jù)庫(kù)圖片的標(biāo)識(shí); 圖片特征表模塊,用于提取每張所述數(shù)據(jù)庫(kù)圖片的數(shù)據(jù)庫(kù)圖片特征,將所述數(shù)據(jù)庫(kù)圖片特征以及所述數(shù)據(jù)庫(kù)圖片索引保存到圖片特征表中;散列表模塊,用于通過(guò)位置敏感哈希函數(shù)LSH算法對(duì)在所述圖片特征表中保存的每張數(shù)據(jù)庫(kù)圖片的數(shù)據(jù)庫(kù)圖片特征進(jìn)行散列,生成數(shù)據(jù)庫(kù)圖片散列值;其中,所述數(shù)據(jù)庫(kù)圖片散列值的個(gè)數(shù)與預(yù)設(shè)的散列表個(gè)數(shù)相等;將每個(gè)所述數(shù)據(jù)庫(kù)圖片散列值以及所述數(shù)據(jù)庫(kù)圖片索引對(duì)應(yīng)的保存到每個(gè)所述散列表中。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 加載模塊,用于將每個(gè)所述數(shù)據(jù)庫(kù)圖片散列值以及所述數(shù)據(jù)庫(kù)圖片索引保存到每個(gè)所述散列表中之后,加載每個(gè)所述散列表; 散列模塊,用于提取待檢索圖片的待檢索圖片特征,并通過(guò)所述LSH算法對(duì)所述待檢索圖片特征進(jìn)行散列,生成待檢索圖片散列值;其中,生成的每個(gè)所述待檢索圖片散列值與所述加載的散列表相對(duì)應(yīng); 匹配模塊,用于在與所述每個(gè)待檢索圖片散列值對(duì)應(yīng)的散列表中查找與所述待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片散列值; 檢索模塊,用于根據(jù)查找到的與所述待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片散列值查找對(duì)應(yīng)的數(shù)據(jù)庫(kù)圖片索引,并根據(jù)所述數(shù)據(jù)庫(kù)圖片索引查找與所述待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片的基本信息。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述匹配模塊,包括: 第一匹配單元,用于在所述每個(gè)散列表中查找與所述待檢索圖片散列值相同的散列值; 和/或, 第二匹配單元,用于在所述每個(gè)散列表中查找與所述待檢索圖片散列值達(dá)到預(yù)設(shè)相似度的散列值。
9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述檢索模塊,還用于根據(jù)所述數(shù)據(jù)庫(kù)圖片索引查找與所述待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片的基本信息之后,從與所述待檢索圖片散列值匹配相似的數(shù)據(jù)庫(kù)圖片的基本信息中選擇預(yù)設(shè)個(gè)數(shù)的數(shù)據(jù)庫(kù)圖片基本信肩。
10.根據(jù)權(quán)利要求6-9任一權(quán)利要求所述的裝置,其特征在于,所述待檢索圖片特征與所述數(shù)據(jù)庫(kù)圖片特征的個(gè)數(shù)和類型相同。
【文檔編號(hào)】G06F17/30GK103902595SQ201210581276
【公開(kāi)日】2014年7月2日 申請(qǐng)日期:2012年12月27日 優(yōu)先權(quán)日:2012年12月27日
【發(fā)明者】楊志宇 申請(qǐng)人:北京新媒傳信科技有限公司