【泡泡机器人读者投稿】ICRA-2018之2D AR跟踪技术解析

2018 年 10 月 11 日 泡泡机器人SLAM

在目前的AR应用中,2D AR跟踪,如海报、卡牌等平面物体的跟踪已经成为核心技术之一,在营销、教育、游戏、展示展览等方面都很常见。然而,尽管近年来2D AR跟踪算法已经取得了很大的进步,但在一些外部条件、环境因素影响下的效果仍然有很大提升空间,如何处理光照变化、运动模糊等因素带来的挑战,也是目前进行底层算法研发的AR公司以及学者的研发热点。

亮风台的研发人员提出的基于约束置信度的鲁棒跟踪算法(CCM),提高了在局部遮挡、光照变化和运动模糊等各种因素干扰情况下的鲁棒性,并在UCSB和TMT两个国际评测集中刷新了最好成绩。目前,这一成果已经在机器人领域顶级会议ICRA 2018上发表。

在局部遮挡、运动模糊和照明改变条件下的CCM算法效果示例(只显示在目标周围放大的区域以便展示)

基于约束置信度的鲁棒跟踪算法(CCM)

跟踪平面物体,例如2D标记,通常是相机定位和场景配准的重要步骤。在过去的几十年中,大量的研究致力于视觉跟踪问题,平面目标跟踪的流行方法可以大致分为基于关键点的方法和基于模板的方法。基于模板的方法直接利用像素的外观而不提取特征,并基于牛顿法或其变体优化模板与捕获图像之间的相似性度量,以确定平面的姿态。

不同与传统的基于模板的跟踪方法,CCM( Constrained Confidence Matching)根据测量噪声对每个像素分配不同的匹配系数,而不是在计算运动参数时对模板中的每个像素进行相同的处理。在此基础上,为了进一步提高对光照变化和重运动模糊的鲁棒性,亮风台研发人员还提出了一种鲁棒卡尔曼滤波器,它采用新的控制输入模型来处理物体的外观变化。

给定目标的初始图像或位置,新方法(即CCM)自动从视频中跟踪定位目标所在位置。

第一步:从视频第一帧中提取目标区域作为模板T;

第二步:从视频读取下一帧图像It;

第三步:在图像It中跟踪匹配目标;

传统的基于模板的算法通常在计算运动参数时对模板中的每个像素进行相同处理,因此对一些外在噪声(特别是对于遮挡)特别敏感。为了解决这个问题,不同于传统模板跟踪方法,亮风台研发人员提出一个“置信匹配”策略,在计算运动参数时为每个像素分配不同的匹配置信度。直观来看,将低置信度分配给被噪声干扰的像素。考虑到匹配的置信度,CCM的模板跟踪问题扩展为如下形式:

其中C表示置信图,它的每个元素C(x)记录像素x的匹配置信度的,b表示几何变化的容忍度。添加约束的目的是禁止连续帧之间的大幅度运动跳跃。

基于“置信匹配”的目标跟踪匹配过程可以分为置信图计算、遮挡图计算、最优匹配求解几个子步骤。

(1) 置信图计算

对于每个像素x,置信度图C被均匀初始化,并且根据之前观察和模板之间的差异每帧进行更新

其中ε表示最大差异:

(2) 遮挡检测

为了能在目标被遮挡的情况下准确的跟踪目标,CCM需要对目标进行遮挡检测。为了提高遮挡检查的鲁棒性,还根据两种实践指导原则提出遮挡检测的新方法。首先,从遮挡导出的外观变化足够以区别于其它扰动因素,例如照明变化和运动模糊,其通常对所有像素产生类似的干扰。第二,封闭部分通常是连接紧凑的区域。

在上述指导原则的基础上,构造当前差异图像D如下:

其中 |.| 表示向量的绝对值。然后使用以下两个标准搜索遮挡。

多样性标准:首先计算差异图像D的平均值μ(D)和标准差σ(D)。显然,低σ(D)表示差异图像D中的多样性较少。如果

则认为目标没有被遮挡,其中θ0= 0.8是多样性的预定义容差。否则,根据空间标准进一步判断。

空间标准:对差异图像D进行二值化后,应用形态学操作去除小区域,并填充区域之间的小孔。为每个连接区域R计算两个属性(a1(R), a2(R)),其中a1(R)表示区域R的面积,a2(R)表示包含区域R的最小凸多边形面积。如果区域R满足

则认为R为遮挡区域,其中θ1= 0.1和θ1= 0.5是两个预定义的阈值,|.| 表示向量的绝对值。第一个不等式目的是过滤掉太小的区域,第二个过滤掉太稀疏的区域。

为了从模板匹配和更新中排除遮挡的部分,将所有遮挡像素的置信度直接设置为零。

(3) 最优匹配求解

先考虑无约束的置信度匹配问题,即,放弃公式(2)中的约束条件。用J(p;I)表示的目标函数ε2针对参数p和图像I的雅可比矩阵,我们有

对于传入帧It,运动参数最初估计为pt=pt-1。根据均值伪反转法(PMJ),位移Δp计算为

迭代更新直到达到收敛或最大迭代次数。

在实践中的观察,上面获得的运动参数pt通常满足问题(2)中定义的约束。然而,一旦获得的pt违反(2)的约束,即采用一种简单而有效的方法来重新计算变换函数。用Ωt={q ∣-b≤q≤b}表示有效解空间。从中均匀地进行Ns = 2500 次采样选取候选解决方案qi(1 ≤ i ≤ Ns),并选择具有最小差异的参数

第四步:根据第三步的跟踪结果更新模板T;

CCM采用卡尔曼滤波器来进行模板更新。分别用yt和zt表示模板T的亮度在时间t的矢量化状态估计和观察,卡尔曼滤波器用控制输入模型来定义状态预测和观测模型

其中At是应用于先前状态yt-1的状态转换矩阵,Bt是应用于控制向量ut的控制输入模型,Ht是将真实状态空间映射到观察空间的观察矩阵,wt和vt分别是状态噪声和观测噪声。在卡尔曼滤波中,通常假定wt和vt为零均值的高斯分布,并且分别记其方差为Qt和Lt

在下文中,用符号^yt|t’表示给出观察时间 t'≤t 下y在时间t的估计值,^Pt|t’表示对应的误差协方差。利用卡尔曼滤波器更新模板T(即yt)的过程可以分为计算状态矩阵、建立控制输入模型、模板更新几个子步骤。

(1) 计算状态矩阵

尽管存在外在环境的干扰,物体本身保持不变且可以直接观察。它意味着可以采用简单的状态转换和观察模型,使得At= I和 Ht= I (这里I代表单位矩阵)。采用自动协方差最小二乘法(ALS)技术来学习噪声协方差矩阵Qt和Lt。为了减少计算复杂度和对训练数据的依赖性,在像素的噪声彼此独立的假设下,将噪声协方差矩阵Qt和Lt简化为对角线矩阵。

(2) 建立控制输入模型

控制输入模型根据像素之间强度共生的概率近似来构建。特别地,控制矩阵Bt被构建为

其中Bt(i, j)表示控制矩阵Bt的第i行第j列的元素,k控制用于计算的窗口的大小。共生函数定义为

其中ym(i)和ym(j)分别表示像素i和像素j在时刻m的亮度。这种做法的原因是具有相似亮度的像素倾向于保持与输入相似的反应。在构建控制矩阵Bt之后,需要将其归一化为行随机矩阵。

初始控制矩阵B0根据初始模板y0构建。为了计算简单,一旦计算了Bt,我们固定

直到Bt+k下次更新。我们在实验中设置k = 20。

在获得后验估计^yt|t’之后,计算环境输入ut以最小化先前模板与当前估计之间的平方误差:

(3) 模板更新

首先计算先验状态估计和协方差:

步骤三的最优匹配结果It(φ(x;pt))被用作观察zt。因此计算残差和协方差:

随后更新后验状态估计和协方差:

其中

为最优卡尔曼增益,I表示单位矩阵。

第五步:跳转到步骤二处理下一帧图像。

测试结果

为了彻底评估,CCM算法在两个公共数据集上进行了测试:加利福尼亚大学提出的UCSB基准和加拿大阿尔伯塔大学提出的操作任务跟踪(TMT)基准。UCSB数据集包括96个视频流,显示6个不同纹理的平面目标,总共6889帧,具有几何失真(摇摄、缩放、倾斜、旋转)、九个运动模糊等级以及不同的照明条件,所有帧都受到不同程度的噪音影响。TMT数据集由人为和机器记录的操作任务的图像序列组成,它包含109个图像序列,共70592帧。

对应于每个视频类别的平均跟踪精度汇总在表I(UCSB)和II(TMT)中,如下:

从实验结果可以看出,所提出的CCM算法在两个数据集上显著地优于所有基线。事实上,CCM在几乎所有视频类别中都获得了最佳或几乎最佳的跟踪性能,明显优于现有的主流跟踪算法,如基于关键点的跟踪(keypoint-based tracker),基于模板的跟踪( template-based tracker)以及概率跟踪(probabilistic tracker),并且它对于极端姿态变化以及严重的环境扰动都表现出很高的鲁棒性。

CCM算法与其他算法相比,在各类内在和外在变化的几个典型示例如下,包括具有重复图案的图像倾斜;剧烈而动态的日落画面引起照明变化,纹理非常弱;存在部分遮挡;运动模糊,在这种情况下检测不到可靠的关键点。

AR的研究仍需持续努力

尽管计算机对于“常规”平面物体的认识已经能达到很高的速度、精度,以及稳定性,但这明显还不够,研究人员希望计算机能够尽可能“模拟”人的视觉效果,甚至在一定条件下超过人眼,这样,在算法工程化之后面向普通用户时,才能保障优质的用户体验,如在传统的平面物体跟踪中,容易出现快速运动丢失或漂移等现象,反映到用户体验上,车窗外的广告牌就容易识别不到,在走动过程中玩AR游戏发现地面上的家具会“飘”起来等。

这就要求相关的学术人员以及企业研发人员不断的优化算法、提出新方法,如此才能结合不断升级的硬件环境实现高度的市场化。对于目前的2D AR甚至整个AR行业来说,需要从业人员把现有技术应用化市场化,但同样需要大量真正的创新人员向前推进底层技术边界,让AR走向成熟。

泡泡机器人SLAM的原创内容均由泡泡机器人的成员花费大量心血制作而成,希望大家珍惜我们的劳动成果,转载请务必注明出自【泡泡机器人SLAM】微信公众号,否则侵权必究!同时,我们也欢迎各位转载到自己的朋友圈,让更多的人能进入到SLAM这个领域中,让我们共同为推进中国的SLAM事业而努力!

商业合作及转载请联系liufuqiang_robot@hotmail.com


登录查看更多
0

相关内容

最新《自然场景中文本检测与识别》综述论文,26页pdf
专知会员服务
69+阅读 · 2020年6月10日
基于视觉的三维重建关键技术研究综述
专知会员服务
160+阅读 · 2020年5月1日
3D目标检测进展综述
专知会员服务
191+阅读 · 2020年4月24日
专知会员服务
86+阅读 · 2019年12月13日
深度学习视频中多目标跟踪:论文综述
专知会员服务
92+阅读 · 2019年10月13日
【泡泡图灵智库】实时单目物体-模型感知稀疏SLAM(ICRA)
泡泡机器人SLAM
10+阅读 · 2019年7月12日
【泡泡读者来稿】VINS 论文推导及代码解析(一)
泡泡机器人SLAM
113+阅读 · 2019年3月3日
【泡泡一分钟】点密度适应性点云配准
泡泡机器人SLAM
16+阅读 · 2018年5月28日
Joint Monocular 3D Vehicle Detection and Tracking
Arxiv
8+阅读 · 2018年12月2日
Arxiv
6+阅读 · 2018年2月8日
VIP会员
相关资讯
【泡泡图灵智库】实时单目物体-模型感知稀疏SLAM(ICRA)
泡泡机器人SLAM
10+阅读 · 2019年7月12日
【泡泡读者来稿】VINS 论文推导及代码解析(一)
泡泡机器人SLAM
113+阅读 · 2019年3月3日
【泡泡一分钟】点密度适应性点云配准
泡泡机器人SLAM
16+阅读 · 2018年5月28日
Top
微信扫码咨询专知VIP会员