基于ARM的非接觸式安全駕駛預(yù)警系統(tǒng)方案設(shè)計
0引言
本文引用地址:http://cafeforensic.com/article/265857.htm隨著居民汽車擁有量的逐年增加以及人們生活節(jié)奏的加快,因疲勞駕駛導(dǎo)致的交通事故數(shù)也逐年增加。全世界每年因交通事故而導(dǎo)致的死亡人數(shù)達60萬,直接經(jīng)濟損失約125億美元,這些事故中57%的災(zāi)難性事故與駕駛員疲勞駕駛有關(guān)。因此,研究和開發(fā)一套非接觸式疲勞駕駛監(jiān)測系統(tǒng)有著非常大的社會現(xiàn)實意義。
1系統(tǒng)硬件設(shè)計
本預(yù)警系統(tǒng)主要由微控制器、圖像數(shù)據(jù)采集模塊、LED預(yù)警模塊、通信接口以及電源模塊五大部分組成,如圖1所示。根據(jù)處理速度和精度的要求,采用32位ARM處理器。為了減小對駕駛員的影響,更好地實現(xiàn)非接觸式,本文選用了300萬像素的CMOS攝像頭OV3640模塊,與CCD相比,CMOS具有靈敏度高、分辨率高、低功耗以及成本低廉等優(yōu)勢。
圖1 系統(tǒng)硬件組成
圖2 LED原理圖
圖3 蜂蜜器原理圖
由于Rea16410開發(fā)板上沒有蜂鳴器等發(fā)聲的裝置,并且蜂鳴器發(fā)聲和LED發(fā)光的原理類似,所以本文使用LED發(fā)光報警。圖2是開發(fā)板內(nèi)LED的原理圖。只要給后面的引腳一個低電平就能使LED發(fā)出耀眼的紅光,從而報警。在這里再簡單介紹下蜂鳴器發(fā)聲的原理,原理圖如圖3所示給P1引腳低電平就能使蜂鳴器發(fā)聲。
2系統(tǒng)軟件設(shè)計
2.1開發(fā)環(huán)境的搭建
如果說系統(tǒng)硬件是骨架和軀體,那么軟件算法就是思想。編寫程序之前需要先建立好軟件開發(fā)環(huán)境。軟件開發(fā)環(huán)境的搭建流程圖如圖4所示。
圖4 開發(fā)環(huán)境搭建流程圖
圖5 人臉示范圖
2.2 Adaboost算法
Adaboost算法的基本思想就是利用大量的分類能力一般的弱分類器(weak classifier)通過一定的方法疊加起來構(gòu)成一個具有很強分類能力的強分類器(strong classifier)。
Adaboost算法的實現(xiàn),采用的是輸入圖像的矩形特征,也叫Haar特征。臉部的一些特征可以由矩形特征簡單地描繪。用圖5示范。
上圖中兩個矩形特征,表示出人臉的某些特征。比如中間一幅表示眼睛區(qū)域的顏色比臉頰區(qū)域的顏色深,右邊一幅表示鼻梁兩側(cè)比鼻梁的顏色要深。同樣,其他目標,如眼睛等,為了得到眼睛圖像的信息,必須進行眼睛定位。現(xiàn)有的眼睛定位方法很多,基于膚色模型的方法、灰度投影法、基于模板的方法、基于神經(jīng)網(wǎng)絡(luò)的方法、基于特征提取等。本系統(tǒng)利用Adaboost算法構(gòu)造一個基于類Haar特征的層疊式分類器來進行人眼定位。類Haar特征通常由2~4個矩形組成,如圖6所示。
圖6 類Haar特征圖
2.3使用Haar識別人眼
人臉的Haar特征分類器是一個XML文件,該文件中會描述人臉的Haar特征值。Haar特征還可以描述眼睛嘴唇或其他物體。
OpenCV已經(jīng)自帶了人臉的Haar特征分類器。在/usr/locaI/Opencv-2.4.3/data/haarcascades下。haarcascade_frontalface_al t.xml與haarcascade frontalface alt2.xml都是用來檢測人臉的Haar分類器,haarcascade_eve.xm l與haarcascade eye tree eyegla sses.xml都是用來檢測人眼的Haar分類器,這個haarcascades目錄下還有人的全身,嘴唇的Haar分類器。圖7是檢測到的人臉。
圖7 人臉識別圖
圖8 人眼閾值檢測圖
2.4用閾值法判斷疲勞狀態(tài)
由上述算法定位眼睛并截取下來,使用sobel實現(xiàn)邊緣檢測再進行二值化處理,將二值化的圖像暫存在臨時文件夾中,調(diào)用臨時文件夾中的圖片,for循環(huán)遍歷圖片像素點,比較黑色像素點坐標并得到上下最大落差值,據(jù)此給定相應(yīng)的高度閾值。當檢測到的眼睛高度值等于或小于設(shè)定的眼睛高度閾值就記錄下來,若連續(xù)五幀眼睛的高度值等于或小于閾值,則系統(tǒng)判定駕駛員處于疲勞狀態(tài)。整個系統(tǒng)流程如圖9所示。
圖9 眼睛處理流程圖
蜂鳴器相關(guān)文章:蜂鳴器原理
評論