首页 / 空间划分方法和空间划分设备

空间划分方法和空间划分设备失效专利 发明

技术领域

[0001] 本文所讨论的实施方式涉及空间划分方法等。

相关背景技术

[0002] 例如,当在各种系统中对用户进行认证时,执行如下处理:该处理用于获得用户的生物信息并且确定在预先登记的数据库中是否存在与所获得的生物信息匹配的生物信息。此时,相似性搜索有效,原因是在认证时所获得的生物信息几乎不会与在注册时所获得的生物信息完全匹配。
[0003] 至于在执行相似性搜索时的相似度的表示,存在如下技术:该技术用于将生物信息的特征值变换成为散列向量,使得其散列向量之间的汉明距离较短的生物信息被指定为相似生物信息。
[0004] 通过传统技术,通过使用超平面将特征值变换成为散列向量,但是也存在其中通过使用超球体将特征值变换成为散列向量的处理,并且预计在使用超球体时可以更好地预期精度的提高。
[0005] 专利文献1:日本公开特许公报No.10-247243
[0006] 专利文献2:日本公开特许公报No.2012-160047
[0007] 专利文献3:日本公开特许公报No.2011-100395
[0008] 专利文献4:日本公开特许公报No.2010-81251
[0009] 专利文献5:日本公开特许公报No.2012-243197
[0010] 非专利文献1:Jae-Pil Heo,Youngwoon Lee,Junfeng He,Shih-Fu Chang和Sung-Eui Yoon."Spherical hashing",CVPR,第2957-2964页,2012。
[0011] 非 专 利 文 献 2:Kengo Terasawa 和 Yuzuru Tanaka."Spherical lsh for approximate nearest neighbor search on unit hyper-sphere",FrankK.H.A.Dehne,Jorg-Rudiger Sack,和Norbert Zeh,editors,WADS,计算机科学讲稿第
4619卷,第27-38页.Springer,2007。
[0012] 然而,对于传统技术,无法以较高的精确度来执行使用散列向量的相似性搜索。
[0013] 例如,在通过使用超球体将特征向量变换成为散列向量时,存在如下情况:对于彼此显著不同的特征向量,在变换成散列向量之后的汉明距离可能会由于虫洞的影响而变得较小。因此,不同的特征向量可能会被错误地确定为相似特征向量。
[0014] 现在,将对虫洞进行描述。图13至图15为示出虫洞的图。例如,考虑通过使用超球体将m维特征空间V划分成区域,并且取决于区域处于超球体内还是处于超球体外来向每个区域分配位串。取决于超球体的布置,彼此不相连的区域A和区域B可能会具有相同的位串(0,0,0),如图13所示。
[0015] 在发生图13所示的现象的情况下,当基于被分配给特征向量的位串之间的汉明距离来估计特征向量之间的相似性时,即使特征向量彼此显著分开,汉明距离也可能会变得较小。为了理解该非连接性,可以假设在区域A与区域B之间连接有管10,如图14所示。在求得广义相对论的特解之后将该管命名为“虫洞”。
[0016] 图15示出在通过使用超球体S将一维特征空间划分成区域时出现的非连接区域,以及连接在区域之间的虫洞11。超球体S由超平面12a和12b划分成为区域。例如,超平面12a左侧的区域的第一位被分配“1”,并且超平面12a右侧的区域的第一位被分配“0”。超平面12b右侧的区域的第二位被分配“1”,并且超平面12b左侧的区域的第二位被分配“0”。因而,虽然图15的南极附近和北极附近彼此不相连,但是它们被分配有相同的位串(0,0)。这归因于连接在超球体S的南极附近与北极附近之间的虫洞11。

具体实施方式

[0034] 将参照附图来说明本发明的优选实施方式。注意,实施方式并非为了限制本发明的范围。
[0035] 将对根据实施方式1的搜索设备的示例配置进行描述。该搜索设备为空间划分设备的示例。图1为示出根据本实施方式的搜索设备的配置的功能框图。如图1所示,搜索设备100包括特征值存储单元101、查询存储单元102、位串存储单元103、逆球极平面投影单元104a和104b以及位串生成单元105a和105b。搜索设备100还包括布置单元106、汉明距离计算单元107和相似向量指定单元108。
[0036] 特征值存储单元101是用于存储多个特征向量的存储单元。图2示出特征值存储单元的示例性数据结构。如图2所示,特征值存储单元101存储识别信息和特征向量,使得它们彼此相关联。识别信息是用于唯一指定特征向量的信息。特征向量为例如从用户的生物信息获得的m维特征值的数据。可以使用传统技术中的任意技术作为用于从生物信息获得特征向量的方法。例如,m为整数1或者更大。
[0037] 查询存储单元102是用于存储查询特征向量的存储单元。搜索设备100在特征值存储单元101中搜寻与查询特征向量类似的特征向量。
[0038] 位串存储单元103是用于存储从之后要描述的位串生成单元105获得的位串的存储单元。图3示出位串存储单元的示例性数据结构。如图3所示,位串存储单元103存储识别信息和位串,使得它们彼此相关联。该识别信息是用于唯一指定根据其生成位串的特征向量的信息。该位串是基于特征向量而生成的位串。
[0039] 逆球极平面投影单元104a和104b是用于使m维特征空间V经受逆球极平面投影、以使得特征空间V与(m+p-1)维超球体S相关联的处理单元,其中该(m+p-1)维超球体S嵌于维度数比m维高出p维的空间W中。此处,p为整数1或更大。在以下描述中,可以将逆球极平面投影单元104a和104b统称为逆球极平面投影单元104。
[0040] 图4和图5均为示出特征空间V与超球体S之间的关系的图。通过逆球极平面投影,特征空间V上的点与超球体S上的点相关联,如图4所示。在图4所示的示例中,特征空间V上的点xV与超球体S上的点xS相关联。将特征空间V与在超球体S的北极SN与南极SS之间延伸的直线的相交处定义为x0。例如,用于北极SN的坐标集合为(xS1,xS2,…,xSm,1),以及用于南极的坐标集合为(xS1,xS2,…,xSm,-1)。
[0041] 将从特征空间V到超球体S的北极SN的高度定义为d。经过点xV和北极SN的直线与超球体S的表面之间的相交处对应于xS。例如,如图5所示,超球体S的截面SA对应于特征空间V的区域VA。
[0042] 现在,逆球极平面投影为球极平面投影的逆操作。在配置超球体S和特征空间V、有直线从北极SN延伸以与超球体S相交的情况下,如图4所示,将球极平面投影定义为从超球体S与该直线之间的相交处xS到该直线与特征空间V之间的相交处xV上的映射。注意,图4所示的示例表示p的值为1的情况。
[0043] 假设在特征空间V的特征向量(坐标集合)为(x1,x2,…,xm)的情况下,逆球极1 2
平面投影“f-:V→U”如以下表达式(1)所示。然而,注意,表达式(1)中的r 如表达式(2)中所定义的。
[0044]
[0045]
[0046] 在表达式(1)和(2)中,x0和d为参数。参数x0和d对应于图4中所示的x0和d。参数x0为特征空间V上的被映射到超球体S的南极SS上的点的坐标。参数d为用于调节球极平面投影的比例的参数,并且参数d与当将超球体S的赤道映射到特征空间V上时超球体S的半径对应。注意,超球体S的赤道的坐标集合为(xS1,xS2,…,xSm,0)。
[0047] 逆球极平面投影单元104基于所指定的参数x0和d以及表达式(1)来执行特征向量的逆球极平面投影。注意,逆球极平面投影单元104可以使参数x0和参数d的信息预存储于其中。
[0048] 逆球极平面投影单元104a基于表达式(1)和查询存储单元102中所存储的特征向量来执行逆球极平面投影,从而计算在超球体S上的对应于特征向量的坐标集合。逆球极平面投影单元104a将所计算的坐标集合输出至位串生成单元105a。
[0049] 逆球极平面投影单元104b基于表达式(1)和特征值存储单元101中所存储的特征向量来执行逆球极平面投影,从而计算在超球体S上的对应于各个特征向量的多个坐标集合。逆球极平面投影单元104b将所计算的坐标集合输出至位串生成单元105b。
[0050] 位串生成单元105a和105b是用于根据变换规则将超球体S上的坐标集合变换成位串的处理单元。位串对应于散列向量。在以下描述中,可以将位串生成单元105a和105b统称为位串生成单元105。位串生成单元105是生成单元的示例。
[0051] 在表达式(3)中,n×(m+1)矩阵“W11,W12,…,Wn(m+1)”的信息以及n×1“c1,c2,…,cn”的信息为变换规则。位串生成单元105从之后要描述的布置单元106中获得变换规则。在表达式(3)中,信息“x1,x2,…,xm+1”是超球体S上的坐标集合。
[0052]
[0053] 位串生成单元105通过求解表达式(3)来计算“b1,b2,b3,…,bn”。例如,位串生成单元105如以下表达式(4)所示来计算bN。
[0054] bN=(WN1×x1+WN2×x2+…+WN,m+1×xm+1)+cN (4)
[0055] 在计算了“b1,b2,b3,...,bn”之后,如果bN的值为正,则位串生成单元105将bN变换成“1”,而如果bN的值不为正,则位串生成单元105将bN变换成“0”,从而计算出位串。例如,在“b1,b2,b3,…,bn”的值分别为正,负,正,...,正的情况下,位串生成单元105生成位串“1,0,1,...,1”。
[0056] 位串生成单元105a基于从逆球极平面投影单元104a获得的坐标集合来生成位串,并将所生成的位串输出至汉明距离计算单元107。
[0057] 位串生成单元105b基于从逆球极平面投影单元104b获得的多个坐标集合来生成多个位串,并将所生成的位串输出至位串存储单元103。
[0058] 布置单元106为用于在超球体S中跨(m+p-1)维超球体S布置n个超平面的处理单元。布置单元106还基于布置的结果生成变换规则。在下文中,将描述布置单元106指定各个超平面的初始布置的处理,然后描述布置单元106生成变换规则的处理。
[0059] 现在描述布置单元106指定各个超平面的初始布置的处理。布置单元106从特征值存储单元101获得特征向量,并且针对每个特征向量来计算方差-协方差矩阵的本征值的平方根。布置单元106将本征值中最大的一个指定为σ。布置单元106还将所指定的σ的方向定义为“vecN”。
[0060] 布置单元106计算在vecN方向上的三阶矩作为ν。例如,布置单元106基于以下(k)表达式(5)来计算三阶矩。在表达式(5)中,xi 对应于第k个特征向量的第i位,u对应于特征向量的平均值,以及K对应于特征向量的数目。
[0061]
[0062] 然后,布置单元106对特征向量执行主成分分析,并且计算累计贡献率。例如,布置单元106执行主成分分析以便获得第一主成分至第N主成分的跨距(spread)。布置单元106从具有最大的跨距的主成分开始按降序来布置各个主成分的跨距,以将主成分表示为σ1,σ2,…,σN。布置单元106基于以下表达式(6)计算λ。布置单元106还基于以下表达式(7)来计算累计贡献率λm。
[0063]
[0064]
[0065] 在水平轴表示成分的数目“i”并且垂直轴表示对数累计贡献率“logλi”的曲线图上,布置单元106绘制i与logλi之间的关系,从而根据绘图结果指定近似直线。例如,布置单元106通过使用最小二乘法等来指定近似直线。图6示出近似直线的示例。布置单元106在使用“γ+1”作为近似直线的斜率时进行计算。
[0066] 布置单元106将通过超球体S的赤道的球极平面投影而获得的圆形图像的半径表示为R。图7为示出通过超球体S的赤道的球极平面投影而获得的圆形图像的半径的示例的图。如图7所示,通过超球体S的赤道SE的球极平面投影而获得的圆形图像为VAA。那么,圆VAA的半径为R。
[0067] 布置单元106基于表达式(8)来计算c1,并且基于表达式(9)来计算c2。
[0068] c1=(2/(1+exp(σ/((γ+1)R))))–1 (8)
[0069] c2=sgn(ν)|ν|1/3/R (9)
[0070] 布置单元106将超平面之间的共同相交处的位置设置成沿m+1维方向从超球体S的中心偏移c1并且沿vecN方向偏移c2的位置。布置单元106还根据多维标准正态分布采样n个法向向量。布置单元106将具有所采样的法向向量、并且经过共同相交处的超平面设置为初始位置。
[0071] 接着,描述布置单元106生成变换规则的处理。布置单元106基于超平面的法向向量的信息和超平面的偏移量生成变换规则信息。布置单元106通过布置所述n个法向向量来生成n×(m+1)矩阵“W11,W12,…,Wn(m+1)”信息。例如,表达式(3)的n×(m+1)矩阵的每一行对应于法向向量。注意,布置单元106向n×(m+1)矩阵信息中的任何缺失的维度分配随机值。布置单元106还生成偏移坐标作为n×1信息。
[0072] 布置单元106将n×(m+1)矩阵信息和n×1信息输出至位串生成单元105。
[0073] 汉明距离计算单元107为如下处理单元:该处理单元用于计算从位串生成单元105a获得的位串与位串存储单元103中所存储的位串中的每一个之间的汉明距离。根据具有相同位数的两个二进制值之间的比较而获得的汉明距离是所述二进制值彼此不同的位的数目。在以下描述中,将从位串生成单元105a获得的位串表示为查询位串。
[0074] 汉明距离计算单元107将所计算的、在查询位串与来自位串存储单元103的位串中的每个位串之间的汉明距离输出至相似向量指定单元108。
[0075] 相似向量指定单元108从汉明距离计算单元107获得所计算的汉明距离,并且按照相对于查询位串的汉明距离的升序对位串进行排列。相似向量指定单元108可以将所排列的位串中排名最高的位串作为与查询位串相对应的位串输出,或者可以将排列结果输出。
[0076] 接下来,描述根据本实施方式的搜索设备100的示例性过程。图8为示出根据本实施方式的搜索设备的过程的流程图。如图8所示,搜索设备100的布置单元106执行设置超平面的初始位置的处理(步骤S101)。
[0077] 搜索设备100的逆球极平面投影单元104a使查询的特征向量经受逆球极平面投影,从而生成查询位串(步骤S102)。逆球极平面投影单元104b使来自特征值存储单元101的特征向量经受逆球极平面投影,从而生成位串(步骤S103)。
[0078] 搜索设备100的汉明距离计算单元107计算查询位串与来自位串存储单元103的位串之间的汉明距离,并且相似向量指定单元108指定与查询位串相似的位串(步骤S104)。
[0079] 接下来,描述图8的步骤S101中的设置超平面的初始位置的处理。图9为示出设置超平面的初始位置的处理的过程的流程图。布置单元106获得特征向量的方差-协方差矩阵中的每个方差-协方差矩阵的最大本征值的平方根σi,并且将平方根σi中最大的一个设置为σ,如图9所示(步骤S201)。
[0080] 布置单元106将σ的方向设置成vecN(步骤S202)。布置单元106针对特征向量执行主成分分析,并且计算累计贡献率(步骤S203)。布置单元106指定作为绘图的结果而获得的近似直线,在该绘图中,水平轴表示成分的数目并且垂直轴表示对数累计贡献率(步骤S204)。
[0081] 布置单元106将近似直线的斜率设置成γ+1(步骤S205)。布置单元106将通过超球体S的赤道的球极平面投影而获得的圆形图像的半径设置成R(步骤S206)。
[0082] 布置单元106计算c1和c2(步骤S207)。对于该步骤,布置单元106基于表达式(8)和(9)来计算c1和c2。
[0083] 布置单元106将公共相交处的位置c确定成沿m+1维方向从超球体S的中心偏移c1并且沿vecN方向偏移c2的位置(步骤S208)。
[0084] 布置单元106根据多维标准正态分布采样n个法向向量(步骤S209)。布置单元106将具有所采样的法向向量并且经过公共相交处的超平面设置为初始超平面位置(步骤S210)。
[0085] 接下来,描述根据本实施方式的搜索设备100的有益效果。在通过将特征向量逆球极平面投影到由多个超平面划分成区域的超球体上来指定位串时,搜索设备100设置超平面的初始位置、使得超平面的相交处包含在超球体S内。这样,通过设置超平面的初始位置、使得超平面的相交处包含在超球体内,可以防止虫洞的出现,从而消除如下情况:对于彼此显著不同的特征向量,在变换成散列向量之后的汉明距离变得较小。因此,使用搜索设备100,可以以高的精确度来执行使用特征向量的相似性搜索。
[0086] 图10为示出根据本实施方式的搜索设备的有益效果的图。在图10所示的示例中,超平面13a、13b和13c之间的相交处存在于超球体S内。因而,不存在虫洞,并且可以解决其中彼此显著分开的特征向量可能被分配相同位串的问题,如图15所示。
[0087] 现在,布置单元106设置超平面的初始位置的处理不限于上述处理。以下描述布置单元106设置超平面的初始位置的另一处理。
[0088] 布置单元106根据标准正态分布采样n个法向向量和偏移,并且基于所采样的法向向量和偏移来确定n个超平面的布置。如果n个超平面的相交处存在于无穷远的点处,则布置单元106再次执行采样以确定n个超平面的布置。
[0089] 如果对于n个超平面相交处并非存在于无穷远的点处,则布置单元106确定该相交处是否全部存在于超球体S内。如果相交处并非全部存在于超球体S内,则布置单元106将n个超平面的偏移减小一半,并且再次确定相交处是否全部存在于超球体S内。
[0090] 如果相交处全部存在于超球体S内,则布置单元106将超平面的当前位置指定为初始位置。
[0091] 图11为示出设置超平面的其它初始位置的处理的过程的流程图。如图11所示,布置单元106根据标准正态分布采样法向向量和偏移,指定超平面的布置(步骤S301),并确定相交处是否存在于无穷远的点处(步骤S302)。如果相交处存在于无穷远的点处(步骤S302中是),则布置单元106进行至步骤S301。
[0092] 另一方面,如果没有相交处存在于无穷远的点处(步骤S302中否),则布置单元106确定由超平面形成的相交处是否全部存在于超球体S内(步骤S303)。如果由超平面形成的相交处并非全部存在于超球体S内(步骤S303中否),则布置单元106将所有超平面的偏移减小至1/2(步骤S304)并且进行至步骤S303。
[0093] 另一方面,如果由超平面形成的相交处全部存在于超球体S内(步骤S303中的是),则布置单元106将超平面的当前位置设置为初始位置(步骤S305)。
[0094] 当布置单元106如上所述地指定超平面的初始位置时,超平面的相交处包含在超球体S内,可以防止虫洞的出现,从而消除如下情况:对于彼此显著不同的特征向量,在变换成散列向量之后的汉明距离变得较小。因此,使用搜索设备100,可以以高的精确度来执行使用特征向量的相似性搜索。
[0095] 以上描述的实施方式涉及如下情况:在存在于具有比特征空间V的维度高出一维的维度的空间中的超球体S上执行逆球极平面投影,但是本发明不限于此。本发明类似地适用于如下情况:例如,在存在于具有比特征空间V的维度高出两维或更多维的维度的空间中的m维球体上执行逆球极平面投影。
[0096] 接下来,将描述如下示例性计算机:该示例性计算机用作实现与上述实施方式中所示的搜索设备100的那些功能类似的功能的图像处理设备。图12为示出执行空间划分程序的示例计算机的图。
[0097] 如图12所示,计算机200包括用于执行各种算术运算的CPU 201、用于接收来自用户的数据输入的输入设备202以及显示器203。计算机200还包括用于从存储介质读取程序的读取器204,以及用于经由网络与其它计算机交换数据的接口设备205。计算机200还包括硬盘设备207和用于暂时存储各种信息的RAM 206。设备201至设备207被连接至总线208。
[0098] 硬盘设备207包括布置程序207a。CPU 201读出程序207a并将其提取到RAM 206上。布置程序207a起布置处理206a的作用。例如,布置处理206a对应于布置单元106。
[0099] 注意,不必预先将布置程序207a存储在硬盘设备207中。例如,可以将程序存储在要插入计算机200中的“便携式物理介质”中、例如软盘(FD)、DC-ROM、DVD盘、磁光盘和IC卡等。然后,计算机200可以从该“便携式物理介质”读出布置程序207a并执行该布置程序207a。
[0100] 本发明的一种实施方式提供了如下有益效果:使得可以以高的精确度来执行使用特征向量的相似性搜索。

当前第1页 第1页 第2页 第3页