基于睡意檢測的安全駕駛保障系統(tǒng)(PCA+K近鄰).doc_第1頁
基于睡意檢測的安全駕駛保障系統(tǒng)(PCA+K近鄰).doc_第2頁
基于睡意檢測的安全駕駛保障系統(tǒng)(PCA+K近鄰).doc_第3頁
基于睡意檢測的安全駕駛保障系統(tǒng)(PCA+K近鄰).doc_第4頁
基于睡意檢測的安全駕駛保障系統(tǒng)(PCA+K近鄰).doc_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于睡意檢測的安全駕駛保障系統(tǒng)研究與設計摘要隨著社會的不斷發(fā)展,汽車成為了我們?nèi)粘I钪胁豢苫蛉钡囊徊糠?,但也帶來了每年?shù)以百萬計的交通事故,造成了無數(shù)傷亡,在給人們帶來了巨大傷痛的同時也使許多美好的家庭毀于一旦。調(diào)查顯示,疲勞駕駛是交通事故高發(fā)的原因之一。此前,已有諸多專家參與疲勞駕駛監(jiān)控的研究,但迄今為止,市場上并沒有一個成型的可靠的產(chǎn)品。因此,開發(fā)一套車載的、實時的、適用的、非接觸式的安全駕駛保障系統(tǒng)已成為目前解決疲勞駕駛迫在眉睫的問題?;谒鈾z測的安全駕駛保障系統(tǒng)是將程序與硬件相結(jié)合,對駕駛員進行非接觸的面部圖像分析,從中提取有效的特征信息,以辨別駕駛員是否處于疲勞狀態(tài)的一件產(chǎn)品。本系統(tǒng)主要實現(xiàn)了將人臉人眼檢測技術應用于駕駛員疲勞監(jiān)測的方法,并根據(jù)監(jiān)測結(jié)果,及時給出疲勞狀態(tài)預警,降低由此引發(fā)的諸多交通事故的概率。關鍵字:Myeclipse、PCA、距離哈希K近鄰、Java與MATLAB混合編程、Haar分類器、表情識別1 前言近年來,隨著人們生活水平的提高、城市化的加速以及經(jīng)濟的快速發(fā)展,汽車進入了我們的日常生活并成為我們出行最便利的交通工具之一,給我們提供了極大的方便。但是與此同時也帶了很多的問題,其中之一便是交通事故發(fā)生量居高不下。據(jù)世界衛(wèi)生組織統(tǒng)計,全世界每年有120多萬人死于交通事故,數(shù)百萬人受傷或致殘。全球每年交通事故造成的經(jīng)濟損失高達5180億美元,其中發(fā)展中國家占1000億美元。同時有資料表明,高速公路發(fā)生的交通事故中,有50%以上是由于長時間疲勞駕駛或所見目標單調(diào)使司機注意力不集中、甚至打瞌睡等原因造成的。要降低交通意外的發(fā)生,最重要的一個途徑就是防止駕駛員疲勞駕駛。而要防止疲勞駕駛,最重要的一點是要時刻監(jiān)測著駕駛員的精神狀況。從人體疲勞特征的研究結(jié)果看,疲勞駕駛的典型反應包括:眼簾的頻繁眨動;瞳孔逐漸變小,甚至閉合;哈欠增多;頭部前傾或后仰;方向盤微調(diào),駕車左右搖擺;反應能力下降等。目前,已有一些簡單實用的疲勞測評方法,如腦電圖EEG、肌電圖EMG、眼動圖EOG、瞳孔測量計等,但這些方法都是接觸式的疲勞檢測方法,勢必會給駕駛員造成一定的影響。為了盡量減少對駕駛員的影響,采取的疲勞檢測方法最好是非接觸式的。通過攝像頭捕捉駕駛員的動作特征來檢測駕駛員的精神狀況,則是最好的非接觸式檢測方法,因為在車廂內(nèi)安裝監(jiān)控攝像頭對駕駛員幾乎是沒有影響的。從以上各種疲勞駕駛典型反應來看,每個人的疲勞反應多種多樣,所以僅僅監(jiān)測一種疲勞反應是遠遠不夠的。再者,每個人做出的同一種疲勞反應又是不同的,因此為了提高系統(tǒng)的精確度,應該將所有因素考慮在內(nèi)。而本系統(tǒng)就是基于這種想法來設計的,它不僅僅是監(jiān)測眼睛等單個臉部器官的變化,而是監(jiān)測了整個臉部的表情,并且排除了個體差異的影響因素,最重要的一點是它是通過嚴格的算法來分析判斷駕駛員的精神狀況,這在一定程度上大大提高了系統(tǒng)的準確性和穩(wěn)定性。2 系統(tǒng)方案2.1圖像處理器方案方案一:使用arm和嵌入式操作系統(tǒng)來實現(xiàn).雖然arm的速度比較快,達到將近500Mhz,但是由于用于圖像處理的算法比較復雜,浮點運算比較多,而大部分arm處理器沒有硬件浮點運算器,浮點運算靠的是軟件,這樣會對系統(tǒng)的實時性造成很大的影響。方案二:使用DSP。DSP由于具備硬件浮點運算器,速度能大大提高,DSP在圖像處理方面相當強大,但DSP的開發(fā)難度相對比較大,成本較高。而且有些在計算機平臺上的關于視覺識別的函數(shù)庫要移植到DSP上的話,工作量相對來說會比較大。方案三:使用PC機。PC機的運算能力足夠快,內(nèi)存空間也足夠大,符合圖像處理對要求。而且在PC平臺上,有不少關于圖像處理和視覺識別方面的函數(shù)庫可以去調(diào)用,這樣可以大大地減輕了開發(fā)難度,同時也可以減少開發(fā)成本。因此用PC機就可以滿足要求了。綜合以上方案,使用電腦處理是最好的選擇。2.2軟件方案方案一:采用模式識別的方式在圖像中尋找眼睛的位置,然后使用Gabor濾波器的特征提取算法,即將Gabor濾波器與眼睛圖像進行卷積,提取特征矢量:Gabor特征。然后,對高維空間中的Gabor特征通過特征選擇和壓縮的方法投影到低維空間中。再與訓練好的人眼數(shù)據(jù)進行比較,采用k均值距離分類器進行分類,從而判斷出眼睛的開合度。方案二:采用模式識別的方式在圖像中先找出人臉的位置,并對人臉進行追蹤,在歸一化后的人臉圖中根據(jù)眼睛和嘴巴在臉部的相對位置,基本能找出眼睛和嘴巴的位置。再對人臉圖像進行PCA特征提取,得到一系列可用于分析的參數(shù),再對這些數(shù)據(jù)進行主成分分析并提取,最后與樣本庫中的數(shù)據(jù)進行匹配并運用距離哈希K近鄰分類算法來判定駕駛員的狀態(tài)。由于人臉在整個圖像中所占的比例比較大,追蹤起來比較容易,檢測的準確率相對比較高。而通常駕駛員在駕駛的過程中頭部擺動的角度都比較小的,因此人臉定位可以做到很精準。而如果用模式識別找眼睛的話,對眼睛的樣本要求比較嚴格,而且在測試過程中發(fā)現(xiàn),對于不同測試者的眼睛,分類所得的結(jié)果起伏比較大,穩(wěn)定性沒有二值化處理的好。再次,Gabor特征提取的速度比較慢,而眨眼的時間卻很短,容易漏判,而PCA特征提取能解決此問題。綜上所述,我們采用第二種方案。2.3 整體方案系統(tǒng)通過攝像頭來獲取像素為256*256,幀速率為每秒15幀的影像后,傳送給計算機。計算機在圖像中用Haar分類器自動追蹤到人臉,之后把截得到的人臉圖像進行大小歸一化處理,再對每張圖像進行PCA特征提取,并將提取到的特征與事先已存好的特征樣本進行逐一對比和匹配,再通過K近鄰算法判別出當前圖像是否出現(xiàn)了疲勞狀態(tài)。這樣就可以比較科學地判斷出人的精神狀態(tài),提前對駕駛員將要出現(xiàn)的困倦進行預警。2.4 特色1、 對整個臉部表情進行監(jiān)測,考慮了疲勞典型反應的多方面,提高了準確度。2、 利用Haar特征分類器自動跟蹤人臉,使人臉定位更精確。3、 考慮了個體差異因素,每個駕駛員都可將自己的疲勞狀態(tài)存到庫中并在實際應用中用于匹配,降低了誤判率。3 實現(xiàn)原理本系統(tǒng)的實現(xiàn)原理如下:首先通過攝像頭拍攝多張駕駛員疲勞狀態(tài)和非疲勞狀態(tài)的照片,然后通過Myeclipse結(jié)合MATLAB對圖像進行歸一化處理。處理完后將駕駛員的疲勞和非疲勞的兩種狀態(tài)的特征經(jīng)過PCA算法分別提取出來,并存到相應的庫中作為樣本。當系統(tǒng)進入工作狀態(tài)對駕駛員進行疲勞監(jiān)測時,攝像頭可以將駕駛員駕車時的狀態(tài)錄制下來并將采集的視頻分成一幀幀的圖像進行保存,然后系統(tǒng)會對所有的圖像進行特征提取并將這些特征存到另外的庫中與樣本庫中的特征進行對比,將對比之后的結(jié)果通過K近鄰算法提取出有用的數(shù)據(jù),再對這些數(shù)據(jù)進行分析,最后判別出駕駛員是否處于疲勞狀態(tài)。當駕駛員處于疲勞狀態(tài)時,系統(tǒng)會自動地作出相應的警告。3.1 JMF視頻捕捉技術JMF是一個標準的擴展框架,允許用戶制作純音頻流和視頻流。JMF技術提供了先進的媒體處理能力,從而擴展了Java平臺的功能。這些功能包括:媒體捕獲、壓縮、流轉(zhuǎn)、回放,以及對各種主要媒體形式和編碼的支持,如M-JPEG、H.263、MP3、RTP/RTSP (實時傳送協(xié)議和實時流轉(zhuǎn)協(xié)議)、Macromedias Flash、IBM的HotMedia和Beatniks的Rich Media Format (RMF)等。JMF捕獲媒體數(shù)據(jù)需要做以下工作:1.定位所需要用的捕獲設備,可以通過查詢CaptureDeviceManager來定位。2.獲取這個捕獲設備的信息CaptureDeviceInfo對象。3.從CaptureDeviceInfo對象中獲取捕獲設備的位置Medialocator。4.利用MediaLocator創(chuàng)建DataSource。5.使用DataSource創(chuàng)建Player或是Processor。6.然后啟動Player就開始了媒體的捕獲。3.2 MATLAB簡介Matlab是美國MathWorks公司推出的一款可視化的數(shù)值計算軟件,有強大的數(shù)值計算、矩陣計算和圖形圖像處理等功能。Matlab可以十分方便的進行矩陣運算,且?guī)в写罅康膱D像處理函數(shù),十分適合于圖像編程,但他不適用于通用平臺,限制了他的應用。Java是一種可靠穩(wěn)定、跨平臺、面向?qū)ο蟮恼Z言。在圖像處理方面,Java提供的類只能完成諸如圖像加載、顯示等簡單的操作。如果能夠在Java中調(diào)用Matlab函數(shù)就可以克服各自的缺點,快速、高效的開發(fā)圖像處理應用程序。3.3 Java與Matlab混合編程在Java中調(diào)用Matlab有三種方式:利用CORBA(CommonObjectRequestBrokerArchitecture)連接、利用JNI(JavaNativeInterface)連接、利用Matlab的Com Builder連接。使用CORBA連接十分復雜,開發(fā)效率低;使用JNI連接,必須針對不同的操作系統(tǒng)編寫應用程序,且必須運行在安裝有Matlab的系統(tǒng)中;而使用Com Builder連接則十分簡單,具有跨平臺優(yōu)勢,只要系統(tǒng)安裝有Matlab組件即可,因而成為首先的連接方式。在Matlab2000a以上的版本中又在Com Builder的基礎上開發(fā)出MATLAB Builder for Java(又叫Java Builder),可以直接把MATLAB函數(shù)包裝到一個或多個Java類,進一步方便了Java對Matlab的調(diào)用。本系統(tǒng)則采用的第三種方式。3.4 基于PCA的表情識別3.4.1 表情特征的提取對于一幅32x32的圖像來說,其完整的特征信息是一個1024維的向量,每維上的分量是其對應像素點的灰度值。顯然,對于一幅圖像,使用其灰度值作為特征在識別效率上是不可行的。對于一幅人臉圖像來說,最能體現(xiàn)其表情特征的區(qū)域是嘴巴和眼睛。若能提取表情最顯著的特征,識別效率將有很大的提升。而提取特征的一種簡單有效的方法就是主成分分析(PCA)。主成分分析(PCA)被認為是線性代數(shù)最有價值的應用之一,這是一種從混亂數(shù)據(jù)集中提取相關信息的簡單的非參數(shù)方法。只需較小的努力,PCA就能對復雜數(shù)據(jù)集進行降維并揭示數(shù)據(jù)集中某些潛在的隱含信息。這些隱含的信息就是描述對象的最顯著特征。3.4.2 基于PCA的特征提取令Dmn,那么一幅mn的人臉圖像可表示成RD空間的一個向量,N幅人臉圖像組成的訓練集X可表示為x1,x2,xN,即一個DN的矩陣,其中xixi1,xi2,xiDT。設X經(jīng)線性變換P得到Y(jié),其中Y是MN矩陣,P是MD矩陣,那么:YPX令P的第i行為pi,X,Y的第i列分別為xi,yi,則:Y的每一行可表示為:從式上可以看出,在確定了邀p1,p2,PM妖后,xi,yi就形成了一一對應的關系,可以用yi來表示xi,即yi是xi的重新表示。因為yi是M維向量,xi是D維向量,在MD時,yi不僅是對xi的重新表示,更是達到了降維的效果,提取了xi的主要特征。進一步,只選取邀p1,p2,pM妖中的部分向量與xi做點積來計算yi,如選擇其中對表情識別貢獻最大的J個向量,1JM。文中將JM稱為特征提取比率。3.4.3 主成分的選取P的行向量邀p1,p2,pM妖就是X的主成分6。能夠提取訓練集X的部分特征來重新表示,是因為X中存在冗余信息。這些冗余信息的存在是因為特征之間存在相關性,而對相關性的最好度量就是協(xié)方差矩陣。令訓練集X的均值為x:那么,X的協(xié)方差矩陣CX為:CX是DD的對稱矩陣,計算出CX的D個特征值邀1,2,D妖,不妨設12D,那么邀1,2,M妖對應的特征向量邀p1,p2,pM妖即為X的主成分。3.4.4 特征匹配經(jīng)過主成分分析,一個原始向量xi可重新表示為一個維度更低的向量yi:這樣每一個原始對象xi都可重新表示成RM空間的一個向量。對原始對象的識別問題轉(zhuǎn)化為RM空間的最近鄰匹配問題??刹扇『唵蔚腅uclidean距離來進行相識度度量:E(yi,yj)為yi與yj的Euclidean距離,其值越小說明yi與yj越相似。或者采取Mahalanobis距離度量,可能會有更好的結(jié)果。3.5 距離哈希K近鄰分類為了提高最近鄰檢索的效率,避免在整個特征空間進行最近鄰匹配,許多基于哈希的近似最近鄰檢索算法被提出。此類方法的根本思想是,通過哈希變換使相似的向量更可能有相同的哈希值。這樣只需與具有相同哈希值的向量進行比較,就能以較高的概率檢索到其最近鄰。本文受VassilisAthitsos等提出的基于距離哈希(DistanceBasedHashing,簡稱DBH)近似最近鄰檢索算法的啟發(fā),并針對表情識別這一實際應用,提出基于距離哈希K近鄰分類算法來提高表情識別的效率。3.5.1 DBH簡介DBH的基本思想是創(chuàng)建l個長度為2k的哈希表,將每一個訓練樣本分別插入到這l個哈希表中,將此哈希表作為檢索數(shù)據(jù)庫。DBH的關鍵是為每一個哈希表尋找一個哈希函數(shù),即找到一個哈希函數(shù)族H1(X),H2(X),Hn(X),其中X是向量空間X中的一個量。在Athitsos等的論文中,Hi(X)為k個布爾子哈希函數(shù)的級聯(lián)值:而任意一個布爾子哈希hij(X)是在函數(shù)族HDBH(X)中隨機選取的一個函數(shù):其中:D(Xi,Xj)為Euclidean距離,X1,X2是在X空間隨機選取的兩個向量且X1X2。3.5.2 DBH近似最近鄰檢索DBH近似最近鄰檢索由兩部分組成。預處理部分把表情特征插入到哈希表中,完成哈希表的構建,如圖1所示。查詢部分計算待測表情的哈希值,并在相應桶中進行最近鄰檢索。詳細算法如下:(1)預處理選l個哈希函數(shù)Hi(X)hi1(X)hi2(X)hik(X),i1,2,l。其中hij(X)從函數(shù)族HDBH(X)中隨機選取。構建l個哈希表。第i個哈希表使用函數(shù)Hi(X),將訓練集中經(jīng)PCA提取的所有表情特征插入到相應桶中。(2)對待測樣本Q的查詢對每一個i,從第i個哈希表的桶Hi(Q)中檢索出表情特征,i1,2,l。對每一個檢索出的表情特征,計算其與Q的距離,找出Q的最近鄰。圖1 DBH構建的哈希表3.5.3 DBHKNN分類最近鄰算法在分類時僅考慮其最近鄰對分類的影響,易受噪聲點的影響。另外,在類別之間存在一定相似性時,只考慮最近鄰的影響勢必會造成錯誤的分類,如圖2所示。 (a)最近鄰分類的結(jié)果 (b)K近鄰分類的結(jié)果圖2 NN與KNN分類比較圖2中(a)是最近鄰分類的結(jié)果,點a被分為紅點所在的類別;(b)是K近鄰分類的結(jié)果,點a被分為綠點所在的類別。顯然(b)中的分類結(jié)果更為準確。因此本文對基于距離哈希最近鄰檢索做了改進,提出基于距離哈希K近鄰分類算法(簡稱DBHKNN分類)。采用K近鄰分類后,在分類相似類別時有較大的改進。在表情識別中,驚訝與恐懼的表情具有一定相似性,即人們常說的“驚恐”。在采用K近鄰后,比最近鄰有更好的魯棒性,有效緩解了這兩種表情的相互錯分。DBHKNN分類算法同2.2中所述的DBH最近鄰檢索算法相似,用K近鄰算法替換其中的最近鄰算法即可。3.6 PCA特征提取和DBHKNN分類的混合人臉表情識別人臉表情識別由兩部分組成,訓練部分完成特征庫的構建,識別部分完成表情的分類。詳細算法如下:(1)訓練使用PCA特征提取,構建原始表情特征庫。使用DBH創(chuàng)建l個哈希表,將原始表情特征庫轉(zhuǎn)化為一個新的結(jié)構化的表情特征庫。(2)識別使用PCA提取待測表情圖像的特征。使用DBH計算待測表情的哈希值,在每個哈希表中檢索出與其具有相同哈希值的表情特征。針對中檢索出的表情特征,使用KNN分類算法對待測表情進行分類。4 系統(tǒng)構建和界面介紹4.1 系統(tǒng)構建本系統(tǒng)是以Myecilpse為開發(fā)平臺,所使用的編程語言為java。程序完成人臉圖像的采集、檢測、預處理、特征提取、特征分析、狀態(tài)判斷,并根據(jù)檢測結(jié)果在界面上作出相應措施示意的全過程。由于Java代碼具有平臺無關、內(nèi)存操作方便和功能強大的特點,所以能夠彌補圖像處理中數(shù)據(jù)量大、操作復雜、耗時長等帶來的不便。再加上利用已開發(fā)好的關于圖像處理的庫函數(shù),程序的效率更高,開發(fā)周期更短,系統(tǒng)更穩(wěn)定。本系統(tǒng)運行測試的建立環(huán)境為:1、圖像采集:普通USB攝像頭2、圖像分別率:256*256(即攝像頭監(jiān)視區(qū)域大小)3、CPU:P4 3.0G以上4、內(nèi)存:512MB以上5、軟件開發(fā)平臺:Myeclipse4.2 界面介紹本系統(tǒng)的界面是用java代碼的gui知識制作界面的,以下為系統(tǒng)的界面介紹:1、 首先進入歡迎界面,歡迎界面將引導用戶如何體驗系統(tǒng)。截圖:2、 當用戶按下歡迎界面的開始體驗按鈕,則彈出提示框,提示用戶開始拍攝多張自己的疲勞狀態(tài)照片和非疲勞狀態(tài)照片當作樣本存入樣本庫中。按下確定按鈕之后則進入拍照界面,當用戶拍完照片之后則退出該界面,并返回歡迎界面。截圖:3、 此時再按下歡迎界面的開始錄制按鈕,則會開始進行視頻采集,如果表情識別結(jié)果判定為疲勞,系統(tǒng)則會作出相應的報警。截圖:5 系統(tǒng)測試本實驗分別以針對某一特定個體采集的JAFFE庫和個性化庫進行試驗。JAFFE庫則是樣本庫,此庫中保存著駕駛員處于疲勞狀態(tài)和非疲勞兩種狀態(tài)的特征圖像,每張圖片大小為256*256。為了提高算法的時間效率,所有圖片均采用金字塔算法向下采樣為128*128的圖片。而個性化庫中則保存著駕駛員駕車時的所有圖像,這部分圖像都是通過攝像頭實時采集的,因此此庫中

溫馨提示

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

評論

0/150

提交評論