[发明专利]一种基于GPU加速的海中场景建模与实时交互绘制方法有效
申请号: | 201310703038.0 | 申请日: | 2013-12-19 |
公开(公告)号: | CN103714574A | 公开(公告)日: | 2014-04-09 |
发明(设计)人: | 王章野;王丰金;廖惟博 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06T17/00 | 分类号: | G06T17/00;G06T5/00 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 张法高 |
地址: | 310027 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 gpu 加速 场景 建模 实时 交互 绘制 方法 | ||
1.一种基于GPU加速的海中场景建模与实时交互绘制方法,其特征在于包括如下步骤:
1)海中场景声纳数据针对声纳数据特点采用形态学方法和滤波对原始数据进行预处理,分为基于二值化的水体地层分离、基于梯度的目标检测和基于梯度统计与滤波的去噪增强;
2)利用GPU加速光线跟踪算法,基于数据的统计数据生成传递函数,并加入实时交互功能,实现可交互的海中场景三维体数据可视化建模;
3)使用基于范围检测的marchingCube方法和GPU加速方法,实现海中目标声纳数据表面提取和实时绘制。
2.根据权利要求1所述的一种基于GPU加速的海中场景建模与实时交互绘制方法,其特征在于步骤1)所述的水体地层分离为:
2.1)通过LOG变换改善数据范围,拓宽有效声纳数据范围;
2.2)采用高斯滤波快速去噪减弱水体中噪音的影响,并保留了水体地层分界线的原有性质;
2.3)通过灰度域上的形态学操作中的开运算去除目标与噪声物体,仅保留水体与地层数据;
2.4)基于水体与地层对声纳信号反应的不同,采用自动化阈值分割水体地层,阈值计算公式为:
式中σ代表方差,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的并行处理能力以及立方体之间相互独立的特性,对数据场的所有立方体进行分类,分类检索公式为:
其中index为当前立方体类别的索引,vertex[i]为立方体顶点i的数据场的值,[isovalue1,isovalue2]是目标的可能阈值动态范围,利用index在texture_Pattern中查找立方体所能产生的顶点个数numofvertex.然后更新相应的状态变量:
cubeVertexNumber[indexofcube]=numofvertex
其中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为产生的顶点坐标,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格式进行保存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310703038.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:基于可见光通信的门禁系统
- 下一篇:安全联锁装置