矯恒超
(中國(guó)石化青島安全工程研究院,山東青島 266104)
近年來(lái),國(guó)內(nèi)外大型火災(zāi)爆炸事故因初期應(yīng)急處置不到位導(dǎo)致事故持續(xù)擴(kuò)大的案例屢見(jiàn)不鮮,而傳統(tǒng)的應(yīng)急處置模擬演練存在缺少沉浸體驗(yàn)、周期長(zhǎng)、成本高等問(wèn)題,演練效果不佳,因此如何有效提升企業(yè)員工面對(duì)突發(fā)事件的應(yīng)急響應(yīng)能力、更好地讓企業(yè)員工熟悉應(yīng)急預(yù)案流程是亟待解決的問(wèn)題。隨著計(jì)算機(jī)技術(shù)的發(fā)展,多媒體、移動(dòng)學(xué)習(xí)、網(wǎng)絡(luò)學(xué)習(xí)、沉浸式學(xué)習(xí)等技術(shù)廣泛用于教育培訓(xùn)領(lǐng)域[1],而發(fā)展?jié)摿ψ畲?、交叉融合最快、培?xùn)效果最好的則是虛擬現(xiàn)實(shí)(Virtual Reality,VR)與增強(qiáng)現(xiàn)實(shí)(Augmented Reality,AR)[2-3]技術(shù),相比于虛擬現(xiàn)實(shí)技術(shù)來(lái)說(shuō),增強(qiáng)現(xiàn)實(shí)技術(shù)是一種更好的沉浸式交互感知技術(shù)[4],因此,AR技術(shù)[5]在教培領(lǐng)域的交叉應(yīng)用已成為未來(lái)主要的發(fā)展方向。
為解決傳統(tǒng)應(yīng)急演練存在的缺點(diǎn),基于增強(qiáng)現(xiàn)實(shí)技術(shù)結(jié)合石油化工裝置微縮模型及增強(qiáng)現(xiàn)實(shí)裝備,提出一種全新的混合現(xiàn)實(shí)(Mixed Reality,MR)算法,并研發(fā)成套混合現(xiàn)實(shí)交互式系統(tǒng)裝備,為體驗(yàn)式應(yīng)急演練提供了新的技術(shù)和方法,有利于提高演練人員的應(yīng)急救援技能與應(yīng)急處置能力。整體技術(shù)路線如圖1所示。
圖1 應(yīng)急處置交互式系統(tǒng)研發(fā)技術(shù)路線
為了解決高精度模型與動(dòng)態(tài)效果無(wú)法在現(xiàn)有頭顯設(shè)備上使用的問(wèn)題,提出了多邊形減面算法,在保證模型質(zhì)量的同時(shí),通過(guò)迭代使用邊坍塌操作,減少軟件運(yùn)行期間的多邊形面數(shù)來(lái)降低模型復(fù)雜度,有效解決了軟件加載速率的問(wèn)題,實(shí)現(xiàn)逼真的、實(shí)時(shí)的、高魯棒性的建模技術(shù),坍塌邊最優(yōu)選擇算法公式如下:
(1)
式中:Tu——包含頂點(diǎn)u的三角形的集合;
Tuv——同時(shí)包含頂點(diǎn)u、v的三角形集合。
對(duì)比簡(jiǎn)化前后的模型效果和面數(shù),在不影響三維展示效果的條件下,簡(jiǎn)化后模型面數(shù)為原始模型面數(shù)的1/10。
圖2展示了一個(gè)人物模型。在幀率低于會(huì)產(chǎn)生卡頓的閾值或者模型離當(dāng)前視角較遠(yuǎn)的位置時(shí),通過(guò)模型優(yōu)化算法,對(duì)高精度模型進(jìn)行減面,在保證視覺(jué)效果的前提下提升運(yùn)行的流暢度。
圖2 模型頂點(diǎn)、面片由多至少(從左到右)效果示意
1.2.1 模型自動(dòng)局部顯示算法
為實(shí)現(xiàn)三維模型局部顯示,假定物體處于空間球形的球心,相機(jī)視點(diǎn)處于空間球形的球面。如圖3所示,空間球形的球心為O,物體模型的中心為P,V為相機(jī)視點(diǎn),同時(shí)是顯示端的視角中心,顯示平面與球形處于相切關(guān)系,R則是相機(jī)視點(diǎn)V與球心P的距離。觀察者可從任意角度使用交互手段查看模型細(xì)節(jié),旋轉(zhuǎn)可更新相機(jī)視點(diǎn)在球面的空間位置,放縮可進(jìn)行球形大小的變化,實(shí)現(xiàn)相機(jī)視點(diǎn)與模型之間距離的更新。
圖3 操作視角的展示空間模型示意
1.2.2 局部分塊模型選擇算法
確定視角后,選擇合適的分塊數(shù)量執(zhí)行分塊模型組合并進(jìn)行局部渲染顯示。分塊模型一般由整體模型中一個(gè)或者多個(gè)連續(xù)局部面組成,當(dāng)分塊的整體法向與視角方向相反時(shí),能更清晰地對(duì)其進(jìn)行觀察。根據(jù)已知的視角選用選擇算法,計(jì)算得到各個(gè)分塊與視角的匹配度,再按照匹配度排序,選擇前s個(gè)分塊顯示。s與輸出設(shè)備的硬件環(huán)境有關(guān),硬件配置越高分塊顯示數(shù)量s越多。
基于視角的渲染顯示算法以分塊所含的全部三角面片的平均法向量作為法向。即為單體分塊的方向,記為Normal,計(jì)算公式為:
(2)
式中:s——分塊所含有的面片總數(shù);
S(i,j)——第i個(gè)面片的第j個(gè)頂點(diǎn)的法向。
1.2.3 局部自適應(yīng)顯示
先對(duì)同一模型進(jìn)行多層級(jí)的簡(jiǎn)化,分成不同分辨率級(jí)別,再依據(jù)不同顯示需求選擇最優(yōu)級(jí)別進(jìn)行渲染。使用簡(jiǎn)化模型顯示的條件為:①模型物體縮小達(dá)到提前設(shè)置的閾值或手動(dòng)點(diǎn)擊觀察整體模型,設(shè)置閾值為自動(dòng)觸發(fā),點(diǎn)擊觀察為手動(dòng)觸發(fā)。優(yōu)化后,不再顯示局部細(xì)節(jié),僅對(duì)簡(jiǎn)化后的模型進(jìn)行整體顯示,達(dá)到降低計(jì)算、提高效率的目的;②在物體未縮放狀態(tài)下,手動(dòng)放棄局部顯示,整體顯示簡(jiǎn)化后的物體模型,能夠在較近的角度下觀察整體信息。
在進(jìn)行模型旋轉(zhuǎn)時(shí),對(duì)匹配的分塊進(jìn)行重新計(jì)算,同時(shí)判斷分塊在內(nèi)存中的加載狀態(tài)。若處于加載狀態(tài),則忽略此次處理;若未處于加載狀態(tài),則內(nèi)存將新的分塊讀取顯示。
1.2.4 自適應(yīng)局部實(shí)時(shí)渲染顯示實(shí)驗(yàn)分析
實(shí)驗(yàn)?zāi)P偷暮?jiǎn)化度為60%,應(yīng)用簡(jiǎn)化模型進(jìn)行整體顯示。實(shí)驗(yàn)結(jié)果如表1所示,應(yīng)用簡(jiǎn)化模型顯示時(shí)的每秒傳輸幀數(shù)(Frames Per Second,F(xiàn)PS)值比局部高精顯示的FPS值低,在相對(duì)更低配置硬件環(huán)境下也不會(huì)出現(xiàn)延遲、卡頓的現(xiàn)象。
表1 局部展示和全局展示策略下的FPS
1.3.1 基于位置服務(wù)的空間定位算法
使用基于三角關(guān)系的空間定位技術(shù),假設(shè)三個(gè)基站坐標(biāo)分別是已知坐標(biāo)(x1,y1,z1)、(x2,y2,z2)、(x3,y3,z3),基站到設(shè)備的已知空間距離向量分別表示為D1、D2、D3,設(shè)備的坐標(biāo)是待求解坐標(biāo)(x0,y0,z0),根據(jù)公式(3)可以求解出被測(cè)物體坐標(biāo)。
(3)
1.3.2 基于標(biāo)記的空間映射注冊(cè)算法
該方法需提前做好一個(gè)已知標(biāo)記物,將標(biāo)記物放置在真實(shí)空間中的一個(gè)位置,進(jìn)行映射標(biāo)記位置的確定;利用傳感器對(duì)標(biāo)記物做圖像識(shí)別與姿態(tài)評(píng)估,標(biāo)記其空間位置;將標(biāo)記物的某個(gè)點(diǎn)作為映射的坐標(biāo)原點(diǎn),建立映射坐標(biāo)系;通過(guò)映射變換將屏幕坐標(biāo)系與映射坐標(biāo)系建立映射關(guān)系,基于映射關(guān)系將顯示的圖像映射在經(jīng)過(guò)標(biāo)記物標(biāo)定注冊(cè)過(guò)的真實(shí)空間中,實(shí)現(xiàn)虛擬場(chǎng)景在真實(shí)空間的疊加交互,原理如圖4所示。
圖4 基于標(biāo)記物的空間映射原理
1.3.3 基于平面基準(zhǔn)的空間映射注冊(cè)算法
與基于標(biāo)記的空間映射注冊(cè)算法的原理類似,不過(guò)它可以用任何具有足夠特征點(diǎn)的物體作為平面基準(zhǔn),不需提前制作標(biāo)記物,擺脫了標(biāo)記物對(duì)AR的限制。該算法原理是提取真實(shí)空間中某個(gè)物體的特征點(diǎn),并對(duì)特征點(diǎn)進(jìn)行標(biāo)記,當(dāng)傳感器掃描周圍場(chǎng)景時(shí),會(huì)對(duì)周圍場(chǎng)景的特征點(diǎn)與標(biāo)記物體的特征點(diǎn)對(duì)比,若特征點(diǎn)匹配數(shù)量大于設(shè)置的閾值,則對(duì)該物體進(jìn)行標(biāo)記,根據(jù)標(biāo)記物體特征點(diǎn)坐標(biāo)計(jì)算相機(jī)外參矩陣,最后通過(guò)空間映射矩陣完成虛擬投影在真實(shí)空間中的注冊(cè)。
基于微縮模型的整個(gè)匹配流程采用的是基于特征提取[6]與K-MEANS結(jié)合的求近似最近鄰匹配算法,對(duì)匹配到的關(guān)鍵點(diǎn)求單應(yīng)性映射,根據(jù)Inlier點(diǎn)集打分來(lái)最終判定識(shí)別到的目標(biāo)。
1.4.1 基于計(jì)算機(jī)視覺(jué)的特征提取算法
采用高斯濾波對(duì)輸入圖像進(jìn)行預(yù)處理,通過(guò)選取圖像梯度直方圖中大于70%的部分的值計(jì)算參數(shù)K,如公式(4)所示。
(4)
式中參數(shù)K作為控制擴(kuò)散級(jí)別的對(duì)比度因子,K值的大小與保留邊緣信息量的多少成反比。
在尺度空間中,尺度級(jí)別按對(duì)數(shù)遞增,共有O組(octaves)圖像,每組有S層(sub-level),組中所有子層圖像的分辨率都與原始圖像相同。通過(guò)公式(5)建立與尺度參數(shù)對(duì)應(yīng)關(guān)系。
(5)
式中:o——組用序號(hào);
s——層序號(hào);
σ0——尺度參數(shù)初始值;
N——尺度參數(shù)初始值為σ0的圖像總層數(shù)。
通過(guò)公式(6)將時(shí)間單位換算為圖像像素單位,其中tn稱為進(jìn)化時(shí)間。
(6)
根據(jù)一組進(jìn)化時(shí)間,通過(guò)迭代的方式構(gòu)建出非線性尺度空間,如公式(7)所示。
(7)
式中:L——圖像亮度;
I——單位矩陣;
An——圖像的傳導(dǎo)矩陣。
通過(guò)Hessian矩陣尋找局部極大值,獲得特征點(diǎn)檢測(cè),得到圖像L在尺度σ上的Hessian矩陣行列式,如公式(8):
(8)
式中:Lxx——為圖像L在x方向的二階微分;
Lyy——為圖像L在y方向的二階微分;
Lxy——為圖像L在xy方向的二階微分。
圍繞尺度為σi的特征點(diǎn)取一個(gè)24σi×24σi方形窗口,將其劃分成4×4的16個(gè)子區(qū)域,尺度大小均為9σi×9σi,此時(shí)每?jī)蓚€(gè)相鄰子區(qū)域會(huì)存在寬度為2σi的重疊部分,然后對(duì)16個(gè)子區(qū)域進(jìn)行高斯加權(quán),根據(jù)公式(9)得到子區(qū)域特征描述變量:
dv=(∑Lx,∑Ly,∑|Lx|,∑|Ly|)
(9)
式中:dv——長(zhǎng)度為4的子區(qū)域描述向量;
∑L——各子區(qū)域高斯加權(quán)。
在此基礎(chǔ)上,通過(guò)高斯窗口對(duì)各子區(qū)域的向量dv進(jìn)行加權(quán)和歸一化處理,得到64維的特征點(diǎn)描述向量。
1.4.2 基于數(shù)據(jù)挖掘的聚類算法
使用K-MEANS作為主要聚類分析的算法。目的是將n個(gè)特征劃分到k個(gè)聚類中,使得每個(gè)特征都屬于離他最近的均值所對(duì)應(yīng)的聚類,從而實(shí)現(xiàn)對(duì)不同特征點(diǎn)的聚類目的。其算法要點(diǎn)包括:
a)k值的選擇:k值對(duì)最終結(jié)果的影響至關(guān)重要,必須預(yù)先給定。給定合適的k值,需要先驗(yàn)知識(shí),憑空估計(jì)很困難,或者可能導(dǎo)致效果很差。
b) 異常點(diǎn)的存在:在迭代的過(guò)程中,K-MEANS使用所有點(diǎn)的均值作為新的中心點(diǎn),如果簇中存在異常點(diǎn),將導(dǎo)致均值偏差比較嚴(yán)重。在當(dāng)前情況下,使用K中值聚類算法。
c) 初值敏感:K-MEANS算法的計(jì)算結(jié)果對(duì)初始值較為敏感,因此,在該算法基礎(chǔ)上,加入初始化多套初始節(jié)點(diǎn)的方式來(lái)構(gòu)造多種分類規(guī)則,通過(guò)計(jì)算對(duì)比,選擇最優(yōu)的構(gòu)造規(guī)則。
使用各特征點(diǎn)在特征空間中的相對(duì)距離來(lái)表示聚類屬性,相對(duì)距離的計(jì)算使用歐氏距離的計(jì)算方法:在歐幾里得空間中,點(diǎn)x=(x1,…,xn)和y=(y1,…,yn)之間的歐氏距離關(guān)系見(jiàn)公式(10),算法歸集結(jié)果如圖5所示。
圖5 K-MEANS算法歸集結(jié)果
(10)
1.4.3 基于隨機(jī)抽樣一致性的驗(yàn)證算法
使用基于隨機(jī)抽樣的一致性算法對(duì)歸集結(jié)果進(jìn)行驗(yàn)證。從含有“局外點(diǎn)”的一組數(shù)據(jù)中迭代計(jì)算正確的數(shù)學(xué)模型,其中“局外點(diǎn)”為不符合模型要求的數(shù)據(jù)。該算法是一種非唯一結(jié)果的估計(jì)算法,能夠在一定概率下產(chǎn)生估算模型,迭代次數(shù)越多產(chǎn)生正確估算模型的概率越大。具體的實(shí)現(xiàn)步驟如下:①選擇可以估算出模型的最小數(shù)據(jù)集;②使用數(shù)據(jù)集來(lái)估算當(dāng)前迭代次數(shù)下的數(shù)據(jù)模型;③將所有數(shù)據(jù)帶入當(dāng)前迭代次數(shù)下的數(shù)據(jù)模型,計(jì)算得到“局內(nèi)點(diǎn)”的數(shù)目(累加誤差在設(shè)定閾值范圍內(nèi));④比較當(dāng)前迭代次數(shù)下的模型和之前估算所得最好模型的“局內(nèi)點(diǎn)”的數(shù)量,記錄最大“局內(nèi)點(diǎn)”數(shù)目及對(duì)應(yīng)的模型參數(shù);⑤重復(fù)②~⑤,直到迭代結(jié)束或者當(dāng)前模型已經(jīng)足夠準(zhǔn)確(在一定誤差閾值范圍內(nèi),局內(nèi)點(diǎn)數(shù)目大于一定數(shù)量)。
以上技術(shù)算法解決了在移動(dòng)式獨(dú)立計(jì)算單元環(huán)境下包括三維建模、局部渲染、空間定位以及圖像識(shí)別的優(yōu)化問(wèn)題,為混合現(xiàn)實(shí)系統(tǒng)研發(fā)提供了技術(shù)支撐,實(shí)現(xiàn)在有限計(jì)算單元下的復(fù)雜場(chǎng)景應(yīng)用。
通過(guò)對(duì)石化企業(yè)地形數(shù)據(jù)整理、實(shí)景數(shù)據(jù)處理,生成基礎(chǔ)模型數(shù)據(jù)庫(kù),將模型數(shù)據(jù)導(dǎo)入U(xiǎn)nity3D軟件中進(jìn)行模型的渲染優(yōu)化,最終生成基于混合現(xiàn)實(shí)技術(shù)的罐區(qū)火災(zāi)應(yīng)急處置系統(tǒng)。
其中沉浸式頭顯采用微軟公司發(fā)布的HoloLens增強(qiáng)現(xiàn)實(shí)頭戴顯示器[7],該設(shè)備提供6顆攝像頭[8]用于采集環(huán)境信息與使用者的交互信息,作為混合現(xiàn)實(shí)算法的數(shù)據(jù)輸入采集及三維顯示端。
基于情景構(gòu)建內(nèi)容開(kāi)發(fā)應(yīng)急處置交互流程,情景擬定企業(yè)儲(chǔ)罐區(qū)904號(hào)原油儲(chǔ)罐(50 000 m3,外浮頂罐),因浮艙腐蝕發(fā)生泄漏,罐頂遭遇雷擊著火,密封圈多段燃燒造成浮盤(pán)沉沒(méi),形成全表面火災(zāi),在撲救過(guò)程中,原油發(fā)生沸溢,導(dǎo)致數(shù)人死亡、20余人重傷、數(shù)千人疏散。
系統(tǒng)以微縮罐區(qū)模型為識(shí)別入口進(jìn)入場(chǎng)景,內(nèi)容包含事故演練、罐區(qū)信息介紹、解構(gòu)剖析,可通過(guò)罐體交互查看外浮頂罐的基本內(nèi)容,包含溫度、壓力、液位高度、介質(zhì)、儲(chǔ)量等信息,并觀看罐體剖析視頻了解罐體內(nèi)部構(gòu)造,如圖6所示。
圖6 信息展示與結(jié)構(gòu)剖析AR效果示意
2.2.1 原油罐發(fā)生泄漏
基于手勢(shì)的交互進(jìn)行模擬,原油罐區(qū)904號(hào)外浮頂罐發(fā)生泄漏,罐頂遭雷擊引發(fā)密封圈著火,引發(fā)光柵報(bào)警,雷擊引發(fā)密封圈著火展示效果如圖7所示。
圖7 雷擊引發(fā)密封圈著火AR效果示意
2.2.2 原油罐全面積火災(zāi)
指引演練人員開(kāi)啟904號(hào)罐泡沫發(fā)生器,以及902、903、904號(hào)罐噴淋設(shè)施,通過(guò)三維交互對(duì)罐區(qū)閥門(mén)進(jìn)行停止罐區(qū)輸送作業(yè)并進(jìn)行工藝調(diào)整,提供3套消防車部署方案,演練人員需要根據(jù)風(fēng)向、有效撲救、便于撤離的原則選擇消防車站位部署,3種方案對(duì)應(yīng)不同災(zāi)害后果。
2.2.3 原油沸溢
若演練人員選擇非最優(yōu)消防力量部署方案,則會(huì)導(dǎo)致904號(hào)罐火焰高度增加,著火的原油儲(chǔ)罐發(fā)生沸溢,操作人員在撤離過(guò)程中,被沸溢噴濺的油火灼傷,動(dòng)畫(huà)展示醫(yī)院救護(hù)車救護(hù)過(guò)程,罐體熱輻射數(shù)值模擬展示效果如圖8所示。
圖8 熱輻射模擬AR效果示意
2.2.4 形成流淌火
經(jīng)過(guò)數(shù)值模擬計(jì)算得到罐區(qū)熱輻射模型,并進(jìn)行三維動(dòng)態(tài)投影。由于904號(hào)罐著火的熱輻射導(dǎo)致了周邊罐密封的破壞,沸溢油火點(diǎn)燃了903號(hào)、902號(hào)油罐頂部外泄的油氣層,引起燃爆著火,大量原油泄漏,在防火堤內(nèi)形成流淌火。
石化行業(yè)屬于高危行業(yè),事故的發(fā)生會(huì)造成難以估計(jì)的后果,通過(guò)對(duì)石化行業(yè)相關(guān)員工進(jìn)行安全培訓(xùn),提升員工的應(yīng)急處置能力,是降低事故危害的有效措施?;诨旌犀F(xiàn)實(shí)技術(shù)的應(yīng)急處置交互式系統(tǒng),為典型重特大事故的應(yīng)急處置提供了一種新型有效的培訓(xùn)及演練方式,從而解決了傳統(tǒng)實(shí)戰(zhàn)演練和二維文本圖片培訓(xùn)的弊端。后續(xù)可繼續(xù)優(yōu)化提升,完成在半實(shí)物仿真裝置模型甚至真實(shí)裝置的混合現(xiàn)實(shí)應(yīng)急處置演練、裝置檢維修、隱患排查等場(chǎng)景應(yīng)用,進(jìn)一步延伸混合現(xiàn)實(shí)技術(shù)的應(yīng)用場(chǎng)景。