具有可跟踪性测量结果的关键点检测的制作方法

文档序号:13426431阅读:218来源:国知局
具有可跟踪性测量结果的关键点检测的制作方法

相关申请案的交叉参考

本申请案根据35usc119主张2015年5月12日申请的标题为“具有可跟踪性测量结果的关键点检测(keypointdetectionwithtrackabilitymeasurements)”的第62/160,420号美国临时申请案的优先权,所述临时申请案主张2015年9月4日申请的标题为“具有可跟踪性测量结果的关键点检测(keypointdetectionwithtrackabilitymeasurements)”的第14/846,674号美国非临时申请案的优先权,上述两个申请案以全文引用的方式并入本文中。

本发明大体上涉及用于图像序列中的对象检测和跟踪的设备和方法。



背景技术:

在计算机视觉和计算机图形中,频繁执行对象跟踪和/或辨识来促进各种应用程序。举例来说,映射或导航应用程序可使用在相机视野中辨识到的对象来确定对象的位置并执行航线校正。作为另一实例增强现实(ar)应用程序可基于一或多个对象在所捕获图像中的位置和定向来扩增现实世界图像。

在对象检测或跟踪应用程序中,可在一或多个图像中识别一或多个关键点或其它显著特征。通常,拐角点,具有高对比度、高强度等的点对于选择作为关键点来说是有利的。一旦识别,就接着跨图像序列的若干帧跟踪所述关键点,以确定相机相对于被跟踪对象的位姿(位置和定向)。可基于相机位姿在所述图像中添加、去除和/或更改对象。当相机位姿被准确地估计时,可增强例如ar图像中的现实性。基于关键点的跟踪假定可跨若干图像帧可靠地跟踪当前图像中的一或多个关键点。然而,如果图像包含彼此接近的多个类似关键点,那么归因于建立一个图像中的关键点与另一图像中的对应点之间的对应性的不准确性,在跟踪期间可能产生模糊。关键点失配可导致位姿漂移、图像伪影等,从而有损于用户体验。

此外,在许多常规方法中,所跟踪的关键点的数目可相对较大。然而,关键点的较大数目不一定是跟踪准确性的保证。举例来说,如果接近的关键点展现相对较高的相似度,那么跟踪准确性可能不增加。另外,当使用大量的关键点时,如在许多常规方案中,计算开销可增加,性能和/或应用程序响应时间可为次佳的,且电力消耗可增加,而不实现跟踪准确性的伴随增加。



技术实现要素:

根据一些方面,揭示一种方法,其包括:基于用相机捕获的第一图像来确定一组候选关键点;针对所述组候选关键点中的每一候选关键点,确定对应的第一相似性得分,其中部分地通过将与所述对应的候选关键点相关联的图像补丁与所述图像补丁周围的区中的多个对应图像区段进行比较,来确定对应于每一候选关键点的所述第一相似性得分;以及选择所述候选关键点的第一子集,其中所述第一子集包括具有最低相似性得分的预定义数目的候选关键点。

另一方面,揭示的实施例涉及移动台(ms),其可包括:相机,其用以捕获包括第一图像的多个图像;存储器,其用以存储所述多个图像;以及处理器,其耦合到所述相机和所述存储器。在一些实施例中,所述处理器可经配置以:基于用相机捕获的第一图像来确定一组候选关键点;针对所述组候选关键点中的每一候选关键点,确定对应的第一相似性得分,其中部分地通过将与所述对应的候选关键点相关联的图像补丁与所述图像补丁周围的区中的多个对应图像区段进行比较,来确定对应于每一候选关键点的所述第一相似性得分;以及选择所述候选关键点的第一子集,其中所述第一子集包括具有最低相似性得分的预定义数目的候选关键点。

在另一方面,一种设备可包括:图像感测装置,其用以捕获包括第一图像的多个图像;用于基于图像感测装置所捕获的第一图像来确定一组候选关键点的装置;用于针对所述组候选关键点中的每一候选关键点来确定对应第一相似性得分的装置,其中部分地通过将与所述对应的候选关键点相关联的图像补丁与所述图像补丁周围的区中的多个对应图像区段进行比较,来确定对应于每一候选关键点的第一相似性得分;以及用于用于选择所述候选关键点的第一子集的装置,其中所述第一子集包括具有最低相似性得分的预定义数目的候选关键点。

在一些实施例中,一种非暂时性计算机可读媒体可包括指令,其在由包括相机的移动台(ms)执行时,致使所述ms执行包括以下步骤的方法中的步骤:基于用相机捕获的第一图像来确定一组候选关键点;针对所述组候选关键点中的每一候选关键点,确定对应的第一相似性得分,其中部分地通过将与所述对应的候选关键点相关联的图像补丁与所述图像补丁周围的区中的多个对应图像区段进行比较,来确定对应于每一候选关键点的第一相似性得分;以及选择所述候选关键点的第一子集,其中所述第一子集包括具有最低相似性得分的预定义数目的候选关键点。

所揭示的实施例还涉及由处理器使用计算机可读媒体或计算机可读存储器创建、存储、存取或修改的软件、固件和程序指令。所描述的方法可在处理器、服务器、各种计算和移动装置(包含可穿戴和头戴式裝置)和/或其组合上执行。

下文相对于以下各图进一步阐释这些和其它实施例。应理解,对于所属领域的技术人员来说,其它方面将从以下详细描述变得容易显而易见,其中借助于说明展示和描述各个方面。图式和详细描述应被视为本质上是说明性的而不是限制性的。

附图说明

将参考图式仅借助于实例来描述本发明的实施例。

图1示出能够以与所揭示的实施例一致的方式执行关键点检测和跟踪的示范性移动台(ms)的框图。

图2a到2b示出具有示范性关键点210和相关联图像补丁220的图像帧。

图2c示出对应于图像帧230中的图像补丁的图像区240。

图2d说明示范性局部图像区段250-1、250-2、250-3、260-1、260-2和260-3,可将其与图像帧230中的图像补丁220进行比较。

图3a示出与关键点相关联的图像补丁周围的图像区中的示范性局部图像区段。

图3b是在将图像补丁320与局部图像区段330进行比较时获得的相似性的图形描述。

图4a示出用以从图像金字塔中的图像等级确定关键点的示范性方法400的流程图。

图4b示出用以从一组候选关键点选择关键点子集的示范性方法411的流程图。

图5示出符合一些所揭示的实施例用于跟踪关键点的方法500。

图6示出说明经启用以与所揭示的实施例一致的方式来确定和跟踪图像中的关键点的服务器600的示意性框图。

图7示出用以为相机所捕获的第一或参考图像确定关键点的示范性方法700。

具体实施方式

下文结合附图陈述的详细描述意图作为对本发明的各个方面的描述,而无意表示可在其中实践本发明的仅有方面。提供本发明中所描述的每一方面仅作为本发明的实例或说明,且其不一定解释为比其它方面优选或有利。出于提供对本发明的透彻理解的目的,具体实施方式包含具体细节。然而,所属领域的技术人员将明白,可在没有这些特定细节的情况下实践本发明。在一些情况下,以框图的形式展示众所周知的结构和装置以便避免混淆本发明的概念。首字母缩写词和其它描述性术语可仅出于便利和清晰的目的而使用,且不希望限制本发明的范围。

术语“检测”是指定位所捕获图像帧中的目标且计算相对于对象的相机位姿的过程。术语“跟踪”是指在图像帧的时间序列内的相对于对象的相机姿势估计。传统的基于关键点的检测和跟踪技术假定可在后续图像帧中可靠地检测和跟踪一个图像中的拐角点、高对比度点等(其可例如与所关注对象相关联)。因此,当选择图像中的关键点时,传统的基于关键点的检测和跟踪技术忽略选定关键点相对于相同图像的其它区段的独特性或唯一性。因此,当图像包含多个类似关键点时,例如极为接近的若干类似拐角点,在跟踪期间可产生模糊性,因为可能难以建立一个图像中的关键点与另一图像中的类似点之间的对应性。关键点失配可导致位姿漂移、图像伪影等,从而有损于用户体验。

所揭示的实施例部分地通过将相似性得分(和/或可跟踪性得分)指派给正考虑选择的每一可能关键点来促进关键点选择。相似性得分可基于与关键点相关联的图像补丁与关键点附近的局部图像区段的相似性。术语“图像补丁”用以指代关键点周围的区域,例如多边形、圆或其它区。在一些实施例中,相似性得分可部分地基于与关键点相关联的图像补丁与图像补丁周围的局部图像区段中的图像补丁的最大测得相似性。另外,在一些实施例中,较高最大测得相似性可与较低“可跟踪性”得分或量度相关联。因此,关键点的可跟踪性得分可关于关键点相对于所述关键点附近的图像补丁的最大测得相似性相反地变化(具有高相似性意味着低可跟踪性得分,且低相似性意味着高可跟踪性得分)。在一些实施例中,可从可能关键点之中选择具有候选关键点的最低相似性得分(或最高可跟踪性得分)的一组关键点。可使用选定关键点来检测和/或跟踪后续图像中的对象,和/或确定相对于图像的相机位姿。

在一些情况下,跟踪可基于不同分辨率的图像的层级或金字塔。举例来说,可对所捕获的图像关键帧进行子取样,来获得与所捕获的关键帧相关联的不同分辨率的图像层级。在大相机移动的情况下,较低分辨率图像促进跟踪。可将不同分辨率的图像视为构成金字塔,其中所述金字塔的每一等级包含分辨率与图像金字塔的紧接较高或较低等级相差某一因子的图像。举例来说,金字塔的最高等级(等级0)可具有原始或最高分辨率图像,且下面的每一等级可用某一因子相对于紧接在上的等级对所述图像进行下取样。举例来说,对于大小为640x480的图像i0(在等级0处),图像i1、i2、i3和i4的大小可分别为320x240、160x120、80x60和40x30,其中下标指示图像金字塔中的图像等级。因此,图像金字塔中的关键帧中的每一关键点可与以下各项相关联:(i)其源关键帧,(ii)与所述源关键帧相关联的经子取样的图像中的一者,以及(iii)所述源关键帧或经子取样的图像关键帧内的像素位置。

在一些实施例中,可使关键点相似性确定扩展到所述图像金字塔中的关键帧。因此,在一些实施例中,可将相似性(和/或可跟踪性)得分指派给图像金字塔中的候选关键点或更多图像。对于图像金字塔中的每一图像,可基于与所述图像中的关键点相关联的图像补丁与所述图像补丁周围的局部图像区段的相似性,将相似性得分指派给候选关键点。在一些实施例中,可将相似性计分应用于图像金字塔的每一等级处的图像,且在每一等级处,可选择具有最低相似性(或最高可跟踪性)得分的关键点。在一些实施例中,可人工地使与关键点相关联的图像补丁模糊,以在遇到模糊的图像时增加跟踪稳健性。在一些实施例中,因为关键点选择过程的若干部分还可用于关键点匹配,所以可增强跟踪模块简单性和关键点匹配稳健性。

图1示出能够以与所揭示的实施例一致的方式执行基于关键点的检测和跟踪的示范性移动台(ms)100的框图。如本文中所使用,移动装置或移动台(ms)100可采取蜂窝式电话、移动电话其它其它无线通信装置、个人通信系统(pcs)装置、个人导航装置(pnd)、个人信息管理器(pim),或个人数字助理(pda)、膝上型计算机、平板计算机、笔记本型计算机、手持式计算机和/或可穿戴计算装置的形式,包含头戴式裝置或具有头戴式显示器的裝置。术语“移动装置”或“移动台”在本文中可互换地使用。在一些实施例中,ms100可能够接收无线通信和/或导航信号。

此外,术语“移动台”还既定包含例如通过短程无线、红外、有线连接或其它连接与个人导航装置(pnd)通信的装置,和/或在所述装置处或所述pnd处发生位置相关处理。并且,“移动台”既定包含所有裝置,包含各种无线通信设备,其能够与服务器通信,不管无线信号接收、辅助数据接收和/或相关处理是否在装置处、在服务器处,或在与网络相关联的另一装置处发生。上述的任何可操作组合也被视为“移动台”。

术语“移动台”还既定包含可未经配置以无线地或经由有线连接连接到网络或以其它方式与另一装置通信的游戏或其它装置。举例来说,“移动台”可省略通信元件和/或连网功能性。举例来说,本文中描述的实施例可在未被配置成连接以用于与另一装置进行有线或无线连网的独立装置中实施。

如图1中所示,ms100可包含相机110、惯性测量单元(imu)130、处理器150、存储器160和/或收发器170、显示器/屏幕180,其可操作地彼此耦合且通过连接120耦合到ms110上的其它功能块(未图示)。连接120可包括总线、线路、光纤、链路等或其某一组合。

收发器170可(例如):发射器,包含经启用以通过一或多种类型的无线通信网络发射一或多个信号;以及接收器,其接收通过所述一或多种类型的无线通信网络发射的一或多个信号。收发器170可准许基于多种技术与无线网络通信,所述技术例如(但不限于)毫微微小区、wi-fi网络或无线局域网(wlan)(其可基于ieee802.11族标准)、无线个域网(wpan)、蓝牙、近场通信(nfc)、基于ieee802.15x族标准等的网络,和/或无线广域网(wwan)(例如lte、wimax等)。ms100还可包含用于经由有线网络进行通信的一或多个端口。

在一些实施例中,ms100可包括例如ccd或cmos传感器等图像传感器和/或相机110。其在下文称为“相机110”。相机110可将光学图像转换为电子或数字图像,且可将所捕获图像发送到处理器150。一般来说,相机110可为色彩或灰度级相机,其提供“色彩信息”。一般来说,如本文所使用,色彩图像或色彩信息可被视为包括1到n个信道,其中n是取决于用于存储图像的色彩空间的某个整数。举例来说,rgb图像包括三个信道,红色、蓝色和绿色信息各一个信道。

在一些实施例中,ms100可包括多个相机110,例如双重正面相机和/或正向和背向相机,所述相机还可并入有各种传感器。在一些实施例中,相机110可能能够俘获静态图像与视频图像两者。在一些实施例中,相机110可为能够以30帧每秒(fps)捕获图像的rgbd或立体摄像机。在一个实施例中,由摄像机110捕获的图像可呈原始的未经压缩格式,且可在经处理和/或存储在存储器160中之前进行压缩。在一些实施例中,可由处理器150使用无损或有损压缩技术来执行图像压缩。

此外,ms100可包含能够渲染彩色图像(包含3d图像)的屏幕或显示器180。在一些实施例中,显示器170可用以显示由相机110捕获的实况图像、增强现实(ar)图像、图形用户接口(gui)、程序输出等。在一些实施例中,显示器180可包括和/或收容有触摸屏,以准许用户经由虚拟键盘、图标、菜单或其它图形用户接口(gui)、用户示意动作和/或输入装置(例如触控笔和其它写入工具)的某一组合输入数据。在一些实施例中,可使用液晶显示器(lcd)显示器或发光二极管(led)显示器(例如有机led(oled)显示器)实施显示器180。在其它实施例中,显示器180可为可穿戴显示器,其可操作性地耦合到ms100中的其它功能单元但与其分开收容。在一些实施例中,ms100可包括用以准许通过耦合到ms100的单独监视器来显示图像的端口。

在一些实施例中,处理器150还可接收来自imu130的输入。在其它实施例中,imu130可包括3轴加速计、3轴陀螺仪和/或磁力计。imu130可将速度、定向和/或其它位置相关信息提供给处理器150。在一些实施例中,imu130可与由相机130捕获每一图像帧同步地输出测得的信息。在一些实施例中,imu130的输出可部分地由处理器150使用以确定相机110和/或ms100的位姿。

相机110的位姿是指相机110相对于参考帧的位置和定向。在一些实施例中,可针对6个自由度(6dof)确定相机姿势,所述6个自由度其是指三个平移分量(其可由参考帧的坐标的x、y、z坐标给定)以及三个角度分量(例如,相对于相同参考框架的横滚、俯仰和偏航)。

在一些实施例中,处理器150可基于相机110所捕获的图像,使用视觉跟踪解决方案,来确定和/或跟踪相机110和/或ms100的6dof位姿。举例来说,在处理器150上运行的计算机视觉(cv)模块155可实施和执行基于计算机视觉的跟踪、基于模型的跟踪,和/或同时定位与映射(slam)方法。slam是指一类技术,其中在创建环境的地图(例如正由ms100模型化的环境的地图)的同时跟踪相机相对于所述地图的位姿。slam技术包含视觉slam(vlsam),其中由一或多个相机(例如ms100上的相机110)捕获的图像可用于在创建环境的地图的同时跟踪所述相机相对于所述地图的位姿。vslam可因此涉及在追踪相机的6dof位姿的同时还确定周围环境的3-d结构。举例来说,在一些实施例中,vslam技术可检测一或多个所捕获图像帧中的突出特征补丁(例如关键点),且将所捕获的所成像帧存储为参考帧。举例来说,可通过识别当前图像和参考图像中的对应特征来确定相机的位姿。

在一些实施例中,可使用软件、固件和/或电路或其某一组合来实施cv模块155。用以实施cv模块155的电路可包含专用电路,例如专用集成电路(asic)或专用处理器,和/或可配置电路,例如现场可编程门阵列(fpga)、数字信号处理器(dsp)和/或处理器(例如处理器150)。

在一些实施例中,由cv模块155实施的方法可基于相机110所捕获的色彩或灰度级图像数据,且可用于产生相机的6dof位姿测量结果的估计。在一些实施例中,imu130的输出可用于估计、校正和/或以其它方式调整所估计的位姿。此外,在一些实施例中,相机110所捕获的图像可用于重新校准或执行imu130的偏差调整。

在一些实施例中,图像中的相机位姿估计和/或目标检测/跟踪可基于图像中的关键点。使用术语“关键点”来指代图像中的有趣或显著特征。在一些实施例中,可通过处理器150和/或cv模块155在相机110所捕获的图像中检测关键点。举例来说,可使用各种技术(例如哈里斯检测器、高斯差异(dog)或来自加速区段测试的特征(“fast”)或其变体la)来检测关键点。

哈里斯拐角检测器提供高效方法,来在所有方向上为一些指定移位,识别图像中在强度上相对于附近像素具有大差异的那些像素作为关键点。shi-tomasi或kanade-tomasi法建立哈里斯拐角检测器。

dog将高斯模糊应用于图像金字塔中的两个连续等级处的图像,且获得经高斯模糊的图像的差异。基于有差异的图像中的局部极值来识别关键点。可通过对第一图像进行次取样以获得与第一/参考图像相关联的不同较低分辨率的图像层级,来获得下文进一步描述的图像金字塔。

fast拐角检测器可使用某一数目的像素的圆(例如半径为3的16像素布莱森汉姆(bresenham)圆)来对候选点p是否实际为关键点进行分类。举例来说,所述圆中的每一像素可从整数1到16顺时针标记。如果所述圆中的一组n个连续像素全部比候选像素p亮(或暗)某一阈值,那么可将像素p分类为关键点。

在一些实施例中,关键点可与描述符相关联,所述描述符可关于某一范围的图像变换(例如平移、旋转、按比例缩放等)不变。基于关键点的表示促进局部特征在图像之间的高效匹配。在一些实施例中,可识别图像帧中的关键点,且可建立对应于个别关键点的局部描述符,并使用所述局部描述符来跟踪图像特征。举例来说,第一参考图像中的对象的特征可在于一或多个关键点或特征,其可存储在存储器160或存储器160中的数据库(图1中未图示)中。从第二后续图像提取的关键点或特征接着可通过与来自第一参考图像的所存储的关键点的比较,来识别另一图像中的对象。

在一些实施例中,可部分地使用尺度不变特征变换(sift)技术或其变体,例如旋转不变特征变换(rift)、梯度位置定向直方图(gloh)、主成分分析-sift(pca-sift)等,来识别图像帧中的特征,例如拐角点、边缘等。基于sift的描述符及其变化(其包含多种计算上高效经修改的sift描述符),促进进行在面对相对较大视角改变时的稳固跟踪以及图像之间的特征对应。举例来说,当使用基于sift的描述符时,可使来自第一参考图像的sift密钥与第二后续图像中的sift密钥匹配。在一些实施例中,各种其它技术可用于特征检测。举例来说,基于加速稳健特征(“surf”)或其变体的技术、混合点和/或边缘检测技术等可部分地用于特征检测,具有如本领域的技术人员将明白的适当修改。

为了确定一对图像帧之间的匹配和/或相似性得分,可例如基于描述符值(例如欧几里得距离(l-2范数))以及类似的相对几何位置的相似性,来确定一个图像中的关键点描述符,其对应于另一图像中的关键点描述符。在一些实施例中,可例如使用ncc、ssd、绝对差总和(sad)、典型相关以及其它基于相关的图像匹配方法来确定相似性。

在一些实施例中,可为在第一参考图像中识别的任何可能关键点或描述符(例如sift/surf)指派“相似性得分”或“可跟踪性得分”。相似性得分可提供一对图像或一对图像区段之间的相似性的量度。举例来说,可为关键点周围的图像补丁以及所述图像补丁周围的区中的图像区段计算相似性得分。在一些实施例中,相似性得分可基于与关键点(如由与对应描述符相关联的技术测量)相关联的描述符与所述关键点附近的局部图像区段的相似性。

在一些实施例中,相似性得分可部分地基于与关键点相关联的图像补丁与关键点附近的局部图像区段的最大测得相似性。另外,在一些实施例中,关键点的可跟踪性得分可关于与图像补丁相关联的关键点与所述图像补丁周围的区中的局部图像区段的最大测得相似性相反地变化(高相似性意味着低可跟踪性得分,且低相似性意味着高可跟踪性得分)。

在一些实施例中,具有最低相似性得分(或最高可跟踪性得分)的一组关键点可从候选关键点之中选择。可使用选定关键点来检测和/或跟踪后续图像中的对象,和/或确定相对于图像的相机位姿。另外,归因于选定关键点的独特性质,可增强关键点提取的可重复性和精度。

在一些实施例中,所述跟踪可基于确定一组候选关键点的相似性得分时使用的相同比较方法。举例来说,如果使用基于交叉相关的方法(例如ncc、ssd、sad等)来将与候选关键点相关联的图像补丁与所述候选关键点附近的对应局部图像区段进行比较,以确定候选关键点的相似性得分且获得候选关键点的选定子集,那么当在图像之间跟踪候选关键点的选定子集时,可使用相同(或类似)的交叉相关方法。

图1中并未示出ms100中所包括的所有功能单元。还可以与本发明一致的方式以各种方式修改示范性ms100,例如通过添加、组合或省略所示出的功能块中的一或多者。举例来说,在一些配置中,ms100可不包含imu130,或收发器170。另外,在某些实例实施方案中,ms100可包含多种其它传感器(未图示),例如深度传感器、立体传感器、环境光传感器、麦克风、声学传感器、超声波传感器、激光测距仪等。在一些实施例中,ms100的部分可呈一或多个芯片组和/或其类似者的形式。

可使用硬件、固件和软件的组合来实施处理器150。处理器150可表示一或多个电路,其可配置以执行与计算机视觉、3d重建、slam、跟踪、图像处理等有关的计算程序或过程的至少一部分,且可从存储器160检索指令和/或数据。可使用一或多个专用集成电路(asic)、中央和/或图形处理单元(cpu和/或gpu)、数字信号处理器(dsp)、数字信号处理装置(dspd)、可编程逻辑装置(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器、嵌人式处理器核心、电子装置、经设计以执行本文中描述的功能的其它电子单元或其组合来实施处理器150。

可在处理器150内和/或在处理器150外部实施存储器160。如本文所使用,术语“存储器”是指任何类型的长期、短期、易失性、非易失性或其它存储器,且不限于任何特定类型的存储器或任何特定数目个存储器或上面存储有存储器的任何特定类型的物理媒体。在一些实施例中,存储器160可保持程序代码,其促进计算机视觉、图像处理、执行slam、基于关键点的检测和跟踪、关键点识别和选择以及cv模块155所执行的其它任务中的一或多者。在一些实施例中,处理器150可包括cv模块155。举例来说,存储器160可保持所捕获的图像帧以及相关联的图像数据,包含关键点描述符、与关键点相关联的相似性和/或可跟踪性得分、深度信息、处理结果等。存储器160也可保持imu130和其它传感器所提供的数据。一般来说,存储器160可表示任何数据存储机构。存储器160可包含(例如)主要存储器和/或次要存储器。主要存储器可包含(例如)随机存取存储器、只读存储器等。虽然在图1中说明为与处理器150分离,但应理解,主要存储器的全部或部分可提供于处理器150内或另外与处理器150处于相同位置和/或耦合到处理器150。

辅助存储器可包含例如与主要存储器相同或类似类型的存储器和/或一或多个数据存储装置或系统,例如快闪/usb存储器驱动器、存储卡驱动器、磁盘驱动器、光学光盘驱动器、磁带驱动器、固态驱动器、混合驱动器等。在某些实施方案中,次要存储器可操作地接受非暂时性计算机可读媒体或另外可配置以在耦合到ms100的可装卸媒体驱动器(未图示)中耦合到非暂时性计算机可读媒体。在一些实施例中,非暂时性计算机可读媒体可形成存储器160和/或处理器150的部分。

在一些实施例中,cv模块155可实施各种计算机视觉方法和/或处理相机110所捕获的图像。举例来说,cv模块155可能够以与所揭示的实施例一致的方式处理相机110所捕获的一或多个图像,以执行:关键点识别和选择、相似性或可跟踪性计分,以及基于关键点的检测和跟踪。在一些实施例中,cv模块155可基于使用单眼(单相机),例如通过使用单眼视觉slam(vslam)技术捕获的图像中的关键点来跟踪相机110的位置。cv模块155还可执行各种其它图像处理和计算机视觉功能。

图2a示出具有分别在图像区230、235和237中的示范性候选关键点210、215和217的图像帧200。如图2a所示,图像帧可具有若干候选关键点。图2b示出与图像帧200中的关键点210相关联的图像补丁220。在图2b中,尚未示出候选关键点215和217。举例来说,图像补丁220可为关键点210周围的5×5像素的区。在一些实施例中,可至少部分地使用图像描述符(例如sift、surf或上述各项的变体)来表示图像补丁220。在一些实施例中,图像补丁220可居中位于候选关键点210的位置处。一般来说,图像补丁可采用任何形状(例如正方形、矩形、多边形、圆等)。

在一些实施例中,图像区230可为图像补丁220周围的局部图像部分。可针对与图像补丁220的相似性来匹配和测量图像区230中的图像区段。术语“局部”用以指图像的距同一图像中的关键点(例如候选关键点210)某一指定像素距离内的部分。

图2c示出对应于图像帧230中的图像补丁220的图像区240。在一些实施例中,因为(按照定义)图像区240类似于图像补丁220,所以在相似性确定期间,可忽略区240(其对应于与图像补丁220相关联的区)。

图2d说明示范性图像区段250-1、250-2、250-3、260-1、260-2和260-3,其可与图像区230中的图像补丁220进行比较。如图2d所示,图像区230可包含若干图像区段。可通过匹配或测量图像补丁220与定中心在像素上且大小对应于图像补丁220的图像区段之间的相似性,来为图像区230中的每一像素确定相似性得分。举例来说,如图2d所示,可将图像补丁220与图像帧230中的图像区段250-1进行比较。在已为图像区段250-1确定相似性得分之后,可将图像补丁220与图像区段250-2进行比较,图像区段250-2可为相对于区250-1向右偏移一个像素的区段。在已为图像区段250-2确定相似性得分之后,可将图像补丁220与图像区段250-3进行比较,图像区段250-3可为相对于区段250-2向右偏移一个像素的区段。过程可继续,直到已为图像区230中的像素确定相似性得分。图像区段250-1、250-2和250-3水平偏移一个像素。然而,如图2d中示出,所述图像区段还可相对于彼此垂直偏移,如由区260-1、260-2和260-3所示。一般来说,可使用多种技术或移位模式来选择图像区230中的下一像素和图像区段(定中心在下一像素上且大小对应于图像补丁220)来与图像补丁230进行比较。

在其中使用关键点描述符的实例中,为了计算一对图像帧之间的匹配和/或相似性得分,可例如基于描述符值(例如欧几里得距离(l-2范数))与类似的相对几何位置的相似性来确定一个图像中对应于另一图像中的关键点描述符的关键点描述符。在一些实施例中,可例如使用ncc、ssd、sad和其它基于相关的图像匹配方法来确定相似性。

总之,图像帧可包含若干候选关键点(例如候选关键点210)。每一候选关键点(例如候选关键点210)可与对应图像补丁(例如图像补丁220)相关联。图像区(例如图像区230)可为对应图像补丁(例如图像补丁220)周围的局部图像部分。图像区(例如图像区230)可包含若干对应区段(例如图像区段250-1、250-2、250-3、260-1、260-2和260-3),其中每一图像区段定中心在对应图像区(例如图像区230)中的不同像素上。另外,每一图像区段(例如图像区段250-1、250-2、250-3、260-1、260-2和260-3)的大小可对应于对应图像区(例如图像区230)中的图像补丁(例如图像补丁220)。

图3a示出与关键点相关联的图像补丁320周围的图像区中的示范性局部图像区段330。图像补丁320还包含图案310。如图3a所示,图案310类似于图案340,其还出现在局部图像区段330中。

图3b是在将图像补丁320与局部图像区段330进行比较时获得的相似性的图形描述。在图3b中,局部图像区段330中的图像区370类似于图像补丁320,如水平线所示。按照定义,如先前所概述,图像区360也类似于图像补丁320。在局部图像区段330中的在图像区360和370之外的位置380(由阴影区示出),相似性可较低。

图4a示出用以从一组候选关键点确定关键点的示范性方法400的流程图。在一些实施例中,方法400可在ms100和/或另一计算装置(例如服务器)上执行,所述计算装置可在一些情况下以通信方式耦合到ms100。在一些实施例中,可至少部分地通过处理器150和/或cv模块155,基于相机110所捕获的图像来执行方法400。

在开始之后,在一些实施例中,在框401中,可捕获第一或参考图像帧,且可使计数器u初始化到0。参考图像可为确定适合于识别关键点以及包含充分数目的关键点的图像以促进后续跟踪的任何图像。在一些实施例中,第一/参考图像可为选自ms100上的相机110所捕获的实况视频馈送的图像帧。在一些实施例中,可基于相机设置以第一分辨率来捕获第一/参考图像帧。

在一些实施例中,在框403中,图像层级可任选地从第一/参考图像获得,其中图像层级中的每一图像可具有对应的图像分辨率。举例来说,可对所捕获的第一/参考图像关键帧进行子取样,以获得与第一/参考图像相关联的不同分辨率的图像层级。在大相机移动的情况下,较低分辨率图像促进跟踪。

举例来说,可将不同分辨率的图像视为构成金字塔,其中所述金字塔的每一等级包含分辨率与图像金字塔的紧接较高或较低等级相差某一因子的图像。举例来说,金字塔的最高等级(等级0)可具有原始或最高分辨率图像(相对于层级/金字塔中的其它图像),且下方的每一等级可相对于紧接上方的等级以某一因子对所述图像进行下取样。举例来说,对于大小为640x480的图像i0(在等级0处),图像i1、i2、i3和i4的大小可分别为320x240、160x120、80x60和40x30,其中下标指示图像金字塔中的图像等级。因此,图像金字塔中的图像中的每一关键点可与以下各项相关联:(i)其源帧(例如所捕获的第一/参考图像帧)、(ii)与源关键帧相关联的层级中的经子取样的较低分辨率图像中的一者,以及(iii)源关键帧或经子取样的图像关键帧内的局部位置或图像补丁。可将图像层级视为同一场景的不同分辨率图像。一般来说,可使用各种其它技术来获得图像金字塔。举例来说,图像金字塔中的第一等级处的较低分辨率图像可为所述图像金字塔的第二等级处的较高分辨率图像的某一数学函数,其中第一和第二等级是连续等级。在一些实施例中,可省略框403。

在一些实施例中,在框407中,可选择图像金字塔中的第一或下一图像iu。在框409中,可任选地使图像iu模糊。可使用各种滤波器来执行模糊。举例来说,可将高斯、平均或加权平均滤波器应用于所述图像。在一些实施例中,在关键点的确定之前使图像模糊可促进显著特征的识别,且增加跟踪关键点时的跟踪稳健性。在一些实施例中,可省略框409。

在一些实施例中,接着可调用例程411来确定图像iu的一组n个关键点。举例来说,在一些实施例中,可将图像iu作为参数传递到图4b中的例程415。示范性例程411进一步在图4b中的流程图中概述且在下文进一步描述。例程411可返回图像iu的一组关键点,可存储所述关键点。因此,例程411的每一调用返回图像iu的一组某一预定义数目(n)的关键点。例程411传回的n个关键点的每一子集对应于图像金字塔中的一等级处的图像。

在框413中,如果图像金字塔中存在待处理的额外图像(框413中的“y”),那么另一重复在框405中开始,其中计数器u递增,且处理下一图像iu。如果图像金字塔中不存在进一步图像,(框413中的“n”),那么过程终止。在完成方法400后,可即刻确定多组关键点,其中每一组对应于图像金字塔中的对应等级处的图像。

图4b示出从单个图像iu的一组候选关键点选择iu的关键点的子集的示范性方法411的流程图。在一些实施例中,方法400可在ms100和/或另一计算装置(例如服务器)上执行,所述计算装置可在一些情况下以通信方式耦合到ms100。在一些实施例中,可至少部分地通过处理器150和/或cv模块155,基于相机110所捕获的图像来执行方法400。

在框415中,可为当前参考图像确定一组候选关键点。一般来说,可使用任何已知技术来确定一组候选关键点。举例来说,可使用当前图像中的拐角点(例如使用哈里斯拐点检测、dog等检测到)。在一些实施例中,基于sift、surf或其变体中的一者的技术可用于确定一组候选关键点。

在框416中,可维持候选关键点ki的计数的计数器ⅰ可初始化/设定成0。接下来,在框417中,可保持对关键点ki附近的局部图像区段的当前图像区段gij的跟踪的计数器j可初始化/设定成0。在框418中,可选择第一或下一候选关键点ki。

在框425中,可将与关键点ki相关联的图像补丁pi与关键点ki附近的选定对应当前局部图像区段gij进行比较,且可基于所述比较来确定相似性得分sij。举例来说,参看图2b和2d,如果图像补丁pi对应于图像补丁220,且当前局部图像区段gij对应于图像区260-1,那么可基于图像补丁220与图像区260-1的比较来确定相似性得分。在一些实施例中,在框425中的比较期间,可忽略与图像补丁pi相关联的图像区。举例来说,参看图2b和2d,如果图像补丁pi对应于图像补丁220,那么在比较期间,可忽略与图像补丁220相关联的图像区240。一般来说,为了确定图像补丁与图像区段之间或两个图像帧之间的匹配和/或相似性得分,可例如基于描述符值(例如欧几里得距离(l-2范数))的相似性以及类似的相对几何位置,来确定一个图像(补丁或帧)中对应于另一图像(分别为区段或帧)中的关键点描述符的关键点描述符。在一些实施例中,可例如使用ncc、ssd、sad、典型相关、或其它基于交叉相关的图像匹配方法中的一者来确定相似性。

在框430中,如果存在图像区段的额外部分,那么可将其与图像补丁pi进行比较(框430中的“y”),那么在框420中,计数器j递增,且开始针对下一图像区段gij的另一重复。在一些实施例中,可将通过将每一gij与图像补丁pi进行比较来计算的相似性得分sij存储在ms100中的存储器160中。举例来说,参看图2b和2d,如果图像补丁pi对应于图像补丁220,且下一局部图像区段gij可对应于图像区260-2,那么可基于图像补丁220与图像区260-2的比较来确定相似性得分。

在框430中,如果局部图像区段中不存在将与局部图像区段进行比较的进一步部分gij(框430中的“n”),那么在框435中,可基于测得相似性得分的最大值,为当前关键点ki确定相似性得分。在一些实施例中,可将关键点ki为最大测得相似性得分确定为si_max=最大(sij),其中通过将每一对应图像区段gij与图像补丁pi进行比较来计算相似性得分sij,其中图像区段gij在图像补丁pi周围的区中。在一些实施例中,因为图像补丁pi类似于本身,所以当选择图像区段gij时,可排除图像补丁pi所占据的区。

在一些实施例中,可将相似性得分转换成可跟踪性得分ti。举例来说,可将对应于关键点ki的可跟踪性得分ti确定为与最大测得相似性得分si_max成反比。举例来说,如果0≤si_max≤1,其中0指示无相似性,且1指示最大相似性,接着,在一个实施例中,可将可跟踪性得分ti定义为ti=1-si_max。以上等式仅为示范性的,且可以与所揭示的实施例一致的方式使用计算ti的各种其它方案。

在框440中,如果存在额外关键点(框440中的“y”),那么在框443中,计数器ⅰ递增,且开始针对下一关键点ki的新重复。

在框440中,如果不存在额外关键点(框440中的“n”),那么在框445中,可从所述组候选关键点ki选择具有最低相似性得分(最高可跟踪性得分)的nu个关键点的子集ru,其中nu是图像iu的所要数目的关键点。在一些实施例中,可使用子集ru中的关键点来检测和跟踪后续图像序列中的对象。

在一些实施例中,方法411可用于为整个图像确定关键点。另外,每一子集ru中的关键点的数目nu可基于所要的响应时间和跟踪准确性以及其它图像和系统参数而变化。在一些实施例中,因为选自所述组候选关键点的关键点的数目显著低于候选关键点的数目,所以跟踪可较快且资源较便宜(例如较低的存储器使用率等)。因此,所揭示的实施例可促进具有受限计算资源的移动装置上的实时或近实时增强现实(ar)应用程序,和/或促进较快的稳健跟踪,从而提供无缝ar体验。另外,经由一序列图像帧的较低计算开销可提供电力节省。

图5示出符合一些所揭示的实施例的用于跟踪关键点的方法500。在一些实施例中,方法500可在ms100和/或另一计算装置(例如服务器)上执行,所述计算装置可在一些情况下以通信方式耦合到ms100。在一些实施例中,可至少部分地通过处理器150和/或cv模块155,基于相机110所捕获的图像来执行方法500。

在一些实施例中,方法500可通过调用方法/例程400来确定一组关键点而开始。在一些实施例中,可为与第一参考图像相关联的图像金字塔确定关键点。在一些实施例中,可从实况馈送510获得第一/参考图像和其它图像,例如ms100上的相机110所捕获的图像。

在框520中,可在一或多个后续图像(在第一/参考图像之后)中跟踪对象。在一些实施例中,在框520中,可基于用于例程411中来确定与关键点相关联的图像补丁和所述图像补丁周围的区的相似性的相同交叉相关方案,来在图像之间跟踪对象。

在框530中,如果跟踪将持续(框530中的“y”),那么在框540中,可确定可用于跟踪的关键点的数目。如果存在足够的关键点可用于跟踪(框540中的“y”),那么另一重复可从框520开始。另一方面,如果存在不足数目的关键点(框540中的“n”),那么可通过返回到例程411来从当前或最近图像确定新的/额外关键点而开始另一重复。举例来说,如果关键点的数目小于某一阈值,(例如随着关键点移出图像帧,归因于相机与所成像场景之间的相对运动),那么可在例程411中确定新的关键点。

如果跟踪完成(框530中的“n”),那么方法可终止。

现在参考图6,其为说明经启用以便以与所揭示的实施例一致的方式确定图像中的关键点的服务器600的示意性框图。在一些实施例中,服务器600可执行方法400和/或500的部分。在一些实施例中,方法400和/或500可由处理单元650和/或计算机视觉(cv)模块655执行。举例来说,上述方法可完全或部分地由处理单元650和/或cv模块655结合服务器600上的一或多个功能单元和/或结合ms100来执行。

在一些实施例中,服务器600可经由无线网络(未图示)无线耦合到一或多个ms100,所述无线网络可为wwan、wlan或wpan中的一者。在一些实施例中,服务器600可包含(例如)一或多个处理单元650、存储器680、存储装置660,以及(在适当时)通信接口690(例如有线或无线网络接口),其可以操作方式与一或多个连接620(例如总线、线、光纤、链路等)耦合。在某些实例实施方案中,服务器600的某一部分可呈芯片组和/或类似者的形式。

通信接口690可包含支持有线发射和/或接收的多种有线和无线连接,并且在需要时可另外或替代地支持一或多个信号通过一或多种类型的无线通信网络的发射和接收。通信接口690可包含用于与ms100和/或各种其它计算机和外围配置通信的接口。举例来说,在一个实施例中,通信接口690可包括实施由服务器600执行的通信功能中的一或多种功能的网络接口卡、输入输出卡、芯片和/或asic。在一些实施例中,通信接口690也可与ms100介接,以获得参考图像,和/或接收与方法700有关的数据和/或指令。

处理单元650可使用所接收的信息中的一些或全部来执行所请求的计算,和/或经由通信接口690将所请求的信息和/或结果发送到ms100。在一些实施例中,可使用硬件、固件和软件的组合来实施处理单元650。在一些实施例中,处理单元650可表示一或多个电路,其可配置以执行与服务器600的操作有关的数据信号计算程序或过程的至少一部分。

在一些实施例中,处理单元650可包含计算机视觉(cv)模块655,其可实施并执行计算机视觉方法,包含ar程序、获得/确定参考图像、执行图像处理、确定/检测参考图像中的关键点、跟踪关键点、比较图像或图像部分、从参考图像获得图像金字塔、跟踪图像中的对象等。举例来说,cv模块655可能够以与所揭示的实施例一致的方式处理相机所捕获的一或多个图像,以执行:关键点识别和选择、可跟踪性计分,以及基于关键点的检测和跟踪。在一些实施例中,cv模块655可基于使用单眼(单相机),例如通过使用单眼视觉slam(vslam)技术捕获的图像中的关键点来跟踪相机的位置。cv模块155还可执行各种其它图像处理和计算机视觉功能。

本文中在流程图和消息流中描述的方法可取决于应用由各种装置实施。举例来说,这些方法可在硬件、固件、软件或其任何组合中实施。对于硬件实施方案,处理单元650可实施于一或多个专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理装置(dspd)、图形处理单元(gpu)、可编程逻辑装置(pld)、现场可编程门阵列(fpga)、处理器、控制器、微控制器、微处理器、电子装置、经设计以执行本文所描述的功能的其它装置单元,或其组合内。

对于固件和/或软件实施方案,所述方法可使用执行本文所描述的功能的程序、函数、微码等来实施。在实施本文所描述的方法时,可使用有形地体现指令的任何机器可读媒体。举例来说,软件可存储在可装卸媒体驱动器670中,所述可装卸媒体驱动器可支持非暂时性计算机可读媒体676(包含可装卸媒体)的使用。程序代码可驻留在非暂时性计算机可读媒体676或存储器680上,且可由处理单元650读取和执行。存储器可实施于处理单元650内或在处理单元650外部。如本文所使用,术语“存储器”是指任何类型的长期、短期、易失性、非易失性或其它存储器,且不限于任何特定类型的存储器或任何特定数目个存储器,或上面存储有存储器的任何特定类型的媒体。

如果在固件和/或软件中实施,那么所述功能可作为一或多个指令或代码存储在非暂时性计算机可读媒体676和/或存储器680上。实例包含编码有数据结构的计算机可读媒体以及编码有计算机程序的计算机可读媒体。举例来说,上面包含程序代码的非暂时性计算机可读媒体676可包含程序代码,以以与所揭示的实施例一致的方式,促进一或多个图像中的关键点确定/选择,以及基于关键点的检测和跟踪。

非暂时性计算机可读媒体可包含多种物理计算机存储媒体。存储媒体可为可由计算机存取的任何可用媒体。作为实例而非限制,此种计算机可读媒体可包括ram、rom、eeprom、cd-rom或其它光盘存储装置,磁盘存储装置或其它磁性存储装置,或任何其它可用于存储呈指令或数据结构形式的所要程序代码且可由计算机存取的媒体;如本文中所使用,磁盘和光盘包含压缩光盘(cd)、激光光盘、光学光盘、数字多功能光盘(dvd),软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。非暂时性计算机可读媒体的其它实施例包含快闪驱动器、usb驱动器、固态驱动器、存储器卡等。以上各项的组合也应包含在计算机可读媒体的范围内。

除了存储在计算机可读媒体上之外,可将指令和/或数据作为传输媒体上的信号提供到通信接口690,所述通信接口可将指令/数据存储在存储器680、存储装置660中,和/或将所述指令/数据中继到处理单元650以用于执行。举例来说,通信接口690可接收指示指令和数据的无线或网络信号。所述指令和数据经配置以致使一或多个处理器实施权利要求书中所概述的功能。就是说,通信设备包含具有指示用以执行所揭示的功能的信息的信号的传输媒体。

存储器680可表示任何数据存储机构。存储器680可包含(例如)主要存储器和/或次要存储器。主存储器可包含(例如)随机存取存储器、只读存储器、非易失性ram等。虽然在此实例中说明为与处理单元650分开,但应理解,主要存储器的全部或部分可在处理单元650内提供或以其它方式与所述处理单元位于相同位置/与所述处理单元耦合。次要存储器可包含(例如)与主要存储器和/或存储装置660(例如,包含(例如)硬盘驱动器、光学光盘驱动器、磁带驱动器、固态存储器驱动器等的一或多个数据存储装置660)相同或类似类型的存储器。

在一些实施例中,存储装置660可包括一或多个数据库,其可保持关于场景的信息,包含3d模型、关键帧、关于虚拟对象的信息等。在一些实施例中,数据库中的信息可由处理单元650在各种计算期间读取、使用和/或更新。

在某些实施方案中,次要存储器可操作性地接纳非暂时性计算机可读媒体676或另外可配置以耦合到非暂时性计算机可读媒体676。由此,在某些实例实施方案中,可完全或部分地使用非暂时性计算机可读媒体676来实施本文中呈现的方法和/或设备,所述非暂时性计算机可读媒体可包含存储在其上的计算机可实施指令,所述计算机可实施指令在由至少一个处理单元650执行的情况下,可以操作方式启用以执行如本文中所描述的实例操作的全部或部分。在一些实施例中,计算机可读媒体676可使用可装卸媒体驱动器670来读取和/或可形成存储器680的部分。

举例来说,软件代码可存储于存储器中且由处理器单元(例如服务器600上的处理器650)执行。在一些实施例中,可将所述功能作为一或多个指令或代码存储在计算机可读媒体上。实例包含编码有数据结构的计算机可读媒体和编码有计算机程序的计算机可读媒体。计算机可读媒体包含物理计算机存储媒体。

存储媒体可为可由计算机存取的任何可用媒体。作为实例而非限制,此计算机可读媒体可包括ram、rom、eeprom、cd-rom或其它光盘存储装置,磁盘存储装置或其它磁性存储装置,或任何其它可用于存储呈指令或数据结构形式的所要程序代码且可由计算机存取的媒体;如本文中所使用,磁盘和光盘包含压缩光盘(cd)、激光光盘、光学光盘、数字多功能光盘(dvd),软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。

除存储在计算机可读媒体上之外,指令和/或数据还可提供为通信设备中所包含的传输媒体上的信号。举例来说,通信设备可包含具有指示指令和数据的信号的收发器。所述指令和数据经配置以致使一或多个处理器实施权利要求书中所概述的功能。就是说,通信设备包含具有指示用以执行所揭示的功能的信息的信号的传输媒体。在第一时间,通信设备中所包含的传输媒体可包含用以执行所揭示功能的信息的第一部分,而在第二时间,通信设备中所包含的传输媒体可包含用以执行所揭示功能的信息的第二部分。

图7示出用以为相机所捕获的第一或参考图像确定关键点的示范性方法700。在一些实施例中,方法700可由ms100和/或服务器100执行。在一些实施例中,方法700可仅在ms100上执行。作为一个实例,方法700可在ms100上,由服务器600基于服务器600所获得或可供服务器600使用的图像而执行。在一些实施例中,可将ms100所捕获的图像发送到服务器600以供处理,其可向ms100返回结果,例如一组关键点。

在框710中,可基于用相机捕获的第一图像确定一组候选关键点。在一些实施例中,基于所述第一图像确定所述组候选关键点可包括:从所述第一图像获得图像层级,其中所述图像层级中的每一图像具有对应图像分辨率。在一些实施例中,当获得图像时,可使所述图像层级中的一或多个图像模糊。另外,在其中图像层级是从所述第一图像获得的实施例中,可获得候选关键点的多个第二子集,其中候选关键点的每一第二子集与图像层级中的不同图像相关联,且其中所述组候选关键点包括所述多个第二子集。

在框720中,对于所述组候选关键点中的每一候选关键点,可确定对应的第一相似性得分。可部分地通过将与所述对应候选关键点相关联的图像补丁与所述图像补丁周围的区中的多个对应图像区段进行比较,来确定对应于候选关键点的第一相似性得分。

在一些实施例中,为了确定对应于每一候选关键点的第一相似性得分,可确定对应于每一候选关键点的多个第二相似性得分。可从与对应候选关键点相关联的图像补丁与所述图像补丁周围的区中的对应多个图像区段中的一者的比较确定每一第二相似性得分,且每一第二相似性得分可指示与对应候选关键点相关联的图像补丁与对应图像区段之间的相似性。接着可选择候选关键点的第一相似性得分,作为所述候选关键点的第二相似性得分的最大值。

在一些实施例中,为了确定对应于每一候选关键点的多个第二相似性得分,可至少部分地基于与候选关键点相关联的图像补丁和对应图像区段之间的交叉相关的量度,来计算对应于候选关键点的多个第二相似性得分中的每一者。举例来说,可部分地基于执行选自以下各项中的一者的交叉相关来获得交叉相关的量度:归一化交叉相关;或平方差总和;或典型相关性分析。

在一些实施例中,还可基于至少一个第二图像中的选定交叉相关来跟踪选定关键点。

在框730中,可选择候选关键点的第一子集,其中所述第一子集可包括具有最低相似性得分的预定义数目的候选关键点。作为一个实例,如果需要某一预定义数目n个关键点,那么第一子集可包括具有n个最低相似性得分的关键点。作为另一实例,所述第一子集可包括具有低于某一阈值得分的相似性得分的所有关键点。在以上实例中,如果需要某一预定义数目n个关键点,且具有低于所述阈值的相似性得分的候选关键点的数目是(n+p),那么可去除具有最高相似性得分的“p”个候选关键点以获得n个关键点。另一方面,如果具有低于所述阈值的相似性得分的关键点的数目是(n-p),那么可添加其余候选关键点中具有最低相似性得分的“p”个候选关键点以获得n个关键点。关键点的预定义数目可随着图像金字塔中的图像等级而变化,且还可基于例如响应时间、跟踪准确性、环境条件等系统参数而变化。

在一些实施例中,可使用图像描述符来表示图像补丁。举例来说,图像描述符可包括以下各项中的一者:尺度不变特征变换(sift)或其变体;或加速稳健特征(“surf”)或其变体。在一些实施例中,当使用图像描述符来表示图像补丁时,可部分地基于与图像补丁相关联的图像描述符与所述图像补丁周围的区中的一或多个图像描述符的相似性,获得对应于候选关键点的第一相似性得分,其中所述一或多个图像描述符中的每一者对应于所述图像补丁周围的区中的不同图像区段。可基于为确定用以表示图像补丁的描述符的相似性而指定的技术,来确定所述图像描述符的相似性。

另外,在一些实施例中,方法700可进一步包括跟踪相机所捕获的至少一个第二图像中的关键点的第一子集。

取决于应用,可通过各种装置来实施本文中所描述的方法。举例来说,对于固件和/或软件实施方案,所述方法可使用执行本文所描述的功能的程序、函数等来实施。在实施本文所描述的方法时,可使用有形地体现指令的任何机器可读媒体。

提供对所揭示方面的先前描述以使得所属领域的任何技术人员能够制造或使用本发明。所属领域的技术人员将容易明白对这些方面的各种修改,且在不脱离本发明的精神或范围的情况下,本文中所界定的一般原理可应用于其它方面。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1