perclos嘴巴_一种基于视频分析的疲劳状态检测方法及装置与流程
本發明涉及疲勞檢測領域,特別是涉及一種基于視頻分析的疲勞狀態綜合檢測方法及裝置。
背景技術:
疲勞狀態檢測技術在交通運輸、生產安全、教育培訓等許多領域應用廣泛。目前,疲勞狀態檢測的方法一般可分為接觸式和非接觸式兩大類。
其中,接觸式疲勞狀態檢測包括腦電波檢測等方法,即通過采集腦電圖頻率分布和波形數據,分析大腦活動狀態,從而判斷是否存在疲勞狀況,此種方法通常需要引入復雜設備,成本較高,而且腦電圖結果數據易受個體差異和外界干擾等因素的影響,因此實際應用效果存在限制。
非接觸式疲勞狀態檢測則主要基于視頻分析手段來進行,比如通過分析該人的頭部姿勢是否存在向下傾斜、眼睛閉合情況等;另外還可以結合具體應用場景考慮引入更多特定的檢測手段,比如在開展駕駛員疲勞狀態檢測時,可通過結合對車輛行駛狀態的監測來綜合判定駕駛員的疲勞狀況。
總體而言,當前的疲勞狀態檢測技術存在識別精度低、信號源單一、實用性能差等問題。另外,針對某些單一場景而專門設計的特定技術方法又存在通用性差的問題,不利于進一步推廣,從而限制了自身的實際應用前景。
技術實現要素:
為了克服上述現有技術的不足,本發明在于提供一種相對通用的、非接觸式疲勞狀態綜合檢測方法,其基本功能流程如附圖1所示。
其中,圖像預處理模塊負責實時接收外部網絡攝像頭端發送而來的視頻圖像數據,通過調用opencv庫中的bilateralfilter接口對其進行雙邊濾波式實時預處理,并將處理結果發送給人臉及特征點檢測模塊。
人臉及特征點檢測模塊負責通過引入多任務級聯卷積神經網絡(mtcnn),利用3層級聯架構配合卷積神經網絡算法進行人臉檢測和關鍵點定位。
眼睛和嘴巴區域提取模塊通過眼部和嘴部周圍特征點的位置信息來實現對眼部和嘴部區域的提取,從而實現對眼部和嘴部區域的定位。
眼睛和嘴巴狀態識別模塊負責基于“adaboost算法+haar-like特征”分別實現對眼睛和嘴巴狀態識別的訓練過程,以此實現對眼睛和嘴巴的特定狀態的識別,例如閉合、張開等。
疲勞參數計算模塊負責通過提取perclos、眨眼頻率、打哈欠等3類參數,計算該人的疲勞程度。
疲勞狀態判定模塊負責基于上述計算得出的疲勞參數,以及各自預先設定的閾值,實現對疲勞狀態的判定。
與現有技術相比,本發明的有益效果是:本發明提供的是一種基于視頻分析的非接觸式疲勞狀態綜合檢測方法,相對于現有技術,檢測效果更佳、適用性更廣。
附圖說明
附圖1為該方法的具體功能流程圖。
附圖2為perclos參數計算示意圖。
具體實施方式
下面結合附圖對本發明進一步說明。
圖像預處理模塊負責實時接收外部網絡攝像頭端發送而來的視頻圖像數據,對其進行實時預處理并將處理結果發送給人臉及特征點檢測模塊。該模塊主要用于改善圖像質量,減少噪聲干擾,從而提高檢測效果。本發明中的圖像預處理模塊采用雙邊濾波方式,并通過調用opencv庫中的bilateralfilter接口實現。
人臉及特征點檢測模塊通過引入多任務級聯卷積神經網絡(mtcnn),利用3層級聯架構配合卷積神經網絡算法進行人臉檢測和關鍵點定位。本發明在該模塊中引入widerface和celeba兩大人臉庫作為該模塊的訓練數據庫,并將訓練樣本劃分為4類標注數據:
1)正樣本,隨機選取的框與任何的實際人臉區域的重疊度(即intersection-over-union,iou)大于0.7;
2)負樣本,iou<0.4;
3)部分人臉樣本,0.4≤iou≤0.7;
4)地標人臉樣本,標注五個特征點的人臉圖。
其中正負樣本用于人臉分類,正樣本和部分人臉樣本用于人臉邊界框的回歸,地標人臉樣本用于人臉特征點定位。以上4類樣本數量的比例設為1∶2∶1∶2,其中正樣本、負樣本和部分人臉樣本從widerface人臉庫隨機裁剪圖片獲取,地標人臉樣本從celeba人臉庫中隨機裁剪圖片獲取。
眼睛和嘴巴區域提取模塊用于實現對眼部和嘴部區域的定位。由于人臉特征點包含眼部和嘴部在圖像中的位置信息,因此,本發明通過眼部和嘴部周圍特征點的位置信息來實現對眼部和嘴部區域的提取。提取規則如下:
we=2.1*xe
he=3.6*ye
wm=1.3*xm
hm=2.0*ym
其中,xe和ye分別為特征點檢測中眼部的寬度和高度,we和he分別為提取眼部區域的寬度和高度,xm和ym分別為特征點檢測中嘴部的寬度和高度,wm和hm分別為提取嘴部區域的寬度和高度。
眼睛和嘴巴狀態識別模塊用于識別眼睛和嘴巴的特定狀態,例如閉合、張開等。本發明基于“adaboost算法+haar-like特征”分別實現對眼睛和嘴巴狀態識別的訓練過程。訓練過程如下:
1)輸入樣本集,在給定的矩形特征原型下,計算獲取特征集;
2)輸入特征集,根據給定的弱學習算法,確定閾值,將特征與弱分類器對應獲得弱分類器集;
3)輸入弱分類器集,在訓練檢出率和誤判率限制下,使用adaboost算法挑選最優弱分類器構成強分類器;
4)輸入強分類器集,組合為級聯分類器;
5)輸入非人臉圖片集,組合強分類器為臨時級聯分類器,篩選并補充非人臉樣本。
其中的訓練樣本包括正樣本和負樣本兩部分。以眼睛狀態識別為例,由于該模塊的目標是檢測閉眼狀態,因此,訓練集中正樣本為閉眼圖片,負樣本為睜眼圖片以及其他圖片。在樣本制作方式上,考慮到目前公開的人眼及嘴巴數據庫資源較少,本發明通過調用上述訓練好的mtcnn模型基于公開的人臉庫進行人臉檢測,再結合眼睛及嘴巴區域提取模塊對人眼和嘴巴進行截取實現樣本的制作。
疲勞參數計算模塊負責基于特定標準計算該人的疲勞程度。本發明中該模塊主要通過提取perclos、眨眼頻率、打哈欠等三類參數進行疲勞狀態的計算:
1)閉眼時間:指一定時間內閉眼時間所占的百分比。本發明采用perclos方法。該方法通常有三種度量標準:p70、p80、em,本發明選擇p80標準作為疲勞判斷標準,即眼睛閉合面積超過80%的時間百分比,該值可通過如下公式計算得出:
如附圖2所示,t3-t2是眼睛20%瞳孔閉合到20%瞳孔睜開程度所用的時間,t4-t1是眼睛80%瞳孔閉合到80%瞳孔睜開程度所用的時間。
由于時間和視頻中圖像序列是相對應的,所以可以利用幀的數量來計算perclos值:
2)眨眼頻率:指單位時間內的眨眼次數,計算公式如下所示:
其中,n為當前檢測時間內所有的眨眼次數,t幀為處理每幀的時間,n為當前統計時間內的總幀數。正常情況下,成年人清醒狀態下的眨眼頻率在12~15次/分鐘。若該人在一段時間內的眨眼頻率過低(例如,低于7次/分鐘),則可判定該人進入疲勞狀態。
3)嘴巴張開(打哈欠):統計一段時間內嘴巴持續張開的時間,打哈欠參數的計算如下:
fmouth=n/n
其中,n為統計時間內嘴巴張開狀態的總幀數,n為統計時間內的總幀數。當該人打哈欠時,fmouth達到最大值。正常狀態下,人的嘴巴基本處于閉合狀態,而當處于疲勞狀態時往往伴隨頻繁的打哈欠行為。當該人頻繁地與他人講話時,嘴巴的狀態為普通張開,當打哈欠時,其嘴巴處于張大狀態。一般情況下,打哈欠是一個比較長的過程,并且嘴巴張開的幅度較大。因此,當嘴巴張開且持續一定的時間,則可判定為打哈欠狀態。
疲勞狀態判定模塊負責基于上述計算得出的疲勞參數,以及各自預先設定的閾值,實現對疲勞狀態的判定,判定過程如附圖2所示。當perclos值大于預先設定的閾值tp時,判定此人為疲勞狀態;否則將對眨眼頻率進行判斷,當眨眼頻率小于預先設定的te時,判斷為疲勞狀態;否則將對此人的嘴巴張開狀態進行判斷,當嘴巴張開參數大于預先設定的tm時,則判斷此人存在打哈欠現象,判定此人為疲勞狀態。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的perclos嘴巴_一种基于视频分析的疲劳状态检测方法及装置与流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 口袋之旅html5超强账号,口袋之旅特攻
- 下一篇: 交叉驰豫的影响因素_什么因素影响了软管总