APP下载

基于二进制鲁棒不变尺度关键点-加速稳健特征的自然特征虚实注册方法

2020-06-07唐丽玉

计算机应用 2020年5期
关键词:鲁棒性特征提取矩阵

周 翔 ,唐丽玉 *,林 定

(1.空间数据挖掘与信息共享教育部重点实验室(福州大学),福州350108;2.地理空间信息技术国家地方联合工程研究中心(福州大学),福州350108)

(∗通信作者电子邮箱Tangly@fzu.edu.cn)

0 引言

增强现实(Augmented Reality,AR)是指利用计算机技术将虚拟场景实时精准地叠加到真实场景中的相对位置,以增强用户在真实环境中的感知体验[1]。增强现实技术由虚拟现实技术发展而来,具有虚实融合、实时交互、虚实注册的特点[2],增强现实技术的核心是虚实注册[3-4]。随着计算机图形学和计算机视觉技术的快速发展,基于平面图像的自然特征虚实注册方法俨然成为研究热点之一,基于自然特征的虚实注册方法的关键之一在于图像的特征提取与匹配[4-5],图像特征提取与匹配算法的特征识别精度和计算速度会对虚实注册的精确度与实时性产生直接影响。

图像特征识别算法分为特征提取和特征描述两个部分,图像的特征描述算法主要分为浮点型描述符和二进制描述符两类。基于尺度不变特征变换(Scale-Invariant Feature Transform,SIFT)算法[6]是目前综合性能最佳的浮点型描述符,也是高精度特征提取算法,但其运算量大、耗时多,难以满足对实时性有需求的实际应用,而同为浮点型描述符的加速稳健特征(Speeded Up Robust Features,SURF)算法[7]能够获取类似于SIFT算法的高精度和鲁棒性佳的特征点,但计算速度较SIFT有较大的提高[8],是一种较为高效的算法,与二进制描述符相比,识别精度更高[9]但计算速度慢了一个数量级,在所有的二进制特征描述算子中,二进制鲁棒不变尺度关键点(Binary Robust Invariant Scalable Keypoints,BRISK)特征描述算子[10]在旋转、视角和尺度变换条件下的综合表现最佳[11],BRISK特征描述符在所有的二进制描述符中有最高的特征匹配精度和最大匹配数,运算速度相对于浮点型描述符来说非常适合用于移动端应用程序[12]。

基于自然特征的增强现实技术在教育[13-14]、历史遗址重现[15]、旅游[16-17]等领域有着广泛的应用前景,在实际场景中因相机角度、环境光照和遮挡的不同会使得图像之间出现差异性,因此实现一种能够准确快速地识别差异性图像并精确完成AR功能的虚实注册方法非常关键。

本文将结合SURF算法和BRISK算法的优点,研究高效的基于图像自然特征的虚实注册方法,首先使用二进制鲁棒不变尺度关键点-加速稳健特征(Binary Robust Invariant Scalable Keypoints-Speeded Up Robust Features,BRISK-SURF)算法提取图像的特征信息;其次在特征匹配阶段使用汉明距离进行高速特征匹配以及随机抽样一致性(RANdom Sample Consensus,RANSAC)算法剔除误匹配点对,根据图像特征之间的单应性关系计算注册矩阵以实现基于自然特征的虚实注册;最后基于该方法实现AR系统,并应用于朱子文化遗存中兴贤书院旅游资源的宣传与体验。

1 基于BRISK-SURF自然特征的虚实注册

1.1 结合BRISK和SURF的特征识别匹配算法

在实际应用中,准确并快速地识别匹配旅游场景中的图像是关键。本文在图像的特征提取阶段利用SURF特征提取算子检测出高精度和鲁棒性佳的特征点,然后使用BRISK特征描述算子对特征点进行二进制描述以提高计算速度。

1.1.1 特征提取

在图像的特征提取阶段,使用SURF的近似Hessian矩阵行列式(Determinant of Hessian,DoH)检测在图像的不同尺度空间上快速检测特征点,核心是Hessian矩阵的利用。图像在尺度为σ的Hessian矩阵H为:

其中:Lxx(X,σ)为高斯二阶偏导数与像素点(x,y)在x方向上的卷积,Lxy(X,σ)和Lyy(X,σ)的定义类似。

SURF算法通过使用盒状滤波器(Box Filter)与积分图像的简单运算来代替模板与图像的卷积运算,这样可以在保证提取精度的前提下加快特征检测,计算公式如下:其中Dxx、Dyy、Dxy为近似高斯二阶偏导数与图像像素的响应值,当det(H)>1时认为该点为特征点。

通过构建图像的多尺度空间金字塔,提取具有尺度变换和鲁棒性佳的特征点。SURF算法不改变图像的尺寸,只改变盒状滤波器的尺寸,并通过同时处理多尺度空间的图像来构建图像金字塔,加快了图像的处理。

在检测出的每个特征点所在尺度层及上下两个尺度层图像的3×3×3邻域内对其进行非极大值抑制,再通过亚像素插值运算来获得稳定性佳的特征点。

1.1.2 特征描述

1)计算特征点主方向。

为了使特征点具备旋转不变性,在对特征点进行描述前需要确定特征点的主方向。本文利用BRISK算子,在特征点周围使用均匀采样模式(如图1所示),即以特征点为中心,构建不同半径的同心圆,在每个圆上获取一定数目的等间隔采样点(包括特征点本身),并对所有采样点进行高斯滤波,然后对局部梯度进行计算,将采样点两两组合计算特征点局部梯度集合,使用g(Pi,Pj)表示特征局部梯度集合,有:

其中:I(Pi,σi)、I(Pj,σj)分别为特征点的像素值,统计短距离和长距离点对子集,利用长距离点对子集计算特征点的主方向,计算公式如下,公式中的L为所有长距离点对:

图1 BRISK的采样模式Fig.1 Sampling mode of BRISK

2)生成特征描述符。

把特征点周围的采样区域旋转θ角度到主方向,旋转后得到新的采样区域,以解决旋转不变性,再次使用均匀采样模式统计短距离点对子集,在短距离点对子集中通过在点对之间的强度对比构建特征点的二进制描述符b,式中的S为长距离点集。

1.1.3 特征匹配

经过BRISK-SURF算法得到的特征点描述符是由0和1组成的二进制比特串,可以采用汉明距离实现特征点之间的高速匹配,从而完成特征点之间的初始匹配。

RANSAC算法被广泛用于图像的特征匹配,容错率高,对误匹配的特征点对有很好的识别剔除效果,所以本文使用RANSAC算法对初始匹配点对进行筛选,以得到稳定性佳、精度高的最佳匹配点对。

1.2 基于BRISK-SURF算法的虚实注册

虚实注册技术是增强现实的核心技术,其主要作用是通过实时计算相机相对于真实场景的姿态位置而将虚拟物体准确地渲染叠加在真实环境的相应位置,使得虚拟场景与真实场景保持相对位置的准确与稳定[18-19]。要实现在现实场景中叠加虚拟场景,必须获取目标图像与相机的相对姿态位置信息,根据姿态信息把虚拟场景叠加渲染到真实场景中的相对位置上来实现AR效果。

1)相机的姿态位置计算。

目标图像的特征点位置与其在三维空间中的坐标位置的对应关系如式(6)所示,其中:s代表特征点在相机坐标中的z坐标值,(u,v)为图像坐标系中的二维点坐标,(X,Y,Z)为三维点在世界坐标系中的坐标,(cx,cy)为相机的主光轴点(图像的中心),fx和fy为相机的焦距,[R3×3t3×1]为变换矩阵,K为相机的内参矩阵,M为三维空间中点的坐标与二维图像坐标系中点坐标之间的单应性矩阵。

这一步的关键是求解变换矩阵,也是相机的外参矩阵。相机的内参矩阵K可由棋盘标定法获得,根据二维点集坐标、三维点集坐标和相机的内参矩阵计算变换矩阵[R3×3t3×1]。

2)基于BRISK-SURF的虚实注册算法。

根据求解的变换矩阵、相机的内参矩阵和匹配点对的坐标信息,结合OpenGL完成虚实注册。基于BRISK-SURF的虚实注册算法流程如图2所示。

图2 虚实注册流程Fig.2 Flowchart of virtual-real registration

具体步骤描述如下:

1)使用SURF特征提取算子检测出标识图像的特征;

2)使用BRISK特征描述算子对检测出的特征点进行描述;

3)校准相机,使用棋盘标定法计算相机的内部参数;

4)从实时视频流中获取当前帧图像,使用SURF特征提取算子检测图像的特征点;

5)使用BRISK特征描述算子对当前帧图像中的特征点进行特征描述;

6)利用汉明距离对标识图像和当前帧图像的特征信息进行匹配特征;

7)如果图像匹配成功,计算标识图像和当前帧图像之间的单应性矩阵,否则返回继续4);

8)利用单应性矩阵特征对二维特征点坐标进行映射,获得三维点坐标;

9)根据三维点坐标、二维点坐标和相机的内参矩阵,计算出相机的外参矩阵;

10)利用相机的外参矩阵,将虚拟物体渲染叠加在真实场景中。

2 实验结果与分析

BRISK-SURF算法能否准确快速地实现图像特征匹配将会对虚实注册过程产生直接影响,所以将基于BRISK-SURF自然特征的虚实注册算法的实验分为图像特征匹配对比实验和虚实注册实验两个部分。其中:图像特征匹配对比实验是检测BRISK-SURF算法在各种图像变换情况下是否能够高效快速地实现图像特征匹配;虚实注册实验是对文中虚实注册算法能否高效稳定地实现AR进行实验测试。

2.1 图像特征匹配对比实验

本文从旋转变换、光照变换、尺度变换、视角变换和模糊变换5个不同角度对文中的算法与SURF算法、BRISK算法,按照不同的性能指标分别进行实验对比[20-21]。图3为实验图像数据,包括不同模糊、旋转、尺度、光照、视角变换等标准场景图像的牛津数据集(the Oxford data set)和图像处理实验中经典图像Lena。

图3 标准实验数据集Fig.3 Standard experimental dataset

实验基于OpenCV2.4.9和QT5.6,实验环境为i7-7700 CPU、16 GB内存、Windows10系统。采用特征匹配数、特征计算耗时、匹配率、准确率和召回率作为算法的性能指标与SURF和BRISK算法进行对比实验,并且对实验结果进行分析。在下列各性能指标计算公式中,Nf为两幅图像中特征点数量最小值,Nall为总匹配点对数量,Ncorrect为正确匹配的点对数量,Nshould为两幅图像相同的特征点对数量。实验结果统计如图4所示。

1)平均特征匹配数量。对经过各特征提取算法所提取的所有标准图像特征点中成功匹配的点对数量求平均值,结果如图4(a)所示,实验统计结果显示,在面对图像的不同模糊、旋转、光照、尺度、视角变换情况下,经过BRISK-SURF算法得到的图像平均特征匹配数量与SURF算法基本一致,比BRISK算法明显要多。

2)特征计算耗时。将各特征提取与描述算法分别应用于各个标准实验图像的特征检测与描述,计算消耗时间(单位:秒),结果如图4(b)所示,根据统计结果分析,BRISK-SURF算法特征平均计算速度约为SURF算法的2.52倍,有效地提高了实时性。

3)平均匹配率(Average Matching,AM)。匹配率为经过RANSAC算法筛选后得到的高精度特征匹配数与两幅图像检测出的特征点数量最小值的比值:

对匹配率求平均值,实验结果如图4(c)所示,在图像模糊和尺度变换方面的表现BRISK-SURF算法比SURF算法更加优秀,与BRISK算法相比鲁棒性更佳。

4)平均准确率(Average Precision,AP)。准确率为经过RANSAC算法筛选后得到的高精度特征匹配数与筛选前特征匹配数的比值:

计算匹配准确率的平均值,实验结果如图4(d)所示,根据统计结果分析,在平均准确率方面,BRISK-SURF算法与SURF算法相比基本一致,而BRISK算法的平均准确率变化较为明显并且均低于BRISK-SURF算法,稳定性表现不佳。

5)平均召回率(Average Recall,ARc)。特征匹配的召回率是指最终得到的最佳特征匹配数量与两幅图像中相同特征点对数的比值:

图4 实验结果统计Fig.4 Statisticsof experimental results

对召回率求平均值,实验结果如图4(e)所示,在平均召回率方面,BRISK-SURF算法比SURF算法更具有优势,相较于BRISK算法,在图像旋转变换情况下,BRISK算法的平均召回率更加出色,但在光照、尺度、视角变换方面BRISK-SURF算法更具有优势。

根据对比实验结果分析,在使用不同变换的图像与相应原始图像进行匹配测试时,BRISK-SURF算法表现出较为理想的鲁棒性、稳定性和实时性,与SURF的性能基本一致但有更高的召回率,与BRISK相比鲁棒性更佳,表现出更好的准确率,计算速度相较于SURF算法大大加快,但比BRISK算法耗时多,计算时间基本能保持在0.1 s以下,算法的实时性较好。

2.2 虚实注册实验分析

本文在Windows10系统下,基于Unity3d专业渲染引擎,结合OpenCVForUnity工具包和OpenCV库实现基于BRISKSURF算法的自然特征虚实注册,并在此虚实注册算法的基础上实现AR,实验硬件配置为外接摄像头(分辨率640×480),Core i7-7700CPU 3.6 GHz,16 GB内存。

1)鲁棒性和稳定性测试。

选择一张卡通图片作为标识图片,在不同光照、不同视角以及经过不同遮挡处理的情况下进行匹配识别,蓝色立方体为需要被注册的虚拟物体,对基于BRISK-SURF的自然特征注册算法的鲁棒性和稳定性进行测试,测试结果如图5所示,实验结果表明,本文实现的虚实注册方法可以准确高效地完成对场景的识别,实时效果好,鲁棒性良好并且运行稳定,将虚拟立方体准确地渲染叠加在标识图片上,并且虚拟立方体的显示姿态也随相机的姿态变化而变化。

图5 不同情况下的注册效果Fig.5 Registration effects in different situations

2)运算时间测试。

分别对采用SURF、BRISK和BRISK-SURF算法的注册方法进行运算耗时测试,每隔50帧计算一次平均值,结果如表1所示。从表中可以看出,本文的算法运行平均耗时在0.1 s左右,计算耗时仅为SURF算法的1/2~1/3,有较好的实时效果。

表1 注册算法计算时间平均耗时对比 单位:msTab.1 Comparison of average calculation time of registration algorithms unit:ms

3)注册精度测试。

本文使用标准图像数据集[22]对BRISK-SURF算法的注册精度进行测试,数据集中包括标准的变换矩阵(3×3),注册结果如图6所示,白色框为实验所得的注册位置。

图6 标准图像注册结果Fig.6 Results of standard imageregistration

实验计算数据与标准参考数据如表2所示,从表中可以看出实验所得变换矩阵非常接近于标准矩阵,同时相较于BRISK算法明显有更高的注册精度。

基于BRISK-SURF的自然特征虚实注册算法在标识图像的光照、视角以及遮挡不同的情况下,仍然可以准确地完成虚实注册,稳定性和鲁棒性表现出色,同时具有较好的实时性,注册精度高。

表2 变换矩阵实验对比Tab.2 Experimental comparison of transform matrices

2.3 实验分析总结

通过对图像特征匹配实验和虚实注册实验结果的分析可知,基于BRISK-SURF的自然特征虚实注册算法继承了SURF算法高精度的图像识别匹配性能,在标识图像的光照强度、视角变换和遮挡程度等不断变换的情况下,可以准确完成虚实注册,同时注册平均耗时保持在0.1 s左右,具有鲁棒性和稳定性佳、实时性效果良好、注册精度高的优点,因此适合用于移动增强现实系统中。

3 BRISK-SURF虚实注册的应用

本文以朱子文化遗存中的兴贤书院为例,对景点的多种类型旅游资源进行数字化,将AR技术应用于兴贤书院旅游资源的呈现与体验,并通过多模态交互方式对不同类型的数字化旅游资源进行交互设计。

3.1 AR框架设计

AR系统的实现基于Unity3d平台,并结合OpenCVForUnity工具包和OpenCV库。具体实现思路是:使用BRISK-SURF算法提取标识图片的特征信息,利用Unity3d的MainCamera结合外接摄像头获取视频流图像,提取其中每一帧图像的特征信息与标识图片进行匹配,匹配成功后实时计算摄像头相对于标识图片的姿态关系。在场景中新添加一个Camera(新命名ARCamera)用于渲染虚拟场景,利用计算得到的TRS(Translation,Rotation and Scaling)变换矩阵将虚拟场景渲染叠加在标识图片的相对位置上,从而实现AR功能。AR实现流程如图7所示。

3.2 多模态交互式移动AR效果展示

本文利用兴贤书院的宣传图片对数字化的旅游资源以三维和二维相结合的方式在移动端进行呈现,同时设计手势、语音等多模态交互的方式对不同类型的旅游资源进行交互,图8展示的是基于多模态交互式AR系统的效果,IPAD中的图片为书院宣传照片。

图7 AR实现流程Fig.7 Flowchart of ARimplementation

图8中:(a)展示的是书院的历史简介,可以通过语音功能进行交互;(b)展示的是书院的宣传视频,通过UI交互方式自由选择二维或三维资源进行交互;(c)~(f)展示的是书院的三维模型,其中图(d)是通过手势操作完成对图(c)中模型的旋转视角,图(e)展示的是手势旋转和放大的三维模型,图(f)是在图(e)的条件下将摄像头靠近IPAD观察书院三维模型内部场景的效果。

图8 移动AR系统运行效果Fig.8 Operation resultsof mobile ARsystem

4 结语

本文提出一种结合BRISK和SURF算法的自然特征虚实注册方法,图像特征匹配实验结果表明BRISK-SURF算法在保持SURF算法的良好匹配性能和精度的同时明显提高了计算速度,比BRISK算法有更佳的鲁棒性和更高的准确率。对基于BRISK-SURF的自然特征虚实注册方法的测试结果表明其注册精度高,在标识图像视角、分辨率和遮挡不同的情况下仍然具有良好的稳定性、鲁棒性和实时性,可以满足实际应用的需求。以朱子文化遗存中的兴贤书院为案例,基于BRISKSURF的自然特征虚实注册方法,研发了基于移动增强现实的文化旅游资源的呈现系统,实现多模态的自然交互体验,促进了文化、旅游与科技相互之间有机结合,可以为其他文化旅游资源的创新型呈现与体验方式提供有益探索。但文中实现的增强现实系统仍存在相机运动速度加快导致注册精度降低的问题,有待进一步改进。

猜你喜欢

鲁棒性特征提取矩阵
武汉轨道交通重点车站识别及网络鲁棒性研究
空间目标的ISAR成像及轮廓特征提取
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于特征提取的绘本阅读机器人设计方案
基于MED—MOMEDA的风电齿轮箱复合故障特征提取研究
多项式理论在矩阵求逆中的应用
一种基于三维小波变换的鲁棒视频水印方案
电子节气门非线性控制策略
基于鲁棒性改进理论的大面积航班延误治理分析
矩阵