本发明总体涉及信号处理,更具体地涉及比较经受变换的信号。
背景技术:
在许多应用中,期望比较信号,诸如表示经受了变换的图像、声音或工业自动化信号的信号。这些变换可以包括平移、旋转、缩放等。此外,信号可以用控制变换的某一方面的参数来参数化。例如,如果变换是旋转,那么该参数可以为旋转的角度。类似地,如果变换是平移,那么参数可以为平移的量。
存在这种比较是必要的多个实例。例如,在许多应用中,需要识别正处理图像的成分,诸如拐角、车辆或面部的图像。为了识别这些成分,应将面部或汽车的图像的示例或模板与正处理的图像的元素进行比较以被识别。然而,正处理图像中的面部或汽车不是必须具有与示例图像中的面部或汽车相同的比例、位置或方位。
类似地,在许多工业应用中,可期望将从设备监测传感器获得的信号与正确设备操作的示例的模板信号进行比较。当信号不相似时,这是设备故障的指示,并且操作员应被告警。然而,这种信号与模板信号相比经常在时间上平移(延迟)。
在执行这种比较时存在多个方案。最常见的是将第一信号与第二信号的所有变换进行比较,并且选择最佳匹配的信号。该匹配的质量指示信号在变换下是多么相似。该方案的一个示例是确定信号的自相关,并且选择该自相关的峰,这是在多个应用中非常常见的一种方法。该比较经常可以现场执行,即,没有明确确定所有变换。
图1是传统信号比较技术的示意图,在该传统信号比较技术中,信号101-102可以相似,但例如由于时间上的平移而以某种方式变换。另选地,即使在考虑变换,两个信号103-104也可能不相似。期望确定表征相似性的距离度量。例如,在一个实施方式中,距离是欧几里得距离。通常,这使用互相关110来执行,其在所有可能变换(即,时间的平移)下确定两个信号的相关。这在所有变换下得到信号的对应信号距离115。从互相关和对应的距离,确定最大相关111和对应的最小距离116。
该方案的问题是在需要单个信号与例如存储在数据库中的超过一个信号进行比较以确定相似性时的固有计算复杂性。因为信号对的比较本质上根据所考虑的各种变换来比较许多信号,并且选择最佳匹配。即使在比较“就位”时,计算也可能是大量的。该问题在下面描述的另选不变方案中减轻。
一种另选方案是以相对于初始变换不变的方式进一步变换初始信号。换言之,即使在初始信号根据期望的不变性而具有不同的偏移、旋转或比例时,经变换的信号也将是相同的。随后比较经变换的信号,并且使用该比较的输出来确定信号的相似性。
与以上描述的对信号的所有对进行比较相比,变换通常在计算上较不密集。由此,可以使信号与数据库中的许多信号的比较较高效。在另一方面,不变方案的问题中的一个是通常难以或不可能发现具有适当不变性并且还保持足够信息以执行有意义的比较的变换。
类似的方案是从信号提取对所期望的变换不变的特征,并且不变换整个信号。然后,比较该特征,以确定匹配。这是在许多普遍图像描述符(诸如比例不变特征变换(sift)或梯度的压缩直方图(chog)或其他相似方法)中采用的方案。该方案的益处是比变换整个信号容易提取不变的描述符。缺点是这些描述符通常考虑到特定应用和任务(诸如检测图像中的对象)而设计的,并且特别是针对该任务进行了调整。对于各不同的任务,需要设计具有针对任务而调整了的适当特性的不同描述符。
技术实现要素:
为了克服上述问题且维持计算效率,本发明的实施方式提供了一种用于生成算子不变嵌入的方法。这些嵌入提供了一种在没有传统方法的缺点的情况下组合传统方法的益处的方式。嵌入提供特征提取机制,该特征提取机制与传统方法相反是通用的,并且不需要对于各应用或各信号类型特别设计。
此外,如果期望保持从嵌入生成得到的特定信息,则嵌入可以被认为是算子不变变换。在这种情况下,可以从嵌入恢复信号。嵌入的计算可以通过将信号与中间信号的集合及其全部变换进行比较来确定。
在之后的情况下,各信号与少量中间信号的所有变换进行比较。这些比较充当用于与从其他信号提取的特征进行比较的特征集合。由此,因为详尽的比较仅发生在一些模板信号,所以降低了将信号与所有其他信号的所有变换进行比较的计算成本。该比较的结果是特征,该特征与从所有其他信号提取的特征进行比较,该比较是较快速的比较。
附图说明
[图1]图1是传统信号比较技术的示意图。
[图2]图2是根据本发明的实施方式的生成嵌入的处理的示意图。
[图3a]图3a是根据本发明的实施方式的提取单个系数或特征的处理的示意图。
[图3b]图3b是根据本发明的实施方式的提取单个系数或特征的处理的示意图。
[图4]图4是根据本发明的实施方式的信号查询执行的示意图。
[图5]图5是根据本发明的另选实施方式的信号查询执行的示意图。
[图6]图6是根据本发明的另选实施方式的远程生成的客户机/服务器查询的示意图。
[图7]图7是根据本发明的实施方式的与图3a和图3b所示的示意图对应的伪代码。
具体实施方式
算子不变嵌入
图2示出了一种用于生成对于算子不变的针对信号的嵌入的方法的实施方式。使用各个测量向量ei210来测量所获取的信号x201,并且生成x的嵌入作为y240。
可以使用例如传感器205(例如,摄像头、麦克风或其他类型的传感器)在预处理步骤中获取205信号。信号可以为视觉信号,例如,图像或视频;音频信号,例如,语音和音乐;或工业自动化信号。另选地或另外地,信号可以由从信号提取特征的应用来获取,应用例如图像或语音处理应用。信号还可以通过感测工厂设备、机械系统、电气系统(诸如包括电池的电力存储系统)的传感器来获得。
使用测量处理220用测量向量集合ei210中的每个测量信号201,以产生对应的系数集合230。所有系数组合在向量中,以产生嵌入240y。
方法如领域中已知的可以在连接到存储器和输入/输出接口的处理器200中执行。
随后,可以如下所述的使用嵌入来比较信号的相似性。
信号相似性
为了比较两个信号,经常使用相似性测量或非相似性测量。相似性测量在两个信号相似时较高,并且在两个信号不相似时较低。非相似性测量在两个信号相似时较低,并且在信号不相似时较高。
非相似性测量的示例是信号距离,该信号距离是非常常见地用于信号比较中的测量。给定两个信号x,
其中,p≥1。非常相似的信号在信号相似时(即,x=x')具有小距离,并且距离为零。
如果一个信号是另一个信号的倍数,那么lp距离可能较高,但特定应用可以认为这些信号是相同的。由于该原因,经常使用另选的相似性测量,该相似性测量包括首先使信号归一化,然后确定它们的lp距离。该测量是
另一种有用相似性测量是类似于距离的散度。例如,布雷格曼散度(bregmandivergence)经常用于比较信号。布雷格曼散度可能或可能不满足三角不等式和对称性。
最有用相似性测量中的一个是信号相关c,被定义为
c(x,x')=<x,x'>=∑ixixi,.(3)
如同距离测量,信号乘以标量会影响如通过相关测量来测量的信号的相似性。在这种情况下,使用归一化的信号的相关系数是
在多个应用中,彼此相反的两个信号(即,x≈-x'或对于某一c>0,x≈-cx')仍然被认为相似。在这种应用中,相关或相关系数(即,|c(x,x’)|或|ρ(x,x’)|)的大小是信号的较合适的相似性测量。
经常优选的另选相似性测量基于被称为径向基核的函数。径向基核具有核仅是两个信号的距离||x-x'||p的函数的定义特性(即,对于一些合适的k(·)和p,核被定义为
k(x,x')=k(||x-x'||p),(5)
最常见的径向基核中的两个是拉普拉斯(laplacian)核和高斯(gaussian)核,分别被定义为
当然,多个其他相似性测量存在且可以用于该随后的展开。
为了设计根据本发明的实施方式的算子不变嵌入,除了信号x、x'之外,考虑由参数α参数化的算子
参数α表示变换的特定特性的特征。例如,如果变换是旋转,那么α可以为旋转的角度。如果变换是平移,那么α可以为平移量。如果算子组合多个变换,那么α可以为如对于各变换需要的参数的连音(tuplet)(例如,包括平移和旋转两这两者)。参数α例如可以取旋转中的值范围
对于参数α的各值,存在依赖于将反转tα的变换的逆值
嵌入还为算子e:s→v,其中,s是如上所述的信号空间,并且v是嵌入空间。通常,嵌入空间v对于一些m是rm或cm。如果该算子对对于所有
非相似性测量通常使用d(x,x')来表示,或者如对于应用适当的相似性测量s(x,x')。如果x类似于x',则相似性具有高的值,如果x不类似于x',则相似性具有低的值。如果x类似于x',则非相似性具有低的值,如果x不类似于x',则相似性具有高的值。
为了生成e(·),使用多个测量向量ei,i=1,...,m210。在通常的实施方式中,向量随机生成。它们的数量m依赖于应用。例如,m可以基于速度与精度之间的折衷。更高的m给出更高的精度。通常,m应远远小于信号的维数,而且可以依赖于将被比较的信号的数量。例如,如下面描述的,在数据库查询和搜索应用中,m在增加数据库中的信号的数量的同时对数地增加。通常的数量依赖于应用类型。例如,当使用嵌入来在图像中寻找模板时,有人将期望m小于数百(通常小于200)。
依赖于信号空间
参照图3a和图3b更详细地描述测量处理220的实施方式。
为了用测量处理220测量信号201,本发明的实施方式从参数集合生成足够细的有限网格g(即,
图3a由示例示出了如何使用网格点来用多个变换(一个变换用于一个网格点)变换各测量向量210。特别地,对于各网格点,使用变换
图3b示出了另选或另外的实施方式,在图3b中,信号201在变换320中使用各参数来变换,并且结果使用相似性或非相似性度量310与测量向量210进行比较。为了产生系数230,所选匹配330用于计算所变换信号与测量向量340的内积。
图7中示出了根据图3a和图3b的示意图确定嵌入的程序的伪代码。
在优选实施方式中,对于各测量向量,程序首先确定使测量与信号的相似性最大化的测量向量中的变换(步骤2)。为了这样做,程序依赖于非相似性函数d(·,·)或相似性函数s(·,·)中的哪一个可由应用使用来使非相似性函数最小化或使相似性函数最大化。然后,程序使用该变换测量信号(步骤3)。注意,步骤2和步骤3可以分别由以下代替
在大多数(但不是所有)变换中,两个算式是等价的且可互换地使用。
图7中的算式对应于图3a所示的实施方式,并且(8)和(9)中的另选算式对应于图3b的实施方式。图7中的伪代码通常在实际系统中较容易实施,特别是在测量大量信号时。
嵌入函数的主要输出是测量结果的向量y。可选地,如果应用需要偏移,则函数还返回最佳变换参数
给定两个信号x、x'及其嵌入y=e(x)、y'=e(x'),然后可以使用v中近似定义的相似性或非相似性函数s(y,y')或d(y,y')评价它们的相似性或非相似性。该相似性或非相似性近似地表示在用从参数集合r取得的参数将x的所有变换与x'的所有变换进行比较时的最大相似性或最小非相似性。
如果实施方式还保持用于计算嵌入的最佳变换参数,那么可以将用于嵌入两个信号的参数进行比较,以产生将与信号对齐或匹配的最佳变换。例如,参数的平均值或中间相对值或最佳匹配系数的平均值或中间相对值可以为一个信号为了与另一个信号匹配应经受的相对变换的估计值。
嵌入向量还可以使用适当的量化函数量化为q=q(y)。如果例如应存储或发送嵌入且需要减小所用的位速率,则这是非常有用的。
为了基于与嵌入的比较进一步提高信号取得的速度,还可以确定嵌入的散列h=h(y),该散列还可以为局部敏感散列(lsh)。
用途和协议
存在这些嵌入的多个用途。一种最重要的用途是来自数据库(例如,图像的数据库)的算子不变信号取得。在该应用中,使用算子不变方法在信号的数据库中搜索与进来的查询信号类似的信号。通过确定数据库中的所有信号的嵌入并将嵌入作为索引存储到数据库使用适当的算子不变嵌入来准备数据库。
当执行查询时,首先确定查询信号的嵌入。将嵌入与数据库中的所有信号的嵌入进行比较。依赖于应用,返回最紧密的匹配或多个最紧密的匹配,或者返回紧密匹配在数据库或不在数据库中的指示。这在与将查询信号与用于参数空间中的所有参数的数据库中的所有信号的所有变换进行比较的另选方案对比时是更快的比较。准备数据库的初始计算成本较小(特别是在需要执行许多查询的时候)。
如果根据数据库中的所有信号从它们的嵌入确定局部敏感散列且将散列连同信号及其嵌入一起存储,则可以进一步减少查询时间。当执行查询时,使用同一散列函数从嵌入确定散列。仅选择数据库中具有相同散列的一些信号来比较。
图4和图5示意性示出了根据本发明的实施方式准备并查询信号的数据库。
图4示出了可以如何在没有散列的情况下将上述嵌入用于准备并查询信号的数据库450。数据库首先如下来准备420。对于各信号x421,计算嵌入y422。嵌入连同信号一起形成对(x,y)423。该对是索引条目。所有索引条目存储在索引(该索引存储在数据库450中)中且用于使用领域中已知的索引方法来索引数据库。
为了用查询信号x'411来查询数据库,通过计算查询信号的嵌入y'412来准备410查询。通过将查询信号的嵌入y'与数据库450中的各个信号的嵌入y进行比较413来执行查询。选择匹配信号,作为查询结果。最佳匹配或多个匹配包括查询结果414。这些步骤还可以在连接到数据库的处理器中执行。
查询的输出415基于查询结果。例如,输出可以是匹配信号本身或与匹配信号关联的元数据或基于匹配信号的决策(诸如允许或不允许接近用户)。
图5示出了嵌入可以如何与散列一起用于准备并查询信号的数据库。与图4类似,通过首先计算522各信号x521的嵌入y来准备520数据库。从嵌入523计算散列h。来自所有信号的散列是索引条目且用于建立数据库550的索引524。索引使用领域中已知的索引方法来索引信号和信号根据嵌入散列的嵌入。
以类似样式准备510查询。计算512查询信号511的嵌入,并且计算513嵌入的散列。在一些但不是所有实施方式中,使用散列和嵌入本身来查询数据库。
通过从数据库的索引取得具有与查询散列相同的散列的所有信号的列表来执行514查询。这些是来自数据库的所有匹配信号。如果取得中还使用查询嵌入,那么还可以将所取得信号的嵌入与查询信号的嵌入进行比较,以减少匹配信号的数量。匹配信号是查询结果515。在一些实施方式中,可以使用多个散列来提高使用领域中公知的方法的取得的精度。
与图4中的实施方式类似,在该实施方式中,查询的输出515基于查询结果。例如,输出可以是匹配信号本身或与匹配信号关联的元数据或基于匹配信号的决策(诸如允许或不允许接近用户)。
在图6所示的优选实施方式中,远程生成查询(即,存在执行查询准备510并使用网络查询存储在服务器602处的数据库550的客户机601)。数据库已经使用上述的协议来准备520。在这种情况下,客户机可以发送信号或信号的压缩版本,并且数据库可能在解压信号之后遵循上述协议。另选地,客户机可以以某一其他方式来确定嵌入,量化嵌入或编码或压缩嵌入,并且向服务器发送嵌入,以继续搜索协议514。服务器取得匹配信号515并向客户机发送查询输出516。虽然图6演示了使用图5所述的索引数据库的客户机/服务器实施方式,但还可以以类似方式实施基于图4所述的数据库准备的客户机/服务器实施方式。