周思丹
(西北民族大學(xué) 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,甘肅 蘭州 730030)
在電子商務(wù)的驅(qū)動(dòng)下,我國(guó)運(yùn)輸業(yè)高速發(fā)展,其中公路運(yùn)輸需要貨車司機(jī)長(zhǎng)時(shí)間高度集中。長(zhǎng)時(shí)間的駕駛極易使駕駛員產(chǎn)生疲勞,尤其貨運(yùn)司機(jī)為提前到達(dá)目的地,選擇在車輛稀疏的夜間行駛,但凌晨2~6時(shí)是駕駛員最容易出現(xiàn)疲勞的時(shí)間,夜間行車極易釀成車禍。據(jù)公安部交通管理局的數(shù)據(jù)統(tǒng)計(jì),疲勞駕駛在高速公路事故起因中占比大約11%。疲勞駕駛是危險(xiǎn)的駕駛行為,但人們對(duì)疲勞駕駛交通事故的防范意識(shí)不強(qiáng),且疲勞駕駛具有隱蔽性,交通部門對(duì)疲勞駕駛的違法行為難以取證,因此針對(duì)實(shí)時(shí)檢測(cè)疲勞駕駛和預(yù)警的研究非常重要。
現(xiàn)階段針對(duì)疲勞駕駛的檢測(cè)方法主要有三類:第一類是基于接觸式傳感器檢測(cè)駕駛員的腦電,心率等生物信號(hào)來(lái)判斷駕駛員疲勞狀態(tài)的檢測(cè)方法;第二類是基于車輛運(yùn)行狀態(tài)的行駛軌跡、行駛速度、角速度等出現(xiàn)不規(guī)則變化進(jìn)行判斷駕駛員疲勞狀態(tài)的檢測(cè)方法;第三類是基于機(jī)器視覺(jué)提取人臉眼部和嘴部特征在疲勞狀態(tài)中的變化進(jìn)行判斷疲勞狀態(tài)的檢測(cè)方法。
隨著智能手表廣泛應(yīng)用于日?;顒?dòng)生理指標(biāo)的檢測(cè)和運(yùn)動(dòng)狀態(tài)監(jiān)測(cè),本文設(shè)計(jì)了通過(guò)智能手表獲取駕駛員的心率數(shù)據(jù),同時(shí)使用攝像頭進(jìn)行人臉識(shí)別后提取駕駛員眼部特征,以此來(lái)檢測(cè)駕駛員的疲勞狀態(tài)。
本系統(tǒng)由控制模塊、語(yǔ)音模塊、攝像頭模塊和心率檢測(cè)模塊等組成,其中以樹(shù)莓派4B(Raspberry Pi 4B)為核心控制,通過(guò)智能手表提取駕駛員心率信號(hào)后使用藍(lán)牙通信將數(shù)據(jù)傳輸若檢測(cè)出駕駛員處于疲勞狀態(tài)時(shí)由語(yǔ)音模塊進(jìn)行語(yǔ)音提示駕駛員注意駕駛安全。其系統(tǒng)整體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)整體結(jié)構(gòu)
本系統(tǒng)是基于深度學(xué)習(xí)的SVM分類算法實(shí)現(xiàn)疲勞判定的,為此選擇以4 GB內(nèi)存的樹(shù)莓派4B用于AI視覺(jué)深度學(xué)習(xí)。樹(shù)莓派4B是一款基于ARM的微型電腦主板,具備1.4 GHz運(yùn)行的64位四核處理器,內(nèi)存高達(dá)4 GB RAM,2.4/5.0 GHz雙頻無(wú)線LAN,藍(lán)牙5.0/BLE,千兆以太網(wǎng)。其樹(shù)莓派4B如圖2所示。
圖2 樹(shù)莓派4B
攝像頭模塊選用樹(shù)莓派攝像頭模塊(NoIRCamrea V2)進(jìn)行采集人臉圖像,并通過(guò)紅外攝像頭提高在夜間昏暗行車環(huán)境中人臉特征提取的準(zhǔn)確率。
語(yǔ)音模塊通過(guò)樹(shù)莓派揚(yáng)聲器與XFS5152CE語(yǔ)音合成模塊連接,實(shí)現(xiàn)從文本到語(yǔ)音的疲勞駕駛語(yǔ)音提示。
心率檢測(cè)模塊選擇使用Fitbit Inspire HR智能手表,其檢測(cè)心率原理是通過(guò)兩個(gè)綠色LED光源對(duì)皮下血管的血液流量進(jìn)行心率跳動(dòng)的檢測(cè)。Fitbit Inspire HR具有心率監(jiān)測(cè)精確和電池續(xù)航長(zhǎng)等優(yōu)點(diǎn)。駕駛員通過(guò)佩戴智能手環(huán)以檢測(cè)心率數(shù)據(jù),并通過(guò)藍(lán)牙通信向控制模塊傳輸心率數(shù)據(jù),實(shí)現(xiàn)心率數(shù)據(jù)的采集。
本系統(tǒng)利用智能手表獲取駕駛員心率數(shù)據(jù),并以心率變異性(Heart Rate Variability, HRV)特征提取算法、心率哈欠匹配算法(Heart rate yawn matching algorithm, HYM)和PERCLOS方法來(lái)通過(guò)支持向量機(jī)(SVM)對(duì)駕駛員的生理特征和眼部特征進(jìn)行駕駛員疲勞狀態(tài)判定。其算法實(shí)現(xiàn)流程如圖3所示。
圖3 算法實(shí)現(xiàn)流程
3.2.1 人臉識(shí)別
人臉識(shí)別通過(guò)攝像頭獲取當(dāng)前駕駛視頻,利用Open CV讀寫(xiě)視頻流進(jìn)行圖像分析處理,然后利用Dlib庫(kù)的人臉位置檢測(cè)器將人臉模糊為矩形框,再使用Dlib庫(kù)的人臉預(yù)測(cè)器、特征提取器進(jìn)行68特征點(diǎn)的提取,實(shí)現(xiàn)人臉識(shí)別。其面部68特征如圖4所示。
圖4 面部68特征
3.2.2 眼動(dòng)信號(hào)
PERCLOS(Percentage of eyelid closure over the pupil over time, PERCLOS)是指眼睛閉合時(shí)間占某一特定時(shí)間的百分率。PERCLOS通常有P70、P80和EM三種判定標(biāo)準(zhǔn):P70表示瞳孔被眼瞼縱向遮住70%的時(shí)間比率;P80表示瞳孔被眼瞼縱向遮住80%的時(shí)間比率;EM表示眼瞼平均閉合率。相關(guān)研究表明P80與疲勞程度間具有最好的相關(guān)性,為此本系統(tǒng)采用P80作為眼部的疲勞的判定標(biāo)準(zhǔn)。將獲取的面部68特征轉(zhuǎn)換成數(shù)組,從數(shù)組中提取左右眼的特征點(diǎn),左眼分別是36到41,右眼分別是42到47。以左眼為例,設(shè)P1~P6分別對(duì)應(yīng)左眼的36到41的特征點(diǎn)。其左眼特征點(diǎn)如圖5所示。
圖5 左眼特征點(diǎn)
當(dāng)人眼閉合時(shí),人眼特征點(diǎn)P2到P6,P3到P5的垂直距離會(huì)減小,且人眼 P1到P4的水平距離會(huì)發(fā)生變化。根據(jù)此現(xiàn)象分別計(jì)算P2到P6,P3到P5垂直距離差的絕對(duì)值,再把這兩個(gè)絕對(duì)值相加后與P1到P4水平距離差的絕對(duì)值取比值,這個(gè)比值就稱為眼睛縱橫比EAR。其眼睛縱橫比EAR公式為:
當(dāng)人處于正常睜眼狀態(tài),EAR值在0.24波動(dòng),而閉眼過(guò)程中,EAR值會(huì)迅速下降,睜眼時(shí)又迅速恢復(fù)至0.24左右。理論上,當(dāng)人眼完全閉合時(shí),EAR值會(huì)下降至0,但特征提取會(huì)存在一定的誤差,因此設(shè)置EAR值低于某一閾值時(shí),則判定人眼處于閉合狀態(tài)。分別提取左右眼的特征點(diǎn),計(jì)算眼部特征EAR值,并取左右眼的EAR的平均值作為最終的EAR值。根據(jù)P80疲勞指標(biāo)計(jì)算每一幀瞳孔被眼瞼縱向遮住80%的時(shí)間比率,判斷駕駛員的疲勞狀態(tài)。P80疲勞指標(biāo)計(jì)算公式為:
3.2.3 心電信號(hào)
生理信號(hào)與人體疲勞水平有高度相關(guān)性,生理信號(hào)是疲勞駕駛監(jiān)測(cè)系統(tǒng)的一個(gè)重要指標(biāo)。心率變異性是指逐次心跳間期(RRI)之間的微小變化,是除腦電信號(hào)外與疲勞有顯著相關(guān)的生物學(xué)指標(biāo)。本系統(tǒng)利用智能手表嵌入的心率傳感器進(jìn)行人體心率數(shù)據(jù)的采集,但采集的心率數(shù)據(jù)無(wú)法直接表征疲勞的HRV特征。為此需要先計(jì)算相鄰跳間的平均時(shí)間間隔(平均RRI),再利用平均RRI近似瞬時(shí)RRI來(lái)提取HRV的時(shí)域特征和頻域特征。其算法流程如圖6所示。
圖6 心率變異性特征提取算法流程
打哈欠是面部表情中除眼睛特征外常用于疲勞檢測(cè)的另一個(gè)重要特征,但大部分的哈欠檢測(cè)方法是利用機(jī)器視覺(jué)檢測(cè)駕駛員嘴巴的張開(kāi)和閉合狀態(tài)進(jìn)行判斷的,此方法容易因駕駛員講話或驚嚇等意外情況出現(xiàn)誤判。根據(jù)相關(guān)醫(yī)學(xué)研究發(fā)現(xiàn),打哈欠與心率存在獨(dú)特的心率變化波形現(xiàn)象,為此可根據(jù)心率哈欠匹配算法(HYM)可檢測(cè)駕駛員打哈欠行為。
根據(jù)哈欠對(duì)心率的獨(dú)特影響,首先獲取駕駛員心率數(shù)據(jù)后,采用最小二乘法對(duì)離散數(shù)據(jù)進(jìn)行擬合,計(jì)算心率轉(zhuǎn)換概率,并使用歐式距離匹配算法計(jì)算心率段間相似性。其心率哈欠匹配算法流程如圖7所示。
圖7 心率哈欠匹配算法流程
本系統(tǒng)的疲勞監(jiān)測(cè)算法采用支持向量機(jī)SVM對(duì)三個(gè)特征的數(shù)據(jù)集訓(xùn)練進(jìn)行分類,其中(S,L)表示訓(xùn)練樣本,S=<,,>分別表示眼部特征、哈欠特征和心率變異性特征,表示表示L疲勞程度,其中為清醒,為輕度疲勞,為重度疲勞。線性支持向量的超平面計(jì)算公式為:
其中表示L表示樣本點(diǎn)的S的分類,()表示支持向量機(jī),是a是拉格朗日乘子。
本系統(tǒng)通過(guò)智能手表采集駕駛員心率信號(hào)后使用藍(lán)牙通信將數(shù)據(jù)傳輸給樹(shù)莓派控制系統(tǒng)進(jìn)行基于心率計(jì)算駕駛員打哈欠的概率,并對(duì)心率變異性進(jìn)行分析,獲取心率變異性特征和哈欠特征,與此同時(shí)使用內(nèi)嵌了紅外設(shè)傳感器的攝像頭采集駕駛員駕駛視頻,通過(guò)Open CV進(jìn)行圖像處理后利用Dlib庫(kù)進(jìn)行駕駛員眼部疲勞的檢測(cè),最后采用SVM分類算法對(duì)三個(gè)特征進(jìn)行疲勞等級(jí)的判定,由語(yǔ)音模塊對(duì)駕駛員采取相應(yīng)的語(yǔ)音提示,實(shí)現(xiàn)駕駛員疲勞駕駛的監(jiān)測(cè)。目前存在的不足是智能手表的功耗問(wèn)題,因?yàn)樵隈{駛過(guò)程中智能手表的心率傳感器需要全程監(jiān)測(cè)心率信息從而導(dǎo)致智能手表耗電相對(duì)較高,這是本系統(tǒng)有待解決的問(wèn)題。