毕业设计-机器视觉的疲劳驾驶检测系统-python-opencv
目錄
前言
課題背景和意義
實現(xiàn)技術(shù)思路
實現(xiàn)效果圖樣例
前言
? ? 📅大四是整個大學(xué)期間最忙碌的時光,一邊要忙著備考或?qū)嵙?xí)為畢業(yè)后面臨的就業(yè)升學(xué)做準(zhǔn)備,一邊要為畢業(yè)設(shè)計耗費大量精力。近幾年各個學(xué)校要求的畢設(shè)項目越來越難,有不少課題是研究生級別難度的,對本科同學(xué)來說是充滿挑戰(zhàn)。為幫助大家順利通過和節(jié)省時間與精力投入到更重要的就業(yè)和考試中去,學(xué)長分享優(yōu)質(zhì)的選題經(jīng)驗和畢設(shè)項目與技術(shù)思路。
🚀對畢設(shè)有任何疑問都可以問學(xué)長哦!
大家好,這里是海浪學(xué)長畢設(shè)專題,本次分享的課題是
🎯機器視覺的疲勞駕駛檢測系統(tǒng)
課題背景和意義
疲勞檢測系統(tǒng)是指利用駕駛員的面部特征、眼部信號、頭部運動性等推斷駕駛員的疲勞狀態(tài),并進(jìn)行報警提示和采取相應(yīng)措施的裝置。一些汽車裝備的疲勞監(jiān)測系統(tǒng)被稱為“疲勞識別系統(tǒng)”(它從駕駛開始時便對駕駛員的操作行為進(jìn)行記錄)并能夠通過識別長途旅行中駕駛操作的變化對駕駛員的疲勞程度進(jìn)行判斷。駕駛員轉(zhuǎn)向操作頻率變低,并伴隨輕微但急驟的轉(zhuǎn)向動作以保持行駛方向是駕駛精力不集中的典型表現(xiàn)。根據(jù)以上動作的出現(xiàn)頻率,并綜合諸如旅途長度、轉(zhuǎn)向燈使用情況、駕駛時間等其他參數(shù),系統(tǒng)對駕駛員的疲勞程度進(jìn)行計算和鑒別,如果計算結(jié)果超過某一定值,儀表盤上就會閃爍一個咖啡杯的圖案,提示駕駛員需要休息。駕駛員疲勞識別系統(tǒng)將駕駛員注意力集中程度作為衡量駕駛員駕駛狀態(tài)的重要考慮因素,以致力于道路安全的提高。根據(jù)國家公路交通安全管理局的數(shù)據(jù),每年均涉及疲勞駕駛事故中導(dǎo)致超過1,550人死亡和71,000人受傷,但是實際數(shù)字可能要高得多[1]。因此,為了避免這類事故的發(fā)生,我們制作了這個系統(tǒng)。它通過檢查人的眼睛是否閉合或正在打哈欠來預(yù)測眼睛和嘴巴的標(biāo)志,從而確定一個人是否正處于疲勞駕駛。
實現(xiàn)技術(shù)思路
疲勞認(rèn)定標(biāo)準(zhǔn)
- 眨眼:連續(xù)3幀內(nèi),眼睛長寬比為 0.2
- 打哈欠:連續(xù)3幀內(nèi),嘴部長寬比為 0.5
- 瞌睡點頭:連續(xù)3幀內(nèi),pitch(x)旋轉(zhuǎn)角為 0.3
因為人在疲倦時大概會產(chǎn)生兩種狀態(tài): 眨眼:正常人的眼睛每分鐘大約要眨動10-15次,
每次眨眼大概0.2-0.4秒,如果疲倦時眨眼次數(shù)會增多,速度也會變慢。打哈欠:此時嘴
會長大而且會保持一定的狀態(tài)。因此檢測人是否疲勞可以從眼睛的開合度,眨眼頻率,以
及嘴巴張合程度來判斷一個人是否疲勞。
檢測工具
dlib :一個很經(jīng)典的用于圖像處理的開源庫,shape_predictor_68_face_landmarks.dat是一個用于人臉68個關(guān)鍵點檢測的dat模型庫,使用這個模型庫可以很方便地進(jìn)行人臉檢測,并進(jìn)行簡單的應(yīng)用。
具體實現(xiàn)步驟
- 使用dlib.get_frontal_face_detector() 獲得臉部位置檢測器
- 使用dlib.shape_predictor獲得臉部特征位置檢測器
- 分別獲取左右眼面部標(biāo)志的索引
- 打開cv2 本地攝像頭
- 從視頻流進(jìn)行循環(huán),讀取圖片,并對圖片做維度擴(kuò)大,并進(jìn)灰度化
- 使用detector(gray, 0) 進(jìn)行臉部位置檢測
- 循環(huán)臉部位置信息,使用predictor(gray, rect)獲得臉部特征位置的信息
- 將臉部特征信息轉(zhuǎn)換為數(shù)組array的格式
- 提取左眼和右眼坐標(biāo)
- 構(gòu)造函數(shù)計算左右眼的EAR值,使用平均值作為最終的EAR
- 使用cv2.convexHull獲得凸包位置,使用drawContours畫出輪廓位置進(jìn)行畫圖操作
- 進(jìn)行畫圖操作,用矩形框標(biāo)注人臉
- 分別計算左眼和右眼的評分求平均作為最終的評分,如果小于閾值,則加1,如果連續(xù)3次都小于閾值,則表示進(jìn)行了一次眨眼活動
- 進(jìn)行畫圖操作,68個特征點標(biāo)識
- 進(jìn)行畫圖操作,同時使用cv2.putText將眨眼次數(shù)進(jìn)行顯示
- 統(tǒng)計總眨眼次數(shù)大于50次屏幕顯示睡著。
實現(xiàn)效果圖樣例
?
我是海浪學(xué)長,創(chuàng)作不易,歡迎點贊、關(guān)注、收藏、留言。
畢設(shè)幫助,疑難解答,歡迎打擾!
最后
總結(jié)
以上是生活随笔為你收集整理的毕业设计-机器视觉的疲劳驾驶检测系统-python-opencv的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 魅族开机进入Android界面,系统UI
- 下一篇: 窄带物联网(NB-IoT)科技的特征是什