王振宇,呂 勇,廖健熙,趙 凱
(1.嘉興學院信息科學與工程學院,浙江嘉興 314001;2.萬科思自控信息(中國)有限公司,浙江嘉興 314006)
腦力疲勞是一種長時間、高強度腦力勞作或單調重復工作的并發現象,影響著人類的生理、心理機能。隨著現代化進程的推入,腦力工作者群體也在日益增加,不間斷工作及睡眠不足會導致作業績效顯著降低,嚴重時甚至會引發安全事故[1],眾多學者為此做了大量的精神運動及行為分析。文獻[2]表示,眼瞼閉合度(Percentage of EyeIid CIosure over the PupiI over Time,PERCLOS)和打哈欠頻率影響疲勞程度;文獻[3]指出用腦電信號(Electroencephalograph,EEG)和心電信號(Electrocardiogram,ECG)可以有效監測疲勞;文獻[4]研究了多個面部特征的疲勞信息檢測,但在實際應用場景中,單一信息的采集有明顯缺陷,如光線較差場景下面部識別效果差[5]、個人差異和環境復雜干擾腦電信號[6]等;文獻[7]綜合了多種多源信息融合的疲勞檢測手段,指出了需要平衡實際應用場景實時性和穩定性的必要。
當人體產生疲勞時,會出現心率加快、精神渙散、注意力難以集中等現象,面部特征和身體姿態隨之發生變化[8-9]。
隨著腦力疲勞程度的加深,大腦皮層復雜程度變低,α波段頻率增加,β波段能量減少,而當人體開始從疲勞狀態轉變到睡眠狀態時,θ波段頻率顯著增加[10]。因此,可用式(1)的腦電波相對能量之比表示疲勞程度;

其中,r為譜功率分布,α、θ、β分別代表α波、θ波、β波頻率。
隨著人體生理疲勞及心理疲勞程度越來越深,心跳速度會逐漸減緩,心率也隨之降低,傳統表征心電信號的方法是基于時域分析中R-R 波峰期間的均值計算,實時性不強,而基于快速傅里葉變換(FFT)的頻域計算明顯提高了分析速度。1 min 內心電信號的頻率即心率可用式(2)表示:

其中,X為諧波幅值,F為FFT采樣點數,fs為FFT 采樣頻率。
當人體產生疲勞時,會自然出現困意點頭行為。排除其他外界因素,設置pitch(俯仰角)為20°,如果點頭時間持續3 s,則判斷為困意點頭,每分鐘內困意點頭大于3 次認定為疲勞狀態。
1)PERCLOS 算法
PERCLOS 代表人的眼睛下皮在一定時間內的下垂程度。在清醒狀態下,人的PERCLOS 參數值較小,處于疲勞狀態時,閉眼幀數明顯增加,PERCLOS參數值隨之增大。PERCLOS 值的計算如式(3)所示,其超過預定閾值時,判定為疲勞:

2)MAR 算法
嘴部縱橫比(Mouth Aspect Ratio,MAR)是基于人體嘴部水平方向和垂直方向之間特征點的距離之比,通過式(4)可判斷測試人員是否張嘴及打哈欠。將MAR的閾值設置為0.75,當MAR>0.75 時就可以認定打哈欠行為一次,1 min內打哈欠的次數超過兩次可判定為疲勞。嘴部特征點計算歐氏距離示意圖如圖1所示。

圖1 嘴部特征點計算歐氏距離

為了達到實時檢測區域快速定位[11]并部署到開發板部署的目的,選用了體積較小、檢測速度較快的Yolo-V5s模型。Yolo(You only look once)的核心思想是將輸入圖片劃分為網格后,找到目標中心的網格對該目標進行預測,再使目標框回歸位置坐標并進行置信度值的預測,之后設定置信度閾值,篩選出置信度較高的目標框進行非極大值抑制(NonMaximum Suppression,NMS)處理,最終得到預測結果。而Yolo-V5s模型在此基礎上采用Mosaic數據增強,自適應錨框計算算法加速了推理速度,Neck 端采用FPN(Feature Pyramid Networks)+PAN(Pixel Aggregation Networ)結構對特征提取能力作了進一步提高,從而可快速有效提取到疲勞信息。Yolo目標檢測流程圖如圖2所示。

圖2 Yolo目標檢測流程圖
神經網絡兼顧并行性和適應性,具有計算優勢,可優化程序性能。利用神經網絡的任意逼近和抗干擾能力,可以很好地實現決策分析。徑向基函數神經網絡(Radial Basis Function,RBF)利用全局任意精度逼近任意非線性函數,利用均值聚類找到徑向基中心,并選取關鍵參數對其模糊化處理,由此簡化特征結構和計算復雜度,降低疲勞信息源空間維數。通過上述步驟建立決策表,可以有效進行決策融合,進一步分析疲勞狀態[12]。
為實現疲勞檢測系統設計,文中使用RBF 神經網絡分別采集實驗對象在疲勞狀態和非疲勞狀態下的特征參數,建立決策系統對疲勞狀態進行評估。決策系統包括腦電采集模塊、心電采集模塊、圖像采集模塊、頭部姿態采集模塊及控制模塊,系統收集到腦電信號、心電信號、姿態信息以及面部信息后對每一個部分進行預處理優化,再將它們作為數據樣本放入構建好的模型進行訓練,最后部署到jeston nano(深度學習開發板)上,這樣可以在保證準確性的同時增加實時穩定性能,滿足實驗需求。系統框架如圖3所示。

圖3 系統框架
多電極采集設備價格昂貴,探頭數目繁多,復雜程度較高,故腦電的特征提取模塊選用了Neuro sky公司相對廉價、簡單的TGAM 模塊,采集端包括單點干變極傳感器、耳夾電極片、藍牙從機、TGAT芯片及電源模塊。采用非侵入式腦機接口(Brain-Computer Interface,BCI)[13]設備,避免了傳統穿戴設備的浸濕需求,同時使電極片增加了導電能力,使信號傳輸得以有序穩定的進行,且該設備佩戴方便、操作便捷,可行性相比傳統設備更高。而基于4.0 低功耗藍牙部分(Bluetooth Low Energy)滿足在較高數據傳輸速率下支持自適應跳頻,加強了可靠性和安全性,最后由TGAT芯片的內部算法過濾眼電噪聲以及50/60 Hz交流干擾,將檢測的腦電信號轉換成數字信號,通過串口發送至顯示端,用于判斷疲勞程度。數據采集具體步驟如下:
1)增加校驗和檢察,即檢查數據包中數據和檢驗位是否一致。
2)解析TGAM 發送的小包數據。
3)設置好大包數據時間間隔,將數據和大包交叉核對,得到腦電信號頻率寬帶(EEG power)。
4)利用式(1)計算待測對象的疲勞值。
5)將疲勞數據通過藍牙設備傳送到顯示端。
心電采集模塊選用TI 公司醫用級雙通道同步采樣的ADS1292 模塊,該模塊具有兩個可編程增益放大器(PGA)和兩個24 位模擬數字轉換器(ADC)。
由于心電信號幅值較小,而高次諧波形成的干擾具有較大的位移特性,為了使心電信號采集具有實時性,選擇了輸出信號能夠進行FFT 運算的FIR 濾波器。設置250 Hz 的采樣頻率,選取Kaiser 窗函數,在抑制噪聲的同時保留了邊緣特性。在計算濾波器濾波后的心電數據值時,采用基4FFT 原理,將長序列計算分割成2 點DFT 計算,即先將單位長度的DFT 序列分割成兩個1/2 單位長度DFT 序列的線性組合,再各自拆分為2 個單位長度為1/4 的DFT,依次進行下去,直至每個序列都由2 個單位長度表示為止,由此大大減少了計算量,增加了實時性。選取寄存器中的單位點數,根據頻譜特性找到存入硬件設備中的最大諧波幅值下標,與相關系數相乘,得到心率數據,通過串口通信設備將心率數據發送至上位機,上位機讀取串口數據繪并制成圖4所示的連續波形圖。

圖4 心電數據顯示
將Acc_Gyro Accelerometer+Gyro IMU 作為慣性傳感器采集人體姿態原始數據,由于傳感器供電參考電壓是3.3 V,故需要將采集到的10 位原始ADC(模擬數字轉換器)值轉換成電壓值。根據加速度計檢測的慣性力矢量得到加速度計輸出的線性相關值,導入加速度計的靈敏度,得到單位為g 的重力矢量力分量,通過簡單的反三角函數關系得到加速度計計算傾角,再通過陀螺儀慣性元件測量實時角速度,參考陀螺儀的靈敏度轉換單位,通過對角速度積分得到傾角位置,最后通過卡爾曼濾波(KF)融合兩個傳感器得到的傾角數據后,解算四元數,得到俯仰角數值,判定點頭次數后,通過SPI(Serial Peripheral Interface)通信將結果傳送下位機,最后通過串口通信發送到顯示端進行綜合分析。
選擇jeston nano為上位機,rt1064為下位機,上位機用于提取視頻流,收集圖像信息,并收集實驗對象不同張嘴程度、眼瞼閉合度及點頭角度的圖像信息。
①選定100 ms 捕捉實驗對象在白天和深夜的面部狀態,以便更好地采集眨眼及哈欠特征,并使用圖像標注工具進行標注,制作數據集。
②對數據集預處理,采用Mosaic算法對數據樣本進行增強,并利用自適應Anchor算法找到最佳錨框值。
③將數據集導入CSPDarknet 框架進行訓練,利用FPN+PAN 結構推理整合,得到訓練權重結果。
④將權重結果部署至jeston nano,通過式(3)、式(4)計算PELCOS 值、MAR 值,初步綜合判定疲勞狀態。正常狀態疲勞狀態檢測示例如圖5 所示。

圖5 正常狀態疲勞狀態檢測示例
由于人面部區域占整個圖像比例較小,為了濾除背景對面部識別的干擾并加速識別過程,在矯正攝像頭后,將640×480 像素壓縮至160×160 像素,空白處補灰色。利用權重文件找到人物,再將人物剪裁成320×320 像素大小,用訓練好的數據集模型檢測人臉,對標注的2 000 張數據集進行實驗,結果如

表1 所示,由表1 可以看出,改進后的模型在保障準確率的同時提高了檢測速度。表1 人臉檢測結果
對比文獻[5]提出的基于Yolo-V4 的輕量化疲勞檢測模型,文中面部識別模型采用單幀采集速度更快的Yolo-V5s 模型,對于單目標檢測采用自適應計算最佳錨框值,推理性能更加卓越。
以一組現場測試人員白天和深夜采集的疲勞信息為例,建立多傳感器生理數據融合系統,對基于RBF 的多源信息融合方法加以說明。取PERCLOS、人腦功率譜密度之比、心率、點頭次數、打哈欠次數5 種常見監測參數的測量值作為疲勞信息決策表的條件屬性。系統的決策屬性決定著疲勞等級,其中疲勞程度為“清醒”狀態用d1 表示,疲勞程度為“輕度疲勞”狀態用d2 表示,疲勞程度為“重度疲勞”狀態用d3 表示。
剔除無效屬性及重復屬性后對剩余條件屬性值進行化簡,得到決策表如表2 所示。通過約簡處理后使用Matlab 仿真工具箱,調用RBF 函數對該網絡進行訓練,根據最終的網絡決策輸出值即可判斷疲勞情況。圖6 所示為RBF 神經網絡訓練效果。

圖6 RBF神經網絡訓練效果

表2 疲勞檢測系統信息決策表
其中,Performance 表示傳遞誤差大小,Goal 表示設定誤差。該網絡是以決策屬性樣本數據作為訓練樣本,對應屬性測試數據為測試樣本,選用輸入層單元為6、輸出層單元為3 的網絡模型。
實驗測得模型在jeston nano tx1 開發板上的單幀平均檢測時間為63 ms,可滿足疲勞駕駛檢測的實時性要求。文中方法與其他信息融合手段如基于面部與心率特征融合疲勞檢測[14]方法、基于功能近紅外光譜的多生理腦力疲勞檢測[15]以及基于信息融合的駕駛員疲勞狀態檢測方法研究[16]對比結果如表3所示。通過仿真可以證明,基于RBF 的多傳感器信息融合方法在疲勞檢測系統中的準確率可到0.97。對比其他疲勞駕駛檢測方法,文中方法具有精度優良、魯棒性高、穩定性強且能在低成本的硬件設備上完成檢測的優點。

表3 不同疲勞檢測方案的對比
為解決單一信息源檢測疲勞穩定性不足的問題,文中設計了RBF 神經網絡對多個疲勞信息源進行融合,并針對每個信息源來源進行優化,采用單點干變級接觸傳感器TGAT 模塊對腦電信號進行特征提取,并設計大包交叉核對方式增強數據穩定性,同時將心率的時域計算變成頻域計算,由此提高系統實時性。為了縮短人臉識別進程,使用慣性傳感器檢測頭部姿態,采用改進Yolo-V5s 作為面部特征檢測的模型,提高了檢測速度和識別精度。實驗證明,該系統對疲勞檢測整體精度達到了97%,具有很高的魯棒性和實時性。