CN108510525A - 模板追踪方法、装置、增强现实系统及存储介质 - Google Patents
模板追踪方法、装置、增强现实系统及存储介质 Download PDFInfo
- Publication number
- CN108510525A CN108510525A CN201810290708.3A CN201810290708A CN108510525A CN 108510525 A CN108510525 A CN 108510525A CN 201810290708 A CN201810290708 A CN 201810290708A CN 108510525 A CN108510525 A CN 108510525A
- Authority
- CN
- China
- Prior art keywords
- image
- posture
- continuous acquisition
- template
- template picture
- 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
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000003190 augmentative effect Effects 0.000 title claims abstract description 13
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 115
- 238000009877 rendering Methods 0.000 claims description 22
- 230000007246 mechanism Effects 0.000 claims description 19
- 230000004927 fusion Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 8
- 230000008878 coupling Effects 0.000 claims description 8
- 238000010168 coupling process Methods 0.000 claims description 8
- 238000005859 coupling reaction Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 238000003384 imaging method Methods 0.000 claims 1
- 230000008439 repair process Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 238000007500 overflow downdraw method Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 241001062009 Indigofera Species 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000001447 compensatory effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000004438 eyesight Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- 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
- 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
- G06T7/248—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- 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/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/97—Determining parameters from multiple pictures
-
- 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/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- 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/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明提出一种模板追踪方法、装置、增强现实系统及计算机可读存储介质。其中模板追踪方法包括:预先设置模板图片;在连续采集图像中当前图像里匹配所述模板图片,其中连续采集图像是由摄像头采集的;使用追踪算法计算连续采集的图像中的当前图像里的模板图片的估计姿态;根据估计姿态使用匹配算法计算连续采集的图像中的当前图像里的模板图片的精确姿态;以及在未计算出当前图像里的模板图片的精确姿态的情况下返回估计姿态;在计算出当前图像里的模板图片的精确姿态的情况下返回精确姿态。本发明实施例提高了追踪的精度和速度,可应用于AR模板图追踪,使模型紧贴模板图片,让用户有更好的AR体验;对硬件要求低,降低使用门槛,扩大用户群体。
Description
技术领域
本发明涉及信息技术领域,尤其涉及一种模板追踪方法、装置、增强现实系统及计算机可读存储介质。
背景技术
现有技术的2D追踪算法有两种。一种是只有匹配算法,即对摄像头采集到的每一帧都做模板匹配。另一种是追踪加匹配的算法,这种算法往往有两个同步的线程,一个线程做追踪算法,另一个线程做匹配算法。输入一张图片,两个线程会同时启动,然后同时结束,最后融合两个线程的结果获得当前图片中模板图的姿态。
以上两种算法具有以下缺陷:对于只有匹配的的算法,往往计算速度较慢,而且算出的前后两帧间的姿态不平滑,不适用于AR(Augmented Reality,增强现实)模型展示;对于同步的匹配加追踪算法,受限于移动端处理器的性能,要么使用快速但效果不太好的匹配算法,使得追踪速度快但是姿态准确度低,要么使用速度较慢但是匹配效果好的匹配算法,这样姿态准确度高,但是速度慢。
发明内容
本发明实施例提供一种模板追踪方法、装置、增强现实系统及计算机可读存储介质,以至少解决现有技术中的一个或多个技术问题。
第一方面,本发明实施例提供了一种模板追踪方法,包括:预先设置模板图片;在连续采集图像中当前图像里匹配所述模板图片,其中,所述连续采集图像是由摄像头采集的;使用追踪算法计算所述连续采集的图像中的当前图像里的模板图片的估计姿态;根据所述估计姿态使用匹配算法计算所述连续采集图像中的当前图像里的模板图片的精确姿态;以及在未计算出所述当前图像里的模板图片的精确姿态的情况下返回所述估计姿态;在计算出所述当前图像里的模板图片的精确姿态的情况下返回所述精确姿态。
结合第一方面,本发明在第一方面的第一种实施方式中,在计算所述估计姿态和计算所述精确姿态之前,所述方法还包括:对所述连续采集的图像进行预处理,其中,所述预处理包括将所述当前图像转换成灰度图、对所述当前图像进行降采样处理和/或对所述当前图像进行去噪处理。
结合第一方面、第一方面的第一种实施方式,本发明在第一方面的第二种实施方式中,使用追踪算法计算所述连续采集的图像中的当前图像里的模板图片的估计姿态,以及根据所述估计姿态使用匹配算法计算所述连续采集图像中的当前图像里的模板图片的精确姿态,包括:以连续采集的N个图像为一个执行周期,在每个执行周期内,响应接收到所述连续采集的图像中的第n帧图像,若n=1,则使用所述追踪算法计算所述连续采集的图像中的所述当前图像里的模板图片的估计姿态,以及,使用所述匹配算法计算所述连续采集的图像中的所述当前图像里的模板图片的修正姿态;若N≥n>1,则使用所述追踪算法计算所述连续采集的图像中的所述当前图像里的模板图片的估计姿态;若n=N,则在计算出所述估计姿态和所述修正姿态之后,根据所述估计姿态和所述修正姿态计算所述连续采集的图像中的所述当前图像里的模板图片的精确姿态;其中,N为对所述采集图像执行匹配算法的时间与执行追踪算法的时间之比进行向上取整的值。
结合第一方面的第二种实施方式,本发明在第一方面的第三种实施方式中,根据所述估计姿态和所述修正姿态计算所述连续采集的图像中的当前图像里的模板图片的精确姿态,包括:将基于一个执行周期内的N个图像的所述估计姿态进行融合处理,用所述修正姿态修正所述融合处理后的估计姿态,得到所述连续采集的图像中的当前图像里的模板图片的精确姿态。
第二方面,本发明实施例提供了一种模板追踪装置,包括:模板设置单元,用于预先设置模板图片;模板图片匹配单元,用于在连续采集图像中当前图像里匹配所述模板图片,其中,所述连续采集图像是由摄像头采集的;追踪匹配单元,用于使用追踪算法计算所述连续采集的图像中的当前图像里的模板图片的估计姿态,以及,根据所述估计姿态使用匹配算法计算所述连续采集图像中的当前图像里的模板图片的精确姿态;返回单元,用于在未计算出所述当前图像里的模板图片的精确姿态的情况下返回所述估计姿态,在计算出所述当前图像里的模板图片的精确姿态的情况下返回所述精确姿态。
结合第二方面,本发明在第二方面的第一种实施方式中,还包括预处理单元,用于:在计算所述估计姿态和计算所述精确姿态之前,对所述连续采集的图像进行预处理,其中,所述预处理包括将所述当前图像转换成灰度图、对所述当前图像进行降采样处理和/或对所述当前图像进行去噪处理。
结合第二方面、第二方面的第一种实施方式,本发明在第二方面的第二种实施方式中,所述追踪匹配单元包括追踪子单元、匹配子单元和修正子单元;所述追踪匹配单元还用于:以连续采集的N个图像为一个执行周期,在每个执行周期内,响应接收到所述连续采集的图像中的第n帧图像,若n=1,调用所述追踪子单元和所述匹配子单元,所述追踪子单元用于使用所述追踪算法计算所述连续采集的图像中的所述当前图像里的模板图片的估计姿态,以及,由所述匹配子单元计算所述连续采集的图像中的当前图像里的模板图片的修正姿态;若N≥n>1,调用所述追踪子单元,所述追踪子单元用于使用所述追踪算法计算所述连续采集的图像中的所述当前图像里的模板图片的估计姿态;若n=N,则在计算出所述估计姿态和所述修正姿态之后,调用所述修正子单元,调用所述修正子单元用于根据所述估计姿态和所述修正姿态计算所述连续采集的图像中的所述当前图像里的模板图片的精确姿态;其中,N为对所述采集图像执行匹配算法的时间与执行追踪算法的时间之比进行向上取整计算的值。
结合第二方面的第二种实施方式,本发明在第二方面的第三种实施方式中,所述修正子单元还用于:将基于一个执行周期内的N个图像的所述估计姿态进行融合处理,用所述修正姿态修正所述融合处理后的估计姿态,得到所述连续采集的图像中的当前图像里的模板图片的精确姿态。
在一个可能的设计中,模板追踪装置的结构中包括处理器和存储器,所述存储器用于存储支持模板追踪装置执行上述第一方面中模板追踪方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。
第三方面,本发明实施例提供了一种增强现实系统,包括上述第二方面中任一项所述的模板追踪装置,以及渲染单元;所述渲染单元用于根据所述模板追踪装置返回的估计姿态和精确姿态渲染要展示的模型的姿态。
第四方面,本发明实施例提供了一种增强现实系统,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述第一方面中任一所述的方法。
第五方面,本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述第一方面任一所述的方法。
上述技术方案具有如下优点或有益效果:可以提高追踪的精度和速度,其可应用于AR的2D模板图追踪,在展示模型的过程中可使模型紧贴模板图片,让用户有更好的AR体验;此外,本发明实施例对硬件的要求更低,即使在低端机上也能流畅运行,从而降低使用门槛,扩大用户群体。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。
图1为本发明实施例的模板追踪方法的整体框架图;
图2为本发明提供的模板追踪方法的一种优选实施例的步骤流程图;
图3为本发明实施例的模板追踪和渲染的运行流程图;
图4为本发明提供的模板追踪方法的一种优选实施例的算法流程示意图;
图5为本发明实施例的模板追踪装置的整体框架图;
图6为本发明提供的模板追踪装置的一种优选实施例的结构示意图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
本发明实施例提供了一种模板追踪方法。图1为本发明实施例的模板追踪方法的整体框架图。如图1所示,本发明实施例的模板追踪方法,包括:步骤S110,预先设置模板图片;步骤S120,在连续采集图像中当前图像里匹配所述模板图片,其中,连续采集图像是由摄像头采集的;步骤S130,使用追踪算法计算所述连续采集的图像中的当前图像里的模板图片的估计姿态;步骤S135,根据所述估计姿态使用匹配算法计算所述连续采集图像中的当前图像里的模板图片的精确姿态;以及,步骤S140,在未计算出当前图像里的模板图片的精确姿态的情况下返回所述估计姿态;在计算出当前图像里的模板图片的精确姿态的情况下返回所述精确姿态。
模板匹配是在图像中寻找目标的方法之一,其基本原理是在一帧图像中寻找模板图片,模板图片是要在采集的图像中追踪的目标,寻找模板图片方法是预先把要跟踪的目标(即模板图片或模板图片的特征)保存好,然后在每一帧采集的图像来临的时候,在整个图像中匹配模板图片。
模板追踪可应用于AR系统。可预先存储2D图像作为模板图片,作为要跟踪的目标。在模板追踪和渲染的过程中,首先用手机摄像头连续采集图像,使用算法在连续采集的图像中追踪模板图片,获取模板图片的姿态,然后把要展示的3D模型根据姿态叠加到模板图上,以渲染3D模型的姿态。以上过程根据手机2D图像构造3D模型,用户通过改变手机和模板图之间的相对位置来查看3D模型。
本发明的实施例在未计算出当前图像里的模板图片的精确姿态的情况下返回所述估计姿态,即在匹配算法还没有计算出结果、没有得到精确姿态的情况下将得到的估计姿态立刻返回上层,而不必等待匹配算法的结果,因此保证了算法的帧率(运行速度);在计算出当前图像里的模板图片的精确姿态的情况下返回所述精确姿态,从而保证了跟踪的精度。
图2为本发明提供的模板追踪方法的一种优选实施例的步骤流程图。如图2所示,根据本发明数据融合方法的一种实施方式,在计算所述估计姿态和计算所述精确姿态之前,所述方法还包括步骤S125:对所述连续采集的图像进行预处理,其中,所述预处理包括将所述当前图像转换成灰度图、对所述当前图像进行降采样处理和/或对所述当前图像进行去噪处理。具体地,从手机摄像头采集到RGB图像,转换成灰度图,通常是把RGB转换成YUV图像后把Y层取出作为灰度图像,并做一些图像处理(如降采样、去噪等)后传给算法去计算模板图片的姿态。
其中,RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一;YUV色彩空间表示由亮度信号Y和两个色差信号B-Y(即U)、R-Y(即V)组成,采用YUV色彩空间的重要性是它的亮度信号Y和色度信号U、V是分离的。
图3为本发明实施例的模板追踪和渲染的运行流程图。如图3所示,一个完整的移动端2D模板追踪和渲染的过程包括:
步骤11:从手机摄像头采集到RGB图像,转换成灰度图(一般是把RGB转换成YUV图像后把Y层取出作为灰度图像),并做一些图像处理(如降采样、去噪等)后传给算法。
步骤12:算法(图3中所示的算法的细节流程如图4所示)计算出当前图像里模板图片的姿态(pose,即位置和旋转角度)传给渲染单元,用来渲染3D模型的姿态。具体地,可在系统中设置渲染引擎,把要展示的3D模型根据姿态叠加到模板图上,用户通过改变手机和模板图之间的相对位置来查看3D模型。
根据本发明数据融合方法的一种实施方式,使用追踪算法计算所述连续采集的图像中的当前图像里的模板图片的估计姿态,以及根据所述估计姿态使用匹配算法计算所述连续采集图像中的当前图像里的模板图片的精确姿态,包括:以连续采集的N个图像为一个执行周期,在每个执行周期内,响应接收到所述连续采集的图像中的第n帧图像,若n=1,则使用所述追踪算法计算所述连续采集的图像中的当前图像里的模板图片的估计姿态,以及,使用匹配算法计算所述连续采集的图像中的当前图像里的模板图片的修正姿态;若N≥n>1,则使用追踪算法计算所述连续采集的图像中的当前图像里的模板图片的估计姿态;若n=N,则在计算出所述估计姿态和所述修正姿态之后,根据所述估计姿态和所述修正姿态计算所述连续采集的图像中的当前图像里的模板图片的精确姿态;其中,N为对所述采集图像执行匹配算法的时间与执行追踪算法的时间之比进行向上取整计算的数值结果。
设匹配算法的执行时间为追踪算法的N倍,其中N不是整数的情况下做向上取整计算,也就是将N的值取整后再加1,这样保证在一个执行周期内,追踪算法执行完成N次之后,匹配算法执行完成一次,得到一个用于修正处理的修正姿态。在这种实施方式中,每一次追踪算法执行完成后,立刻将只基于追踪得到的姿态返回上层,给渲染引擎用来渲染3D模型的姿态,而不必等待匹配算法的结果,因此保证了算法的帧率(运行速度);在匹配算法执行完成一次之后,用匹配算法给出的姿态做修正,得到精确姿态,从而保证了跟踪的精度。
根据本发明数据融合方法的一种实施方式,根据所述估计姿态和所述修正姿态计算所述连续采集的图像中的当前图像里的模板图片的精确姿态,包括:将基于一个执行周期内的N个图像的所述估计姿态进行融合处理,用所述修正姿态修正所述融合处理后的估计姿态,得到所述连续采集的图像中的当前图像里的模板图片的精确姿态。具体的修正方法详见下文的修正公式。
图4为本发明提供的模板追踪方法的一种优选实施例的算法流程示意图。如图4所示,本发明施例的2D模板图追踪算法的细节流程包括步骤21、步骤22和步骤23。在步骤21之前预先设置“追踪”和“匹配”两个线程,分别用于执行追踪算法和匹配算法。其中,匹配算法是直接根据单张图片里的信息和模板图片的特征来检测模板图片在图像中的姿态,常用的算法有基于SURF(Speeded Up Robust Features,加速稳健特征),SIFT(Scale-invariantfeature transform,尺度不变特征变换)等描述符加RANSAC(Random Sample Consensus,随机抽样一致算法)估计射影变换的模板匹配算法;追踪算法是根据模板图片在上一帧里的位置,在当前帧对应位置附近小范围搜索并与上一帧配准来获得当前帧里目标图的姿态,常用的算法如用FAST(Features from accelerated segment test,加速分段测试特征)角点加二值描述符的方法。
步骤21的具体过程如下:将处理好的图像传给“追踪”和“匹配”两个线程。为了保证追踪精度,可选用精度高但速度较慢的匹配算法。由于追踪算法的速度比匹配算法快,追踪算法会先于匹配算法得到一个当前帧里模板图的估计姿态。为了保证算法的帧率(运行速度),将这个只基于追踪得到的姿态立刻返回上层,给渲染引擎用来渲染3D模型的姿态。
在步骤22中,假设匹配算法的执行时间为追踪算法的2~3倍,则匹配算法执行完成一次的时间内追踪算法执行完成了3次,将追踪算法执行完成了3次的时间作为一个执行周期。这种情况下图像采集的频率可参照追踪算法的执行频率,即在一个执行周期内连续采集3帧图像(如图4中所示的图像1、图像2、图像3),当图像1传来的时候,跟踪线程和匹配线程同时启动,这里将追踪线程针对图像1的执行过程称为“追踪1”。以此类推,将追踪线程针对图像2的执行过程称为“追踪2”,将追踪线程针对图像3的执行过程称为“追踪3”。将匹配线程针对图像1的执行过程称为“匹配1”。在上述步骤21中,首先由“追踪1”得到了图像1的估计姿态后立刻返回上层。
步骤22的具体过程如下:在“追踪1”返回姿态的同时,“匹配1”会继续根据模板匹配算法计算图像1里模板的修正姿态;当图像2传来的时候,跟踪线程再次启动计算图像2里模板的估计姿态,在“追踪2”返回姿态时,“匹配1”还会继续根据模板匹配算法计算图像1里模板的修正姿态;直到图像3传给追踪线程后“匹配1”才计算完成。假设基于“追踪1-3”获得的估计姿态是pose3c,输出给渲染引擎的姿态此时已经可以用匹配给出的修正姿态做修正。得到修正后的精确姿态pose3后,将此姿态返回给渲染引擎用于模型渲染。修正公式为:
pose3=pose3c*pose1′*pose1m
其中,pose表示姿态矩阵,矩阵的元素为位置和旋转角度;
pose1′为pose1的矩阵求逆,pose1为追踪1计算完成后算法返回上层的模板图片的姿态,pose2为追踪2计算完成后算法返回上层的模板图片的姿态,pose3为追踪3计算完成后算法返回上层的模板图片的姿态;
pose1m为“匹配1”计算得到的图像1里的模板图姿态(修正姿态);
pose1′*pose1m为补偿项,用于补偿追踪的累积误差,追踪的累积误差是由于噪音或者数据的小数位保留的位数不够等原因导致的;
pose3为修正后的精确姿态;
pose3c为基于追踪1、追踪2、追踪3获得的估计姿态矩阵,即pose1、pose2、pose3融合在一起得到的估计姿态矩阵,具体数据融合方法如下:
pose3c=poseΔ3c2*poseΔ21*pose1
其中,poseΔ21是由追踪算法计算到的图像2里模板图的姿态到图像1里模板图的相对姿态;poseΔ3c2是由追踪算法计算到的图像3里模板图的姿态到图像2里模板图的相对姿态。
上述关于图像1、图像2和图像3的处理是一个执行周期。一个执行周期结束之后,开始下一个执行周期,下一个执行周期将针对新获得的图像(图像4、图像5、图像6)进行处理。
步骤23:将新获得的图像(图像4、图像5、图像6)传给算法,此时追踪和匹配线程均空闲,因此两个线程同时启动,“追踪4”、“追踪5”、“追踪6”和“匹配4”执行上述对图像1、图像2和图像3一样的操作,相应线程的返回结果为pose4、pose5、pose4m、pose6,其中pose4、pose5、pose6是返回给上层的结果。
在图4中的步骤21中,由于只基于追踪得到的姿态会立刻返回上层,给渲染引擎用来渲染3D模型的姿态。也就是说,在图像1获取之后,即使用追踪算法计算出模板图的估计姿态,将得到的姿态会立刻返回上层,而不必等待匹配算法的结果,因此保证了算法的帧率(运行速度);
同理,在图像2获取之后,也使用追踪算法计算姿态并返回上层,同样不必等待匹配算法的结果。
在图像3获取之后,使用追踪算法计算姿态,这时匹配算法已经计算出图像1里模板的精确姿态,这时将基于追踪1、追踪2、追踪3获得的估计姿态矩阵融合在一起,用匹配给出的精确姿态做修正(使用上述步骤22中的修正公式),得到精确姿态。从而保证了跟踪的精度。
综上,采用本发明的方法有效提高了追踪的精度和速度。
另一方面,本发明实施例提供了一种模板追踪装置。图5为本发明实施例的模板追踪装置的整体框架图。如图5所示,本发明实施例的模板追踪装置包括:模板设置单元100,用于预先设置模板图片;模板图片匹配单元250,用于在连续采集图像中当前图像里匹配所述模板图片,其中,连续采集图像是由摄像头200采集的;追踪匹配单元300,用于使用追踪算法计算所述连续采集的图像中的当前图像里的模板图片的估计姿态,以及,根据所述估计姿态使用匹配算法计算所述连续采集图像中的当前图像里的模板图片的精确姿态;返回单元400,用于在未计算出当前图像里的模板图片的精确姿态的情况下返回所述估计姿态,在计算出当前图像里的模板图片的精确姿态的情况下返回所述精确姿态。
图6为本发明提供的模板追踪装置的一种优选实施例的结构示意图。如图6所示,根据本发明模板追踪装置的一种实施方式,还包括预处理单元250,用于:在计算所述估计姿态和计算所述精确姿态之前,对所述连续采集的图像进行预处理,其中,所述预处理包括将所述当前图像转换成灰度图、对所述当前图像进行降采样处理和/或对所述当前图像进行去噪处理。
根据本发明模板追踪装置的一种实施方式,所述追踪匹配单元300包括追踪子单元310、匹配子单元320和修正子单元330,所述追踪子单元310用于执行所述追踪算法,所述匹配子单元320用于执行所述匹配算法;所述追踪匹配单元300还用于:以连续采集的N个图像为一个执行周期,在每个执行周期内,响应接收到所述连续采集的图像中的第n帧图像,若n=1,调用所述追踪子单元310和所述匹配子单元320,所述追踪子单元310用于使用所述追踪算法计算所述连续采集的图像中的当前图像里的模板图片的估计姿态,以及,所述匹配子单元320用于使用所述匹配算法计算所述连续采集的图像中的当前图像里的模板图片的修正姿态;若N≥n>1,调用所述追踪子单元310,所述追踪子单元310用于使用所述追踪算法计算所述连续采集的图像中的当前图像里的模板图片的估计姿态;若n=N,则在计算出所述估计姿态和所述修正姿态之后,调用所述修正子单元330,调用所述修正子单元330用于根据所述估计姿态和所述修正姿态计算所述连续采集的图像中的当前图像里的模板图片的精确姿态;其中,N为对所述采集图像执行匹配算法的时间与执行追踪算法的时间之比进行向上取整计算的数值结果。
根据本发明模板追踪装置的一种实施方式,所述修正子单元330还用于:将基于一个执行周期内的N个图像的所述估计姿态进行融合处理,用所述修正姿态修正所述融合处理后的估计姿态,得到所述连续采集的图像中的当前图像里的模板图片的精确姿态。
在一个可能的设计中,模板追踪装置的结构中包括处理器和存储器,所述存储器用于存储支持模板追踪装置执行上述模板追踪方法中模板追踪方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。
又一方面,本发明实施例提供了一种增强现实系统,包括上述任一项所述的模板追踪装置,以及渲染单元;所述渲染单元用于根据所述模板追踪装置返回的估计姿态和精确姿态渲染要展示的模型的姿态。参见图3,在一种具体的实施方式中,在系统中设置渲染引擎,由算法计算出当前图像里模板图片的姿态传给渲染引擎,用来渲染3D模型的姿态。
再一方面,本发明实施例提供了一种增强现实系统,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述模板追踪方法中任一所述的方法。
再一方面,本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述模板追踪方法中任一所述的方法。
上述技术方案具有如下优点或有益效果:可以提高追踪的精度和速度,其可应用于AR的2D模板图追踪,在展示模型的过程中可使模型紧贴模板图片,让用户有更好的AR体验;此外,本发明实施例对硬件的要求更低,即使在低端机上也能流畅运行,从而降低使用门槛,扩大用户群体。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。其中装置实施方式与方法的实施方式相对应,因此装置的实施方式描述比较简略,相关描述可参照方法的实施方式的描述即可。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种模板追踪方法,其特征在于,包括:
预先设置模板图片;
在连续采集图像中当前图像里匹配所述模板图片,其中,所述连续采集图像是由摄像头采集的;
使用追踪算法计算所述连续采集的图像中的当前图像里的模板图片的估计姿态;
根据所述估计姿态使用匹配算法计算所述连续采集图像中的当前图像里的模板图片的精确姿态;以及
在未计算出所述当前图像里的模板图片的精确姿态的情况下返回所述估计姿态;在计算出所述当前图像里的模板图片的精确姿态的情况下返回所述精确姿态。
2.根据权利要求1所述的方法,其特征在于,在计算所述估计姿态和计算所述精确姿态之前,所述方法还包括:对所述连续采集的图像进行预处理,其中,所述预处理包括将所述当前图像转换成灰度图、对所述当前图像进行降采样处理和/或对所述当前图像进行去噪处理。
3.根据权利要求1或2所述的方法,其特征在于,使用追踪算法计算所述连续采集的图像中的当前图像里的模板图片的估计姿态,以及根据所述估计姿态使用匹配算法计算所述连续采集图像中的当前图像里的模板图片的精确姿态,包括:
以连续采集的N个图像为一个执行周期,在每个执行周期内,响应接收到所述连续采集的图像中的第n帧图像,
若n=1,则使用所述追踪算法计算所述连续采集的图像中的所述当前图像里的模板图片的估计姿态,以及,使用所述匹配算法计算所述连续采集的图像中的所述当前图像里的模板图片的修正姿态;
若N≥n>1,则使用所述追踪算法计算所述连续采集的图像中的所述当前图像里的模板图片的估计姿态;
若n=N,则在计算出所述估计姿态和所述修正姿态之后,根据所述估计姿态和所述修正姿态计算所述连续采集的图像中的所述当前图像里的模板图片的精确姿态;
其中,N为对所述采集图像执行匹配算法的时间与执行追踪算法的时间之比进行向上取整的值。
4.根据权利要求3所述的方法,其特征在于,根据所述估计姿态和所述修正姿态计算所述连续采集的图像中的当前图像里的模板图片的精确姿态,包括:
将基于一个执行周期内的N个图像的所述估计姿态进行融合处理,用所述修正姿态修正所述融合处理后的估计姿态,得到所述连续采集的图像中的当前图像里的模板图片的精确姿态。
5.一种模板追踪装置,其特征在于,包括:
模板设置单元,用于预先设置模板图片;
模板图片匹配单元,用于在连续采集图像中当前图像里匹配所述模板图片,其中,所述连续采集图像是由摄像头采集的;
追踪匹配单元,用于使用追踪算法计算所述连续采集的图像中的当前图像里的模板图片的估计姿态,以及,根据所述估计姿态使用匹配算法计算所述连续采集图像中的当前图像里的模板图片的精确姿态;
返回单元,用于在未计算出所述当前图像里的模板图片的精确姿态的情况下返回所述估计姿态,在计算出所述当前图像里的模板图片的精确姿态的情况下返回所述精确姿态。
6.根据权利要求5所述的装置,其特征在于,还包括预处理单元,用于:在计算所述估计姿态和计算所述精确姿态之前,对所述连续采集的图像进行预处理,其中,所述预处理包括将所述当前图像转换成灰度图、对所述当前图像进行降采样处理和/或对所述当前图像进行去噪处理。
7.根据权利要求5或6所述的装置,其特征在于,
所述追踪匹配单元包括追踪子单元、匹配子单元和修正子单元;
所述追踪匹配单元还用于:以连续采集的N个图像为一个执行周期,在每个执行周期内,响应接收到所述连续采集的图像中的第n帧图像,
若n=1,调用所述追踪子单元和所述匹配子单元,所述追踪子单元用于使用所述追踪算法计算所述连续采集的图像中的所述当前图像里的模板图片的估计姿态,以及,所述匹配子单元用于使用所述匹配算法计算所述连续采集的图像中的所述当前图像里的模板图片的修正姿态;
若N≥n>1,调用所述追踪子单元,所述追踪子单元用于使用所述追踪算法计算所述连续采集的图像中的所述当前图像里的模板图片的估计姿态;
若n=N,则在计算出所述估计姿态和所述修正姿态之后,调用所述修正子单元,调用所述修正子单元用于根据所述估计姿态和所述修正姿态计算所述连续采集的图像中的所述当前图像里的模板图片的精确姿态;
其中,N为对所述采集图像执行匹配算法的时间与执行追踪算法的时间之比进行向上取整的值。
8.根据权利要求7所述的装置,其特征在于,所述修正子单元还用于:将基于一个执行周期内的N个图像的所述估计姿态进行融合处理,用所述修正姿态修正所述融合处理后的估计姿态,得到所述连续采集的图像中的当前图像里的模板图片的精确姿态。
9.一种增强现实系统,其特征在于,包括如权利要求5-8中任一项所述的模板追踪装置,以及渲染单元;
所述渲染单元用于根据所述模板追踪装置返回的估计姿态和精确姿态渲染要展示的模型的姿态。
10.一种增强现实系统,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-4中任一所述的方法。
11.一种计算机可读存储介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810290708.3A CN108510525B (zh) | 2018-03-30 | 2018-03-30 | 模板追踪方法、装置、增强现实系统及存储介质 |
US16/150,673 US10796451B2 (en) | 2018-03-30 | 2018-10-03 | Object tracking method, device, augmented reality system and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810290708.3A CN108510525B (zh) | 2018-03-30 | 2018-03-30 | 模板追踪方法、装置、增强现实系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108510525A true CN108510525A (zh) | 2018-09-07 |
CN108510525B CN108510525B (zh) | 2019-03-12 |
Family
ID=63380086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810290708.3A Active CN108510525B (zh) | 2018-03-30 | 2018-03-30 | 模板追踪方法、装置、增强现实系统及存储介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10796451B2 (zh) |
CN (1) | CN108510525B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111784769A (zh) * | 2019-04-04 | 2020-10-16 | 舜宇光学(浙江)研究院有限公司 | 基于模板的空间定位方法、空间定位装置,电子设备及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104952063A (zh) * | 2014-03-25 | 2015-09-30 | Metaio有限公司 | 用于在真实环境的视图中表示虚拟对象的方法和系统 |
WO2016029939A1 (en) * | 2014-08-27 | 2016-03-03 | Metaio Gmbh | Method and system for determining at least one image feature in at least one image |
CN105809144A (zh) * | 2016-03-24 | 2016-07-27 | 重庆邮电大学 | 一种采用动作切分的手势识别系统和方法 |
CN106843493A (zh) * | 2017-02-10 | 2017-06-13 | 深圳前海大造科技有限公司 | 一种图像追踪方法及应用该方法的扩增实境实现方法 |
CN106875431A (zh) * | 2017-02-10 | 2017-06-20 | 深圳前海大造科技有限公司 | 具有移动预测的图像追踪方法及扩增实境实现方法 |
CN107168619A (zh) * | 2017-03-29 | 2017-09-15 | 腾讯科技(深圳)有限公司 | 用户生成内容处理方法和装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6940545B1 (en) * | 2000-02-28 | 2005-09-06 | Eastman Kodak Company | Face detecting camera and method |
DE102009049073A1 (de) * | 2009-10-12 | 2011-04-21 | Metaio Gmbh | Verfahren zur Darstellung von virtueller Information in einer Ansicht einer realen Umgebung |
US8582829B2 (en) * | 2010-11-03 | 2013-11-12 | Gary S. Shuster | Online identity verification |
US10133950B2 (en) | 2011-03-04 | 2018-11-20 | Qualcomm Incorporated | Dynamic template tracking |
JP5872923B2 (ja) | 2012-02-22 | 2016-03-01 | 株式会社マイクロネット | Ar画像処理装置及び方法 |
US9996150B2 (en) * | 2012-12-19 | 2018-06-12 | Qualcomm Incorporated | Enabling augmented reality using eye gaze tracking |
US9830503B1 (en) * | 2014-12-31 | 2017-11-28 | Morphotrust Usa, Llc | Object detection in videos |
US10755422B2 (en) * | 2017-07-24 | 2020-08-25 | Htc Corporation | Tracking system and method thereof |
-
2018
- 2018-03-30 CN CN201810290708.3A patent/CN108510525B/zh active Active
- 2018-10-03 US US16/150,673 patent/US10796451B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104952063A (zh) * | 2014-03-25 | 2015-09-30 | Metaio有限公司 | 用于在真实环境的视图中表示虚拟对象的方法和系统 |
WO2016029939A1 (en) * | 2014-08-27 | 2016-03-03 | Metaio Gmbh | Method and system for determining at least one image feature in at least one image |
CN105809144A (zh) * | 2016-03-24 | 2016-07-27 | 重庆邮电大学 | 一种采用动作切分的手势识别系统和方法 |
CN106843493A (zh) * | 2017-02-10 | 2017-06-13 | 深圳前海大造科技有限公司 | 一种图像追踪方法及应用该方法的扩增实境实现方法 |
CN106875431A (zh) * | 2017-02-10 | 2017-06-20 | 深圳前海大造科技有限公司 | 具有移动预测的图像追踪方法及扩增实境实现方法 |
CN107168619A (zh) * | 2017-03-29 | 2017-09-15 | 腾讯科技(深圳)有限公司 | 用户生成内容处理方法和装置 |
Non-Patent Citations (1)
Title |
---|
王月 等,: ""基于模型的增强现实无标识三维注册追踪方法"", 《上海交通大学学报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111784769A (zh) * | 2019-04-04 | 2020-10-16 | 舜宇光学(浙江)研究院有限公司 | 基于模板的空间定位方法、空间定位装置,电子设备及计算机可读存储介质 |
CN111784769B (zh) * | 2019-04-04 | 2023-07-04 | 舜宇光学(浙江)研究院有限公司 | 基于模板的空间定位方法、空间定位装置,电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20190304135A1 (en) | 2019-10-03 |
US10796451B2 (en) | 2020-10-06 |
CN108510525B (zh) | 2019-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021088473A1 (en) | Image super-resolution reconstruction method, image super-resolution reconstruction apparatus, and computer-readable storage medium | |
Kim et al. | Robust radiometric calibration and vignetting correction | |
Brauers et al. | Multispectral filter-wheel cameras: Geometric distortion model and compensation algorithms | |
WO2018161775A1 (zh) | 一种用于图像处理的神经网络模型的训练方法、装置和存储介质 | |
Tursun et al. | The state of the art in HDR deghosting: A survey and evaluation | |
Marzotto et al. | High resolution video mosaicing with global alignment | |
CN109064409B (zh) | 一种移动机器人的视觉图像拼接系统及方法 | |
CN106030653B (zh) | 用于生成高动态范围图像的图像处理系统和图像处理方法 | |
CN105049718A (zh) | 一种图像处理方法及终端 | |
CN106997579B (zh) | 图像拼接的方法和装置 | |
CN112270688B (zh) | 一种前景提取方法、装置、设备及存储介质 | |
KR20180122548A (ko) | 이미지를 처리하는 방법 및 장치 | |
JPWO2010095460A1 (ja) | 画像処理システム、画像処理方法および画像処理プログラム | |
CN110136083A (zh) | 一种结合交互式的底图更新方法及装置 | |
CN107451976A (zh) | 一种图像处理方法及装置 | |
CN113744256A (zh) | 一种深度图空洞填充方法、装置、服务器及可读存储介质 | |
CN114926514B (zh) | 一种事件图像与rgb图像的配准方法及装置 | |
CN113395440A (zh) | 一种图像处理方法及电子设备 | |
Joze et al. | White patch gamut mapping colour constancy | |
Hwang et al. | Probabilistic moving least squares with spatial constraints for nonlinear color transfer between images | |
CN109166075A (zh) | 一种针对小重合区域图像拼接方法 | |
CN108510525B (zh) | 模板追踪方法、装置、增强现实系统及存储介质 | |
JP2018137636A (ja) | 画像処理装置及び画像処理プログラム | |
CN113298707B (zh) | 图像帧拼接方法、视频巡检方法、装置、设备及存储介质 | |
Concha et al. | An evaluation of robust cost functions for RGB direct mapping |
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 |