首页 / 专利库 / 电脑图像 / 局部集束调整 / 一种针对动态变化场景的实时摄像机跟踪方法

一种针对动态变化场景的实时摄像机跟踪方法

阅读:899发布:2020-06-07

专利汇可以提供一种针对动态变化场景的实时摄像机跟踪方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种针对动态变化场景的实时摄像机 跟踪 方法,该方法在不断动态变化的场景中也能进行稳定地跟踪和求解摄像机 姿态 ;首先进行特征匹配及摄像机参数估计,然后进行场景的更新,最后,该方法在实际应用时实行前后台多线程协同运行,前台线程用于对每一 帧 进行特征点匹配和摄像机运动参数的估计,后台线程不断进行KD树、关键帧和三维点 云 的维护和更新,并联合优化关键帧的摄像机运动参数和三维点 位置 。在场景发生动态变化的情况下,本发明仍能实时地进行摄像机跟踪,本发明在跟踪准确性、 稳定性 以及运行效率等方面明显优于现有的摄像机跟踪方法。,下面是一种针对动态变化场景的实时摄像机跟踪方法专利的具体信息内容。

1. 一种针对动态变化场景的实时摄像机跟踪方法,其特征在于,它包括W下步骤: (1) 特征点匹配及摄像机参数估计:使用基于不变量的特征点来表达场景特征,每个场 景点对应一个特征描述量,使用脚树组织所有场景特征,对每帖图像提取特征点并在KD树 中捜索特征匹配,随后进行摄像机参数的估计; (2) 场景更新:使用关键帖,W及场景特征点对应的Ξ维点表达场景几何信息;通过 添加关键帖和Ξ维点扩充场景,若已有关键帖的对应场景发生变化,删除变化的关键帖和 变化的Ξ维点; (3) 前后台多线程协同运行:前台线程用于对每一帖进行特征点匹配和摄像机运动参 数的估计,后台线程不断进行K的对、关键帖和Ξ维点云的维护和更新,并联合优化关键帖的 摄像机运动参数和Ξ维点位置; 所述步骤(1)通过W下子步骤来实现: (1.1) 使用基于不变量的特征点来表达场景特征,每个场景点对应一个特征描述量,使 用KD树组织所有场景特征;构造两棵存储全局场景特征的邸树Τι、Τ2,用于全局特征点描述 量和图像特征点描述量间的匹配,Τι用于实时匹配,Τ2用于动态更新; (1.2) 选定两帖初始关键帖,对场景结构、运动W及KD树进行初始化; (1.3) 对每帖图像抽取特征点,利用其特征描述量在Τι中捜索匹配;对于特征点X,假设 Τι中它的描述量最接近的两个特征点是化(X)和化(X),使用下面的公式作为匹配的置信度
其中,P(x)表示特征点X的描述量,Ρ(Νι(χ))表示特征点化(X)的描述量,ρ(Ν2(χ))表示 特征点化(X)的描述量;如果六〇.6,将X和化(X)作为一对匹配点,由此得到一系列场景特征 点和当前帖图像特征点之间的匹配; (1.4) 根据步骤(1.3)得到一系列场景特征点和当前帖图像特征点之间的匹配,通过最 小化目标函数
估计出当前帖摄像机运动参数;其中,R表示旋转 矩阵,t表示平移向量,π表示投影函数,其作用是将Ξ维空间点投影到二维空间,获得二维 空间点位置,即:^(乂,¥,2) = ^,7),其中义=乂/2,7 = ¥/2,义1表示特征点,1(表示摄像机内置参 数,沿表示Ξ维点,通过RANSAC算法剔除误匹配,将正确的匹配定义为全局匹配集合G; 所述步骤(2)通过W下子步骤来实现: (2.1) 对于当前输入帖,经过步骤(1)后,如果成功地估计摄像机参数,并且全局匹配集 合G中至多有ml个匹配点,则将当前帖作为潜在关键帖,ml为自然数; (2.2) 选取同当前帖公共特征点最多的5个关键帖,并在当前帖和该5个关键帖之间进 行特征点匹配,对于当前帖中已经匹配的特征点不需要再进行匹配,为了加快匹配的速度, 为选取的5个关键帖分别建立一棵邸树T,并通过极线几何约束除去无效的特征点W提高匹 配的准确性;根据当前帖同5个关键帖之间的匹配点构成特征点轨迹,对于每一个特征点轨 迹XI,通过Ξ化方法,即求解下述方程来估计该轨迹的Ξ维点:
其中,Xi表示Ξ维点,Φ (xi)表示xi出现的帖集合,xij表示特征点,Rj表示旋转矩阵,tj表 示平移向量,JI表示投影函数,κ表示摄像机内置参数;如果估计得到的Ξ维点数量超过m2, 50 < m2 < 100,则将当前帖作为新的关键帖加入到关键帖集合中,将得到的新的Ξ维点Xi加 入到场景中,并将当前帖中的特征点选作新的参考特征点加入到后台邸树T2中,同时用T2更 新Τι; (2.3) 若当前输入帖被选作新的关键帖,接下来通过比较当前帖和关键帖的Ζ轴方向, 选取那些方向差异小于某个阔值的关键帖,随后进一步通过比较摄像机参数确定5个与当 前关键帖最相邻的关键帖,所述摄像机参数为旋转矩阵和平移向量; (2.4) 对于每个选择的关键帖,首先将其同当前关键帖进行颜色直方图比较,将颜色直 方图的差异定义为R、G、B^个通道直方图欧式距离之和,如果差异大于1,表明图像中的一 些区域很可能发生了改变,将关键帖中的特征点X对应的Ξ维点X投影到当前帖图像中,将 投影位置记为χ/ ;用VU)来表示Ξ维点X的状态,若X是无效Ξ维点,则V(X) = 0,否则,令V (X) = 1;接下来对每一个选择的关键帖,通过比较特征点X和χ/来判定X是否是有效的Ξ维 占. (2.5) 将从X到关键帖和当前帖摄像机中屯、的视角方向分别记为ηχ和ηχ',如果">、..< , τη设为cos(30°),则认为特征点X在当前帖中被遮挡了或者发生了较大的透视变形,令V(X) =1,跳到步骤(2.9),否则,进行下一步; (2.6) 比较X和χ/之间的颜色差异:
其中,W(x)表示Wx为中屯、的局部窗口,y为W(x)中一个二维点,y'是根据X的深度W及 摄像机参数估计得到的y在当前帖中的投影点Jy为关键帖在y处的像素颜色,iV+d为当前 帖在y/+d处的像素颜色,d是一个微小的平移向量,用来提高y'和y的匹配精度;通过对d进 行局部捜索获得De(X)的最小值,此时如果De(X)小于某个阔值τ。,令V(X) = 1,跳到步骤 (2.9),否则,表明X颜色发生了改变或者被遮挡了,进行下一步的比较; (2.7) 查找在当前帖中同χ/的距离不超过ri个像素的跟踪到的特征点,并标记为Φ ^'),^取20;如果(1)^')为空,表明乂被运动物体所遮挡了,令¥口)= 1;如果(1)^')不为 空,并且对于Φ(χ')中任何一个特征点y,都有Zfi, ^ ,则将V(X)设为0;其中,X是X'对 应的Ξ维点,Xy是y所对应的Ξ维点,和Ζχ分别表示Xy和X的深度值,表明X-定发生了变 化;跳到步骤(2.9);如果Φ(χ')不为空,且存在y,使得Zxy < Ζχ,进行下一步的比较. (2.8) 对Φ(χ')中每一个特征点y,将X和Xy分别投影至化首次出现的关键帖上,并将投影 点分别记为xp和yp,如果存在至少一个特征点y,使得I xp-yp I <η,η取20,则将WX)设为0,表 明X发生了变化,所述变化为光照变化或者位置改变;否则,令V(X) = 1; (2.9) 对于每一个关键帖,如果该帖上的无效Ξ维点和该帖同其它关键帖所共有的特 征点的数量超过了该帖像素点总数的90%,那么将该关键帖标记为无效关键帖; 所述步骤(3)通过W下子步骤来实现: (3.1)前台线程W流线的方式对每一个输入帖并行处理,流水线包含4个处理单元, 第一单元由摄像头获取图像并作图像滤波和崎变校正;第二单元抽取特征点;第Ξ单元进 行特征点的匹配,w及摄像机参数的求解;第四单元根据跟踪结果进行增强现实的绘制; (3.2)后台线程包含两条流水线,第一流水线包含2个处理单元,第一单元判断输入帖 是否为关键帖,如果为关键帖则与已有关键帖进行局部匹配,并添加新的场景点;第二单元 检测和删除变化的关键帖和Ξ维点;第二流水线同样也包含2个处理单元,第一单元用来进 行选取局部关键帖集合,局部关键帖集合包含当前关键帖和与当前关键帖存在公共匹配点 的已有关键帖,联合优化局部关键帖的摄像机运动参数及局部关键帖可见的Ξ维点位置, 其他关键帖的相机运动参数及Ξ维点位置保持不变,即局部集束调整;第二单元用来联合 优化所有关键帖的摄像机运动参数及所有Ξ维点位置,即全局集束调整。

说明书全文

一种针对动态变化场景的实时摄像机跟踪方法

技术领域

[0001] 本发明涉及一种实时摄像机跟踪方法,尤其涉及一种动态变化场景中的实时摄像 机跟踪方法。

背景技术

[0002] 摄像机跟踪技术是计算机视觉领域的重要技术之一,其在机器人导航和增强现实 等领域中有着极其重要的应用。
[0003] 摄像机跟踪技术的难点在于:1)大多数方法都是一一帧的对特征点进行跟踪, 导致误差逐帧累积。如果某一帧的跟踪失败了,那么就将无法继续进行摄像机的跟踪,必须 对相机重新定位。有一些方法提出使用随机分类器或者Harrwavel tes来解决摄像机的重定 位问题,C h e k h 1 ο V等人提出使用SIF T特征点来进行特征点的跟踪,但是却导致了计算复杂 性增大。为了降低计算复杂性,有些方法简化了 SIFT检测算法,但是随之而来的是丢失了 SIFT特征点的一些不变性特征;2)目前现有的大多数摄像机跟踪算法都只能够处理静态场 景,如果场景发生了动态变化,就会导致跟踪失败。但是,真实的自然场景往往不断变化,在 很多的应用中需要进行处理的场景也都是动态变化的,因此现有的摄像机跟踪方法都很难 对这些场景进行处理。3)在跟踪的过程中,现有的一些方法由于没有及时地对三维场景结 构进行更新及优化,导致重建出的三维模型很快就无效,进而导致了摄像机跟踪的失败。
[0004] 当下,有很多摄像机跟踪方法,本专利所属方法称为SLAM( Simul taneously Localization and Mapping)〇
[0005] SLAM是指实时地定位摄像机位置并获得摄像环境的空间地图的方法,它是实现制 造自主移动机器人的关键算法之一。尽管该方法已经取得了巨大的进步,但是仍然存在着 很多的挑战和困难。目前,现有算法能够处理静态、规模较小的场景,但是如何对动态的、规 模较大的场景进行实时定位和地图构建仍然有待深究。
[0006] 1.基于过滤器的SLAM
[0007] 该方法的代表是MonoSLAM(Andrew J.Davison, Ian D.Reid,Nicholas Molton, Olivier Stasse:MonoSLAM: Real-Time Single Camera SLAM.IEEE Trans . Pattern Anal .Mach. Intell. 29(6) : 1052-1067,2007)它是实时摄像机跟踪领域的先驱。该方法首先 对一个大小已知的场景中的人工标记进行检测,从而初始化场景,然后逐帧进行类KLT特征 点的检测。通过扩展卡尔曼滤波,场景中所有标记的位置以及摄像机参数紧密相关,并被约 束到一个线性方程组中,每次输入一个新帧时,都同步更新方程组。尽管卡尔曼滤波是非常 高效的,但是该方法的计算复杂度依旧很高(〇(N2),N是场景中标记的数目),从而场景中标 记的数目只能是几百个,并且如果不使用巧妙的特征点选取方法(比如Zongying Shi, Zhibin Liu,Xianliang Wu,WenliXu:Feature selection for reliable data association in visual SLAM.Mach.Vis.Appl.24(4):667_682,2013),就只能够处理一个 很小的空间。Eade 和 DrummoncKEthan Eade , Tom Drummond !Scalable Monocular SLAM· CVPR( I )2006 : 469-476)提出的方法采用了FastSLAM-type 粒子滤波(Michael MontemerlojSebastian ThrunjDaphne KollerjBen ffegbreit:FastSLAM2.0:An Improved Particle Filtering Algorithm for Simultaneous Localization and Mapping that Provably Converges. IJCAI2003:1151-1156)和自顶向下的搜索方法,从而能够实时的处 理数百个标记。
[0008] 2.基于运动推断结构(SfM)的SLAM
[0009] 基于过滤器的SLAM方法边缘化当前帧以前帧的摄像机参数,并随时间收集概率分 布信息,基于关键帧(即运动推动结构)的方法保持全局集束调整的优化方法,但是在计算 时必须选择少量过去帧用来处理,通过比较(HaukeStrasdat,J .M.M.Montiel ,Andrew J.Davison:Visual SLAM:Why filter?Image Vision Comput.30(2):65_77(2012)),基于 关键帧的方法要优于基于过滤器的实时跟踪方法,本专利所保护的方法属于基于关键帧的 方法。运动推断结构(Sf M)技术可同时恢复每帧对应的相机运动及场景中稀疏的三维点位 置,然而其中的核心算法--集束调整(Bund I e Ad jus tment ,BA),其计算复杂度非常大,从 而严重的影响了处理的效率。近些年来,大量的优化算法都致于对集束调整过程进行加 速,而Klein和Murray独辟蹊径,提出一种并行跟踪和重建模型PTAM(Georg Klein,David ff.Murray:ParaIlel Tracking and Mapping for Small AR Workspaces.ISMAR2007:225-234)。该方法仍使用传统的集束调整算法,但将实时跟踪及集束调整分配到两个线程同时 运行。前台线程对每一帧进行特征点的匹配以及摄像机参数的求解,后台线程不断的对场 景的三维结构进行优化。
[0010] 3.动态场景中的SLAM
[0011] 为了处理动态变化的场景,需要在静态场景中判别出动态运动的物体。H a h n e 1 (DirkHahneliRudolph Triebel1Wolfram Burgard1Sebastian Thrun:Map building with mobile robots in dynamic environments·ICRA2003:1557-1563)和Bibby(Charles Bibby,Ian D·Reid : Simultaneous Localisation and Mapping in Dynamic Environments(SLAMIDE)With Reversible Data Associa·Robotics : Science and SyStemS2007)提出了使用期望最大化方法来检测场景中的动态物体,但是如果场景变化比 较频繁,则场景中会出现很多不必要的三维特征点,增加了内存和计算的负担,同时也无法 保证鲁棒性。Blaser(Gabriele Bleser,Haraldffuest,Didier Stricker:Online camera pose estimation in partially known and dynamic scenes · ISMAR2006: 56-65)提出了 一个基于SLAM的CAD模型,在该方法中,对于场景中的三维点,如果在超过半数以上的输入 帧中都可以跟踪到该三维点,则保留该三维点,否则删除该三维点。该方法中的三维点都是 分别通过三化求得,因此得到的场景结构较之于基于SfM的PTAM方法准确性要差。 ShimamuraCJ.Shimamura,M.Morimoto, and H.Koike . Robust vSLAMfor dynamic scenes · In MVA,pages344347,2011 ·)基于PTAM提出了 vSLAM方法,该方法在获得摄像机参 数估计之后,对所有的无效点进行光流估计,并通过GMM方法对光流进行聚类,如果同一个 类中的无效点的数目超过了一个值,那么将这个无效点从场景中删除。Blaser和 S h i m a m u r a提出的方法都可以保证场景的紧凑和准确,但是如果存在较大的遮挡,标准的 RANSAC方法很快就无法准确的估计摄像机参数,此外,vSLAM没有删除无效的关键帧,因此 被已经存在的无效关键帧所遮挡的新物体的三维点就无法再添加到场景中。

发明内容

[0012] 本发明的目的在于针对现有技术的不足,提供一种针对动态变化场景的实时摄像 机跟踪方法。
[0013] 本发明的目的是通过以下技术方案来实现的:一个针对动态变化场景的实时摄像 机跟踪方法,它包括以下步骤:
[0014] (1)特征点匹配及摄像机参数估计,使用基于不变量的特征点来表达场景特征,每 个场景点对应一个特征描述量,使用KD树组织所有场景特征,对每帧图像提取特征点并在 KD树中搜索特征匹配,随后进行摄像机参数的估计;
[0015] (2)场景更新,使用关键帧及场景特征点对应的三维点表达场景几何信息。通过 添加关键帧和三维点扩充场景,若已有关键帧的对应场景发生变化,删除变化的关键帧和 变化的三维点。
[0016] (3)前后台多线程协同运行,前台线程用于对每一帧进行特征点匹配和摄像机运 动参数的估计,后台线程不断进行KD树、关键帧和三维点云的维护和更新,并联合优化关键 帧的摄像机运动参数和三维点位置。
[0017] 本发明的有益效果是:
[0018] 1、本发明能够处理多种动态变化的场景,并且对于场景中光照发生变化以及存在 无纹理区域的情况,仍然能够鲁棒地获得摄像机参数的估计;
[0019] 2、本发明使用不变量特征点来表达场景,使用KD树组织所有场景特征,提取特征 点并进行匹配,同时对KD树进行及时的更新和维护,从而确保了跟踪的准确性;
[0020] 3、本发明实时的对关键帧以及三维场景进行更新,从而确保能够准确的重建三维 场景以及摄像机跟踪;
[0021] 4、本发明采用了多线程协同运行的方法,前台线程并行地对输入帧进行特征点的 提取、匹配以及摄像机参数估计,后台线程并行地进行关键帧和三维场景的更新以及集束 调整,提高了程序运行的速度;
[0022] 5、最后,本发明在针对动态变化场景的摄像机参数估计的应用中,无论时间性能 还是跟踪的准确性都要优于现有的方法。附图说明
[0023] 图1是对于动态场景中鲁棒的实时三维重建和摄像机跟踪方法的流程图
[0024]图2是实施例中应用本发明的方法处理的视频图像的前后对照图;
[0025]图3是实施例中应用本发明的方法处理的视频图像的前后对照图;
[0026]图4是实施例中应用本发明的方法处理的视频图像的前后对照图;
[0027]图5是实施例中应用本发明的方法处理的视频图像的前后对照图。

具体实施方式

[0028]本发明针对动态变化场景的实时摄像机跟踪方法较之于现有的摄像机跟踪方法 进行了如下改进:1)利用GHJ技术进行特征描述量提取以及匹配,并且对KD树进行及时的更 新,确保跟踪的准确性;2)实时地进行关键帧以及三维场景的更新,提高三维重建的准确 性,进而提高跟踪的准确性;3)前后台多线程并行,加快了运行的速度。
[0029]本发明的实施步骤如下:
[0030] 1.特征点匹配及摄像机参数估计。使用基于不变量的特征点(如SIFT、SURF等)来 表达场景特征,每个场景点对应一个特征描述量,使用KD树组织所有场景特征,对每帧图像 利用GHJ提取SIFT特征点并在KD树中搜索特征匹配,随后进行摄像机参数的估计。具体步骤 包括:
[0031] 1 · 1 ·使用基于不变量的特征点(如SIFT: David G · Lowe : Di st inct i ve Image Features from ScaIe-Invariant Keypoints. International Journal of Computer Vision 60(2):91-110,2004;或SURF:Herbert Bay,Andreas Ess,TinneTuytelaars,Luc J. Van Gool:Speeded-Up Robust Features(SURF)·Computer Vision and Image Understandingl 10(3) : 346-359,2008)来表达场景特征,每个场景点对应一个特征描述量, 使用KD树(Sunil Arya1David M.Mount !Approximate Nearest Neighbor Queries in Fixed Dimensions.S0DA1993:271-280)组织所有场景特征。构造两棵存储全局场景特征的 KD树T1J2,用于全局特征点描述量和图像特征点描述量间的匹配,T1用于实时匹配,T 2用于 动态更新。
[0032] 1 · 2 ·根据方法(David Nist6r: An Efficient Solution to the Five-Point Relative Pose Problem.IEEE Trans.Pattern Anal.Mach.Intell.26(6):756-777,2004) 选定两帧初始关键帧,对场景结构、运动以及KD树等进行初始化。
[0033] 1.3.对每帧图像利用GPU抽取SIFT特征点,利用SIFT特征描述量在T1中搜索匹配。 对于特征点X,假设T 1中它的最相邻的两个描述量是他(1)和N2(x),使用下面的公式作为匹 配的置信度
[0034]
[0035]其中,p(X)表示特征点X的描述量。如果c〈0.6,将1和他&)作为一对匹配点,由此 得到一系列场景特征点和当前帧图像特征点之间的匹配。
[0036] 1.4.根坦来聰1分县到一玄别极甚特征点和当前帧图像特征点之间的匹配,通过 最小化目标函Ii ί计出当前帧摄像机运动参数(R表示旋转矩阵, t表示平移向量,π表示投影函数(作用是将三维空间点投影到二维空间,获得二维空间点位 置,即3i(X,Y,Z)=(x,y),其中x=X/Z,y=Y/Z)),Xi表示特征点,K表示摄像机内置参数,Xi表示 三维点),通过RANSAC算法(Martin A.Fischler,Robert C.Bolles:Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography. Commun . ACM24C6) : 381-395,1981)剔除误匹配,将正确的匹 配定义为全局匹配集合G。
[0037] 2.场景更新。使用关键帧及场景特征点对应的三维点云表达场景几何信息。通过 添加关键帧和三维点扩充场景,若已有关键帧的对应场景发生变化,删除变化的关键帧和 变化的三维点。
[0038] 2.1.对于当前输入帧,经过步骤1后,如果可以成功地估计摄像机参数,并且全局 匹配集合G中至多有ml(例如ml可以取80)个匹配点,则将当前帧作为潜在关键帧;
[0039] 2.2.选取同当前帧公共特征点最多的五个关键帧,并在当前帧和该5个关键帧之 间进行特征点匹配(对于当前帧中已经匹配的特征点不需要再进行匹配),为了加快匹配的 速度,为选取的5帧关键帧分别建立一棵KD树T,并通过极线几何约束(Zhengyou Zhang, RachidDeriche,01ivier D.Faugeras,Quang-Tuan Luong:A Robust Technique for Matching two Uncalibrated Images Through theRecovery of the Unknown Epipolar Geometry .Artif · Intell · 78(1-2) :87-119,1995)除去无效的特征点以提高匹配的准确性。 根据当前帧同5个关键帧之间的匹配点构成特征点轨迹,对于每一个特征点轨迹^,通过三 角化(Triangulation)方法,即求解下述方程来估计该轨迹的三维点:
[0040]
[0041] 其中,Xi表示三维点,Φ (Xi)表示Xi出现的帧集合,Xij表示特征点,Rj表示旋转矩 阵,tj表示平移向量,:π表示投影函数,K表示摄像机内置参数。如果估计得到的三维点数量 超过m2(-般设置在50到100之间,例如取100),则将当前帧作为新的关键帧加入到关键帧 集合中,将得到的新的三维点X 1加入到场景中,并将当前帧中的特征点选作新的参考特征 点加入到后台KD树!^中,同时用1~2更新Tu
[0042] 2.3.若当前输入帧被选作新的关键帧,接下来通过比较当前帧和关键帧的Z轴方 向,选取那些方向差异小于某个阀值的关键帧,随后进一步通过比较摄像机参数(旋转矩阵 和平移向量)确定5个与当前关键帧最相邻的关键帧。
[0043] 2.4.对于每个选择的关键帧,首先将其同当前关键帧进行颜色直方图比较,将颜 色直方图的差异定义为R、G、B三个通道直方图欧式距离之和,如果差异大于1,表明图像中 的一些区域很可能发生了改变,将关键帧中的特征点X对应的三维点X投影到当前帧图像 中,将投影位置记为V。用V(X)来表示三维点X的状态,若X是无效三维点,则V(X)=O,否则, 令V(X) = I。接下来对每一个选择的关键帧,通过比较特征点X和X7来判定X是否是有效的三 维点。
[0044] 2.5 .将从X到关键帧和当前帧摄像机中心的视角方向分别记为1^和1^',如果 <厂(^通常设为cos(30°)),则认为特征点X在当前帧中被遮挡了或者发生了较大的透 视变形,令V(X)=I,否则,进行下一步。
[0045] 2.6.比较X和Y之间的颜色差异
[0046]
[0047] 其中,W(X)表示以X为中心的局部窗口(例如W(X)可以取为高和宽都为11的窗口), y为W(X)中一个二维点,y'是根据X的深度以及摄像机参数估计得到的y在当前帧中的投影 点,d是一个微小的平移向量,用来提高y'和y的匹配精度。通过对d进行局部搜索获得D c(X) 的最小值,此时如果DJX)小于某个阈值τ。,继续维持V(X)的值为1,否则,表明X颜色发生了 改变或者被遮挡了,进行下一步的比较。
[0048] 2.7.查找在当前帧中同Y的距离不超过η(例如η可以取20)个像素的跟踪到的特 征点,并标记为Φ(Χ'),如果Φ(Χ')为空,表明X被运动物体所遮挡了,保持V(X)的值不变; 如果Φ(χ')不为空,并且对于Φ(χ')中任何一个特征点y,都则将V(X)设为 〇(其中X是X'对应的三维点,Xy是y所对应的三维点,和Zx分别表示Xy和X的深度值),表 明X-定发生了变化;如果Φ(χ')不为空,且存在y,使得,进行下一步的比较。
[0049] 2.8.对Φ (X ')中每一个特征点y,将X和Xy分别投影到X首次出现的关键帧上,并将 投影点分别记为Xp和yP,如果存在至少一个特征点y,使得I xp-yP I
[0050] 2.9.对于每一个关键帧,如果该帧上的无效三维点和同其它关键帧所共有的特征 点的数量超过了该帧像素点总数的90%,那么将该关键帧标记为无效关键帧。
[0051] 3.前后台多线程协同运行。前台线程用于对每一帧进行特征点匹配和摄像机运动 参数的估计,后台线程不断进行KD树、关键帧和三维点云的维护和更新,并联合优化关键帧 的摄像机运动参数和三维点位置。
[0052] 3.1.前台线程以流线的方式对每一个输入帧并行处理,流水线包含4个处理单 元,第一单元由摄像头获取图像并作图像滤波和畸变校正;第二单元抽取特征点;单元3进 行特征点的匹配,以及及摄像机参数的求解;单元4根据跟踪结果进行增强现实的绘制。 [0053] 3.2.后台线程包含两条流水线,第一流水线包含2个处理单元,第一单元判断输入 帧是否为关键帧,如果为关键帧则与已有关键帧进行局部匹配,并添加新的场景点;第二单 元检测和删除变化的关键帧和三维点;第二流水线同样也包含2个处理单元,第一单元用来 进行选取局部关键帧集合,局部关键帧集合包含当前关键帧和与当前关键帧存在公共匹配 点的已有关键帧,联合优化局部关键帧的摄像机运动参数及局部关键帧可见的三维点位 置,其他关键帧的相机运动参数和及三维点位置保持不变,即局部集束调整(Local Bundle Adjustment);第二单元用来联合优化所有关键帧的摄像机运动参数及所有三维点位置,即 全局集束调整(Global Bundle Adjustment)。
[0054] 实施例
[0055] 针对一组连续动态变化的视频序列(如图2(a)、图2(a)、图4(a)、图5(a)),该视频 序列中场景内桌面上的物体摆放方式以及位置发生了显著的变化,使用本专利所提出的方 法进行摄像机参数估计。
[0056] 如图1所示,实施步骤如下:
[0057] 1.特征点匹配及摄像机参数估计。使用SIFT特征描述量表达场景特征,每个场景 点对应一个特征描述量,使用KD树组织所有场景特征,对每帧图像利用GPU提取SIFT特征点 并在KD树中搜索特征匹配,随后进行摄像机参数的估计,包括如下步骤:
[0058] 1 · 1 ·使用SIFT特征描述量(David G. Lowe : Distinctive Image Features from Scale-Invariant Keypoints. International Journal of Computer Vision60(2):91-110(2004))表达场景特征,每个场景点对应一个特征描述量,使用KD树(Sunil Arya,David M.Mount:Approximate Nearest Neighbor Queries in Fixed Dimensions.S0DA1993: 271-280)组织所有场景特征。构造两棵存储全局场景特征的KD树T1J 2,用于全局特征点描 述量和图像特征点描述量间的匹配,1^用于实时匹配,!^用于动态更新。
[0059] 1 · 2 ·根据方法(David Nist6r: An Efficient Solution to the Five-Point Relative Pose Problem.IEEE Trans .Pattern Anal.Mach·Intell·26(6):756-777 (2004))选定两帧初始关键帧,对场景结构、运动以及KD树等进行初始化。
[0060] 1.3.对每帧图像利用GPU抽取SIFT特征点,利用SIFT特征描述量在T1中搜索匹配。 对于特征点X,假设T 1中它的最相邻的两个描述量是他(1)和N2(x),使用下面的公式作为匹 配的置信度
[0061]
[0062]其中,P(X)表示特征点X的描述量。如果c〈0.6,将X和Ni(X)作为一对匹配点,由此 得到一系列场景特征点和当前帧图像特征点之间的匹配。
[0063] 1.4.根据步骤1.3.得到一系列场景特征点和当前帧图像特征点之间的匹配,通过 最小化目标函数iJ计出当前帧摄像机运动参数(R表示旋转矩阵, t表示平移向量,π表示投影函数(作用是将三维空间点投影到二维空间,获得二维空间点位 置,即3i(X,Y,Z)=(x,y),其中x=X/Z,y=Y/Z)),Xi表示特征点,K表示摄像机内置参数,Xi表示 三维点),通过RANSAC算法(Martin A.Fischler,Robert C.Bolles:Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography. Commun . ACM24C6) : 381-395,1981)剔除误匹配,将正确的匹 配定义为全局匹配集合G。
[0064] 2.场景更新。使用关键帧及场景特征点对应的三维点云表达场景几何信息。通过 添加关键帧和三维点扩充场景,若已有关键帧的对应场景发生变化,删除变化的关键帧和 变化的三维点,包括如下步骤:
[0065] 2.1.对于当前输入帧,经过步骤1后,如果可以成功地估计摄像机参数,并且全局 匹配集合G中至多有80个匹配点,则将当前帧作为潜在关键帧;
[0066] 2.2.选取同当前帧公共特征点最多的五个关键帧,并在当前帧和该5个关键帧之 间进行特征点匹配(对于当前帧中已经匹配的特征点不需要再进行匹配),为了加快匹配的 速度,为选取的5帧关键帧分别建立一棵KD树T,并通过极线几何约束(Zhengyou Zhang, RachidDeriche,01ivier D.Faugeras,Quang-Tuan Luong:A Robust Technique for Matching two Uncalibrated Images Through the Recovery of the Unknown Epipolar Geometry .Artif · Intell · 78(1-2) :87-119,1995)除去无效的特征点以提高匹配的准确性。 根据当前帧同5个关键帧之间的匹配点构成特征点轨迹,对于每一个特征点轨迹高,通过三 角化(TrianguIation)方法,即求解方程来估计该轨迹的三维点:
[0067]
[0068]其中,X1表示三维点,Φ (X1)表示^出现的帧集合,Xlj表示特征点,Rj表示旋转矩 阵,tj表示平移向量,:π表示投影函数,K表示摄像机内置参数。如果估计得到的三维点数量 超过100,则将当前帧作为新的关键帧加入到关键帧集合中,将得到的新的三维点Xi加入到 场景中,并将当前帧中的特征点选作新的参考特征点加入到后台KD树T 2中,同时用1~2更新 Ti0
[0069] 2.3.若当前输入帧被选作新的关键帧,接下来通过比较当前帧和关键帧的Z轴方 向,选取那些方向差异小于某个阀值的关键帧,随后进一步通过比较摄像机参数(旋转矩阵 和平移向量)确定5个与当前关键帧最相邻的关键帧。
[0070] 2.4.对于每个选择的关键帧,首先将其同当前关键帧进行颜色直方图比较,将颜 色直方图的差异定义为R、G、B三个通道直方图欧式距离之和,如果差异大于1,表明图像中 的一些区域很可能发生了改变,将关键帧中的特征点X对应的三维点X投影到当前帧图像 中,将投影位置记为V。用V(X)来表示三维点X的状态,若X是无效三维点,则V(X)=O,否则, 令V(X) = I。接下来对每一个选择的关键帧,通过比较特征点X和X7来判定X是否是有效的三 维点。[0071 ] 2.5 .将从X到关键帧和当前帧摄像机中心的视角方向分别记为1^和1^',如果
[0072] 2.6.比较X和Y之间的颜色差异
[0073]
[0074] 其中,W(X)表示以X为中心的局部窗口(例如W(X)可以取为高和宽都为11的窗口), y为W(X)中一个二维点,y'是根据X的深度以及摄像机参数估计得到的y在当前帧中的投影 点,d是一个微小的平移向量,用来提高y'和y的匹配精度。通过对d进行局部搜索获得D c(X) 的最小值,此时如果DJX)小于某个阈值τ。,继续维持V(X)的值为1,否则,表明X颜色发生了 改变或者被遮挡了,进行下一步的比较。
[0075] 2.7.查找在当前帧中同Y的距离不超过20个像素的跟踪到的特征点,并标记为Φ (X'),如果Φ (X')为空,表明X被运动物体所遮挡了,保持V(X)的值不变;如果Φ (X')不为 空,并且对于Φ (X')中任何一个特征点y,都有S :,则将V(X)设为0(其中X是X'对 应的三维点,乂\是7所对应的三维点,和Zx分别表示Xy和X的深度值),表明X-定发生了 变化;如果Φ(χ')不为空,且存在y,使得< ,进行下一步的比较。
[0076] 2.8.对Φ (X ')中每一个特征点y,将X和Xy分别投影到X首次出现的关键帧上,并将 投影点分别记为Xp和yP,如果存在至少一个特征点y,使得I xp-yP I〈20,则将V(X)设为0,表明 X发生了变化(光照变化或者位置改变);否则,保持V(X)为1。
[0077] 2.9.对于每一个关键帧,如果该帧上的无效三维点和同其它关键帧所共有的特征 点的数量超过了该帧像素点总数的90%,那么将该关键帧标记为无效关键帧。
[0078] 3.前后台多线程协同运行。前台线程用于对每一帧进行特征点匹配和摄像机运动 参数的估计,后台线程不断进行KD树、关键帧和三维点云的维护和更新,并联合优化关键帧 的摄像机运动参数和三维点位置,包括如下步骤:
[0079] 3.1.前台线程以流水线的方式对每一个输入帧并行处理,流水线包含4个处理单 元,第一单元由摄像头获取图像并作图像滤波和畸变校正;第二单元抽取SIFT特征点;单元 3进行特征点的匹配,以及及摄像机参数的求解;单元4根据跟踪结果进行增强现实的绘制。 [0080] 3.2.后台线程包含两条流水线,第一流水线包含2个处理单元,第一单元判断输入 帧是否为关键帧,如果为关键帧则与已有关键帧进行局部匹配,并添加新的场景点;第二单 元检测和删除变化的关键帧和三维点;第二流水线同样也包含2个处理单元,第一单元用来 进行选取局部关键帧集合,局部关键帧集合包含当前关键帧和与当前关键帧存在公共匹配 点的已有关键帧,联合优化局部关键帧的摄像机运动参数及局部关键帧可见的三维点位 置,其他关键帧的相机运动参数和及三维点位置保持不变,即局部集束调整(Local Bundle Adjustment);第二单元用来联合优化所有关键帧的摄像机运动参数及所有三维点位置,即 全局集束调整(Global Bundle Adjustment)。
[0081]对于该实施例,场景中人将桌子上的物体的摆放位置进行了更改,本专利方法获 得的跟踪结果如图2(b)、图3(b)、图4(b)、图5(b)所示,其中每一幅跟踪结果图像都对应于 该图中(a)相应的输入帧,图中的圆点表示跟踪到的特征点,图中插入的卡通小人物、小狗 以及鱼,这些都是用来表明跟踪结果的准确性的,可以发现它们在跟踪结果图中的位置在 跟踪过程中能够做到保持不变,这表示跟踪的结果非常准确。对于实时的单目摄像机跟踪 来说,这是一个非常具有挑战的例子,通过实验,比较发现:PTAM方法在初始时可以做到正 确地进行摄像机跟踪,但是随着跟踪的进行和场景的不断变化,很快后续帧就无法做到准 确跟踪;相比之下,本专利的方法却可以非常鲁棒地估计出摄像机参数,获得准确的跟踪结 果,并对三维场景进行正确的绘制。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈