王潤芝 祝玉華 甄 彤
(河南工業(yè)大學信息科學與工程學院1,鄭州 450001) (黃河水利職業(yè)技術(shù)學院2,開封 475004)
空間散亂數(shù)據(jù)點插值是科學計算可視化過程中必不可少的一部分,在工程應(yīng)用過程中,由于受到人力、物力和其他因素的影響以及客觀條件的限制,通過現(xiàn)有的硬件技術(shù)僅僅能得到用來描述客觀世界屬性的非常少部分數(shù)據(jù),這些數(shù)據(jù)遠遠不能滿足人類對可視化的要求[1]。為了實現(xiàn)可視化,需要對有限數(shù)據(jù)進行插值,用以解決離散數(shù)據(jù)連續(xù)化問題[2]。Kriging插值算法是地質(zhì)統(tǒng)計學的核心算法,由南非礦業(yè)工程師Krige于1951年提出,Kriging插值算法的核心是對已知數(shù)據(jù)的線性組合,來定量計算已知點的屬性信息對未知點屬性信息的影響[3]。本實驗從解決糧堆內(nèi)部溫度可視化出發(fā),對糧堆內(nèi)部溫度數(shù)據(jù)點進行采集處理,通過構(gòu)建Kriging插值模型對采樣點進行插值模擬,建立糧堆內(nèi)部溫度場的模型分布,實現(xiàn)離散采樣點的溫度場可視化。
試驗數(shù)據(jù)在華北地區(qū)高大平房倉中1/2倉進行,長30 m,跨度26 m,頂棚高8.5 m,裝糧高度為6.5 m。試驗時段選擇在2017年5月—10月。
糧食在儲藏過程中需測得的溫度包括糧溫、倉溫和氣溫,其中糧溫是指糧食在倉儲過程中糧食自身的溫度,傳感器分布于糧堆內(nèi)部;倉溫是指糧面以上的空間溫度,傳感器分布于上空間的中心位置;氣溫是指糧倉外面的溫度,傳感器分布于距離地面1.5 m處。倉溫直接影響糧食的表層溫度,氣溫從整體上間接影響糧溫[4]。
圖1 傳感器分布三維圖
我國的糧倉類型有很多,溫度傳感器的布置方式也有所差異,本文所使用數(shù)據(jù)是按照國家標準,根據(jù)高大平房倉的測溫電纜分布原則,布置方式為水平間距不大于5 m,垂直方向間距不大于2 m,距糧面、倉底和倉壁約0.3~0.5 m[5]。根據(jù)標準布線原則,在糧倉糧堆內(nèi)布置216個測溫點,圖1為整體傳感器分布三維圖,圖2為傳感器分布切片圖。
圖2 溫度傳感器分布切片圖
圖2中,測溫傳感器豎直方向的間距為1.9 m,上測溫傳感器距糧堆表面0.4 m,下測溫傳感器距糧堆底層0.4 m,共布設(shè)4個測溫傳感器,用來測量不同糧堆高度糧食的溫度,水平方向靠近壁面0.5 m位置處布設(shè)測溫傳感器,測溫電纜水平間距為4 m。通過對糧倉內(nèi)部進行測溫電纜的布設(shè),采集糧倉內(nèi)真實有效溫度數(shù)據(jù)為可視化提供數(shù)據(jù)基礎(chǔ)。
根據(jù)測溫電纜的分布位置,記錄測溫電纜所在的糧倉編號(N)、傳感器編號(ID)、對應(yīng)傳感器的空間位置坐標S(x,y,z)、獲得時間(t)和溫度值(T),將這些數(shù)據(jù)存儲在溫度數(shù)據(jù)表格中。溫度表的結(jié)構(gòu)為:糧倉編號(N)傳感器編號(ID)+空間位置坐標S(x,y,z)+溫度值(T)+獲取時間(t)。
由于通過傳感器采集的數(shù)據(jù)是矩陣的、離散的、有限的,將有限、離散數(shù)據(jù)表達局部連續(xù)無限空間,導致空間內(nèi)部具體細節(jié)性信息丟失,從而只能通過直觀性不強的數(shù)值來表達單點信息,空間的溫度信息很大一部分缺失,從而不能通過三維場景真實的展現(xiàn),導致溫度數(shù)據(jù)可視化成為困難[6]。一般這一問題,需經(jīng)過連續(xù)化處理,由點及線,由線及面用有限的信息擬合全部的空間數(shù)據(jù),相對客觀全面展現(xiàn)糧倉溫度的真實分布,才可以形成能夠可視化的糧堆溫度圖[7]。
將整個糧倉作為研究對象,實驗對高大平房倉中的1/2倉進行數(shù)據(jù)整合和測溫傳感器的模型構(gòu)建如圖3所示。由圖3可知,主要對1/2倉內(nèi)離散溫度數(shù)據(jù)點進行插值,由點及面,由面及體,將離散采樣點的屬性信息進行整體展示,為糧食儲藏決策提供理論依據(jù)。
圖3 模型計算區(qū)域示意圖
把所研究區(qū)域設(shè)為Ω,采集的溫度數(shù)據(jù)變量為T(si)(i=1,2,…,n),si為每一個變量對應(yīng)的空間位置坐標(x,y,z),T(si)在已知樣本點si(i=1,2,…,n)處的溫度值,根據(jù)Kriging插值原理:未采樣點的值是鄰近觀測值的線性加權(quán)平均,而權(quán)重是由擬合的變異函數(shù)決定[8]。需要預(yù)測的點s0處的溫度值為T*(s0),T*(s0)是通過n個觀測樣本值T(si)(i=1,2,…,n)的線性組合得到,即
(1)
(2)
矩陣A中的rij是已知溫度數(shù)據(jù)值之間的半方差值;矩陣B中的ri0是測量值與內(nèi)插值之間的半方差值;λi為權(quán)重系數(shù);μ為拉格朗日算子,將式(2)代入式(1)計算出需內(nèi)插的估計值[10]。
Kriging插值方法,具有獨特的靈活性,依照數(shù)據(jù)特點,建立Kriging模型樣點,則關(guān)于權(quán)重系數(shù)λi的方程組可以寫為:
(3)
式中:Cov(si,sj)為已知溫度點之間的協(xié)方差,Cov(s0,si)為已知溫度點和插值溫度點之間的協(xié)方差。而求解插值溫度點的關(guān)鍵是找出半變異函數(shù):
(4)
式中:h為步長的值,其中N(h)是在分割距離h的已知溫度點的個數(shù),由式(3)和式(4)可將半變異函數(shù)定義為:
(5)
根據(jù)采集的數(shù)據(jù)特點可以進行公式簡化推算:
(6)
在使用Kriging插值生成預(yù)測表面過程:①求得半變異函數(shù)(6)中的h,②由半變異函數(shù)生成矩陣A,③同理得到矩陣B,④重復①②③對插值點進行預(yù)測,最后將結(jié)果輸出成圖,獲得所求溫度面。
根據(jù)國家標準,測溫電纜在倉內(nèi)的邊界分布時,距離糧面、倉底、倉壁0.4 m的溫度傳感器與內(nèi)部水平分布5 m和垂直分布3 m的溫度傳感器相比受到了墻壁、地面或外部空氣的影響較大[11],本插值算法的半變異函數(shù)受距離影響較大,故在進行溫度插值模擬時,將其作為起始點,距離墻壁,地面以及糧面的0.4 m以外不參與插值。
糧倉內(nèi)部的溫度傳感器布設(shè)三維場景專題圖展示如圖4。圖4展示了在特定的某一時刻點,糧倉內(nèi)部每一個傳感器測得的溫度數(shù)據(jù),通過溫度傳感器顏色可以得出每一個傳感器周圍的糧食情況[12]。溫度作為反映糧情信息的最直接要素,使得糧倉內(nèi)部每一個溫度傳感器能夠盡可能準確又全面的展示倉內(nèi)溫度信息是十分有必要的,由圖可知,由于倉內(nèi)空間較大,傳感器只能測得極少一部分數(shù)據(jù),很大一部分倉內(nèi)糧情信息獲取不到,本研究通過插值解決這一問題。
圖4 溫度點分布專題圖
將測得的原始數(shù)據(jù)(216的溫度數(shù)據(jù)點)作為分析對象,進行直接的數(shù)據(jù)展示,從左至右一共布設(shè)9排溫度傳感器,從下至上一共布設(shè)四排溫度傳感器,從前至后一共布設(shè)六排溫度傳感器,切出6個面如圖5所示;每一個格網(wǎng)數(shù)據(jù)面是由周圍與之相連的四個數(shù)值根據(jù)權(quán)重得出的一塊數(shù)據(jù)面。
圖5 正視切片圖
從可視化角度出發(fā),圖5只能看出糧倉內(nèi)溫度異常的粗略位置,并且溫度展示信息不夠真實,不能滿足扦樣時對位置的精度需求。經(jīng)過對圖5的分析:造成這種問題的原因是每一個傳感器的影響范圍有限,不能覆蓋過大的范圍。如果覆蓋范圍過大,會造成可視化效果失真。
為了驗證算法的性能,采用兩組實驗進行仿真與分析。實驗條件為Intel(R) Core(TM) i5-3210M CPU@2.50 GHz,內(nèi)存為8.0 GB,顯卡為NVIDIA GeForce GT610M,Mircrosoft Windows 7 Ultimate操作系統(tǒng)的PC機。
為了測試Kriging插值算法對糧堆溫度場可視化過程的影響,分別采用了在相同步長為h=2.9情況下,按照算法步驟分別對數(shù)據(jù)插入1 000個數(shù)據(jù)點和27 000個數(shù)據(jù)點進行仿真測試。兩種插值數(shù)據(jù)的分析如表1所示。主要查看兩組數(shù)據(jù)的排列特點以及糧倉內(nèi)部插值情況,從表1可以看到,1 000數(shù)據(jù)是分布在橫向間隔大約為2.78 m,縱向間隔大約為3.22 m,豎向間隔大約為0.63 m;27 000個數(shù)據(jù)是分布在橫向間隔大約為0.86 m,縱向間隔為1 m,豎向間隔大約為0.20 m。插值的1 000個數(shù)據(jù)點將大長方體剖分成729個小長方體,每個小長方體的體積為5.68 m3;插值的27 000個數(shù)據(jù)點將大長方體剖分成24 389個小長方體,每個小長方體的體積為0.17 m3。
表1 兩類插值數(shù)據(jù)比較
為了進一步驗證插值數(shù)據(jù)點的可視化效果,分別對兩組數(shù)據(jù)進行了正視切片的仿真實驗展示,1 000數(shù)據(jù)點和27 000數(shù)據(jù)點的實驗結(jié)果分別為圖6和圖7,圖中不同的顏色代表不同的糧倉內(nèi)部塊溫度,從切片信息中可直觀地了解整個糧倉內(nèi)部的整體糧情信息。
圖6 1 000個數(shù)據(jù)點正視切片圖
圖7 27 000個數(shù)據(jù)點正視切片圖
為了更直觀地看到糧倉內(nèi)部每一處的糧溫信息,可以拾取出圖7中任意一個溫度切片如圖8所示。從圖8可以直觀地觀測到任意一點的溫度,任意等高溫度曲線,從而可以直接在可疑糧溫變化點處,扦取樣品與正常糧樣進行比較,能夠有效解決在無傳感器位置出現(xiàn)糧溫異常的可疑點,使得扦取可疑樣品的位置更加精確,減少人力支出,提高糧食儲藏質(zhì)量。
圖8 糧堆豎切正視等溫線專題圖
本文采用Kriging插值算法對糧倉內(nèi)溫度數(shù)據(jù)進行插值,將其應(yīng)用于解決糧倉內(nèi)部糧情信息可視化問題,首先對獲取得到的溫度數(shù)據(jù)進行模型構(gòu)建,再對各個溫度點數(shù)據(jù)Kriging插值算法進行插值,根據(jù)數(shù)據(jù)特點進行不同距離上的插值對比顯示,分別將糧倉內(nèi)部溫度數(shù)據(jù)分為10層和30層進行對比顯示,可以得出:通過插值分析,能夠清楚、直觀、有效地了解糧堆內(nèi)部溫度的變化情況,為可疑點的扦樣準確度提供了理論依據(jù)。通過對可視化截面的切面專題圖進行分析和驗證,溫度插值點為27 000個點,更能直觀清楚的反映糧倉糧堆內(nèi)部溫度信息。
由于糧倉數(shù)量較多,體積較大,要想獲得更為真實的數(shù)據(jù),只能在倉內(nèi)布設(shè)更多的傳感器,但是需要傳感器數(shù)量較多,成本較高,不能應(yīng)用于大面積糧食儲藏,合理地在糧倉內(nèi)布設(shè)傳感器將有效地降低糧食儲藏過程中的費用,利用有效數(shù)據(jù)進行插值分析,提高糧情信息化程度,使得糧情信息可視化程度大大提高,保障糧食儲存質(zhì)量。本研究為有效解決在無傳感器位置出現(xiàn)糧溫異常的可疑點提供了一個初期方案,下一步的研究過程將針對在無傳感器位置發(fā)生糧溫異常時進行更加精確的實驗驗證。