加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入

基于Dlib的疲勞檢測(cè)系統(tǒng)-EAR、MAR和HPE算法判斷人臉特征

08/27 13:18
3830
服務(wù)支持:
技術(shù)交流群

完成交易后在“購(gòu)買成功”頁(yè)面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長(zhǎng)和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購(gòu)買后不支持退換且無(wú)法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
放大
實(shí)物圖
相關(guān)方案
  • 方案介紹
    • 1、設(shè)計(jì)背景及要求
    • 2、系統(tǒng)分析
    • 3、系統(tǒng)設(shè)計(jì)
    • 4、系統(tǒng)實(shí)現(xiàn)與調(diào)試
    • 5、系統(tǒng)實(shí)現(xiàn)與調(diào)試
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

需要源碼的朋友可以私信我

基于Dlib的疲勞檢測(cè)系統(tǒng)

1、設(shè)計(jì)背景及要求

隨著經(jīng)濟(jì)的飛速發(fā)展,貨運(yùn)行業(yè)的發(fā)展趨勢(shì)愈加迅猛,貨車駕駛員24h都留在車上的現(xiàn)象已成為行業(yè)常態(tài)。據(jù)國(guó)家統(tǒng)計(jì)局?jǐn)?shù)據(jù)顯示,近幾年的特大事故中,有超40%的事故是由于駕駛員疲勞駕駛造成的。為了減少疲勞駕駛導(dǎo)致的交通安全問(wèn)題,本系統(tǒng)旨在設(shè)計(jì)一款可以自動(dòng)實(shí)時(shí)檢測(cè)駕駛員是否疲勞駕駛并發(fā)出警報(bào)的系統(tǒng)。

設(shè)計(jì)要求

(1) 設(shè)計(jì)并實(shí)現(xiàn)一個(gè)軟件界面,能夠?qū)崟r(shí)獲取人臉視頻;
(2) 使用OpenCV或Dlib庫(kù)實(shí)現(xiàn)人臉檢測(cè)和特征點(diǎn)標(biāo)定;
(3) 定義并提取與疲勞駕駛相關(guān)的人臉特征;
(4) 合理設(shè)計(jì)算法,實(shí)現(xiàn)駕駛員疲勞狀態(tài)檢測(cè),檢測(cè)到疲勞時(shí)發(fā)出預(yù)警;
(5) 測(cè)試系統(tǒng)性能,并分析

2、系統(tǒng)分析

通過(guò)攝像頭實(shí)時(shí)采集駕駛員的行為表情狀態(tài),判斷駕駛員的頭部姿態(tài),眼睛閉合頻率和單位時(shí)間打哈欠的次數(shù)來(lái)判斷駕駛員的疲勞程度。

3、系統(tǒng)設(shè)計(jì)

3.1功能結(jié)構(gòu)圖

功能結(jié)構(gòu)圖設(shè)計(jì):
在這里插入圖片描述
本系統(tǒng)通過(guò)收集人臉朝向、人臉位置、瞳孔朝向、眼睛開(kāi)合度、眨眼頻率等數(shù)據(jù),提取駕駛員面部68個(gè)特征點(diǎn)及其坐標(biāo),準(zhǔn)確定位駕駛員人臉的位置,并利用眼部的12個(gè)特征點(diǎn)計(jì)算眼部長(zhǎng)寬比EAR,根據(jù)嘴部的6個(gè)特征點(diǎn)計(jì)算嘴巴的MAR,利用其他坐標(biāo)結(jié)合HPE算法計(jì)算頭部轉(zhuǎn)動(dòng)的歐拉角。將這些數(shù)據(jù)分別與對(duì)應(yīng)的閾值比較,從而統(tǒng)計(jì)出駕駛員眨眼、打哈欠和點(diǎn)頭的次數(shù)。通過(guò)對(duì)駕駛員眨眼、打哈欠、點(diǎn)頭次數(shù)的統(tǒng)計(jì),可實(shí)時(shí)判斷駕駛員的注意力集中程度,分析駕駛員是否疲勞駕駛,并及時(shí)作出安全提示。

3.2基于EAR、MAR和HPE算法的疲勞檢測(cè)

3.2.1基于EAR算法的眨眼檢測(cè)

當(dāng)人眼睜開(kāi)時(shí),EAR在某個(gè)值域范圍內(nèi)波動(dòng),當(dāng)人眼閉合時(shí),EAR迅速下降,理論上接近于0。當(dāng)EAR低于某個(gè)閾值時(shí),眼睛處于閉合狀態(tài);當(dāng)EAR由某個(gè)值迅速下降至小于該閾值,再迅速上升至大于該閾值,則判斷為一次眨眼。為檢測(cè)眨眼次數(shù),需要設(shè)置同一次眨眼的連續(xù)幀數(shù)。眨眼速度較快,一般1~3幀即可完成眨眼動(dòng)作。
在這里插入圖片描述
在這里插入圖片描述
 Dlib庫(kù)68個(gè)特征點(diǎn)模型

3.2.2基于MAR算法的哈欠檢測(cè)

基于MAR算法的哈欠檢測(cè),利用Dlib提取嘴部的6個(gè)特征點(diǎn),通過(guò)這6個(gè)特征點(diǎn)的坐標(biāo)(51、59、53、57的縱坐標(biāo)和49、55的橫坐標(biāo))來(lái)計(jì)算打哈欠時(shí)嘴巴的張開(kāi)程度。當(dāng)一個(gè)人說(shuō)話時(shí),點(diǎn)51、59、53、57的縱坐標(biāo)差值增大,從而使MAR值迅速增大,反之,當(dāng)一個(gè)人閉上嘴巴時(shí),MAR值迅速減小。
在這里插入圖片描述

3.3.3基于HPE算法的點(diǎn)頭檢測(cè)

HPE(Head Pose Estimation, HPE)算法步驟 :2D人臉關(guān)鍵點(diǎn)檢測(cè),3D人臉模型匹配,求解 3D點(diǎn)和對(duì)應(yīng)2D點(diǎn)的轉(zhuǎn)換關(guān)系,根據(jù)旋轉(zhuǎn)矩陣求解歐拉角。檢測(cè)過(guò)程中需要使用世界坐標(biāo)系(UVW)、相機(jī)坐標(biāo)系(XYZ)、圖像中心坐標(biāo)系(uv)和像素坐標(biāo)系(xy)。

世界坐標(biāo)系轉(zhuǎn)換到相機(jī)坐標(biāo)系:
在這里插入圖片描述
相機(jī)坐標(biāo)系轉(zhuǎn)換到像素坐標(biāo)系:
在這里插入圖片描述
像素坐標(biāo)系與世界坐標(biāo)系的關(guān)系為:
在這里插入圖片描述
圖像中心坐標(biāo)系轉(zhuǎn)換到像素坐標(biāo)系:
在這里插入圖片描述

4、系統(tǒng)實(shí)現(xiàn)與調(diào)試

4.1初步實(shí)現(xiàn)

系統(tǒng)的關(guān)鍵就是對(duì)駕駛員的面部進(jìn)行識(shí)別,然后計(jì)算并統(tǒng)計(jì)出疲勞值,通過(guò)顯示屏把數(shù)據(jù)顯示在屏幕上給駕駛員看,如果駕駛員被判定為疲勞駕駛或者危險(xiǎn)駕駛系統(tǒng)就會(huì)立即進(jìn)行語(yǔ)音提醒。想要成功獲得人臉面部的68個(gè)特征點(diǎn),就必須先檢測(cè)到人臉的存在。調(diào)用Dlib中的正向人臉檢測(cè)器API,如果沒(méi)有檢測(cè)到人臉就會(huì)在屏幕上顯示“No Face”,控制臺(tái)輸出“沒(méi)有檢測(cè)到人臉”,這里用手遮住臉、臉轉(zhuǎn)向左右兩邊的幅度太大、人臉不在攝像頭的攝像范圍里,人臉距離攝像頭太遠(yuǎn)都算沒(méi)有檢測(cè)到人臉。
在這里插入圖片描述
從視頻流進(jìn)行循環(huán),讀取圖片,并對(duì)圖片做維度擴(kuò)大,并進(jìn)灰度化,使用dlib獲得臉部位置以及臉部特征位置,將臉部特征信息轉(zhuǎn)換為數(shù)組array的格式,從而提取左眼和右眼坐標(biāo)。構(gòu)造函數(shù)計(jì)算左右眼的EAR值,使用平均值作為最終的EAR。類似的,獲得嘴部MAR值。分別計(jì)算左眼、右眼和嘴部的評(píng)分求平均作為最終的評(píng)分,如果小于閾值,則加1,如果連續(xù)3次都小于閾值,則表示進(jìn)行了一次眨眼活動(dòng);如果嘴部評(píng)分大于閾值,則表示一次打哈欠。
在這里插入圖片描述
在這里插入圖片描述

4.2具體實(shí)現(xiàn)過(guò)程

在這里插入圖片描述
基于上述程序基礎(chǔ),添加可視化界面,增加系統(tǒng)交互性。利用wx進(jìn)行界面搭建,設(shè)置視頻源,可選擇攝像頭或視頻文件導(dǎo)入,提供實(shí)時(shí)檢測(cè)和文件檢測(cè)功能;添加疲勞檢測(cè)參數(shù)設(shè)置,可自行勾選檢測(cè)參數(shù)以及疲勞時(shí)間調(diào)整,檢測(cè)條件更加靈活;狀態(tài)輸出欄可查看歷史狀態(tài),追溯用戶歷史數(shù)據(jù),為事故調(diào)查提供條件。如圖7為 UI界面。

后添加點(diǎn)頭檢測(cè)增加系統(tǒng)精度,本系統(tǒng)根據(jù)計(jì)算歐拉角判斷駕駛員的點(diǎn)頭次數(shù),這里涉及歐拉角的三個(gè)角,分別是 Pitch(繞X軸旋轉(zhuǎn)),Yaw(繞Y軸旋轉(zhuǎn)),Roll(繞Z軸旋轉(zhuǎn)),一個(gè)物體對(duì)于相機(jī)的姿態(tài)可以用旋轉(zhuǎn)矩陣(R)和平移矩陣(T)來(lái)表示。人臉2D與3D之間的仿射變換矩陣包含了頭部旋轉(zhuǎn)和平移信息,可以直接調(diào)用OpenCV的solvePnp()函數(shù)求解得出旋轉(zhuǎn)和平移向量,最終利用得到的旋轉(zhuǎn)矩陣來(lái)求解歐拉角。當(dāng)在某一個(gè)時(shí)間段10s內(nèi),駕駛員的|Pitch|≥20或者|Roll|≥20的時(shí)間占比超過(guò)0.3時(shí),則判定駕駛員處于疲勞狀態(tài)。
在這里插入圖片描述

5、系統(tǒng)實(shí)現(xiàn)與調(diào)試

本系統(tǒng)采用人臉追蹤和圖像處理相結(jié)合的方式采集面部圖像處理疲勞信息,利用面部疲勞特征判斷疲勞狀態(tài),以采集到的人臉圖像信息作為輸入,通過(guò)檢測(cè)算法輸出判斷結(jié)果,判斷為疲勞狀態(tài)后,系統(tǒng)發(fā)出警告。
在這里插入圖片描述
本系統(tǒng)通過(guò)Dlib庫(kù)中的人臉識(shí)別和dat模型中的68個(gè)關(guān)鍵點(diǎn),結(jié)合EAR、MAR和HPE算法,判斷駕駛員是否眨眼、打哈欠、點(diǎn)頭,不僅實(shí)現(xiàn)了檢測(cè)指標(biāo)多樣化,還實(shí)現(xiàn)了實(shí)時(shí)檢測(cè)駕駛員疲勞狀態(tài)的目的,可用于貨車、汽車、出租車等機(jī)動(dòng)車輛,為駕駛員的生命安全增加一份保障。本系統(tǒng)的不足之處在于當(dāng)駕駛員面部有部分遮擋時(shí)就無(wú)法準(zhǔn)確判斷駕駛員是否處于疲勞駕駛狀態(tài),只會(huì)發(fā)出提示,提醒駕駛員“您已脫離攝像范圍”。因此,下一步的工作重點(diǎn)是如何解決在有遮擋情況下也能正確識(shí)別駕駛員精神狀態(tài)的問(wèn)題。

博客主頁(yè):https://blog.csdn.net/weixin_51141489,需要源碼或相關(guān)資料實(shí)物的友友請(qǐng)關(guān)注、點(diǎn)贊,私信吧!

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
SN74LVC14APWT 1 Texas Instruments 6-ch, 2-V to 3.6-V inverters with Schmitt-Trigger inputs 14-TSSOP -40 to 125

ECAD模型

下載ECAD模型
$1.04 查看
DP83822IRHBT 1 Texas Instruments Low-power, robust 10/100-Mbps Ethernet PHY transceiver with 16-kV ESD 32-VQFN -40 to 85

ECAD模型

下載ECAD模型
$4.03 查看
SN65HVD232D 1 Texas Instruments 3.3 V CAN Transceiver 8-SOIC -40 to 85

ECAD模型

下載ECAD模型
$2.72 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜