CN108197631A - 提供图像特征描述符的方法 - Google Patents
提供图像特征描述符的方法 Download PDFInfo
- Publication number
- CN108197631A CN108197631A CN201810282558.1A CN201810282558A CN108197631A CN 108197631 A CN108197631 A CN 108197631A CN 201810282558 A CN201810282558 A CN 201810282558A CN 108197631 A CN108197631 A CN 108197631A
- Authority
- CN
- China
- Prior art keywords
- descriptors
- descriptor
- feature
- camera
- image
- 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.)
- Granted
Links
Landscapes
- Image Analysis (AREA)
Abstract
本公开涉及提供图像特征描述符的方法,所述方法包括:a)提供第一对象的图像或第一对象的多个不同外观或不同样式的图像,b)从这些图像中提取至少一个特征,c)提供用于所提取特征的描述符并将所述描述符存储在第一描述符组中,d)匹配第一描述符组的多个描述符,e)基于匹配过程的结果,计算用于多个描述符的评分参数,f)基于与其他描述符的评分参数对比的评分参数,选择至少一个描述符,g)将所选择描述符添加至第二描述符组,h)根据任一在先选择过程并根据匹配过程的结果,更新多个描述符的评分参数,i)再次执行步骤f)和g)。
Description
本申请是申请号为201280074856.2、申请日为2012年7月23日、发明名称为“提供图像特征描述符的方法”的发明专利申请的分案申请。
技术领域
本发明涉及提供特征描述符组的方法,该特征描述符组被配置成用于匹配相机图像中的对象的至少一个特征,还涉及用于执行所述方法的相应的计算机程序产品。
背景技术
这样的方法可以用于其他的应用中,例如,在确定相机相对于对象的位置和方向的方法中。确定相机相对于具有已知几何形状和可视外观的对象的位置和方向的常见方法利用通过局部特征描述符获得的2D-3D对应关系,诸如[1](参见说明书结尾处的目录)中描述的SIFT。在离线步骤中,所述对象的一个或多个视图用作参考图像。考虑到这些图像,局部特征被检测然后描述,产生具有已知3D位置的参考特征描述符组。对于实况相机图像,执行同样的程序以获得具有2D图像坐标的当前特征描述符。可以利用相似性度量(诸如描述符的欧式距离(Euclidean distance)的倒数)来确定两个特征的相似性。将当前特征描述符与参考描述符组匹配产生当前相机图像和参考对象之间的2D-3D对应关系。然后基于这些对应关系确定相对于对象的相机姿态,并且所述相机姿态可以用于增强现实(AugmentedReality)应用中以覆盖记录有真实对象的虚拟3D内容。注意到,类似地,可相对于相机坐标系来确定对象的位置和方向。
一般地,特征检测器和特征描述方法均需要的观点是在一定程度上以不变应万变。存在有[2]中所描述的仿射不变特征检测器,其估计仿射变换以使特征的邻域归一化,但是所述仿射不变特征检测器目前对于在移动装置上的实时应用太昂贵。相反,通常只有一个统一的尺度因子和一个平面内旋转被估计,得到仅对于这两个变换的真正不变性。然后所述特征描述方法利用特征的所确定的尺度和方向在计算描述符之前使支持区域归一化。然而,平面外旋转的不变性通常是相当有限的并且对描述方法本身负责。
如果辅助信息是可获得的,这可以用于补偿平面外旋转。设置有相机像素的深度,可以确定特征的3D法向矢量来建立特征的视角不变补丁,如[3]中所描述的。对于水平面,用惯性传感器测量的重力矢量使得能够在特征描述之前对相机图像进行矫正,如[4]中所描述的。
如果这些数据是不可获得的,可以采用渲染技术(诸如图像扭曲)来生成特征的多个合成视图,即图像。对于向视角变化或平面内旋转提供低不变性但能够非常快速进行描述符匹配的描述符,利用这样的合成视图为不同的视角和/或旋转创建不同的描述符以支持较大的变化,如[5,6]中所描述的。
然而,随着参考特征描述符的数量的增加,匹配单一当前特征描述符的时间也增加,使得实时处理在一些点上不可能。此外,潜在地需要通过移动网络传输的参考数据的总量增加,导致更长的加载时间。
特征分类器的目的还在于,对于给定的图像特征识别数据库(或第二图像)中的相应参考特征。这可以归结为分类问题,其中每个参考特征是一个类别,并且分类器确定对于给定的当前特征具有最高概率的类别。需要离线修整阶段,其中利用特征的通常通过随意扭曲的补丁获得的不同可能的外观修整分类器。随机树状图(如[7]中所描述的)使用这些来估计对于每个叶节点的遍及所有类别的概率,而内部节点包含基于图像强度对比的二元判定。修整之后,通过加和所到达叶节点的概率并找到具有最高概率的类别,对当前特征进行分类。
除了由不同视角产生的空间变化的不变性,特征描述符(以及特征分类器)对光照、噪声和其它非空间变换的变化提供不变性也是关键的。存在学习型的方法,在剧烈变化的姿势和光照条件下,基于包含特征的相应图像补丁的真实结果数据集,在定义的设计空间内找到理想的特征描述符布局,如[8]中所描述的。类推地,分类器可以设有扭曲的补丁,该扭曲的补丁在修整阶段附加地含有合成噪声、模糊或类似物。
由于设有特征的不同外观的修整阶段,分类器通常对修整期间合成的变换提供良好的不变性。然而,需要为特征分类器存储的概率要求有大量的内存,这使得它们对于大量特征而言尤其是在内存受限的移动设备上是不可行的。
利用对象的不同合成视图(即图像)来模拟不同外观已经呈现出对平面外旋转提供良好的不变性。然而,在大量描述符数据中利用这个结果的现有方法使得它们在移动设备上几乎不可行。
发明内容
因此,有利的是提供一种提供特征描述符组的方法,该特征描述符组能够用于匹配相机图像中的对象的特征的方法中,该相机应用在具有减少存储容量的设备上。
本发明的各方面根据独立权利要求来提供。
根据一方面,公开了一种提供特征描述符组的方法,该特征描述符组被配置成用于匹配相机图像中的对象的至少一个特征,该方法包括以下步骤:
a)提供第一对象或第一对象的多个情况实例的至少两个图像,其中,所述多个情况实例提供一个对象的不同外观或不同样式,
h)在图像中的至少两个图像中,从相应的图像提取至少一个特征,
c)提供用于所提取特征的至少一个描述符,并将用于多个所提取特征的描述符存储于第一描述符组中,
d)使第一描述符组中的多个描述符与第一描述符组中的多个描述符匹配,
e)基于匹配过程的结果,计算用于多个描述符的评分参数,
f)基于与其他描述符的评分参数对比的评分参数,从描述符中选择至少一个描述符,
g)将所选择的描述符添加至第二描述符组,
h)根据任一前面的选择过程并根据匹配过程的结果,更新第一描述符组中的多个描述符的评分参数,
i)再次执行步骤f)和g),
其中,第二描述符组被配置成用于匹配相机图像中的第一对象或第二对象的至少一个特征。
对象的“视图”这一术语是指对象的图像,其可以利用真正的相机捕获或者利用适当的合成视图创建方法合成地创建,如后续更详细地阐述的。
我们的方法一般建立第一描述符组然后将来自第一描述符组的描述符添加至第二描述符组。对专家来说熟知的是,这可以用很多不同的方法实现,并且并不必然意味着描述符从第一描述符组中在存储器中的某一位置被物理地复制到第二描述符组中在存储器中的不同位置。相反地,例如第二组可以通过将第一组中的描述符标记为第二组的一部分来实现,例如通过修改描述符的指定参数。另一种可能的实施方式是在根本不修改存储器中的描述符的情况下存储属于第二描述符组的描述符的存储地址、指针、参考或指标。
具体地,根据一个实施方式,提出了一种自动确定描述对象的特征描述符组使得它可以在各种条件下匹配和/或定位的方法。这些条件可以包括视角、光照以及相机参数(诸如焦距、焦点、曝光时间、信噪比等)的变化。基于对象的例如以合成方式生成的一组视图,优选地在不同条件下,检测和描述局部图像特征,并汇集在数据库中。所提出的方法评估这些数据库特征之间的匹配,以从数据库中最终找到减少的(优选最少的)最具代表性的描述符组。使用该可扩展的离线过程,匹配和/或定位成功率能够在不增加运行方法的计算负荷的情况下显著增加。
例如,步骤h)和i)重复地进行,直至第二描述符组中的描述符的数量已经达到特定值或第二描述符组中的描述符的数量停止变化为止。
根据一个实施方式,在步骤g)之前可以修改基于选择过程的至少一个所选择的描述符。
例如,所选择的描述符的修改包括将描述符更新为所选择的描述符和第一描述符组中的其他描述符的组合。
根据一个实施方式,更新步骤h)中的匹配过程的结果的使用受限于至少一个所选择的描述符的匹配过程的结果,或限于与所述至少一个所选择的描述符匹配的描述符的匹配过程的结果。
根据本公开的另一方面,提出了一种提供至少两个描述符组的方法,所述描述符组被配置成用于匹配相机图像中的对象的至少一个特征,该方法包括如下步骤:
a)提供第一对象或第一对象的多个情况实例的至少两个图像,其中,所述多个情况实例提供一个对象的不同外观或不同样式,其中,当生成相应图像时,每个图像通过具有相对于重力的已知定位的相应相机生成,
h)在图像中的至少两个图像中,从相应图像提取至少一个特征,
c)提供用于所提取特征的至少一个描述符,并将用于多个所提取特征的描述符存储于至少具有第一描述符组和第二描述符组的多个描述符组中,其中,第一描述符组包含从与相应相机的相对于重力的第一方位区对应的图像中提取的特征的描述符,并且第二描述符组包含从与相应相机的相对于重力的第二方位区对应的图像中提取的特征的描述符,
d)使第一描述符组的多个描述符与第一描述符组的多个描述符匹配,并且使第二描述符组的多个描述符与第二描述符组的多个描述符匹配,
e)基于匹配过程的结果,计算用于多个描述符的评分参数,
f)基于与其他描述符的评分参数对比的评分参数,从第一描述符组内选择至少一个描述符,并且基于与其他描述符的评分参数对比的评分参数,从第二描述符组内选择至少另一个描述符,
g)将来自第一组的至少一个所选择的描述符添加至第三描述符组,并将来自于第二组的至少一个所选择的描述符添加至第四描述符组,
h)根据任一前面的选择过程并根据匹配过程的结果,更新第一和/或第二描述符组中的多个描述符的评分参数,
i)再次执行步骤f)和g),
其中,第三和/或第四描述符组被配置成用于匹配相机图像中的第一对象或第二对象的至少一个特征。
因此,如果例如相机定位相对于对象在相机的相对于重力的已知定位来进行,提出了创建用于相机的不同方位区的多个参考描述符组。例如,可以利用相机光线和所测量的重力矢量之间的不同角度,如下面更详细地阐述的。这个方法尤其适用于具有内置惯性传感器(可用于测量相对于重力的定位)的手动装置并且能够与参考数据集相匹配,该参考数据集仅包含与所测量方向一致的相机姿态有关的信息。
因此,所提出的方法目的在于在不会增加存储器消耗的情况下有利于对象的多个(例如合成)视图。所述方法(该方法可以作为所谓的离线方法执行,当运行应用程序时该离线方法不需要运行〉因此首先建立一个来自于多个视图(即,对象的图像)的更大的描述符数据库,并然后确定能够在多种条件下匹配和/或定位对象的优选的最具代表性的描述符的子集。
例如,步骤h)和i)重复地进行;直至第三和/或第四描述符组中的描述符的数量已经达到特定值或者第三和/或第四描述符组中的描述符的数量停止变化。
根据一个实施方式,在步骤g)之前修改基于选择过程的至少一个所选择的描述符。
例如,所选择的描述符的修改包括将描述符更新为所选择的描述符和第一或第二描述符组中的其他描述符的组合。
例如,在上述方法中,步骤h)和i)多次迭代地进行,直到存储在第二、第三和/或第四描述符组内的描述符的数量已经达到特定值。
根据一个实施方式,步骤d)包括对于每个被匹配的描述符确定它们被正确地还是错误地匹配,并且步骤e)包括根据描述符被正确地还是错误地匹配来计算评分参数。
例如,评分参数表示已经与任何其他描述符正确匹配的相应描述符的匹配数量。然后,在步骤f)中,在第一描述符组内选择具有表示最高匹配数量的评分参数的至少一个描述符,并且步骤h)降低所述至少一个所选择的描述符的评分参数和与所述至少一个所选择的描述符相匹配的描述符的评分参数。
根据本发明的另一方面,公开了一种匹配相机图像中的对象的至少一个特征的方法,该方法包括:提供具有通过相机捕获的对象的至少一个图像,从所述至少一个图像中提取当前特征并提供为所提取特征而设置的具有至少一个当前特征描述符的当前特征描述符组,根据上述方法提供第二描述符组,以及比较当前特征描述符组与第二描述符组,以匹配所述至少一个图像中的对象的至少一个特征。
根据本发明的进一步的方面,公开了一种匹配相机图像中的对象的至少一个特征的方法,该方法包括:提供具有通过相机捕获的对象的至少一个图像,从所述至少一个图像中提取当前特征并提供为所提取特征而设置的具有至少一个当前特征描述符的当前特征描述符组,根据上述方法提供第三和第四描述符组,以及比较当前特征描述符组与第三和/或描述符组,以匹配所述至少一个图像中的对象的至少一个特征。
例如,所述方法可以进一步包括:基于匹配过程中所确定的特征描述符的对应关系,确定捕获关于对象的至少一个图像的相机的位置和方向。例如,所述方法可以是跟踪方法的一部分,该跟踪方法用于跟踪相机相对于真实环境的对象的位置和方向。
根据一个实施方式,提供特征描述符组的方法与增强现实应用程序相关联地应用,并且因此,该方法是提供被配置成用于在增强现实应用中定位相机图像中的对象的特征描述符组的方法。
根据一个实施方式,匹配相机图像中的对象的至少一个特征的方法被应用于增强现实应用中,并且因此,该方法是在增强现实应用中定位相机图像中的对象的方法。
例如,上述方法的步骤a)包括提供在不同条件下的第一对象的不同图像,这些条件包括在至少一个下述条件中从一个图像到另一个图像的变化:视角、光照、相机参数(诸如焦距、焦点、曝光时间、信噪比)。
根据一个实施方式,步骤a)可以包括通过利用合成视图创建算法提供第一对象的多个图像,合成视图创建算法通过相应的虚拟相机创建多个图像作为相应的合成视图。可选地,多个图像中的一个或多个可以通过真实相机生成。
例如,合成视图创建算法包括空间变换,该空间变换将3D模型投射到相应合成视图的图像平面上,并且应用渲染方法,该渲染方法能够模拟真实相机的特性,具体地诸如失焦、运动模糊、噪声、曝光时间、亮度、对比度,并且还模拟不同的环境,具体地诸如通过采用虚拟光源、阴影、反射、镜头炫光、光晕、环境映射。
根据一个实施方式,步骤c)包括将用于所提取特征的描述符连同从中提取了特征的图像的索引一起存储。
具体地,上述方法在可以具有任何期望配置的计算机***上执行。有利地,由于减小了描述符组的大小,利用这样的减少描述符组的方法能够应用于只有有限存储容量的移动设备上,例如移动手机。
另一方面,提供一种适于加载到数字计算机***的内部存储器中的计算机程序产品,并且包括软件代码部分,借助于所述软件代码部分,当所述产品在所述计算机***上运行时,执行上述方法的各步骤。
附图说明
参照下面的附图来描述本发明的进一步的有利特征、实施例和各方面,附图中:
图1示出了根据实施例的特征描述方法,
图2示出了根据本发明实施例的特征描述方法,具体地是关于平面对象的多个视图,
图3示出了根据本发明实施例的特征描述方法,具体地是关于常规3D对象的多个视图,
图4示出了合成视图创建方法的不同示例性实施例,
图5示出了根据本发明实施例的描述符子集识别方法,
图6示出了根据实施例的特征描述方法的一方面,具体地是所谓的全面重力感知方法,
图7示出了根据实施例的特征描述方法,具体地与图6中示出的全面重力感知方法相关联,
图8示出了根据实施例的特征描述方法的一方面,具体地与图6和图7中示出的全面重力感知方法相关联,
图9示出了根据实施例的特征描述方法的一方面,具体地与所谓的局部重力感知方法相关联,
图10示出了根据一实施例的特征描述方法,具体地与图9中示出的局部重力感知方法相关联。
具体实施方式
一般地,计算机视觉领域的许多应用需要定位相机图像中的对象的一个或多个特征,例如用于对象识别或用于确定相机的位置和方向。这些应用通常包括在变化视角(可能光照和所使用的捕捉硬件有变化)下在相同背景或对象的两个或更多个图像中找到相应点或其他特征。所述特征可以是点或一组点(图像中的线、片段、区域或者仅仅是图像中的一组像素、补丁或任意组像素〉。示例性应用包括窄和宽基线立体匹配、相机姿态估计、图像检索、对象识别,以及视觉搜索。
例如,增强现实***允许计算机生成的虚拟信息与真实环境的视觉印象的叠加。为此,例如在一个或多个图像中的通过相机捕获的真实世界的视觉印象例如借助于显示装置与虚拟信息混合,该显示装置将利用虚拟信息增强的相应图像显示给用户。虚拟信息和真实世界的空间配准需要计算通常基于特征对应关系的相机姿态(位置和方向)。
典型地,对象的一个或多个视图被用作参考图像。鉴于这些视图,它们是对象的图像,可以检测然后描述局部特征。可以通过虚拟相机(生成所谓的合成视图,如下面详细描述的)或通过真实相机在离线步骤中生成这样的视图。根据本发明的一方面,提供第一对象或第一对象的多个情况实例的至少两个视图。
例如,第一对象可以是一美元钞票。这个一美元钞票可以通过相机从不同的视角看到,并且可以生成通过虚拟或真实相机捕获的相应视图。因此,按照这个方式提供了一美元钞票的多个视图。
如上所述,对象的多个情况实例可以提供对象的不同外观或不同样式。例如,一美元钞票可以在各种不同条件下被捕获,例如不同的光线条件或其他的不同的环境条件,和/或可以通过扭曲功能以某种方式扭曲,这样形成一美元钞票的具有不同外观的图像。另外,对象的这种不同外观可以从不同视角观察。根据进一步的实施例,一美元钞票的不同样式也可以捕捉在不同图像中。例如,具有不同褶皱、污渍、图画等等的多个一美元钞票可以捕捉在不同图像中。这些图像相应地描述对象(在当前情况中是一美元钞票)的不同样式。再者,这样的不同样式也可以从不同视角观察。
借助于第一对象或第一对象的多个情况实例,可以检测然后描述其至少一部分,诸如对***已知的其3D尺寸,在另一图像中示出第一对象或以某种方式相当于第一对象的第二对象的局部特征。
一般地,在多个视图或参考图像中,如上所述,检测然后描述特征,产生由于参考对象的已知3D特性而具有已知3D位置的参考特征描述符组。对于实况相机图像,执行相同的程序以获得具有2D图像坐标的当前特征描述符。可以利用相似性度量(诸如描述符的欧氏距离的倒数)来确定两个特征的相似性。当前特征描述符与参考特征描述符组的匹配产生当前相机图像与参考对象(在上述例子中,为第一对象,诸如一美元钞票)之间的2D-3D对应关系。然后基于这些对应关系确定相对于实况相机图像中真实对象而言的相机姿态,并且所述相机姿态可以用于增强现实应用中以覆盖记录有真实对象的虚拟3D内容。注意到,类似地,可相对于相机坐标系来确定对象的位置和方向。
在下文中,将首先参考图1到图5更详细地描述本发明的实施例和各方面。
图1示出了根据实施例的特征描述方法。具体地,其示出了如上面已经提及的特征描述方法的高级流程图。数字图像I1作为描述方法DM的输入,该描述方法输出用于图像I1的特征描述符组D1。例如,图像I1可以是通过合成相机生成的视图,例如,描述虚拟对象的合成视图,或者可以是通过描述真实对象的真实相机捕捉的视图。描述方法DM(可以使用本领域内已知的标准方法)在图像或视图I1中从所述图像或视图提取至少一个特征,提供用于所提取特征的描述符,并将用于多个所提取特征的描述符存储于描述符组D1内。目的是创建用于每个所提取特征的描述符,从而能够进行对比并因此进行特征的匹配。例如,对于良好描述符的要求是独特的,即,不同的特征点产生不同的描述符,对于观察方向、旋转和比例方面的变化,对于光照和/或图像噪声方面的变化的不变性。
图2示出了根据本发明实施例的特征描述方法,具体是关于平面对象的多个视图。具体地,图2以高级流程图描述了根据本发明的用于平面对象的方法的实施例。当与图5的流程图关联起来看时,其细节将更加清楚。
一般地,根据一方面,提供了一种自动确定用于给定对象的特征描述符组使得其可以在各种条件下在相机图像中匹配和/或定位的方法。这些条件可以包括视角、光照和相机参数(诸如焦距、焦点、曝光时间、信噪比等)的变化。所述方法的目的在于,当描述符匹配所需的计算时间随着参考描述符的数量而增加时,找到相对较小的描述符组。对于任意的对象,所述方法可以利用允许创建合成视图的模型,例如,与强度信息相关联的带纹理的三角形网格或点云。对于平面对象,对象的正面并行图像是完全足够的,并且可以利用图像扭曲来创建合成视图,形成通过虚拟相机捕获的图像。
所述方法以提供第一对象或第一对象的多个情况实例的至少两个图像开始,其中,所述多个情况实例可以提供第一对象的不同外观或不同样式,如上面更详细描述的。例如,给定第一对象O2的模型,该模型在这个实例中以数字视图或图像I2呈现(在这里,术语视图和图像可互换使用),创建第一对象O2的多个合成视图V21、V22、V23、V24。在接下来的步骤中,在视图V21-V24中的至少两个视图中,通过提供用于所提取特征的描述符的描述方法,提取来自相应视图的至少一个特征。将用于多个所提取特征的描述符存储在第一描述符组D2中。具体地,每个视图或图像被送入描述方法DM中,产生汇集在第一描述符组D2中的特征描述符的多个子集。如图2中的示意图所示出的,每个描述符d1-dn由具有描述相应提取特征的多个参数的描述符矢量表示。所述方法然后继续,使第一描述符组D2中的多个描述符d1-dn与在描述符子集识别方法M2中执行的匹配过程中的第一描述符组D2中的多个描述符d1-dn匹配。例如,描述符d的每个正确匹配在矩阵中以“1”标记,如所示。当然,在数据库中还有其他可行的标记匹配。在当前的例子中,例如,发现描述符d3和d17彼此正确匹配,其在矩阵中被标记为相应的“1”。
在进一步的步骤中,依据匹配过程的结果,将评分参数分配给多个描述符d1-dn。例如,将评分参数s=4分配给描述符d17,因为发现它与描述符组D2中的4个描述符匹配。所述评分参数可以是任意种类的参数,该参数表示已经与任何其他描述符正确匹配的相应描述符的匹配数量。其他可能的替代匹配数量的评分参数的定义可以是一个描述符到所有描述符的最小距离或者所有匹配描述符的平均相似度。
在下一个的步骤中,基于与其他描述符的评分参数相比的评分参数,在描述符中选择至少一个描述符。然后将所选择的描述符存储在第二描述符组D2’中。例如,选择已经识别为具有最高评分参数的描述符的描述符d17并且存储在第二描述符组D2’中。在本实施例中,最高评分参数表示描述符d17的较高重要性。相应地,在其他的实施方式中,评分参数被不同地确定,应该选择具有评分参数的描述符,该评分参数表示与其他描述符相比的相应描述符的更高重要性。
此后,在第一描述符组D2中修正所选择的描述符(即,在本实例中为描述符d17)的评分参数s。例如,用于描述符d17的评分参数S可以减少到3、2、1或0(结果是,降低了它对于接下来的选择步骤的重要性)。可选地,可以在第一描述符组D2中指定所选择的描述符(如d17),使得所选择的描述符在接下来的选择步骤中不再选择。例如,所选择的描述符(如d17)可以被标记为不相关或标记为从数据库中移除,使得在接下来的选择步骤中不再选择它。
如上所述的选择描述符和修正评分参数或指定所选择的描述符的步骤被重复进行多次,由此在第二描述符组D2’中存储多个所选择的描述符d,其数量低于存储在第一描述符组D2中的描述符d的数量。因此,所提及的方法确定了源自D2的描述符组D2’该描述符组D2’提供了D2中的不同描述符d之间的最大匹配,即,D2中的最重要的描述符,并且由此描述符组D2’被期望代表在不同视角和条件下用于描述对象O2。因此,这样的第二描述符组D2’可以用于匹配和/或定位对象O2或相机的另一图像中的第二对象(优选地类似于对象O2)的至少一个特征。
图3示出了根据类似实施例的特征描述方法,但特别是关于一般的3D对象的多个视图。具体地,图3阐明了与图2所示相同的方法,但是用于一般的3D对象,而不是平面对象。在这个实例中,通过在各种条件下对数字3D模型O3进行渲染而创建合成视图V31、V32、V33、V34。以与图2所阐述相同的方式,将来自所有视图的描述符收集于第一描述符组D3中,在描述符子集识别方法M3中匹配,该描述符子集识别方法迭代地确定最佳描述符并将最佳描述符收集于第二描述符组D3’中。
根据一方面,图4示出了合成视图创建方法的不同的示例性实施例。具体地,图4阐明了用于该方法的一些实例,从而基于对象的模型来建立对象的合成视图。该图使用平面对象,但是所有的例子类推地也适用于一般的3D对象。例如,借助于空间变换创建用于对象O41的合成视图,仅仅产生从不同视角展示对象O41的视图V41、V42、V43、V44。在另一个例子中,对象O42的数字图像仅经历非空间变换,产生合成视图V45、V46、V47、V48。这些视图包括对象O42的根据相应变换的不同外观,但是来自于相同的视角。最终,在另一个例子中,空间变换和非空间变换均被用于创建对象O43的合成视图V49、V410、V411、V412,再次产生对象O43的不同外观,但另外具有不同的视角。显然,也可以利用这三种情况的任意组合,即,一些合成视图仅使用空间变换,其他的仅使用非空间变换,并且一些使用两者的组合。
图5示出了根据本发明实施例的方法的更详细的流程图,其原理已经在上面针对图2中进行了描述。具体地,图5示出了迭代描述符子集识别算法,其确定最终描述符组D’(假定最初描述符组D)。例如,描述符组D对应于参考图2描述的描述符组D2并且描述符组D’对应于描述符组D2’。
此外,所述方法以提供第一对象或第一对象的多个情况实例的多个视图开始,其中,所述多个情况实例提供对象的不同外观或不同样式,在视图中从相应视图提取至少一个特征,提供用于所提取特征的相应描述符,并且将用于多个所提取特征的描述符存储在第一描述符组D内。这些步骤并未在图5中示出。
在接下来的步骤S51中,所述方法继续,描述符D与产生于一个合成视图的D中的每一个描述符子集相匹配。具体地,第一描述符组D中的多个描述符与第一描述符组D中的多个描述符相匹配。例如,第一描述符组D中的所有描述符与第一描述符组D中的所有描述符相匹配。
仅保留正确的匹配M,即,两个匹配的描述符描述空间上彼此接近的两个物理点。在步骤S52中,该迭代方法从正确的匹配M中选择最佳描述符d,在本实施例中为具有最高评分参数s的描述符d,然后在步骤S53中,该描述符d被添加到第二描述符组D’中。在图2中,具有最高评分参数s的描述符d被指定为“imax”(具有最高的匹配数量)。每次迭代之后,步骤S54确定D’包含的描述符的数量是否少于期望的描述符的数量。如果是,步骤S55更新包括M中的之前选择的描述符d的匹配的评分参数s,并且然后继续在步骤S52中从M中选择下一个最佳描述符。否则,如果否,即,如果D’中的描述符达到了期望的数量,则在步骤S56中输出D’作为最终的特征描述符组。这个输出的第二描述符组D’被配置成用于匹配和/或定位第一对象或相机图像(例如,增强现实应用的实况相机图像)中的第二对象的至少一个特征。
匹配相机图像中的对象的至少一个特征的相应方法包括:提供具有通过相机捕捉的对象的至少一个图像(例如,增强现实应用的实况相机图像),从至少一个图像中提取当前特征,以及提供用于所提取特征的具有至少一个当前特征描述符的当前特征描述符组。然后将当前特征描述符组与第二描述符组D’相匹配,以便匹配和/或定位至少一个图像(例如实况相机图像)中的对象的至少一个特征。
根据一个实施例,所提出的提供特征描述符组的方法包括由两部分组成的合成视图创建算法。首先空间变换将对象的待渲染的3D模型投射到合成视图的图像平面上。这个变换可以是任意类型的变换,包括刚性本体变换、平行投影、远景投影、非线性变换和这些的任意组合。其意味着模拟虚拟相机的特性,诸如其位置、方向、焦距、分辨率、偏移和径向失真(例如桶形失真、枕形失真)。然后应用渲染方法来模拟真实相机的特性,诸如失焦、运动模糊、噪声、曝光时间、亮度、对比度,并且还利用虚拟光源、阴影、反射、镜头炫光、光晕、环境映射等模拟不同环境,生成作为数字图像的相应合成视图。应该注意的是,用于每个合成视图的空间变换是已知的并且可逆转的,即,能够容易地计算每个视图中的每个像素的3D位置。
利用上述方法,创建了对象的合成视图组(不考虑其是否是平面的)。对于每一个这样的视图,利用特征描述方法(DM)检测和描述图像特征,并且所有的描述符与视图的指标一起被聚集,它们来自于具有视图指标的描述符的数据库组。对于每个描述符,其所对应的模型上的特征的3D位置被确定并与描述符一起保存。原则上,在与用于创建合成视图的类似的条件下,这样的描述符数据库组使得对象能够非常好地定位在另一个视图中,例如,定位在一个实况相机图像中。然而,当使用许多合成视图时,所形成的描述符组包括许多描述符进行匹配,对于具有有限存储容量或实时应用的移动装置而言,描述符的数量可能太高。因此,根据本发明的方法寻求这些描述符的子集,该子集在合成视图中提供足量的描述符匹配。假设该子集将同样允许在各种条件下匹配和/或定位相机图像中的对象,但只有减少的数量的描述符。
根据具体的实施例,所述方法首先将最初的描述符组中的每一个描述符与来自每一个合成视图的所有描述符子集匹配。注意到,该匹配过程不必为每个描述符找到匹配,原因在于它可能例如需要两个描述符之间的最小相似性或者最相似的描述符需要明显地更接近于第二最接近的描述符。在数据库中的所有描述符已经匹配之后,所有错误的匹配被丢弃,例如,模型上的相应特征的3D位置差异超过一个阈值。对于所有其余的(正确的)匹配而言,特征位置可选地可以作为所有匹配特征的平均被更新,这产生更精确的位置。
迭代描述符子集识别方法然后首先确定数据库描述符子集内的具有最高评分参数的描述符,如上所述。因此评分参数对应于描述符有多“合适”。这可以以不同的方式定义,例如作为用于描述符的匹配数量或作为与所有其他描述符的相似性的总和。然后将具有最高评分参数的最佳描述符(d)添加到最终的描述符组(D’)中。
根据一个实施例,在添加最佳描述符至最终的描述符组的过程之前可以基于选择过程通过修改这个描述符。例如,可以修改描述符,使得它对应于它本身以及与它匹配的所有描述符的加权平均。
在描述符选择、添加描述符至第二组以及更新评分参数重复进行的实施例中,在每个迭代中执行如上所述的所选择描述符的附加更新。
有利的是本方法的可扩展性,即,它可以处理大量的合成视图,如果后续方法不仅更新所选择的(最佳)描述符d的评分参数,而且更新描述符d所匹配的其他描述符的评分参数,与描述符d匹配的描述符的评分参数和/或根据选择过程与描述符d所匹配的描述符匹配的评分参数。这作为描述符d17的例子在图2和3中示出:在修正步骤中,与描述符d17匹配的行Rm以及与描述符d17所匹配的描述符匹配的列Cm在步骤S55中被修正(在图5中以“更新M中的涉及d的匹配”描述,在当前的例子中:“更新M中的涉及d17的匹配”)。具体地,行RM和列Cm中的相应的“1”被设置为表示“未匹配”,例如,移除或用“0”替代。这自动地修正了列“Σ”(相应行中的匹配的总和)中的评分参数s。
对于评分参数的其他定义,根据任意在先的选择过程以及根据匹配过程的结果进行的评分参数的这种更新被相应地执行。如果评分参数例如对应于一个描述符到所有描述符的最小距离或所有匹配描述符的平均相似度,则更新将修正评分参数,使得修正值表示所选择的描述符,还可能表示它所匹配的与组内的其余描述符相距更远的描述符。
如果对象具有在许多的多个视图中可见并且其外观尤其不变的突出特征,则可能的是,很多具有最高评分参数的描述符对应于这个单一特征。为了避免使所有这些都在最终的描述符组D’中,在开始下一个迭代或递归循环之前修正这些描述符的评分参数。这降低了它们对于接下来的选择步骤的重要性。例如,挑选评分参数,使得它们表示第一描述符组内的匹配数量。因此,所选择的描述符的评分参数被修正,以便修正后的评分参数表示减少的匹配数量。在本实施例中,评分参数随着匹配数量的增多而增加,而当修正时减小。
在下一个迭代或递归循环中,再次地,具有最高评分参数的描述符被确定并添加至描述符组D’。如上所述,重复该过程,直至最终的描述符组D’具有期望的规模。最后,D’可以按照与规则特征描述符(例如组D)会被使用相同的方式被使用,例如,用于匹配、相机定位、对象定位,或来自运动的结构。
在下文中,参考图6至10描述本发明的另一方面。这个方面的基本原理对应于参考图1至5描述的方面,因此涉及此处的任何细节将不再赘述。
图6示出了根据这个方面的实施例的特征描述方法的一个方面,具体是一种所谓的全面重力感知方法,其中提出为相对于重力的不同相机方位区创建多个典型的特征描述符组,如下更详细的解释。更具体地,图6示出了用于平面对象O61的多个虚拟相机,诸如中心围绕对象O61且位于半球上的虚拟相机C61、C62、C63。相机C61、C62、C63以它们从不同视角捕捉对象O61的方式定位,产生相应的视图V61、V62、V63。即,相机C61捕捉对象O61并生成视图V61,等等。相机的孔径角通过相应的角锥表示。
对于平面对象O62,图6示出了用于创建合成视图V64、V65、V66等的虚拟相机的相机中心的可能布局(通过相应的圆示出)。在下面解释的全面重力感知方法中,这些视图根据相应相机相对于重力的方向被分类为所谓的视图面元,例如根据相应虚拟相机的主轴与重力矢量g之间的角度。注意到,术语“视图面元”和“方位区”具有同样的含义并且因此之后可互换。利用实心圆和轮廓圆示出不同的视图面元VB61、VB62、VB63、VB64等。例如,视图面元VB61包括视图V64、V65、V66、V67、V68和V69,这些视图是通过相对于重力定向在公共方位区中的相机捕捉的视图。
所谓的重力感知方法目的在于最好在一定的视角范围下描述对象的特征描述符组。在一普通应用中,对于普通的3D对象,这个范围将最大可能地从所有方向覆盖视角,而对于平面对象,仅覆盖示出正面的视角。一般而言,其将包括应用应当能够处理的对象的那些视角。
许多应用处理具有相对于重力的已知方向的对象,以便相机定位。实例包括位于桌面之上的杂志或游戏板、地板上的导航照片、竖直的广告牌和海报、用于大尺寸户外增强现实(AR)的建筑物立面或用于营销应用的汽车。如果真实相机的姿势是部分已知的,例如,如果相机坐标系中的重力方向能够用惯性传感器测量,并且真实对象相对于重力的方向是已知的,则在与部分已知的相机姿势一致的全视角下描述真实对象的参考描述符组将是足够的。换句话说,如果一个真实相机位于真实对象上方并从顶部对其成像,则从底部看时允许定位对象的参考特征不是有利的。相反地,由于引入错误的匹配可能甚至干扰定位过程。
根据这方面,提出了为相对于重力的不同相机方向建立多个典型特征描述符组。在运行期间,例如,在使用捕捉即时图像的真实相机的跟踪方法中,全面重力感知方法则仅仅使用多个参考描述符组中的与目前使用的真实相机的当前测量相机方位角对应的参考描述符组。因此,进行匹配的相同总量的参考描述符可以包含更多的描述符,这些描述符代表与一个真实相机类似的方向中的对象。
如在前一方面的方法中,根据一实施例,创建第一对象的不同合成视图。然后基于相应虚拟相机相对于重力的方向,这些视图可被分类为面元,例如,基于对应于视图的虚拟相机的主轴与变换到相机坐标系中的已知重力矢量之间的角度。所述方法创建用于所有合成视图的特征描述符。然后对于每个视图面元,单独地执行将数据库中的描述符彼此匹配的过程。属于一个特定面元中的视图的所有描述符或者仅自身匹配或者与来自所有视图面元的所有描述符匹配。
简而言之,对于每一个视图面元,单独地执行迭代的或递归的描述符子集识别,即,可以在一个特定面元内确定具有最高评分参数的描述符,并将该描述符添加到用于该面元的最终的描述符组,包括来自视图的具有相对于重力的相似的相机方向(即,具有属于相同方位区的相机方向)的特征描述符。最后,提供了用于每个视图面元的典型的特征描述符组。
对于真实相机图像,例如,在匹配相机图像中的对象的至少一个特征的方法中,所提出的重力感知方法首先测量或加载相机坐标系中的重力矢量。例如,从与捕捉图像的相机相关联的重力传感器(例如,加速计)提供重力矢量。然后这可以用来计算重力矢量与真实相机的主轴之间的方位角。例如,所述方法最终确定视图面元,其中合成相机的所有方位角的平均值接近于当前真实相机的方位角并且仅使用产生于该视图面元的组的参考描述符。注意到,在实时应用中,基于当前相机方向,可以改变每一帧(图像)中的待使用的参考特征组,即,如果相机方位从一帧改变到下一帧。
图7示出了根据一实施例的特征描述方法,具体地与图6所示的全面重力感知方法相关联。具体地,高级流程图更详细地阐释了上述全面重力感知方法的实施例。类似于图2和图3,图7描述了提供特征描述符组的方法,所述特征描述符组被配置成用于匹配相机图像中的对象的至少一个特征。
此外,所述方法以提供第一对象O7或第一对象O7的多个情况实例的多个视图作为开始,其中,所述多个情况实例提供对象的不同外观或不同样式。视图V70-V79中的每一个通过相应的相机(如图6中示出的C61-C63)生成,当生成相应视图时,该相机具有相对于重力的已知方向(例如,通过重力矢量g表示)。例如,利用对象O7的适当模型来创建不同条件下的合成视图V70-V79。可以基于视图相对于重力的方向将视图V70-V79分类为视图面元。在这个实例中,视图面元VB71包括视图V70、V71、V72,而视图面元VB72包含视图V73、V74、V75、V76,并且视图V77、V78和V79属于面元VB73。对于每一个面元,继续这个方法,如图2中示出的所提及的方法。
在进一步的步骤中,在视图V70-V79中的至少两个视图中,从相应视图提取至少一个特征,并且提供用于所提取特征的描述符。用于多个所提取特征的描述符被存储在至少具有第一描述符组(例如D71)和第二描述符组(例如D72)的多个描述符组D71-D73中。第一描述符组D71包含从视图V70-V72提取的与关于相应相机的重力的第一方位区对应的特征的描述符,并且第二描述符组D72包含从视图V73-V76提取的与关于相应相机的重力的第二方位区对应的特征的描述符。这个步骤还可以包括将描述符存储在三个或更多个描述符组中,这些描述符组与关于相应相机的重力的三个或更多个方位区对应,如图7中示出的用于三个方位区。
在下一个步骤中,第一描述符组D71的多个描述符d与第一描述符组D71的多个描述符d相匹配,并且第二描述符组D72的多个描述符d与第二描述符组D72的多个描述符d相匹配。这个匹配可以在相应的描述符子集识别方法M71-M73中执行,类似于参考图2描述的描述符子集识别方法。在目前的实例中,来自于视图面元VB71的组D71的描述符被提供给产生用于这个视图面元的最终的描述符组D’71的描述符子集识别方法M71。类推地,创建用于视图面元VB72的描述符组D’72,并且描述符组D’73基于来自视图面元VB73的描述符。
根据实施例,这个步骤可以包含将第一描述符组D71的多个描述符与第一描述符组D71的或者第一描述符组D71及第二描述符组D72的多个描述符相匹配,以及将第二描述符组D72的多个描述符与第二描述符组D72的或者第一描述符组D71及第二描述符组D72的多个描述符相匹配。对于超过两个描述符组,其可以类似的应用于描述符组D73,即,例如,第一描述符组D71的描述符可以仅与D71的描述符相匹配,或者与D71到D73中的多个或全部的描述符相匹配。
在进一步的步骤中,将评分参数作为匹配过程的结果分配给多个描述符,类似于图2的方法。此后,在第一描述符组D71内,基于与其他描述符的评分参数对比的评分参数,选择至少一个描述符,并将所选择的描述符存储到第三描述符组D’71内。类推地,在第二描述符组D72内,基于与其他描述符的评分参数对比的评分参数,选择至少另一个描述符,并将所选择的另一个描述符存储到第四描述符组D’72内。如果超过两个方位区被使用,则对于描述符组D73类似地执行这个过程,产生减少的描述符组D’73,等等。
在下一个步骤中,修正第一描述符组和/或第二描述符组D71、D72中的所选择的描述符的评分参数,或作为选择,指定第一描述符组和/或第二描述符组D71、D72中的所选择的描述符,使得如上所述在接下来的选择步骤中所选择的描述符不再被选择。选择和修正步骤(参见图5,步骤S52和S53〉反复进行多次,由此将多个所选择的描述符中的每一个存储在第三和第四描述符组D’71、D’72中,所选择的描述符的数量分别低于存储在第一和第二描述符组D71、D72内的描述符的数量。根据实施例,如果所述方法包括将描述符存储在与三个或更多个方位区对应的三个或更多个描述符组内,则该步骤包括将多个所选择的描述符中的每一个存储在三个或更多个描述符组中,所选择的描述符的数量低于存储在相应的最初描述符组内的描述符的数量。第三和第四描述符组D’71、D’72以及任何另外的描述符组,例如D’73,被配置成用于匹配相机图像中的第一对象或第二对象的至少一个特征,例如,在增强现实应用的实况相机图像中。
根据实施例,所述方法可包括计算主轴和所提供的与相应视图对应的相机的重力矢量之间的方位角,以便确定相应相机相对于重力的方向。对于所计算的方位角,需确定其是否对应于第一或第二方位区。例如,第一方位区可以包括从60°到90°的方位角,而第二方位区包括从60°到30°的角度。如果所计算的方位角对应于第一方位区,相应视图(例如V70-V72)的所提取特征的描述符被存储到第一描述符组(例如D71)内,并且如果其对应于第二方位区,则相应视图(例如V73-V76)的所提取特征的描述符被存储到第二描述符组(例如D72)内。
具体地,所述方法还包括为每一个描述符确定提供相应视图的相机的重力矢量g。
根据本发明的另一方面,提供一种匹配相机图像中的对象的至少一个特征的方法,包括:提供具有通过相机捕捉的对象的至少一个图像,从所述至少一个图像中提取当前特征并提供具有为所提取特征提供的至少一个当前特征描述符的当前特征描述符组,提供第三和第四描述符组(如图7的D’71和D’72),以及对比当前特征描述符组与第三和/或第四描述符组,以匹配至少一个图像中的对象的至少一个特征。
在这点上,图8示出了根据实施例的这种特征描述方法的方面,具体地与图6和7中所示的全面重力感知方法相关联,但它也可与如下阐述的局部重力感知方法一起使用。对于将对象O8捕捉在图像中的真实相机C8,所述方法测量或加载相机坐标系中的重力矢量g。该矢量g然后用于计算重力矢量g与相机C8的主轴pa8之间的方位角γc。
例如,所述方法包括:提供捕捉至少一个图像的相机的重力矢量g,确定相对于重力的相机C8的方向以及使所确定的相机C8的方向与第一方位区或第二方位区相关联。如果所确定的相机C8的方向与第一方位区(在图7的实例中,对应于视图面元VB71)相关联,则当前特征描述符组与第三描述符组(如图7中的D’71)匹配,并且如果所确定的相机的方向与第二方位区(在图7的实例中,对应于视图面元VB72)相关联,则当前特征描述符组与第四描述符组(如图7中的D’72)匹配。例如,从与相机C8关联的重力传感器提供重力矢量g。
例如,所述方法确定合成相机的所有重力角度的平均值接近于方位角γc的视图面元。在图8的例子中,该面元是VB85。对于这个通过相机C8捕捉的图像(帧),真实相机C8的当前相机图像中的特征然后仅与产生于面元VB85中的视图的减少的描述符组的描述符相匹配,所述面元包括如黑圈所示的视图V81、V82、V83、V84等。
图9和10示出了根据本发明另一个实施例的特征描述方法的一方面,具体地是一种所谓的局部重力感知方法。类似于全面重力感知方法(图6-8)的在先方面,提出了创建相对于重力的用于不同方位区的多个典型特征描述符组。
对于许多真实相机,固有参数(即,焦距和主点)或者是已知的或者可估计。在这个实例中,对于相机图像中的每一个像素,可计算相机坐标系内的3D光线,其源于相机的起点并指向在该像素中成像的3D点。同样可应用于合成视图创建算法中使用的虚拟相机。
在这点上,图9示出了相机C10,其布置类似于根据图8的相机C8。如果相机C10的固有参数是已知的或可估计,则提出一种所谓的局部重力感知方法,其分别计算用于多个特征描述符的相对于重力的方位角,如图9所示。位于对象O10(其相对于重力具有已知和静止的方向)上.的点P0、PI、P2、P3、P4通过相机C10成像为图像平面上的特征F0、F1、F2、F3、F4。基于相机坐标内的重力矢量g以及已知的或估计的相机C10的焦距和主点,能够计算用于相应特征F0、F1、F2、F3、F4的各个描述符的方位角γ0、γ1、γ2、γ3、γ4。它们对应于从C10的相机中心到表面(图像平面)上的对应特征点的光线与相机坐标系中的重力矢量g之间的角度。
代替为将视图分类为面元而使用的重力矢量与相机主轴之间的方位角,如在先前的方面中所解释的,现在提出局部重力感知方法,该方法单独的计算用于多个(例如,每一个)特征描述符的相对于重力的方位角。由此,描述符的方位角可以定义为重力矢量与从相机中心指向通过描述符描述的特征的光线之间的角度。
如先前的方面中的那样,所提出的局部重力感知方法首先在对象的不同条件下创建多个视图并且检测和描述来自于每个视图的特征并收集它们于描述符数据库组中。对于每一个描述符,对应的重力矢量或重力方位角与描述符一起被存储。然后使用方位角将描述符分类到至少两个面元中,其中具有相似方位角的描述符落入相同的面元中。然后以与参照图6-8描述的在先方法中的视图组的描述符相同的方式处理每个这样的方位角子集。然后以如在先的方面中描述的全面重力感知方法那样的方式继续离线算法。
图10示出了根据实施例的与如图9所示的局部重力感知方法相关联的特征描述方法。具体地,以与图7中类似的方案,高级流程图详细地阐释了上述局部重力感知方法的一个实施例。此外,所述方法以提供对象O9或对象O9的多个情况实例的多个视图开始。当生成相应视图时,视图V90-V99中的每一个通过具有相对于重力的已知方向的相应相机(诸如图9中示出的C10)生成。
在进一步的步骤中,在视图V90-V99中的至少两个中,从相应视图提取至少一个特征,并且提供用于所提取特征的描述符。比如,用于多个所提取特征的描述符首先被存储在一公共数据库D9中。用于多个所提取特征的描述符然后被存储在多个描述符组D91-D93中。例如,对于用于所提取特征的每一个描述符,计算从相应相机中心指向通过描述符所描述的相应提取特征的光线与所提供的相机的重力矢量g之间的方位角。对于计算出的方位角,确定其是否对应于第一或第二方位区(如果该方法实施两个方位区)。例如,第一方位区可包括从60°到90°的方位角,并且第二方位区包括从60°到30°的角度。如果计算出的方位角对应于第一方位区,则相应的描述符被存储到第一描述符组(诸如D91)中,并且如果它对应于第二方位区,则相应的描述符被存储到第二描述符组(诸如D92)中。
在接下来的步骤中,第一描述符组D91的多个描述符d与第一描述符组D91的多个描述符d相匹配,并且第二描述符组D92的多个描述符d与第二描述符组D92的多个描述符d相匹配。与参照图2描述的描述符子集识别方法M2相比,可以在相应的描述符子集识别方法M91-M93中执行中这种匹配。在当前的例子中,组D91的描述符被提供至描述符子集识别方法M91中,生成减少的最终的描述符组D’91。类推地,创建描述符组D’92和D’93。该步骤还可以包括参考图7描述的变型。
在进一步的步骤中,将评分参数作为匹配过程的结果分配给多个描述符,类似于图2和图7的方法。此后,在第一描述符组D91内,基于与其他描述符的评分参数对比的评分参数,选择至少一个描述符,并将所选择的描述符存储到第三描述符组D’91内。类推地,在第二描述符组D92内,基于与其他描述符的评分参数对比的评分参数,选择至少另一个描述符,并将所选择的另一个描述符存储到第四描述符组D’92内。如果超过两个方位区被使用,则对于描述符组D93,类似地执行这个过程,产生减少的描述符组D’93,等等。在下—个步骤中,修正第一和/或第二描述符组D91、D92中的所选择描述符的评分参数,或作为选择,指定第一和/或第二描述符组D91、D92中的所选择描述符,使得在如参考图7所述的接下来的选择步骤中,所选择描述符不再作为选择。
根据另一方面,提供一种在相机图像中匹配对象的至少一个特征的方法,包括:提供具有通过相机捕捉的对象的至少一个图像,从至少一个图像中提取当前特征并且提供具有用于所提取特征的至少一个当前特征描述符的当前的特征描述符组,提供如上所述的第三和第四描述符组,并且将当前特征描述符组与第三和/或第四描述符组对比,以匹配至少一个图像中的对象的至少一个特征。
例如,对于给定相机图像或真实相机,匹配相机图像中的对象的至少一个特征的方法(所谓的在线方法)测量或加载相机坐标系中的重力矢量g。然后特征从相机图像中被提取,产生当前特征描述符组。使用测量出的重力(例如,重力矢量g)和估算的固有相机参数,计算用于当前相机图像中的每个特征描述符的方位角(诸如图9所示的γ0-γ4),作为重力矢量g和从相机中心指向该特征的光线之间的角度。来自当前相机图像的每个特征描述符于是仅与具有最接近的方位角的参考描述符组相匹配。
例如,对于当前相机图像的每个描述符,计算方位角并使之与第一方位区或第二方位区关联。如果该当前特征描述符的所确定的方位角与第一方位区相关联,则当前特征描述符中的至少一个与第三描述符组(诸如D’91)相匹配,并且如果该当前特征描述符的所确定的方位角与第二方位区相关联,则当前特征描述符中的至少一个与第四描述符组(诸如D’92)相匹配。
接下来,描述进一步的示例性实施方式:
有不同的方法来实现本发明中所涉及的各个步骤和子方法。下面将说明一些示例性实施方式,以提供对这些方法的更好理解,而非将本发明限制于这些实施方式。
合成视图创建方法:
几何变换是合成视图创建方法的一部分,可以是例如用于平面对象的投影或仿射矩阵(affine homography)。在这个实例中,借助于使用双线性插值或最邻近插值的图像扭曲来创建合成视图。对于任意的对象,可以应用刚性本体变换和针孔相机模型,作为几何变换的基础。
虚拟相机的中心可以例如位于以图6所示对象为中心的球体(icosphere)的顶点。对于某些应用,期望真实相机仅在限定范围内移动,例如,在平面上,相应地选择虚拟相机的位置,例如,在那个平面上。
对象的模型可以例如是可以利用光栅化被渲染的带纹理的三角形网格,或者是可以利用光线跟踪,光线投影或上油彩被渲染的点云或体积。对光照效果的逼真合成,可以应用全局光照渲染方法,如光线跟踪或辐射。
特征检测和描述方法:
在对象的合成视图中被检测的特征可以是例如借助于如SIFT、SURF、Harris、FAST等检测器检测的点特征。然而,特征也可以是一个边缘或能够被描述的任何其他的几何基元或像素组。
描述符匹配方法:
关于给定的描述符在描述符组内的匹配描述符可以利用距离函数(诸如,平方差之和)例如被定义为描述符空间内的最近邻域。最近邻域能够例如利用穷尽搜索被确定,或能够通过近似的最近邻域搜索方法(例如KD-树)来近似。此外,匹配方法可以包括匹配需要满足的条件。例如,这可以是,匹配描述符的距离小于特定阈值,或到最近邻域的距离与到第二最近邻域的距离之比超出某一阈值。
迭代描述符子集识别方法:
描述符的在迭代子集识别方法中计算和使用的评分参数可以以不同的方式定义和计算。例子包括描述符的匹配数量,到所有描述符中的一个描述符的最小距离,或所有匹配描述符的平均相似度。
面元/聚类分析方法:
可能会有不同的策略来确定对应于面元的方位角。方位角可以限定在[0°,180°]范围内。一个可能的策略是将这个范围平均分成N个面元,为[0°,180°/N),[180°/N,2*180/n),…,[(N-1)*180°/N,180°]。取决于应用,根据数据库自适应地选择面元也是有意义的,例如,借助于聚类算法,诸如K-均值。
参考文献:
[l]D.G.Lowe.Distinctive image features from scale-invariantkeypoints.Int.Journal on Computer Vision,60(2):91-110,2004.
[2]K.Mikolajczyk,T.Tuytelaars,C.Schmid,A.Zisserman,J.Matas,F.Schaffalitzky,T.Kadir,and L.V.Gool.A comparison of affine regiondetectors.Int.Journal Computer Vision,65:43-72,2005.
[3]C.Wu,B.Clipp,X.Li,J.~M.Frahm,and M.Pollefeys.3d model matchingwith
viewpoint-invariant patches(VIP).In Proc.IEEE CVPR,2008.
[4]D.Kurz and S.Benhimane.Gravity-Aware Handheld Augmented Reality.InProc.IEEE/ACM ISMAR,2011.
[5]S.Taylor,E.Rosten,and T.Drummond.Robust feature matchingin2.3ms.In IEEE CVPR Workshop on Feature Detectors and Descriptors,2009.
[6]M.Calonder,V.Lepetit,M.Ozuysal,T.Trzcinski,C.Strecha,andP.Fua.Brief:Computing a local binary descriptor very fast.IEEE Trans.PatternAnal.Mach.In-tell,34:1281-1298,2012.
[7]V.Lepetit and P.Fua.Keypoint recognition using randomizedtrees.IEEE Trans.Pattern Anal.Mach.Intel..,28(9):1465-1479,2006.
[8]M.Brown,G.Hua,and S.Winder.Discriminative learning of local imagedescriptors.IEEE Trans.Pattern Anal.Mach.Intel!.,33(1):43-57,2011.
Claims (23)
1.一种生成描述符组的方法,所述方法包括:
获得对象的多个图像,其中,在所述多个图像中的每个图像中所述对象的外观不同;
从所述多个图像获得多个特征描述符;
执行匹配操作,所述匹配操作将所述多个特征描述符中的每个特征描述符与所述多个特征描述符中的每个特征描述符进行比较以确定匹配;
基于匹配生成所述多个特征描述符的评分;
基于所述评分生成描述符组,其中所述描述符组包括所述多个特征描述符的子集;以及
利用所述描述符组来识别附加图像中的所述对象。
2.根据权利要求1所述的方法,其中,生成所述描述符组包括迭代地将所述多个特征描述符中的评分最高的特征描述符分配给所述描述符组以及对所述多个特征描述符中的其余多个特征描述符重新评分,直到所述描述符组中的特征描述符的数量满足阈值。
3.根据权利要求1所述的方法,其中,生成所述描述符组包括迭代地将评分最高的特征描述符分配给所述描述符组,减少该评分最高的特征描述符的评分以及对所述多个特征描述符重新评分,直到所述描述符组中的特征描述符的数量满足阈值。
4.根据权利要求1所述的方法,还包括使用所述描述符组将第二对象与所述对象匹配。
5.根据权利要求1所述的方法,还包括:
从所述附加图像获得当前特征描述符组;以及
执行所述当前特征描述符组与所述描述符组的比较,以匹配所述附加图像中的所述对象的至少一个特征。
6.根据权利要求5所述的方法,还包括基于所述比较来确定捕获所述附加图像的相机相对于所述对象的位置和方向。
7.根据权利要求1所述的方法,还包括使用所述描述符组来定位增强现实应用中的图像中的对象。
8.一种生成至少两个描述符组的方法,所述方法包括:
获得对象的多个图像,其中在所述多个图像中的每个图像中所述对象的外观不同,并且其中所述多个图像中的每个相应图像与相对于重力的相应相机方向相关联;
获得从所述多个图像的第一子集提取的第一多个特征描述符,第一子集中的每个图像与相对于重力的相机方向的第一范围相关联;
获得从所述多个图像的第二子集提取的第二多个特征描述符,第二子集中的每个图像与相对于重力的相机方向的第二范围相关联;
执行第一匹配操作,第一匹配操作将第一多个特征描述符中的每个特征描述符与第一多个特征描述符中的每个特征描述符进行比较以确定第一匹配;
基于第一匹配生成第一多个特征描述符的第一评分;
执行第二匹配操作,第二匹配操作将第二多个特征描述符中的每个特征描述符与第二多个特征描述符中的每个特征描述符进行比较以确定第二匹配;
基于第二匹配生成第二多个特征描述符的第二评分;
基于第一评分生成第一描述符组,其中第一描述符组包括第一多个特征描述符的子集;以及
基于第二评分生成第二描述符组,其中第二描述符组包括第二多个特征描述符的子集。
9.根据权利要求8所述的方法,其中,生成第一描述符组包括迭代地将第一多个特征描述符中的评分最高的特征描述符分配给第一描述符组以及对第一多个特征描述符中的其余多个特征描述符重新评分,直到第一描述符组中的特征描述符的数量满足阈值。
10.根据权利要求8所述的方法,其中,生成第一描述符组包括迭代地将第一多个特征描述符中的评分最高的特征描述符分配给第一描述符组、减少该评分最高的特征描述符的评分以及对第一多个特征描述符重新评分,直到第一描述符组中的特征描述符的数量满足阈值。
11.根据权利要求8所述的方法,还包括:
接收与相对于重力的特定相机方向相关联的附加图像;以及
响应于确定所述特定相机方向包括在相对于重力的相机方向的第一范围中,使用第一描述符组来确定所述附加图像是否包括所述对象。
12.根据权利要求8所述的方法,其中,所述多个图像中的每个图像与不同组的相机参数相关联。
13.根据权利要求8所述的方法,还包括通过利用合成视图创建算法生成所述对象的所述多个图像。
14.根据权利要求13所述的方法,其中,所述合成视图创建算法将3D模型投射到相应合成相机的图像平面上,并且模拟真实相机的特性,所述特性包括失焦、运动模糊、噪声、曝光时间、亮度、对比度或它们的组合。
15.根据权利要求8所述的方法,其中,第一描述符组中的特征描述符连同从其中提取了特征描述符的图像的索引一起存储。
16.一种用于生成描述符组的***,包括:
相机;
一个或多个处理器;以及
存储器,耦接到所述一个或多个处理器并且包括计算机可读代码,所述计算机可读代码能够由所述一个或多个处理器执行以:
从所述相机获得对象的多个图像,其中,在所述多个图像中的每个图像中所述对象的外观不同;
从所述多个图像获得多个特征描述符;
执行匹配操作,所述匹配操作将所述多个特征描述符中的每个特征描述符与所述多个特征描述符中的每个特征描述符进行比较以确定匹配;
基于匹配生成所述多个特征描述符的评分;
基于所述评分生成描述符组,其中所述描述符组包括所述多个特征描述符的子集;以及
利用所述描述符组来识别附加图像中的所述对象。
17.根据权利要求16所述的***,其中,生成所述描述符组包括迭代地将评分最高的特征描述符分配给所述描述符组以及对其余多个特征描述符重新评分,直到所述描述符组中的特征描述符的数量满足阈值。
18.根据权利要求16所述的***,其中,生成所述描述符组包括迭代地将所述多个特征描述符中的评分最高的特征描述符分配给所述描述符组、减少该评分最高的特征描述符的评分以及对所述多个特征描述符重新评分,直到所述描述符组中的特征描述符的数量满足阈值。
19.根据权利要求16所述的***,其中,所述计算机可读代码进一步能够由所述一个或多个处理器执行,以使用所述描述符组将第二对象与所述对象匹配。
20.根据权利要求16所述的***,其中,所述计算机可读代码进一步能够由所述一个或多个处理器执行以:
从所述附加图像获得当前特征描述符组;以及
执行所述当前特征描述符组与所述描述符组的比较,以匹配所述附加图像中的所述对象的至少一个特征。
21.根据权利要求20所述的***,其中,所述计算机可读代码进一步能够由所述一个或多个处理器执行,以基于所述比较的结果来确定捕获所述附加图像的相机相对于所述对象的位置和方向。
22.根据权利要求16所述的***,其中,所述计算机可读代码进一步能够由所述一个或多个处理器执行,以使用所述描述符组来定位增强现实应用中的图像中的对象。
23.一种计算机可读介质,其上存储有软件代码部分,所述软件代码部分当由一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1至15中的任一项的方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810282558.1A CN108197631B (zh) | 2012-07-23 | 2012-07-23 | 提供图像特征描述符的方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2012/064422 WO2014015889A1 (en) | 2012-07-23 | 2012-07-23 | Method of providing image feature descriptors |
CN201810282558.1A CN108197631B (zh) | 2012-07-23 | 2012-07-23 | 提供图像特征描述符的方法 |
CN201280074856.2A CN104541290A (zh) | 2012-07-23 | 2012-07-23 | 提供图像特征描述符的方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280074856.2A Division CN104541290A (zh) | 2012-07-23 | 2012-07-23 | 提供图像特征描述符的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108197631A true CN108197631A (zh) | 2018-06-22 |
CN108197631B CN108197631B (zh) | 2022-06-28 |
Family
ID=82081474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810282558.1A Active CN108197631B (zh) | 2012-07-23 | 2012-07-23 | 提供图像特征描述符的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108197631B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109978829A (zh) * | 2019-02-26 | 2019-07-05 | 深圳市华汉伟业科技有限公司 | 一种待检测对象的检测方法及其*** |
WO2021138749A1 (en) * | 2020-01-10 | 2021-07-15 | Sportlogiq Inc. | System and method for identity preservative representation of persons and objects using spatial and appearance attributes |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030035479A1 (en) * | 2001-08-14 | 2003-02-20 | National Chung Cheng University | Method of using MPEG-7 standard in object segmentation |
CN1451128A (zh) * | 2000-07-07 | 2003-10-22 | 三菱电机株式会社 | 表示和搜索图像中的对象的方法和装置 |
CN1534521A (zh) * | 1999-04-29 | 2004-10-06 | ��������Ϣ��������ŷ������˾ | 利用形状进行目标表示与检索的方法和装置 |
CN1732481A (zh) * | 2002-12-26 | 2006-02-08 | 韩国电子通信研究院 | 用于描述和检索三维图像数据的装置和方法 |
CN1777916A (zh) * | 2003-04-21 | 2006-05-24 | 日本电气株式会社 | 识别视频图像对象的设备和方法、应用视频图像注释的设备和方法及识别视频图像对象的程序 |
CN101138007A (zh) * | 2005-01-07 | 2008-03-05 | 索尼株式会社 | 图像处理***、学习设备及方法和程序 |
CN101398934A (zh) * | 2007-09-27 | 2009-04-01 | 三菱电机株式会社 | 对图像中的对象进行定位的方法和*** |
CN101669117A (zh) * | 2008-05-09 | 2010-03-10 | 韩国外国语大学校研究产学协力团 | 用形状描述符匹配图像 |
CN101932987A (zh) * | 2007-02-02 | 2010-12-29 | 朗讯科技公司 | 用于对***需求规范中的描述符进行管理的方法和装置 |
CN102110228A (zh) * | 2009-12-23 | 2011-06-29 | Metaio有限公司 | 确定在光学对象初始化追踪过程中使用的参考特征的方法以及对象初始化追踪方法 |
CN102231191A (zh) * | 2011-07-17 | 2011-11-02 | 西安电子科技大学 | 基于asift的多模态图像特征提取与匹配方法 |
CN102292979A (zh) * | 2009-01-23 | 2011-12-21 | 日本电气株式会社 | 视频描述符生成装置 |
CN102385625A (zh) * | 2010-10-26 | 2012-03-21 | 微软公司 | 实体名称匹配 |
US20120121192A1 (en) * | 2010-11-15 | 2012-05-17 | Samsung Electronics Co., Ltd. | Method and apparatus for image search using feature point |
CN103959308A (zh) * | 2011-08-31 | 2014-07-30 | Metaio有限公司 | 以参考特征匹配图像特征的方法 |
-
2012
- 2012-07-23 CN CN201810282558.1A patent/CN108197631B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1534521A (zh) * | 1999-04-29 | 2004-10-06 | ��������Ϣ��������ŷ������˾ | 利用形状进行目标表示与检索的方法和装置 |
CN1451128A (zh) * | 2000-07-07 | 2003-10-22 | 三菱电机株式会社 | 表示和搜索图像中的对象的方法和装置 |
CN1896993A (zh) * | 2000-07-07 | 2007-01-17 | 三菱电机株式会社 | 表示和搜索图像中的对象的方法和装置 |
US20030035479A1 (en) * | 2001-08-14 | 2003-02-20 | National Chung Cheng University | Method of using MPEG-7 standard in object segmentation |
CN1732481A (zh) * | 2002-12-26 | 2006-02-08 | 韩国电子通信研究院 | 用于描述和检索三维图像数据的装置和方法 |
CN1777916A (zh) * | 2003-04-21 | 2006-05-24 | 日本电气株式会社 | 识别视频图像对象的设备和方法、应用视频图像注释的设备和方法及识别视频图像对象的程序 |
CN101138007A (zh) * | 2005-01-07 | 2008-03-05 | 索尼株式会社 | 图像处理***、学习设备及方法和程序 |
CN101932987A (zh) * | 2007-02-02 | 2010-12-29 | 朗讯科技公司 | 用于对***需求规范中的描述符进行管理的方法和装置 |
CN101398934A (zh) * | 2007-09-27 | 2009-04-01 | 三菱电机株式会社 | 对图像中的对象进行定位的方法和*** |
CN101669117A (zh) * | 2008-05-09 | 2010-03-10 | 韩国外国语大学校研究产学协力团 | 用形状描述符匹配图像 |
CN102292979A (zh) * | 2009-01-23 | 2011-12-21 | 日本电气株式会社 | 视频描述符生成装置 |
CN102110228A (zh) * | 2009-12-23 | 2011-06-29 | Metaio有限公司 | 确定在光学对象初始化追踪过程中使用的参考特征的方法以及对象初始化追踪方法 |
CN102385625A (zh) * | 2010-10-26 | 2012-03-21 | 微软公司 | 实体名称匹配 |
US20120121192A1 (en) * | 2010-11-15 | 2012-05-17 | Samsung Electronics Co., Ltd. | Method and apparatus for image search using feature point |
CN102231191A (zh) * | 2011-07-17 | 2011-11-02 | 西安电子科技大学 | 基于asift的多模态图像特征提取与匹配方法 |
CN103959308A (zh) * | 2011-08-31 | 2014-07-30 | Metaio有限公司 | 以参考特征匹配图像特征的方法 |
Non-Patent Citations (4)
Title |
---|
AYOUNG CHO等: "Bag-of-features signature using invariant region descriptor for object retrieval", 《2011 17TH KOREA-JAPAN JOINT WORKSHOP ON FRONTIERS OF COMPUTER VISION (FCV)》 * |
FEDERICO TOMBARI等: "Outlier-Resistant Dissimilarity Measure for Feature-based Image Matching", 《2011 18TH IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING》 * |
冯政寿等: "基于Harris与改进SIFT算法的图像匹配算法", 《福州大学学报》 * |
张洁玉: "图像局部不变特征提取与匹配及应用研究", 《中国优秀博硕士学位论文全文数据库(博士) 信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109978829A (zh) * | 2019-02-26 | 2019-07-05 | 深圳市华汉伟业科技有限公司 | 一种待检测对象的检测方法及其*** |
CN109978829B (zh) * | 2019-02-26 | 2021-09-28 | 深圳市华汉伟业科技有限公司 | 一种待检测对象的检测方法及其*** |
WO2021138749A1 (en) * | 2020-01-10 | 2021-07-15 | Sportlogiq Inc. | System and method for identity preservative representation of persons and objects using spatial and appearance attributes |
Also Published As
Publication number | Publication date |
---|---|
CN108197631B (zh) | 2022-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10528847B2 (en) | Method of providing image feature descriptors | |
JP5833189B2 (ja) | 被写体の三次元表現を生成する方法およびシステム | |
US9275277B2 (en) | Using a combination of 2D and 3D image data to determine hand features information | |
CN103155003B (zh) | 姿势估计装置及姿势估计方法 | |
CN111062885B (zh) | 基于多阶段迁移学习的标志检测模型训练及标志检测方法 | |
EP3545497B1 (en) | System for acquiring a 3d digital representation of a physical object | |
CN109242961A (zh) | 一种脸部建模方法、装置、电子设备和计算机可读介质 | |
Rana et al. | Learning-based tone mapping operator for efficient image matching | |
CN108510594A (zh) | 虚拟试衣方法、装置及终端设备 | |
Wang et al. | Unsupervised texture transfer from images to model collections. | |
CN109448086B (zh) | 基于稀疏实采数据的分拣场景平行数据集构建方法 | |
CN111126412A (zh) | 基于特征金字塔网络的图像关键点检测方法 | |
CN109886223A (zh) | 人脸识别方法、底库录入方法、装置及电子设备 | |
CN112215861A (zh) | 一种足球检测方法、装置、计算机可读存储介质及机器人 | |
CN108197631A (zh) | 提供图像特征描述符的方法 | |
CN108109164A (zh) | 一种信息处理方法及电子设备 | |
CN108960285B (zh) | 一种分类模型生成方法、舌体图像分类方法及装置 | |
Konishi et al. | Detection of target persons using deep learning and training data generation for Tsukuba challenge | |
Zhang et al. | Deep inverse rendering for practical object appearance scan with uncalibrated illumination | |
Sankar et al. | Model-based active learning to detect an isometric deformable object in the wild with a deep architecture | |
Rolin et al. | View synthesis for pose computation | |
Do et al. | On multi-view texture mapping of indoor environments using Kinect depth sensors | |
Lin et al. | Entropy-Boosted Adversarial Patch for Concealing Pedestrians in YOLO Models | |
WO2023126817A1 (en) | System and method for 3d computer vision assisted retail product synthesis | |
May | Data Analytics and Methods for Improved Feature Selection and Matching |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |