机器之心 原创
亮风台 来源
2D AR算法新突破,亮风台提出基于约束置信度的鲁棒跟踪算法CCM
在目前的AR应用中,2D AR 跟踪,如海报、卡牌等平面物体的跟踪已经成为核心技术之一,在营销、教育、游戏、展示展览等方面都很常见。然而,尽管近年来2D AR 跟踪算法已经取得了很大的进步,但在一些外部条件、环境因素影响下的效果仍然有很大提升空间,如何处理光照变化、运动模糊等因素带来的挑战,也是目前进行底层算法研发的 AR 公司以及学者的研发热点。
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。
第二步:从视频读取下一帧图像 I t ;。
第三步:在图像 I t 中跟踪匹配目标。
传统的基于模板的算法通常在计算运动参数时对模板中的每个像素进行相同处理,因此对一些外在噪声(特别是对于遮挡)特别敏感。为了解决这个问题,不同于传统模板跟踪方法,亮风台研发人员提出一个“置信匹配”策略,在计算运动参数时为每个像素分配不同的匹配置信度。直观来看,将低置信度分配给被噪声干扰的像素。考虑到匹配的置信度,CCM 的模板跟踪问题扩展为如下形式:
其中 C 表示置信图,它的每个元素 C ( x ) 记录像素 x 的匹配置信度的, b 表示几何变化的容忍度。添加约束的目的是禁止连续帧之间的大幅度运动跳跃。
基于“置信匹配”的目标跟踪匹配过程可以分为 置信图计算、遮挡图计算、最优匹配求解 几个子步骤。
(1) 置信图计算
对于每个像素 x ,置信度图 C 被均匀初始化,并且根据之前观察和模板之间的差异每帧进行更新
其中 ε 表示最大差异:
其中,|.| 表示向量的绝对值。
(2) 遮挡检测
为了能在目标被遮挡的情况下准确的跟踪目标,CCM 需要对目标进行遮挡检测。为了提高遮挡检查的鲁棒性,还根据两种实践指导原则提出遮挡检测的新方法。首先,从遮挡导出的外观变化足够以区别于其它扰动因素,例如照明变化和运动模糊,其通常对所有像素产生类似的干扰。第二,封闭部分通常是连接紧凑的区域。
在上述指导原则的基础上,构造当前差异图像 D 如下:
其中 |.| 表示向量的绝对值。然后使用以下两个标准搜索遮挡。
多样性标准:首先计算差异图像 D 的平均值 μ ( D ) 和标准差 σ ( D )。显然,低 σ (D) 表示差异图像 D 中的多样性较少。如果
则认为目标没有被遮挡,其中 θ 0 = 0.8 是多样性的预定义容差。否则,根据空间标准进一步判断。
空间标准:对差异图像 D 进行二值化后,应用形态学操作去除小区域,并填充区域之间的小孔。为每个 连接区域 R 计算两个属性( a 1 ( R ), a 2 ( R )),其中 a 1 ( R ) 表示区域 R 的面积, a 2 ( R ) 表示包含区域 R 的最小凸多边形面积。如果区域 R 满足
则认为 R 为遮挡区域,其中 θ 1 = 0.1 和 θ 1 = 0.5 是两个预定义的阈值,|.| 表示向量的绝对值。第一个不等式目的是过滤掉太小的区域,第二个过滤掉太稀疏的区域。
为了从模板匹配和更新中排除遮挡的部分,将所有遮挡像素的置信度直接设置为零。
(3) 最优匹配求解
先考虑无约束的置信度匹配问题,即,放弃公式(2)中的约束条件。用 J ( p ; I )表示的目标函数 ε 2 针对参数p和图像 I 的雅可比矩阵,我们有
其中 是图像 I 针对
的梯度,
表示变换函数的雅可比。对于传入帧 I t ,运动参数最初估计为 p t = p t-1 。根据均值伪反转法 (PMJ),位移 Δp 计算为
其中 ,然后参数更新为
迭代更新直到达到收敛或最大迭代次数。
在实践中的观察,上面获得的运动参数 p t 通常满足问题(2)中定义的约束。然而,一旦获得的 p t 违反(2)的约束,即采用一种简单而有效的方法来重新计算变换函数。用 表示有效解空间。从中均匀地进行 Ns = 2500 次采样选取候选解决方案 q i (1 ≤ i ≤ Ns ),并选择具有最小差异的参数
第四步:根据第三步的跟踪结果更新模板 T 。
CCM采用 卡尔曼滤波器 来进行模板更新。分别用 y t 和 z t 表示模板 T 的亮度在时间 t 的矢量化状态估计和观察,卡尔曼滤波器用控制输入模型来定义状态预测和观测模型
其中 A t 是应用于先前状态 y t -1 的状态转换矩阵, B t 是应用于控制向量 u t 的控制输入模型, H t 是将真实状态空间映射到观察空间的观察矩阵, w t 和 v t 分别是状态噪声和观测噪声。在卡尔曼滤波中,通常假定 w t 和 v t 为零均值的高斯分布,并且分别记其方差为 Q t 和 L t 。
在下文中,用符号表示给出观察时间 t '≤ t 下 y 在时间 t 的估计值, ' 表示对应的误差协方差。利用卡尔曼滤波器更新模板 T (即 y t )的过程可以分为 计算状态矩阵、建立控制输入模型、模板更新 几个子步骤。
(1) 计算状态矩阵
尽管存在外在环境的干扰,物体本身保持不变且可以直接观察。它意味着可以采用简单的状态转换和观察模型,使得 A t = I 和 H t = I (这里 I 代表单位矩阵)。采用自动协方差最小二乘法(ALS)技术来学习噪声协方差矩阵 Q t 和 L t 。为了减少计算复杂度和对训练数据的依赖性,在像素的噪声彼此独立的假设下,将噪声协方差矩阵 Q t 和 L t 简化为对角线矩阵。
(2) 建立控制输入模型
控制输入模型根据像素之间强度共生的概率近似来构建。特别地,控制矩阵 B t 被构建为
其中 B t ( i , j ) 表示控制矩阵 B t 的第 i 行第 j 列的元素, k 控制用于计算的窗口的大小。共生函数定义为
其中 y m ( i ) 和 y m ( j ) 分别表示像素 i 和像素 j 在时刻 m 的亮度。这种做法的原因是具有相似亮度的像素倾向于保持与输入相似的反应。在构建控制矩阵 B t 之后,需要将其归一化为行随机矩阵。
初始控制矩阵 B 0 根据初始模板 y 0 构建。为了计算简单,一旦计算了 B t ,我们固定
直到 B t+k 下次更新。我们在实验中设置 k = 20。
在获得后验估计 之后,计算环境输入 u t 以最小化先前模板与当前估计之间的平方误差:
(3) 模板更新
首先计算先验状态估计和协方差:
步骤三的最优匹配结果被用作观察 z t 。因此计算残差和协方差:
随后更新后验状态估计和协方差:
其中 为最优卡尔曼增益, 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走向成熟。
理论 ICRA 2018 AR
相关数据
Artificial Intelligence
在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)
来源: Russell, S., & Norvig, P. (2003). Artificial Intelligence: A Modern Approach.
Convergence
在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。
Covariance matrix
在统计学与概率论中,协方差矩阵(也称离差矩阵、方差-协方差矩阵)是一个矩阵,其 i, j 位置的元素是第 i 个与第 j 个随机向量(即随机变量构成的向量)之间的协方差。这是从标量随机变量到高维度随机向量的自然推广。
来源: 维基百科
Gaussian distribution
正态分布是一个非常常见的连续概率分布。由于中心极限定理(Central Limit Theorem)的广泛应用,正态分布在统计学上非常重要。中心极限定理表明,由一组独立同分布,并且具有有限的数学期望和方差的随机变量X1,X2,X3,...Xn构成的平均随机变量Y近似的服从正态分布当n趋近于无穷。另外众多物理计量是由许多独立随机过程的和构成,因而往往也具有正态分布。
来源: Wikipedia
Mapping
映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。
来源: Wikipedia
Kalman Filter
卡尔曼滤波,也称为线性二次估计(LQE).它使用时域上一系列包含统计噪声和其他误差的观测量,对未知变量进行估计。这种方法因为对每个时间段上未知变量的联合概率分布做了估计,因此比基于单一观测值预测更加精确。
来源: Wikipedia
Objective function
目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量。从工程意义讲,目标函数是系统的性能标准,比如,一个结构的最轻重量、最低造价、最合理形式;一件产品的最短生产时间、最小能量消耗;一个实验的最佳配方等等,建立目标函数的过程就是寻找设计变量与目标的关系的过程,目标函数和设计变量的关系可用曲线、曲面或超曲面表示。
来源: 百度百科
Least squares
最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。 利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。 “最小二乘法”是对过度确定系统,即其中存在比未知数更多的方程组,以回归分析求得近似解的标准方法。在这整个解决方案中,最小二乘法演算为每一方程式的结果中,将残差平方和的总和最小化。
来源: 维基百科
Noise
噪音是一个随机误差或观测变量的方差。在拟合数据的过程中,我们常见的公式$y=f(x)+\epsilon$中$\epsilon$即为噪音。 数据通常包含噪音,错误,例外或不确定性,或者不完整。 错误和噪音可能会混淆数据挖掘过程,从而导致错误模式的衍生。去除噪音是数据挖掘(data mining)或知识发现(Knowledge Discovery in Database,KDD)的一个重要步骤。
来源:Han J.; Kamber M.; Pei J. (2011). Data mining: concepts and techniques. Morgan Kaufman.
机器之心是国内领先的前沿科技媒体和产业服务平台,关注人工智能、机器人和神经认知科学,坚持为从业者提供高质量内容和多项产业服务。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 通俗易懂--决策树算法、随机森林算法讲解(算法+案例)
- 限流算法之漏桶算法、令牌桶算法
- 什么是Paxos算法?Paxos算法是区块链核心算法之一
- 一文读懂对称加密算法、非对称加密算法和Hash算法
- 算法(六):图解贪婪算法
- 算法篇03:排序算法
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Writing Apache Modules with Perl and C
Lincoln Stein、Doug MacEachern / O'Reilly Media, Inc. / 1999-03 / USD 39.95
Apache is the most popular Web server on the Internet because it is free, reliable, and extensible. The availability of the source code and the modular design of Apache makes it possible to extend Web......一起来看看 《Writing Apache Modules with Perl and C》 这本书的介绍吧!