孟昭睿,孙金华
(厦门理工学院计算机与信息工程学院,福建 厦门361024)
基于快速响应码的移动增强现实系统的研究
孟昭睿,孙金华
(厦门理工学院计算机与信息工程学院,福建 厦门361024)
摘要:快速响应码QR(Quick Response Code)是一种信息隐藏量大且使用广泛的编码,通过使用QR码代替传统的增强现实标识,并使用基于灭点的空间校正算法实现对QR码的倾斜校正,提出了一种改进的基于QR码的移动增强现实系统.在此基础上使用ARToolKit和ZXing开发了原型系统,验证了基于QR码的移动增强现实系统的广泛前景.
关键词:增强现实;QR码;灭点;ARToolKit
近年来,增强现实方面的研究已经取得了越来越多的进展.智能手机已经在世界各国成为主流,主流智能手机的硬件性能已经得到了快速提升,包括CPU、分辨率、触摸屏、照相机、重力感应器和GPS等,文献[1-4]研究基于智能手机的各种移动增强现实技术,智能手机已经成为了理想的移动增强现实应用的平台.
增强现实系统可以分为基于标识的增强现实系统和基于自然特征的增强现实系.基于标识的增强现实系统跟踪注册效果稳定,但是需要在手机端预存标识模板,不易处理海量标识模板的识别.基于自然特征的跟踪注册技术是利用真实环境中的一些自然特征作为跟踪参照物,在图像中无需人工标识,但是该技术也需要对识别的图像进行预处理并储存预处理信息,计算量很大,精度比较低,实时度相对也比较低.
快速响应(Quick Response,QR)码是1994年由日本Denso公司研制的一种矩阵二维条码,目前QR码已经在各行各业得到了广泛应用,但是以在QR码中嵌入文本信息为主,如:URL、电子邮件和电话号码等. QR码无需在手机端预制模板,可以编码107 089个,因此研究基于QR码的增强现实系统是当前的一个热点.文献[6]研究利用光流进行QR码的跟踪,这种方法计算量大,在手机端运行速度较慢,目标容易丢失.文献[7]研究如何利用QR码的内嵌信息加载虚拟现实的内容元数据和跟踪注册元数据.文献[8]研究的标识码在QR码外侧加上黑色边框,跟踪注册效果稳定,但是在QR码倾斜角度较大时,QR码的识别比较困难.
在普通的QR码应用中,QR码必须无倾斜的放在照相机前.但是如果把QR码作为增强现实的标识,不能要求用户按照指定的位置和方向放置QR码,这样由照相机拍摄的图片必然会产生倾斜畸变,使QR码不能被正确识别.迄今,研究者提出了许多不同的图像倾斜校正方法,比如基于Hough变换、K-最近邻簇和基于Fourier变换的等,上述方法比较适合校正对于倾斜角度较小或仅在平面内发生旋转倾斜的图像,如果图像的旋转发生在三维空间内且其投影是不规则四边形时,上述方法不能对倾斜的图像进行有效识别.为解决此问题,本文探讨QR码识别流程中加入基于灭点的倾斜畸变校正算法,并将其应用到移动增强现实系统中,取得了很好的效果.
系统的设计目标是使用QR码代替传统的标识来实现移动增强现实.两种实现方法的比较见表1.
QR码普及率高,智能手机用户对QR码有非常高的认可度,并且以QR码作为增强现实的标识码不需要进行图像预处理,增强现实的相关信息可以直接从二维码的内嵌信息中读出,并从互联网上下载.基于QR码的移动增强现实平台有较好的应用前景.
表1 QR码和基准点标识比较
1.1系统架构和优势
系统使用ARToolKit进行QR码的位置和模式识.通过ARToolKit可以得到QR码的3个寻像图形的位置,进一步计算后可以得到QR码的全部四个顶点位置,随后使用灭点空间算法对QR码进行倾斜畸变校正.经过校正后的QR码可以使用开源QR码图像处理库进行内嵌信息提取,3D模型可以通过QR码内嵌的网址从互联网下载,随后在QR码上进行增强现实内容的显示.系统的架构见图1.
图1 系统架构
1.2 QR码的顶点定位
QR码由包括编码区域、寻像图形、定位图形、分隔符、和校正图形在内的功能图形组成(见图2).系统使用ARToolKit对QR码的寻像图形进行识别,当QR码的3个寻像图形同时出现在摄像头的一帧内时,系统开始定位QR码的第4个顶点.通过ARToolKit,可以得到3个寻像图形之间的中心位置以及每个寻像图形的4个顶点.如果可以决定两个对角线位置的寻像图形的外顶点(见图3(b)中的B1,B2图中的D1和D4),则可以计算QR码的第4个顶点,详细计算过程如下:
(1)识别两个对角线位置的寻像图形(图3中的B和D).见图3(a),3个寻像图形组成了一个三角形,两个对角线位置的寻像图形构成的边长最长.可以通过计算三角形的边长来推出寻像图形A和寻像图形B、D的位置.
(2)根据对角线寻像图形B和D的坐标定位QR码图形中点P0的坐标.
(3)确定顶点A1的坐标,见图3(b).在寻像图形A中,顶点A1到点P0的距离最长.
(4)确定顶点B2和D4的坐标,见图3(c).首先分别计算寻像图形B和D的四个顶点到顶点A1的距离,距离最长的点即是顶点B2和D4.
(5)确定顶点B1和D1的坐标.首先分别计算寻像图形B和D的四个顶点到中点P0的距离,距离最长的点即是顶点B1和D1.
(6)直线B1B2和直线D1D4的交叉点即是QR码的第4个顶点.
图2 QR码的结构图
图3 QR码顶点定位过程
1.3基于灭点的空间校正算法
QR码的4个顶点位置确定后,必须对QR码进行倾斜畸变校正.下面对系统使用的基于灭点的空间校正算法进行解释.
假设QR码坐标系上的一点的齐次坐标为M=[xmymzm1]T,其在摄像平面上的投影坐标点的齐次坐标为C=[xcyczc1]T,由针孔成像可以得出:
上式中:s是一个比例因子;小孔透视模型P是一个3×4投影矩阵,它也可以表示成摄像机矩阵K和旋转-平移矩阵(H,t)两部分[11].
式中,a为畸变因子,f为焦距,(x0,y0)是主点的图像坐标,r为纵横比.相机光心在图像平面的投影称为主点,可以由传感器垂直轴与水平轴与之间的夹角θ算出畸变因子,a=f cos,图像上垂直方向与水平方向之间的比例关系表示为纵横比.随着现代科技的快速发展,相机的很多内部参数已经同理想值非常接近,如图像的中心可以近似为主点坐标,畸变因子a近似于0,纵横比r可以近似为1.为了简化相机模型,提高运算速度,如果对精度要求不高时,可以使用这些理想值.
根据定理,灭点是空间一组平行线在影像上的直线影像的交点.相机中心记为O,P是O在成像平面的投影,QR码是正方形标记,其投影是一个不规则四边形abcd,分别形成两个灭点Fu和Fv.(见图4)根据透视几何和三角几何,相机焦距的计算公式可以表示为
其中P为主点,O为相机光心,Fu和Fv分别为两个灭点,是P在影灭线上的投影.
图4 QR码透视投影成像
因为QR码是一个平面标记,所以在世界坐标系下QR码物理平面的z轴坐标等于零,由式(1)、(2)可以得到
式中,H是一个非奇异矩阵,因此QR码真实几何图形可以从投影图形中相差一个比例因子下恢复.按照文献[12],将矩阵H进一步变换可得:
其中:Hp是仿射重建矩阵;He为度量重建矩阵;E是一个相似变换矩阵;可以通过穿过两个灭点的影灭线L来计算仿射重建矩阵Hp中的l1和l2:
可以通过影灭线L和投影不变量绝对二次曲线w并利用下列公式计算得到度量重建矩阵:
其中,I是影灭线L和绝对二次曲线w的交点,将式(7)代入式(8)可以得到:
式(9)的解是一对共轭复数根,其实部和虚部分别是α、β.然后将α、β代回式(5),可以解出转换矩阵H,根据式(4)可以使用转换矩阵H对QR标记坐标和摄像平面坐标之间进行相互转换.因为经过映射之后的图像存在空格点,空格点像素的灰度可以由双线性插值算法根据空格点临近点的灰度值来计算.
完成倾斜校正后,可以开始提取QR码包含的信息.系统使用开源系统ZXing来提取QR码的信息.
2.1初始化时间
在小米3手机上对系统进行了测试,小米3的CPU采用Nvidia Tegra 4,主频是1.8 GHZ,RAM容量是2 GB,操作系统采用安卓4.2.初始化时间包括二维码采集、二维码识别、二维码倾斜矫正和增强现实素材下载,完成二维码识别和处理大概需要1 600 ms(±100 ms)的时间,下载增强现实文件的时间根据文件大小变化,大约需要1 000 ms(±100 ms).图5是初始化时间的组成分析.
图5 初始化时间组成分析
2.2系统性能分析
使用普通的QR码跟踪方法需要同时获取3个定位符号的信息,所以跟踪角度比较小.本文采用了灭点空间算法对QR码进行倾斜畸变校正,跟踪范围大、距离远.尽管进行倾斜矫正需要一定的计算时间,但随着智能手机的硬件配置进一步增强,对系统的性能影响不大.在表2中,没有进行倾斜矫正的方法采用了文献[6]中的数据.使用小米3和小米4同时对本文使用方法进行了测试.实验表明,使用灭点空间算法后系统的跟踪角度大,并且可以满足实时性的要求.同时,随着智能手机硬件配置的提高,对倾斜二维码的检测速度和跟踪速度都有了比较大的提高.
表2 两种跟踪方法的效果对比
利用本文提出的方法对30幅二维码进行了倾斜畸变矫正,二维码的旋转角度从到360.实验表明,矫正率达到了90%以上,单幅图像处理速度小于1.6 s(小米3).
2.3产品原型示例
为了验证使用QR码作为增强现实的标识的可行性,开发了一个原型系统.通过对QR码的识别,可以将3D模型从互联网下载之后显示在QR码上.QR码可以嵌入比较多的信息,除了3D模型的URL外,还可以把其他的内容信息或者跟踪信息也嵌入在QR码内,使原型系统的功能得到进一步增强.图6(a)是原型系统在QR码正面放置时的效果,图6(b)是QR码有一定的倾斜时的效果.
图6 原型系统演示
采用QR码替代传统的增强现实标识点,分析了QR码的顶点定位技术,采用了基于灭点的空间校正算法,设计基于QR码的移动增强现实系统.目前,原型系统只支持虚拟物体的加载,下一步需要增加动画和用户交互等功能,以提高系统的可用性.随着移动终端技术的不断发展,增强现实技术在智能手机平台的发展将成为主流.
参考文献:
[1]孙源,陈靖.智能手机的移动增强现实技术研究[J].计算机科学,2012(6):493-498.
[2]Wagner D,Langlotz T,Schmal S D.Robust and unobtrusive marker tracking on mobile phones[C].IEEE International Symposium on Mixed and Augmented Reality,2008.
[3]Bruns E,Brombach B,Zeidler T.Enabling mobile phones to support large-scale museum guidance[J].Multimedia,IEEE,2007, 14(2):16-25.
[4]Billinghurst M,Hakkarinen M,Wodward C.Augmented assembly using a mobile phone[C].IEEE International Symposium on Mixed and Augmented Reality(ISMAR 2008).Cambridge,UK,Sep 2008:167-168.
[5]Daniel W,Gerhard R,Alessandro M,etc.Real-time detection and tracking for augmented reality on mobile phones[J].Ieee Transactions On Visualization And Computer Graphics,2010,16(3):355-368.
[6]Nohyoung P,Wonwoo L,Woontack W.Barcode-assisted planar object tracking method for mobile augmented reality[C],2011 International Symposium on Ubiquitous Virtual Reality,40-43
[7]Hyoseok Y,Nohyoung P,Wonwoo L,etc.QR code data representation for mobile augmented reality[C].International AR Standards Meeting-February,2011:17-19.
[8]翟亮亮,壬滔天,橱健,等.基于ARcode的移动增强现实系统研究[J].计算机工程,2012(5):247-249.
[9]张民,郑建立.基于符号特征的QR码识别算法[J].计算机工程,2011(2):278-280.
[10]Wagner D,Schmal S D.ARToolKit on the pocket PC platform[C].IEEE International Augmented Reality Workshop.Tokyo,Japan: IEEE,2003.
[11]邱建橡,刘征梅 杨瑞元 基于灭点的单幅图像建模[J].计算机工程,2005(11):199-201
[12]Daivd L,Antonio C,Andrew Z.Creating architectural models from images[C].Proc of EuroGraphic,1999:39-50.
(责任编辑:欧恺)
中图分类号:TP391.9
文献标识码:A
文章编号:1007-5348(2015)02-0019-06
[收稿日期]2014-11-06
[基金项目]福建省自然科学基金项目(2013J0102).
[作者简介]孟昭睿(1975-),男,青海西宁人,厦门理工学院计算机与信息工程学院高级工程师,硕士;研究方向:增强现实,软件工程与应用.
Research on Mobile Augmented Reality System Based on QR Code
MENG Zhao-rui,SUN Jin-hua,WU Yun
(School of Computer and Information Engineering,Xiamen University of Technology, Xiamen 361024,Fujian,China)
Abstract:QR code is one kind of two-dimensional codes which can hide a large amount of information and has been widely used in our daily life.An augmented reality(AR)application based on the QR Code is presented, instead of traditional fiducial markers.Slant correction processing to the QR code recognition is added by using space rectification algorithm based on vanishing point.A product demo system is developed by ARTookKit and ZXing,which demonstrates broad application prospect of mobile augmented reality based on QR code.
Key words:augmented reality;QR code;vanishing point;ARToolKit