黃永平
摘要:疲勞駕駛已然成為了交通事故的主要原因,但我國的疲勞駕駛研究起步較晚,產(chǎn)品仍未廣泛應(yīng)用。為此,本文通過對人臉的特征點(diǎn)檢測為核心設(shè)計(jì)疲勞檢測系統(tǒng),研究的思路主要是首先檢測人臉特征點(diǎn),然后提取人眼特征點(diǎn),通過人眼特征點(diǎn)位置判斷司機(jī)是否疲勞。
關(guān)鍵詞:疲勞檢測;特征點(diǎn)檢測;疲勞駕駛
中圖分類號:TP391.4 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2019)03-0101-02
0 引言
在疲勞狀態(tài)駕駛車輛,駕駛員會感到困倦瞌睡,以致于注意力不能集中、判斷能力下降,甚至出現(xiàn)精神恍惚或瞬間記憶消失的情況,存在大量安全隱患,極易發(fā)生道路交通事故。由于大多數(shù)人對疲勞駕駛的重視程度不夠,因此疲勞駕駛所造成的交通事故往往多于酒駕。尤其當(dāng)今社會生活節(jié)奏偏快,人們工作壓力增加,以致精神和體力長期處于疲勞的狀態(tài),但我國目前還未投用針對疲勞駕駛檢測的設(shè)備,由此疲勞駕駛?cè)允窃斐山煌ㄊ鹿实闹饕蛑磺冶壤鹉瓿噬仙厔荨km然疲勞駕駛檢測過程復(fù)雜,且檢測方法不易掌握,但基于疲勞與眼睛狀態(tài)兩者的相關(guān)性,加上愈加便捷的攝像機(jī)和相機(jī)采集手段,通過駕駛員眼睛閉眼情況來判別其疲勞情況正漸漸演變?yōu)橐粋€(gè)研宄的重要方向。本文得出了一種簡單可行的疲勞駕駛檢測技術(shù),研究的思路主要是首先檢測人臉特征點(diǎn),然后提取人眼特征點(diǎn),通過人眼特征點(diǎn)位置判斷司機(jī)是否疲勞。
1 人臉識別及人眼定位算法設(shè)計(jì)
首先我們使用了opencv里自帶的人臉識別和人眼定位功能,即haarcascades包,但是效果并不理想,在光澤比較好而且眼睛睜開的幅度比較大,用opencv自帶功能可以識別出人臉和人眼。但是在人眼比較小且閉合比較大時(shí)人眼定位并不準(zhǔn)確,有時(shí)候甚至連人臉都不能識別出來,可見這個(gè)haarcascades包的識別功能太弱。
由于haarcascades包的識別功能太弱,我們選擇了使用dlib包進(jìn)行人眼檢測和人眼定位。dlib是一個(gè)現(xiàn)代化的C ++工具箱,其中包含用于在C ++中創(chuàng)建復(fù)雜軟件以解決實(shí)際問題的機(jī)器學(xué)習(xí)算法和工具。它廣泛應(yīng)用于工業(yè)界和學(xué)術(shù)界,包括機(jī)器人,嵌入式設(shè)備,移動電話和大型高性能計(jì)算環(huán)境。dlib能夠?qū)θ四樚卣鼽c(diǎn)進(jìn)行檢測,選取其中的68個(gè)特征點(diǎn)進(jìn)行使用,其中36-47為左右眼的特征點(diǎn),如圖1。
本章主要講述了我們在實(shí)驗(yàn)過程使用過的方法,最后確定的方法以及各自的成功率。在基于計(jì)算機(jī)視覺的司機(jī)駕駛疲勞檢測系統(tǒng)中,人臉識別是非常重要的一環(huán),只有正確定位人臉,我們才能對人眼區(qū)域進(jìn)行更好更精準(zhǔn)的預(yù)處理,才能提高疲勞駕駛檢測的可信度。
2 眼部疲勞識別算法
2.1 算法現(xiàn)實(shí)依據(jù)
目前對疲勞駕駛的定義,主要基于連續(xù)駕駛時(shí)間。而現(xiàn)實(shí)生活中,年齡,性別,當(dāng)前時(shí)間等因素,對司機(jī)是否疲勞的影響是很大的。
疲勞駕駛一般有一下幾種表現(xiàn):
(1)注意力不集中。(2)駕駛動作僵硬。(3)眨眼頻繁。(4)閉眼或瞇眼時(shí)間過長。(5)打哈欠,流眼淚等。(6)反應(yīng)時(shí)間過長。
本章主要集中于人眼狀態(tài),通過對人眼不同行為分析,判斷司機(jī)是否處于疲勞狀態(tài),降低性別,年齡等因素的影響。
2.2 基于眼部狀態(tài)的疲勞駕駛檢測算法
一般的情況,睜眼時(shí)眼睛區(qū)域上下特征點(diǎn)距離較大,閉眼時(shí)上下特征點(diǎn)的距離較小。在得到眼部特征點(diǎn)后,利用眼部特征點(diǎn)的距離求出眼睛的高度和寬度,計(jì)算眼睛的縱橫比即EAR值,用來描述眼睛的張開程度,且EAR值對攝像頭和眼睛的距離不敏感。左右兩只眼睛的張開程度分別表示為EAR1和EAR2,一般來說兩只眼睛的張開程度是同步的,所以EAR取兩只眼睛張開程度的平均值。
每個(gè)人眼睛的長寬比在眼睛開著時(shí)幾乎恒定,但當(dāng)眨眼發(fā)生時(shí),眼睛的寬度會迅速下降到零,因此可以通過眼睛長寬比率判斷閉眼情況,根據(jù)閉眼的時(shí)間和頻率進(jìn)而判斷駕駛員是否打疲勞駕駛,如圖2。
2.3 本章小結(jié)
本章我們設(shè)計(jì)了疲勞駕駛檢測系統(tǒng)中最重要的算法-疲勞檢測算法。該算法在人臉識別人眼定位的基礎(chǔ)上,對視頻流進(jìn)行預(yù)處理,通過EAR值判斷人眼狀態(tài),通過人眼狀態(tài)判斷是否疲勞。我們還在不同的環(huán)境中檢測該算法的可信度,在現(xiàn)實(shí)中的各種干擾下,該檢測系統(tǒng)均得到了預(yù)計(jì)范圍內(nèi)的可信度。
3 疲勞駕駛檢測系統(tǒng)
3.1 疲勞駕駛檢測流程
(1)將視頻幀轉(zhuǎn)化為灰度圖。
(2)加載dlib人臉檢測器和人臉特征點(diǎn)檢測器。
(3)檢測視頻幀的人臉,并用檢測器生成面部特征點(diǎn)集合。
(4)提取人眼區(qū)域特征點(diǎn),并計(jì)算EAR的值。
(5)將EAR與閉眼閾值進(jìn)行比較,如果小于閾值則計(jì)數(shù)器加一,否則計(jì)數(shù)器清零。
(6)當(dāng)計(jì)數(shù)器大于疲勞閾值時(shí)即連續(xù)幀EAR小于閉眼閾值的數(shù)量大于疲勞閾值時(shí)對司機(jī)進(jìn)行疲勞警告,否則循環(huán)繼續(xù)。
3.2 總體設(shè)計(jì)圖(如圖3)
3.3 接口設(shè)計(jì)(如圖4)
3.4 本章小結(jié)
本章給出了疲勞駕駛檢測系統(tǒng)的總體流程圖,總體設(shè)計(jì),接口與硬件設(shè)計(jì)。
4 結(jié)語
本文在人的生理特征參數(shù)上,依靠當(dāng)前較為先進(jìn)的圖像處理技術(shù)和視覺分析軟件,對圖像及視頻流中司機(jī)的眼部區(qū)域進(jìn)行處理,對人眼定位并分析人眼狀態(tài),通過我們預(yù)先設(shè)定的標(biāo)準(zhǔn)進(jìn)行判斷。本文采用實(shí)用性高,較為精準(zhǔn)的dlib包進(jìn)行人臉識別及人眼定位追蹤,通過EAR值進(jìn)行人眼狀態(tài)分析。在算法設(shè)計(jì)完成后,我們在不同的環(huán)境在進(jìn)行的大量的實(shí)驗(yàn),并證實(shí)了該系統(tǒng)在大部分狀態(tài)下,能保證較為良好的成功率。
但是我們所有的理論研究與實(shí)驗(yàn),均在實(shí)驗(yàn)室中進(jìn)行,此時(shí)成功率均在我們預(yù)估范圍內(nèi)。但在現(xiàn)實(shí)操控中,由于道路的復(fù)雜性,光線的變化,正側(cè)面等因素,以及實(shí)驗(yàn)條件的局限性,該算法必然存在諸多不足。我們希望,在今后的研究中,系統(tǒng)能夠更好,更準(zhǔn)確的應(yīng)用于實(shí)際生活。
參考文獻(xiàn)
[1] 盧陽.疲勞駕駛檢測系統(tǒng)的設(shè)計(jì)及FPGA實(shí)現(xiàn)[D].重慶:重慶大學(xué),2013.
[2] 陳明初.基于人眼狀態(tài)的駕駛員疲勞檢測技術(shù)研究[D].重慶:重慶大學(xué),2012.
[3] 李延楓.基于眼部識別的疲勞駕駛檢測系統(tǒng)設(shè)計(jì)[D].四川:成都理工大學(xué),2017.
[4] 王曉婷.基于深度學(xué)習(xí)的駕駛疲勞檢測應(yīng)用的設(shè)計(jì)與實(shí)現(xiàn)[D].遼寧:大連海事大學(xué),2017.
[5] 陳興劼.基于面部圖像的列車司機(jī)疲勞駕駛檢測與實(shí)現(xiàn)[D].四川:西南交通大學(xué),2017.
Driver Driving Fatigue Detection System Based on Computer Vision
HUANG Yong-ping
(College of Computer Science and Technology, Jilin University,Changchun Jilin? 130012)
Abstract:Fatigue driving has become the main cause of traffic accidents, but the research on fatigue driving in China started late and the products have not been widely used. Therefore, this paper designs a fatigue detection system based on face feature point detection. The main idea of the research is to detect face feature points first, then extract eye feature points, and judge whether the driver is tired by the position of eye feature points.
Key words:fatigue detection;feature point detection;fatigue driving