圖像檢索裝置、圖像檢索方法、程序和計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì)的制作方法
【專利摘要】使用GPU這樣的進(jìn)行大量同類型處理的能力高的硬件,使圖像檢索處理高速化。圖像檢索裝置1包含公共存儲(chǔ)器和執(zhí)行相同命令的多個(gè)并行的處理器。圖像檢索裝置1從存儲(chǔ)單元傳送分別代表包含多個(gè)圖像特征矢量的多個(gè)聚類的多個(gè)代表特征矢量,將從要查詢的圖像提取出的1個(gè)或者多個(gè)查詢特征矢量保存在所述公共存儲(chǔ)器中,使用所述多個(gè)并行的處理器計(jì)算被傳送的所述多個(gè)代表特征矢量與所述查詢特征矢量之間的距離,根據(jù)屬于按照所述第1距離計(jì)算單元的計(jì)算結(jié)果選擇出的聚類的圖像特征矢量與所述查詢特征矢量之間的距離,選擇多個(gè)圖像中的任意一個(gè)。
【專利說明】圖像檢索裝置、圖像檢索方法、程序和計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及圖像檢索裝置、圖像檢索方法、程序和計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì)。
【背景技術(shù)】
[0002]由于網(wǎng)絡(luò)技術(shù)等的發(fā)達(dá),管理了巨量的圖像文件。存在如下圖像檢索技術(shù):從該大量的圖像中,選出與要查詢的圖像相似的圖像。為了從大量圖像中高速地選擇圖像,正在進(jìn)行被稱作BoF (Bag of Features:特征詞袋)法的檢索方法的開發(fā)。該方法使用了被稱作Boff (Bag of Words:詞袋)法的文本檢索方法。在BoF法中,將從作為檢索對(duì)象的圖像提取出的各個(gè)特征矢量與相當(dāng)于BoW法中的單詞的視覺詞(Visual Word)對(duì)應(yīng)起來,使用該視覺詞的出現(xiàn)頻度來檢索相似的圖像。
[0003]在專利文獻(xiàn)I中,公開了如下技術(shù):使用聚類處理將從要查詢的圖像提取出的多個(gè)圖像特征量矢量轉(zhuǎn)換成更少的矢量,查詢?cè)撧D(zhuǎn)換后的矢量,來進(jìn)行圖像的檢索。
[0004]現(xiàn)有技術(shù)文獻(xiàn)
[0005]專利文獻(xiàn)
[0006]專利文獻(xiàn)1:日本特開2011-107795號(hào)公報(bào)
【發(fā)明內(nèi)容】
[0007]發(fā)明要解決的問題
[0008]然而,圖像數(shù)據(jù)與文字?jǐn)?shù)據(jù)相比,其數(shù)據(jù)量膨脹,因此為了使用通常的CPU進(jìn)行與文字一樣的高速檢索,需要減少處理量。因此,在生成檢索索引時(shí),不得不使用沒有準(zhǔn)確地表達(dá)該圖像數(shù)據(jù)的特征的視覺詞等,很難得到足夠的檢索精度。
[0009]因此,考慮使用例如所謂的GPU (Graphic Processing Unit:圖形處理單元)這樣的計(jì)算能力比CPU高的硬件。GPU包含多個(gè)處理器和公共存儲(chǔ)器,多個(gè)處理器能夠分別從公共存儲(chǔ)器高效地取入數(shù)據(jù),執(zhí)行公共的程序來進(jìn)行運(yùn)算處理。如果使GPU這樣的硬件高速地進(jìn)行運(yùn)算處理,則能夠在確保精度的同時(shí)進(jìn)行高速檢索。
[0010]但是,上述這樣的BoF法等是最適合于CPU的步驟,BoF法為了處理稀疏矩陣等,較多地使用了鏈表數(shù)據(jù)結(jié)構(gòu)或分支處理。這些與具有上述特征的GPU的結(jié)構(gòu)的兼容性差,因此即使直接使用GPU,也不能充分發(fā)揮其能力。
[0011]本發(fā)明是鑒于上述問題而完成的,其目的在于,使用GPU這樣的進(jìn)行大量同類型處理的能力高的硬件,來使圖像檢索處理高速化。
[0012]用于解決問題的手段
[0013]為了解決上述問題,本發(fā)明的圖像檢索裝置具有:公共存儲(chǔ)器;和多個(gè)并行處理器,它們執(zhí)行相同的命令,分別一并地讀取保存在所述公共存儲(chǔ)器中的數(shù)據(jù)并進(jìn)行處理,此夕卜,所述圖像檢索裝置的特征在于,還具有:代表矢量傳送單元,其從存儲(chǔ)有分別屬于多個(gè)聚類中的任意一個(gè)聚類的多個(gè)圖像特征矢量和分別代表所述多個(gè)聚類中的任意一個(gè)聚類的多個(gè)代表特征矢量的存儲(chǔ)單元,將所述多個(gè)代表特征矢量傳送到所述公共存儲(chǔ)器,其中,所述多個(gè)圖像特征矢量是從作為檢索對(duì)象的多個(gè)圖像提取出的;查詢特征矢量取得單元,其取得從要查詢的圖像提取出的I個(gè)或多個(gè)查詢特征矢量,并保存在所述公共存儲(chǔ)器中;第I距離計(jì)算單元,其使用所述多個(gè)并行的處理器,計(jì)算被傳送的所述多個(gè)代表特征矢量中的至少一部分與所述查詢特征矢量之間的距離;第2距離計(jì)算單元,其計(jì)算屬于根據(jù)所述第I距離計(jì)算單元的計(jì)算結(jié)果而選擇出的聚類的圖像特征矢量與所述查詢特征矢量之間的距離;以及根據(jù)所述第2距離計(jì)算單元的計(jì)算結(jié)果,選擇所述多個(gè)圖像中的至少I個(gè)圖像的單元。
[0014]此外,本發(fā)明的程序使計(jì)算機(jī)發(fā)揮作用,所述計(jì)算機(jī)具有:公共存儲(chǔ)器;和多個(gè)并行處理器,它們執(zhí)行相同的命令,分別一并地讀取保存在所述公共存儲(chǔ)器中的數(shù)據(jù)并進(jìn)行處理,該程序的特征在于,使計(jì)算機(jī)作為以下單元發(fā)揮作用:代表矢量傳送單元,其從存儲(chǔ)有分別屬于多個(gè)聚類中的任意一個(gè)聚類的多個(gè)圖像特征矢量和分別代表所述多個(gè)聚類中的任意一個(gè)聚類的多個(gè)代表特征矢量的存儲(chǔ)單元,將所述多個(gè)代表特征矢量傳送到所述公共存儲(chǔ)器,其中,所述多個(gè)圖像特征矢量是從作為檢索對(duì)象的多個(gè)圖像提取出的;查詢?cè)O(shè)定單元,其將從要查詢的圖像提取出的I個(gè)或者多個(gè)查詢特征矢量設(shè)定于所述公共存儲(chǔ)器中;第I距離計(jì)算單元,其使用所述多個(gè)并行的處理器,計(jì)算被傳送的所述多個(gè)代表特征矢量中的至少一部分與所述查詢特征矢量之間的距離;第2距離計(jì)算單元,其計(jì)算屬于根據(jù)所述第I距離計(jì)算單元的計(jì)算結(jié)果而選擇出的聚類的圖像特征矢量與所述查詢特征矢量之間的距離;以及,根據(jù)所述第2距離計(jì)算單元的計(jì)算結(jié)果,選擇所述多個(gè)圖像中的至少I個(gè)圖像的單元。
[0015]此外,本發(fā)明的圖像檢索方法使計(jì)算機(jī)檢索圖像,所述計(jì)算機(jī)具有:公共存儲(chǔ)器;和多個(gè)并行處理器,它們執(zhí)行相同的命令,分別一并地讀取保存在所述公共存儲(chǔ)器中的數(shù)據(jù)并進(jìn)行處理,該圖像檢索方法的特征在于,所述圖像檢索方法具有如下步驟:代表矢量傳送步驟,從存儲(chǔ)有分別屬于多個(gè)聚類中的任意一個(gè)聚類的多個(gè)圖像特征矢量和分別代表所述多個(gè)聚類中的任意一個(gè)聚類的多個(gè)代表特征矢量的存儲(chǔ)單元,將所述多個(gè)代表特征矢量傳送到所述公共存儲(chǔ)器,其中,所述多個(gè)圖像特征矢量是從作為檢索對(duì)象的多個(gè)圖像提取出的;查詢?cè)O(shè)定步驟,將從要查詢的圖像提取出的I個(gè)或者多個(gè)查詢特征矢量設(shè)定于所述公共存儲(chǔ)器中;第I距離計(jì)算步驟,使用所述多個(gè)并行的處理器,計(jì)算被傳送的所述多個(gè)代表特征矢量中的至少一部分與所述查詢特征矢量之間的距離;第2距離計(jì)算步驟,計(jì)算屬于根據(jù)所述第I距離計(jì)算步驟的計(jì)算結(jié)果而選擇出的聚類的圖像特征矢量與所述查詢特征矢量之間的距離;以及根據(jù)所述第2距離計(jì)算步驟的計(jì)算結(jié)果,選擇所述多個(gè)圖像中的至少I個(gè)圖像的步驟。
[0016]此外,本發(fā)明的計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì)的特征在于,該計(jì)算機(jī)具有:公共存儲(chǔ)器;和多個(gè)并行處理器,它們執(zhí)行相同的命令,分別一并地讀取保存在所述公共存儲(chǔ)器中的數(shù)據(jù)并進(jìn)行處理,該存儲(chǔ)介質(zhì)存儲(chǔ)有程序,所述程序用于使所述計(jì)算機(jī)作為如下單元發(fā)揮作用:代表矢量傳送單元,其從存儲(chǔ)有分別屬于多個(gè)聚類中的任意一個(gè)聚類的多個(gè)圖像特征矢量和分別代表所述多個(gè)聚類中的任意一個(gè)聚類的多個(gè)代表特征矢量的存儲(chǔ)單元,將所述多個(gè)代表特征矢量傳送到所述公共存儲(chǔ)器,其中,所述多個(gè)圖像特征矢量是從作為檢索對(duì)象的多個(gè)圖像提取出的;查詢?cè)O(shè)定單元,其將從要查詢的圖像提取出的I個(gè)或者多個(gè)查詢特征矢量設(shè)定于所述公共存儲(chǔ)器中;第I距離計(jì)算單元,其使用所述多個(gè)并行的處理器,計(jì)算被傳送的所述多個(gè)代表特征矢量中的至少一部分與所述查詢特征矢量之間的距離;第2距離計(jì)算單元,其計(jì)算屬于根據(jù)所述第I距離計(jì)算單元的計(jì)算結(jié)果而選擇出的聚類的圖像特征矢量與所述查詢特征矢量之間的距離;以及根據(jù)所述第2距離計(jì)算單元的計(jì)算結(jié)果,選擇所述多個(gè)圖像中的至少I個(gè)圖像的單元。
[0017]根據(jù)本發(fā)明,能夠使用GPU這樣的進(jìn)行大量同類型處理的能力高的硬件,來使圖像檢索處理高速化。這是因?yàn)?,通過使用代表矢量,減少了作為距離計(jì)算對(duì)象的特征矢量的數(shù)量,并且,距離計(jì)算成為主體,因此,與GPU這樣的進(jìn)行大量同類型處理的硬件的兼容性較聞。
[0018]在本發(fā)明的一個(gè)方式中,可以是,還具有圖像特征矢量傳送單元,該圖像特征矢量傳送單元將屬于根據(jù)所述第I距離計(jì)算單元的計(jì)算結(jié)果而選擇出的聚類的圖像特征矢量從所述存儲(chǔ)單元傳送到所述公共存儲(chǔ)器,所述第2距離計(jì)算單元使用所述多個(gè)并行的處理器,計(jì)算被傳送的所述圖像特征矢量與所述查詢特征矢量之間的距離。
[0019]在本發(fā)明的一個(gè)方式中,可以是,所述多個(gè)代表特征矢量的數(shù)據(jù)量小于所述公共存儲(chǔ)器的容量。
[0020]在本發(fā)明的一個(gè)方式中,可以是,屬于所述多個(gè)聚類中的I個(gè)的圖像特征矢量的數(shù)據(jù)量小于所述公共存儲(chǔ)器的容量,屬于所述多個(gè)聚類的圖像特征矢量的數(shù)據(jù)量大于所述公共存儲(chǔ)器的容量。
[0021]在本發(fā)明的一個(gè)方式中,可以是,屬于所述多個(gè)聚類中的I個(gè)的圖像特征矢量和所述多個(gè)代表矢量的數(shù)據(jù)量小于所述公共存儲(chǔ)器的容量,所述圖像特征矢量傳送單元將屬于選擇出的所述聚類的圖像特征矢量置換為保存在公共存儲(chǔ)器中的其它圖像特征矢量。
[0022]在本發(fā)明的一個(gè)方式中,還可以具有:追加圖像特征矢量提取單元,其從作為追加的檢索對(duì)象的圖像中,提取多個(gè)圖像特征矢量;以及圖像特征矢量追加單元,其將由所述追加圖像特征矢量提取單元提取出的圖像特征矢量追加到所述圖像特征聚類中的任意一個(gè)聚類。
【專利附圖】
【附圖說明】
[0023]圖1是示出本發(fā)明實(shí)施方式的圖像檢索系統(tǒng)的結(jié)構(gòu)的一例的圖。
[0024]圖2是示出本發(fā)明實(shí)施方式的圖像檢索裝置的結(jié)構(gòu)的一例的圖。
[0025]圖3是示出并行計(jì)算裝置的結(jié)構(gòu)的一例的圖。
[0026]圖4是示出本發(fā)明實(shí)施方式的圖像檢索裝置的功能的功能框圖。
[0027]圖5是示出索引生成部的功能結(jié)構(gòu)的功能框圖。
[0028]圖6是示出作為檢索對(duì)象的圖像的一例的圖。
[0029]圖7是示出從圖像提取出的圖像特征矢量的概念的圖。
[0030]圖8是示出代表矢量的樹結(jié)構(gòu)的一例的圖。
[0031]圖9是示出圖像檢索部的功能結(jié)構(gòu)的功能框圖。
[0032]圖10是示出裝置內(nèi)存儲(chǔ)器處的數(shù)據(jù)配置的一例的圖。
[0033]圖11是示出裝置內(nèi)存儲(chǔ)器處的代表矢量的配置的一例的圖。
[0034]圖12是示出輸入要查詢的圖像的畫面的一例的圖。[0035]圖13是示出距離計(jì)算的處理流程的一例的圖。
[0036]圖14是示出對(duì)與查詢特征矢量對(duì)應(yīng)的圖像進(jìn)行統(tǒng)計(jì)處理的結(jié)果的一例的圖。
[0037]圖15是示出索引追加部的功能結(jié)構(gòu)的功能框圖。
【具體實(shí)施方式】
[0038]下面,根據(jù)附圖,對(duì)本發(fā)明的實(shí)施方式進(jìn)行說明。在出現(xiàn)的構(gòu)成要素中,對(duì)于具有相同功能的部分,標(biāo)注相同的標(biāo)號(hào),省略其說明。
[0039]圖1是示出本發(fā)明實(shí)施方式的圖像檢索系統(tǒng)的結(jié)構(gòu)的一例的圖。圖像檢索系統(tǒng)包含圖像檢索裝置1、網(wǎng)絡(luò)服務(wù)器2和客戶端裝置3。網(wǎng)絡(luò)服務(wù)器2例如是網(wǎng)絡(luò)服務(wù)器程序進(jìn)行動(dòng)作的服務(wù)器硬件,客戶端裝置3例如是網(wǎng)絡(luò)瀏覽器的程序進(jìn)行動(dòng)作的個(gè)人計(jì)算機(jī)或智能手機(jī)。圖像檢索系統(tǒng)進(jìn)行圖像檢索的動(dòng)作的概要如下。首先,網(wǎng)絡(luò)服務(wù)器2經(jīng)由互聯(lián)網(wǎng)等網(wǎng)絡(luò),從客戶端裝置3取得在圖像檢索中使用的要查詢的圖像(以下,記作“查詢圖像”),并將該查詢圖像輸入到圖像檢索裝置I。接下來,圖像檢索裝置I檢索與輸入的圖像相似的I個(gè)或多個(gè)圖像,并輸出到網(wǎng)絡(luò)服務(wù)器2。網(wǎng)絡(luò)服務(wù)器2輸出用于使客戶端裝置3顯示圖像檢索裝置I檢索到的圖像的數(shù)據(jù)。
[0040]圖2是示出本發(fā)明的實(shí)施方式的圖像檢索裝置I的結(jié)構(gòu)的一例的圖。圖像檢索裝置I包含CPU11、存儲(chǔ)部12、通信部13、并行計(jì)算裝置14和總線15。
[0041]CPUll根據(jù)保存在存儲(chǔ)部12中的程序進(jìn)行動(dòng)作。此外,CPUll對(duì)通信部13或并行計(jì)算裝置14進(jìn)行控制。此外,上述程序可以通過互聯(lián)網(wǎng)等網(wǎng)絡(luò)來提供,也可以保存在DVD-ROM或USB存儲(chǔ)器等可由計(jì)算機(jī)讀取的信息記錄介質(zhì)中來提供。
[0042]存儲(chǔ)部12由RAM、R0M等存儲(chǔ)器元件或硬盤驅(qū)動(dòng)器等構(gòu)成。存儲(chǔ)部12保存上述程序。此外,存儲(chǔ)部12還保存從各部輸入的信息和運(yùn)算結(jié)果。
[0043]通信部13由設(shè)有網(wǎng)卡等的通信單元等構(gòu)成,用于與網(wǎng)絡(luò)服務(wù)器2等其它裝置進(jìn)行通信連接。通信部13根據(jù)CPUll的控制,將從其它裝置接收到的信息輸入CPUll或存儲(chǔ)部12,并向其它裝置發(fā)送信息。
[0044]總線15用于在CPU11、存儲(chǔ)部12、通信部13和并行計(jì)算裝置14之間進(jìn)行數(shù)據(jù)交換。例如,CPUll和存儲(chǔ)部12與并行計(jì)算裝置14經(jīng)由總線15中的擴(kuò)展總線進(jìn)行連接。
[0045]并行計(jì)算裝置14是擅長(zhǎng)于通過并行計(jì)算來進(jìn)行大量同類型計(jì)算的硬件。并行計(jì)算裝置14例如是GPU。圖3是示出并行計(jì)算裝置14的結(jié)構(gòu)的一例的圖。并行計(jì)算裝置14包含多個(gè)并行執(zhí)行部40和裝置內(nèi)存儲(chǔ)器45。此外,各并行執(zhí)行部40包含多個(gè)處理器41、命令單元42和高速存儲(chǔ)器43。
[0046]多個(gè)處理器41中的每一個(gè)分別進(jìn)行浮動(dòng)小數(shù)點(diǎn)計(jì)算、裝置內(nèi)存儲(chǔ)器45或高速存儲(chǔ)器43之間的數(shù)據(jù)的讀取和寫入等處理。命令單元42根據(jù)保存在裝置內(nèi)存儲(chǔ)器45等中的程序,使包含該命令單元42的并行執(zhí)行部40中包含的多個(gè)處理器41進(jìn)行處理。某并行執(zhí)行部40中包含的多個(gè)處理器41根據(jù)來自該并行執(zhí)行部40中包含的I個(gè)命令單元42的指示,對(duì)相同命令進(jìn)行處理。這樣,能夠通過I個(gè)命令單元42控制多個(gè)處理器41,能夠抑制命令單元42的線路的規(guī)模的增加,因此,與CPUll相比,能夠增加并行計(jì)算裝置14中包含的處理器41的數(shù)量。
[0047]裝置內(nèi)存儲(chǔ)器45由能夠比存儲(chǔ)部12中使用的RAM更高速地進(jìn)行存取的DRAM構(gòu)成。裝置內(nèi)存儲(chǔ)器45經(jīng)由總線15與CPUll和存儲(chǔ)部12連接。此外,并行計(jì)算裝置14還具有通過DMA傳送來在裝置內(nèi)存儲(chǔ)器45與存儲(chǔ)部12之間傳送數(shù)據(jù)的線路。高速存儲(chǔ)器43由能夠比裝置內(nèi)存儲(chǔ)器45更高速地進(jìn)行存取的SRAM等構(gòu)成。處理器41對(duì)高速存儲(chǔ)器43進(jìn)行存取時(shí)的等待時(shí)間與處理器41對(duì)該內(nèi)部寄存器進(jìn)行存取時(shí)的等待時(shí)間幾乎相等。此處,裝置內(nèi)存儲(chǔ)器45和高速存儲(chǔ)器43均是能夠由多個(gè)處理器41共同地進(jìn)行存取的公共存儲(chǔ)器。
[0048]圖4是示出本發(fā)明的實(shí)施方式的圖像檢索裝置I的功能的功能框圖。圖像檢索裝置I在功能上,包含索引生成部51、圖像檢索部52和索引追加部53。CPUll執(zhí)行保存在存儲(chǔ)部12中的程序,對(duì)通信部13或并行計(jì)算裝置14進(jìn)行控制,此外,并行計(jì)算裝置14執(zhí)行針對(duì)該并行計(jì)算裝置14的程序,由此實(shí)現(xiàn)上述功能。
[0049]索引生成部51根據(jù)作為檢索對(duì)象的多個(gè)圖像,生成進(jìn)行圖像檢索時(shí)使用的圖像特征矢量20和使該圖像特征矢量20的選擇變得容易的索引。圖像檢索部52使用索引和圖像特征矢量20,檢索與查詢圖像相似的圖像。索引追加部53根據(jù)追加的圖像來生成圖像特征矢量20,并對(duì)索引進(jìn)行變更,使得能夠選擇該追加的圖像。
[0050]圖5是示出索引生成部51的功能結(jié)構(gòu)的功能框圖。索引生成部51在功能上包含圖像特征矢量提取部61和聚類生成部62。聚類生成部62生成作為聚類的索引的代表矢量的樹結(jié)構(gòu),并將與索引相關(guān)的信息保存在樹結(jié)構(gòu)代表矢量保存部72中。此外,聚類矢量保存部71對(duì)屬于由代表矢量所代表的聚類的圖像特征矢量20的信息進(jìn)行保存,其中,上述代表矢量是該樹結(jié)構(gòu)的葉。具體而言,聚類矢量保存部71、樹結(jié)構(gòu)代表矢量保存部72由存儲(chǔ)部12構(gòu)成。
[0051]圖像特征矢量提取部61主要由CPUll和存儲(chǔ)部12實(shí)現(xiàn)。圖像特征矢量提取部61從保存在存儲(chǔ)部12中的多個(gè)圖像即作為檢索對(duì)象的多個(gè)圖像,提取多個(gè)圖像特征矢量20。更具體而言,圖像特征矢量提取部61分別從該多個(gè)圖像,提取I個(gè)或多個(gè)圖像特征矢量20,并將提取出的圖像特征矢量20與提取出該圖像特征矢量20的圖像關(guān)聯(lián)起來存儲(chǔ)在存儲(chǔ)部12中。
[0052]圖6是示出作為檢索對(duì)象的圖像的一例的圖。圖7是示出從圖像提取出的圖像特征矢量20的概念的圖。從圖像提取出的圖像特征矢量20中的每一個(gè)分別是表示該圖像的局部特征的局部特征量。圖像特征矢量20中的每一個(gè)例如是具有128個(gè)要素(維)的矢量。為了提取圖像特征矢量20,可以使用SIFT(Scale_Invariant Feature transform:尺度不變特征轉(zhuǎn)換),SURF (Speeded Up Robust Features:快速魯棒特征)等公知的方法。圖像特征矢量20中的每一個(gè)分別具有的要素的數(shù)量可以根據(jù)基于圖像的提取方法等而變化。此夕卜,從I個(gè)圖像提取出的圖像特征矢量20的數(shù)量可以是預(yù)先決定的數(shù)(例如300),不過從簡(jiǎn)單圖像提取出的圖像特征矢量20的數(shù)量也可以少于該預(yù)先決定的數(shù)。
[0053]聚類生成部62主要由CPUll和存儲(chǔ)部12實(shí)現(xiàn)。聚類生成部62通過聚類處理,將由圖像特征矢量提取部61提取出的多個(gè)圖像特征矢量20中的每一個(gè)分類到多個(gè)聚類中的任意一個(gè)聚類。將圖像特征矢量20分類到聚類的處理不限于I個(gè)階段的處理,也可以是多個(gè)階段的處理。此外,該多個(gè)階段的處理可以通過遞歸地調(diào)用如下處理來實(shí)現(xiàn)。下面,對(duì)如下情況的例子進(jìn)行說明:進(jìn)行2個(gè)階段的處理,并在第I階段,將由圖像特征矢量提取部61提取出的多個(gè)圖像特征矢量20分類到1024個(gè)聚類,進(jìn)一步,在第2階段,將該1024個(gè)聚類中的每一個(gè)分類到512個(gè)聚類。
[0054]在聚類生成部62的各階段的處理中,進(jìn)行如下兩個(gè)處理。第I個(gè)處理是如下處理:通過聚類處理,將所給的多個(gè)圖像特征矢量20分類到給定個(gè)數(shù)的聚類,來生成多個(gè)聚類。第2個(gè)處理是如下處理:生成該生成的聚類的代表矢量,將生成的代表矢量作為該階段的代表矢量保存在樹結(jié)構(gòu)代表矢量保存部72中。在處理中的階段不是最末階段的情況下,聚類生成部62將屬于在處理中的階段生成的各個(gè)聚類的多個(gè)圖像特征矢量20作為輸入信息,遞歸地調(diào)用下一階段的處理。代表矢量是代表該聚類的矢量,例如是屬于該分類后的聚類的圖像特征矢量20的重心。此外,聚類生成部62針對(duì)在最末階段的處理中生成的每一個(gè)聚類,將屬于該聚類的圖像特征矢量20保存在聚類矢量保存部71中。
[0055]在上述示例的情況下,在第I階段的處理中,聚類生成部62將所給的圖像特征矢量20分類到1024個(gè)聚類,生成該分類后的第I階段的各聚類的代表矢量,并將生成的第I階段的代表矢量保存在樹結(jié)構(gòu)代表矢量保存部72中。在第2階段的處理中,聚類生成部62將屬于在第I階段中生成的1024個(gè)聚類中的各個(gè)聚類的多個(gè)圖像特征矢量20作為輸入信息,進(jìn)一步分類到512個(gè)聚類,生成該分類后的第2階段的各聚類的代表矢量,并將生成的下位的階段的代表矢量保存在樹結(jié)構(gòu)代表矢量保存部72中。在第2階段的聚類全部被生成后,該第2階段的聚類的總數(shù)為(1024X512)個(gè)。進(jìn)而,聚類生成部62針對(duì)在第2階段中生成的每一個(gè)聚類,將屬于該聚類的圖像特征矢量20保存在聚類矢量保存部71中。下面,為了容易進(jìn)行說明,將代表第I階段的聚類的代表矢量記作上位代表矢量,將代表最末階段(在上述示例中為第2階段)的聚類的代表矢量記作代表特征矢量。此外,最終地生成的聚類(在上述示例中,為第2階段的聚類)也被記作圖像特征聚類。
[0056]在將圖像特征矢量20分類到聚類時(shí),可以使用k-means法等公知的聚類處理方法??紤]到后述的圖像檢索部52的處理內(nèi)容,聚類的數(shù)量?jī)?yōu)選為2的冪,不過也可以不是2的冪。此外,在對(duì)全部的圖像中包含的圖像特征矢量20進(jìn)行分類時(shí),多個(gè)圖像特征矢量20屬于各自的圖像特征聚類。通過分2個(gè)階段進(jìn)行聚類生成部62的遞歸處理,能夠在樹結(jié)構(gòu)代表矢量保存部72中保存2個(gè)級(jí)別的信息。聚類生成部62的計(jì)算可以使用并行計(jì)算裝置14來進(jìn)行。
[0057]圖8是示出代表矢量的樹結(jié)構(gòu)的一例的圖。在聚類生成部62進(jìn)行上述2個(gè)階段的處理的情況下,與2個(gè)階段的聚類對(duì)應(yīng)的2個(gè)階段的代表矢量構(gòu)成樹結(jié)構(gòu)。上位代表矢量的數(shù)量為1024個(gè),上位代表矢量中的每一個(gè)分別是512個(gè)代表特征矢量的母。圖像檢索部52利用以代表矢量構(gòu)成樹結(jié)構(gòu)的方式具有母子關(guān)系這一情況,來進(jìn)行檢索。
[0058]圖9是示出圖像檢索部52的功能結(jié)構(gòu)的功能框圖。圖像檢索部52在功能上包含:代表矢量傳送部81、查詢特征矢量取得部82、上位代表矢量距離計(jì)算部83、代表聚類選擇部84、代表特征矢量距離計(jì)算部85、圖像特征聚類選擇部86、圖像特征矢量傳送部87、圖像特征矢量距離計(jì)算部88以及檢索結(jié)果圖像選擇部89。
[0059]代表矢量傳送部81主要由并行計(jì)算裝置14和存儲(chǔ)部12實(shí)現(xiàn)。代表矢量傳送部81將保存在樹結(jié)構(gòu)代表矢量保存部72中的上位代表矢量和代表各個(gè)圖像特征聚類的多個(gè)代表特征矢量傳送到能夠由多個(gè)處理器41共同地進(jìn)行存取的裝置內(nèi)存儲(chǔ)器45。具體而言,代表矢量傳送部81使用并行計(jì)算裝置14和總線15的DMA (Direct Memory Access:直接內(nèi)存存取)功能,將上述數(shù)據(jù)從存儲(chǔ)部12傳送到裝置內(nèi)存儲(chǔ)器45。[0060]圖10是示出裝置內(nèi)存儲(chǔ)器45的數(shù)據(jù)配置的一例的圖。在裝置內(nèi)存儲(chǔ)器45中,設(shè)置有保存代表特征矢量的區(qū)域、保存上位代表矢量的區(qū)域和保存I個(gè)圖像特征聚類的區(qū)域。代表矢量傳送部81將存儲(chǔ)在存儲(chǔ)部12中的多個(gè)代表矢量的信息保存在預(yù)先分配的裝置內(nèi)存儲(chǔ)器45的存儲(chǔ)器區(qū)域中。關(guān)于保存圖像特征聚類的區(qū)域中的數(shù)據(jù)的保存,后面將進(jìn)行描述。
[0061]此處,在設(shè)代表特征矢量的要素?cái)?shù)為128維、設(shè)代表特征矢量的數(shù)量為與圖像特征聚類的數(shù)量相同的(1024X512)個(gè)、設(shè)各要素為I字節(jié)的整數(shù)型時(shí),該多個(gè)代表特征矢量的全部數(shù)據(jù)量為(1024X512X128)字節(jié)(B),即64MB。此外,在該情況下,多個(gè)上位代表矢量的數(shù)量為1024,因此多個(gè)上位代表矢量的數(shù)據(jù)量同樣為(1024X128)字節(jié),即128KB。例如,在現(xiàn)行的GPU中搭載的裝置內(nèi)存儲(chǔ)器45的存儲(chǔ)器容量為IGB左右、裝置內(nèi)存儲(chǔ)器45的容量也為IGB時(shí),多個(gè)代表矢量的數(shù)據(jù)量小于裝置內(nèi)存儲(chǔ)器45的容量。
[0062]另一方面,在圖像的數(shù)量為100萬、從I個(gè)圖像提取出的圖像特征矢量20的數(shù)量為300時(shí),多個(gè)圖像特征聚類中包含的圖像特征矢量20的數(shù)據(jù)量為(100萬X 300X 128)字節(jié),即約36GB,不能保存在裝置內(nèi)存儲(chǔ)器45中。另一方面,由于平均每個(gè)圖像特征聚類的圖像特征矢量20的數(shù)量為(100萬X 300+ (1024X512)),即約600,因此,數(shù)據(jù)量為75KB左右。即使圖像特征聚類中包含的圖像特征矢量20的數(shù)量根據(jù)聚類處理而稍微發(fā)生變動(dòng),多個(gè)代表特征矢量的數(shù)據(jù)量、多個(gè)上位代表矢量的數(shù)據(jù)量與I個(gè)圖像特征聚類中包含的圖像特征矢量20的數(shù)據(jù)量之和也會(huì)小于裝置內(nèi)存儲(chǔ)器45的容量。
[0063]圖11是示出裝置內(nèi)存儲(chǔ)器45處的代表矢量的配置的一例的圖。保存在裝置內(nèi)存儲(chǔ)器45中的代表矢量的各要素的尺寸為4字節(jié),并按要素的順序排列。此外,某代表矢量的數(shù)據(jù)的起始地址是能夠從裝置內(nèi)存儲(chǔ)器45 —并地讀出的數(shù)據(jù)的字節(jié)數(shù)(例如32和64)的倍數(shù)。該數(shù)據(jù)結(jié)構(gòu)在后述的距離計(jì)算的處理中,用于使多個(gè)處理器41 一并地讀取保存在裝置內(nèi)存儲(chǔ)器45中的數(shù)據(jù)。即使代表矢量的各要素的大小是I個(gè)字節(jié),為了一并地地進(jìn)行讀取,代表矢量傳送部81也將各要素的大小被轉(zhuǎn)換成了 4個(gè)字節(jié)的數(shù)據(jù)傳送到裝置內(nèi)存儲(chǔ)器45。此外,上位代表矢量和I個(gè)圖像特征聚類內(nèi)的圖像特征矢量20也以相同的數(shù)據(jù)結(jié)構(gòu)保存在裝置內(nèi)存儲(chǔ)器45中。雖然裝置內(nèi)存儲(chǔ)器45內(nèi)的多個(gè)代表特征矢量、多個(gè)上位代表矢量和I個(gè)圖像特征聚類中包含的圖像特征矢量20的數(shù)據(jù)量成為4倍,但是在該示例中,這些數(shù)據(jù)量之和小于裝置內(nèi)存儲(chǔ)器45的容量這點(diǎn)沒有改變。在本實(shí)施方式中,調(diào)整圖像特征聚類和代表矢量的數(shù)量,使得至少裝置內(nèi)存儲(chǔ)器45內(nèi)的多個(gè)代表特征矢量和多個(gè)上位代表矢量的數(shù)據(jù)量之和收納于裝置內(nèi)存儲(chǔ)器45的容量即可。
[0064]查詢特征矢量取得部82主要由CPUl1、存儲(chǔ)部12和并行計(jì)算裝置14實(shí)現(xiàn)。查詢特征矢量取得部82取得從查詢圖像提取出的I個(gè)或多個(gè)查詢特征矢量,并將其保存在作為公共存儲(chǔ)器的裝置內(nèi)存儲(chǔ)器45中。
[0065]查詢特征矢量取得部82首先經(jīng)由網(wǎng)絡(luò)服務(wù)器2從客戶端裝置3取得查詢圖像。圖12是示出輸入查詢圖像的畫面的一例的圖。客戶端裝置3根據(jù)網(wǎng)絡(luò)服務(wù)器2生成的數(shù)據(jù)來顯示本畫面。查詢圖像可以通過用戶上傳客戶端裝置3內(nèi)的圖像文件來取得,也可以通過發(fā)送某些網(wǎng)頁中顯示的圖像的URL來取得,或者通過從保存在照片共享服務(wù)等中的圖像中選擇查詢圖像來取得。接下來,查詢特征矢量取得部82從網(wǎng)絡(luò)服務(wù)器2取得已取得的查詢圖像,從該查詢圖像提取并取得I個(gè)或多個(gè)查詢特征矢量。查詢特征矢量是使用與圖像特征矢量提取部61提取圖像特征矢量20的方法相同的方法而生成的。接下來,查詢特征矢量取得部82將查詢特征矢量保存在裝置內(nèi)存儲(chǔ)器45中。在此,CPUll提取查詢特征矢量,CPUll可以使并行計(jì)算裝置14將查詢特征矢量加載到裝置內(nèi)存儲(chǔ)器45中,也可以將查詢圖像加載到并行計(jì)算裝置14中,使并行計(jì)算裝置14提取出查詢特征矢量,并將其保存在裝置內(nèi)存儲(chǔ)器45中。
[0066]上位代表矢量距離計(jì)算部83是以并行計(jì)算裝置14為中心來實(shí)現(xiàn)的。上位代表矢量距離計(jì)算部83使用多個(gè)并行處理器41,來計(jì)算多個(gè)上位代表矢量中的每一個(gè)與查詢特征矢量的距離。以下,對(duì)上位代表矢量距離計(jì)算部83處的距離計(jì)算的詳細(xì)情況進(jìn)行說明。此外,上位代表矢量距離計(jì)算部83、代表聚類選擇部84、代表特征矢量距離計(jì)算部85、圖像特征聚類選擇部86和圖像特征矢量距離計(jì)算部88中的處理是針對(duì)從查詢圖像提取出的各個(gè)查詢特征矢量來進(jìn)行的。
[0067]圖13是示出距離計(jì)算的處理流程的一例的圖。首先,上位代表矢量距離計(jì)算部83將查詢特征矢量從裝置內(nèi)存儲(chǔ)器45加載到進(jìn)行距離計(jì)算的并行執(zhí)行部40的高速存儲(chǔ)器43 (步驟S101)中。接下來,將作為計(jì)算對(duì)象的矢量(此處為上位代表矢量)的各要素從裝置內(nèi)存儲(chǔ)器45加載到進(jìn)行該要素的計(jì)算的處理器41的寄存器(步驟S102)。此時(shí),多個(gè)處理器41從裝置內(nèi)存儲(chǔ)器45 —并地讀取計(jì)算對(duì)象矢量的數(shù)據(jù)。由于預(yù)先通過代表矢量傳送部81等將作為計(jì)算對(duì)象的矢量的數(shù)據(jù)以能夠進(jìn)行該一并地讀取的方式保存在裝置內(nèi)存儲(chǔ)器45中,因而多個(gè)處理器41能夠進(jìn)行該讀取。接下來,上位代表矢量距離計(jì)算部83對(duì)保存在寄存器中的作為計(jì)算對(duì)象的矢量的要素與和該要素對(duì)應(yīng)的查詢特征矢量的要素進(jìn)行減法運(yùn)算,進(jìn)而對(duì)該減法運(yùn)算結(jié)果進(jìn)行平方(步驟S103 )。接下來,針對(duì)作為計(jì)算對(duì)象的矢量的各要素,對(duì)步驟S103的計(jì)算結(jié)果進(jìn)行合計(jì)(步驟S104)。進(jìn)而,上位代表矢量距離計(jì)算部83將合計(jì)結(jié)果保存在裝置內(nèi)存儲(chǔ)器45中(步驟S105)。此外,如果某并行執(zhí)行部40中包含的執(zhí)行相同命令的處理器41的數(shù)量小于查詢特征矢量和作為計(jì)算對(duì)象的矢量的要素的數(shù)量,則根據(jù)處理器41的數(shù)量,對(duì)步驟S102?步驟S104的處理進(jìn)行分割,來多次執(zhí)行。此夕卜,在存在多個(gè)并行執(zhí)行部40的情況下,上位代表矢量距離計(jì)算部83使其他并行執(zhí)行部40針對(duì)作為其他計(jì)算對(duì)象的矢量,執(zhí)行步驟SlOl?S105的處理。此外,也可以針對(duì)從查詢圖像提取出的其它查詢特征矢量,并行地進(jìn)行計(jì)算。由此,查詢特征矢量與其它多個(gè)計(jì)算對(duì)象的矢量之間的距離計(jì)算,能夠與GPU這樣的并行計(jì)算裝置14的并行計(jì)算能力對(duì)應(yīng)地,并行地進(jìn)行計(jì)算。根據(jù)該距離計(jì)算的處理內(nèi)容可知,適當(dāng)?shù)嘏渲迷谘b置內(nèi)存儲(chǔ)器45中的多個(gè)矢量與查詢特征矢量之間的距離計(jì)算與GPU這樣的硬件兼容性高,可非常高速地進(jìn)行處理。
[0068]代表聚類選擇部84是以并行計(jì)算裝置14為中心實(shí)現(xiàn)的。代表聚類選擇部84根據(jù)由上位代表矢量距離計(jì)算部83計(jì)算出的查詢特征矢量與多個(gè)上位代表矢量的每一個(gè)之間的距離,從多個(gè)代表特征矢量的集合中選擇I個(gè)集合。更具體而言,例如,選擇作為與查詢特征矢量之間的距離最短的上位代表矢量的子的多個(gè)代表特征矢量的集合。該代表特征矢量的集合中的每一個(gè)分別對(duì)應(yīng)于第I階段的聚類(代表聚類)。代表特征矢量的集合的選擇也相當(dāng)于與其對(duì)應(yīng)的代表聚類的選擇。此外,上位代表矢量中的每一個(gè)分別可以視為代表多個(gè)代表特征矢量。更具體而言,代表聚類選擇部84通過計(jì)算保存該代表矢量的集合的存儲(chǔ)器內(nèi)的區(qū)域的起始地址,來選擇該集合。例如,如果將作為某上位代表矢量的子的代表特征矢量的數(shù)量設(shè)為與上位代表矢量無關(guān)而是固定的,則只要知曉距離最短的上位代表矢量是第幾個(gè),即可通過乘法等簡(jiǎn)單計(jì)算求出起始地址。這樣,無需使用需要分支或需要追加的存儲(chǔ)器存取的運(yùn)算,因而可進(jìn)行更能發(fā)揮GPU這樣的硬件的性能的處理。
[0069]代表特征矢量距離計(jì)算部85是以并行計(jì)算裝置14為中心實(shí)現(xiàn)的。代表特征矢量距離計(jì)算部85使用多個(gè)并行的處理器41,計(jì)算多個(gè)代表特征矢量的至少一部分中的每一個(gè)與查詢特征矢量之間的距離。此處,作為計(jì)算對(duì)象的代表特征矢量是屬于由代表聚類選擇部84選擇出的集合的代表特征矢量。代表特征矢量距離計(jì)算部85與上位代表矢量距離計(jì)算部83計(jì)算距離同樣地,根據(jù)圖13的流程來計(jì)算距離。不過,計(jì)算對(duì)象矢量是上述代表特征矢量。與上位代表矢量距離計(jì)算部83同樣,該處理內(nèi)容與GPU這樣的硬件兼容性高,可非常高速地進(jìn)行處理。
[0070]圖像特征聚類選擇部86是以并行計(jì)算裝置14為中心實(shí)現(xiàn)的。圖像特征聚類選擇部86基于由代表特征矢量距離計(jì)算部85計(jì)算出的查詢特征矢量與多個(gè)代表特征矢量中的每一個(gè)之間的距離,從多個(gè)圖像特征聚類選擇圖像特征聚類。更具體而言,例如選擇由與查詢特征矢量之間的距離最短的代表特征矢量所代表的圖像特征聚類。
[0071]圖像特征矢量傳送部87是以存儲(chǔ)部12和并行計(jì)算裝置14為中心實(shí)現(xiàn)的。圖像特征矢量傳送部87將屬于由圖像特征聚類選擇部86選擇出的圖像特征聚類的多個(gè)圖像特征矢量20從聚類矢量保存部71傳送到能夠由多個(gè)處理器41共同地進(jìn)行存取的裝置內(nèi)存儲(chǔ)器45。圖像特征矢量傳送部87使用并行計(jì)算裝置14和總線15的DMA功能,將上述數(shù)據(jù)從存儲(chǔ)部12傳送到裝置內(nèi)存儲(chǔ)器45。與圖11中代表矢量傳送部81傳送代表特征矢量等相同,圖像特征矢量傳送部87配置圖像特征矢量20的數(shù)據(jù),使得多個(gè)處理器41可一并地讀取保存在裝置內(nèi)存儲(chǔ)器45中的數(shù)據(jù)。
[0072]圖像特征矢量距離計(jì)算部88是以并行計(jì)算裝置14為中心實(shí)現(xiàn)的。圖像特征矢量距離計(jì)算部88使用多個(gè)并行的處理器41,來計(jì)算多個(gè)圖像特征矢量20中的每一個(gè)與查詢特征矢量之間的距離。此處,計(jì)算中使用的圖像特征矢量20是屬于由圖像特征聚類選擇部86選擇出的圖像特征聚類的圖像特征矢量20。該數(shù)據(jù)被圖像特征矢量傳送部87傳送到裝置內(nèi)存儲(chǔ)器45。圖像特征矢量距離計(jì)算部88與上位代表矢量距離計(jì)算部83計(jì)算距離的方式同樣,根據(jù)圖13的流程,對(duì)各個(gè)查詢特征矢量計(jì)算距離。不過,計(jì)算對(duì)象矢量為圖像特征矢量20。與上位代表矢量距離計(jì)算部83同樣,該處理內(nèi)容與GPU這樣的硬件兼容性高,可非常高速地進(jìn)行處理。
[0073]檢索結(jié)果圖像選擇部89是以并行計(jì)算裝置14為中心實(shí)現(xiàn)的。檢索結(jié)果圖像選擇部89根據(jù)圖像特征矢量距離計(jì)算部88的計(jì)算結(jié)果,選擇作為檢索對(duì)象的多個(gè)圖像中的任意一個(gè)作為檢索結(jié)果。首先,檢索結(jié)果圖像選擇部89根據(jù)由圖像特征矢量距離計(jì)算部88計(jì)算出的查詢特征矢量和多個(gè)圖像特征矢量20中的每一個(gè)之間的距離,取得與使用了該距離計(jì)算的查詢特征矢量對(duì)應(yīng)的圖像。更具體而言,例如,針對(duì)每一個(gè)查詢特征矢量,選擇已提取出與該查詢特征矢量之間的距離最短的圖像特征矢量20的圖像特征矢量20,取得已提取出該圖像特征矢量20的圖像。將該取得的圖像的圖像ID保存在裝置內(nèi)存儲(chǔ)器45中。
[0074]接下來,檢索結(jié)果圖像選擇部89對(duì)與各個(gè)查詢特征矢量中的任意一個(gè)對(duì)應(yīng)的、取得的多個(gè)圖像進(jìn)行統(tǒng)計(jì)處理,選擇與要查詢的圖像相似的I個(gè)或多個(gè)圖像。圖14是示出對(duì)與查詢特征矢量對(duì)應(yīng)的圖像進(jìn)行統(tǒng)計(jì)處理的結(jié)果的一例的圖。在圖14的示例中,檢索結(jié)果圖像選擇部89針對(duì)選擇出的每一個(gè)圖像,對(duì)與該圖像對(duì)應(yīng)的查詢特征矢量的數(shù)量(檢索出的次數(shù))進(jìn)行計(jì)數(shù),針對(duì)每一個(gè)圖像進(jìn)行計(jì)分。進(jìn)行從該計(jì)分后的數(shù)值大的起降序地排序的統(tǒng)計(jì)處理。由于針對(duì)從查詢圖像提取出的多個(gè)查詢特征矢量圖像中的每一個(gè)來選擇圖像,因此,通過對(duì)其進(jìn)行統(tǒng)計(jì)處理,能夠根據(jù)通過距離計(jì)算而選擇出的圖像,來評(píng)價(jià)哪個(gè)圖像與查詢圖像相似。根據(jù)該統(tǒng)計(jì)結(jié)果,檢索結(jié)果圖像選擇部89選擇I個(gè)或多個(gè)圖像作為檢索結(jié)果的圖像,并將選擇出的圖像的信息輸出到網(wǎng)絡(luò)服務(wù)器2。選擇出的圖像例如可以是檢索出的次數(shù)最多的圖像,或者按照該次數(shù)由多到少的順序靠前的幾個(gè)。網(wǎng)絡(luò)服務(wù)器2向客戶端裝置3輸出用于顯示檢索結(jié)果的圖像的信息。
[0075]根據(jù)到此為止的說明可知,從上位代表矢量距離計(jì)算部83起到圖像特征矢量距離計(jì)算部88為止的處理與GPU等進(jìn)行并行計(jì)算的硬件的兼容性高,能夠充分地發(fā)揮其并行計(jì)算能力。而且,檢索結(jié)果圖像選擇部89的處理也可以進(jìn)行一定程度的并行處理,與使用了 CPUll的處理相比,能夠更高速地進(jìn)行處理。此外,與從上位代表矢量距離計(jì)算部83起到圖像特征矢量距離計(jì)算部88為止的處理相比,檢索結(jié)果圖像選擇部89的處理量較小,因此,本處理的處理時(shí)間相對(duì)于整體的處理時(shí)間的比例非常小。由此,能夠充分獲得基于GPU而實(shí)現(xiàn)的處理時(shí)間的縮短效果。
[0076]在上述說明中,圖像特征矢量距離計(jì)算部88和檢索結(jié)果圖像選擇部89的處理是以并行計(jì)算裝置14為中心進(jìn)行的,不過也可以以CPUll為中心來進(jìn)行。這是因?yàn)?,僅使GPU執(zhí)行其它處理也可得到高速化的效果。此外,如果通過CPUll來執(zhí)行圖像特征矢量距離計(jì)算部88和檢索結(jié)果圖像選擇部89的處理,能夠省略圖像特征矢量傳送部87的處理,因此,與代表特征矢量的距離計(jì)算等相比,抑制了由CPUll進(jìn)行處理而造成的計(jì)算時(shí)間的增加。
[0077]此外,在本實(shí)施方式中,如上位代表矢量和代表特征矢量這樣,設(shè)為代表矢量是2個(gè)階段的樹結(jié)構(gòu)的結(jié)構(gòu),不過也可以是不設(shè)置上位代表矢量的I個(gè)階段的結(jié)構(gòu)。在該情況下,不需要上位代表矢量距離計(jì)算部83和代表聚類選擇部84的處理,代表特征矢量距離計(jì)算部85對(duì)全部的代表特征矢量進(jìn)行距離計(jì)算。此外,也可以設(shè)置作為上位代表矢量的母的母代表矢量,成為3個(gè)階段以上的結(jié)構(gòu)。在設(shè)為3個(gè)階段以上的結(jié)構(gòu)的情況下,在上位代表矢量距離計(jì)算部83之前,進(jìn)行計(jì)算與該母代表矢量之間的距離計(jì)算的處理以及從其中選擇出上位代表矢量的集合的處理,上位代表矢量距離計(jì)算部83針對(duì)該選擇出的上位代表矢量的集合(一部分的上位代表矢量)進(jìn)行距離計(jì)算。
[0078]圖15是示出索引追加部53的功能結(jié)構(gòu)的功能框圖。索引追加部53在功能上包含追加特征矢量提取部91、追加特征矢量距離計(jì)算部92、追加聚類選擇部93和圖像特征矢量追加部94。
[0079]追加特征矢量提取部91主要由CPUll和存儲(chǔ)部12實(shí)現(xiàn)。追加特征矢量提取部91從保存在存儲(chǔ)部12中的、作為檢索對(duì)象而被追加的圖像,提取多個(gè)圖像特征矢量20。該提取方法可以是與圖像特征矢量提取部61相同的方法。以下,將該圖像特征矢量20記作追加特征矢量。
[0080]追加特征矢量距離計(jì)算部92是以并行計(jì)算裝置14為中心實(shí)現(xiàn)的。追加特征矢量距離計(jì)算部92計(jì)算追加特征矢量與保存在樹結(jié)構(gòu)代表矢量保存部72中的代表特征矢量中的每一個(gè)之間的距離。該距離是根據(jù)如下流程計(jì)算出的:在該流程中,將圖13所示的處理方法中的查詢特征矢量和作為計(jì)算對(duì)象的矢量分別替換為追加特征矢量和全部的代表聚類中包含的代表特征矢量。[0081]追加聚類選擇部93以并行計(jì)算裝置14為中心進(jìn)行計(jì)算。追加聚類選擇部93根據(jù)追加特征矢量距離計(jì)算部92的計(jì)算結(jié)果,來選擇追加特征矢量所屬的圖像特征聚類。例如,針對(duì)各個(gè)追加特征矢量,選擇與該追加特征矢量之間的距離最短的代表特征矢量所代表的圖像特征聚類,作為與該追加特征矢量對(duì)應(yīng)的圖像特征聚類。
[0082]圖像特征矢量追加部94是以CPUll和存儲(chǔ)部12為中心實(shí)現(xiàn)的。圖像特征矢量追加部94在由追加聚類選擇部93選擇出的圖像特征聚類中追加與其對(duì)應(yīng)的追加特征矢量,并將該圖像特征聚類的數(shù)據(jù)保存在聚類矢量保存部71中。由此,即使在追加作為檢索對(duì)象的圖像的情況下,也能夠在不再次進(jìn)行聚類處理的情況下,將追加后的圖像追加到檢索對(duì)象中,從而節(jié)約與該追加相對(duì)應(yīng)的處理時(shí)間。
【權(quán)利要求】
1.一種圖像檢索裝置,該圖像檢索裝置具有: 公共存儲(chǔ)器;和 多個(gè)并行的處理器,它們執(zhí)行相同的命令,分別一并地讀取保存在所述公共存儲(chǔ)器中的數(shù)據(jù)并進(jìn)行處理, 該圖像檢索裝置的特征在于,具有: 代表矢量傳送單元,其從存儲(chǔ)有分別屬于多個(gè)聚類中的任意一個(gè)聚類的多個(gè)圖像特征矢量和分別代表所述多個(gè)聚類中的任意一個(gè)聚類的多個(gè)代表特征矢量的存儲(chǔ)單元,將所述多個(gè)代表特征矢量傳送到所述公共存儲(chǔ)器,其中,所述多個(gè)圖像特征矢量是從作為檢索對(duì)象的多個(gè)圖像提取出的; 查詢特征矢量取得單元,其取得從要查詢的圖像提取出的I個(gè)或多個(gè)查詢特征矢量,并保存在所述公共存儲(chǔ)器中; 第I距離計(jì)算單元,其使用所述多個(gè)并行的處理器,計(jì)算被傳送的所述多個(gè)代表特征矢量中的至少一部分與所述查詢特征矢量之間的距尚; 第2距離計(jì)算單元,其計(jì)算屬于根據(jù)所述第I距離計(jì)算單元的計(jì)算結(jié)果而選擇出的聚類的圖像特征矢量與所述查詢特征矢量之間的距離;以及 根據(jù)所述第2距離計(jì)算單元的計(jì)算結(jié)果,選擇所述多個(gè)圖像中的至少I個(gè)圖像的單元。
2.根據(jù)權(quán)利要求1所述的圖像檢索裝置,其特征在于, 所述圖像檢索裝置還具有圖像特征矢量傳送單元,該圖像特征矢量傳送單元將屬于根據(jù)所述第I距離計(jì)算單元的計(jì)算結(jié)果而選擇出的聚類的圖像特征矢量從所述存儲(chǔ)單元傳送到所述公共存儲(chǔ)器, 所述第2距離計(jì)算單元使用所述多個(gè)并行的處理器,計(jì)算被傳送的所述圖像特征矢量與所述查詢特征矢量之間的距離。
3.根據(jù)權(quán)利要求1或2所述的圖像檢索裝置,其特征在于, 所述多個(gè)代表特征矢量的數(shù)據(jù)量小于所述公共存儲(chǔ)器的容量。
4.根據(jù)權(quán)利要求3所述的圖像檢索裝置,其特征在于, 屬于所述多個(gè)聚類中的I個(gè)的圖像特征矢量的數(shù)據(jù)量小于所述公共存儲(chǔ)器的容量, 屬于所述多個(gè)聚類 的圖像特征矢量的數(shù)據(jù)量大于所述公共存儲(chǔ)器的容量。
5.根據(jù)權(quán)利要求2所述的圖像檢索裝置,其特征在于, 屬于所述多個(gè)聚類中的I個(gè)的圖像特征矢量和所述多個(gè)代表矢量的數(shù)據(jù)量小于所述公共存儲(chǔ)器的容量, 所述圖像特征矢量傳送單元將屬于選擇出的所述聚類的圖像特征矢量置換為存儲(chǔ)在公共存儲(chǔ)器中的其它圖像特征矢量。
6.根據(jù)權(quán)利要求1所述的圖像檢索裝置,其特征在于, 所述圖像檢索裝置還具有: 追加圖像特征矢量提取單元,其從作為追加的檢索對(duì)象的圖像中,提取多個(gè)圖像特征矢量;以及 圖像特征矢量追加單元,其將由所述追加圖像特征矢量提取單元提取出的圖像特征矢量追加到所述聚類中的任意一個(gè)聚類。
7.一種程序,其使計(jì)算機(jī)發(fā)揮作用,其中,所述計(jì)算機(jī)具有:公共存儲(chǔ)器;和 多個(gè)并行的處理器,它們執(zhí)行相同的命令,分別一次性讀取保存在所述公共存儲(chǔ)器中的數(shù)據(jù)并進(jìn)行處理, 所述程序使所述計(jì)算機(jī)作為如下單元發(fā)揮作用: 代表矢量傳送單元,其從存儲(chǔ)有分別屬于多個(gè)聚類中的某一個(gè)的多個(gè)圖像特征矢量和分別代表所述多個(gè)聚類中的某一個(gè)的多個(gè)代表特征矢量的存儲(chǔ)單元,將所述多個(gè)代表特征矢量傳送到所述公共存儲(chǔ)器,其中,所述多個(gè)圖像特征矢量是根據(jù)作為檢索對(duì)象的多個(gè)圖像提取出的; 查詢?cè)O(shè)定單元,其將根據(jù)要查詢的圖像提取出的I或者多個(gè)查詢特征矢量設(shè)定于所述公共存儲(chǔ)器中; 第I距離計(jì)算單元,其使用所述多個(gè)并行的處理器,計(jì)算被傳送的所述多個(gè)代表特征矢量中的至少一部分與所述查詢特征矢量之間的距尚; 第2距離計(jì)算單元,其計(jì)算屬于根據(jù)所述第I距離計(jì)算單元的計(jì)算結(jié)果而選擇出的聚類的圖像特征矢量與所述查詢特征矢量之間的距離;以及 根據(jù)所述第2距離計(jì)算單元的計(jì)算結(jié)果,選擇所述多個(gè)圖像中的至少I個(gè)圖像的單元。
8.—種圖像檢索方法,該畫像檢索方法使計(jì)算機(jī)檢索圖像,其中,所述計(jì)算機(jī)具有: 公共存儲(chǔ)器;和 多個(gè)并行的處理器,它們執(zhí)行相同的命令,分別一并地讀取保存在所述公共存儲(chǔ)器中的數(shù)據(jù)并進(jìn)行處理,` 該圖像檢索方法的特征在于,該畫像檢索方法具有如下步驟: 代表矢量傳送步驟,從存儲(chǔ)有分別屬于多個(gè)聚類中的任意一個(gè)聚類的多個(gè)圖像特征矢量和分別代表所述多個(gè)聚類中的任意一個(gè)聚類的多個(gè)代表特征矢量的存儲(chǔ)單元,將所述多個(gè)代表特征矢量傳送到所述公共存儲(chǔ)器,其中,所述多個(gè)圖像特征矢量是從作為檢索對(duì)象的多個(gè)圖像提取出的; 查詢?cè)O(shè)定步驟,將從要查詢的圖像提取出的I個(gè)或者多個(gè)查詢特征矢量設(shè)定于所述公共存儲(chǔ)器中, 第I距離計(jì)算步驟,使用所述多個(gè)并行的處理器,計(jì)算被傳送的所述多個(gè)代表特征矢量中的至少一部分與所述查詢特征矢量之間的距尚; 第2距離計(jì)算步驟,計(jì)算屬于根據(jù)所述第I距離計(jì)算步驟的計(jì)算結(jié)果選擇出的聚類的圖像特征矢量與所述查詢特征矢量之間的距離;以及 根據(jù)所述第2距離計(jì)算步驟的計(jì)算結(jié)果,選擇所述多個(gè)圖像中的至少I個(gè)圖像的步驟。
9.一種計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì),所述計(jì)算機(jī)具有: 公共存儲(chǔ)器;和 多個(gè)并行的處理器,它們執(zhí)行相同的命令,分別一次性讀取保存在所述公共存儲(chǔ)器中的數(shù)據(jù)并進(jìn)行處理, 所述存儲(chǔ)介質(zhì)存儲(chǔ)有程序,所述程序用于使所述計(jì)算機(jī)作為如下單元發(fā)揮作用: 代表矢量傳送單元,其從存儲(chǔ)有分別屬于多個(gè)聚類中的某一個(gè)的多個(gè)圖像特征矢量和分別代表所述多個(gè)聚類中的某一個(gè)的多個(gè)代表特征矢量的存儲(chǔ)單元,將所述多個(gè)代表特征矢量傳送到所述公共存儲(chǔ)器,其中,所述多個(gè)圖像特征矢量是根據(jù)作為檢索對(duì)象的多個(gè)圖像提取出的; 查詢?cè)O(shè)定單元,其將根據(jù)要查詢的圖像提取出的I個(gè)或者多個(gè)查詢特征矢量設(shè)定于所述公共存儲(chǔ)器中; 第I距離計(jì)算單元,其使用所述多個(gè)并行的處理器,計(jì)算被傳送的所述多個(gè)代表特征矢量中的至少一部分與所述查詢特征矢量之間的距尚; 第2距離計(jì)算單元,其計(jì)算屬于根據(jù)所述第I距離計(jì)算單元的計(jì)算結(jié)果而選擇出的聚類的圖像特征矢量與所述查詢特征矢量之間的距離;以及 根據(jù)所述第2距離計(jì) 算單元的計(jì)算結(jié)果,選擇所述多個(gè)圖像中的至少I個(gè)圖像的單元。
【文檔編號(hào)】G06T1/00GK103797509SQ201180073446
【公開日】2014年5月14日 申請(qǐng)日期:2011年11月25日 優(yōu)先權(quán)日:2011年9月16日
【發(fā)明者】A·西瓦希爾科, 鳥居順次 申請(qǐng)人:樂天株式會(huì)社