光场渲染技术的软件实现

时间:2022-08-21 08:53:26

【摘要】使用图像来帮助解决一些几何方法所不能解决的问题是一个由来已久的想法。最初在图形学里直接使用图像的技术是纹理映射。环境映射则是另一种使用图像的巧妙技术。从这两个传统图形学...

光场渲染技术的软件实现

摘要:IBR(Image Based Rendering)作为计算机图形学一个重要领域,已有大量的技术提出以重现先前绘制的或实际的图像,如:通过扭曲输入图像在图像间插值,它们利用场景的深度信息或图像间的相关性在多幅图像间实现。光场渲染是在不需要图像的深度信息或相关性的条件下,通过相机把在任何一个位置,任何一个视角观察到的场景的样子拍摄下来,然后在渲染的过程中,对于每个视点简单地合成那些有用的图像,从而最终得到新的图像。在本文中我们将研究一套将光场渲染技术在虚拟展示中加以应用的软件实现解决方案。

关键词:光场;渲染

中图分类号:TP391.4 文献标识码:A文章编号:1009-3044(2007)05-11314-02

1 IBR的发展过程

传统计算机图形学都是以三维几何信息为基础,试图通过用计算机完全模拟真实世界的物体成像过程来达到真实感的效果。这种传统图形学生成视图的方法有着坚实的数学和物理基础,但是其中存在的问题也正好是虚拟现实技术对图形生成的两个要求:真实和实时。传统图形学真实性的问题主要在于建模的困难上。传统图形学实时性的问题主要在于绘制过程的复杂。

使用图像来帮助解决一些几何方法所不能解决的问题是一个由来已久的想法。最初在图形学里直接使用图像的技术是纹理映射。环境映射则是另一种使用图像的巧妙技术。从这两个传统图形学里使用图像最著名的例子我们就可以看到,在显示中直接引入图像常常能对传统图形学最困难的两个问题:真实感和速度起到非常好的解决作用。这就引导我们把视线投向和图形学相对的一个领域:计算机视觉。

和计算机图形学相对的一个过程是计算机视觉。计算机视觉是“一类从数字图像中估计或者提取几何和运动信息的计算技术”。如果简化这个过程,把它们综合在一种技术下,那么就得到了一种新的显示技术:基于图像的渲染技术。

2 基于图像渲染系统的问题

基于图像的渲染技术的核心是场景图像数据。那么围绕着这些数据,产生了如下几个问题或者说IBR中的要素:

(1)数据采样方法。也就是如何获得场景数据。各种IBR系统对于采样的要求各有不同;

(2)数据表示方式。如何组织和联系这些拍摄下来的场景数据,或者说,把它们看作是什么;

(3)数据存储和传输方式。如何存储和传输IBR数据;

(4)数据显示方法。如何实时、准确地通过已有表示方式显示所需场景。

图1 基于图像的渲染系统构成

图1是基于图像的渲染系统构成框图,其中数据表示方式是IBR技术的核心。决定了如何采样数据和显示数据,并且深刻影响到数据的存储和传输方式。

3 光场介绍

所谓的光场,是光在空间中一个点给定方向上的辐射度。其中,光场是建立在从存在的图像,而不是从3D模型,生成虚拟场景的图像的概念上的。由此,我们可以把光场看作是一个场景的一批透视图,这些透视图是从放置在一块2D平面上的紧邻的视点拍摄的。如果这些视点间的间距能够足够密,且它们的视野角度足够大,那么图像阵列就可以包含对场景中离开每个点及传向每个方向的光线,也就是说,离开物理场景的光所产生的场包围了整个场景。这就是我们对光场的完整定义。

光场是光线的的一种辐射函数:L(x, y, z, θ, Φ)。但是在我们的具体研究中,5D的表述可能会在自由空间(无遮挡区域)中减到4D。因为光线沿着直线运动时辐射度不会改变,除非受阻。因此,4D光场可以被解释成有向直线的空间之上的函数。选择了4D光场这样的表述法后,下面最主要的问题就是如何参数化这个自由空间。我们所提出的解决方案是通过线与两个任意位置的位面的交点来参数化线(见图2)。

图2 light slab表示法

第一个位面上的坐标系是(u,v),第二个位面上的是(s,t)。定义一条有向线为从uv位面的一个点到st面的一个点的连线。在实际中,我们限制u,v,s和t在0到1之间,因此每个面上的点位于一个凸四边形中。我们称这种表示法为:light slab(光板)。直观上看,light slab代表了光束从一个四边形进入又在另一个四边形退出。这种表示法的一个大的优点就是进行几何计算时的效率。从(u,v)到位面的点的映射是一个投影映射且只涉及到线性代数(乘一个3×3矩阵)。更重要的是,当我们运用多幅图像创建新视图时,从一个图像像素(x,y)到(u,v,s,t)的反向映射也是一个投影映射。

4 虚拟展示光场渲染的软件实现

整个虚拟展示系统的构成可以分成两大部分。第一部分就是从原始图象文件到光场存储文件的一个压缩处理。数据的采样方式,这个我们采用stanford图像实验室的原始图像文件即一系列的RGB文件,每张RGB文件分别代表有一个固定uv值(即观察点)且目标视点的图像(即又确定了视线方向)。我们定义一种后缀为LID的信息文件,该文件则是对该系列RGB文件信息的汇总. 我们的程序所要做的就是利用该类LID文件的信息来压缩该RGB文件序列,生成光场数据存储文件。在数据的存储上,我们自定义一种后缀为LIF的压缩文件来存储光场数据。第二部分就是针对该光场存储文件的信息解压缩及重采样提取来完成虚拟展示。我们开发一个光场浏览器来实现虚拟展示。

光场阵列很大,为了能够制造,传送和实际的展现光场,必须要压缩。在众多可用的压缩技术中选择,我们以许多独特的光场特点为向导,最后的解决方案是:用一个包含固定bit率的向量量化和遵循熵编码(Lemapel-Ziv)的二级压缩管道。

我们定义一种后缀为LIF的文件来存储光场数据。它包括两部分:ASCII的头部和二进制的数据部分。头部包含一些信息如光板的个数,空间几何,以及每个光板是如何存储的。二进制部分又包含一个或多个段落。每个光板就是一个段落.其它部分,如用来压缩的编码薄也是一段落。每个段落的详细信息都在头部有记载。

解压在两级中出现。第一级――gzip解码,第二级――反量化。

系统的终端是一个实时浏览器,该浏览器的构建和显示是从一块由成像几何学设计的光板而来的。浏览器必须从4D光场重采样2D光线的面片,每一根光线代表一根通过眼睛这个点和像素中心的光线。这个过程有两步,步骤1为每根图像光线计算(u,v,s,t)的线参数,步骤2对那些线参数重采样辐射度。

光板的一大优点就是其反过来计算线参数的高效率。概念上说,(u,v)和(s,t)参数可以由图像中光线与每个位面的交点决定,然后做出计算。因而,任何光线跟踪器都可以适用于用光板。然而,一个多边形渲染系统也可以用来观察光板。从坐标系(x,y)的图像到(u,v)和(s,t)坐标系变换是一个投影映射。因此,可以用纹理映射计算线坐标。用当前的观察转换,可以画出uv四边形,在扫描阶段,在四边形角落处的(uw,vw,w)坐标转化插入进来。在每个像素的结果值u=uw/w,v=vw/w坐标代表了光线与uv四边形的交点。一个类似的过程可以通过画st四边形来产生(s,t)坐标。因而,从(x,y)到(u,v,s,t)的反转转换本质上减少到了每条光线两条纹理并列计算。

图3 软件运行效果图

图3就是我们光场浏览器的运行效果图,通过鼠标拉动可以从各个观察点来看清该物体,从而达到虚拟展示的需求。

5 结论与展望

在本文中,我们主要研究了用软件实现用光场渲染技术来完成虚拟展示的方法。我们采用了VQ压缩来实现光场原始图象文件到光场数据存储文件的压缩变化和实现了一个光场浏览器来对光场数据存储文件进行提取来形成新的视图从而完成虚拟展示。

当然,不可否认的是光场也存在一些缺点。首先就是采样的困难。要采集这样一个空间里每一条光线,对于真实场景来说是相当困难的。光场 采用数控相机,精确定位每一次拍摄的位置,过程相当繁琐和艰巨。其次,光场方法面临的另一个困难是数据集的庞大。采样如此多的光线最后生成的数据是惊人的。所以需要一种既能保证高压缩率,又能符合实时显示要求,提供高解压速度的数据压缩方法(数据储存方法)。还有一个问题就是一般的假设对观察点有一定限制,只能在位于物体之外没有遮挡的区域观察场景。

总之,就目前的状况,光场函数渲染技术还不足以用来绘制一般场景,许多问题仍待解决。

参考文献:

[1]Marc Levoy and Pat Hanrahan: light field rendering, Proc. ACM SIGGRAPH ’96,

[2](美)David F.Rogers著,石教英,彭群生等译.计算机图形学的算法基础(原书第二版)[M]. 机械工业出版社.

[3](英)Alan Watt,Fabio Policarpo著,沈一帆,陈文斌,朱怡波等译.3D游戏[M].实时渲染与软件技术。机械工业出版社.

[4]Leonard McMillan, Steven Gortler:Image-based rendering: A new interface between computer vision and computer graphics, ACM SIGGRAPH Computer Graphics, 1999(11),33:61-64.

[5]T. A. Funkhouser, C. H. Sequin, “Adaptive Display Algorithm for Interactive Frame Rates during Visualization of Complex Virtual Environments”. In Computer Graphics (SIGGRAPH'93), pages 39C46, ACM SIGGRAPH.

[6]N. Green, “Environment Mapping and Other Application of World Projections”, IEEE Computer Graphics and Applications, 1986

[7]E. Trucco, A. Verri, Introductory Techniques for 3-D Computer Vision, Prentice Hall, first edition, 1998

[8]R. Szeliski, Video mosaics for virtual environments. IEEE Computer Graphics and Applications, 16(2): 22-30, March 1996.

[9]McMillan, L., G. Bishop, Plenoptic Modelimg: An Image-Based Rendering System, Computer Graphics (SIGGRAPH’95 Conference Proceedings), August 6-11, 1995, pp 39-46.

[10]Adelson, E. H. and Bergen J. R.. The plenoptic function and the elements of early vision. In M. Landy and J. Movshon, editors, Computational Models of visual Processing, chapter 1. MIT Press, Cambridge, MA, 1991.

本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。

上一篇:如何把Captivate文档导入到Flash 8 下一篇:计算机应用与档案管理