章兆豐,周籮魚
(長江大學(xué) 電子信息學(xué)院,湖北荊州,434023)
基于智慧教育、智慧校園的理念和未來發(fā)展趨勢,可以預(yù)見實(shí)驗(yàn)室作為實(shí)踐育人的重要場所,是將來需要提高信息化、數(shù)字化、智能化水平的重要場景。在人工智能、大數(shù)據(jù)、物聯(lián)網(wǎng)、數(shù)字孿生等技術(shù)蓬勃發(fā)展,并持續(xù)引領(lǐng)驅(qū)動各行業(yè)領(lǐng)域向著智能化目標(biāo)穩(wěn)步推進(jìn)的背景下,將這些技術(shù)應(yīng)用于實(shí)驗(yàn)室場景成為當(dāng)前的研究熱點(diǎn)[1~3]。
本文以實(shí)驗(yàn)室為場景,提出了一種基于深度學(xué)習(xí)的實(shí)驗(yàn)室學(xué)生行為檢測方法,通過建立學(xué)生實(shí)驗(yàn)室行為數(shù)據(jù)集,訓(xùn)練生成基于目標(biāo)檢測算法YOLOv5 的實(shí)驗(yàn)室行為檢測模型,并以此為基礎(chǔ),結(jié)合數(shù)字孿生技術(shù),構(gòu)建了一套實(shí)驗(yàn)室數(shù)字孿生智能監(jiān)控系統(tǒng)。該系統(tǒng)可以實(shí)現(xiàn)對實(shí)驗(yàn)室學(xué)生行為的實(shí)時(shí)智能檢測,并可通過三維數(shù)字化模型對行為檢測結(jié)果進(jìn)行直觀的可視化表達(dá);另外,系統(tǒng)生成的歷史行為數(shù)據(jù)可用于學(xué)生實(shí)驗(yàn)行為狀態(tài)的分析、教學(xué)質(zhì)量評估、實(shí)驗(yàn)教學(xué)過程的優(yōu)化以及提高實(shí)驗(yàn)室管理水平和實(shí)驗(yàn)室資源利用率。
本文首先采集實(shí)驗(yàn)室監(jiān)控?cái)?shù)據(jù),并定義實(shí)驗(yàn)行為類別,考慮到行為的一般性,本文定義三種實(shí)驗(yàn)室行為(正常實(shí)驗(yàn)行為,玩手機(jī)行為,睡覺行為)。在此基礎(chǔ)之上,對采集到的大量監(jiān)控?cái)?shù)據(jù)進(jìn)行篩選和截取,并對選取到的實(shí)驗(yàn)室行為圖像進(jìn)行標(biāo)注,生成實(shí)驗(yàn)室行為數(shù)據(jù)集。共有524 張圖像輸入到網(wǎng)絡(luò)中學(xué)習(xí)。
實(shí)驗(yàn)采用深度學(xué)習(xí)框架PyTorch 進(jìn)行搭建,操作平臺為Windows 10。具體配置如表1 所示。
表1 訓(xùn)練平臺配置
為了評估算法效果,采用精確率(Precision)、召回率(Recall)、平均精度均值(mAP)來評估訓(xùn)練結(jié)果。模型采用YOLOV5 檢測模型[4]。該模型相比以前的版本,有一些關(guān)鍵改進(jìn),提高了檢測的性能。
(1)馬賽克數(shù)據(jù)增強(qiáng)。YOLOv5 采用了馬賽克數(shù)據(jù)增強(qiáng)來豐富數(shù)據(jù)集。這種數(shù)據(jù)增強(qiáng)方式是把4 張圖片通過隨機(jī)縮放、隨機(jī)裁減、隨機(jī)排布的方式進(jìn)行拼接。這種方法可以很好地豐富數(shù)據(jù)集,并且豐富了檢測物體的背景和小目標(biāo)。
(2)Focus 結(jié)構(gòu)。YOLOv5 引入了一種Foucs 結(jié)構(gòu)在進(jìn)入主干網(wǎng)絡(luò)之前對圖像進(jìn)行切片操作,F(xiàn)ocus 結(jié)構(gòu)的引入使得在下采樣的過程中保持圖像的信息。
(3)CSP 結(jié)構(gòu)。CSPnet 在[14]中被提出。它能夠有效解決卷積神經(jīng)網(wǎng)絡(luò)主干中的梯度信息重復(fù)問題,并將梯度變化從頭到尾融入特征圖中。CSP 結(jié)構(gòu)的引入不僅降低了計(jì)算量,還提高了精度。在YOLOv5 中,設(shè)計(jì)了兩種不同的CSP 結(jié)構(gòu)被分別應(yīng)用于主干網(wǎng)絡(luò)BackBone 和特征增強(qiáng)Neck 中。
(4)PAN 結(jié)構(gòu)。YOLOv5 借鑒了PANet[15],在特征增強(qiáng)Neck 模塊中采用了FPN+PAN 結(jié)構(gòu),F(xiàn)PN 從上往下傳遞特征,PAN 則從下往上傳遞特征。這種組合結(jié)構(gòu)主要提高了特征提取的能力。
實(shí)驗(yàn)訓(xùn)練參數(shù)設(shè)置如下:輸入的圖像像素為640×640,初始學(xué)習(xí)率為0.01,權(quán)重衰減正則系數(shù)為0.0005,最大迭代次數(shù)設(shè)置為300。模型的精確率、召回率以及平均精度均值如圖1 所示??梢钥吹?,當(dāng)?shù)螖?shù)大約達(dá)到100 次時(shí),各指標(biāo)數(shù)值趨近于1。最終Precision 為0.919,Recall 為0.887,mAP@0.5 為0.932。實(shí)驗(yàn)結(jié)果表明,該模型能夠很好地適應(yīng)實(shí)驗(yàn)室行為數(shù)據(jù)集的數(shù)據(jù)特征,其精確率和召回率都能夠滿足本文應(yīng)用需求。此外,每幀圖像的平均檢測時(shí)間為30ms,也可以滿足本文實(shí)時(shí)檢測的需求。
圖1 訓(xùn)練結(jié)果
目前,數(shù)字孿生技術(shù)在工業(yè)領(lǐng)域已經(jīng)有一些嘗試應(yīng)用,陶飛等人提出了數(shù)字孿生車間的概念并闡述了其系統(tǒng)組成和實(shí)現(xiàn)方法[5]。同時(shí)針對數(shù)字孿生車間的信息物理融合進(jìn)行了系統(tǒng)性的理論解釋并給出了框架設(shè)計(jì)[6]。王尚剛等人提出了一種數(shù)字孿生智慧燃?xì)庀到y(tǒng)[7],將數(shù)字孿生與燃?xì)膺\(yùn)營中各種復(fù)雜對象、場景相結(jié)合,以實(shí)現(xiàn)數(shù)據(jù)一體化;并基于一些實(shí)踐工作,證明了其數(shù)字孿生系統(tǒng)的可行性。然而,教育領(lǐng)域的實(shí)際應(yīng)用還較少,大部分的相關(guān)研究仍處于理論探索階段[8-9]?;诖耍疚拈_展了實(shí)驗(yàn)室數(shù)字孿生智能監(jiān)控系統(tǒng)的設(shè)計(jì)及開發(fā),以推動實(shí)驗(yàn)室的智能化建設(shè)。
本文的數(shù)字孿生系統(tǒng)設(shè)計(jì)如圖2 所示,分為物理層、感知層、數(shù)據(jù)分析層、數(shù)據(jù)中轉(zhuǎn)層、驅(qū)動及應(yīng)用層、數(shù)據(jù)傳輸層。
圖2 實(shí)驗(yàn)室數(shù)字孿生監(jiān)控系統(tǒng)設(shè)計(jì)
(1)物理層??陀^存在的物理實(shí)體,孿生的目標(biāo)對象。本設(shè)計(jì)中指真實(shí)世界實(shí)驗(yàn)室場景以及實(shí)驗(yàn)室學(xué)生。
(2)感知層。采集物理實(shí)體實(shí)時(shí)數(shù)據(jù)的各種傳感器或設(shè)備。本設(shè)計(jì)由實(shí)驗(yàn)室內(nèi)監(jiān)控?cái)z像頭采集實(shí)時(shí)圖像數(shù)據(jù)。
(3)數(shù)據(jù)分析層。數(shù)據(jù)分析層負(fù)責(zé)對感知層采集到的數(shù)據(jù)進(jìn)行解析和處理以獲取主要孿生數(shù)據(jù)。孿生數(shù)據(jù)是數(shù)字孿生系統(tǒng)的核心驅(qū)動,而要實(shí)現(xiàn)虛擬世界對物理層的映射,需要合適的孿生數(shù)據(jù)作為基礎(chǔ)。本設(shè)計(jì)中,監(jiān)控?cái)z像頭采集到的視頻數(shù)據(jù)無法直接作為系統(tǒng)的孿生數(shù)據(jù)使用,這里由本地服務(wù)器作為處理中心,接收攝像頭采集到的視頻數(shù)據(jù),并通過算法對接收到的視頻數(shù)據(jù)進(jìn)行相應(yīng)的處理,算法處理主要分為兩個(gè)方面:一方面是使用目標(biāo)檢測算法YOLOv5 實(shí)現(xiàn)實(shí)驗(yàn)室人員的實(shí)驗(yàn)室行為檢測,輸出目標(biāo)框和對應(yīng)的行為類別;另一方面是將目標(biāo)檢測算法的輸出進(jìn)行有效性篩選以及完成虛實(shí)的定位映射。最終圖像數(shù)據(jù)在該層被處理為Json 數(shù)據(jù)傳輸?shù)綌?shù)據(jù)中轉(zhuǎn)層,這里的Json數(shù)據(jù)就是該數(shù)字孿生系統(tǒng)的主要孿生數(shù)據(jù),主要包括實(shí)驗(yàn)室人員的位置信息和對應(yīng)的行為狀態(tài)等信息。
(4)數(shù)據(jù)中轉(zhuǎn)層。負(fù)責(zé)數(shù)據(jù)的管理、存儲、共享。本設(shè)計(jì)采用云服務(wù)器作為數(shù)據(jù)中轉(zhuǎn)站,以實(shí)現(xiàn)廣域網(wǎng)的數(shù)據(jù)傳輸,并可基于云服務(wù)器部署Web 端。在云服務(wù)器的數(shù)據(jù)庫上存儲的數(shù)據(jù),一部分是作為實(shí)時(shí)數(shù)據(jù)傳輸?shù)娇蛻舳?,另一部分則作為持久化數(shù)據(jù)以供歷史查詢或統(tǒng)計(jì)分析。
(5)驅(qū)動及應(yīng)用層。驅(qū)動及應(yīng)用層是數(shù)字孿生系統(tǒng)的具體體現(xiàn)和最終目的,用戶通過其與系統(tǒng)進(jìn)行交互,獲取信息。該層需構(gòu)建三維可視化虛擬場景,通過孿生數(shù)據(jù)驅(qū)動虛擬模型,完成數(shù)據(jù)的實(shí)時(shí)映射和可視化。
(6)數(shù)據(jù)傳輸層。指基于有線網(wǎng)以及無線網(wǎng)的網(wǎng)絡(luò)通信,包括通信協(xié)議,數(shù)據(jù)傳輸層分布于各層之間,將各層連接為一個(gè)有機(jī)的整體。本設(shè)計(jì)采用的TCP/IP 協(xié)議。另外,網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)除了監(jiān)控?cái)z像頭到本地服務(wù)器局域網(wǎng)傳輸?shù)臄?shù)據(jù)為視頻數(shù)據(jù)以外,其余廣域網(wǎng)中傳輸?shù)臄?shù)據(jù)皆為輕量的Json 數(shù)據(jù)。
虛擬場景需要盡量還原物理層,且重點(diǎn)在于體現(xiàn)出物理層的主要特征,在本文中,主要特征包括實(shí)驗(yàn)室場景環(huán)境的靜態(tài)特征和實(shí)驗(yàn)室學(xué)生行為的動態(tài)特征。本文以Unity 引擎為核心實(shí)現(xiàn)數(shù)字孿生虛擬場景的搭建。Unity 是一個(gè)2D/3D引擎和框架,提供設(shè)計(jì)2D、3D 應(yīng)用場景的系統(tǒng),且具有十分豐富和強(qiáng)大的功能,所以非常適合用于搭建虛擬世界。
2.2.1 虛擬模型三維建模、動畫、貼圖
虛擬模型是數(shù)字孿生的核心部分,是虛擬場景可視化的基礎(chǔ)。本文主要采用三維建模軟件3dsmax 進(jìn)行實(shí)驗(yàn)室場景中環(huán)境、各種物品和實(shí)驗(yàn)室學(xué)生的虛擬模型的建模,并根據(jù)本文定義的實(shí)驗(yàn)室行為類別進(jìn)行相關(guān)人物模型行為動畫的制作,實(shí)現(xiàn)人物行為動態(tài)特征的可視化表達(dá)。另采用Substance Painter、PS 等軟件進(jìn)行模型貼圖相關(guān)操作,賦予模型紋理及材質(zhì),以提升模型的觀感。
2.2.2 UI 界面制作
在虛擬場景中除了要顯示實(shí)驗(yàn)室本身的場景,還需要有UI界面提供用戶友好便捷的交互功能和數(shù)據(jù)可視化面板等。本文主要使用Unity 引擎自帶的UGUI 系統(tǒng)制作UI 界面。
2.2.3 腳本編寫
在Unity 中主要使用C#語言編寫腳本來進(jìn)行應(yīng)用開發(fā),如響應(yīng)用戶輸入、控制虛擬世界中發(fā)生的事件和對象行為。本文中腳本需要實(shí)現(xiàn)的功能主要有三個(gè)部分,一是實(shí)現(xiàn)應(yīng)用通信功能以獲取孿生數(shù)據(jù);二是編寫虛擬模型控制腳本,根據(jù)獲取的孿生數(shù)據(jù)控制和驅(qū)動虛擬人物模型行為動畫;最后是UI 界面數(shù)據(jù)顯示和交互式控件邏輯控制腳本。
2.2.4 基于Unity 整合
最終需要在Unity 引擎上將上述所有虛擬模型、動畫、腳本等進(jìn)行整合,從而請求、接收數(shù)據(jù)、驅(qū)動虛擬模型,完成真實(shí)數(shù)據(jù)與虛擬模型的虛實(shí)融合,實(shí)現(xiàn)物理層面到虛擬層面的實(shí)時(shí)映射。
在Unity 上開發(fā)完成的項(xiàng)目,可以發(fā)布到多種平臺作為客戶端,如安卓、Windows、Web端等主流平臺?,F(xiàn)以Windows 平臺的客戶端為例,介紹和展示該系統(tǒng)的客戶端。
圖3 為實(shí)際整體測試中客戶端虛擬場景畫面與本地服務(wù)器端正在處理的視頻監(jiān)控畫面的對照。測試結(jié)果表明,虛擬模型行為狀態(tài)與實(shí)驗(yàn)人員行為狀態(tài)基本同步,且本地服務(wù)器端的處理速度能達(dá)到45ms每幀左右,滿足實(shí)時(shí)性要求。
圖3 測試及對照效果展示
圖4 為數(shù)據(jù)統(tǒng)計(jì)界面。實(shí)驗(yàn)數(shù)據(jù)表明,用戶可以通過該系統(tǒng)查詢某一天各種行為狀態(tài)在不同時(shí)間段內(nèi)的占比以及當(dāng)天的實(shí)驗(yàn)室設(shè)備使用率,滿足現(xiàn)場應(yīng)用需求。
圖4 客戶端界面—數(shù)據(jù)統(tǒng)計(jì)界面
本文首先以實(shí)現(xiàn)實(shí)驗(yàn)室監(jiān)控智能化為出發(fā)點(diǎn),基于深度學(xué)習(xí)算法提出了一種實(shí)驗(yàn)室行為檢測方法,并經(jīng)過實(shí)驗(yàn)表明了構(gòu)建的檢測算法模型能夠在監(jiān)控下對定義的學(xué)生實(shí)驗(yàn)行為進(jìn)行實(shí)時(shí)、準(zhǔn)確的識別,基本實(shí)現(xiàn)對實(shí)驗(yàn)室行為的智能監(jiān)控。另外,結(jié)合數(shù)字孿生技術(shù)設(shè)計(jì)并實(shí)現(xiàn)了一種實(shí)驗(yàn)室數(shù)字孿生智能監(jiān)控系統(tǒng),為此搭建了本地服務(wù)器和云服務(wù)器用于系統(tǒng)數(shù)據(jù)的分析、存儲、共享;基于Unity 搭建了實(shí)驗(yàn)室三維數(shù)字化空間實(shí)現(xiàn)了虛實(shí)映射。系統(tǒng)測試結(jié)果表明,該系統(tǒng)的交互性、實(shí)時(shí)性、虛實(shí)同步性以及可視化效果基本達(dá)到了預(yù)期效果。
該實(shí)驗(yàn)室數(shù)字孿生智能監(jiān)控系統(tǒng),不僅能夠?qū)?shí)驗(yàn)室學(xué)生行為進(jìn)行有效的智能監(jiān)測,還可以在保護(hù)個(gè)人隱私和不需要終端接收大量視頻數(shù)據(jù)的條件下,仍然通過系統(tǒng)客戶端實(shí)時(shí)直觀地反映實(shí)驗(yàn)室學(xué)生狀態(tài)和實(shí)驗(yàn)室資源利用情況。此外,該系統(tǒng)還可為用戶提供歷史數(shù)據(jù),以用于學(xué)生實(shí)驗(yàn)行為的分析、實(shí)驗(yàn)教學(xué)過程的優(yōu)化、教學(xué)質(zhì)量評估等。綜上,該系統(tǒng)可用于提高實(shí)驗(yàn)室教學(xué)和管理水平,大量減少人力消耗,進(jìn)而推動實(shí)驗(yàn)室的智能化管理和教學(xué)。