王佳顺,管有庆
(南京邮电大学 物联网学院,江苏 南京 210003)
增强现实(augmented reality,AR)是目前计算机应用领域的一大研究热点,其本质是在现实场景中添加虚拟的影像,使得现实场景与虚拟物体相结合,以此来增强人们对现实世界的体验[1]。增强现实技术融合了数字图像处理[2]、计算机视觉[3]、智能模式[4]识别等多种技术,其中图像识别与追踪技术是比较重要的技术。
近年来在室外增强现实系统中,通常采用GPS获取相机的位置并通过手持设备的内置传感器来获取设备的方向,以此实现追踪定位,但是该方法有它的局限性[5]。首先,GPS的数据更新频率以及准确度并不能满足实时追踪定位的需求,其次传感器取得的方向、旋转角度等数据总是存在一定的误差,且这种误差会随着时间而不断累积,对追踪定位的精度产生一定的影响[6-7]。另外传感器会受环境中可能存在的电磁场的影响,使得检测到的数据出现误差。
当前手机已成为移动AR系统的主流运行平台。手机由于内置有传感器、照相机、GPS等系统组成的微机电系统,使得手机成为室外AR系统的理想平台。但是移动设备的计算能力和速度都比不上传统的电脑,使得传统的复杂追踪算法不能很好地适用于移动设备,所以对适用于移动设备的追踪算法的研究一直是学者关注的重点。
目前,AR系统中的识别追踪算法已经取得了许多成果。Bleser和Stricker[8]研究了多种基于视觉惯性的融合模型并提出了基于多种传感器结合的3D追踪模型。但是该模型的生成和维持需要耗费大量的时间,而且该模型是基于静态环境,但是实际上环境可能不断发生变化。Hwangbo等将惯性传感器与Kanade-Lucas-Tomasi (KLT)特征追踪算法相结合[9]。但是基于KLT的追踪算法覆盖范围比较小,当相机移动范围太大时,追踪算法容易失效。Calonder[10]等提出了一个鲁棒独立的基本二进制特征描述子(binary robust independent elementary features,BRIEF),该描述子可以在设备上实时计算,但是BRIEF没有旋转不变性。
文中在BRIEF二进制描述子的基础上,引入了惯性传感器的旋转参数,使BRIEF具有旋转不变性,当追踪目标旋转时能更好地进行识别匹配。系统在识别目标物体后,采用改进的ESM算法(efficient second-order minimization-small grid-motion blur,ESM-SG-MB)对运动物体进行追踪。该算法将模板图像划分成若干子网格,剔除了低梯度的子网格,增加了追踪效率,并且在ESM算法的基础上引入了摄像头快门时间,以适应运动模糊的情况。
在基于视觉的追踪系统中,局部特征的检测和匹配是不可缺少的一步。BRIEF是利用局部图像领域内随机点对的灰度大小关系来建立局部图像特征描述子,得到的二值特征描述子不仅匹配速度快,而且对存储要求低,所以在手机应用中具有良好的发展前景。随机点对的分布可以是任意的也可以是按照一定分布排列的。在Calonder等的实验中表明,在特征点中心周围的采样准则服从各向同性的同一高斯分布时,会有较好的识别结果。
以特征点为中心,取S×S(S可变)的邻域大窗口,在大窗口中随机选取n对点,对这n对点分别做高斯平滑,比较n对像素点的灰度值大小。式1定义了一个二进制码,其中p(x)、p(y)分别表示在图像块p上,x和y处像素的灰度值。
(1)
最后把通过式1得到的n个二进制码组成一个n维向量,如下所示:
(2)
由式2可知,一个关键点的二进制特征描述子反映了n对像素点的灰度值,这n对像素点的取样采用各向同性的同一高斯分布,可以用矩阵A表示这n对像素点:
(3)
其中,xi和yi表示图像平面坐标系中每对像素点的位置。
为了使BRIEF描述子具有旋转不变性,需要在矩阵A上加入一个旋转变量Rθ,Rθ由移动设备内置的传感器获得。由于惯性传感器会受到噪声影响,所以用卡尔曼滤波器[11]对传感器获取的信号进行滤波,得到f(Rθ,Kg),使得Aθ=f(Rθ,Kg)A。其中Kg表示卡尔曼增益,f表示信号经过卡尔曼滤波器时的变换函数。加入旋转的BRIEF二进制描述子的定义如下:
(4)
其中,p表示一个图像块的特征描述子;θ表示惯性传感器采集的一个特定的旋转角;n表示二进制描述子的维数,通常为128,256或者512。
对于图像特征点的提取,可以使用中心环绕极值特征(center surround extremas, CenSurE)[12]的方法,CenSurE特征具有特征点坐标精确、计算效率高等特点。然后使用旋转BRIEF二进制描述子来描述所提取出的特征点并计算两个二进制描述子之间的汉明距离来进行特征匹配。
ESM是Benhimane和Malis于2004年在 IROS上提出的算法[13-14]。该算法采用重构误差平方作为衡量模板图像R与相机取得的帧图像T相似性的指标,然后对于姿态空间进行了在离群上的重新构建,使得搜索的步长更为合理,在寻优上使用的是二阶近似的快速算法。ESM算法最大的优点是不用计算Hessian矩阵,并且具有较快的收敛速度。
定义R(x)为模板图像像素点的灰度,T(x)为目标图像像素点的灰度,x表示像素坐标。模板图像R上的点可以经过某种变换,与目标图像T进行比较。假设w(x;e)为在x处的像素经过变换后得到的新的位置,其中e为变换参数。因此通过式5对变换参数e进行估计:
(5)
然而传统的ESM算法模型并没有考虑到运动模糊的情况,借鉴Tai Y W等[15]提出的适用于非均匀模糊的模型,这里定义物体运动模糊的模型为:
(6)
其中,e表示模板图像的变换参数;t0为相机快门打开时间;x表示模糊的像素的坐标。
这里将R(w(x;e))在e=0处用二阶泰勒展开式展开,得到:
(7)
其中,J(0)是R(w(x;e))在e=0处的雅可比矩阵;HR是它的Hessian矩阵。
将式7代入式6,可以得到图像构造模型的近似值:
(8)
这里为了计算简单,假设模板图像做简单的线性运动,即:
e=tβ
(9)
将式9代入式8可得:
(10)
为了避免计算Hessian矩阵HR,对T(β,t0)求一阶导数,得:
(11)
将式11得到的HR代入式10,图像构造模型为:
a(t0)J(0)]β
(12)
假设摄像头获取的图像为T,可以计算出运动状态β的估计为:
(13)
计算出的运动姿态β被加入当前姿态,该过程被反复迭代,直到收敛。
ESM算法进行模板匹配追踪时,采用的是模板图像的所有像素点。与ESM算法不同,ESM-SG-MB算法将模板图像分成许多个子网格,从中筛选出符合条件的子网格进行追踪。追踪的目标图像是根据模板图像中心点附近的120×120个像素区域。将这块区域分为5×5个小的子网格,每个网格有24×24个像素点。计算出每个子网格中的平均图像梯度,只有当该子网格的每个像素点的灰度级大于10时,该子网格才会被用于追踪。因为实验表明,梯度低的图像区域对ESM的收敛性没有影响。
将这种改进的ESM算法称为ESM-SG-MB算法,可以通过修改快门时间,也就是t0的大小,来修改现在实现的ESM原型,使其对运动模糊有更好的适应性。ESM-SG-MB算法的详细过程见算法1。
算法1:ESM-SG-MB算法。
输入:视频帧frame;模板图像R;
输出:更新的姿态估计e。
(1)将模板图像分割成5×5个小的子网格;
(2)剔除子网格每个像素灰度级小于10的网格;
(3)选择合适的快门打开时间t0以及初始姿态估计e;
(4)已知初始变换为e,计算雅可比矩阵J(0)和JT(e);
(5)根据式13更新e,判断是否收敛,如果不收敛则返回步骤4,否则结束。
图1阐述了提出的追踪算法流程。当追踪开始时,系统先从摄像头读取视频帧,如果是第一帧的话,系统就用CenSurE方法提取图像的特征点并计算出各个特征点的旋转BRIEF二进制描述子的值。然后将模板图像的二进制描述子与目标图像相匹配,匹配成功后,进入ESM-SG-MB追踪算法继续追踪目标图像。在追踪过程中,如果检测到追踪物体丢失,则重新进行特征点的检测与匹配。最后,当系统检测到当前帧是视频的最后一帧时,追踪结束。
用一台智能手机(OPPO A57)来试验提出的追踪方法。手机的CPU主频为1.4 GHz,核心数为八核,操作系统为Android 6.0.1。用于追踪的后置摄像头像素为1 600万像素,分辨率为1 280*20P/30 Hz且曝光时间可以调整。
图1 追踪算法流程
首先取一张经典的Lena图片作为目标图像,将图片中点的120×120像素大小的图片作为模板图像。对Lena图像进行拍摄时,对智能手机进行旋转操作,在随机曝光时间下生成800张图像,对于每一张图像,分别用ESM追踪算法、Inertial KLT 追踪算法和提出的追踪方法进行追踪,结果如图2所示。
图2显示出ESM算法的旋转不变性较差,与Inertial KLT相比,提出的追踪算法的旋转不变性更好。
接下来,采用室外环境下的运动模糊物体追踪的视频流进行实验,如图3奔跑中的人的视频序列所示,视频中的人物从清晰到模糊。将模板图像置为120×120像素,快门保持打开状态。然后分别使用ESM追踪算法、Inertial KLT算法和提出的追踪方法,跟踪情况如图3所示。
图2 不同旋转角度下不同算法之间的对比
图3 奔跑中的人
前期视频流中的追踪对象比较清晰,所以三种算法的追踪效果都比较好。但随着目标物体的运动模糊越来越明显,ESM和Inertial KLT追踪算法的追踪效果越来越差,而提出的追踪算法对运动模糊有较强的抗干扰能力。图4显示了ESM算法、Inertial KLT算法、ESM-SG-MB算法在上述视频中的追踪结果对比图,追踪成功率定义为成功追踪的帧数占当前总帧数的比例。可以明显看出,文中提出的算法在运动模糊的情况下,追踪效果更好。
图4 算法在视频流中的对比
提出了一种运用在移动设备的室外AR追踪方法。在BRIEF描述子的基础上,加入了旋转变量,使BRIEF二进制描述子具有旋转不变性。又改进了ESM算法,使得系统在追踪过程中能很好地适应运动模糊。实验结果表明,该追踪方法对目标物体旋转和运动模糊的情况有较强的抗干扰能力。在未来的工作中,可以考虑从降低移动设备在追踪时的计算量、提高实时性的方面进行研究。