AR 公司亮风台一直在向前推进 AR 的技术边界,近日消息,该公司在 2D AR 跟踪方面取得了新突破,其研发人员提出的基于约束置信度的鲁棒跟踪算法(CCM),提高了在局部遮挡、光照变化和运动模糊等各种因素干扰情况下的鲁棒性,并在 UCSB 和 TMT 两个国际评测集中刷新了最好成绩。目前,这一成果已经在机器人领域顶级会议 ICRA 2018 上发表。ICRA 是机器人领域三大顶级会议之一(其它两个为 IROS 和 RSS),AR 跟踪的很多经典工作(例如 ESM 跟踪算法)都曾在 ICRA 和 IROS 上发表。
在局部遮挡、运动模糊和照明改变条件下的 CCM 算法效果示例(只显示在目标周围放大的区域以便展示)
据了解,这两年亮风台依然有不少工作在针对 2D AR 的算法优化,在2017年的 ICRA 上发表了针对光照变化的基于梯度方向的AR跟踪算法;同年提出的基于图匹配的跟踪算法利用图结构来处理目标物体内部的空间关联,从而实现在强干扰的准确平面物体跟踪,该工作已被人工智能领域国际顶级期刊《PAMI》(IEEE 模式分析和机器智能汇刊)录用。其它在 CVPR、ICCV、ECCV、ICRA、ISMAR、PAMI 等 AI、CV、AR 相关领域顶级期刊会议上公开发表的研究成果涉及图像语义识别、人脸图像分析、手势识别、AR 场景建模定位、超图匹配,视觉显著性等方面。
基于约束置信度的鲁棒跟踪算法(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的雅可比矩阵,我们有
其中是图像 I 针对的梯度,表示变换函数的雅可比。对于传入帧 It,运动参数最初估计为 pt=pt-1。根据均值伪反转法 (PMJ),位移 Δp 计算为
其中 ,然后参数更新为
迭代更新直到达到收敛或最大迭代次数。
在实践中的观察,上面获得的运动参数 pt 通常满足问题(2)中定义的约束。然而,一旦获得的 pt 违反(2)的约束,即采用一种简单而有效的方法来重新计算变换函数。用表示有效解空间。从中均匀地进行 Ns = 2500 次采样选取候选解决方案 qi(1 ≤ i ≤ Ns),并选择具有最小差异的参数
第四步:根据第三步的跟踪结果更新模板T。
CCM采用卡尔曼滤波器来进行模板更新。分别用 yt 和 zt 表示模板 T 的亮度在时间 t 的矢量化状态估计和观察,卡尔曼滤波器用控制输入模型来定义状态预测和观测模型
其中 At 是应用于先前状态 yt-1 的状态转换矩阵,Bt 是应用于控制向量 ut 的控制输入模型,Ht 是将真实状态空间映射到观察空间的观察矩阵,wt 和 vt 分别是状态噪声和观测噪声。在卡尔曼滤波中,通常假定 wt 和 vt 为零均值的高斯分布,并且分别记其方差为 Qt 和 Lt。
在下文中,用符号表示给出观察时间 t'≤t 下 y 在时间 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。
在获得后验估计之后,计算环境输入 ut 以最小化先前模板与当前估计之间的平方误差:
(3) 模板更新
首先计算先验状态估计和协方差:
步骤三的最优匹配结果被用作观察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走向成熟。