CN102460511B - 用于物体识别的图像数据库的制作方法以及制作装置 - Google Patents
用于物体识别的图像数据库的制作方法以及制作装置 Download PDFInfo
- Publication number
- CN102460511B CN102460511B CN201080035625.1A CN201080035625A CN102460511B CN 102460511 B CN102460511 B CN 102460511B CN 201080035625 A CN201080035625 A CN 201080035625A CN 102460511 B CN102460511 B CN 102460511B
- Authority
- CN
- China
- Prior art keywords
- data structure
- value
- identifier
- vector
- proper vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 199
- 239000013598 vector Substances 0.000 claims abstract description 300
- 238000012545 processing Methods 0.000 claims description 32
- 238000000605 extraction Methods 0.000 claims description 14
- 239000000284 extract Substances 0.000 claims description 13
- 238000007689 inspection Methods 0.000 claims description 9
- 239000004744 fabric Substances 0.000 claims description 2
- 239000000470 constituent Substances 0.000 abstract 1
- 238000002474 experimental method Methods 0.000 description 57
- 230000008569 process Effects 0.000 description 45
- 238000005516 engineering process Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 17
- 230000008859 change Effects 0.000 description 16
- 230000000007 visual effect Effects 0.000 description 10
- 238000012360 testing method Methods 0.000 description 9
- 230000000052 comparative effect Effects 0.000 description 8
- 238000013139 quantization Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 230000013011 mating Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- CDBYLPFSWZWCQE-UHFFFAOYSA-L Sodium Carbonate Chemical compound [Na+].[Na+].[O-]C([O-])=O CDBYLPFSWZWCQE-UHFFFAOYSA-L 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
Landscapes
- Engineering & Computer Science (AREA)
- Library & Information Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供一种利用随机关联数据结构创建并搜索空间效率良好的图像数据库的方法。该方法包括特征提取步骤和记录步骤。在特征提取步骤中,从图像提取一个或多个特征向量作为局部特征量,特征向量表示图像的多个部分各自的局部特征,该图像要记录在图像数据库中并且表示物体。记录步骤使用关联数据结构,其中,使被分配给用作要记录的元素的多个键的值基于这些键相关联,而且其中包括容许假阳性的压缩数据结构作为构成元素,容许假阳性的目的在于压缩数据量。即,记录步骤使用关联数据结构将作为键的特征向量记录在关联数据结构中。
Description
技术领域
本发明涉及用于物体识别的图像数据库的制作方法、制作装置以及制作程序。具体而言,本发明涉及压缩特征向量的表示并涉及在特定物体识别上的应用,其中使用关联数据结构。关联数据结构允许假阳性,当给定某个数据集和元素时,使用该数据结构来基于键(key)关联分配给每个数据(键)的值。
背景技术
特定物体识别是一项识别物体实例的任务。在本说明书中,描述使用如SIFT(例如参见非专利文献1)的局部特征向量的特定物体识别。
由于我们周围有许多物体,需要一种允许我们识别大量物体的特定物体识别技术来提供实际服务。局部特征是基于实数值的多维向量。由于局部特征的区别能力强,所以局部特征适用于识别许多物体。作为特定物体识别方法,基础的方法基于通过对从未知物体获得的特征向量和从已有物体获得的特征向量进行匹配而实现的投票。该方法采用特征向量的最近邻搜索进行匹配。该方法面临由大量特征向量造成的下列问题。最主要的问题涉及处理速度和存储量。
幸运的是,已针对处理速度问题提出了许多方法。这些方法的例子包括如k维树的树结构(例如参看非专利文献1)和基于哈希的方法(例如参看非专利文献1和非专利文献2)。这些方法所采用的近似最近邻搜索使我们可以极大地提高处理速度。
另一方面,存储量问题则难以实现突破。通常从一副图像 提取几千个局部特征,而且,物体数增加时,需要大量存储器进行存储。
已提出了一些减少存储量的方法。例如,方法之一是基于称为“视觉词(visual words)”的经向量量化的特征向量减少所需存储量。该方法对于用于识别图像中一类物体(例如普通“汽车”类别)的“通用物体识别”是有效的。然而,这种方法不是特别适用于识别图像中物体实例(例如,“汽车”类别中特定的型号名称)的“特定物体识别”。为了实现大规模特定物体识别,必须增加视觉词数量。然而,为了实现大规模识别,只有两到三个特征向量可以与一个视觉词关联。据报道,如果多于两个或三个特征向量与一个视觉词关联,识别率就会降低(参看非专利文献4)。因而,这种方法的存储量减少有限。
另一种方法是利用标量量化(例如参看非专利文献5)或者通过选择特征向量(例如参看非专利文献6、非专利文献4)减少存储量。在这些使用近似最近邻搜索的方法中,需要计算特征向量的距离,这使得在任何情况下都需要存储各个特征向量。因而,需要与要存储的特征向量数成正比的存储量,因而,这种方法的存储量减少有限。
解决该问题的一个可能途径是省去进行匹配的距离计算。这样,不需要存储特征向量,从而可以极大减少存储量。基于这一考虑,提出了基于哈希的方法,其中,把特征向量存储在哈希表中,访问哈希表以进行识别(例如参看专利文献1和非专利文献2)。在该方法中,不是通过基于例如距离和相似度的量化概念的相似度搜索过程来进行特征向量匹配,而是通过特征向量是否具有同一哈希函数(同一哈希值)的标识过程来进行特征向量匹配。由于哈希表中仅标出特征向量的存在性,可以大大减少存储量。
引文列表
专利文献
专利文献1:国际公开WO2008/026414
非专利文献
非专利文献1:D.Lowe:“Distinctive Image Features fromScale-Invariant Keypoints”,International Journal of ComputerVision,Vol.60,No.2,pp.91-110(2004)
非专利文献2:野口和人,黄瀬浩一,岩村雅一:″近似最近傍探索の多段階化による物体の高速認識,″画像の認識·理解シンポジウム(MIRU2007)論文集,O S-B2-O2,pp.111-118(2007)。
非专利文献3:K.Kise,K.Noguchi and M.Iwamura:“Memory Efficient Recognition of Specific Obj ects with LocalFeatures”,Proc.Of the 19th International Conference of PatternRecognition(ICPR2008)WeAT3.1(2008).
非专利文献4:井上勝文,三宅弘志,黄瀬浩一:″局所記述子に基づく3次元物体認識のためのメモリ削減一局所記述子の取捨選択によるアプロ一チ一″,画像の認識·理解シンポジウム(MIRU2008)論文集、OS 15-3,pp.363-370(2008)。
非专利文献5:本道貴行,黄瀬浩一:″特定物体認識のためのデ一タベ一ス容量削減法の検討~局所特徵量の量子化と取捨選択~″,電子情報通信学会技術研究報告、Vol.108,No.484,PRMU2008-265,pp.171-176(2009)。
非专利文献6:B.Chazelle,J.Killian,R.Rubinfeld and A.Tal:“The Bloomier Filter:An Efficient Data Structure for Static Support Lookup Table”,Proc.15th Annual ACM-SIAM SODA,pp.30-39(2004).
发明内容
发明要解决的问题
然而,该方法仍然存在关于存储量的问题。为了实现正确识别,类似的特征向量必须具有相同的哈希值。然而,这样一来,存储在哈希表中的特征向量是偏移的,而且,几乎哈希表中的所有bin通常都是空的。因而,空间效率即存储空间中有效利用的存储区域比变差。
考虑到上述情况提出了本发明,其目的在于提供一种空间效率很好的制作和检索图像数据库的方法,其中使用关联数据结构来解决上述问题。关联数据结构提供一个值,根据用作数据集元素的键把该键分配给该值。关联数据结构包括允许假阳性的数据结构,作为对压缩数据量的折中,即,作为减少存储数据所需的存储量和实现高空间效率之间的平衡。数据结构用于检查(检索)所存储的许多键中是否存有某个键。假阳性意味着检索时可能返回不是分配给该键的值,或者虽然没有存储某个键但是返回值。由此,可以说该数据结构是概率(probabilistic)数据结构。虽然不能保证可以获得正确答案,即可能返回错误结果,但错误结果的概率低到实际使用没有问题就可以。允许假阳性是降低制作数据库所需的存储量的取舍之一。
不使用哈希表而使用上述数据结构来检查是否存储了特征向量。重要区别在于在错误地检测到没有存储的特征向量时所出现的假阳性。在使用哈希表的方法中,不会出现假阳性。另一方面,在使用上述数据结构的方法中,虽然某种程度上允许假阳性,但是可以实现高空间效率。
用于解决问题的方案
本发明提供一种图像数据库制作方法,用于制作物体识别用图像数据库,并包括如下步骤:提取步骤,从通过拍摄要存 储在图像数据库中的物体所形成的图像提取多个特征向量,其中,预先对所述物体分配了n位的标识符,n是自然数,并且每个特征向量表示所述图像的局部特征;以及存储步骤,通过使用一组数据结构将每个特征向量存储在所述图像数据库中,每个数据结构返回表示指定的数据是否存储在该数据结构中的值,从而将所述物体的标识符与从所述物体提取的特征向量关联,其中,所述一组数据结构具有至少2×n个标识符数据结构,每个标识符数据结构与所述标识符的每一位的0值和1值相对应;所述存储步骤根据提取出特征向量的所述物体把每个特征向量存储到每一位的0值或1值的标识符数据结构;通过计算机访问所述图像数据库,以在给出显示有物体的图像作为查询时执行识别处理,从而检查所述图像数据库中是否存储了与所述查询相同的物体;其中所述识别处理包括如下步骤:从所述查询提取多个特征向量作为查询向量;检查所述标识符数据结构中是否存储了与每个查询向量相对应的特征向量;以及在所述相对应的特征向量存储在所述标识符数据结构的每一位的0值或1值中时,根据每一位的存储值找到与所述查询向量相关的标识符,从而基于对每个查询向量进行的检查的统计将所述查询与最相关的标识符关联。
另一方面,本发明提供一种图像数据库制作装置,用于制作物体识别用图像数据库,并包括:提取单元,用于从通过拍摄要存储在图像数据库中的物体所形成的图像提取多个特征向量,其中,预先对所述物体分配了n位的标识符,n是自然数,并且每个特征向量表示所述图像的局部特征;数据结构单元,包括一组数据结构,每个数据结构返回表示指定的数据是否存储在该数据结构中的值;以及存储单元,用于将每个特征向量存储在所述数据结构单元中,以将预先分配给所述物体的标识 符与从所述物体提取的特征向量关联,其中,所述数据结构单元具有至少2×n个标识符数据结构,每个标识符数据结构与所述标识符的每一位的0值和1值相对应;所述存储单元根据提取出特征向量的所述物体把每个特征向量存储到每一位的0值或1值的标识符数据结构;通过识别设备访问所述图像数据库,以在给出显示有物体的图像作为查询时检查所述图像数据库中是否存储了与所述查询相同的物体;以及所述识别设备:从所述查询提取多个特征向量作为查询向量;检查所述标识符数据结构中是否存储了与每个查询向量相对应的特征向量;以及在所述相对应的特征向量存储在所述标识符数据结构的每一位的0值或1值中时,根据每一位的存储值找到与所述查询向量相关的标识符,从而基于对每个查询向量进行的检查的统计将所述查询与最相关的标识符关联。
此外,本发明提供一种图像数据库制作程序,用于制作物体识别用图像数据库,并且使计算机能够执行如下步骤:提取步骤,从通过拍摄要存储在图像数据库中的物体所形成的图像提取多个特征向量,其中,预先对所述物体分配了n位的标识符,n是自然数,并且每个特征向量表示所述图像的局部特征;以及存储步骤,通过使用一组数据结构把每个特征向量存储在所述图像数据库中,每个数据结构返回表示指定的数据是否存储在该数据结构中的值,从而将所述物体的标识符与从所述物体提取的特征向量关联,其中,所述一组数据结构具有至少2×n个标识符数据结构,每个标识符数据结构与所述标识符的每一位的0值和1值相对应;所述存储步骤根据提取出特征向量的所述物体把每个特征向量存储到每一位的0值或1值的标识符数据结构;通过所述计算机或其它计算机访问所述图像数据库,以在给出显示物体的图像作为查询时执行识别处理,从而检查所述 图像数据库中是否存储了与所述查询相同的物体;其中所述识别处理包括如下步骤:从所述查询提取多个特征向量作为查询向量;检查所述标识符数据结构中是否存储了与每个查询向量相对应的特征向量;以及在所述相对应的特征向量存储在所述标识符数据结构的每一位的0值或1值中时,根据每一位的存储值找到与所述查询向量相关的标识符,从而基于对每个查询向量进行的检查的统计将所述查询与最相关的标识符关联。
发明的效果
在用于物体识别的图像数据库的制作方法中,在存储步骤,根据提取出特征向量的物体,把特征向量存储到每一位为0值或1值的2×n标识符数据结构中。因而,可以根据存储特征向量的数据结构,即通过检查对应的特征向量是否保存在0值数据结构或1值数据结构中,来从特征向量关联标识符的值。该数据结构允许假阳性以压缩数据量。因而,可以以和常规方法基本相同的存储量实现大型物体识别图像数据库。如下文的图9、10、15和16所示,根据实验可以验证,与使用哈希表的近似最近邻搜索相比,本发明可以减少存储量。
本发明中,可用作数据结构的具体示例是Bloom滤波器,用作关联数据结构的具体示例是Bloomier滤波器(例如参看非专利文献6)。Bloomier滤波器是如下方法的数据结构,该方法基于用作要存储的元素的多个键来关联分别分配给相应的键的值。关联意味着给定某个键时,根据预定数据结构可以短时间内得到与该键关联的值。关联意味着利用该策略获得与键关联的值。Bloomier滤波器包括具有多个共同哈希函数的多个Bloom滤波器(m位的位数组(bit array))。当给定某个键时,使用从各个哈希函数得到的哈希值引用各个Bloom滤波器,并可以基于引用结果来得到和该键关联的值。下文对此进行详细描述。
根据本发明,把表示物体的图像存储到用于物体识别的图像数据库中,并且给出图像作为查询。如果可以从数据库找到和该查询的图像代表的物体匹配的物体,则可认为识别到了物体。
在物体识别时,重要的是短时间内完成物体识别,并且实现图像数据库的存储量的减少。这两者之间的关系通常是有所取舍的。本发明更侧重于减少存储量。具体而言,本发明是一种构建存储大量图像数据的图像数据库的有效方法。
上述操作和效果同样也适用于根据本发明的用于物体识别的图像数据库的制作装置和制作程序。
附图说明
图1是示出常规物体识别中为了缩短识别时间而具有级联的多个识别器的级联结构的示意图。
图2是示出根据本发明的存储到Bloom滤波器的存储流程的示意图。
图3是示出根据本发明的实验中使用的三维物体示例的示意图。
图4是示出根据本发明的实验中使用的平面物体示例的示意图。
图5是示出本发明实验中用作查询的图像的示意图,其中通过改变每个平面物体的视角而拍摄每个图像。
图6是示出本发明方法以及作为比较示例的野口和人的方法改变各个参数时的物体识别率(实验1,55个三维物体的识别实验)的第一图。
图7是示出本发明方法以及作为比较示例的野口和人的方法改变各个参数时的物体识别率(实验1,55个三维物体的识别 实验)的第二图。
图8是示出作为比较示例的野口和人的方法改变各个参数时的物体识别率(实验1,55个三维物体的识别实验)的第三图。
图9是示出对本发明方法以及作为比较示例的野口和人的方法改变参数c时识别过程所需存储量的比较结果(实验1,55个三维物体的识别实验)的第一图。
图10是示出对本发明方法以及作为比较示例的野口和人的方法改变参数c时识别过程所需存储量的比较结果(实验1,55个三维物体的识别实验)的第二图。
图11是示出改变本发明方法中的参数t的识别率(实验1,55个三维物体的识别实验)的图。
图12是示出本发明方法以及作为比较示例的野口和人的方法改变各个参数时的物体识别率(实验2,5000个平面物体的识别实验)的第一图。
图13是示出本发明方法以及作为比较示例的野口和人的方法改变各个参数时的物体识别率(实验2,5000个平面物体的识别实验)的第二图。
图14是示出作为比较示例的野口和人的方法改变各个参数时的物体识别率(实验2,5000个平面物体的识别实验)的第三图。
图15是示出对本发明方法以及作为比较示例的野口和人的方法改变参数c时识别过程所需存储量的比较结果(实验2,5000个平面物体的识别实验)的第一图。
图16是示出对本发明方法以及作为比较示例的野口和人的方法改变参数c时识别过程所需存储量的比较结果(实验2,5000个平面物体的识别实验)的第二图。
图17是示出对本发明方法以及作为比较示例的野口和人的 方法利用相同的存储器大小在d=28和d=24时改变参数b和c时的识别率和处理时间(实验2,5000个平面物体的识别实验)的图。
图18是示出改变本发明方法中的参数t的物体识别率(实验2,5000个平面物体的识别实验)的图。
图19是示出本发明方法中错误检测所用的Bloomier滤波器(55个三维物体的识别实验)的有效性的第一图。
图20是示出本发明方法中错误检测所用的Bloomier滤波器(55个三维物体的识别实验)的有效性的第二图。
图21是示出本发明方法中错误检测所用的Bloomier滤波器(5000个平面物体的识别实验)的有效性的第三图。
图22是示出本发明方法中错误检测所用的Bloomier滤波器(5000个平面物体的识别实验)的有效性的第四图。
图23是描述根据本发明的数据库制作方法的具体示例的第一示意图。
图24是描述根据本发明的数据库制作方法的具体示例的第二示意图。
具体实施方式
下面描述本发明的优选实施例。
在根据本发明的用于物体识别的图像数据库制作方法中,每个数据结构可允许假阳性,以减少存储数据所需的存储量。
存储步骤可应用预定规则以获得与标识符相关的错误检测值,并且可把所获得的值存储到错误检测的数据结构中;识别步骤可比较获得的标识符和存储到错误检测的数据结构中的值,并且当两者彼此相符时,识别步骤可将关于查询向量的确定结果用于检查的统计,如果两者不等,则可不用于检查的统 计。具体而言,存储步骤应用预定的规则以获得和标识符相关的错误检测的值,并且把所获得的值存储到错误检测的数据结构中。因而,即便确定查询向量同时存储在位的0值和1值中,仍然可确定与存储到错误检测的数据结构中的值的一致性。因而,与不使用错误检测的数据结构的情况相比,可以以更高的准确度找到和查询向量相关的图像。
错误检测的值可包括至少一位,错误检测的数据结构可包括用于存储该位的0值的数据结构和用于存储该位的1值的数据结构。利用该结构,除了包括通过利用2×n数据结构来关联标识符的关联数据结构外,检测用的数据结构可被配置为还包括上述数据结构。
当确定同一查询向量由于假阳性既存储在0值数据结构中又存储在1值数据结构中的位的数量超过预定数值时,识别步骤可把和查询向量相关的确定结果排除在检查的统计之外。当由于假阳性获得超过预定数值的值作为和查询向量相关的图像的标识符时,根据特定基础排除包括许多错误值的确定结果。这样,与上述不排除确定结果的情况相比,可以以更高的准确度找到和查询向量相关的图像。
识别步骤可对被确定为和查询向量相关的标识符的值赋予预定的得分,同时,识别步骤也可以在确定没有标识符和查询向量相关时不对任何标识符赋予得分,而且识别步骤可基于对从查询提取的查询向量进行的检查的统计来确定得分最高的标识符。进行对查询向量的多个确定结果投票的投票处理。因而,即便单个确定结果正确的概率不是100%,仍可以通过投票处理得到有效结果。
数据结构可以是Bloom滤波器。
在上述制作方法和检索方法中,每个数据结构的位数m(m 是自然数)可以大于预定的最大存储向量数。更优选地,m被确定为使得存储每个向量后的每个数据结构变得足够稀疏从而包括0值的位。该结构可以降低数据结构的错误检测的概率,即降低假阳性风险。m增大太多时,空间效率变差。设计者可以通过实验或者根据经验确定两者之间平衡的有效值。
此处所述的许多优选实施例可彼此组合。
下面参考附图详细描述本发明。下面的说明书从各方面来讲都应认为是说明性的而不是对本发明的限定。
详细描述本发明之前,详细描述相关工作以易于理解本发明的技术含义。
1、相关工作
减少存储量是使用局部特征向量的特定物体识别的重要问题。减少存储量的传统技术包括基于对特征向量进行向量量化的技术(参看非专利文献7),或者基于标量量化的技术(参看非专利文献3)。
在基于向量量化的前一种技术中,将多个特征向量转换成称为视觉词的代表向量以减少存储量。然而,为了实现大规模识别,只有几个特征向量可以和一个视觉词关联。据报道,如果多于两个或三个特征向量和一个视觉词关联,那么识别率会降低(参看非专利文献5)。
另一方面,在基于标量量化的后一种技术中,通过对特征向量的每一维进行标量量化来减少存储量。该技术某种程度上对大型物体识别是有效的。然而,即便特征向量数用1位表示,存储量也和特征向量数成正比地增加,因而,执行更大型物体识别受到限制。因而,减小特征向量自身容量的技术是有限制的。
减少存储量的另一方法是不使用主存储器而使用辅助存储 (例如,参看F.Fraundorfer,H.Stewenius and D.Nister:“A Binning Scheme for Fast Hard Drive Based Image Search”,Proc.Of CVPR2007,pp.1-6(2007),或者Noritaka Himei,Toshikazu Wada:“Approximate nearest neighbor search algorithm on HDD based on B+ tree”,IEICE,Vol.108,No.484,PRMU2008-273,pp.223-228(2009))。还有一种对存储在数据库中的特征向量进行采样的技术(例如参看非专利文献5和4)。
使用辅助存储的技术,策略是在主存储器中仅存储到特征向量的指针以减少存储量。该技术可实现大型物体识别,但是带来的问题是识别过程需要太多时间。
在对特征向量进行采样的技术中,选择对识别有效的特征向量以减少存储量。即便在该技术中,对于实现大型物体识别而言,可以减少的特征向量的数量也是有限的。如果要减少多于限制的特征向量,识别率可能下降。
在上述每种技术中,必需存储各个特征向量以计算特征向量之间的距离。因而,识别所需的存储量的减少是有限的。
作为解决该问题的一种方法,考虑省去计算特征向量之间的距离。提出了使用哈希表的技术(参看专利文献1、非专利文献2)作为基于该概念的技术。然而,这种技术也存在问题。具体而言,存储在哈希表中的特征向量是有偏的(biased),其中,哈希表中的大部分bin是空的,这意味着空间效率低。鉴于此,本发明基于不进行特征向量距离计算的概念给出使用和哈希表相比空间效率良好的Bloomier滤波器来减少存储量的技术。
2、野口和人的方法
这部分描述本发明所基于的野口和人的方法(参看专利文献1、非专利文献2)。野口和人的方法是特定物体识别处理,其中特征向量的维数是36。用PCA-SIFT计算特征向量(例如参看 Y.Ke and R.Sukthankar:“PCI-SIFT:A more distinctive representation for local image descriptors”,Proc.Of CVPR2004,Vol.2,pp.506-513(2004))。野口和人的方法分为两个过程,这两个过程是构建用于把特征向量存储在哈希表内的数据库的过程和使用该数据库基于投票处理识别物体的识别过程。下面描述具体过程。
2.1、数据库构建
该部分描述野口和人的方法构建数据库的过程。在野口和人的方法中,提取特征向量p的第1~d维(d≤36)以形成p’=(p1,p2,…,pd)。然后,利用向量p’通过对每一维进行二值化处理得到位向量u=(u1,u2,…,ud)。
[公式1]
[公式2]
接下来,根据[公式2]的哈希函数得到要存储在哈希表中的索引。Hsize指示哈希表的大小。将提取出特征向量p的物体的ID存储在所得到的索引中。物体ID与本发明中的“标识符”相对应。
在野口和人的方法中,当在存储特征向量的过程中出现了冲突时,把特征向量存储成列表。请注意,为了减小运算成本,对列表长度设定阈值c,当列表长度大于c时,从哈希表中删除整个列表,并且禁止此后的存储。这一做法基于如下考虑:由于具有相同哈希值的特征向量彼此非常相似,所以这些特征向量对物体识别贡献不大。对所有特征向量执行上述过程以创建数据库。
2-2、识别过程
在野口和人的方法中,和数据库构建过程一样,使用通过PCA-SIFT从查询图像获得的特征向量来得到哈希表索引。对所得到的哈希表中存储的所有物体ID进行投票。对从查询图像获得的所有特征向量执行该过程,最终确定得票最多的物体为识别结果。下面描述具体过程。
首先根据从查询图像提取的特征向量获得哈希表索引。在这种情况下,根据在野口和人的方法中所使用的哈希函数的特性存在如下问题。由于几乎不会出现查询图像和数据库中的图像完全相同的情况,所以,从查询图像提取的特征向量的每一维的值和用于生成数据库的特征向量的每一维的值不同。如果由于该因素而把值转换成不同的位向量,就不可能根据哈希表检索到正确的物体ID。为了解决该问题,对每一维的值设定允许错误范围e。具体而言,在要用作查询的特征向量q=(q1,q2,…,qd)中,不仅使用uj而且使用针对满足[公式3]的维数j的[公式4]来检索特征向量。
[公式3]
|qj|≤e
[公式4]
例如,当位向量u’=(1,0,0,1)的第三维是要处理的对象时,还使用u’=(1,0,1,1)来检索特征向量。然而,如果对所有维度执行该过程,处理时间非常长。因而,对要处理的对象的维数设定阈值b。利用该过程,用于检索过程的位向量u’的数量最多为2b。
[公式5]
|qj|≤e
当满足[公式5]的维数超过限值b时,最多采用限值b个索引较大的维。
利用该过程,对哈希表中存储的物体ID进行投票,确定得票最多的物体为识别结果。
在野口和人的方法中,如图1所示,级联多个识别器以提高处理效率。本发明也可采用该级联结构。第s级使用识别器b=s-1。下面具体描述用识别器检查查询图像的过程。在第一级,用b=0的位向量进行识别。在这种情况下,如果得票最多的物体的票数和其他物体的票数之差足够大,那么这时就输出得票最多的物体作为识别结果。如果票数差别不够大,应用下一级识别器,其中用b=1的位向量进行识别。重复该过程以识别查询图像。使用多个识别器的识别过程的特征使得该过程具有称为差可达性(difference accessibility)的特性,当应用下一级识别器时,使用和前一级的检索过程所使用的位向量不同的位向量来进行识别。因而,即便采用最后一个识别器,仍可以使得识别所用的处理时间基本等于从一开始使用2b个位向量进行识别的处理时间。
2-3、野口和人的方法的问题
在野口和人的方法中,为了获得准确度高的识别率,必须增加位向量的维数d的值。然而,d的值增加时,哈希表大小指数增长。
在Hsize=2d的基础实验中,把通过PCA-SIFT计算出的约一千万个特征向量映射到根据野口和人的方法的哈希表时,发现:d=24时,多于65%的哈希索引不对应任何特征向量,d=28时,多于96%的哈希索引不对应任何特征向量,即这些哈希索引被从列表中删除。由此可知,从哈希表空间效率的角度来说,野口和人的方法有改进空间。
为了解决该问题,本发明使用空间效率比哈希表好的数据结构,其中,允许假阳性以压缩数据量。该数据结构的具体例子是布隆滤波器(Bloom滤波器),关联数据结构的具体例子是Bloomier滤波器。
3、Bloom滤波器和Bloomier滤波器
该部分描述可用作根据本发明的关联数据结构的Bloomier滤波器(参看非专利文献6)以及作为Bloomier滤波器基础的Bloom滤波器(例如参看B.H.Bloom:“Space/Time Trade-offs in Hash Coding with Allowable Errors”,Commun.ACM,Vol.13,No.7,pp.422-426(1970))。
3-1、Bloom滤波器
Bloom滤波器是和自平衡二值搜索树或者哈希表相比空间效率更好的数据结构。当给定某个数据集和元素时,Bloom滤波器用于检查该元素是否是该数据集的成员。该技术存在假阳性的可能性变高的问题或者不能从数据集中移除原始元素的问题,假阳性是指确定某个元素为数据集的成员但该元素实际上并非该数据集成员。另一方面,该技术的长处是可以向数据集增加一定数量的元素而不会增加存储量。所增加的元素越多,假阳性的可能性越大。然而,和自平衡二值搜索树或者哈希表相比,相同存储量所能够存储的元素的数量大得多。
在本发明中,把Bloom滤波器用于特征向量的压缩表示以利用良好的空间效率。在本说明书中,以下假定数据集的元素是特征向量。下面描述把特征向量存储在Bloom滤波器中的方法以及识别特征向量的方法的具体过程。
图2示出存储特征向量的过程的流程。首先,准备作为m位的位数组的空Bloom滤波器,并将所有位初始化为零。下文中,将m称为“表大小”。接下来,准备k个哈希函数,针对每个哈希 函数计算将特征向量定义成键时的哈希值。设定本文得到的哈希值的范围为1到m的整数。根据所获得的k个哈希值x1、x2、…、xk(i=1,2,…,k)把Bloom滤波器的第xi位设为1,由此存储特征向量。和在检索过程中一样,通过把特征向量定义成特征向量识别过程中的键而从每个哈希函数获得哈希值。如果和所得到的哈希值对应的所有位都为1,那么确定数据集包括该特征向量。
3-2、Bloomier滤波器
在本发明中,Bloomier滤波器是用于通过使用多个Bloom滤波器关联与所存储的特征向量相关的值的数据结构。该技术也存在有可能假阳性的问题以及不能从数据集移除原始特征向量的问题。然而,该技术的益处在于和哈希表相比空间效率高得多。本发明使用Bloomier滤波器进行特定物体识别以利用该特性。下面详细描述Bloomier滤波器的操作。
首先说明,用Bloomier滤波器关联的值只有两类,即0和1。首先,准备两个Bloom滤波器X和Y。把关联值是0的特征向量加入到Bloom滤波器X中,同时把关联值是1的特征向量加入到Bloom滤波器Y中。如果要识别的某个特征向量包含在Bloom滤波器X中,那么关联值是0的可能性高,如果要识别的该特征向量包含在Bloom滤波器Y中,那么关联值是1的可能性高。
在本发明中,考虑通过使用上述Bloomier滤波器操作来关联用于识别特定物体的物体ID。假定用n位表示物体ID,准备包括用于每一位的2n个Bloom滤波器的Bloomier滤波器。为了识别N个物体,N个物体各自需要N个Bloom滤波器。然而,如果使用Bloomier滤波器,可以用log2N个Bloom滤波器来识别物体。
4、本发明的方法
本部分描述使用Bloomier滤波器识别特定物体的方法。和野口和人的方法一样,使用通过PCA-SIFT从图像计算出的特征 向量。首先描述用于把特征向量存储到Bloomier滤波器中的数据库的制作方法。接下来,描述使用Bloomier滤波器的物体识别方法。
4-1、数据库制作
本部分描述用于把特征向量存储到Bloomier滤波器中的数据库的制作方法。在假定用n位表示用于识别物体的物体ID时,准备2n个Bloom滤波器。假定X1、X2、…、Xn是关联值为0的滤波器,Y1、Y2、…、Yn是关联值为1的滤波器。用[公式6]计算每个Bloom滤波器的表大小。
[公式6]
这里,[公式7]
是物体ID的第f位是g的特征向量的总数,a指用多少位来存储一个特征向量。
例如,对于Bloom滤波器Xi,在用多位表示物体ID时,M指从物体ID的第i位为零的物体所得到的特征向量的数量。
因此,Xi的表大小如下。
[公式8]
把特征向量存储在n个Bloom滤波器中以关联物体ID。假定在用2位表示物体ID时物体ID 3表示成“10”。由于物体ID 3的第一位是1且第二位是0,从ID 3的物体提取的特征向量被存储在Bloom滤波器Y1和X2中。下面描述具体过程。
和野口和人的方法一样,利用特征向量的d维来产生位向量u。如果存储在数据库中并转换成同一位向量的特征向量的个数超过阈值c,那么认为转换成该位向量的这些特征向量对识别是 无效的,因而不将这些特征向量存储在数据库中。对于其他情况,应用k个哈希函数以确定在将所得到位向量u定义为键时Bloom滤波器的哪一位是1。
在本实施例中,k设为8,并使用2009年6月3日从互联网上搜索到的在General Purpose Hash Function Algorithms<URL: http://www.partow.net/programming/hashfunctions/index.html#RSHashFunction>的[在线资源]中提出的8个哈希函数。这些哈希函数仅为说明性的,可以使用任何其他哈希函数。
将上述过程用于所有特征向量以制作数据库。在本发明中,不能从数据库中移除原始特征向量,但是,由于Bloomier滤波器的特性,与原样存储原始特征向量的常规方法相比,本发明存储特征向量所需的存储量少。
4-2、物体识别
这一部分描述使用Bloomier滤波器进行物体识别的方法。首先描述本发明的物体识别方法的处理流程。在该方法中,为了确定物体ID的第i位(i=1,2,…,n)是0还是1,将Bloom滤波器Xi和Yi都用于查询特征向量q以检测Bloom滤波器Xi和Yi是否包括该查询特征向量。如果Xi包括特征向量q,那么物体ID的第i位是0,如果Yi包括特征向量q,那么物体ID的第i位是1。根据对物体ID的所有位应用该过程,最终得到对物体ID的物体的投票。对从查询图像得到的所有特征向量应用该过程,将得票数最多的物体作为识别结果。下面描述具体过程。
从查询图像得到的特征向量的每一维的值通常都和用于制作数据库的特征向量的每一维的值不同。因而,在本实施例中,和在野口和人的方法中一样,设定每一维的值所允许的误差范围e以解决该问题。还使用维数的阈值b,当满足阈值e的维数超过阈值b时,最多采用阈值b个索引较大的维。然后,用一组位 向量来确定物体ID的第i位(i=1,2,…,n)是0还是1。
如果只有Xi包括查询位向量,那么物体ID的第i位是0,如果只有Yi包括查询位向量,那么物体ID的第i位是1。如果查询位向量既不在Xi又不在Yi中,本实施例的方法确定数据库中未存储将该位向量作为键的特征向量,并且停止对第i位之后的其他位执行该过程。
存在查询向量既包括在Xi又包括在Yi中的问题。出现该问题是由于两个Bloom滤波器中的一个存在假阳性,即,虽然实际没有存储该查询向量,但是错误地识别到存储了该查询向量。在本发明中,两种可能性都考虑。具体而言,本实施例的方法对物体ID的第i位是0和1的两个物体都进行投票。然而,如果对所有位执行上述过程,错误投票数增加。在本发明中,对假阳性的物体ID的维数设定阈值t,要投票的物体ID数限于2t个。当维数超过t时,最多利用阈值t个较小维数。
重复上述过程,对ID为所获得的物体ID的物体进行投票。对从查询图像得到的所有特征向量执行该过程,得票数最高的物体是识别结果。
和野口和人的方法一样,采用s级处的识别器是b=s-1的多个识别器以提高识别处理效率。如果得票数区别足够大,那么在最后一级识别器之前的某个识别器处中断该过程,这样可以实现有效识别处理。
4-3、错误检测
除了以上述过程构造的数据库以外,本发明还提出用于检测错误投票的过程。为了构造数据库,不仅使用普通Bloomier滤波器,还使用用于错误检测的Bloomier滤波器。这是简单的错误检测器,用于确定是否的确对根据通过使用从某个查询图像得到的特征向量进行的识别过程所得到的ID进行了投票。
用于错误检测的Bloomier滤波器的构造如下。首先,准备两个Bloom滤波器P0和P1。当用两位表示物体ID时,从具有偶数个1的物体ID得到的特征向量被存储在P0中,从具有奇数个1的物体ID得到的特征向量被存储在P1中。根据公式(4)得到每个Bloom滤波器的表大小。
在识别过程中,利用用于错误检测的Bloomier滤波器确定是否对具有所得到的物体ID的物体进行了投票。在这种情况下,当用于错误检测的Bloomier滤波器不包括特征向量时,或者当两个滤波器都包括特征向量时,确定所得到的物体ID为错误ID,不对其进行投票。
5、数据库制作和识别过程的具体示例
本部分描述前面部分所述的数据库制作过程和识别过程的具体示例。为了易于理解,本部分说明物体ID的位数和特征向量数非常小的示例。然而,实际应用本发明时,要处理的对象是后面所述的实验示例或较大规模的数据库。
5-1、数据库制作过程
描述把从物体ID为3的物体得到的特征向量存储在数据库中的过程。确定存储特征向量的Bloom滤波器。当用两位表示物体ID 3时,假定把位数组10分配给物体ID 3。在本例中,由于物体ID 3的第一位是1、第二位是0,特征向量存储在对第一位的关联值是1的Bloom滤波器Y1以及对第二位的关联值是0的Bloom滤波器X2中。
当用位数组表示物体ID时,出现了奇数个1。因而,特征向量还存储在用于错误检测的Bloom滤波器P1中。然后,根据图2所示过程存储从物体ID为3的物体得到的特征向量。
利用从物体ID为3的物体得到的特征向量的第1~d维形成位向量。在特征向量的每一维的值非负时,将其转换为1,并且 在特征向量的每一维的值为负时将其转换为0。具体而言,假定从物体ID为3的物体得到的特征向量如下:
P1=(24,-500,249,32)
P2=(239,123,-11,-57),
…
在d=3时,将特征向量转换成位向量u1=(1,0,1)、u2=(1,1,0),其中,对低阶侧(左侧)的三位的每个元素进行编码。
在这种情况下,如果转换成同一位向量的特征向量的数量超过c,则认为转换成该位向量的特征向量是类似的,并且将其视为对识别无效。因而,这些特征向量不用于下面过程。
接下来,应用k个哈希函数以得到将位向量定义成键的k个哈希值。将和所得到的哈希值对应的Bloom滤波器的位设为1。对象Bloom滤波器是上述Y1、X2和P1,其中每个Bloom滤波器中的所有元素在初始化过程之后是0(零)即不存储任何数。
假定k=3,而且Bloom滤波器的表大小设为m=8,图23示出存储位向量u1和u2的示例。
在图23中,在位向量u1被用作键时从k个哈希函数得到k=3的哈希值。在所得到的哈希值是1、2和4时,初始化为(00000000)的Bloom滤波器Y1、X2和P1的第一、二和四位被设为1。存储u1后的Y1、X2和P1为(11010000)(参看图23(a))。
假定在位向量u2被用作键时从k个哈希函数得到哈希值2、5和7。存储了u1的Y1、X2和P1中的向量(11010000)的第二、五和七位被设为1。存储了u2后的Y1、X2和P1为(11011010)(参看图23(b))。
对从物体ID为3的物体得到的所有特征向量重复上述过程,并且将特征向量存储在Bloom滤波器Y1、X2和P1中。
对物体ID为其他值的其他物体进行相同过程。例如,假定 把位数组11分配给物体ID 4。由于第一位和第二位都是1,从物体ID为4的物体得到的所有特征向量存储在对第一位的关联值是1的Bloom滤波器Y1、对第二位的关联值是1的Bloom滤波器Y2以及用于偶数位错误检测的Bloom滤波器P0中。
如上所述,存储每个物体的特征向量以构造数据库。
5-2、识别过程
下面描述识别过程的具体示例。使用从查询图像得到的特征向量访问所有Bloom滤波器。
假定存在如下从查询图像得到的特征向量(查询特征向量):
q1=(31,-480,220,49)
q2=(239,20,113,-82),
…
在这种情况下,和数据存储过程一样,根据特征向量形成位向量u1’=(1,0,1)、u2’=(1,1,1)。
应用k=3个哈希函数以得到将位向量定义成键时的哈希值。检查分别和物体ID的位数组对应的Bloom滤波器X1、X2、Y1和Y2中和所得到的哈希值D对应的位是否均为1。如果所有位是1,则认为作为键的特征向量被存储在对应的Bloom滤波器中。
具体而言,假定Bloom滤波器Y1变成(11011010)。
当针对从查询特征向量q1得到的位向量u1’获得哈希值时,得到和存储过程一样的哈希值1、2和4,这是由于u1’的值和存储过程的u1的值一样。Bloom滤波器Y1的第一、二和四位都是1。在这种情况下,确定q1被存储在Bloom滤波器Y1中。
可能存在虽然特征向量实际未存储在Bloom滤波器中但是错误地确定为被存储在Bloom滤波器中的情况。假定q2是实际 未存储在Bloom滤波器中的特征向量。假定根据从q2得到的位向量u2’所得到的哈希值是2、4和5。Bloom滤波器Y1(11011010)的相应的第二、四和五位都是1。如上所述,由于Bloom滤波器的假阳性,可能存在将实际未存储的特征向量确定为被存储的情况。
继续进行描述。如上所述,对从查询提取的每个特征向量以上述程序执行检索过程,由此确定物体ID的第i位是什么。假定从查询得到的某个特征向量被存储在Bloom滤波器Xi中。在这种情况下,假定物体ID的第i位为0。另一方面,如果假定该特征向量存储在Bloom滤波器Yi中,则假定物体ID的第i位为1。如果假定该特征向量既存储在Y1中又存储在X2中,则物体ID的位向量就是“10”,这样投票给ID为3的物体。
假定出现假阳性,而且确定特征向量既存储在Xi中又存储在Yi中。在这种情况下,本发明对两种可能都进行测试。具体而言,对于查询特征向量,如图23所示,既投票给物体ID的第i位是0的物体又投票给物体ID的第i位是1的物体。例如,当作为检索过程的结果确定查询特征向量被存储在X1、Y1和X2中时,为物体ID的位向量准备两个ID候选00和10。然后,通过参考用于错误检测的Bloom滤波器,确定可以得票的物体ID。具体而言,当特征向量被存储在用于错误检测的Bloom滤波器P0中时,仅投票给ID候选中物体ID具有偶数个1的物体,即ID“00”。相反,当特征向量被存储在用于错误检测的Bloom滤波器P1中时,仅投票给ID候选中物体ID具有奇数个1的物体,即ID“10”(参看图24)。此处,说明了使用Bloom滤波器进行错误检测的一个示例。然而,替代错误检测,可以通过使用多个Bloom滤波器来应用公知的纠错码。利用该结构,可以减少假阳性造成的误判。
对从查询图像得到的所有特征向量执行上述检索过程和投票过程。最终指定得票最高的物体为识别结果。
投票可以加权。例如,如果存储在数据库中且从物体ID为i的物体提取到的特征向量的数量为Ni,则进行投票时可对物体ID的投票加权1/√Ni。
5、实验
在本部分中,描述为了验证本发明有效性而进行的实验结果,其中,使用包括55个三维物体的数据集和包括5000个平面物体的数据集。
5-1、实验设定
首先描述55个三维物体的数据集。图3示出本实验使用的三维物体示例。通过使用网络摄像头从正面以上对角为15°和30°的方式拍摄以增量为5°的方式旋转的每个物体。使用Lo gicool Co.生产的分辨率为640×480的网络摄像头Qcam(注册商标)Pro 9000。在这些图像中,将增量为0°、10°、…、350°的图像用作用于数据库制作的图像,其他图像用作查询图像。用于数据库制作的图像数量为每个物体108个,三个方向各36个图像(36×3)。总体而言,从用于数据库制作的所有图像提取出大约一百二十万个特征向量。
接下来描述5000个平面物体的数据集。在本实验中,一共准备5000幅图像作为用于数据库制作的图像,1667幅图像是利用Google图片搜索关键字“杂志”、“海报”、“封面”等收集来的,1667幅图像是从PCA-SIF T站点得来的,1666幅图像是从照片共享站点Flicker使用标签“动物”、“生日”、“食物”、“日本”等收集来的。
图4示出示例。收集过程中,删除大小为600×600像素或更小的图像,并调整图像大小以使图像最长边小于640像素。排除 提取出100个或更少特征向量的图像。从用于数据库制作的图像中提取出的特征向量的数量大约为一千万个。如下准备查询图像。从数据库包括的图像中随机收集500幅图像,即使用Goole图片搜索收集的100幅图像、从PCA-SIFT站点得到的200幅图像以及用Flicker收集的200幅图像。用彩色激光打印机(Oki Data Corporation制造的C5200n)把这些图像打印在A4纸上,用照相机(EOS Kiss Digital,佳能K.K.制造,六百三十万像素,镜头:EF-S 18-55mm USM)拍摄打印在纸上的图像。
图5示出拍摄的图像的示例。如图5所示,照相机光轴和纸张之间的角度θ按拍摄整张纸时的视角为90°、75°和60°的方式变化。在角度为90°时拍摄纸张的一部分。因而,每张纸总共拍摄四张图像。将拍摄的图像大小压缩到512×341像素,然后应用PCA-SIFT以提取特征向量。
在实验中,比较用本发明方法和用野口和人的方法进行物体识别时的物体识别率、识别一副查询图像所需的平均处理时间以及识别所需的存储量。请注意,处理时间不包括提取特征向量所用时间。
在本实验中,检查物体识别率,其中改变如下参数:用于测试两个位向量的维数的限值b,哈希的长度c和位向量的维数d。所测试范围如下:b=0,1,…,10、c=1,2,…,10、d=24,28。在两个实验中,特征向量的允许误差范围e是200。使用的计算机是AMD Opterons 8378、CPU 2.4GHz、RAM 128GB。
5-2、实验1:55个三维物体的实验结果
在根据本发明的方法中,测试物体的识别率,其中,除了改变上述参数以外,还改变特征向量的存储容量a和针对假阳性的维数t。a和t的范围如下:a=8,16,24,32、t=1,2,3,4,5。野口和人的方法的哈希表的大小是Hsize=2d。图6示出d=24时的结果, 图7示出d=28时的结果。横轴和纵轴分别表示识别率和处理时间。
图6和图7的实验结果证实,当b增大时识别率增大,但是当b增大太多时,识别率变差,这会增加处理时间。认为这是因为特征向量变化的问题可由b解决,但是b增大太多时,错误投票增加从而降低识别率,而且投票次数增加使得处理时间增加。
图8示出b变化时识别率的比较结果。所用参数是c=8、t=2,这在a=8、d=28时实现最高识别率。由实验结果可知,虽然和野口和人的方法相比,本方法识别一副图像所需的时间多得多,但是,本发明的物体识别率比野口和人的方法稍好。原因如下。在野口和人的方法中,通过只访问哈希表一次来确定一个查询向量q的用于投票的物体ID。另一方面,根据本发明的方法需要访问2n个Bloom滤波器以确定物体ID。
图9和图10示出比较参数a改变的本发明方法和野口和人的方法在改变参数c时识别过程所需存储量的实验结果。横轴和纵轴分别表示参数c和存储量。
由图9和图10的实验结果可知,本发明方法的空间效率比野口和人的方法的空间效率高。这主要是由于,在野口和人的方法中,存储器的几乎所有组成部分都用于访问哈希表。
根据上述结果可知,与野口和人的方法相比,虽然本发明方法的进行识别的处理时间要长,但是本发明方法的识别率和存储量都更好。
最后,在本发明的方法中,比较通过改变t时所获得的物体识别率。在本实验中,使用b=3和c=8的参数,这在a=8且d=28时识别率最高。图11示出结果。由结果可知,t增大时,物体识别率增大,但是当t增大太多时,识别率变差。这是由于增大t增加了错误投票。
5-3、实验2:5000个平面物体的实验结果
和实验1一样,除了改变5.1部分所述的参数外,还改变参数a和t以测试物体识别率。测试的参数范围和实验1一样。野口和人的方法所用的哈希表大小和实验1一样。图12示出d=24时的结果,图13示出d=28时的结果。横轴和纵轴分别指示识别率和识别一副图像所需的平均处理时间。和实验1一样,根据结果可知,当b增大时,物体识别率增大,但是当b增大太多时,识别率变差,并需要更长的处理时间。
图14示出改变b时识别率的比较结果。在本实验中,采用的参数例如为c=2和t=3,这在a=8且d=28时识别率最高。根据实验结果可知,尤其对于d=24时的结果,就处理时间而言,本发明方法比野口和人的方法差。然而,对于d=28时的结果,就识别率而言,本发明的方法比野口和人的方法稍好。认为处理时间比野口和人的方法差的原因如下。在检索过程中,以高速率把特征向量转换成同一位向量,因而,在投票过程中,对象物体和其他物体之间的得票差不那么大。
图15和图16示出对于每个d,改变参数a的本发明方法和野口和人的方法在改变参数c时识别过程所需的存储量的比较结果。横轴表示参数c,纵轴表示存储量。
由图15和图16所示实验结果可知,在a=24和32时,对于d=24的结果,本发明方法识别所需的存储量比野口和人的方法大。然而,还发现,对于d=28的结果,本发明方法的空间效率比野口和人的方法好得多。认为d=24且a=24和32时存储量增加的原因如下。在本发明方法中,一个特征向量需使用n个Bloom滤波器。
在本发明方法所需存储量基本和野口和人的方法相同时进行比较。考虑参数为d=28且a=8,16的本发明方法、d=24的野口 和人的方法作为比较方法1以及d=28且Hsize=224-1的野口和人的方法。对于这三个方法,通过改变b和c测试识别率和处理时间的差别。在本发明方法中,参数t也改变,变化为t=1,2,3,4和5。
图17示出结果。横轴指示识别率,纵轴指示识别一副图像所需的平均处理时间。根据实验结果可知,本发明方法所需处理时间比野口和人的方法长,但是本发明可以用参数来增大识别率。因而,可以说本发明方法成功压缩了特征向量表示。
最后,在本发明的方法中,通过改变参数t来比较识别率。在本实验中,采用在a=8、d=28时可实现最高识别率的参数,例如b=6、c=2。图18示出实验结果。和实验1一样,发现当t增大时,识别率增大,但是当t增大太多时识别率变差。
5-4、错误检测的效果
最后,通过改变参数b和t来比较用Bloomier滤波器进行错误检测和不使用Bloomier滤波器进行错误检测时的识别率,以测试用Bloomier滤波器进行错误检测的有效性。在改变参数b的实验和改变参数t的实验中分别使用得到最高识别率的参数。
首先描述55个物体的实验。图19和图20的下段列出所用参数,图19示出针对参数b的实验结果,图20示出针对参数t的实验结果。
根据图19和图20的实验结果可知,在参数b增大时以及在参数t增大时,识别率都有改善,但是当这两个参数增大太多时,识别率变差。认为其中原因如下。随着这两个参数值增大,错误投票也增加。实验结果还表明参数t改变时,由于通过用于错误检测的Bloomier滤波器对错误投票的检测防止了错误投票,从而使得识别率比不采用Bloomier滤波器进行错误检测的情况高。因而,可以说采用Bloomier滤波器进行错误检测是有效的。
接下来描述平面物体的结果。在本实验中,使用10000个而 不是5000个物体。图21和图22的下段示出所用参数,图21示出针对参数b的实验结果,图22示出针对参数t的实验结果。如在针对55个物体的实验中一样,发现:在参数b增大时和在参数t增加时,识别率都有改善,但是当这两个参数增大太多时,识别率变差。由实验结果还可知,采用Bloomier滤波器进行错误检测时的识别率比不采用Bloomier滤波器进行错误检测时的识别率高。因而,可以说采用Bloomier滤波器进行错误检测是有效的。
除上述实施例之外,还可以实现本发明的各种变形。这些变形不应当认为是在本发明的范围以外。本发明应包括权利要求的等同替换以及在本发明范围内的所有变形。
产业上的可利用性
经常采用对表示局部特征的特征向量的最近邻搜索进行具体物体识别。在这种方法中,需要存储许多特征向量以通过距离计算来匹配特征向量。通常,特征向量的数量如此之多以至于需要巨大的存储量来进行存储。解决该问题的一个方法是跳过特征向量的距离计算。
本发明提出一种不进行距离计算而减少存储量的方法,其中,本方法使用Bloomier滤波器来存储和匹配特征向量,Bloomier滤波器比哈希表的存储效率高得多。根据平面和三维特定物体识别的实验,通过和使用哈希表的方法进行比较评估了本发明。
附图标记说明
1 图像数据库
Claims (7)
1.一种图像数据库制作方法,用于制作物体识别用图像数据库,并包括如下步骤:
提取步骤,从通过拍摄要存储在图像数据库中的物体所形成的图像提取多个特征向量,其中,预先对所述物体分配了n位的标识符,n是自然数,并且每个特征向量表示所述图像的局部特征;以及
存储步骤,通过使用一组数据结构将每个特征向量存储在所述图像数据库中,每个数据结构返回表示指定的数据是否存储在该数据结构中的值,从而将所述物体的标识符与从所述物体提取的特征向量关联,其中,
所述一组数据结构具有至少2×n个标识符数据结构,每个标识符数据结构与所述标识符的每一位的0值和1值相对应;
所述存储步骤根据提取出特征向量的所述物体把每个特征向量存储到每一位的0值或1值的标识符数据结构;
通过计算机访问所述图像数据库,以在给出显示有物体的图像作为查询时执行识别处理,从而检查所述图像数据库中是否存储了与所述查询相同的物体;其中
所述识别处理包括如下步骤:
从所述查询提取多个特征向量作为查询向量;
检查所述标识符数据结构中是否存储了与每个查询向量相对应的特征向量;以及
在所述相对应的特征向量存储在所述标识符数据结构的每一位的0值或1值中时,根据每一位的存储值找到与所述查询向量相关的标识符,从而基于对每个查询向量进行的检查的统计将所述查询与最相关的标识符关联,
其中,每个数据结构允许假阳性,以减少存储数据所需的存储量。
2.根据权利要求1所述的图像数据库制作方法,其中,
所述存储步骤应用预定的规则以获得与所述标识符相关的错误检测用值,并把所获得的错误检测用值存储到错误检测用数据结构中;以及
所述识别处理将所找到的标识符与存储到所述错误检测用数据结构中的值进行比较,并且,当两者相符时,所述识别处理将有关所述查询向量的确定结果用于检查的统计,当两者不相符时,所述识别处理不把所述确定结果用于检查的统计。
3.根据权利要求2所述的图像数据库制作方法,其中,
所述错误检测用值包括至少一位,而且
所述错误检测用数据结构包括用于存储所有位的0值的数据结构和用于存储所有位的1值的数据结构。
4.根据权利要求1所述的图像数据库制作方法,其中,
当同一查询向量由于假阳性而被确定为同时存储在0值的数据结构和1值的数据结构中的位的数量超过预定数值时,所述识别处理将关于该查询向量的确定结果从检查的统计中排除。
5.根据权利要求1所述的图像数据库制作方法,其中,
所述识别处理对被确定为与所述查询向量相关的标识符的值赋予预定的得分,并在确定没有标识符与所述查询向量相关时不对任何标识符赋予得分;而且
所述识别处理根据针对从所述查询提取的查询向量进行的检查的统计确定得分最高的标识符。
6.根据权利要求1所述的图像数据库制作方法,其中,所述数据结构是布隆滤波器。
7.一种图像数据库制作装置,用于制作物体识别用图像数据库,并包括:
提取单元,用于从通过拍摄要存储在图像数据库中的物体所形成的图像提取多个特征向量,其中,预先对所述物体分配了n位的标识符,n是自然数,并且每个特征向量表示所述图像的局部特征;
数据结构单元,包括一组数据结构,每个数据结构返回表示指定的数据是否存储在该数据结构中的值;以及
存储单元,用于将每个特征向量存储在所述数据结构单元中,以将预先分配给所述物体的标识符与从所述物体提取的特征向量关联,其中,
所述数据结构单元具有至少2×n个标识符数据结构,每个标识符数据结构与所述标识符的每一位的0值和1值相对应;
所述存储单元根据提取出特征向量的所述物体把每个特征向量存储到每一位的0值或1值的标识符数据结构;
通过识别设备访问所述图像数据库,以在给出显示有物体的图像作为查询时检查所述图像数据库中是否存储了与所述查询相同的物体;以及
所述识别设备:
从所述查询提取多个特征向量作为查询向量;
检查所述标识符数据结构中是否存储了与每个查询向量相对应的特征向量;以及
在所述相对应的特征向量存储在所述标识符数据结构的每一位的0值或1值中时,根据每一位的存储值找到与所述查询向量相关的标识符,从而基于对每个查询向量进行的检查的统计将所述查询与最相关的标识符关联,
其中,每个数据结构允许假阳性,以减少存储数据所需的存储量。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009-139148 | 2009-06-10 | ||
JP2009139148 | 2009-06-10 | ||
PCT/JP2010/059352 WO2010143573A1 (ja) | 2009-06-10 | 2010-06-02 | 物体認識用画像データベースの作成方法、作成装置および作成処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102460511A CN102460511A (zh) | 2012-05-16 |
CN102460511B true CN102460511B (zh) | 2014-04-16 |
Family
ID=43308828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080035625.1A Expired - Fee Related CN102460511B (zh) | 2009-06-10 | 2010-06-02 | 用于物体识别的图像数据库的制作方法以及制作装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20120084305A1 (zh) |
EP (1) | EP2442273A4 (zh) |
JP (1) | JP5354507B2 (zh) |
CN (1) | CN102460511B (zh) |
WO (1) | WO2010143573A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9087267B2 (en) | 2011-06-10 | 2015-07-21 | Image Vision Labs, Inc. | Image scene recognition |
JP5563016B2 (ja) * | 2012-05-30 | 2014-07-30 | 株式会社デンソーアイティーラボラトリ | 情報検索装置、情報検索方法及びプログラム |
KR101546653B1 (ko) | 2012-06-26 | 2015-08-25 | 한국과학기술원 | 증강현실 기반의 실시간 관심 컨텍스트 등록 시스템 및 그 방법 |
US9223804B2 (en) | 2012-08-27 | 2015-12-29 | Qualcomm Incorporated | Determining capacity of search structures |
US8972337B1 (en) * | 2013-02-21 | 2015-03-03 | Amazon Technologies, Inc. | Efficient query processing in columnar databases using bloom filters |
US9940686B2 (en) | 2014-05-14 | 2018-04-10 | Intel Corporation | Exploiting frame to frame coherency in a sort-middle architecture |
US20160117631A1 (en) * | 2014-10-22 | 2016-04-28 | Honeywell International Inc. | Orphaned item identification |
CN104615676B (zh) * | 2015-01-20 | 2018-08-24 | 同济大学 | 一种基于最大相似度匹配的图片检索方法 |
JP6512294B2 (ja) | 2015-07-14 | 2019-05-15 | 富士通株式会社 | 圧縮プログラム、圧縮方法および圧縮装置 |
US9704245B2 (en) | 2015-08-18 | 2017-07-11 | International Business Machines Corporation | Determining localization from images of a vicinity |
CN109740037B (zh) * | 2019-01-02 | 2023-11-24 | 山东省科学院情报研究所 | 多源、异构流态大数据分布式在线实时处理方法及系统 |
US11797206B2 (en) * | 2020-12-17 | 2023-10-24 | EMC IP Holding Company LLC | Hash migration using a gold image library management system |
US11892980B2 (en) * | 2021-09-16 | 2024-02-06 | EMC IP Holding Company LLC | Memory optimized algorithm for evaluating deduplication hashes for large data sets |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060110029A1 (en) * | 2004-11-22 | 2006-05-25 | Masato Kazui | Pattern recognizing method and apparatus |
CN101236565A (zh) * | 2008-02-22 | 2008-08-06 | 南京大学 | 一种基于表示转换的多义数字图像检索方法 |
EP2063394A1 (en) * | 2006-08-31 | 2009-05-27 | Osaka Prefecture University Public Corporation | Image recognition method, image recognition device, and image recognition program |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7043474B2 (en) * | 2002-04-15 | 2006-05-09 | International Business Machines Corporation | System and method for measuring image similarity based on semantic meaning |
KR100903961B1 (ko) * | 2007-12-17 | 2009-06-25 | 한국전자통신연구원 | 시그니처 파일을 이용한 고차원 데이터 색인 및 검색방법과 그 시스템 |
US7970808B2 (en) * | 2008-05-05 | 2011-06-28 | Microsoft Corporation | Leveraging cross-document context to label entity |
-
2010
- 2010-06-02 US US13/376,890 patent/US20120084305A1/en not_active Abandoned
- 2010-06-02 WO PCT/JP2010/059352 patent/WO2010143573A1/ja active Application Filing
- 2010-06-02 JP JP2011518472A patent/JP5354507B2/ja not_active Expired - Fee Related
- 2010-06-02 EP EP10786104.9A patent/EP2442273A4/en not_active Withdrawn
- 2010-06-02 CN CN201080035625.1A patent/CN102460511B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060110029A1 (en) * | 2004-11-22 | 2006-05-25 | Masato Kazui | Pattern recognizing method and apparatus |
EP2063394A1 (en) * | 2006-08-31 | 2009-05-27 | Osaka Prefecture University Public Corporation | Image recognition method, image recognition device, and image recognition program |
CN101236565A (zh) * | 2008-02-22 | 2008-08-06 | 南京大学 | 一种基于表示转换的多义数字图像检索方法 |
Non-Patent Citations (2)
Title |
---|
Bernard Chazelle et al..The Bloomier Filter: An Efficient Data Structure for Static Support Lookup Tables.《SODA "04 Proceedings of the fifteenth annual ACM-SIAM symposium on Discrete algorithms》.2004,第30-39页. |
The Bloomier Filter: An Efficient Data Structure for Static Support Lookup Tables;Bernard Chazelle et al.;《SODA "04 Proceedings of the fifteenth annual ACM-SIAM symposium on Discrete algorithms》;20041231;第30-39页 * |
Also Published As
Publication number | Publication date |
---|---|
JP5354507B2 (ja) | 2013-11-27 |
JPWO2010143573A1 (ja) | 2012-11-22 |
WO2010143573A1 (ja) | 2010-12-16 |
EP2442273A1 (en) | 2012-04-18 |
EP2442273A4 (en) | 2014-04-23 |
CN102460511A (zh) | 2012-05-16 |
US20120084305A1 (en) | 2012-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102460511B (zh) | 用于物体识别的图像数据库的制作方法以及制作装置 | |
Jégou et al. | On the burstiness of visual elements | |
CN102422319B (zh) | 图像检索方法和图像存储方法 | |
US8892542B2 (en) | Contextual weighting and efficient re-ranking for vocabulary tree based image retrieval | |
CN102016918B (zh) | 物体识别用图像数据库的制作方法以及处理装置 | |
JP4883649B2 (ja) | 画像認識方法、画像認識装置および画像認識プログラム | |
CN104036012B (zh) | 字典学习、视觉词袋特征提取方法及检索系统 | |
CN102521618B (zh) | 局部描述子的提取方法、图片检索方法及图像匹配方法 | |
CN106844518B (zh) | 一种基于子空间学习的不完整跨模态检索方法 | |
CN110929080B (zh) | 基于注意力和生成对抗网络的光学遥感图像检索方法 | |
CN105718502A (zh) | 用于高效特征匹配的方法和设备 | |
CN102144231A (zh) | 用于基于文本的图像搜索结果重新排序的自适应视觉相似性 | |
CN104021234B (zh) | 一种基于自适应位分配哈希算法的大规模图像库检索方法 | |
CN103473307B (zh) | 跨媒体稀疏哈希索引方法 | |
WO2012102926A1 (en) | Method and apparatus of identifying similar images | |
CN106933824B (zh) | 在多个文档中确定与目标文档相似的文档集合的方法和装置 | |
Tolias et al. | Towards large-scale geometry indexing by feature selection | |
CN101515286A (zh) | 基于图像特征多级过滤的图像匹配方法 | |
CN105740428A (zh) | 一种基于b+树的高维磁盘索引结构和图像检索方法 | |
US20110314045A1 (en) | Fast set intersection | |
CN104504156B (zh) | 一种基于压缩感知理论的文本数据流抽样方法 | |
Han et al. | Grid graph-based large-scale point clouds registration | |
JP2009070066A (ja) | 文書および/または画像のデータベースへの登録方法およびその検索方法 | |
CN103678660B (zh) | 一种图像检索方法 | |
Leung et al. | Optimal web-scale tiering as a flow problem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140416 Termination date: 20150602 |
|
EXPY | Termination of patent right or utility model |