[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN108062776B - 相机姿态跟踪方法和装置 - Google Patents

相机姿态跟踪方法和装置 Download PDF

Info

Publication number
CN108062776B
CN108062776B CN201810005054.5A CN201810005054A CN108062776B CN 108062776 B CN108062776 B CN 108062776B CN 201810005054 A CN201810005054 A CN 201810005054A CN 108062776 B CN108062776 B CN 108062776B
Authority
CN
China
Prior art keywords
camera
posture
tracking
trigger
matching
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
Application number
CN201810005054.5A
Other languages
English (en)
Other versions
CN108062776A (zh
Inventor
林�源
张永杰
陈思利
章宏武
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201810005054.5A priority Critical patent/CN108062776B/zh
Publication of CN108062776A publication Critical patent/CN108062776A/zh
Priority to US16/145,540 priority patent/US10964049B2/en
Application granted granted Critical
Publication of CN108062776B publication Critical patent/CN108062776B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)
  • Studio Devices (AREA)

Abstract

本发明提供一种相机姿态跟踪方法,所述相机姿态跟踪方法包括:S101:获取触发物的图像;S102:根据所述触发物的图像,通过特征点法,获得相机的匹配姿态;S103:根据所述触发物的图像,通过直接法,获得相机的跟踪姿态;和S104:基于所述匹配姿态和跟踪姿态,获取所述相机的姿态。

Description

相机姿态跟踪方法和装置
技术领域
本发明大致涉及计算机视觉领域,尤其是涉及一种相机姿态跟踪方法和装置。
背景技术
计算机视觉是当前工业和科研的热点领域。以增强现实(Augmented Reality,AR)为例,是虚拟现实(Virtual Reality,VR)的一种变化形式,能够让用户看到真实世界,并且将虚拟的物体叠加或者组合到真实世界中,因此是一种可以将虚拟世界和真实世界融合在一起的技术。
在增强现实领域内,需要对相机的姿态进行实时估计,确保实时性、稳定性和鲁棒性。例如,针对特定的平面触发物(marker)跟踪,获得拍摄该图像的相机姿态。该跟踪触发物的方法可以用于增强现实(AR)追踪相机姿态。该姿态可以直接用于AR的虚拟物体渲染。类似室内导航、AR广告投放、AR明星互动都可以用该项技术实现。
其中,触发物指用于触发并用于AR的固定平面触发物,可以是海报、展板、书、地贴等平面物体。
目前,基于固定触发物的跟踪大多由非直接法(特征点+描述子)进行触发,利用光流法、区域匹配等算法进行追踪。
现有技术中的跟踪方法存在以下缺陷:
这些方法对于角点特征的空间密度、特征的可区分性有较高要求;
由于只有触发物信息,环境信息未知,因此对于复杂背景的抗干扰能力差;
当模型在视野内占比较小时模型匹配和跟踪都容易失败。
以上内容仅是发明人所知晓的技术情况,并不当然代表构成本发明的现有技术。
发明内容
针对现有技术存在的问题中的一个或多个,本发明提供一种相机姿态跟踪方法,所述相机姿态跟踪方法包括:S101:获取触发物的图像;S102:根据所述触发物的图像,通过特征点法,获得相机的匹配姿态;S103:根据所述触发物的图像,通过直接法,获得相机的跟踪姿态;和S104:基于所述匹配姿态和跟踪姿态,获取所述相机的姿态。
根据本发明的一个方面,所述步骤S104包括:当所述匹配姿态与所述跟踪姿态之间的差异小于预设阈值时,将所述相机的跟踪姿态作为所述相机的所述姿态;当所述匹配姿态与所述跟踪姿态之间的差异大于预设阈值时,将所述相机的匹配姿态作为所述相机的所述姿态。
根据本发明的一个方面,所述步骤S104包括:将所述匹配姿态和所述跟踪姿态进行加权,获得所述相机的所述姿态。
根据本发明的一个方面,所述相机姿态跟踪方法还包括:分别判断通过所述特征点法和直接法跟踪所述相机是否成功。
根据本发明的一个方面,通过计算点对点重投影误差来判断所述特征点法跟踪所述相机是否成功;通过计算光度误差来判断所述直接法跟踪所述相机是否成功。
根据本发明的一个方面,所述相机姿态跟踪方法还包括:如果所述直接法跟踪所述相机失败,则将所述相机的所述匹配姿态作为初始化相机姿态,重复所述步骤S103。
根据本发明的一个方面,所述相机姿态跟踪方法还包括:通过所述跟踪姿态确定感兴趣区域,所述步骤S102是在所述感兴趣区域内进行匹配。
根据本发明的一个方面,所述触发物为平面触发物,所述相机姿态跟踪方法还包括:对所述触发物的模板图像进行特征提取和特征训练;
根据本发明的一个方面,所述步骤S2包括将所述触发物的图像与所述触发物的模板图像进行特征点匹配,以获得所述相机的所述匹配姿态。
根据本发明的一个方面,所述触发物为三维触发物,所述步骤S2包括将所述触发物的图像与所述触发物的特征模板进行匹配,以获得所述相机的所述匹配姿态。
本发明还提供一种计算机可读存储介质,包括存储于其上的计算机可执行指令,所述可执行指令在被处理器执行时实施如上所述的相机姿态跟踪方法。
本发明还提供一种用于跟踪相机姿态的装置,包括:获取触发物的图像的单元;根据所述触发物的图像通过特征点法获得相机的匹配姿态的单元;根据所述触发物的图像通过直接法获得相机的跟踪姿态的单元;和基于所述匹配姿态和跟踪姿态获取所述相机的姿态的单元。
本发明还提供一种装置,包括:摄像头;处理器,所述处理器与所述摄像头相通讯,并可接收或访问所述摄像头采集的图像;存储器,所述存储器中包括存储于其上的计算机可执行指令,所述可执行指令在被所述处理器执行时实施如上所述的相机姿态跟踪方法。
通过本发明的至少一些实施例,在相机姿态跟踪的过程中,通过直接法和特征点法同时来估算相机姿态,能够更准确地计算出相机的姿态。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1示出了根据本发明第一实施例的用于相机姿态跟踪方法;
图2示出了根据本发明第二实施例的相机姿态跟踪方法;
图3示出了根据本发明第三实施例的用于跟踪相机姿态的装置的框图;
图4示出了根据本发明第四实施例的包括摄像头的装置的框图;和
图5是依照本发明的至少一些实施例布置的计算机程序产品的框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
在本发明的描述中,需要理解的是,术语"中心"、"纵向"、"横向"、"长度"、"宽度"、"厚度"、"上"、"下"、"前"、"后"、"左"、"右"、"坚直"、"水平"、"顶"、"底"、"内"、"外"、"顺时针"、"逆时针"等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语"第一"、"第二"仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有"第一"、"第二"的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,"多个"的含义是两个或两个以上,除非另有明确具体的限定。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语"安装"、"相连"、"连接"应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接:可以是机械连接,也可以是电连接或可以相互通讯;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征之"上"或之"下"可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征"之上"、"上方"和"上面"包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征"之下"、"下方"和"下面"包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度小于第二特征。
下文的公开提供了许多不同的实施方式或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。此外,本发明提供了的各种特定的工艺和材料的例子,但是本领域普通技术人员可以意识到其他工艺的应用和/或其他材料的使用。
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1示出了根据本发明第一实施例的一种相机姿态跟踪方法100。以下参考图1详细描述所述相机姿态跟踪方法100。
在步骤S101,获取触发物的图像。所述触发物例如可以是平面触发物,可以是在真实场景中放置的容易识别的触发物,包括海报、展板、书、地贴等平面物体。通常可以采用平面触发物作为定位基准,例如长方体、圆环、条形码等,作为跟踪基准,通过识别图像中的触发物,对含有触发物的图像进行处理,来估计相机的姿态。所述触发物也可以是三维立体触发物。这些都在本发明的保护范围内。
在步骤S102,根据所述触发物的图像,通过特征点法,获得相机的匹配姿态。在本发明中,特征点可以指具体的位置点,例如角点、交叉点等,也可以是由一个位置区域抽象而成的点,便于确定两幅图像中同一个位置对应关系而进行图像配准。对于三维触发物而言,基于特征点法进行3D物体追踪和相机姿态定位也是比较常见的方法。
根据本发明的一个优选实施例,在触发物为平面触发物的情况下,将平面触发物的图像与该平面触发物的模板图像信息进行特征点匹配,从而进行相机姿态跟踪和定位。如果是针对3D触发物进行跟踪和相机姿态定位,可以与该3D触发物的特征模版(3D空间中的特征点+描述子)进行匹配。
理论上讲,每一幅图像都对应一个相机姿态。模板图像例如对应标准的相机姿态。将输入图像的特征点与模板图像的特征点进行匹配,从而可以获得二者之间的空间几何映射关系,进而可以获得输入图像所对应的相机姿态。例如,利用触发物的模板图像来进行特征提取和特征训练,提取出特征点及其描述子,跟输入的触发物图像的信息进行匹配,进行相机姿态定位。以城市地图为例,跟踪一张城市地图的触发物,会在模板图像上提取特征点(比如角点),然后提取每个特征点的描述子,然后把这些信息存储起来,为方便表示,记为模板训练文件。后续需要跟踪城市地图(这部分一般由图像识别程序负责),把当前输入图像进行相同的图像提取和描述,跟之前存储起来的模板训练文件进行特征点的匹配,基于匹配信息,确定该输入图像的姿态,即相机的姿态。而对于三维触发物,例如可以利用三维物体特征模板(3D空间中的特征点+描述子)与图像提取的特征描述子做匹配,利用PNP实现相机姿态估计。根据本发明的一个实施例,所述相机的姿态例如可以由六个自由度来限定,包括空间xyz坐标系下的坐标(tx,ty,tz)以及围绕xyz三个轴的角度(row pitch yaw)。
上面描述的是通过与模板图像进行特征点匹配从而估计相机的匹配姿态。根据本发明的另一个实施例,也可以基于前一帧的信息来进行姿态定位。这些都在本发明的保护范围内。
步骤S102可以采用各种特征点描述符来进行,包括但不限于SIFT、SURF、Signature、Daisy、Brief等或者其任意组合。
在步骤S103,根据所述触发物的图像,通过直接法,获得相机的跟踪姿态。
直接法可以直接根据图像的像素亮度信息,估计相机的运动,可以完全不用计算关键点和描述子。这样既避免了特征的计算时间,也避免了特征缺失的情况。只要场景中存在明暗变化(可以是渐变,不形成局部的图像特征),直接法就能工作。相比于特征点法,直接法能够直接根据图像的像素信息来计算相机运动,其中不需要特征匹配,甚至不需要提取特征。
本领域技术人员能够理解,步骤S102和步骤S103的顺序不受任何限制,可以顺序地进行步骤S102和步骤S103或步骤S103和步骤S102,也可以同步地进行步骤S102和步骤S103,这些都在本发明的保护范围内。
在步骤S104,基于所述匹配姿态和跟踪姿态,获取所述相机的姿态。
根据本发明的不同实施例,基于所述匹配姿态和跟踪姿态,例如可以通过线性加权、非线性加权、或者二选一的方式,来获得所述相机的姿态。之后前后帧加入卡尔曼(kalman)滤波融合,例如对空间位置(Tx,Ty,Tz)和姿态(roll,pitch,yaw)进行前后帧的卡尔曼滤波,例如可以将上述6个参数作为独立的分量,而后每个用一阶卡尔曼进行滤波,消除抖动感。线性加权是将前一帧的姿态和当前帧估计的姿态,分别赋予不同的权重进行融合。加权系数可以通过标记好姿态的数据库和在不同参数下的算法运行结果评测获得。非线性加权则可以将一些奇异滤掉(例如加入截断函数之类)。
根据本发明的一个实施例,当所述匹配姿态与所述跟踪姿态之间的差异小于预设阈值时,将所述相机的跟踪姿态作为所述相机的所述姿态;当所述匹配姿态与所述跟踪姿态之间的差异大于预设阈值时,将所述相机的匹配姿态作为所述相机的所述姿态。计算所述匹配姿态与所述跟踪姿态之间的差异大小时,例如可以根据相机的六个自由度,通过加权计算误差的方式(如下面的公式1所示),将计算所得的误差,与预设的阈值进行相比较。当误差大于阈值时,采用匹配姿态作为所述相机姿态。当误差小于阈值时,采用跟踪姿态作为所述相机姿态。
其中,e中包含6个自由度,分别是匹配姿态和跟踪姿态在空间位置(Tx,Ty,Tz)和姿态(roll,pitch,yaw)上的差异,将其表示为di。wi是权重系数。
所述阈值和权重可以根据实际情况而设定。
根据本发明的一个优选实施例,所述相机姿态跟踪方法100还包括对所述触发物的模板图像进行特征提取和特征训练。所述模板图像例如是触发物在光线良好、无遮挡情况下的正面的视图,例如可以是高清设计底图。基于该模板图像,可以提取出触发物的有效的特征点和描述子,便于在后续进行特征点匹配。以海报为例,利用fast检测角点,提取orb特征。特征训练是挑选和提取ORB描述子的过程。目的是找到针对姿态鲁棒的特征描述,用于确定绝对的相机姿态。比如针对海报电子版图像,确定相机所在世界坐标系的3个方向以及世界坐标系中心。例如,让图像平面和世界坐标系x-y平面重合,图像中心作为世界坐标系原点。选择并记录各个姿态下都较为鲁棒的特征及描述子,即完成特征训练,生成特征模版的过程。这样,在测试阶段,即便相机初次拍摄到海报存在一定的平移和旋转,利用特征模版,也可以准确估计出这些偏移量,用于虚拟物体的渲染。
在对触发物的模板图像进行了特征提取和特征训练之后,在进行所述步骤S102时,就可以将所述触发物的图像与所述触发物的模板图像进行特征点匹配,以获得所述相机的所述匹配姿态。
下面参考图2描述根据本发明第二实施例的一种相机姿态跟踪方法200。
如图2所示,在步骤S201,接收触发物的输入图像序列。
在接收了触发物的输入图像序列之后,相机姿态跟踪方法200可以分别通过特征点法和直接法来计算相机的匹配姿态和跟踪姿态。图2中,分别以线程1和线程2两个虚线框示出特征点法和直接法的计算过程。在具体实现时,这两个线程可以同步的进行,也可以顺序的进行,这些都在本发明的保护范围内。当然同步进行处理的话,可以缩短图像处理的时间,提高系统的实时性。下面分别描述线程1和线程2。
在线程1中,在步骤S211,对触发物输入图像的特征点进行提取并进行匹配。本发明不限于特征点提取匹配的具体方法,例如,可以采用Harris角点检测、SIFT斑点检测方法、KFT、SUSAN、CenSurE、FAST、MSER、SURF等方法来提取特征点。在步骤S212,进行相机姿态估计。根据本发明的一个优选实施例,将触发物输入图像与触发物模板图像进行特征点匹配,以获得相机的匹配姿态。在此情况下,需要事先对触发物的模板图像进行特征提取和特征训练。
在线程2中,在步骤S221,对触发物的输入图像进行全图特征点提取,并优选地可以进行深度初始化。常用的直接法例如DSO中特征点只提取了fast角点,不用计算描述子。深度初始化及更新方式是直接法中最常用方式(可参见LSD方法)。以LSD-SLAM为例,其构建的是半稠密逆深度地图(semi-dense inverse depth map),只对有明显梯度的像素位置进行深度估计,用逆深度表示,并且假设逆深度服从高斯分布。一旦一个图像帧被选为关键帧,则用其跟踪的参考帧的深度图对其进行深度图构建,之后跟踪到该新建关键帧的图像帧都会用来对其深度图进行更新。当然,追溯到第一帧,肯定是没有深度图的,因此第一帧的深度图是有明显梯度区域随机生成的深度。总的来说,建图线程可以分为两种情况:1.构建关键帧,则构建新的深度图(Depth Map Creation)(S221描述);2.不构建关键帧,则更新参考关键帧的深度图(Depth Map Refinement)(S222描述)。初始化是为了更好地跟踪姿态。
在步骤S222,通过直接法,对相机姿态进行估计,并更新深度。
在通过特征点法估算出相机的姿态后,需要对特征点法估算的姿态是否成功进行判断。根据本发明的一个优选实施例,可以采用计算点对点重投影误差来判断所述特征点法跟踪所述相机是否成功。例如可以设定一个阈值,当点对点重投影误差小于该阈值时,判定特征点法估算的相机姿态成功,将该姿态作为相机匹配姿态(即姿态1)。
在直接法中,由于没有匹配点对,无法计算重投影误差,但例如可采用光度误差来判断直接法跟踪是否成功。光度误差是两张图片中由变换矩阵关联起来的两个像素点的灰度差异。理想情况下,灰度差异应该为0,它们应该是同一个点(仍然基于灰度不变假设)。但实际中由于相机位姿变换矩阵不准确会造成一些差异,据此可构建一个非线性优化问题,把大量像素点的光度误差的平方和作为总误差,优化相机位姿使该误差最小。并且将计算所得的总误差与一阈值相比较,当小于该阈值时,判定直接法跟踪成功。否则,判断直接法跟踪失败。
对于特征点法估计姿态,如果跟踪失败,则返回步骤S211,基于下一帧图像来进行特征点匹配。对于直接法估计姿态,如果跟踪失败,则基于线程1的特征点法估计的姿态来初始化相机姿态,重新通过直接法进行姿态估计。
在特征点法和直接法跟踪均成功的情况下,分别将特征点法跟踪获得的相机姿态作为匹配姿态,将直接法跟踪获得的相机姿态作为跟踪姿态,判断二者直接是否存在较大差异。例如,相机姿态有六个自由度,例如可以通过加权求误差的方式来计算匹配姿态和跟踪姿态之间的差异,然后将该差异与一阈值相比较,来判断匹配姿态和跟踪姿态之间是否有较大差异。
接下来,当所述匹配姿态与所述跟踪姿态之间的差异小于等于预设阈值时,将所述相机的跟踪姿态(姿态2)作为所述相机的所述姿态。而当所述匹配姿态与所述跟踪姿态之间的差异大于预设阈值时,将所述相机的匹配姿态(姿态1)作为所述相机的所述姿态。
并且在后一种情况中,即通过特征点法和直接法估计的相机姿态之间存在较大差异的情况下,将匹配姿态(姿态1)作为线程2的相机初始化姿态,在此基础上,重新通过直接法来计算相机的姿态,并且在线程1中基于特征点法再次进行跟踪。优选地可以将直接法中地图点和相机当前姿态做相应调整,保持线程1和线程2的一致(尺度和地图点一致)。在前一种情况中,即通过特征点法和直接法估计的相机姿态之间的差异小于预设阈值的情况下,可以将线程2中通过直接法识别出的ROI(感兴趣区域)提供给线程1,这样处理的话,后续在进行特征点匹配时,可以仅在该ROI内进行特征点提取和匹配,从而降低计算量,提高计算精度。
关于线程1和线程2的同步,一种处理方式是线程1和线程2每帧图像都进行同步,两个都处理完再进行下一次运算。作为第一帧或者线程2跟踪失败之后再次成功之前,都是先计算线程1,用来初始化线程2。然后基于这个基础在处理新的图像帧。
另一个方式是,在上述过程基础上,在线程2中加入重定位。在线程2成功运行之后再次跟丢后,并且在线程1给出初始化结果之前,用重定位的方式输出线程2的结果。
上述实施例中例如可以包括两个子线程。
线程1负责利用非直接法(特征点法)进行匹配,输出姿态1,记为匹配姿态;
线程2负责利用直接法进行跟踪,输出姿态2,记为跟踪姿态;
两者都成功时将二者的结果融合。其中一个实现方案是相差较大时利用匹配姿态,二者相差不多时用跟踪姿态。
线程1负责给线程2提供初值,在线程2给出较差姿态时进行矫正
线程2负责在复杂背景下更好的跟踪,当初值给定之后可以支持更大场景,更大遮挡和更复杂背景下的跟踪。很好的改进了现有算法。
反过来跟踪姿态也可以给匹配姿态确定一个ROI(感兴趣区域),让匹配姿态计算更准确。二者相辅相成。这一点在远离触发物的跟踪中,原有的算法是做不到的。这一点可以保证跟踪范围更大、结果更精确。
下面参考图3描述根据本发明另一个实施例的一种用于跟踪相机姿态的装置300。如图3所示,所述装置300包括获取触发物的图像的单元301;根据所述触发物的图像通过特征点法获得相机的匹配姿态的单元302(其实现的方式例如与图1的步骤S102相同或类似);根据所述触发物的图像通过直接法获得相机的跟踪姿态的单元303(其实现的方式例如与图2的步骤S103相同或类似);和基于所述匹配姿态和跟踪姿态获取所述相机的姿态的单元304(其实现的方式例如与图1的步骤S104相同或类似)。
根据本发明的一个变形,所述单元304配置成:当所述匹配姿态与所述跟踪姿态之间的差异小于预设阈值时,将所述相机的跟踪姿态作为所述相机的所述姿态;当所述匹配姿态与所述跟踪姿态之间的差异大于预设阈值时,将所述相机的匹配姿态作为所述相机的所述姿态。
根据本发明的一个变形,所述单元304配置成:将所述匹配姿态和所述跟踪姿态进行加权,获得所述相机的所述姿态。
根据本发明的一个变形,所述装置300还包括:判断通过所述特征点法和直接法跟踪所述相机是否成功的单元。
根据本发明的一个变形,所述判断通过特征点法和直接法跟踪相机是否成功的单元配置成通过计算点对点重投影误差来判断所述特征点法跟踪所述相机是否成功,通过计算光度误差来判断所述直接法跟踪所述相机是否成功。优选的,如果所述直接法跟踪所述相机失败,则将所述相机的所述匹配姿态作为初始化相机姿态,供所述单元303使用。
根据本发明的一个变形,所述单元303配置成通过所述跟踪姿态确定感兴趣区域,所述单元302配置成在所述感兴趣区域内进行匹配。
根据本发明的一个变形,所述触发物为平面触发物,所述装置300还包括对所述触发物的模板图像进行特征提取和特征训练的单元。
根据本发明的一个变形,所述单元302配置成将所述触发物的图像与所述触发物的模板图像进行特征点匹配,以获得所述相机的所述匹配姿态。
根据本发明的一个变形,所述触发物为三维触发物,所述单元302配置成将所述触发物的图像与所述触发物的特征模板进行匹配,以获得所述相机的所述匹配姿态。
下面参考图4描述根据本发明另一个实施例的一种装置400,该装置包括:摄像头401;处理器402,所述处理器与所述摄像头相通讯,并可接收或访问所述摄像头采集的图像;存储器403,所述存储器中包括存储于其上的计算机可执行指令,这些指令可以包括例如用于使处理器执行如下处理的一个或多个可执行指令:S101:获取所述摄像头采集的触发物的图像;S102:根据所述触发物的图像,通过特征点法,获得相机的匹配姿态;S103:根据所述触发物的图像,通过直接法,获得相机的跟踪姿态;和S104:基于所述匹配姿态和跟踪姿态,获取所述相机的姿态。根据本实施例的一个变形,摄像头401采集的图像,可以先存储在该存储器403中,然后由处理器402在执行存储器403中存储的计算机可执行指令的过程中访问。本实施例中的装置400可以是一个单独集成设备,例如用户的手机、PAD、PDA、笔记本电脑等,也可以是一个由不同部件构成的系统,例如摄像头401可以是与处理器402和存储器403分离的,但是通讯地耦合,从而处理器402可以接收或者访问摄像头401采集的图像,进而识别摄像头401的姿态。这些都在权利要求限定的本发明保护范围内。
图5是依照本发明的至少一些实施例布置的计算机程序产品500的框图。信号承载介质502可以被实现为或者包括计算机可读介质506、计算机可记录介质508、计算机通信介质510或者它们的组合,其存储可配置处理单元以执行先前描述的过程中的全部或一些的编程指令504。这些指令可以包括例如用于使一个或多个处理器执行如下处理的一个或多个可执行指令:S101:获取触发物的图像;S102:根据所述触发物的图像,通过特征点法,获得相机的匹配姿态;S103:根据所述触发物的图像,通过直接法,获得相机的跟踪姿态;和S104:基于所述匹配姿态和跟踪姿态,获取所述相机的姿态。
虽然前面的详细说明已经通过框图、流程图和/或示例的使用阐述了装置和/或过程的各个示例,但是这样的框图、流程图和/或示例包含一项或多项功能和/或操作,本领域技术人员将理解的是,可以通过各种各样的硬件、软件、固件或几乎其任意组合来单独地和/或统一地实现这样的框图、流程图或示例内的每个功能和/或操作。在一个示例中,本文所描述的主题的若干部分可经由专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)或其它集成形式来实现。然而,本领域技术人员将理解的是,本文公开的示例的一些方面可以整体地或部分地被等同地实现在集成电路中、实现为在一个或多个计算机上运行的一个或多个计算机程序(例如,实现为在一个或多个计算机系统上运行的一个或多个程序)、实现为在一个或多个处理器上运行的一个或多个程序(例如,实现为在一个或多个微处理器上运行的一个或多个程序)、实现为固件、或实现为以上的几乎任何组合,并且根据本公开的内容,针对所述软件和/或固件设计电路和/或编写代码将在本领域技术人员的技能范围内。例如,如果使用者判定速度和精度重要,则使用者可以选择主硬件和/或固件媒介物;如果灵活性重要,则使用者可以选择主软件实施方式;或者,另外可选地,使用者可以选择硬件、软件和/或固件的某组合。
另外,本领域技术人员将理解的是,本文所描述的主题的机制能够作为各种形式的程序产品被分发,并且不管实际上用于实施分发的信号承载介质的具体类型如何,本文所描述的主题的说明性示例都适用。信号承载介质的示例包括但不限于以下:可记录型介质,诸如软盘、硬盘驱动器、压缩盘(CD)、数字视频盘(DVD)、数字带、计算机存储器等;以及传输型介质,诸如数字和/或模拟通信介质(例如,光纤光缆、波导、有线通信链路、无线通信链路等)。
本领域技术人员将理解的是,在本领域内常见的是以本文阐述的方式来描述装置和/或过程,此后利用工程实践将这样描述的装置和/或过程集成到数据处理系统中。也即,本文所描述的装置和/或过程的至少一部分可以通过合理量的实验集成到数据处理系统中。本领域技术人员将理解的是,典型的数据处理系统通常包括如下中的一种或多种:系统单元壳体、视频显示装置、诸如易失性和非易失性存储器的存储器、诸如微处理器和数字信号处理器的处理器、诸如操作系统的计算实体、驱动器、图形用户接口、和应用程序、诸如触摸板或触摸屏的一个或多个交互装置、和/或包括反馈环和控制电动机(例如,用于感测位置和/或速度的反馈;用于移动和/或调整部件和/或量的控制电动机)的控制系统。典型的数据处理系统可利用任何适合的市售部件来实现,诸如在数据计算/通信和/或网络计算/通信系统中常见的部件。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (13)

1.一种相机姿态跟踪方法,所述相机姿态跟踪方法包括:
S101:获取触发物的图像;
S102:根据所述触发物的图像,通过特征点法,获得相机的匹配姿态;
S103:根据所述触发物的图像,通过直接法,获得相机的跟踪姿态;和
S104:将所述匹配姿态和跟踪姿态进行加权,获取所述相机的姿态;所述步骤S104包括:当所述匹配姿态与所述跟踪姿态之间的差异小于预设阈值时,将所述相机的跟踪姿态作为所述相机的所述姿态;当所述匹配姿态与所述跟踪姿态之间的差异大于预设阈值时,将所述相机的匹配姿态作为所述相机的所述姿态。
2.根据权利要求1所述的相机姿态跟踪方法,其特征在于,所述相机姿态跟踪方法还包括:分别判断通过所述特征点法和直接法跟踪所述相机是否成功。
3.根据权利要求2所述的相机姿态跟踪方法,其特征在于,通过计算点对点重投影误差来判断所述特征点法跟踪所述相机是否成功;通过计算光度误差来判断所述直接法跟踪所述相机是否成功。
4.根据权利要求2所述的相机姿态跟踪方法,其特征在于,所述相机姿态跟踪方法还包括:如果所述直接法跟踪所述相机失败,则将所述相机的所述匹配姿态作为初始化相机姿态,重复所述步骤S103。
5.根据权利要求1-4中任一项所述的相机姿态跟踪方法,其特征在于,所述相机姿态跟踪方法还包括:通过所述跟踪姿态确定感兴趣区域,所述步骤S102是在所述感兴趣区域内进行匹配。
6.根据权利要求1-4中任一项所述的相机姿态跟踪方法,其特征在于,所述触发物为平面触发物,所述相机姿态跟踪方法还包括:对所述触发物的模板图像进行特征提取和特征训练。
7.根据权利要求6所述的相机姿态跟踪方法,其特征在于,所述步骤S102包括将所述触发物的图像与所述触发物的模板图像进行特征点匹配,以获得所述相机的所述匹配姿态。
8.根据权利要求1-4中任一项所述的相机姿态跟踪方法,其特征在于,所述触发物为三维触发物,所述步骤S102包括将所述触发物的图像与所述触发物的特征模板进行匹配,以获得所述相机的所述匹配姿态。
9.一种计算机可读存储介质,包括存储于其上的计算机可执行指令,所述可执行指令在被处理器执行时实施如权利要求1-8中任一项所述的相机姿态跟踪方法。
10.一种用于跟踪相机姿态的装置,所述装置包括:
获取触发物的图像的单元;
根据所述触发物的图像通过特征点法获得相机的匹配姿态的单元;
根据所述触发物的图像通过直接法获得相机的跟踪姿态的单元;和
将所述匹配姿态和跟踪姿态进行加权获取所述相机的姿态的单元;所述将所述匹配姿态和跟踪姿态进行加权获取所述相机的姿态的单元配置成:当所述匹配姿态与所述跟踪姿态之间的差异小于预设阈值时,将所述相机的跟踪姿态作为所述相机的所述姿态;当所述匹配姿态与所述跟踪姿态之间的差异大于预设阈值时,将所述相机的匹配姿态作为所述相机的所述姿态。
11.根据权利要求10所述的装置,其特征在于,所述根据所述触发物的图像通过直接法获得相机的跟踪姿态的单元配置成通过所述跟踪姿态确定感兴趣区域,所述根据所述触发物的图像通过特征点法获得相机的匹配姿态的单元配置成在所述感兴趣区域内进行匹配。
12.根据权利要求11所述的装置,其特征在于,所述根据所述触发物的图像通过特征点法获得相机的匹配姿态的单元包括将所述触发物的图像与所述触发物的模板图像进行特征点匹配,以获得所述相机的所述匹配姿态。
13.一种用于跟踪相机姿态的装置,包括:
摄像头;
处理器,所述处理器与所述摄像头相通讯,并可接收或访问所述摄像头采集的图像;
存储器,所述存储器中包括存储于其上的计算机可执行指令,所述可执行指令在被所述处理器执行时实施如权利要求1-8中任一项所述的相机姿态跟踪方法。
CN201810005054.5A 2018-01-03 2018-01-03 相机姿态跟踪方法和装置 Active CN108062776B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810005054.5A CN108062776B (zh) 2018-01-03 2018-01-03 相机姿态跟踪方法和装置
US16/145,540 US10964049B2 (en) 2018-01-03 2018-09-28 Method and device for determining pose of camera

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810005054.5A CN108062776B (zh) 2018-01-03 2018-01-03 相机姿态跟踪方法和装置

Publications (2)

Publication Number Publication Date
CN108062776A CN108062776A (zh) 2018-05-22
CN108062776B true CN108062776B (zh) 2019-05-24

Family

ID=62141078

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810005054.5A Active CN108062776B (zh) 2018-01-03 2018-01-03 相机姿态跟踪方法和装置

Country Status (2)

Country Link
US (1) US10964049B2 (zh)
CN (1) CN108062776B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109035327B (zh) * 2018-06-25 2021-10-29 北京大学 基于深度学习的全景相机姿态估计方法
CN108921898B (zh) * 2018-06-28 2021-08-10 北京旷视科技有限公司 摄像机位姿确定方法、装置、电子设备和计算机可读介质
CN109087325B (zh) * 2018-07-20 2022-03-04 成都指码科技有限公司 一种基于单目视觉的直接法点云三维重建及尺度确定方法
WO2020024909A1 (zh) * 2018-08-02 2020-02-06 广东虚拟现实科技有限公司 定位跟踪方法、终端设备及计算机可读取存储介质
CN109035303B (zh) * 2018-08-03 2021-06-08 百度在线网络技术(北京)有限公司 Slam系统相机跟踪方法及装置、计算机可读存储介质
CN109993802B (zh) * 2019-04-03 2020-12-25 浙江工业大学 一种城市环境中的混合相机标定方法
CN112150547B (zh) * 2019-06-28 2024-03-12 北京魔门塔科技有限公司 一种确定车体位姿的方法、装置及环视视觉里程计系统
CN112215884A (zh) * 2019-07-09 2021-01-12 北京地平线机器人技术研发有限公司 一种平面标志物的位姿确定方法和装置
CN110473259A (zh) * 2019-07-31 2019-11-19 深圳市商汤科技有限公司 位姿确定方法及装置、电子设备和存储介质
CN111127547A (zh) * 2019-12-17 2020-05-08 北京迈格威科技有限公司 定位方法、装置、机器人及存储介质
CN111105460B (zh) * 2019-12-26 2023-04-25 电子科技大学 一种室内场景三维重建的rgb-d相机位姿估计方法
CN111462179B (zh) * 2020-03-26 2023-06-27 北京百度网讯科技有限公司 三维物体跟踪方法、装置及电子设备
CN111932611B (zh) * 2020-05-26 2024-05-10 阿波罗智联(北京)科技有限公司 物体位置获取方法和装置
CN111652103B (zh) * 2020-05-27 2023-09-19 北京百度网讯科技有限公司 室内定位方法、装置、设备以及存储介质
CN111915651B (zh) * 2020-07-31 2023-09-12 西安电子科技大学 基于数字影像地图与特征点跟踪的视觉位姿实时估计方法
CN111968180B (zh) * 2020-08-18 2023-12-05 维数谷智能科技(嘉兴)有限公司 基于参考平面的高精度物体多自由度姿态估计方法及系统
CN112365547B (zh) * 2020-11-06 2023-08-22 上海易维视科技有限公司 基于多深度光栅可视点的相机矫正方法及系统
WO2022141240A1 (en) * 2020-12-30 2022-07-07 SZ DJI Technology Co., Ltd. Determining vehicle positions for autonomous driving based on monocular vision and semantic map
WO2022147655A1 (zh) * 2021-01-05 2022-07-14 深圳市大疆创新科技有限公司 定位方法、空间信息获取方法、装置、拍摄设备
CN113450410B (zh) * 2021-06-29 2022-07-26 浙江大学 一种基于对极几何的单目深度和位姿联合估计方法
CN116188583B (zh) * 2023-04-23 2023-07-14 禾多科技(北京)有限公司 相机位姿信息生成方法、装置、设备和计算机可读介质
CN118229686B (zh) * 2024-05-24 2024-08-06 苏州高视半导体技术有限公司 一种用于检测图案缺陷的方法及相关产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2535869A2 (en) * 2011-06-13 2012-12-19 Alpine Electronics, Inc. Apparatus and method for detecting posture of camera mounted on vehicle
CN103218799A (zh) * 2012-01-18 2013-07-24 三星电子株式会社 用于相机跟踪的方法和设备
CN106846417A (zh) * 2017-02-06 2017-06-13 东华大学 基于视觉里程计的单目红外视频三维重建方法
CN106885574A (zh) * 2017-02-15 2017-06-23 北京大学深圳研究生院 一种基于重跟踪策略的单目视觉机器人同步定位与地图构建方法
CN107025668A (zh) * 2017-03-30 2017-08-08 华南理工大学 一种基于深度相机的视觉里程计的设计方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8860760B2 (en) * 2010-09-25 2014-10-14 Teledyne Scientific & Imaging, Llc Augmented reality (AR) system and method for tracking parts and visually cueing a user to identify and locate parts in a scene
DE102011015987A1 (de) * 2011-04-04 2012-10-04 EXTEND3D GmbH System und Verfahren zur visuellen Darstellung von Informationen auf realen Objekten
WO2013029675A1 (en) * 2011-08-31 2013-03-07 Metaio Gmbh Method for estimating a camera motion and for determining a three-dimensional model of a real environment
JP6237326B2 (ja) * 2014-02-25 2017-11-29 富士通株式会社 姿勢推定装置、姿勢推定方法及び姿勢推定用コンピュータプログラム
JP6372149B2 (ja) * 2014-04-28 2018-08-15 富士通株式会社 表示制御装置、表示制御方法および表示制御プログラム
JP6507730B2 (ja) * 2015-03-10 2019-05-08 富士通株式会社 座標変換パラメータ決定装置、座標変換パラメータ決定方法及び座標変換パラメータ決定用コンピュータプログラム
CN106934827A (zh) * 2015-12-31 2017-07-07 杭州华为数字技术有限公司 三维场景的重建方法和装置
CN106056664B (zh) * 2016-05-23 2018-09-21 武汉盈力科技有限公司 一种基于惯性和深度视觉的实时三维场景重构系统及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2535869A2 (en) * 2011-06-13 2012-12-19 Alpine Electronics, Inc. Apparatus and method for detecting posture of camera mounted on vehicle
CN103218799A (zh) * 2012-01-18 2013-07-24 三星电子株式会社 用于相机跟踪的方法和设备
CN106846417A (zh) * 2017-02-06 2017-06-13 东华大学 基于视觉里程计的单目红外视频三维重建方法
CN106885574A (zh) * 2017-02-15 2017-06-23 北京大学深圳研究生院 一种基于重跟踪策略的单目视觉机器人同步定位与地图构建方法
CN107025668A (zh) * 2017-03-30 2017-08-08 华南理工大学 一种基于深度相机的视觉里程计的设计方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"融合直接法与特征法的快速双目 SLAM 算法";张国良 等;《机器人》;20171130;第39卷(第6期);第880页第4段,第881页第3.1节第3段和第3.1.1节第1段,第882页第1段和第3.1.3节第1段,及第883页度4节第1段,图2

Also Published As

Publication number Publication date
CN108062776A (zh) 2018-05-22
US20190206078A1 (en) 2019-07-04
US10964049B2 (en) 2021-03-30

Similar Documents

Publication Publication Date Title
CN108062776B (zh) 相机姿态跟踪方法和装置
Memo et al. Head-mounted gesture controlled interface for human-computer interaction
Reitmayr et al. Going out: robust model-based tracking for outdoor augmented reality
US10284794B1 (en) Three-dimensional stabilized 360-degree composite image capture
US9519968B2 (en) Calibrating visual sensors using homography operators
TWI654539B (zh) 虛擬實境交互方法、裝置與系統
CN104322052B (zh) 用于实时混合或复合计算机生成的三维对象和电影摄影机馈送视频的系统
Klein et al. Sensor fusion and occlusion refinement for tablet-based AR
CN112053447B (zh) 一种增强现实三维注册方法及装置
US11610373B2 (en) Method of generating three-dimensional model data of object
JP7548835B2 (ja) 仮想オブジェクトを作成し、レンダリングするための視覚的オブジェクト認識及び記憶された幾何学形状を使用する拡張現実システム
KR20230028532A (ko) 가상 현실 경험들을 위한 지상 실측값 데이터세트들의 생성
US20160210761A1 (en) 3d reconstruction
CN108073909B (zh) 合成模糊人脸图像的方法和装置、计算机装置及存储介质
CN112991556B (zh) Ar数据的展示方法、装置、电子设备及存储介质
CN108933902A (zh) 全景图像采集装置、建图方法及移动机器人
CN112912936A (zh) 混合现实系统、程序、移动终端装置和方法
CN114898062A (zh) 一种基于动态场景下slam的地图构建方法及装置
CN111161398A (zh) 一种图像生成方法、装置、设备及存储介质
CN109214350A (zh) 一种光照参数的确定方法、装置、设备及存储介质
McIlroy et al. Kinectrack: 3d pose estimation using a projected dense dot pattern
CN110310325A (zh) 一种虚拟测量方法、电子设备及计算机可读存储介质
CN109710054B (zh) 用于头戴式显示设备的虚拟物体呈现方法和装置
TW202311815A (zh) 在實體表面上顯示數位媒體內容
Hong et al. A novel Gravity-FREAK feature extraction and Gravity-KLT tracking registration algorithm based on iPhone MEMS mobile sensor in mobile environment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant