?

基于表情識別的疲勞駕駛監測系統的設計與實現

2023-06-03 18:04王策陳向曦王超蔡朝朝
電腦知識與技術 2023年10期

王策 陳向曦 王超 蔡朝朝

關鍵詞: 疲勞駕駛監測;表情識別;SSD;Python;PyTorch

中圖分類號:TP311 文獻標識碼:A

文章編號:1009-3044(2023)10-0022-03

0引言

在互聯網時代,人臉表情識別已經成為計算機視覺任務中的一個重要研究方向,不僅是個人情感的外在表現,更是日常生活中人與人之間情感傳播與交流的重要方式。同時,自動表情識別技術的發展可以幫助計算機擁有對情緒的理解,在人機交互問題上能提供更有效的解決方法。

駕駛員在疲勞狀態下駕駛車輛是造成交通事故的重要原因之一[1]。2008年中國因疲勞駕駛導致的道路交通事故共2 568起,其中死亡1 353人,受傷3 129 人,造成的直接財產損失約5 738萬元[2]。研究駕駛員疲勞監測方法,監測駕駛員疲勞狀態,在其疲勞時進行提醒或干預,對于保護駕駛員及行人的安全有重大意義。

1研究現狀

雷凌俊等人[3]對三角波、阿爾法波和貝塔波作為腦電信號進行采集,并利用CNN算法對腦電數據進行識別,他們通過特定腦電圖波形的選擇,腦電圖信號的預處理,集中度和靜坐度的判別算法研究從而對駕駛員進行疲勞判定。

徐禮勝等人[4]通過基于短時心電信號的疲勞駕駛檢測算法提取的特征,并設計一種隨機森林分類器并基于這些特征進行分類,在疲勞駕駛監測上具有良好的分類效果,平均準確率達到91%。

Wang Qingjun等人[5]通過傳感器采集的方向盤信號、轉角信號、呼吸信號等疲勞監測信號相融合,提出異質信號融合的疲勞駕駛監測算法,最終使得算法具有良好效果。

呂秀麗等人[6]利用SSD網絡定位駕駛員的眼睛與嘴巴區域,并結合人臉68特征點等方法共同判定駕駛疲勞狀態,在YawDD 數據集上的檢測準確率達97.2%。

2模型設計

2.1 數據集

本文采用從AI Studio下載的公開疲勞駕駛分類數據集,進行訓練和測試共2914張圖像,單張大小為640×480的三通道圖像,樣本圖像如圖1所示。下載路徑為:https://aistudio.baidu.com/aistudio/datasetdetail/85880。該數據集被標注類別為四種open_eye、closed_eye、open_mouth、closed_mouth 分別表示眼睛的開閉和嘴巴的開閉,標注圖像如圖2所示。

2.2 SSD網絡

SSD網絡[7]是由Wei Liu等人提出的一種卷積神經網絡目標檢測算法,它提供了一種多尺度特征圖預測分類和回歸的思想,精確度和速度都很高。其采用VGG16作為基礎模型,然后在VGG16的基礎上新增了卷積層來獲得更多的特征圖以用于檢測,如圖3 所示。

如圖3所示,本文使用SSD網絡,通過VGG16和多卷積層對駕駛員圖片中的眼睛與嘴巴進行特征提取,并通過改進參數等方法調試網絡,實現對數據集進行疲勞駕駛分類訓練,來篩選預測結果。

2.4 疲勞駕駛判定方法

2.4.1 PERCLOS值

卡內基梅隆研究所經過反復實驗和論證,提出了度量疲勞/瞌睡的物理量PERCLOS (Percentage? of EyeIid CIosure over the PupiI, over Time, 簡稱PER?CLOS),它被定義為每分鐘眼部閉合程度超過某一閉值(70%、80%)的時間比例,其具體實現公式如下所示。

PERCLOS 值[8]具有三個最常見標準EM、P70 和P80用于確認眼睛的閉合狀態,分別意味著瞳孔被遮擋比例為50%、70%、80%時,眼睛的閉合,本文采用P80標準。

2.4.2 嘴巴閉合狀態

司機在駕駛時的疲勞判定還可以從嘴部特征入手。文章通過計算每一幀閉合狀態,確定嘴巴縱橫比。設定上下嘴唇閉合時,特征值為0,上下嘴唇完全張開時,特征值為1。當上下嘴唇張開時,其間距會變大,設定打哈欠時的特征值為G(G = 0.5)。當超過1 秒時間的嘴巴縱橫比特征值大于G時,就被認定為打哈欠行為。

2.5 模型性能測試

為測試模型的可靠性,體現該疲勞駕駛系統的效果,文章使用從AI Studio下載的公開疲勞駕駛分類數據集,對該模型的準確率(Accuracy) 進行計算。

TP(True Positive):分類器預測結果為正樣本,實際也為正樣本。

TN(True Negative);分類器預測結果為負樣本,實際為負樣本。

最終該模型通過測試集測試后,準確率達到了92.15%。驗證了該疲勞駕駛系統的有效性與可靠性。

3 系統實現

3.1 功能設計

本文疲勞駕駛監測系統模塊結構如圖4所示,主要有三個部分組成,即預處理模塊、檢測模塊、判斷模塊。預處理模塊主要是通過OpenCV工具進行數據的處理,將輸入數據調整為300×300的大小,并對輸入數據進行去均值處理;檢測模塊主要通過本文提出的SSD算法對輸入圖像的眼部、嘴部進行檢測;判斷模塊用于判斷駕駛員駕駛狀態,即閉眼時間比例,張嘴時長進行判斷,最后得出當前駕駛員駕駛狀態。具體疲勞駕駛監測流程圖如圖5所示。

3.2 軟件設計與測試

該系統軟件開發以Python 語言開發,采用Py?Torch作為深度學習開發框架。首先,通過攝像頭讀取數據,然后進行預處理并送入算法模型中進行分類檢查,最后計算PERCLOS值和打哈欠檢測,判斷疲勞駕駛狀態。使用OpenCV框架部署實現實時監測,運行測試如圖6所示。

4總結

本文介紹了疲勞駕駛國內外研究現狀,并成功搭建SSD網絡模型對疲勞駕駛進行識別,使用OpenCV 框架部署實現實時監測。實現基于表情識別的疲勞駕駛監測系統的設計,對疲勞駕駛監測有不錯的效果。在設計過程中,還存在部分問題,比如SSD網絡中主干特征提取網絡VGG16可以換為更輕量級的網絡,以及在復雜環境下,疲勞駕駛監測的不穩定性。希望將來可以實現更加穩定、高效、輕量的系統。

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合