中国科技论文在线                                                                          http://www.paper.edu.cn     基于 ARToolkit...
中国科技论文在线                                                    http://www.paper.edu.cn现在的最新版本是 Version 2.72.1。它通过识别已知标识完成三维注册...
中国科技论文在线                                                                    http://www.paper.edu.cn                       ...
中国科技论文在线                                                           http://www.paper.edu.cn      但是怎么知道理想屏幕坐标系下这 4 个对应点呢?要注...
中国科技论文在线                                                                       http://www.paper.edu.cn                    ...
中国科技论文在线                                                                   http://www.paper.edu.cn的是“FIRST”和“SECOND”标识同时被遮...
中国科技论文在线                                               http://www.paper.edu.cn换矩阵和当前变换矩阵;如果仅是标识的非角点被遮挡,程序转向(3);否则,程序跳过当前检测...
中国科技论文在线                                                   http://www.paper.edu.cn                (a)                     ...
中国科技论文在线                                                                            http://www.paper.edu.cn               ...
Upcoming SlideShare
Loading in...5
×

201012 687

463

Published on

Published in: Business, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
463
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

201012 687

  1. 1. 中国科技论文在线 http://www.paper.edu.cn 基于 ARToolkit 的增强现实研究和实现 张晓波* (北京邮电大学计算机学院,北京 100876)摘要:增强现实技术是近年来的研究热点,是一个多学科交叉的研究领域,在医学、军事、教育、娱乐等方面都有着广泛的应用前景,国内外很多大学和研究机构都在从事这方面的研究和探索。本文对增强现实系统开发工具包 ARToolkit 的基本运行原理进行了研究,并针对标识部分被遮挡时无法进行三维注册的情况进行了改进,提出了多标识辅助三维注册算法和非角点被遮挡情况下的三维注册算法,最终结合三维模型检索系统完成了增强三维模型检索系统。关键词: 增强现实;ARToolkit;三维注册中图分类号:TP37 Research and Implementation of Augmented Reality based on ARToolkit Zhang Xiaobo (Computer School, Beijing University of Posts and Telecommunications, Beijing 100876)Abstract: Augmented reality is a hot research topic in recent years, and is an interdisciplinary researchfield. Also, it has broad application prospects in the medical, military, education, entertainment, etc,and many domestic and foreign universities and research institutions engaged in this aspect of researchand exploration. This paper studied the basic operation principle of ARToolkit, which is a developmentkit of augmented reality system, and improved the three dimensional registration when the marker wassheltered. This paper put forward multi-marker assisted three dimensional registration algorithm andanother three dimensional registration algorithm when the non angular point is sheltered. Finally,combining three dimensional model retrieval system, this paper finished the augmented threedimensional model retrieval system.Key words: Augmented Reality; ARToolkit; Three Dimensional Registration0 引言 增强现实(Augmented Reality,简称 AR)技术是近年来的研究热点,是一个多学科交叉的研究领域,在医学、军事、教育、娱乐等方面都有广泛的应用前景。从广义上讲,AR是虚拟现实的一个分支,从狭义上讲,AR 与虚拟现实又有本质的区别,虚拟现实是利用计算机完全虚拟现实场景,使用户完全沉浸在虚拟场景中,并实现了用户与虚拟场景间的交互。而 AR 则是在用户所处的现实环境的基础上加载虚拟场景,实现用户与虚拟场景以及现实之间的交互。AR 最终实现的目标就是:使用户处于一种融合的环境中,不能区分真实和虚拟,用户所感知到的是一个真实和虚拟相融合的唯一存在的世界[1]。 为了能够进行 AR 应用开发,现在已经有多种用于 AR 系统开发的工具包和 API,如ARToolkit、ARTag、Coin3D 和 MR Platform 等,其中 ARToolKit 是一套基于 C 语言以及OpenGL 的 AR 系统开发包,该开发包的最初版本是由日本大阪大学的 Hirokazo Kato 博士于1999 年在华盛顿大学人机接口实验室(HITLab)设计开发的[2],用于快速编写 AR 应用,作者简介:张晓波,男,硕士研究生,虚拟现实与增强现实. E-mail: skyoung09@gmail.com -1-
  2. 2. 中国科技论文在线 http://www.paper.edu.cn现在的最新版本是 Version 2.72.1。它通过识别已知标识完成三维注册,并在其上叠加虚拟物体实现 AR 开发。 但是,ARToolKit 只有在标识完全可见的情况下才能完成三维注册,当标识部分被遮挡时,三维注册无法正常工作。本文对 ARToolkit 做了深入的研究,通过两种方法改进了标识部分被遮挡时无法完成三维注册的情况。1 ARToolkit 基本原理1.1 ARToolkit 工作流程 ARToolkit 工作流程如图 1-1 所示。ARToolkit 首先检测摄像机设备是否正常,初始化摄像机内部参数,导入标识模板文件,启动摄像机捕获视频,然后根据用户设定的阈值将采集到的一帧彩色图像进行二值化处理,转化为黑色二值图像,然后对该二值图像进行连通域分析,找出其中所有的四边形区域作为候选匹配区域,将每一个候选区域与模板文件进行图像匹配,如果产生匹配,则 ARToolkit 认为找到了一个标识,并利用该标识区域的变形来计算摄像机相对标识的位置和姿态,即变换矩阵,这样就可以进行跟踪与定位,叠加虚拟物体。 图 1-1 ARToolkit 工作流程 Fig. 1-1 Workflow of ARToolkit1.2 ARToolkit 坐标体系 在 ARToolkit 中引入坐标体系是为了解决三维注册问题,而三维注册问题可归结为计算标识坐标系与摄像机坐标系之间的转换关系,即摄像机相对标识的变换矩阵。ARToolkit 的 T T坐标体系如图 1-2 所示,(Xm, Ym, Zm) 为标识坐标系,(Xc, Yc, Zc) 为摄像机坐标系,(xc,yc) T 为理想屏幕坐标系,(xd, yd) T 为实际屏幕坐标系。 -2-
  3. 3. 中国科技论文在线 http://www.paper.edu.cn 图 1-2 ARToolkit 坐标体系 Fig. 1-2 Coordinate System of ARToolkit 标识坐标系下的物体信息首先转换到摄像机坐标系,然后在摄像机的映射下,将三维的信息投射到理想屏幕坐标系,最后由理想屏幕坐标系转换到实际屏幕坐标系。 我们先来分析标识坐标系、摄像机坐标系和理想屏幕坐标系之间的转换关系。根据计算 [3-4]机视觉基本理论知识 ,标识坐标系与摄像机坐标系之间的关系见公式 1-1,Tcm 为摄像机相对标识的变换矩阵,其中 R 是一个 3*3 正交矩阵,反映了摄像机相对标识坐标系的旋 T转分量,即绕 Xm、Ym、Zm 轴的旋转,T 为三维向量(T1, T2, T3) ,反映了摄像机相对标识坐标系的 3 个平移分量。 ⎡ Xc ⎤ ⎡ R11 R12 R13 T 1 ⎤ ⎡ Xm⎤ ⎡ Xm⎤ ⎡ Xm⎤ ⎢Yc ⎥ ⎢ R 21 ⎥ ⎢Ym ⎥ ⎢Ym ⎥ R 22 R 23 T 2⎥ ⎢ ⎥ ⎡ R T ⎤ ⎢ ⎥ ⎢Ym ⎥ ⎢ ⎥=⎢ = = Tcm ⎢ ⎥ R32 R33 T 3 ⎥ ⎢ Zm ⎥ ⎢0 1 ⎥ ⎢ Zm ⎥ (1-1) ⎢ Zc ⎥ ⎢ R31 ⎣ ⎦ ⎢ Zm ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣1 ⎦ ⎣ 0 0 0 1 ⎦⎣ 1 ⎦ ⎣ 1 ⎦ ⎣ 1 ⎦ 摄像机坐标系与理想屏幕坐标系之间的关系见公式 1-2,S 为摄像机的内部参数,该内部参数 ARToolkit 系统已经给定,应用程序启动后初始化该内部参数,开发人员也可以通过ARToolkit 提供的库函数校正该内部参数,h 表示某一时刻,f 表示焦距,s 表示倾斜系数, [5] [6]通常取 0,a 表示像素的纵宽比 ,(u0, v0)表示图像像素中心点 。 ⎡ Xc ⎤ ⎡ Xc ⎤ ⎡hxc ⎤ ⎡ f s u 0 0 ⎤ ⎢ ⎥ ⎢ ⎥ ⎢hyc ⎥ = ⎢0 af v0 0⎥ ⎢Yc ⎥ = S ⎢Yc ⎥ (1-2) ⎢ ⎥ ⎢ ⎥ ⎢ Zc ⎥ ⎢ Zc ⎥ ⎢ h ⎦ ⎢0 0 1 0 ⎦ ⎢ ⎥ ⎣ ⎥ ⎣ ⎥ ⎢ ⎥ ⎣1 ⎦ ⎣1 ⎦ 从而,可知标识坐标系与理想屏幕坐标系之间的关系,如公式 1-3 所示。 ⎡ Xm⎤ ⎡hxc ⎤ ⎢ ⎥ ⎢hyc ⎥ = STcm ⎢Ym ⎥ (1-3) ⎢ ⎥ ⎢ Zm ⎥ ⎢ h⎥ ⎣ ⎦ ⎢ ⎥ ⎣1 ⎦ 由于 S 已知,利用标识坐标系下的 4 个角点的坐标(Xmj, Ymj, Zmj)(j=0, 1, 2, 3),以及它们在理想屏幕坐标系下对应点的坐标(xcj, ycj)(j=0, 1, 2, 3),可以计算出 Tcm 的值[7]。 -3-
  4. 4. 中国科技论文在线 http://www.paper.edu.cn 但是怎么知道理想屏幕坐标系下这 4 个对应点呢?要注意到,ARToolkit 已经通过连通域分析找到标识的矩形区域,也就知道了标识的 4 个角点在实际屏幕坐标系下的坐标,即(xdj,ydj)(j=0, 1, 2, 3)。从而问题转化为理想屏幕坐标系和实际屏幕坐标系之间的对应关系,参考文献[7],理想屏幕坐标系中点(xc, yc)与其在实际屏幕坐标系中的对应点(xd, yd)之间的变换关系如式(1-4)所示。其中,(x0, y0)为光学畸变中心的位置,s 为比例参数,f 为畸变因子。 x = s ( xc − x0), y = s ( yc − y 0) d 2 = x2 + y2 (1-4) p = {1 − fd 2 } xd = px + x0, yd = py + y 0 事实上,由于不可能完全避免成像畸变以及图像处理过程中的一些误差,上述求得的Tcm 是不精确的,必须对其进一步优化。ARToolkit 利用非线性最小二乘法对 Tcm 进行迭代求精,见公式 1-5,其中 xcj^和 ycj^是根据估算出的初始 Tcm 和公式 1-3 计算出的 4 个角点在理想屏幕坐标系下的坐标。 (1-5) 1 3 err 2 = ∑ (( xcj − xcj ^ )2 + ( ycj − ycj ^ )2 ) → min 4 i =02 改进的三维注册方法 在实际使用中,我们发现 ARToolkit 只有在标识完全可见的情况下才能完成三维注册,当标识部分被遮挡时,三维注册无法正常工作。如何解决标识部分被遮挡情况下的三维注册问题成为本章的研究重点。2.1 多标识辅助进行三维注册算法 我们已经知道三维注册过程中摄像机相对标识的变换矩阵 Tcm 的形式如下: ⎡ R11 R12 R13 T1 ⎤ ⎢ R 21 R 22 R 23 T 2⎥ Tcm = ⎢ ⎥ (2-1) ⎢ R31 R32 R33 T3 ⎥ ⎢ ⎥ ⎣ 0 0 0 1 ⎦ 其中(R11, R12, R13)、(R21, R22, R23)、(R31, R32, R33)分别代表摄像机相对标识坐标系Xm 轴、 轴、 轴的旋转分量, Ym Zm (T1, T2, T3) T 是摄像机相对标识坐标系的 3 个平移分量。由于标识在场景中的摆放位置可以精确控制,所以可以预先得到摆放的多个标识之间的相对位置关系,如图 2-1 所示。 -4-
  5. 5. 中国科技论文在线 http://www.paper.edu.cn 图 2-1 同一平面上两个标识的位置关系 Fig. 2-1 Relative Position of Two Markers in The Same Plane 定义上图中“FIRST”标识中心点为标识坐标系的原点,那么“SECOND”标识中心点坐标根据相对位置关系即可确定,而且两个标识图形在同一平面,所以相对位置关系只有平移关系,而没有旋转关系。设对应于“FIRST”标识的三维注册变换矩阵为: ⎡ R11 R12 R13 T 11 ⎤ ⎢ ⎥ R 22 R 23 T 21 ⎥ Tcm = ⎢ 1 R 21 (2-2) ⎢ R31 R32 R33 T 31 ⎥ ⎢ ⎥ ⎢ 0 ⎣ 0 0 1 ⎥ ⎦ “SECOND”图形的三维注册变换矩阵为: ⎡ R11 R12 R13 T 12 ⎤ ⎢ ⎥ R 22 R 23 T 22 ⎥ Tcm = ⎢ 2 R 21 (2-3) ⎢ R31 R32 R33 T 32 ⎥ ⎢ ⎥ ⎢ 0 ⎣ 0 0 1 ⎥ ⎦ 由于知道两个标识之间的相对位置关系,所以在标识识别过程中,只要两个标识中的任何一个被检测到,即得到 Tcm,则可立即得到另一个标识的 Tcm。例如,如果得到“FIRST”图形的 Tcm1,则“SECOND”图形的 Tcm2 为 ⎡ R11 R12 R13 T 12 ⎤ ⎡ R11 R12 R13 T 11 + a ⎤ ⎢ ⎥ ⎢ ⎥ R 22 R 23 T 22 ⎥ ⎢ R 21 R 22 R 23 T 21 + b ⎥ Tcm = ⎢ R 21 2 = (2-4) ⎢ R31 R32 R33 T 32 ⎥ ⎢ R31 R32 R33 T 31 ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ 0 ⎣ 0 0 1 ⎥ ⎢ 0 ⎦ ⎣ 0 0 1 ⎥ ⎦ 实验结果如图 2-2 所示。其中, 2-2(a)显示的是“FIRST”和“SECOND”标识都完全可见 图情况下的三维注册结果,图 2-2(b)显示的是“FIRST”标识被遮挡情况下本算法的三维注册结果,图 2-2(c)显示的是“SECOND”标识被遮挡情况下本算法的三维注册结果。图 2-2(d)显示 -5-
  6. 6. 中国科技论文在线 http://www.paper.edu.cn的是“FIRST”和“SECOND”标识同时被遮挡情况下本算法的三维注册结果,即此时注册失败。从而可以得出结论,利用多标识辅助进行三维注册算法的优点是可以根据一个标识定位已知相对位置关系的其他标识,即使其他标识被完全遮挡;缺点是必须有一个标识完全可见。 (a) (b) (c) (d) 图 2-2 多标识辅助三维注册 Fig. 2-2 Multi-Marker Assisted Three Dimensional Registration2.2 非角点被遮挡情况下的三维注册 传统算法工作流程是: (1)导入预定义的标识模板; (2)系统启动,利用摄像机捕获视频数据; (3)如果标识完全可见,则转到(4),否则直接跳过当前检测; (4)利用 ARToolkit 计算摄像机相对标识的变换矩阵; (5)根据(4)所计算出的变换矩阵在真实场景之上叠加虚拟物体; (6)将虚拟物体和真实场景一并输出。 当标识的非角点被遮挡时,上述算法不能正确提取标识轮廓,从而导致注册失败。下面介绍本文改进的标识识别算法,该算法要求标识一次完全可见,在后续过程中,可以允许非角点被遮挡条件下,继续完成对标识的识别和跟踪,进而提高三维注册的稳定性。工作流程如图 2-3 所示。 (1)初始化部分:要求标识完全可见,从而能够利用 ARToolkit 识别标识,计算变换矩阵,并将当前变换矩阵保存为历史变换矩阵。 (2)如果标识完全可见,利用 ARToolkit 计算变换矩阵,并将变换矩阵保存为历史变 -6-
  7. 7. 中国科技论文在线 http://www.paper.edu.cn换矩阵和当前变换矩阵;如果仅是标识的非角点被遮挡,程序转向(3);否则,程序跳过当前检测,不叠加虚拟物体。 (3)提取 4 个角点:算法流程为设定适当阈值,将视频图像做二值化处理,然后对二值化图像进行边缘检测,找出其边缘,进而根据边缘寻找标识的外轮廓,最后将外轮廓内部填充为黑色,利用角点检测提取 4 个角点。 (4)利用提取出的 4 个角点估算变换矩阵,并使用历史变换矩阵平滑该矩阵,保存为当前变换矩阵; (5)根据当前变换矩阵叠加虚拟物体,实现混合输出。 摄像机捕获 数据 视频图像 否 跳到当前检测 标识是否 利用角点检测 是否仅非角点 完全可见 否 是 被遮挡 提取4个角点 估算变换矩阵 是 利用ARToolkit计算 保存为历史 平滑变换矩阵 变换矩阵 变换矩阵 当前变换 叠加虚拟场景 矩阵 真实场景输出 混合场景 图 2-3 改进后的工作流程 Fig. 2-3 Improved Workflow 实验结果如图 2-4 所示。图 2-4(a)为实验场景中标识未被遮挡的情况,图 2-4(b)为使用上述算法在标识非角点被遮挡情况下的实验结果。 -7-
  8. 8. 中国科技论文在线 http://www.paper.edu.cn (a) (b) 图 2-4 改进后的运行结果 Fig. 2-4 Result after Improvement 实验证明,本文算法在标识在非角点被遮挡情况下,仍然可以得到比较稳定的三维注册结果。3 增强三维模型检索系统实现 在 Windows 7 环境下利用 Visual Studio 2008 在 ARToolkit 的基础上结合三维模型检索系统完成了本原型系统。实验结果如图 3-1 所示。其中,图 3-1(a)为标识黑框内的内容,图3-1(b)展示了通过识别标识内容检索对应的三维模型并增强显示的结果。 (a) -8-
  9. 9. 中国科技论文在线 http://www.paper.edu.cn (b) 图 3-1 系统截图 Fig. 3-1 Screenshot of Our System4 结论 本文介绍了增强现实开发工具包 ARToolkit 的基本原理,包括工作流程和坐标体系,针对标识部分被遮挡时无法完成三维注册的情况提出了两种改进方法,并最终结合三维模型检索系统完成了增强三维检索系统的开发。[参考文献] (References)[1] 涂子琰,孙济州. 增强现实技术的应用和研究. 计算机工程与应用,2003,12:100~101.[2] 黄有群,姬永成,李丹. 基于 ARToolKit 工具的增强现实交互操作研究. 计算机与现代化,2008,9: 97~100.[3] 吴立德. 计算机视觉. 复旦大学:复旦大学出版社,1993.[4] Forsyth, Ponce. 计算机视觉:一种现代的方法(英文影印版). 清华大学:清华大学出版社,2004.[5] 童子龙,章国峰,邵元龙等. 基于汉字标志的增强现实系统. 中国图像图形学报,2009,14(7):1463~1468.[6] 胡超博. 增强现实环境中三维路径的构建(硕士学位论文). 沈阳:沈阳工业大学,2009.[7] Hirokazu Kato, Mark Billinghurst. Marker tracking and HMD Calibration for a Video-based AugmentedReality Conferencing System. Workshop on Augmented Reality, 1999:85~94. -9-

×