Dlib 和 OpenCV 這兩個庫已經在深度學習和人臉識別領域逐漸有了自己的一席之地,基於它們的各種開源項目的越來越多,今天 Gitee 上這個開源項目也是基於 Dlib 和 OpenCV 的,具體是做什麼的?一起看看下文吧。
項目名稱:fatigue_detecting
項目作者:cungudafa
開源許可協議:MIT
項目地址:https://gitee.com/cungudafa/fatigue_detecting
軟件架構
經查閱相關文獻,疲勞在人體面部表情中表現出大致三個類型:打哈欠(嘴巴張大且相對較長時間保持這一狀態)、眨眼(或眼睛微閉,此時眨眼次數增多,且眨眼速度變慢)、點頭(瞌睡點頭)。本實驗從人臉朝向、位置、瞳孔朝向、眼睛開合度、眨眼頻率、瞳孔收縮率等數據入手,並通過這些數據,實時地計算出駕駛員的注意力集中程度,分析駕駛員是否疲勞駕駛和及時作出安全提示。
環境:Win10、Python3.7、anaconda3、JupyterNotebook 技術:
- Opencv:圖像處理
- Dlib:一個很經典的用於圖像處理的開源庫,shape_predictor_68_face_landmarks.dat是一個用於人臉68個關鍵點檢測的dat模型庫,使用這個模型庫可以很方便地進行人臉檢測,並進行簡單的應用。
- Numpy:基於Python的n維數值計算擴展。
- Imutils :一系列使得opencv 便利的功能,包括圖像旋轉、縮放、平移,骨架化、邊緣檢測、顯示
- matplotlib 圖像(imutils.opencv2matplotlib(image)。
- wx:python界面工具
標準參數說明
疲勞認定標準:
- 眨眼:連續3幀內,眼睛長寬比爲 0.2
- 打哈欠:連續3幀內,嘴部長寬比爲 0.5
- 瞌睡點頭:連續3幀內,pitch(x)旋轉角爲 0.3
(真實運用中需要根據不同人的眼睛大小進行檢測,人的眼睛大小,俯仰頭習慣都不一樣,這只是一個參考值)
使用說明
初始化界面
本地視頻檢測
攝像頭視頻流檢測
如果你喜歡這個項目,記得點擊鏈接到項目主頁給它一個 Star哦:https://gitee.com/cungudafa/fatigue_detecting