CN103308942B - 一种可视化地震数据的方法及系统 - Google Patents
一种可视化地震数据的方法及系统 Download PDFInfo
- Publication number
- CN103308942B CN103308942B CN201210064160.3A CN201210064160A CN103308942B CN 103308942 B CN103308942 B CN 103308942B CN 201210064160 A CN201210064160 A CN 201210064160A CN 103308942 B CN103308942 B CN 103308942B
- Authority
- CN
- China
- Prior art keywords
- sub
- block
- resolution
- visible
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000000007 visual effect Effects 0.000 claims description 53
- 238000000354 decomposition reaction Methods 0.000 claims description 37
- 239000013598 vector Substances 0.000 claims description 35
- 230000005540 biological transmission Effects 0.000 claims description 27
- 230000006870 function Effects 0.000 claims description 25
- 238000001914 filtration Methods 0.000 claims description 23
- 238000009877 rendering Methods 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 13
- 230000003247 decreasing effect Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 11
- 230000007704 transition Effects 0.000 claims description 11
- 238000012952 Resampling Methods 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 claims description 7
- 238000012937 correction Methods 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 5
- 230000001143 conditioned effect Effects 0.000 claims description 5
- 230000007423 decrease Effects 0.000 claims description 4
- 238000012800 visualization Methods 0.000 abstract description 8
- 238000004364 calculation method Methods 0.000 abstract description 2
- 230000003044 adaptive effect Effects 0.000 description 5
- 238000005070 sampling Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 239000004215 Carbon black (E152) Substances 0.000 description 1
- 241000287181 Sturnus vulgaris Species 0.000 description 1
- 238000010521 absorption reaction Methods 0.000 description 1
- 230000035508 accumulation Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 229930195733 hydrocarbon Natural products 0.000 description 1
- 150000002430 hydrocarbons Chemical class 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Image Generation (AREA)
- Image Processing (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种可视化地震数据的方法及系统,属于计算机领域。本发明通过使用CPU中将地震数据转换得到体数据,并对体数据进行分块,过滤得到可见子块,在将可见子块传交由GPU进行图像绘制,可以大大的减少了GPU的计算量,使得在普通计算机上也可通过常见的GPU进行地震数据的三维可视化,使用方便,并且节约成本。
Description
技术领域
本发明涉及计算机领域,特别涉及一种可视化地震数据的方法及系统。
背景技术
在地球物理领域,地震勘探是地球物理勘探中重要的方法之一。它是用人工的方法激发地震波,并用地震勘探仪器把大地的震动记录在磁带上,然后用计算机对野外获得的数据进行处理,得到有关地下构造和岩性的信息及油气信息。其中,对获得的地震数据进行三维图形显示是三维数据三维可视化解释中不可缺少的一部分,这样不仅能清晰的表达和显示各类结构面的特征以及它们的空间分布规律,直观地看到地质构造、相互关系和分布,从而有利于发现问题、分析问题,为下一步的地质解释奠定基础。
由于勘测得到的地震数据量巨大,在进行三维可视化时所产生的计算量庞大,以往的三维地震可视化都只能通过配置强大的超级计算机或专业图形工作站去完成。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
超级计算机或专业图形工作站造价都比较昂贵,使用起来也不方便。
发明内容
为了解决现有技术中存在的问题,本发明实施例提供了一种可视化地震数据的方法及系统。所述技术方案如下:
一种可视化地震数据的方法,所述方法包括:
通过CPU(CentralProcessingUnit,中央处理器)将三维地震数据进行转换得到体数据,并将所述体数据分解为子块;
所述CPU将所述子块进行滤波得到可见子块;
GPU(GraphicProcessingUnit,图形处理器)将所述可见子块进行二次分解后得到所述三维地震数据的多分辨率模型,其中,所述多分辨率模型中包括离散逼近信号和离散细节信号;
传输第J级分辨率下的所述离散逼近信号,再由第J级分辨率开始按照分辨率级别递减的次序逐级传输所述离散细节信号,其中,J为整数;
根据视线方向矢量,按照所述离散逼近信号和离散细节信号到达的次序进行三维绘制;
所述GPU将所述可见子块进行二次分解后得到所述三维地震数据的多分辨率模型,包括:
对每个所述可见子块进行三维小波分解以分辨率级别递减的顺序创建所述可见子块对应的层次;
修改相邻的两个所述可见子块边界处的数据值,以保持每个分辨率级别对应的层次过渡的连续性;
通过以不同级别的分辨率对同一所述可见子块进行重新采样对所述可见子块进行不透明性校正;
对所述可见子块的多分辨率对应的层次进行自适应选择;
计算得到所述三维地震数据的多分辨率模型。
进一步地,所述将三维地震数据进行转换得到体数据,包括:
将在多个采样点得到的三维地震数据转换为多个体素,并将所述多个体素组合得到所述体数据;
其中,每个体素中至少包括所述每个体素对应的采样点得到的三维地震数据、RGB色彩值和透明度信息。
进一步地,将所述体数据分解为子块,包括:
采用八叉树的结构对所述体数据进行2×2×2的分解,得到8个子块,并且当满足第一预设条件时,持续对分解得到的所述8个子块中的子块进行分解得到更小的子块;
其中,所述第一预设条件包括:
所述子块中的体素的一致性小于用户定义的临界值、所述子块的大小大于与所述GPU对应的显存的大小、所述子块的大小大于所述用户定义的最小子块的大小。
进一步地,所述将所述子块进行滤波得到可见子块,包括:
创建体素计数表;
根据透明传输函数计算得到所有子块中的可见的体素的比例;
通过所述所有子块中的可见的体素的比例判断得到所述可见子块;
其中,所述体素计数表用于统计经过所述透明传输函数分类后的可见的体素的数量,所述透明传输函数根据所述视线方向矢量得到。
进一步地,所述GPU将所述可见子块进行二次分解后得到所述三维地震数据的多分辨率模型之前,所述方法还包括:
将所述可见子块传输到所述GPU对应的显存中。
进一步地,所述修改相邻的两个所述可见子块边界处的数据值,以保持层次过渡的连续性,包括:
在相邻的两个所述可见子块边界处,将当前层次的数据值拷贝到上一高级别层次,或将当前层次的数据值进行插值后,替换上一高级别层次边界处的数据值。
进一步地,所述多分辨率模型具体为:
其中,f(x,y,z)为所述体数据,整数J是小波多分辨率分析的级数,是所述体数据在第J级分辨率下的离散逼近信号,是所述体数据在第J级分辨率下的离散细节信号,φm,i,j,k(x,y,z)是所述离散逼近信号的三维小波正交基,是所述离散细节信号的三维小波正交基,Z表示整数。
进一步地,所述根据视线方向矢量,按照所述离散逼近信号和离散细节信号到达的次序进行三维绘制,包括:
在正交于所述视线方向矢量的像平面上,用所述第J分辨率下的离散逼近信号绘制出预设分辨率的三维图像;
再由第J分辨率开始按照分辨率递减的次序使用离散细节信号依次细化所述三维图像。
进一步地,当所述视线方向矢量改变之后,所述方法还包括:
根据所述改变后的视线方向矢量,按照所述离散逼近信号和离散细节信号到达的次序进行三维绘制。
一种可视化地震数据的系统,所述系统包括:中央处理器和GPU;
其中,所述中央处理器包括:
转换模块,用于将三维地震数据进行转换得到体数据;
分解模块,用于将所述体数据分解为子块;
过滤模块,用于将所述子块进行滤波得到可见子块;
所述GPU,包括:
模型计算模块,用于将所述可见子块进行二次分解后得到所述三维地震数据的多分辨率模型,其中,所述多分辨率模型中包括离散逼近信号和离散细节信号;
传输模块,用于传输第J级分辨率下的所述离散逼近信号,再由第J级分辨率开始按照分辨率级别递减的次序逐级传输所述离散细节信号,其中,J为整数;
绘制模块,用于根据视线方向矢量,按照所述离散逼近信号和离散细节信号到达的次序进行三维绘制;
其中,所述模型计算模块,包括:
三维小波分解单元,用于对每个所述可见子块进行三维小波分解以分辨率级别递减的顺序创建所述可见子块对应的层次;
修改单元,用于修改相邻的两个所述可见子块边界处的数据值,以保持每个分辨率级别对应的层次过渡的连续性;
校正单元,用于通过以不同级别的分辨率对同一所述可见子块进行重新采样对可见子块进行不透明性校正;
选择单元,用于对所述可见子块的多分辨率对应的层次进行自适应选择;
模型计算单元,用于计算得到所述三维地震数据的多分辨率模型。
进一步地,所述转换模块,具体用于将在多个采样点得到的三维地震数据转换为多个体素,并将所述多个体素组合得到所述体数据;
其中,每个体素中至少包括所述每个体素对应的采样点得到的三维地震数据、RGB色彩值和透明度信息。
进一步地,所述分解模块,具体用于采用八叉树的结构对所述体数据进行2×2×2的分解,得到8个子块,并且当满足第一预设条件时,持续对分解得到的所述8个子块中的子块进行分解得到更小的子块;
其中,所述第一预设条件包括:
所述子块中的体素的一致性小于用户定义的临界值、所述子块的大小大于与所述GPU对应的显存的大小、所述子块的大小大于所述用户定义的最小子块的大小。
进一步地,所述过滤模块,包括:
创建单元,用于创建体素计数表;
比例计算单元,用于根据透明传输函数计算得到所有子块中的可见的体素的比例;
判断单元,用于通过所述所有子块中的可见的体素的比例判断得到所述可见子块;
其中,所述体素计数表用于统计经过所述透明传输函数分类后的可见的体素的数量,所述透明传输函数根据所述视线方向矢量得到。
进一步地,所述中央处理器,还包括:
存储模块,用于在所述模型计算模块将所述可见子块进行二次分解后得到所述三维地震数据的多分辨率模型之前,将所述可见子块传输到显存中。
进一步地,所述修改单元,具体用于在相邻的两个所述可见子块边界处,将当前层次的数据值拷贝到上一高级别层次,或将当前层次的数据值进行插值后,替换上一高级别层次边界处的数据值。
进一步地,所述多分辨率模型具体为:
其中,f(x,y,z)为所述体数据,整数J是小波多分辨率分析的级数,是所述体数据在第J级分辨率下的离散逼近信号,是所述体数据在第J级分辨率下的离散细节信号,φm,i,j,k(x,y,z)是所述离散逼近信号的三维小波正交基,是所述离散细节信号的三维小波正交基,Z表示整数。
进一步地,所述绘制模块,包括:
第一绘制单元,用于在正交于所述视线方向矢量的像平面上,用所述第J分辨率下的离散逼近信号绘制出预设分辨率的三维图像;
第二绘制单元,用于由第J分辨率开始按照分辨率递减的次序使用离散细节信号依次细化所述三维图像。
进一步地,所述GPU,还包括:
重绘制模块,用于当所述视线方向矢量改变之后,根据所述改变后的视线方向矢量,按照所述离散逼近信号和离散细节信号到达的次序进行三维绘制。
本发明实施例提供的技术方案带来的有益效果是:通过使用CPU中将地震数据转换得到体数据,并对体数据进行分块,过滤得到可见子块,在将可见子块传交由GPU进行图像绘制,可以大大的减少了GPU的计算量,使得在普通计算机上也可通过常见的GPU进行地震数据的三维可视化,使用方便,并且节约成本。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1中提供的一种可视化地震数据的方法的流程示意图;
图2是本发明实施例2中提供的一种可视化地震数据的方法的流程示意图;
图3是本发明实施例2中提供的用4个层次的一维数据表达三位小波分解的示意图;
图4是本发明实施例2中提供的具有4个层次的相邻子块的自适应的示意图;
图5是本发明实施例2中提供的以不同的分辨率对同一子块进行重新采样的示意图;
图6是本发明实施例3中提供的一种可视化地震数据的系统的结构示意图;
图7是本发明实施例3中提供的中央处理器的结构示意图;
图8是本发明实施例3中提供的图像处理器的结构示意图;
图9是本发明实施例3中提供的过滤模块的结构示意图;
图10是本发明实施例3中提供的中央处理器的第二种结构示意图;
图11是本发明实施例3中提供的模型计算模块的结构示意图;
图12是本发明实施例3中提供的绘制模块的结构示意图;
图13是本发明实施例3中提供的图像处理器的第二种结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
如图1所示,本实施例提供了一种可视化地震数据的方法,该方法包括:
101、CPU将三维地震数据进行转换得到体数据,并将体数据分解为子块;
102、CPU将子块进行滤波得到可见子块;
103、GPU将可见子块进行二次分解后得到三维地震数据的多分辨率模型,其中,多分辨率模型中包括离散逼近信号和细节信号;
104、传输第J级分辨率下的离散逼近信号,再由第J级分辨率开始按照分辨率级别递减的次序逐级传输细节信号;
其中,J为整数。
105、根据视线方向矢量,按照离散逼近信号和细节信号到达的次序进行三维绘制。
本实施例所提供的一种可视化地震数据的方法,通过使用CPU中将地震数据转换得到体数据,并对体数据进行分块,过滤得到可见子块,在将可见子块传交由GPU进行图像绘制,可以大大的减少了GPU的计算量,使得在普通计算机上也可通过常见的GPU进行地震数据的三维可视化,使用方便,并且节约成本。
实施例2
本实施例2提供了一种可视化地震数据的方法,是在实施例1的基础之上进行的改进。
需要说明的是,近年来,GPU(GraphicsProcessingUnit,图形处理器)技术得到了飞速发展,作为一种用于个人电脑的专用图形绘制硬件,GPU对三维实时绘制技术的发展有着重大的意义。GPU相对于CPU的主要优势就是速度,GPU的速度优势主要来源于其独特的硬件体系设计。本实施例所提供的可视化地震数据的方法,可使得CPU和GPU并行处理三维地震数据,从而达到使用普通PC即可进行地震数据的三维化显示。
如图2所示,本实施例2提供的一种可视化地震数据的方法,具体包括如下步骤:
201、将在每个采样点得到的三维地震数据转换为一个体素,得到体数据;
其中,为了对三维地震数据进行体绘制,需要将每一个采样点获得的三维地震数据转换成一个体素,每一个体素有一个对应的采样点得到的三维地震数据的值(例如振幅值)、一个RGB(RedGreenBlue,红绿蓝)色彩值以及透明度信息。
其中,透明度信息用于标定数据透明度的暗度变量。
当对一个区域进行勘探时,会选择该区域的多个地点进行数据采集,每个地点为一个地震道,通过地震勘探仪器在该地点垂直于水平面向下的多个采样点记录大地的震动并存储到磁带上,每一个地震道被转换成一个体素道,多个体素道即为体数据。
202、将上述体数据进行分解得到子块,并将子块数据存入磁盘备用;
需要说明的是,LOD(LevelOfDetails,层次细节)模型是描述海量三维数据体的有效方法,同时也是加速三维图形生成以保证三维图形实时绘制的技术。LOD模型的主要原理是根据被观察物体对于观察者的重要性选择绘制该物体的不同细节特征,进行实时绘制。可以在不同层次和不同视觉(视角和范围)的条件下,采用不同精细程度的LOD模型来表示同一物体,以提高三维场景的显示速度,实现海量数据的实时显示和交互操作。在地震数据三维可视化过程中,与一般物体三维图形绘制追求真实感不同,由于屏幕尺寸和分辨率的限制,地震数据的三维显示往往并不需要完全地显示所有的样点。可以从海量的数据中提取能够反映地下构造和地层特征的振幅值形成不同分辨率条件下的数据,以减少不必要的图形计算量,通过对地震数据的分块处理,将一个地震数据体的体素减少,以达到层次细节管理的目的。基于LOD的地震数据处理算法一般采用基于八叉树的分块算法,这种算法的基本思想是利用一个距离的阈值来控制八叉树递归运算的深度,当这个阈值比较大时,得到较少的地震体素,反之则得到较多的地震体素。
其中,对体数据持续进行自适应的三维空间分解,使得整个体数据被划分成多个小块,简称为子块,并将各子块数据存入磁盘备用。
具体地,从原始体数据开始,采用八叉树的结构对体数据进行2×2×2的分解,以得到小的子块,并使子块的每一个结点对应相应的体数据,并且,从八叉树根部开始,整个体数据被分为8个子块,当满足下列预设的持续分解条件时,对子块持续细分。
预设的持续分解条件包括:
1.当子块中体素的一致性小于用户所定义的临界值;
其中,子块中所述的一致性指的是子块中所包括的体素的相似性。
2.子块的大小大于显存的大小(例如,在本实施例中,使用的显卡的显存为4GB);
3.子块的大小大于用户所定义的最小子块的大小。
需要说明的是,为了避免相邻子块之间的跳跃现象,在对体数据进行自适应分解时,子块边界上的数据不得不包括在多个子块中,以保证在数据的连续性。
203、对所有子块进行滤波得到可见子块;
其中,本步骤具体包括:
203-1、创建体素计数表;
体素计数表来统计经过透明传输函数分类后可见体素的数量。体素计数表被用来创建滤后可见子块,以有效的实现空体元的空间跳跃。对一个给定的子块体素计数表构造如下:
具体地,创建一个一维的数组,由一个序列的体素计数器组成,该数组的索引与体素的灰度范围相对应,遍历子块中的所有体素,记录该子块中所有体素的灰度值,并增加到相应的体素计数器中,最后将所有的体素计数器进行综合到一个体素计数表中。
203-2、根据当前的透明传输函数计算得到所有子块中的可见体素的比例;
具体地,构造了一个体素计数表之后,对当前一个给定的透明传输函数,我们能够通过公式(1)计算R1和R2,得到一个子块中的可见体素比例。
其中,OTFMAX和OTFMIN表示一个透明传输函数中的最大和最小的灰度值,VCTMAX表示体素计数表的最大值。
203-3、通过每个子块中的可见体素的比例判断得到可见子块。
具体地,当步骤203-2中计算得到的R1大于α或R2小于β,则将该子块加入滤后可见子块。其中,α和β为用户定义的2个阈值,用于对子块进行滤波得到可见子块。
例如,当所有体素中的灰度值大于OTFMAX,公式(1)中的R1为0。同样的,当所有体素中的灰度值小于OTFMIN,R2为1。结果,如果R1为0或R2为1,则认为所指定的子块为空。
对包含许多空体元的大体数据,我们需要根据透明传输函数分类的结果,确定哪一个子块是空区。而且,有的非空的子块只包含少量需要绘制的体素。我们利用体素计数表,连同用户定义的2个阈值α和β,对这些几乎为空的子块进行滤波。我们称通过滤波操作后仍然保留下来的子块为滤后可见子块。对每一个子块计算不受视点约束的可见性信息,构造滤后可见子块的步骤如下:
1.利用用户定义的透明传输函数的最小值(OTFMIN)和最大值(OTFMAX)测试所有子块。
2.对当前访问的子块,如果公式(1)中的R1大于α或R2小于β,将该子块加入滤后可见子块。
3.当透明传输函数变化时,根据变换后的透明传送函数更新滤波后的可见子块。
204、将可见子块的数据传输到显卡的显存中,并根据显卡的内核数量对传入到显存中的数据进行二次分解;
在本实施例中,将磁盘中的可见子块的数据读入内存,并由内存传送到显卡。对显卡中的数据根据显卡的GPU中的内核数量,对其进行自适应的二次分解,例如,在本实施例中选用的显卡GTX460中包含192个内核,因此可以将显存中的数据等分为192份,分配给192个内核做并行计算。
205、在所述显卡的内核中对所述二次分解得到的数据进行并行计算得到三维地震数据的多分辨率模型;
需要说明的是,在GPU上运行的函数称为核(Kernel),其特征是操作多个流上的所有元素而不仅是操作独立的元素,执行程序当以异步方式调用核程序。执行程序中的串行部分在CPU上执行,而核则作为并行部分仅在GPU上执行,此时,将GPU上运行的程序划分成栅格(Grid)、块(Block)、线程(Thread)三个线程级别分别实施。根据GPU的架构对三维地震数据做自适应分解,其中,整个地震数据与GPU中的栅格(Grid)对应,子块地震数据与GPU中的块(Block)对应,子块地震数据中的切片数据与GPU中的线程(Thread)对应。
具体地,在所述显卡的内核中对所述二次分解得到的数据进行并行计算得到三维地震数据的多分辨率模型,具体包括如下过程:
205-1、对每个子块进行三维小波分解以更粗的分辨率创建自身对应的层次;
具体地,在进行绘制之前,整个体数据被细分为多个小的子块。每一个子块通过三维小波分解以更粗的分辨率来创建自身的层次。如图3所示的有4个层次的一维数据表达,在每一个层次,一维数据的大小以1/2倍的速度减少,相同层次子块边界上的数据不得不包括在多个子块中,以保证数据插值的连续性。其中,原始数据用第0层次来表示,第k层数据的间隔宽度是第k-1层数据间隔宽度的2倍,且数据的数量只有原来的1/2。
205-2、修改相邻子块边界处的数据值,以保持层次过渡的连续性;
需要说明的是,如果体数据的层次构造如上所述,在同一层次相邻块边界处,插值所带来的失真现象就不会产生,这是因为边界处的体素被相邻的子块所共享。但是,这并不能解决不同层次相邻块边界处的失真现象。因此,为了满足连续性的要求,我们设计了不同层次间过渡的方法,修改相邻子块边界处的数据值。
具体的方法是,在相邻子块边界处,将低层次的数据值直接拷贝到上一层次,或将低层次的数据值进行插值后,替换上一层次边界处的数据值。实现过程如图4所示的具有4个层次的相邻子块的自适应,层次0、1、2中被标为黑色的数据值,通过拷贝或插值操作被修改,以保证不同层次相邻子块之间的连续性。
205-3、通过以不同的分辨率对同一子块进行重新采样对子块进行不透明性校正;
当在不同的层次下绘制子块时,子块的不透明性是不一样的。现有的绘制算法依赖于沿光线方向对每一个象素进行采样,但是在多分辨率的情况下,体数据以不同的方式和分辨率被重采样,为了保存不同分辨率块之间的光学性质,需对原始数据重新采样,产生新的子块,传输函数也要因此而进行修改。
通过图5所示的例子对以不同的分辨率对同一子块进行重新采样进行说明,其中,每一个采样点Bi与颜色值ci和不透明度值αi相对应,则颜色值A和A′为:
A=α0c0+(1-α0)α1c1+(1-α0)(1-α1)c2(2)
A′=α0′c0+(1-α0′)c'2(3)
这里c2是由采样B0,B1,B2得到的输入颜色,C′2是由采样B0,B2得到的输入颜色。计算所有的堆积起来的不透明度D和D′,得到
D=α0+(1-α0)α1+(1-α0)(1-α1)D2(4)
D′=α0′+(1-α0′)D2′(5)
假设堆积起来的不透明度值和偶采样相等,它被表示为D2=D2′和D=D′,则
α0+(1-α0)α1+(1-α0)(1-α1)D2=α0′+(1-α0′)D2′(6)
为α0′解这个式子,我们可以得到
α0′=1-(1-α0)(1-α1)(7)
通过假设α1=α0+ε(其中,ε是一个很小的数),可以得到如下等式:
α0′=1-(1-α0)2+O(ε)(8)
因而,我们修改传输函数为:
α′=1-(1-α0)2(9)
205-4、对子块的多分辨率对应的层次进行自适应选择;
具体地,在多分辨率模型的表达被构造之前,每一个子块的大小被确定下来,并采用下述标准进行层次的选择:
最大不透明值:一个子块中的最大不透明值由该子块中不透明值最大的体素所确定。它的基本思想就是对不透明大的区域应该进行精细的绘制。
与视点之间的距离:这里距离是指子块的中心与视点之间的距离。对离视点较近的子块,它们更为重要,我们应该进行精细绘制。对于其它子块,他们离视点较远,应该以较低的分辨率进行绘制。
投影区域:投影区域主要由子块的边界所确定,对那些具有较大投影区域的子块,我们应该进行比较精细的绘制。
凝视距离:这个参数对基于凝视的绘制非常有用,凝视距离是凝视区域中心和子块的投影区域中心的距离。对那些与凝视中心较近的区域,我们确保较高的图像质量,而对那些远离凝视中心的区域,较低的分辨率进行绘制。
205-6、通过计算得到三维地震数据的多分辨率模型;
其中,计算三维地震数据的多分辨率模型具体使用如下公式:
式中,整数J是小波多分辨率分析的级数,系数是体数据在第J级分辨率下的离散平滑逼近,系数是体数据在第J级分辨率下的离散细节信号。
206、创建基于小波域的体绘制方程;
具体地,体绘制的基本原理是考虑体数据中每一个体素的光强和透明度,直接将所有体素的光强信息融合投射到像平面上。在本实施例中,设定t为表示视线方向的视矢量,u、v为与之正交的像平面内的两个正交矢量,则体绘制的光学模型可以用沿视线方向t的曲线积分来表示,具体如下:
It(u,v,d)=Ibackexp[-∫t(0,d)τ(s)dt]+∫t(0,d)I(s)exp[-∫t(0,d)τ(s)dt]dt(10)
s=uu+vv+tt(11)
α(t1,t2)=1-T(t1,t2)(13)
式(10)-(13)中,It(u,v,d)表示沿矢量t方向融合投射到像平面上的综合光强,d为像平面与背景的正交距离,Iback为背景光强,τ(s)为s处体素的光吸收系数,I(s)为s处体素的光强度,T(t1,t2)为视线方向t上t1到t2处的综合透明度,α(t1,t2)则为对应的不透明度,符号t(t1,t2)表示沿矢量t方向从t1到t2的积分路径。
将体数据f(x,y,z)的小波域多分辨率表达式代入式(10),即可得到如下小波域的体绘制方程:
207、传输体数据第J分辨率下的离散逼近信号,再按分辨率(J,J-1,…,2,1)的次序逐级传输体数据的细节信号;
208、根据视线方向矢量,按照多分辨率体数据到达的先后次序,利用基于小波域的体绘制方程对体数据进行由粗及精的三维绘制。
其中,本步骤具体包括:
208-1、在正交于视矢量的像平面上,用第J分辨率下的离散逼近信号绘制出低分辨率的三维图像;
208-2、用细节信号按分辨率(J,J-1,…,2,1)逐步细化图像,依次生成分辨率(J,J-1,…,2,1)的三维图像(平滑逼近)。
其中,在用细节信号按分辨率(J,J-1,…,2,1)逐步细化图像,具体通过应用三维小波Mallat重建滤波器组进行实现。
进一步地,当改变视线方向矢量时,重复执行步骤208。
本实施例所提供的一种可视化地震数据的方法,通过使用CPU中将地震数据转换得到体数据,并对体数据进行分块,过滤得到可见子块,在将可见子块传交由GPU进行图像绘制,可以大大的减少了GPU的计算量,使得在普通计算机上也可通过常见的GPU进行地震数据的三维可视化,使用方便,并且节约成本。
实施例3
如图6所示,本实施例提供了一种可视化地震数据的系统,该系统包括:中央处理器3和图像处理器4;
其中,如图7所示,中央处理器3包括:
转换模块301,用于将三维地震数据进行转换得到体数据;
分解模块302,用于将体数据分解为子块;
过滤模块303,用于将子块进行滤波得到可见子块;
如图8所示,图形处理器4,包括:
模型计算模块401,用于将可见子块进行二次分解后得到三维地震数据的多分辨率模型,其中,多分辨率模型中包括离散逼近信号和细节信号;
传输模块402,用于传输第J级分辨率下的离散逼近信号,再由第J级分辨率开始按照分辨率级别递减的次序逐级传输细节信号,其中,J为整数;
绘制模块403,用于根据视线方向矢量,按照离散逼近信号和细节信号到达的次序进行三维绘制。
进一步地,转换模块301,具体用于将在多个采样点得到的三维地震数据转换为多个体素,并将多个体素组合得到体数据;
其中,每个体素中至少包括每个体素对应的采样点得到的三维地震数据、RGB色彩值和透明度信息。
进一步地,分解模块302,具体用于采用八叉树的结构对体数据进行2×2×2的分解,得到8个子块,并且当满足第一预设条件时,持续对分解得到的8个子块中的子块进行分解得到更小的子块;
其中,第一预设条件包括:
子块中的体素的一致性小于用户定义的临界值、子块的大小大于与显存的大小、子块的大小大于用户定义的最小子块的大小。
进一步地,如图9所示,过滤模块303,包括:
创建单元3031,用于创建体素计数表;
比例计算单元3032,用于根据透明传输函数计算得到所有子块中的可见的体素的比例;
判断单元3033,用于通过所有子块中的可见的体素的比例判断得到可见子块;
其中,体素计数表用于统计经过透明传输函数分类后的可见的体素的数量,透明传输函数根据视线方向矢量得到。
进一步地,如图10所示,中央处理器3,还包括:
存储模块304,用于在模型计算模块401将可见子块进行二次分解后得到三维地震数据的多分辨率模块之前,将可见子块传输到显存中。
进一步地,如图11所示,模型计算模块401,包括:
三维小波分解单元4011,用于对每个可见子块进行三维小波分解以分辨率级别递减的顺序创建可见子块对应的层次;
修改单元4012,用于修改相邻的两个可见子块边界处的数据值,以保持每个分辨率级别对应的层次过渡的连续性;
校正单元4013,用于通过以不同级别的分辨率对同一可见子块进行重新采样对子块进行不透明性校正;
选择单元4014,用于对可见子块的多分辨率对应的层次进行自适应选择;
模型计算单元4015,用于计算得到三维地震数据的多分辨率模型;
其中,上述多分辨率模型中包括离散逼近信号和细节信号。
进一步地,修改单元4012,具体用于在相邻的两个可见子块边界处,将当前层次的数据值拷贝到上一高级别层次,或将当前层次的数据值进行插值后,替换上一高级别层次边界处的数据值。
进一步地,上述多分辨率模型具体为:
其中,f(x,y,z)为体数据,整数J是小波多分辨率分析的级数,是体数据在第J级分辨率下的离散平滑逼近信号,是体数据在第J级分辨率下的离散细节信号。
进一步地,如图12所示,绘制模块403,包括:
第一绘制单元4031,用于在正交于视线方向矢量的像平面上,用第J分辨率下的离散逼近信号绘制出预设分辨率的三维图像;
第二绘制单元4032,用于由第J分辨率开始按照分辨率递减的次序使用细节信号依次细化三维图像。
进一步地,如图13所示,图像处理器4,还包括:
重绘制模404,用于当视线方向矢量改变之后,根据改变后的视线方向矢量,按照离散逼近信号和细节信号到达的次序进行三维绘制。
本实施例所提供的一种可视化地震数据的系统,通过使用CPU中将地震数据转换得到体数据,并对体数据进行分块,过滤得到可见子块,在将可见子块传交由GPU进行图像绘制,可以大大的减少了GPU的计算量,使得在普通计算机上也可通过常见的GPU进行地震数据的三维可视化,使用方便,并且节约成本。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (18)
1.一种可视化地震数据的方法,其特征在于,所述方法包括:
通过中央处理器CPU将三维地震数据进行转换得到体数据,并将所述体数据分解为子块;
所述CPU将所述子块进行滤波得到可见子块;
图形处理器GPU将所述可见子块进行二次分解后得到所述三维地震数据的多分辨率模型,其中,所述多分辨率模型中包括离散逼近信号和离散细节信号;
传输第J级分辨率下的所述离散逼近信号,再由第J级分辨率开始按照分辨率级别递减的次序逐级传输所述离散细节信号,其中,J为整数;
根据视线方向矢量,按照所述离散逼近信号和离散细节信号到达的次序进行三维绘制;
所述GPU将所述可见子块进行二次分解后得到所述三维地震数据的多分辨率模型,包括:
对每个所述可见子块进行三维小波分解以分辨率级别递减的顺序创建所述可见子块对应的层次;
修改相邻的两个所述可见子块边界处的数据值,以保持每个分辨率级别对应的层次过渡的连续性;
通过以不同级别的分辨率对同一所述可见子块进行重新采样对所述可见子块进行不透明性校正;
对所述可见子块的多分辨率对应的层次进行自适应选择;
计算得到所述三维地震数据的多分辨率模型。
2.根据权利要求1所述的方法,其特征在于,所述将三维地震数据进行转换得到体数据,包括:
将在多个采样点得到的三维地震数据转换为多个体素,并将所述多个体素组合得到所述体数据;
其中,每个体素中至少包括所述每个体素对应的采样点得到的三维地震数据、RGB色彩值和透明度信息。
3.根据权利要求1所述的方法,其特征在于,将所述体数据分解为子块,包括:
采用八叉树的结构对所述体数据进行2×2×2的分解,得到8个子块,并且当满足第一预设条件时,持续对分解得到的所述8个子块中的子块进行分解得到更小的子块;
其中,所述第一预设条件包括:
所述子块中的体素的一致性小于用户定义的临界值、所述子块的大小大于与所述GPU对应的显存的大小、所述子块的大小大于所述用户定义的最小子块的大小。
4.根据权利要求1所述的方法,其特征在于,所述将所述子块进行滤波得到可见子块,包括:
创建体素计数表;
根据透明传输函数计算得到所有子块中的可见的体素的比例;
通过所述所有子块中的可见的体素的比例判断得到所述可见子块;
其中,所述体素计数表用于统计经过所述透明传输函数分类后的可见的体素的数量,所述透明传输函数根据所述视线方向矢量得到。
5.根据权利要求1所述的方法,其特征在于,所述GPU将所述可见子块进行二次分解后得到所述三维地震数据的多分辨率模型之前,所述方法还包括:
将所述可见子块传输到所述GPU对应的显存中。
6.根据权利要求1所述的方法,其特征在于,所述修改相邻的两个所述可见子块边界处的数据值,以保持层次过渡的连续性,包括:
在相邻的两个所述可见子块边界处,将当前层次的数据值拷贝到上一高级别层次,或将当前层次的数据值进行插值后,替换上一高级别层次边界处的数据值。
7.根据权利要求1所述的方法,其特征在于,所述多分辨率模型具体为:
其中,f(x,y,z)为所述体数据,整数J是小波多分辨率分析的级数,是所述体数据在第J级分辨率下的离散逼近信号,是所述体数据在第J级分辨率下的离散细节信号,φm,i,j,k(x,y,z)是所述离散逼近信号的三维小波正交基,是所述离散细节信号的三维小波正交基,Z表示整数。
8.根据权利要求1所述的方法,其特征在于,所述根据视线方向矢量,按照所述离散逼近信号和离散细节信号到达的次序进行三维绘制,包括:
在正交于所述视线方向矢量的像平面上,用所述第J分辨率下的离散逼近信号绘制出预设分辨率的三维图像;
再由第J分辨率开始按照分辨率递减的次序使用离散细节信号依次细化所述三维图像。
9.根据权利要求1所述的方法,其特征在于,当所述视线方向矢量改变之后,所述方法还包括:
根据所述改变后的视线方向矢量,按照所述离散逼近信号和离散细节信号到达的次序进行三维绘制。
10.一种可视化地震数据的系统,其特征在于,所述系统包括:中央处理器和图形处理器GPU;
其中,所述中央处理器包括:
转换模块,用于将三维地震数据进行转换得到体数据;
分解模块,用于将所述体数据分解为子块;
过滤模块,用于将所述子块进行滤波得到可见子块;
所述GPU,包括:
模型计算模块,用于将所述可见子块进行二次分解后得到所述三维地震数据的多分辨率模型,其中,所述多分辨率模型中包括离散逼近信号和离散细节信号;
传输模块,用于传输第J级分辨率下的所述离散逼近信号,再由第J级分辨率开始按照分辨率级别递减的次序逐级传输所述离散细节信号,其中,J为整数;
绘制模块,用于根据视线方向矢量,按照所述离散逼近信号和离散细节信号到达的次序进行三维绘制;
其中,所述模型计算模块,包括:
三维小波分解单元,用于对每个所述可见子块进行三维小波分解以分辨率级别递减的顺序创建所述可见子块对应的层次;
修改单元,用于修改相邻的两个所述可见子块边界处的数据值,以保持每个分辨率级别对应的层次过渡的连续性;
校正单元,用于通过以不同级别的分辨率对同一所述可见子块进行重新采样对可见子块进行不透明性校正;
选择单元,用于对所述可见子块的多分辨率对应的层次进行自适应选择;
模型计算单元,用于计算得到所述三维地震数据的多分辨率模型。
11.根据权利要求10所述的系统,其特征在于,所述转换模块,具体用于将在多个采样点得到的三维地震数据转换为多个体素,并将所述多个体素组合得到所述体数据;
其中,每个体素中至少包括所述每个体素对应的采样点得到的三维地震数据、RGB色彩值和透明度信息。
12.根据权利要求10所述的系统,其特征在于,所述分解模块,具体用于采用八叉树的结构对所述体数据进行2×2×2的分解,得到8个子块,并且当满足第一预设条件时,持续对分解得到的所述8个子块中的子块进行分解得到更小的子块;
其中,所述第一预设条件包括:
所述子块中的体素的一致性小于用户定义的临界值、所述子块的大小大于与所述GPU对应的显存的大小、所述子块的大小大于所述用户定义的最小子块的大小。
13.根据权利要求10所述的系统,其特征在于,所述过滤模块,包括:
创建单元,用于创建体素计数表;
比例计算单元,用于根据透明传输函数计算得到所有子块中的可见的体素的比例;
判断单元,用于通过所述所有子块中的可见的体素的比例判断得到所述可见子块;
其中,所述体素计数表用于统计经过所述透明传输函数分类后的可见的体素的数量,所述透明传输函数根据所述视线方向矢量得到。
14.根据权利要求10所述的系统,其特征在于,所述中央处理器,还包括:
存储模块,用于在所述模型计算模块将所述可见子块进行二次分解后得到所述三维地震数据的多分辨率模型之前,将所述可见子块传输到显存中。
15.根据权利要求10所述的系统,其特征在于,所述修改单元,具体用于在相邻的两个所述可见子块边界处,将当前层次的数据值拷贝到上一高级别层次,或将当前层次的数据值进行插值后,替换上一高级别层次边界处的数据值。
16.根据权利要求10所述的系统,其特征在于,所述多分辨率模型具体为:
其中,f(x,y,z)为所述体数据,整数J是小波多分辨率分析的级数,是所述体数据在第J级分辨率下的离散逼近信号,是所述体数据在第J级分辨率下的离散细节信号,φm,i,j,k(x,y,z)是所述离散逼近信号的三维小波正交基,是所述离散细节信号的三维小波正交基,Z表示整数。
17.根据权利要求10所述的系统,其特征在于,所述绘制模块,包括:
第一绘制单元,用于在正交于所述视线方向矢量的像平面上,用所述第J分辨率下的离散逼近信号绘制出预设分辨率的三维图像;
第二绘制单元,用于由第J分辨率开始按照分辨率递减的次序使用离散细节信号依次细化所述三维图像。
18.根据权利要求10所述的系统,其特征在于,所述GPU,还包括:
重绘制模块,用于当所述视线方向矢量改变之后,根据所述改变后的视线方向矢量,按照所述离散逼近信号和离散细节信号到达的次序进行三维绘制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210064160.3A CN103308942B (zh) | 2012-03-12 | 2012-03-12 | 一种可视化地震数据的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210064160.3A CN103308942B (zh) | 2012-03-12 | 2012-03-12 | 一种可视化地震数据的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103308942A CN103308942A (zh) | 2013-09-18 |
CN103308942B true CN103308942B (zh) | 2015-12-02 |
Family
ID=49134362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210064160.3A Active CN103308942B (zh) | 2012-03-12 | 2012-03-12 | 一种可视化地震数据的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103308942B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103605159A (zh) * | 2013-11-13 | 2014-02-26 | 长江大学 | 一种并行压缩海量地震数据的方法 |
CN103745448B (zh) * | 2013-12-24 | 2016-08-17 | 四川大学 | 光栅3d显示中超高分辨率合成图像的快速生成方法 |
CN104133243B (zh) * | 2014-08-05 | 2017-02-15 | 吉林大学 | 一种地震数据可视化方法及装置 |
CN104751494A (zh) * | 2015-04-27 | 2015-07-01 | 国家电网公司 | 一种OpenGL超大纹理的处理和绘制方法 |
CN104849755A (zh) * | 2015-05-04 | 2015-08-19 | 中国石油天然气集团公司 | 并行地震数据绘制方法 |
CN104816742A (zh) * | 2015-05-13 | 2015-08-05 | 张凤亮 | 列车运行灾害预警监测系统 |
CN106097426B (zh) * | 2016-06-24 | 2019-02-26 | 南京信息工程大学 | 一种天气雷达数据三维可视化空间跳跃加速光线投射方法 |
CN108010126A (zh) * | 2017-12-11 | 2018-05-08 | 苏州蜗牛数字科技股份有限公司 | 基于体素构建大规模复杂地形的方法及系统 |
CN109064543A (zh) * | 2018-08-30 | 2018-12-21 | 十维度(厦门)网络科技有限公司 | 一种图形纹理加载渲染方法 |
CN111243073B (zh) * | 2020-01-16 | 2024-02-09 | 芯瞳半导体技术(山东)有限公司 | 一种规则栅格的相交加速方法、装置及计算机存储介质 |
CN111611422B (zh) * | 2020-05-21 | 2020-12-01 | 广东省地震局 | 基于svc自动生成地震灾害风险评估中定性图件的方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1169003A (zh) * | 1996-05-10 | 1997-12-31 | 索尼计算机娱乐公司 | 数据处理的方法和装置 |
CN101286225A (zh) * | 2007-04-11 | 2008-10-15 | 中国科学院自动化研究所 | 一种基于三维纹理硬件加速的海量数据体绘制方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7298372B2 (en) * | 2004-10-08 | 2007-11-20 | Mitsubishi Electric Research Laboratories, Inc. | Sample rate adaptive filtering for volume rendering |
-
2012
- 2012-03-12 CN CN201210064160.3A patent/CN103308942B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1169003A (zh) * | 1996-05-10 | 1997-12-31 | 索尼计算机娱乐公司 | 数据处理的方法和装置 |
CN101286225A (zh) * | 2007-04-11 | 2008-10-15 | 中国科学院自动化研究所 | 一种基于三维纹理硬件加速的海量数据体绘制方法 |
Non-Patent Citations (3)
Title |
---|
《Fast Volume Rendering and Data Classification Using Multiresolution Min-Max Octrees》;Feng Dong et al.;《EUROGRAPHICS》;20001231;第19卷(第3期);第3页 * |
《Multiresolution Techniques for Interactive Texture-Based Volume Visualization》;Eric LaMar et al.;《Electronic Imaging》;20001231;第1-8页 * |
《基于小波的网络多分辨率体绘制》;张尤赛等;《中国图象图形学报》;20040131;第9卷(第1期);第69-72页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103308942A (zh) | 2013-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103308942B (zh) | 一种可视化地震数据的方法及系统 | |
Gao et al. | Pycortex: an interactive surface visualizer for fMRI | |
Levoy | Efficient ray tracing of volume data | |
Fuchs et al. | Visualization of multi‐variate scientific data | |
Wilhelms et al. | A coherent projection approach for direct volume rendering | |
Schroder et al. | Fast rotation of volume data on parallel architectures | |
US9754405B1 (en) | System, method and computer-readable medium for organizing and rendering 3D voxel models in a tree structure | |
US20080165185A1 (en) | Systems and methods for selectively imaging objects in a display of multiple three-dimensional data-objects | |
DE112007002063T5 (de) | Systeme und Verfahren zur Bildverarbeitung von Wellenformvolumen | |
CN1926558A (zh) | 对任意成三角形的表面应用精确三维体纹理的系统和方法 | |
Wang et al. | CPU isosurface ray tracing of adaptive mesh refinement data | |
EP2513869B1 (en) | Level of detail processing | |
CN104407384B (zh) | 地震剖面显示的方法 | |
EP2826023B1 (en) | Systems and methods for creating a three-dimensional texture atlas | |
CN105676290A (zh) | 基于曲面细分的地震数据三维显示方法 | |
Luo | Distance-based focus+ context models for exploring large volumetric medical datasets | |
Iglesias Guitián et al. | View-dependent exploration of massive volumetric models on large-scale light field displays | |
Shih et al. | Out-of-core visualization of time-varying hybrid-grid volume data | |
Balabanian et al. | Temporal styles for time-varying volume data | |
Patel et al. | Knowledge-assisted visualization of seismic data | |
CN110489480A (zh) | 一种测井数据多属性快速切换可视化方法 | |
CN105301652A (zh) | 一种三维地震数据固定轴向切片动态判断体绘制方法 | |
Seng et al. | Construction and visualization of complicated objects for 3D GIS | |
Dyken et al. | Interactive Isosurface Visualization in Memory Constrained Environments Using Deep Learning and Speculative Raycasting | |
Thomas et al. | Topological Visualisation Techniques for Volume Multifield Data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |