李明潤
[摘? ? 要]疲勞駕駛是指駕駛人在長時間連續(xù)行車后,產生生理機能和心理機能的失調,而在客觀上出現(xiàn)駕駛技能下降的現(xiàn)象,并且最關鍵的是,司機自己經常無法發(fā)現(xiàn)自己已經疲勞。文章提出的安全系統(tǒng)方案是,通過兩個部分來綜合判斷司機是否已經處于疲勞狀態(tài)。如果其中一個判斷司機已經疲勞,那么系統(tǒng)就會出發(fā)提醒,防止交通事故的發(fā)生,并且最后還通過模擬試驗來驗證了這個系統(tǒng)的有效性。
[關鍵詞]疲勞駕駛;人臉識別;姿態(tài)識別;加速度傳感器
[中圖分類號]U270 [文獻標志碼]A [文章編號]2095–6487(2021)09–0–02
[Abstract]We can often hear traffic accidents caused by fatigue driving in life and news. Among them, fatigue driving refers to the imbalance of physiological and psychological functions of the driver after a long time of continuous driving, and the phenomenon of decreased driving skills objectively occurs, and the most important thing is that the driver himself often cannot find himself tired. The solution proposed by the article is that we use two parts to comprehensively judge whether the driver is already in a state of fatigue. If one of them judges that the driver is tired, then our system will send out a reminder to prevent the occurrence of traffic accidents, and finally we also verify the effectiveness of our system through simulation experiments.
[Keywords]fatigue driving; face recognition; gesture recognition; acceleration sensor
1 創(chuàng)新點
(1)通過攝像頭進行人臉識別,并對閉眼時間判斷是否疲勞駕駛。其中人臉姿態(tài)識別:采用了最高效敏感的姿態(tài)識別的算法來對人的疲勞進行判斷識別。
(2)通過在方向盤上增加加速度傳感器來綜合判斷司機是否疲勞,從而防止人臉識別不準確而誤判司機疲勞駕駛。疲勞駕駛狀態(tài)的判斷機制:基于感知姿態(tài)數(shù)據(jù),基于統(tǒng)計學方法建立起分析疲勞駕駛狀態(tài)的判斷機制,防止誤判。
(3)直接通過警報來提醒駕駛員疲勞駕駛,比起開窗通風等緩解疲勞,警報更為有效安全。采用了雙向測試的檢測,從而確保檢測結果準確。并且基于疲勞駕駛判斷結果,考慮駕駛環(huán)境,預采用柔和的報警聲代替緊促的報警聲,防止駕駛員在狀態(tài)變化過程中發(fā)生意外。
2 硬件設計
首先用攝像頭識別人臉,對人臉特征點進行識別然后傳入信號處理器通過算法進行計算,當被判定為疲勞駕駛時蜂鳴器將發(fā)出警報,如圖1所示。
3 軟件設計
安全系統(tǒng)是由這些攝像頭對人體的姿態(tài)進行識別從而做出判斷的,同時還通過方向盤上的各種傳感器來進行是否瞌睡的判斷。當2個都同時判斷成功的時候,才認定司機處于疲憊狀態(tài),便會發(fā)出警報提醒。其安全系統(tǒng)軟件部分主要由以下兩部分組成。
3.1 姿態(tài)識別
3.1.1 原理介紹
如2圖所示,模型的基本框架基于強大的CNN,避免了姿態(tài)去建立主要模型,而是從大量的數(shù)據(jù)中學習模型和特征。
而在本文中使用的是OpenPose。OpenPose人體姿態(tài)識別項目是美國卡耐基梅隆大學(CMU)基于卷積神經網絡和監(jiān)督學習并以caffe為框架開發(fā)的開源庫??梢詫崿F(xiàn)人體動作、面部表情、手指運動等姿態(tài)估計。適用于單人和多人,具有極好的魯棒性。是世界上首個基于深度學習的實時多人二維姿態(tài)估計應用,基于它的實例如雨后春筍般涌現(xiàn)。人體姿態(tài)估計技術在體育健身、動作采集、3D試衣、輿情監(jiān)測等領域具有廣闊的應用前景,人們更加熟悉的應用就是抖音尬舞機。
3.1.2 人臉識別
大部分用戶不需要調用OpenPose的C++和Python的開發(fā)接口,這些用戶只需要運行OpenPose Demo即可。OpenPose Demo是為了便于處理圖片、視頻或者網絡攝像頭的視頻流,并展示和處理結果。
其中校準工具即三維的OpenPose處理和其他立體視覺處理任務需要便捷校準攝像機。OpenPose C++ API:如果想定制開發(fā)讀取特定內容的接口、增加個性定制的后處理功能或者展示存儲功能,點擊這個鏈接查看C++的API接口。examples/tutorial_api_cpp/和doc/library_introduction.md??梢栽黾幼约旱拇aexamples/user_code/使用Cmake快速編譯整個項目。
其中獨立的臉部和手指檢測:不對身體關鍵點進行識別,僅對臉部關鍵點識別。使用自己的臉部和手部識別工具:與身體關鍵點識別不同,可以使用自己的臉部和手部識別工具。比方說,在手指能看清但身體看不清的時候使用(OpenPose的識別器不能正常工作)。
4 實物組裝圖
對防疲勞駕駛裝置進行了組裝,整個裝置主要分為電子部分和機械部分,如圖3所示。電子部分主要包括傳感器(運動傳感器和壓力傳感器),基于Arduino UNO的控制中樞以及提示作用的蜂鳴器,機械部分則利用3D打印機制成了模擬方向盤。
本文設計的安全裝置充分考慮了司機的操作習慣。規(guī)范的習慣是雙手控制方向盤的轉向,那么在打方向的過程中必定對方向盤有一定的握持力度。將基于機械按鍵的壓力傳感器放置在方向盤的左右兩側,能夠很好地感知到司機在打方向的過程中壓力數(shù)據(jù)輸入。接下來,傳感系統(tǒng)的核心部分——基于運動傳感器MPU6050模塊裝置在方向盤的中央,能夠很好地感知在打方向過程中方向盤變化的角度數(shù)據(jù)。這兩部分數(shù)據(jù)能夠實時地被Arduino UNO采集,做預處理。
5 試驗部分
5.1 試驗設計
(1)試驗目的:疲勞狀態(tài)監(jiān)測與邏輯分析試驗。
(2)試驗方法:模擬駕駛。
(3)試驗設備:防疲勞方向盤。
(4)理論知識:首先要了解RPY模型(Roll-Pitch-Yaw),這個模型表示飛行器當前飛行姿態(tài)的一個通用模型,即建立圖4所示坐標系,并用Roll表示繞x軸的旋轉,Pitch表示繞y軸的旋轉,Yaw表示繞z軸的旋轉。這里借鑒了這個模型,將其用在反映駕駛方向盤的狀態(tài)上。
使用四個量來表示空間直角坐標系的位置。常見的是6個量,分別是單位矢量i,j,k,以及點坐標x,y,z。而四元素則表示為:
四元數(shù)姿態(tài)解算算法式(2)將傳感器原始數(shù)據(jù)加速度a,角速度ω和三軸RPY模型轉向姿態(tài)角隨時間的變化率聯(lián)系起來。于是,通過學習了基于四元素算法的庫文件,對MPU6050原始數(shù)據(jù)進行解算。
5.2 試驗結果
5.2.1 期望
通過對按鍵數(shù)據(jù)的采集,發(fā)現(xiàn)按鍵數(shù)據(jù)主要分布在0~1,如果長時間握持方向盤,按下按鍵,那么數(shù)據(jù)均值趨向于1;相反,如果處于疲勞狀態(tài),可能長時間沒有按壓,那么數(shù)據(jù)均值趨向于0。于是用統(tǒng)計學中的期望概念去描述按鍵的狀態(tài)。
5.2.2 標準差
通過對運動傳感器數(shù)據(jù)的采集,發(fā)現(xiàn)如果司機一直在打方向盤,那么姿態(tài)數(shù)據(jù)波動較大;相反,波動較小。于是數(shù)據(jù)波動大小是判斷司機疲勞駕駛的必要條件。用統(tǒng)計學中的標準差概念去描述運動數(shù)據(jù)的波動。
6 結論
經試驗,各項數(shù)據(jù)如預期可以正常運行,且達到了預期的目的。
參考文獻
[1] 陳瑜,李錦濤,徐軍莉,等.基于眼動特征的駕駛員疲勞預警系統(tǒng)設計[J].軟件導刊,2020,19(5):116-119.
[2] 史瑞鵬,錢屹,蔣丹妮.一種基于卷積神經網絡的疲勞駕駛檢測方法[J].計算機應用研究,37(11):6.
[3] 丁紅林.汽車駕駛員心理素質對行車安全的影響研究[J].科技與創(chuàng)新,2019(23):124-125.
[4] 曹昱聰.基于多特征融合的疲勞駕駛檢測系統(tǒng)研究[C].2019中國汽車工程學會年會論文集,2019.