宋 冰,臧传方,陈愫閒,贾 凯
(1.甘肃省博物馆,甘肃 兰州 730070;2.兰州交通大学电子与信息工程学院,甘肃 兰州 730070)
增强现实技术是一种将通过计算机科学产生的虚拟场景图像或信息,能够生动地呈现在真实场景中,使用户能够通过终端实时看到,从而获得更多的信息的技术[1-5]。增强现实技术通过三维跟踪配准技术、虚拟现实集成技术等技术支持,可以应用于多种应用领域[6-8]。早在20世纪,增强现实技术就已经出现在美国。随着科学技术的不断发展,我国也开始将增强现实技术应用于各个领域,如军事[9-12]等。但是,它在文化领域的应用还相对较少,有很大的发展空间。而古壁画对保存条件要求很高,研究条件也很苛刻。经常在研究过程中由于操作不当导致珍贵的古代壁画被破坏或从此消失了[12-13]。增强现实技术是将古代壁画的各个方面记录并保存在计算机构建的虚拟场景中,然后通过三维跟踪技术,完整而详细地呈现在面前,供研究人员研究[14]。增强现实技术的应用对于古代壁画的应用和探索具有重要意义。
增强现实技术是真实场景、虚拟场景、用户交互的系统桥梁。一般由图像识别技术、三维跟踪配准技术和虚实结合技术组成,组合模式图如图1。
图1 增强现实技术的系统构成图
在此增强现实系统中,首先通过摄像头移动从真实场景中获取所需的信息,并通过图像识别技术分析和建立虚拟的真实场景空间。利用三维跟踪技术获得当前摄像机的空间定位和当前摄像机所保持的具体姿态。利用计算机设计出与当前状态相对应的虚拟模型,根据相关数据通过三维跟踪配准技术进行解析计算,将真实场景与虚拟场景合并,将其在虚实结合的系统中显示出来。最后在终端上显示,形成一个完整的增强现实系统。图像识别技术的操作流程如图2。
图2 图像识别技术的操作流程示意图
由于特征匹配是在同一真实场景或具有相同目标的两幅图像之间建立对应关系,因此全局特征检测的抗干扰性和精度,低于局部特征检测,并且对图像的环境要求非常高,在应用上有很大的局限性,因此采用局部特征检测方法。
利用图像识别技术,通过图像采集、图像预处理、图像特征提取、图像特征匹配、输出结果等一系列过程,可以得到比初始获得的图像信息更加准确、有用的信息,删除无用的信息,也为后续的3D注册跟踪技术提供了计算便利性和更高的准确性。3D 跟踪配准技术是增强现实技术正确实现叠加和虚实融合的关键。3D跟踪配准技术通常用于对真实场景中的物体进行跟踪定位,通过空间坐标系将虚拟场景渲染到真实场景中的准确位置。根据所使用的技术、设备和方法,可以将现实中每个角落的精确定位分为3类。应用最广泛的跟踪配准技术是基于软件的配准技术,即通过计算机视觉发展起来的跟踪配准技术。它可以通过在虚拟坐标系和真实坐标系之间转换的空间定位和叠加模型进行跟踪配准。按照标记物是否放置在真实环境中可分为标记物三维配准技术和非标记物配准技术。
获取离线段目标关键帧后,根据匹配点求解关键帧的摄像机外部参考和投影矩阵,建立初始化结构。在逐帧分析和建立目标三维结构时保存目标关键帧的参数。定位关键帧来初始化3D 轨迹注册信息。图3显示了三维跟踪配准技术。
图3 三维跟踪配准技术分类图
(1)像素坐标与图像坐标。三维空间上的某一点Pw的二维齐次坐标的投影点p0在像素坐标系(O0uv)下可以表示为p0(u,v,1)T,其投影点p1在图像坐标系(O1xy)下的二维齐次坐标可表示为p1(x,y,1)T。两点之间的关系可以用公式(1)(2)表示,其中(u0,v0)为坐标系原点。
像素坐标系各像素在x、y轴上的变化量为Δx和Δy。在此基础上,这2个坐标的变换关系如式(3)。
(2)图像坐标与相机坐标。从坐标系(O1xy)到摄像机所在的坐标系(OCXCYCZC),将摄像机坐标系中PC(XC,YC,ZC,1)T转换为图像坐标系中可以用齐次坐标p1(x,y,1)T表示的点。相机坐标系的原点与图像坐标系的原点之间的距离f也被称为是相机的焦距。图像坐标系与摄像机坐标系之间的变换关系可以用式(4)表示,其表达式为:
(3)世界坐标系与相机坐标系。对于三维空间中现实世界坐标系中的一个点,PW可以表示为现实世界坐标系(OWXWYWZW)中的PW=(XW,YW,ZW,1)T。摄像机坐标系(OCXCYCZC)中的点PC可以用齐次坐标PC(XC,YC,ZC,1)T来表示。这2个坐标系之间的变换关系可以用下式表示:
其中表示坐标轴的R,在将现实世界的坐标系转换为摄像机坐标系后,是一个3×3旋转矩阵。t是表示从现实世界坐标系到摄像机坐标系变换后的坐标平移的向量。T是表示现实世界坐标系与摄像机坐标系之间变换关系的矩阵。
综合以上公式可以得到:
比例尺通常用来描述对远处物体的放大,而远处物体的图像会变得模糊。它经常被用来模拟人眼的视觉。当图像上2个物体的特征点能够在多个尺度上匹配时,就可以证明两者是同一物体。
为了实现算法尺度的不变性,我们建立了图像金字塔来构建尺度空间。金字塔的每一层都由许多图像组成,图像之间的尺度以恒定的乘数增加。每组起始图像乘以下一组图像倒数第二个三级图像样本,不同组之间的图像尺寸形成一个连续的金字塔,从而保证了尺度的不变性。
(1)高斯函数。图像的尺度空间函数G(x,y,σ)可以通过尺度变量高斯函数L(x,y,σ)与输入图像I(x,y)的卷积表示,如式(7)所示:
*表示卷积,变尺度高斯函数G(x,y,σ)可以用式(8)表示:
式中:σ表示尺度因子,其大小决定了图像的模糊程度。文章的特征点检测使用了SURF算法的特征点检测,即基于Hessian矩阵的兴趣点检测。假设在给定图像I的p(x,y)中存在一个像素p,则该点和尺度σ处的黑森矩阵定义可由式(9)[15]表示:
式中:Lxx,Lxy,Lyy是高斯二阶导数和原始图像的卷积。
由于高斯函数的精确表达式使其在计算上变得复杂,所以通常用近似值来表示,减少计算量来加速计算过程,如式(10)所示:
式中:Dxx,Dyy,Dxy表示对Lxx、Lyy和Lxy进行过滤得到的近似值。
其实目标图像的特征检测算法有很多,但需要根据不同的特征和不同的场合来选择。SURF 算法在特征点检测的精度、尺度、旋转等方面都与其他算法相比有很大的优势,并且算法在速度上也有了很大的提高,因此我们选择SURF 算法作为增强现实系统的主要算法。
(2)SURF和F-REAK算法。过去通常使用传统的SURF算法来描述浮点特征。虽然hot SURF已经进行了更新和加速,但仍然不能满足要求。它需要使用大量的内存和时间进行处理、描述和匹配。因此使用了FREAK算法,它更接近人眼视网膜接收图像信息并对其进行处理的过程。它采用局部采样点的梯度计算,通过对采样点的比较,将采样点组合成对。得到描述符的像素强度可以用式(11)表示:
式中:N表示描述符的长度,T(Pa)表示二值检验,Pa表示大量采样点。这个表达式可以用式(12)表示:
式中:I()表示前一个像素点Pa的像素值,I()表示后一个像素点Pa的像素值。
根据已有的特征点信息,建立一个矩阵,每一行对应一个关键点的FREAK二进制字符表示,通过计算矩阵每列的均值来计算二进制分布矩阵的方差。根据最大方差对矩阵的每一列进行排序,最接近的方差排序越靠前。最后,保存最佳列,遍历其余列以计算最佳列的协方差,留下协方差最小的列,最后进行筛选以获得所需的二进制描述符。
该模型通过选取中心对称的采样点,采用局部梯度求和的方法计算特征点的矢量方向。假设局部梯度信息O由式(13)计算得到特征点的方向。
其中,M为集合G中点的个数,G为计算特征点方向的所有采样点的集合,和为经过采样中心的点,I()为两个经过的采样点中前一个的像素值。I()表示两个经过的采样点中的后一个的像素值。
在抽样之后,对收集到的数据进行粗略匹配,粗匹配的度量通常为汉明距离,特征点描述符之间的汉明距离计算公式如式(14)所示:
由于阈值的存在,使得可以匹配的点只能接近真实正确的匹配,不能完全保证点的正确性。因此,在特征检测与匹配算法过程的最后一步使用RANSAC 算法,即使用随机抽样一致性算法对得到的特征匹配点进行筛选和净化。该算法有助于估计两幅图像之间特征点的坐标点之间的相互变换关系,称为单应性矩阵h,该单应性矩阵可以帮助找到图像在虚拟场景和真实场景中的具体位置。图像之间的同形关系如下式所示:
s表示匹配特征点(x,y)的尺度参数为目标图像的匹配特征点坐标与虚拟场景或真实场景(x',y')中匹配的特征点坐标。
采用鲁棒性检验和图像识别算法的准确性来比较特征检测和特征匹配算法,以准确描述图像之间特征的描述和匹配,其中AM 测量的是平均匹配次数和平均匹配率。平均匹配率表示匹配点总数N与图像特征点总数m的比值,比值越大,算法检测到的特征点越准确,如式(16)所示:
平均匹配率AP是精确匹配点总数Nc与特征点总数N之比。比值表示算法的匹配精度。由于只有正确的匹配点数才能称为特征匹配点数,所以比值越高,算法的准确率越高,如式(17)所示:
在增强现实技术系统中,无论是三维结构的建立,还是三维配准信息的分析,都需要特定的摄像机固定信息。在平面图像中,如果真实世界的坐标与相机坐标所在的平面重合,则二维平面坐标的转换关系如式(18)所示:
若H是单应矩阵,则公式的形式变化如式(19)所示:
若转置矩阵R是一个正交矩阵,那么,根据正交矩阵的相关性质,如式(20):
将式(19)和式(20)结合可得:
选取的前两帧作为构建初始三维结构的基础。将这两帧的平面命名为I1和I2,假设2个平面外的1个点P在2个平面上的投影点分别为这2个,点的图像像素的p1齐次坐标。p点的空间坐标为p齐次坐标=(pT,1)T,相机参数矩阵为K。根据这些信息,得到如下公式:
R 是由坐标系旋转矩阵t 从第二帧到第一帧的平移求和得到的。与式(22)结合,可以得到公式(23):
式(23)的左右两边同时交叉乘以t,将交叉乘以t̂的矩阵形式表示为式(24):
通过公式λ2x2=λ1Rx1+t得到投影矩阵M,同时将三维坐标乘以方程的两边,可以得到0=λ1x2Rx1+x2t,然后将得到的任意一对特征点与坐标、旋转矩阵R、平移向量t配对,得到λ1、λ2。
将原公式进行简化,定义矩阵F 和矩阵E,设其为图像的齐次坐标xx=K-1--p,最终公式为:
增强现实技术的一个重要指标是特征检测实验中匹配特征点的平均个数、平均匹配率和平均准确率。这些数据对增强现实技术非常重要。通过多个场景和一个场景的旋转变换、模糊变换、亮度变换、尺度变换等多种变换,得到以下数据,对比优化前后的数据,可以直观地看到优化后的结果,见表1和图4。
表1 各种变换下平均匹配次数的对比结果
图4 平均匹配计数比较结果
从数据对比图可以清楚地看到,在对图像的各种变换中,SURF 算法和FREAK 算法在不同变换下得到的平均匹配次数相差很大。与前两种算法相比,本文方法获得的平均匹配数变化更小,稳定性更高。
在上述变化中,除了平均匹配次数外,还可以得到一个重要的指标,即平均特征点匹配率,简称平均匹配率。在上述转换过程中,平均匹配率的变化见表2和图5。
表2 各种变换下的平均匹配率比较结果
图5 平均匹配率的比较
从数据图中可以看出,与本文方法和SURF 算法相比,FREAK算法在各种图像的变换中平均匹配率较低,鲁棒性测试结果也较差。本文方法的平均匹配率与SURF 算法总体上相差不大,在视角变换和压缩变换中效果更强,平均匹配率较高。总体而言,该方法的平均匹配率最高。
在再增强色彩系统中,误差主要发生在在线跟踪配准过程中由于摄像机与场景之间的相对运动而产生的跟踪配准误差,该误差可以通过重新投影待测误差err来计算。
最后,通过每次变换的平均准确率数据进行直观的比较。结果见表3和图6。
表3 各种变换下平均精度的对比结果
图6 平均精度比较结果
传统的FREAK算法整体准确率低于其他算法,鲁棒性测试结果也无法达到预期效果。SURF 算法在旋转变换的情况下精度较低,但在其他图像变换中效果较好,具有较高的精度。从整体上看,本文的方法是最好的,其次是SURF。
时间消耗是衡量算法实时性的关键指标。通过比较算法在特征点检测和特征点匹配净化方面的运行时间,发现耗时越少算法的真实时间性能越好。
利用图像数据库中的平均数据计算SURF算法和FREAK 算法使用的耗时时间以及本文采用特征检测方法计算的时间,结果见表4和图7。
表4 各算法的耗时比较
图7 时间消耗对比图
这3 种方法相比较,SURF 方法耗时最多。SURF 算法在平均准确率、平均匹配率等数据方面优于FREAK 算法,但每次实验耗时较FREAK 算法多。由于SURF 算法的改进存在较长的瓶颈,因此选择本文中耗时更少且精度更高的方法。
3D 配准的耗时性质是我们评估配准方法的一个指标。我们使用目标识别配准方法和目标跟踪配准方法对实验结果进行对比,见表5和图8。
表5 识别注册和跟踪注册的时间消耗比较
图8 平均时间消耗比较图表
从逐帧特征检测与匹配方法的耗时结果可以看出,目标识别与配准的耗时远远大于目标跟踪配准的耗时。因为耗时越长,系统上的负载就越大,系统卡住的时间也就越长。因此,目标识别配准方法是不可行的。
使用PASCAL VOC2007 图像库作为图像特征,其中包含大量的场景和变换,并且平均计算了该图像库中的图像数据序列。所使用的算法也是结合最近邻和近邻比例的双向匹配算法,使实验数据具有说服力和代表性。
最后,在基于增强现实技术构建的系统中,比较了系统中各主要模块对图像帧的处理速度,见表6和图9。
表6 3个模块处理帧数的时间消耗表
图9 3个模块处理帧数耗时对比图
由表6 可知,3 个模块处理初始帧的时间最长,目标图像识别耗时最长。此时我们需要保持摄像机的稳定性来保证初始帧的完整性,因为系统使用增强现实技术通过特征跟踪来叠加图像解位,从而保持系统的快速配准。其效果可以从在线跟踪框对工作台的处理时间看出。快速处理后的古代壁画达到了预想的效果。
增强现实技术是一门新兴的学科,它可以通过图像识别、三维跟踪、虚实结合等技术帮助人们更加方便直观地表达信息。通过图像识别和三维配准跟踪,将虚拟物体与真实场景融为一体,最后显示在终端上,帮助人们探索古代壁画的应用。文章提出的方法通过结合尺度空间特征检测算法SURF算法和二值扫描算法FREAK 的优化方法,通过特征匹配,将最近邻比和双向匹配相结合,在保证精度的同时减少了计算时间。三维配准跟踪模块通过建立目标三维结构和PnP 算法进行配准,然后通过高斯函数快速求解配准信息,并改变虚拟场景和真实场景的观测条件。使用精确叠加的虚拟对象来实现增强现实效果。