前言:尋找寫作靈感?中文期刊網用心挑選的信息融合駕駛員疲勞檢測技術研究,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。
摘要:駕駛員疲勞檢測研究中,由于駕駛環境的復雜性,駕駛人員的差異性、疲勞狀態表征的多樣性,本文提出了一種基于主動形狀模型(ASM)與多個信息融合的疲勞檢測技術。首先使用CCD攝像頭采集駕駛員面部圖像信息并進行圖像預處理,然后選擇基于Haar特征的級聯AdaBoost算法進行人臉檢測,對檢測到的人臉利用ASM進行特征點定位,得出眼睛、嘴巴以及頭部等多個信息的狀態參數,最后提取眼睛的PERCLOS值、哈欠頻率、點頭頻率等疲勞特征,綜合以上多個疲勞特征信息從而判斷駕駛員的疲勞程度。實驗結果表明,這種通過多個特征信息進行疲勞檢測具有較高的準確性和魯棒性。
關鍵詞:疲勞檢測;ASM;AdaBoost算法;PERCLOS
1概述
近年來,汽車給人們帶來便利的同時也帶來了極大的安全隱患,其中因疲勞駕駛造成的交通事故日趨增加,因此,檢測駕駛員的疲勞狀態并有效預防對減少交通事故的發生具有重要的意義。隨著科學技術的進步,研究學者提出了多種檢測疲勞的方法,主要有基于生理行為的方法、基于車輛行為的方法以及基于計算機視覺的方法。國外對于疲勞檢測的研究早在20世紀初就已經取得了顯著進展,而我國對此問題的研究相對較晚,與國外存在一定差距。何俊等人提出了一種基于ASM與膚色模型的疲勞檢測方法,首先利用膚色模型定位人臉,然后利用ASM跟蹤人眼和嘴巴,再利用Canny算子對兩個區域進行精準定位,提高檢測準確率,但是該方法中人眼和嘴巴的初始定位困難,當頭部擺動幅度過大時定位不準確[1]。文獻[2]中介紹了一種基于Haar特征的AdaBoost級聯分類器進行人臉檢測,對人臉圖像進行水平投影后,定位出人眼的位置,但本文中僅依據PERCLOS值作為疲勞檢測的標準,方法比較單一,易受外界環境干擾。Nawal等[3]提出利用圓形霍夫變換來分析眼睛和嘴巴的狀態,通過識別虹膜來檢測疲勞程度,但是當駕駛員頭部發生偏移時檢測效果不好。對于以上分析,本文提出了一種基于主動形狀模型(ASM)與多個信息融合的疲勞檢測技術。將攝像頭采集到的駕駛員面部圖像經預處理后利用MB-LBP特征的級聯AdaBoost算法進行人臉檢測,然后再結合ASM進行眼睛和嘴巴的特征點定位,得出眼睛、嘴巴以及頭部的狀態參數,最后根據狀態參數計算PERCLOS值、哈欠頻率、點頭頻率等疲勞特征,融合以上疲勞特征信息判定駕駛員是否疲勞。
2人臉檢測
駕駛環境下采集的圖像會有多種噪聲和光線差異,對后續人臉的檢測和特征點定位會有一定影響。因此,需要對采集的圖像進行灰度化,直方圖均衡化、光照補償這樣的預處理達到去除噪聲,提高圖像質量。考慮到駕駛員在整個行車過程中,頭部轉動的角度并不大,并且考慮到光照帶來的影響,所以本文采用Ojala等人提出MB-LBP特征的級聯Adaboost算法來檢測人臉[4]。該方法簡單、可靠、高效,MB-LBP特征表達了圖像紋理信息,它將中心像素灰度值和全部周圍像素灰度值進行比較,比較的結果轉化為二進制碼,若周圍像素灰度值大于中心像素灰度值則為1,否則為0,從并依次從二值化窗口的左上角順時針取得MB-LBP特征的二進制編碼,最終再轉換為十進制即為MB-LBP特征值。Adaboost算法的核心思想是針對同一個訓練集訓練不同的分類器(弱分類器),然后把這些弱分類器集合起來,構成一個更強的分類器(強分類器)。該算法步驟如下:Step1:選取人臉數據庫,本文選取的是Yale大學人臉數據庫,數據庫中的人臉和模擬環境下駕駛員的圖片作為正樣本,任意拍攝一組非人臉照片作為負樣本。T為訓練的最大循環次數。Step2:樣本權重初始化,為1/n。Step3:進行第一次迭代:先訓練弱分類器,計算弱分類器的錯誤率,并選取合適的閾值,使得誤差最小Step4:更新樣本權重,經T次循環后,得到T個弱分類器,按更新的權重疊加,最終得到的強分類器。在不同角度下駕駛員人臉檢測的結果如圖1所示:
3ASM特征點定位
ASM算法有著在復雜背景下人臉跟蹤效果好的優點,被廣泛運用于人臉特征點提取。ASM也是一種統計學習方法,包括模型建立和搜索定位,前者通過訓練大量的人臉樣本獲取特征點初始形狀模型,后者通過建立好的模型匹配圖像中的形狀參數。ASM算法的具體步驟如下:Step1:選取Yale大學人臉數據庫作為樣本集,在每個樣本中標記出特征點的坐標信息,本文嘴巴標記出4個特征點,每只眼睛分別標4個特征點,共計12個,如圖2所示。各標記點的坐標采用向量的記為:xi=[xi0,yi0,…xij,yij,…xin,yin],(xij,yij)表示第i幅圖第j個特征點的坐標,n為圖像的個數;Step2:對向量xi進行歸一化處理。一般以第一個向量為基準,將其他向量進行平移、縮放、旋轉等與基準向量進行對齊,歸一化后的向量記為S={x1,x2,…xn};Step3:通過主成分分析法對向量進行降維,計算向量S的所有特征值,并按大小順序取前t個值,記為P=[p1,p2,…,pt],因此可得一個初始形狀模型,記為:a=a+pb,其中a為均值向量,P為特征向量矩陣,b為形狀參數向量;Step4:構建局部灰度模型,為搜索定位做準備;Step5:通過對每一個特征點進行初始化來建立初始模型;Step6:迭代搜索所有特征點并判斷是否收斂,并更新調整模型參數直至收斂,最終與目標圖像中的特征點進行匹配。
4疲勞狀態檢測
一般情況下,駕駛員疲勞都會伴有閉眼睛、打哈欠、點頭等行為,本文就是將這三者特征信息融合后來判斷駕駛員的疲勞狀態。檢測過程如圖3所示。PERCLOS是最能反映駕駛員疲勞狀態的一個參數,眼睛的大小正好符合人的精神狀態,越疲勞,眼睛越閉合。PERCLOS是指單位時間內眼睛閉合時間總和的占比[5],大量實驗結果表明,PERCLOS的值為80%時最能反映疲勞狀態,計算公式為打哈欠也是判斷一個人疲勞的主要特征,在打哈欠的過程中,嘴巴相對于正常狀態明顯張大,且持續時間較長,不同于說話,可定義PMRCLOS參數為哈欠判斷標準,伴隨著閉眼睛、打哈欠的同時,疲勞也會有點頭的現象,本文取上述12個特征點中的2和4的縱坐標作為頭部的狀態參數,因為這兩個點能準確的反映頭部的運動狀態。閉眼睛、打哈欠、低頭時ASM匹配的結果如圖4所示。通過觀察統計,取眼睛閉合時PERCLOS超過80%認為閉合,駕駛員處于疲勞狀態,小于20%認為完全睜開;駕駛員正常說話嘴巴張開閉合的頻率很快,當打哈欠時,嘴巴張開度很大,PMRCLOS值保持在60%以上。疲勞駕駛的點頭閾值取在正常頭部活動范圍的30%,當超過30%時則認為是處于點頭狀態。
5結論
本課題以提高駕駛員疲勞檢測效率為目標,提出ASM與多特征信息融合的駕駛員疲勞檢測方法,先對采集的圖像進行預處理后,利用MB-LBP特征的AdaBoost算法進行人臉檢測,對檢測后的人臉運用ASM進行特征點定位,本文基于ASM算法選取了12個特征點,簡化了算法的復雜度,通過特征點計算PERCLOS、PMRCLOS、點頭頻率參數,結合這三個特征參數,從而判定駕駛員是否疲勞。本文采用KL-MN06型號的工業CCD人臉攝像頭,分辨率為704*576,幀數為25fps,仿真環境選擇的是VisualStudioCode、OpenCV軟件,通過仿真實驗結果表明,該測方法具有良好的可靠性和準確性。
作者:趙雪娟 單位:寧夏大學新華學院信息與計算機科學系