劉云江, 關(guān) 慧,2, 王鴻亮, 王繼娜
1(沈陽(yáng)化工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 沈陽(yáng) 110142)
2(遼寧省化工過(guò)程工業(yè)智能化技術(shù)重點(diǎn)實(shí)驗(yàn)室, 沈陽(yáng) 110142)
3(中國(guó)科學(xué)院 沈陽(yáng)計(jì)算技術(shù)研究所, 沈陽(yáng) 110168)
4(中國(guó)科學(xué)院大學(xué), 北京 100049)
5(遼寧省先進(jìn)裝備制造業(yè)基地建設(shè)工程中心, 沈陽(yáng) 110001)
隨著智能制造與信息技術(shù)的融合發(fā)展, 智能制造正在成為制造業(yè)發(fā)展的主要趨勢(shì), 巡檢是智能制造發(fā)展的重要一環(huán), 是車(chē)間設(shè)備正常運(yùn)行的重要保障[1]. 混合現(xiàn)實(shí)技術(shù)作為信息技術(shù)的一種, 可以有效地輔助企業(yè)提高生產(chǎn)效率, 降低運(yùn)維成本, 提升員工專(zhuān)業(yè)技能水平, 加速產(chǎn)業(yè)智能升級(jí)[2]. 混合現(xiàn)實(shí)技術(shù)(MR)是虛擬現(xiàn)實(shí)(VR)技術(shù)的進(jìn)一步發(fā)展, 它不同于虛擬現(xiàn)實(shí)技術(shù)的虛擬化信息的單獨(dú)存在, 也不同于增強(qiáng)現(xiàn)實(shí)(AR)技術(shù)的現(xiàn)實(shí)信息與虛擬信息的簡(jiǎn)單疊加[3], 而在于物理環(huán)境與數(shù)字世界融合在一起, 使其在視覺(jué)和聽(tīng)覺(jué)上與所處世界融為一體.
在大型生產(chǎn)車(chē)間的巡檢中, 邱俊豪等設(shè)計(jì)的設(shè)備點(diǎn)檢與巡檢管理系統(tǒng)利用Web 系統(tǒng)和小程序解決了現(xiàn)存點(diǎn)檢流程中主要依靠紙質(zhì)記錄各類(lèi)信息的低效率問(wèn)題[4]. 在圖書(shū)館設(shè)備運(yùn)維方面, 孫臻等利用混合現(xiàn)實(shí)設(shè)備輔助運(yùn)維人員處理故障, 提高了設(shè)備運(yùn)維效率[3].在智能車(chē)間巡檢方面, 劉敏洋等提出了一套工業(yè)智能運(yùn)維系統(tǒng), 通過(guò)對(duì)混合現(xiàn)實(shí)技術(shù)的應(yīng)用達(dá)到工廠智能化管理的目的[2]. 相較于傳統(tǒng)的車(chē)間巡檢方法而言, 從Web 系統(tǒng)和小程序到混合現(xiàn)實(shí)技術(shù)的應(yīng)用已經(jīng)有了長(zhǎng)足的進(jìn)步, 針對(duì)于混合現(xiàn)實(shí)技術(shù)的應(yīng)用而言, 李玄基在基于HoloLens 增強(qiáng)現(xiàn)實(shí)的關(guān)鍵技術(shù)研究與實(shí)現(xiàn)的目標(biāo)空間定位實(shí)驗(yàn)中, 設(shè)備的真實(shí)空間位置同目標(biāo)空間定位計(jì)算出的位置進(jìn)行對(duì)比發(fā)現(xiàn)存在著一定的空間誤差范圍[5], 此時(shí), 若加上設(shè)備的類(lèi)別信息則可以提高識(shí)別不同設(shè)備的能力. 為了提高設(shè)備的識(shí)別率, 本文將深度學(xué)習(xí)應(yīng)用到混合現(xiàn)實(shí)車(chē)間巡檢中. 傳統(tǒng)的淺層次結(jié)構(gòu)模型在處理圖像數(shù)據(jù)方面表現(xiàn)較差, 特征提取難以滿足要求, 而深度學(xué)習(xí)在彌補(bǔ)了這一缺陷, 提取圖像深層次的結(jié)構(gòu)特征方面更具有優(yōu)勢(shì)[6]. 本文采用了卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行設(shè)備的分類(lèi)識(shí)別, 完成分類(lèi)識(shí)別后再通過(guò)位置信息確認(rèn)設(shè)備, 提高了HoloLens 利用率和識(shí)別率.
混合現(xiàn)實(shí)技術(shù)在醫(yī)學(xué)、工業(yè)制造和軍事等領(lǐng)域已經(jīng)得到了廣泛應(yīng)用, 作為混合現(xiàn)實(shí)技術(shù)實(shí)現(xiàn)的載體, 其代表產(chǎn)品為Magic Leap 公司的Magic Leap One、 微軟公司的HoloLens[7-10]. 本文采用了微軟公司于2019年2 月25 日最新發(fā)布的HoloLens2 設(shè)備進(jìn)行實(shí)驗(yàn).
首先, 邊緣設(shè)備的基本信息、運(yùn)行狀態(tài)等數(shù)據(jù)通過(guò)網(wǎng)卡收集, 然后通過(guò)控制系統(tǒng), 最終存儲(chǔ)到服務(wù)器上的MySQL 數(shù)據(jù)庫(kù)中; 其次, 用于進(jìn)行深度學(xué)習(xí)訓(xùn)練的數(shù)據(jù)集存儲(chǔ)在服務(wù)器上, 訓(xùn)練采用深度學(xué)習(xí)框架PyTorch搭建ResNet50 網(wǎng)絡(luò), 將訓(xùn)練完成后的權(quán)重文件保存在服務(wù)器上, 并使用PyTorchServe 搭建Web 服務(wù), 提供設(shè)備分類(lèi)識(shí)別功能; 巡檢人員頭戴HoloLens 在車(chē)間巡檢到某邊緣設(shè)備, 通過(guò)HoloLens 的攝像機(jī)功能發(fā)送該設(shè)備圖像到服務(wù)器, 服務(wù)器通過(guò)設(shè)備分類(lèi)識(shí)別功能驗(yàn)證后, 再次發(fā)送由HoloLens 的空間定位功能獲取的位置信息, 并與數(shù)據(jù)庫(kù)中的設(shè)備位置信息進(jìn)行比對(duì), 成功則返回該設(shè)備的在數(shù)據(jù)庫(kù)中的信息; 最后, HoloLens 顯示三維信息并通過(guò)網(wǎng)絡(luò)同步到顯示器上.
本系統(tǒng)共包含了5 層結(jié)構(gòu), 即邊緣設(shè)備層、數(shù)據(jù)接入層、數(shù)據(jù)存儲(chǔ)層、應(yīng)用實(shí)現(xiàn)層和應(yīng)用交互層, 系統(tǒng)整體架構(gòu)圖如圖1 所示.

圖1 系統(tǒng)整體架構(gòu)圖
邊緣設(shè)備層主要包括數(shù)控機(jī)床、數(shù)控系統(tǒng)及工業(yè)機(jī)器人等設(shè)備, 通過(guò)部署的網(wǎng)卡采集數(shù)據(jù), 是實(shí)現(xiàn)車(chē)間巡檢的基礎(chǔ); 數(shù)據(jù)接入層對(duì)采集到的數(shù)據(jù)進(jìn)行管理與整合, 通過(guò)控制系統(tǒng)將數(shù)據(jù)存入數(shù)據(jù)存儲(chǔ)層的MySQL數(shù)據(jù)庫(kù)中; 應(yīng)用實(shí)現(xiàn)層通過(guò)混合現(xiàn)實(shí)開(kāi)發(fā)包(MRTK)開(kāi)發(fā)HoloLens 應(yīng)用, 在服務(wù)器端部署PyTorchServe 服務(wù), 實(shí)現(xiàn)設(shè)備分類(lèi)識(shí)別功能; 應(yīng)用交互層提供了交互設(shè)備, 包括HoloLens 以及同步HoloLens 交互界面的顯示器, 這些應(yīng)用平臺(tái)可以輔助巡檢人員實(shí)時(shí)掌握車(chē)間運(yùn)行狀態(tài), 維護(hù)車(chē)間正常運(yùn)行.
空間定位功能: 在車(chē)間入口處啟動(dòng)并佩戴HoloLens,以此時(shí)的位置為世界坐標(biāo)原點(diǎn)[5], 實(shí)際的車(chē)間設(shè)備的位置是相對(duì)于原點(diǎn)的; 當(dāng)車(chē)間巡檢人員佩戴HoloLens 移動(dòng)到目標(biāo)設(shè)備前, 可以通過(guò)空間定位功能計(jì)算出該目標(biāo)設(shè)備的相對(duì)位置, 通過(guò)比對(duì)數(shù)據(jù)庫(kù)中的位置信息判斷出當(dāng)前設(shè)備.
分類(lèi)識(shí)別功能: 在巡檢作業(yè)時(shí), 由于HoloLens 的空間定位能力存在范圍誤差, 而且需要檢查的設(shè)備并非所有設(shè)備, 需要排除一些噪聲. 因此, 為了提高HoloLens的識(shí)別率以及過(guò)濾這些噪聲, 在進(jìn)行巡檢作業(yè)中, 需要通過(guò)分類(lèi)識(shí)別功能確認(rèn)設(shè)備類(lèi)別, 提高HoloLens 的利用率和識(shí)別率.
除了顯示信息, 用戶(hù)還可以通過(guò)人機(jī)交互功能對(duì)當(dāng)前巡檢設(shè)備添加日志信息, 并將日志信息存入數(shù)據(jù)庫(kù)進(jìn)行持久化處理, 如圖2 所示.

圖2 巡檢示意圖
HoloLens 設(shè)備具有的交互方式主要包括手勢(shì)識(shí)別交互、凝視交互和語(yǔ)音識(shí)別交互.
基于手勢(shì)識(shí)別的交互方式: HoloLens 上有兩個(gè)神經(jīng)網(wǎng)絡(luò)來(lái)識(shí)別手勢(shì), 一個(gè)神經(jīng)網(wǎng)絡(luò)一直處于運(yùn)行中, 負(fù)責(zé)判斷是否識(shí)別到了手勢(shì), 當(dāng)通過(guò)初步檢驗(yàn)后, 打開(kāi)第2 個(gè)神經(jīng)網(wǎng)絡(luò)來(lái)精確識(shí)別手勢(shì). 通過(guò)HoloLens 朝向外部的攝像頭識(shí)別到使用者的手部姿勢(shì)后, 在混合現(xiàn)實(shí)畫(huà)面中呈現(xiàn)人體手部骨骼運(yùn)動(dòng)狀態(tài)的虛擬UI[2], 通過(guò)手部跟蹤技術(shù)對(duì)虛擬對(duì)象實(shí)現(xiàn)交互操作, 相對(duì)于傳統(tǒng)交互的方式而言是一種更加自然、直觀的交互方式.
基于眼動(dòng)追蹤的凝視交互方式: HoloLens 在鼻梁部位有兩個(gè)用于眼動(dòng)追蹤的紅外相機(jī), 以獲得眼球圖像數(shù)據(jù)用于眼動(dòng)追蹤計(jì)算, 其支持實(shí)時(shí)的眼動(dòng)追蹤和注視點(diǎn)渲染, 可以用于與虛擬物體進(jìn)行交互、操控顯示頁(yè)面等.
基于語(yǔ)音識(shí)別的交互方式: HoloLens 前方上端有3 個(gè)小孔負(fù)責(zé)收集環(huán)境音的聲音, 而在護(hù)目鏡的底端的麥克風(fēng)則收集用戶(hù)語(yǔ)音, 它正好在用戶(hù)嘴唇的上方, 這使得在嘈雜的環(huán)境中依然可以使用語(yǔ)音操作. 語(yǔ)音識(shí)別交互技術(shù)主要通過(guò)采集用戶(hù)的語(yǔ)音指令生成控制指令, 處理后執(zhí)行最匹配的結(jié)果.
3 種交互方式相輔相成, 首先通過(guò)注視目標(biāo), 然后再通過(guò)手勢(shì)(隔空敲擊)、語(yǔ)音命令(說(shuō)出選擇命令)或者停留(用戶(hù)凝視著要選擇的目標(biāo))來(lái)確認(rèn)選擇目標(biāo)進(jìn)行交互, 如圖3 所示.

圖3 人機(jī)交互圖
在車(chē)間環(huán)境下, 由于HoloLens 的空間定位能力只在一定的范圍內(nèi)可以識(shí)別出設(shè)備, 所以加上類(lèi)別信息進(jìn)行區(qū)分可以在一定程度上提高其識(shí)別效果. 傳統(tǒng)的淺層特征識(shí)別容易受到車(chē)間環(huán)境的影響, 特征提取能力不足, 因此, 本文利用卷積神經(jīng)網(wǎng)絡(luò)(CNN)的深層特征提取能力, 彌補(bǔ)了空間定位能力的不足, 同時(shí)減少噪聲對(duì)設(shè)備的識(shí)別干擾, 提高識(shí)別能力.
CNN 是機(jī)器學(xué)習(xí)中常見(jiàn)的模型結(jié)構(gòu), 在圖像領(lǐng)域有著非常廣泛的應(yīng)用并且取得了一定的成就[11]. 在圖像分類(lèi)任務(wù)上AlexNet[12]、VGGNet[13]和GoogleNet[14]均已被證明可以取得良好的識(shí)別效果. 本文采用的網(wǎng)絡(luò)模型是微軟實(shí)驗(yàn)室提出的ResNet[15], 斬獲當(dāng)年ImageNet 競(jìng)賽中分類(lèi)任務(wù)第一名, 并且將錯(cuò)誤率降低到了3.75%, 其優(yōu)勢(shì)在于可以利用更深層次的網(wǎng)絡(luò)解決訓(xùn)練誤差隨網(wǎng)絡(luò)層數(shù)的增加而增大的問(wèn)題[6].
為了解決該問(wèn)題, 引入了殘差結(jié)構(gòu)單元, 其主要功能被稱(chēng)為跳躍連接 (如圖4 所示). 圖中H(x)為理想映射,F(x) 為殘差映射,H(x)=F(x)+x, 把輸出變?yōu)閿M合和輸入的疊加, 保護(hù)了信息的完整性, 解決了加深網(wǎng)絡(luò)層次導(dǎo)致的梯度消失或梯度爆炸等問(wèn)題[16].

圖4 殘差結(jié)構(gòu)單元
本文利用深度學(xué)習(xí)框架PyTorch 構(gòu)建的50 層ResNet網(wǎng)絡(luò)結(jié)構(gòu)模型, 訓(xùn)練時(shí)未使用dropout 層而是采用了BN 層, 并將BN 層放在卷積層和激活層之間, 且卷積層不使用偏置. 該框架分類(lèi)模型的輸入為224×224 大小的圖片, 第一個(gè)卷積層的參數(shù)是64 個(gè)7×7 的卷積核,stride 為2, padding 為3, bias 設(shè)置為false; 然后設(shè)置BN 層進(jìn)行標(biāo)準(zhǔn)化處理, 激活函數(shù)使用ReLU; 最后通過(guò)最大池化層下采樣處理后. 然后進(jìn)行后面的4 個(gè)卷積層操作, 其殘差結(jié)構(gòu)的個(gè)數(shù)分別為3、4、6、3. 通過(guò)平均池化層下采樣處理后, 因需要輸出6 類(lèi), 故將最后的全連接層的神經(jīng)元個(gè)數(shù)設(shè)置為6, 最后經(jīng)過(guò)Softmax層處理輸出輸入圖片被分為某一類(lèi)的概率.
數(shù)據(jù)來(lái)源: 由于這類(lèi)工業(yè)機(jī)器人、數(shù)控機(jī)床和數(shù)控系統(tǒng)的圖像數(shù)據(jù)廣泛分布于互聯(lián)網(wǎng)中, 其中百度的圖片搜索引擎搜集的數(shù)據(jù)量較大, 符合實(shí)驗(yàn)要求. 因此,數(shù)據(jù)集的采集主要通過(guò)百度圖庫(kù)下載.
數(shù)據(jù)類(lèi)別: 被采集的數(shù)據(jù)一共分為6 類(lèi), 其中待識(shí)別的數(shù)據(jù)準(zhǔn)備了3 類(lèi)(工業(yè)機(jī)器人、數(shù)控機(jī)床和數(shù)控系統(tǒng)), 由于在采集的待識(shí)別的數(shù)據(jù)集中存在噪聲特征(如人類(lèi))及數(shù)控系統(tǒng)的輪廓與其它數(shù)據(jù)(如書(shū)籍和圖表)的輪廓特征有一定的模糊性, 于是在實(shí)驗(yàn)過(guò)程中加入了另外3 類(lèi)噪聲數(shù)據(jù)(人類(lèi)、書(shū)籍、圖表).
采集過(guò)程: 首先利用自定義的爬蟲(chóng)工具根據(jù)關(guān)鍵字下載特定的圖像數(shù)據(jù), 然后再經(jīng)過(guò)人為篩選(若符合某類(lèi)特征, 則保留數(shù)據(jù), 否則過(guò)濾掉數(shù)據(jù)), 保留符合要求的數(shù)據(jù). 由于每種類(lèi)別數(shù)據(jù)大概在1 500 張圖片左右, 采集到的圖像數(shù)據(jù)經(jīng)處理后按7:3 的比例分為測(cè)試集和驗(yàn)證集, 最后通過(guò)在車(chē)間實(shí)際采集到的圖片數(shù)據(jù)進(jìn)行測(cè)試.
實(shí)驗(yàn)主要在服務(wù)器上進(jìn)行, 操作系統(tǒng)是CentOS,深度學(xué)習(xí)框架采用PyTorch, 設(shè)備的分類(lèi)識(shí)別服務(wù)采用PyTorchServe 部署在服務(wù)器上. 服務(wù)器上的處理器是NVIDIA GeForce RTX 3090, 24 GB 顯存, 對(duì)應(yīng)的CUDA版本號(hào)是11.1. Python 版本號(hào)是3.8.8.
在實(shí)驗(yàn)中, 用loss 值來(lái)判斷ResNet 網(wǎng)絡(luò)模型學(xué)習(xí)訓(xùn)練的成功性, 用accuracy 值來(lái)評(píng)判識(shí)別的準(zhǔn)確性. 采集的訓(xùn)練集總計(jì)有6 960 個(gè)樣本, 其中待識(shí)別數(shù)據(jù)集3 類(lèi)一共3 259 個(gè)樣本, 干擾數(shù)據(jù)集3 類(lèi)一共3 701 個(gè)樣本. 為了優(yōu)化神經(jīng)網(wǎng)絡(luò), 加快訓(xùn)練的過(guò)程, 使用了隨機(jī)梯度下降(SGD)的優(yōu)化方法, 初始時(shí), 梯度值的學(xué)習(xí)率(lr)設(shè)置為0.001, 動(dòng)量(momentum)為0.9, 權(quán)重衰減參數(shù)為0.005.
實(shí)驗(yàn)過(guò)程: 在準(zhǔn)確率方面, 前200 次迭代, 訓(xùn)練效果顯著, 準(zhǔn)確率提升較快; 但200 到600 次一直處于波動(dòng)狀態(tài), 第800 次迭代后, accuracy 逐漸收斂, 穩(wěn)定在0.965 附近. 訓(xùn)練過(guò)程的accuracy 特征曲線如圖5 所示.實(shí)驗(yàn)迭代一共1 000 次, 在900 次基本上完成收斂,loss 值趨于0.064 附近, 此時(shí)得到訓(xùn)練模型, loss 值越小, 模型擬合效果越好, 訓(xùn)練過(guò)程的loss 特征曲線如圖6 所示.

圖5 訓(xùn)練過(guò)程的accuracy 特征曲線圖

圖6 訓(xùn)練過(guò)程的loss 特征曲線
在實(shí)驗(yàn)中發(fā)現(xiàn), 工業(yè)機(jī)器人樣本圖像中可能會(huì)出現(xiàn)車(chē)間工人的特征信息, 而數(shù)控系統(tǒng)在邊緣特征上與圖表和書(shū)籍(矩形框)樣本有一定的相似度, 會(huì)形成一定的干擾作用. 為了提高精度, 便將這些帶有干擾特征的樣本作為新的類(lèi)別, 并建立對(duì)應(yīng)的數(shù)據(jù)集, 當(dāng)某類(lèi)特征在圖像占主要特征時(shí), 則識(shí)別為該類(lèi), 如圖7 所示(class 為識(shí)別類(lèi)別, prob 為識(shí)別率).

圖7 工業(yè)機(jī)器人識(shí)別
以工業(yè)機(jī)器人的識(shí)別為例, 4 張子圖中包括了機(jī)器人和人類(lèi)的特征信息. 若工業(yè)機(jī)器人的特征在待識(shí)別圖像中占主導(dǎo)特征, 則識(shí)別為工業(yè)機(jī)器人; 若人類(lèi)的特征信息在待識(shí)別圖像中占主導(dǎo)特征, 則識(shí)別為人類(lèi).
當(dāng)epoch=304 時(shí), 其中pic=1 的工業(yè)機(jī)器人和pic=3 的數(shù)控系統(tǒng)的圖像都被識(shí)別為了書(shū)籍; 但在epoch=352后, pic=1 的工業(yè)機(jī)器人識(shí)別正常, 準(zhǔn)確率逐漸上升; 而pic=3 的數(shù)控系統(tǒng)在epoch=505 后才開(kāi)始識(shí)別成功, 最后達(dá)到98.60%.
測(cè)試實(shí)驗(yàn)結(jié)果表明: 將噪聲單獨(dú)提取成一類(lèi), 在一定程度上提高了ResNet50 的識(shí)別率, 可以區(qū)分邊緣特征相似的B 與D (表1 中: pic=1 代表圖8 中的第一個(gè)子圖, 其余子圖以此類(lèi)推; epoch 值從0 開(kāi)始, 代表第一輪; 類(lèi)別A 代表Industrial_robot, 即工業(yè)機(jī)器人, 類(lèi)別B 代表Numerical_control_system, 即數(shù)控系統(tǒng), 類(lèi)別C 代表Numerical_machine_tool, 即數(shù)控機(jī)床; 類(lèi)別D 代表干擾噪聲books).

表1 測(cè)試實(shí)驗(yàn)結(jié)果

圖8 測(cè)試實(shí)驗(yàn)圖
巡檢人員在佩戴HoloLens 后, 在車(chē)間入口處啟動(dòng)設(shè)備, 并打開(kāi)巡檢應(yīng)用程序. 當(dāng)巡檢到某機(jī)床設(shè)備時(shí),點(diǎn)擊拍照, 采集到的圖像會(huì)顯示在虛擬UI 上; 再點(diǎn)擊預(yù)測(cè), 圖像被上傳至服務(wù)器; 最后點(diǎn)擊顯示, 若通過(guò)服務(wù)器驗(yàn)證, 則顯示該機(jī)床的基本信息、運(yùn)行狀態(tài)和報(bào)警等運(yùn)維詳細(xì)信息, 完成日常巡檢任務(wù). 巡檢過(guò)程中,還可以在下面的輸入框中通過(guò)基于語(yǔ)音識(shí)別的交互方式錄入日志信息, 巡檢效果圖如圖9 所示.

圖9 混合現(xiàn)實(shí)巡檢效果圖
相對(duì)于傳統(tǒng)的車(chē)間人工巡檢, 本文將深度學(xué)習(xí)應(yīng)用到混合現(xiàn)實(shí)車(chē)間巡檢中提高了巡檢人員的工作效率,利用了卷積神經(jīng)網(wǎng)絡(luò)中識(shí)別率較高的ResNet 在一定程度上彌補(bǔ)了HoloLens 空間定位功能的不足之處, 通過(guò)類(lèi)別和定位信息的方式識(shí)別設(shè)備, 提高了HoloLens的利用率和識(shí)別率. 實(shí)驗(yàn)結(jié)果表明, ResNet 在實(shí)際應(yīng)用環(huán)境中識(shí)別率較高, 有效的過(guò)濾了噪聲. 但是ResNet所需的訓(xùn)練時(shí)間較長(zhǎng), 對(duì)于車(chē)間設(shè)備圖像中帶有的噪聲特征有一定的模糊性, 接下來(lái)可以進(jìn)行目標(biāo)檢測(cè)技術(shù)的應(yīng)用實(shí)驗(yàn), 同時(shí)進(jìn)行多個(gè)車(chē)間設(shè)備的巡檢, 進(jìn)一步提高HoloLens 的利用率和識(shí)別率.