基于图像的图形绘制技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于图像的图形绘制技术
浙江大学CAD & CG国家重点实验室鲍虎军彭群生目前,实时图形绘制算法主要采用实时消隐技术、场景简化技术和基于图像的图形绘制(Image-Based Rendering,IBR)技术。
本文主要介绍IBR技术及其最新发展。
一、IBR技术的特点
传统图形绘制技术均是面向景物几何而设计的,因而绘制过程涉及到复杂的建模、消隐和光亮度计算。
尽管通过可见性预计算技术及场景几何简化技术可大大减少需处理景物的面片数目,但对高度复杂的场景,现有的计算机硬件仍无法实时绘制简化后的场景几何。
因而我们面临的一个重要问题是如何在具有普通计算能力的计算机上实现真实感图形的实时绘制。
IBR技术就是为实现这一目标而设计的一种全新的图形绘制方式。
该技术基于一些预先生成的图像(或环境映照)来生成不同视点的场景画面,与传统绘制技术相比,它有着鲜明的特点:
*图形绘制独立于场景复杂性,仅与所要生成画面的分辨率有关。
*预先存储的图像(或环境映照)既可以是计算机合成的,亦可以是实际拍摄的画面,而且两者可以混合使用。
*该绘制技术对计算资源的要求不高,因而可以在普通工作站和个人计算机上实现复杂场景的实时显示。
每一帧场景画面都只描述了一给定视点沿一特定视线方向观察场景的结果,为摆脱单帧画面视域的局限性,我们可在一给定视点处拍摄或计算得到其沿所有方向的图像,并将它们拼接成一张全景图像。
为使用户能在场景中漫游,我们需要建立场景在不同位置处的全景图。
IBR技术是新兴的研究领域,它将改变人们对计算机图形学的传统认识。
二、IBR技术的现状及发展
IBR的最初发展可追溯到图形学中广为应用的纹理映射技术。
传统的几何造型技术只能表示景物的宏观形状,无法有效地描述景物表面的微观细节,而恰恰是这些微观因素极大地影响着景物的视觉效果。
根据光照明理论,景物表面的微观属性最终反映在景物表面各点处的双向反射率上。
传统真实感图形绘制技术利用纹理图像来描述景物表面各点处的反射属性,从而模拟了景物表面的丰富的纹理细节。
环境映照技术继承了上述思想,它采用纹理图像来表示景物表面的镜面反射和规则透射效果。
在早期的应用中,环境映照以景物中心为固定视点,观察整个场景,并将周围场景的图像记录在以该点为中心的环境映照球面或立方体表面上。
因此,环境映照实际上以全景图像的方式提供了其中心视点处的场景描述。
80年代初,这一技术在飞行模拟器的设计中得到了成功的应用,后来被广泛应用于游戏设计中。
但单一环境映照无法完全描述一个场景。
一个自然的选择是在一些路径上选取一些采样点作为视点,预先生成存储该点处的全景图像。
在漫游时,沿给定路径前进,并根据采样点处的全景图像生成画面。
Miller等用此技术建立了一个具有多条固定路径的虚拟博物馆漫游系统。
Apple公司的Quick Time VR系统摆脱了固定漫游路线的约束,用户可在环境中随意漫游。
该系统的优点是能在中低档硬件平台上实现复杂场景的漫游,缺点是前后帧画面间有时会出现不连续现象,因而产生跳跃感。
随着商用系统的推出,IBR技术的研究进入了一个高潮,在短短的几年间,涌现出了一大批高效的算法。
1. 图像投影变形技术
如前所述,纹理映射技术其实是一种典型的IBR技术,该技术以纹理图像作为输入,将它
映射到简单景物几何上,以近似描述表面上的纹理细节。
用户可取不同的位置和角度来观察这些景物,在不同视点和视线方向下,景物表面的绘制过程实际上是纹理图像在取景变换后的简单景物几何上的重投影变形的过程。
类似地,采用图像投影变形(Image Projective Warping)技术亦可将给定图像重投影变形到新的图像平面上来生成新的画面。
根据投影方式,投影变形技术可以分为两类,它们构成了目前IBR算法的核心。
(1) 无需深度或光流信息的投影变形技术这一技术将两幅取相同视点但不同视线方向的图像联系起来。
当两幅图像部分重合时,利用这一技术就可将它们无缝地粘接成一幅更大的画面。
这一技术的典型代表是图像马赛克算法。
该算法首先由用户绕一固定点摇拍场景,得到一图像序列,其中前后两帧图像保持一定的重叠区域,然后利用这一技术将图像序列拼接起来,形成一幅全景图像(环境映照)。
对全景图像重采样就可得到新的画面。
事实上,具有同一视点、但视线方向不同的两幅部分重叠画面间的投影变形函数可简单地表示成一个3×3矩阵。
在计算机视觉中,有多种优化迭代方法来决定该矩阵。
但当两幅图像无重叠部分时,我们不能直接确定所需的投影变换,此时,需找出一些中间相互重叠的画面序列将两个图像连结起来,通过复合两个重叠画面间的投影变换即可得到所需的投影变换。
这一技术的发展,有力地促进了Quick Time VR类型系统的实用化,该技术已成为目前应用最为成功的IBR算法。
这类投影变形技术存在很大的局限性,即只适用于摄像机绕全景图像中心旋转时中间画面的生成,而不适用于摄像机位置移动的情形。
在摄像机做前后移动时,由于景物前后遮挡关系的改变,所得图像并不完全是原存储图像的重新投影和简单变形,其画面内容在局部区域中发生变化。
解决这一问题的有效方法是在原给定的图像序列中引入可见点的深度信息,以提供原始场景的部分三维信息。
(2) 基于深度或光流信息的投影变形技术
其基本思想是利用给定画面上可见点的深度值,局部重建场景的三维几何,并基于这些三维信息对可见点直接进行投影变换,或建立该画面与其相邻画面象素的对应关系。
对于前者,由单幅画面即可生成相邻视点处新的图像,后者则需给定多幅相邻的深度图像。
由于这一技术不再要求新画面的视点与原图像的视点位置重合,从而摆脱了第一类投影变形技术的严格限制,该技术可在不同视点的图像序列之间生成连续过渡的中间画面。
因而,若在预处理中已生成好场景中各采样点处的深度全景图像,则可实现对场景的连续漫游,此时,前后帧画面之间不再具有跳跃感。
Eric Chen的视图插值算法是第一个在给定两帧深度图像之间实现画面自然过渡的IBR算法。
该算法采用线性插值技术模拟了各相邻采样点间场景透视变换的变化。
之后,这一算法被McMillan等进一步扩展,成为一个更具一般性的全景函数造型技术。
基于可见点深度信息投影变形技术的缺点是在所生成的中间画面上可能存在空洞。
这是由于所给定的图像无法提供中间画面空洞处可见点的信息而造成的。
空洞的填补是一个非常复杂、耗时的过程,填充效率将严重影响各中间画面生成的实时性和质量。
尽管如此,深度图像的重投影变形技术可在一定精度值内将原给定图像上的相邻象素组合成子块图像,以一个整体进行投影变换,因而算法的计算效率非常高,能在低档的硬件平台上实现给定图像间的实时过渡。
考察中间过渡画面上空洞的成因,可发现空洞大致分为两类,即由于可见景物在屏幕上的投影区域扩张而引起的空洞;由于场景中景物的可见性发生变化而引起的空洞。
对第一类空洞,可通过插值相邻象素颜色或插值相邻象素在源图像中的相应偏移向量来近似填补空洞;精确地填补第二类空洞涉及对场景的重新采样,当然,我们亦可采用多个源图像来生成同一视点和视线方向的多幅画面,利用这些画面空洞的互补性,经合成得到最终画面。
为有效地减少中间过渡画面上的空洞数目,McMillan等许多研究者近年来提出了逆向投影变形技术,以解决第一类空洞。
从整体来看,深度图像的重投影变形技术本质上是一个由深度图像重建局部三维几何并重新采样该局部几何的过程。
因而,问题的关键是如何由离散深度值重建连续几何景物表面,这一直是计算机视觉的研究内容,目前已提出了许多由深度图像近似重建局部场景的实用算法。
最近,McMillan等先后提出了图像空间的高斯重建算法和基于B样条曲面片的三维几何重建算法。
特别是前者得到了较好的重建效果。
该算法利用Heckbert的椭圆加权平均滤波器对所有源采样点和样本深度差之平方和(均方差)进行滤波,进而得到编码所需的码表。
本质上,这是一个标准的矢量量化过程,所得的码表就是源图像的一个剖分,且每一个编码均对应屏幕上具有相近深度值的小块区域。
类似地,Sillion等利用基于深度信息的边缘提取技术对源图像进行分层,然后在每一层中利用传统三角剖分技术来完成对图像的分割,进而建立起所需的三维网格几何,它是原场景几何的一个局部近似。
由于上述三维几何重建方法往往生成大量细小的分割区域,这给后续画面绘制的效率及精度带来了极大的影响,为此,我们通过对深度信息引入一非线性变换,使图像深度的变化呈线性关系,并利用Laplace算法及二叉剖分技术实现图像的分割,从而恢复出原场景几何的三维网格。
与传统算法相比,本算法重建生成的网格数较少,算法精度及效率更高。
深度图像重投影技术的主要优点是该技术适合于实拍图像。
若我们能基于计算机视觉理论求得实拍图像的摄像机参数及深度信息,则重投影变形技术就可生成相邻画面的自然过渡。
通常,我们采用立体图像匹配技术来解决画面上可见点的深度恢复问题。
在SIGGRAPH'98上,Raskar等提出了一种全新的深度恢复技术,并开发了一个被称之为"虚拟办公室"的虚拟环境系统。
该系统利用实时计算机视觉技术,动态恢复办公室场景的深度和反射信息,进而采用重投影技术生成画面。
该算法的主要贡献在于他们将光源布置成一定的结构,并以不为人眼所察觉的频率改变光源的照明,由于摄像机机位是固定的,算法可快速利用场景画面光照信息的变化,动态恢复其深度值。
尽管投影变形技术还存在着一些问题,但它已成为目前最为成功的IBR技术,相信在不久的将来,这一技术将会有更大的发展。
2. 光场重建技术
光场重建(Light Field Reconstruction)技术是在全景函数重建技术上发展起来的一种新的IBR技术。
一般地,全景函数由一参数方程来描述,它定义了空间任一处,在任何时刻和任一波长范围内场景中的所有可见信息,对空间中的任一视点V(Vx,Vy,Vz),从该视点出发的任一条视线均可用一球面角θ和ψ来定义。
若记光波长为λ,则在t时刻视点V 处的全景函数可定义为:p=P(θ, ψ, λ,Vx,Vy,Vz,t)。
全景函数事实上刻划了一给定场景的所有可能的环境映照,因而,它以图像的方式给出了场景的精确描述。
为生成一帧给定视点沿特定方向的视图,我们只需将视点V(Vx,Vy,Vz)和球面角θ、ψ及时刻t代入全景函数即可。
这其实是对全景函数的采样过程,所得视图即为全景函数的一个样本。
因此,基于图像的图形绘制问题可描述为:给定全景函数的离散样本集合,生成该全景函数的一个连续表示。
基于这一描述,IBR可分解为全景函数的采样、重建和重采样三个过程。
一般来说,全景函数的获取是非常困难的,这是由于它所包含的信息量远远超出了当前计算机的处理能力。
McMillan等对场景进行采样,并采用无底圆柱环境映照来描述一个采样点处的全景函数。
然后采用上一节的投影变形函数来建立两相邻采样点环境映照之间的过渡。
尽管在每一采样点处,全景函数降为二维函数,但从总体来看,该算法仍是五维函数,那么,一个自然的问题是,能否降低全景函数的复杂性呢?答案是在一定条件下,我们可以将五维全景函数降为四维,这就是Levoy等的光场函数重建算法和Gortler等的Lumigraph方法。
就目前的状况看,光场函数重建技术还不足以用来绘制一般场景,许多问题仍待解决。
3. 混合式IBR技术
所谓混合式IBR技术是指同时采用几何及图像作为基本元素来绘制画面的技术。
该技术根据一定的标准,动态地将部分场景简化为映射到简单几何(如四边形)的纹理图像。
当简化引起的误差小于给定阈值时,混合式IBR技术直接利用纹理图像取代原场景几何来绘制画面。
由于简单几何面置于被简化景物的中心,而简化误差被严格控制在给定的阈值内,因而这种绘制技术仍保持正确的前后排序,所生成的图形质量亦非常高。
混合式IBR技术最明显的应用是采用环境映照来表示远距离景物,如天空、山脉等,而近距离景物则采用传统几何绘制模式。
该技术在各种模拟器的动态仿真及三维游戏中得到了广泛的应用,它可在一定误差条件下,以较少的代价来快速生成场景画面。
但由于不论视点在何位置,对整个场景均取统一的环境映照,因而所生成的图像存在着较大的误差。
1996年Shade等提出了层次图像存储算法(Hierarchical Image Caching Algorithm)。
该算法的基本出发点是:当景物离视点较远时,它在前后两帧画面上投影位置的变化非常小。
因此,若将这些远距离景物在前一帧画面中的投影图像存储起来,并以该图像作为纹理映射到一简单几何上,以近似取代该景物在其后续画面中的绘制,则我们就能有效地减少当前视域中的可见面片,从而极大地提高画面的绘制效率。
当然,当场景中有很多可见景物时,利用上述方法将产生非常多的纹理图像,这给图形硬件带来了很大的负担。
为
此,Shade等利用二叉剖分技术(Binary Space Partition)对场景进行层次剖分,每一结点中的所有景物根据它们离视点的远近,动态地在其几何和纹理图像之间切换。
该算法的主要贡献在于,它给出了一种纹理表示与原景物几何间的误差估计,并给出了视点运动的安全区域。
但这一算法由于采用从后至前的绘制顺序来生成画面,因而对于高度复杂的场景,算法的效率将受到严重的影响。
为了提高绘制精度,Sillion等利用带纹理的多边形网格来逼近远距离景物,而近景则仍采用传统的几何绘制技术。
考虑到对于高度复杂场景来说,将远距离景物简化成其纹理表示仍是一个非常耗时的过程,Sillion等采用预处理的方法来生成在不同视点范围处的远景纹理图像网格。
与Shade算法相比,该算法具有更高的逼近精度。
混合式IBR技术的重要进展应归功于Microsoft公司的Talisman硬件的设计与实现。
Talisman是一新型图形处理硬件,它改变了传统的基于多边形的图形处理方式,采用了一种分层的混合式IBR技术来生成画面,其算法已硬件化,因此,它的绘制效率较之Shade算法有了很大的提高。
Talisman图形硬件的推出有力地促进了混合式IBR技术的发展,促使人们对这一技术有了更进一步的认识。
其中,影响该技术效率的一个关键因素是如何对动态复杂场景进行分层。
尽管目前已有许多空间剖分技术可实现这一目的,但这些方法均存在着一定的缺陷。
在SIGGRAPH'98上,Synder等人推出了一种新的动态场景自动分层技术,该技术基于k-d树结构及传统的Newell消隐算法,设计了一个适合于动态场景的空间剖分技术,进而实现了动态场景的自动排序和分层。
与此同时,Shade等提出了一个具有更高绘制精度的多层绘制模型,并给出了带深度纹理四边形的重投影及基于分层迭加的绘制算法。
尽管这一算法的绘制精度较高,但算法的效率还有待于进一步的考验。
混合式IBR技术作为一种新兴的IBR技术近来得到了高度重视,成为目前发展较快的一种技术。
4. 表面反射属性的重建
实际上,IBR技术包含两大主要研究方向,即由图像重建表面几何及由图像重建表面反射属性。
上述有关IBR算法均假设景物表面为漫射表面,且在整个运动过程中,场景的光照情况保持不变。
显然,这种假设是理想化的,与实际应用具有很大的差距。
因此,IBR技术必须在重建三维几何的同时也重建景物表面的光照属性。
早在1992年,Haeberli就利用简单的迭加原理来重新绘制场景,但该算法要求场景中的光源类型、数目必须与原图像一致。
之后,Nimeroff等利用天空光的经验模型有效地由已知图像重新绘制了在不同自
然照明(如阴天、晴天)条件下的场景。
但这一方法只能处理受太阳和天空光照射的室外场景,且视点是固定的。
后来,Belhumeur和Kriegman利用奇异值分解技术从原始参考图像中抽取一组基图像,新的图像则通过线性组合这些基图像得到。
因此,问题的关键是如何根据光源及景物表面的反射属性来确定组合系数。
一般来说,这种关系的确定是非常困难的,所以,这种方法生成的新图像仅是一种近似。
目前,该算法只能处理漫射表面。
最近,许多研究者在研究恢复表面的反射属性时,引入了场景的几何信息,从而更有效地处理这一问题。
Seitz等利用体元填色技术(Voxel Coloring Technique)构造了一个中间可编辑的体元数据结构,这样,我们就可在不同的照明条件下由这些几何数据重新绘制画面。
但是,这一方法仅适合于朗伯漫反射模型。
而俞益洲等则利用光度学理论,给出了恢复建筑物表面的双向反射率的具体算法,从而实现了由一幅参考图像生成在不同时间及光照条件下该场景的新的画面。
T.T.Wong也考虑了双向反射率的重建问题。
Debevec 则通过恢复景物表面的双向反射率(BRDF)来将虚拟景物自然地迭加到实拍图像中,使虚拟景物与实际场景具有相同的光照条件。
该算法通过测量场景的辐射和整体照明情况,并利用场景的动态深度图像模型来照明虚拟景物。
Debevec给出了一个将虚拟景物绘制到实际场景(图像)中去的一般方法。
就目前的研究状况来看,对景物表面反射属性重建的研究还刚刚起步,还有许多问题亟待解决。
尽管有些算法已有较好的模拟结果,但其计算量非常大,还难以达到实时。
三、IBR技术的发展趋势
根据目前的研究状况,IBR技术将沿着以下几个方向继续发展:
*分层绘制技术;
*有效的、适合于实时绘制的三维重建技术;
*表面反射属性的快速重建。
这些技术的进一步发展,将促使IBR走向实用。