用于转换基于梯度直方图的图像描述符的方法和相关图像处理设备
具体说明
本发明涉及稳健的、有辨别力的、可伸缩并且紧凑的图像描述符的计算。
更具体地,本发明涉及通过计算图像感兴趣点周围的局部区域内的子区域的梯度的直方图而在所述局部区域中计算出的图像描述符。
图像描述符已在很多计算机视觉应用中找到了广泛的适用,举几个例子来说,所述计算机视觉应用包括对象识别、基于内容的图像检索和图像配准。这类图像描述符最广为人知的示例之一是尺度不变特征转换(SIFT)描述符。
简而言之,利用SIFT方法,局部图像描述符是这样形成的:首先,跨多个图像尺度和位置的搜索被执行以识别和局部化具有尺度和朝向不变性的稳定的图像关键点;然后,对于每个关键点,一个或多个主导朝向基于局部图像梯度被确定,从而允许后续局部描述符计算相对于每个关键点被指派的朝向、尺度和位置被执行,从而实现对这些转换的不变性。
然后,关键点周围的局部图像描述符是这样形成的:首先,梯度幅度和朝向信息在关键点周围的区域中的图像样本点处被计算;然后,这些样本被累积到概括了n×n个子区域上的内容的朝向直方图中。
仅通过例示,关键点描述符的示例被示于图1a和图1b,其中图1a示出局部区域R被细分为4×4个子区域SR,图1b示出对于每个朝向直方图h,360度的朝向范围被细分为八个槽(bin)h,每个箭头的长度对应于该直方图条目的幅度。
因而,图1a中例示的局部图像描述符具有4×4×8=128个元素。SIFT方法在David G.Lowe的“Distinctive image features fromscale-invariant keypoints”,International Journal of ComputerVision,60,2(2004),pp.91-110中被更详细地给出。
存在SIFT方法的许多替代和变体,它们采用不同的机制来进行稳定图像关键点的检测,采用不同的方法来进行关键点周围的局部区域的细分,并且采用不同的方法来进行子区域梯度直方图的计算。
例如,图2a和图2b分别示出像K.Mikolajczyk和C.Schmid的“A performance evaluation of local descriptors”,IEEETransactions of Pattern Analysis and Machine Intelligence27(10):1615-1630中描述的梯度位置朝向直方图(GLOH)和Chandrasekhar等人的“Compressed Histogram of Gradients:A Low-Bitrate Descriptor”,International Journal on Computer Vision,Vol.94,No.5,May 2011中描述的非压缩梯度直方图(UHoG)之类的其他技术的对数极坐标空间细分特征,来作为SIFT方法中采用的笛卡尔空间细分的替代。
作为另一示例,图3示出用于基于梯度的x和y分量的二维空间到槽的细分(UHoG的特征)来计算梯度直方图的方法,以作为SIFT方法中采用的360度的梯度朝向范围到槽的细分的替代。
上述现有技术这里仅作为产生图像描述符的技术的示例被考虑,基于此,本发明执行稳健的、有辨别力的、可伸缩并且紧凑的图像描述符的计算。
虽然如之前讨论过的,这种图像描述符已在很多计算机视觉应用中找到了广泛的适用,但是这些图像描述符的以字节为单位的大小所定义的存储和传输成本在某些应用领域通常被认为是高的。这是因为,虽然图像中的关键点的局部图像描述符的大小可能较低,但是整个图像描述符将包含数百个这种关键点及其相关的局部描述符,这意味着整个图像描述符可能具有堪比从中提取该图像描述符的实际图像的JPEG压缩版本的大小。
这种级别的描述符大小被认为有问题的一个这类应用领域是使用移动终端的视觉搜索。虽然不同架构在该应用领域中是可行的,但是一个典型架构需要由诸如移动电话之类的移动终端客户端捕捉感兴趣对象的图像、由客户端自动提取图像描述符、通过无线通信网络将图像描述符传送到将处理该图像描述符并提供诸如有关感兴趣对象的身份或附加信息之类的适当响应的服务器,以及将该响应返回给客户端。因此,很明显,希望从客户端通过无线网络传送到服务器的信息量最小化。为了这类应用的利益,这种图像描述符的压缩已取得了大量进展。
压缩基于梯度直方图的关键点描述符的最简单的方法是借助直方图槽值的标量量化,这意味着分别减少用于表示每个槽值的比特数目。实践中,该方法通常不被使用,这是因为难以在不大幅损害描述符的辨别力的情况下取得非常高的压缩率。例如,每槽八比特的SIFT描述符直方图槽的编码通常被使用,但导致图像描述符的以字节为单位的大小对于通过无线网络的传送而言通常被认为太大。另一方面,标量量化到每个槽仅几个(例如仅一个或两个)比特被发现损害图像描述符的辨别力。
因此,更复杂的压缩方案已被提出。这类方案的回顾在V.Chandrasekhar等人的“Survey of SIFT compression schemes”,Proceedings of International Conference on Pattern Recognition(ICPR),Istanbul,Turkey,August 2010中被给出。
简而言之,围绕着向量量化(借助向量量化,通过将槽值映射到有限个代表性向量质心来将这些槽值联合量化)的方案已特别流行并以各种形式被研究,如树状结构和乘积向量量化。这类方法的缺点在于它们需要较高的计算复杂度和相当大的存储要求(数十万字节到几百万字节或更多)来存储质心,质心的数目可能从几千到几百万不等,并且质心数目的确定也需要计算上非常复杂的训练阶段。
围绕着类型编码的方案也已被彻底研究,借助类型编码,槽值通过在包含所有可能的输入向量的空间内形成类型的统一格子并针对任一给定的输入向量,用最接近该向量的类型的索引对其进行编码而再次被联合量化。这类方法的存储要求与向量量化方法相比被降低,但也被发现得出的压缩描述符在高压缩率时的识别性能上无法与向量量化的描述符相提并论。总的来说,与类型编码相关的计算成本明显高于简单标量量化的计算成本。
其他压缩方案对例如128维SIFT关键点描述符之类的关键点描述符使用诸如PCA之类的已知维度降低方法,然后进行结果维度的标量量化。这类方法的关键问题在于它们需要高计算复杂度和高的过训练风险。
总之,现有的压缩基于梯度直方图的描述符和生成稳健的、有辨别力的、可伸缩并且紧凑的图像描述符的方法展现出某些缺点。
诸如描述符元素的标量量化之类的简单方法具有非常低的计算复杂度和存储需求的优点,但是已被发现在高压缩率时损害描述符的辨别力。
更复杂的方法已被示出在高压缩率时取得较好的性能,但遭遇不同的缺点。向量量化方法具有显著增加的计算复杂度和存储需求。类型编码方法需要增加的复杂度,虽然不被向量量化方法的存储需求所累,但也被发现与这些向量量化方法相比表现不佳。另外,无论是向量量化还是类型编码方法都不是很适合压缩域中的维度降低。诸如PCA之类的基于已知的维度降低技术的方法也已被采用,但是也遭遇高计算复杂度和高的过训练风险。
因此,本发明的目的在于指示允许减小图像描述符的大小的用于转换基于梯度直方图的图像描述符的方法。
本发明的另一目的在于指示用于转换基于梯度直方图的图像描述符的方法,其允许降低其存储和传送的成本,特别是在移动终端应用中通过无线网络传送的成本。
本发明的又一目的在于指示用于转换基于梯度直方图的图像描述符的方法,其允许减小由与围绕图像关键点的子区域有关的多个梯度直方图构成的图像描述符的大小。
本发明的这些目的和其他目的是通过所附权利要求中要求保护的用于转换基于梯度直方图的图像描述符的方法和相关图像处理设备来实现的,这些权利要求是本说明书的组成部分。
在合成上,本发明涉及基于梯度直方图的转换从采用梯度直方图的图像描述符计算稳健的、有辨别力的、可伸缩并且紧凑的图像描述符,其中所述转换捕捉以分布形状的形式包含在其中的显著且稳健的信息以及它们的槽值之间的关系。更具体地,本发明通过计算与直方图槽之间的关系相对应的值来转换梯度直方图。
根据本发明的方法还涉及基于处理与图像关键点周围的子区域有关的梯度的直方图的不同方法来计算稳健的、有辨别力的、可伸缩并且紧凑的图像描述符。
本发明的其他特征在意欲成为本说明书的组成部分的所附权利要求中被提出。
以上目的将通过以下对用于转换基于梯度直方图的图像描述符的方法的、特别是参考附图的详细说明变得更清楚,附图中:
-图1a和图1b示出现有技术关键点描述符的示例;
-图2a和图2b示出GLOH和UHoG现有技术中分别使用的空间细分方案;
-图3示出用于计算UHoG技术的梯度直方图的方法;
-图4a和图4b示出根据本发明的关键点描述符的示例;
-图5至7示出处理与围绕图像关键点的子区域相对应的梯度的直方图的不同方式;
-图8至13表示根据本发明的六个实施例的流程图;
-图14例示了使用图2b的空间细分方案的根据本发明的图像描述符的处理;
-图15例示了使用图3a的梯度直方图细分方案的根据本发明的图像描述符的处理;
-图16例示了适合于执行根据本发明的方法的图像处理设备。
通过示例而不带任何限制,本发明的方面被给出,以用于从图像描述符(特别是图4中例示的SIFT图像描述符)计算稳健的、有辨别力的、可伸缩并且紧凑的图像描述符,图4a例示了局部区域R到4×4个子区域SR的示例细分,图4b例示了用于子区域的示例8槽梯度直方图。
令h表示图4b的带有槽hi的梯度直方图,其中i为槽索引,i=0…n-1。根据本发明的梯度直方图转换计算与梯度直方图槽之间的关系相对应的值vj。
在其间计算与关系相对应的值的槽可根据它们的位置或邻近度被选择,所述位置或邻近度在图4b的梯度直方图的情况中转化为它们的角间距。
通过与梯度直方图槽之间的关系相对应的值的示例,如下面(1)所示的相邻槽之差捕捉直方图的总体形状和极值位置。
v0=h0–h1
v1=h1–h2
v2=h2–h3
v3=h3–h4
v4=h4–h5 (1)
v5=h5–h6
v6=h6–h7
v7=h7–h0
下面(2)所示的具有90度(或者更一般地,梯度直方图特性和槽粒度允许的尽可能接近90度)的角度差的梯度所对应的槽之间的差捕捉关于彼此基本成直角的梯度之间的关系的信息。
v0=h0–h2
v1=h1–h3
v2=h2–h4
v3=h3–h5
v4=h4–h6 (2)
v5=h5–h7
v6=h6–h0
v7=h7–h1
下面(3)所示的具有180度(或者更一般地,梯度直方图特性和槽粒度允许的尽可能接近180度)的角度差的梯度所对应的槽之间的差捕捉关于朝向内(例如水平朝向内和垂直朝向内)的梯度之间的关系的重要高级信息。
v0=h0–h4
v1=h1–h5 (3)
v2=h2–h6
v3=h3–h7
下面(4)所示的函数组合多于两个梯度槽并且捕捉关于特定朝向之间的梯度的关系的信息(如任一方向上的水平梯度对比任一方向上的垂直梯度)。
v0=(h0+h4)–(h2+h6)
v1=(h1+h5)–(h3+h7) (4)
下面(5)所示的函数组合梯度直方图的所有槽以产生表示整个直方图的形状的辨别值。
v0=(h0+h2+h4+h6)–(h1+h3+h5+h7)
v1=(h0+h1+h2+h3)–(h4+h5+h6+h7) (5)
在其间计算与关系相对应的值的槽还可根据不同准则被选择。例如,在其间计算与关系相对应的值的槽可被选择以增加结果值的辨别力。这类函数例如可采用下面(6)所示的函数的形式。
v0=(h0+h2+h4+h6)–(h1+h3+h5+h7)
v1=(h0+h1+h2+h3)–(h4+h5+h6+h7)
v2=(h0+h4)–(h2+h6) (6)
v3=(h1+h5)–(h3+h7)
作为另一示例,在其间计算与关系相对应的值的槽可通过随机选择处理被选择。这类函数的示例被示于下面的(7)
v0=2h0–h3–h6
v1=h0+h1+h5–3h7 (7)
作为直方图转换的另一示例,下面(8)所示的函数组构成可逆变换,由此v7是表示总直方图计数的值。
v0=h0–h1
v1=h1–h2
v2=h2–h3
v3=h3–h4
v4=h4–h5 (8)
v5=h5–h6
v6=h6–h7
v7=h0+h1+h2+h3+h4+h5+h6+h7
函数(1)至(8)示出被计算为槽之间的和或差或者槽之和之间的差的梯度直方图槽之间的关系,但这不是限制性的并且线性或非线性运算可以被采用,如槽之间的比值或者槽之和之间的比值或者槽之积之间的比值或者槽之积之间的差等等。
一般地,梯度直方图可通过计算与梯度直方图槽之间的关系相对应的值vj来转换,所述梯度直方图槽的选择取决于一个或多个准则,如它们的邻近度或结果值的辨别力,或者其准则的组合。
另外,当槽根据其邻近度被选择时,梯度直方图可通过计算呈现单个角间距的梯度直方图槽之间的关系所对应的值vj来转换,例如仅基于(1)中的相邻槽之间的关系或仅基于(3)中的180度间隔的槽之间的关系等等来转换。作为替代,梯度直方图还可通过计算呈现多个角间距的梯度直方图槽之间的关系所对应的值vj来转换,例如基于(1)所示的某些关系、(2)所示的某些关系等等来转换。总之,转换选择处理相当重要,因为它针对与梯度直方图的维度n比较的作为结果的经转换的描述符的维度k在特定类型的信息的量与不同类型的信息的混合之间进行平衡,其中维度n与维度k可通过k=n,k<n或k>n彼此关联。
以下,从梯度直方图h的转换计算出的值vj(j=0…k-1)将被统一称为k个元素的经转换的梯度直方图描述符v。
如前所见,单个图像描述符H可包含多个梯度直方图hp,每个梯度直方图对应于图像关键点KP周围的局部区域R的子区域SR。图4a例示了将局部区域R细分为4×4个子区域SR的示例,每个子区域用梯度直方图hp描述。这种图像描述符可通过每个子区域SR的梯度直方图到上述经转换的梯度直方图描述符vp的分别转换被转换成新的图像描述符V。
上述梯度直方图转换处理在产生紧凑的图像描述符方面具有很多优点。第一个优点在于,通过转换的适当选择,上述处理例如通过用前面示出的(3)和(4)的合起来六个元素代替八个梯度槽,使得使用比原来的梯度直方图更少的元素来对梯度直方图的显著形状特征和有辨别力的信息进行编码成为可能,从而得出在建立或验证视觉对应并取得高识别性能方面仍然非常成功的较小的图像描述符。
另一个优点在于,不像原来的梯度直方图,经转换的梯度直方图描述符适合于简单粗糙的标量量化进行的压缩,由此每个描述符元素分别被量化为仅几个比特,甚至低至一两比特,这实际上仅提供了特定槽相对于其他特定槽的主导地位或特定梯度槽之间的关系的粗糙度量。然而,所述粗糙度量仍提供了在建立或验证视觉对应方面成功的稳健的、有辨别力的、紧凑的图像描述符并且在相同的标量量化条件下以及还在诸如向量量化和类型编码之类的更复杂的压缩方案中取得比原来的梯度直方图更高的识别性能。
例如,使用标量量化,值vj分别被量化为q个级别,例如q=2,q=3或q=4等等,虽然这不是限制性的并且不同数目的量化级别可被用于在结果描述符中实现希望的紧凑度。该量化可通过将每个值vj的值与一组阈值进行比较来执行。决定量化阈值时存在多种选择。量化阈值例如可通过每个vj的动态范围的均匀划分来确定。作为替代,量化阈值可被设置成实现q个量化级别之中的值的特定长期分布,例如均匀分布。另外,量化阈值可以对于在所有子区域SR中计算的所有值vj是相同的,或者可以对于所有子区域SR上的相同索引j是相同的,或者可以对于所有j上的每个子区域SR是相同的,或者可以对于每个子区域SR和每个索引j是不同的。
因此,通过总的计算复杂度和存储需求上的相关降低,上述梯度直方图转换处理消除了对于诸如先前所见的那些方案之类的复杂压缩方案的需要,同时取得了相似或改进的性能特征。
随之而来的第三个优点是经转换的梯度直方图描述符的维度不仅在压缩前而且在压缩后都是高度可伸缩的,并且如果应用或传输信道特性需要的话,可通过简单地消除其各个经量化的元素中的一个或多个而被容易地进一步减小,而这在诸如向量量化或类型编码之类的更复杂的编码技术而言是不容易实现的。
同时,上述每个子区域的梯度直方图的分别转换和压缩是非常有利的,因为它通过简单地消除各个经转换和量化的子区域直方图中的一个或多个而有助于整个经转换的图像描述符的可伸缩性,如果这种可伸缩性被要求的话。
然而,还必须强调的是,上述经转换的梯度直方图描述符与之前讨论的更复杂的压缩方案或适用于原来的基于梯度直方图的描述符的任何压缩方案并非不兼容,并且如果需要的话,仍可与任何这类压缩方案结合使用。
如前所见,单个基于梯度直方图的图像描述符H可包含多个梯度直方图hp,每个梯度直方图对应于图像关键点KP周围的局部区域R的子区域SR,并且该图像描述符H可通过上述每个子区域SR的梯度直方图的分别转换而被转换。更具体地,每个子区域梯度直方图可与其他子区域梯度直方图按相同的方式被转换,而作为替代,至少一个子区域梯度直方图可与其他子区域梯度直方图不同地被转换。
例如,在将某些子区域梯度直方图与其他子区域梯度直方图不同地转换的上下文中,可对图像描述符转换处理施加以下要求:任何梯度直方图的转换函数必须至少部分地不同于在其空间相邻梯度直方图中的至少一些中采用的转换函数。
更具体地,图5A和图5B涉及彼此完全不同或部分不同的转换函数组。例如,以(1)的函数为A、(2)的函数为B得出完全不同的函数组,而以(3)的函数和(1)的偶数元素为A、(3)的函数和(1)的奇数元素为B导致部分不同的函数组。在图5中,转换函数A和B被应用到子区域直方图以便对于通过A(或者作为替代,B)来转换的每个子区域直方图,其四个水平和垂直的相邻直方图通过B(或者作为替代,A)被转换。虽然这种多个转换函数组的使用稍稍增加了实现复杂度,但是它相对于在所有子区域直方图上使用相同转换函数而言具有显著的优势。如本领域技术人员已知的,对于SIFT描述符以及其他基于梯度直方图的图像描述符,相邻的、特别是水平或垂直连接的梯度直方图呈现出很大的相关性,这种相关性也在经转换的梯度直方图描述符中被保持。在这种相邻直方图中应用相同的转换结合任何后续的粗糙量化,导致相邻直方图具有相同元素的概率增加。该问题通过如上所述使用不同的转换函数被缓解,这增加了描述符的熵和随之而来的辨别力。
作为将某些子区域梯度直方图与其他子区域梯度直方图不同地转换的上下文中的另一示例,某些子区域的经转换梯度直方图描述符可根据某些决定因素(如相对于关键点周围的区域的中心的子区域位置)而包含与其他子区域的经转换的梯度直方图描述符不同数目的元素。
图6例示了一个这种示例,其中直接围绕图像关键点KP的中间四个子区域SRc被如上所述转换成kc个元素,而十二个边界子区域SRb被如上所述转换成kb个元素,kc>kb。因此,这相对于整个经转换的图像描述符而言增大了中间子区域SRc的信息内容,所述子区域SRc通常被本领域技术人员认为对于建立或验证视觉对应更重要。
作为将某些子区域梯度直方图与其他子区域梯度直方图不同地转换的上下文中的另一示例,某些子区域的经转换的梯度直方图描述符可根据某些决定因素(如相对于关键点周围的区域的中心的子区域位置)而与其他子区域的经转换的梯度直方图描述符不同地被压缩。
图7例示了一个这种示例,其中直接围绕图像关键点KP的中间四个子区域SRc被如上所述转换并量化成qc个级别,而十二个边界子区域SRb被如上所述转换并量化成qb个级别,qc>qb。因此,这增大整个经转换的图像描述符内的中间子区域SRc的表示精度,所述子区域SRc通常被本领域技术人员认为对于建立或验证视觉对应更重要。
此外,根据某些决定因素(如特定元素的转换函数或它们的潜在统计数据),不同压缩特性还可能仅适用于经转换的梯度直方图描述符的特定元素。
总之,诸如用于不同子区域的适当转换函数的选择和用于不同子区域和/或子区域元素的适当压缩参数的选择之类的因素是相当重要的,因为它们控制着描述符对照其复杂度和存储/传输成本而言的辨别力和信息内容。
现在将借助图8至图13描述本发明的实施例。
第一实施例
本发明的第一实施例例示于图8,其中通过计算与根据梯度直方图槽的邻近性选择的梯度直方图槽之间的关系对应的值,例如根据图4包含梯度直方图hp的基于梯度直方图的描述符H通过转换每个梯度直方图hp以降低其维度而被处理。
更具体地,在图8中,p=0...N-1(N=16)的每个直方图hp被轮流处理。在步骤S100中,p被设为0。
然后,在步骤S110中,n个槽(n=8)的直方图hp通过为了捕捉具有单个角间距的槽之间的关系而选择的函数组,即捕捉相邻槽之间的关系的(9)的函数,而被转换成k个元素的描述符vp(k=4),k<n。
v0=h0–h1
v1=h2–h3
v2=h4–h5 (9)
v3=h6–h7
作为替代,(9)的函数可用捕捉具有另一单个角间距的槽之间的关系的不同函数来取代,如捕捉间隔90度的槽之间的关系的函数或产生具有另一数目k(但k仍小于n)的元素的描述符vp的函数。
然后,在步骤S120中,p的值被检查,并且如果它等于H中最后一个直方图的索引,则处理结束,否则它在步骤S130中被递增1并且处理返回到步骤S110。
因此,结果描述符V使用比H少得多的元素来对H的显著形状特征和有辨别力的信息进行编码,从而得出在建立或验证视觉对应并取得高识别性能方面仍然非常成功的较小的描述符。
可选地,V的各个元素的值可被适当伸缩和移动,以便例如将它们映射到非负值和/或特定动态范围,例如8比特。
为了确定两个描述符是否是从不同图像中的相同关键点提取的以及为了建立图像之间的视觉对应的对结果描述符的后续处理超出了本发明的范围并且可按照与用于原来的梯度直方图描述符的方式类似的方式或者任何其他适当方式进行,用于原来的梯度直方图描述符的方式例如被描述于David G.Lowe的"Distinctive image features fromscale-invariant keypoints,"International Journal of Computer Vision,60,2(2004),pp.91-110。
第二实施例
本发明的第二实施例例示于图9,其中通过计算与根据关于梯度直方图槽的邻近性的多个准则选择的梯度直方图槽之间的关系对应的值,例如根据图4包含梯度直方图hp的基于梯度直方图的描述符H通过转换每个梯度直方图hp以降低其维度而被处理。
更具体地,在图9中,p=0...N-1(N=16)的每个直方图hp被轮流处理。在步骤S200中,p被设为0。
然后,在步骤S210中,n个槽(n=8)的直方图hp通过为了捕捉具有多个角间距的槽之间的关系而选择的函数组,即捕捉相邻槽之间的关系和间隔180度的槽之间的关系的(10)的函数,而被转换成k个元素的描述符vp(k=6),k<n。
v0=h0–h1
v1=h2–h3
v2=h4–h5
v3=h6–h7 (10)
v4=h0–h4
v5=h2–h6
作为替代,(10)的函数可用捕捉具有其他多个角间距的槽之间的关系的不同函数来取代,如捕捉间隔90度的槽之间的关系和间隔180度的槽之间的关系的函数或产生具有另一数目k(但k仍小于n)的元素的描述符vp的函数。
然后,在步骤S220中,p的值被检查,并且如果它等于H中最后一个直方图的索引,则处理结束,否则它在步骤S230中被递增1并且处理返回到步骤S210。
因此,结果描述符V使用比H少的元素来对H的不同类型的显著形状特征和有辨别力的信息进行编码,从而得出在建立或验证视觉对应并取得高识别性能方面仍然非常成功的较小的描述符。
对结果描述符的后续处理随后可按照与第一实施例类似的方式进行。
第三实施例
本发明的第三实施例例示于图10,其中通过计算与根据关于梯度直方图槽的邻近性的多个准则选择的梯度直方图槽之间的关系对应的值,例如根据图4包含梯度直方图hp的基于梯度直方图的描述符H通过转换每个梯度直方图hp而被处理。
更具体地,在图10中,p=0...N-1(N=16)的每个直方图hp被轮流处理。在步骤S300中,p被设为0。
然后,在步骤S310中,n个槽(n=8)的直方图hp通过为了捕捉具有多个角间距的槽之间的关系而选择的函数组,即(11)的函数,而被转换成k个元素的描述符vp(k=8)。
v0=h2–h6
v1=h3–h7
v2=h0–h1
v3=h2–h3
v4=h4–h5 (11)
v5=h6–h7
v6=(h0+h4)–(h2+h6)
v7=(h0+h2+h4+h6)–(h1+h3+h5+h7)
作为替代,(11)的函数可用捕捉具有其他多个角间距的槽之间的关系的不同函数、或产生具有另一数目k(k=n或k<n或k>n)的元素的描述符vp的函数来取代。
然后,在步骤S320中,k个元素的描述符vp的每个元素被分别量化成q个级别,从而给出经量化的描述符在本实施例中,设q=3,然而这不是限制性的并且不同数目的量化级别可被使用以在结果描述符中实现希望的紧凑度,例如q=2,q=4等等。该量化可通过将每个元素vpj的值与一组阈值相比较来执行。决定量化阈值时存在多种选择。量化阈值例如可通过vpj的动态范围的均匀划分来确定。作为替代,量化阈值可被设置成实现q个量化级别之中的值的特定长期分布,例如均匀分布。另外,量化阈值可以对于所有元素vpj是相同的,或者可以对于所有p上的相同索引j是相同的,或者可以对于所有j上的相同索引p是相同的,或者可以对于每个vpj是不同的。
然后,在步骤S330中,p的值被检查,并且如果它等于H中最后一个直方图的索引,则处理结束,否则它在步骤S340中被递增1并且处理返回到步骤S310。
清楚的是,例如通过首先计算整个描述符V然后继续进行量化以生成经量化的描述符替代实施例可在不背离本发明的范围的情况下与图10相比适当改变某些操作或次序。
因此,结果描述符对H的不同类型的显著形状特征和有辨别力的信息进行编码。粗糙的标量量化(由此每个描述符元素被分别量化到仅提供特定槽相对于其他特定槽的主导地位或特定梯度槽之间的关系的粗糙度量的仅几个比特)产生在建立或验证视觉对应方面仍然非常成功的稳健的、有辨别力、紧凑的图像描述符并且在相同的标量量化条件下以及还在更复杂的压缩方案下取得比原来的梯度直方图更高的识别性能。
对结果描述符的后续处理随后可按照与前面的实施例类似的方式进行。
第四实施例
本发明的第四实施例例示于图11,其中通过利用与用于处理与hp相邻的梯度直方图中的某些梯度直方图的转换函数组表现出区别的转换函数组来转换每个梯度直方图hp,例如根据图4包含梯度直方图hp的基于梯度直方图的描述符H被处理。
更具体地,在图11中,p=0...N-1(N=16)的每个直方图hp被轮流处理。在步骤S400中,p被设为0。
然后,在步骤S410中,p的值被检查以用来选择用于处理hp的适当函数。该选择例如可按图5所例示的方法进行,其中被表示为A和B的两个函数组被使用,当p=0,2,5,7,8,10,13,15时选择A,当p=1,3,4,6,9,11,12,14时选择B。然而,这不是限制性的并且不同数目的转换函数组和不同的空间排列可被采用,以便用于处理梯度直方图的转换函数组与用于处理与该直方图相邻的梯度直方图中的某些梯度直方图的转换函数组表现出区别。
然后,在步骤S420中,n个槽(n=8)的直方图hp利用适当选择的函数组被转换成k个元素的描述符vp(k=8)。转换函数组A和B可如下面所示分别按(12)和(13)来被定义,其中每个函数组被选择以捕捉具有多个角间距的槽之间的关系,并且A和B之间没有共同的函数。
v0=h2–h6 (12)
v1=h3–h7
v2=h0–h1
v3=h2–h3
v4=h4–h5
v5=h6–h7
v6=(h0+h4)–(h2+h6)
v7=(h0+h2+h4+h6)–(h1+h3+h5+h7)
v0=h0–h4 (13)
v1=h1–h5
v2=h1–h2
v3=h3–h4
v4=h5–h6
v5=h7–h0
v6=(h1+h5)–(h3+h7)
v7=(h0+h1+h2+h3)–(h4+h5+h6+h7)
作为替代,(12)和(13)所示的函数组之一或二者可用捕捉具有其他多个角间距的槽之间的关系的不同函数、或产生具有另一数目k(k=n或k<n或k>n)的元素的描述符的函数来取代。另外,函数组A和B可不包含共同的函数,或者可包含某些共同的函数。另外,在其间计算与关系相对应的值的槽可根据用于函数组A和B之一或二者的不同准则来被选择。这类准则如前所述可包括选择在其间计算与关系相对应的值的槽以便增加结果值的辨别力,或者通过随机选择处理来选择在其间计算与关系相对应的值的槽。另外,所述准则的任何混合也可被用于函数组A和B之一或二者的选择。
然后,在步骤S430中,以和用于第三实施例的方式类似的方式,k个元素的描述符vp的每个元素被分别量化成q个级别,从而给出经量化的描述符
然后,在步骤S440中,p的值被检查,并且如果它等于H中最后一个直方图的索引,则处理结束,否则它在步骤S450中被递增1并且处理返回到步骤S410。
清楚的是,例如通过首先计算整个描述符V然后继续进行量化以生成经量化的描述符替代实施例可在不背离本发明的范围的情况下与图11相比适当改变某些操作或次序。
因此,结果描述符对H的有辨别力的信息进行编码。根据本实施例的多个转换函数组的使用相对于在所有子区域直方图中使用相同的转换函数具有显著的优势。如本领域技术人员已知的,对于基于梯度直方图的图像描述符,相邻的梯度直方图呈现出很大的相关性,这种相关性在经转换的梯度直方图描述符中被保持,并且结合粗糙的标量量化,导致相邻经转换的直方图具有相同元素的概率增加。该问题通过根据本实施例的对不同转换函数的使用而被缓解,这增加了描述符的熵和随之而来的辨别力。
对结果描述符的后续处理随后可按照与前面的实施例类似的方式进行。
第五实施例
本发明的第五实施例例示于图12,其中通过计算与梯度直方图槽之间的关系对应的值,例如根据图4包含梯度直方图hp的基于梯度直方图的描述符H通过转换每个梯度直方图hp而被处理,使得某些子区域的经转换的梯度直方图描述符包含与其他子区域的经转换的梯度直方图描述符不同数目的元素。
更具体地,在图12中,p=0...N-1(N=16)的每个直方图hp被轮流处理。在步骤S500中,p被设为0。
然后,在步骤S510中,p的值被检查以用来选择用于处理hp的适当维度。该选择例如可按图6所例示的方法进行,其中p=5,6,9,10的中央子区域直方图被转换以使得结果描述符各自具有kc个元素(kc=3),并且p=0,1,2,3,4,7,8,11,12,13,14,15的边界子区域直方图被转换以使得结果描述符各自具有kb个元素(kb=2)。然而,这不是限制性的并且不同数目的可能维度和不同的空间排列可被采用。
然后,在步骤S520中,n个槽(n=8)的直方图hp通过根据下面示出的(14)的函数计算与梯度直方图槽之间的关系对应的值而被转换成描述符vp
v0=h0–h4 (用于中央和边界子区域二者)
v1=h1–h5 (用于中央和边界子区域二者) (14)
v2=(h1+h5)–(h3+h7) (仅用于中央子区域)
清楚的是,本实施例可以与任何之前的实施例结合,并且(14)的转换函数可用根据如前所见的选择准则的任意混合而选择的转换函数来取代,并且/或者不同的转换函数组可用于不同的子区域直方图。
然后,在步骤S530中,以和用于第三和第四实施例的方式类似的方式,k个元素的描述符vp的每个元素被分别量化成q个级别,从而给出经量化的描述符
然后,在步骤S540中,p的值被检查,并且如果它等于H中最后一个直方图的索引,则处理结束,否则它在步骤S550中被递增1并且处理返回到步骤S510。
清楚的是,例如通过首先计算整个描述符V然后继续进行量化以生成经量化的描述符替代实施例可在不背离本发明的范围的情况下与图12相比适当改变某些操作或次序。
因此,通过允许对于在建立或验证视觉对应中可能更重要的H的那些部分用更多的维度来表示,结果描述符以更加突显这些部分的方式对H的有辨别力的信息进行编码(例如,边界子区域直方图对比中央子区域直方图)。
第六实施例
本发明的第六实施例例示于图13,其中通过计算与梯度直方图槽之间的关系对应的值,例如根据图4包含梯度直方图hp的基于梯度直方图的描述符H通过转换每个梯度直方图hp而被处理,使得某些经转换的梯度直方图描述符元素被量化成与其他的经转换的梯度直方图描述符元素不同数目的级别。
更具体地,在图13中,p=0...N-1(N=16)的每个直方图hp被轮流处理。在步骤S600中,p被设为0。
然后,在步骤S610中,n个槽(n=8)的直方图hp通过下面的(15)所示的为了捕捉槽之间的关系而选择的函数组而被转换成k个元素(k=8)的描述符vp。
v0=h2–h6
v1=h3–h7
v2=h0–h1
v3=h2–h3
v4=h4–h5 (15)
v5=h6–h7
v6=(h0+h4)–(h2+h6)
v7=(h0+h2+h4+h6)–(h1+h3+h5+h7)
清楚的是,本实施例可以与任何之前的实施例结合,并且(15)的转换函数可用根据如前所见的选择准则的任意混合而选择的转换函数来取代,并且/或者不同的转换函数组可用于不同的子区域直方图,并且/或者不同的经转换的描述符维度可用于不同的子区域直方图。
然后,在步骤S620中,p的值被检查以用来选择用于量化每个元素vpj的适当数目的量化级别。该选择例如可按图7所例示的方法进行,其中p=5,6,9,10的中央子区域描述符被量化成qc个级别(qc=4),并且p=0,1,2,3,4,7,8,11,12,13,14,15的边界子区域描述符被被量化成qb个级别(qb=2)。然而,这不是限制性的并且不同数目的可能量化级别和不同的空间排列可被采用。另外,虽然在图13中未示出,但是每个元素vpj的量化级别的数目可根据j的值,即根据描述符元素的特定类型,或者作为取代或补充,根据p的值,即根据元素的子区域位置,来确定。
然后,在步骤S630中,以和用于第三、第四和第五实施例的方式类似的方式,k个元素的描述符vp的每个元素被分别量化成适当数目的量化级别,从而给出经量化的描述符
然后,在步骤S640中,p的值被检查,并且如果它等于H中最后一个直方图的索引,则处理结束,否则它在步骤S650中被递增1并且处理返回到步骤S610。
清楚的是,例如通过首先计算整个描述符V然后继续进行量化以生成经量化的描述符替代实施例可在不背离本发明的范围的情况下与图13相比适当改变某些操作或次序。
因此,结果描述符以给予在建立或验证视觉对应中可能更重要的V的那些元素或H的那些部分更高的表示精度的方式对H的有辨别力的信息进行编码。
虽然用于从如图4所例示的SIFT图像描述符计算稳健的、有辨别力的、可伸缩且紧凑的图像描述符的本发明的各方面和实施例被详细给出,但是本发明适用于基于梯度直方图的其他图像描述符。例如,图14例示了通过以和本发明的第四实施例类似的方式使用与用于处理其相邻的梯度直方图的转换函数组表现出区别的转换函数组转换每个其梯度直方图,使用对数极坐标空间细分的基于梯度直方图的描述符的处理,图14中的符号A、B、C对应于所述转换函数组。作为另一示例,对于图15所示的基于梯度的x和y分量的二维空间到槽的细分的梯度直方图,与本发明的前面的实施例方式类似的一个合适的转换函数组为:
v0=h0–h1
v1=h1–h2
v2=h2–h3
v3=h3–h4
v4=h4–h5 (16)
v5=h5–h6
v6=h6–h7
v7=h7–h0
v8=h8–(h0+h1+h2+h3+h4+h5+h6+h7)
另外,本发明还适用于适当处理过的基于梯度直方图的图像描述符。这种适当处理例如可能需要在根据本发明处理之前的子区域梯度直方图的组合。
仅为了例示性目的,参考图4a,对于包含子区域直方图hp(p=0…15)的梯度直方图描述符H,p=0,1,4,5的直方图可通过平均它们的槽值而被组合成单个子区域直方图,并且类似的组合可对p=2,3,6,7和p=8,9,12,13以及p=10,11,14,15的直方图执行,从而产生随后可根据本发明的任何前述实施例被处理的具有降低的维度的梯度直方图描述符。梯度直方图还可通过它们的槽值的替代函数(例如求和)被组合。
作为替代或补充,这种适当的处理例如可能需要子区域梯度直方图内的槽的合并。为了例示性目的,参考图4b,对于梯度直方图h,相邻的槽可通过平均或相加或取中值或任何适当函数被合并成单个槽,从而产生随后可根据本发明的任何前述实施例被处理的具有降低的维度的梯度直方图描述符。
仅通过示例方式,图16例示了用于执行根据本发明的方法的概念性处理设备。更具体地,处理设备1100接收来自输入设备1000的输入,该输入可包含诸如图像或视频数据的视觉数据、基于梯度直方图预先计算的描述符、根据本发明的方法预先计算的紧凑描述符、程序指令或用户输入,输入设备1000可采用用户输入设备、介质读取器或发送信号的接收器的形式。处理设备1100包含以下主要处理块:控制其他处理块的操作的中央处理单元1110、易失性存储器1120、非易失性存储器1130、可选地被配置成生成基于梯度直方图的描述符的描述符提取器块1140、被配置成执行根据本发明的方法的紧凑描述符提取器块1150、以及可选地被配置成处理所述紧凑描述符以便例如建立或验证视觉对应的紧凑描述符处理器块1160。处理设备1100连接到输出设备1900,输出设备1900可采用视觉显示单元、介质写入器或信号发送器的形式并提供输出,所述输出可包含诸如图像或视频数据之类的带注释的视觉数据、诸如已建立或验证的视觉对应之类的处理信息、或根据本发明的方法计算的紧凑描述符。应该理解,图16所示的处理块和架构仅仅是概念性的并且不精确对应于实施根据本发明的方法的每个设备。
在不背离发明想法的新颖精神的情况下,本文通过示例方式描述的用于转换基于梯度直方图的图像描述符的方法和相关图像处理设备可经历很多可能的变化;还应明白,本发明实际实现时,所例示的细节可具有不同的形状或者用其他技术上等同的元素取代。
因此容易理解,本发明不限于用于转换基于梯度直方图的图像描述符的方法和相关图像处理设备,而是可在不背离发明想法的情况下经历等同部分和要素的多种修改、改进或代替,如所附权利要求中明确指出的。