如何基于全景图研究虚拟现实系统?
如何基于全景图研究虚拟现实系统?
摘要 全景图(Panoramic Image)是近来出现在Internet上的另一种新的交互式的虚拟场景表示方式,它基于图像绘制IBR(Image-Based Render)的方式再现了三维场景,可用浏览器实现虚拟场景的漫游,同时也详细介绍了这种全景图浏览器的实现原理。本文在总结已有技术的基础上,提出一个基于全景图的虚拟现实系统模型,并改进算法实现了高效的拼接。
关键词 全景图; 基于图像绘制IBR; 虚拟现实; 图像拼接
1概述
全景图是基于图形绘制IBR(Image-Based Render)的关键技术。现有的IBR技术大概可以分为四类:基于全景图(Panoramic Image)的方法,基于图像深度信息的方法,基于光场(Light Field)信息和基于 Morphing的方法。现阶段,相对成熟的技术是第一种基于全景图的方法 ,而且它实现方便处理量易于在Internet实现。
目前,业界对全景图的基本制作方法是:在固定的视点用照相机或者摄像机按照一定的方式(通常是按照均匀角度绕轴旋转360 度)采集图像,采集之后的图像输入计算机进行图像拼接、整合等处理,生成无缝全景图像,最后再用计算机经过投影展示出来,并且提供局部的有限的漫游功能。虽然全景视图有其自身的局限性,比如视点单一,只能在场景内部实现漫游等,但是由于该技术具有极强的可操作性,而且技术也相对成熟,已经成为应用最为普遍的IBR技术之一。目前全景视图主要应用在:虚拟环境、游戏设计、电影特技效果、虚拟博物馆等等。在商用领域比较著名的有Apple的QuickTime VR、IPIX Viewer、Live Picture、IBM的Hot Media等系统。
2 全景图的制作流程
全景图制作流程包括全景模型选择,图像采集,图像拼接,图像缝合以及全景图展示浏览五个步骤 ,如图1。
(1)全景模型选择:根据全景图投影展示方式的不同,主要可以分为3种模式:立方体模式、圆柱模式、球面模式。这三种模式就是分别把已经拼接好的全景图投影到立方体/ 圆柱体/球体的内表面。此外还有其他展示模式,如采用正多面体去逼近球面的方法。
(2)图像采集:一般有两种方法,用全景拍摄器材进行拍摄或者通过普通相机拍摄再进行图像拼接。前一种方式比较容易采集图像,但是这种方法往往意味着购买昂贵的摄影器材,因此影响了其通用性。而后一种方式,用普通相机在固定点拍摄图片然后拼接生成全景图的研究就显得比较活跃了,而全景图生成的核心技术——图像拼接算法正是研究的重点。
(3)图像拼接与缝合:现有的全景图像拼接生成算法主要可以分为三类:基于特征的方法、基于流的方法和基于相位相关的方法。在得到拼接好的图像后,还需要对图像重叠部分进行处理,以实现图像的无缝拼接。目前经常采用的一种简单的图像缝合技术就是线性插值法(Linear Interpolation)。
(4)全景图展示:得到360度的全景图像后,还要把该图像投影到所选择模型的内表面展示,并提供简单的浏览功能。
(5)运动物体生成和全景图生成一样,同样可以用以上3种方法生成。在用照相机拍摄物体时,如果对物体的水平方向和垂直方向各拍摄一圈,就可以对物体进行二维的交互控制。链接是指:①把得到的全景图按一定方式组织起来,供交互式显示用;② 把运动物体嵌入到全景图中去,成为“热点”,使用户可以对它进行交互式控制。
图1全景图制作流程
3 全景图像拼接技术的研究
3.1全景图生成的经典算法
自全景图的概念提出到目前,有很多学者都对全景图的生成算法做过深入的研究,其中McMillan和Szeliski等人的工作尤其突出。 McMillan和Bishop提出了全景函数模型,该算法根据摄像机绕轴旋转360度所拍摄的图像序列求解每个相机的参数,由此进行全景图拼接,但是该算法不太适合于照相机,因为它要求两幅图像之间要有超过2/3 的重叠,这样对一个场景如用照相机去采集图像就需要拍摄大量的图片,而这显然增大了图像采集的难度,也增加了计算量和误差量。而且McMillan试图通过柱面极几何约束实现匹配点自动匹配,但是极几何约束核心基础矩阵对误差过分敏感,也因此导致匹配结果无法实用。
Szeliski和Shum[3]在他们的一系列的文章中提出了用8参数的二维(2D)投影模型求解投影矩阵M。该模型的数学表达如下所示:
(1)
(2)
3.2全景图像拼接算法归类及其比较
现有的全景图像拼接生成算法主要可以分为三类:基于相位的方法、基于流的方法和基于特征的方法。
(1)基于相位的方法:该方法利用傅立叶变换、小波变换等等先对图像进行变换,再利用变换后的图像的某些特征进行匹配。但是如果存在空间上的局部变化,就会导致该方法产生较大误差。
(2)基于流的方法:也叫做基于面积的方法。该方法是通过比较两幅图像亮度(或颜色)差异,并使之最小化来寻找最佳匹配点的。上文描述的两种经典算法就是属于该方法,采用这种方法的还有:Duffin [4]和Barrett在Szeliski研究的基础上提出的一种恢复6个参数模型的算法。基于面积方法的缺点就是它的计算量明显偏大。
(3)基于特征的方法:该方法的主要思想就是从一幅图像中提取一定的特征,如:点、线、边缘等等,并用此特征为匹配模板,在第二幅图像中搜索。该方法可以提高计算速度,但是提取合适的图像特征比较困难。[5]
如何提取合适的图像特征,很多学者在这个方面做了探讨,其中 Kim[6]等人利用抽取物体轮廓作为特征,而钟力[7]等人利用重叠图像两列象素的亮度(或颜色)比或者亮度(或颜色)作为特征模板,张鹏[8]等人利用象素灰度值信息提取某一矩形区域作为特征模板进行匹配。
需要注意的另一个问题就是采集的图像中重叠部分并不是单纯的平面位移变换,还存在伸缩变形等,所以这也增大了特征提取的难度。
4 算法的选择与改进
以上三种算法都有其自身的特点,当然也有各自的局限性,应该根据全景模型的不同和图像采集方式的差异选择合适的算法。下面根据全景图生成过程详细描述对算法的选择和改进。
4.1 全景模型选择
本文提出的方法中采用圆柱模式,这种模式相对简单,同时又不影响全景图像浏览的真实性。由于立方体模式过于简单,该模式在展示全景图时存在明显的边界痕迹,降低了全景图像真实性;球面模式虽然相对扩大了全景图浏览的视野,可是也相应增加了算法复杂度和图像采集的难度。
4.2 图像采集
为了提高图像拼接算法的复杂度处理能力以及能够自适应抖动、光照差、扭曲等。本文对图像采集方式未做过多限制:不用三角架固定相机,绕摄影者中心360度旋转相机拍摄图像,每次拍摄相机旋转的角度为θ,不固定相机的焦距,这样做的目的是进一步提高算法自适应校准图像拼接能力。
4.3 图像拼接
首先,抽取合适的图像特征来定位拼接,为了尽可能多的保留图像的特征,利用数字图像处理中的Laplace算子边缘检测算法,再加上二值化处理和平滑滤波3*3模板的噪音消除抽取出图像的特征图。
图2 特征提取后图象的二值化图
图象经过变换之后,得到了具有重叠相似区域的两幅图象,对于相似区域的寻找,一般的算法都是根据人体视觉特征定义1个模板矢量(Pattern Vector),对两幅图象分别运算相似距离,根据相似距离来寻找图象的相似部分。本文提出了一种新的重叠区域的搜寻方法,它基于差值图象的极值点搜寻,可以方便地提取两幅图象之间的相似部分,不需要频域上的任何运算。设有两个矩形区域A和B,已知B中包含一个区域A2,A与A2是相同的模块,求B中A2 的位置。典型的算法是从B的左下角起,把每一块与A大小相同的区域C与A相比较,得出评价函数,其值最小的区域就是A2。
评价函数一般定义为:对于A和C中每一对对应点p和q,
(1)
考虑到两幅图象的亮度不一样,即使是同一模块,由于亮度不同,评价函数的值也很大,把评价函数定义为:
(2)
4.4 图像缝合
图像缝合分两个步骤。拼接处会有明显的一条缝。可用颜色拟合的方法来调和相邻图象的亮度,生成无缝的合成图象。以合成图象的拼接线为中心,两边各取10个象素点的距离,此区域为矫正区。第一步是图像经过矩阵投影生成新的图像需要用到双性插值。第二步是两幅图像重叠区域之间的线性插值。
4.5柱面投影
柱面投影变换及其反变换算法的核心是投影变换公式,为此建立坐标系,如图4所示。原始图象I、投影柱面图象J和柱面K,原点为观察点O(投影中心)。设柱面半径为r,投影宽度角为θ,图象宽度为W,高度为H。能很容易得到柱面图象的宽度为r×sin(θ/2),高度仍为H。对图象I上的任意一点P,假设它在图象上的坐标为(x,y),P在柱面图象J上的对应点Q,假设Q在J上的坐标是(x’,y’)。[5]
图3柱面投影变换
这里θ角由每张图象所占的角度唯一确定。一个全景的角度是360º那么每张图象对应的角度就显而易见了一般的θ角约为30 - 40º。最后,根据两幅图像的平移量,柱面投影,最后拼接全景图(见图4和图)。
5 实验结果
基于全景图的虚拟实景生成系统的实现在是一台windows NT操作系统下的pc工作站,P3-1G,128M内存,显卡(硬件支持OpenGL加速),使用Microsoft visual c++6.0和OpenGL编程。
图4 图象拼接前的情况
图5 图象拼接后的全景图
6 结论及展望
随着基于图象绘制技术发展,全景图现已广泛应用在军事、教育、科研、商业、影视、娱乐、工程训练等,并随着JAVA和Internet的发展成为一种快捷、实用、效果很好的虚拟现实漫游系统。本文对基于全景图的虚拟现实模型进行了比较深入的研究,在根据前人对全景图的研究资料中,本文提出了一种基于全景图的虚拟现实系统模型的构想,并给出了较为实用的解决方案,克服了抖动、光照差、扭曲等对全景图的影响,对图象拼接算法作了比较和改进尝试,对圆柱面投影作了较深入的探讨,实用价值高效率。未来基于全景图的虚拟现实各种技术发展将前景广阔。
参考文献
[1] Cai Yong, Liu Xue hui, Wu Eng hua. Image-based rendering: A technology for virtual reality system. Journal of Software, 1997, 8 (10): 721- 728 ( in Chinese)
(蔡勇, 刘学慧, 吴恩华. 基于图像绘制的虚拟现实系统环境.软件学报, 1997, 8 (10) : 721- 728)
[2] Chen S E. Quick time VR ——An image-based approach to virtual environment navigation. In: P roc S IGGRA PH 95, New York, 1995. 29- 38
[3] Szeliski R, Shum H-Y. Creating full view panoramic image mosaics and texture-mapped models. In: Proc SIGGRA PH‘97,Los Angeles, California, 1997. 251- 258
[4] Kirk Duffin, William Barrett. Globally Optimal Image Mosaics[C].In: Proceedings Graphics Interface’98,19982:217~222
[5] Brown L G. A survey of image registration techniques. ACM Computing Surveys, 1992, 24 (4): 325- 376
[6] Min-A Kim, Sung-Soo Kim, Hwan-Gue Cho.Image Mosaicing Technique Using Feature-Based Graph Matching Algorithm
[7] 钟力,张茂军,孙立峰等.360 度柱面全景图象生成算法及其实现[J]. 小型微型计算机系统,1999:20(12):899~903
[8] 张鹏,周东翔,郝建新等.IBR技术中柱面全景图镶嵌的快速算法[J].计算机工程,1999;25(12):17~18