侯穎,楊林,胡鑫,賀順,宋婉瑩,趙謙
(1.西安科技大學(xué)通信與信息工程學(xué)院,陜西 西安 710054;2.西安科技大學(xué)西安市網(wǎng)絡(luò)融合通信重點實驗室,陜西 西安 710054)
日常生活中自動扶梯是運送乘客十分常見的設(shè)施,在商場、地鐵、機場、醫(yī)院等公共場所被廣泛使用。乘客摔倒事故是自動扶梯傷人事件中主要原因。傳統(tǒng)自動扶梯日常管理消耗較多人力,但是遇到突發(fā)狀況難以立即被發(fā)現(xiàn),常常因無法及時按下“緊急停止按鈕”終止扶梯運行,從而造成連續(xù)翻滾等重大人身傷害。因此,實現(xiàn)自動扶梯智能化監(jiān)控管理勢在必行,避免扶梯造成安全事故與損失,具有顯著的經(jīng)濟(jì)效益和社會意義。
自動扶梯智能化監(jiān)控管理系統(tǒng),首先通過視頻圖像識別技術(shù)檢測到行人摔倒行為,隨后實時發(fā)出預(yù)警信息,并立即實施緊急停止命令,以確保乘客安全。扶梯行人摔倒檢測技術(shù)是整個系統(tǒng)的關(guān)鍵核心,當(dāng)今計算機視覺摔倒檢測方法備受關(guān)注[1-4],其中基于深度學(xué)習(xí)的人體姿態(tài)摔倒檢測算法[5-6]和YOLO 系列摔倒檢測算法逐漸成為研究熱點。CHEN等[7]采用OpenPose 算法提取人體骨骼關(guān)鍵點信息,并通過髖關(guān)節(jié)中心點下降速度、人體中心線與地面的傾斜角以及人體外接矩形寬高比3 個關(guān)鍵參數(shù)進(jìn)行摔倒檢測?;谝曨l序列的時間特征,LIN等[8]提出一種基于OpenPose 骨骼信息、長短期記憶和門控遞歸單元模型摔倒檢測算法。衛(wèi)少潔等[9]提出一種基于AlphaPose 骨骼關(guān)鍵點特征的長短期記憶神經(jīng)網(wǎng)絡(luò)人體摔倒檢測算法。馬敬奇等[10]采用AlphaPose 加速優(yōu)化模型得到人體姿態(tài)骨骼點坐標(biāo)信息,隨后根據(jù)人體跌倒過程瞬時姿態(tài)變化特征和跌倒?fàn)顟B(tài)短時持續(xù)不變特征構(gòu)建摔倒檢測算法。RAZA等[11]采用YOLO DarkNet 網(wǎng)絡(luò)框 架分別 對YOLOv1~YOLOv4 和Tiny-YOLOv4 這5 種方法進(jìn)行實時摔倒檢測,并優(yōu)化模型將其部署在邊緣設(shè)備實現(xiàn)有效實時檢測。YIN等[12]提出網(wǎng)絡(luò)模型優(yōu)化的YOLOv4和YOLOv5深度學(xué)習(xí)摔倒檢測算法。王曉雯等[13]提出一種融入卷積注意力機制模塊和加權(quán)盒函數(shù)的改進(jìn)YOLOv5 行人摔倒檢測算法。
近兩年自動扶梯行人摔倒檢測算法開始獲得關(guān)注。在自動 扶梯安 全系統(tǒng) 中,ZHAO等[14]采用YOLOv3 算法檢測行人目標(biāo),OpenPose 提取人體姿態(tài)特征,最終利用人體關(guān)節(jié)特征檢測算法識別危險姿態(tài)并報警。LIU等[15]通過視覺背景提取算法獲得人體目標(biāo),并提取人體縱橫比、有效面積比和質(zhì)心加速度3 個特征信息,利用支持向量機分類算法判斷跌倒事件。JIAO等[16]在YOLOv4 行人目標(biāo)檢測后采用改進(jìn)的區(qū)域多目標(biāo)姿態(tài)估計方法提取人體關(guān)節(jié)特征,再由安全估計模型檢測摔倒行為。文獻(xiàn)[17-18]所提算法均通過OpenPose 提取人體關(guān)鍵點特征信息,再利用特征檢測算法或分類器檢測摔倒行為。汪威等[19]采用改進(jìn)的SlowFast 深度學(xué)習(xí)網(wǎng)絡(luò)進(jìn)行自動扶梯場景下的人體動作識別。
具有坡度的自動扶梯運行環(huán)境復(fù)雜,行人較多,局部遮擋情況頻發(fā),視頻采集角度不斷變化,人體姿態(tài)特征摔倒檢測模型效果不佳,檢測速度較慢。YOLO 系列目標(biāo)檢測算法采用端到端預(yù)測,具有速度 快、檢測精度高、易于部 署等優(yōu)點[20-24];Swin Transformer(SwinT)[25]算法是一種基于自注意力機制、并行化處理的深度神經(jīng)網(wǎng)絡(luò),可以捕獲全局上下文信息,獲得更強的特征,在目標(biāo)檢測視覺應(yīng)用中取得顯著成果。
本文提出一種基于SwinT-YOLOX 網(wǎng)絡(luò)模型的自動扶梯行人安全檢測算法,利用局部窗口多頭自注意力計算從而減少計算量,設(shè)計滑動窗口多頭自注意力實現(xiàn)不同窗口間的信息傳遞,Neck 網(wǎng)絡(luò)采用融合注意力機制的YOLOX Neck 網(wǎng)絡(luò)結(jié)構(gòu),雙向多尺度的特征重構(gòu)融合,進(jìn)一步提升特征圖的多樣性和表達(dá)能力。
直接將常用的人體姿態(tài)摔倒檢測方法應(yīng)用到自動扶梯場景中,受周圍環(huán)境復(fù)雜、行人較多、局部遮擋情況頻發(fā)的影響,容易導(dǎo)致骨骼關(guān)鍵點特征丟失。此外,監(jiān)控攝像頭位置固定,具有坡度的動態(tài)移動扶梯在運行過程中行人目標(biāo)采樣圖像的角度不斷變化,人體姿態(tài)特征狀態(tài)多樣,造成摔倒檢測估計模型適應(yīng)性不強。因此,人體姿態(tài)估計摔倒檢測算法檢測精度降低。YOLO 系列不斷引入創(chuàng)新性策略、優(yōu)化結(jié)構(gòu)、提高檢測性能和速度,并支持移動終端和嵌入式設(shè)備部署應(yīng)用。YOLOX 算法[24]采用解耦檢測頭結(jié)構(gòu)、無錨點框機制、簡單最優(yōu)傳輸標(biāo)簽分配(SimOTA)等策略提升網(wǎng)絡(luò)模型的檢測精度。2017年谷歌提出的新型神經(jīng)網(wǎng)絡(luò)架構(gòu)Transformer 推動計算機視覺領(lǐng)域取得豐碩成果,例如圖像分類的iGPT 和ViT 系列算法、目標(biāo)檢測的DETR 系列算法和Swin Transformer 算 法,圖像分割的SETR 和Segmenter 算法等[26-27]。LIU等[25]提出的SwinT 通用骨干網(wǎng)絡(luò)是一種基于滑動窗口策略的多頭自注意力分層結(jié)構(gòu)Transformer 模型,以它為骨干網(wǎng)絡(luò)的檢測模型可以捕獲全局上下文信息,擴(kuò)大感受野并大幅減少計算量。
通過分析YOLOX 和SwinT 算法的創(chuàng)新策略,本文提出基于SwinT-YOLOX 網(wǎng)絡(luò)模型的自動扶梯行人摔倒檢測算法,改進(jìn)行人摔倒檢測算法的網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。其中骨干網(wǎng)絡(luò)采用Swin Transformer模型,利用局部窗口多頭自注意力計算以減少計算量,設(shè)計滑動窗口多頭自注意力實現(xiàn)不同窗口間的信息傳遞,從而提高檢測性能。Neck 網(wǎng)絡(luò)采用融合注意力機制的YOLOX Neck 網(wǎng)絡(luò)結(jié)構(gòu),雙向多尺度的特征重構(gòu)融合,進(jìn)一步提升特征圖的多樣性和表達(dá)能力。此外,本文提出CBF 模塊改進(jìn)Neck 網(wǎng)絡(luò),采用漏斗修正線性單元(FReLU)視覺激活函數(shù)替代Sigmoid 線性單元(SiLU)激活函數(shù),由此獲得更優(yōu)的特征檢測性能。除了保留YOLOX Head 網(wǎng)絡(luò)優(yōu)秀策略以外,本文改進(jìn)算法采用完全交并比(CIoU)損失函數(shù)代替YOLOX 的IoU 算法計算回歸定位損失。根據(jù)網(wǎng)絡(luò)模型深度和模塊參數(shù)不同,SwinT 模型有Tiny、Small、Base、Larger 多種網(wǎng)絡(luò)模型結(jié)構(gòu)。
圖1 改進(jìn)SwinT-YOLOX 算法的網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Network structure of improved SwinT-YOLOX algorithm
SwinT-YOLOX 改進(jìn)算法采用SwinT 骨干網(wǎng)絡(luò)提取不同分辨率大小的3 組多尺度特征金字塔信息。
首先,640×640×3 的RGB 圖像輸入到圖片劃分模塊進(jìn)行不重疊分塊和重組,將4×4 相鄰像素構(gòu)成1 個patch,并在通道方向展平為4×4×3=48 大小,整幅圖像被劃分成H/4×W/4×48 的patch 集合。
隨后,分別通過4 個特征學(xué)習(xí)階段獲得不同分辨率下的特征信息,從而依次逐層擴(kuò)大感受野。Stage 1 過程利用線性嵌入層模塊通道維數(shù)據(jù)進(jìn)行線性變換,將圖像48 維度映射到給定的C維上,本文網(wǎng)絡(luò)中取C=128。然后,通過2 個SwinT 模塊進(jìn)行注意力計算,從而提?。℉/4×W/4×C)維特征信息。在Stage 2~Stage 4 過程中均采用圖片融合模塊進(jìn)行下采樣,將2×2 相鄰patch 合并拼接后,使特征圖寬高減半,維度擴(kuò)展1 倍。隨后,Stage 2 通過2 個、Stage 3通 過18 個、Stage 4 通 過2 個Swin Transformer 模 塊,分別提取{H/8×W/8×2C}的淺層特征信息、{H/16×W/16×4C}的中層特征信息和{H/32×W/32×8C}的高層特征信息。
針對640×640×3 的輸入圖像,本文SwinT-YOLOX骨干網(wǎng)絡(luò)將Stage 2~Stage 4 提取到 的80×80×256、40×40×512、20×20×1 024 這3 個尺度信息構(gòu)成特征金字塔。
每個Stage 都包含成對的Swin Transformer 模塊,主要由層正則化(LN)、窗口多頭自注意力(W-MSA)、滑動窗口多頭自注意力層(SW-MSA)和多層感知機(MLP)通過殘差運算構(gòu)成。LN 模塊對同一樣本的不同通道做歸一化處理,從而保證數(shù)據(jù)特征分布的穩(wěn)定性。傳統(tǒng)的Transformer 多頭自注意力機制全局計算量較大。為此,Swin Transformer 中的W-MSA 模塊單獨對每個窗口內(nèi)部進(jìn)行自注意力計算,能夠有效減少計算量。SW-MSA 模塊利用滑動窗口間的自注意力交互信息擴(kuò)大特征感受野,提高檢測性能。SwinT 模塊各部分的具體輸出計算式如式(1)所示:
Swin Transformer 模塊結(jié)構(gòu)如圖2 所示。
圖2 Swin Transformer 模塊結(jié)構(gòu)Fig.2 Structure of Swin Transformer module
SwinT-YOLOX 改進(jìn)算法的Neck 網(wǎng)絡(luò)采用融合卷積塊注意力模塊(CBAM)[28]的路徑聚合特征金字塔網(wǎng)絡(luò)(PAFPN)[29]結(jié)構(gòu),將3 個尺度的特征金字塔輸入到Neck 網(wǎng)絡(luò)中提取更有效的增強特征。Neck 結(jié)構(gòu)設(shè)計如圖1 所示。CBAM 模塊由通道注意力模塊(CAM)和空間注意力模塊(SAM)串聯(lián)而成,以增強特征圖中有用信息的表征能力,并抑制背景特征,有效提高目標(biāo)檢測精度。本文Neck網(wǎng)絡(luò)添加3 個CBAM 模塊,分別接收來自SwinT骨干網(wǎng)絡(luò)Stage 2、Stage 3 和Stage 4 階段輸出的80×80×256、40×40×512、20×20×1 024 3 個尺度特征圖。CBAM 模塊先將輸入特征圖F經(jīng)過CAM 模塊,完成加權(quán)處理后,再將CAM 輸出特征圖Mc(F)與其輸入特征圖F元素相乘得到的結(jié)果F′=F?Mc(F)進(jìn)行SAM 模塊處理,最終SAM 模塊輸出特征圖Ms(F′)與其輸入特征圖F′元素相乘的結(jié)果就是獲得的注意力優(yōu)化特征圖F″,其運算過程如式(2)所示:
CBAM 注意力機制結(jié)構(gòu)如圖3 所示。
圖3 CBAM 注意力機制結(jié)構(gòu)Fig.3 Structure of CBAM attention mechanism
CAM 模塊在特征圖的空間維度上分別采用全局平均池化和最大池化2 種方法產(chǎn)生不同的空間上下文信息,再通過共享多層感知機網(wǎng)絡(luò)(Shared MLP)對輸出特征向量執(zhí)行元素求和操作和Sigmoid激活函數(shù)計算,最終獲得通道注意力權(quán)重向量。CAM 模塊判別圖像中重要目標(biāo)區(qū)域,并增強其特征信息,抑制非重要區(qū)域特征響應(yīng)。SAM 模塊在通道維度上分別進(jìn)行全局平均池化和最大池化處理,然后將產(chǎn)生2 種特征圖拼接后的信息采用7×7×2 卷積操作和Sigmoid 激活函數(shù)計算,最終獲得空間注意力權(quán)重矩陣。SAM 模塊用于增強有用目標(biāo)區(qū)域的位置特征信息。
圖4 所示為本文SwinT-YOLOX 改進(jìn)算法與YOLOX 算法的可視化熱圖結(jié)果(彩色效果見《計算機工程》官網(wǎng)HTML 版)。圖4(b)和圖4(c)所示的YOLOX 算法和不引入CBAM 的SwinT-YOLOX 高激活區(qū)(紅色區(qū)域)覆蓋面積明顯較少。從圖4(d)可以看出,本文所提的SwinT-YOLOX+CBAM 算法的高激活區(qū)域分布范圍廣且更集中,能夠準(zhǔn)確地覆蓋摔倒行人軀體的大部分區(qū)域,融合空間信息和通道信息的CBAM 注意力機制可以讓待檢測目標(biāo)特征獲得更有效地增強,能夠關(guān)注到大部分重要特征信息。為了進(jìn)一步評估CBAM 模塊的有效性,將CBAM 模塊增強后輸出的80×80×256、40×40×512、20×20×1 024 特征金字塔,Neck 網(wǎng)絡(luò)采用PAFPN 方法進(jìn)行雙向多尺度的特征重構(gòu)融合,進(jìn)一步提升特征圖的多樣性和表達(dá)能力。PAFPN 雙向融合機制分別由特征金字塔網(wǎng)絡(luò)(FPN)和路徑聚合網(wǎng)絡(luò)(PAN)組成。在Neck 結(jié)構(gòu)中先采用FPN 方法自上而下將深層特征圖通過上采樣與淺層特征圖相融合,使大目標(biāo)信息更明確;再利用PAN 方法自下而上將融合后的淺層特征圖通過下采樣與深層特征圖相融合,使小目標(biāo)信息更明確,最終獲得80×80×256、40×40×512、20×20×1 024 3 組加強特征信息用于后續(xù)Head 網(wǎng)絡(luò)預(yù)測。
圖4 SwinT-YOLOX 與YOLOX 算法的可視化熱圖Fig.4 Visual heat map of SwinT-YOLOX and YOLOX algorithms
PAFPN 網(wǎng)絡(luò)由CBF 和CSP_X基礎(chǔ)組 件構(gòu)成,本文改進(jìn)算法在CBF 模塊中采用FReLU 視覺激活函數(shù)替代YOLOX 算法CBS 模塊里的SiLU 激活函數(shù),其中CBF 模塊由卷積層(Conv)、批量歸一化層(BN)和FReLU 激活函數(shù)層組成。根據(jù)特征信息空間上下文相關(guān)性,在增加極少量內(nèi)存開銷的情況下,MA等[30]提出簡單有效的FReLU 視覺激活函數(shù),其性能在目標(biāo)分類、檢測、分割等領(lǐng)域明顯優(yōu)于ReLU、PReLU、SiLU 和Swish 等激活函數(shù)。FReLU 視覺激活函數(shù)表達(dá)式如下:
圖5 FReLU 視覺激活函數(shù)示意圖Fig.5 Schematic diagram of FReLU visual activation function
除保留YOLOX Head 網(wǎng)絡(luò)的解耦檢測頭、無錨點框機制、標(biāo)簽分配等策略以外,本文改進(jìn)算法的Head 網(wǎng)絡(luò)模型采用CBF 模塊來替代YOLOX 算法的CBS 模塊,即引入FReLU 視覺激活函數(shù)改進(jìn)Head 結(jié)構(gòu)進(jìn)行預(yù)測。改進(jìn)算法的總損失函數(shù)由分類預(yù)測損失、回歸定位預(yù)測損失和置信度損失3 個部分構(gòu)成,用于更新網(wǎng)絡(luò)參數(shù),并采用CIoU 損失函數(shù)代替YOLOX 的IoU 算法計算回歸定位損失。整個Head網(wǎng)絡(luò)預(yù)測過程:1)利用解耦檢測頭網(wǎng)絡(luò)獲得預(yù)測特征向量;2)采用無錨點框機制的SimOTA 標(biāo)簽分配策略挑選正樣本預(yù)測框;3)計算損失函數(shù)確定檢測目標(biāo)。
1.4.1 基于FReLU 視覺激活函數(shù)的預(yù)測網(wǎng)絡(luò)結(jié)構(gòu)
針對特征金字塔的每個尺度信息,Head 預(yù)測網(wǎng)絡(luò)分別采用3 個解耦檢測頭完成分類與回歸檢測任務(wù),解耦檢測頭具有收斂速度快、精度高、兼容性好的優(yōu)點。Head 預(yù)測網(wǎng)絡(luò)輸出支路特征整合結(jié)構(gòu)如圖6 所示。
圖6 Head 預(yù)測網(wǎng)絡(luò)輸出支路特征整合示意圖Fig.6 Feature integration schematic diagram of Head prediction network output branch
整合步驟如下:
1)20×20×1 024 輸入特征經(jīng)過CBF 模塊、Conv層和Sigmoid 函數(shù)組合的3 個支路,分別獲得20×20×Ncls的Cls 分類預(yù)測向量、20×20×1 的Obj 置信度預(yù)測向量、20×20×4 的Reg 位置預(yù)測向量。隨后,這3 個預(yù)測向量通過融合得到20×20×(Ncls+4+1)預(yù)測信息,即預(yù)測特征圖上每個預(yù)測位置得到(Ncls+4+1)個參數(shù),其中Ncls表示檢測目標(biāo)類別個數(shù),4 表示目標(biāo)邊界框參數(shù),1 表示置信度參數(shù)。
2)同理,40×40×512 輸入特征分支融合后得到40×40×(Ncls+4+1)的預(yù)測信息,80×80×256 輸入特征分支融合后得到80×80×(Ncls+4+1)的預(yù)測信息。
3)分別將3 組預(yù)測信息進(jìn)行整合,再通過融合和轉(zhuǎn)置操作獲得(Ncls+4+1)×8 400 的二維預(yù)測特征信息,其中,8 400 為預(yù)測框數(shù)量,(Ncls+4+1)為每個預(yù)測框的(Cls,Reg,Obj)特征信息。
4)將融合后的特征信息輸入到失真度評估系統(tǒng)中進(jìn)行預(yù)測,從而獲得檢測結(jié)果。
1.4.2 損失函數(shù)
本文利用8 400 個被標(biāo)注的預(yù)測框與真實目標(biāo)框進(jìn)行對比,采用SimOTA 標(biāo)簽分配策略通過初步和精細(xì)篩選挑選出合適的正樣本預(yù)測框。首先,采用中心點判別或目標(biāo)框判別方法對(Ncls+4+1)×8 400特征向量初步篩選部分正樣本預(yù)測框;其次,將第i個真實目標(biāo)框與第j個初篩正樣本預(yù)測框?qū)Ρ?,計算分類損失與定位回歸損失的線性加權(quán)求和獲得成本代價損失為權(quán)重系數(shù),設(shè)置為3;最終,針對每個真實目標(biāo)框,對其cij得分進(jìn)行排序,成本最小的前k個預(yù)測框作為正樣本,剩余預(yù)測框作為負(fù)樣本。
當(dāng)模型訓(xùn)練時,本文改進(jìn)算法采用式(4)的總損失函數(shù)L更新網(wǎng)絡(luò)參數(shù),L由分類預(yù)測損失LCls、回歸定位損失LReg和置信度損失LObj3 個部分組成。
其中:λ2為權(quán)重系數(shù),設(shè)置為5。
本文改進(jìn)算法采用CIoU 損失函數(shù)代替YOLOX的IoU 計算回歸定位損失。IoU 的計算如式(5)所示。置信度損失和分類預(yù)測損失分別采用YOLOX 的二分類交叉熵?fù)p失函數(shù)(BCELoss)方法獲得。通過SimOTA 標(biāo)簽分配的正樣本預(yù)測框與真實框?qū)Ρ龋捎檬剑?)的CIoU 損失函數(shù)計算得到回歸定位損失LReg,采用式(7)的BCELoss 方法獲 得分類預(yù)測損失LCls。
其中:B和Bgt分別表示預(yù)測框和真實框;b和bgt分別表示預(yù)測框和真實框的中心點;ρ(?)表示2 個中心點之間的歐氏距離;c為預(yù)測框與真實框最小外接矩形的對角線距離;α為權(quán)重函數(shù);ν用于測量長寬比的相似性;wgt和hgt為真實框的寬和高;w和h為預(yù)測框的寬和高;Npos為正樣本個數(shù);Oij?{0,1}表示第i個預(yù)測目標(biāo)框中是否存在第j類目標(biāo);Cij為預(yù)測類別;σ(?)表示Sigmoid 函數(shù)。
利用所有正負(fù)樣本預(yù)測框與真實框?qū)Ρ?,采用式?)的BCELoss 算法得到置信度損失LObj。
其中:N為正負(fù)樣本總數(shù);oi?[0,1]表示預(yù)測目標(biāo)框與真實 目標(biāo)框 的IoU 值;ci為預(yù)測 置信度;σ(?)表 示Sigmoid 函數(shù)。
自動扶梯行人摔倒事故通常發(fā)生在瞬息之間,傳統(tǒng)的人員巡檢式管理難以及時發(fā)現(xiàn)安全隱患,無法立刻按下扶梯緊急停止按鈕,以至造成嚴(yán)重人身傷害。因此,本文設(shè)計1 個自動扶梯行人摔倒智能監(jiān)控系統(tǒng),其流程如圖7 所示。
圖7 扶梯智能監(jiān)控系統(tǒng)流程Fig.7 Procedure of the escalator intelligent monitoring system
首先,通過扶梯監(jiān)控攝像頭采集設(shè)備獲取當(dāng)前視頻圖像;其次,針對室內(nèi)環(huán)境照明強度不足問題,采用直方圖均衡算法對低照度輸入圖像進(jìn)行增強預(yù)處理;隨后,采用本文提出的基于SwinT-YOLOX 網(wǎng)絡(luò)模型的自動扶梯行人摔倒檢測算法對當(dāng)前采樣視頻幀進(jìn)行摔倒事件檢測;最終,如果檢測到發(fā)生摔倒行為,立刻進(jìn)行語音播報提示,監(jiān)控平臺實時向管理人員發(fā)送預(yù)警信息,并且監(jiān)控中心對自動扶梯實施緊急緩?fù)5倪h(yuǎn)程控制。本文改進(jìn)算法行人摔倒平均檢測精度為95.92%,檢測幀率為24.08 幀/s,能夠快速、精準(zhǔn)地檢測到乘客摔倒事故的發(fā)生,及時采取安全應(yīng)急措施,降低事故危害等級,保護(hù)行人安全。扶梯智能監(jiān)控系統(tǒng)可以24 h 高效檢測,顯著減輕安全管理人員壓力。
本文通過視頻采集設(shè)備自行構(gòu)建扶梯行人摔倒檢測數(shù)據(jù)庫。在實際應(yīng)用場景中由于運行的自動扶梯具有30°左右坡度,監(jiān)控攝像頭設(shè)備安裝位置對檢測結(jié)果會有重要影響。本文在扶梯上行口和下行口各安裝1 臺采樣攝像頭,分別采集不同視角的扶梯事故視頻。攝像頭安裝位置及采集圖像如圖8 所示。攝像頭安裝示意圖如圖8(a)所示。通過模擬摔倒動作,在商場、醫(yī)院、飛機場、火車站、地鐵和露天扶梯等場所采集300 段視頻序列,并從視頻中提取8 600 張關(guān)鍵幀圖像,其中行人正常情況圖像有5 820 張,行人扶梯摔倒圖像有2 780 張,圖像尺度大小為720×1 280 像素。此外,為了進(jìn)一步提高系統(tǒng)檢測精度,通過網(wǎng)絡(luò)收集,又添加3 500 張扶梯及非扶梯行人摔倒事故圖像,從而建成總計12 100 張圖像的數(shù)據(jù)集。
圖8 攝像頭安裝位置及采集圖像Fig.8 Camera installation position and acquisition images
低亮度圖像直方圖均衡增強預(yù)處理結(jié)果如圖9所示。許多自動扶梯安裝在商場、地鐵、醫(yī)院等室內(nèi)環(huán)境,有些地方室內(nèi)照明強度不足,無法獲得清晰的扶梯運行圖像,行人目標(biāo)特征細(xì)節(jié)缺失,從而導(dǎo)致摔倒檢測精度不高,如圖9(a)所示。因此,本文采用快速有效的直方圖均衡算法對低照度輸入圖像進(jìn)行增強預(yù)處理,如圖9(b)所示增強后的圖像清晰度明顯提升,從而獲得更優(yōu)的目標(biāo)檢測性能。
圖9 低亮度圖像直方圖均衡增強預(yù)處理結(jié)果Fig.9 Preprocessing results of low histogram equalization enhancement for low-brightness image
此外,為了獲得更豐富的訓(xùn)練數(shù)據(jù)集,本文改進(jìn)算法采用Mosaic 和Mixup 2 種數(shù)據(jù)增強策略。Mosaic和Mixup數(shù)據(jù)增強方法處理結(jié)果如圖10所示。
圖10 Mosaic 和Mixup 數(shù)據(jù)增強方法處理結(jié)果Fig.10 Processing results of Mosaic and Mixup data enhancement methods
Mosaic 方法在數(shù)據(jù)庫隨機選取4 幅圖片,對每張圖片分別進(jìn)行隨機縮放、裁剪、排布等操作,并把4 幅圖像拼接合成為1 幅新圖片作為訓(xùn)練數(shù)據(jù),如圖10(e)所示。Mixup 方法從訓(xùn)練樣本中隨機抽取2 幅圖片進(jìn)行簡單的加權(quán)求和,同時樣本標(biāo)簽也進(jìn)行對應(yīng)加權(quán)求和,融合后形成新圖片用于擴(kuò)充訓(xùn)練數(shù)據(jù),如圖10(f)所示。
當(dāng)網(wǎng)絡(luò)模型訓(xùn)練時,將輸入圖像大小統(tǒng)一調(diào)整為640×640×3,12 100 幅圖像數(shù)據(jù)集被標(biāo)注分成行人摔 倒(fall)和行人正常(normal)2 種類型,其 中normal 標(biāo)簽的數(shù)據(jù)有10 827 個,fall 標(biāo)簽的數(shù)據(jù)有9 865 個,訓(xùn)練集、驗證集和測試集按照8∶1∶1 比例隨機劃分。模型采用凍結(jié)訓(xùn)練方式提高訓(xùn)練效率,加速收斂,其基礎(chǔ)參數(shù)設(shè)置如表1 所示。
表1 SwinT-YOLOX 訓(xùn)練參數(shù)設(shè)置Table 1 Parameters setting of SwinT-YOLOX training
本文實驗采用SGD 優(yōu)化器,epoch 設(shè)為400,前50 個epoch 主干網(wǎng)絡(luò)參數(shù)被凍結(jié)不進(jìn)行更新,初始學(xué)習(xí)率設(shè)置為0.001,batch 大小為32;后350 個epoch 解凍訓(xùn)練階段,將學(xué)習(xí)率設(shè)置為0.000 1,batch 大小設(shè)為16。此外,為提升模型檢測能力,訓(xùn)練最后90 個epoch 關(guān)閉Mosaic 和Mixup 數(shù)據(jù)增強。
圖11 所示為在訓(xùn)練過程中損失變化曲線和平均均值精度(mAP)的變化曲線。
圖11 SwinT-YOLOX 算法的損失和mAP 變化曲線Fig.11 Loss and mAP variation curves of SwinT-YOLOX algorithm
從圖11(a)可以看出,訓(xùn)練初期前幾個epoch 損失值快速下降,在第50 個epoch 附近達(dá)到局部最優(yōu)解,解凍后350 次迭代,損失值緩慢下降逐漸收斂,最終訓(xùn)練集和驗證集的loss 值分別收斂于1.48 和1.57,選取訓(xùn)練中最低loss 值的訓(xùn)練模型用來檢測。從圖11(b)可以看出,前50 個epoch 檢測精度mAP迅速上升,epoch 達(dá)到100 以后mAP 逐漸趨于平穩(wěn),最終獲得96.71% 的檢測精度,相比YOLOX 算法mAP 提升了6.51%。
本文算法實驗硬件平臺均在CPU 為Intel i9-10900X 3.70 GHz,GPU 為2 張NVIDIA GeForce RTX 3090,內(nèi)存32 GB。計算機操作系統(tǒng)為Ubuntu 20.04,采用Python 3.8.13 編程語言在PyTorch 1.12.0、Anaconda 4.10.3、CUDA11.1、CUDNN 8.5.0深度學(xué)習(xí)框架上實現(xiàn)編程。在訓(xùn)練和測試階段,輸入圖像尺寸大小被調(diào)整為640×640×3,12 100 幅數(shù)據(jù)集分成行人摔倒(fall)和非摔倒(normal)2 種類型,訓(xùn)練集、驗證集和測試集按8∶1∶1 比例隨機劃分。
本文采用精確度(P)、召回率(R)、綜合評價指標(biāo)F1 值(F1)、平均精度(AP,計算中用AAP)和平均均值精度(mAP,計算中用mmAP)、幀率(FPS)來評估模型性能,10 億次浮點運算數(shù)(GFLOPs)描述模型計算量,評估模型對硬件算力要求。P、R、F1的計算式如下:
其中:TTP表示樣本真實是正例,預(yù)測結(jié)果是正例;FFP表示樣本真實是負(fù)例,預(yù)測結(jié)果是正例;FFN表示樣本真實是正例,預(yù)測結(jié)果是負(fù)例。
AP 指單個類別的平均精度,由P-R曲線與坐標(biāo)軸圍成的面積獲得,其計算式如下:
mAP 指所有類別平均精度的均值,計算式如下:
其中:n表示樣本類別總數(shù);APi表示第i類樣本的平均精度。
為驗證改進(jìn)策略對檢測性能的影響,本文對自建數(shù)據(jù)集進(jìn)行大量的消融實驗。消融實驗結(jié)果如表2 所示,首先采用YOLOX 算法作為基準(zhǔn)進(jìn)行測試,當(dāng)采用SwinT 替代骨干網(wǎng)絡(luò)后,mAP@0.5 提升4.39 個百分點,Neck 網(wǎng)絡(luò)融合CBAM 注意力機制的mAP@0.5 進(jìn)一步提升1.14 個百分點,在Head 網(wǎng)絡(luò)引入的CIoU 損失函數(shù)和FReLU 激活函數(shù)mAP@0.5 精度分別提升0.09 和0.89 個百分點。最終,本文改進(jìn)的SwinT-YOLOX 算法可以獲得96.71%的mAP@0.5 檢測精度,相比YOLOX 算法提升6.51 個百分點。因此,SwinT 網(wǎng)絡(luò)具有更強的特征提取能力,扶梯行人摔倒檢測精度提升效果較為明顯,其他改進(jìn)策略也對檢測性能提升具有明顯貢獻(xiàn)。
表2 改進(jìn)策略的消融實驗結(jié)果Table 2 Ablation experiment results of improved strategy %
根據(jù)網(wǎng)絡(luò)模型深度和SwinT 模塊參數(shù)不同,本文分別研究SwinT 骨干網(wǎng)絡(luò)的SwinT_T(通道深度為96,每層模塊倍數(shù){2,2,6,2})、SwinT_S(通道深度為96,每層模塊倍數(shù){2,2,18,2})、SwinT_B(通道深度為128,每層模塊倍數(shù){2,2,18,2})、SwinT_L(通道深度為192,每層模塊倍數(shù){2,2,18,2})4 種不同模型對檢測性能的影響。不同模型規(guī)模的檢測效果如表3 所示。從表3 可以看出,4 種模型都具有較好的檢測精度,mAP@0.5 精度均大于95%,且隨著通道深度及SwinT 模塊倍數(shù)的增加,檢測精度會顯著提升,模型大小和GFLOPs 數(shù)量也隨之增加,綜合權(quán)衡檢測性能、內(nèi)存及運行速率需求,本文改進(jìn)算法SwinT 骨干網(wǎng) 絡(luò)選擇SwinT_B 模 型,Neck 和Head 網(wǎng)絡(luò)結(jié)構(gòu)選擇YOLOX_S 模型。
表3 不同模型規(guī)模的檢測效果Table 3 Detection effects among different model size
由于監(jiān)控攝像頭設(shè)備安裝的位置及角度會影響自動扶梯行人圖像的采樣效果,因此本文研究由不同攝像頭位置采集構(gòu)建的3 種圖像數(shù)據(jù)庫對摔倒檢測性能的影響,分別是只使用上行口攝像頭采集的圖像數(shù)據(jù)庫、只使用下行口攝像頭采集的圖像數(shù)據(jù)庫以及使用上行口+下行口攝像頭采集的所有圖像數(shù)據(jù)庫。不同攝像頭位置采集的圖像數(shù)據(jù)庫檢測效果如表4 所示。
表4 不同攝像頭位置采集的圖像數(shù)據(jù)庫檢測效果Table 4 Detection effect of image database collected from different camera positions
從表4 可以看出,使用上行口+下行口攝像頭采集的所有圖像數(shù)據(jù)庫能獲得不同角度更豐富的行人特征信息,其扶梯行人摔倒檢測精度最高,只使用上行口數(shù)據(jù)或下行口數(shù)據(jù)的檢測精度分別降低1.18 和2.34 個百分點。因此,在模型訓(xùn)練時,采用上行口+下行口2 個攝像頭采集自建數(shù)據(jù)庫圖像進(jìn)行模型訓(xùn)練,以獲得最佳的檢測精度。
表5 所示為在自建數(shù)據(jù)集上SwinT-YOLOX 改進(jìn)算法 與AlphaPose[10]、OpenPose[7]、YOLOv5[20]、YOLOv6[21]、YOLOv7[22]、YOLOX[23]當(dāng)前主 流行人摔倒檢測算法的性能對比結(jié)果,其中YOLOX、YOLOv5、YOLOv6 采用Medium 模型。
表5 不同算法在自建數(shù)據(jù)集上檢測性能對比結(jié)果Table 5 Comparison results of detection performance among different algorithms on self-built datasets %
實驗結(jié)果顯示本文改進(jìn)算法的mAP@0.5 檢測精度達(dá)到96.71%,比AlphaPose、OpenPose 算法分別提 高 17.22% 和 8.43%,比 YOLOX、YOLOv5、YOLOv6 算法分別提高4.54%、6.66%、2.77%,檢測精度略優(yōu)于YOLOv7 算法。此外,本文SwinTYOLOX 算法行人摔倒檢測分別獲得93.61%的精確度、94.89% 的召回率,95.92% 的平均檢測精度和94.25%的F1 值,明顯優(yōu)于其他檢測算法。本文改進(jìn)算法不僅檢測性能明顯提高,而且檢測幀率為24.08 幀/s,具有較優(yōu)的實時性。
圖12 所示為YOLOv5、YOLOv6、YOLOv7、YOLOX 和SwinT-YOLOX 這5 種算法 在自建數(shù)據(jù)集中扶梯行人摔倒檢測的視覺定性對比結(jié)果。第1列表示上行口攝像頭單行人摔倒檢測結(jié)果,第2 列表示上行口攝像頭多行人部分遮擋摔倒檢測結(jié)果,第3 列表示下行口攝像頭單行人摔倒檢測結(jié)果,第4 列表示下行口攝像頭多行人部分遮擋摔倒檢測結(jié)果。從圖12 可以看出,無論是上行口攝像頭還是下行口攝像頭檢測,5 種算法對于單行人都能準(zhǔn)確地檢測到摔倒事故。在上行口攝像頭采集的多行人扶梯摔倒事故圖像中,2 位行人目標(biāo)均比較小,并且摔倒行人部分身體被遮擋,YOLOv5 算法沒有檢測到后面的摔倒目標(biāo),其余4 種算法仍然能夠準(zhǔn)確地檢測到小目標(biāo)行人的摔倒事件。在下行口采集的多行人扶梯摔倒事故圖像中,5 種算法均檢測出摔倒事故,但是YOLOX 算法未檢測出非摔倒行人。
圖12 不同算法的扶梯行人摔倒檢測結(jié)果對比Fig.12 Comparison of escalator pedestrian fall detection results using different algorithms
在實際扶梯行人摔倒事故中,圖13 和圖14 分別所示為圖像與視頻序列檢測結(jié)果的視覺對比。從圖13 可以看出,除了YOLOv5 有1 幅孩子摔倒圖像沒有檢測出來以外,其余4 種算法均能較準(zhǔn)確地檢測出扶梯摔倒事故,其中本文改進(jìn)算法的檢測效果較好,預(yù)測置信度也普遍較高。從圖14 可以看出,對于乘坐輪椅的行人,本文SwinT-YOLOX 改進(jìn)算法能較準(zhǔn)確地檢測到摔倒事故,在視頻最開始發(fā)生摔倒事故的第4 幀中YOLOv5 和YOLOX 算法沒有檢測到摔倒目標(biāo),并且YOLOv5、YOLOv6、YOLOv7 和YOLOX 這4 種算法在后續(xù)多個視頻幀中也發(fā)生了漏檢情況。
圖13 在實際扶梯事故中行人摔倒檢測結(jié)果圖像視覺對比Fig.13 Image visual comparison of pedestrian fall detection results in actual escalator accidents
圖14 在實際扶梯事故中行人摔倒檢測結(jié)果視頻幀視覺對比Fig.14 Visual comparison of video frames of pedestrian fall detection results in actual escalator accidents
本文提出基于SwinT-YOLOX 網(wǎng)絡(luò)模型自動扶梯行人摔倒檢測算法,能夠快速、精準(zhǔn)地檢測到乘客摔倒事故發(fā)生,使得監(jiān)控管理平臺可以及時發(fā)出預(yù)警信息,并立即實施緊急停車命令,確保乘客安全。改進(jìn)算法的骨干網(wǎng)絡(luò)采用Swin Transformer 模型;Neck 網(wǎng)絡(luò)采用融合CBAM 注意力機制的PAFPN 結(jié)構(gòu),同時利用FReLU 視覺激活函數(shù)改進(jìn)網(wǎng)絡(luò)模塊以提高特征檢測性能。實驗結(jié)果表明,本文改進(jìn)算法采用端到端預(yù)測,具有速度快、檢測精度高、易于部署的優(yōu)點,扶梯智能監(jiān)控系統(tǒng)可以全天高效檢測,顯著減輕扶梯日常安全管理人員的工作。后續(xù)將對本文改進(jìn)算法的模型進(jìn)行優(yōu)化,以及嵌入式設(shè)備硬件平臺的開發(fā)部署,同時實現(xiàn)監(jiān)控設(shè)備的視頻采集與智能檢測功能,最終達(dá)到與自動扶梯聯(lián)動控制的目的,當(dāng)乘客摔倒事故發(fā)生時能夠更迅速地完成減速停機命令。