路面真实感建模技术研究

2015-05-30 10:48顾海燕唐好选吴启芳
智能计算机与应用 2015年4期
关键词:真实感三维路面

顾海燕 唐好选 吴启芳

摘 要: 本文研究路面建模中的真实感显示问题,应用线阵相机采集的路面纹理影像,围绕纹理映射方法来构建具有真实感的公路模型。路面影像采用四叉树方式组织索引,在原始纹理映射的基础上,根据光照原理为路面模型添加光强度信息,考虑到常见沥青和水泥路面的材质特点,选用法线映射技术来进一步增强路面的真实感,实验表明通过上述处理方法可以有效地增强车载系统公路建模的真实感。

关键词: 三维;路面;真实感

中图法分类号: TP39 文献标识码: A 文章编号:2095-2163(2015)04-

Study on Realistic Road Modeling Technology

GU Haiyan,TANG Haoxuan,WU Qifang

(School of Computer Science and Technology, Harbin Institute of Technology, Harbin 150001, China)

Abstract: This paper studies the realistic road modeling technology. A road model full of sense of reality is built mainly by texture mapping. The textures needed to map on the road model is gathered by line scan cameras. The paper uses a quadtree to index the textures. Finally, considering the material features of common asphalt and cement pavement, the paper uses normal map technology to further enhance the reality of the model. Experiments show that the sense of reality of the highway model can be effectively enhanced by using the above technologies.

Key words: 3D; Road Model; Reality

0 引 言

城镇一体化进程使城乡交通公路大幅增加,随着公路网络的饱和,城乡道路工程的重点将从新建逐步转移到道路的维护和管理上来。公路的三维建模研究是道路测绘重要的工作内容,建立富有真实感的路面模型能够为测绘工作者进行路面状况分析提供良好的参考依据。

物体的真实感建模需依照物体自身的特性和观察者的需求进行,对于复杂的几何模型诸如植物、动物,其表面曲率复杂性极高,这种情况下精致的几何模型就显得尤为重要;对于几何形状不确定的物体来说,比如云朵、龙卷风,便不能用逼真的几何形状来展示了,就需要精细的数学模拟过程来生成有真实感的图形,观察者也着重在对其形态的直观感受上。不同于复杂的几何模型和不确定的几何模型,路面是一种特别的对象,隶属于有确切几何形状的那一类,在宏观上看其几何形状为条带状,轮廓清晰,但是以近距离的视角观察,又存在细碎的砂石、裂缝、突起、坑槽等不同的形态,因此对于路面的真实感建模需要兼顾不同视角的直觉感受以构建接近真实的路面模型,并将纹理映射技术应用在道路建模上即是高校、完备的解决办法。

1 相关工作

三维几何的真实感显示技术中,Catmull[1]的纹理映射技术是现代图形化系统中的一项重要组成部分,通过影像和几何的坐标映射,在减少几何复杂性的同时能够有效地增加物体真实感。在传统纹理映射的基础上,研究者根据人眼观察现实世界中物体的特点,通过在几何模型表面添加关键的细节信息来模拟模型表面的不同材质,Blinn[2]最早提到凹凸纹理映射思想,这种技术通过干扰几何表面的法线信息,产生不规则的光影效果,展现有褶皱的表面现象。法线映射技术是次世代游戏美术中一项极具代表性的技术,可以在视觉上实现以假乱真的阴影效果。Kaneko[3]等提出的视差映射技术,将纹理坐标沿着视线的方向进行偏移,同时根据高度场的信息,来近似计算偏移值,这种技术可以产生逼真的效果并且开销很低,但是并不适合于噪声信息较强的不规则凹凸表面。Fabio Policarpo[4]等人的浮雕映射技术可以实现镂空、编织物等纹理状况复杂的贴图效果,但是路表面纹理要相对密实。如上的技术都借助了光照模型和表面法线来构建效果逼真的几何模型,包括模型的阴影、轮廓等细节信息等,本课题根据路面材质特性对相关算法进行实验,寻找适宜于表示路面真实感的纹理映射技术。

2 纹理映射

2.1 数据获取

实验的道路真实感建模基于一个车载扫描建模系统,在整个车载系统中,使用两种类型的设备同步协调来配合完成路面重建,一是线阵相机,一是激光扫描设备,前者负责道路影像采集,后者负责点云几何数据采集,激光扫描得到的数据亦是线阵数据,二者要匹配正确才能够重现真实路况。

实验使用德国工业相机制造商Basler系列的线阵相机(如图1所示)来进行路面纹理采集工作,其产品易于集成,小巧精致,便于安装。使用线阵相机进行路面纹理影像的采集,是因为线阵相机特有的工作机制能够相对较好地克服面阵相机在高速扫描的过程中会产生模糊的影像问题。

图1 车载数据获取设备

Fig.1 Equipment to collect data

使用Basler相机获取路面图像,需要同时应用Basler的Pylon系列软件,主要包括Pylon Viewer、Pylon IP Configurator和Pylon SDK。其中Pylon Viewer是一个用户交互界面,用来观察图像的获取情况,更改相机的相关参数来设置实验的环境;Pylon IP Configurator是一个IP设置程序,在开始实验之前通常会给相机设置一个动态的IP地址;而Pylon SDK则主要包括了Pylon API,应用Pylon API可以控制相机获取图像的整个流程。

2.2 多分辨率纹理映射

在整个道路的三维建模中,主要通过纹理技术来增强路面模型真实感,模型采用的是基于真实路表面影像图集的纹理映射方式,通过获取路表面的真实影像信息,将其映射到路面几何模型上,在降低路面几何复杂度的同时,增强真实感信息。整个基于真实道路影像的纹理映射过程涉及到三个存储概念:外存图像文件、内存缓冲的纹理信息和纹理内存的图像信息。

程序中一个纹理ID对应的纹理尺寸有限,实验的服务器显卡支持一个ID可定义纹理的最大尺寸是1 024×1 024,再大一点的纹理是不会被读入的。

实验线阵相机扫描的纹理数据量非常大,而且单张纹理的尺寸也很大,一张图像的横向最大分辨率为4 096,纵向分辨率可依情况自行设置。因此必须构建合理的纹理存储结构以及良好的纹理索引机制才能适合这种检测道路模型的大量的真实影像数据信息的处理工作。

在路面影像信息的存储设计上,将狭长的路面原始影像存储成一组1 024×1 024的图像,每个存储的图像需记录覆盖的几何路面模型的位置信息,以便在数据调度的时候找到对应。在此基础上,根据Williams L[5]的Mipmap设计思想,将这些影像块的Mipmap影像层也作为影像数据结构的一部分,离线地存储到硬盘上。根据道路几何模型的显示情况,调取相应的路面影像原始纹理以及其对应的Mipmap纹理信息到应用程序内存中的纹理缓冲区中,然后根据需要调取路面影像数据到纹理内存。

假设有4块256×256的纹理,各自建立四层Mipmap:256×256、128×128、64×64和32×32,如果每个块的纹理都导入纹理内存,空间容量为:

如果每个块依次按照一个不同的分辨率来映射如图2,需要的空间容量是:

这样节省了3/4纹理空间,因此在这里,设计一种纹理索引机制,只调取需要的路面纹理数据信息,从而节省纹理内存的容量。

四叉树在绘制大规模几何地形中有着广泛的应用,Cline[6]等在渲染LOD几何模型的时候使用了纹理四叉树的概念,对纹理设计四叉树的索引机制,实验借鉴文献[7]的四叉树思想组织纹理结构,结合路面模型使用的分块四叉树几何结构来完成路面纹理影像的映射过程。

图2 优化的纹理映射过程

Fig.2 Optimizing texture mapping process

实验中,路面纹理块数据信息的选择采用自适应的分块调度,根据绘制几何图形大小及视点的位置和覆盖的路面纹理范围进行自适应调整,建立实时索引调度结构。对于条带形状的路面模型,在纵向分成大的方块状,并将其进行多分辨率Mipmap存储,然后将每层的Mipmap做四叉树的索引结构,在将来调取数据时使用。在这里,主要依赖两个数据结构,一个是描述几何多边形的数据结构,一个是描述纹理四叉树中纹理节点的数据结构。

整个过程主要分为两步:一是多分辨率层次的选取,一是对应纹理块的调度。多分辨率层次的选择,需要考虑视点位置和几何模型空间、纹理空间和屏幕空间的关系,最终根据多边形在屏幕空间显示的范围来确定分辨率等级,选择的过程根据Cline在文中提到的方法进行:

(1)

式中, 为几何多边形显示在屏幕的径长; 为以像素为单位的视口高度; 为纵向视角大小; 为多边形在世界坐标系的径长; 为视线和法线的夹角值; 为视点到多边形的距离。

第二步就是根据纹理分辨率和几何图形在纹理空间中的覆盖范围,利用纹理四叉树搜索几何图形在真实纹理影像中对应的位置,并将这部分图像数据信息载入纹理内存。在基于四叉树几何剖分的基础上,会细分出大量基于正方形的三角形,如果每个正方形都对应一个纹理ID,虽然总体需要的空间减少了,但是用来创建和销毁纹理ID将耗费大量时间,因此在这里使用一种纹理分块限制的方法来减少过多ID的生成,将尺寸为L×L的整个几何区域为划分为n×n块纹理区域,若几何分块的大小不大于L/n,那么纹理块真实图像信息的提取比例按照n进行;如果几何分块的大小大于L/n,那么纹理块真实图像信息的提取比例按照L/nsize进行。其中,nsize是几何块的尺寸。

3 真实感贴图技术

3.1 切空间转换

真实感的映射技术通常涉及两个空间:模型空间和纹理空间。文献[7]给出了这两个空间的转换过程,设 是几何模型上一个三角形平面的参数描述, 、 和 是模型空间的三个顶点,这三个顶点各自对应纹理坐标系中的一个坐标,记为 、 和 ,在纹理平面空间中找这样两个向量:[1,0][0,1],这两个向量分别表示着 和 增长的方向,记为 和 ,由此平面内任意一点就可以表示为:

(2)

根据 以及三角形表面的法线 ,构成一个新的空间坐标系,通常被称为切空间[8],模型空间中每个平面都拥有这个空间。将 和 带入前面的等式可以得到一个线性方程组,解之可以得到:

(3)

就是全部的 和 对换,法线由二者叉乘得到,然后再单位化。

图3 切空间示意图

Fig.3 Diagram of tangent space

由 、 和 构成的矩阵通常被叫做 矩阵,在这里记为 ,下面是模型空间中的一个向量 变换到切空间:

(4)

当只有法向量与其他两个垂直时,有解。其数学表述为:

(5)

这三个向量在纹理空间垂直,主要是 和 与 分别垂直,但是在模型空间不一定垂直,因为通常情况下大部分几何模型中的向量在纹理空间和模型空间之间的转换并不总是保角保距的,因此不一定能维持垂直关系的存在。

3.2 法线映射原理及实现

法线映射是一种能够通过逼真的明暗效应来给观察者呈现以假乱真的立体视觉效果的图像处理技术,具体就是在物体的精细纹理模型空间中,计算精细的光照效果,包括阴影效果的生成。由于最终的物体形态是以像素值的形式为观察者提供视觉信息,这就使得模型建造者尽可在纹理空间中计算丰富的像素级信息,从而摆脱复杂的几何模型的束缚,几何模型也将随之获得更大限度的精简,就可以在几何复杂性和视觉真实感上争取一种平衡状态。法线映射适用的场合是表面纹理整体平整、但有幅度适中的表面起伏效果,而路表面的材质属性即完全满足这种纹理需求。

法向图的获取需要依赖纹理表面空间真实的高度场,但获取影像数据常常比获取这样高度场数据要容易许多,已有数目可观的软件均可通过法线烘培的过程提供一张这样的法线图,也可以通过纹理像素来实现这样一张法线图,虽然这张法线图并不是路表面空间的真实法向,但是可以十分近似地模拟这样一种效果。

法线映射的实现依赖逐像素的渲染方式,相对于逐顶点的渲染方式,在GPU中,基于像素的着色器往往可以更快地访问纹理数据信息,而且顶点着色器即使在视点不可见的几何区域可也对几何模型中的每个顶点都执行相同的操作,而像素着色器却只是运行那些在屏幕上显示的像素点,因此这种着色方式将具有更高效率。

Cg努力保留了C语言的大部分语义,这里在OpenGL中使用Cg的片段着色器编程实现路面模型的法线映射效果。前面提到的法线图是纹理空间的法线向量,因此在进行法线映射的过程中视点和光源向量都要变换到纹理切空间当中,顶点着色器中输出的也是切空间中的法向量。

4 实验与分析

实验的编程环境为Visual Studio 2005,显卡为NVIDIA GeForce 610M,大小为1GB,下面是一组实验效果图,路面模型的几何数据范围是512×512,相机以每秒两千线的速率扫描纹理图像,图像尺寸大小为2 048×2 048。

4.1 四叉树纹理的映射实验

分析第一组实验,图4是激光扫描数据的路面几何建模效果,采用几何四叉树由上而下的剖分方法,并根据视点及几何的复杂程度进行不同程度的细化,由实验结果可知,三角网格细致的地方,几何复杂性高;三角网格稀疏的地方,表示道路平整。

图4 路面网格

Fig.4 Road grid

图5是采用多分辨率纹理映射的效果,将室外拍摄的道路图片在线阵相机下扫过,可以模拟车载系统室外的工作环境,得到附有清晰路面信息的影像数据,并将纹理数据映射在路面模型上,如此即可在不增加路面几何模型复杂性的基础上提高真实感的显示效果。在距离视点近,几何复杂的地方,图像的纹理分辨率就高;在距离视点远且几何简单的地方,相应的纹理分辨率就较低,但是整体上并不会影响视觉的观看效果。

图5 纹理映射效果1

Fig.5 Texture mapping result 1

图6是拉远视点,远离路面模型,这时候仔细观察可以发现,在矩形方框标注的地方,纹理的分辨率降低了,但是从整体上来看,并没有影响到观察时候的视觉感受。

图6 纹理映射效果2

Fig.6 texture mapping result 2

4.2 从不同角度观察路面

如图7对两个不同光照角度下的路面模型局部进行分析,纹理采用图5中的纹理图像,可以发现与图5相比较,模型整体的真实感进一步增强,有了光影的明暗效果。图7是光源在右上角的时候路面阴影朝向左上角,近光源处的一角路面亮度高,路面左半部分纹理阴影效果明显。同样地,图8中右半部分纹理阴影效果明显。由于光照和纹理的结合会用到乘法,这就使原始纹理的像素值变低,颜色变暗,因此用蓝色背景更易于观察。

图7 光源在右上角

Fig.7 Light in the top right corner

图8 光源在左上角

Fig.8 Light in the top left corner

4.3 对不同的路况进行观察

实验采用另一组相机扫描的图片进行算法验证,图9(a)和图9(c)是一组应用法线映射技术对有裂缝的路面纹理图像进行真实感建模的局部效果图,可以看到即使是对于细小的裂缝,不论路面的纵向裂缝或横向裂缝,均能够显示阴影的效果,使用法线映射的路面则可使细节更为突出,例如图9(d)的右侧部分;另外,图9(a)和图9(c)的裂缝颜色深浅不一,路面平整度也不同,图9(c)表面的粗糙程度更大一些,但却都得到了一定的增强。

(a)原始影像1

(a) Original image 1 (b)法线映射结果1

(b) Normal mapping result 1

(c)原始影像2

(c) Original image 2 (d)法线映射结果2

(d) Normal mapping result 2

(e)原始影像3

(e) Original image 3 (f)法线映射结果3

(f)Normal mapping result 3

图9 使用法线映射前后对比

Fig.9 Comparison before and after using normal mapping

图9(e)是一个应用法线映射技术对路表面有凸起的纹理影像进行纹理映射的局部效果图,可以看到能够有效显示突起信息;对于图9(f)的右侧部分,则可明显看出突起的小包,而事实上,这个路表面的几何模型是极其简单的,甚至可以只是一个平面,但是又可给人以纵深的感觉,这就简化了几何绘制的负担。

5 结束语

本课题主要对三维路面模型重建过程中的真实感显示技术进行研究,为了使重构的三维路面具有较高的真实感,在纹理映射的基础上,对大纹理建立了Mipmap外存存储,并根据四叉树的纹理索引结构建立了随几何模型自适应调整的纹理调度方法,实现纹理的实时映射。同时依据传统光照模型,采用法线映射的思想生成模型在屏幕像素值的光照颜色,实验证明将这种方法应用在路面模型建模上可以在获得更逼真视觉效果的同时,几何模型又可以任意地精简。但是这种映射方法存在对大面积阴影敏感的问题,这时候会生成明显不正确的凹凸阴影效果,这也是下一步的研究方向,通过对图像进行光照检查弱化阴影来避免这种情况。

参考文献:

[1] CATMULL, EARL E. A subdivision algorithm for computer display of curved surfaces[J]. A Subdivision Algorithm for Computer Display of Curved Surfaces. 1974.

[2] BLINN J F. Simulation of wrinkled surfaces[J]. Acm Siggraph Computer Graphics. 1978:286- 292.

[3] KANEKO T, TAKAHEI T, INAMI M, et al. Detailed shape representation with parallax mapping[C]//Proceedings of the Icat.Tokyo, JAPAN :ICAT,2001:205-208.

[4] POLICARPO F, OLIVEIRA M M. Relief mapping of non-height-field surface details[C]// I3d 06 Proceedings of the Symposium on Interactived Graphics & Games Acm,Redwood city,CA:ACM,2006:55 - 62.

[5] WILLIAMS L. Pyramidal parametrics[J]. Computer Graphics, 1983,7:1-11.

[6] CLINE D, EGBERT P K. Interactive display of very large textures[C]//Visualization '98. Proceedings,North Carolina, USA: IEEE, ACM.1998:343-350.

[7] SZIRMAY-KALOS L, UMENHOFFER T. Displacement mapping on the GPU-State of the Art[J]. Computer Graphics Forum,2008,27 :1567- 1592.

[8] Kilgard M J. A Practical and Robust Bump- mapping Technique for Today's GPUs[J]. In Game Developers Conference 2000. Available online at http://developer.nvidia.com/attach/6588, 2000.

猜你喜欢
真实感三维路面
用艺术修补路面
回归真实感
谈小学语文课堂如何落实“三维”目标
基于After Effects中Form滤镜下的三维粒子特效研究与应用
细推物理重体验 表现人物贵专精
三维数字化移交技术在化工项目工程设计中的应用剖析
南丰蜜桔造型
一款透水路面养护车
BFRP连续配筋复合式路面配筋设计
路面机械的操控一体化