基于ARM的疲勞檢測系統(tǒng)研究與實現(xiàn)_第1頁
基于ARM的疲勞檢測系統(tǒng)研究與實現(xiàn)_第2頁
基于ARM的疲勞檢測系統(tǒng)研究與實現(xiàn)_第3頁
基于ARM的疲勞檢測系統(tǒng)研究與實現(xiàn)_第4頁
基于ARM的疲勞檢測系統(tǒng)研究與實現(xiàn)_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于ARM的疲勞檢測系統(tǒng)研究與實現(xiàn)摘 要以ARM開發(fā)板和嵌入式Linux操作系統(tǒng)為平臺,設(shè)計了一套基于AdaBoost和PERCLOS算法的疲勞檢測方法。首先通過人臉檢測算法定位司機(jī)人臉區(qū)域,然后提取人眼區(qū)域圖像并對圖像處理過程中的閾值化、輪廓識別等操作做了多處改進(jìn),最后基于PERCLOS標(biāo)準(zhǔn)制定了預(yù)警機(jī)制。該系統(tǒng)大大增強(qiáng)了檢測的準(zhǔn)確率和系統(tǒng)的實時性。實驗裝置穩(wěn)定可靠,可實際應(yīng)用于營運(yùn)車輛。關(guān)鍵詞ARM;嵌入式;疲勞檢測;S3C2440Research and implementation of fatigue detection system based on ARMJIAO Yue1),

2、WANG Juan2), LIU Jia3)(School of Information Technology and Communication, Qufu Normal University, Rizhao 276826, China)Abstract A method of tired measuring based on AdaBoost and PERCLOS algorithm and use platform of ARM development board and embedded operated system Linux is designed in this paper.

3、 First, locating area of driver's face according to face examining algorithm. Then, the image of eye area was extracted and some aspect was improved , such as thresholding during image prosessing, outline identifying. Finally, drawing up warning mechanism which is based on PERCLOS algorithm. The

4、 system enhances accuracy and real-time of the processing. Experimental installation is stable and reliable to apply for car operation actually.Key words ARM; Embedded operated system; fatigue detection; S3C24401 引言疲勞駕駛,指的是駕駛員長時間連續(xù)行車后,產(chǎn)生生理機(jī)能和心理機(jī)能的失調(diào),而在客觀上出現(xiàn)駕駛技能下降的現(xiàn)象。2012年,全國接報涉及人員傷亡的路口交通事故4.6萬起,造成1.

5、1萬人死亡、5萬人受傷。據(jù)交通部門統(tǒng)計,60%以上的交通事故與疲勞駕駛有關(guān),而因疲勞駕駛造成的交通事故占總數(shù)的20%左右,占特大交通事故的40%以上1。因此,開發(fā)一套實時車載疲勞檢測系統(tǒng)具有非常重要的意義。目前駕駛員疲勞檢測研究方法可以分成兩大類:a) 從駕駛員自身特征出發(fā),通過某種設(shè)備獲取駕駛員的生理參數(shù)特征或者視覺特征,利用駕駛員在正常狀態(tài)和疲勞狀態(tài)的特征模式不同,采用相應(yīng)的模式識別技術(shù)分類進(jìn)行判別,從而檢測到是否有疲勞產(chǎn)生;b) 根據(jù)車輛的行為表現(xiàn)間接判斷駕駛員是否產(chǎn)生疲勞。在這類技術(shù)中,通過傳感器獲取車輛在行駛過程中的各種參數(shù),根據(jù)車輛行駛過程中的異常情況,如車輛是否超過道路標(biāo)志線、速

6、度是否超速、車輛之間的距離是否太近等,判斷駕駛員是否有疲勞產(chǎn)生2。目前國內(nèi)外機(jī)構(gòu)對汽車駕駛疲勞測評方法:如監(jiān)測腦電圖眼動圖等方法,但由于大部分監(jiān)測采用接觸式傳感器,會對司機(jī)造成一定的干擾;另外有些檢測方法是采用通用工控機(jī),很難實現(xiàn)圖像的時實性處理,具有成本高,非實時性和滯后性等缺點3。為解決司機(jī)駕駛疲勞實時檢測問題,需將嵌入式技術(shù)和數(shù)字圖像處理技術(shù)相結(jié)合。主要研究以ARM和Linux為核心的嵌入式司機(jī)疲勞檢測系統(tǒng)的設(shè)計和實現(xiàn)問題。2 疲勞駕駛檢測系統(tǒng)硬件平臺設(shè)計 圖1 硬件設(shè)計結(jié)構(gòu)圖本系統(tǒng)采用TQ2440開發(fā)板為實驗平臺,該平臺基于Samsung S3C2440核心,主頻400HMz,32bi

7、t數(shù)據(jù)總線,100M以太網(wǎng)RJ- 45接口,USB接口,音頻輸入輸出接口,串行口,CMOS CAMERA接口等模塊組成。攝像頭可以根據(jù)成本和實時性要求來選擇,USB攝像頭成本低,使用方便,但由于傳輸?shù)臄?shù)據(jù)未經(jīng)壓縮,故實時性稍差。CMOS攝像頭成本高,但實時性強(qiáng)。如果采用USB攝像頭,那么驅(qū)動程序可以直接使用內(nèi)核自帶的V4L2驅(qū)動。否則需要自己編寫或者修改驅(qū)動程序以支持CMOS攝像頭。外界數(shù)據(jù)經(jīng)過攝像頭采集傳輸?shù)絊DRAM內(nèi)存中,經(jīng)過CPU處理后得出相應(yīng)結(jié)果,利用各種控制接口來實現(xiàn)其它硬件控制(例如報警)。如果需要存儲數(shù)據(jù),那么經(jīng)過FLASH接口存到相應(yīng)的存儲器上,如果需要發(fā)送數(shù)據(jù),那么需要經(jīng)過

8、網(wǎng)卡接口,將數(shù)據(jù)發(fā)送到接收端。其組成如圖1。3 系統(tǒng)軟件平臺的搭建開發(fā)板使用的操作系統(tǒng)是linux-版本,采用交叉編譯方法,先在VMware虛擬機(jī)中構(gòu)建交叉編譯環(huán)境arm-linux-gcc-4.4.3,宿主機(jī)采用Windows 7系統(tǒng)的個人PC電腦,目標(biāo)機(jī)即ARM開發(fā)板。為方便開發(fā),需要開啟Linux虛擬機(jī)的NFS服務(wù),設(shè)置開發(fā)板為網(wǎng)絡(luò)啟動,這樣就避免每次修改程序都需要重新燒寫整個文件系統(tǒng)。首先移植好u-boot和linux內(nèi)核,將兩者燒寫到開發(fā)板上并設(shè)置環(huán)境變量為網(wǎng)絡(luò)啟動,然后交叉編譯根文件系統(tǒng)并將所需要的動態(tài)鏈接庫放到文件系統(tǒng)的/lib目錄下。4 疲勞檢測視頻的采集系統(tǒng)視

9、頻的采集主要通過Linux的V4L2架構(gòu)實現(xiàn),V4L2是針對uvc免驅(qū)usb設(shè)備的編程框架,主要用于采集usb攝像頭數(shù)據(jù),使上層應(yīng)用程序有發(fā)現(xiàn)設(shè)備和操作設(shè)備的能力。用menuconfig命令配置內(nèi)核選項,把USB Video Class (UVC) 選項修改為編譯進(jìn)內(nèi)核,這樣內(nèi)核就可以支持UVC攝像頭了。在開發(fā)板上插上USB攝像頭并運(yùn)行編譯好的攝像頭應(yīng)用程序,就可以在ARM板上看到USB攝像頭采集的視頻圖像,如圖2所示。為了實驗觀察方便以及以后可以進(jìn)行無線傳輸擴(kuò)展,筆者移植了mjpg-streamer庫到開發(fā)板,這樣可以將每一幀的處理圖像通過網(wǎng)線或者無線信號發(fā)送到PC電腦或者手機(jī)上的客戶端程序

10、,筆者在電腦上的Firefox瀏覽器地址欄中輸入:http:/<開發(fā)板ip>/?action=stream通過網(wǎng)線傳輸連接到開發(fā)板,得到開發(fā)板采集視頻圖像如圖3。圖中的圖像是開發(fā)板的攝像頭采集到的圖像數(shù)據(jù)。 圖2 ARM板攝像頭采集圖3 PC上顯示攝像頭數(shù)據(jù)圖像5 疲勞檢測方法研究5.1 人眼定位算法人臉定位是粗定位,即確定圖像中有人臉存在,而人眼定位是精確定位人眼區(qū)域。如果一開始就從整幅圖像查找人眼,那么勢必會增加定位時間。由于人眼在人臉上是必然事件,故先檢測人臉,再從人臉區(qū)域定位人眼區(qū)域,可以大大縮短人眼定位時間,提高系統(tǒng)的實時性。 圖4 Viola-Jones分類器的基本思想

11、Viola-Jones分類器是在級聯(lián)的每個節(jié)點中使用AdaBoost算法來學(xué)習(xí)一個高檢測率、低拒絕率的多層樹分類器,此分類器算法很適合在人臉檢測中應(yīng)用。這個算法有如下一些創(chuàng)新特性4:a) 它使用類Haar輸入特征,對矩形圖像區(qū)域的和或者差進(jìn)行閾值化;b) 它使用統(tǒng)計boosting來創(chuàng)建兩類問題(人臉與非人臉)的分類器節(jié)點(高通過率、低拒絕率);c) 它把弱分類器組成篩選式級聯(lián)。在測試模式下,只要圖像區(qū)域通過了整個級聯(lián),則認(rèn)為里面有物體。這保證了級聯(lián)運(yùn)行速度可以很快,因為它一般可以在前幾步就可以拒絕不包含物體的圖像區(qū)域,而不必走完整個級聯(lián)。Viola和Jones把boosting分類器組合成篩

12、選式級聯(lián)的一個節(jié)點,其基本思想是利用分類能力一般的弱分類器通過一定的方法疊加(boost)起來,構(gòu)成分類能力很強(qiáng)的強(qiáng)分類器。在級聯(lián)的每個節(jié)點設(shè)置閾值 b,使得幾乎所有人臉樣本都能通過,而絕大部分非人臉樣本不能通過。節(jié)點由簡單到復(fù)雜排列,位置越靠后的節(jié)點越復(fù)雜,即包含越多的弱分類器。例如在識別率為99.9%,拒絕率為50%時,(99.9%的人臉和50%的非人臉可以通過),20個節(jié)點的總識別率為:,而錯誤接受率僅為。其基本思想如圖4所示。人臉檢測和人眼檢測都是使用AdaBoost算法來實現(xiàn),不同之處在于人臉檢測的搜索區(qū)域是整幅圖像而人眼檢測的搜索區(qū)域只在人臉區(qū)域。如果人臉定位失敗,則無需進(jìn)行人眼檢

13、測,直接處理下一幀圖像5。每次待檢測的圖像區(qū)域記作EA(effective area)。數(shù)據(jù)通過攝像頭傳輸?shù)絻?nèi)存后,此時EA為整幀圖像,通過AdaBoost算法檢測到人臉后先記錄人臉區(qū)域,根據(jù)人面部器官分布規(guī)律,重新設(shè)置EA為上半面部1/51/3處,然后在EA中進(jìn)行人眼檢測。檢測到人眼部分后,重新設(shè)置EA為人眼區(qū)域進(jìn)行后續(xù)處理。檢測過程如圖5所示,檢測結(jié)果如圖6(檢測結(jié)果不受眼鏡影響)。圖5 人眼檢測過程5.2 人眼圖像處理眼睛的閉合狀態(tài)是判斷疲勞的主要依據(jù),為了得到明顯反映眼睛特征的局部圖像,需要通過圖像分割對已標(biāo)定的人眼區(qū)域進(jìn)行抽取,去除干擾部分。閾值分割是圖像分割中的最常用的方法之一,通

14、過選取合適的閾值,可以將原圖像中的目標(biāo)與背景分離,為后續(xù)圖像分類及識別提供依據(jù)。然而,如何選取最優(yōu)閾值一直是閾值分割的難點。而且由于駕駛環(huán)境影響,即使找到最優(yōu)閾值,不同天氣和時段使用同一閾值得到的效果差異也很大。文獻(xiàn)5使用改進(jìn)的Otsu算法進(jìn)行圖像分割,改善了傳統(tǒng)的Otsu分割算法的部分缺點,但是得到的處理結(jié)果仍然存在邊緣模糊不清的問題。本文使用自適應(yīng)閾值算法,取得了較好的效果。算法思想如下:記要處理的像素點為T(x,y),通過計算像素點周圍的區(qū)域的加權(quán)平均,然后減去一個常數(shù)c來得到自適應(yīng)閾值。b的大小根據(jù)圖像大小和處理器性能決定,b越大處理速度越慢,但是結(jié)果越好。經(jīng)過試驗,本開發(fā)板使用b=3

15、,c=5取得的效果較好。傳統(tǒng)閾值法和改進(jìn)的自適應(yīng)閾值法對比結(jié)果如表1,其中處理前的原圖均為圖6眼睛部分。通過對比可見,同一圖像不同閾值處理結(jié)果差異巨大,如果使用傳統(tǒng)的指定閾值的方法,后續(xù)的邊緣檢測結(jié)果將很難進(jìn)行,而改進(jìn)的自適應(yīng)閾值處理效果很好,而且對光照和環(huán)境變化有一定的抗干擾性。表1 改進(jìn)閾值法和傳統(tǒng)閾值法對比結(jié)果處理方法處理后的圖像傳統(tǒng)閾值=40傳統(tǒng)閾值=60傳統(tǒng)閾值=80改進(jìn)的自適應(yīng)方法文獻(xiàn)6中對眼部進(jìn)行閾值化處理之后,只是簡單的掃描圖像中所有的點,然后找出最高點和最低點的坐標(biāo),最后得到眼瞼高度。但是如果眼部區(qū)域閾值化效果不好,則因為某些點的存在而得到錯誤的結(jié)果,而且不能去掉鼻梁等干擾因

16、素,致使眼瞼高度結(jié)果偏大。本文對此方法進(jìn)行改進(jìn),首先采用Canny邊緣檢測算法,得到閾值處理后的眼睛部位的邊緣圖像,處理結(jié)果見圖7。然后使用文獻(xiàn)7的輪廓檢測方法得到圖像的每一條輪廓線,再對每一條輪廓線進(jìn)行如下操作:1) 輪廓線是由一系列連續(xù)的點組成,統(tǒng)計輪廓線的點數(shù),將點數(shù)小于10的輪廓線去掉。這樣可以去掉圖像中一些干擾點。2) 記錄輪廓線最左邊點的坐標(biāo)和最右邊點的坐標(biāo),然后利用這兩個坐標(biāo)得到斜率,將斜率大于1.0(經(jīng)過試驗得出的值)的輪廓線去掉,這樣可以去掉鼻梁等輪廓線的干擾,即從圖7得到圖8的效果。3) 對于經(jīng)過以上兩步篩選后的輪廓線,記錄每條輪廓線的最高點和最低點,相減得到上下眼瞼的高度

17、差,筆者用終端仿真程序SecureCRT連接開發(fā)板,打印最后的處理結(jié)果如圖9。圖8 去除干擾輪廓后的效果圖7 Canny邊緣檢測后效果 5.3 司機(jī)疲勞狀態(tài)的判斷卡內(nèi)基梅隆提出了度量疲勞/瞌睡的物理量PERCLOS(Percentage of EyeIid CIosure)算法8,其定義為單位時間內(nèi)(一般取1分鐘或者30秒)眼睛閉合一定比例(70%或80%)所占的時間,滿足下式時就認(rèn)為發(fā)生了瞌睡: (1)PERCLOS方法的常用標(biāo)準(zhǔn)有P70,P80,EM910,其中P80(指眼瞼遮住瞳孔的面積超過80%就計為眼睛閉合,統(tǒng)計在一定時間內(nèi)眼睛閉合時所占的時間比例)被認(rèn)為最能反映人的疲勞狀態(tài)。在經(jīng)過

18、眼睛圖像處理后,可以得到上下眼瞼的高度,根據(jù)不同人眼睛大小設(shè)定一個閾值來判定眼睛的狀態(tài),對于筆者眼睛,經(jīng)過實驗設(shè)定閾值為25效果最好,當(dāng)測得的眼瞼高度大于這個閾值時候,判定眼睛狀態(tài)為睜開,否則為閉合狀態(tài)。在對不同的測試者進(jìn)行測試前,首先讓被測者端正的坐在攝像頭前80100cm處,拍攝一張正面圖像,然后根據(jù)這張圖像自動計算出測試者的閾值,最后讓程序判斷測試者眼睛的閉合狀態(tài),通過SecureCRT打印。筆者對20位不同的測試者,每個測試者以3種不同的狀態(tài)(睜眼、半睜、閉眼)進(jìn)行測試,60測試中有8次測試失誤,準(zhǔn)確率約為86.7%。選取部分實驗結(jié)果如表2所示(其中半閉半睜狀態(tài)判定為close)。表2

19、 各種狀態(tài)的部分測試結(jié)果原始圖像處理后圖像打印結(jié)果是否準(zhǔn)確是是是是是調(diào)整攝像頭捕捉頻率,經(jīng)實驗得出,以每秒20幀圖像的輸入,算法檢測準(zhǔn)確率較高。以P80算法作為標(biāo)準(zhǔn),如果連續(xù)60幀圖像中超過80%判定為閉眼狀態(tài),那么就CPU就發(fā)出信號,提醒測試者已經(jīng)進(jìn)入疲勞狀態(tài)。通過攝像頭對20位不同被測試者40段30秒的視頻段,模擬清醒和疲勞的狀態(tài)進(jìn)行檢測。測試結(jié)果見表3,從結(jié)果看,在光照情況下,比文獻(xiàn)5取得了更好的效果。表3 嵌入式疲勞駕駛預(yù)警系統(tǒng)實驗測試結(jié)果測試項目平均值報警響應(yīng)速度1.2s檢測率98%虛報率2%6 結(jié)論利用嵌入式技術(shù)來實現(xiàn)司機(jī)駕駛疲勞檢測系統(tǒng),在性價比與實時性方面有著通用計算機(jī)無法比擬

20、的優(yōu)越性。對疲勞檢測系統(tǒng)進(jìn)行研究,設(shè)計并實現(xiàn)基于TQ2440硬件平臺的疲勞檢測系統(tǒng)。在采用低成本攝像頭的情況下,白天情況下測試檢測率為98%,誤檢率小于3%,預(yù)警響應(yīng)時間均小于1.2秒,取得了較好的實驗效果。未來的工作我們將會結(jié)合圖像分析與物理方法對無光照和戴眼鏡的情況做進(jìn)一步研究。參 考 文 獻(xiàn)1 陳剛. 基于ARM和嵌入式Linux疲勞檢測系統(tǒng)研究J. 科技信息, 2012, (36):26-47.2 楊海燕, 蔣新華, 聶作先. 駕駛員疲勞檢測技術(shù)研究綜述J. 計算機(jī)應(yīng)用研究, 2010, 27(5):1621-1624.3 彭軍, 何偉鋒, 楊迎澤. 嵌入式列車司機(jī)駕駛疲勞檢測系統(tǒng)設(shè)計J. 計算機(jī)工程與應(yīng)用, 2009, 45(33):57-60.4 Bradski G R. 學(xué)習(xí)opencvM. 清華大

溫馨提示

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

評論

0/150

提交評論