CN105283905B - 使用点和线特征的稳健跟踪 - Google Patents
使用点和线特征的稳健跟踪 Download PDFInfo
- Publication number
- CN105283905B CN105283905B CN201480033435.4A CN201480033435A CN105283905B CN 105283905 B CN105283905 B CN 105283905B CN 201480033435 A CN201480033435 A CN 201480033435A CN 105283905 B CN105283905 B CN 105283905B
- Authority
- CN
- China
- Prior art keywords
- image
- feature
- present image
- model
- point
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 174
- 238000005259 measurement Methods 0.000 claims abstract description 21
- 238000003860 storage Methods 0.000 claims description 40
- 230000015654 memory Effects 0.000 claims description 37
- 230000000007 visual effect Effects 0.000 claims description 28
- 238000009826 distribution Methods 0.000 claims description 14
- 238000003384 imaging method Methods 0.000 claims description 13
- 230000036544 posture Effects 0.000 description 60
- 238000012545 processing Methods 0.000 description 30
- 238000004891 communication Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 19
- 238000005516 engineering process Methods 0.000 description 11
- 238000001514 detection method Methods 0.000 description 10
- 230000000875 corresponding effect Effects 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 230000009897 systematic effect Effects 0.000 description 7
- 238000000605 extraction Methods 0.000 description 6
- 230000004438 eyesight Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000002349 favourable effect Effects 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000005286 illumination Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000002187 spin decoupling employing ultra-broadband-inversion sequences generated via simulated annealing Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/183—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Abstract
所揭示实施例涉及用于稳健的基于特征的跟踪的设备、系统和方法。在一些实施例中,可为包括目标对象的相机所捕获的当前图像计算得分。所述得分可基于从所述相机所捕获的所述当前图像和先前图像中的特征的比较确定的一或多个度量。所述比较可基于针对所述当前图像的所估计的相机姿势。在一些实施例中,可基于所述得分与点阈值和/或线阈值的比较来选择基于点、基于边缘,或组合的基于点和边缘的特征对应性方法中的一者,从所述目标的模型获得所述点和线阈值。可通过使用所述选定方法建立所述当前图像与模型图像之间的特征对应性来细化所述相机姿势。
Description
相关申请案的交叉参考
本申请案主张2014年5月15日申请的标题为“使用点和线特征的稳健跟踪(RobustTracking Using Point and Line Features)”的第14/278,928号美国申请案的权益和优先权,所述美国申请案主张2013年6月14日申请的标题为“使用点和线特征的稳健跟踪(Robust Tracking Using Point and Line Features)”的第61/835,402号美国临时申请案的权益和优先权,上述两个申请案以全文引用的方式并入本文中。
技术领域
本发明大体上涉及用于基于稳健特征的跟踪的设备、系统和方法,且明确地说,涉及用于使用点和线特征的组合来进行基于稳健特征的跟踪的系统和方法。
背景技术
随着技术的最近进步,增强现实(AR)应用在例如智能电话等每日用户装置上越来越常见。在可为实时交互式的AR应用中,可处理真实图像,以将虚拟对象添加到图像,并使所述虚拟对象在3个维度(3D)中与所捕获的图像对准。通常,所述虚拟对象补充现实世界图像。因此,检测并定位真实图像中存在的对象,并通过图像序列确定相机相对于所述对象的姿势,促进了准确的虚拟对象放置,且保留真实和虚拟世界的混合。
当将手持式用户装置用于图像捕获时,稳健的跟踪方法是合乎需要的,以容许快速的不受限制的手部移动,这可导致跟踪失效和/或不佳的姿势估计。当基于点的特征容易定位且促进图像之间的特征对应性的确定时,其容易发生跟踪错误,这可导致姿势变动。另一方面,基于线或边缘的特征不大容易发生姿势变动,因为它们在发光面和方位变化上是稳定的。然而,它们特征对应性确定期间容易发生错误,这使得稳健的边缘跟踪成为挑战。
因此,需要稳健的跟踪方法,其增强基于当前特征的跟踪方法,以实现更佳AR体验的稳健性和跟踪准确性。
发明内容
所揭示实施例涉及用于使用点和边缘特征来实行基于稳健特征的跟踪的系统、方法和设备。
在一些实施方案中,所述方法可包含:为包括目标对象的当前相机所俘获的图像计算得分,其中所述得分至少部分地基于从当前图像和相机所捕获的之前图像中的特征的比较而确定的一或多个度量,且其中所述比较是基于针对当前图像而估计的相机姿势。另外,可至少部分地基于得分与从所述目标的模型获得的至少一个点阈值和至少一个线阈值、所述至少一个点阈值以及所述至少一个线阈值的比较,选择基于点、基于边缘,或组合的基于点和边缘的特征对应性方法中的一者。
在另一方面,用户装置(UD)可包含:相机,其经配置以捕获包括目标对象的多个图像;存储器,其经配置以存储所述目标对象的模型;以及处理器,其耦合到所述相机和所述存储器。在一些实施方案中,所述处理器可经配置以:为所述相机所捕获的当前图像计算得分,其中所述得分至少部分地基于从当前图像和所述相机所捕获的之前图像中的特征的比较而确定的一或多个度量,且其中所述比较是基于针对当前图像而估计的相机姿势。所述处理器可进一步经配置以至少部分地基于得分与从目标对象的模型获得的至少一个点阈值和至少一个线阈值、所述至少一个点阈值和所述至少一个线阈值的比较,来选择基于点、基于边缘或组合的基于点和边缘的特征对应性方法中的一者。
在另一方面,一种设备可包含:成像装置,其用于捕获包括目标对象的多个图像;存储装置,其用于存储所述目标对象的模型,所述存储装置耦合到所述成像装置;用于为所述成像装置所捕获的当前图像计算得分的装置,所述得分至少部分地基于从当前图像和所述成像装置所捕获的之前图像中的特征的比较而确定的一或多个度量,且其中所述比较是基于针对所述当前图像而估计的成像装置姿势;以及用于至少部分地基于所述得分与从目标的所存储模型获得的至少一个点阈值和至少一个线阈值、所述至少一个点阈值和所述至少一个线阈值的比较,来选择基于点、基于边缘或组合的基于点和边缘的特征对应性方法中的一者的装置。
所揭示的实施例还涉及一种包括指令的非暂时性计算机可读媒体,所述指令在由处理器执行时,实施方法中的步骤,其中所述步骤可包含:为包括目标对象的当前相机所俘获的图像计算得分,其中所述得分至少部分地基于从当前图像和所述相机所捕获的之前图像中的特征的比较而确定的一或多个度量,且其中所述比较是基于针对当前图像而估计的相机姿势。另外,可至少部分地基于所述得分与从所述环境的模型获得的至少一个点阈值和至少一个线阈值、所述至少一个点阈值以及所述至少一个线阈值的比较,选择基于点、基于边缘,或组合的基于点和边缘的特征对应性方法中的一者。
附图说明
将参看图式仅通过实例方式来描述本发明的实施例。
图1示出了能够以与所揭示的实施例一致的方式实施基于特征的跟踪的示范性用户装置的框图。
图2A示出了以用于与所揭示的实施例一致的方式分析图像的示范性方法的流程图。
图2B示出了用于以与所揭示的实施例一致的方式基于点和线特征的组合来进行特征跟踪的示范性方法的流程图。
图3A示出了用于以与所揭示的实施例一致的方式分析图像的示范性方法的流程图。
图3B示出了用于以与所揭示的实施例一致的方式基于点和线特征的组合来进行特征跟踪的示范性方法的流程图。
图4A示出了以与所揭示的实施例一致的方式使用点跟踪器来计算细化的姿势的示范性方法的流程图。
图4B示出了以与所揭示的实施例一致的方式使用线跟踪器来计算细化的姿势的示范性方法的流程图。
图4C示出了以与所揭示的实施例一致的方式使用点和线跟踪器两者来计算细化的姿势的示范性方法的流程图。
图5示出了经启用来以与所揭示的实施例一致的方式使用点和线特征来促进稳健的基于特征的跟踪的示范性计算装置的示意性框图。
图6示出了用于以与所揭示的实施例一致的方式基于点和线特征的组合进行特征跟踪的示范性方法的流程图。
具体实施方式
在计算机视觉中,检测是指在所捕获图像帧中定位目标对象以及计算相对于对象的相机姿势的过程。跟踪是指在图像帧时间序列内的相对于对象的相机姿势估计。在特征跟踪中,可检测特征一次,且接着在后续图像中使用关于相机姿势的先验信息或假设来直接跟踪特征。对于相机姿势的初始确定(初始化),可使用特征匹配。在特征匹配中,可通过检测两个图像(其可接着彼此匹配)中的特征,在无关于相机姿势的先验信息的情况下,建立两个图像之间的对应性。举例来说,在初始化期间,可将初始所捕获图像与一或多个所存储的模型参考图像进行比较,其中每一参考图像与已知姿势和具有已知坐标的一组独特特征相关联,以寻找最接近匹配的图像。可将关联最接近匹配图像的相机姿势用作针对所述初始图像的相机姿势的初始估计。
通常,在基于特征的跟踪方法中,可使用特征来表示对象。因此,常规的基于特征的对象跟踪可包含特征提取和特征对应步骤。特征提取是指检测图像中的特征,而特征对应是匹配或确定两个图像中的特征之间的对应性的过程。因此,在不同成像条件(例如,尺度、照明、定向等)下很可能在多个视图上显著的显著特征的使用促进特征对应性确定。特征对应性中的不明确性可能导致跟踪错误。在常规系统中,通常使用基于点的特征(跟踪点)或基于线或边缘的特征(边缘跟踪)来建立图像之间的特征对应性。术语“线”和“边缘”在本文对特征跟踪的描述中可互换使用。
基于点的特征跟踪促进了图像之间的特征对应性的容易确定,且对出人意料的帧间运动相对稳健。然而,常常通过减小可在其范围内确定对应性的窗口的大小,来实现基于点的技术中的计算效率。用于对应性确定的窗口大小的减小导致图像序列上的跟踪错误,其促成姿势变动。显著边缘的检测在变化照明面中是稳健的。即使存在照明和方位变化,当跟踪锐缘时,仅依靠边缘信息也提供良好结果。然而,基于边缘的跟踪容易发生对应性失配。举例来说,在其中许多边缘群集在一起的图像中,可能发生对应性失配,从而影响稳健性。
组合基于点和边缘的跟踪的常规尝试通常基于一些条件而在点和边缘跟踪之间交替。换句话说,在任何时间,使用基于点或边缘的跟踪来建立特征对应性。这些方法仅在两个方案之间交替,因此,一个方法中的不良姿势估计可能影响另一方法中的估计。
因此,本文所揭示的一些实施例应用计算机视觉和其它图像处理技术,通过组合基于点和边缘的跟踪技术,来增强跟踪能力。
下文相对于以下各图进一步解释这些和其它实施例。应理解,所属领域的技术人员将从以下详细描述容易地明白其它方面,其中借助于说明示出且描述各个方面。图式和详细描述应被视为本质上为说明性的而不是限制性的。
图1示出了能够以与所揭示的实施例一致的方式实施基于特征的跟踪的示范性用户装置(UD)100的框图。如本文所使用,UD 100可呈移动台或移动装置的形式,例如:蜂巢式电话、移动电话,或其它无线通信装置、个人通信系统(PCS)装置、个人导航装置(PND)、个人信息管理器(PIM),或个人数字助理(PDA)、膝上型计算机、平板计算机、笔记本型计算机和/或手持式计算机或其它移动装置。在一些实施例中,UD 100可采用可穿戴计算装置的形式,所述可穿戴计算装置可包含与可穿戴头戴装置配对的显示装置和/或相机的形式。举例来说,所述头戴装置可包含头戴式显示器(HMD),其可用于显示实况和/或现实世界图像。在一些实施例中,所述实况图像上可覆盖着一或多个虚拟对象。在一些实施例中,UD 100可能够接收无线通信和/或导航信号。
此外,术语“用户装置”还既定包含例如通过短程无线、红外、有线连接或其它连接与个人导航装置(PND)通信的装置,及/或在所述装置处或所述PND处发生位置相关处理。并且,“用户装置”既定包含能够与另一计算装置(例如服务器)通信的所有裝置,包含各种无线通信装置,不管无线信号接收、辅助数据接收和/或相关处理是在所述装置处、服务器处还是与网络相关联的另一装置处发生。上述各项的任何可操作组合也被视为“用户装置”。
术语“用户装置”还既定包含可未经配置以无线地或经由有线连接而连接到网络或以其它方式与另一装置通信的游戏或其它装置。举例来说,用户装置可省略通信元件和/或连网功能性。举例来说,本文中描述的实施例可在未被配置成连接以用于与另一装置进行有线或无线连网的独立装置中实施。
在一些实施方案中,UD 100可能够实施各种计算机视觉(CV)方法,包含图像分析、特征检测/跟踪、特征对应性确定、建模、3D重构、AR等。在一些情况下,CV方法可基于3D环境的现有模型。另外,在一些实施例中,可以与所揭示的实施例一致的方式实时或近实时地实施所述CV方法。
如图1中所示,UD 100可包含一或多个相机或图像传感器110(下文称为“相机110”)、传感器组或传感器130、显示器140、一或多个处理器150(下文称为“处理器150”)、存储器160和/或收发器170,其可以操作方式彼此耦合,且通过连接120耦合到UD 100上的其它功能单元(未图示)。连接120可包括总线、线路、光纤、链路等或其某一组合。
收发器170可(例如)包含经启用以通过一或多种类型的无线通信网络发射一或多个信号的发射器,以及接收通过所述一或多种类型的无线通信网络发射的一或多个信号的接收器。收发器170可准许基于多种技术与无线网络通信,所述技术例如(但不限于)毫微微小区、Wi-Fi网络或无线局域网(WLAN)(其可基于IEEE 802.11族标准)、无线个域网(WPAN)、蓝牙、近场通信(NFC)、基于IEEE 802.15x族标准等的网络和/或无线广域网(WWAN)(例如LTE、WiMAX等)。
举例来说,收发器170可促进与WWAN的通信,所述WWAN例如为码分多址(CDMA)网络、时分多址(TDMA)网络、频分多址(FDMA)网络、正交频分多址(OFDMA)网络、单载波频分多址(SC-FDMA)网络、长期演进(LTE)、WiMax等。
CDMA网络可实施一或多种无线电接入技术(RAT),例如cdma2000、宽带CDMA(W-CDMA)等。cdma2000包含IS-95、IS-2000和IS-856标准。TDMA网络可实施全球移动通信系统(GSM)、数字高级移动电话系统(D-AMPS)或一些其它RAT。GSM、W-CDMA和LTE描述于来自被称为“第三代合作伙伴计划”(3GPP)的组织的文献中。cdma2000描述于来自名为“第三代合作伙伴计划2”(3GPP2)的协会的文献中。3GPP和3GPP2文献可公开获得。所述技术还可结合WWAN、WLAN和/或WPAN的任何组合来实施。用户装置还可包含用于经由有线网络进行通信的一或多个端口。在一些实施例中,可省略用户装置100上的收发器170和/或一或多个其它端口。可在例如不要求与另一装置通信的移动台中的独立CV/AR系统/装置中使用本文中揭示的实施例。
在一些实施方案中,相机110可包含多个相机、前置和/或后置相机、广角相机,且还可并入有电荷耦合装置(CCD)、互补金属氧化物半导体(CMOS),和/或各种其它图像传感器。相机110,其可为静止相机或摄像机,可捕获环境的一连串图像帧,并将所捕获的图像帧发送到处理器150。相机110所捕获得图像可为彩色的(例如以红-绿-蓝(RGB)表示)或灰度级。在一个实施例中,相机110所捕获的图像可呈原始的未经压缩格式,且可在由处理器150处理和/或存储在存储器160中之前经压缩。在一些实施例中,可由处理器150使用无损或有损压缩技术来执行图像压缩。
处理器150可执行软件以处理由相机110捕获的图像帧。举例来说,处理器150可能够处理相机110所捕获的一或多个图像帧,以执行图像分析、特征提取、特征跟踪/检测、特征对应性,确定相机110的姿势和/或执行对应于相机110所捕获的图像的环境的3D重构。
相机110的姿势是指相机110相对于参考帧的位置和定向。在一些实施方案中,可针对6自由度(6DOF)确定相机姿势,6自由度是指三个平移分量(其可由X、Y、Z坐标给定)以及三个角度分量(例如横摇、纵摇和横摆)。在一些实施例中,相机110和/或UD100的姿势可由处理器150使用视觉跟踪方案,基于相机110所捕获的图像帧来确定和/或跟踪。
可使用硬件、固件和软件的组合来实施处理器150。处理器150可表示可配置以执行与包含图像分析、3D重构、跟踪、从图像的特征提取、图像之间的特征对应性、建模、图像处理等的CV有关的计算步骤或过程的至少一部分的一或多个电路,且可从存储器160检索指令和/或数据。在一些实施方案中,处理器150可包含CV模块155,其可执行或促进各种CV应用程序的执行,例如上文概述的示范性CV应用程序的执行。
可在处理器150内和/或在处理器150外部实施存储器160。可使用一或多个专用集成电路(ASIC)、中央和/或图形处理单元(CPU及/或GPU)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器、嵌人式处理器芯、电子装置、经设计以执行本文中描述的功能的其它电子单元或其组合来实施处理器150。
存储器160可在处理器150内和/或在处理器150外部实施。如本文所使用,术语“存储器”是指任何类型的长期、短期、易失性、非易失性或其它存储器,且不应限于任何特定类型的存储器或任何特定数目个存储器,或上面存储有存储器的任何特定类型的物理媒体。在一些实施方案中,存储器160可保持代码以促进各种CV和/或图像处理方法,包含图像分析、跟踪、特征检测/提取、特征对应性确定、建模、3D重构、AR应用以及处理器150执行的其它任务。举例来说,存储器160可保持数据、所捕获的静态图像、3D模型、深度信息、视频帧、程序结果以及由各种传感器提供的数据。一般来说,存储器160可表示任何数据存储机构。存储器160可包含(例如)主存储器和/或辅助存储器。主存储器可包含(例如)随机存取存储器、只读存储器等。虽然在图1中说明为与处理器150分开,但应理解,主存储器的全部或部分可在处理器150内提供,或以其它方式与处理器150处于相同位置和/或耦合到处理器150。
辅助存储器可包含(例如)与主存储器和/或一或多个数据存储装置或系统相同或相似类型的存储器,例如闪存/USB存储器驱动器、存储卡驱动器、磁盘驱动器、光盘驱动器、磁带机、固态驱动器、混合驱动器等。在某些实施方案中辅助存储器可以操作方式接收或另外可配置以耦合到与UD 100耦合的可装卸媒体驱动器(未图示)中的非暂时性计算机可读媒体。在一些实施方案中,非暂时性计算机可读媒体可形成存储器160和/或处理器150的一部分。
在一些实施方案中,UD 100可包含多种其它传感器130,例如立体相机、环境光传感器、麦克风、声波传感器、超声波传感器、激光测距仪等中的一或多者。在某些实例实施方案中,用户装置100可包含惯性测量单元(IMU),其可包括3轴陀螺仪、3轴加速计和/或磁力计。IMU可将速度、定向和/或其它位置相关信息提供给处理器150。在一些实施例中,IMU可与由相机130捕获每一图像帧同步地输出测得的信息。在一些实施方案中,IMU的输出可部分地由处理器150用于确定、校正和/或以其它方式调整所估计的姿势,相机110和/或UD100的姿势。此外,在一些实施例中,相机110所捕获的图像还可用于重新校准或执行IMU的偏差调整。
此外,UD 100可包含能够渲染彩色图像(包含3D图像)的屏幕或显示器140。在一些实施方案中,UD 100可包含准许通过单独的监视器或耦合到UD 100的显示器来显示经3D重构的图像的端口。在一些实施方案中,显示器和/或UD 100可呈可穿戴装置的形式。在一些实施方案中,显示器140可用于显示相机110所捕获得实况图像、增强现实(AR)图像、图形用户接口(GUI)、节目输出等。在一些实施方案中,显示器140可包含触摸屏和/或与触摸屏收容在一起,以准许用户经由虚拟键盘、图标、菜单或其它GUI/用户示意动作和/或例如触笔等输入装置和其它输入装置的某一组合来输入数据。在一些实施例中,可使用液晶显示器(LCD)显示器或发光二极管(LED)显示器(例如有机LED(OLED)显示器)来实施显示器140。在其它实施例中,显示器140可为可穿戴显示器,其可操作地耦合到UD 100中的其它功能单元但与其分开收容。在一些实施例中,UD 100可包括用以准许通过耦合到MS 100的单独监视器来显示图像的端口。
图1中并未展示UD 100中所包括的所有模块。还可以各种方式用与本发明一致的方式来修改示范性用户装置100,例如通过添加、组合或省略所展示的功能块中的一或多者。举例来说,在一些配置中,用户装置100可能不包含收发器170。在一些实施方案中,UD100可另外包括卫星定位系统(SPS)单元,其可用于将地点信息提供给UD 100。在一些实施例中,用户装置100的若干部分可呈一或多个芯片组和/或类似物的形式。
在一些实施方案中,UD 100可能够执行各种AR应用程序,其可使用基于视觉特征的跟踪。在一些实施方案中,UD 100可以与本文揭示的实施例一致的方式,基于边缘和特征跟踪的组合来执行跟踪方法。
图2A示出了以用于与所揭示的实施例一致的方式分析图像的示范性方法200的流程图。在示范性方法200中,已使用阈值的特定值来说明所述方法,且用于解释性目的。然而,这些阈值不限于所使用的示范性值,而是可适当地变化。
在一些实施方案中,方法200可在模型创建阶段期间,作为离线过程执行。举例来说,可使用基于点和边缘的特征的组合来创建待跟踪的目标的3D模型。在一些实施方案中,所述模型可包含来自正跟踪的目标的点和线的数据库。举例来说,在一个实施例中,3D模型可包含3D空间中的点云和边缘两者。此外3D模型可包含3D点地点和描述符的数据库,以及显著边缘的计算机辅助设计(CAD)模型。在一些实施方案中,可基于相机110所捕获的实况图像,实时地执行模型创建。在一些实施方案中,方法200可由处理器150和/或CV模块155在模型创建或分析期间执行。在步骤205中,可分析关于所述模型的一或多个图像,以从所述图像抽取特征。所提取的特征可包括点和/或线/边缘特征。一般来说,可以与所揭示的实施例一致的方式,结合例如坎尼(Canny)边缘检测及其变体、差分边缘检测技术、索贝尔(Sobel)边缘检测等边缘检测技术,使用例如尺度不变特征变换(SIFT)、加速稳健特征(SURF)等一或多种点检测技术。检测技术包含拐角检测器,例如“来自加速片段测试的特征”(FAST)、“最小同值片段同化核”(SUSAN)、基于最大稳定极值区域(MSER)的检测器、哈里斯(Harris)检测器等。举例来说,在使用拐角检测器的个例中,可将拐角检测器检测到的拐角点用作点特征。一般来说,可基于可用系统来源、所要的准确性、速度以及其它设计参数来使用任何适当的点和/或边缘检测技术。
接下来,在步骤210中,如果图像富含点特征,即“点富(point rich)”(步骤210中的“Y”),那么在步骤215中,可将阈值T点设定成“0.0”,且方法进行到步骤240。否则(步骤210中的“N”),方法进行到步骤220。
在步骤220中,如果图像缺乏点特征,即“点贫(point poor)”(步骤220中的“Y”),那么在步骤225中,可将阈值T点设定成“1.0”,且方法进行到步骤240。否则(步骤220中的“N”),方法进行到步骤230,其中可基于在图像中检测到的点特征的数目,将阈值T点的值设定成介于0.0与1.0之间的数字。
在一些实施方案中,可基于从图像提取的点特征的数目,来做出图像是点富还是点贫的确定。举例来说,如果所提取的点特征的数目超出第一点计数值,那么可认为所述图像是点富的。相反,如果所提取的点特征的数目低于第二点计数值,那么可将所述图像认为是点贫的。点计数落在第一和第二点计数之间的一些图像可既不是点富也不是点贫的。可基于可用的处理能力、所要的响应时间、所要的跟踪准确性的程度和/或其它系统参数,以启发方式设定点计数值。
接下来,在步骤240中,如果图像富含线特征,即“线富(line rich)”(步骤240中的“Y”),那么在步骤245中,可将阈值T线设定成“0.4”,且方法可终止。否则(步骤240中的“N”),方法进行到步骤250。以上T点和T线的值是示范性的。一般来说,可基于赋予点或线特征的权重来选择T点和T线的值。在以上实例中,其中T线=0.4,以赋予点特征比线特征大的权重。
在步骤250中,如果图像缺乏线特征,即“线贫(line poor)”(步骤250中的“Y”),那么在步骤255中,可将阈值T线设定成“0.0”,且方法可终止。否则(步骤250中的“N”),方法进行到步骤260,其中可在终止之前,基于图像中检测到的线特征的数目,将阈值T线的值设定成介于0.0与0.4之间的数字。
在一些实施例中,可基于从所述图像和/或所述图像的部分提取的线特征的数目,做出图像是线富还是线贫的确定。举例来说,如果所提取的线特征的数目超出某一线计数值,那么可认为所述图像是线富的。相反,如果所提取的线特征的数目低于某一线计数值,那么可将所述图像认为是线贫的。可基于环境、可用的处理能力、所要的响应时间、所要的跟踪准确性的程度和/或其它系统参数,以启发方式设定线计数值。
上文所指示的阈值T点和T线的值是示范性的,且仅用于说明性目的。一般来说,为T点和T线选定的值可取决于各种系统参数和/或基于所建模的环境而变化,和/或变化以指示对点和/或线特征的偏好。在一些实施例中,T点和T线可采取使得0≤T点,T线≤1的值。方法200中所使用的T点和T线的值可充当将3D模型中的点、线,或点和线特征用于跟踪目的的可用性和/或合意性的指标。
可例如模型创建阶段期间,将在方法200中确定的T线和T点的值与特征跟踪阶段期间确定的得分进行比较。举例来说,特征跟踪阶段中的得分可基于实况图像中的跟踪目标中与模型创建阶段期间创建的模型中的特征点匹配的特征点的数目。在一些实施例中,基于得分与T点和/或T线的值的比较,可将基于点、基于线或基于点和线的特征中的一者用于目标跟踪。一般来说,在方法200中,可将任意值用于T点和T线,接着与对基于点、线或点和线的特征跟踪的偏好一致,为所述得分选择适当的值。所选的值可用于确定在特征跟踪阶段期间,何时调用基于点、基于线,或基于点和线的特征跟踪。
在一些实施例中,方法200可由用于给定环境的服务器或另一计算装置执行,且可将模型和相关联结果(例如阈值T点和T线)发送到UD 100和/或由UD 100获得,并存储在存储器160中,以供以后结合用于所述环境的CV应用程序使用。
在一些实施例中,3D模型可包含多种相机姿势下的多个图像或关键帧,且可为关键帧的某一子集确定T点和T线值。在一些实施例中,每一关键帧可与对应的T点和/或T线值相关联,其可基于特定针对所述关键帧的特征分布。在一些实施例中,可处理模型的一或多个关键帧,以获得对应于每一经处理关键帧的T点和/或T线值。在其中正实时和/或从实况图像创建模型的实施例中,对应T点和/或T线值的处理和确定可在图像表示为关键帧时发生。此外,在一些实施例中,其中T点和/或T线值对应于特定关键帧,可针对每一关键帧以及对应的T点和/或T线值执行方法200,且任何相关特征描述符可与所述关键帧相关联,并存储为所述模型的一部分。
图2B示出了用于以与所揭示的实施例一致的方式基于点和线特征的组合来进行特征跟踪的示范性方法275的流程图。方法200和275仅是示范性的,且可对所述方法作出各种修改。举例来说,在一些实施例中,方法275可作为在线过程执行,或在AR应用程序正跟踪目标时实时执行。在一些实施例中,方法275可由处理器150在目标跟踪期间基于相机110正捕获的实况图像而执行。在一些实施例中,方法275可实时地调用方法200,以确定T点和/或T线值,并将其添加到具有所提取的点和线特征(但不具有T点和/或T线值)的预先存在的模型。在一些实施例中,如上所述,其中正实时地和/或从实况图像创建基于关键帧的模型,对应T点和/或T线值的处理和确定(例如通过调用方法200)也可在图像表示为关键帧时发生。
在步骤280中,可处理相机110所捕获的图像,以从所述图像提取点特征。可基于特征跟踪步骤期间的点匹配的数目,将T得分指派给所捕获的图像。举例来说,可将当前图像帧与先前图像(例如紧接在前的图像帧)和/或点匹配的平均归一化互相关(NCC)得分进行比较。在一些实施例中,所述得分可包含以上参数中的一或多者的加权和。举例来说,可将T得分计算为介于0与1之间的值(例如0≤T得分≤1)。
NCC是基于相关的方法,其准许图像对上的匹配,即使在具有较大相对相机运动的情形中也是如此。“不良”特征点匹配是指不成功的NCC匹配尝试的数目,即失败点匹配和/或具有低相关得分的匹配的数目。举例来说,可将当前图像帧与例如紧接在前的图像帧等之前图像进行比较。T得分值可基于以下各项中的一者或一者以上:良好特征点匹配的数目和/或不良特征点匹配的数目。因为NCC未能定位可能在视图中的点,所以可将不良特征点匹配视为与当前图像帧的品质有关的度量。举例来说,如果特征点匹配具有高NCC值(例如100或以上)和较低跟踪错误(例如不超过2像素再投影错误),那么可将所述特征点匹配表示为“良好”。注意,上文概述的NCC值和跟踪错误仅是示范性的,且可基于例如所要性能、跟踪准确性等系统参数来修改。低于以上NCC值(例如低于100)或超过以上跟踪错误(例如超过2个像素)的特征匹配可表示为“不良”。
在一些实施例中,T得分值可基于以下各项中的一者或一者以上:正确匹配相对于最大或预期数目的特征点匹配的比例。举例来说,可通过以实验方式观察跟踪品质和跟踪时间,来确定特征点匹配的预期数目。在一些实施例中,正确匹配相对于最大或预期数目个特征点匹配的比例可预配置为默认值和/或由用户配置。在一个实施例中,所述系统经配置以用于所要性能,且可启发式地调整所跟踪特征的最大或预期数目,以达到所要性能。相反,所述系统经配置以用于所要的跟踪品质,且可启发式地调整所跟踪特征的最大或预期数目,以达到所要的跟踪准确性。
在一些实施例中,可在图像金字塔的所有层级执行计分。举例来说,可对相机110所捕获的图像进行下取样和滤波,以创建图像金字塔,其中最高分辨率(或原始)图像可位于图像金字塔顶部,且最低分辨率图像可位于金字塔底部。举例来说,金字塔的最高层级(层级0)可具有原始或最高分辨率图像,且下面的每一层级可用某一因子相对于紧接在上的层级对所述图像进行下取样。举例来说,对于大小为640X 480的图像I0(在层级0处),图像I1、I2、I3和I4的大小分别为320x240、160x120、80x60和40x30,其中下标指示图像金字塔中的图像层级。
可例如模型创建阶段期间,将在方法200中确定的T线和/或T点的值与在步骤280中确定的T得分进行比较。如上文所论述,在步骤280中确定的T得分的值可基于从实况图像与先前图像的比较获得的各种度量。在图2B中所示的示范性方法275中,例如基于点匹配的数目来确定T得分。在实施例中,其中正使用基于关键帧的模型以及具有对应T点和/或T线值的关键帧,可使用当前相机姿势,基于欧几里得距离来确定最接近于当前相机姿势的关键帧,且可将(最接近关键帧的)T线和/或T点的值与当前图像的T得分进行比较。
在一些实施例中,基于T得分与T点和/或T线的值的比较,可调用基于点、基于线或基于点和线的特征跟踪中的一者。一般来说,可使用与用以获得T点和T线的方法兼容的任何计分方案来计算T得分。举例来说,如果T点和T线采取使得0≤T点,T线≤1的值,那么可计算或归一化T得分,以获得介于0与1之间的T得分值(0≤T得分≤1)。因为基于与图像对的特征比较有关的度量来计算T得分,所以可将T得分看作当前图像帧对特征跟踪的特定方法的适合性的指标。因此,如果(如在步骤280中),例如,基于点匹配的数目来确定T得分,那么低T得分将表明所述当前帧不适合基于点的特征跟踪。
接下来,在步骤285中,可将先前步骤中计算的T得分的值与T点进行比较。如果T得分≥T点(步骤285中的“Y”),那么在步骤287中,可作出仅将点特征用于后续姿势细化步骤的确定,且方法275可调用例程297。
在图2A中,在示范性方法200中,T点=0.0是针对点富图像,而T线=0.4(>0.0)是针对线富图像。示范性方法200中指派的权重结合示范性方法275使用,以偏爱点超过线。因此,在示范性方法275中,在步骤280中,基于点匹配计算T得分,且在步骤285中,如果T得分≥T点,那么在步骤287中,选择基于点的特征跟踪作为特征跟踪方法。因为当图像为点富时,T点=0.0,所以在示范性方法275中,对于点富图像,始终满足步骤285中的条件(T得分≥T点),且当图像为点富时,选择基于点的特征跟踪。
如果T得分<T点(步骤285中的“N”),那么在步骤290中,可将T得分的值(来自步骤280)与T线进行比较。如果T得分≤T线(步骤290中的“Y”),那么在步骤293中,可作出将边缘特征用于后续姿势细化步骤的确定,且方法275可调用297。
否则(步骤290中的“N”),在步骤295中,T线<T得分<T点,且可作出将点和边缘用于后续姿势细化步骤的确定,且方法275可调用例程297。
并且,参看图2A,对于线富图像T线=0.4(>0.0),因此,在一些情况下,即使当不满足步骤285中的条件(T得分≥T点)且未选定基于点的特征跟踪时,在步骤290中,T得分也不可小于T线=0.4,因此可在步骤295中选择基于点和线的特征跟踪方法。在示范性方法275中,对于将选择的基于线的特征跟踪方法,即使对于线富图像,也不应满足步骤285中的条件(T得分≥T点)(所述图像不应是点富的,否则基于点的特征跟踪是有利的),且在步骤290中,T得分应低于T线0.4。低T得分指示基于点的特征跟踪的不良得分。因此,在示范性方法200和275中,基于点的特征和基于点的特征跟踪比基于线的特征和基于线的特征跟踪有利。然而,方法200和275仅为示范性的,且可使用不同的加权方案来给予线和点特征相同的权重,或者对线特征的加权比对点特征重。可调整步骤280和决策框285和290,以反映选定的加权方案。
在例程297中,可基于先前在步骤287、293或295的一者中作出的确定来细化姿势估计。举例来说,在一个实施例中,可基于如在步骤287、293或295的一者中作出的确定,使用2D-3D特征对应性来细化先前或所估计的6DOF相机姿势。
图3A示出了用于以与所揭示的实施例一致的方式在模型创建阶段期间分析图像的示范性方法300的流程图。在一些实施例中,方法300可在模型创建阶段期间,作为离线过程执行。在一些实施例中,方法300可为由处理器150基于相机110所捕获的一或多个图像,在模型创建期间执行。在一些实施例中,方法300可为模型中的关键帧的某一子集反复。方法300和320(图3B)仅是示范性的,且可对所述方法作出各种修改。举例来说,示范性方法300和320更偏爱点特征的选择和使用,而不是线特征。然而,可容易地更改所述方法以改变偏好。
在一些实施例中,模型可包含关键帧,且每一关键帧可与对应的T点和/或T线值相关联,其可基于特定针对所述关键帧的特征分布。在一些实施例中,可处理模型的一或多个关键帧,以获得对应于每一经处理关键帧的T点和/或T线值。在其中正实时和/或从实况图像创建模型的实施例中,对应T点和/或T线值的处理和确定可在图像表示为关键帧时发生。此外,在一些实施例中,其中T点和/或T线值对应于特定关键帧,可针对每一关键帧以及对应的T点和/或T线值执行方法300,且任何相关特征描述符可与所述关键帧相关联,并存储为所述模型的一部分。
在步骤303中,关于所述模型的一或多个图像可各自分成细分部,以从图像细分部提取点特征。在一些实施例中,所述细分部可呈各种多边形的形式。在一个实施例中,例如下文所描述的示范性实施例,可将图像分成多个网格。
在步骤305中,可选择第一或下一网格,且可将点特征添加到所述网格/模型的特征列表。在步骤307中,如果所述网格是点贫的(步骤307中的“Y”),那么在步骤310中,可为所述网格提取线特征,且可将所述线特征添加到特征列表,以使创建跨越图像中的网格的均一特征分布。举例来说,在一些实施例中,所添加的线特征的数目可取决于点特征从所述网格缺失的程度。在一些实施例中,可维持添加到每一网格的模型的点和/或线特征的数目的表格。
在一些实施例中,可基于从网格提取的点特征的数目,来作出网格是点富还是点贫的确定。举例来说,如果所提取的点特征的数目超出第一点计数值,那么可认为所述网格是点富的。相反,如果网格中的所提取的点特征的数目低于第二点计数值,那么可将所述网格认为是点贫的。点计数落在第一和第二点计数之间的一些网格可既不是点富也不是点贫的。可基于可用的处理能力、所要的响应时间、所要的跟踪准确性的程度和/或其它系统参数,以启发方式设定每一网格的点计数值。
在步骤310中,在一些实施例中,部分地通过从每一网格提取相当数目的点和/或线特征来促进特征分布均一性。因此,在一些实施例中,所提取的线的数目可相对于网格中的点的数目相反变化。因此,随着点的数目增加,可从网格提取较低数目的线。相反,当网格展现低点密度时,从网格提取的线的数目可增加。图像上的特征均一性便于找出图像上的对应性,这促成姿势细化准确性。
在其中模型中的图像分成网格的实施例中,点和线特征遍及目标图像的均一分布可在跟踪期间产生较大的准确性。使用网格来分配特征点/边缘提供优于偏斜特征分布的优点(例如当点特征的大部分集中在小区域中时),因为当特征分布不均匀时,可导致跟踪不稳定性。在点贫区中,对应性模糊增加。因此,以与所揭示的实施例一致的方式,将线特征添加到点贫区可为有益的,且产生增加的跟踪稳定性和较好的后续姿势细化。
在步骤307中,如果网格是点富的(步骤307中的“N”),那么在步骤309中,可任选地将线特征添加到网格/模型的特征列表,且方法进行到步骤312。在一些实施例中,可在步骤309中不为点富网格添加线特征,和/或可忽略步骤309。因此,在示范性方法300中,在一些情况下,当网格是点富(步骤307中的“N”)时,可不添加基于线的特征,因此偏爱基于点的特征跟踪。
然而,在一些实施方案中,在步骤309中,例如,可基于网格中可用的点特征的数目,将变化数目的基于线的特征添加到网格。在一些实施例中,在步骤309中,所添加的基于线的特征的任选数目可受制于上限。作为另一实例,在步骤309中,可将最小数目的基于线的特征添加到网格,而与基于点的特征的数目无关。
作为另一个实例,可修改方法300以偏爱基于线的特征,可修改步骤307,以测试网格区是否是线富的,且在网格区是线贫的时,任选地添加点特征(例如在步骤309中)。举例来说,在其中存在快速相对目标移动和/或用以促进存在运动模糊的情况下的跟踪的例子中,基于线的特征可为有利的。一般来说,可修改方法300,以使基于线的特征的数目是基于点的特征的数目的函数,或相反,使基于点的特征的数目是基于线的特征的数目的函数。
在步骤312中,如果存在待处理的额外网格(步骤312中的“Y”),那么调用步骤305来开始下一次反复,且可选择另一网格。如果不存在待处理的其它网格(步骤312中的“N”),那么方法终止。
图3B示出了用于以与所揭示的实施例一致的方式基于点和线特征的组合来进行特征跟踪的示范性方法320的流程图。如早先所概述,在示范性方法320中,在方法200和275中,点特征比线特征有利,但仅较轻微的程度。在一些实施例中,方法320可作为在线过程执行,或在AR应用程序正跟踪目标时实时执行。在一些实施例中,方法320可由处理器150在目标跟踪期间基于相机110正捕获的实况图像而执行。在一些实施例中,方法320可实时地调用方法300,以确定T点和/或T线值,并将其添加到具有所提取的点和线特征(但不具有T点和/或T线值)的预先存在的模型。在一些实施例中,如上所述,其中正实时地和/或从实况图像创建基于关键帧的模型,对应T点和/或T线值的处理和确定(例如通过调用方法300)也可在图像表示为关键帧时发生。
在步骤280中,可处理相机110所捕获的当前图像,以从所述图像提取点特征。可基于特征跟踪步骤期间的点匹配的数目,将T得分动态地指派给所捕获的图像。举例来说,可基于针对先前图像(其在一些情况下,可为相机110所捕获的紧接在前的图像)的先前相机姿势来确定针对当前图像的相机姿势的估计。可将当前图像与先前图像进行比较,以获得点匹配。动态计算的T得分值可基于以下各项中的一者或一者以上:点匹配的空间分布、相对于特征点匹配的最大或预期数目的良好特征点匹配的数目/不良特征点匹配的数目,和/或点匹配的平均NCC得分。
当使用特征点匹配来确定T得分时,表示为“良好”的特征点匹配例如可具有高NCC值(例如100或以上)和较低跟踪错误(例如不超过2像素再投影错误)。注意,上文概述的NCC值和跟踪错误仅是示范性的,且可基于例如所要性能、跟踪准确性等系统参数来修改。低于以上NCC值(例如低于100)或超过以上跟踪错误(例如超过2个像素)的特征匹配可表示为“不良”。
此外,可通过以实验方式观察跟踪品质和跟踪时间,来确定特征点匹配的预期数目。在一些实施例中,正确匹配相对于最大或预期数目个特征点匹配的比例可预配置为默认值和/或由用户配置。在一个实施例中,所述系统经配置以用于所要性能,且可启发式地调整所跟踪特征的最大或预期数目,以达到所要性能。相反,所述系统经配置以用于所要的跟踪品质,且可启发式地调整所跟踪特征的最大或预期数目,以达到所要的跟踪准确性。
在一些实施例中,T得分值可取决于与点匹配的空间分布相关联的均一性程度。在一个实施例中,当点匹配的空间分布较均一时,可指派较高的T得分。在一些实施例中,所述得分可包含以上参数中的一或多者的加权和。举例来说,可将T得分计算为介于0与1之间的值(例如0≤T得分≤1)。
在步骤325中,可分析模型的可见区,其为先前创建的模型中对应于当前图像的区。在一些实施例中,可基于先前创建的表格中指示建模的可见区中的每一网格的点和线特征(其在模型创建期间存储)的数目的信息来分析所述模型的可见区。在一些实施例中,可通过使用环境的所存储的模型(例如3D模型)以及针对当前图像的相机姿势的估计(其可基于先前姿势)来确定模型的可见区,以将模型投射到相机针对当前图像的视图中。在其中使用基于关键帧的模型且关键帧具有对应的T点和/或T线值的实施例中,可使用相机姿势来基于欧几里得距离,确定最接近当前相机姿势的关键帧。可接着将最接近当前相机姿势的关键帧投射到相机的视图中,且可将可见区中的(最接近关键帧的)T线和/或T点的对应值与当前图像的T得分进行比较。在一些实施例中,可使用目标的几何形状来确定可见区。举例来说,对于圆柱形目标,可使用基于圆柱体几何形状的参数来确定角度范围。
接下来,在步骤330中,如果模型的可见区是点富的(步骤330中的“Y”),那么在步骤333中,可将阈值T点设定成“0.0”,且方法进行到步骤345。否则(步骤330中的“N”),方法进行到步骤335。注意,可使用先前所存储的表格中的信息(其包含关于每一图像细分部的点和/或线特征的数目的信息),来确定模型的可见区是否是点富的。举例来说,在一个实施例中,可使用点特征的计数和与可见区中的每一网格相关联的边缘特征的计数的总和或其它函数,来确定模型的可见区是否是点富的。
在步骤335中,如果模型的可见区是“点贫”的(步骤335中的“Y”),那么在步骤337中,可将阈值T点设定成“1.0”,且方法进行到步骤345。否则(步骤335中的“N”),方法进行到步骤340,其中可基于在所建模的可见区中检测到的点特征的数目,将阈值T点的值设定成介于0.0与1.0之间的数字。注意,可使用先前所存储的表格中的信息来确定所建模的可见区是否是点贫的(在步骤335中),和/或设定T点的值(在步骤340中)。
接下来,在步骤345中,如果所建模的可见区富含线特征,即线富(步骤345中的“Y”),那么在步骤347中,可将阈值T线设定成“0.6”,且方法可进行到步骤365。否则(步骤345中的“N”),方法可进行到步骤350。可使用先前所存储的表格中的信息(其包含关于每一图像细分的点和/或线特征的数目的信息),来确定所建模的可见区是否是线富的。
在步骤350中,如果所建模的可见区是线贫的(步骤350中的“Y”),那么在步骤357中,可将阈值T线设定成“0.0”,且方法可进行到步骤365。否则(步骤350中的“N”),方法可进行到步骤360,其中可基于图像中检测到的线特征的数目,将阈值T线的值设定成介于0.0与0.6之间的数字。注意,可使用先前所存储的表格中的信息(其包含关于每一图像细分的点和/或线特征的数目的信息)来确定所建模的可见区是否是点贫的(在步骤350中),和/或设定T线的值(在步骤360中)。
在步骤365中,可将在步骤280计算的T得分的值与T点进行比较。如果T得分≥T点(步骤365中的“Y”),那么在步骤367中,可进行仅将点特征用于后续姿势细化步骤的确定,且方法320可调用例程297。
如果T得分<T点(步骤365中的“N”),那么在步骤370中,可将T得分的值(来自步骤280)与T线进行比较。如果T得分≤T线(步骤370中的“Y”),那么在步骤377中,可作出仅将边缘特征用于后续姿势细化步骤的确定,且方法320可调用例程297。
否则(步骤370中的“N”),在步骤295中,T线<T得分<T点,且可作出将点和边缘用于后续姿势细化步骤的确定,且方法320可调用例程297。
上文所指示的阈值T点和T线的值是示范性的,且仅用于说明性目的。一般来说,为T点和T线选定的值可取决于各种系统参数和/或基于所建模的环境而变化,和/或变化以指示对点和/或线特征的偏好。
在图3A中,在示范性方法300中,在一些情况下,可不将基于边缘的特征添加到点富网格,从而偏好基于点的特征跟踪。类似地,在图3B中,在示范性方法320中,基于点的特征跟踪是有利的。因为当可见图象区是点富的时,T点=0.0(在步骤333中),所以对于点富可见区,始终满足步骤365中的条件T得分≥T点,且当可见图象区是点富的时,选择基于点的特征跟踪。
然而,在示范性方法300中,与图2A和2B的方法中相比,已给予基于边缘的特征较大的权重。举例来说,对于线富可见区,T线=0.6(在步骤347中),因此更可能满足步骤370中的条件T得分≤T线(相对于图2A和2B,其中针对线富区,为T线指派值0.4)。因此,更可能选择线特征,和/或在步骤377中,将其用于特征跟踪。对应地,存在将点和线特征两者用于步骤380中的跟踪的较低可能性。因此,可基于系统参数最佳地定制各种特征跟踪方法的选择/使用的程度。
在例程297中,可基于先前在步骤367、377或380的一者中作出的确定来细化姿势估计。举例来说,在一个实施例中,可基于在步骤367、377或380中的一者中作出的确定,来从2D-3D特征对应性估计6DOF相机姿势。在一些实施例中,可使用经加权最小平方近似或其变体来计算特征对应性。
图4A示出了用以使用点跟踪器来计算细化的姿势的示范性方法400的流程图。在一些实施例中,如果先前已(在步骤365)将基于点的特征选择为用于确定特征对应性的方法,那么方法400的若干部分可由例程297执行和/或调用。
在步骤405中,可通过基于当前估计的姿势,将当前图像与使用基于点的特征的模型上的现有特征进行比较来确定特征对应性。
接下来,在步骤410中,可计算雅可比(Jacobian)。雅可比描述姿势变化(Δθ)与投射点变化(Δu)间的线性映射。
J·Δθ=Δu=um-up (1)
其中,具有6个参数的Δθ=(Δrx Δry Δrz Δtx Δty Δtz)与3D空间中的旋转和平移有关,
J是2x6矩阵,测量错误的局部差异为Δθ
u是2×1测量错误向量(ux uy)T
up是u的投射,
um是测得的或找到的对应性。
等式(1)可用于在步骤410中计算雅可比。
接下来,在步骤415中,由于u是2×1矩阵,且可按点计算u,因此可按点获得2个线性约束。在步骤420中,在具有充分的点对应性的情况下,可使用经加权最小平方(W.L.S)技术来计算用于姿势更新的解决方案,其最小化(Δu),且使所有投射up达到所找到的对应性um。
因此,可用充分的点/线对应性来获得使所有投影up达到找到的对应性um的姿势更新的解决方案。
其中,
且
可使用以上等式(2)和(3)来计算姿势更新。
图4B示出了用以使用线跟踪器来计算细化的姿势的示范性方法400的流程图。在一些实施例中,如果基于边缘的特征先前已被选定作为用于确定特征对应性的方法,那么方法400的部分可由例程297执行。
在步骤430中,可通过将当前图像于使用基于边缘的特征的模型上的现有特征进行比较来确定特征对应性。接下来,在步骤410中,可使用等式(1)来计算雅可比。
在步骤440中,对于边缘像素,可最小化法向距离,使得每一边缘给出由以下等式(4)给定的1个线性约束条件。
nT·J·Δθ=nT·Δu (4)
其中,当将u投射到图像平面上时,n=(nx ny)T是u的法向向量。
因此,可使用以下等式(5)和(6),用充分的线对应性来获得使所有投影up达到所找到的对应性um的姿势更新的解决方案。
其中
对于所有l线对应性。可使用以上等式(5)和(6)来计算姿势更新。
图4C示出了用以使用点和线跟踪器两者来计算细化的姿势的示范性方法450的流程图。在一些实施例中,如果先前已将基于点和边缘的特征选定作为用于确定特征对应性的方法,那么方法400的部分可由例程297执行。
在步骤405和430中,可通过将当前图像于使用基于点和边缘的特征的模型上的现有特征进行比较,来确定特征对应性。举例来说,点跟踪器和边缘跟踪器可对图像操作以确定对应性。
接下来,在步骤410中,可使用等式(1)来计算雅可比。在步骤415中,可每个点获得2个线性约束,且在步骤440中,可获得每线1个线性约束,由以上等式(4)给出。
因此,可使用上文的等式(3)和(6)以及下文等等式(7),用充足的点和线对应性来获得使所有投影up达到所找到的对应性um的姿势更新的解决方案。
(λpHp+λLHL)Δθ=λpbp+λLbL (7)
其中,λP=1,且λL是分别指派给点和线的权重。等式(3)、(6)和(7)可用于计算姿势更新。
在一些实施例中,上文所描述的方法促进对目标采用阈值,且因此最佳化所揭示的方法的运行时间,且增强特征跟踪器的稳定性。
本文所揭示的实施例促进对多种目标(包含3D目标)的准确且稳健跟踪,且准许具有6-DoF的跟踪。所揭示实施例促进存在未预期帧间运动、变化的照明和方位变化的情况下的准确跟踪,从而改进跟踪稳健性。取决于应用,本文中所描述的方法可以通过各种装置来实施。举例来说,对于固件和/或软件实施方案,可用执行本文中所描述的功能的模块(例如,程序、函数等)来实施所述方法。在实施本文所描述的方法中,可以使用有形地体现指令的任何机器可读媒体。举例来说,软件代码可存储在存储器中,并且由处理器单元来执行。在一些实施例中,可将所述功能作为一或多个指令或代码存储在计算机可读媒体上。实例包含编码有数据结构的计算机可读媒体和编码有计算机程序的计算机可读媒体。计算机可读媒体包含物理计算机存储媒体。
储存媒体可为可由计算机存取的任何可用媒体。作为实例而非限制,此类计算机可读媒体可包含RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置,磁盘存储装置或其它磁性存储装置,或任何其它可用于存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的媒体;在本文中使用时,磁盘和光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD),软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。上述各项的组合也应该包含在计算机可读媒体的范围内。
除了存储在计算机可读媒体上之外,还可将指令和/或数据提供为通信设备中包含的发射媒体上的信号。举例来说,通信设备可包含具有指示指令和数据的信号的收发器。所述指令和数据经配置以致使一或多个处理器实施权利要求书中概述的功能。也就是说,通信设备包含具有指示用以执行所揭示的功能的信息的发射媒体。在第一时间,通信设备中所包含的发射媒体可包含用以执行所揭示的功能的信息的第一部分,而在第二时间,通信设备中所包含的发射媒体可包含用以执行所揭示的功能的信息的第二部分。
现在参考图5,其为说明经启用以与所揭示的实施例一致的方式使用点和线特征来促进稳健的基于特征的跟踪的计算装置500的示意性框图。在一些实施例中,计算装置500可呈服务器的形式。在一些实施例中,计算装置500可包含(例如)一或多个处理单元552、存储器554、存储装置560,以及(在适用时)通信接口590(例如缆线或无线网络接口),其可以操作方式与一或多个连接556(例如总线、线、光纤、链路等)耦合。在某些实例实施方案中,计算装置500的某一部分可呈芯片组等的形式。在一些实施例中,计算装置500可经由无线网络(未图示)无线耦合到一或多个UD 100,所述无线网络可为WWAN、WLAN或WPAN中的一者。
在一些实施例中,计算装置500可方法200、275、300、320、400、425和/或450的若干部分。在一些实施例中,上述方法可由处理单元552和/或计算机视觉(CV)模块566执行。举例来说,上述方法可完全或部分地由处理单元552和/或CV模块566结合计算装置500上的一或多个功能单元和/或结合UD 100来执行。举例来说,计算装置500可从UD 100接收一序列所捕捉的图像,且可使用利用存储在存储器554中的环境的模型的CV模块566,完全或部分地执行方法200、275、300、320、400、425和/或450中的一或多者的若干部分。
通信接口590可包含支持有线发射和/或接收的多种有线和无线连接,并且在需要时可另外或替代地支持一或多个信号通过一或多种类型的无线通信网络的发射和接收。通信接口590可包含用于与UD 100和/或各种其它计算机和外围配置通信的接口。举例来说,在一个实施例中,通信接口590可包含实施计算装置500所执行的通信功能中的一或多者的网络接口卡、输入-输出卡、芯片和/或ASIC。在一些实施例中,通信接口590还可与UD 100介接,以发送环境的3D模型信息,和/或接收与方法200、275、300、320、400、425和/或450有关的图像、数据和/或指令。
处理单元552可使用接收到的信息中的一些或全部来执行所请求的计算,和/或经由通信接口590将所请求的信息和/或结果发送到UD 100。在一些实施例中,可使用硬件、固件和软件的组合来实施处理单元552。在一些实施例中,处理单元552可包含CV模块566,其可产生和/或处理环境的3D模型,执行3D重构,实施和执行各种计算机视觉方法,例如方法200、275、300、320、400、425和/或450。在一些实施例中,处理单元552可表示可配置以执行数据信号计算程序或与计算装置500的操作相关的过程的至少一部分的一或多个电路。
举例来说,CV模块566可以与所揭示的实施例一致的方式,通过处理从UD 100接收到一或多个图像帧,使用点和线特征的组合来实施基于特征的跟踪。在一些实施例中,CV模块566可执行图像分析、模型创建、特征提取、目标跟踪、特征对应性、使用点和线特征两者的相机姿势确定,和/或基于接收到的图像的环境的3D重构中的一或多者。在一些实施例中,可在各种AR应用程序的执行过程期间调用上述方法中的一或多者。
本文在流程图和消息流程中描述的方法可依据应用由各种装置实施。举例来说,这些方法可用硬件、固件、软件或其任何组合来实施。对于硬件实施方案,处理单元552可实施于经设计以执行本文中所描述功能的一或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、电子装置、其它电子单元,或其组合内。
对于固件和/或软件实施方案,可用执行本文中所描述的功能的模块(例如,程序、函数等等)来实施所述方法。在实施本文中所描述的方法的过程中,可使用任何有形地体现指令的机器可读媒体。举例来说,软件可存储在可装卸媒体驱动器570中,所述装卸媒体驱动器可支持非暂时性计算机可读媒体558(包含可装卸媒体)的使用。程序代码可驻存在非暂时性计算机可读媒体558或存储器554上,且可由处理单元552读取和执行。存储器可实施在处理单元552内或处理单元552外部。如本文中所使用,术语“存储器”是指任何类型的长期、短期、易失性、非易失性或其它存储器,且不应限于任何特定类型的存储器或任何特定数目的存储器,或其上存储有存储器的任何特定类型的媒体。
如果在固件和/或软件中实施,那么所述功能可作为一或多个指令或代码存储在非暂时性计算机可读媒体558和/或存储器554上。实例包含编码有数据结构的计算机可读媒体和编码有计算机程序的计算机可读媒体。举例来说,上面存储有程序代码的非暂时性计算机可读媒体558可包含用于以与所揭示的实施例一致的方式促进稳健的基于特征的跟踪的程序代码。
非暂时性计算机可读媒体可包含多种物理计算机存储媒体。存储媒体可以是可由计算机存取的任何可用的媒体。作为实例而非限制,此类非暂时性计算机可读媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置,磁盘存储装置或其它磁性存储装置,或任何其它可用于存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的媒体;如本文所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD),软性磁盘和蓝光光盘,其中磁盘通常以磁性方式重现数据,而光盘用激光以光学方式重现数据。非暂时性计算机可读媒体的其它实施例包含快闪驱动器、USB驱动器、固态驱动器、存储器卡等。以上各项的组合也应包含在计算机可读媒体的范围内。
除了存储在计算机可读媒体上之外,可将指令及/或数据作为传输媒体上的信号提供到通信接口590,所述通信接口可将指令/数据存储在存储器554、存储装置560中,和/或将所述指令/数据中继到处理单元552以用于执行。举例来说,通信接口590可接收指示指令和数据的无线或网络信号。所述指令和数据经配置以致使一或多个处理器实施所附权利要求书中所概述的功能。也就是说,通信设备包含具有指示用以执行所揭示的功能的信息的信号的发射媒体。
存储器554可表示任何数据存储机构。存储器554可包含(例如)主存储器和/或辅助存储器。主存储器可包含(例如)随机存取存储器、只读存储器、非易失性RAM等。虽然在此实例中说明为与处理单元552分开,但应理解,主存储器的全部或部分可在处理单元552内提供,或以其它方式与处理单元552处于相同位置/与处理单元耦合。辅助存储器可包含(例如)与主存储器和/或存储装置560相同或相似类型的存储器,例如一或多个数据存储装置560,包含(例如)硬盘驱动器、光盘驱动器、磁带机、固态存储器驱动器等。
在一些实施例中,存储560可包含一或多个数据库,其保持关于环境的信息,包含3D模型、图像、与所存储的模型相关联的数据库和/或表、关键帧、关于虚拟对象的信息等。在一些实施例中,数据库中的信息可由处理单元552和/或CV模块566在各种计算期间读取、使用和/或更新。
在某些实施方案中,辅助存储器可操作地接收非瞬时性计算机可读媒体558或以其它方式可配置以耦合到非瞬时性计算机可读媒体558。由此,在某些实例实施方案中,可完全或部分地使用非暂时性计算机可读媒体558来实施本文中呈现的方法和/或设备,非暂时性计算机可读媒体558可包含存储在其上的计算机可实施的指令,所述计算机可实施的指令在由至少一个处理单元552执行的情况下,可以操作方式被启用以执行如本文中所描述的实例操作的全部或部分。在一些实施例中,计算机可读媒体558可使用可装卸媒体驱动器570来读取和/或可形成存储器554的一部分。
图6示出了用于以与所揭示的实施例一致的方式基于点和线特征的组合进行特征跟踪的示范性方法600的流程图。
在一些实施例中,在步骤610中,可计算包括目标对象的当前相机所捕获图像的得分。所述得分可至少部分地基于从当前图像和相机所捕获的先前图像中的特征的比较而确定的一或多个度量,且所述比较可基于针对所述当前图像所估计的相机姿势。在一些实施例中,可至少部分地基于针对先前图像获得的相机姿势且基于当前图像中的目标对象的估计地点来获得为当前图像估计的相机姿势。一或多个度量可包括以下各项中的至少一者:当前图像与先前图像之间的特征匹配的数目;相对于当前图像与先前图像之间的特征匹配的预期数目的特征匹配比例;或当前图像与先前图像之间的特征点匹配的平均归一化互相关(NCC)得分。
接下来,在步骤620中,可至少部分地基于所述得分与至少一个点阈值和至少一个线阈值的比较,来选择基于点、基于边缘,或组合的基于点和边缘的特征对应性方法中的一者,其中所述至少一个点阈值和所述至少一个线阈值是从所述目标的模型获得。在一些实施例中,所述至少一个点阈值可提供所述模型对基于点的特征跟踪的适合性的指示,且所述至少一个线阈值可提供所述模型对基于线的特征跟踪的适合性的指示。
在一些实施例中,可使用选定的特征对应性方法来确定当前图像与至少一个模型图像之间的特征对应性,其中可基于所估计的相机姿势来选择模型图像。可接着通过使用经加权最小平方近似,基于在当前图像与至少一个模型图像之间获得的特征对应性来细化所估计的相机姿势。
在一些实施例中,所述目标的模型可包括所述目标对象的多个所存储的图像。在一些实施例中,所述目标对象的每一所存储的图像可包括多个图像细分部,且每一图像细分部可与点特征的计数和边缘特征的计数相关联。此外,至少一个点阈值和至少一个线阈值可至少部分地基于与可见区中的每一图像细分部相关联的点特征的计数和边缘特征的计数,从模型的可见区获得,其中所述模型的可见区对应于当前图像。在一些实施例中,每一图像细分部可呈通过将模型中的每一图像细分成多个网格而获得的网格的形式。
在目标的模型包括所述目标的多个所存储图像(其各自具有多个图像细分部)的实施例中,一或多个度量可进一步基于:当前和先前图像之间的点匹配的空间分布的均一性。
提供对所揭示方面的先前描述是为了使所属领域的任何技术人员都能够制造或使用本发明。所属领域的技术人员将容易明白对这些方面的各种修改,且在不脱离本发明的精神或范围的情况下,本文中所界定的一般原理可应用于其它方面。
Claims (30)
1.一种对象跟踪的方法,其包括:
为包括目标对象的相机所捕获当前图像计算得分,所述得分至少部分地基于从所述相机所捕获的所述当前图像和先前图像中的特征的比较确定的一或多个度量,且其中所述比较是基于针对所述当前图像的所估计的相机姿势;以及
至少部分地基于所述得分与至少一个点阈值和至少一个线阈值的比较,选择基于点、基于边缘,或组合的基于点和边缘的特征对应性方法中的一者,所述至少一个点阈值及所述至少一个线阈值是从所述目标的模型获得的。
2.根据权利要求1所述的方法,其中所述一或多个度量包括以下各项中的至少一者:
所述当前图像与所述先前图像之间的特征匹配的数目;
相对于所述当前图像与所述先前图像之间的特征匹配的预期数目的特征匹配比例;或
所述当前图像与所述先前图像之间的特征点匹配的平均归一化互相关NCC得分。
3.根据权利要求1所述的方法,其中所述目标的所述模型包括所述目标对象的多个所存储的图像。
4.根据权利要求3所述的方法,其进一步包括:
使用选定的所述特征对应性方法来确定所述当前图像与至少一个模型图像之间的特征对应性,基于所述所估计的相机姿势来选择所述模型图像,以及
通过使用经加权最小平方近似,基于在所述当前图像与所述至少一个模型图像之间获得的所述特征对应性来细化所述所估计的相机姿势。
5.根据权利要求3所述的方法,其中:
所述目标对象的每一所存储的图像包括多个图像细分部,每一图像细分部与点特征的计数和边缘特征的计数相关联,且
其中所述至少一个点阈值和所述至少一个线阈值是至少部分地基于与所述模型的可见区中的每一图像细分部相关联的点特征的所述计数和边缘特征的所述计数,从所述可见区获得,其中所述模型的所述可见区对应于所述当前图像。
6.根据权利要求5所述的方法,其中所述每一图像细分部为通过将所述模型中的每一图像细分成多个网格而获得的网格。
7.根据权利要求5所述的方法,其中所述一或多个度量包括:
所述当前和所述先前图像之间的点匹配的空间分布的均一性;
所述当前和所述先前图像之间的良好匹配的数目;
所述当前和所述先前图像之间的不良匹配的数目;
相对于所述当前图像与所述先前图像之间的特征匹配的预期数目的特征匹配比例;或
所述当前图像与所述先前图像之间的特征点匹配的平均归一化互相关NCC得分。
8.根据权利要求1所述的方法,其中至少部分地基于针对所述先前图像获得的先前相机姿势且基于所述当前图像中的所述目标对象的所估计地点,获得所述当前图像的所述所估计的相机姿势。
9.根据权利要求1所述的方法,其中:
所述至少一个点阈值提供所述模型对基于点的特征跟踪的适合性的指示,且
所述至少一个线阈值提供所述模型对基于线的特征跟踪的适合性的指示。
10.一种用户装置UD,其包括:
相机,其经配置以捕获包括目标对象的多个图像,
存储器,其经配置以存储所述目标对象的模型;以及
处理器,其耦合到所述相机和所述存储器,所述处理器经配置以:
为所述相机所捕获当前图像计算得分,所述得分至少部分地基于从所述相机所捕获的所述当前图像和先前图像中的特征的比较确定的一或多个度量,且其中所述比较是基于针对所述当前图像的所估计的相机姿势;以及
至少部分地基于所述得分与至少一个点阈值和至少一个线阈值的比较,选择基于点、基于边缘,或组合的基于点和边缘的特征对应性方法中的一者,所述至少一个点阈值及所述至少一个线阈值是从所述目标对象的所述模型获得的。
11.根据权利要求10所述的UD,其中所述一或多个度量包括以下各项中的至少一者:
所述当前图像与所述先前图像之间的特征匹配的数目;
相对于所述当前图像与所述先前图像之间的匹配的预期数目的特征匹配比例;或
所述当前图像与所述先前图像之间的特征点匹配的平均归一化互相关NCC得分。
12.根据权利要求10所述的UD,其中所述目标对象的所述模型包括所述目标对象的多个所存储的图像。
13.根据权利要求12所述的UD,其中所述处理器进一步经配置以:
使用选定的所述特征对应性方法来确定所述当前图像与至少一个模型图像之间的特征对应性,基于所述所估计的相机姿势来选择所述模型图像,以及
通过使用经加权最小平方近似,基于在所述当前图像与所述至少一个模型图像之间获得的所述特征对应性来细化所述所估计的相机姿势。
14.根据权利要求12所述的UD,其中:
所述目标对象的所述多个所存储的图像中的每一者包括多个图像细分部,且每一图像细分部与点特征的计数和边缘特征的计数相关联,且
其中所述处理器进一步经配置以:
至少部分地基于与所述模型的可见区中的每一图像细分部相关联的点特征的所述计数和边缘特征的所述计数,从所述可见区获得所述至少一个点阈值和所述至少一个线阈值,所述模型的所述可见区对应于所述当前图像。
15.根据权利要求14所述的UD,其中所述每一图像细分部为通过将所述模型中的每一图像细分成多个网格而获得的网格。
16.根据权利要求14所述的UD,其中度量包括:
所述当前和所述先前图像之间的特征点匹配的空间分布的均一性;
所述当前图像与所述先前图像之间的特征匹配的数目;
相对于所述当前图像与所述先前图像之间的特征匹配的预期数目的特征匹配比例;或
所述当前图像与所述先前图像之间的特征点匹配的平均归一化互相关NCC得分。
17.根据权利要求10所述的UD,其中所述处理器进一步经配置以:
至少部分地基于针对所述先前图像获得的先前相机姿势且基于所述当前图像中的所述目标对象的所估计地点,为所述当前图像确定所述所估计的相机姿势。
18.根据权利要求10所述的UD,其中:
所述至少一个点阈值提供所述模型对基于点的特征跟踪的适合性的指示,且
所述至少一个线阈值提供所述模型对基于边缘的特征跟踪的适合性的指示。
19.一种对象跟踪的设备,其包括:
成像装置,其用于捕获包括目标对象的多个图像;
存储装置,其用于存储所述目标对象的模型,所述存储装置耦合到所述成像装置;
用于为所述成像装置所捕获的当前图像计算得分的装置,所述得分至少部分地基于从所述成像装置所捕获的所述当前图像和先前图像中的特征的比较确定的一或多个度量,且其中所述比较是基于所述当前图像的所估计的成像装置姿势;以及
用于至少部分地基于所述得分与至少一个点阈值和至少一个线阈值的比较,选择基于点、基于边缘,或组合的基于点和边缘的特征对应性方法中的一者的装置,所述至少一个点阈值以及所述至少一个线阈值是从所述目标对象的所述所存储的模型获得的。
20.根据权利要求19所述的设备,其中所述一或多个度量包括以下各项中的至少一者:
所述当前图像与所述先前图像之间的特征匹配的数目;
相对于所述当前图像与所述先前图像之间的匹配的预期数目的特征匹配比例;或
所述当前图像与所述先前图像之间的点匹配的平均归一化互相关NCC得分。
21.根据权利要求19所述的设备,其中所述目标对象的所述模型包括所述目标对象的多个图像。
22.根据权利要求21所述的设备,其进一步包括:
用于使用选定的所述特征对应性方法来确定所述当前图像与至少一个模型图像之间的特征对应性的装置,基于所述所估计的成像装置姿势来选择所述模型图像,以及
用于通过使用经加权最小平方近似,基于在所述当前图像与所述至少一个模型图像之间获得的所述特征对应性来细化所述所估计的成像装置姿势的装置。
23.根据权利要求21所述的设备,其中:
所述目标对象的所述多个图像中的每一者包括多个图像细分部,每一图像细分部与点特征的计数和边缘特征的计数相关联,且
其中所述设备进一步包括:
用于至少部分地基于与所述模型的可见区中的每一图像细分部相关联的点特征的所述计数和边缘特征的所述计数,从所述可见区获得所述至少一个点阈值和所述至少一个线阈值的装置,所述模型的所述可见区对应于所述当前图像。
24.根据权利要求23所述的设备,其中度量包括:
所述当前和所述先前图像之间的特征点匹配的空间分布的均一性;
所述当前图像与所述先前图像之间的特征匹配的数目;
相对于所述当前图像与所述先前图像之间的特征匹配的预期数目的特征匹配比例;或
所述当前图像与所述先前图像之间的特征点匹配的平均归一化互相关NCC得分。
25.一种包括指令的非暂时性计算机可读媒体,所述指令在由处理器执行时,实施方法中的步骤,所述步骤包括:
为包括目标对象的相机所捕获当前图像计算得分,所述得分至少部分地基于从所述相机所捕获的所述当前图像和先前图像中的特征的比较确定的一或多个度量,且其中所述比较是基于针对所述当前图像的所估计的相机姿势;以及
至少部分地基于所述得分与至少一个点阈值和至少一个线阈值的比较,选择基于点、基于边缘,或组合的基于点和边缘的特征对应性方法中的一者,所述至少一个点阈值及所述至少一个线阈值是从所述目标对象的模型获得的。
26.根据权利要求25所述的计算机可读媒体,其中度量包括以下各项中的至少一者:
所述当前图像与所述先前图像之间的特征匹配的数目;
相对于所述当前图像与所述先前图像之间的特征匹配的预期数目的特征匹配比例;或
所述当前图像与所述先前图像之间的特征点匹配的平均归一化互相关NCC得分。
27.根据权利要求25所述的计算机可读媒体,其中所述模型包括所述目标对象的多个所存储的图像。
28.根据权利要求27所述的计算机可读媒体,其进一步包括:
使用选定的所述特征对应性方法来确定所述当前图像与至少一个模型图像之间的特征对应性,基于所述所估计的相机姿势来选择所述模型图像,以及
通过使用经加权最小平方近似,基于在所述当前图像与所述至少一个模型图像之间获得的所述特征对应性来细化所述所估计的相机姿势。
29.根据权利要求27所述的计算机可读媒体,其中:
每一所存储的图像包括多个图像细分部,每一图像细分部与点特征的计数和边缘特征的计数相关联,且
其中所述至少一个点阈值和所述至少一个线阈值是至少部分地基于与所述模型的可见区中的每一图像细分部相关联的点特征的所述计数和边缘特征的所述计数,从所述可见区获得,其中所述模型的所述可见区对应于所述当前图像。
30.根据权利要求29所述的计算机可读媒体,其中所述一或多个度量包括:
所述当前图像与所述先前图像之间的点匹配的空间分布的均一性;
所述当前图像与所述先前图像之间的特征匹配的数目;
相对于所述当前图像与所述先前图像之间的特征匹配的预期数目的特征匹配比例;或
所述当前图像与所述先前图像之间的点匹配的平均归一化互相关NCC得分。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361835402P | 2013-06-14 | 2013-06-14 | |
US61/835,402 | 2013-06-14 | ||
US14/278,928 US9406137B2 (en) | 2013-06-14 | 2014-05-15 | Robust tracking using point and line features |
US14/278,928 | 2014-05-15 | ||
PCT/US2014/038461 WO2014200665A1 (en) | 2013-06-14 | 2014-05-16 | Robust tracking using point and line features |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105283905A CN105283905A (zh) | 2016-01-27 |
CN105283905B true CN105283905B (zh) | 2018-03-09 |
Family
ID=52018894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480033435.4A Active CN105283905B (zh) | 2013-06-14 | 2014-05-16 | 使用点和线特征的稳健跟踪 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9406137B2 (zh) |
EP (1) | EP3008695B1 (zh) |
JP (1) | JP6125100B2 (zh) |
KR (1) | KR101722654B1 (zh) |
CN (1) | CN105283905B (zh) |
WO (1) | WO2014200665A1 (zh) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9135646B2 (en) * | 2013-10-09 | 2015-09-15 | Ricoh Company, Ltd. | Associating advertising content with a channel |
CN107004276A (zh) * | 2014-07-03 | 2017-08-01 | A·古曼 | 从一对图像中觉察3d结构的方法 |
JP6723798B2 (ja) * | 2015-05-20 | 2020-07-15 | キヤノン株式会社 | 情報処理装置、方法、プログラム |
US10282591B2 (en) | 2015-08-24 | 2019-05-07 | Qualcomm Incorporated | Systems and methods for depth map sampling |
US9849591B2 (en) * | 2015-10-02 | 2017-12-26 | X Development Llc | Localization of a robot in an environment using detected edges of a camera image from a camera of the robot and detected edges derived from a three-dimensional model of the environment |
US10260862B2 (en) * | 2015-11-02 | 2019-04-16 | Mitsubishi Electric Research Laboratories, Inc. | Pose estimation using sensors |
US10217231B2 (en) * | 2016-05-31 | 2019-02-26 | Microsoft Technology Licensing, Llc | Systems and methods for utilizing anchor graphs in mixed reality environments |
US10290111B2 (en) * | 2016-07-26 | 2019-05-14 | Qualcomm Incorporated | Systems and methods for compositing images |
JP2018036901A (ja) * | 2016-08-31 | 2018-03-08 | 富士通株式会社 | 画像処理装置、画像処理方法および画像処理プログラム |
WO2018144929A1 (en) * | 2017-02-02 | 2018-08-09 | Infatics, Inc. (DBA DroneDeploy) | System and methods for improved aerial mapping with aerial vehicles |
US11048325B2 (en) | 2017-07-10 | 2021-06-29 | Samsung Electronics Co., Ltd. | Wearable augmented reality head mounted display device for phone content display and health monitoring |
CN108021921A (zh) * | 2017-11-23 | 2018-05-11 | 塔普翊海(上海)智能科技有限公司 | 图像特征点提取系统及其应用 |
WO2019118886A1 (en) | 2017-12-15 | 2019-06-20 | Magic Leap, Inc. | Enhanced pose determination for display device |
WO2019194561A1 (ko) * | 2018-04-03 | 2019-10-10 | 한국과학기술원 | 이동형 단말기에서의 증강 현실을 제공하기 위한 위치 인식 방법 및 시스템 |
US10964053B2 (en) * | 2018-07-02 | 2021-03-30 | Microsoft Technology Licensing, Llc | Device pose estimation using 3D line clouds |
CN109059941B (zh) * | 2018-07-06 | 2019-11-29 | 禾多科技(北京)有限公司 | 特征地图构建方法、视觉定位方法及对应装置 |
US10848664B2 (en) * | 2018-07-26 | 2020-11-24 | Sony Corporation | Image capture device and method for image score-based video quality enhancement |
CN112805750A (zh) | 2018-08-13 | 2021-05-14 | 奇跃公司 | 跨现实系统 |
CN108709560A (zh) * | 2018-08-15 | 2018-10-26 | 苏州中研讯科智能科技有限公司 | 基于直线段特征的载运机器人高精度定位导航方法 |
CN113196209A (zh) | 2018-10-05 | 2021-07-30 | 奇跃公司 | 在任何位置渲染位置特定的虚拟内容 |
US10839556B2 (en) | 2018-10-23 | 2020-11-17 | Microsoft Technology Licensing, Llc | Camera pose estimation using obfuscated features |
CN109712170B (zh) * | 2018-12-27 | 2021-09-07 | 广东省智能制造研究所 | 基于视觉惯性里程计的环境对象追踪方法和装置 |
JP2022551735A (ja) | 2019-10-15 | 2022-12-13 | マジック リープ, インコーポレイテッド | 無線フィンガプリントを用いたクロスリアリティシステム |
JP2022551733A (ja) | 2019-10-15 | 2022-12-13 | マジック リープ, インコーポレイテッド | 位置特定サービスを伴うクロスリアリティシステム |
CN114730546A (zh) | 2019-11-12 | 2022-07-08 | 奇跃公司 | 具有定位服务和基于位置的共享内容的交叉现实系统 |
US11562542B2 (en) | 2019-12-09 | 2023-01-24 | Magic Leap, Inc. | Cross reality system with simplified programming of virtual content |
WO2021163306A1 (en) | 2020-02-13 | 2021-08-19 | Magic Leap, Inc. | Cross reality system with accurate shared maps |
JP2023514208A (ja) | 2020-02-13 | 2023-04-05 | マジック リープ, インコーポレイテッド | マルチ分解能フレーム記述子を使用したマップ処理を伴うクロスリアリティシステム |
US11830149B2 (en) * | 2020-02-13 | 2023-11-28 | Magic Leap, Inc. | Cross reality system with prioritization of geolocation information for localization |
CN115461787A (zh) | 2020-02-26 | 2022-12-09 | 奇跃公司 | 具有快速定位的交叉现实系统 |
US11900547B2 (en) | 2020-04-29 | 2024-02-13 | Magic Leap, Inc. | Cross reality system for large scale environments |
KR20230098944A (ko) * | 2021-12-27 | 2023-07-04 | 주식회사 버넥트 | 모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법 |
CN115690205B (zh) * | 2022-10-09 | 2023-12-05 | 北京自动化控制设备研究所 | 基于点线综合特征的视觉相对位姿测量误差估计方法 |
CN116436543B (zh) * | 2023-06-14 | 2023-08-25 | 四川恒湾科技有限公司 | 一种基于fdd系统中多失真源的无源交调校正方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001076151A (ja) * | 1999-09-08 | 2001-03-23 | Denso Corp | 画像情報に含まれる認識対象物の認識方法 |
JP2001101419A (ja) * | 1999-07-27 | 2001-04-13 | Matsushita Electric Works Ltd | 画像特徴追跡処理方法、画像特徴追跡処理装置、3次元データ作成方法 |
WO2004086301A2 (en) * | 2003-03-24 | 2004-10-07 | Siemens Corporate Research Inc. | System and method for vehicle detection and tracking |
CN101401127A (zh) * | 2006-03-23 | 2009-04-01 | Nds有限公司 | 用于运动分析的系统 |
WO2009063949A1 (ja) * | 2007-11-16 | 2009-05-22 | Nec Corporation | 対象領域判定装置 |
CN102184550A (zh) * | 2011-05-04 | 2011-09-14 | 华中科技大学 | 一种动平台地面运动目标检测方法 |
US8442305B2 (en) * | 2009-06-30 | 2013-05-14 | Mitsubishi Electric Research Laboratories, Inc. | Method for determining 3D poses using points and lines |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2001250802A1 (en) | 2000-03-07 | 2001-09-17 | Sarnoff Corporation | Camera pose estimation |
US20030012410A1 (en) * | 2001-07-10 | 2003-01-16 | Nassir Navab | Tracking and pose estimation for augmented reality using real features |
US7583275B2 (en) | 2002-10-15 | 2009-09-01 | University Of Southern California | Modeling and video projection for augmented virtual environments |
US7616807B2 (en) | 2005-02-24 | 2009-11-10 | Siemens Corporate Research, Inc. | System and method for using texture landmarks for improved markerless tracking in augmented reality applications |
NO327279B1 (no) | 2007-05-22 | 2009-06-02 | Metaio Gmbh | Kamerapositurestimeringsanordning og- fremgangsmate for foroket virkelighetsavbildning |
JP4956375B2 (ja) * | 2007-10-30 | 2012-06-20 | キヤノン株式会社 | 画像処理装置、画像処理方法 |
JP5253066B2 (ja) * | 2008-09-24 | 2013-07-31 | キヤノン株式会社 | 位置姿勢計測装置及び方法 |
FR2951565B1 (fr) | 2009-10-20 | 2016-01-01 | Total Immersion | Procede, programme d'ordinateur et dispositif de suivi hybride de representations d'objets, en temps reel, dans une sequence d'images |
US9317133B2 (en) | 2010-10-08 | 2016-04-19 | Nokia Technologies Oy | Method and apparatus for generating augmented reality content |
US20120092329A1 (en) | 2010-10-13 | 2012-04-19 | Qualcomm Incorporated | Text-based 3d augmented reality |
-
2014
- 2014-05-15 US US14/278,928 patent/US9406137B2/en active Active
- 2014-05-16 KR KR1020167000670A patent/KR101722654B1/ko active IP Right Grant
- 2014-05-16 WO PCT/US2014/038461 patent/WO2014200665A1/en active Application Filing
- 2014-05-16 JP JP2016519514A patent/JP6125100B2/ja active Active
- 2014-05-16 CN CN201480033435.4A patent/CN105283905B/zh active Active
- 2014-05-16 EP EP14736497.0A patent/EP3008695B1/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001101419A (ja) * | 1999-07-27 | 2001-04-13 | Matsushita Electric Works Ltd | 画像特徴追跡処理方法、画像特徴追跡処理装置、3次元データ作成方法 |
JP2001076151A (ja) * | 1999-09-08 | 2001-03-23 | Denso Corp | 画像情報に含まれる認識対象物の認識方法 |
WO2004086301A2 (en) * | 2003-03-24 | 2004-10-07 | Siemens Corporate Research Inc. | System and method for vehicle detection and tracking |
CN101401127A (zh) * | 2006-03-23 | 2009-04-01 | Nds有限公司 | 用于运动分析的系统 |
WO2009063949A1 (ja) * | 2007-11-16 | 2009-05-22 | Nec Corporation | 対象領域判定装置 |
US8442305B2 (en) * | 2009-06-30 | 2013-05-14 | Mitsubishi Electric Research Laboratories, Inc. | Method for determining 3D poses using points and lines |
CN102184550A (zh) * | 2011-05-04 | 2011-09-14 | 华中科技大学 | 一种动平台地面运动目标检测方法 |
Non-Patent Citations (6)
Title |
---|
Change detection and tracking using pyramids transformation techniques;Anderson C等;《Proc SPIE Conference on Intelligent Robots and Computer Vision》;19851231;第72-78页 * |
Efficient mobile museum guidance system using augmented reality;JIHYUN OH等;《CONSUMER ELECTRONICS》;20080414;第1-4页 * |
Providing guidance for maintenance operations using automatic markerless augmented reality system;HUGO ALVAREZ等;《ISMR》;20111026;第181-190页 * |
Vehicle-type motion estimation by the fusion of image point and line features;PEI SC等;《PATTERN RECOGNITION》;19980301;第31卷(第3期);第333-344页 * |
序列立体图象三维运动物体定位与跟踪;张春森;《中国博士学位论文全文数据库 信息科技辑》;20041215(第04期);第22-23页,第39-42页,第54-60页 * |
立体视觉测量中的图像匹配策略研究;陈棣湘等;《光学技术》;20021231;第28卷(第5期);第392-394页 * |
Also Published As
Publication number | Publication date |
---|---|
EP3008695A1 (en) | 2016-04-20 |
KR20160019512A (ko) | 2016-02-19 |
WO2014200665A1 (en) | 2014-12-18 |
EP3008695B1 (en) | 2018-05-09 |
JP6125100B2 (ja) | 2017-05-10 |
JP2016521885A (ja) | 2016-07-25 |
US20140368645A1 (en) | 2014-12-18 |
CN105283905A (zh) | 2016-01-27 |
KR101722654B1 (ko) | 2017-04-03 |
US9406137B2 (en) | 2016-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105283905B (zh) | 使用点和线特征的稳健跟踪 | |
CN107105130B (zh) | 电子设备及其操作方法 | |
KR102003813B1 (ko) | 자동화된 3차원 모델 생성 | |
US9036943B1 (en) | Cloud-based image improvement | |
JP6348574B2 (ja) | 総体的カメラ移動およびパノラマカメラ移動を使用した単眼視覚slam | |
CN110036258B (zh) | 信息处理装置和信息处理方法 | |
US9402018B2 (en) | Distributing processing for imaging processing | |
JP5847924B2 (ja) | 拡張現実表現のための二次元画像取込み | |
US20190043216A1 (en) | Information processing apparatus and estimating method for estimating line-of-sight direction of person, and learning apparatus and learning method | |
WO2019007258A1 (zh) | 相机姿态信息的确定方法、装置、设备及存储介质 | |
WO2017095576A1 (en) | Method and system of curved object recognition using image matching for image processing | |
CN107567632A (zh) | 具有可跟踪性测量结果的关键点检测 | |
KR20150082379A (ko) | 단안 시각 slam 을 위한 고속 초기화 | |
US11527014B2 (en) | Methods and systems for calibrating surface data capture devices | |
US20240037763A1 (en) | Resilient Dynamic Projection Mapping System and Methods | |
KR101738572B1 (ko) | 뎁스 이미지를 이용한 마커리스 증강현실 데이터처리 디바이스 및 뎁스 이미지를 이용한 증강현실 데이터처리방법 | |
US9268408B2 (en) | Operating area determination method and system | |
WO2021136386A1 (zh) | 数据处理方法、终端和服务器 | |
WO2023236508A1 (zh) | 一种基于亿像素阵列式相机的图像拼接方法及系统 | |
US20130113952A1 (en) | Information processing apparatus, information processing method, and program | |
CN113838151A (zh) | 相机标定方法、装置、设备及介质 | |
CN111385481A (zh) | 图像处理方法及装置、电子设备及存储介质 | |
CN115393962A (zh) | 动作识别方法、头戴显示设备和存储介质 | |
US20150029351A1 (en) | Display method, image capturing method and electronic device | |
CN117011214A (zh) | 一种物体检测方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |