国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于深度學習的疲勞駕駛檢測算法①

2018-07-18 06:06:44戴詩琪曾智勇
計算機系統(tǒng)應(yīng)用 2018年7期
關(guān)鍵詞:嘴部三元組人臉

戴詩琪, 曾智勇

(福建師范大學 數(shù)學與信息學院, 福州 350108)

隨著社會經(jīng)濟飛速發(fā)展, 城市道路的大規(guī)模建設(shè),機動車保有量呈指數(shù)增加, 公路通車里程逐年增長, 交通事故的發(fā)生率日益增高. 同時隨著現(xiàn)代人生活節(jié)奏加快, 熬夜現(xiàn)象嚴重、缺乏鍛煉、飲食不規(guī)律等等因素造成了現(xiàn)代人容易疲勞精力差, 隨之出現(xiàn)的疲勞駕駛成為造成交通事故的主要原因之一. 如何有效地預防疲勞駕駛已經(jīng)成為世界性的難題, 國內(nèi)外有不少學者采用不同技術(shù)進行了研究, 現(xiàn)有的疲勞駕駛檢測算法按疲勞特征可以分為兩大類: 基于生理特征的算法和基于行為特征的算法. 其中生理特征包括生理信號特征和生理反應(yīng)特征, 文獻[1–5]提出了基于腦電信號(EElectroEncephaloGram, EEG)的睡眠檢測模型, 結(jié)果表明, EEG能夠正確地區(qū)分清醒狀態(tài)和睡眠狀態(tài), 但腦電信號容易受到噪音的干擾并且難以收集. 眼電信號(ElectroOculoGram, EOG)[6]相對于EEG而言更易于收集并且可以免疫輕微的噪音,但仍需安裝頭部設(shè)備進行采集. 文獻[7]運用遠程視頻CCD相機進行實時的圖像采集, 監(jiān)視眼瞼運動、面部朝向和視線方向三種生理反應(yīng)特征. 此外, 行為特征包括駕駛?cè)诵袨樘卣骱蛙囕v行為特征, Baronti等人[8]將分布式壓力傳感器嵌入方向盤里面測量手握方向盤的壓力以及位置, 集合每個元件的測量數(shù)據(jù)統(tǒng)計分析進行疲勞預警, 這種傳感器結(jié)構(gòu)簡單且成本較低, 在實際應(yīng)用中取得了初步的成果, 缺點是會受到駕駛?cè)说膫€人習慣的干擾. 文獻[9–11]利用一個攝像頭捕捉道路前方路況, 參照路上的白線判斷車輛行駛是否規(guī)范, 從而判斷車輛是否處于失控狀態(tài). 這類方法不需要駕駛?cè)酥苯咏佑|檢測裝置, 并且在汽車現(xiàn)有裝置的基礎(chǔ)上對設(shè)備需求較低, 實用性很強, 易于推廣, 但會受到路面條件和車輛型號的限制.

隨著近年來深度學習[12–19]在目標檢測等領(lǐng)域的巨大成功, 深度學習技術(shù)也推動了疲勞駕駛檢測的研究.Zhu X等人[20]提出了一個基于EOG的疲勞檢測回歸模型, 該模型使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)進行無監(jiān)督的學習特征表達, 代替人工設(shè)計特征提取的過程, 并在后處理中使用LDS (Linear Dynamic System)算法減少不利的干擾. 文獻[21]利用CNN提取手部位置的判別信息, 從而無監(jiān)督的學習和預測安全和不安全的四種駕駛姿勢. 文獻[22]提出了一種基于CNN的計算眨眼頻率的眼睛狀態(tài)識別方法, 采用紅外視頻檢測提升了駕駛員佩戴太陽鏡情況的準確率, 但疲勞參數(shù)過于單一. 研究表明, 使用深度網(wǎng)絡(luò)直接從圖像中學習視覺特征表示, 相較于手工設(shè)計的特征對光照、姿勢等條件變化具有更好的魯棒性,預測精度顯著提高.

以上的疲勞駕駛檢測算法都取得了一定的效果與進展, 但仍然存在很大的局限性: 基于生理信號特征的檢測算法雖然具有較高的精度, 但需要駕駛?cè)伺c檢測設(shè)備有直接的身體接觸以采集信號, 可能干擾到駕駛員的駕駛操作而且設(shè)備成本太高, 更適用于實驗室環(huán)境, 不適于實際應(yīng)用; 基于行為特征的檢測算法不需要駕駛?cè)酥苯咏佑|檢測裝置, 并且在汽車現(xiàn)有裝置的基礎(chǔ)上對設(shè)備需求較低, 實用性很強, 易于推廣, 但會受到駕駛?cè)藗€人習慣、路面條件和車輛型號的限制, 在雨雪天氣或路面情況不理想時檢測的準確率較低. 在保證一定的準確率和良好的實時性的情況下, 基于計算機視覺處理生理反應(yīng)特征的算法更易于推廣. 但是人工設(shè)計的特征分辨能力較差, 同時, 單一依靠某一個視覺特征可能遇到困難, 如駕駛?cè)舜餮坨R時眼鏡反光可能造成攝像頭無法捕捉眼球運動, 此外, 眼睛的開閉程度可能因人而異, 不規(guī)則的頭部運動可能產(chǎn)生誤報等等. 本文利用深度學習方法提取眼睛部位的視覺特征, 建立視覺模型, 以提升視覺特征的辨別能力, 然后采用PERCLOS[23]算法結(jié)合打哈欠的頻率判斷駕駛員是否疲勞, 減少單一特征的誤檢率. 實驗結(jié)果表明, 本文提出的基于深度學習的疲勞駕駛檢測方法是有效的.

1 基于深度學習的疲勞駕駛檢測

圖1 整體框架

1.1 基于HOG的人臉檢測

HOG最早由Dalal和Triggs等人[24]在2005年提出, 利用梯度及梯度方向的統(tǒng)計信息來描述圖像. 因為梯度往往產(chǎn)生在邊緣處, 可以描述局部目標的形狀, 且梯度受到光照條件變化的影響較小, 同一個目標的梯度特征在或亮或暗的圖像中具有一致性. 與其它的圖像描述特征相比, HOG特征具有較好的光學不變性與幾何不變性, 尤其適用于目標檢測.

在進行人臉檢測時, 生成HOG特征的主要步驟如下:

(1) 首先采用Gamma壓縮法將由攝像頭捕獲的視頻幀圖像進行顏色空間歸一化處理, 減少顏色數(shù)據(jù)和光照因素的影響, 公式如下:

(3) 將輸入圖像劃分為若干個單元區(qū)域, 每個單元區(qū)域包含n×n個像素, 并將0°至360°劃分為N個方向區(qū)間, 統(tǒng)計每個單元區(qū)域像素的梯度方向并根據(jù)梯度值加權(quán)投影, 得到該單元區(qū)域的梯度方向直方圖.

(4) 將相鄰的K個單元區(qū)域組成單元塊, 把單元塊中所有單元區(qū)域的HOG合并得到特征向量, 并對其進行歸一化, 對光照等條件變化具有更好的魯棒性.

李瑞東傳世的武功是“李氏太極拳”,但實際上他所學過的武功極雜。他幼年時練的是少林拳,青少年時代跟隨河北饒陽戳腳門大師李老遂學了戳腳。青年時代與大刀王五結(jié)義金蘭,互換拳藝,得王五所傳教門彈腿,后來結(jié)識了楊露禪弟子王蘭亭。

(5) 按一定的步長L滑動單元塊遍歷整個圖像, 將所有單元塊的HOG特征合并形成最終的HOG特征向量描述整個圖像.

本文選用的單元區(qū)域大小為8×8像素(即n值為8), 方向區(qū)間N值為9, 單元塊大小為16×16像素(即K值為4), 滑動步長L為8, 當輸入圖像大小為128×128像素時, 則生成的HOG特征向量為((128-16)/8+1)2×4×9=8100維. 最后通過提取大量的已標定人臉樣本的HOG特征, 并使用SVM對其進行訓練生成人臉檢測器, 具體訓練算法如算法1.

算法1. 基于HOG特征的SVM分類訓練算法1. 輸入人臉訓練樣本及樣本中人臉的位置坐標,代表第副圖像的第個人臉包圍框的4維位置坐標(top, left, width, height); i 2. 對樣本圖像進行預處理后逐個掃描, 提取每幅圖片的HOG特征;3. 將已標定人臉的位置設(shè)為正樣本, 在其余位置隨機選取非人臉區(qū)域作為負樣本, 進行SVM訓練, 當loss小于設(shè)定值0.01時訓練結(jié)束, 表明SVM優(yōu)化完成, 輸出訓練好的人臉檢測器模型detector.

圖2為使用detector進行人臉檢測的示例, 將由detector返回的最大人臉包圍框作為需采集駕駛員的人臉圖像.

1.2 人臉關(guān)鍵點定位

在駕駛過程中, 駕駛員的面部會產(chǎn)生不同角度的旋轉(zhuǎn), 為了提高識別的準確率, 本文使用2014年Kazemi和Sullivan[25]提出的面部標志估算算法檢測人臉特征點并對齊人臉. 首先選取人臉的68個特殊標志點模型,從眉毛外沿至下頜底部, 包括眼睛輪廓和嘴部輪廓等,如圖3所示. 然后利用該算法提出的基于梯度增強(radient boosting)的框架,通過優(yōu)化損失函數(shù)和誤差的總和來學習回歸樹集合(Ensemble of Regression Trees,ERT), 檢測出臉部圖像中的68個關(guān)鍵點, 最后對齊人臉, 并根據(jù)關(guān)鍵點序號定位出所需要的眼部、嘴部圖像, 如圖4所示.

圖2 人臉檢測示例

圖3 68個面部標識點

圖4 眼部、嘴部定位

1.3 卷積神經(jīng)網(wǎng)絡(luò)識別眼部狀態(tài)

在定位眼睛和嘴部區(qū)域后, 分割上述局部區(qū)域, 然后建立眼睛的視覺特征模型. 傳統(tǒng)的基于深度學習的目標識別方法主要針對單張的靜態(tài)圖片, 使用CNN網(wǎng)絡(luò)提取特征, 將某一中間層作為特征描述然后利用softmax等分類器對其分類, 中間層的特征描述通常維數(shù)較高. 而在疲勞駕駛檢測過程中需要對視頻監(jiān)控的連續(xù)多副圖像進行處理, 包含了更多的光照、遮擋等條件變化信息. 本文沒有采用傳統(tǒng)的損失函數(shù)而是采用基于三元組損失函數(shù)的深度卷積神經(jīng)網(wǎng)絡(luò)學習眼睛特征. 傳統(tǒng)的損失函數(shù)主要計算最小化預測標記與真實標記之間的誤差, 它雖然可以保障類間分離, 但不能實現(xiàn)類內(nèi)聚集. 三元組損失函數(shù)計算最大化不同類對象之間的歐式距離與同類對象之間的歐式距離的差值,這可以保障類間距離最大化, 類內(nèi)距離最小化, 實現(xiàn)深度學習網(wǎng)絡(luò)類內(nèi)聚集、類間遠離, 提高了深度網(wǎng)絡(luò)的分類能力. 區(qū)分睜眼和閉眼兩個狀態(tài)集合, 將獨立的樣本分類任務(wù)轉(zhuǎn)換為樣本間的距離度量學習任務(wù), 保留了更多數(shù)據(jù)內(nèi)部的關(guān)聯(lián)性信息, 直接通過兩幅圖像特征的歐式距離來判斷兩幅圖像是否為同一類別, 去除使用中間層作為特征描述的間接性, 實現(xiàn)端到端的學習, 降低計算量, 提高系統(tǒng)的實時性, 網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示.

圖5 網(wǎng)絡(luò)結(jié)構(gòu)

從圖5可以看出CNN結(jié)構(gòu)的輸入尺寸大小為48×48, 輸出層為2維向量, 表示2個類別(眼睛閉合和眼睛睜開), 中間包含四個階段的卷積層、歸一化層、池化層的操作. 第一階段的卷積核大小分別為3×3和1×1, 池化層以3×3的大小平均池化對比歸一化的特征圖, 后續(xù)階段的相應(yīng)操作與第一階段類似.

圖6 三元組示例

如圖6所示, 一個三元組包含三個樣本: 一個隨機選擇的眼睛樣本Anchor, 一個與隨機樣本相似的樣本Positive, 一個與隨機樣本不相似的樣本Negative, 核心思想為通過學習使得隨機樣本與相似樣本間的距離相差最小, 與不相似樣本間的距離相差最大, 公式為:

在式(7)中, 三元組分類損失對三個樣本特征的梯度分別為:

公式(7)的偏微分可表示為:

我們使用隨機梯度下降算法訓練上面描述的基于三元組損失深度卷積神經(jīng)網(wǎng)絡(luò)模型, 具體訓練算法如算法2.

算法2. 基于三元組隨機梯度下降訓練算法輸入: 眼睛訓練樣本輸出: 網(wǎng)絡(luò)參數(shù)while t<T, do t=t+1for所有訓練三元組樣本D, 循環(huán)利用前向傳播算法計算 、和利用后向傳播算法計算、、 利用公式(11)計算for循環(huán)結(jié)束更新網(wǎng)絡(luò)權(quán)重參數(shù)while循環(huán)結(jié)束

利用深度卷積神經(jīng)網(wǎng)絡(luò)判別單幀圖像的眼部開閉狀態(tài)后, 根據(jù)PERCLOS定義計算單位時間內(nèi)眼睛閉合狀態(tài)所占時間的百分比. 計算公式如下:

t為單位時間內(nèi)的視頻幀總數(shù),為單位時間內(nèi)眼睛閉合的幀總數(shù).

1.4 嘴部狀態(tài)識別

在駕駛過程中駕駛員的嘴部通常有閉合、說話或唱歌、打哈欠三種狀態(tài), 打哈欠的狀態(tài)下嘴部的張開程度將明顯并持續(xù)大于前兩種狀態(tài), 因此在嘴部定位精確的情況下, 可直接根據(jù)嘴部圖像的寬高比判斷嘴巴的張開程度, 快速區(qū)分這三種狀態(tài), 減小計算量. 具體判斷步驟如下:

(1) 設(shè)嘴部圖像的寬為w,高為h, 則其寬高比當m小于某一閾值T, 可判斷當前圖像幀為打哈欠;

(2) 當嘴巴的寬高比m值大于閾值T的視頻幀連續(xù)達到K幀時, 記作打哈欠一次, 即打哈欠從嘴巴張開到閉合結(jié)束為打哈欠一次, 統(tǒng)計單位時間內(nèi)駕駛員的打哈欠次數(shù)記作

分別判斷眼部和嘴部的疲勞狀態(tài)后, 融合眼睛的疲勞參數(shù)與嘴部的疲勞參數(shù), 分別賦于一定的權(quán)重計算最終的疲勞值F, 公式如下:

2 實驗結(jié)果與分析

2.1 數(shù)據(jù)集與網(wǎng)絡(luò)訓練

本文采用了ZJU[26]眨眼視頻數(shù)據(jù)集和CEW[27]眼睛數(shù)據(jù)集, ZJU包含20個人的共80個avi剪輯視頻,每個人包含四類片段: 正面視圖未戴眼鏡、正面視圖戴薄邊框眼鏡、正面視圖戴黑色框架眼鏡、向上的視角未戴眼鏡. 在眨眼的過程中手動選擇眼睛睜開、半開半閉、閉合的眼睛圖像, 并將左右眼分開存儲, 共產(chǎn)生7334幅圖像, 包括1574張閉眼樣本和5770張睜眼樣本. CEW包含2423幅人臉圖像, 其中1192幅為從網(wǎng)上收集的受試者雙眼閉合的圖像, 1231幅從LFW[28]選取的已標記人臉的睜眼圖像, 分別收集左右眼的圖像產(chǎn)生2384幅閉眼樣本和2462幅睜眼樣本. 將所有樣本圖像歸一化為48×48, 如圖7所示, 分別合并睜眼、閉眼樣本集(不區(qū)分左右眼), 然后分別從中劃分20%的樣本作為測試集, 其余為訓練集. 使用隨機選擇策略在訓練集中生成1000組三元組用于網(wǎng)絡(luò)迭代訓練, 本實驗Ubuntu環(huán)境下使用torch框架實現(xiàn).

圖7 ZJU和CEW數(shù)據(jù)集示例

2.2 實驗結(jié)果

為了驗證本文提出的基于深度學習的防疲勞駕駛檢測方案能否達到預期效果, 分別從以下幾個方面進行了測試實驗.

2.2.1 眼睛狀態(tài)識別測試

表1為利用本文方法訓練的模型對測試集進行測試的結(jié)果, 可以看出對眼部狀態(tài)的識別準確率較為理想.

表1 本文方法眼睛狀態(tài)識別結(jié)果

表2 為利用傳統(tǒng)的CNN方法在相同測試集上的測試結(jié)果.

表2 傳統(tǒng)CNN方法眼睛狀態(tài)識別結(jié)果

表3為本文方法與傳統(tǒng)的CNN方法的對比, 可見本文方法在準確率與實時性上均有提升.

表3 眼睛狀態(tài)識別方法對比

2.2.2 疲勞狀態(tài)識別測試

本文采用YawDD[29]數(shù)據(jù)集作為疲勞檢測的標準數(shù)據(jù)集, 該數(shù)據(jù)集包含不同性別、不同種族的駕駛員在不同光照環(huán)境下拍攝的駕駛視頻, 如圖8所示.圖9為嘴部寬高比m值與連續(xù)視頻幀數(shù)K值的設(shè)定對準確率的影響.

圖8 YawDD數(shù)據(jù)集示例

圖9 m、K值尋優(yōu)

圖10為計算疲勞值的權(quán)重w1、w2的設(shè)定對準確率的影響可以看出當只依靠眼部疲勞特征或只依靠嘴部疲勞特征時準確率均不如將兩個疲勞特征融合的設(shè)定.

本文選取了三個視頻測試者(女性、男性、戴眼鏡的男性)的視頻進行疲勞駕駛檢測, 每名測試者分別截取了其在正常狀態(tài)和模擬疲勞狀態(tài)的視頻進行測試,如圖11所示. 在正常狀態(tài)下測試者保持正常的說話或唱歌狀態(tài)以及眨眼頻率, 在模擬疲勞狀態(tài)下測試者模擬打哈欠、降低眨眼頻率并加深眨眼深度. 程序?qū)崟r統(tǒng)計30 s單位時間測試者的PERCLOS值和打哈欠次數(shù), 每間隔3 s計算一次疲勞值并發(fā)出預警, 如表4所示.

圖10 w1、w2值尋優(yōu)

圖11 疲勞檢測示例

從表4可以看出在測試者的正常狀態(tài)下檢測出的PERCLOS值均低于0.4, 而疲勞狀態(tài)下相反, 在PPERCLOS值及打哈欠次數(shù)增高時, 預警次數(shù)也隨之增多, 兩種狀態(tài)下均未出現(xiàn)誤判.

3 總結(jié)

疲勞特征的選擇是疲勞駕駛檢測的關(guān)鍵, 本文提出了一種基于深度學習的疲勞駕駛檢測方法. 該方法首先利用HOG特征檢測視頻中的人臉圖像, 然后利用特征點模型實現(xiàn)人臉器官的定位和分割, 接著使用深度卷積神經(jīng)網(wǎng)絡(luò)學習眼睛區(qū)域的特征并實現(xiàn)眼睛閉合狀態(tài)的識別, 最后融合眼睛閉合狀態(tài)與嘴部閉合狀態(tài)實現(xiàn)疲勞駕駛檢測預警. 與其它的疲勞駕駛檢測方法相比, 該方法無需接觸駕駛員, 能夠自主提取更有判別力的眼部特征, 并且具有良好的實時性, 特征的融合也進一步提高了準確性. 在ZJU、CEW和YawDD數(shù)據(jù)集上與CNN的視覺特征的檢測方法的對比試驗和分析結(jié)果表明, 該方法具有更好的檢測性能.

表4 疲勞駕駛檢測結(jié)果

猜你喜歡
嘴部三元組人臉
基于語義增強雙編碼器的方面情感三元組提取
軟件工程(2024年12期)2024-12-28 00:00:00
基于帶噪聲數(shù)據(jù)集的強魯棒性隱含三元組質(zhì)檢算法*
有特點的人臉
此人為何杠得如此囂張?
圓號教學中嘴部教學的重要性及訓練方法研究
黃河之聲(2020年19期)2020-12-07 18:32:31
關(guān)于余撓三元組的periodic-模
高中素描頭像教學中提高嘴部刻畫能力的策略探究
三國漫——人臉解鎖
動漫星空(2018年9期)2018-10-26 01:17:14
基于Horn-Schunck光流法的多目標反芻奶牛嘴部自動監(jiān)測
馬面部與人臉相似度驚人
天门市| 苏州市| 晋宁县| 普兰店市| 石门县| 天门市| 白城市| 大厂| 汝阳县| 平谷区| 巍山| 滁州市| 丹棱县| 新晃| 绍兴县| 公安县| 古蔺县| 盐山县| 汾阳市| 界首市| 龙游县| 宁海县| 正定县| 寿阳县| 兴安盟| 顺平县| 巴林右旗| 江源县| 牙克石市| 博客| 盐边县| 济源市| 洪洞县| 资源县| 梨树县| 乌恰县| 潍坊市| 富宁县| 广平县| 安新县| 南涧|