楊旭林,高 凱,盧萬平,王紅艷,張 宇
(1 北京縱橫機電科技有限公司,北京100094;2 北京地鐵運營有限公司地鐵運營技術研發(fā)中心,北京102208;3 北京地鐵運營有限公司運營三分公司,北京100082)
疲勞駕駛直接關系到地鐵運營的安全,目前地鐵車輛普遍采用單司機值乘,車輛司機操縱時間長,且單崗作業(yè),精神狀態(tài)至關重要。如何監(jiān)控司機在運行過程中的狀態(tài),對城軌車輛司機在值乘當中標準化作業(yè)執(zhí)行不到位、精力不集中、盹睡等違章行為通過網絡或電話形式及時給予提醒糾偏,避免列車發(fā)生冒進信號、沖撞甚至撞人等事故,對列車行車安全有著重要的意義。
隨著機器視覺技術的突飛猛進,近年來視頻分析與識別技術已廣泛應用于交通、安防、金融、建筑、醫(yī)學、軍事等領域,有人臉識別、人眼定位以及疲勞狀態(tài)檢測[1-4]等技術。
司機盹睡監(jiān)測系統(tǒng)采用基于機器視覺的智能圖像處理技術,以人臉識別技術和人眼識別技術,通過人眼的開/閉合度等特征并融合人體的姿態(tài)和運動特征,如頭部姿態(tài)的俯仰角信息,從而實現(xiàn)司機盹睡狀態(tài)的智能識別。當監(jiān)測到司機有視野偏離、精神不振等現(xiàn)象時,立即實施分級語音報警,在線提醒司機,從而減少因司機精神不專注導致的行車事故發(fā)生。
本系統(tǒng)實現(xiàn)了針對地鐵10號線安裝司機盹睡監(jiān)測系統(tǒng),實現(xiàn)車輛司機盹睡狀態(tài)智能識別,當監(jiān)測到司機有視野偏離、精神不振等間斷現(xiàn)象時,立即實施分級語音報警,在線提醒司機,使之保持專注狀態(tài),并將報警的實時視頻無線傳輸至運營管理部門。
盹睡檢測算法主要過程如圖1所示:先從視頻圖像中檢測出人臉,根據(jù)人臉檢測的結果提取出眼睛部位,通過人眼的開/閉合度等特征并融合人體的姿態(tài)和運動特征,如頭部姿態(tài)的俯仰角信息,構建深度學習神經網絡分類器進行分類,從而實現(xiàn)司機盹睡狀態(tài)的智能識別。
圖1 算法處理流程
人臉關鍵點采用圖2所示的網絡訓練得到一系列的特征圖最終輸出68個人臉關鍵點。
圖2 訓練過程圖
這里關于重要的幾個關鍵點作以說明,如圖3所示:鼻尖為31,鼻根為28,下巴為9,左眼外角為37,左眼內角為40,右眼內角為43,右眼外角為46,嘴中心為67,嘴右角里為55,左臉為1,右臉為17。頭部姿態(tài)由方位角,俯仰角和翻滾角表示。
圖3 68個人臉關鍵點
損失函數(shù)采用線性回歸函數(shù),其中Φ(?)為正則化項,?(?)是損失函數(shù),采用的是Least-Squares Re?gression,求出預測值和真值之間的誤差,為式(1):
式中:
基于卷積神經網絡的關鍵點檢測技術,能夠在復雜環(huán)境下穩(wěn)定地運行,包括不同光照變換、各種姿態(tài)、表情以及部分遮擋人臉。在訓練的過程中,通過大量訓練樣本數(shù)據(jù)使得網絡模型能夠自主學習各關鍵點的梯度特征,有監(jiān)督地學習出形狀和紋理的回歸模型,計算得到關鍵點的檢測結果。
將人臉關鍵點信息,結合頭部姿態(tài)的俯仰角信息和人眼的開/閉合狀態(tài)信息,組成68×6的特征向量,再將每幀的特征向量輸入到設計的卷積網絡中,輸出網絡提取的feature向量,再將此特征輸入到BiLSTM中輸出駕駛員的當前狀態(tài),如圖4所示。例如:專心駕駛,疲勞駕駛或者左顧右盼。
圖4 疲勞檢測算法流程
通過CNN網絡(RPN)產生一系列稀疏的候選框,然后對這些粗粒度的box信息進行分類與回歸,以便進一步回歸從而得到更加精確的框信息,采用了特征融合操作用于檢測網絡,有效提高對小目標的檢測效果,整個檢測網絡采用的損失函數(shù)為式(2):
預測過程首先根據(jù)類別置信度來過濾掉屬于背景的預測框和閾值較低的預測框,根據(jù)置信度進行降序排列,然后僅保留top-k預測框,最后進行NMS算法過濾掉那些重疊度較大的預測框,從而得到檢測結果。
選擇線路、車輛號、車廂號后,可查詢司機室駕駛員歷史記錄,盹睡分神等記錄。如果當前車輛駕駛員出現(xiàn)盹睡分神現(xiàn)象,系統(tǒng)將上傳盹睡時間的截圖和時間節(jié)點。所有故障和報警信息將滾動顯示在主頁面下方,如圖5所示。
圖5 城軌盹睡監(jiān)測系統(tǒng)
本系統(tǒng)由3部分組成:電路硬件板卡,前面板,軟件算法(FPGA+ARM)構成。
如圖6所示,PS端為ARM處理器,用來進行算法運行以及程序調度和協(xié)調,PL端為FPGA,用來進行卷積計算,PS與PL之間通過AXI總線進行通信。其中:
圖6 司機盹睡識別卡設計框圖
(1)DDR做程序運行時的存儲器,SD/SATA作為圖像存儲介質。
(2)M 12為前面板以太網接口,接入盹睡攝像頭。
(3)USB為前面板存儲器連接接口。
盹睡監(jiān)測攝像頭是司機盹睡監(jiān)測子系統(tǒng)的圖像采集和語音報警部件,攝像頭采用SONY紅外,高清2.8 mm CCD圖像傳感器,盹睡攝像頭外形如圖7所示。
圖7 盹睡攝像頭
防盹睡系統(tǒng)具備以下幾項功能:
(1)盹睡狀態(tài)實時識別在線提醒
若發(fā)現(xiàn)司機疲勞駕駛在線提醒實施分級語音報警,同時,在圖像采集器(攝像頭)檢測到被遮擋時也會報警。報警均為語音實時報警,具體參數(shù)可以通過軟件進行設置,見表1。
表1 報警類別及啟動條件
(2)數(shù)據(jù)存儲分析
系統(tǒng)監(jiān)測數(shù)據(jù)可通過3G/4G/WALN和USB下載、機內存儲2種方式保存,并可通過地面分析軟件進行分析處理,自動生成退勤憑證和統(tǒng)計報表,管理者可分權限對重點時間區(qū)域以及重點人員的工作狀態(tài)進行檢索和分析,針對問題采取管理措施,為安全風險管理提供了重要技術支撐。
(3)車輛休眠
車輛速度小于5 km/h時系統(tǒng)待機休眠,為乘務員停車時的休息提供良好環(huán)境。
(4)外部接口功能
通過RS485或Enthernet接入車載PHM系統(tǒng)或TMS系統(tǒng)將報警信息無線傳輸至車輛運營管理部門或車輛本地報警顯示和存儲。
文中建4臺高性能服務器作為分布式訓練計算機集群,如圖8所示,A服務器用于存儲參數(shù)、共享參數(shù)、共享計算;其他3臺服務器B、C、D用于并行計算。另外,在實施分布式訓練前,模型中集成了對視頻數(shù)據(jù)的增強處理,如數(shù)據(jù)旋轉、反射變換、翻轉變換、縮放變換等。
圖8 分布式訓練計算機集群
構建深度學習模型,對網絡的結構進行優(yōu)化改進。根據(jù)需求方給出城軌車輛運行時駕駛室錄像,由開發(fā)方人工訓練出相應的網絡模型,具體流程為:在視頻中截取相應動作的圖片,然后進行人工標注,之后在darknet中迭代訓練得到模型,其中影響網絡模型的因素有:標注圖片的數(shù)量和準確度、網絡模型結構、訓練中的一些參數(shù)等。標注圖片越多、越精確、越均衡,訓練效果越好;網絡結構方面,一般來說,越大的網絡精度越高,但同時運行速度會越低,具體采用什么網絡,需要在訓練工程中反復嘗試和權衡,最后達到精度和速度同時滿足開發(fā)需求;訓練中的參數(shù),如每批次載入的圖片數(shù)量,總體迭代次數(shù)等,都影響著最后得到的網絡質量,需要在訓練過程中反復嘗試和調整。流程如圖9所示。
圖9 算法訓練流程圖
檢測階段,就是將上述訓練過程中得到的網絡模型應用于實際場景,如圖10所示,從攝像頭的視頻流中截取每一幀圖片,將這些圖片通過網絡模型,可以得到司機目前的動作類別:
圖10 檢測階段應用于實際場景流程圖
整個網絡結構圖如圖11所示。
圖11 網絡結構圖
其中,除了最后一個detection層之外(detection層結構比較復雜,在FPGA上實現(xiàn)比較困難,本層計算量較?。?,網絡的其他部分都由FPGA部分
實現(xiàn)。
司機盹睡監(jiān)測裝置在車輛運行中實時監(jiān)測車輛司機的精神狀態(tài),并在其出現(xiàn)打盹等狀態(tài)時,及時分級發(fā)出提示報警信號,有效地減少了司機疲勞狀態(tài)出現(xiàn)的次數(shù)和避免了司機盹睡狀態(tài)的出現(xiàn),從而將安全管理由結果控制轉化為在線實時預防,對地鐵運營安全具有十分重要的現(xiàn)實意義,本系統(tǒng)將引領盹睡監(jiān)測在城軌車輛上的應用和推廣的方向,為我國軌道交通安全又增添了一道保障。