(计算机应用技术专业论文)三维地震数据场可视化并行算法研究.pdf_第1页
(计算机应用技术专业论文)三维地震数据场可视化并行算法研究.pdf_第2页
(计算机应用技术专业论文)三维地震数据场可视化并行算法研究.pdf_第3页
(计算机应用技术专业论文)三维地震数据场可视化并行算法研究.pdf_第4页
(计算机应用技术专业论文)三维地震数据场可视化并行算法研究.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(计算机应用技术专业论文)三维地震数据场可视化并行算法研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

硕上论文三维地震数据场可视化并行算法研究 摘要 三维地震数据场的可视化对石油勘探起着重要的作用,它把采集到的物理数据转 换成图形、图像,并通过给体数据赋颜色和不透明度,以及改变观察角度等方式来展 现三维地震数据场的各种特征。而直接体绘制技术是三维数据场可视化的主要技术手 段之一,它不仅能够表现出三维对象的表面特征,也能显示其内部信息,因此被广泛 地应用于三维地震数据场的可视化中。然而,直接体绘制技术却有着计算量大、计算 时间长的缺点。 实际生产过程中的三维地震数据场的数据量往往十分巨大,目前即使应用高性能 的单台计算机,在对三维地震数据进行交互式可视化过程中也难以达到实时显示的效 果。因此,研究大规模三维地震数据的并行可视化技术显得尤为重要。 本文基于直接体绘制中的光线投射算法,首先分析了该算法的原理,设计了三维 地震数据可视化的程序,在分析了影响并行算法性能的多种因素后,结合具体的计算 机集群设计了一套并行光线投射算法,并用实际三维地震数据对该算法进行了测试试 验;最后,利用二叉树的特点对算法进行改进,以减少子图像的合成步骤。与串行算 法相比,并行光线投射算法的绘制速度得到了很大的提高。 关键词:三维地震数据场,体绘制,光线投射算法,并行算法 ab s t r a c t v i s u a l i z a t i o no f3 ds e i s m i cd a t af i e l dp l a y sa l li m p o r t a n tr o l ei no i l p r o s p e c t i n g i t t r a n s f o r m sp h y s i c a ld a t ac o l l e c t e di n t og r a p h i c sa n di m a g e s ,a n ds h o w st h ef e a t u r e so f t h e 3 ds e i s m i cd a t a , b y a s s i g n i n gc o l o ra n do p a c i t yt ov o l u m ed a t a , a n dc h a n g i n gt h ev i e w i n g a n g l e d i r e c tv o l u m er e n d e r i n gt e c h n o l o g yi so n eo ft h em a i nm e t h o d sf o r3 dv i s u 甜i z a t i o n i tc a ns h o wn o to n l yt h ee x t e r n a lf e a t u r e so ft h e3 d o b j e c t s ,b u ta l s ot h ei n n e ri n f o n n a t i o n s o ,i ti sa p p l i e dw i d e l yf o rv i s u a l i z a t i o no f3 ds e i s m i cd a t af i l e d b u tv o l u m er e n d e r i n g h a sas h o r t c o m i n g ,w h i c hi st h a ti ti so f t e nt o oc o m p u t a t i o n a l l yi n t e n s i v e t h ea m o u n to ft h ed a t ai na3 ds e i s m i cf i e l di s u s u a l l yh u g ei no h i p r a c t i c a l p r o d u c t i o n ,s ot h a tt h ec o m p u t e rw i t ht h eb e s tp e r f o r m a n c ec a l l th a v ear e a lt i m ee 彘c t w h e nd o i n gi n t e r a c t i v ev i s u a l i z a t i o no f3 ds e i s m i cd a t aa tp r e s e n t s o ,i ti sn e c e s s a r yt o r e s e a r c ho np a r a l l e lv i s u a l i z a t i o nt e c h n o l o g yo f l a r g e s c a l e3 ds e i s m i cd a t a o u rp a p e ri sb a s e do nr a yc a s t i n ga l g o r i t h mo fd i r e c tv o l u m er e n d e r i n g f i r s t 。r a y c a s t i n ga l g o r i t h mi sa n a l y z e da n dr e a l i z e d t h e n ,a f t e ra n a l y z i n gt h ef a c t o r sw h i c h 世c c t t h ep e r f o r m a n c eo fp a r a l l e la l g o r i t h m ,ap a r a l l e lr a yc a s t i n ga l g o r i t h mi s d e s i g n e da n d r e a l i z e do nac o m p u t e rc l u s t e rf o rt e s t i n gw i t h3 ds e i s m i cd a t a f i n a l l y , t h ea l g o r i t h mi s i m p r o v e d ,i nu s eo ft h ec h a r a c t e r i s t i co fb i n o m i a lt r e e , t or e d u c es t e p so ft h es u b - i m a g e s , s y n t h e s i s c o m p a r e dw i t ht h es e r i a la l g o r i t h m ,t h er e n d e r i n gs p e e do fp a r a l l e lr a yc a s t i n g a l g o r i t h mi si n c r e a s e dg r e a t l y k e yw o r d :3 ds e i s m i cd a t af i e l d ,v o l u m er e n d e r i n g ,r a yc a s t i n ga l g o r i t h m ,p a r a l l e l a l g o r i t h m i i 声明 本学位论文是我在导师的指导下取得的研究成果,尽我所知,在 本学位论文中,除了加以标注和致谢的部分外,不包含其他入已经发 表或公布过的研究成果,也不包含我为获得任何教育机构的学位或学 历而使用过的材料。与我一同工作的同事对本学位论文做出的贡献均 已在论文中作了明确的说明。 研究生签名:伽寥年月杉日 学位论文使用授权声明 南京理工大学有权保存本学位论文的电子和纸质文档,可以借阅 或上网公布本学位论文的全部或部分内容,可以向有关部门或机构送 交并授权其保存、借阅或上网公布本学位论文的全部或部分内容。对 于保密论文,按保密的有关规定和程序处理。 研究生签名:亟垒:跏g 年月,移日 硕士论文 三维地震数据场可视化并行算法研究 1 绪论 1 1 背景知识介绍 三维地震已经成为油气勘探开发的主要方法,其特点是采样密度大、成像精度高。 三维地震数据体中蕴涵着地下岩层的丰富信息,以前由于没有合适的三维显示技术, 人们只好利用一条条地震剖面和水平切片来显示三维数据,地质解释人员依据这些二 维图像来分析地下地层的空间形态和结构。对于庞大的三维数据体,即使将每一条剖 面和水平切片都显示出来,一个地质体的完整形态也是分散在各个独立的二维图像 中,无法直接看到地质体的三维形态。在实际工作中常常只对部分剖面和水平切片进 行解释,所显示出来的信息是片面的、孤立的,只利用了一小部分信息,大部分信息 没得到利用,其结果是很难了解地层结构的三维细节,多年以前人们就认识到了三维 数据二维解释的局限性,并指出了三维数据三维解释的出路,科学计算可视化是实现 三维数据三维解释的有效途径。 三维可视化技术的思想是将枯燥的数据用直观的图形显示出来,既可以直观地看 到隐藏在数据中的、用传统的手段难以发现的地质现象和规律,又可以大大提高工作 效率。 。二十世纪九十年代以来,国外就开始了三维地震数据的可视化研究,早期的三维 地震数据体可视化方法沿袭了传统的地震剖面显示方式,企图通过按空间顺序连续显 示一系列二维剖面或切片来表现三维地质体的空间变化规律,或者做出各种复杂的切 片来洞察地质体的三维特征。这种切片式( 包括由切片组成的栅状图) 可视化方法相当 于三维数据场可视化中基于面的可视化算法,带有明显的三维数据二维解释的痕迹, 仍然没有摆脱二维解释的局限性,无法直接看到地层的形态。 1 9 9 9 年g e r a l dd k i d d 1 j 应用直接体绘制算法成功地得到了地质体的可视化图 像,目前三维地震数据场的可视化技术还在继续发展之中,并已成为石油勘探中的一 个研究热点。 随着勘探精度的提高,三维地震数据的采样间隔也越来越小,数据体也越来越大, 目前一块油田的地震数据一般都是十几个、几十个g 字节,甚至上百个g 字节。对 于这些海量数据,用单个c p u 进行可视化解释时难以达到实时响应,比较可行的方 法是用多个c p u 做并行运算,提高计算速度。基于并行与分布环境的可视化技术对 于三维地震数据的可视化具有十分重要的意义。 1 绪论硕l 论文 1 2 三维数据场可视化 1 2 1 科学计算可视化 从概念上讲,科学计算可视化指的是运用计算机图形学和图像处理技术,将科学 计算过程中及计算结果的数据转换为图形及图像在屏幕上显示出来并进行交互处理 的理论、方法和技术1 2 】。它可以大大加快数据处理和分析的速度:它可以在人与数据、 人与人之间实现图像通信,从而可使人们观察到传统的科学计算中发生了什么现象, 成为发现和理解科学计算过程中各种现象的有力工具。 科学计算可视化的应用领域十分广泛,几乎涉及自然科学和工程技术的一切领 域,包括医学、地质勘探、气象学、有限元分析和计算机流体动力学等。 ( 1 ) 医学方面,由于计算机断层扫描( c t ) 、核磁共振图像( m r ) 和正电子放射断层 扫描( p e t ) 技术的发展,可视化技术已经广泛地应用于疾病诊断。在此之前,医疗仪 器只能提供人体内部的二维图像,医生只能通过多幅二维图像去估计病灶的大小和形 状。而科学计算可视化技术可以由一系列二维图像重构三维形体,并通过计算机显示 出来。这就使医生能够很容易地掌握体内病灶的整体信息,从而有助于治疗。 ( 2 ) 地质勘探方面,由于地震数据及测井数据的数据量及其庞大,因而根本无法 用常规的地质图件做出全面分析。利用可视化技术可以从大量的地震勘探数据中构造 出感兴趣的等值面、等值线等信息,显示出地质结构的范围和走向,从而帮助专业人 员对原始的地震数据做出正确的解释。 科学计算可视化的研究内容可以分为三个层次【2 】: ( 1 ) 科学计算结果数据的后处理 ( 2 ) 科学计算结果数据的实时处理 ( 3 ) 科学计算结果数据的实时绘制及交互处理 1 2 2 三维数据场可视化 三维数据场的可视化是科学计算可视化技术的核心。三维数据场可视化主要有两 类基本算法【2 】:面可视化算法和直接体绘锘1 ( d i r e c tv o l u m er e n d e r i n g ) 算法。面可视化 算法先构造中间几何图元,然后利用经典计算机图形学技术实现绘制。它的最大优点 是可以利用图形硬件实现绘制,使图像变换和绘制的速度加快。直接体绘制算法则不 需要构造中间几何图元,它利用体素的不透明度属性,将数据场直接投影到成像平面 上实现绘制。它的优点是生成的图像质量高,细节明显,但是它的计算量很大,绘制 速度慢,并且难以利用图形硬件加速。 1 2 3 可视化技术的研究现状 自1 9 8 7 年美国n s f 召开科学计算可视化的首次会议以后,美国、西欧和日本的 2 硕士论文 三维地震数据场可视化并行算法研究 各著名研究所、大学和公司纷纷进行科学计算可视化理论和方法的研究,并在重要的 国际图形学会议上发表文章。可视化技术作为一门新兴的学科,经过短短的十年的发 展,取得了显著的效益,成为2 0 世纪9 0 年代计算机科学中的研究热点之一f 3 】。 硬件环境上,一方面,计算环境得到了飞速的发展,科学家对计算能力的追求一 直是推动可视化技术发展的原动力。8 0 年代后期,分布式存储的大规模并行计算机 的出现使计算机的计算能力突飞猛进:之后,发展迅速的工作站和p c 机也开始走向 多处理器和并行处理的发展道路。这使得对于巨大数据的处理变得有效,从而推动了 可视化技术的发展。另一方面,随着虚拟现实技术的发展,相关的显示设备也得到很 大的发展和成熟。 软件环境上,多种可视化的算法被提出,尤其是在三维数据场的可视化方面【2 】。 ( 1 ) 直接体绘制算法 三维空间规则数据场的体绘制算法包括光线投射、足迹表和错切变形等著名的空 域体绘制算法,同时,频域体绘制技术和三维纹理映射体绘制技术也得到了较大的发 展。 ( 2 ) 面绘制算法 三维空间规则数据场的面绘制通常需要构造出三维空间中的等值面。m a r c h i n g c u b e s 和m a r c h i n gt e t r a h e d r a 等算法是构造三维空间中等值面的有效的方法。 ( 3 ) - - 维空间不规则数据场的可视化 三维空间不规则数据场的可视化基本是采用规则数据场的可视化方法。它一般通 过将三维空间不规则数据场转换为规则数据场,或者通过对不规则数据场进行划分等 方法来实现可视化。目前,研究和开发高效的三维空间不规则数据场的可视化算法仍 然是个有待进一步解决的问题。 ( 4 ) 三维矢量场的可视化 三维矢量场描述了科学中许多非常重要的物理现象。其中,流场是应用得最为广 泛的矢量场之一。三维矢量场的可视化方法有:基于几何形状的矢量场映射方法、基 于颜色和光学特性的矢量场映射方法等。 单独就三维地震数据场来说,自2 0 世纪9 0 年代以来,国外就开始了三维地震数 据可视化技术的研究 4 1 ,并在实践中取得了明显的效果,并出现了一些成熟的可视化 软件。然而,国内在这一方面的发展相对落后,而且适用于医学数据方面的可视化方 法经常无法适用于地震数据,因此有必要在这一方面进行研究。 1 绪论硕士论文 1 3 并行计算知识介绍 1 3 1 当前的环境 并行计算( p a r a l l e lc o m p u t i n g ) 指的是利用并行计算机来减少解决一个计算问题所 需时间的方法。它被气候模型、飞机设计、可视化等多个领域的科学工作者和工程师 看做一种进行计算的标准途径【5 】。 目前,半导体制造商( i n t e l 、i b m 、s u n 和a m d 等公司) 都在致力于在单个芯片 上集成更多的执行核来提高处理器的性能,而不是单纯地努力提高处理器的主频。可 以预见,未来的计算平台上采用多核结构将会成为主流。这就对软件开发人员提出了 要求,也提供了新的机遇。仅仅利用硬件的计算速度或者人类感知能力弱点的方式来 模拟多任务环境显然是不能满足要求的,多核体系结构使软件的设计思路从单纯的串 行设计转变到串、并行结合的设计思路上来【l3 1 。这是多核体系结构提供的一种并行计 算平台。 另外,通过互联网络和多台计算机,我们可以构造出计算机集群( c l u s t e r ) 体系结 构1 6 1 7 1 。这是实现并行计算的另外一种方式,也是比较传统的方式,而且它的价格比 具有同等能力的单计算机的价格便宜很多,因此得到了广泛、成功的应用。 1 3 2 多主机和多处理器 一台并行计算机( p a r a l l e lc o m p u t e r ) 包含多个处理器,用以支持并行计算。并行计算 机的两种重要的体系机构是多主机和多处理器【6 】【刁。 多主机( m u l t i c o m p u t e r ) 由多台计算机和互联网络组成,也就是通常意义上的集 群。不同的计算机上的处理器之间通过消息互相通信。多主机结构又分为对称 ( s y m m e t r i c a lm u l t i c o m p u t e r s ) 和非对称( a s y m m e t r i c a lm u l t i c o m p u t e r s ) 两种,取决于各 台计算机在集群中的角色地位。c o m m o d i t y 集群是一种比较便宜的集群系统,它利用 多台电脑、交换机和其他一些设备来构建集群网络。可以采用对称多主机( s y m m e t r i c a l m u l t i c o m p u t e r s ) 结构来构建一个c o m m o d i t y 集群,其中每台计算机上都装有支持多任 务的操作系统。集群可用的交换网络有f a s te t h e m e t 和g i g a b i te t h e m e t 等,速度分别 是1 0 0 m b s 和1 0 0 0 m b s 。 多处理器( m u l t i p r o c e s s o r ) 又可被称为对称多处理器( s y m m e t r i c a lm u l t i p r o c e s s o ro r s m p ) ,也就是多核。它将多个c p u 处理核集成在一块基片上。根据存储器的位置不 同,多处理器又可以分为集中式( c e n t r a l i z e d ) 多处理器和分布式( d i s t r i b u t e d ) 多处理器。 在p c 市场上,a m d 、i n t e l 等公司都已推出了多种多核处理器。 多处理器和多主机的主要区别在于是否共享内存( s h a r em e m o 叻。多处理器是一 种共享内存的结构,所有处理器拥有单一的全局地址空间。而多主机中的每台计算机 4 硕士论文 三维地震数据场可视化并行算法研究 都有各自的局部地址空间,由于没有共享的地址空间,各台主机的处理器之问通过消 息实现通信。图1 3 2 1 分别展示了这两种体系结构。 叫叫叫叫 c a c h e c a c h e 】( c a c k 】 c a c h e iiii i 总线 l 存储器朐设备 ( a ) 处理器处理器 存储器 、k 存储器 ( 络 处理器 夕人 处理器 存储器存储器 ( b ) 图1 3 ,2 1 两种计算机体系结构示意图 ( a ) 一种共享内存的多处理器结构( 4 个核) ( b ) 一种分布式内存的多主机结构( 4 个节点) 现代的计算机集群一般兼有以上两种体系结构。本文研究中使用的集群就是这样 的,它拥有多个计算机主机节点,每个节点的处理器又是多核结构。 1 3 3f l y n n 计算机体系结构分类法 要实现软件的并行执行这个目标,就必须为并行提供一个硬件平台,不同的计算 5 l 绪论硕士论文 机硬件都具有某种计算机体系结构。 早在1 9 7 2 年,m j f l y n n 就创立了计算机体系结构分类方法,即f l y n n 分类法嗍【9 1 。 至叵 ! 三 s i s ds i m d m i s dm i m d 图1 3 3 1f l y n n 分类法 该分类法主要考虑硬件对指令流( i n s t r u c t i o ns t r e a m ) 和数据流( d a t as t r e a m ) 的支持 情况。计算机的硬件可以支持单一指令流或者多重指令流,可以操纵单一数据流或者 多重数据流。因此,f l y n n 分类法将计算机结构分为四类,如图1 3 3 1 。 ( 1 ) s i s d 单指令流单数据流 这是一种传统的串行计算机结构,其硬件不支持任何形式的并行。早期的i b mp c 和8 位的家用机都属于这种结构。 ( 2 ) s i m d 单指令流多数据流 采用一个指令流同时处理多个数据流。最初的阵列处理机或者向量处理机等都具 备进行s i m d 处理的能力。而如今,几乎所有的计算机都以多种多样的指令集实现了 s i m d 功能。 ( 3 ) m i s d 多指令流单数据流 采用多个指令流来对一个数据流进行处理。然而,m i s d 并行计算机一般只是作 为理论模型出现,没有被投入到实际应用中。 ( 4 ) m i m d 多指令流多数据流 这种计算机能够同时执行多个指令流,这些指令流分别对不同的数据流进行操 作。最新的多核计算机都是m i m d 体系结构,m i m d 是眼下最为流行的并行计算平 厶 口o 1 3 2 节中提到的兼有多处理器和多主机的集群显然符合m i m d 的特点。 6 曰曰 硕士论文 三维地震数据场可视化并行算法研究 1 3 4 并行计算在可视化中的应用 来自超级计算、地质勘探、气象以及医学等领域的信息量都以几何级数的速度增 长。仅仅依靠单一的计算机是无法实现对庞大数据的实时处理的。因此,研究并行环 境中的可视化技术具有十分重要的意义【i o 】。 并行体绘制技术是并行可视化技术的重要研究方面之一。三维数据场的并行体绘 制的一个重要基础是在体绘制时投射光线的独立性。n u e m a n n ! 】认为将并行体绘制算 法的并行化方法和处理机上的绘制方法分开考虑,就能建立起一个并行体绘制算法的 抽象模型。并行体绘制算法的实质是解决如何将数据和计算在一个多处理机的系统上 进行资源分配的问题。 随着地质勘探技术和计算机处理技术的发展,在实际应用过程中,三维地震数据 场的数据量会达到t b 数量级。因此单纯靠处理器的速度来提高三维地震数据场体绘 制的速度是不合适的,并行技术的应用就显得很有意义。 1 4 本文的工作及内容安排 三维地震数据场的数据量通常十分庞大,仅仅依靠计算机的硬件性能来对三维地 震数据场进行体绘制是无法达到工作要求的,因此需要一些加速手段,利用并行计算 机来实现体绘制的并行算法是一个可行的选择。 , 本文主要是针对三维地震数据场的并行体绘制算法进行分析,并通过实际程序的 开发进行实验测试。论文的主要工作及其组织结构如下。 本章为绪论部分,首先简单介绍了三维地震可视化技术的背景资料。接着介绍了 三维数据场可视化的基本知识和发展现状。然后,对并行计算的知识进行了简要的介 绍。最后介绍了本文的主要工作和组织结构情况。 第二章首先介绍了论文的研究对象三维地震数据场的物理意义和组织结构:接 着,介绍三维数据场直接体绘制的主要算法。然后,以光线投射体绘制算法为例进行 研究,并结合实际环境进行了算法描述,并对光线投射中的细节部分进行了分析和研 究。然后,在一定的软件平台下实现了光线投射算法。最后,对实验结果进行了简单 的分析。 第三章主要针对三维地震数据并行可视化的原理进行阐述。首先介绍了并行体绘 制的原理、方法和并行程序的性能衡量标准。然后,简单分析了光线投射算法的并行 化方法。最后,专门介绍了用于设计并行算法的f o s t e r 方法学。 第四章首先利用f o s t e r 设计方法学,设计了光线投射并行算法的流程。然后,按 照算法设计,在一定的软件支持下,实现了光线投射并行体绘制,并对实验结果进行 了简单的展示和分析。最后,对之前设计的算法进行了改进,实现了改进后的算法, 7 l 绪论 硕士论文 并对实验的结果进了较为详细的思考与分析。这一章是论文的重点部分。 第五章为全文的总结,总结了不足之处,并讨论了本文进一步的研究方向。 8 硕十论文 三维地震数据场可视化并行算法研究 2 三维地震数据可视化基本原理及几种主要方法 2 1 三维地震数据 2 1 1 三维地震数据场的物理意义 三维地震已经成为目前油气勘探的主要方法,从地震波信号中人们可以识别地下 岩层的地质结构,从而预测油气田的位置【1 2 1 。地下的岩石是成层分布的,层与层之间 因岩石的物理性质不同而存在波阻抗差,当地震波传播到这些岩层分界面时会发生波 的反射和透射。在地震勘探中,人们在地表用炸药爆炸等方式激发人工地震波,当地 震波向地下传播遇到波阻抗界面时,一部分能量产生反射,一部分能量产生透射,其 中反射波向上传播被安放在地表的接收器接收,透射波则继续向下传播,当遇到另一 个波阻抗界面时,又产生反射和透射,随着地震波的向下传播,人们就能接收到来自 地下各个岩层的反射信号。其中在某一个与地面垂直的二维方向上,就组成地震剖面, 地震勘探的原理如图2 1 1 1 所示。 图2 1 1 1 地震勘探原理示意图 某个接收器所接收到的所有反射子波叠加起来组成一道信号,称为一个地震道, 经过偏移归位处理后,就是该点垂直向下的各个岩层面反射回来的地震子波按反射时 间由先到后,也就是反射面由浅到深的先后顺序迭加起来的结果。来自同一层面的反 射子波在相邻地震道之间由于波形相似,反射时间也比较接近,波峰( 最大振幅所在 位置) 比较靠近,在地震剖面上能够相互叠套成串,一连串的波峰组成一条线,称为 同相轴,同相意指同相位,一条线上的波峰处在同一个波动相位上,岩层面对应于子 9 2 三维地震数据可视化基本原理及几种主要方法硕士论文 波波峰的位置。同一层面上的这些振动相位相同的点连成的面称为同相面,同相面就 是地下的反射面。 在三维地震数据采集的过程中,地表被布置有很多纵横交错的测线,分为主测线 和联络测线。在测线上每隔一段距离放置一个接收器来接收层面反射的地震波,接收 器按照一定的时间间隔来采样地震波的振幅。这样在同一个接收器上就会采集到多个 振幅数据,不同的接收采样时间表示着不同的地下深度。采集到的所有地震波振幅信 号构成了一个三维地震数据场。 三维地震数据场通常是规则数据场,我们将这个数据场放到笛卡尔坐标系中,x 轴表示主测线,y 轴表示测线上的测点,z 轴是测点处采样的时间轴,它也表示出每 个采样点的深度信息。三维地震数据场的结构示意如图2 1 1 2 。图中,测线之间的交 叉点即表示三维数据场的数据点。 x 轴 图2 1 1 2 三维地震数据场结构示意图 2 1 2 三维地震数据文件 本文使用的三维地震数据被存放在后缀名为d a t 的文件中。经过预处理的地震数 据通常都占有一个字节的大小,它们被按照一定的顺序存储在文件中。设三维地震数 据场的测线数、测点数和采样点数分别为l n ,p n 和s n ,那么测线的序号为0 - ( l n 1 ) , 测点的序号为0 - ( p n 1 ) ,采样点的序号为0 - ( s n 1 ) 。文件中,地震数据被按照不同测线 号分成l n 段,每一段存储p n 个测点,每个测点又存储着s n 个采样点的值。图2 1 2 1 解释了三维地震数据场在文件中的存储结构。 1 0 硕上论文三维地震数据场可视化并行算法研究 守一:-:二:一 图2 1 2 1 三维地震数据在文件中的存储结构 2 2 三维数据场的直接体绘制 2 2 1 直接体绘制概述 直接体绘制是三维数据场可视化的主要方法之一,它的基本过程如图2 2 1 1 所 示【2 】o 连续的三维数据场 土 采村 离散的三维数据场 直接倒 1r i 帧缓存中的 l 二维离散信号 i 硬件 , i 屏幕二维图像 图2 2 。1 1 体绘制的基本过程 三维数据场通常是连续的,而实际采集到的三维数据场则是离散的,并且屏幕上 的二维图像也是由离散的像素点组成。因此体绘制的实质就是按照某种规则将离散的 三维空间数据投影成离散的二维数据,并赋上颜色和不透明度值,得到屏幕上的一个 个像素点。 在体绘制的过程中,对数据场的重采样是很关键的,因为体绘制如果不是建立在 重采样的基础上,得到的图像会比较模糊,甚至出现有的像素点没有受到体素的投影 而成为背景色。重采样要先重构出连续的三维数据场,这其实是个信号重构的过程, 需要用到三维卷积运算,十分耗费时间,因而在具体的算法中,通常是以离散的方法 2 三维地震数据可视化基本原理及几种主要方法硕士论文 来实现重采样。比如1 9 8 8 年m ,l e v o y l l 3 1 提出的光线投射算法( r a yc a s t i n g ) 就十分巧 妙地在体绘制的过程中进行了重采样,本文中也采用光线投射算法计算三维数据场的 投影图像。 三维数据场的分类也是体绘制过程中重要的一步。只有合理的分类,最终形成的 图像才能正确地表达出信息。对三维数据场的分类方法有阈值法、概率法【2 】等。可视 化的结果是二维彩色图像或者灰度图像,所以需要对数据场中的体素根据分类的结果 赋上不同的颜色( r g b ) 和不透明度值( 口) ,以便投影得到需要的图像。本文不讨论如 何进行数据值的分类,对于地震数据,本文采用比较通用的方法来分类和赋值。 2 2 2 体绘制中的光学模型 体绘制中的光学模型描述了三维数据场与光线之间的关系,包括对光线的遮挡、 反射和散射等,并根据这个关系来计算三维数据体中的数据对成像平面像素的贡献。 n e l s o nm a x 在“直接体绘制中的光学模型”一文中假设了三维数据场中充满着 粒子,这些粒子吸收、发射光线,使得光线通过三维数据场时发生了变化,在此基础 上形成了几种不同的光学模型【2 】【1 4 1 。光线吸收和发射模型综合起来可以表述成以下的 形式: 1 = o ( 1 一口) + c a( 2 2 2 1 ) 其中,口为体素的不透明度,或者被称为阻光度。1 2 = 0 表示该体素完全透明, 与背景无差异,对观察点光强变化的贡献为o ;口= l 表示该体素完全阻挡光线,可 见,但是被它遮挡的体素则不会在成像平面上留下任何痕迹。该式子表示背景光厶与 所赋颜色值为c 的体素在不透明度口作用下的合成值。 光线吸收和发射模型的应用使三维数据场能够展示所有的信息。不透明度的存在 使得成像平面上绘制出来的图像有层次感和相互遮挡的效果,因而显得更加真实。 2 2 3 体绘制算法介绍 直接体绘制的实质就是将三维数据从物体空间投影到二维成像平面上。根据绘制 次序的不同,直接体绘制的算法可以分为以图像空间为序的体绘制算法和以物体空间 为序的体绘制算法f 2 j 【1 5 1 。 以图像空间为序的体绘制算法就是从成像平面上的每一个像素点出发,沿着视线 方向发射一条射线,该射线穿过三维数据场空间。在射线上,按照一定的间隔进行采 样,得到采样点的颜色值和不透明度值。最后,按照从前到后,或者从后到前的方法 对这些采样点的颜色和不透明度值进行合成,从而得到该像素点的最终颜色值。 以物体空间为序的体绘制算法首先根据成像平面的位置和视线方向将数据点投 1 2 硕士论文三维地震数据场可视化并行算法研究 影到二维的成像平面上去,并计算出该数据点的颜色和不透明度值。然后,根据定 的模型和公式计算数据点对成像平面上像素的贡献。由于数据点在三维空间中存在着 互相遮挡关系,距离视点近的点会遮挡距视点远的点,这就要确定数据点的可见性优 先级。不同的数据点之间存在不同的可见性优先级,可见性优先级高的数据点会在一 定程度上覆盖优先级低的数据点。最后,按照数据点的可见性优先级,将不同数据点 对同一像素点的贡献进行合成,得到该像素点最终的颜色值。 以图像空间为序的算法主要有光线投射算法等。以物体空间为序的体绘制算法主 要有足迹表法、错切一变形体绘制算法和体元投射法等。 ( 1 ) 光线投射算法 光线投射( r a yc a s t i n g ) 算法是一种以图像空间为序的体绘制算法,由m l e v o y 提出【i 引。光线投射算法从成像平面的每个像素向三维数据场投射光线,进行重采样和 图像合成。它的重采样和图像合成都是采用离散方法来实现的。光线投射算法也是本 文采用的三维数据场体绘制算法。 ( 2 ) 足迹表法 l w e s t o v e r 提出的足迹表法( f o o t p r i n tm e t h o d ) 1 6 】1 2 j 的基本思想是逐层、逐行、逐 个地计算每一个数据点对成像平面像素的贡献,并加以合成,形成最后的图像。最初, 传统的重构三维数据场体绘制首先需要选择适当的三维重构核函数,将离散的三维数 据场重构成连续的三维数据场,从而得到某个像素点的最终光照强度。然而,这种计 算方法的计算量相当大,足迹表法因此被提出来解决这一问题。足迹表法不需要计算 三重积分,它首先通过卷积运算得到足迹函数,并因此构造出通用足迹表;然后根据 一定的投影方向构造出特定视线下的足迹表,并根据足迹表获得采样点对成像平面上 像素的贡献值;最后,通过图像合成得到结果图像。 ( 3 ) 错切一变形体绘制算法 以上介绍的光线投射算法和足迹表法都存在计算量大、计算时间长的问题,其主 要的计算量都用在了三维离散数据场的重采样上。并且,一旦观察角度发生变化,数 据场采样点之间的前后关系也会产生变化,因此需要重新进行重采样。1 9 9 4 年p l a c r o u t e 提出的错切变形( s h e a r - w a r p ) 体绘制算法【1 7 】1 2 】将三维离散数据场的投影变换 分成三维数据场的错切变换和二维图像的变形这两个步骤来实现,从而将对三维数据 场的重采样转变为对二维平面的重采样,大大地减少了计算量。它实际上是以图像空 间和物体空间为序相结合的体绘制算法。 ( 4 ) 体元投射法 由j w i l h e l m s 等人提出的体元投射法【1 8 】【2 】利用三维数据场各个采样点之间的空 间相关性来提高绘制速度。该方法将三维数据场中的体元投影到成像平面上,计算该 体元对成像平面像素的贡献,并按体元的遮挡关系进行合成。 2 三维地震数据可视化基本原理及几种主要方法硕十论文 以图像空间为序和以物体空间为序的算法都属于空域体绘制算法。空域体绘制算 法比较直观,能够显示三维数据场的整体信息,但它们却有着计算量大,绘制时间长 的缺点。因此理论上的频域体绘制算法由t o mm a l z b e n d e r 等人于1 9 9 3 年提出【2 j 【1 9 l 。 经过多年的发展,频域体绘制技术在减少计算量和减少存储空间这两个重要问题方面 得到了一定的发展。 另外,利用图形显示硬件对三维数据场进行直接体绘制的技术也有着一定的发 展,包括传统的由三维纹理映射硬件支持的直接体绘制算法【2 】和使用g p u 编程的直 接体绘制技术 2 0 l 。 2 2 4 体绘制的加速方法 体绘制技术能够较好地表现三维数据场的整体信息,产生的图像具有较高的可靠 性。然而,在现有的计算机技术条件下,对于大数据量三维数据场的绘制在时问性能 方面还很不理想。另外,体绘制技术与传统的计算机图形学技术不同,它对图形硬件 的利用比较有限。因此,多种软件上的优化方法被提出来加速体绘制的速度f l5 1 ,主要 有以下几种。 ( 1 ) 降低图像的分辨率,以降低图像的质量来换取速度。 ( 2 ) 提前终止采样计算,去除掉对结果图像颜色值贡献很小的体素。 ( 3 ) 利用三维空间数据场数据点的相关性来剔除无关体元,减少计算。 ( 4 ) 利用并行与分布式计算技术,将大的体绘制任务分布到计算机集群等并行计 算机网络的多个处理机上,从而提高体绘制算法的速度。 2 3 光线投射体绘制算法 2 3 1 光线投射算法原理概述 m l e v o y 提出的光线投射( r a yc a s t i n g ) 算法是一种以图像空间为序的体绘制算 法。该算法假设三维空间数据均匀地分布在规则网格的网格点上,记为f ( x , y , z ) ,其 中,x , y ,z 是数据在三维空间的坐标。光线投射算法有着如图2 3 1 1 所示的流程图【2 】。 1 4 硕士论文三维地震数据场可视化并行算法研究 图2 3 1 1 光线投射算法的一股流程图 光线投射算法的主要步骤如下: ( 1 ) 数据预处理和数据分类。数据预处理主要是将原始的数据进行格式转换,去 除冗余数据等操作。数据分类是指按照不同的数据值对三维数据场中的值进行分类, 并给每类数据赋上不同的颜色值( r g b ) 和不透明度值( 口) ,使不同物质或物质属性得 到正确的表示。什么样的物质对应什么样的颜色值应该根据人们的习惯来决定,而且 要使得最终形成的图像看起来自然。颜色值和不透明度值的正确设定基于数据的正确 分类与理解,它与一定的专业应用有关。比如,地震数据场的数据表示地震波的振幅, 不同的振幅段会被赋予不同的颜色值;在赋不透明度值时,强振幅段的不透明度值往 往会被设置的比较大,而弱的振幅段的不透明度值往往会被设置为0 ,以得到专业解 释人员所需的可视化图像。 ( 2 ) 光线投射和数据重采样。这是光线投射算法的核心步骤。光线投射算法中的 图像就是我们的观察平面,从平面上的某个像素点出发,沿着视线的方向发射一条射 线,射线穿过三维数据体,如图2 3 1 2 。 2 三维地震数据可视化基本原理及几种主要方法硕上论文 三维数据场 图2 3 1 2 从观察平面上的像素点沿视线方向发射一条射线 由于观察的角度会有变化,三维数据场数据点之间的间隔在成像平面上的投影间 隔大小是不一样的。如果直接将三维数据场的数据点投影到成像平面的像素点上,会 出现有的像素点没有被投影到的情况,从而使最终的图像出现一些大小不一的黑点。 因此,重采样的步骤必不可少。光线投射算法巧妙地采用离散的方法来进行重采样操 作。 从射线与三维数据体的第一个交点开始,每隔一定的步长设定一个采样点,这些 新的采样点通常不在网格结点上,因此需要通过对该采样点周围的八个数据点的颜色 和不透明度值进行三线性差值,才能得到该采样点的颜色和不透明度值,如图2 3 1 3 。 一一一一。一 射线( 视线方向) 采样点p 图2 3 1 3 重采样和三线性差值示意图 图中,p 为重采样点,p 所在的体元的8 个顶点为v l v 8 ,p 点在前后两个面上的 投影为c 1 、c 2 ,经过c 1 、c 2 的垂线与体元边线的交点为p l 、p 2 、p 3 和p 4 。根据图 中设定的坐标系,设x 、y 、z 为p 点相对于v 1 的坐标与体元边长的比值,因此,x 、 1 6 硕士论文三维地震数据场可视化并行算法研究 y 、z 都是0 到1 之间的数。设d 为颜色值或不透明度值,得到p 点值的三线性差值 公式如下: d ( p 1 ) = 吠1 1 , 1 ) + xx a ( v 2 ) - a ( v o 】 d ( p 2 ) = a ( v 4 ) + xx 瞅功) 一a ( v 4 ) 】 d ( p s ) = d ( v o + xx d ( v 6 ) - d ( v s ) 】 d ( p 4 ) = a ( v s ) + x x 【a ( v t ) - d ( v g ) 】( 2 3 】1 ) a ( c d = d ( p t ) + y 【妣) 一d ( p 1 ) 】 a ( c 2 ) = d ( p 3 ) + yx d ( p 4 ) - d ( p 3 ) 】 改p ) = d ( c o + z x 【威c 2 ) - d ( c 1 ) 】 ( 3 ) 图像合成。每条射线上会有多个采样点,要想得到最终在成像平面上显示的 像素点的颜色和不透明度值,就需要对同一条射线上的采样点的颜色和不透明度值进 行合成操作,得到该像素点的颜色值。将所有像素点的颜色值合并到一起,即得到最 终的体绘制图像。按照采样顺序的不同,图像合成的算法有从后向前1 2 1 】( 2 2 1 和从前向 后【2 3 】【2 4 1 两种。图2 3 1 4 ( a ) ( b ) 分别为这两种算法的示意图。 c c n c 咖c n 卿c | n c:!i-_。1:)-。:i。-f:l。-_。俨 视点 1 二卜 视点 ( 曲 ab ( b ) 图2 3 1 4 图像合成算法示意图 ( a ) 由后向前的图像合成公式 图2 3 ,1 4 ( a ) 为由后向前的图像合成算法示意图,根据光线吸收和发射公式 ( 2 2 2 1 ) ,对于某个体元i ,可以得到如下公式: c 训= c m ( 1 一口) + c 一口黼 ( 2 3 1 2 ) 1 7 2 三维地震数据可视化基本原理及几种主要方法硕士论文 其中,e 。、口一为体元i 的颜色值和不透明度值,g 为进入到体元i 的颜色值, c 舢,为光线经过体元i 后的颜色值。该式的物理含义为:体元i 既发射光线又吸收光 线,它本身具有颜色值c 一,但是只有不透明的部分才能在最终图像上留下痕迹,这 一部分是g 。口。;另外,进入到体元i 的光强( 进入到体元的颜色值) ,能够穿过体元 i 的为g ( 1 一口一) 。 当射线上有1 1 个体元时,总的由后向前的图像合成公式为: ( 2 3 1 3 ) 公式中,屈为体元i 的透明度值,即屈= 1 一口,。 ( b ) 由前向后的图像合成公式 这种合成算法沿射线从前往后将各采样点的颜色和不透明度值合成到一起,从而 得到最终图像。图2 3 1 4 ( b ) 为由前向后的图像合成算法示意图。实际光线仍然是从 右边射入,现在需要逆着光线的传播方向考虑合成过程。 设a 点以左的所有体元发出的光线的累加效应颜色为巴,累计不透明度为口抽, 则成像平面上得到的这段路径上所有体元的累计光强为c 加口加。第i 个体元发出的可 见光能为c 一口。,它要经过从a 点到观察点这段路径后才能到达观察点,而这段路 径的透明度为( 1 一口加

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论