一種基于gpu加速的海中場(chǎng)景建模與實(shí)時(shí)交互繪制方法
【專利摘要】本發(fā)明公開了一種基于GPU加速的海中場(chǎng)景建模與實(shí)時(shí)交互繪制方法。其步驟為:(1)對(duì)海中場(chǎng)景聲納數(shù)據(jù)進(jìn)行預(yù)處理:水體地層分離、目標(biāo)檢測(cè)、去噪增強(qiáng);(2)利用GPU加速實(shí)現(xiàn)了可交互的基于光線投射方法的海中場(chǎng)景三維體數(shù)據(jù)可視化建模;(3)基于GPU加速實(shí)現(xiàn)了海中目標(biāo)聲納數(shù)據(jù)表面提取和實(shí)時(shí)繪制。本發(fā)明解決了以往可視化算法不適用海中場(chǎng)景聲納數(shù)據(jù)快速建模和交互可視化分析的問題。減少了主觀因素影響,使得數(shù)據(jù)的初始可視化結(jié)果更加準(zhǔn)確。本發(fā)明使用曲面細(xì)分方法對(duì)marchingcube算法的目標(biāo)表面提取結(jié)果進(jìn)行優(yōu)化處理,得到平滑的渲染結(jié)果。最終,實(shí)現(xiàn)了海中場(chǎng)景建模與實(shí)時(shí)交互繪制。
【專利說明】—種基于GPU加速的海中場(chǎng)景建模與實(shí)時(shí)交互繪制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及三維數(shù)據(jù)場(chǎng)可視化與三維幾何表面獲取與繪制領(lǐng)域,尤其涉及一種基于GPU加速的海中場(chǎng)景建模與實(shí)時(shí)交互繪制方法。
【背景技術(shù)】
[0002]海中聲納數(shù)據(jù)可視化技術(shù)主要是利用海中聲納數(shù)據(jù)作為信息源,采用一定的數(shù)據(jù)處理和三維建模方法,建立水下聲納數(shù)據(jù)的三維可視化及交互分析系統(tǒng)。當(dāng)今海洋資源的開發(fā)與利用是新世紀(jì)經(jīng)濟(jì)增長的熱點(diǎn),對(duì)海洋的探測(cè)手段也在不斷豐富。近些年來,對(duì)于海面場(chǎng)景的建模與繪制工作取得了不少進(jìn)展,在場(chǎng)景的真實(shí)感模擬上也取得了相當(dāng)大的成功,相對(duì)應(yīng)的流體模擬方法,也已經(jīng)取得了廣泛的應(yīng)用。然而與之相對(duì)的是:海中(海表面之下)場(chǎng)景的繪制與建模工作進(jìn)展偏少,其原因之一是由于計(jì)算量的龐大,原因之二是因?yàn)槁暭{數(shù)據(jù)來源的不精確性。本技術(shù)針對(duì)海中場(chǎng)景聲納數(shù)據(jù)進(jìn)行了預(yù)處理與優(yōu)化,減少了數(shù)據(jù)中的噪聲并提高的數(shù)據(jù)的精確性,采用了形態(tài)學(xué)上的圖像分割技術(shù)來對(duì)海底的水體和土地部分進(jìn)行分別處理以提高識(shí)別精度。使用了 GPU加速技術(shù)使得繪制與目標(biāo)特征交互分析達(dá)到了實(shí)時(shí)。
[0003]下面先介紹已有的三維數(shù)據(jù)場(chǎng)繪制方法:
[0004]I)光線投射(RayCasting)算法
[0005]RayCasting算法是以圖象空間未最終渲染結(jié)果的載體,從載體空間的每一個(gè)像素出發(fā),逆視點(diǎn)方向發(fā)射射線穿越三維數(shù)據(jù)長。沿射線進(jìn)行等距采樣,并根據(jù)數(shù)據(jù)場(chǎng)中的數(shù)據(jù),求出該采樣點(diǎn)的光學(xué)性質(zhì)。將每條射線上的所有采樣點(diǎn)的光學(xué)性質(zhì)依據(jù)光學(xué)模型進(jìn)行疊加,計(jì)算得到出發(fā)點(diǎn)的像素顏色空間屬性,從而得到可視載體的紋理分布。該算法需要遍歷三維數(shù)據(jù)場(chǎng),視點(diǎn)改變時(shí)采樣點(diǎn)需重新計(jì)算,導(dǎo)致了龐大的計(jì)算量。
[0006]2)拋雪球法
[0007]這種算法與的RayCasting算法所不同的是,它遍歷三維數(shù)據(jù)長的每一個(gè)體素進(jìn)行計(jì)算。它利用一個(gè)函數(shù)來代表每一個(gè)體素投射到可視空間的影響強(qiáng)度,我們一般稱之為Footprint。計(jì)算每一個(gè)體素投射的影響范圍,從而計(jì)算出對(duì)圖像的總體貢獻(xiàn),疊加以生成最后的圖像。這種算法就好像每個(gè)體素像屏幕上扔雪球,打擊在屏幕上殘留一定的痕跡,因而得名。這樣的計(jì)算方法,雖然讓我們僅僅考慮與顯示有關(guān)的體素,從而大大減少了數(shù)據(jù)量,但視點(diǎn)的變換導(dǎo)致所有疊加重新計(jì)算,依然無法實(shí)時(shí)顯示。
[0008]常用的算法還有很多:錯(cuò)切變換法、三維紋理映射法等。但傳統(tǒng)的光線投射(RayCasting)算法有三大缺點(diǎn):一是傳遞函數(shù)(transfer function)需要靠人工干預(yù)來進(jìn)行調(diào)節(jié),想要得到一個(gè)比較好的結(jié)果,往往需要花費(fèi)較長的時(shí)間;二是傳統(tǒng)的RayCasting算法往往是在CPU端實(shí)現(xiàn)的,可交互性比較差;三是傳統(tǒng)的的算法對(duì)整個(gè)體數(shù)據(jù)使用一個(gè)tranfer function,而對(duì)于像聲納這類需要分類處理的數(shù)據(jù)則無法處理。
[0009]同樣,傳統(tǒng)的Marching Cube方法也不適用于聲納數(shù)據(jù),傳統(tǒng)的marching cube方法在提取表面時(shí)閾值比較單一,而對(duì)于類似聲納這類數(shù)據(jù),往往目標(biāo)取值處于一個(gè)范圍內(nèi),傳統(tǒng)的方法無法處理;另外如果需要獲得一個(gè)比較平滑的結(jié)果,傳統(tǒng)的方法往往需要將增加立方體的分辨率,而這將大大增加處理的數(shù)據(jù)量。
[0010]除此之外,聲納三維數(shù)據(jù)場(chǎng)由于受到環(huán)境的影響較大。受混響、散焦、噪聲等因素影響,一般數(shù)據(jù)場(chǎng)的直接可視化無法得到足夠準(zhǔn)確的可視化圖像。總結(jié)來看聲納數(shù)據(jù)主要包括以下特征:
[0011]1.數(shù)據(jù)場(chǎng)中的邊緣輪廓十分模糊,且呈現(xiàn)出較為嚴(yán)重的缺失或變形情況;
[0012]2.受到聲波信號(hào)波長較長、頻率較低的影響,結(jié)果缺少高頻細(xì)節(jié)信息,導(dǎo)致很多的邊緣識(shí)別算法無法實(shí)現(xiàn);
[0013]3.聲納信號(hào)噪聲分布較廣,雖然表現(xiàn)形式單一,主要是高頻脈沖信號(hào),但由于波動(dòng)幅度相對(duì)較大,對(duì)結(jié)果圖像的影響依然很大。
[0014]4.聲納數(shù)據(jù)場(chǎng)中的目標(biāo)信號(hào)對(duì)聲波的反應(yīng)強(qiáng)度相對(duì)單一,因此灰度級(jí)相對(duì)較少。但噪聲數(shù)據(jù)由于產(chǎn)生原因多樣,所以在多灰度級(jí)中都有出現(xiàn)。
[0015]5.聲納信號(hào)在水體與地層當(dāng)中的傳播有所不同,會(huì)產(chǎn)生不同的信號(hào)屬性,
[0016]綜上所述,聲納三維數(shù)據(jù)場(chǎng)的可視化難以使用現(xiàn)有方法進(jìn)行繪制與重建。
[0017]由于此類聲納數(shù)據(jù)的特點(diǎn),傳統(tǒng)的三維數(shù)據(jù)可視化算法的直接應(yīng)用得到效果受到嚴(yán)重影響。并且,傳統(tǒng)的去噪算法(如中值濾波、雙邊濾波、直方圖均衡化等)都不適用于聲納數(shù)據(jù)。而基于小波的處理方法、基于模糊理論的處理算法、神經(jīng)網(wǎng)絡(luò)算法等也難以應(yīng)付過大的數(shù)據(jù)量。
[0018]基于以上的原因,以往的方法難以獲得完善的實(shí)時(shí)聲納數(shù)據(jù)可視化。
[0019]
【發(fā)明內(nèi)容】
[0020]本發(fā)明的目的是克服現(xiàn)有技術(shù)的不足,提供一種基于GPU加速的海中場(chǎng)景建模與實(shí)時(shí)交互繪制方法。
[0021]基于GPU加速的海中場(chǎng)景建模與實(shí)時(shí)交互繪制方法包括如下步驟:
[0022]I)海中場(chǎng)景聲納數(shù)據(jù)針對(duì)聲納數(shù)據(jù)特點(diǎn)采用形態(tài)學(xué)方法和濾波對(duì)原始數(shù)據(jù)進(jìn)行預(yù)處理,分為基于二值化的水體地層分離、基于梯度的目標(biāo)檢測(cè)和基于梯度統(tǒng)計(jì)與濾波的去噪增強(qiáng);
[0023]2)利用GPU加速光線跟蹤算法,基于數(shù)據(jù)的統(tǒng)計(jì)數(shù)據(jù)生成傳遞函數(shù),并加入實(shí)時(shí)交互功能,實(shí)現(xiàn)可交互的海中場(chǎng)景三維體數(shù)據(jù)可視化建模;
[0024]3)使用基于范圍檢測(cè)的marchingCube方法和GPU加速方法,實(shí)現(xiàn)海中目標(biāo)聲納數(shù)據(jù)表面提取和實(shí)時(shí)繪制。
[0025]步驟I)所述的水體地層分離為:
[0026]2.1)通過LOG變換改善數(shù)據(jù)范圍,拓寬有效聲納數(shù)據(jù)范圍;
[0027]2.2)采用高斯濾波快速去噪減弱水體中噪音的影響,并保留了水體地層分界線的原有性質(zhì);
[0028]2.3)通過灰度域上的形態(tài)學(xué)操作中的開運(yùn)算去除目標(biāo)與噪聲物體,僅保留水體與地層數(shù)據(jù);
[0029]2.4)基于水體與地層對(duì)聲納信號(hào)反應(yīng)的不同,采用自動(dòng)化閾值分割水體地層,閾值計(jì)算公式為:
【權(quán)利要求】
1.一種基于GPU加速的海中場(chǎng)景建模與實(shí)時(shí)交互繪制方法,其特征在于包括如下步驟: 1)海中場(chǎng)景聲納數(shù)據(jù)針對(duì)聲納數(shù)據(jù)特點(diǎn)采用形態(tài)學(xué)方法和濾波對(duì)原始數(shù)據(jù)進(jìn)行預(yù)處理,分為基于二值化的水體地層分離、基于梯度的目標(biāo)檢測(cè)和基于梯度統(tǒng)計(jì)與濾波的去噪增強(qiáng); 2)利用GPU加速光線跟蹤算法,基于數(shù)據(jù)的統(tǒng)計(jì)數(shù)據(jù)生成傳遞函數(shù),并加入實(shí)時(shí)交互功能,實(shí)現(xiàn)可交互的海中場(chǎng)景三維體數(shù)據(jù)可視化建模; 3)使用基于范圍檢測(cè)的marchingCube方法和GPU加速方法,實(shí)現(xiàn)海中目標(biāo)聲納數(shù)據(jù)表面提取和實(shí)時(shí)繪制。
2.根據(jù)權(quán)利要求1所述的一種基于GPU加速的海中場(chǎng)景建模與實(shí)時(shí)交互繪制方法,其特征在于步驟I)所述的水體地層分離為: 2.1)通過LOG變換改善數(shù)據(jù)范圍,拓寬有效聲納數(shù)據(jù)范圍; 2.2)采用高斯濾波快速去噪減弱水體中噪音的影響,并保留了水體地層分界線的原有性質(zhì); 2.3)通過灰度域上的形態(tài)學(xué)操作中的開運(yùn)算去除目標(biāo)與噪聲物體,僅保留水體與地層數(shù)據(jù); 2.4)基于水體與地層對(duì)聲納信號(hào)反應(yīng)的不同,采用自動(dòng)化閾值分割水體地層,閾值計(jì)算公式為:
3.根據(jù)權(quán)利要求1所述的一種基于GPU加速的海中場(chǎng)景建模與實(shí)時(shí)交互繪制方法,其特征在于步驟I)所述的目標(biāo)檢測(cè)和去噪增強(qiáng)為:.3.1)計(jì)算三維數(shù)據(jù)場(chǎng)的梯度數(shù)據(jù)場(chǎng); .3.2)統(tǒng)計(jì)梯度直方圖數(shù)據(jù)場(chǎng),發(fā)現(xiàn)數(shù)據(jù)場(chǎng)具有雙峰特性或多峰特性; .3.3)基于梯度直方圖進(jìn)行門限分割出強(qiáng)度最大的波峰,即得到目標(biāo)物體; .3.4)對(duì)其他波峰數(shù)據(jù)進(jìn)行高斯濾波模糊處理,即得到去噪效果。
4.根據(jù)權(quán)利要求1或3所述的一種基于GPU加速的海中場(chǎng)景建模與實(shí)時(shí)交互繪制方法,其特征在于所述的步驟2)為:使用GPU優(yōu)化以下步驟: . 4.1)基于梯度數(shù)據(jù)場(chǎng)和去噪后的聲納數(shù)據(jù)場(chǎng)計(jì)算加權(quán)求和得到新數(shù)據(jù)場(chǎng)
Ctrans=volumedata+gradientdata 其中c—代表源數(shù)據(jù)場(chǎng),Cgradimtdata代表梯度數(shù)據(jù)場(chǎng),α與β為加權(quán)系數(shù),Ctans代表合成結(jié)果; .4.2)基于新數(shù)據(jù)場(chǎng)的梯度域統(tǒng)計(jì)計(jì)算得到可交互更改的傳遞函數(shù); .4.3)以視點(diǎn)為起點(diǎn),向RayCasting載體立方體表面投射射線,進(jìn)行等距采樣并進(jìn)行顏色疊加混合;
C0 = α scs+(l-a s)cd 其中a s代表體素透明度,由傳遞函數(shù)提供。Cs為體素強(qiáng)度,Cd代表已疊加強(qiáng)度值,C。代表新得到的強(qiáng)度值,直到采樣強(qiáng)度值的不透明度超過1,或采樣深度超過數(shù)據(jù)場(chǎng)停止計(jì)算。
5.根據(jù)權(quán)利要求1所述的一種基于GPU加速的海中場(chǎng)景建模與實(shí)時(shí)交互繪制方法,其特征在于步驟3)所述的基于范圍檢測(cè)的marchingCube方法和GPU加速方法為: .5.1)將立方體的八個(gè)點(diǎn)進(jìn)行編碼將立方體所有的模式進(jìn)行編碼索引,進(jìn)而將所有的模式放在模式紋理texture_Pattern中進(jìn)行GPU端的處理與查詢; . 5.2)利用GPU的并行處理能力以及立方體之間相互獨(dú)立的特性,對(duì)數(shù)據(jù)場(chǎng)的所有立方體進(jìn)行分類,分類檢索公式為:
【文檔編號(hào)】G06T5/00GK103714574SQ201310703038
【公開日】2014年4月9日 申請(qǐng)日期:2013年12月19日 優(yōu)先權(quán)日:2013年12月19日
【發(fā)明者】王章野, 王豐金, 廖惟博 申請(qǐng)人:浙江大學(xué)