該系統(tǒng)可以檢測(cè)一個(gè)人在開(kāi)車(chē)時(shí)是否困倦,如果有的話,可以通過(guò)使用語(yǔ)音消息實(shí)時(shí)提醒他。該系統(tǒng)使用網(wǎng)絡(luò)攝像頭和電話攝像頭進(jìn)行實(shí)時(shí)數(shù)據(jù)傳輸。

根據(jù)國(guó)家公路交通安全管理局的數(shù)據(jù),每年均涉及疲勞駕駛事故中導(dǎo)致超過(guò)1,550人死亡和71,000人受傷,但是實(shí)際數(shù)字可能要高得多[1]。因此,為了避免這類(lèi)事故的發(fā)生,我們制作了這個(gè)系統(tǒng)。它通過(guò)檢查人的眼睛是否閉合或正在打哈欠來(lái)預(yù)測(cè)眼睛和嘴巴的標(biāo)志,從而確定一個(gè)人是否正處于疲勞駕駛。
該系統(tǒng)的工作可以分為兩個(gè)部分:
一旦預(yù)測(cè)出結(jié)果,我們僅使用眼睛地標(biāo)和嘴部地標(biāo)來(lái)確定人的眼睛長(zhǎng)寬比(EAR)和嘴部長(zhǎng)寬比(MAR),以檢查人是否困倦。EAR和MAR的計(jì)算如下所示:
from scipy.spatial import distance as dist def eye_aspect_ratio(eye): # Vertical eye landmarks A = dist.euclidean(eye[1], eye[5]) B = dist.euclidean(eye[2], eye[4]) # Horizontal eye landmarks C = dist.euclidean(eye[0], eye[3]) # The EAR Equation EAR = (A + B) / (2.0 * C) return EARdef mouth_aspect_ratio(mouth): A = dist.euclidean(mouth[13], mouth[19]) B = dist.euclidean(mouth[14], mouth[18]) C = dist.euclidean(mouth[15], mouth[17]) MAR = (A + B + C) / 3.0 return MAR現(xiàn)在,既然有了代碼,讓我們了解一下代碼是如何工作的:
dlib庫(kù)內(nèi)部的預(yù)訓(xùn)練面部界標(biāo)檢測(cè)器用于估計(jì)映射到面部面部結(jié)構(gòu)的68-(x,y)坐標(biāo)的位置[2]。這些68-(x,y)坐標(biāo)表示臉部的重要區(qū)域,例如嘴巴,左眉,右眉,左眼,右眼,鼻子和下巴。其中,我們只需要左眼,右眼和嘴巴的(x,y)坐標(biāo):
# Grab the indexes of the facial landamarks for the left and right eye respectively (lstart, lend) = face_utils.FACIAL_LANDMARKS_IDXS["left_eye"](rstart, rend) = face_utils.FACIAL_LANDMARKS_IDXS["right_eye"](mstart, mend) = face_utils.FACIAL_LANDMARKS_IDXS["mouth"]現(xiàn)在,每只眼睛都由一組6-(x,y)坐標(biāo)表示,該坐標(biāo)從眼睛的左上角開(kāi)始(就像您在看那個(gè)人一樣),然后圍繞該區(qū)域的其余部分順時(shí)針旋轉(zhuǎn)[3]。:

左上:當(dāng)眼睛睜開(kāi)時(shí),眼睛界標(biāo)的可視化。右上:閉上眼睛時(shí)的眼睛地標(biāo)。底部:繪制隨時(shí)間變化的眼睛縱橫比。眼睛縱橫比的下降表示眨眼[3](Soukupová和?ech的圖1)。[4]
基于論文Real-Time Eye Blink Detection using Facial Landmarks[5],我們可以得出一個(gè)反映這種關(guān)系的方程,稱(chēng)為眼睛縱橫比(EAR):

眼睛縱橫比(EAR)公式。
使用這個(gè)概念,我們計(jì)算了嘴長(zhǎng)寬比:

用68-(x,y)坐標(biāo)表示人臉
正如我們看到的,嘴由一組20-(x,y)坐標(biāo)表示。因此,我們已使用坐標(biāo)62、64、66和68來(lái)計(jì)算兩者之間的距離,方法與EAR計(jì)算相同。
結(jié)果:

在人員困倦或打哈欠時(shí)發(fā)出警報(bào)
另外,為了保留證據(jù),我們保存了讓人昏昏欲睡的框架。

框架存儲(chǔ)在單獨(dú)的文件夾中作為證明:

該圖顯示了EAR和MAR隨時(shí)間的變化
源代碼的GitHub鏈接可在此處獲得:https://github.com/fear-the-lord/Drowsiness-Detection
本文鏈接:http://m.www897cc.com/showinfo-26-112797-0.html基于 OpenCV 的實(shí)時(shí)睡意檢測(cè)系統(tǒng)
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com