SlideShare uma empresa Scribd logo
1 de 9
Baixar para ler offline
中国科技论文在线                                                                          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 research
field. 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 research
and exploration. This paper studied the basic operation principle of ARToolkit, which is a development
kit of augmented reality system, and improved the three dimensional registration when the marker was
sheltered. This paper put forward multi-marker assisted three dimensional registration algorithm and
another three dimensional registration algorithm when the non angular point is sheltered. Finally,
combining three dimensional model retrieval system, this paper finished the augmented three
dimensional model retrieval system.
Key words: Augmented Reality; ARToolkit; Three Dimensional Registration


0 引言
     增强现实(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-
中国科技论文在线                                                    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 ARToolkit


1.2   ARToolkit 坐标体系
      在 ARToolkit 中引入坐标体系是为了解决三维注册问题,而三维注册问题可归结为计算
标识坐标系与摄像机坐标系之间的转换关系,即摄像机相对标识的变换矩阵。ARToolkit 的
                              T                         T
坐标体系如图 1-2 所示,(Xm, Ym, Zm) 为标识坐标系,(Xc, Yc, Zc) 为摄像机坐标系,(xc,
yc) T 为理想屏幕坐标系,(xd, yd) T 为实际屏幕坐标系。




                                    -2-
中国科技论文在线                                                                    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-
中国科技论文在线                                                           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 =0

2 改进的三维注册方法
      在实际使用中,我们发现 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-
中国科技论文在线                                                                       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-
中国科技论文在线                                                                   http://www.paper.edu.cn

的是“FIRST”和“SECOND”标识同时被遮挡情况下本算法的三维注册结果,即此时注册失败。
从而可以得出结论,利用多标识辅助进行三维注册算法的优点是可以根据一个标识定位已知
相对位置关系的其他标识,即使其他标识被完全遮挡;缺点是必须有一个标识完全可见。




                 (a)                                                (b)




                  (c)                                                (d)
                               图 2-2 多标识辅助三维注册
               Fig. 2-2 Multi-Marker Assisted Three Dimensional Registration

2.2   非角点被遮挡情况下的三维注册
      传统算法工作流程是:
      (1)导入预定义的标识模板;
      (2)系统启动,利用摄像机捕获视频数据;
      (3)如果标识完全可见,则转到(4),否则直接跳过当前检测;
      (4)利用 ARToolkit 计算摄像机相对标识的变换矩阵;
      (5)根据(4)所计算出的变换矩阵在真实场景之上叠加虚拟物体;
      (6)将虚拟物体和真实场景一并输出。
      当标识的非角点被遮挡时,上述算法不能正确提取标识轮廓,从而导致注册失败。下
面介绍本文改进的标识识别算法,该算法要求标识一次完全可见,在后续过程中,可以允许
非角点被遮挡条件下,继续完成对标识的识别和跟踪,进而提高三维注册的稳定性。工作流
程如图 2-3 所示。
      (1)初始化部分:要求标识完全可见,从而能够利用 ARToolkit 识别标识,计算变换
矩阵,并将当前变换矩阵保存为历史变换矩阵。
      (2)如果标识完全可见,利用 ARToolkit 计算变换矩阵,并将变换矩阵保存为历史变


                                        -6-
中国科技论文在线                                               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-
中国科技论文在线                                                   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-
中国科技论文在线                                                                            http://www.paper.edu.cn




                                                    (b)
                                                图 3-1 系统截图
                                        Fig. 3-1 Screenshot of Our System

4 结论
     本文介绍了增强现实开发工具包 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 Augmented
Reality Conferencing System. Workshop on Augmented Reality, 1999:85~94.




                                                   -9-

Mais conteúdo relacionado

Semelhante a 201012 687

线性系统理论2022.pdf
线性系统理论2022.pdf线性系统理论2022.pdf
线性系统理论2022.pdfssusera9c46c
 
C1 discrete time signals and systems in the time-domain
C1 discrete time signals and systems in the time-domainC1 discrete time signals and systems in the time-domain
C1 discrete time signals and systems in the time-domainPei-Che Chang
 
Fast fading, Slow fading and Multipath effect in wireless communications
Fast fading, Slow fading and Multipath effect in wireless communicationsFast fading, Slow fading and Multipath effect in wireless communications
Fast fading, Slow fading and Multipath effect in wireless communicationsPei-Che Chang
 
Image Stitching Method
Image Stitching MethodImage Stitching Method
Image Stitching Methodwuyanna
 
1000 1832(2007)03-0032-05
1000 1832(2007)03-0032-051000 1832(2007)03-0032-05
1000 1832(2007)03-0032-05axiuluo
 
打造四軸飛行器
打造四軸飛行器打造四軸飛行器
打造四軸飛行器大峯 黃
 
電路學 - [第六章] 二階RLC電路
電路學 - [第六章] 二階RLC電路電路學 - [第六章] 二階RLC電路
電路學 - [第六章] 二階RLC電路Simen Li
 
Scilab introduction(Scilab 介紹)
Scilab introduction(Scilab 介紹)Scilab introduction(Scilab 介紹)
Scilab introduction(Scilab 介紹)JIANG MING-LI
 
第2讲 课件
第2讲  课件第2讲  课件
第2讲 课件p26chan
 
第2讲 课件
第2讲  课件第2讲  课件
第2讲 课件p26chan
 
项目反应理论项目进度报告20090929
项目反应理论项目进度报告20090929项目反应理论项目进度报告20090929
项目反应理论项目进度报告20090929Albert
 
C5 correlation function and power spectrum density of a signal
C5 correlation function and power spectrum density of a signalC5 correlation function and power spectrum density of a signal
C5 correlation function and power spectrum density of a signalPei-Che Chang
 
Digital Baseband Communication
Digital Baseband CommunicationDigital Baseband Communication
Digital Baseband CommunicationPei-Che Chang
 
C2 discrete time signals and systems in the frequency-domain
C2 discrete time signals and systems in the frequency-domainC2 discrete time signals and systems in the frequency-domain
C2 discrete time signals and systems in the frequency-domainPei-Che Chang
 
Deterministic Signal
Deterministic SignalDeterministic Signal
Deterministic SignalPei-Che Chang
 

Semelhante a 201012 687 (20)

线性系统理论2022.pdf
线性系统理论2022.pdf线性系统理论2022.pdf
线性系统理论2022.pdf
 
C1 discrete time signals and systems in the time-domain
C1 discrete time signals and systems in the time-domainC1 discrete time signals and systems in the time-domain
C1 discrete time signals and systems in the time-domain
 
Fast fading, Slow fading and Multipath effect in wireless communications
Fast fading, Slow fading and Multipath effect in wireless communicationsFast fading, Slow fading and Multipath effect in wireless communications
Fast fading, Slow fading and Multipath effect in wireless communications
 
Random Process
Random ProcessRandom Process
Random Process
 
電路學第七章 交流穩態分析
電路學第七章 交流穩態分析電路學第七章 交流穩態分析
電路學第七章 交流穩態分析
 
Image Stitching Method
Image Stitching MethodImage Stitching Method
Image Stitching Method
 
Statistics with R
Statistics with RStatistics with R
Statistics with R
 
1000 1832(2007)03-0032-05
1000 1832(2007)03-0032-051000 1832(2007)03-0032-05
1000 1832(2007)03-0032-05
 
打造四軸飛行器
打造四軸飛行器打造四軸飛行器
打造四軸飛行器
 
電路學 - [第六章] 二階RLC電路
電路學 - [第六章] 二階RLC電路電路學 - [第六章] 二階RLC電路
電路學 - [第六章] 二階RLC電路
 
Scilab introduction(Scilab 介紹)
Scilab introduction(Scilab 介紹)Scilab introduction(Scilab 介紹)
Scilab introduction(Scilab 介紹)
 
第2讲 课件
第2讲  课件第2讲  课件
第2讲 课件
 
第2讲 课件
第2讲  课件第2讲  课件
第2讲 课件
 
项目反应理论项目进度报告20090929
项目反应理论项目进度报告20090929项目反应理论项目进度报告20090929
项目反应理论项目进度报告20090929
 
矩陣 轉換
矩陣   轉換矩陣   轉換
矩陣 轉換
 
C5 correlation function and power spectrum density of a signal
C5 correlation function and power spectrum density of a signalC5 correlation function and power spectrum density of a signal
C5 correlation function and power spectrum density of a signal
 
Digital Baseband Communication
Digital Baseband CommunicationDigital Baseband Communication
Digital Baseband Communication
 
C2 discrete time signals and systems in the frequency-domain
C2 discrete time signals and systems in the frequency-domainC2 discrete time signals and systems in the frequency-domain
C2 discrete time signals and systems in the frequency-domain
 
Delta (rostock)
Delta (rostock)Delta (rostock)
Delta (rostock)
 
Deterministic Signal
Deterministic SignalDeterministic Signal
Deterministic Signal
 

Mais de axiuluo

099 rs-01
099 rs-01099 rs-01
099 rs-01axiuluo
 
Ar smartphones
Ar smartphonesAr smartphones
Ar smartphonesaxiuluo
 
200911037
200911037200911037
200911037axiuluo
 

Mais de axiuluo (6)

099 rs-01
099 rs-01099 rs-01
099 rs-01
 
Ar smartphones
Ar smartphonesAr smartphones
Ar smartphones
 
Ft 002
Ft 002Ft 002
Ft 002
 
200911037
200911037200911037
200911037
 
Eli7007
Eli7007Eli7007
Eli7007
 
ARTag
ARTagARTag
ARTag
 

201012 687

  • 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 research field. 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 research and exploration. This paper studied the basic operation principle of ARToolkit, which is a development kit of augmented reality system, and improved the three dimensional registration when the marker was sheltered. This paper put forward multi-marker assisted three dimensional registration algorithm and another three dimensional registration algorithm when the non angular point is sheltered. Finally, combining three dimensional model retrieval system, this paper finished the augmented three dimensional model retrieval system. Key words: Augmented Reality; ARToolkit; Three Dimensional Registration 0 引言 增强现实(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. 中国科技论文在线 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 ARToolkit 1.2 ARToolkit 坐标体系 在 ARToolkit 中引入坐标体系是为了解决三维注册问题,而三维注册问题可归结为计算 标识坐标系与摄像机坐标系之间的转换关系,即摄像机相对标识的变换矩阵。ARToolkit 的 T T 坐标体系如图 1-2 所示,(Xm, Ym, Zm) 为标识坐标系,(Xc, Yc, Zc) 为摄像机坐标系,(xc, yc) T 为理想屏幕坐标系,(xd, yd) T 为实际屏幕坐标系。 -2-
  • 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. 中国科技论文在线 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 =0 2 改进的三维注册方法 在实际使用中,我们发现 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. 中国科技论文在线 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. 中国科技论文在线 http://www.paper.edu.cn 的是“FIRST”和“SECOND”标识同时被遮挡情况下本算法的三维注册结果,即此时注册失败。 从而可以得出结论,利用多标识辅助进行三维注册算法的优点是可以根据一个标识定位已知 相对位置关系的其他标识,即使其他标识被完全遮挡;缺点是必须有一个标识完全可见。 (a) (b) (c) (d) 图 2-2 多标识辅助三维注册 Fig. 2-2 Multi-Marker Assisted Three Dimensional Registration 2.2 非角点被遮挡情况下的三维注册 传统算法工作流程是: (1)导入预定义的标识模板; (2)系统启动,利用摄像机捕获视频数据; (3)如果标识完全可见,则转到(4),否则直接跳过当前检测; (4)利用 ARToolkit 计算摄像机相对标识的变换矩阵; (5)根据(4)所计算出的变换矩阵在真实场景之上叠加虚拟物体; (6)将虚拟物体和真实场景一并输出。 当标识的非角点被遮挡时,上述算法不能正确提取标识轮廓,从而导致注册失败。下 面介绍本文改进的标识识别算法,该算法要求标识一次完全可见,在后续过程中,可以允许 非角点被遮挡条件下,继续完成对标识的识别和跟踪,进而提高三维注册的稳定性。工作流 程如图 2-3 所示。 (1)初始化部分:要求标识完全可见,从而能够利用 ARToolkit 识别标识,计算变换 矩阵,并将当前变换矩阵保存为历史变换矩阵。 (2)如果标识完全可见,利用 ARToolkit 计算变换矩阵,并将变换矩阵保存为历史变 -6-
  • 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. 中国科技论文在线 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. 中国科技论文在线 http://www.paper.edu.cn (b) 图 3-1 系统截图 Fig. 3-1 Screenshot of Our System 4 结论 本文介绍了增强现实开发工具包 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 Augmented Reality Conferencing System. Workshop on Augmented Reality, 1999:85~94. -9-