CN103218799A - 用于相机跟踪的方法和设备 - Google Patents

用于相机跟踪的方法和设备 Download PDF

Info

Publication number
CN103218799A
CN103218799A CN201210286784XA CN201210286784A CN103218799A CN 103218799 A CN103218799 A CN 103218799A CN 201210286784X A CN201210286784X A CN 201210286784XA CN 201210286784 A CN201210286784 A CN 201210286784A CN 103218799 A CN103218799 A CN 103218799A
Authority
CN
China
Prior art keywords
feature
frame
camera
multiframe
attitude
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
Application number
CN201210286784XA
Other languages
English (en)
Other versions
CN103218799B (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN103218799A publication Critical patent/CN103218799A/zh
Application granted granted Critical
Publication of CN103218799B publication Critical patent/CN103218799B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • 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/20088Trinocular vision calculations; trifocal tensor
    • 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/30241Trajectory
    • 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

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

一种用于相机跟踪的方法和设备。所述相机姿态跟踪设备可基于使用至少三台相机拍摄的帧来跟踪相机姿态,可提取和跟踪多帧中的至少一个第一特征,并可基于第一特征跟踪多帧的每一帧中的每台相机的姿态。当在多帧中跟踪了第一特征时,相机姿态跟踪设备可基于至少一个单帧的每一帧的至少一个第二特征来跟踪所述至少一个单帧的每一帧中的每台相机的姿态。所述至少一个第二特征的每一个可相应于所述至少一个第一特征中的一个,所述至少一个单帧的每一帧可以是与多帧连续的帧中的跟踪的第二特征的数量小于门限的初始帧的先前帧。

Description

用于相机跟踪的方法和设备
本申请要求2012年1月18日提交到韩国知识产权局的第10-2012-0005745号韩国专利申请的优先权利益,该申请的公开通过引用合并于此。
技术领域
以下描述涉及一种跟踪相机的姿态的方法和设备,更具体地,涉及一种基于使用至少三台相机拍摄的帧来跟踪每台相机的姿态的方法和设备。
背景技术
相机跟踪会是计算机化视觉系统中的基础问题。相机跟踪旨在于自动地从视频序列恢复相机运动。相机跟踪的基本构思在于选择在帧的序列中出现的场景点,并同时基于二维(2D)点的一组对应关系来估计选择的场景点的三维(3D)位置和相机运动。
相机跟踪可具有许多应用,诸如深度恢复、3D重建、位置识别和自助机器人导航。
特别地,随着数字相机的广泛使用,已经可容易地使用单目相机,并且单目相机的价格正在变得更加便宜。因此,跟踪单目相机的方法被广泛使用。
然而,不可从使用单目相机拍摄的图像恢复动态对象的3D信息。由于累积误差,可能会难以从使用单目相机拍摄的图像精确地恢复大尺度场景的相机运动。
已经提出了使用立体相机来恢复相机运动和深度映射的若干方法。然而,当使用立体相机拍摄图像时,可能会难以处理图像中的闭塞(occlusions)。
发明内容
通过提供一种基于使用至少三台相机拍摄的帧来跟踪相机姿态的方法来实现前述和/或其它方面,所述方法包括:提取和跟踪多帧中的至少一个第一特征,并基于第一特征跟踪多帧的每一帧中的每台相机的姿态;基于至少一个单帧的每一帧的至少一个第二特征来跟踪所述至少一个单帧的每一帧中的每台相机的姿态。所述至少一个第二特征的每一个可相应于所述至少一个第一特征中的一个,所述至少一个单帧的每一帧可以是与多帧连续的帧中的跟踪的第二特征的数量小于门限的初始帧的先前帧。
所述跟踪多帧中的至少一个第一特征的步骤可包括:从多帧中的第一帧的至少三个图像中提取第三特征,跟踪第三特征直到多帧中的最后帧,通过从跟踪的第三特征中移除具有动态轨迹的特征来确定第一特征,以及基于第一特征来估计多帧的每一帧中的每台相机的姿态。
提取第三特征的步骤可包括:从第一帧的至少三个图像中提取点,以产生尺度不变特征变换(SIFT)描述符,以及通过使用产生的SIFT描述符之间的描述符比较来匹配提取的点并通过将匹配的点连接作为特征,来产生第三特征。
提取第三特征的步骤还可包括使用几何约束移除第三特征中的异常值。
几何约束可包括对极约束、二次投影约束和深度范围约束中的至少一个。
所述跟踪所述至少一个单帧的每一帧中的每台相机的姿态的步骤可包括:将多帧的随后的帧设置为当前帧,在当前帧中提取与第一特征的一个相应的第二特征,当第二特征的数量大于或等于门限时,估计当前帧中的每台相机的姿态,以及将当前帧的随后的帧设置为新的当前帧,并当第二特征的数量大于或等于门限时,在新的当前帧中提取第二特征。
所述跟踪多帧中的至少一个第一特征的步骤可包括:当第二特征的数量小于门限时,再次跟踪多帧的每一帧中的每台相机的姿态。
通过提供一种基于使用至少三台相机拍摄的帧来跟踪相机姿态的设备来实现前述和/或其它方面,所述设备包括:多帧处理单元,提取和跟踪多帧中的至少一个第一特征,并基于第一特征跟踪多帧的每一帧中的每台相机的姿态;单帧处理单元,基于至少一个单帧的每一帧的至少一个第二特征来跟踪所述至少一个单帧的每一帧中的每台相机的姿态。所述至少一个第二特征的每一个可对应于所述至少一个第一特征中的一个,所述至少一个单帧的每一帧可以是与多帧连续的帧中的跟踪的第二特征的数量小于门限的初始帧的先前帧。
多帧处理单元可包括:特征提取器,从多帧中的第一帧的至少三个图像中提取第三特征;特征跟踪单元,跟踪第三特征直到多帧中的最后帧;动态点检测器,通过从跟踪的第三特征中移除具有动态轨迹的特征来确定第一特征;相机姿态估计器,基于第一特征来估计多帧的每一帧中的每台相机的姿态。
动态点检测器可计算第三特征的每一个的四维(4D)轨迹子空间,并可基于4D轨迹子空间确定第三特征的每一个是否具有动态轨迹。
特征提取器可从第一帧的至少三个图像中提取点,以产生SIFT描述符,并可通过使用产生的SIFT描述符之间的描述符比较来匹配提取的点并通过将匹配的点连接作为特征,来产生第三特征。
特征提取器可使用几何约束移除第三特征中的异常值。
单帧处理单元可包括:当前帧设置单元,将多帧的随后的帧设置为当前帧;当前帧特征估计器,在当前帧中提取与第一特征的一个对应的第二特征;门限比较器,当第二特征的数量大于或等于门限时,估计当前帧中的每台相机的姿态。
当第二特征的数量大于或等于门限时,当前帧设置单元可将当前帧的随后的帧设置为新的当前帧,并当第二特征的数量大于或等于门限时,可在新的当前帧中提取第二特征。
当第二特征的数量小于门限时,多帧处理单元可再次运行。
将在接下来的描述中部分阐述实施例的另外的方面,还有一部分通过描述将是清楚的,或者可以经过本公开的实施而得知。
附图说明
通过下面结合附图对实施例进行的描述,这些和/或其它方面将会变得清楚和更易于理解,其中:
图1示出用于描述根据实施例的相机跟踪设备的操作的示图。
图2示出根据实施例的用于跟踪相机的姿态的设备的配置。
图3示出根据实施例的跟踪相机的姿态的方法。
图4示出根据实施例的多帧处理操作。
图5示出根据实施例的特征提取操作。
图6示出根据实施例的特征跟踪操作。
图7示出根据实施例的动态点检测操作。
图8示出根据实施例的相机姿态估计操作。
图9示出根据实施例的单帧处理操作。
具体实施方式
现将详细参考实施例,在附图中示出实施例的示例,其中,相似的标号始终表示相似的元件。以下通过参照附图对实施例进行描述以解释本公开。
三目相机可包括三台同步的相机。所述三台同步的相机可以是共线配置。
以下,术语“姿态”可被替换为位置,术语“序列”可指示通过连续捕捉场景产生的一系列图像。三目序列可指示由包括在三目相机中的三台相机中的每一台连续捕捉场景而产生的三个序列。
三维(3D)位置M可被表示为[X,Y,Z]T。这里,X、Y和Z可分别指示场景点的X坐标、Y坐标和Z坐标。场景点的二维(2D)图像位置m可被表示为[u,v]T
相机变换可被模型化为K[R|t]。在该示例中,K可以是内部矩阵(intrinsic matrix),[R|t]可以是投影矩阵(projective matrix)。
内部矩阵可基于相机的内部属性。相机的内部属性可包括根据沿图像的x轴和y轴的像素的焦距、x轴与y轴之间的斜率以及基本点(principle point)。基本点可指示相机中心到图像平面的投影。
外部矩阵(extrinsic matrix)可对包括旋转R和平移t的相机运动进行建模。因此,投影过程可被表示为λm=K[R|t]M。这里,λ可表示比例因子。“运动结构”(″Structure-from-motion″)可指示从图像测量m’估计所有M和[R|t]。
当选择的场景点全部是静态的时,上述估计可以是高度可靠的。然而,当场景包括多个运动对象时,一些点在捕捉期间可具有多于单个3D位置,从而上述估计可能会被严重地干扰。为了确定点是否是静态的,可检查与所述点相应的所有的2D图像位置的对是否满足对极几何(epipolar geometry)。
当立体装束(rig)可用时,匹配的点的3D位置可通过三角测量被更可靠地计算。两个图像属于相同帧,可直接从立体装束获得左视图与右视图之间的相对姿态。
与3D位置相关联的信息可被用于特征跟踪。特征跟踪可指示连接与相同场景点相应的图像点。
图1示出用于描述根据实施例的相机跟踪设备的操作的示图。
当使用能够拍摄左图像、中间图像和右图像的三目相机时,中间图像中的预定像素很少在左图像和右图像两者中均闭塞。
此外,当使用三目相机时,在每个时间戳可获得三个图像。因此,可采用比对极几何更强的几何约束,以准确地计算跟踪的特征的3D位置并移除异常值(outlier)。
在三目相机的配置中,可假设三目相机中的三台相机的相对姿态固定。此外,可假设三台相机的内部参数在捕捉期间不改变。因此,相机姿态跟踪设备100的输入值可包括三目序列、内部矩阵以及三台相机的相对相机姿态。相机位置跟踪设备100的输出值可包括每个图像的外部矩阵。外部矩阵可包括旋转矩阵和平移矢量。
例如,可通过诸如“用于Matlab的相机校准工具箱”的工具来校准三台相机的内部参数和位置。当两台相机的外部相机参数是[R|t]1和[R|t]2时,可根据等式1来计算所述两台相机之间的相对位置:
等式1
三目序列可被输入到相机姿态跟踪设备100。包括在三目相机中的三台相机的内部矩阵Kleft、Kmiddle和Kright可被用作相机姿态跟踪设备100的输入参数。从左相机到中间相机的投影矩阵[R|t]left→middle以及从左相机到右相机的投影矩阵[R|t]left→right可被用作相机姿态跟踪设备100的输入参数。
一旦计算了三台相机的内部参数和相对姿态,相机姿态跟踪设备100可从由三台相机捕捉的图像中通过三角测量来估计匹配的特征点的3D点。
当计算了跟踪的特征的3D点时,相机姿态跟踪设备100可基于3D-2D对应关系来可靠且迅速地计算相机姿态。
当三目序列包括F个帧时,相机姿态跟踪设备100可输出每个帧的三台相机的每台相机的位置。例如,[R|t]l,left可指示第一帧中的左相机的位置,[R|t]F,right可指示与最后帧相应的第F帧中的右相机的位置。
图2示出根据实施例的相机姿态跟踪设备100的配置。
相机姿态跟踪设备100可基于使用至少三台相机拍摄的帧来跟踪相机的姿态。
相机姿态跟踪设备100可包括多帧处理单元210和单帧处理单元220。
多帧处理单元210可提取和跟踪多帧中的至少一个第一特征,并可基于第一特征来跟踪多帧的每一个帧中的每台相机的姿态。多帧处理单元210可将与第一特征相关联的信息提供给单帧处理单元220。
单帧处理单元220可基于至少一个单帧的每个帧的至少一个第二特征来跟踪所述至少一个单帧的每个帧中的每台相机的姿态。在该示例中,至少一个第二特征中的每一个可对应于至少一个第一特征中的一个,至少一个单帧中的每个帧可以是与多帧连续的帧中的跟踪的第二特征的数量小于门限的初始帧的先前帧。
例如,当多帧处理单元210提取并跟踪多帧中的第一特征时,单帧处理单元220可逐个地处理由多帧处理单元210处理的帧的随后的帧。在该示例中,帧处理可指示相应的帧中的特征的跟踪,并跟踪帧中的每台相机的姿态。当第一特征从多帧处理单元210被提供到单帧处理单元220时,单帧处理单元220可跟踪由多帧处理单元210处理的帧的随后的帧中的第二特征。第二特征中的每一个可以是与第一特征中的一个对应的特征。可选择地,在正由单帧处理单元220处理的当前帧中跟踪的第二特征中的每一个可以是与在先前处理的帧中跟踪的第二特征中的一个对应的特征。
由单帧处理单元220跟踪的第二特征的数量可小于第一特征的数量。例如,当与第一特征中的一个对应的场景点在帧的序列中消失时,与预定的第一特征对应的第二特征可不被跟踪。如上所述,单帧处理单元220可逐个地处理由多帧处理单元210处理的帧的随后的帧。因此,当跟踪的第二特征的数量降低为小于门限时,可不使用单帧处理单元220来跟踪每台相机的姿态。因此,当在与多帧连续的帧中发现第二特征的数量小于门限的帧时,包括发现的帧的多帧可被多帧处理单元210再次处理。
例如,多帧处理单元210和单帧处理单元220的每一个可提供诸如用于识别将被处理的帧的帧号的信息。
多帧处理单元210可使用多帧提取在多帧中常见的第一特征,从而可准确地提取第一特征。单帧处理单元220可在单帧中提取与第一特征对应的第二特征,从而可快速地提取第二特征。也就是说,由于多帧处理单元210和单帧处理单元220交替地运行,故相机姿态跟踪设备100可平衡相机姿态跟踪中的准确度和速度。
多帧处理单元210可包括特征提取器211、特征跟踪单元212、动态点检测器213和相机姿态估计器214。
单帧处理单元220可包括当前帧设置单元221、当前帧特征估计器222、当前帧门限比较器223和当前帧相机姿态估计器224。
将参照图3到图9进一步描述上述构成元件的功能和操作原理。
图3示出根据实施例的跟踪相机的姿态的方法。
在操作310和320,相机姿态跟踪设备100可基于使用至少三台相机拍摄的随后的帧来跟踪每个帧中的每台相机的姿态。至少三台相机可包括左相机、中间相机和右相机。每个帧可包括由左相机捕捉的左图像、由中间相机捕捉的中间图像和由右相机捕捉的右图像。
在操作310,多帧处理单元210可在多帧中提取和跟踪至少一个第一特征。在该示例中,多帧可以是至少两个连续帧。多帧处理单元210可基于跟踪的第一特征来估计多帧的每一个中的每台相机的姿态。多帧的数量可被预先确定。以下,多帧的数量被标示为Nf。多帧处理单元210可对包括Nf个帧的多帧中常见的特征进行提取、三角测量和跟踪。多帧处理单元210可从提取的特征中检测和移除与动态场景点相应的特征。例如,第一特征可对应于由多帧处理单元210提取的特征中的Np个静态第一点,所述Np个静态第一点被成功地跟踪直到多帧的第Nf帧。使用第一特征,多帧处理单元210可同时跟踪Nf个帧中的第一点的3Np个位置和3Nf个相机姿态。
在操作320,单帧处理单元220可基于至少一个单帧的每一个的至少一个第二特征来跟踪所述至少一个单帧的每一个中的每台相机的姿态。在该示例中,至少一个第二特征的每一个可对应于至少一个第一特征中的一个,至少一个单帧中的每一个可以是与多帧连续的帧中的跟踪的第二特征的数量小于门限的初始帧的先前帧。
单帧处理单元220可在作为多帧的随后的帧的第(Nf+1)帧中搜索与前述的Np个第一特征匹配的第二特征。匹配的第二特征的数量可以是N’p。单帧处理单元220可获得第二特征的3D位置。接下来,单帧处理单元220可基于3D-2D对应关系来估计第(Nf+1)帧中的每台相机的姿态。接下来,单帧处理单元220可在第(Nf+2)帧中搜索与N’p个第二特征匹配的第三特征。第三特征的每一个可与第一特征中的一个匹配。上述过程可被重复执行直到在第(N’+n)帧中找到的与第一特征匹配的特征的数量小于门限。
相比于与多帧处理阶段相应的操作310,与单帧处理阶段相应的操作320可被有效、快速地执行。为了使更多帧能够在操作320中被处理,单帧处理单元220可将未匹配的特征投影到多个帧中的第Nf帧。单帧处理单元220可比较投影的点与原始特征之间的局部外观(local appearance)。
在操作320之后,操作310可被再次执行。在这种情况下,在操作310中,多帧处理单元210可在N’f个帧中再次提取新的第一特征。在操作320,单帧处理单元220可跟踪连续帧中与第一特征匹配的新的第二特征。
上述两个阶段过程可被重复直到所有帧被处理。
通过前述的两个阶段过程,可在随后的帧中提取和跟踪特征。多帧处理单元210和单帧处理单元220的每一个可自动地移除指示动态点的特征,并可使用剩余的特征来跟踪每个帧中的每台相机的姿态。
在操作330,可检查是否存在将被处理的帧。当没有将被处理的帧时,过程可被终止。然而,当存在将被处理的帧时,操作310可被重复。
通过两个阶段过程,可粗略和有效地恢复输入三目序列的相机运动,并且可在不降低跟踪的准确度的情况下提高跟踪效率。
将参照图4到图9进一步描述包括操作310和320的两个阶段过程。
图4示出根据实施例的多帧处理操作。
与多帧处理阶段相应的图3的操作310可包括操作410、420、430和440。
在操作410,特征提取器211可从多帧中的第一帧的至少三个图像提取第三特征。将参照图5进一步描述操作410。
在操作420,特征跟踪单元212可跟踪第三特征直到多帧中的最后帧。
典型的特征跟踪方法可在第一帧中提取特征点,并随后逐帧跟踪提取的特征点。在三目相机配置中,当从先前帧到当前帧来跟踪每个特征时,会需要更多候选以减少特征丢失问题。因此,能够采用如下3D跟踪算法:在所述3D跟踪算法中,特征跟踪单元212仅执行跟踪一次,并且不保持多个候选。
将参照图6进一步描述操作420。
在操作430,动态点检测器213可通过从跟踪的第三特征中移除具有动态轨迹的特征来确定第一特征。在第三特征中的移除之后剩余的特征可以是第一特征。将参照图7进一步描述操作430。
在操作440,相机位置估计器214可基于第一特征来估计多帧的每一个中的每台相机的姿态。将参照图8进一步描述操作440。
图5示出根据实施例的特征提取操作。
在产生点和尺度不变特征变换(SIFT)描述符的操作510中,特征提取器211可从多帧中的第一帧的至少三个图像提取点。在该示例中,点可以是由角和边检测器检测的Harris角点。
特征提取器211可使用来自多帧中的第一帧的三个图像的常量尺度(constant scale)来产生SIFT描述符。通常,三个图像中的尺度变化小。
在操作520,特征提取器211可通过使用产生的SIFT描述符之间的描述符比较来匹配提取的点并通过将匹配的点连接作为特征,来产生第三特征。为了加速,特征提取器211可使用k-d树用于描述符比较。
通过匹配产生的第三特征可包括异常值。以下,通过匹配产生的第三特征被表示为候选特征x。
在操作530,特征提取器211可使用三个几何约束的至少一个来移除产生的第三特征中的异常值。三个几何约束可包括对极约束、二次投影约束和深度范围约束。
特征提取器211可基于以下等式2从视图i和j的相对姿态获得基本矩阵Fi→j。这里,Fi→j可以是视图i和j的每一个的基本矩阵,可以是从视图i到视图j的基本矩阵。视图i可以是三台相机中的第i相机视图。
等式2
F i → j = K j - T [ t 1 → 2 ] x R 1 → 2 K i
在等式2中,K表示内部参数,t1→2表示三台相机中从第一相机到第二相机的平移矢量,R1→2表示从第一相机到第二相机的旋转矩阵,[t]x表示矢量t的斜对称矩阵。
[t]x可以被定义为等式3:
等式3
[ t ] x = 0 - t 3 t 2 t 3 0 - t 1 - t 2 t 1 0
因此,可对所有x建立以下等式4。特征提取器211可将以下等式4未建立的候选特征x确定为异常值。
等式4
[t]xx=t×x
二次投影验证可作为第二几何测试被应用。
例如,特征提取器211可将左相机设置为参考相机。当左相机被设置为参考相机时,可对左相机的投影矩阵[R|t]left建立以下等式5。
等式5
[R|t]left=[I|O]
使用上述设置,特征提取器211可分别根据等式6和等式7计算中间相机的投影矩阵[R|t]middle和右相机的投影矩阵[R|t]right
等式6
[R|t]middle=[R|t]left→middle
等式7
[R|t]right=[R|t]left→right
使用相机的姿态,特征提取器211可对每个候选特征x的3D位置M进行三角测量。
二视图三角测量可以比三视图三角测量更加稳定和有效。因此,特征提取器211可使用左相机(也就是,左图像)中的匹配的特征点mleft和右相机(也就是,右图像)中的匹配的特征点mright对M进行初始化。例如,特征提取器211可使用Samson非理想三角测量算法(Samson suboptimaltriangulation algorithm)对M进行初始化。在该示例中,特征点可指示图像中与特征对应的点。
在M的初始化之后,特征提取器211可通过添加中间相机中的特征点mmiddle,并基于mleft、mmiddle和mright通过最小化以下等式8的能量函数,来对M进一步进行精细化。
等式8
min M Σ i ∈ { left , middle , right } π ( K ( R i M + t i ) ) - m i | | 2 2
在等式8中,投影函数π(·)可被定义为等式9:
等式9
π([X,Y,Z]T)=(X/Z,Y/Z)
能量函数的最小值可以是候选特征x的二次投影误差。
特征提取器211可将用于候选特征x的能量函数的最小值用作二次投影验证的标准。
特征提取器211可将不满足上述两个几何约束中的一个的候选特征识别为异常值。
即使候选特征满足上述两个几何约束两者,候选特征可能仍然是异常值。在这种情况下,候选特征的三角测量的深度通常是异常的。异常的深度可指示非常小或非常大的深度。因此,特征提取器211可使用深度范围约束来移除异常值。特征提取器211可将深度值在指定深度范围
Figure BDA00002004014400112
之外的候选特征确定为异常值,并可移除被确定为异常值的候选特征。
为了自动地计算每个视图i的深度范围
Figure BDA00002004014400113
特征提取器211可使用两步骤自适应门限选择策略。
在第一步骤中,对每个视图i,特征提取器211可计算视图i中出现的所有特征的深度值。特征提取器211可从计算的深度值中选择80%最小的深度值。使用选择的深度值,特征提取器211可计算视图i的平均深度值
Figure BDA00002004014400121
和方差
Figure BDA00002004014400122
特征提取器211可分别根据等式10和等式11,使用平均深度值
Figure BDA00002004014400123
和方差计算深度范围的最小值
Figure BDA00002004014400125
和最大值
Figure BDA00002004014400126
等式10
Z near i = max { Z avg i - λ Z Z var i , 0 }
等式11
Z far i = Z avg i + λ Z Z var i
这里,参数λZ的值可被设置为“5”。
然而,计算的
Figure BDA00002004014400129
通常非常接近于0,从而会是无用的。
在第二步骤中,特征提取器211可更准确地计算
Figure BDA000020040144001210
可使用给定的三角计算的视图来获得三个视图对。三个视图对可被表示为等式12所示:
等式12
i,j∈{1,2,3},i<j
由于三目相机具有几乎相同的方向,故不重要的旋转分量可被忽略。因此,当(Xi,Yi,ZiT是针对第i相机的特征点的3D位置时,特征提取器211可分别根据等式13和等式14来计算xi和xj。这里,xi可以是第i视图的焦点图像平面的x坐标,xj可以是第j视图的焦点图像平面的x坐标:
等式13
xi=Xi/Zi
等式14
xj=(Xi+tx,i→j)/Zi
因此,特征提取器211可根据等式15计算第i视图中的特征点的深度Zi,:
等式15:
Zi=tx,i→j
特征提取器211可根据等式16计算dxij
等式16
dxij=|xi-xj|
如上所述,选择最小深度值
Figure BDA00002004014400131
可相当于选择dxij的最大值。
特征提取器211可计算候选特征中的在第i视图和第j视图两者中出现的每个特征候选的dxij。特征提取器211可收集所有计算的dxij值并可按照递减顺序来对收集的dxij值进行排序,诸如{dx1,dx2,……}。
特征提取器211可选择排序的dxij值中的与上部80%相应的dxij作为标准视差(disparity)值dxα
特征提取器211可根据等式17计算第i视图的最小深度值:
等式17
Z near i = min j t x , i → j / ( λ z dx α )
图6示出根据实施例的特征跟踪操作。
在图4的操作420,两个帧中的第三特征的运动可被跟踪。以下,将描述基于先前帧中的特征的位置和位置运动来计算当前帧中的特征的位置的方法。
可假设在连续帧坐标系统之间,提取的特征的3D位置不改变。特征的3D位置运动V可被公式化为等式18:
等式18
M′=M+V
在等式18中,M表示先前帧中的特征的3D位置,M’可表示当前帧中的特征的3D位置。
用于计算位置运动的最基本的测量可以是先前帧中的图像补片(imagepatch)与当前帧中的图像补片之间的相似性。
特征跟踪单元212可基于等式19最小化能量函数f(v)。在该示例中,能量函数f(v)可表示先前帧中的图像补片与当前帧中的图像补片之间的相似性。
等式19
f ( V ) = Σ i ∈ { left , middle , right } Σ j ∈ W { I i cur [ Loc ( M + V , i , j ) ] - I i pre [ Loc ( M , i , j ) ] } 2
在等式19中,
Figure BDA00002004014400142
表示先前帧中的第i图像,
Figure BDA00002004014400143
表示当前帧中的第i图像,Loc(M,i,j)表示局部窗口的第j像素的位置,所述局部窗口集中在第i图像平面上的M的投影。
特征跟踪单元212可根据等式20计算Loc(M,i,j):
等式20
Loc(M,i,j)=π(Ki(RiM+ti))+vj
在等式20中,vj表示第j像素距局部窗口的中心的偏移。
以下,为了简明,
Figure BDA00002004014400144
将由
Figure BDA00002004014400145
表示。这里,k∈{pre,cur}。因此,等式19可被简化为等式21:
等式21
f ( V ) = Σ i ∈ { left , middle , right } Σ j ∈ W [ I i cur ( M + V , j ) - I i pre ( M , j ) ] 2
等式21可被修改为等式22:
等式22
f ( V ) = Σ i ∈ { left , middle , right } Σ j ∈ W [ I i cur ( M + V , j ) - I i pre ( M - V , j ) ] 2
另外,等式18可被修改为等式23,并且M’可被定义为等式23:
等式23
M′=M+2V
当3D运动V很小时,项
Figure BDA00002004014400151
Figure BDA00002004014400152
可被近似为等式24:
等式24
I i k ( M ± V , j ) ≈ I i k ( M , j ) ± ∂ I i k ( M , j ) ∂ M V
在等式24中,k∈{pre,cur}。
特征跟踪单元212可基于根据等式25的连锁规则,来分析地计算
Figure BDA00002004014400154
等式25
∂ I i k ( M , j ) ∂ M = ∂ I i k ∂ m j ∂ m j ∂ m i ∂ m i ∂ M c ∂ M c ∂ M
在等式25中,Mc表示相机坐标系统中的3D位置,mi表示2D平面中的2D位置,Mj表示集中在mi的局部窗口内的第j像素的2D位置。
由于建立了等式26、等式27和等式28,故也可建立等式29。特征跟踪单元212可根据等式29计算
等式26
Mc=RiM+ti
等式27
mi=π(KiMc)
等式28
mj=mi+vj
等式29
∂ I i k ( M , j ) ∂ M = g i k ( m j ) · H ( M c ) · R i
在等式29中,
Figure BDA00002004014400162
表示图像梯度,H([X Y Z]T)是π(Ki[X Y Z]T)的雅可比矩阵(Jacobian matrix),并可被定义为等式30:
等式30
H ( X Y Z ) = f x / Z 0 - f x X / Z 2 0 f y / Z - f y Y / Z 2
组合等式22、等式24和等式29,f(v)可被近似为等式31:
等式31
f ( V ) ≈ Σ i ∈ { left , middle , right } Σ j ∈ W ( g i , j · T i · V - d i , j ) 2
这里,gi,j、Ti和di,j可分别被定义为等式32、等式33和等式34:
等式32
g i , j = g i pre ( m j ) + g i cur ( m j )
等式33
Ti=H(Mc)·Ri
等式34
d i , j = I i pre ( M , j ) - I i cur ( M , j )
这里,下标可指示依赖关系。例如,HRi可指示HRi仅依赖于视图索引并与图像补片无关。等式31中的f(v)的最小化可相当于解等式35的3×3系统:
等式35
[ Σ i ∈ { left , middle , right } T i T ( Σ j ∈ W g i , j T g i , j ) T i ] · V = Σ i ∈ { left , middle , right } T i T · ( Σ j ∈ W g i , j T d i , j )
特征跟踪单元212可采用迭代方案来获得3D位置运动V的解。
在操作610,特征跟踪单元212可将迭代k的数量初始化为“0”。
在操作620,特征跟踪单元212可根据等式35来计算能量函数的初始化的值V(0)
在操作630,特征跟踪单元212可根据等式36来计算特征的初始化位置M’(0)
等式36
M′(0)=M+2V(0)
在操作640,特征跟踪单元212可将迭代k的数量每次增加“1”。
在操作650,特征跟踪单元212可根据等式37来计算在第k迭代的能量函数f(v(k)):
等式37
f ( V ( k ) ) = Σ i ∈ { left , middle , right } Σ j ∈ W [ I i cur ( M ′ ( k - 1 ) + V ( k ) , j ) - I i pre ( M - V ( k ) , j ) ] 2
在操作660,特征跟踪单元212可根据等式38来计算在第k迭代的特征的位置M’(k)
等式38
M′(k)=M′(k-1)+2V(0)
当在操作670k是小于或等于预定门限时,特征跟踪单元212可再次执行操作640。当k达到预定门限时,特征跟踪单元212可终止f(v(k))和M’(k)的迭代计算。
在操作680,特征跟踪单元212可基于计算的位置来跟踪当前帧中的每个特征。例如,特征跟踪单元212可同时跟踪连续帧中的特征之间的对应关系以及帧的3D位置。
特征跟踪单元212可通过将操作610到操作680顺序地应用到多帧中的连续帧,来跟踪第三特征的每一个直到多帧中的最后帧。
图7示出根据实施例的动态点检测操作。
图7可与在图4的操作410和420中提取和跟踪的第三特征有关。
为了检测动态点,例如,由Yaser Sheikh等人在“用于自动运动相机的背景抽取(background subtraction for freely moving cameras)”中提出的2D背景抽取算法可被普遍化以应用在3D轨迹空间。考虑到三台相机是静态的,从而静态点可被认为严格地按照与三目装束的实际运动相反的方式运动。因此,静态点的轨迹可位于低维度子空间中。
点的轨迹可被定义为连续帧内的3D坐标的联结(catenation)。
当在操作410和操作420中在Nf个多帧中提取和跟踪Np个点时,动态点检测器213可根据等式39计算第i点的轨迹wi
等式39
w i = [ M i , 1 T · · · M i , N f T ] T ∈ R 3 N f × 1
在等式39中,Mi,j表示第j帧中的局部坐标。
动态点检测器213可如等式40所示将所有Np个点排列到3Nf×Np矩阵W中:
等式40
W = [ w 1 · · · w N p ] = M 1,1 · · · M N p , 1 · · · · · · M 1 , N f · · · M N p , N f
当点的每一个是静态的时,Mi,j可相当于
Figure BDA00002004014400183
对于所有的i∈Np。这里,
Figure BDA00002004014400184
指示四维(4D)世界齐次(world homogeneous)坐标。[R|t]j表示针对第j帧的刚性运动的3×4矩阵。
因此,W可被因子化为等式41:
等式41
W = [ R | t ] 1 · · · [ R | t ] N f M ~ 1 · · · M ~ N p
根据等式41的因式分解提出W的秩最多是4。静态点的轨迹可位于由四个基本轨迹跨越(span)的子空间中。
随机采样一致(RANSAC)算法可被用于在识别位于子空间内的轨迹的同时粗略地计算4D轨迹子空间的最优估计。在每个迭代,由W1、W2、W3和W4指示的四个轨迹可被随机地选择以形成子空间,并且矩阵W4(W4 TW4)-1W4 T可被用于将其他轨迹投影到该子空间。这里,W4=[W1……W4]。为了评估给定的轨迹可属于子空间的可能性,动态点检测器213可直接测量原始轨迹与投影的轨迹之间的欧几里得距离。
实际上,可能会难以调准(tune)用于在3Nf空间中定义的欧几里得距离的门限,以确定轨迹是否在子空间中。相反,为了评估wi,动态点检测器213可将投影的轨迹W4(W4 TW4)-1W4 T wi划分为Nf个帧点
Figure BDA00002004014400192
动态点检测器213可根据等式42计算投影误差f(wi):
等式42
f ( w i ) = Σ j = 1 · · · N f Σ k ∈ { left , middle , right } | | π ( K k ( R k M i , j ′ + t k ) ) - m i , j , k | | 2
在等式42中,mi,j,k表示第j帧的第k图像中的第i点的位置。
在操作710,动态点检测器213可选择四个轨迹W1、W2、W3和W4以形成子空间。
在操作720,动态点检测器213可基于RANSAC算法检测选择的四个轨迹W1、W2、W3和W4中的一致性。
当在操作730数据中存在足够的一致性以支持选择的轨迹时,动态点检测器213可终止该程序,否则,可重复操作710。动态点检测器213可选择另外四个轨迹直到找到最大一致集。
在操作740,动态点检测器213可将不属于最大一致集的轨迹认为是动态点。
如上所述,动态点检测器213可计算每个第三特征的4D轨迹子空间,并可基于计算的4D轨迹子空间来确定每个第三特征是否具有动态轨迹。
动态点检测器213可通过从被跟踪直到最后帧的第三特征中移除具有动态轨迹的特征来确定第一特征。例如,第一特征可以是从第一帧提取的第三特征中的被跟踪直到最后帧的特征,并且不具有动态轨迹。
图8示出根据实施例的相机姿态估计操作。
当在操作310提取第一特征、在Nf个帧中跟踪提取的第一特征、并且移除动态点时,相机姿态估计器214可经由运动结构技术同时估计Np个点的世界坐标和3Nf台相机的运动。Np个点的每一个被标示为Mi。这里,i=1,……,Nf
取代于估计3Nf台相机的运动,相机姿态估计器214可仅估计当前跟踪的后续序列(subsequence)的Nf-1个帧装束,所述后续序列是指可通过从另一序列删除一些元素而不改变剩余元素的顺序而获得的序列。已知三台相机中的相对姿态是固定的。对于整个序列的第一帧,后续序列的第一帧装束可被设置为[I|0],或者第一帧装束可在先前跟踪的后续序列中被估计。因此,相机姿态估计器214可仅估计当前估计的联结的Nf-1个帧装束。
相机姿态估计器214可设置在左相机的帧装束。相机姿态估计器214可根据等式43从帧装束获得3Nf台相机姿态:
等式43
[R|t]j,left=[R|t]j
[R|t]j,middle=[Rleft→middleRj|Rleft→middletj+tleft→middle]
[R|t]j,right=[Rleft→rightRj|Rleft→righttj+tleft→right]
在等式43中,[R|t]j,k表示3Nf台相机中的一台的位置,j=1……Nf,k∈{left,middle,right},[R|t]j表示帧装束,j=1……Nf
在操作810,由于在当前后续序列的第一帧中对Np个点进行三角计算,故相机姿态估计器214可通过已知帧装束的逆变换对第一帧中的Np个点的世界坐标进行初始化。
在操作820,相机姿态估计器214可经由Levenberg-Marquardt算法和由Long Quan等人提出的相机姿态估计方法通过采用非线性优化,来对剩余的帧装束进行初始化。
例如,相机姿态估计器214可根据等式44对第j帧执行初始化:
等式44
min [ R | t ] j Σ i ∈ N j Σ k ∈ { left , middle , right } | | m i , j , k - m i , j , k ′ | | 2
在等式44中,mi,j,k表示第j帧的第k图像中的第i点的2D测量,
Figure BDA00002004014400212
表示将第i点二次投影到第j帧的第k图像,Nj表示第j帧中的可视点的数量。
在初始化之后的操作830,相机姿态估计器214可根据等式45针对所有3D点和相机参数最小化二次投影误差:
等式45
min M 1 · · · M N [ R | t ] 2 · · · [ R | t ] M Σ i ∈ N p Σ j ∈ 1 · · · N f Σ k ∈ { left , middle , right } | | m i , j , k - m i , j , k ′ | | 2
与等式44不同,由于用于不同3D点和相机的参数之间缺乏关联(interaction),故与正常等式相应的等式45可具有稀疏的块结构。
由于Levenberg-Marquardt算法的稀疏的变量(variant)避免存储和操作零元素,故可从正常等式的零样式获得增益。可通过采用Levenberg-Marquardt算法的稀疏的变量来利用稀疏的块结构,以获得巨大的计算优势。稀疏的块结构可被称为束调节(bundle adjustment),并可被用作几乎每个基于特征的运动结构系统的最后的标准步骤。
特别地,对于等式44和等式45,相机姿态估计器214可基于例如由NoahSnavely等人提出的等式46中示出的方法,通过采用用于ω的三个参数、增量旋转矩阵
Figure BDA00002004014400214
的参数化和用于相机中心c的三个参数,来参数化[R|t]。
等式46
R ω incr = I + sin θ [ n ^ ] x + ( 1 - cos θ ) [ n ^ ] x 2 , ω = θ n ^
R = R ω incr R init
t=-Rc
在等式46中,
Figure BDA00002004014400223
表示等式3中定义的斜对称矩阵,Rinit表示初始旋转矩阵。相机姿态估计器214可根据等式47将Mi投影到第j帧中的三个视图:
等式47
m i , j , left ′ = π ( K left ( R ω j incr R j init ( M i - c j ) ) )
m i , j , middle ′ = π ( K middle ( R left → middle R ω j incr R j init ( M i - c j ) + t letf → middle ) )
m i , j , right ′ = π ( K righ ( R left → right R ω j incr R j init ( M i - c j ) + t letf → right ) )
对于等式44和等式45中的f(v),相机姿态估计器214可基于连锁规则分析地计算雅可比矩阵。
相机姿态估计器214可根据等式48计算中间视图Mmiddle
等式48
M middle = R left → middle R ω incr R init ( M - c ) + t left → middle
在等式48中,可针对中间相机来表示M的坐标。
相机姿态估计器214可分别根据等式49、等式50和等式51来计算
Figure BDA00002004014400228
等式49
∂ m middle ′ ∂ ω k = H ( M middle ) · R left → middle ∂ R ω incr ω k R init · ( P - c ) , k = 1 · · · 3
等式50
∂ m middle ′ ∂ c = - H ( M middle ) · R left → middle R ω j incr R j init
等式51
∂ m middle ′ ∂ M = - H ( M middle ) · R left → middle R ω j incr R j init
这里,H(·)可等于等式30中所定义的。
R left → middle ∂ R ω incr ω 1 R init R left → middle R ω j incr R j init 可对于全部的点是相同的。一旦帧装束被更新,则相机姿态估计器214可预先计算项 R left → middle ∂ R ω incr ω 1 R init R left → middle R ω j incr R j init .
Figure BDA00002004014400236
Figure BDA00002004014400237
仅在符号上不同,并不需要被计算两次,也就是说,仅作为示例,如果的值是+3,那么的值是-3。相机姿态估计器214可使用与所述方法相似的方法来获得右视图的雅可比矩阵。
在操作840,相机姿态估计器214可根据等式43从帧装束获得3Nf个相机姿态。
图9示出根据实施例的单帧处理操作。
与单帧处理阶段相应的图3的操作320可包括操作910、920、930、940和950。
在操作320,可在当前帧中估计每台相机的姿态。可通过线性N点相机姿态确定方法来对当前帧进行初始化。此外,可基于等式43和等式44对操作320进行优化。与多帧处理阶段相应的操作310和与单帧处理阶段相应的操作320之间的区别之一在于束调节在操作320中可变为非常局部。也就是说,操作320中可调节的点可能会限于在当前帧和当前帧装束中出现的点。为了避免局部优化,单帧处理单元220还可测量先前帧中的点的投影。因此,涉及的先前帧的相机参数可被用作等式45中的常量。
可在操作310中提取和跟踪第一特征之后执行操作320。
在操作910,当前帧设置单元221可将多帧中的随后的帧设置为当前帧。
在操作920,当前帧特征估计器222可提取和跟踪当前帧中的第二特征。第一特征的每一个可相应于在操作310中提取和跟踪的第一特征中的一个。例如,第二特征可相应于在多帧中提取的连续出现在当前帧中的第一特征。
在操作930,当前帧门限比较器223可检查在当前帧中提取的第二特征的数量是否大于或等于门限。当提取的第二特征的数量大于或等于门限时,可执行操作940。
相反,当提取的第二特征的数量小于门限时,可终止与单帧处理阶段相应的操作320。在终止操作320之后,当在操作330存在将被处理的帧时,多帧处理单元210可通过再次执行操作310来再次运行。这里,操作310中的多帧可相应于在当前帧中开始的至少两个连续帧。
在操作940,当前帧相机姿态估计器224可估计当前帧中的每台相机的姿态。
在操作950,当前帧设置单元221可将当前帧的随后的帧设置为新的当前帧。接下来,可重复执行操作920。也就是说,当前帧特征估计器222可在新的当前帧中提取第二特征。
参照图1到图8做出的上述技术描述可被应用到当前实施例,从而这里将省略进一步的详细描述。
上述实施例可记录在包括用于实施由计算机实现的各种操作的程序指令的非暂时计算机可读介质中。所述介质还可包括单独或组合的程序指令、数据文件、数据结构等。记录在介质上的程序指令可以是特别设计和构造用于是实施的目的,或者程序指令可对计算机软件领域中的技术人员是公知和可用的。非暂时计算机可读介质的示例包括:磁介质,诸如硬盘、软盘和磁带;光介质,诸如CD-ROM盘和DVD;磁光介质,诸如光盘;被特定配置为存储和执行程序指令的硬件装置,诸如只读存储器(ROM)、随机存取存储器(RAM)、闪存等。计算机可读介质还可以是分布的网络,从而程序指令以分布式方式被存储和运行。程序指令可由一个或多个处理器运行。计算机可读介质还可实施为至少一个运行(像处理器一样处理)程序指令的专用集成电路(ASIC)或现场可编程门阵列(FPGA)。程序指令的示例包括机器码(诸如由编译器产生)和包含可由计算机使用解释器运行的更高级代码的文件两者。所述硬件装置可被配置为作为一个或多个软件模块,以执行上述实施例的操作,反之亦然。
虽然已经显示和描述了实施例,但是本领域的技术人员将理解,在不脱离由权利要求及其等同物限定范围的本公开的原理和精神的情况下,可对这些实施例做出改变。

Claims (17)

1.一种基于使用至少三台相机拍摄的帧来跟踪相机姿态的方法,所述方法包括:
提取和跟踪多帧中的至少一个第一特征,并基于第一特征跟踪多帧的每一帧中的每台相机的姿态;以及
基于至少一个单帧的每一帧的至少一个第二特征来跟踪所述至少一个单帧的每一帧中的每台相机的姿态,
其中,所述至少一个第二特征的每一个相应于所述至少一个第一特征中的一个,所述至少一个单帧的每一帧是与多帧连续的帧中的跟踪的第二特征的数量小于门限的初始帧的先前帧。
2.如权利要求1所述的方法,其中,所述跟踪多帧中的至少一个第一特征的步骤包括:
从多帧中的第一帧的至少三个图像中提取第三特征;
跟踪第三特征直到多帧中的最后帧;
通过从跟踪的第三特征中移除具有动态轨迹的特征来确定第一特征;以及
基于第一特征来估计多帧的每一帧中的每台相机的姿态。
3.如权利要求2所述的方法,其中,提取第三特征的步骤包括:
从第一帧的至少三个图像中提取点,以产生尺度不变特征变换SIFT描述符;以及
通过使用产生的SIFT描述符之间的描述符比较来匹配提取的点并通过将匹配的点连接作为特征,来产生第三特征。
4.如权利要求3所述的方法,其中,提取第三特征的步骤还包括:
使用几何约束移除第三特征中的异常值。
5.如权利要求4所述的方法,其中,几何约束包括对极约束、二次投影约束和深度范围约束中的至少一个。
6.如权利要求1所述的方法,其中,所述跟踪所述至少一个单帧的每一帧中的每台相机的姿态的步骤包括:
将多帧的随后的帧设置为当前帧;
在当前帧中提取与第一特征的一个对应的第二特征;
当第二特征的数量大于或等于门限时,估计当前帧中的每台相机的姿态;以及
将当前帧的随后的帧设置为新的当前帧,并当第二特征的数量大于或等于门限时,在新的当前帧中提取第二特征。
7.如权利要求6所述的方法,其中,所述跟踪多帧中的至少一个第一特征的步骤包括:
当第二特征的数量小于门限时,再次跟踪多帧的每一帧中的每台相机的姿态。
8.一种基于使用至少三台相机拍摄的帧来跟踪相机姿态的设备,所述设备包括:
多帧处理单元,提取和跟踪多帧中的至少一个第一特征,并基于第一特征跟踪多帧的每一帧中的每台相机的姿态;以及
单帧处理单元,基于至少一个单帧的每一帧的至少一个第二特征来跟踪所述至少一个单帧的每一帧中的每台相机的姿态,
其中,所述至少一个第二特征的每一个相应于所述至少一个第一特征中的一个,所述至少一个单帧的每一帧是与多帧连续的帧中的跟踪的第二特征的数量小于门限的初始帧的先前帧。
9.如权利要求8所述的设备,其中,多帧处理单元包括:
特征提取器,从多帧中的第一帧的至少三个图像中提取第三特征;
特征跟踪单元,跟踪第三特征直到多帧中的最后帧;
动态点检测器,通过从跟踪的第三特征中移除具有动态轨迹的特征来确定第一特征;以及
相机姿态估计器,基于第一特征来估计多帧的每一帧中的每台相机的姿态。
10.如权利要求9所述的设备,其中,动态点检测器计算第三特征的每一个的四维(4D)轨迹子空间,并基于4D轨迹子空间确定第三特征的每一个是否具有动态轨迹。
11.如权利要求9所述的设备,其中,特征提取器从第一帧的至少三个图像中提取点,以产生尺度不变特征变换SIFT描述符,并通过使用产生的SIFT描述符之间的描述符比较来匹配提取的点并通过将匹配的点连接作为特征,来产生第三特征。
12.如权利要求11所述的设备,其中,特征提取器使用几何约束移除第三特征中的异常值。
13.如权利要求12所述的设备,其中,几何约束包括对极约束、二次投影约束和深度范围约束中的至少一个。
14.如权利要求8所述的设备,其中,单帧处理单元包括:
当前帧设置单元,将多帧的随后的帧设置为当前帧;
当前帧特征估计器,在当前帧中提取与第一特征的一个对应的第二特征;
门限比较器,当第二特征的数量大于或等于门限时,估计当前帧中的每台相机的姿态,
其中,当第二特征的数量大于或等于门限时,当前帧特征设置单元将当前帧的随后的帧设置为新的当前帧,并当第二特征的数量大于或等于门限时,在新的当前帧中提取第二特征。
15.如权利要求14所述的设备,其中,当第二特征的数量小于门限时,多帧处理单元再次运行。
16.一种跟踪至少三台相机的每一台的姿态的方法,所述方法包括:
从使用所述至少三台相机拍摄的至少两个连续帧中提取第一静态特征;
跟踪从所述至少两个连续帧中提取的第一静态特征;
基于跟踪的第一静态特征来估计所述至少三台相机的每一台的姿态;
从使用所述至少三台相机拍摄的至少一个单帧中提取第二静态特征;以及
基于提取的第二静态特征来跟踪在每个单帧中的所述至少三台相机的每一台的姿态。
17.如权利要求16所述的方法,其中,第二静态特征相应于第一静态特征。
CN201210286784.XA 2012-01-18 2012-08-13 用于相机跟踪的方法和设备 Active CN103218799B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2012-0005745 2012-01-18
KR1020120005745A KR101926563B1 (ko) 2012-01-18 2012-01-18 카메라 추적을 위한 방법 및 장치

Publications (2)

Publication Number Publication Date
CN103218799A true CN103218799A (zh) 2013-07-24
CN103218799B CN103218799B (zh) 2017-09-29

Family

ID=48779991

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210286784.XA Active CN103218799B (zh) 2012-01-18 2012-08-13 用于相机跟踪的方法和设备

Country Status (3)

Country Link
US (1) US8873802B2 (zh)
KR (1) KR101926563B1 (zh)
CN (1) CN103218799B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108062776A (zh) * 2018-01-03 2018-05-22 百度在线网络技术(北京)有限公司 相机姿态跟踪方法和装置
CN109813251A (zh) * 2017-11-21 2019-05-28 蒋晶 用于三维测量的方法、装置以及系统
CN111133473A (zh) * 2017-09-28 2020-05-08 三星电子株式会社 相机姿态确定和跟踪
CN112037261A (zh) * 2020-09-03 2020-12-04 北京华捷艾米科技有限公司 一种图像动态特征去除方法及装置

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9373040B2 (en) * 2011-11-01 2016-06-21 Google Inc. Image matching using motion manifolds
JP6129981B2 (ja) * 2013-10-01 2017-05-17 株式会社日立製作所 移動体位置推定装置および移動体位置推定方法
US10546385B2 (en) * 2016-02-25 2020-01-28 Technion Research & Development Foundation Limited System and method for image capture device pose estimation
US10318834B2 (en) * 2017-05-01 2019-06-11 Intel Corporation Optimized image feature extraction
WO2019019157A1 (en) * 2017-07-28 2019-01-31 Qualcomm Incorporated INITIALIZING IMAGE SENSOR IN A ROBOTIC VEHICLE
CN108615248B (zh) * 2018-04-27 2022-04-05 腾讯科技(深圳)有限公司 相机姿态追踪过程的重定位方法、装置、设备及存储介质
WO2019233090A1 (zh) * 2018-06-07 2019-12-12 驭势科技(北京)有限公司 一种同时定位与建图的方法及装置
CN111210476B (zh) * 2018-11-22 2023-06-23 驭势科技(北京)有限公司 一种同时定位与建图的方法及装置
CN109785367B (zh) * 2019-01-21 2019-12-20 视辰信息科技(上海)有限公司 三维模型追踪中外点滤除方法和装置
CN110335308B (zh) * 2019-06-28 2021-07-30 中国科学院自动化研究所 基于视差约束与双向环形检验的双目视觉里程计计算方法
CN110349250B (zh) * 2019-06-28 2020-12-22 浙江大学 一种基于rgbd相机的室内动态场景的三维重建方法
CN111950370B (zh) * 2020-07-10 2022-08-26 重庆邮电大学 动态环境下线拓展视觉里程计方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6571024B1 (en) * 1999-06-18 2003-05-27 Sarnoff Corporation Method and apparatus for multi-view three dimensional estimation
CN101266652A (zh) * 2007-03-15 2008-09-17 佳能株式会社 信息处理设备、信息处理方法和校准工具
US20090207257A1 (en) * 2008-02-14 2009-08-20 Sang-Hack Jung Camera egomotion estimation from an infra-red image sequence for night vision
CN102089738A (zh) * 2008-06-11 2011-06-08 诺基亚公司 用于用户界面控制的相机姿态
CN102163331A (zh) * 2010-02-12 2011-08-24 王炳立 采用标定方法的图像辅助系统
CN102221884A (zh) * 2011-06-15 2011-10-19 山东大学 一种基于摄像机实时定标的可视遥在装置及其工作方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6693666B1 (en) 1996-12-11 2004-02-17 Interval Research Corporation Moving imager camera for track and range capture
JP2003141527A (ja) 2001-11-07 2003-05-16 Japan Science & Technology Corp 多視点画像処理システムのキャリブレーション装置及びキャリブレーション方法
JP2003279310A (ja) 2002-03-22 2003-10-02 Canon Inc 位置姿勢補正装置、及び位置姿勢補正方法
US7333133B2 (en) 2003-03-31 2008-02-19 Spatial Integrated Systems, Inc. Recursive least squares approach to calculate motion parameters for a moving camera
GB2411532B (en) * 2004-02-11 2010-04-28 British Broadcasting Corp Position determination
WO2006004043A1 (ja) 2004-07-07 2006-01-12 Nec Corporation 広視野画像入力方法及び装置
JP2007255955A (ja) 2006-03-22 2007-10-04 Mitsubishi Electric Corp 姿勢角検出装置、カメラ
US20070248330A1 (en) 2006-04-06 2007-10-25 Pillman Bruce H Varying camera self-determination based on subject motion
JP2011035642A (ja) 2009-07-31 2011-02-17 Fujifilm Corp 多眼撮影装置およびその調整方法並びにプログラム
US8339459B2 (en) * 2009-09-16 2012-12-25 Microsoft Corporation Multi-camera head pose tracking

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6571024B1 (en) * 1999-06-18 2003-05-27 Sarnoff Corporation Method and apparatus for multi-view three dimensional estimation
CN101266652A (zh) * 2007-03-15 2008-09-17 佳能株式会社 信息处理设备、信息处理方法和校准工具
US20090207257A1 (en) * 2008-02-14 2009-08-20 Sang-Hack Jung Camera egomotion estimation from an infra-red image sequence for night vision
CN102089738A (zh) * 2008-06-11 2011-06-08 诺基亚公司 用于用户界面控制的相机姿态
CN102163331A (zh) * 2010-02-12 2011-08-24 王炳立 采用标定方法的图像辅助系统
CN102221884A (zh) * 2011-06-15 2011-10-19 山东大学 一种基于摄像机实时定标的可视遥在装置及其工作方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111133473A (zh) * 2017-09-28 2020-05-08 三星电子株式会社 相机姿态确定和跟踪
CN111133473B (zh) * 2017-09-28 2024-04-05 三星电子株式会社 相机姿态确定和跟踪
CN109813251A (zh) * 2017-11-21 2019-05-28 蒋晶 用于三维测量的方法、装置以及系统
CN109813251B (zh) * 2017-11-21 2021-10-01 蒋晶 用于三维测量的方法、装置以及系统
CN108062776A (zh) * 2018-01-03 2018-05-22 百度在线网络技术(北京)有限公司 相机姿态跟踪方法和装置
CN108062776B (zh) * 2018-01-03 2019-05-24 百度在线网络技术(北京)有限公司 相机姿态跟踪方法和装置
US10964049B2 (en) 2018-01-03 2021-03-30 Baidu Online Network Technology (Beijing) Co., Ltd. Method and device for determining pose of camera
CN112037261A (zh) * 2020-09-03 2020-12-04 北京华捷艾米科技有限公司 一种图像动态特征去除方法及装置

Also Published As

Publication number Publication date
KR101926563B1 (ko) 2018-12-07
US20130182894A1 (en) 2013-07-18
CN103218799B (zh) 2017-09-29
US8873802B2 (en) 2014-10-28
KR20130084849A (ko) 2013-07-26

Similar Documents

Publication Publication Date Title
CN103218799A (zh) 用于相机跟踪的方法和设备
Usenko et al. Visual-inertial mapping with non-linear factor recovery
EP3182373B1 (en) Improvements in determination of an ego-motion of a video apparatus in a slam type algorithm
CN107292949B (zh) 场景的三维重建方法、装置及终端设备
Engel et al. Semi-dense visual odometry for a monocular camera
Lim et al. Real-time 6-DOF monocular visual SLAM in a large-scale environment
Saxena et al. Depth Estimation Using Monocular and Stereo Cues.
CN106920259B (zh) 一种定位方法及系统
US8498472B2 (en) Image-based localization feature point registration apparatus, method and computer-readable medium
CN110599545B (zh) 一种基于特征的构建稠密地图的系统
EP3182370B1 (en) Method and device for generating binary descriptors in video frames
Barath et al. Efficient initial pose-graph generation for global sfm
JP2014102810A (ja) 被写体認識装置、被写体認識方法および被写体認識プログラム
Tao et al. Weakly supervised monocular 3d object detection using multi-view projection and direction consistency
Xiao et al. Monocular ORB SLAM based on initialization by marker pose estimation
KR100792172B1 (ko) 강건한 대응점을 이용한 기본행렬 추정 장치 및 그 방법
Mahmoud et al. Fast 3d structure from motion with missing points from registration of partial reconstructions
Zeng et al. Multi-run 3D streetside reconstruction from a vehicle
CN111583331B (zh) 用于同时定位和地图构建的方法及装置
Miyama Fast stereo matching with super-pixels using one-way check and score filter
Li et al. 3D building extraction with semi-global matching from stereo pair worldview-2 satellite imageries
CN116468878B (zh) 一种基于定位地图的ar设备定位方法
Lourakis et al. Autonomous visual navigation for planetary exploration rovers
Wang et al. Dense 3D mapping for indoor environment based on kinect-style depth cameras
Xu Stereo Visual Odometry with Windowed Bundle Adjustment

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