CN103714574A - 一种基于gpu加速的海中场景建模与实时交互绘制方法 - Google Patents

一种基于gpu加速的海中场景建模与实时交互绘制方法 Download PDF

Info

Publication number
CN103714574A
CN103714574A CN201310703038.0A CN201310703038A CN103714574A CN 103714574 A CN103714574 A CN 103714574A CN 201310703038 A CN201310703038 A CN 201310703038A CN 103714574 A CN103714574 A CN 103714574A
Authority
CN
China
Prior art keywords
data
gpu
cube
real
data field
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.)
Granted
Application number
CN201310703038.0A
Other languages
English (en)
Other versions
CN103714574B (zh
Inventor
王章野
王丰金
廖惟博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201310703038.0A priority Critical patent/CN103714574B/zh
Publication of CN103714574A publication Critical patent/CN103714574A/zh
Application granted granted Critical
Publication of CN103714574B publication Critical patent/CN103714574B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)

Abstract

本发明公开了一种基于GPU加速的海中场景建模与实时交互绘制方法。其步骤为:(1)对海中场景声纳数据进行预处理:水体地层分离、目标检测、去噪增强;(2)利用GPU加速实现了可交互的基于光线投射方法的海中场景三维体数据可视化建模;(3)基于GPU加速实现了海中目标声纳数据表面提取和实时绘制。本发明解决了以往可视化算法不适用海中场景声纳数据快速建模和交互可视化分析的问题。减少了主观因素影响,使得数据的初始可视化结果更加准确。本发明使用曲面细分方法对marchingcube算法的目标表面提取结果进行优化处理,得到平滑的渲染结果。最终,实现了海中场景建模与实时交互绘制。

Description

一种基于GPU加速的海中场景建模与实时交互绘制方法
技术领域
本发明涉及三维数据场可视化与三维几何表面获取与绘制领域,尤其涉及一种基于GPU加速的海中场景建模与实时交互绘制方法。
背景技术
海中声纳数据可视化技术主要是利用海中声纳数据作为信息源,采用一定的数据处理和三维建模方法,建立水下声纳数据的三维可视化及交互分析***。当今海洋资源的开发与利用是新世纪经济增长的热点,对海洋的探测手段也在不断丰富。近些年来,对于海面场景的建模与绘制工作取得了不少进展,在场景的真实感模拟上也取得了相当大的成功,相对应的流体模拟方法,也已经取得了广泛的应用。然而与之相对的是:海中(海表面之下)场景的绘制与建模工作进展偏少,其原因之一是由于计算量的庞大,原因之二是因为声纳数据来源的不精确性。本技术针对海中场景声纳数据进行了预处理与优化,减少了数据中的噪声并提高的数据的精确性,采用了形态学上的图像分割技术来对海底的水体和土地部分进行分别处理以提高识别精度。使用了GPU加速技术使得绘制与目标特征交互分析达到了实时。
下面先介绍已有的三维数据场绘制方法:
1)光线投射(RayCasting)算法
RayCasting算法是以图象空间未最终渲染结果的载体,从载体空间的每一个像素出发,逆视点方向发射射线穿越三维数据长。沿射线进行等距采样,并根据数据场中的数据,求出该采样点的光学性质。将每条射线上的所有采样点的光学性质依据光学模型进行叠加,计算得到出发点的像素颜色空间属性,从而得到可视载体的纹理分布。该算法需要遍历三维数据场,视点改变时采样点需重新计算,导致了庞大的计算量。
2)抛雪球法
这种算法与的RayCasting算法所不同的是,它遍历三维数据长的每一个体素进行计算。它利用一个函数来代表每一个体素投射到可视空间的影响强度,我们一般称之为Footprint。计算每一个体素投射的影响范围,从而计算出对图像的总体贡献,叠加以生成最后的图像。这种算法就好像每个体素像屏幕上扔雪球,打击在屏幕上残留一定的痕迹,因而得名。这样的计算方法,虽然让我们仅仅考虑与显示有关的体素,从而大大减少了数据量,但视点的变换导致所有叠加重新计算,依然无法实时显示。
常用的算法还有很多:错切变换法、三维纹理映射法等。但传统的光线投射(RayCasting)算法有三大缺点:一是传递函数(transfer function)需要靠人工干预来进行调节,想要得到一个比较好的结果,往往需要花费较长的时间;二是传统的RayCasting算法往往是在CPU端实现的,可交互性比较差;三是传统的的算法对整个体数据使用一个tranfer function,而对于像声纳这类需要分类处理的数据则无法处理。
同样,传统的Marching Cube方法也不适用于声纳数据,传统的marchingcube方法在提取表面时阈值比较单一,而对于类似声纳这类数据,往往目标取值处于一个范围内,传统的方法无法处理;另外如果需要获得一个比较平滑的结果,传统的方法往往需要将增加立方体的分辨率,而这将大大增加处理的数据量。
除此之外,声纳三维数据场由于受到环境的影响较大。受混响、散焦、噪声等因素影响,一般数据场的直接可视化无法得到足够准确的可视化图像。总结来看声纳数据主要包括以下特征:
1.数据场中的边缘轮廓十分模糊,且呈现出较为严重的缺失或变形情况;
2.受到声波信号波长较长、频率较低的影响,结果缺少高频细节信息,导致很多的边缘识别算法无法实现;
3.声纳信号噪声分布较广,虽然表现形式单一,主要是高频脉冲信号,但由于波动幅度相对较大,对结果图像的影响依然很大。
4.声纳数据场中的目标信号对声波的反应强度相对单一,因此灰度级相对较少。但噪声数据由于产生原因多样,所以在多灰度级中都有出现。
5.声纳信号在水体与地层当中的传播有所不同,会产生不同的信号属性,
综上所述,声纳三维数据场的可视化难以使用现有方法进行绘制与重建。
由于此类声纳数据的特点,传统的三维数据可视化算法的直接应用得到效果受到严重影响。并且,传统的去噪算法(如中值滤波、双边滤波、直方图均衡化等)都不适用于声纳数据。而基于小波的处理方法、基于模糊理论的处理算法、神经网络算法等也难以应付过大的数据量。
基于以上的原因,以往的方法难以获得完善的实时声纳数据可视化。
发明內容
本发明的目的是克服现有技术的不足,提供一种基于GPU加速的海中场景建模与实时交互绘制方法。
基于GPU加速的海中场景建模与实时交互绘制方法包括如下步骤:
1)海中场景声纳数据针对声纳数据特点采用形态学方法和滤波对原始数据进行预处理,分为基于二值化的水体地层分离、基于梯度的目标检测和基于梯度统计与滤波的去噪增强;
2)利用GPU加速光线跟踪算法,基于数据的统计数据生成传递函数,并加入实时交互功能,实现可交互的海中场景三维体数据可视化建模;
3)使用基于范围检测的marchingCube方法和GPU加速方法,实现海中目标声纳数据表面提取和实时绘制。
步骤1)所述的水体地层分离为:
2.1)通过LOG变换改善数据范围,拓宽有效声纳数据范围;
2.2)采用高斯滤波快速去噪减弱水体中噪音的影响,并保留了水体地层分界线的原有性质;
2.3)通过灰度域上的形态学操作中的开运算去除目标与噪声物体,仅保留水体与地层数据;
2.4)基于水体与地层对声纳信号反应的不同,采用自动化阈值分割水体地层,阈值计算公式为:
σ within 2 ( T ) = N ( Fgrnd ) ( T ) N σ Fgrnd 2 ( T ) + N Bgrnd ( T ) N σ grnd 2 ( T )
σ between 2 ( T ) = σ 2 - σ within 2 ( T )
= ( Σ x , y f 2 [ x , y ] ) - N Fgrnd N ( Σ x , y ∈ Fgrnd f 2 [ x , y ] - μ Fgrnd 2 ) - N Bgrnd N ( Σ x , y ∈ B grnd - μ 2 )
= - μ 2 + N Fgrnd N μ Fgrnd 2 + N Bgrnd N μ Bgrnd 2
= N Fgrnd N ( μ Fgrnd 2 - μ 2 ) 2 + N Bgrnd N ( μ Bgrnd 2 - μ 2 ) 2
= N Fgrnd ( T ) N Brnd ( T ) N ( μ Fgrnd ( T ) - μ Bgrnd ( T ) ) 2
式中σ代表方差,T代带表数据场,σwithin(T)代表数据场分割后前景方差和背景方差加权求和,σbetween(T)代表前景与背景的方差,即前景与背景的差别度量,N代表数据点个数,如NFgrnd(T)代表数据场T中前景数据点个数,NFgrnd(T)代表数据场T中背景数据点的个数,N代表数据场整体采样点个数。f[x,y]代表数据场中位于点[x,y]处的强度值,三维可拓展为f[x,y,z],μ代表全体数据平均值,μFgrnd和μBgrnd分别带便前景与背景数据点的平均值;
步骤1)所述的目标检测和去噪增强为:
3.1)计算三维数据场的梯度数据场;
3.2)统计梯度直方图数据场,发现数据场具有双峰特性或多峰特性;
3.3)基于梯度直方图进行门限分割出强度最大的波峰,即得到目标物体;
3.4)对其他波峰数据进行高斯滤波模糊处理,即得到去噪效果。
所述的步骤2)为:使用GPU优化以下步骤:
4.1)基于梯度数据场和去噪后的声纳数据场计算加权求和得到新数据场
Ctrans=αCvolumedata+βCgradientdata
其中Cvolumedata代表源数据场,Cgradientdata代表梯度数据场,α与β为加权系数,Ctrans代表合成结果;
4.2)基于新数据场的梯度域统计计算得到可交互更改的传递函数;
4.3)以视点为起点,向RayCasting载体立方体表面投射射线,进行等距采样并进行颜色叠加混合;
co=αscs+(1-αs)cd
其中αs代表体素透明度,由传递函数提供。Cs为体素强度,Cd代表已叠加强度值,Co代表新得到的强度值,直到采样强度值的不透明度超过1,或采样深度超过数据场停止计算。
步骤3)所述的基于范围检测的marchingCube方法和GPU加速方法为:
5.1)将立方体的八个点进行编码20、21、22、23、24、25、26、27,将立方体所有的模式进行编码索引,进而将所有的模式放在模式纹理texture_Pattern中进行GPU端的处理与查询;
5.2)利用GPU的并行处理能力以及立方体之间相互独立的特性,对数据场的所有立方体进行分类,分类检索公式为:
其中index为当前立方体类别的索引,vertex[i]为立方体顶点i的数据场的值,[isovalue1,isovalue2]是目标的可能阈值动态范围,利用index在texture_Pattern中查找立方体所能产生的顶点个数numofvertex.然后更新相应的状态变量:
cubeVertexNumber[indexofcube]=numofvertex
cubeOccupied [ indexofcube ] = 0 numbofvertex < = 0 1 numberofvertex > 0
其中indexofcube为当前立方体在GPU上的编码;
5.3)利用Prefix-Sum算法对cubeOccupid数组进行处理,在cubeOccupidScan数组中保存当前包含顶点的立方体在所有包含顶点的立方体的排序;
5.4)利用Prefix-Sum处理的结果对立方体进行压缩处理,将不含有顶点的立方体剔除出去,压缩方法为:
compactCube[cubeOccupidScan[i]]=i  if(cubeOccupid[i]>0)
其中i为当前立方体的索引;处理结束后,compactCube数组中保存的是所有包含三角面片的立方体的索引;
5.5)利用cube的256中模式分别对每个含有三角面片的立方体进行处理,产生最终的顶点、法向、以及三角面片,计算公式为:
vertex = v 1 + ( isovalue - value 1 ) v 2 - v 1 value 2 - value 1
其中vertex为产生的顶点坐标,v1、v2为两个端点的坐标,value1、value2为两个端点的体数据值,Isovalue为体数据的阈值范围的平均值:
isovalue=(isovalue1+isovalue2)/2
normal为三角面片的法向:
normal=(v2-v1)×(v3-v2)
5.6)利用openGL显示最终的结果,加入了Tessellation Shader,设置曲面细分的等级,得到平滑的最终显示结果;
5.7)将marching cube获得的结果以obj格式进行保存。
本发明采用了数据的预处理工作,对声纳数据进行识别与修正以提高识别性。基于形态学的操作进行水体地层分离,避免了高频噪声信号的影响,使得最终算法的处理更加迅速、准确,并且形态学的操作适合于GPU加速,解决了传统方法无法实时、受声纳数据低分辨率影响大的难点。并且将分离结果记录于一张二维纹理里面,使得本文后续可以对不同的区域使用不同的传递函数进行调节。三维数据场可视化的关键在于找到一个良好的传递函数,如今已有遗传算法等传递函数生成方式。但普遍属于主观上寻找更好的效果设计,而非基于数据的分析。产生的传递函数未必能科学准确的表示出目标物体。
本发明提出的基于梯度统计的传递函数生成方式,受声纳脉冲信号噪声影响小,并且完全基于数据的分析,人工辅助以赋予采样数据集光学性质,能够产生更加科学准确的信息可视化图像。
本发明提出的基于范围的检测方法使得marchingCube的试用范围更广;本文摒弃传统的增加体数据分辨率的方法。使用曲面细分的放来对marching cube的结果进行处理。使得最终绘制的结果比较平滑。
附图说明
图1是使用对原图像直接使用形态学二值化分割水体地层得到结果;
图2是使用二值化开运算处理后的二值化分割结果;
图3是重复多次开运算处理后的二值化分割结果;
图4是基于形态学的边缘检测结果;
图5是分割结果与源数据进行比较;
图6是源数据经过发明过程,但省略去噪过程,得到的结果;
图7是源数据经过发明过程,但经过去噪过程,得到的结果;
图8是梯度直方图统计结果;
图9是强度直方图统计结果与传递函数的可视化表示;
图10是光线投射算法绘制结果;
图11是marchcube的初始结果。
具体实施方式
本发明解决一般三维数据技术无法无法实时处理海量海中场景声纳数据可视化建模并对目标实现快速人机交互分析的问题,提出基于梯度统计与图像形态学操作的数据预处理技术,和基于GPU的实时可交互光线投射技术,以及基于Marching Cube的声纳数据表面绘制技术。
基于GPU加速的海中场景建模与实时交互绘制方法包括如下步骤:
1)海中场景声纳数据针对声纳数据特点采用形态学方法和滤波对原始数据进行预处理,分为基于二值化的水体地层分离、基于梯度的目标检测和基于梯度统计与滤波的去噪增强;
2)利用GPU加速光线跟踪算法,基于数据的统计数据生成传递函数,并加入实时交互功能,实现可交互的海中场景三维体数据可视化建模;
3)使用基于范围检测的marchingCube方法和GPU加速方法,实现海中目标声纳数据表面提取和实时绘制。
步骤1)所述的水体地层分离为:
2.1)通过LOG变换改善数据范围,拓宽有效声纳数据范围;
2.2)采用高斯滤波快速去噪减弱水体中噪音的影响,并保留了水体地层分界线的原有性质;
2.3)通过灰度域上的形态学操作中的开运算去除目标与噪声物体,仅保留水体与地层数据;
2.4)基于水体与地层对声纳信号反应的不同,采用自动化阈值分割水体地层,阈值计算公式为:
&sigma; within 2 ( T ) = N Fgrnd ( T ) N &sigma; Fgrnd 2 ( T ) + N Bgrnd ( T ) N &sigma; grnd 2 ( T )
&sigma; between 2 ( T ) = &sigma; 2 - &sigma; within 2 ( T )
= ( &Sigma; x , y f 2 [ x , y ] ) - N Fgrnd N ( &Sigma; x , y &Element; Fgrnd f 2 [ x , y ] - &mu; Fgrnd 2 ) - N Bgrnd N ( &Sigma; x , y &Element; B grnd - &mu; 2 )
= - &mu; 2 + N Fgrnd N &mu; Fgrnd 2 + N Bgrnd N &mu; Bgrnd 2
= N Fgrnd N ( &mu; Fgrnd 2 - &mu; 2 ) 2 + N Bgrnd N ( &mu; Bgrnd 2 - &mu; 2 ) 2
= N Fgrmd ( T ) N Brnd ( T ) N ( &mu; Fgrnd ( T ) - &mu; Bgrnd ( T ) ) 2
式中σ代表方差,T代带表数据场,σwithin(T)代表数据场分割后前景方差和背景方差加权求和,σbetween(T)代表前景与背景的方差,即前景与背景的差别度量,N代表数据点个数,如NFgrnd(T)代表数据场T中前景数据点个数,NFgrnd(T)代表数据场T中背景数据点的个数,N代表数据场整体采样点个数。f[x,y]代表数据场中位于点[x,y]处的强度值,三维可拓展为f[x,y,z],μ代表全体数据平均值,μFgrnd和μBgrnd分别带便前景与背景数据点的平均值;
使用实际采集的水下M形电缆声纳数据进行步骤1)所述的水体地层分离,得到以下结果:图1是未经过任何处理直接水体地层分离结果,水体用黑色表示,地层用白色表示,图中M形状物体为水下布置的测试用电缆目标。图2是经过开运算处理后得到的效果图,噪声数据与不应影响分割的目标物体很好的被算法消除,继续使用开运算,得到如图3所示的数据。使用基于形态学的边缘检测技术得到如图4的分割边界,与源数据图比对如图5所示。本发明使用的方法很好的适应声纳数据的特点,得到良好的分割图像。
步骤1)所述的目标检测和去噪增强为:
3.1)计算三维数据场的梯度数据场;
3.2)统计梯度直方图数据场,发现数据场具有双峰特性或多峰特性;
3.3)基于梯度直方图进行门限分割出强度最大的波峰,即得到目标物体;
3.4)对其他波峰数据进行高斯滤波模糊处理,即得到去噪效果。
使用同样的水下M形电缆声纳数据,进行步骤1)所述的目标检测和去噪增强可以得到以下结果:如图6所示,如果忽略去噪步骤,仅用其余流程得到的三维数据场实时绘制图像,图中仅显示水体部分。加入去噪算法后,大部分噪声被消除,如图7所示,M型物体周围的噪声点明显的减少,为了更好的显示出目标与噪声,图7中渲染水体时采用了透明色。
所述的步骤2)为:使用GPU优化以下步骤:
4.1)基于梯度数据场和去噪后的声纳数据场计算加权求和得到新数据场
Ctrans=αCvolumedata+βCgradientdata
其中Cvolumedata代表源数据场,Cgradientdata代表梯度数据场,α与β为加权系数,Ctrans代表合成结果;
4.2)基于新数据场的梯度域统计计算得到可交互更改的传递函数;
4.3)以视点为起点,向RayCasting载体立方体表面投射射线,进行等距采样并进行颜色叠加混合;
co=αscs+(1-αs)cd
其中αs代表体素透明度,由传递函数提供。Cs为体素强度,Cd代表已叠加强度值,Co代表新得到的强度值,直到采样强度值的不透明度超过1,或采样深度超过数据场停止计算。
使用同样的水下M形电缆声纳数据进行步骤2),得到以下结果:统计得到新数据场的梯度域统计直方图如图8所示,依此生成的传递函数如图9所示,利用该传递函数渲染出了海底数据场的可视化图像,如图10所示。此例中为了突出显示目标物体,将步骤4.1)中的β取为1,而α取为0进行计算。在实际应用中,适当的改变可以得到更好的显示效果。
步骤3)所述的基于范围检测的marchingCube方法和GPU加速方法为:
5.1)将立方体的八个点进行编码20、21、22、23、24、25、26、27,将立方体所有的模式进行编码索引,进而将所有的模式放在模式纹理texture_Pattern中进行GPU端的处理与查询;
5.2)利用GPU的并行处理能力以及立方体之间相互独立的特性,对数据场的所有立方体进行分类,分类检索公式为:
Figure BDA0000441580920000091
其中index为当前立方体类别的索引,vertex[i]为立方体顶点i的数据场的值,[isovalue1,isovalue2]是目标的可能阈值动态范围,利用index在texture_Pattern中查找立方体所能产生的顶点个数numofvertex.然后更新相应的状态变量:
cubeVertexNumber[indexofcube]=numofvertex
cubeOccupied [ indexofcube ] = 0 numbofvertex < = 0 1 numberofvertex > 0
其中indexofcube为当前立方体在GPU上的编码;
5.3)利用Prefix-Sum算法对cubeOccupid数组进行处理,在cubeOccupidScan数组中保存当前包含顶点的立方体在所有包含顶点的立方体的排序;
5.4)利用Prefix-Sum处理的结果对立方体进行压缩处理,将不含有顶点的立方体剔除出去,压缩方法为:
compactCube[cubeOccupidScan[i]]=i  if(cubeOccupid[i]>0)
其中i为当前立方体的索引;处理结束后,compactCube数组中保存的是所有包含三角面片的立方体的索引;
5.5)利用cube的256中模式分别对每个含有三角面片的立方体进行处理,产生最终的顶点、法向、以及三角面片,计算公式为:
vertex = v 1 + ( isovalue - value 1 ) v 2 - v 1 value 2 - value 1
其中vertex为产生的顶点坐标,v1、v2为两个端点的坐标,value1、value2为两个端点的体数据值,Isovalue为体数据的阈值范围的平均值:
isovalue=(isovalue1+isovalue2)/2
normal为三角面片的法向:
normal=(v2-v1)×(v3-v2)
5.6)利用openGL显示最终的结果,加入了Tessellation Shader,设置曲面细分的等级,得到平滑的最终显示结果;
5.7)将marching cube获得的结果以obj格式进行保存。
由于M形电缆并不具有直观的边界,在步骤3)所述的基于范围检测的marchingCube方法和GPU加速方法时候,使用水下沉船纳数据,得到以下结果:图11是本发明的一个绘制结果。本发明在不提高三维数据分辨率的情况下绘制出一个比较平滑的结果。

Claims (5)

1.一种基于GPU加速的海中场景建模与实时交互绘制方法,其特征在于包括如下步骤: 
1)海中场景声纳数据针对声纳数据特点采用形态学方法和滤波对原始数据进行预处理,分为基于二值化的水体地层分离、基于梯度的目标检测和基于梯度统计与滤波的去噪增强; 
2)利用GPU加速光线跟踪算法,基于数据的统计数据生成传递函数,并加入实时交互功能,实现可交互的海中场景三维体数据可视化建模; 
3)使用基于范围检测的marchingCube方法和GPU加速方法,实现海中目标声纳数据表面提取和实时绘制。 
2.根据权利要求1所述的一种基于GPU加速的海中场景建模与实时交互绘制方法,其特征在于步骤1)所述的水体地层分离为: 
2.1)通过LOG变换改善数据范围,拓宽有效声纳数据范围; 
2.2)采用高斯滤波快速去噪减弱水体中噪音的影响,并保留了水体地层分界线的原有性质; 
2.3)通过灰度域上的形态学操作中的开运算去除目标与噪声物体,仅保留水体与地层数据; 
2.4)基于水体与地层对声纳信号反应的不同,采用自动化阈值分割水体地层,阈值计算公式为: 
Figure FDA0000441580910000011
Figure FDA0000441580910000013
Figure FDA0000441580910000014
Figure FDA0000441580910000016
式中σ代表方差,T代带表数据场,σwithin(T)代表数据场分割后前景方差和背景方差加权求和,σbetween(T)代表前景与背景的方差,即前景与背景的差别度量,N代表数据点个数,如NFgrnd(T)代表数据场T中前景数据点个数,NFgrnd(T)代表数据场T中背景数据点的个数,N代表数据场整体采样点个数。 f[x,y]代表数据场中位于点[x,y]处的强度值,三维可拓展为f[x,y,z],μ代表全体数据平均值,μFgrnd和μBgrnd分别带便前景与背景数据点的平均值。 
3.根据权利要求1所述的一种基于GPU加速的海中场景建模与实时交互绘制方法,其特征在于步骤1)所述的目标检测和去噪增强为: 
3.1)计算三维数据场的梯度数据场; 
3.2)统计梯度直方图数据场,发现数据场具有双峰特性或多峰特性; 
3.3)基于梯度直方图进行门限分割出强度最大的波峰,即得到目标物体; 
3.4)对其他波峰数据进行高斯滤波模糊处理,即得到去噪效果。 
4.根据权利要求1或3所述的一种基于GPU加速的海中场景建模与实时交互绘制方法,其特征在于所述的步骤2)为:使用GPU优化以下步骤: 
4.1)基于梯度数据场和去噪后的声纳数据场计算加权求和得到新数据场 
Ctrans=αCvolumedata+βCgradientdata
其中Cvolumedata代表源数据场,Cgradientdata代表梯度数据场,α与β为加权系数,Ctrans代表合成结果; 
4.2)基于新数据场的梯度域统计计算得到可交互更改的传递函数; 
4.3)以视点为起点,向RayCasting载体立方体表面投射射线,进行等距采样并进行颜色叠加混合; 
co=αscs+(1-αs)cd
其中αs代表体素透明度,由传递函数提供。Cs为体素强度,Cd代表已叠加强度值,Co代表新得到的强度值,直到采样强度值的不透明度超过1,或采样深度超过数据场停止计算。 
5.根据权利要求1所述的一种基于GPU加速的海中场景建模与实时交互绘制方法,其特征在于步骤3)所述的基于范围检测的marchingCube方法和GPU加速方法为: 
5.1)将立方体的八个点进行编码20、21、22、23、24、25、26、27,将立方体所有的模式进行编码索引,进而将所有的模式放在模式纹理texture_Pattern中进行GPU端的处理与查询; 
5.2)利用GPU的并行处理能力以及立方体之间相互独立的特性,对数据场的所有立方体进行分类,分类检索公式为: 
Figure FDA0000441580910000021
其中index为当前立方体类别的索引,vertex[i]为立方体顶点i的数据场的值,[isovalue1,isovalue2]是目标的可能阈值动态范围,利用index在texture_Pattern中查找立方体所能产生的顶点个数numofvertex.然后更新相应的状态变量: 
cubeVertexNumber[indexofcube]=numofvertex 
Figure FDA0000441580910000031
其中indexofcube为当前立方体在GPU上的编码; 
5.3)利用Prefix-Sum算法对cubeOccupid数组进行处理,在cubeOccupidScan数组中保存当前包含顶点的立方体在所有包含顶点的立方体的排序; 
5.4)利用Prefix-Sum处理的结果对立方体进行压缩处理,将不含有顶点的立方体剔除出去,压缩方法为: 
compactCube[cubeOccupidScan[i]]=i  if(cubeOccupid[i]>0) 
其中i为当前立方体的索引;处理结束后,compactCube数组中保存的是所有包含三角面片的立方体的索引; 
5.5)利用cube的256中模式分别对每个含有三角面片的立方体进行处理,产生最终的顶点、法向、以及三角面片,计算公式为: 
Figure FDA0000441580910000032
其中vertex为产生的顶点坐标,v1、v2为两个端点的坐标,value1、value2为两个端点的体数据值,Isovalue为体数据的阈值范围的平均值: 
isovalue=(isovalue1+isovalue2)/2 
normal为三角面片的法向: 
normal=(v2-v1)×(v3-v2) 
5.6)利用openGL显示最终的结果,加入了Tessellation Shader,设置曲面细分的等级,得到平滑的最终显示结果; 
5.7)将marching cube获得的结果以obj格式进行保存。 
CN201310703038.0A 2013-12-19 2013-12-19 一种基于gpu加速的海中场景建模与实时交互绘制方法 Active CN103714574B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310703038.0A CN103714574B (zh) 2013-12-19 2013-12-19 一种基于gpu加速的海中场景建模与实时交互绘制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310703038.0A CN103714574B (zh) 2013-12-19 2013-12-19 一种基于gpu加速的海中场景建模与实时交互绘制方法

Publications (2)

Publication Number Publication Date
CN103714574A true CN103714574A (zh) 2014-04-09
CN103714574B CN103714574B (zh) 2016-05-04

Family

ID=50407515

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310703038.0A Active CN103714574B (zh) 2013-12-19 2013-12-19 一种基于gpu加速的海中场景建模与实时交互绘制方法

Country Status (1)

Country Link
CN (1) CN103714574B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104574518A (zh) * 2014-12-26 2015-04-29 浙江大学 具有丰富细节的大规模海洋场景半物理绘制方法
CN104732582A (zh) * 2015-02-07 2015-06-24 中国海洋大学 基于gpu的三维海洋矢量场动态脉面可视化算法
CN104869323A (zh) * 2015-05-18 2015-08-26 成都平行视野科技有限公司 一种基于gpu的模块化实时视频与图像处理方法
CN104881660A (zh) * 2015-06-17 2015-09-02 吉林纪元时空动漫游戏科技股份有限公司 基于gpu加速的人脸表情识别及互动方法
CN105701860A (zh) * 2016-02-29 2016-06-22 江苏美伦影像***有限公司 一种体绘制方法
CN105809731A (zh) * 2016-03-09 2016-07-27 哈尔滨工业大学深圳研究生院 并行化光线投射方法、***及装置
CN105957132A (zh) * 2016-04-21 2016-09-21 北京大学 包含高度复杂绘制元素的三维场景高性能绘制优化方法
CN106991721A (zh) * 2017-03-31 2017-07-28 山东超越数控电子有限公司 一种基于国产平台的地形可视化实现方法
CN110111422A (zh) * 2019-03-28 2019-08-09 浙江碧晟环境科技有限公司 一种水体底部三角面网构建方法
CN110136262A (zh) * 2019-05-17 2019-08-16 中科三清科技有限公司 水体虚拟可视化方法和装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
宋坤坡: "《水声三维数据场的可视化技术研究》", 《万方学位论文》 *
张迎平等: "《基于区间树硬件加速索引的Marching Cubes算法》", 《计算机辅助设计与图形学学报》 *
袁斌: "《改进的均匀数据场GPU光线投射》", 《中国图象图形学报》 *
黄辉等: "《三维可视化技术研究》", 《信息工程大学学报》 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104574518B (zh) * 2014-12-26 2017-07-11 浙江大学 具有丰富细节的大规模海洋场景半物理绘制方法
CN104574518A (zh) * 2014-12-26 2015-04-29 浙江大学 具有丰富细节的大规模海洋场景半物理绘制方法
CN104732582A (zh) * 2015-02-07 2015-06-24 中国海洋大学 基于gpu的三维海洋矢量场动态脉面可视化算法
CN104732582B (zh) * 2015-02-07 2019-01-04 中国海洋大学 基于gpu的三维海洋矢量场动态脉面可视化方法
CN104869323A (zh) * 2015-05-18 2015-08-26 成都平行视野科技有限公司 一种基于gpu的模块化实时视频与图像处理方法
CN104881660B (zh) * 2015-06-17 2018-01-09 吉林纪元时空动漫游戏科技集团股份有限公司 基于gpu加速的人脸表情识别及互动方法
CN104881660A (zh) * 2015-06-17 2015-09-02 吉林纪元时空动漫游戏科技股份有限公司 基于gpu加速的人脸表情识别及互动方法
CN105701860A (zh) * 2016-02-29 2016-06-22 江苏美伦影像***有限公司 一种体绘制方法
CN105809731A (zh) * 2016-03-09 2016-07-27 哈尔滨工业大学深圳研究生院 并行化光线投射方法、***及装置
CN105809731B (zh) * 2016-03-09 2018-10-19 哈尔滨工业大学深圳研究生院 并行化光线投射方法、***及装置
CN105957132A (zh) * 2016-04-21 2016-09-21 北京大学 包含高度复杂绘制元素的三维场景高性能绘制优化方法
CN105957132B (zh) * 2016-04-21 2019-03-08 北京大学 包含高度复杂绘制元素的三维场景高性能绘制优化方法
CN106991721A (zh) * 2017-03-31 2017-07-28 山东超越数控电子有限公司 一种基于国产平台的地形可视化实现方法
CN110111422A (zh) * 2019-03-28 2019-08-09 浙江碧晟环境科技有限公司 一种水体底部三角面网构建方法
CN110136262A (zh) * 2019-05-17 2019-08-16 中科三清科技有限公司 水体虚拟可视化方法和装置

Also Published As

Publication number Publication date
CN103714574B (zh) 2016-05-04

Similar Documents

Publication Publication Date Title
CN103714574B (zh) 一种基于gpu加速的海中场景建模与实时交互绘制方法
Han et al. Underwater image processing and object detection based on deep CNN method
CN110648342B (zh) 基于nsst显著性检测及图割的泡沫红外图像分割方法
CN107742102B (zh) 一种基于深度传感器的手势识别方法
CN110009743B (zh) 一种场景理解的网格曲面重建方法
CN111832655B (zh) 一种基于特征金字塔网络的多尺度三维目标检测方法
CN102496023B (zh) 像素层面的感兴趣区域提取方法
CN109584284B (zh) 一种分层决策的滨海湿地地物样本提取方法
CN102930576A (zh) 一种基于特征流的抽象线条画生成方法
CN104834931A (zh) 一种基于小波变换的改进的尺度不变特征匹配算法
CN107590831A (zh) 一种基于深度学习的立体匹配方法
CN111582218A (zh) 一种基于深度学习的遥感影像岛礁提取方法
CN107180436A (zh) 一种改进的kaze图像匹配算法
CN106446925A (zh) 一种基于图像处理的海豚身份识别的方法
CN103971377A (zh) 基于先验形状水平集分割的建筑物提取方法
Zhao et al. A saliency detection based method for 3d surface simplification
Yu et al. Automatic extraction of green tide from GF-3 SAR images based on feature selection and deep learning
CN115393734A (zh) 基于Faster R-CNN与CV模型联合方法的SAR图像舰船轮廓提取方法
CN113570005A (zh) 一种基于机载光子雷达的远距离舰船类型识别方法
CN109064556B (zh) 一种面向isr的地貌高精度仿真建模***
CN114627372A (zh) 基于域内迁移学习的宽幅遥感影像舰船目标快速检测方法
CN102819840B (zh) 一种纹理图像的分割方法
CN113345089A (zh) 一种基于电力塔点云的规则化建模方法
CN113724400A (zh) 一种面向倾斜摄影的多属性融合建筑物点云提取方法
CN111105390B (zh) 一种改进的海天线检测和评估方法

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