?

鐵路調度員疲勞狀態檢測軟件研究與設計

2024-03-20 02:00鄭偉陳亮呂宏宇胡大欣俱巖飛張春光
鐵道通信信號 2024年3期
關鍵詞:嘴部調度員關鍵點

鄭偉,陳亮,呂宏宇,胡大欣,俱巖飛,張春光

調度中心作為鐵路運輸的指揮中樞,負責指揮各部門協同完成運輸工作,擔負著保障運輸安全、組織客貨運輸、保證國家重點運輸任務、提高客貨服務質量的重要責任。調度指揮的準確性、可靠性、安全性是鐵路運營安全的重要保障。調度員的工作狀態極大地影響著鐵路的運營安全,而疲勞是誘發人因失誤的主要原因之一[1-3]。因此,對調度員疲勞狀態進行在線檢測,是保障鐵路正常運輸秩序、提質增效亟待解決的問題。

目前,國內外關于飛行員、司機駕駛疲勞檢測技術的研究較多,調度員疲勞檢測可以進行借鑒。文獻[4]提出一種基于卷積神經網絡的深度學習算法,用來自動識別睡意狀態,采用單通道原始腦電信號作為深度學習算法的輸入,從中提取特征;文獻[5]采用8個腦電通道對高鐵司機狀態進行檢測,使用矩陣分解算法對從無線可穿戴腦電信號采集設備獲得的信號進行疲勞狀態分類;文獻[6]基于機器學習方法,將PERCLOS[7]判定準則的f值、最長持續閉眼時間和嘴部張開次數作為神經網絡的輸入,構建3層反向傳播神經網絡識別疲勞狀態;文獻[8]提出基于改進Retina-Face模型和改進ShuffleNetV2網絡模型提取圖像特征,實現通過人臉檢測及眼睛嘴巴開合狀態對疲勞狀態進行判斷;文獻[9]通過模糊推理系統,將眼睛開合度、嘴巴開合度、眼動速率等3個判斷指標相結合,用來判斷疲勞;文獻[10]提出一種基于上身姿態的雙流融合網絡模型,判斷高鐵司機疲勞程度。

綜上所述,基于類似腦電的人體生理指標檢測方法對于疲勞檢測較為直接,但穿戴設備對工作人員的侵入性和干擾性較強,影響正常工作;而基于面部、眼部圖像的檢測方法,僅采用單一特征,檢測效果也有待提高,且視頻數據如果采用人工監控的方式,成為一種事后取證的工具,很難進行統計分析,無法滿足鐵路局對調度員疲勞狀態統一管理和考核的需求。

為此,結合調度員工作特點,本文提出基于圖像多特征融合的調度員疲勞檢測方法。該方法基于圖像識別技術的非接觸式設計,在調度員前方安裝單目攝像頭并連接工控機,實時檢測調度員臉部及其上半身姿態,利用疲勞檢測模型對調度員當前的疲勞狀態進行分類。在不干擾調度員工作的前提下,可提高疲勞檢測準確率及時效性,實現對調度員疲勞狀態數據的分析與管理。

1 疲勞狀態檢測算法

1.1 基于Retina-Face的臉部關鍵點檢測算法

PERCLOS P80是檢測人體疲勞公認較為準確的方法之一。PERCLOS的全稱為“Percentage of Eye Closure over the Pupil for the Required Observation Time”,即在所需觀測時間內瞳孔上眼瞼閉合的百分比。PERCLOS P80是指在單位時間(60 s)內測量眼睛閉合程度超過80%的時間所占的比例(用P80表示)。用該方法可以實現非接觸式檢測,對被監測人員不產生影響,但需要對人臉部,尤其是眼部、嘴部的關鍵點進行準確而快速的定位。

目前,面部關鍵點定位有多種解決方法,如級聯形狀回歸方法、基于深度學習方法等。其中,精度最高的是基于深度學習的方法,考慮到現場實際應用,需要選擇精度較高且模型體積較小的關鍵點定位方法。Retina-Face是insightface團隊提出的一種專門檢測人臉的單階段多任務深度學習檢測算法,其網絡模型特點包括:單階段目標檢測、特征金字塔網絡方法、上下文特征模塊、多任務學習、錨點框機制及輕量級主干網絡等,能夠識別人臉關鍵點,進而檢測出打哈欠、眨眼等動作。該模型在推理速度和準確性方面較優秀,適合在小型工控機上完成人臉關鍵點檢測任務。綜上所述,本研究基于Retina-Face模型識別面部關鍵點,截取眼部圖片;然后結合方向梯度直方圖(Histogram of Oriented Gradient, HOG)與支持向量機算法(Support Vector Machine, SVM),即HOG-SVM算法實現眼部睜眼、閉眼分類;最后采用PERCLOS方法評估調度員疲勞狀態,準確地檢測并判斷個體的眼部動作和疲勞程度。

本文基于Retina-Face的面部關鍵點檢測算法,重新設計了21個人臉檢測關鍵點[11]:左右雙眼各6個、鼻尖1個、嘴部8個,面部關鍵點檢測示意見圖1。

圖1 基于Retina-Face的面部關鍵點檢測示意

Retina-Face包含3個任務:人臉分類、臉框檢測、關鍵點檢測。當使用人臉分類、臉框檢測的預訓練網絡權重文件進行預測時,無需對權重文件再次訓練,僅對面部關鍵點檢測權重單獨訓練即可,可以大幅提高訓練效率,并且由于預訓練權重對人臉檢測效果較好,還可以對關鍵點檢測的準確性起到積極作用。以打哈欠為例,提取嘴部8個關鍵點并進行定位。一般打哈欠時,嘴部縱橫比MAR會產生較大變化,與說話時的MAR值有明顯區分,因此本文采用固定閾值的方法進行面部關鍵點的打哈欠檢測。當MAR<0.3時,確定為口閉或開口說話;當MAR>0.3時,確定嘴部狀態為打哈欠。嘴部MAR變化情況見圖2。

圖2 嘴部MAR變化情況(截?。?/p>

1.2 基于BiLSTM-SVM的自適應增強算法

針對工作中僅能拍到調度員半身坐姿的特點,提出一種基于雙向長短時記憶神經網絡(Bidirectional Long Short-Term Memory,BiLSTM)和自適應增強算法的人體姿態分類方法。BiLSTM是一種更高級的循環神經網絡,有效避免了梯度消失和梯度爆炸的問題。

針對多分類問題,運用單一的人工智能方法已經不能滿足對分類問題的泛化與推理能力的提升。而集成學習方法可以有效提高模型能力,Ada-Boost算法由Freund提出,是最具代表性的自適應增強算法之一。該算法會增加錯誤訓練實例的相對權重,然后使用更新后的權重訓練第2個分類器,并再次對訓練集進行預測,更新實例權重,以此類推。Adaboost算法模型見圖3。

圖3 Adaboost算法模型

根據動作時間序列特點,本文采用循環神經網絡與集成學習算法相結合的思路,基于高分辨率網絡(High-Resolution Net, HRNet)人體姿態關鍵點檢測模型,提取人體骨骼關鍵點信息[12];通過構建人體動作行為角度特征與長度比例特征,實現數據降維與特征提??;采用SVM替代網絡輸出層Softmax函數完成動作分類,以達到提高識別率的目的;最后以BiLSTM-SVM作為Adaboost算法的基礎分類器,在提高識別率的同時,降低泛化誤差,實現調度員疲勞動作的識別。

2 方案設計

通過放置在調度臺的攝像頭,采集調度員面部及身體姿態視頻信息,分析調度員的眨眼頻率、時長和打哈欠頻率等面部特征,以及低頭、趴桌等瞌睡姿態特征,對調度員的疲勞狀態數據進行實時記錄、分類、分析與跟蹤。軟件架構共分為5層,分別是顯示層、功能業務層、數據層、傳輸層、采集層,見圖4。

圖4 軟件架構

1)顯示層?;赑yQT設計的軟件人機交互界面,具有視頻實時顯示、本地視頻播放、疲勞狀態檢測結果顯示、歷史數據查詢等功能。

2)功能業務層。負責實現軟件的基本操作與核心算法,包括調度員疲勞檢測的各項功能模塊:攝像頭實時數據采集、視頻數據播放及檢測、多特征融合疲勞檢測模型、聲音報警等。實現調度員疲勞狀態的檢測與報警,同時與數據層進行相關疲勞數據的讀寫,是該軟件的核心。

3)數據層。作為軟件的數據中心,存儲調度員疲勞狀態數據、視頻數據文件等。

4)傳輸層。通過有線網絡的方式進行攝像頭與主機間視頻圖像的傳輸。

5)采集層。通過硬件設備單目廣角攝像頭,完成調度員視頻圖像的采集。

3 軟件設計與實現

軟件利用人工智能、圖像處理等計算機技術,對實時采集的調度員面部表情和行為姿態視頻信號進行識別、分析和統計,具有在線監控、視頻管理、統計分析等功能,滿足調度中心對調度員疲勞狀態監控及管理需求。

3.1 檢測算法流程

首先,通過視頻采集設備獲取調度員的實時視頻圖像;其次,利用Retina-Face模型提取人眼、鼻尖和嘴部的關鍵點,根據眼部圖片,計算HOG特征,輸入SVM中,同時通過HRNet人體姿態關鍵點檢測模型提取人體關鍵點,將人體姿態特征輸入BiLSTM-SVM自適應增強算法模型中,得到疲勞狀態下的各特征值;最后,將所有特征值作為人工神經網絡的輸入,計算多特征融合的疲勞狀態。檢測算法流程見圖5。

圖5 鐵路調度員疲勞狀態檢測算法流程

通常情況下,人體在疲勞狀態時,眨眼頻率、PERCLOS值、打哈欠次數都會增加。進行疲勞檢測時,如果計算周期過長則無法及時發現疲勞狀態,周期過短則易導致疲勞誤檢率過高。為了兼顧疲勞檢測的實時性和準確率,軟件將疲勞檢測周期設定為60 s,視頻采樣幀率為30幀/s,即計算1 800幀數據中各項特征的數值及調度員疲勞狀態。

3.2 軟件實現

軟件開發使用Python語言,開發環境采用PyCharm,界面利用QtDesigner設計,數據層采用SQL Lite進行設計與管理。其中QtDesigner提供了前端常用的按鈕、對話框、文本框等控件。根據前后端分離設計的軟件實現思路,前端界面的設計完成后,通過調用后臺邏輯文件實現軟件業務功能。整個數據庫采用一張用戶表設計,包括ID、姓名、工號、疲勞狀態、起始時間、截止時間、視頻文件路徑等參數。

如圖6所示,軟件操作界面采用分區顯示,左側區域為已存的錄像視頻檢測及顯示,右側區域為實時檢測視頻。

圖6 疲勞狀態檢測軟件操作界面

4 試驗驗證

試驗數據集為自制數據集,采用攝像頭拍攝在調度模擬仿真實驗室進行試驗時志愿者的視頻數據。共有5位不同年齡段的志愿者,包括3名男生、2名女生,身體狀況良好。每個志愿者均采集40 min的視頻數據,時間分布為上午9:00—10:00間采集10 min,下午3:00—4:00間采集10 min,晚上23:00—24:00采集20 min(疲勞狀態),共采集200 min,包括輕度及以下疲勞狀態、中度疲勞狀態、重度疲勞狀態。每一個數據為1 min,共200條數據,經過篩選,可用數據為192條。將其分為138條訓練數據,54條作為測試數據,訓練數據采用5折交叉驗證法,輪流將訓練集中110條數據用來訓練,另外28條用來驗證。

首先將采集到的視頻數據輸入到Retina-Face模型進行人臉關鍵點定位,得到人眼部12個、嘴部8個、鼻尖1個關鍵點位置數據;然后根據每一幀圖像的眼部與鼻尖關鍵點,計算得到基準眼的眼部截圖,提取HOG特征,并將其輸入采用粒子群算法訓練好的支持向量機SVM分類器中進行睜閉眼識別,計算最近1 800幀的PERCLOS值。

眨眼是一個過程,一個完整的眨眼約需0.1~0.4 s[13]。視頻幀率為30幀/s,一幀的采樣時間大約為0.033 s,所以在無特殊遮擋情況下,眨一次眼睛軟件至少可以采集到2張圖片,因此基于實際測試效果,軟件處理邏輯確定將2次連續的閉眼圖片計為1次眨眼。

再根據嘴部8個關鍵點位置數據,計算每幀圖像的MAR,采用固定閾值判定打哈欠的發生,同樣計算最近1 800幀內打哈欠動作的次數。在采集面部關鍵點進行計算時,視頻數據同時輸出給BiLSTM-SVM自適應增強模型,計算得到打哈欠、低頭、趴桌等行為的次數。

為證明本文選取多特征的有效性,選取3種不同特征下的疲勞分類方法進行準確率的對比分析,共有54個測試樣本,檢測結果對比見表1。

表1 單因素與多特征融合算法檢測結果對比

表1數據表明:檢測調度員疲勞狀態過程中,在單一眼部特征檢測基礎上,引入打哈欠的面部特征后,算法準確率明顯提升;融合了眨眼、打哈欠的面部特征和行為特征的多特征融合算法,不僅能檢測眨眼、打哈欠等動作,還能識別一定的疲勞姿態,進一步提高了疲勞狀態檢測準確率。

5 結論

1)本文提出的鐵路調度員疲勞狀態檢測方法,將終端檢測的信息通過智能算法解析,識別調度員的疲勞程度,并根據識別的結果進行聲音報警;同步將數據記錄至數據庫,便于管理、統計、分析,滿足當前鐵路局和調度中心集中管控的需求。

2)系統采用基于多特征融合的鐵路調度員疲勞檢測方法,構建了多個疲勞特征判據,并將基于圖像識別的面部信息與行為動作姿態信息融合,作為疲勞狀態檢測的手段,依托調度仿真實驗室的模擬試驗,疲勞狀態檢測準確率為96.3%,證明了該方法的有效性。

本方法提高了鐵路調度員的工作安全水平,對保障鐵路的安全運營具有重要意義。下一步,將繼續完善網絡與傳輸功能,為提升鐵路行車安全水平發揮更大作用。

猜你喜歡
嘴部調度員關鍵點
Quick thinking by his wife saving Steve s life緊要關頭,成功救援
MPDS系統應用下急救調度員應具備的素質和能力分析
撥打120急救電話要注意什么?
聚焦金屬關鍵點
肉兔育肥抓好七個關鍵點
此人為何杠得如此囂張?
圓號教學中嘴部教學的重要性及訓練方法研究
城市軌道交通行車調度員職業適應性研究*
高中素描頭像教學中提高嘴部刻畫能力的策略探究
基于Horn-Schunck光流法的多目標反芻奶牛嘴部自動監測
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合