王潤芝 祝玉華 甄 彤
(河南工業大學信息科學與工程學院1,鄭州 450001) (黃河水利職業技術學院2,開封 475004)
空間散亂數據點插值是科學計算可視化過程中必不可少的一部分,在工程應用過程中,由于受到人力、物力和其他因素的影響以及客觀條件的限制,通過現有的硬件技術僅僅能得到用來描述客觀世界屬性的非常少部分數據,這些數據遠遠不能滿足人類對可視化的要求[1]。為了實現可視化,需要對有限數據進行插值,用以解決離散數據連續化問題[2]。Kriging插值算法是地質統計學的核心算法,由南非礦業工程師Krige于1951年提出,Kriging插值算法的核心是對已知數據的線性組合,來定量計算已知點的屬性信息對未知點屬性信息的影響[3]。本實驗從解決糧堆內部溫度可視化出發,對糧堆內部溫度數據點進行采集處理,通過構建Kriging插值模型對采樣點進行插值模擬,建立糧堆內部溫度場的模型分布,實現離散采樣點的溫度場可視化。
試驗數據在華北地區高大平房倉中1/2倉進行,長30 m,跨度26 m,頂棚高8.5 m,裝糧高度為6.5 m。試驗時段選擇在2017年5月—10月。
糧食在儲藏過程中需測得的溫度包括糧溫、倉溫和氣溫,其中糧溫是指糧食在倉儲過程中糧食自身的溫度,傳感器分布于糧堆內部;倉溫是指糧面以上的空間溫度,傳感器分布于上空間的中心位置;氣溫是指糧倉外面的溫度,傳感器分布于距離地面1.5 m處。倉溫直接影響糧食的表層溫度,氣溫從整體上間接影響糧溫[4]。

圖1 傳感器分布三維圖
我國的糧倉類型有很多,溫度傳感器的布置方式也有所差異,本文所使用數據是按照國家標準,根據高大平房倉的測溫電纜分布原則,布置方式為水平間距不大于5 m,垂直方向間距不大于2 m,距糧面、倉底和倉壁約0.3~0.5 m[5]。根據標準布線原則,在糧倉糧堆內布置216個測溫點,圖1為整體傳感器分布三維圖,圖2為傳感器分布切片圖。

圖2 溫度傳感器分布切片圖
圖2中,測溫傳感器豎直方向的間距為1.9 m,上測溫傳感器距糧堆表面0.4 m,下測溫傳感器距糧堆底層0.4 m,共布設4個測溫傳感器,用來測量不同糧堆高度糧食的溫度,水平方向靠近壁面0.5 m位置處布設測溫傳感器,測溫電纜水平間距為4 m。通過對糧倉內部進行測溫電纜的布設,采集糧倉內真實有效溫度數據為可視化提供數據基礎。
根據測溫電纜的分布位置,記錄測溫電纜所在的糧倉編號(N)、傳感器編號(ID)、對應傳感器的空間位置坐標S(x,y,z)、獲得時間(t)和溫度值(T),將這些數據存儲在溫度數據表格中。溫度表的結構為:糧倉編號(N)傳感器編號(ID)+空間位置坐標S(x,y,z)+溫度值(T)+獲取時間(t)。
由于通過傳感器采集的數據是矩陣的、離散的、有限的,將有限、離散數據表達局部連續無限空間,導致空間內部具體細節性信息丟失,從而只能通過直觀性不強的數值來表達單點信息,空間的溫度信息很大一部分缺失,從而不能通過三維場景真實的展現,導致溫度數據可視化成為困難[6]。一般這一問題,需經過連續化處理,由點及線,由線及面用有限的信息擬合全部的空間數據,相對客觀全面展現糧倉溫度的真實分布,才可以形成能夠可視化的糧堆溫度圖[7]。
將整個糧倉作為研究對象,實驗對高大平房倉中的1/2倉進行數據整合和測溫傳感器的模型構建如圖3所示。由圖3可知,主要對1/2倉內離散溫度數據點進行插值,由點及面,由面及體,將離散采樣點的屬性信息進行整體展示,為糧食儲藏決策提供理論依據。

圖3 模型計算區域示意圖
把所研究區域設為Ω,采集的溫度數據變量為T(si)(i=1,2,…,n),si為每一個變量對應的空間位置坐標(x,y,z),T(si)在已知樣本點si(i=1,2,…,n)處的溫度值,根據Kriging插值原理:未采樣點的值是鄰近觀測值的線性加權平均,而權重是由擬合的變異函數決定[8]。需要預測的點s0處的溫度值為T*(s0),T*(s0)是通過n個觀測樣本值T(si)(i=1,2,…,n)的線性組合得到,即
(1)


(2)

矩陣A中的rij是已知溫度數據值之間的半方差值;矩陣B中的ri0是測量值與內插值之間的半方差值;λi為權重系數;μ為拉格朗日算子,將式(2)代入式(1)計算出需內插的估計值[10]。
Kriging插值方法,具有獨特的靈活性,依照數據特點,建立Kriging模型樣點,則關于權重系數λi的方程組可以寫為:
(3)
式中:Cov(si,sj)為已知溫度點之間的協方差,Cov(s0,si)為已知溫度點和插值溫度點之間的協方差。而求解插值溫度點的關鍵是找出半變異函數:
(4)
式中:h為步長的值,其中N(h)是在分割距離h的已知溫度點的個數,由式(3)和式(4)可將半變異函數定義為:
(5)
根據采集的數據特點可以進行公式簡化推算:

(6)
在使用Kriging插值生成預測表面過程:①求得半變異函數(6)中的h,②由半變異函數生成矩陣A,③同理得到矩陣B,④重復①②③對插值點進行預測,最后將結果輸出成圖,獲得所求溫度面。
根據國家標準,測溫電纜在倉內的邊界分布時,距離糧面、倉底、倉壁0.4 m的溫度傳感器與內部水平分布5 m和垂直分布3 m的溫度傳感器相比受到了墻壁、地面或外部空氣的影響較大[11],本插值算法的半變異函數受距離影響較大,故在進行溫度插值模擬時,將其作為起始點,距離墻壁,地面以及糧面的0.4 m以外不參與插值。
糧倉內部的溫度傳感器布設三維場景專題圖展示如圖4。圖4展示了在特定的某一時刻點,糧倉內部每一個傳感器測得的溫度數據,通過溫度傳感器顏色可以得出每一個傳感器周圍的糧食情況[12]。溫度作為反映糧情信息的最直接要素,使得糧倉內部每一個溫度傳感器能夠盡可能準確又全面的展示倉內溫度信息是十分有必要的,由圖可知,由于倉內空間較大,傳感器只能測得極少一部分數據,很大一部分倉內糧情信息獲取不到,本研究通過插值解決這一問題。

圖4 溫度點分布專題圖
將測得的原始數據(216的溫度數據點)作為分析對象,進行直接的數據展示,從左至右一共布設9排溫度傳感器,從下至上一共布設四排溫度傳感器,從前至后一共布設六排溫度傳感器,切出6個面如圖5所示;每一個格網數據面是由周圍與之相連的四個數值根據權重得出的一塊數據面。

圖5 正視切片圖
從可視化角度出發,圖5只能看出糧倉內溫度異常的粗略位置,并且溫度展示信息不夠真實,不能滿足扦樣時對位置的精度需求。經過對圖5的分析:造成這種問題的原因是每一個傳感器的影響范圍有限,不能覆蓋過大的范圍。如果覆蓋范圍過大,會造成可視化效果失真。
為了驗證算法的性能,采用兩組實驗進行仿真與分析。實驗條件為Intel(R) Core(TM) i5-3210M CPU@2.50 GHz,內存為8.0 GB,顯卡為NVIDIA GeForce GT610M,Mircrosoft Windows 7 Ultimate操作系統的PC機。
為了測試Kriging插值算法對糧堆溫度場可視化過程的影響,分別采用了在相同步長為h=2.9情況下,按照算法步驟分別對數據插入1 000個數據點和27 000個數據點進行仿真測試。兩種插值數據的分析如表1所示。主要查看兩組數據的排列特點以及糧倉內部插值情況,從表1可以看到,1 000數據是分布在橫向間隔大約為2.78 m,縱向間隔大約為3.22 m,豎向間隔大約為0.63 m;27 000個數據是分布在橫向間隔大約為0.86 m,縱向間隔為1 m,豎向間隔大約為0.20 m。插值的1 000個數據點將大長方體剖分成729個小長方體,每個小長方體的體積為5.68 m3;插值的27 000個數據點將大長方體剖分成24 389個小長方體,每個小長方體的體積為0.17 m3。

表1 兩類插值數據比較
為了進一步驗證插值數據點的可視化效果,分別對兩組數據進行了正視切片的仿真實驗展示,1 000數據點和27 000數據點的實驗結果分別為圖6和圖7,圖中不同的顏色代表不同的糧倉內部塊溫度,從切片信息中可直觀地了解整個糧倉內部的整體糧情信息。

圖6 1 000個數據點正視切片圖

圖7 27 000個數據點正視切片圖
為了更直觀地看到糧倉內部每一處的糧溫信息,可以拾取出圖7中任意一個溫度切片如圖8所示。從圖8可以直觀地觀測到任意一點的溫度,任意等高溫度曲線,從而可以直接在可疑糧溫變化點處,扦取樣品與正常糧樣進行比較,能夠有效解決在無傳感器位置出現糧溫異常的可疑點,使得扦取可疑樣品的位置更加精確,減少人力支出,提高糧食儲藏質量。

圖8 糧堆豎切正視等溫線專題圖
本文采用Kriging插值算法對糧倉內溫度數據進行插值,將其應用于解決糧倉內部糧情信息可視化問題,首先對獲取得到的溫度數據進行模型構建,再對各個溫度點數據Kriging插值算法進行插值,根據數據特點進行不同距離上的插值對比顯示,分別將糧倉內部溫度數據分為10層和30層進行對比顯示,可以得出:通過插值分析,能夠清楚、直觀、有效地了解糧堆內部溫度的變化情況,為可疑點的扦樣準確度提供了理論依據。通過對可視化截面的切面專題圖進行分析和驗證,溫度插值點為27 000個點,更能直觀清楚的反映糧倉糧堆內部溫度信息。
由于糧倉數量較多,體積較大,要想獲得更為真實的數據,只能在倉內布設更多的傳感器,但是需要傳感器數量較多,成本較高,不能應用于大面積糧食儲藏,合理地在糧倉內布設傳感器將有效地降低糧食儲藏過程中的費用,利用有效數據進行插值分析,提高糧情信息化程度,使得糧情信息可視化程度大大提高,保障糧食儲存質量。本研究為有效解決在無傳感器位置出現糧溫異常的可疑點提供了一個初期方案,下一步的研究過程將針對在無傳感器位置發生糧溫異常時進行更加精確的實驗驗證。