APP下载

基于动态特征模板匹配的ARToolKit三维注册

2017-08-12雷晓妹伍忠东加小红

计算机应用与软件 2017年7期
关键词:灰度摄像头模板

雷晓妹 伍忠东 雍 玖 加小红

(兰州交通大学电子与信息工程学院 甘肃 兰州 730070)



基于动态特征模板匹配的ARToolKit三维注册

雷晓妹 伍忠东*雍 玖 加小红

(兰州交通大学电子与信息工程学院 甘肃 兰州 730070)

针对ARToolKit三维注册易受光照、遮挡以及旋转变化的影响,提出一种基于动态特征模板匹配的ARToolKit三维注册方法。通过对摄像头摄入的一帧视频二值化处理后形成的模板图片采用ORB算法检测特征点;然后采用动态特征模板匹配技术进行特征模板匹配;最后计算出三维注册矩阵来将虚拟信息叠加到现实世界中。将OpenGL生成的虚拟信息叠加仿真实验,并将该方法与ARToolKit注册方法对比。仿真结果表明,复杂环境条件下动态模板匹配算法具有较高的实时性和标识物识别率,且基于动态特征模板匹配的ARToolKit注册具有良好的稳定性和鲁棒性。

ARToolKit ORB算法 三维注册 特征模板匹配 标识

0 引 言

增强现实AR(Augmented Reality)是虚拟现实VR(Virtual Reality)的一个重要分支[1],是将计算机生成的虚拟信息叠加在真实世界中,给人以视觉增强的效果[2]。增强现实技术具有虚实结合、实时交互和三维注册的特点[3]。三维注册是AR系统的核心,三维注册技术的优劣是衡量AR系统性能的重要指标。AR系统三维注册通过特征点提取、匹配和定位等步骤,需要实时识别目标并计算出虚实注册矩阵[4]。目前三维注册方法包括基于标识(marker)的注册、基于自然纹理特征(markerless)的注册[5]以及基于标识与自然纹理的注册[6]。

基于标识的注册对放入真实场景中的标识利用计算机视觉方法识别,并计算出摄像机与标识位置关系进行三维定位。目前对ARToolKit的研究与应用很广泛[7],例如胡颖群等将ARToolKit利用与商品展示中,提出基于ARToolKit的三维虚拟商品展示系统设计与实现[8];谢敏等提出基于ARToolKit场景变化增强现实的研究,在场景发生变化时实现对现实的增强[9];王辉柏提出一种增强现实中基于ARToolKit的新的交互方法且实现了多标识跟踪[10]。徐敏等将ARTooIKit应用于教学中,提出基于ARTooIKit的增强现实课件的设计与制作[11]。但ARToolKit注册很依赖标识,当标识放置于复杂环境中会导致注册不成功。

目前主流的特征模板匹配方法是基于特征的匹配算法,但特征检测时存在某些参数不定、计算复杂度高以及阈值选取等问题[12]。自然特征检测算法主要有SIFT、SURF等[3]。这类算法的判别能力强,但存在算法复杂度高、占用内存以及特征点匹配耗时等问题,导致三维注册算法实时性以及稳定性差。2011年Rublee等在ICCV上提出ORB(Oriented FAST and Rotated BRIEF)算法[13],该算法在特征检测速度上相比SIFT、SURF等算法有极大提升。因此,本文采用ORB算法进行特征检测。

针对上述问题,本文提出基于动态模板匹配的ARToolKit三维注册方法。通过采用实时性较高的ORB特征检测算法且模板匹配时采用实时性及识别率较高的动态模板匹配算法,并对ARToolKit的二次开发,抑制了标识易受光照、遮挡以及旋转变换的影响,提高了AR系统的实时性、稳定性以及鲁棒性。

1 特征模板匹配与ARToolKit

1.1 特征模板匹配技术

特征模版匹配技术是指根据识别的模板图像在计算机已存储的模版图中搜索与之相对应的特征模板,即通过计算相关函数来找到自身被搜索图的坐标。如图1所示,在搜索图S上特征模板T(m×n像素)平移,T图中左上角像点在S图中的坐标为i,j,Si,j(1≤i,j≤n-m+1)为模板T覆盖下的那块搜索图。

图1 标准模板匹配过程

若T和Si,j内容一致,则两者之差为0。其测量方法为:

(1)

通常基于灰度值的特征模板匹配算法识别标识物时存在计算量大且复杂度高等问题,但是特征模板匹配算法具有匹配精度高、简单易行等优势[14]。

1.2 ARToolKit

日本广岛城市大学与美国华盛顿大学联合开发的基于C和C++开发包ARToolKit能在不同平台运行,其精确及实时注册能够非常方便地开发AR系统[7]。

1.2.1 ARToolKit工作流程

ARTooliKt工作流程如图2所示。首先设定阈值θ对彩色图像二值化处理后并提取标识轮廓,然后找到摄像机相对于标识的位置和方向,随后对候选区域与已存储的模板匹配,若匹配成功,则确定标识ID后利用该标识区域变换来计算摄像机相对于标识的位置和方向,最后依据注册矩阵完成虚拟信息叠加。

图2 ARToolKit工作流程

1.2.2 ARToolKit体系结构图

ARToolKit主要由AR.lib、ARgsub.lib和ARvideo.lib三个模块组成。AR模块为核心部分,提供图像处理、标识目标识别、访问摄像头及完成三维注册等例程。ARgsub模块主要包括ARToolKit显示和三维场景渲染函数,利用GLUT提供窗口系统,且利用OpenGL实时三维渲染。ARvideo模块主要是对各个操作系统视频处理库的封装,ARToolKit的体系结构如图3所示。

图3 ARToolKit体系结构

1.2.3 ARToolKit坐标系及转换关系

标识坐标系O-XYZ、显示器坐标系UV和摄像机坐标系O-XCYCZC之间的关系如图4所示,且XP(u,v)为UV坐标系中标识上任一点的投影。由于摄像机畸变较小,则标识上任一点在显示器屏幕上的投影也可以采用透视投影方式[15]。标识上任意一点P(X,Y,Z)与投影点XP(u,v)之间坐标变换关系如式(2)。

(2)

其中sx、sy是尺度因子;f是摄像机焦距;u0、v0是所得图像重心的坐标。由以上坐标系系统和投影变换关系可得:

[xc,yc,1]T=λCTm[Xm,Ym,Zm,1]T=

λC[R1,R2,R3,T][Xm,Ym,Zm,1]T

(3)

其中,[Xm,Ym,Zm]为点X在标识坐标系下的坐标,[xc,yc]为点X在理想屏幕坐标系下的坐标,Tm为注册矩阵,C为未知摄像头内部参数矩阵。

图4 ARToolKit坐标系定义

2 基于动态模板匹配的ARToolKit三维注册

AR系统先通过读取模板图片,并计算出模板的特征点并存储;然后对摄入的一帧图像二值化处理后,采用ORB算法进行特征检测;随后采用动态特征模板匹配技术计算出与模板图像匹配的图像区域并计算出所需叠加虚拟信息的注册矩阵,以及对摄入帧图像从RGB转为GRBA;最后将虚拟信息叠加到标识上去完成注册。基于动态特征模板匹配的ARToolKit三维注册技术具体流程如图5所示。

图5 特征点结合自然纹理的注册流程

2.1 图像预处理

2.1.1 模板图片特征提取

只有完成模板图片特征点的提取,才可将模板图片特征点与摄像头实时采集图像特征点进行匹配。采用cvLoadImage()函数以灰度值的形式读入模板图片,然后用cv-ORBParams()函数设定ORB算法的初始参数,随后用cvEx-tractORB()提取模板图片的ORB特征。

2.1.2 摄像头参数

使用OpenCV2.4.10函数库打开摄像头并捕捉图像流来实现对现实的增强。采用cvCreateCameraCapture()函数读取摄像头图像,并将其内容的变量地址返回一个cvCapture*类型的变量。cvCapture结构的指针为cvQueryFrame()函数的参数。用来将下一帧视频文件载入内存,并返回一个对应当前帧的指针。关键代码如下:

初始化部分:

cv Capture*m_Video;

Ip1 Image*new Frame;

if (! m_Video)

m_Video=cv Create Camera Capture(0);

if (! m_Video)

{

printf(″摄像头无法打开!″);

retum 0;

}

循环部分:

static void main Loop(void){

new Frame=cv Query Frame(m_Video);

//……

}

2.1.3 灰度化处理及被识别图片的特征检测

由于OpenCV中ORB特征检测的函数是对灰度图操作,在提取特征点之前对原始图像进行灰度化处理。灰度图是将一张由R(Red)、G(Green)和B(Blue)三分量组成的RGB图像转换成亮度值介于0~255之间的灰色,且255为白色,0为黑色。灰度值T与RGB间的关系为:

T=0.299R+0.587G+0.114B

(4)

OpenCV中的cvCvtColor()函数按式(7)将RGB图像转为灰度图。并采用cvExtractORB()函数提取被识别图片特征点。

2.2 动态特征模板匹配技术

在标识物识别时基于灰度的模板匹配算法存在算法复杂度高的问题,但模板匹配算法具有匹配精度高、简单易行的优点。增强现实应用中,摄像头是在移动过程中进行目标搜索,若继续通过计算机存储的特征模板进行匹配容易导致标识搜索失败。因此,本文在注册过程中动态生成标识模板作为特征模板后与预处理视频图像匹配。具体流程如图6所示。

图6 动态特征模板匹配流程

动态特征模板匹配的具体步骤为:

Step1 图像预处理:对摄像头采集到的图像采用背景先验的显著性检测方法预处理,得到一张灰度的显著性图像,若某区域灰度值小于给定阈值θ,则这部分为该排除的干扰区域,否则将这部分作为候选区域。

Step2 动态特征模板生成:选定标识物,并对标识物图像进行灰度化、对比度拉伸、二值化、去噪、图像平滑等处理,然后将处理后的图像拉伸为显著性图像中候选区域的长宽比例,然后采用ORB算法提取特征点后作为动态特征模板。

Step3 动态特征模板匹配:采用Hamming距离匹配算法从显著性图像[16]中选择出相似度最高的区域,若相似度大于阈值λ,则设该区域为标识所在区域;若没发现标识物则改变摄像头视角继续标识物搜索。动态特征模板匹配的相似度量为:

(5)

其中,模板中个点的灰度值为t(μ,v),搜索图像中特征模板ORB算子的灰度值为f(x+μ,y+v)。

2.3 求解注册矩阵并完成注册

在完成注册矩阵的求解之后,由于ARToolkit使用的是RGBA四通道图像,则要将OpenCV采用RGB三通道图像转换为RGBA图像。首先采用cvSplit()函数将图像划分为R、G、B三通道,其次创建A通道后用cvMerge将它们合并转化成RGBA图像,最后采用argDispImage()函数显示。

最后,采用3DMax、OpenGL等三维动画渲染和制作软件生成虚拟信息后,可将其叠加到标识上。首先用argConvGlpara()函数将ARToolkit注册矩阵变成虚拟信息生成软件所使用的格式,然后用该软件加载模型后采用argSwapBuffers()函数将缓冲区图像显示出来。

3 实验结果及分析

3.1 实验软硬件平台

本文采用真实拍摄图像在Windows 7操作系统的惠普PC机上实验。具体仿真实验软硬件平台如表1所示。

表1 实验平台

3.2 注册实验结果

将OpenGL生成的虚拟立方体在VS平台下仿真实验,并与ARToolKit注册方法比较,如图7为初始实验场景,对patthiro标识物采用ORB算法特征检测(阈值θ=9)的结果如图8所示。

图7 初始实验场景 图8 ORB特征检测结果

首先在光照变换情况下仿真实验,在光照正常、强光以及弱光的条件下采用本文方法和ARToolKit方法注册的结果分别如图9和图10所示,可见本文算法在强光和弱光时可完成注册而ARToolKit方法则不能。其次在标识物遮挡时本文算法和ARToolKit方法的实验结果分别如图11和图12所示,可见本文方法在标识物遮挡时仍可正常完成注册。最后在标识物旋转变换时本文算法和ARToolKit方法的注册结果分别如图13和图14所示,可见在标识物凹进去、凸出来以及远距离旋转变换时本文方法可正常完成注册。

图9 本文算法光照变化注册结果

图10 ARToolKit光照变化注册结果

图11 本文算法遮挡注册结果

图12 ARToolKit遮挡注册结果

图13 本文算法标识旋转变换注册结果

图14 ARToolKit标识旋转变换注册结果

3.3 模板匹配算法评价

选取处于不同光照,标识被遮挡以及角度下的50帧拍摄的图像进行标识物识别,单模板匹配、但显著性检测以及动态模板匹配的识别效果如表2所示。可见单模板匹配识别效率较低,单显著性检测速度较快但是识别率较低,但动态特征模板匹配算法不仅具有单模板匹配识别率高的优点而且具有单显著性检测速率高优点,该方法在实时性和识别率方面表现都较好。

表2 模板匹配算法比较结果

从表2可以看出,虽然动态模板匹配算法的识别率和识别速率分别为93%和24帧/s,但由于受到客观因素的影响,可认为动态模板匹配算法误差在合理范围之内,本文算法具有一定的实用性。

3.4 注册稳定性和鲁棒性分析

为了测试本文注册方法的稳定性和鲁棒性,在场景中放入patthiro标识进行仿真实验,并将本文注册方法与ARToolKit注册方法进行比对。在对场景进行注册的过程中,分别沿着x轴与y轴移动标识,同时分别在80~110帧和100~120帧之间加入遮挡和光照变化,并在此过程中记录摄像头相对位移的变化量。在平移过程中加入光照和遮挡时测得的对位置变量的估计结果如图15所示。为测试本文注册方法对旋转不变性的鲁棒性,在场景中围绕中心轴对标识旋转运动,统计数据结果如图16所示。

图15 平移过程中加入光照和遮挡时测得的变化量

图16 围绕任一中心轴旋转时测得的弧度变化

从图11可以看出,在发生光照和遮挡变化时,本文算法仍然能够对位置进行稳定估计,从而成功完成注册,而ARToolKit算法此时已无法完成注册。从图12可以看出,本文注册算法具备旋转不变性。因此,基于动态特征模板匹配的ARToolKit三维注册方法在光照、遮挡和旋转变化等复杂条件下具有较好的稳定性和鲁棒性。

4 结 语

本文提出一种基于动态特征模板匹配的ARToolKit增强现实三维注册方法。不仅解决了基于ARToolkit三维注册易受外界环境的影响,而且采用快速的ORB算法进行检测特征提高了AR系统实时性,同时采用动态模板匹配算法不仅提高了标识识别准确率,而且提高了识别速率。仿真结果表明,基于动态模板匹配的ARToolKit注册方法有效地提高了AR系统的实时性、稳定性以及鲁棒性。下一步拟对移动增强现实系统进行研究,并将该注册方法移植Android系统。

[1] Harry E Pence.Smartphones,Smart Objects,and Augmented Reality[J].Reference Librarian,2011,52(1):136-145.

[2] Haydar M,Roussel D,Maïdi M,et al.Virtual and augmented reality for cultural computing and heritage:a case study of virtual exploration of underwater archaeological sites (preprint)[J].Virtual Reality,2011,15(4):311-327.

[3] 李炎,尹东.基于TLD的增强现实跟踪注册方法[J].系统仿真学报,2014,26(9):2062-2067.

[4] Tomohiro Fukuda,Tian Zhang,Nobuyoshi Yabuki,et al.Improvement of registration accuracy of a handheld augmented reality system for urban landscape simulation[J].Frontiers of Architectural Research,2014,3(4):386-397.

[5] Nguyen T T,Jung H,Lee D Y.Markerless tracking for augmented reality for image-guided Endoscopic Retrograde Cholangiopancreatography[C]// Conference: International Conference of the IEEE Engineering in Medicine & Biology Society IEEE Engineering in Medicine & Biology Society Conference. Conf Proc IEEE Eng Med Biol Soc,2013:7364-7367.

[6] 李旭东.基于特征点的增强现实三维注册算法研究[D].天津大学,2008.

[7] Alan B dos S,Juliel B D,Adriano B.ARToolkit and Qualcomm Vuforia:An Analytical Collation[C]//2016 XVIII Symposium on Virtual and Augmented Reality (SVR).IEEE,2016:229-233.

[8] 胡颖群,尹长青.基于ARToolKit的三维虚拟商品展示系统设计与实现[J].计算机应用与软件,2012,29(8):259-261.

[9] 谢敏,徐荣青,何利荣.基于ARToolKit场景变化的增强现实的研究[J].微电子学与计算机,2015,32(3):113-116.

[10] Wang H,Qin J,Zhang F.A new interaction method for augmented reality based on ARToolKit[C]//International Congress on Image and Signal Processing.IEEE,2015.

[11] 徐敏,童强,陈栋才,等.基于ARTooIKit的增强现实课件的设计与制作[J].现代计算机:专业版,2015(17).

[12] 徐珩.基于模板匹配跟踪算法的研究与改进[D].昆明理工大学,2015.

[13] Rublee E,Rabaud V,Konolige K,et al.ORB:An efficient alternative to SIFT or SURF[C]//International Conference on Computer Vision.IEEE Computer Society,2011:2564-2571.

[14] Delalandre M,Iwata M,Kise K.Fast and Optimal Binary Template Matching Application to Manga Copyright Protection[C]//Iapr International Workshop on Document Analysis Systems,2014:298-303.

[15] 陈鹏,管涛.基于仿射重投影的增强现实三维注册方法[J].计算机辅助设计与图形学学报,2010,22(3):480-486.

[16] Chen T,Lin L,Liu L,et al.DISC:Deep Image Saliency Computing via Progressive Representation Learning[J].IEEE Transactions on Neural Networks & Learning Systems,2016,27(6):1135-1149.

ARTOOLKIT 3D REGISTRATION BASED ON DYNAMIC FEATURE TEMPLATE MATCHING

Lei Xiaomei Wu Zhongdong*Yong Jiu Jia Xiaohong

(CollegeofElectronicandInformationEngineering,LanzhouJiaotongUniversity,Lanzhou730070,Gansu,China)

Aiming at the effect of ARToolKit 3D registration on illumination, occlusion and rotation, this paper presents an ARToolKit 3D registration method based on dynamic feature template matching. First, the template image formed by the binary processing of one frame of video taken by the camera adopts the ORB algorithm to detect the feature points. Then, the dynamic feature template matching technology is used to match the feature templates. Finally, the 3D registration matrix is calculated to superimpose the virtual information into the real world. The virtual information generated by OpenGL is superimposed and simulated, and compare this method with the ARToolKit registration method. The simulation results show that the dynamic template matching algorithm has high real-time and marker recognition rate under the condition of complex environment, and the ARToolKit registration based on the dynamic feature template matching has good stability and robustness.

ARToolKit ORB algorithm 3D registration Feature template matching Marker

2016-07-18。国家自然科学基金项目(61162016,61562057);甘肃省高校基本科研业务费基金项目(213056)。雷晓妹,硕士生,主研领域:增强现实,密码学。伍忠东,教授。雍玖,硕士生。加小红,硕士生。

TP391.9

A

10.3969/j.issn.1000-386x.2017.07.020

猜你喜欢

灰度摄像头模板
铝模板在高层建筑施工中的应用
高层建筑中铝模板系统组成与应用
浙江首试公路非现场执法新型摄像头
铝模板在高层建筑施工中的应用
采用改进导重法的拓扑结构灰度单元过滤技术
摄像头连接器可提供360°视角图像
天津港智慧工作平台灰度发布系统和流程设计
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
Inventors and Inventions
Arduino小车巡线程序的灰度阈值优化方案