陳 雷 石家琦 石太昆 張 婷
(*北京信息科技大學計算機學院 北京 100101)
(**國勘數(shù)字地球(北京)科技有限公司 北京 100096)
(***北京工業(yè)大學信息學部 北京 100124)
地震數(shù)據剖面可視化技術對于地震勘探中的解釋環(huán)節(jié)有著關鍵性的作用[1-2]。地震數(shù)據直觀、正確、特征層次分明的可視化可以極大地方便地質科研人員對相關數(shù)據做出準確的分析、得出正確的結論,對油氣勘探、地質勘察等具有重要意義。
目前,地震數(shù)據可視化技術主要有2 類:一類是二維可視化[3-6],另一類是三維可視化[1-2,7-16]。地震數(shù)據二維可視化是將地震剖面數(shù)據轉換成一幅二維圖像進行顯示的技術,又可分為波形顯示、波形+變面積顯示、灰度顯示和彩色變密度顯示等4 個類別。這種傳統(tǒng)可視化方法一定程度上展示了地震數(shù)據的空間變化特征,其不足是動態(tài)范圍小、細節(jié)丟失嚴重、不能直觀顯示微觀地質結構、不便于地震解釋和地質分析等。近年來,隨著計算機圖形學的發(fā)展和顯卡中圖形處理單元(graphics processing unit,GPU)計算能力的提高,地震數(shù)據三維可視化獲得了廣泛研究,取得了較大進展。它是將地震數(shù)據在三維空間中進行可視化的技術,是為解決二維可視化的不足而提出的。但現(xiàn)有地震數(shù)據三維可視化基本都是對三維地震數(shù)據體進行可視化,再按需抽取某一地震剖面的灰度或彩色變密度顯示[1-2,7-16],這種可視化方法對地震微觀結構的揭示能力并沒有實質提高。文獻[15]提出了將二維地震剖面進行三維可視化的方法,提高了對微觀結構的顯示能力,但在頂點鑲嵌方面存在鑲嵌方式不能根據地震樣點傾斜方式自適應選擇的問題。
針對文獻[15]中可視化方法的網格頂點鑲嵌問題,本文提出了一種新的低傾斜相關自適應鑲嵌方法,以盡可能使網格頂點根據相應地震樣點的傾斜方式來自適應鑲嵌。
本節(jié)先對文獻[15]中的地震剖面三維可視化方法進行分析,然后再對所提鑲嵌方法進行論證。
文獻[15]提出的二維地震剖面三維可視化方法具有以下特征。
(1) 對二維地震剖面數(shù)據S(x,y),x表示道號,y表示時間深度值,以(x,y) 處的地震樣點幅度S(x,y) 作為三維空間中的z坐標,即地震樣點對應的三維空間中的點為P(x,y,S(x,y))。
(2) 除要顯示的最后一道地震數(shù)據外,將每一道上相鄰2 個地震樣點和其下一道上時間深度相同的相鄰2 個樣點連接為四邊形,由同一道上3 個地震樣點和下一道上1 個樣點連接成的2 個三角形單元組成,以此將地震剖面數(shù)據鑲嵌為網格曲面。
(3) 創(chuàng)建一幅由一種顏色漸變到另一種顏色的調色板紋理,將經過光柵化插值之后的地震幅度值S(x,y) 通過線性函數(shù)映射為紋理坐標,在GPU 像素著色器中根據此紋理坐標采樣調色板紋理為網格頂點和三角形單元內部的像素點著色。
(4) 將相鄰道上的4 個地震樣點鑲嵌為四邊形時,鑲嵌有2 種方式,即上傾斜鑲嵌和下傾斜鑲嵌;不正確的鑲嵌方式將產生錯誤的結果(脊或者槽)。對此問題,采用了低傾斜相關自適應鑲嵌,在GPU像素著色器中計算以當前樣點為中心的某一長度的樣點序列與下一道上一定偏移范圍內的同樣長度序列的相關系數(shù),將最大相關系數(shù)所對應的偏移值作為當前樣點的傾斜方式,通過渲染到紋理將數(shù)值化的傾斜方式存儲到紋理中,用來定義網格頂點的索引值。
(5) 將坐標變換、光照計算、紋理坐標映射等內存消耗較大的計算都轉移到GPU 中進行,將地震剖面數(shù)據填充到一幅浮點紋理中,在GPU 中通過采樣浮點紋理實現(xiàn)對地震剖面數(shù)據的訪問。
1.1.1 網格頂點著色及顏色插值
在固定渲染管線和可編程渲染管線中,頂點數(shù)據經過初始裝配之后的處理如圖1 所示。
圖1 渲染管線中經過初始裝配之后的頂點處理過程
初始裝配之后的頂點數(shù)據需進行光柵化與插值。固定渲染管線中,光柵化與插值輸出的像素經過光柵器后直接送往幀緩沖等待顯示;可編程渲染管線中,光柵化與插值輸出的像素先經過可編程像素著色器處理,再送往光柵器直至顯示。在像素著色器中,可根據頂點著色器輸出的信息對頂點顏色、紋理坐標、光照等進行處理,然后渲染輸出。
地震剖面三維可視化中,對不同幅度的樣點所對應的網格頂點及其之間的像素用不同的顏色進行著色,可有效提高對地震事件的分辨能力。著色有2 種方式:一種是將顏色作為頂點屬性分量為頂點及其之間的像素著色,可稱為頂點屬性著色方式;另一種是將光柵化與插值輸出的像素傳送到GPU 可編程像素著色器中,在像素著色器中根據頂點著色器輸出的地震幅度對調色板紋理進行采樣,在其中,先將線性插值后的地震樣點幅度線性映射為紋理坐標,然后再采樣調色板紋理,以實現(xiàn)網格頂點及頂點之間三角形單元內部像素的正確著色,這種方式可稱為線性漸進調色板著色方式。文獻[15]采用第2種著色方式有效避免了地震數(shù)據可視化中網格頂點之間像素的顏色交叉問題。
1.1.2 網格頂點低傾斜相關自適應鑲嵌
網格頂點鑲嵌是地震剖面數(shù)據三維可視化中著色之外的另一個關鍵問題,即如何在三維空間中將地震樣點對應的頂點連接成三角形單元,以形成網格曲面。文獻[15]所用方法是除要顯示的最后一道地震數(shù)據外,將每一道上相鄰2 個地震樣點和其下一道上時間深度相同的相鄰2 個樣點連接為四邊形(此四邊形由同一道上2 個地震樣點和下一道上1個樣點連接成的2 個三角形單元組成),以將地震剖面鑲嵌為網格曲面。對以上4 個頂點,不同鑲嵌方式會產生不同的效果,如圖2 所示。
圖2 相同4 個頂點的2 種鑲嵌方式
采用圖2(a)所示的上傾斜鑲嵌方式會產生“脊”結構如圖2(c)所示;采用圖2(b)所示的下傾斜鑲嵌方式會產生“槽”結構如圖2(d)所示;若統(tǒng)一采用上傾斜鑲嵌,則對下傾斜地震事件不合適,會在事件頂部產生“鋸齒”現(xiàn)象,反之亦然。
為解決傾斜事件頂部的“鋸齒”問題,文獻[15]提出了一種低傾斜相關自適應鑲嵌方式,在GPU 像素著色器中計算以當前地震樣點為中心的某一長度的樣點序列與下一道上同樣長度序列在某一滑動窗口(從上向下滑動)內的相關系數(shù),并找出最大相關系數(shù)對應的滑動值。如果此滑動值大于等于0,則采用下傾斜鑲嵌,用-1 表示,即以當前頂點為控制點(四邊形左上角的頂點)的四邊形采用下傾斜鑲嵌;反之,如果此滑動值小于0,則以當前頂點為控制點的四邊形采用上傾斜方式鑲嵌,用+1 表示。計算出鑲嵌方式之后,再把數(shù)值化的鑲嵌方式通過渲染到紋理存儲到紋理元素中,用以填充網格頂點索引。低傾斜是指在求2 個樣點序列的互相關函數(shù)值時,只允許滑動窗口有上下一個樣點間隔的滑動范圍,這樣作為四邊形控制點的當前道上的地震樣點只能與下一道上上傾斜一個采樣間隔或下傾斜一個采樣間隔的樣點相連。沒有采用高傾斜相關自適應鑲嵌方式的原因是高傾斜情況下,鑲嵌方式過于復雜,很難處理自適應鑲嵌帶來的網格漏洞和三角形單元重疊問題。
文獻[15]所提低傾斜相關自適應鑲嵌方式的不足是:只有當四邊形控制點的傾斜方式為0(此時采用下傾斜鑲嵌)或-1(下傾斜)時,組成此四邊形的2 個三角形單元的連接方式才與控制點的傾斜方式一致;如果控制點的傾斜方式為1,那么此控制點所控制的4 個頂點都要按照同一地震道上控制點之下一個樣點的上傾斜方式來鑲嵌,無論下一個樣點的傾斜方式是上傾斜、不傾斜還是下傾斜。這樣很大一部分網格頂點的鑲嵌方式不能與地震樣點的傾斜方式相一致。如圖3 所示。
圖3 低傾斜相關自適應鑲嵌方式的不足說明
文獻[15]中的方法以四邊形為基本單元鑲嵌地震數(shù)據網格,如圖3 所示,以四邊形ABCD為例,A點為四邊形的控制點,四邊形的鑲嵌方式由A點的傾斜方式決定。當A為下傾斜(或不傾斜)時采用圖3(a)所示的下傾斜鑲嵌方式鑲嵌四邊形ABCD,此時鑲嵌方式與A點的傾斜方式一致;當A為上傾斜時采用圖3(b)所示的上傾斜方式鑲嵌四邊形ABCD,而此時按相關系數(shù)最大化原則,A點與N點相關度最大,A點應與N點相連,生成四邊形MACN。而文獻[15]中方法生成了四邊形ABCD,這等于忽略了A點的上傾斜方式,同時將B點的傾斜方式強制設為上傾斜,當B點的傾斜方式不是上傾斜時,相當于A、B2 個點都沒有根據其傾斜方式進行鑲嵌,故文獻[15]所提低傾斜相關自適應鑲嵌存在鑲嵌錯誤問題,需進一步改進。
為解決1.1.2 小節(jié)中低傾斜相關自適應鑲嵌方式存在的問題,盡可能使得每一個頂點都按照相應樣點的傾斜方式來鑲嵌(對于邊界頂點和產生漏洞的區(qū)域,為了保證網格的完整性與連續(xù)性,頂點鑲嵌方式可能與地震樣點的傾斜方式不一致),避免文獻[15]中低傾斜相關自適應鑲嵌方法的不足。本文提出了新的低傾斜相關自適應鑲嵌方法,具體如下。
首先在GPU 像素著色器中計算相鄰地震道上2個樣點序列的互相關函數(shù)值,以求取地震剖面中各地震樣點的傾斜方式及相應的鑲嵌方式。GPU 像素著色器中2 個樣點序列的互相關函數(shù)值的計算原理,如圖4 所示。
圖4 計算互相關函數(shù)值原理圖
互相關函數(shù)和相關系數(shù)的計算公式分別為
其中,式(1)是計算序列X和Y的互相關函數(shù)值RXY(τ) 的公式,下標XY表示2 個序列,X、Y的順序表示序列X未移動,序列Y移動τ個單位;式(2)中表示序列X和Y的相關系數(shù)大小。τ是移位參數(shù),T為序列周期,N表示序列X和Y中元素編號的最大值,k表示元素序號,k∈[0,N]。計算出相關系數(shù)后,找出最大值,根據其對應的τ值來判斷當前地震樣點是上傾斜還是下傾斜或者不傾斜,上傾斜用1 表示,下傾斜用-1 表示,傾斜幅度較小時視為不傾斜,用0 表示。也就是說將最大相關系數(shù)對應的τ值取反就可得地震樣點的傾斜方式。然后,使用渲染到紋理這一操作,把代表傾斜方式的數(shù)值存儲到紋理中,因紋理元素有R、G、B、A等多個分量,這里只用R分量來存儲傾斜方式數(shù)值,其他分量均為0。
獲得每個地震樣點的傾斜方式之后,根據傾斜方式的不同對地震樣點進行自適應鑲嵌,鑲嵌時分為3 種情況,具體如下。
(1) 頂部邊緣樣點均采用下傾斜鑲嵌,如圖5所示。圖5(a)為上邊緣點鑲嵌示意圖,圖5(b)為下邊緣點鑲嵌示意圖,T和B為當前要鑲嵌的地震樣點,它們分別處于地震剖面的上邊緣(時間深度值最小)和下邊緣(時間深度值最大)。對邊緣點采用統(tǒng)一的鑲嵌方式是為了避免當同一地震道上頂部2 個或者底部2 個地震樣點的傾斜方式相反時,由于其之間的矩形區(qū)域內沒有鑲嵌三角形而形成漏洞,接下來就可以對其余非上下邊緣點進行自適應鑲嵌。
圖5 邊緣點鑲嵌示意圖
(2) 當非上下邊緣點的傾斜方式為上傾斜時,為避免同一矩形內的4 個樣點被重復鑲嵌而產生三角形交叉重疊現(xiàn)象,先查看其上面相鄰地震樣點的傾斜方式是否為下傾斜,如果不是,則進行上傾斜鑲嵌,如果是,則不進行鑲嵌,如圖6 所示。
圖6 非上下邊緣點上傾斜鑲嵌示意圖
圖6 中,B點為當前樣點,圖6(a)為當前一個樣點A的傾斜方式為下傾斜時產生的交叉現(xiàn)象。此時不對B點進行鑲嵌,即不給B、D和C分配頂點索引以形成三角形BDC;圖6(b)為A點為上傾斜時的情況。
(3) 當非上下邊緣點的傾斜方式為下傾斜時,先進行下傾斜鑲嵌。然后,為了避免產生漏洞現(xiàn)象,查看其上面相鄰樣點的傾斜方式是否為上傾斜,如果是,則對上面地震樣點和當前樣點之間的矩形區(qū)域進行鑲嵌,以對漏洞進行縫補;如果上面樣點的傾斜方式不是上傾斜,則不用進行縫補,如圖7 所示。
圖7 非上下邊緣點下傾斜鑲嵌示意圖
圖7 中,E為當前樣點,圖7(a)為當B點為上傾斜時產生的漏洞現(xiàn)象,圖7(b)和(c)是可以采用的2 種漏洞縫補方法(此2 種方法任選一種即可)。
本文提出的鑲嵌方法,與文獻[15]每個四邊形單元中的4 個樣點的鑲嵌方式都由其左上角樣點的傾斜方式決定的方法不同,可最大程度地根據每一個地震樣點的傾斜方式對其進行真正的自適應鑲嵌。
為驗證本文算法的有效性,在個人計算機上對新疆某工區(qū)的一條二維線中的標準segy 數(shù)據進行了實驗。運行環(huán)境為Windows 7 旗艦版,處理器是i3-3240@3.40 GHz,顯卡為ATI Radeon HD 6450A/7450A(1 GB/聯(lián)想),內存為4 GB(海力士DDR3L 1600 MHz),實驗平臺是Microsoft Visual Studio 2010,圖形庫是Dirtect3D 10,著色器shader 4.0。
本文基于以上環(huán)境開發(fā)的地震剖面三維可視化的系統(tǒng)流程圖,如圖8 所示。
圖8 本文地震剖面三維顯示系統(tǒng)流程圖
圖9~13 所示為不同鑲嵌方式對從標準segy剖面數(shù)據中選取的一塊含有下傾斜和上傾斜結構的區(qū)域進行可視化的結果,大小為200×80 樣點。
圖10 固定模式下傾斜鑲嵌
對比圖9~13 可知,固定模式鑲嵌沒有考慮相鄰道樣點之間的相關性,采用固定上傾斜或下傾斜鑲嵌方式鑲嵌頂點時,分別會在下傾斜事件和上傾斜事件的頂部產生鋸齒(槽或脊),如圖9 和10 所示。文獻[15]采用低傾斜相關自適應鑲嵌方法在一定程度上解決了此問題,如圖11 所示。雖然相比固定鑲嵌模式,在消除鋸齒效果上有了一定的改進,但由于其會出現(xiàn)鑲嵌方式與樣點傾斜方式不一致的情況,存在鑲嵌錯誤問題,所以鋸齒現(xiàn)象仍然很明顯。如果根據其方法對每個樣點都根據其傾斜方式進行自適應鑲嵌,則會產生交疊和漏洞現(xiàn)象,如圖12所示。
圖11 文獻[15]低傾斜相關自適應鑲嵌
圖12 對每個樣點都用文獻[15]方法進行自適應鑲嵌
圖13 是用本文提出的新的低傾斜相關自適應鑲嵌方法得到的結果,該方法最大程度地保證了每個頂點的鑲嵌方式都與相應樣點的傾斜方式一致,只有在產生三角形單元交疊或網格漏洞的情況下,少數(shù)頂點的鑲嵌方式才可能會與相應樣點的傾斜方式不一致,而這里的不一致并不會造成傾斜事件頂部的鋸齒現(xiàn)象發(fā)生,因為其并未處于傾斜事件上。
圖13 本文新的低傾斜相關自適應鑲嵌
綜合以上對比分析可知,本文所提出的新的低傾斜相關自適應鑲嵌方法效果較好,其有效性和可行性得到了驗證。
本文針對二維地震剖面數(shù)據的三維可視化問題進行研究,對于地震數(shù)據網格的頂點鑲嵌問題,提出了一種新的低傾斜相關自適應鑲嵌方法,并通過實驗驗證了算法的有效性和實用價值。進一步研究的方向是對網格的細分方法進行研究,以求將地震數(shù)據可視化的同時,盡可能減少由鑲嵌帶來的鋸齒等現(xiàn)象。