閆凱航 石巖松 鄧炬鑫 李汶翰 龐志穎 翁明珠 潘志廣 孫修澤
關(guān)鍵詞:疲勞檢測;YOLOv4卷積神經(jīng)網(wǎng)絡(luò)模型;面部識(shí)別;ECG;特征融合
0 引言
隨著現(xiàn)代化城市的發(fā)展,交通出行已經(jīng)成為人們?nèi)粘I钪胁豢扇鄙俚囊徊糠?。然而,在長時(shí)間開車或夜間開車過程中,駕駛員容易產(chǎn)生疲勞,導(dǎo)致大腦反應(yīng)遲鈍,降低對(duì)道路發(fā)生意外情況的應(yīng)變速度,從而導(dǎo)致交通事故的發(fā)生。據(jù)統(tǒng)計(jì),我國每年因交通事故造成的人員傷亡人數(shù)約有23.19萬人,平均每八分鐘就有一人在交通事故中傷亡。更為嚴(yán)重的是,由疲勞駕駛引發(fā)的重特大交通事故所占比例達(dá)到了40%以上,疲勞駕駛已成為造成交通事故的第二大原因。這樣的數(shù)據(jù)在國外尤其是美國則更為突出。
目前國內(nèi)外對(duì)于疲勞駕駛檢測技術(shù)主要有以下幾種方式:1) 基于腦電信號(hào)圖(EEG)、肌電信號(hào)圖(EMG)、心率圖(HR)、眼電圖(EOG)、心電圖(ECG) 等生理信號(hào)信息來檢測駕駛員的疲勞駕駛狀態(tài)。王致堯[1]利用了神念科技研發(fā)的BMD101心電采集開發(fā)板,將其嵌入在汽車的方向盤上,位于方向盤兩側(cè)包裹著的導(dǎo)電布作為電極,通過雙手接觸電極片,產(chǎn)生電位差,進(jìn)而采集人體的ECG信號(hào)。張鴻[2]使用了光電容積脈搏波描記法檢測生理信號(hào),該方法通過檢測動(dòng)脈血液容積,利用動(dòng)脈血液對(duì)光的吸收量隨動(dòng)脈搏動(dòng)而變化,進(jìn)而反映出人體吸收光量的大小,再由光電接收器將光信號(hào)轉(zhuǎn)換成電信號(hào),最后經(jīng)放大器放大后得到光電容積脈搏波,該方式具有無創(chuàng)傷、檢測簡單等特點(diǎn)。2) 通過車載傳感器檢測車輛行駛狀態(tài),從而判斷駕駛員是否處于疲勞狀態(tài)。孫香梅[3]通過Fuzzy綜合判斷方法,以模糊集合論為基礎(chǔ),考慮車輛行駛狀態(tài)軌跡的狀況,對(duì)車輛運(yùn)行軌跡的狀況做出綜合評(píng)估,在對(duì)車輛側(cè)向加速度進(jìn)行分析并細(xì)化出車輛運(yùn)行軌跡的疲勞參數(shù),得到車輛側(cè)向加速度疲勞駕駛控制模型,確定疲勞評(píng)價(jià)的指標(biāo)集和評(píng)判集,將車輛行駛的結(jié)果通過疲勞駕駛控制模型模式得到駕駛員的狀態(tài)。然而,這種模式對(duì)路況的要求較高,且檢測精確度較差,容易引起誤判。3) 基于機(jī)器視覺和圖像處理技術(shù),通過計(jì)算機(jī)視覺采集駕駛員駕駛時(shí)的視頻圖像信息,提取圖像中面部的疲勞特征,利用采集到的圖像信息進(jìn)行疲勞檢測。這類方法操作簡單,所做裝置實(shí)用性也很好,有很大的應(yīng)用市場。
基于以上背景,本課題旨在研究一種基于卷積神經(jīng)網(wǎng)絡(luò)與ECG信息的多模態(tài)疲勞駕駛檢測的疲勞駕駛異常檢測技術(shù)的系統(tǒng)。僅當(dāng)兩個(gè)檢測結(jié)果都超出預(yù)設(shè)的閾值時(shí),系統(tǒng)才會(huì)判定駕駛員為疲勞駕駛,進(jìn)一步提高了疲勞駕駛識(shí)別的準(zhǔn)確度,具有廣闊的應(yīng)用前景。
1 系統(tǒng)構(gòu)架與系統(tǒng)工作原理
1.1 系統(tǒng)框架
基于卷積神經(jīng)網(wǎng)絡(luò)與ECG信息[4]的多模態(tài)疲勞駕駛檢測系統(tǒng)可分為三個(gè)子系統(tǒng),即駕駛員面部信息行為監(jiān)控子系統(tǒng)、生理信息監(jiān)控子系統(tǒng)和軟件管理子系統(tǒng)。生理信息監(jiān)控系統(tǒng)為一個(gè)終端,而駕駛員面部信息行為監(jiān)控系統(tǒng)和軟件管理系統(tǒng)則為另一個(gè)終端。用戶可通過微信小程序或App通過藍(lán)牙對(duì)設(shè)備進(jìn)行綁定和解除綁定。系統(tǒng)結(jié)構(gòu)圖如圖1所示:
1.2 系統(tǒng)工作原理
首先需要一個(gè)訓(xùn)練好的模型(具體操作步驟見本文2.1小節(jié)):在Mx-yolo 中使用疲勞駕駛時(shí)的生理特征數(shù)據(jù)集進(jìn)行模型訓(xùn)練,獲得一個(gè)tflite 初始模型文件,然后通過tensflower 盡可能減少模型轉(zhuǎn)換時(shí)的精度損失。將tflite模型轉(zhuǎn)換成h5模型,再轉(zhuǎn)換為k210可加載運(yùn)行的kmodel 模型文件,從而訓(xùn)練出駕駛員疲勞駕駛的卷積神經(jīng)網(wǎng)絡(luò)YOLOv4模型。
基于卷積神經(jīng)網(wǎng)絡(luò)與ECG信息的多模態(tài)疲勞駕駛檢測系統(tǒng)[5]深度利用計(jì)算機(jī)視覺、YOLOv4卷積神經(jīng)網(wǎng)絡(luò)以及傳感器等技術(shù)。通過攝像頭和ECG傳感器進(jìn)行數(shù)據(jù)采集,將采集到的圖像數(shù)據(jù)實(shí)時(shí)傳送到K210芯片主控板上。通過特征臉(Eigenfaces) 算法實(shí)時(shí)檢測和識(shí)別出所拍攝到的人臉,再將預(yù)設(shè)行為提取的特征與模型進(jìn)行對(duì)比得到預(yù)警結(jié)果。利用CNN-LEST對(duì)結(jié)果進(jìn)行等級(jí)分類,若擬合度達(dá)到預(yù)設(shè)值則判斷駕駛員駕駛狀態(tài)為疲勞。為了達(dá)到較高的置信度和識(shí)別精確度,結(jié)合同步的ECG生理信號(hào)對(duì)駕駛員疲勞狀態(tài)進(jìn)行進(jìn)一步的分析,對(duì)輸出值再次進(jìn)行等級(jí)分類并再次進(jìn)行與門判斷。只有當(dāng)所拍攝到的圖片與ECG信號(hào)都被判斷為疲勞駕駛時(shí),系統(tǒng)才會(huì)發(fā)出警報(bào),從而大大提高了檢測的精確率。系統(tǒng)工作原理圖如圖2所示。
2 功能實(shí)現(xiàn)
該部分主要分為面部識(shí)別的算法實(shí)現(xiàn)、智能穿戴設(shè)備ECG生理信息采集、模塊通信與系統(tǒng)軟件管理三部分。
2.1 面部識(shí)別的算法實(shí)現(xiàn)
1) 使用的芯片及算法。使用芯片為K210,算法為YOLOv4卷積神經(jīng)網(wǎng)絡(luò)。
2) 網(wǎng)絡(luò)結(jié)構(gòu)。采用Darknet-19網(wǎng)絡(luò)結(jié)構(gòu),包括19 個(gè)卷積層和5個(gè)max pooling層。主要使用3×3卷積和1×1卷積,其中1×1卷積用于壓縮特征圖通道數(shù),以降低模型的計(jì)算量和參數(shù)。每個(gè)卷積層后使用BN層加快模型收斂同時(shí)防止過擬合。
3) 數(shù)據(jù)集來源。本文使用的數(shù)據(jù)集包含訓(xùn)練集1 500張、驗(yàn)證集300張、測試集100張。
4) 模型訓(xùn)練流程。由于數(shù)據(jù)集較大,訓(xùn)練時(shí)可將數(shù)據(jù)分為多個(gè)批次。首先將數(shù)據(jù)集經(jīng)過處理后的標(biāo)簽文件轉(zhuǎn)換為Mx-yolo訓(xùn)練所需的標(biāo)記格式,然后將收集到的圖片數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,轉(zhuǎn)為224×224像素的格式。對(duì)每張圖片進(jìn)行拉框、標(biāo)注數(shù)據(jù),在電腦上利用Mx-yolo進(jìn)行本地訓(xùn)練得到模型,將所得的kmodel模型文件存入TF卡中并將TF卡轉(zhuǎn)換為FAT32格式。再將處理好的TF 卡插入最小系統(tǒng)板的TF 卡槽中,由K210進(jìn)行硬件初始化后通過SPI通信協(xié)議即可讀取。模型訓(xùn)練過程圖如圖3~圖6所示。
2.2 智能穿戴設(shè)備ECG 生理信息采集
ECG信息采集方式為通過ECG手環(huán)采集。ECG手環(huán)上的傳感器由多個(gè)電極組成,這些電極貼在手腕上,傳感器會(huì)檢測和記錄心臟的電活動(dòng)。傳感器將心臟的電信號(hào)轉(zhuǎn)化為數(shù)字信號(hào),并通過無線網(wǎng)絡(luò)技術(shù)傳輸數(shù)據(jù)到K210設(shè)備上。利用K210強(qiáng)大的AI計(jì)算能力,在K210上使用相應(yīng)的算法和應(yīng)用程序?qū)κ汁h(huán)傳來的數(shù)字信號(hào)進(jìn)行數(shù)據(jù)處理和分析。使用離散卡爾曼濾波算法去除噪聲,屏蔽異常信號(hào)對(duì)控制系統(tǒng)的干擾。將提取出的信號(hào)繪制成心電圖波形顯示在屏幕上,根據(jù)靜息頻率區(qū)間判斷駕駛員是否處于疲勞駕駛狀態(tài),起到預(yù)警作用。
2.3 模塊通信與系統(tǒng)軟件管理
1) 模塊通信。K210通過串口通信將實(shí)時(shí)檢測數(shù)據(jù)發(fā)送給ESP8266[6]。ESP8266 接收一幀數(shù)據(jù)后,通過Wi-Fi 無線傳輸協(xié)議將數(shù)據(jù)遠(yuǎn)程傳輸至云端。用戶可以通過移動(dòng)端實(shí)時(shí)查看這些數(shù)據(jù)。
2) 軟件系統(tǒng)管理。該系統(tǒng)設(shè)有后臺(tái)應(yīng)用管理系統(tǒng)和用戶應(yīng)用界面,可以通過編寫程序?qū)崿F(xiàn)用戶與設(shè)備的正常交互,有利于提高用戶使用設(shè)備的便捷性。
3 總結(jié)
通過研究與實(shí)驗(yàn),成功設(shè)計(jì)并實(shí)現(xiàn)了基于機(jī)器學(xué)習(xí)與生理特征提取的疲勞駕駛檢測裝置。該裝置具備檢測駕駛員閉眼、低頭、打哈欠、注意力不集中等異常駕駛行為,并能實(shí)時(shí)對(duì)駕駛員進(jìn)行提醒。該系統(tǒng)的優(yōu)勢在于能對(duì)駕駛員的狀態(tài)進(jìn)行多特征融合判斷,增強(qiáng)裝置對(duì)駕駛員狀態(tài)識(shí)別的準(zhǔn)確度??梢詫?duì)裝置識(shí)別的敏感度進(jìn)行手動(dòng)調(diào)節(jié),有效減小駕駛員對(duì)裝置的排斥心理。通訊方面使用ESP8266主控板加Wi-Fi模塊,不僅能實(shí)時(shí)傳輸數(shù)據(jù),還可以實(shí)現(xiàn)物聯(lián)網(wǎng)功能?;跈C(jī)器學(xué)習(xí)與生理特征提取的疲勞駕駛檢測裝置在駕駛員安全駕駛方面擁有很高的應(yīng)用價(jià)值。未來通過對(duì)該裝置不斷的優(yōu)化,相信該裝置可以為駕駛員提供安全可靠的駕駛服務(wù)和更多的功能體驗(yàn)。