孔吉宏,丘恩華,呂毅松,羅茜,周鴻雁
(南方電網(wǎng)調(diào)峰調(diào)頻發(fā)電有限公司,廣東 廣州 510630)
隨著計算機(jī)技術(shù)的發(fā)展和5G 高速通信應(yīng)用的深入,虛擬現(xiàn)實(shí)(VR)技術(shù)成為了當(dāng)前的研究熱點(diǎn)之一。VR 技術(shù)可以借助一定的硬件環(huán)境,通過計算機(jī)生成可以給人體帶來感官刺激的虛擬環(huán)境,并在該環(huán)境下完成人機(jī)交互[1-11]。在VR 中,人體的視覺、聽覺、力覺、觸覺均得到了完整的反饋,消除了人與計算機(jī)之間的隔閡,做到了真正的人機(jī)交互。對于電力系統(tǒng),從業(yè)人員經(jīng)常處于危險作業(yè)環(huán)境下,相關(guān)人員只有具備足夠的專業(yè)技能、熟練的業(yè)務(wù)能力才能保證人身和設(shè)備的安全。目前,電力系統(tǒng)使用的培訓(xùn)環(huán)境大多是小型化、離散化的,與實(shí)際的生產(chǎn)環(huán)境存在差距。若引入VR 技術(shù),建立操作仿真平臺,可以大幅度提升電力系統(tǒng)的培訓(xùn)水平。
基于以上背景,該文對虛擬現(xiàn)實(shí)技術(shù)中的軟硬件平臺搭建方法、手勢跟蹤識別算法進(jìn)行了研究。針對某水電站設(shè)計了一套安全操作仿真平臺,通過虛擬環(huán)境模擬實(shí)際生產(chǎn)環(huán)境,提高從業(yè)人員的專業(yè)技能與實(shí)操能力[12-15]。
為了實(shí)現(xiàn)人體和水電站虛擬環(huán)境的交互,需要引入手部感知識別軟硬件系統(tǒng)。在此之前,應(yīng)先建立虛擬環(huán)境下的手部模型,提供手的姿態(tài)、位置以及動作等信息。具體的屬性如表1 所示[16]。
表1 手部信息采集
手部模型的指尖方向向量、手掌方向和法向向量如圖1 所示。
圖1 手部模型示意圖
當(dāng)前的手部跟蹤算法主要有兩類:1)檢測前跟蹤(TBD);2)檢測后跟蹤(DBT)。相較于DBT,TBD 算法需要保留手部的全部采集信息,然后對數(shù)據(jù)進(jìn)行聯(lián)合處理。由于在進(jìn)行特征判決時基于多幀數(shù)據(jù)信息,因此TBD 算法具有更高的檢測成功率,但其數(shù)據(jù)處理負(fù)荷更大,對于硬件的要求更高。該文面向的應(yīng)用場景為電力生產(chǎn),對于算法的識別精度有較高的要求,因此采用了TBD 算法。首先進(jìn)行均值濾波:
其中,N是像素總量。均值濾波通過像素點(diǎn)(x,y)周圍的N個像素點(diǎn)構(gòu)成濾波窗口,用均值替代原有的像素值,對原始的手部關(guān)節(jié)運(yùn)動軌跡進(jìn)行降噪,避免因?yàn)槎秳佣鹪肼曈绊?。?jīng)過均值濾波后,手部骨骼節(jié)點(diǎn)的空間坐標(biāo)變?yōu)椋?/p>
濾波完成后,對幀特征進(jìn)行特征提取。首先定義手掌掌心坐標(biāo)p、指尖坐標(biāo)fi:
由此可以得到手勢序列的結(jié)構(gòu)特征以及指尖到掌心的歐式距離:
由于手勢識別是通過連續(xù)的幀進(jìn)行判別,因此可以借助連續(xù)序列來定義序列特征。對于式(3)和式(4)所定義的手部模型,當(dāng)i=1,2,…,5 時,可以組成六元組Ti={p,f1,f2,f3,f4,f5}。利用該六元組的平均值、標(biāo)準(zhǔn)差和均方根作為序列特征:
除了結(jié)構(gòu)特征和序列特征,在手勢的動態(tài)變化中,其空間特征也會發(fā)生改變。為了描述出這種改變,首先需要定義掌心到中指尖的向量為空間中的基向量:
根據(jù)基向量,可以得到手勢在空間中與x、y、z軸的夾角余弦值:
為了保證水電站安全操作仿真平臺功能的完整性,該文基于系統(tǒng)工程學(xué)的思想對平臺進(jìn)行需求分析,設(shè)計了圖2 所示的系統(tǒng)功能模塊。
圖2 仿真平臺功能模塊圖
從圖2 中可以看出,系統(tǒng)包括設(shè)備學(xué)習(xí)、設(shè)備拆裝、水電站虛擬漫游和培訓(xùn)內(nèi)容考試四類。每個模塊的具體功能如下:
1)設(shè)備學(xué)習(xí)
電力系統(tǒng)的安全、穩(wěn)定運(yùn)行離不開設(shè)備的平穩(wěn)運(yùn)轉(zhuǎn),建立水電站仿真操作平臺是為了讓全體運(yùn)維人員深入了解運(yùn)行設(shè)備。在水電站中,包含水輪機(jī)、發(fā)電機(jī)組、高壓斷路器、隔離開關(guān)等多種設(shè)備。通過引入虛擬現(xiàn)實(shí)系統(tǒng)進(jìn)行設(shè)備虛擬化操作、巡視,學(xué)習(xí)設(shè)備的工作原理可以更優(yōu)地提升運(yùn)維人員的專業(yè)水平。
2)設(shè)備拆裝
該模塊可以為運(yùn)維人員提供虛擬化的實(shí)操環(huán)境。運(yùn)維人員通過對電力設(shè)備的拆裝,可以更細(xì)致地了解設(shè)備的內(nèi)部結(jié)構(gòu),深入學(xué)習(xí)電力設(shè)備的運(yùn)行機(jī)理,提升自身的技能水平。
3)水電站虛擬漫游
該模塊基于實(shí)際的水電站生產(chǎn)環(huán)境,采用虛擬現(xiàn)實(shí)技術(shù)構(gòu)建虛擬的站內(nèi)場景,對水電站進(jìn)行1∶1真實(shí)展現(xiàn)。運(yùn)維人員可以借助VR 設(shè)備,實(shí)現(xiàn)站內(nèi)的沉浸式虛擬漫游。在漫游過程中,運(yùn)維人員完成對站內(nèi)重要設(shè)備、關(guān)鍵節(jié)點(diǎn)的巡視。
4)培訓(xùn)內(nèi)容考試
該模塊可以基于上述的設(shè)備學(xué)習(xí)、設(shè)備拆裝、虛擬漫游等培訓(xùn)項目進(jìn)行考核鑒定。通過虛擬現(xiàn)實(shí)技術(shù)配置實(shí)操題目,運(yùn)維人員可以在虛擬環(huán)境中完成培訓(xùn)與考核。該模塊的引入實(shí)現(xiàn)了整個仿真平臺業(yè)務(wù)流程的閉環(huán)。
為了實(shí)現(xiàn)圖2 描述的安全仿真平臺,需要借助VR 硬件,該文使用的是LED-CAVE。其可以通過手柄和數(shù)據(jù)手套上的70 多個傳感器記錄數(shù)據(jù),生成目標(biāo)的空間位置,借助雙目成像技術(shù)感知虛擬環(huán)境。LED-CAVE連接的PC作為軟硬件的結(jié)合點(diǎn),共有8臺高性能圖形工作站,其中1臺作為主控機(jī),另外7臺作為渲染集群機(jī)控制LED 主控設(shè)備進(jìn)行湖面呈現(xiàn),所有工作站均在局域網(wǎng)內(nèi),每臺機(jī)器的配置均如表2所示。
表2 計算機(jī)配置
從表2 可以看出,PC 上配置的軟件開發(fā)工具為Unity 和MiddleVR。Unity 是一款用于大型游戲設(shè)計的專業(yè)軟件,可以通過物理模擬、法線貼圖、動態(tài)陰影等資源完成場景渲染。在工作時,Unity 通過可視化工作流完成場景布局、資源綁定,極大地提升了VR 開發(fā)的效率。而MiddleVR 是一款專用VR 開發(fā)插件,其支持LED-CAVE 交互設(shè)備并提供了全面的設(shè)備接口。通過書寫配置文件,即可將軟硬件無縫結(jié)合,實(shí)現(xiàn)人與虛擬世界的交互。
在開發(fā)的過程中,為了將MiddleVR 添加到Unity項目中,因此需要將其鏈接到MiddleVR 的通用部分,以驅(qū)動攝像機(jī)和3D 節(jié)點(diǎn)的所有腳本及插件。在MiddleVR 安裝的數(shù)據(jù)文件夾中找到MiddleVR Unity,然后導(dǎo)入該數(shù)據(jù)包并添加MiddleVR 和Plugins兩個文件夾,具體的配置方法如圖3 所示。
圖3 UI交互配置圖
配置完成后,對編程環(huán)境進(jìn)行交互配置。首先創(chuàng)建交互腳本:
using Unity;
using MiddleVR_Unity;
隨后,借助MidlleVR 中的設(shè)備管理器MiddleVR.VRDeviceMgr 添加所有的輸入設(shè)備,并在設(shè)備管理器中配置添加多個Wand。添加完成后,如需訪問他們的輸入數(shù)據(jù),則只需通過調(diào)用命令來檢索Wand:
vrWand myWand=
MiddleVR.VRDeviceMgr.GetWand("MyWand Name");
由于MiddleVR 和Unity 使用了不同的坐標(biāo)系,因此,當(dāng)用戶從MiddleVR 的添加輸入設(shè)備獲取3D坐標(biāo)(3D 矢量、四元數(shù)、矩陣)后,必須借助MVRTools.ToUnity(·)函數(shù)再將其轉(zhuǎn)換為Unity 坐標(biāo);當(dāng)用戶從Unity GameObject 獲取3D 坐標(biāo)并在MiddleVR 節(jié)點(diǎn)或跟蹤器上對其進(jìn)行設(shè)置時,需要先借助SetPos itionVirtualWorld(·)函數(shù)從Unity 轉(zhuǎn)換為MiddleVR 坐標(biāo)系。
如圖4 所示,穿戴好動作捕捉設(shè)備,進(jìn)入系統(tǒng)程序調(diào)試完成之后,利用設(shè)備操縱場景中的虛擬人物進(jìn)行動作,可以給系統(tǒng)使用者帶來真實(shí)的體驗(yàn)感。
圖4 視界可達(dá)性與動作舒適性驗(yàn)證
圖5 給出了虛擬手的操作示意圖。通過Unity 和MiddleVR 的交互接口完成虛擬手在場景中進(jìn)行事件、響應(yīng)操作,例如實(shí)現(xiàn)抓握、松手、五指動作指令等。圖中給出了拾取/放置、拆卸/裝配等操作的仿真圖示。
圖5 設(shè)備操作虛擬操作示意
為了評估該仿真操作平臺在進(jìn)行設(shè)備操作時對于手部動作的識別精度,該文征集了102 名參培學(xué)員,針對13 種手部動作錄制了數(shù)據(jù)集。在該數(shù)據(jù)集中,每位參培學(xué)員針對同一動作錄制10 次,共得到了13 260 個視頻序列,每個序列的分辨率為640×480,長度1~2 s,幀率為每秒30 幀。
在分類時,文中使用支持向量機(jī)(SVM)算法,仿真使用的核函數(shù)為線性徑向基高斯函數(shù)。在仿真時,使用60%的樣本數(shù)據(jù)作為訓(xùn)練集,其余40%的樣本數(shù)據(jù)作為測試集。完成上文所述的手部特征提取后,最終每個動作的識別準(zhǔn)確度如表3 所示。
表3 該文算法的仿真結(jié)果
從表3 可以看出,該系統(tǒng)在進(jìn)行手部動作識別時,對大多數(shù)的手部動作識別準(zhǔn)確度均在85%以上,平均識別準(zhǔn)確度達(dá)到了87.2%。但對于兩指捏、捏放這種相似動作,容易產(chǎn)生識別混淆,故而平臺在該動作的識別上仍有一定的優(yōu)化空間。
該文基于某水電站的實(shí)際生產(chǎn)環(huán)境,利用VR 設(shè)備、Unity、MiddleVR 等軟硬件平臺進(jìn)行虛擬化,并對手部的動作跟蹤和識別方法進(jìn)行優(yōu)化。在虛擬化后的環(huán)境下,從業(yè)人員可以實(shí)現(xiàn)設(shè)備操作、設(shè)備拆裝、虛擬漫游等功能,電力從業(yè)人員在該系統(tǒng)中,可以通過視覺、聽覺、觸覺等多種感官完成培訓(xùn),從而有效提升作業(yè)人員的培訓(xùn)體驗(yàn)和電力行業(yè)的培訓(xùn)水平。該文的研究內(nèi)容符合電力培訓(xùn)的發(fā)展趨勢,具有較強(qiáng)的應(yīng)用價值。