呂夢雅,張 鵬,劉培藝,唐 勇,李 穎
1(燕山大學(xué) 信息科學(xué)與工程學(xué)院,河北 秦皇島 066004)
2(河北省計(jì)算機(jī)虛擬技術(shù)與系統(tǒng)集成重點(diǎn)實(shí)驗(yàn)室,河北 秦皇島 066004)
E-mail:tangyong@ysu.edu.cn
近年來,中國沿海城鎮(zhèn)工業(yè)化發(fā)展進(jìn)程加快,沿海海域污染程度日趨嚴(yán)重,對沿海居民的身體健康和沿海海域內(nèi)的生態(tài)環(huán)境造成了極大的影響.因此,模擬海洋污染擴(kuò)散對于了解污染物在海洋中擴(kuò)散的過程和程度以及有效地治理沿海污染具有重要的現(xiàn)實(shí)意義和廣泛的應(yīng)用前景,但由于污染物在大規(guī)模海洋中擴(kuò)散受到多種外界因素的影響,較難展現(xiàn)大規(guī)模海洋污染擴(kuò)散蔓延等細(xì)節(jié).
真實(shí)感的海洋場景一直都是計(jì)算機(jī)圖形學(xué)的研究熱點(diǎn).為模擬逼真的大規(guī)模海洋污染場景,不少國內(nèi)外研究人員取得了很多優(yōu)秀的研究成果.2015年,Christopher等[1]對多種非定向海浪譜以及方向分布函數(shù)進(jìn)行研究對比,提出了一個(gè)“swell”參數(shù)來模擬從波濤洶涌海面到平靜海面的平滑過渡,但模擬海面陡峰突兀,真實(shí)感較差;2016年,唐勇等[2]將光強(qiáng)、太陽光顏色和位置信息加入到海面顏色的計(jì)算中,實(shí)現(xiàn)了不同時(shí)刻海島周圍海水的顏色變化,但僅可以實(shí)現(xiàn)具有一定幅度海面,且并未考慮到存在污染物時(shí)海面顏色的變化,具有較大的局限性;2018年,Jeschke等[3]提出了一種基于小波變換的海浪實(shí)時(shí)構(gòu)造方法,實(shí)現(xiàn)了大規(guī)模、可交互且能體現(xiàn)微小細(xì)節(jié)的海面場景,但并沒有考慮存在污染物時(shí)海面波動(dòng)情況;同年鄒長軍等[4]采用紋理投影技術(shù),實(shí)現(xiàn)了基于GPU的海面溢油實(shí)時(shí)可視化方法,但紋理投影實(shí)現(xiàn)的海面溢油效果細(xì)節(jié)不足,真實(shí)感較差;2011年,劉世光等[5]基于渾濁水體成分對光學(xué)特性的影響,提出了一個(gè)渾濁水體的光學(xué)模型,根據(jù)光線在渾濁水體中的傳播及衰減作用,將其轉(zhuǎn)化為RGB顏色系統(tǒng)進(jìn)行繪制.但是該方法僅僅考慮水中小顆粒的影響,光學(xué)模型的計(jì)算精度較差,真實(shí)感較差.2012年,Jinjin Shi等[6]基于生物光學(xué)模型應(yīng)用光子映射技術(shù)在小規(guī)模水體內(nèi)實(shí)現(xiàn)了水內(nèi)可溶有機(jī)物與懸浮顆粒的擴(kuò)散效果,但是光子映射技術(shù)計(jì)算量過大,實(shí)時(shí)性較差,且僅應(yīng)用于小規(guī)模水體渲染.2017年,Rufu Q等[7]提出了一種基于分子布朗運(yùn)動(dòng)和粒子跟蹤擴(kuò)散模型的污染物擴(kuò)散預(yù)測系統(tǒng),并與GIS系統(tǒng)結(jié)合,為水體污染預(yù)警提供依據(jù),但并未實(shí)現(xiàn)三維空間的海面污染物擴(kuò)散模擬.2004年,Dobbins等[8]分析了基于GIS進(jìn)行管理和預(yù)測水體中污染物擴(kuò)散漂移進(jìn)程的系統(tǒng),但其僅模擬二維平面的海面污染物擴(kuò)散模擬,并未擴(kuò)展至三維空間場景.2006年Weiss等[9]提出了一種基于CPU的中值濾波算法,提高傳統(tǒng)濾波算法效率.
因此,提出一種結(jié)合投影網(wǎng)格和元胞自動(dòng)機(jī)的方法動(dòng)態(tài)模擬大規(guī)模海洋污染物的擴(kuò)散.首先,利用投影網(wǎng)格繪制大規(guī)模海面,并采用元胞自動(dòng)機(jī)對水體中污染物的擴(kuò)散漂移過程進(jìn)行模擬;然后,利用高斯平滑濾波算法并引進(jìn)濃度因子增加污染物擴(kuò)散漂移過程的細(xì)節(jié).最后,采用四叉樹算法簡化海面網(wǎng)格,提高繪制速率,實(shí)現(xiàn)大規(guī)模海面污染物擴(kuò)散實(shí)時(shí)動(dòng)態(tài)模擬.
為模擬大規(guī)模海面場景,常采用海面網(wǎng)格將大規(guī)模海面劃分為規(guī)則網(wǎng)格.由于Nyquist極限的限制,為平衡計(jì)算量和模擬細(xì)節(jié),采用投影網(wǎng)格算法搭建海面網(wǎng)格.
傳統(tǒng)的投影網(wǎng)格算法通過在投影空間中創(chuàng)建規(guī)則的網(wǎng)格,并將網(wǎng)格投影到世界空間中的基準(zhǔn)平面上,最后根據(jù)高度場函數(shù)移動(dòng)頂點(diǎn).但是當(dāng)視線方向與基準(zhǔn)平面平行時(shí),視線方向與基準(zhǔn)平面不相交,該算法失效.同時(shí)視點(diǎn)高度小于基準(zhǔn)平面時(shí),該算法也會(huì)出現(xiàn)問題.
圖1 優(yōu)化的投影網(wǎng)格算法示意圖
為解決上述問題,應(yīng)用改進(jìn)的投影網(wǎng)格算法,通過引入一個(gè)輔助相機(jī)以達(dá)到填充屏幕網(wǎng)格的作用.輔助相機(jī)的位置與相機(jī)位置重合,輔助相機(jī)的視景體的下切割平面始終垂直與水平面,而其他切割平面與原相機(jī)的視景體相應(yīng)的切割平面保持一致,如圖1所示.通過該方法可以使投影網(wǎng)格始終覆蓋整個(gè)屏幕網(wǎng)格.
污染物在海面中的擴(kuò)散過程受到水體流速、流向、風(fēng)向、風(fēng)速和自身的物理性質(zhì)等多種因素影響,所以其過程具有局部性、時(shí)空離散型等特點(diǎn).由于元胞自動(dòng)機(jī)具有快速模擬復(fù)雜系統(tǒng)局部時(shí)空演化過程的能力,采用元胞自動(dòng)機(jī)模擬污染物在大規(guī)模海面中的擴(kuò)散過程.
元胞自動(dòng)機(jī)通常由元胞、元胞空間、鄰域和狀態(tài)演化規(guī)則構(gòu)成.第2節(jié)所述投影網(wǎng)格的每一個(gè)規(guī)則網(wǎng)格定義為一個(gè)元胞,每一個(gè)元胞的狀態(tài)由周圍鄰域的元胞狀態(tài)共同決定.
3.1.1 濃度因子優(yōu)化元胞自動(dòng)機(jī)狀態(tài)
(1)
3.1.2 海面污染物擴(kuò)散元胞自動(dòng)機(jī)的擴(kuò)散規(guī)則
以二維元胞自動(dòng)機(jī)為模型,并采用摩爾型鄰域.同時(shí)為簡化計(jì)算,假設(shè)海洋中的污染物不會(huì)與海水發(fā)生化學(xué)反應(yīng)以及發(fā)生蒸發(fā)、降解和乳化等現(xiàn)象,污染物僅受到本身分子運(yùn)動(dòng)和水流以及風(fēng)的作用.根據(jù)上述假設(shè),污染物在海水中擴(kuò)散的過程中會(huì)發(fā)生分子擴(kuò)散和機(jī)械彌散兩種情況.
當(dāng)污染物流入海洋時(shí),由于污染物本身的分子運(yùn)動(dòng),污染物通常由高濃度處向低濃度處擴(kuò)散,這種擴(kuò)散稱為分子擴(kuò)散.根據(jù)菲克定律,可以得到污染物在海面的擴(kuò)散規(guī)則:
(2)
其中M為質(zhì)量,i,j為行列號(hào),m為靜態(tài)擴(kuò)散系數(shù),d為斜向系數(shù),t為時(shí)刻.根據(jù)Karafyllidis[10]的研究得知,當(dāng)m=0.084、d=0.16時(shí)模擬效果最契合實(shí)際情況.
在實(shí)際情況中,水流和風(fēng)對污染物的擴(kuò)散存在重大的影響,這種由于水速或風(fēng)速造成的擴(kuò)散漂移現(xiàn)象被稱為機(jī)械彌散.結(jié)合分子擴(kuò)散和機(jī)械彌散,可得到海水中污染物擴(kuò)散元胞自動(dòng)機(jī)的擴(kuò)散規(guī)則:
(3)
其中W為元胞八個(gè)方向上的修正系數(shù).
元胞自動(dòng)機(jī)是基于規(guī)則的投影網(wǎng)格,而網(wǎng)格分辨率受到計(jì)算資源的限制,往往是有限的.當(dāng)網(wǎng)格分辨率較低時(shí),邊緣處就會(huì)出現(xiàn)明顯的鋸齒現(xiàn)象.為解決上述問題,采用高斯平滑濾波法進(jìn)行元胞自動(dòng)機(jī)邊緣的平滑處理,以達(dá)到改善邊緣鋸齒化的目的.
高斯平滑濾波算法原理是每一個(gè)像素點(diǎn)都由其本身和鄰域內(nèi)的其他像素值加權(quán)得到.隨著鄰域像素點(diǎn)距離中心像素點(diǎn)的距離增加,其權(quán)值將迅速減小,從而使像素點(diǎn)的顏色過渡更加自然.其主要思想是通過對高斯函數(shù)進(jìn)行離散化,以離散點(diǎn)上的高斯函數(shù)值為權(quán)值對鄰域內(nèi)像素點(diǎn)的加權(quán)平均,即可達(dá)到平滑邊緣的目的.
對于一個(gè)N×N的鄰域,窗口模板大小為(2h+1)×(2h+1)的高斯卷積核為:
(4)
其中σ為方差,h為模板矩陣的維數(shù),m,n為窗口內(nèi)相對于中心元素點(diǎn)的相對坐標(biāo).
(5)
在大規(guī)模海面的污染物擴(kuò)散模擬過程中,元胞自動(dòng)機(jī)和投影網(wǎng)格需要大量的離散數(shù)據(jù),簡單的數(shù)據(jù)存儲(chǔ)往往會(huì)降低繪制速率.引入四叉樹算法提高場景繪制速率.將海面平面分割成四個(gè)相等的四邊形,依次迭代細(xì)分,直到滿足繪制的網(wǎng)格分辨率或給定的閾值為止.每次迭代出的四邊形都為四叉樹的一個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)保存該區(qū)域所包含的所有信息,例如中心點(diǎn)的高度值、分割閾值、水流速度、水流方向、風(fēng)速、風(fēng)向、深度值等網(wǎng)格數(shù)據(jù).在繪制海洋中污染物的擴(kuò)散過程時(shí),通過遍歷的方式,對四叉樹的每一個(gè)節(jié)點(diǎn)進(jìn)行訪問,如圖2所示.
圖2 四叉樹算法簡化網(wǎng)格示意圖
實(shí)驗(yàn)采用基于Windows系統(tǒng),Unity3d平臺(tái)開發(fā)的基于元胞自動(dòng)機(jī)的大規(guī)模海面污染物擴(kuò)散仿真系統(tǒng),硬件環(huán)境為:Intel(R)Core(TM)i7 CPU 4790 3.60GHz,8G RAM,顯卡為ATI AMD Radeon R7 200 Series.
圖3中為采用本文算法繪制不同分辨率的海面效果與文獻(xiàn)[1]中海面效果的對比,圖3(a)為文獻(xiàn)[1]中采用TMA模型模擬的海面,圖中看出波浪具有明顯周期性,模擬海面不夠真實(shí);而圖3(b)-圖3(d)為本文采用投影網(wǎng)格算法模擬海面效果,圖3b海面網(wǎng)格的分辨率為512×512,分辨率較低,同樣具有明顯周期性.圖3(c)采用相同算法,但海面網(wǎng)格分辨率為2K×2K.圖3(d)模擬海面分辨率為4K×4K的海面效果,圖3(c)和圖3(d)的海面真實(shí)感差距不大,但圖3(d)繪制速率較低,所以在實(shí)時(shí)的條件下,圖3(c)模擬海面效果最佳.
圖4中為本文算法與文獻(xiàn)[3]海面波浪效果圖,圖4(a)為文獻(xiàn)[3]模擬的海面,從圖中可以看出,文獻(xiàn)[3]模擬的海面波浪真實(shí),但文獻(xiàn)[3]并沒有考慮海面存在污染物的情況;而圖4(b)為本文拓展海面存在污染物時(shí)海面波動(dòng)的效果圖,在實(shí)時(shí)的條件下,大大提高真實(shí)感.
圖3 不同分辨率下模擬海面與文獻(xiàn)[1]對比實(shí)驗(yàn)
圖4 與文獻(xiàn)[3]對比實(shí)驗(yàn)
圖5展示不同時(shí)刻污染物的擴(kuò)散狀態(tài).隨時(shí)間變化以及不同區(qū)域濃度因子的變化,污染物擴(kuò)散的范圍以及顏色的效果呈現(xiàn)不同狀態(tài),顯著提高真實(shí)性.
圖5 不同時(shí)刻污染物擴(kuò)散效果實(shí)驗(yàn)
圖6展示應(yīng)用平滑濾波算法改善邊界效果的實(shí)驗(yàn)對比圖.圖6(a)是沒有利用平滑濾波算法的效果圖,而圖6(b)是利用平滑濾波算法的效果圖.從圖6(a)和圖6(b)中可以明顯看出,應(yīng)用平滑濾波算法可以明顯改善由于網(wǎng)格分辨率低而產(chǎn)生的邊界鋸齒化.
圖6 應(yīng)用平滑濾波算法效果對比實(shí)驗(yàn)
圖7為大規(guī)模海面污染場景模擬實(shí)驗(yàn).圖7(a)展示真實(shí)海洋赤潮生態(tài)現(xiàn)象,圖7(b)為文中模擬的大規(guī)模海面的赤潮場景,圖7(c)為海洋泥沙分界現(xiàn)象,圖7(d)為文中模擬海面的分界效果圖,通過以上對比可以看出,應(yīng)用文中方法模擬大規(guī)模海面污染物擴(kuò)散場景還原度較高,有較大的真實(shí)感.
圖7 應(yīng)用本文方法與真實(shí)場景對比實(shí)驗(yàn)
為檢測大規(guī)模海面污染物擴(kuò)散仿真效果可行性,表1列出了本文實(shí)驗(yàn)以及是否使用四叉樹算法數(shù)據(jù)的對比狀況.可以明顯看出本文算法在顯著提升模擬的細(xì)節(jié)同時(shí),保證了實(shí)時(shí)性.
表1 大規(guī)模海面污染物擴(kuò)散模擬實(shí)驗(yàn)數(shù)據(jù)對比
Table 1 Comparison of simulated experimental data of large-scale sea surface pollutants
實(shí)驗(yàn)圖網(wǎng)格分辨率使用四叉樹算法幀率(FPS)未使用四叉樹算法幀率(FPS)D圖3b512×5127432圖3c2K×2K4218圖3d4K×4K123.8圖4b640×4807126圖5(a),5(b),5(c)640×48070,68,5635,24,11圖7b1200×7206321圖7d1200×7205926
本文提出一種元胞自動(dòng)機(jī)改善大規(guī)模海面污染物擴(kuò)散模擬方法.首先,采用投影網(wǎng)格方法進(jìn)行海面網(wǎng)格建模,在模擬大規(guī)模海面同時(shí)提高繪制速率;此外,利用元胞自動(dòng)機(jī)結(jié)合海面網(wǎng)格的方法,實(shí)現(xiàn)海洋中污染物動(dòng)態(tài)擴(kuò)散過程的模擬,引入濃度因子,增加污染物擴(kuò)散的細(xì)節(jié),并利用高斯平滑濾波算法平滑元胞邊界效果;最后,采用四叉樹算法簡化海面網(wǎng)格,大大提高繪制效率,大幅度提升大規(guī)模海面污染物動(dòng)態(tài)擴(kuò)散過程真實(shí)感.實(shí)驗(yàn)數(shù)據(jù)表明,本文的方法能夠?qū)崿F(xiàn)大規(guī)模海面污染物擴(kuò)散狀態(tài)下的實(shí)時(shí)模擬.在未來工作中,需進(jìn)一步研究污染物與環(huán)境的交互,提高模擬真實(shí)度.