王皓 張海艷 邱文凱
摘 要:近年來,由于疲勞駕駛所導(dǎo)致的交通事故比例持續(xù)上升,而傳統(tǒng)疲勞駕駛檢測技術(shù)和方法在現(xiàn)實(shí)應(yīng)用中效果較差。本文利用人眼識(shí)別技術(shù),研究并設(shè)計(jì)了一套基于計(jì)算機(jī)圖像處理的疲勞駕駛檢測系統(tǒng)。通過一系列圖像處理技術(shù)提取人眼特征參數(shù),經(jīng)過對比判斷是否存在疲勞駕駛情況。實(shí)驗(yàn)證明該系統(tǒng)可以達(dá)到真正的實(shí)時(shí)性,及時(shí)發(fā)出警報(bào),有效預(yù)防疲勞駕駛。
關(guān)鍵詞:人眼識(shí)別;疲勞駕駛;圖像處理
近年來,科技水平不斷發(fā)展,人工智能已經(jīng)成為當(dāng)前的一大熱點(diǎn),而人臉識(shí)別更是人工智能領(lǐng)域的重中之重。人眼檢測作為人臉識(shí)別不可或缺的一部分,隨著圖像處理技術(shù)的不斷發(fā)展,已經(jīng)實(shí)現(xiàn)了跨越式的突破。由于人眼識(shí)別技術(shù)日趨成熟,人眼識(shí)別技術(shù)的應(yīng)用也越來越廣泛,其中尤以基于人眼檢測的汽車輔助駕駛系統(tǒng)最為廣泛。
目前,我國每年的道路交通事故中,造成汽車碰撞事故的原因有近四成是疲勞駕駛,因此疲勞駕駛已成為交通事故的主要?dú)⑹帧Mǔq{駛員在經(jīng)過長時(shí)間的駕駛之后,其身體各項(xiàng)生理狀況均會(huì)不同程度地下降,其中最明顯的表現(xiàn)是反應(yīng)水平的下降,這是由于駕駛員疲勞駕駛時(shí)犯困以致于注意力不集中,而人在犯困時(shí)最明顯的特征就是頻繁地眨眼睛。因此基于人眼檢測以防止駕駛員疲勞駕駛的輔助駕駛系統(tǒng),已經(jīng)成為當(dāng)前研究的一大熱點(diǎn)。
1 疲勞檢測技術(shù)仍處于落后階段
早期的疲勞檢測方法主要是通過醫(yī)療設(shè)備對駕駛者身體各項(xiàng)的生理參數(shù)進(jìn)行監(jiān)控,以此作為駕駛者疲勞狀態(tài)判斷的依據(jù)。但由于醫(yī)療設(shè)備的價(jià)格昂貴,對于汽車駕駛者尤其是私家車主來說,車上并不會(huì)安放醫(yī)療設(shè)備,而醫(yī)療設(shè)備大多體積龐大且需要駕駛者時(shí)時(shí)佩戴以進(jìn)行檢測,這對駕駛者會(huì)造成非常大的不便,因此早期的疲勞檢測方法已不適用于現(xiàn)狀的發(fā)展?,F(xiàn)有的檢測方法不能很好地判斷疲勞狀態(tài),對駕駛者的疲勞狀態(tài)存在錯(cuò)判、誤判等問題,對疲勞狀態(tài)程度的判定也不夠準(zhǔn)確,未來的研究需要將疲勞狀態(tài)進(jìn)行量化,建立準(zhǔn)確的疲勞程度劃分標(biāo)準(zhǔn),對疲勞檢測問題不斷進(jìn)行完善。
隨著汽車數(shù)量不斷增加,其作為日常的主要交通工具,導(dǎo)致疲勞駕駛情況出現(xiàn)的概率增加,隨之而來的是交通事故頻發(fā),就目前而言,提高駕駛安全性需求高,市場前景廣闊。其中基于人眼檢測的汽車輔助駕駛系統(tǒng)正在興起,但該領(lǐng)域的發(fā)展尚不完善,還有很多地方需要開發(fā)。
本系統(tǒng)以人眼檢測為基礎(chǔ)、疲勞檢測為主要功能,其結(jié)果可以作為司機(jī)當(dāng)前疲勞狀態(tài)的主要判定依據(jù)。本系統(tǒng)可以應(yīng)用于汽車輔助駕駛系統(tǒng),可以對疑似疲勞駕駛的司機(jī)提出停止行駛警告,保證其生命財(cái)產(chǎn)安全。
2 系統(tǒng)設(shè)計(jì)
總體設(shè)計(jì)框架
首先編寫核心算法,然后利用MATLAB提供的GUI接口建立框架,將算法導(dǎo)入框架中,進(jìn)一步完成功能設(shè)計(jì),形成一個(gè)人眼檢測系統(tǒng)。系統(tǒng)主要包括圖像獲取、圖像預(yù)處理、人臉檢測、人眼檢測和疲勞程度檢測五個(gè)方面。
系統(tǒng)執(zhí)行過程中,首先將攝像頭中包含人臉的幀圖像提取出來。由于圖像質(zhì)量在不同的光照強(qiáng)度、不同的天氣和不同的設(shè)備下都會(huì)受到影響,如果直接對攝像頭獲取的圖像進(jìn)行檢測,會(huì)產(chǎn)生不理想的結(jié)果。所以在對圖像檢測之前先對其進(jìn)行預(yù)處理,按一定的灰度線性變換函數(shù)對圖像進(jìn)行灰度化,使用空域法中的均值濾波對圖像進(jìn)行平滑處理,再使用Robert邊緣檢測得到圖像的顏色、亮度等信息,搜索出人臉邊界,之后再對圖像做二值化處理。然后使用人臉檢測和人眼檢測相結(jié)合的方法定位可能區(qū)域,再使用黑色連通區(qū)域標(biāo)記法解決對于配戴眼鏡的駕駛員人眼定位不準(zhǔn)的問題,最后使用PERCLOS方法,降低誤報(bào)率。
3 系統(tǒng)實(shí)現(xiàn)概述
3.1 圖像采集
圖像采集是圖像獲取的主要途徑,也是圖像預(yù)處理技術(shù)的基礎(chǔ)。本系統(tǒng)通過車載高清攝像頭對駕駛者進(jìn)行實(shí)時(shí)攝影,通過對視頻中的每一幀畫面進(jìn)行優(yōu)化處理,保證圖像的采集質(zhì)量,對采集到的圖像進(jìn)行預(yù)處理,突出感興趣區(qū)域,然后對圖像的特征進(jìn)行提取,識(shí)別出駕駛者的人臉部分,在此基礎(chǔ)上再進(jìn)行人眼的檢測。
本系統(tǒng)圖像采集的速率快,檢測效率高,而且不需要特殊光源,在正常光照下便可實(shí)現(xiàn),此外,在光線不強(qiáng)甚至黑暗中均可快速、有效地實(shí)現(xiàn)圖像采集。
3.2 圖像預(yù)處理
3.2.1 灰度處理和直方圖均衡化
為了凸顯檢測到的視頻幀中的細(xì)節(jié)部分并提高圖像清晰度,通常需要將圖像進(jìn)行灰度處理?;叶茸儞Q通常被稱為圖像對比度增強(qiáng),根據(jù)目標(biāo)條件按一定變換關(guān)系逐點(diǎn)改變原圖像中的每一個(gè)像素灰度值,下面介紹本系統(tǒng)采用的均值法。
在計(jì)算機(jī)圖像處理中,我們通常使用RGB顏色系統(tǒng),即通過紅(R)、綠(G)、藍(lán)(B)三個(gè)通道的變化和疊加決定每個(gè)彩色圖像的像素點(diǎn),其中每個(gè)通道的取值均在0~255之間。項(xiàng)目采用的均值處理將三個(gè)分量的亮度做均值,并將平均值再次賦給該像素點(diǎn),由此得到輸入視頻幀的灰度圖。
直方圖均衡化是增加最大和最小像素值之間差值以及圖像整體對比度的一種方法。將原來的動(dòng)態(tài)范圍從fmin~fmax改變?yōu)?~255,其算法公式為:
gx,y=
當(dāng)攝錄視頻環(huán)境的照明效果不好時(shí),最大最小之間差值會(huì)變小,對比度相對較低,也就是我們?nèi)搜鬯吹降膱D像變化不明顯,經(jīng)過均衡化處理后,視覺效果可得到改善。
3.2.2 平滑處理
受到照明、設(shè)備、傳輸信道等客觀因素的限制,圖像在傳輸、轉(zhuǎn)換和成像等過程中獲得的圖像質(zhì)量往往都會(huì)存在一定程度的下降。而且,一般的圖像中混有隨機(jī)的、形狀和大小不確定的隨機(jī)噪聲。所以我們需要圖像增強(qiáng)技術(shù)預(yù)先對圖像進(jìn)行處理,以此來獲得較好的原始圖像,為下一步識(shí)別人眼提供基礎(chǔ)。
中值濾波基本原理是將圖像某像素點(diǎn)的規(guī)定窗口內(nèi)像素值排序,選出其中的中值來代替該像素本身的像素值。例如椒鹽噪聲的特征是其像素值為0或255,而中值濾波使每個(gè)點(diǎn)的灰度值與其周圍點(diǎn)接近,有效地消除這種孤立點(diǎn)噪聲。除此之外,在消除噪聲的同時(shí),還能較好地保護(hù)圖像的邊界信息,不會(huì)使處理后的圖像過度模糊。
中值濾波器的效果受濾波窗口尺寸的影響較大,當(dāng)濾波窗口過小時(shí),雖然能夠很好地保護(hù)圖像中的某些細(xì)節(jié),例如細(xì)小的邊界信息,但相應(yīng)的過濾噪聲效果較差;反之,當(dāng)窗口尺寸過大時(shí),噪聲過濾效果比較明顯,但圖像的模糊程度會(huì)因此變高,在該項(xiàng)目中我們選擇3*3的窗口對圖像進(jìn)行降噪。
3.2.3 gamma校正
生物學(xué)中,人眼相較于攝像機(jī)對于暗色變化更為敏感,即對同等變化的暗色感知要強(qiáng)于亮色。由于人眼能夠感知到更寬的亮度范圍,攝像機(jī)捕捉的明暗變化與人眼看到的情況不同。因此,我們需要使用Gamma矯正幫助攝像機(jī)提高曝光技術(shù),更加接近人眼感知的圖像。Gamma矯正的原理是使用伽馬曲線處理圖像,對圖像進(jìn)行非線性色調(diào)編輯。值得注意的是,大多數(shù)顯示器針對這種情況,會(huì)提前對圖像做預(yù)處理,因此存儲(chǔ)的圖像顏色信息已經(jīng)經(jīng)過Gamma矯正,我們在進(jìn)行處理時(shí)要先對圖像做處理,保證它在線性顏色空間下,再做Gamma矯正。
每一個(gè)像素點(diǎn)分別經(jīng)過歸一化、預(yù)補(bǔ)償、反歸一化三個(gè)步驟完成矯正,我們將圖像分為深色和淺色兩部分,通過Gamma矯正將兩者的比例分別調(diào)大,從而實(shí)現(xiàn)對比度增強(qiáng)的效果。
3.3 人臉識(shí)別及人眼粗定位
為了后續(xù)更精準(zhǔn)地標(biāo)識(shí)人眼位置,我們需要提前使用臉部分類器檢測出疑似人臉的位置,再用人眼分類器檢測出粗略的眼睛位置,并將眼部及其周圍部分截取下來,剩余部分不作處理。
目前的檢測臉部的方法主要分為兩個(gè)類:基于基礎(chǔ)知識(shí)和基于統(tǒng)計(jì)的檢測。前者通過提取眼睛、嘴巴、鼻子等各器官特征信息,結(jié)合與人臉之間相對位置檢測。后者則將人臉看做一個(gè)二維像素矩陣,通過大量的人臉部圖像構(gòu)造樣本空間,最終根據(jù)相似度來判斷是否有人臉存在。
這兩種檢測框架又分別發(fā)展了許多方法,本項(xiàng)目使用的是基于統(tǒng)計(jì)檢測方法中的神經(jīng)網(wǎng)絡(luò)算法。由于這種方法需要大量的訓(xùn)練才能夠使用,而訓(xùn)練分類器需要大量的計(jì)算以及時(shí)間,除此之外,我們項(xiàng)目中樣本比較少所導(dǎo)致的訓(xùn)練不精確會(huì)造成臉部識(shí)別錯(cuò)誤。因此選擇已經(jīng)訓(xùn)練好的分類器模板,直接運(yùn)用到視頻幀中來獲得所需的人臉區(qū)域。OpenCV開源的第三方跨平臺(tái)計(jì)算機(jī)視覺庫中提供的人臉識(shí)別分類器,剛好滿足項(xiàng)目需求,所以我們在該步驟中,選擇調(diào)用其中的Haar分類器完成。
3.4 人眼特征提取及疲勞檢測
3.4.1 形態(tài)學(xué)處理
由于需要將視頻幀中有效部分提取出來,方便后續(xù)更精準(zhǔn)快速地定位眼球位置,我們要對圖像做二值化處理,因此如何準(zhǔn)確地提取出視頻幀中的有效信息成為人眼識(shí)別的關(guān)鍵。比如在圖像中邊界等有效信息的灰度值往往比非邊界的灰度值高,那么我們可以把灰度值大于規(guī)定閾值的像素點(diǎn)標(biāo)出來,而剩余的無效信息則視為背景。
將這種算法轉(zhuǎn)換成函數(shù)表達(dá)式為:
0,x
255,x>S
其中S為規(guī)定的閾值,有效信息區(qū)設(shè)為255,即為白色,背景設(shè)為0,即為黑色,經(jīng)過處理后,圖像轉(zhuǎn)化為黑白二值圖。
3.4.2 霍夫圓變換
在圖像處理領(lǐng)域中,霍夫圓變換是從圖像中識(shí)別集合形狀非常有效的一種方法,能夠快速準(zhǔn)確地提取我們所需要的特征信息,例如項(xiàng)目中人眼的位置。傳統(tǒng)的霍夫圓變換是從黑白圖像中檢測圓形,上一步驟已經(jīng)將錄入的視頻幀轉(zhuǎn)化為二值圖,該步則需要將圖像做霍夫變換,定位眼球的具體位置。
霍夫圓變換的原理是初始認(rèn)為每一個(gè)非零像素點(diǎn)都有可能是某一個(gè)圓上的一點(diǎn),將每一點(diǎn)對應(yīng)的二維極值以及極角用三維的圓心x左邊、y坐標(biāo)和圓的半徑替換,三個(gè)變量生成累積坐標(biāo)平面,通過投票和設(shè)置累積權(quán)重定位圓。
將三個(gè)參數(shù)分別設(shè)為a、b、r,笛卡爾坐標(biāo)系中圓的方程為:
由a、b、r組成的三維坐標(biāo)系中,一個(gè)點(diǎn)可以唯一確定一個(gè)圓。在x-y坐標(biāo)系中經(jīng)過某一點(diǎn)的所有圓映射到該坐標(biāo)系中將會(huì)形成一條三維曲線,而在同一個(gè)圓上的點(diǎn)由于圓心左坐標(biāo)、直徑相等,即映射到三維坐標(biāo)系中同一點(diǎn)。由此我們可以通過設(shè)置閾值,并判斷某一圓心上模向量相交數(shù)量是否大于該閾值,來確定圓的位置。
3.4.3 疲勞檢測
系統(tǒng)在提取出的人臉區(qū)域中,對人眼進(jìn)行檢測,通過對圖像人臉區(qū)域進(jìn)行邊緣置白,然后搜索黑色連通片區(qū)域,得到一些可能是人眼的區(qū)域,再使用平滑處理排除單個(gè)黑色像素點(diǎn)對人眼檢測的影響,再收縮窗口以減小運(yùn)算量,使用黑色連通區(qū)域標(biāo)記法解決對于配戴眼鏡的駕駛員人眼定位不準(zhǔn)的問題,最后遍歷可能的人眼窗口并按照一定的條件判斷得到人眼的
位置。
根據(jù)有關(guān)研究發(fā)現(xiàn):駕駛員在駕駛時(shí)若眼睛閉合時(shí)間達(dá)到0.5s以上說明人眼較為疲勞,這種情況下很容易發(fā)生交通事故。本文的系統(tǒng)采用PERCLOS作為測量指標(biāo),首先計(jì)算出人眼睛的閉合時(shí)間和PERCLOS值,然后對人眼閉合時(shí)間做出判斷,當(dāng)時(shí)間大于0.3秒,并且PERCLOS值大于一定值時(shí),認(rèn)為該駕駛員不宜繼續(xù)駕駛,并對駕駛員進(jìn)行提醒。PERCLOS檢測方法的優(yōu)勢簡化了檢測方法,計(jì)算量小,運(yùn)算快捷,達(dá)到了實(shí)時(shí)性好、檢測準(zhǔn)確率高、抗干擾性強(qiáng)的效果。
4 總結(jié)
本系統(tǒng)從汽車駕駛方面出發(fā),通過對人眼檢測系統(tǒng)的研究,準(zhǔn)確有效地檢測人眼疲勞程度,降低交通事故發(fā)生率,給社會(huì)帶來長久的效益。
從交通部門角度看,人眼檢測系統(tǒng)的運(yùn)用有利于對潛在的交通隱患進(jìn)行有效的預(yù)防管理或更方便找出事故發(fā)生的成因。傳統(tǒng)的方法只能通過乘車者的監(jiān)督或采取加大宣傳力度、加強(qiáng)特定時(shí)間的巡邏監(jiān)控等。但人眼檢測可檢測駕駛?cè)耸欠衿隈{駛,節(jié)省人力物力資源,從而有效解決這一交通問題。另外,基于人眼的檢測,可優(yōu)化監(jiān)測管理系統(tǒng),利用計(jì)算機(jī)對不同人群的人眼跟蹤識(shí)別并顯示用戶部分特征,從而對犯罪事件、安全事件有一定的幫助,一定程度上維護(hù)社會(huì)的長治久安。
從駕駛員角度來看,使用基于人眼檢測系統(tǒng)的汽車駕駛輔助系統(tǒng),實(shí)時(shí)有效地檢測出駕駛員的疲勞程度,對需要休息的駕駛員發(fā)出提醒信息,提醒其停車休息。對保障駕駛員生命與財(cái)產(chǎn)安全、減少交通事故的發(fā)生,具有重大的意義。
從企業(yè)角度來看,近年來,隨著消費(fèi)者對交通工具安全性能的越發(fā)看重,很多企業(yè)已把安全系統(tǒng)的提高作為研發(fā)的重點(diǎn)。而人眼檢測系統(tǒng),在安全系統(tǒng)的指數(shù)得到提升的同時(shí)為企業(yè)降低了研發(fā)的成本。另外,人眼檢測系統(tǒng)可通過隨時(shí)檢測人臉和人眼的變化并實(shí)時(shí)跟蹤,利用傳感器、算法和可執(zhí)行層來實(shí)現(xiàn)輔助駕駛,從而大幅度提升駕駛的安全指數(shù)。而通過人機(jī)交互,用戶對使用該企業(yè)安全系統(tǒng)的反饋,有利于企業(yè)對安全系統(tǒng)不斷優(yōu)化,提高企業(yè)的經(jīng)濟(jì)效率和利潤。
通過調(diào)查分析發(fā)現(xiàn),對不同人群的人眼跟蹤識(shí)別并顯示用戶部分特征對輔助汽車駕駛有一定的幫助。不僅如此,隨著信息技術(shù)的不斷革新,人眼跟蹤技術(shù)的運(yùn)用領(lǐng)域不斷擴(kuò)大,汽車駕駛輔助系統(tǒng)、視頻監(jiān)控、人員跟蹤等都可將其運(yùn)用其中??梢?,智能識(shí)別系統(tǒng)正悄悄地走進(jìn)我們的生活,隨之而來的便是智能識(shí)別技術(shù)的研究價(jià)值不斷提高。本文系統(tǒng)在技術(shù)上使用圖像預(yù)處理、人臉檢測與人眼檢測相結(jié)合、平滑處理和PERCLOS方法,達(dá)到降低誤報(bào)率的效果,在創(chuàng)新上強(qiáng)化單一操作的性能,便于不同人群的使用,適應(yīng)符合當(dāng)代社會(huì)發(fā)展的需求,在市場上占有一定優(yōu)勢。