自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

基于 OpenCV 的實時睡意檢測系統(tǒng)

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

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

研究目的

根據(jù)國家公路交通安全管理局的數(shù)據(jù),每年均涉及疲勞駕駛事故中導(dǎo)致超過1,550人死亡和71,000人受傷,但是實際數(shù)字可能要高得多[1]。因此,為了避免這類事故的發(fā)生,我們制作了這個系統(tǒng)。它通過檢查人的眼睛是否閉合或正在打哈欠來預(yù)測眼睛和嘴巴的標(biāo)志,從而確定一個人是否正處于疲勞駕駛。

主要內(nèi)容

該系統(tǒng)的工作可以分為兩個部分:

  • 檢測或定位面部。
  • 預(yù)測檢測到的面部中重要區(qū)域的地標(biāo)。

一旦預(yù)測出結(jié)果,我們僅使用眼睛地標(biāo)和嘴部地標(biāo)來確定人的眼睛長寬比(EAR)和嘴部長寬比(MAR),以檢查人是否困倦。EAR和MAR的計算如下所示:

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 EAR
def 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庫內(nèi)部的預(yù)訓(xùn)練面部界標(biāo)檢測器用于估計映射到面部面部結(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)從眼睛的左上角開始(就像您在看那個人一樣),然后圍繞該區(qū)域的其余部分順時針旋轉(zhuǎn)[3]。:

左上:當(dāng)眼睛睜開時,眼睛界標(biāo)的可視化。右上:閉上眼睛時的眼睛地標(biāo)。底部:繪制隨時間變化的眼睛縱橫比。眼睛縱橫比的下降表示眨眼[3](Soukupová和?ech的圖1)。[4]

基于論文Real-Time Eye Blink Detection using Facial Landmarks[5],我們可以得出一個反映這種關(guān)系的方程,稱為眼睛縱橫比(EAR):

眼睛縱橫比(EAR)公式。

使用這個概念,我們計算了嘴長寬比:

用68-(x,y)坐標(biāo)表示人臉

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

結(jié)果:

在人員困倦或打哈欠時發(fā)出警報

另外,為了保留證據(jù),我們保存了讓人昏昏欲睡的框架。

框架存儲在單獨的文件夾中作為證明:

該圖顯示了EAR和MAR隨時間的變化

源代碼的GitHub鏈接可在此處獲得:https://github.com/fear-the-lord/Drowsiness-Detection

參考文獻

  • [1]Drivers are falling asleep behind the wheels. Prevalence of drowsy driving crashes: https://www.nsc.org/road-safety/safety-topics/fatigued-driving
  • [2]Facial landmarks with dlib, OpenCV and Python: https://www.pyimagesearch.com/2017/04/03/facial-landmarks-dlib-opencv-python/
  • [3]Eye blink detection with OpenCV, Python, and dlib: https://www.pyimagesearch.com/2017/04/24/eye-blink-detection-opencv-python-dlib/
  • [4]Drowsiness Detection with OpenCV: https://www.pyimagesearch.com/2017/05/08/drowsiness-detection-opencv/
  • [5]Real-Time Eye Blink Detection using Facial Landmarks: http://vision.fe.uni-lj.si/cvww2016/proceedings/papers/05.pdf
責(zé)任編輯:趙寧寧 來源: 小白玩轉(zhuǎn)Python
相關(guān)推薦

2024-06-12 08:10:08

2017-09-22 11:45:10

深度學(xué)習(xí)OpenCVPython

2022-07-19 20:25:54

鴻蒙MaskRCNN算法

2013-07-27 19:52:50

2022-09-29 15:24:11

物聯(lián)網(wǎng)MQTT

2024-04-19 08:00:00

2010-12-24 10:53:35

OSSEC HIDS開源

2023-11-22 09:42:02

系統(tǒng)檢測

2022-08-08 19:42:24

物聯(lián)網(wǎng)開發(fā)鴻蒙

2015-01-27 10:18:38

入侵檢測系統(tǒng)AIDECentOS

2014-11-18 14:12:19

CentOS入侵檢測系統(tǒng)

2013-07-27 20:11:27

2019-08-22 10:48:56

谷歌開源開發(fā)者

2013-07-27 20:04:38

2021-07-07 10:00:03

深度學(xué)習(xí)系統(tǒng)機構(gòu)

2017-02-09 09:08:59

2013-04-24 10:23:02

Android基于膚色Android開發(fā)

2013-01-09 15:27:45

DOM XSS檢測QtWebKitXSS

2017-02-16 08:25:35

2022-10-26 15:41:38

深度學(xué)習(xí)Deepfake機器學(xué)習(xí)
點贊
收藏

51CTO技術(shù)棧公眾號