匹配图像的系统和方法

文档序号:6348549阅读:180来源:国知局
专利名称:匹配图像的系统和方法
技术领域
本发明通常涉及数字图像处理领域。更具体地,本发明涉及一种将图像与另一图像匹配的方法和系统。
背景技术
图像匹配是用于计算机视觉、对象识别、运动跟踪、3D建模等中的基本技术。实施图像匹配用来检查两个图像是否具有相同内容。该两个图像不需要完全相同。例如,可旋转一个图像或从不同视角使用一个图像,在与另一个图像比较时,或者其可以是另一个图像的缩放版本。进一步地,可在不同的光照条件下使用该两个图像。尽管在该两个图像中有这样的变化,他们包含相同的内容,场景或对象。因此,使用图像匹配技术来有效地匹配图像。常见图像匹配算法利用了对象或场景的图像包含多个特征点的事实。特征点是在图像中的特定点,其对于在图像旋转、成比例、视角或光照环境中的变化而言是健壮的。这意味着这些特征点将经常出现在两个图像中,即使该两个图像在较早描述的方式中不同。 因此,该图像匹配算法的第一阶段是找到在该图像中的这些特征点。通常,构建图像金字塔用来确定该图像的特征点。该图像金字塔是该图像的尺度空间表示,即,其包含了各种金字塔图像,其每一个是以特定尺度的图像表示。该尺度空间表示使得该图像匹配算法来匹配在整个尺度上不同的图像。在确定了该图像金字塔中该金字塔图像的特征点后,基于在该特征点处的本地图像梯度来确定该特征点的取向。这些取向对于旋转提供了该特征点的不变性。该特征向量表示为在局部变形和照明中的显著变化作准备,即,该特征向量对于在光照环境中的变形和变化而言是不变的。该特征点,他们的取向和该金字塔图像的特征向量形成了该图像的完全表示。这些表示可在图像中比较以找到匹配图像。基于图像的特征点匹配,一对图像相匹配。可将该对图像确定为匹配,当充分数量的特征点与另一个图像的相应特征点在视觉上和几何上都匹配时。相互接近的特征向量在视觉上相同,该对应特征点被称为‘假定对应’或‘对应’。 一般地,该假定对应由统计算法来处理以测试几何上的一致。一般地,对于图像的几何匹配,所用的统计算法是随机取样一致性(RANSAC)算法,尽管可使用RANSAC类似算法的其他变体或其他统计算法。在RANSAC中,一小组假定对应被随机取样。此后,使用这些取样特征点来生成几何变换。在生成该变换后,确定了适合该模型的假定对应。适合该模型的假定对应在几何上是一致的并被称为‘内窗层’。此后确定了该内窗层的总数。重复上述步骤,直到重复/试验的次数大于预定阈值或该图像的内窗层数量足够多到将图像确定为匹配。该RANSAC算法返回具有对应于该模型的最高数量内窗层的模型。与使用该类型方法相关的一个问题在于,该统计算法所生成的该组可能变换可能大于该组物理有效变换。例如,该变换可能翻动矩形的一边,导致不可能获取坚固对象的旋转。在另一实施例中,其可能翻动该整个矩形,仅仅通过拍摄该对象的倒影来实现变换。这可能引导不正确的图像匹配。进一步地,这可能导致无用的计算,因为进行了该变换所生成的参数/点的分析,即使该变换本身可能是物理上无效或不切实际的。在该假定对应中的每一个特征点具有与其相关的取向。在需要旋转不变性的应用中,对于成为有效的变换,更可取的应当保留在假定对应中两个特征点的取向。使用RANSAC 的许多应用并不考虑这个限制。即使确定了该假定对应是紧密匹配,一般地,该假定对应单独无法确保该图像对形成最后的匹配。假定对应仅仅给出在该图像对特征点之间视觉相似性相关的信息。这一般不足以确定在该图像对之间的最后匹配。存在一种可能,两个图像的对应区域可能生成多个假定对应。例如,如果图像特征在超过一个尺度处显著,可生成多个特征点,也许形成多个假定对应。选择这些假定对应之一以生成另一个假定对应将同样成为内窗层的该变换方式,因而创建了错误意义的信息,即用该变换的匹配的该两个图像是真正匹配。移走一组对应特征点的所有除了一个,先验是错误的方式,因为对应不同查询图像可能不存在多个假定对应,以及决不告诉哪一个是最好,因为可能不存在多个被错误解释的假定对应。换句话说,仅仅使用假定对应一般无法提供足够信息以便建立在该查询图像和该数据库图像之间的清楚匹配。而且,该两个图像可共享该图像的元件或一小部分,类似公司或其他实体的标记, 会成为可能。该图像同样可能共享以相同字体的文本片段。这些共享元件可能创建了足够的内窗层用来宣布图像匹配,而实际上该两个图像不相同。进一步地,可能存在的情况是, 查询图像可能具有多个图像对象,其中每一个表示在分开的数据库图像中。该数据库图像是多个该查询图像需要进行匹配的图像。存在对一种克服上述限制的改善的图像匹配方法的需求。发明概述本发明的一个目的是提供一种将查询图像匹配于多个图像的方法、系统和计算机
程序产品。本发明的一个目的是提供一种确定几何一致对应的方法、系统和计算机程序产本发明的一个目的是提供一种生成物理有效变换的方法、系统和计算机程序产本发明的一个目的是提供一种将来自不同视角和/或光照环境所捕获的同一对象或场景的两个或多个图像匹配的方法、系统和计算机程序产品。本发明的各个实施方案提供了一种图像匹配的方法、系统和计算机程序产品。首先,该假定对应图像,即具有充分多数量的假定对应的图像,从多个图像处确定,通过在该多个图像和该查询图像之间寻找假定对应。此后,在对该图像确定进行变换之前,实施拓扑等价测试用来避免任意物理上的无效变换。在该拓扑等价测试中,确定了在该假定对应图像和该查询图像中的假定对应子组的特征点之间的拓扑等价。如果该假定对应的子组在该拓扑等价测试中失败,将其丢弃并选择假定对应的新子组用来建立该变换。而且,在从该变换处获取的特征点上实施取向一致测试用来进一步测试该变换的有效性。此后,通过使用该假定对应的子组实施运动估计来确定候选匹配。符合该变换的在该查询图像和该数据库图像之间的假定对应确定为内窗层。
此后,在该图像的内窗层上实施覆盖测试。在该覆盖测试中,测量该查询图像和数据库图像二者的内窗层所围起的区域百分比。将该图像丢弃作为候选匹配。当该两个百分比的最大值小于预定阈值时。此后,基于一组条件来识别出该最后的图像匹配。该第一条件是该候选图像的内窗层数量大于内窗层的预定数量。进一步地,该第二条件是与该候选匹配相关的均方根(RMS)误差小于预定阈值。将满足这些测试的图像返回作为最后匹配图像。可能存在的情况是,超过一个图像满足这些测试。在这样的情况中,来自该覆盖测试的测量用于确定是否匹配多个数据库图像。如果该图像的相同区域匹配多个数据库图像,以该最后匹配图像包含的内窗层数量的递减测序将这些图像返回。


以下将结合附图对本发明的各个实施方案进行描述,该附图被提供用来描述而并不限定本发明,其中相同名称表示相同元件,其中图1描述了其中可实现本发明各个实施方案的图像环境;图2是描述匹配图像方法的流程图,依照本发明的实施方案;图3是描述匹配图像方法的流程图,依照本发明的另一实施方案;图4是描述匹配图像方法的流程图,依照本发明的另一实施方案;图5,6和7是描绘匹配图像的具体方法的流程图,依照本发明的实施方案;和图8是描述可用于匹配图像的系统的方框图,依照本发明的各个实施方案。技术人员应当明白,为简洁和清楚目的对所述图中元件进行描述,以有助于提高对本发明实施方案的理解。发明详述本发明的各个实施方案涉及一种匹配图像的方法、系统和计算机程序产品。该方法使用了在图像中出现的特征点用于表示该图像。该方法的第一步是确定在查询图像和数据库图像之间的假定对应。假定对应是视觉上彼此相同的查询图像和数据库图像中的一对特征向量。在确定了该假定对应之后,在假定对应的子组上实施拓扑等价测试以避免形成物理上无效的变换。在确定了该变换之后,实施取向一致测试。为该图像之一中的该假定对应子组内的特征点确定偏移点。将每一个偏移点以该特征点取向的方向从其对应特征点处置换。基于从该假定对应子组中特征点处获取的特征点取向的方向将该变换丢弃,如果正匹配的图像中任意一个和其偏移点不同于由预定限制所估计的取向。随后,使用满足该拓扑等价测试的假定对应的子组来实施运动估计。实施该运动估计以确定在该查询图像和该数据库图像之间几何上一致的假定对应。基于一组条件将该最后的匹配图像返回。图1描述了环境100,其中可实现本发明的各个实施方案。本发明可被用于计算机视觉、对象识别、运动跟踪和3D建模的领域中。该图像可以是不同格式,例如JPEG、GIF、 BMP等。进一步地,这些图像的质量和分辨率从一个应用到另一个应用可变化。同样,该将被匹配的图像不需要完全相同,但是可以是彼此的变换版本。因此,该图像匹配算法需要该图像以特定格式表示使得该图像能够被相互匹配。环境100包括查询图像102和图像l(Ma-n的数据库。搜索该数据库以寻找匹配查询图像102的图像(或多个图像)。该匹配的图像不需要与查询图像102完全相同,但是应当包含与查询图像102相同的内容。例如,数据库104可能包含来自杂志的平面广告的复制,而查询图像102是该相同广告的拍摄图像。本发明的图像匹配算法在图像l(Ma-n中寻找查询图像102的匹配,其在以上所述方式中可能不同。通过根据特征点和特征向量表示每一个图像的方式来操作该图像匹配算法。该图像的特征点、取向和特征向量用于确定在该图像之间的匹配。本发明描述了一种匹配图像的方法和系统。图2是描述匹配图像方法的流程图,依照本发明的实施方案。图2给出了将更可取地实施在图像上用于将该图像与另一个图像匹配的主要步骤的概要。随后结合图5,6和 7具体地对图2的每一个步骤进行描述。在将该查询图像与该数据库图像匹配之前,确定了与该图像相关的特征点和特征向量。基于特征点、该特征点的取向和他们对应特征向量来对这些图像进行匹配。在步骤202处,在该查询图像和数据库图像的特征点之间寻找假定对应。与他们对应的特征点相关的特征向量用来确定该图像之间的假定对应。一个假定对应是一对特征点,一个来自于该查询图像,一个来自于该数据库图像,其在视觉上彼此相同。可通过寻找在该查询图像的特征向量和数据库图像的特征向量之间的点积来确定该假定对应。当他们特征向量的点积大小大于预定值时,该对特征点是假定对应。当该特征向量具有单元长度时,该点积的大小等于在该特征向量之间角度的余弦值,并因此测量他们的紧密度。此后, 在步骤204处,基于在该查询图像和该数据库图像之间的假定对应来选择假定对应图像。 更具体地,基于在步骤202所确定假定对应的数量和在每一个数据库图像中发现的假定对应的数量来将图像选作为假定对应图像。换句话说,假定对应图像应当具有足够数量的假定对应,当与该数据库图像比较时。在一实施方案中,假定对应图像应当具有至少9个假定对应。在将图像选作为假定对应图像之后,生成变换以解释在该两个图像之间的相关运动。 进一步地,对应图像的子组用于确定该变换的系数。在步骤206处,检查该假定对应子组的拓扑等价。如果不具有拓扑等价则丢弃该假定对应的子组。如果两组对应点拓扑等价,给出两条线,一个穿过一组中的一对点,另一个穿过另一组中的相应点,剩余对应点处于每一条线的同一边(上面或下面)上。这样做是为了避免具有物理上无效变换的计算。在检查了该假定对应的拓扑等价后,使用在步骤208处的假定对应的该子组来实施运动估计。为了实施运动估计,确定了在该查询图像和该数据库图像(反之也可)之间假定对应的子组中的变换映射特征点。将该变换用于在该查询图像中的假定对应的特征点,并对应于在该数据库图像中的该特征点来获取变换后的点。进一步地,该变换将该查询图像和该数据库图像之间的相对运动(旋转、比例变换等)进行编码。将假定对应确定为内窗层,当该变换后的点在该特征点的预定限制内。在为该数据库图像确定了该内窗层之后,在步骤210处识别处最后的匹配。该最后的匹配是其内窗层数量大于预定阈值的数据库图像。该内窗层的总数对应于在该查询图像和该数据库图像之间的视觉和几何匹配都具有的特征点数量。 在本发明的实施方案中,该预定阈值是9。进一步地,与该数据库图像相关的均方根(RMS) 误差或近似误差应更可取地小于预定阈值。在本发明的一实施方案中,我们在所有内窗层上计算最后的变换,计算在每一个点的实际位置和期望位置之间的平方距离,计算这些平方距离的平均值,将该平方距离的平均值的平方根与该图像宽度的5%的预定阈值相比较。图3是描述匹配图像方法的流程图,依照本发明的另一实施方案。图3给出了将更可取地实施在图像上用于将该图像与另一个图像匹配的主要步骤的概要。随后结合图5, 6和7具体地对图3的每一个步骤进行描述。进一步地,本发明不限于图3中所述的步骤。
7本领域技术人员应当清楚和理解,图3所示步骤中多种变化是可能的,用于提高该图像匹配算法的效率和准确性。在步骤302处,如结合图2所述的一样,确定在该查询图像和数据库图像的特征点之间的假定对应。在使用该假定对应确定了假定对应的图像后,如结合图2所述的一样,在步骤304处使用假定对应的子组生成变换。如果在该假定对应的子组中存在取向的不一致,在步骤304处计算的变换将认作为无效。因此,对于将成为有效的变换,与每一个特征点相关的取向应保留在特定容许限度之内,在该变换用在每一个特征点上后。为了确定该变换的有效性,在步骤306处实施取向一致测试。在从步骤304处所获取的假定对应上实施该测试。为了实施该取向一致测试,以该特征点的取向的方向确定了在该假定对应中出现的特征点的偏移点。用于该测试的特征点或属于该查询图像或属于该数据库图像。此后,将该变换用于该偏移点和该特征点。从该变换点处确定该图像中特征点的期望取向。当该特征偏移点的期望取向由于超过预定容许限度而不同于步骤304所获取的特征点的实际取向时,该变换是无效的。该限度必须合理大小,因为图像的透视变形将不准确地预留取向。 在本发明的实施方案中,使用了 0. 1弧度的限度。将该特征偏移点的期望取向与步骤304 所获得的特征点的实际取向相比较。如果该取向的一个或多个在该限度之外,丢弃该变形。 否则,如结合图2上述的一样,在步骤308中进行运动估计。当实施运动估计时,可在运动估计所发现的内窗层上再次使用该取向一致测试。如果内窗层不满足该取向一致测试,将其丢弃。在确定了该内窗层的取向一致后,如结合图2所述的一样,在步骤310处识别最后的匹配图像。图4是描述匹配图像方法的流程图,依照本发明的另一实施方案。图4给出了将更可取地实施在图像上用于将该图像与另一个图像匹配的主要步骤的概要。随后结合图5, 6和7具体地对图4的每一个步骤进行描述。本领域技术人员应当清楚和理解,图4所示步骤中多种变化是可能的,用于提高该图像匹配算法的效率和准确性。在步骤402处,基于在该查询图像和该数据库图像的特征点之间确定的假定对应,寻找假定对应图像。已经结合图2对该步骤进行了具体描述。在确定了该假定对应后, 从该假定对应处随机取样假定对应的子组。使用该假定对应的子组,如结合图2所述的一样,在步骤404处实施运动估计。基于从步骤402处确定的假定对应来实施该运动估计以确定该内窗层组。在实施运动估计之后,在步骤406处确定该数据库图像的覆盖。该覆盖测试确定了该数据库图像的内窗层的覆盖。在该覆盖测试中,为该查询图像和该数据库图像都确定了相对于该图像区域的该内窗层区域的比例。在本发明的一实施方案中,该内窗层的区域是由该内窗层的凸包形成的多边形区域。该凸包是封闭该所有内窗层的最小多边形。在本发明的另一实施方案中,该内窗层的区域是封闭该所有内窗层的最小轴对齐边界矩形的区域。这样的矩形应当具有平行(水平或垂直)于该图像边界的一边。当该两个比例的最大值小于预定阈值时,拒绝该数据库图像。实施该覆盖测试以确定该整个数据库图像正匹配于该查询图像,仅替代正比较图像中出现的共同元件。在实施该覆盖测试之后,如结合图2所述的一样,在步骤406处识别最后的匹配图像。图5,6和7描绘了描述匹配图像的具体方法的流程图。为了将该查询图像匹配于其他图像,以特征点、该特征点取向和相应特征向量的形式来表示这些图像。可在图像中比较这样的表示以找到匹配图像。在该查询图像和该数据库图像之间独立地实施该图像匹配方法。但是,为了减少歧义,将该图像匹配算法的以下说明就单个数据库图像而言进行解释。为了匹配该两个图像,识别出在该查询图像和该数据库图像之间的假定对应。假定对应是在彼此视觉相同的查询图像和数据库图像中的一对特征点。在步骤502处,计算在该查询图像的特征向量和该数据库图像的特征向量之间的点积。可相乘两个矩阵来进行在该查询图像和该数据库图像中特征向量的点积计算,一个矩阵的行对应一个图像的特征向量,另一个矩阵的行对应另一个图像的特征向量。点积是对单元向量之间的欧几里得距离的快速估算。在步骤504处,大于预定大小的点积指示了哪一对特征向量是假定对应。在本发明的一实施方案中,该预定大小是0. 93。可将一个图像的特征向量涉及到多个假定对应中。 对该现象的一个合理理由是,对应于该特征向量的特征点是通用的,例如在黑背景上的90 度白色相框。如果将特征向量涉及到太多的假定对应中,其将降低实施运动估计的能力,因为那些假定对应中最多一个是正确的。这是因为该RANSAC算法(运动估计算法)依靠将成为内窗层的该对应的某些百分比,以及如果该对应的实际百分比为低,其变得非常难于随机地选择仅仅由内窗层构成的子组。在本发明的一实施方案中,不再考虑对涉及在超过 6个假定对应中的特征向量进行估计。在步骤506中,在该数据库图像的假定对应的数量上实施检查。将该假定对应的数量与预定阈值比较。如果该数据库图像的假定预定的数量小于预定阈值,在步骤508处将该数据库图像丢弃。更可取地,该阈值应当至少是用于在步骤510中所选子组的假定对应数量和在步骤524中需要确认匹配的内窗层数量中的较大者,该阈值可以同样基于在其他数据库图像中发现的假定对应数量以避免对不可能是该查询图像的匹配的图像进行计算。该步骤确保了计算开销大的运动估计不实施于比许多其他图像具有更少对应的图像。在确定了该假定对应和决定寻求哪些图像后,将运动估计实施于这些假定匹配图像上。在该运动估计的处理中,生成了几何上的变换。基于该变换将该查询图像的特征点映射到该数据库图像的特征点。为本发明所选择的变换是单应性。单应性是对该查询图像的旋转、比例化和缩短进行编码的变换。从步骤510到516中提供了该查询图像和该数据库图像之间的运动估计说明。在步骤510处,从步骤506处所获取的假定对应随机选择假定对应的一个子组。在本发明的实施方案中,该子组可包含4个被随机取样的假定对应,因为4个假定对应中的最小量对于生成单应性是必须的。在步骤512处,将拓扑等价测试实施于该假定对应的子组上。两组点是拓扑等价的,如果对于通过在两组中任意其他点的任意点所拉伸的任意光线而言,该剩余点或者在该光线的左边或者在该光线的右边。作为处理拓扑等价测试中的第一步,在该图像之一中的两个特征点与直线连接,作为在另一个图像中的对应点。选择另一个对应,计算从该查询图像中特征点到该查询图像中该线的标记距离。为该数据库图像进行相同的计算。如果该两个标记不同,该假定对应的子组非拓扑等价。如果该两个标记相同,测试另一个对应。但是,相框情况可能发生,当该两个对应点位于他们各自线上或非常接近于他们。在该情况中,根据该线实施测试用来确定该三个点的顺序(生成该线的两个点加上被测试的点)。如果该点具有参照该线的相同熟悉,该对应点是拓扑等价的。如果该假定对应的子组失败于该拓扑等价测试,导致物理上的无效变换,因此将在步骤514中将其丢弃,并在步骤510中选择假定对应的一个新的子组。当该假定对应的子组通过该拓扑等价测试时,在从步骤510处所获取的假定对应子组上在步骤516处实施该运动估计。该运动估计的步骤生成变换。该变换用于将该查询图像的特征点映射到该数据库图像的特征点。为本发明所选择的变换是单应性。本领域技术人员应当清楚,可同样使用该变换而非单应性以处理运动估计。例如,从三个假定对应的取样子组处生成的仿射变换,可用于运动估计。校正在该假定对应的子组中的假定对应以将他们的质心放在(0,0)处,以及离起源处^的平均距离。这些点是同类的并具有该形式|x ^ j,其中W= 1。这样处理是使得该计算在数字上稳定,通过估计一个自由度所需的计算。在校正了该假定对应之后,从假定对应处创建两个限制。将这些限制表示为两行的矩阵
"0 0 0 -W2R V, P1I21 ^2 1 _ W2P1 0 0 0 X2P1其中P1 = [X1 Υι W1]和己=[x2 y2 W2]是在假定对应中的两个点。该4个假定对应创建了 8X9的矩阵。该矩阵的奇异值分解(SVD)的最右的奇异向量是在由上到下顺序中该单应性的系数。这些系数将把该一个图像中的4个特征点映射到在另一个图像中的特征点。在步骤516处所确定的单应性可能是拓扑有效的,但是该特征点所强加的取向限制可能使其不切实际。对于可行的该单应性,与每一个特征点相关的取向应当保留在特定容许限度之内,在已经将该单应性应用于每一个特征点之后。为了确定该单应性的可行性, 在步骤518处实施取向一致测试。将该测试实施于从步骤510所获取的假定对应上。在该取向一致测试中,在该假定对应的子组中从该图像之一处的特征点的偏移点以该特征点取向的方向来确定。此后,将该单应性应用于这些偏移点。从在另一图像中特征点和他们对应变换的偏移点之间的位移处获取在该图像中特征点的期望取向。该单应性是不切实际的, 当在应用该单应性后获取的该特征点的期望取向,由于超过预定容许限度而不同于该特征点的实际取向时。在这样的情况中,在步骤514处丢弃该假定对应的子组,并在步骤510处选择新的子组。在一实施方案中,该预定容许限度是0.1弧度。由于该取向测试没有对该查询图像和该数据库图像之间的透视变形很好地进行说明,大的限度是必要的。在步骤520处,将从该点的偏移处所获得的特征点的取向与从步骤518处所获得的特征点的取向进行比较。如果在应用该变换之后,该特征点的取向未保留一致,该单应性被认为不切实际。在这样的情况中,在步骤514处将该假定对应的子组丢弃,并在步骤510 处选择假定对应的一个新子组以生成新的变换。在步骤522处从该查询图像和该数据库图像中假定对应的特征点处计算内窗层。 内窗层是通过单应性彼此映射的假定对应。该内窗层的数量是对该两个图像之间匹配的测量。在计算该内窗层之前,确定了该单应性的条件数。在理论上,仅仅需要具有3阶的3X3 矩阵的单应性。但是,为了该算法的数字稳定性。需要成为妥善调整矩阵的更强限制。为该最大奇异值对该最小奇异值的比值的条件数,应当小于107。此后,将假定对应确定为可能的内窗层,当在每一个图像单应性之下的他们期望值和该实际特征点之间的距离在预定限度之内时。如果P1和P2是一对对应特征点,将该变换H应用于该前向和反向两个方向用来确定该期望特征点位置Hpi和H—、。将这些期望特征点重新校正以将他们的w组件作为 1。此后,计算该Hpi-P2和P1-H-1P2W L2-正方形标准。如果这些差的总和小于预定阈值,该假定对应P1和P2是可能的内窗层。在本发明的实施方案中,该预定阈值是0. 01。在确定了该可能的内窗层之后,较早所述的取向一致测试实施在该可能的内窗层之上。将不满足该取向一致测试的可能的内窗层丢弃,并将剩下的内窗层确定为该数据库图像的内窗层。这些内窗层用于使用最少正方形匹配来计算最后的单应性。该单应性用于映射在该图像对之间的点,并且确定了与该数据库图像相关的该均方根(RMS)误差或估算误差。在建立了该内窗层之后,在步骤5Μ处在为该变换所发现内窗层总数和该数据库图像变换中内窗层总数之间进行比较。如果该变换具有超过迄今为止最佳发现结果的内窗层,根据步骤5 保留该变换和其内窗层。否则,将其丢弃并在步骤510处选择假定对应的新的子组。在步骤5 处,关于是否继续该运动估计阶段作出决定。如果已经进行了足够多次试验,该算法继续。在本发明的实施方案中,使用500次试验。可替换地,如果迄今为止发现的最佳变换中内窗层数量是假定对应数量的足够高的百分比,该统计算法可决定将不可能发现更好的变换,其中该运动估计阶段很快地终止。在步骤530处,将该数据库图像选作为可能的匹配,当与该图像相关内窗层的数量大于预定阈值时。该预定阈值可能是8个内窗层。此后,在步骤532处检查该可能匹配的均方根(冊幻误差或估算误差。如果该RMS误差等于或超过预定限度,该处理返回到步骤508,并丢弃该数据库图像。在本发明的一实施方案中,该预定RMS误差限度可能是该数据库图像宽度的2.5%。但是,如果该可能匹配的RMS误差或估算误差小于该预定限度,则在步骤534处计算该可能匹配的内窗层的覆盖。在该覆盖测试中,测量该数据库和该查询图像二者的内窗层所圈起的区域百分比。该覆盖测试用来避免在该查询和数据库图像之间仅仅共享该图像一小部分如标记或具有相同字体的文本的情况。将覆盖定义为该内窗层组所圈起的区域对比该图像区域的比例。可使用数个实施方案用来计算圈起该内窗层组的多边形。在一实施方案中,X-和y-坐标的最小值和最大值用于形成边界矩形。在另一实施方案中,计算该内窗层的凸包。如果将圈起该查询图像和数据库图像的内窗层的多边形区域分布标注SAm 和Apd,以及将该查询图像和该数据库图像的区域分布标注为Atl和Ad,可将该覆盖C定义为
r n ^j^pq ^pdC = max———ο更可取地,该覆盖C应当大于预定阈值以确定该整个图像正被匹配而不是仅仅该图像的一部分。在步骤536处,将该覆盖与该预定覆盖阈值比较。在本发明的实施方案中, 该预定覆盖阈值可能是0.3。在步骤538处,通过所有上述测试的候选数据库图像成为最后的匹配。在步骤MO 处,对是否存在任意更多的数据库图像进行检查。如果存在一些剩下的图像,则从步骤504 处开始重复该相同程序。可能存在这种情况,将满足该所有要求的超过一个图像确定为最后的匹配。在该情况中,在步骤542处将该最后的匹配以该内窗层数量的递减顺序进行分
11类。在步骤544处,将从542处的最后匹配的分类列表划分以对付该查询图像包含多个数据库图像的情况。我们考查该最后的匹配并将圈起其的内窗层的多边形与圈起最后匹配分类列表的当前序列的头部(第一元件)的内窗层的多边形进行比较。如果该最后匹配多边形和该序列头部多边形的交叉区域相对于该两个多边形轴较小者的区域的比例大于预定阈值,将该两个匹配认定为大体上重叠,并将该最后匹配添加给该序列。如果该最后匹配多边形大体上不与任意序列头部多边形重叠,该最后匹配成为新序列的头部。以这种方式,可将占据该图像不相交区域的多个图像匹配上报,与他们的位置一起。如果仅仅能够将一个匹配返回给该终端用户,可使用最接近该图像中心的序列头部。图8是描述可用于匹配图像的系统元件的方框图,依照本发明的各个实施方案。 该系统将该查询图像和多个数据库图像的特征表示作为输入,并以每一个最后匹配图像所包含的内窗层数量的递减顺序输出该最后匹配图像。图8包括假定匹配模块(PMM)802、运动估计模块(MEM) 804、覆盖测试模块(CTM) 806和最后识别模块(FIM) 808。将PMM 802配置用来寻找在该查询图像中视觉上与数据库图像中特征相同的特征。PMM 802计算查询图像特征向量和数据库图像特征向量之间的点积。同样,PMM 802将该点积与预定值比较并将其点积大于预定值的各对特征点作为假定对应输出。将这些假定对应输入到MEM 804中。MEM 804确定了在几何上一致的一组数据库图像,在具有充足假定对应的数据库图像组之外。该模块对假定对应的子组随机取样以生成变换。将MEM 804同样配置用来实施在该假定对应子组上的拓扑等价测试以确定在该假定对应子组的每一个假定对应之间的拓扑等价。进一步地,将MEM 804配置用来确定使用了通过该拓扑等价测试的假定匹配子组的变换。MEM 804为在该假定对应子组上的取向一致而对该变换测试,并随后在该变换之下匹配的特征点上。将MEM 804配置用来为具有大于预定阈值的内窗层的充分多的数量和具有小于该预定限度的RMS误差或估算误差的每一个数据库图像输出该结果内窗层。具体来说,由内窗层计算模块(ICM)SlO来实施该任务。ICM 810计算来自在该查询图像和使用该变换的假定对应图像之间的一组假定对应处的内窗层。MEM 804输出该结果内窗层作为对CTM 806的输入,其实施了在该数据库图像上的覆盖测试。此后,将满足该覆盖测试的数据库图像给出作为对FIM 808的输入。FIM 808以每一个最后匹配所包含内窗层数量的递减顺序对该最后匹配进行分类。进一步地,将FIM 808配置用来将该最后匹配划分为一个或多个序列并提供该序列作为输出。依照本发明的各个实施方案,本发明提供了一种有效匹配图像的方法。本发明有效地将图像与一个或多个图像匹配,而将少可能发生的不必要的计算。本方法使用了一组测试用来将不可能或不切实际的变换免于测试,其可能导致将不正确的图像进行匹配或浪
费的计算。同样,将具有伪造地大批匹配的特征丢弃,当这些特征在该图像上非常常见并对于真正图形匹配不起作用时。实施覆盖测试以确定被匹配的特征覆盖了该查询图形或该数据库图形的显著区域,并不仅仅是该图像的一小部分。可有效地处理包含多个数据库图像的查询图像。如在本发明或其任意组件中所述的图像匹配系统,可以用于计算机系统的计算机编程产品的形式来实现。该计算机编程产品具有计算机可使用介质,该介质具有此处体现为用于匹配该图像的计算机可读代码。计算机系统的常见实施例包括通用计算机、编程微处理器、微控制器、外部集成电路元件和能够实施组成本发明方法的步骤的其他装置或装
置布置。该计算机系统通常包括计算机、输入装置和显示单元。该计算机进一步包括微处理器。该微处理器连接到通信总线。该计算机同样包括存储器。该存储器可以是随机访问存储器(RAM)或只读存储器(ROM)。该计算机系统进一步地包括存储装置,其可以是硬盘或可移动存储驱动器如软盘驱动器、光盘驱动器等等。该存储装置同样可以是将计算机程序或其他指令装载进该计算机系统中的其他相同装置。该计算机系统同样包括通信单元。该通信单元使得该计算机连接到其他数据库和该互联网,通过输入/输出(I/O)接口,使得数据从其他数据库处进行传送和接收。该通信单元可包括调制解调器,以太网网卡或使得该计算机系统连接到数据库和如LAN,MAN,WAN和该互联网的网络的任意其他相同装置。该计算机系统实现通过输入装置来自用户的输入,通过I/O接口为该系统可访问。为了处理输入数据,该计算机系统执行存储在一个或多个存储元件中的一组指令。该存储元件可同样根据需要保留数据或其他信息。该存储元件可以是信息源或在该处理机器中出现的物理存储器元件的形式。该可编程指令可包括多种命令,指示该处理机器以实现特定任务,如构成本发明方法的步骤。所述的方法和系统同样可使用仅仅软件编程或硬件或通过该两种技术的变换组合来实施。本发明不依赖于所使用的编程语言和在该计算机中的操作系统。可将本发明的指令写入所有编程语言中,包括但不限于‘C’、‘C++’、‘可视C++’和‘可视Basic’。进一步地,该软件可以是各个程序的集合,具有大程序的程序模块或程序模块一部分的形式,如本发明中所述。该软件同样可包括面向对象编程形式的模块化编程。该处理机器对输入数据的处理可作为用户命令的响应,作为先前处理或另一个处理机器所发出请求的结果。同样能以所有操作系统和平台,包括但不限于‘Unix’、‘DOS’和‘Linux’,来实施本发明。可在计算机可读介质上存储和传送该可编程指令。可同样通过在载波上的数据信号来传送该可编程指令。可同样以包括计算机可读介质、能实施上述方法和系统或其众多可能变体的产品的计算机编程产品来实现本发明。条款1. 一种将查询图像与多个图像匹配的方法,图像由一组特征点和对应的一组特征向量表示,该方法包括a.通过寻找在该多个图像之一和该查询图像之间的假定对应,从该多个图像处寻找假定对应的图像;b.检查在该假定对应图像之一和该查询图像之间的假定对应的子组中的拓扑等价;和c.使用在该假定对应图像之一和该查询图像之间的假定对应的子组,通过实施运动估计来寻找候选匹配。条款2.如条款1所述的方法,其中从其假定对应数量大于预定值和基于在该多个图像中发现的假定对应数量的值二者的多个图像处,选择该假定对应图像。条款3.如条款1所述的方法,其中寻找假定对应包括,寻找大于预定值的、在该多个图像之一的特征向量和该查询图像的特征向量之间的向量点积。
条款4.如条款1所述的方法,其中寻找候选匹配包括,计算在该查询图像和由该估计的运动所获取的假定对应图像之间的一组假定对应处的一组内窗层。条款5.如条款4所述的方法,进一步包括测量由候选匹配和该查询图像二者的内窗层所圈起区域的百分比并当两个百分比的最大值小于预定阈值时拒绝该候选匹配。条款6.如条款1所述的方法,其中实施该运动估计包括,计算在假定对应的子组中对应特征点之间的变换。条款7.如条款6所述的方法,进一步包括在该假定对应的子组中特征点上实施取向一致测试。 条款8.如条款7所述的方法进一步包括a.为在该图像之一中该假定对应的子组中的特征点确定偏移点,其中从以该特征点取向的方向中其对应特征点处置换该偏移点;b.对该偏移点进行变换以生成在另一个图像中假定对应的子组中对应该特征点的第二偏移点;和c.当在该另一个图像中假定对应的子组中的特征点和其对应的变换偏移点之间的取向不同于其估计取向达预定限度时,丢弃该变换。条款9.如条款1所述的方法,进一步包括从该候选匹配处识别最后匹配的一个或多个序列,通过选择其内窗层数量大于内窗层预定数量和其估算误差小于预定阈值的候选匹配。条款10.如条款1所述的方法,进一步包括从该候选匹配处识别最后匹配的一个或多个序列。条款11.如条款10所述的方法,其中识别最后匹配的一个或多个序列包括a.将该候选匹配的序列按内窗层的递减数量进行分类;b.将该候选匹配添加到当前序列,如果圈起在该查询图像中候选匹配的内窗层的多边形和圈起在该查询图像中当前序列的第一元件的内窗层的多边形之间的交叉区域大于预定阈值;和c.创建由该候选匹配构成的新的序列,当对于所有当前序列而言,圈起在该查询图像中候选匹配的内窗层的多边形和圈起在该查询图像中当前序列的第一元件的内窗层的多边形之间的交叉区域降至预定阈值以下时。条款12.如条款1所述的方法,其中使用由该RANSAC程序生成的变换来实施该运动估计。条款13. —种将查询图像与多个图像匹配的方法,图像由一组特征点、对应的一组特征取向和对应的一组特征向量表示,该方法包括a.通过寻找在该多个图像之一和该查询图像之间的假定对应,从该多个图像处寻找假定对应的图像;和b.使用在该假定对应图像之一和该查询图像之间的假定对应的子组,通过实施运动估计来寻找候选匹配,并在该假定对应的子组中的特征点上实施取向一致测试。条款14.如条款13所述的方法,进一步包括检查在该假定对应图像之一和该查询图像之间的假定对应的子组中的拓扑等价,在实施该取向一致测试之前。条款15.如条款13所述的方法,其中实施该取向一致测试进一步包括
a.为在该图像之一中的假定对应的子组内的特征点确定偏移点,其中从以该特征点取向的方向中其对应特征点处置换该偏移点;b.对该偏移点进行变换以生成在另一个图像中假定对应的子组中对应该特征点的第二偏移点;和c.当在该另一个图像中假定对应的子组中的特征点和其对应的变换偏移点之间的取向不同于其估计取向达预定限度时,丢弃该变换。条款16.如条款13所述的方法,其中寻找候选匹配包括,计算在该查询图像和由该估计的运动所获取的假定对应图像之间的一组假定对应处的一组内窗层。条款17.如条款13所述的方法,进一步包括从该候选匹配处识别最后匹配的一个或多个序列。条款18.如条款17所述的方法,其中识别最后匹配的一个或多个序列包括,当该候选匹配的内窗层数量大于预定内窗层数量且具有少于预定阈值的估算误差时选择候选匹配。条款19. 一种将查询图像与多个图像匹配的方法,图像由一组特征点和对应的一组特征向量表示,该方法包括a.通过寻找在该多个图像之一和该查询图像之间的假定对应,从该多个图像处寻找假定对应的图像;b.通过使用在该假定对应图像之一和该查询图像之间的假定对应的子组实施运动估计来寻找候选匹配;和c.测量候选匹配和该查询图像二者的内窗层所圈起的区域百分比,并当该两个百分比中的最大值小于预定阈值时拒绝该候选匹配。条款20. —种将查询图像与多个图像匹配的方法,图像由一组特征点和对应的一组特征向量表示,该方法包括a.通过寻找在该多个图像之一和该查询图像之间的假定对应,从该多个图像处寻找假定对应的图像;b.通过使用在该假定对应图像之一和该查询图像之间的假定对应的子组实施运动估计来寻找候选匹配;和c.从该候选匹配处识别最后匹配的一个或多个序列,该方法包括i.通过内窗层的递减顺序对该候选匹配的序列进行分类;ii.将该候选匹配添加到当前序列,如果圈起在该查询图像中候选匹配的内窗层的多边形和圈起在该查询图像中当前序列的第一元件的内窗层的多边形之间的交叉区域大于预定阈值;和iii.创建由该候选匹配构成的新的序列,当对于所有当前序列而言,圈起在该查询图像中候选匹配的内窗层的多边形和圈起在该查询图像中当前序列的第一元件的内窗层的多边形之间的交叉区域降至预定阈值以下时。条款21. —种将查询图像与多个图像匹配的系统,图像由一组特征点和对应的一组特征向量表示,该系统包括a.假定对应模块,使用该组特征向量从该多个图像处寻找假定对应的图像;b.运动估计模块,检查在一个假定对应图像和该查询图像之间的假定对应的子组
15的拓扑等价以及使用该假定对应子组在该假定对应图像上实施运动估计;和c.最后识别模块,基于该运动估计识别匹配该查询图像的图像的一个或多个序列。条款22.如条款21所述的系统,其中该假定对应模块包括向量点积模块,该向量点积模块适合于a.计算在该多个图像之一的特征向量和该查询图像的特征向量之间的向量点积以寻找假定对应;和b.当该假定对应的数量大于预定值时,从该多个图像处选择假定对应图像。条款23.如条款21所述的系统,其中该运动估计模块包括取向一致检查模块,适于a.为在该图像之一中该假定对应的子组中的特征点确定偏移点,其中从以该特征点取向的方向中其对应特征点处置换该偏移点;b.对该偏移点进行变换以生成在另一个图像中假定对应的子组中对应该特征点的第二偏移点;和c.当在该另一个图像中假定对应的子组中的特征点和其偏移点之间的取向超出预定限度时,丢弃该变换。条款24.如条款21所述的系统,其中该运动估计模块进一步包括内窗层计算模块,使用该变换从该查询图像和假定对应图像之间的假定对应子组处计算内窗层。条款25.如条款21所述的系统,其中该最后识别模块适于当该候选匹配的内窗层数量大于预定内窗层数量且具有小于预定阈值的估算误差时选择一个或多个图像。条款26.如条款21所述的系统,其中在候选匹配和该查询图像二者的内窗层所圈起的区域百分比的最大值小于预定阈值处,该最后识别模块拒绝候选匹配。条款27.如条款21所述的系统,其中该运动估计模块通过使用由该RANSAC程序生成的变换来计算运动估计。条款28. —种用于将查询图像与多个图像匹配的计算机程序产品,图像由一组特征点和对应的一组特征向量表示,该计算机程序产品包括存储在计算机可读介质中的指令,实施a.通过寻找在该多个图像之一和该查询图像之间的假定对应,从该多个图像处寻找假定对应的图像;b.检查在该假定对应图像之一和该查询图像之间的假定对应的子组中的拓扑等价;和c.使用在该假定对应图像之一和该查询图像之间的假定对应的子组,通过实施运动估计来寻找候选匹配。当已经描述和说明了本发明的各个实施方案时,应当清楚,本发明不仅仅限于这些实施方案。对于本领域技术人员而言,许多修改、变化、变体、替代和等同物将是显而易见的而不背离如在该权利要求中所述的本发明的精神和范围。
权利要求
1.一种将查询图像与多个图像匹配的方法,图像由一组特征点和对应的一组特征向量表示,该方法包括a.通过寻找在该多个图像之一和该查询图像之间的假定对应,从该多个图像处寻找假定对应的图像;b.检查在该假定对应图像之一和该查询图像之间的假定对应的子组中的拓扑等价;和c.使用在该假定对应图像之一和该查询图像之间的假定对应的子组,通过实施运动估计来寻找候选匹配。
2.如权利要求1所述的方法,其中从其假定对应数量大于预定值和基于在该多个图像中发现的假定对应数量的值二者的多个图像处,选择该假定对应图像。
3.如权利要求1所述的方法,其中寻找假定对应包括,寻找大于预定值的、在该多个图像之一的特征向量和该查询图像的特征向量之间的向量点积。
4.如权利要求1所述的方法,其中寻找候选匹配包括,计算在该查询图像和由该估计的运动所获取的假定对应图像之间的一组假定对应处的一组内窗层。
5.如权利要求4所述的方法,进一步包括测量由候选匹配和该查询图像二者的内窗层所圈起区域的百分比并当两个百分比的最大值小于预定阈值时拒绝该候选匹配。
6.如权利要求1所述的方法,其中实施该运动估计包括,计算在假定对应的子组中对应特征点之间的变换。
7.如权利要求6所述的方法,进一步包括在该假定对应的子组中特征点上实施取向一致测试。
8.如权利要求7所述的方法进一步包括a.为在该图像之一中该假定对应的子组中的特征点确定偏移点,其中从以该特征点取向的方向中其对应特征点处置换该偏移点;b.对该偏移点进行变换以生成在另一个图像中假定对应的子组中对应该特征点的第二偏移点;和c.当在该另一个图像中假定对应的子组中的特征点和其对应的变换偏移点之间的取向不同于其估计取向达预定限度时,丢弃该变换。
9.如权利要求1所述的方法,进一步包括从该候选匹配处识别最后匹配的一个或多个序列,通过选择其内窗层数量大于内窗层预定数量和其估算误差小于预定阈值的候选匹配。
10.如权利要求1所述的方法,进一步包括从该候选匹配处识别最后匹配的一个或多个序列。
11.如权利要求10所述的方法,其中识别最后匹配的一个或多个序列包括a.将该候选匹配的序列按内窗层的递减数量进行分类;b.将该候选匹配添加到当前序列,如果圈起在该查询图像中候选匹配的内窗层的多边形和圈起在该查询图像中当前序列的第一元件的内窗层的多边形之间的交叉区域大于预定阈值;和c.创建由该候选匹配构成的新的序列,当对于所有当前序列而言,圈起在该查询图像中候选匹配的内窗层的多边形和圈起在该查询图像中当前序列的第一元件的内窗层的多边形之间的交叉区域降至预定阈值以下时。
12.如权利要求1所述的方法,其中使用由该RANSAC程序生成的变换来实施该运动估计。
13.—种将查询图像与多个图像匹配的方法,图像由一组特征点、对应的一组特征取向和对应的一组特征向量表示,该方法包括a.通过寻找在该多个图像之一和该查询图像之间的假定对应,从该多个图像处寻找假定对应的图像;和b.使用在该假定对应图像之一和该查询图像之间的假定对应的子组,通过实施运动估计来寻找候选匹配,并在该假定对应的子组中的特征点上实施取向一致测试。
14.如权利要求13所述的方法,进一步包括检查在该假定对应图像之一和该查询图像之间的假定对应的子组中的拓扑等价,在实施该取向一致测试之前。
15.如权利要求13所述的方法,其中实施该取向一致测试进一步包括a.为在该图像之一中的假定对应的子组内的特征点确定偏移点,其中从以该特征点取向的方向中其对应特征点处置换该偏移点;b.对该偏移点进行变换以生成在另一个图像中假定对应的子组中对应该特征点的第二偏移点;和c.当在该另一个图像中假定对应的子组中的特征点和其对应的变换偏移点之间的取向不同于其估计取向达预定限度时,丢弃该变换。
16.如权利要求13所述的方法,其中寻找候选匹配包括,计算在该查询图像和由该估计的运动所获取的假定对应图像之间的一组假定对应处的一组内窗层。
17.如权利要求13所述的方法,进一步包括从该候选匹配处识别最后匹配的一个或多个序列。
18.如权利要求17所述的方法,其中识别最后匹配的一个或多个序列包括,当该候选匹配的内窗层数量大于预定内窗层数量且具有少于预定阈值的估算误差时选择候选匹配。
全文摘要
提供一种匹配图像的方法、系统和计算机编程产品。将被匹配的图像由特征点和特征向量以及与该特征点相关的取向来表示。首先,通过使用特征向量来确定假定对应。选择假定对应的子组并确定了该子组的拓扑等价。将该假定对应的拓扑等价子组用来建立运动估计模型。在该假定对应上实施取向一致测试且确定了该对应的运动估计变换,以避免不切实际的变换。在满足取向一致测试的匹配上实施覆盖测试。拒绝未覆盖该图像之一的显著区域的候选匹配。按照递减匹配的顺序提供最后的匹配图像,在多个图像满足所有这些测试要求的情况中。
文档编号G06K9/62GK102341813SQ201080010602
公开日2012年2月1日 申请日期2010年1月15日 优先权日2009年1月16日
发明者D·坦圭, M·A·鲁宗 申请人:A9.Com有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1