基于MATLAB的人眼檢測_第1頁
基于MATLAB的人眼檢測_第2頁
基于MATLAB的人眼檢測_第3頁
基于MATLAB的人眼檢測_第4頁
基于MATLAB的人眼檢測_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、目錄摘要IABSTRACTII1 緒論11.1 研究背景及意義11.2 國內(nèi)外疲勞駕駛研究現(xiàn)狀21.3本文的主要研究內(nèi)容及組織結(jié)構(gòu)32 人臉檢測與定位技術(shù)42.1人臉檢測與定位技術(shù)概述42.1.1基于圖像的人臉檢測方法42.1.2基于特征的人臉檢測方法52.2 Adaboost算法介紹62.2.1 AdaBoost 算法描述72.3 AdaBoost算法分類器102.3.1 分類器級聯(lián)策略102.3.2 級聯(lián)分類器誤差分析113 人眼定位技術(shù)123.1 常見的幾種人眼檢測方法123.2 矩形特征及積分圖143.2.1 矩形特征143.2.2 積分圖153.3 AdaBoost算法的改進163.

2、4 構(gòu)建雙層AdaBoost分類器進行人眼檢測183.4.1 人臉定位與人眼定位的差異183.4.2 人眼定位預處理193.4.3 人眼定位雙層分類器的構(gòu)建203.5 人眼定位算法的設(shè)計與實現(xiàn)204 人眼狀態(tài)識別214.1 基于橢圓擬合的人眼狀態(tài)分析215 基于PERCLOS標準的疲勞狀態(tài)分析235.1 PERCLOS方法介紹236 總結(jié)25參考文獻26附錄A28摘要隨著汽車工業(yè)的不斷發(fā)展,隨之而來的社會問題也愈加嚴重。交通事故給人們造成巨大傷害的同時,也給社會帶來沉重的負擔和影響。由于疲勞駕駛是引起交通事故的一個主要原因。因此,研究一種合理有效、實時準確檢測駕駛員疲勞駕駛的非接觸式車載裝置對

3、于減少交通事故,道路安全有重大意義。本文研究的主要內(nèi)容包括:人臉檢測、人眼定位、眼睛特征提取和狀態(tài)識別、疲勞程度的計算等算法的原理及實現(xiàn)。首先詳細闡述了經(jīng)典的 AdaBoost 算法,該算法涉及的內(nèi)容包括 Haar-Like 特征,弱分類器,級聯(lián)的 AdaBoost 分類器等。然后利用 AdaBoost 算法進行人臉檢測。雖然 AdaBoost 算法的檢測速度快,誤識率低,但是在樣本的權(quán)重更新過程中,對于分類錯誤樣本中的正、負樣本沒有加以區(qū)分,不利于提高正樣本的識別率。本文提出一種新的權(quán)重更新方法,對于分類錯誤的樣本,對判斷錯誤的正樣本給更高的權(quán)重,使得算法在下一輪迭代時,更加關(guān)注對分類錯誤的

4、正樣本的學習,從而提高對正樣本(人眼)的檢測率。采用基于最小二乘法對眼部的外輪廓進行橢圓擬合,根據(jù)擬合橢圓的參數(shù)來判斷眼睛的睜閉狀態(tài);采用結(jié)合 PERCLOS 和眨眼頻率的方法,對疲勞狀態(tài)進行檢測。關(guān)鍵詞:疲勞檢測,AdaBoost,人眼定位,PERCLOS AbstractWith the development of the automobile industry continuously, the social problems are more and more severe. The traffic accidents not only cause great harm to the

5、 people,but also bring heavy burden and effect to society. Because fatigue driving is a major reason that caused traffic accidents. Therefore, research a reasonable and effective real-time and non-contact device due to the detection of driver fatigue driving has great significance for reducing traff

6、ic accidents and raising road safety.In this paper, the main research contents are face detection, eye location, eye feature extraction, principle and realization of the calculation of fatigue degree. Firstly, the classical AdaBoost algorithm is produced in detail. which involves Haar-Like features,

7、 weak classifier,cascade AdaBoost classifier, etc. Next, face is detected based on AdaBoost algorithm.Although the AdaBoost algorithm with a low false positive rate is fast, there is no distinction between samples of error classification in the procedure of weight updating,which ignores hit rate of

8、positive samples. In this paper, a new method of weight updating is proposed to improve the hit rate of positive samples, which pays more attention to positive samples of error classification.After the region of drivers eyes is obtained, the ellipse fitting algorithm based on least squares method is

9、 used to fit the eye contours, and the eye state is identified according to parameters of ellipse. Then, the fatigue state could be detected based on PERCLOS and blink frequency.Keywords: fatigue detection, AdaBoost, eye location, PERCLOS361 緒論1.1 研究背景及意義所謂的疲勞駕駛,是指駕駛員在長時間持續(xù)駕駛或睡眠不足情況下而造成的反應能力下降,其主要表現(xiàn)

10、在駕駛員困倦、駕駛操作反應遲鈍或完全喪失駕駛能力。因疲勞駕駛而在全球每年導致數(shù)以萬計的交通事故和大量人員傷亡。據(jù)公安部交通管理局數(shù)據(jù),2010年全國共接報道路交通事故3906164起,同比2009年上升35.9%。其中,涉及人員傷亡的道路交通事故219521起,造成65225人死亡、254075人受傷,直接財產(chǎn)損失9.3億元。其中疲勞駕駛被列為超速行駛,酒后駕車之后的第三大引發(fā)道路交通事故原因。引起駕駛員疲勞駕駛的原因除上述的睡眠不足、長時間持續(xù)駕駛外,還與工作性質(zhì)與時間、人的生理周期、酒精以及藥物,乃至不同人的生活習慣、身體狀況、年齡差異有關(guān);另外,即使駕駛員狀態(tài)良好或者在注意力高度集中的情

11、況下,如果面對景色單一的高速公路,也容易因公路催眠而產(chǎn)生駕駛疲勞,從而導致自我控制能力減弱、判斷遲緩、動作僵硬、視力下降、注意力分散以及視野變窄等不良反應從而發(fā)生交通事故疲勞駕駛作為引發(fā)道路交通安全事故的重要原因,越來越引起人們的重視。由此可見,疲勞駕駛是一個比較嚴峻的問題,主要是由于它的隱蔽性很強,疲勞駕駛的發(fā)生很難預測和判定。因此,當駕駛員剛出現(xiàn)疲勞癥狀時,如果能發(fā)出預警,或者自動降低車速甚至強制其停車休息,則可以有效地加強行車安全,減少由于疲勞駕駛所引起的交通事故,避免因此產(chǎn)生的經(jīng)濟損失和人員傷亡。在過去的幾十年中,國內(nèi)外專家和學者都在積極研究疲勞駕駛,對疲勞檢測的方法也做了各方面的探索

12、,在一定程度上取得了很大的進步,但在實際應用過程中,還存在較多的問題,因此,如何及時有效的檢測出駕駛員的疲勞程度,減少因疲勞駕駛而引發(fā)的交通事故已經(jīng)成為當前智能運輸系統(tǒng)的研究熱點。為了降低因疲勞駕駛導致的交通事故發(fā)生率和人員傷亡數(shù)量,降低人為因素導致的交通安全隱患,本文對人眼疲勞值算法進行了研究。1.2 國內(nèi)外疲勞駕駛研究現(xiàn)狀目前國外的許多國家都對汽車安全方面投入了大量的資金,用來解決交通安全的問題。許多高校和科研機構(gòu)也都在該方面進行了大量的研究,并取得了豐碩成果。日本一家公司利用裝置在駕駛員頭部上方的傳感器來判定司機頭部位置。傳感器利用駕駛員頭部與其之間的距離計算并跟蹤頭部在三維空間當中所處

13、的位置,然后依據(jù)不同時間下駕駛員頭部產(chǎn)生的位移變化判斷其是否處于疲勞狀態(tài)。利用裝置在方向盤上的心跳感應器來檢測駕駛員的心跳速度,該系統(tǒng)每隔一段時間檢測一次,當司機處于疲勞狀態(tài)時心跳速度減慢,因此可以簡單易行的判斷出駕駛員是否處于疲勞狀態(tài)。英國科學家為司機研制的防瞌睡報警系統(tǒng),可以監(jiān)視司機開車時的眼睛和肌肉運動,大腦活動及心率等,如發(fā)現(xiàn)異常,系統(tǒng)能及時發(fā)出報警。美國研制的疲勞檢測系統(tǒng) DDDS(The Drowsy Driver DetectionSystem)。此系統(tǒng)采用多普勒雷達和復雜的信號處理方法獲取駕駛員煩躁不安的情緒活動、眨眼頻率和持續(xù)時間等疲勞數(shù)據(jù),判斷駕駛員是否處于瞌睡狀態(tài)。該系統(tǒng)

14、可以做成一個比較小的裝置,放在駕駛員頭頂上方,或頭頂前方某個地方,以免影響駕駛員的駕駛。2005年,澳大利亞的研究人員推出一款眼鏡,通過內(nèi)置于眼鏡中的紅外線傳感器監(jiān)測司機的眼瞼活動和眨眼頻率,并據(jù)此判斷司機是否疲勞。國內(nèi)在人臉識別技術(shù)和駕駛員疲勞檢測的研究方面起步較晚,相關(guān)技術(shù)還不成熟,同發(fā)達國家相比還有很大的差距,但一些高校和研究機構(gòu)還是投入了大量的精力進行研究,經(jīng)過幾十年的努力,在駕駛疲勞檢測方面也取得了一系列的成果。江蘇大學也在研究 PERCLOS 算法的基礎(chǔ)上,設(shè)計出一套系統(tǒng),該系統(tǒng)使用波長為 850/950mm的紅外圖像儀及差分圖像儀作為圖像采集器,由于利用紅外光源成像,排除了環(huán)境光

15、源的干擾,提高了裝置的適用性,滿足各種駕駛情況下對駕駛員狀態(tài)的監(jiān)測要求,同時可以得到關(guān)于關(guān)鍵部位(眼部)的差分圖像,提高了系統(tǒng)的實時處理能力,有一定的實用價值。1.3本文的主要研究內(nèi)容及組織結(jié)構(gòu)本文主要研究了人臉檢測和人眼定位基礎(chǔ)上的疲勞駕駛檢測方法,重點研究了快速的Adaboost人臉檢測算法,Mean-shift眼睛跟蹤算法,主要目的是在經(jīng)典的人臉檢測和定位算法的基礎(chǔ)上尋求一種改進的算法從而提高疲勞駕駛檢測的實時性和準確性。具體工作如下:(1)研究并實現(xiàn)了對于靜態(tài)圖像和視頻流中快速的人臉檢測定位的問題。采用經(jīng)典的Adaboost算法實現(xiàn)了人臉的快速檢測定位,該方法對于單個圖像的檢測率非常高

16、且耗時很少,滿足疲勞駕駛檢測對于實時性的要求。(2)研究并實現(xiàn)了基于Mean-shift算法的人眼實時跟蹤方法。通過在人臉檢測基礎(chǔ)上眼睛粗定位的基礎(chǔ)上,用灰度和顏色分布來表示人眼,將顏色的直方圖作為特征,實現(xiàn)了人眼輪廓的快速的實時跟蹤定位。(3)研究實現(xiàn)了眼睛特征提取和狀態(tài)識別的算法,通過對人眼內(nèi)外角點分別進行檢測定位和對人眼上眼瞼中間點的定位,擬合上眼瞼的輪廓曲線,利用上眼險與人眼內(nèi)外眼角點連線之間的距離實現(xiàn)了對眼睛狀態(tài)的量化分析。(4)結(jié)合PERCLOS標準和泛眼頻率實現(xiàn)對疲勞狀態(tài)的判決。本文共分為六章:第1章:主要介紹了疲勞駕駛檢測課題的研究背景和研究現(xiàn)狀以及發(fā)展趨勢和難點問題。第2章:

17、對經(jīng)典的Adaboost人臉檢測方法進行詳細闡述,并利用該方法實現(xiàn)快速的人臉檢測定位,并介紹利用其進行疲勞駕駛檢測。第3章:首先介紹了常見人眼定位方法,分析了各自的優(yōu)缺點,再具體闡述了AdaBoost 算法采用的 Haar-Like 矩形特征,然后分析了 AdaBoost 算法的一些不足,給出了改進方案,最后提出采用人臉檢測人眼定位的雙層 AdaBoost 分類器進行人眼檢測。第4章:研究實現(xiàn)了眼睛特征的提取和狀態(tài)的識別。第5章:人眼狀態(tài)的識別和疲勞判定模塊,利用PERCLOS 和眨眼頻率對駕駛員進行最終的疲勞判定,達到對疲勞駕駛的預警提示。第6章:對本文進行了總結(jié)與展望,對本文所做的工作進行

18、總結(jié)。2 人臉檢測與定位技術(shù)對于人眼疲勞檢測的研究,首先要檢測到人臉,在此基礎(chǔ)上提取眼睛的狀態(tài)參數(shù)作為特征信息來實現(xiàn)。因此疲勞駕駛檢測基礎(chǔ)是人臉以及人眼的檢測定位,人臉檢測旳方法有很多,使用特定的硬件設(shè)備,采用紅外照明,可以直接檢測出睛孔的準確位置,從而定位出眼睛,進行后續(xù)的測量;其次可以先通過檢測出人臉,減小圖像中的搜索范圍,再對檢測的人臉區(qū)域進行搜索,找出眼睛的位置。前一種利用硬件定位虹膜的方法,一旦眼睛識別失誤,系統(tǒng)將不能運行,而后一種方法,只要準確的檢測出人臉,就可以定位人眼的位置。本文采用先檢測出人臉的位置,然后在人臉區(qū)域進行眼睛定位的方案。2.1人臉檢測與定位技術(shù)概述人臉檢測是指在

19、不同的背景條件中檢測出人臉的所在,并將其從背景中分割出來,確定出其位置。此過程主要受光照、噪聲、頭部擺動以及其他外部條件的影響。人臉檢測是我們進行疲勞駕駛檢測的第一步也是基礎(chǔ),只有準確的檢測定位出圖像中人臉的準確位置,才能進行后面的工作。而在實際生活中人臉檢測常用于門禁系統(tǒng)、圖像檢索、人機交互等方面。人臉檢測的基礎(chǔ)是建立人臉模型,先遍歷所有的待檢測區(qū)域后與所建立的人臉模型的進行匹配,之后得到可能存在人臉的區(qū)域。目前主要的人臉檢測方法可以分為兩大類,基于圖像的人臉檢測方法以及基于特征的人臉檢測方法。前者屬于一般的模式識別問題,將待檢測圖像作為人臉檢測的輸入,不需要對圖像進行特征提取以及處理,直接

20、進行訓練后將樣本分為人臉和非人臉兩種類別,而后進行人臉檢測:后一種方法需要提取人臉的各種特種,例如膚色信息、人臉的輪廓結(jié)構(gòu)、表情信息等,這一種方法是大部分人臉檢測所采用的方法,采用經(jīng)典的模式識別算法來實現(xiàn)。2.1.1基于圖像的人臉檢測方法基于圖像的人臉檢測一般不考慮圖像的先驗知識,不需要對圖像進行特征提取和處理,直接將圖像作為系統(tǒng)的輸入,利用一般的模式識別算法進行訓練,將樣本圖像分類為人臉類和非人臉類,而后將訓練得到的人臉類和待檢測區(qū)域進行匹配,進行人臉檢測。常見的基于圖像的人臉檢測方法有線性子空間法、神經(jīng)網(wǎng)絡(luò)法、統(tǒng)計法等。1.線性子空間方法可以將人臉圖像看成處于整幅圖像的一個子空間中。通常用

21、神經(jīng)學的方法表示子空間,也可以用諸如主元分析以及線性判定分析等方法來表示。2.神經(jīng)網(wǎng)絡(luò)方法神經(jīng)網(wǎng)絡(luò)方法是解決模式識別問題的重要方法,也經(jīng)常被用來解決人臉識別問題。其通過訓練過程中樣本進行自學習,具有一定的自適應性和魯棒性,避免了特征提取的環(huán)節(jié),節(jié)省了運算時間。3.統(tǒng)計法除以上兩類統(tǒng)計方法外。還有基于貝葉斯決策方法的人臉檢測和基于支撐矢量機方法的人臉檢測方法。2.1.2基于特征的人臉檢測方法1.特征分析的方法常見的有兩種方法,其一將單個人臉特征的相對位置作為基礎(chǔ),進行序列特征搜索;其二利用各種常見的人臉模型將人臉特征分類,建立不同的群類。例如,特征搜索法和構(gòu)象分析法就屬于這種方法。2.利用活動模

22、型的方法所謂的活動模型是指模型本身是一種真實的身體特征。活動模型同局部特征相互作用,最終逐漸的將形成所要檢測特征的形狀。當前常用的活動模型主要有:Snake模型點的分布模型以及變形模型它就會同局部特征相互作用,利用活動模型解決人臉定位問題是近年來比較流行的方法。3.底層分析的方法底層分析主要指對圖像的邊界、灰度、顏色、尺寸等信息進行分析比較,得到所需要的檢測特征。由于基于特征的人臉檢測一般都考慮圖像的先驗知識,基于圖像邊界的檢測方法通過結(jié)合人臉圖像尺寸的先驗知識,對邊界進行處理,提取角點及其邊緣點,舍去那些突起的點,對整個圖像進行搜尋后進行匹配確認。觀察一個人的臉部圖像,會發(fā)現(xiàn)眼睛、眉毛、嘴唇

23、等處的灰度變化較之臉部的其他地方灰度要小。利用這樣的性質(zhì),可以通過基于灰度信息的方法進行人臉檢測,如通過水平方向和垂直方向的積分投影來定位眼睛和眉毛的位置,進行眼睛的檢測以及定位。2.2 Adaboost算法介紹分類是模式識別檢測的關(guān)鍵,人們都希望研究出精度很高的機器學習算法。機器學習算法可以粗略的分為強學習算法和弱學習算法。強學習算法準確率很高,但是往往結(jié)構(gòu)復雜,計算開銷很大,與算法本身的質(zhì)量相比,成本過于龐大,難以在實際生活中得到廣泛的應用;弱學習算法結(jié)構(gòu)簡單,但準確率不高,僅比隨機猜測略好。一個自然的想法就是能否將弱學習器“提升”或“集成”為強學習器呢?Schapire 最初提出的 Bo

24、osting 算法就是在這種思想下建立和發(fā)展的。Boosting 算法是一種基于簡單有效分類策略的機器學習方法,是集成學習的核心內(nèi)容和研究熱點。Boosting 是推助、提升的過程,它是將一系列比隨機猜測略好的弱分類器加權(quán)組合為強分類器的算法。Boosting 這種特性受到了越來越多學者的重視,成為圖像處理等領(lǐng)域的研究熱點之一。AdaBoost 算法最早起源于 Schapire 在 1990 年提出的 Boosting 算法,它是一種能夠提高任意給定學習算法準確率的方法。AdaBoost 算法的基本思想是利用大量的分類能力一般的弱分類器(Weaker Classifier)通過一定的方法疊加(

25、Boost)起來,構(gòu)成一個分類能力很強的強分類器(Stage Classifier),再將若干個強分類器串聯(lián)成為級聯(lián)分類器(Classifier Cascade)完成目標的搜索檢測。本文就是利用AdaBoost 算法將由 Haar-Like 特征生成的弱分類器疊加成為強分類器,再將強分類器串聯(lián)成為級聯(lián)分類器,進行人眼檢測。在眾多的 Boosting 算法中,AdaBoost算法因其有以下優(yōu)點而被廣泛使用:(1)算法速度快;(2)不需要知道任何關(guān)于弱分類器的先驗知識;(3)對弱分類器的性能要求不高,只需要比隨機猜測性能稍好即可,這種弱分類器在實際情況下很容易獲得,從而降低了算法的復雜度,提高了效

26、率;(4)在弱分類器的構(gòu)成上可以兼容多種方法,這些弱分類器可以是神經(jīng)網(wǎng)絡(luò)、決策樹、最近鄰域分類器、經(jīng)驗規(guī)則等;(5)訓練數(shù)據(jù)可以是文本、數(shù)字、離散值等,并且 AdaBoost 算法很容易被推廣到多類目標的分類問題中去。2.2.1 AdaBoost 算法描述根據(jù)假設(shè)第i個訓練樣本在第t次迭代時分布權(quán)重為(t,i),初始化時所有權(quán)重歸一化(t,i)=1/m,m 為樣本數(shù),然后調(diào)用弱學習算法進行 T 輪迭代,在每一輪的迭代中,弱學習算法的目標就是根據(jù)訓練樣本的權(quán)重(t,i)產(chǎn)生一個弱分類器 ht最簡單的情況就是二值分類問題,即 ht:X-1,+1分類器性能的好壞由t其誤差率決定。 (2.1)每次迭代

27、后按訓練結(jié)果更新樣本的分布,對訓練誤判的樣本賦予較大的權(quán)重,也就是讓學習算法在后續(xù)的學習過程中關(guān)注于這些分類困難的樣本,再對重新分布的訓練集進行學習。T 次訓練結(jié)束后,AdaBoost 算法得到一系列弱分類器 h1, h2, ht并給每個弱分類器賦予一個權(quán)重1,2, t表示該弱分類器的重要性。AdaBoost 算法是一種迭代方法,它是通過改變數(shù)據(jù)分布來實現(xiàn)的。它根據(jù)每輪訓練中每個樣本的分類是否正確,以及上輪的總體分類準確率,來確定每個樣本的權(quán)重,然后將每次訓練得到的分類器融合起來,作為最后的決策分類器。在AdaBoost 算法中,每一個訓練樣本都被賦予一個權(quán)重,表明它被某個弱分類器選入訓練集的

28、概率。如果某個樣本沒有被正確的分類,那么在構(gòu)造下一個訓練集時,它被選中的概率就會增加;相反,如果某個樣本已經(jīng)被正確的分類,那么在構(gòu)造下一個訓練集時,它被選中的概率就會降低。通過這樣的方式,AdaBoost 算法能夠“聚焦于”那些較困難的樣本上。在具體的實現(xiàn)時,最初令每個樣本的權(quán)重都相等,對于第 t 次迭代操作,就根據(jù)這些權(quán)重來選取樣本,進而訓練分類器ht 。然后就根據(jù)這個分類器,來提高被它錯分的那些樣本的權(quán)重,并降低被正確分類的樣本權(quán)重。然后,權(quán)重更新后的樣本集被用來訓練下一個分類器ht+1 。整個訓練過程如此循環(huán)下去。理論證明:若每個弱分類器的分類能力比隨機猜測好,那么當弱分類器的個數(shù)趨向于

29、無窮時,強分類器的錯誤率將趨近于零。對于二值分類問題,已知訓練樣本集(x1,y1), (xm,ym),xiX,yi-1,+1,待分類樣本有k 個簡單矩形特征,表示為fjxi,其中1jk。對于第 i 個樣本x1,它的特征為f1xi, f2xi, fkxi,對每一個輸入特征fj有一個簡單的二值弱類器。第 j 個特征的弱分類器由一個閾值j、一個特征fj和指示不等式方向的偏置pj構(gòu)成 hjx=+1 if pjfj<pjj-1 else (2.2)可以看到,一個較低的閾值可以產(chǎn)生一個高檢測率的分類器,但它的誤識率也相應很高;相反,較高的閾值可以產(chǎn)生一個低檢測率、低誤識率的分類器。AdaBoost

30、算法構(gòu)建強分類器的具體過程如下:(1) 對所有樣本初始化權(quán)重。1,i=1m (2.3)(2) 經(jīng)過 T 輪迭代訓練,挑選出 T 個弱分類器組成強分類器。(3) 最后得到的強分類器為Hx=1 0 else (2.4)其中為弱分類器的投票加權(quán)重。以上過程的意義可以簡單的表述為:每一輪迭代過程在當前的概率分布上找到一個具有最小錯誤率的簡單分類器,然后調(diào)整概率分布,增大當前簡單分類器分類錯誤的樣本的概率值,降低當前簡單分類器分類正確的樣本的概率值,以突出分類錯誤的樣本,使下一次迭代更加針對“困難”的樣本,使得那些被錯分的樣本到進一步重視,后面訓練得到的新的簡單分類器就會更加強化對這些分類錯誤樣本的訓練

31、,這樣經(jīng)過多次迭代之后,產(chǎn)生的每一個新分類器基本上可以解決已有分類器不能很好分類的樣本。從而得到一個弱分類器序列,每個弱分類器賦予一個權(quán)重,分類效果好的相應權(quán)重就大。T 輪迭代后,最終的強分類器采用帶權(quán)重的投票法產(chǎn)生。圖2.1給出了T 輪AdaBoost算法的流程圖。開始給定訓練樣本(x,y)x1ht,y)初始化樣本權(quán)重ht置t=0t<T?NY計算弱分類器hj(x)的加權(quán)錯誤率j=i=1nwt,i|hjxi-yi|遍歷所有分類器,找出一個具最小錯誤率的簡單分類器 ht ,t=t+1t,t=t+1更新樣本權(quán)重權(quán)重歸一化獲得強分類器結(jié)束圖2.1 AdaBoost算法流程圖2.3 AdaBoo

32、st算法分類器由 AdaBoost 算法的收斂性能分析可以看出,通過增加 AdaBoost 算法中迭代次數(shù)T 可以使得最終強分類器的分類誤差盡量的小。然而,隨著T 值的增加,強分類器中所包含的弱分類器的數(shù)目也不斷增加,就使得檢測過程中的計算量增加。例如利用一個具有數(shù)百個弱分類器組成的強分類器進行檢測的時候,需用所有的弱分類器對圖像的每一個子窗口都檢測,這大大的降低了檢測的效率,因而很難達到實時應用目的。為了減少計算時間,提高檢測效率,可以構(gòu)造分層的分類器,其主要思想是:設(shè)計一個規(guī)模小的、效率高的、逐步漸進的分類器,使得該分類器在搜索過程中能拒絕大多數(shù)的負樣本。這種設(shè)計是逐級提高檢測精度,前面幾

33、級使用的特征數(shù)目較少,結(jié)構(gòu)較簡單,主要進行非目標的排除,后面的弱分類器特征數(shù)目越來越多,檢測精度越來越高,由于需要檢測的子窗口越來越少,從而能夠顯著地提高檢測的速度,以滿足實時系統(tǒng)的要求。2.3.1 分類器級聯(lián)策略一個典型的Adaboost訓練算法可以被簡單的看成是對特征進行貪心選擇的過程。一個簡單的boosting問題包含了非常多的弱分類器,這些弱分類器通過加權(quán)投票被組合在一起,經(jīng)過T次迭代后,獲得了T個最佳弱分類器,當這個強分類器對一幅圖像待檢測時,相當于讓構(gòu)成該強分類器的所有弱分類器投票,再對投票結(jié)果按照弱分類器的錯誤率加權(quán)求和,將投票加權(quán)求和的結(jié)果與平均投票結(jié)果比較得出最終的結(jié)果。輸入

34、人臉樣本進一步檢測第一級聯(lián)分類器第一級聯(lián)分類器第一級聯(lián)分類器被排除的樣本圖2.2 多分類器級聯(lián)結(jié)構(gòu)2.3.2 級聯(lián)分類器誤差分析由級聯(lián)分類形式和構(gòu)造過程可看到,對于一個已經(jīng)訓練好的級聯(lián)分類器,它的誤識率是: Õ (2.5)檢測率是:Õ (2.6)N 為分類器的層數(shù),是每層分類器的誤識率,是每層分類器的檢測率。由以上兩個公式可以看出,整體的檢測率和誤識率可以通過設(shè)定多層分類器的各個階段的檢測率和誤識率來達到。比如最終檢測率 0.9 可以用 10 層,每層的檢測率為 0.99 的分類器得到 0.9。每層的檢測率相當容易達到。而每一層的檢測率和誤識率在該層分類器的學習過程中達到,

35、如果該層分類器不能夠排除足夠的反例,則增加分類器的個數(shù)并重新進行分類器的學習直到達到要求為止。同時可以發(fā)現(xiàn),如果增加級聯(lián)的層數(shù),雖然能夠減小誤識率,但是相應的檢測率也會降低,使得許多正樣本被錯誤剔除,而且還會增加檢測的時間,因此不可能無限的增加級聯(lián)分類器的層數(shù)。另外,由式(2.2)可以看出,適當?shù)慕档烷撝的軌蛱岣邫z測率,但同時仍然會增大誤識率,因此無論是增加級聯(lián)分類器的層數(shù)還是降低閾值,都無法同時提高檢測率而又降低誤識率。這也是制約 AdaBoost算法在疲勞檢測系統(tǒng)中應用的一個重要問題。針對這個問題,將會在第 3 章中進一步討論。3 人眼定位技術(shù)在第 1 章中講到,采用 PERCLOSE 原

36、理的疲勞駕駛檢測方法,關(guān)鍵是能夠準確判斷出駕駛員眼部的睜閉狀態(tài),但是在這之前還要能夠在圖像中準確定位出駕駛員的眼睛區(qū)域的位置,所以在駕駛員疲勞識別中,人眼的定位和狀態(tài)識別是基于 PERCLOSE 的疲勞檢測方法的關(guān)鍵步驟。在整個駕駛員疲勞檢測系統(tǒng)中為了能夠準確的檢測到眼睛區(qū)域,可以采用先確定人臉區(qū)域,然后在人臉區(qū)域內(nèi)進一步檢測、定位人眼的方法,這樣可以使得眼睛的檢測與定位相對準確一些。因為同一個人的人臉和眼睛相比較,人臉擁有更多的信息量,檢測人臉相對于定位眼睛會更容易更準確。識別出人臉區(qū)域有利于縮小眼睛定位的范圍,避免被背景圖像所干擾。不僅如此,研究人臉定位的意義還在于,人臉定位的技術(shù)也可以同

37、時給眼睛定位提供參考。圖 3.1 是利用人臉識別的駕駛員疲勞檢測流程圖。人眼狀態(tài)識別PERCLOS計算疲勞判斷人眼定位人臉定位視頻采集圖 3.1 運用人臉識別的駕駛疲勞檢測系統(tǒng)圖本系統(tǒng)首先從視頻幀中提取出人臉,再在人臉區(qū)域上搜索人眼,進行眼睛區(qū)域的定位。由于人臉檢測和人眼檢測的實現(xiàn)原理基本一致,因此本章接下來將主要以人眼檢測為例進行闡述。本文使用 Haar-Like 特征作為分類特征,該特征可以利用積分圖像進行快速計算,最后將訓練得到的弱分類器進行組合就得到了最終的分類器。3.1 常見的幾種人眼檢測方法人臉識別一直是計算機視覺研究的熱點和難點,眼睛作為臉部特征的重要組成部分,往往被研究人員作為

38、一種人臉識別中重要的依據(jù)。一種快速、準確的人眼檢測算法不僅可以提高檢測和識別的速度,還能夠降低識別算法的復雜度,提高人臉檢測的實時性,而且在基于視覺的疲勞檢測領(lǐng)域中,通常利用人眼信息來判斷駕駛員的疲勞程度,從而發(fā)出警報,提醒駕駛員。因此,人眼檢測對于疲勞檢測后續(xù)的眼部狀態(tài)識別和疲勞判斷至關(guān)重要。目前,人眼定位主要有基于幾何特征、基于模板匹配、基于統(tǒng)計學習的方法?;趲缀翁卣鞯姆椒ǎ喝搜墼谀槻恐形恢锰卣鬏^為明顯,如眼睛在人臉中的位置和兩眼間的距離一般是一個固定的常數(shù)。正常情況下,人眼具有明顯的對稱性、眼睛與其他人臉局部特征(如眉毛、鼻子)的相對位置、人眼特定的幾何形狀都可以用來對人眼進行定位。雖

39、然基于幾何特征的人眼檢測方法,充分利用了人臉面部的幾何特性,對一些背景簡單的正面人臉圖像具有較好的檢測效果,但這種幾何特性對人的姿態(tài)和光照要求很高,僅僅使用這種法難以獲得理想的檢測效果。因此,基于幾何特征的方法,一般是作為一種輔助方法與其他方法結(jié)合進行人眼定位?;谀0迤ヅ涞姆椒ǎ涸摲椒▽⒀鄄磕P瓦M行函數(shù)參數(shù)化,在檢測時,在圖像搜索區(qū)內(nèi)逐點平移眼睛參考模板圖像,根據(jù)某個相似性準則來計算待檢測圖像某一位置區(qū)域和參考模板的相關(guān)值,然后根據(jù)相關(guān)值來判斷此區(qū)域是否人眼,相關(guān)值在設(shè)定的標準內(nèi)就判定該區(qū)域為人眼,否則非人眼。模板匹配的方法對背景比較簡單、臉部特征較規(guī)整的圖像能夠進行有效的人眼檢測,但是該方

40、法計算量大,實時性差,而且由于眼睛的個體差異性,所建立的模板很難滿足不同人眼的需求,導致檢測結(jié)果不是最優(yōu),在通用性方面受到了很大限制。基于統(tǒng)計學習的方法:該方法通過對大量人眼樣本和非人眼樣本進行訓練學習得到一組模型參數(shù),根據(jù)模型來構(gòu)建人眼分類器。在使用時,利用訓練好的分類器對輸入圖像逐區(qū)域進行掃描完成人眼檢測。這種方法具有較高的準確率,已越來越多的進入人眼檢測的研究和應用中。在眾多的統(tǒng)計方法中,以 AdaBoost算法應用最為廣泛,該方法魯棒性好、漏檢率較低,雖然計算量很大,但是在實際檢測中采用 Haar-Like 特征和級聯(lián)的結(jié)構(gòu),使檢測速度大大提高。在駕駛疲勞檢測系統(tǒng)中最為關(guān)鍵的要求是非接

41、觸式、實時性、高準確率。考慮以上方法的特點,為解決眼睛定位的實時性、準確性問題,本文采用較為成熟的基于統(tǒng)計學習方法中的 AdaBoost 算法進行駕駛員人臉檢測和人眼定位。3.2 矩形特征及積分圖Viola等在2001年提出一種基于Boosting方法的實時人臉檢測系統(tǒng),該系統(tǒng)的檢測速度可以達到每秒15幀,實時檢測速度及檢測準確率表現(xiàn)優(yōu)異,這是人臉檢測從研究走向?qū)嵱玫囊淮钨|(zhì)的飛躍。他們對人臉應用積分圖方法計算矩形特征,用其得到的結(jié)果訓練分類器。3.2.1 矩形特征(1)Haar-like特征Haar-like特征是Viola等提出的一種簡單矩形特征,因其類似于Harr小波而得名。Haar-li

42、ke特征的定義是黑色矩形和白色矩形在圖像子窗口中對應的區(qū)域的灰度級總和之差,可見,它反映了圖像局部的灰度化。Viola等用到的Haar-like特征總共有三類,如圖3.2所示,其中第一行屬于二矩形特征,第二行左邊一個屬于三矩形特征,右邊一個屬于四矩形特征。每個圖像可得到用于訓練的Haar-like特征超過18萬個,但是實際上不一定需要這么多,因為過多的特征會加大訓練過程的時間和空間復雜度,實際上過細的特征中會引起過多的冗余,所以在選擇特征時可適當放粗一些。圖3.2 四種矩形Haar-like特征(2)Walsh特征離散沃爾什變換(DWT: Discrete Walsh Transform)是數(shù)

43、字信號處理方面經(jīng)常采用到的一種正交變換,并且該變換同離散傅立葉變換一樣,可以很好的反映數(shù)字信號的頻率變換情況,而且變換矩陣只是由±1組成,可以較大程度減少計算量。Walsh特征構(gòu)造方法如下:設(shè)Walsh特征算子的高度、寬度分別為m、n(必須是2的整數(shù)次方);分別構(gòu)造m m、n n維的沃爾什變換矩陣Hm、Hn;得到Walsh特征算子: =()();由于所有m n維的Walsh特征算子都相互正交,這意味著它對圖像某個局部特征的提取不產(chǎn)生冗余,并且特征算子的形狀比Harr-like特征算子的形狀要豐富。另外,m、n都要求是2的整數(shù)次方,所以對一幅訓練圖像而言,它的全部Walsh特征數(shù)是有限

44、的,即Walsh特征的數(shù)量小于Harr-like特征的數(shù)量。實際Harr-like特征提取過程中,很多特征都非常相近,冗余很大,采用Walsh特征來代替Harr-like特征可以大大降低特征之間的冗余。(3)Gabor特征從人臉圖像中提取特征的類型很多,如:幾何特征、邊緣特征、PCA特征、小波特征、Gabor特征等,相比于其它特征,Gabor特征因其濾波器的脈沖響應函數(shù)與哺乳動物的視覺皮層中簡單型細胞對圖像信號的響應非常相似,故可以對人臉圖像做出多尺度、多方向的描述,并且具有很強的刻畫細節(jié)與局部結(jié)構(gòu)能力。同時,Gabor濾波器的帶通濾波的特性還能去除圖像中高頻噪聲。與小波變換類似,利用Gabo

45、r變換也可以對圖像做多分辨率分析,由于人的視覺系統(tǒng)具有對數(shù)頻程性質(zhì),在對Gabor小波展開時也通常采用在頻域或者空間域上的非均勻采樣方法。常用的方法是,對的Gabor濾波器取一系列以固定倍數(shù)增長的波長和間隔的方向,構(gòu)成多角度、多方向的Gabor濾波器組。當利用Gabor濾波器組提取圖像的特征時,通常以濾波器的輸出響應的實部絕對值或者幅值作為Gabor特征。3.2.2 積分圖2001年,Viola等提出積分圖(Integral Image)概念,其目的是為了快速的計算分類器所需的矩形特征。若定義一幅圖像的像素灰度為i(x,y),則某像素處的積分圖像值定義為(3.1)要得到一幅輸入圖像I的積分圖像

46、,只需逐點掃描原圖像一次,就可計算出來。 (3.2) (3.3)其中,s (x, y)為點(x ,y)所在位置的行列積分值。如此,兩個矩形內(nèi)像素和的差可以由積分圖上的六個點計算得到,而三個矩形內(nèi)像素和的差可以由積分圖上的八個點計算得到。如圖3.3,先掃描圖像求出各點像素值,則灰色區(qū)域像素值的和可以由(5+1-2-4)得到,下半部分區(qū)域像素值的和為(2+6-3-5),則該矩形Harr-like特征值為兩式之差,即(5+1-2-4-2-6+3+5)圖3.3 求矩形特征像素差示例Harr-like特征主要有三類,如圖3.2所示。a與b的矩形Harr-like特征為兩個矩形內(nèi)像素灰度值分別求和之差的,

47、c的矩形Harr-like特征為兩邊矩形框的灰度值之和減去中間矩形的灰度值之和,d矩形Harr-like特征為兩條對角線的矩形框的灰度值和的差值。3.3 AdaBoost算法的改進在基于統(tǒng)計學習的檢測算法中,AdaBoost 算法是主流的方法,經(jīng)過幾年的發(fā)展,基于 AdaBoost 的人臉檢測算法取得了很大的成功,檢測率已經(jīng)達到很高的水平,而且可以達到實時檢測,本文的算法就是基于此算法。在 2.2 節(jié)中對 AdaBoost 算法有過介紹,在訓練過程中,所有的正負樣本都被賦予一個相等的初始權(quán)重,當某一輪分類器訓練完成后,會根據(jù)其在訓練集上的分類結(jié)果和總體的分類準確率來調(diào)整樣本的權(quán)重:在下一輪迭代

48、時,本輪分類錯誤的樣本的權(quán)重增加(概率增大),本輪分類正確的樣本權(quán)重降低(概率降低),使得在下一輪迭代時,弱分類器更加關(guān)注分類錯誤的樣本。也就是說隨著訓練迭代次數(shù)的不斷增加,AdaBoost 算法的重心將逐漸地轉(zhuǎn)移到較難分類的樣本上,然而該算法對于這些較難分類的樣本中的正負樣本并沒有針對性的加以區(qū)分。另外,隨著迭代次數(shù)的增加較難分類樣本的權(quán)重不斷擴大,而曾經(jīng)已經(jīng)分類正確的樣本的權(quán)重越來越小,當較難分類樣本的權(quán)重過度擴張后,分類正確的正樣本比例嚴重下降,會導致算法的檢測率降低。并且 AdaBoost 算法的一個重要指標就是對正樣本的識別率,對于較難分類的樣本,正確識別正樣本的價值要遠超過正確識別

49、負樣本的價值。為了減緩較難分類樣本權(quán)重的過度擴張并提高對正樣本的識別率,本文提出一種新的樣本權(quán)重更新方法,在保證傳統(tǒng) AdaBoost 算法偏重難分類樣本的基礎(chǔ)上,對于被誤判為負樣本的正樣本賦予更高的權(quán)重,使得算法更加關(guān)注于難分類樣本中的正樣本,以提高對正樣本的檢測率,同時融合弱分類器的動態(tài)投票加權(quán)值,進一步提高檢測率、加快算法的收斂。改進的算法流程為:進行 T 輪迭代訓練,挑選出 T 個弱分類器組成強分類器。(1)歸一化樣本權(quán)重,使樣本權(quán)重能夠代表樣本的出現(xiàn)概率 (3.4)(2)對每個特征 j ,訓練一個弱分類器,計算其加權(quán)錯誤概率 (3.5)(3)遍歷所有特征和弱分類器,找出一個具有最小加

50、權(quán)錯誤率j的弱分類器ht,記錯誤概率為t;(4)計算識別正確的正樣本的權(quán)重和 (3.6)求解弱分類器的投票加權(quán) (3.7)其中為常數(shù),一般取,s為所有正樣本的權(quán)重和;(5)為下次迭代更新樣本權(quán)重 (3.8)由于,則,顯然,改進后的 AdaBoost算法既保留了傳統(tǒng)算法強化困難樣本的學習規(guī)則,同時更加關(guān)注困難樣本中的正樣本,從而減緩了困難樣本中的負樣本權(quán)重的過度擴張。由于困難樣本中的正樣本權(quán)重比負樣本的權(quán)重增加的快,當權(quán)重歸一化后,在下一輪迭代過程中,其概率將變大,這就保證了正樣本在訓練過程中能夠得到更多的重視,從而有利于提高正樣本的識別能力。在引入新的弱分類器投票加權(quán)中,代表了弱分類器對正樣本

51、的識別能力,是的遞增函數(shù),越大,說明選擇的弱分類器對正樣本的識別能力越強,也就越大,在錯誤率相同的情況下,對正樣本具有更強識別能力的弱分類器就具有更大的投票權(quán)重,從而能加快訓練過程的收斂,并提高檢測的精度。3.4 構(gòu)建雙層AdaBoost分類器進行人眼檢測通過以上分析可見,Viola 用于人臉定位的方法同樣可以用于人眼定位,只需在訓練樣本時將人臉樣本圖像替換為人眼的樣本圖像即可,其他步驟均可按照人臉定位的步驟進行。3.4.1 人臉定位與人眼定位的差異在本章的開始介紹了疲勞檢測系統(tǒng)的第一步是人臉的定位(圖 3.1),雖然可以采用 Viola 的方法像人臉檢測那樣,訓練一個人眼分類器來進行人眼定位

52、,但是一般不像人臉檢測一樣直接在待檢測圖像中定位人眼。直接對整個待檢測圖像進行人眼定位是具有可操作性的,但是在實際檢測時往往會發(fā)現(xiàn)人眼的誤識率明顯高于人臉的誤識率。在現(xiàn)實生活中,類似人眼的物體很多,要構(gòu)建一個能可靠區(qū)分“人眼”和“非人眼”的分類器相當困難。人臉圖像的邊緣信息量一般高過人眼圖像,這使得人臉圖像在訓練中能夠和復雜背景圖像構(gòu)成的負樣本保持更高的區(qū)別度。而人眼圖像的邊緣信息量相對較少,其中閉眼圖像的邊緣信息量相對于睜眼圖像又略微低一些,使得人眼圖像,特別是閉眼圖像與復雜背景圖像在訓練過程中較難以分辨。此外,還有其他因素使得人眼的定位難于人臉定位,例如因為人眼區(qū)域小于人臉區(qū)域,對于一些清

53、晰度不高的視頻采集設(shè)備,往往得到的人眼區(qū)域圖像比較模糊,直接在圖像中實施人眼檢測會因為目標過小致使精度不高。3.4.2 人眼定位預處理在定位好了人臉以后,接下來的工作就是試圖在人臉區(qū)域中檢測到人眼區(qū)域。要在整個人臉區(qū)域進行人眼檢測,計算量還是比較大的。如果在人眼檢測前能利用某種方法進一步的縮小人眼檢測的候選區(qū)域,把人眼檢測的搜索區(qū)域降低到更小,那么就能為接下來的檢測工作節(jié)省計算量,提高搜索速度。衡量一個人的臉部是否美觀有一個“三庭五眼”標準,這個“三庭”就是從發(fā)際線到眉間連線、從眉間到鼻翼下緣、從鼻翼下緣到下巴尖,上中下各占整個面部的三分之一,如圖 3.4 所示。圖 3.4 人臉的“三庭”標準

54、圖這樣,當定位好了人臉區(qū)域以后,就可以通過“三庭五眼”標準設(shè)定眼睛區(qū)域的大致范圍,最后利用訓練好的人眼分類器,在該區(qū)域內(nèi)搜索人眼。這種通過構(gòu)建雙層分類器縮小區(qū)域搜索的方法可以快速的定位出眼睛,提高系統(tǒng)的檢測速度,同時能極大地降低眼睛誤識率,提高檢測的精度。3.4.3 人眼定位雙層分類器的構(gòu)建雙層 AdaBoost 分類器是人臉分類器和人眼分類器的級聯(lián)過程。整個分類器由兩部分組成:人臉 AdaBoost 分類器和人眼 AdaBoost 分類器。首先,提取一幀視頻圖像,掃描圖像進行人臉檢測,此時采用較大的檢測窗口,然后將已經(jīng)標定的人臉區(qū)域按照“三庭五眼”的結(jié)構(gòu),進一步劃分出人眼的大概區(qū)域,再將該區(qū)

55、域送入人眼 AdaBoost 分類器,最后輸出人眼部分。雙層 AdaBoost 分類器能有效抑制人眼誤識率。由于人臉特征比較豐富且相對比較固定,因此利用 AdaBoost 算法對人臉樣本進行訓練時,通??梢允褂酶唛撝刀€能保證較高的識別率,因此人臉檢測的誤識率通常很低。這樣就可以利用人臉檢測的信息對人眼進行檢測,排除人嘴和背景中誤識的部分,從而可以在保持原有檢測率的基礎(chǔ)上有效地抑制誤識率。3.5 人眼定位算法的設(shè)計與實現(xiàn)獲取圖像后,需要對圖像灰度化,濾波除噪等預處理,然后就可以對人眼進行檢測。人眼檢測的流程包括積分圖的生成、特征值計算、級聯(lián)分類器判斷等步驟。下面給出人眼定位實驗結(jié)果,源程序見附錄1。圖 3.5 人眼定位檢測結(jié)果圖4 人眼狀態(tài)識別疲勞是一種生理狀態(tài),尤其是駕駛員在駕駛過程中產(chǎn)生的一種綜合性的生理心理過程,疲勞狀態(tài)下駕駛員在生理和心理方面的表現(xiàn)是聯(lián)系相互影響的。通過前人的大量研究駕駛員在疲勞時生理表現(xiàn)主要體現(xiàn)在頭部和眼睛的變化,如視線偏離前方、頭部緩慢的低下、眼睛閉合時間較長以及泛眼頻率高等特點,綜合很多因素眼睛的狀態(tài)是表征疲勞最重要的特征,人眼主要由上下眼險、眼球、瞳孔以及左右內(nèi)外眼角構(gòu)成,而眼睛的掙閉狀態(tài)主要體現(xiàn)在眼瞼位置的變化和尤其所覆蓋的瞳孔面積的大小上。常用的檢測方法主要有 Hough 查

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論