單興華, 王增才, 范柏旺
(1.山東大學(xué) 機械工程學(xué)院,山東 濟南 250061;2.山東大學(xué) 高效潔凈機械制造實驗室 教育部重點實驗室,山東 濟南 250061;3.山東大學(xué) 機械基礎(chǔ)實驗教學(xué)中心 國家級實驗教學(xué)示范中心,山東 濟南 250061)
分心駕駛是駕駛員造成交通事故的主要原因之一,由于駕駛員的視線方向與其注意力點關(guān)系密切[1],因此,研究駕駛員的視線方向?qū)τ诎踩{駛具有重要意義。
對于駕駛員的駕駛行為的研究主要有穿戴式[2]和非穿戴式兩種方法。由于前者會對駕駛員的駕駛行為造成一定的影響,不適宜在日常的駕駛過程中使用;后者隨著近年來機器學(xué)習(xí)和圖像處理技術(shù)的發(fā)展受到了越來越多的關(guān)注[3,4]。駕駛員的視線方向與駕駛員的頭部姿態(tài)之間存在明顯的映射關(guān)系,關(guān)于頭部姿態(tài)[5,6]的研究也相對較多,因此,早年的駕駛員視線檢測任務(wù)直接使用頭部姿態(tài)來估計駕駛員的視線方向[7,8]。但僅靠頭部姿態(tài)來估計駕駛員的視線區(qū)域的方法在處理車內(nèi)空間劃分較多的復(fù)雜情況時效果較差[9],因此,在近年來的視線檢測任務(wù)中又加上了眼睛特征[10~12]。眼睛特征的主要信息是尋找瞳孔的位置信息,弗里德曼等人[13]將眼部最大圓形斑點的圓心近似認(rèn)是駕駛員的瞳孔,但這種眼睛特征提取的方法在圖像質(zhì)量較低時效果表現(xiàn)較差。
本文首先建立駕駛員的實車視線檢測的數(shù)據(jù)集并提取相應(yīng)的面部特征點,然后通過基于表現(xiàn)的方法提取駕駛員的頭部姿態(tài)特征;并通過眼睛區(qū)域圖像的灰度分布獲得駕駛員的瞳孔位置,提高該方法在低圖像質(zhì)量時的可靠性。針對以前視線檢測方法[11~13]都使用隨機森林算法對駕駛員特征向量進(jìn)行分類的問題,本文設(shè)計了一種通過高斯混合模型和加權(quán)思想改進(jìn)的隨機森林算法,并最終通過對比實驗證明了改進(jìn)算法的優(yōu)越性。
為了直觀展示實驗的系統(tǒng)流程,本文提出實驗的具體系統(tǒng)流程圖如圖1所示。
圖1 本文系統(tǒng)流程框圖
由于駕駛員視線檢測并沒有可用的公共數(shù)據(jù)集,實驗的第一步就是進(jìn)行實車實驗來建立所需的實車駕駛員視線檢測的數(shù)據(jù)集。實驗所需的數(shù)據(jù)集都是通過前擋風(fēng)玻璃上的羅技C310網(wǎng)絡(luò)攝像頭拍攝的(見圖2),攝影頭粘貼在前擋風(fēng)玻璃上,原因主要有兩個:1)這個位置可以穩(wěn)定地獲取駕駛員正面的人臉圖像,不會在駕駛過程中產(chǎn)生被車內(nèi)的方向盤等裝置遮擋的情況。2)該位置可以獲得車內(nèi)的廣角照片,在駕駛員有大幅度身體動作時仍可以有效記錄駕駛員的駕駛活動。
圖2 視線檢測羅技攝像頭
駕駛員的視線方向劃分為車內(nèi)常用的13區(qū)域(見圖3),根據(jù)這些區(qū)域可以估計駕駛員包括超車、轉(zhuǎn)彎在內(nèi)的駕駛意圖。同時,當(dāng)駕駛員的視線區(qū)域長時間或者頻頻的離開正常的駕駛區(qū)域時,就能認(rèn)為駕駛員處于分心駕駛的狀態(tài),從而可以給予駕駛員一定的提示或者預(yù)警。
圖3 駕駛員車內(nèi)視線區(qū)域劃分
為了獲得足量且有效的駕駛員圖像來建立視線檢測所需的數(shù)據(jù)集,實驗中,請了20位駕駛員進(jìn)行試驗并采集相應(yīng)的圖像數(shù)據(jù)集。為了保證數(shù)據(jù)的平衡性及嚴(yán)謹(jǐn)性,該數(shù)據(jù)集中包含4位女性駕駛員,9位戴眼鏡的駕駛員,且駕駛員本身也存在一定的身高體重的差異。為了保證實驗的安全性,實驗過程選擇在校內(nèi)行人較少的道路上進(jìn)行實驗,因為駕駛員在駕駛過程中要進(jìn)行各個角度的觀察張望,因此實驗時車輛進(jìn)行怠速行駛,每個編號區(qū)域駕駛員的注視時間為15 s,這樣以保證每個區(qū)域都有足量效果較好的圖片。
(t+1)=(t)+rt(I,(t))
(1)
式中rt為基于特征的預(yù)測,(t)為上一次迭代所預(yù)測的特征點形狀或坐標(biāo)。ERT可以檢測到包含眼角點在內(nèi)的大多數(shù)人臉特征點,檢測速度快,且即使在大頭部轉(zhuǎn)動或復(fù)雜的面部表情的情況下也可以檢測到相應(yīng)的面部特征點。
鑒于有些頭部姿態(tài)計算方法復(fù)雜,難以作為機器學(xué)習(xí)的特征選擇,本文選擇基于外觀的駕駛員頭部姿態(tài)特征提取方法(如圖4所示),該方法通過面部特征點的相對位置關(guān)系作為頭部姿態(tài)估計的具體特征,簡單實用,可以有效減小系統(tǒng)的計算量,從而減小實驗的硬件要求。
圖4 駕駛員的頭部姿態(tài)特征提取
駕駛員頭部姿態(tài)的特征具體提取方法如下所述:首先確定所有選定的面部特征點的坐標(biāo)值X=[(x1,y1),(x2,y2),…,(xn,yn)]∈Rm×n,其中,(xi,yi)代表第i個特征點坐標(biāo)值,特征點之間的角度特征的獲取如式(2)所示,對于特征點之間距離特征獲取如式(3)所示
(2)
(3)
眼睛狀態(tài)是駕駛員視線檢測工作中重要組成部分,但由于獲得的眼部區(qū)域照片像素總數(shù)較少,且圖片像素較低,導(dǎo)致駕駛員的瞳孔信息隱藏在了角膜之中,因此獲得瞳孔位置的工作相對較為困難。由于角膜的像素太少,直接采用Hough變換求取瞳孔信息的方法可靠性較差;且因為受光照條件及眼鏡反光等情況的影響,整個眼部照片的最小像素不一定出現(xiàn)在真實的瞳孔處,所以,也不能簡單直接使用像素最小值的位置信息。在實驗中,提出一種基于統(tǒng)計有效灰度的方法來獲得駕駛員的眼睛特征。
提取的眼睛圖片及二值化處理之后的結(jié)果如圖5所示,由圖5可知:處理之后的照片基本保留了駕駛員角膜所在的位置信息,可以通過統(tǒng)計二值化之后的圖片灰度分布得到灰度中心,進(jìn)而把二值化圖片的灰度中心認(rèn)為成駕駛員的瞳孔中心。
圖5 駕駛員眼睛的灰度圖像及二值化后的圖像
具體的眼睛特征處理如下:假設(shè)得到駕駛員的眼睛圖像大小為Rm×n,其中每個像素點的像素信息為X=[x00,x01,…,x0n;…;xm0,xm1,…,xmn],最后通過式(4)的方法提取駕駛員的眼睛特征
(4)
隨機森林算法是由大量分類回歸樹組成的集成算法,其中每顆單獨的樹都有一定的分類效果,但通過投票使用眾多的分類樹能有效提高算法整體的分類效果。假設(shè)樣本S有N個觀測特征,則k棵樹的隨機森林生成算法流程如下所述:
1)在樣本S中通過Bootstrap技術(shù)重復(fù)有放回的隨機選取k個樣本子集(S1,S2,…,Sk),每次未被抽取的袋外數(shù)據(jù)(OOB)備選作為測試集。
2)構(gòu)建決策樹時隨機地選取n(n 3)重復(fù)上面兩個步驟k次建立k棵決策樹,每棵獨立的決策樹都可能因為各自選擇的樣本子集和所選特征不同而生長為不同的決策樹。 4)最后生成所有的決策樹整體一起構(gòu)成隨機森林模型,并最終根據(jù)式(5)確定決策樹的最終分類 (5) 式中H為最終的隨機森林模型,Y為各數(shù)據(jù)的分類標(biāo)簽,I為指示性函數(shù),h為單棵決策樹。 如前文2.1節(jié)所述,傳統(tǒng)的隨機森林算法通過采用Bootstrap重采樣的方法隨機選取訓(xùn)練子集,這樣選取的各訓(xùn)練樣本之間的獨立性不能得到有效保證,這樣就導(dǎo)致各個決策樹之間的相關(guān)性有進(jìn)一步降低的可能。因此本文通過高斯混合聚類分簇來選取訓(xùn)練子集以求減小各子集的相關(guān)性,從而提高各決策樹之間的獨立性。 高斯混合聚類模型是一種常見有效的概率模型,模型的數(shù)學(xué)公式表達(dá)如式(6)所示 (6) 該分布共有k個高斯分布混合組成,其中,μi,σi為第i個高斯混合成分的均值與標(biāo)準(zhǔn)差參數(shù),前面的αi為第i個高斯分布所對應(yīng)的混合系數(shù)。 具體的算法流程如下所述: 1)初始化模型參數(shù){(μi,σi,αi)|1≤i≤k}。 2)根據(jù)貝葉斯定理計算各混合成分生成的后驗概率 (7) 3)通過采用極大似然函數(shù)式(8)計算高斯混合模型的參數(shù)(μi,σi,αi),對各參數(shù)求偏導(dǎo)并令其為0計算參數(shù)值 (8) 4)重復(fù)進(jìn)行步驟(2)和步驟(3)直到滿足條件,求得各參數(shù)后根據(jù)式(9)計算得出樣本所屬的簇標(biāo) (9) 傳統(tǒng)隨機森林算法的結(jié)果是通過所有決策樹輸出結(jié)果的簡單平均投票得出的,這樣不能保證發(fā)揮出分類效果好的決策樹的分類效果,因此,在本文中使用了一種結(jié)合分類效果的隨機森林加權(quán)投票輸出方法。 對于每一棵隨機森林中的決策樹,根據(jù)每個訓(xùn)練子集中的袋外數(shù)據(jù)對其分類效果進(jìn)行評估,并以此做為參考給予其相應(yīng)的分類權(quán)重 (10) 式中OOBcorrect(i)為第i棵決策樹在袋外數(shù)據(jù)OOB中預(yù)測正確的樣本數(shù)量,OOB為袋外數(shù)據(jù)的總體樣本數(shù)量。給定權(quán)重后,隨機森林最終的輸出結(jié)果如式(11)所示 (11) 模型的有效性結(jié)果是通過整體測試集數(shù)據(jù)評價的,實驗準(zhǔn)確度的計算如式(12)所示 (12) 綜上所述,本文提出的改進(jìn)隨機森林算法步驟主要如下文所述: 1)首先設(shè)定高斯混合聚類的聚類簇數(shù)k和最大迭代次數(shù)(實驗中分別取值4和100)。 2)對駕駛員訓(xùn)練集特征向量進(jìn)行高斯混合聚類處理得到不同的簇[c1,c2,c3,c4,c5,c6,c7,c8]。 3)給定隨機森林的森林規(guī)模參數(shù)k并根據(jù)步驟(2)中的不同簇的數(shù)目大小決定各簇決策樹的數(shù)量,在各簇中訓(xùn)練生長決策樹,并在決策樹生長完成后按前文2.3節(jié)所述方法給予各決策樹相應(yīng)的投票權(quán)值。 4)所有的決策樹在一起構(gòu)成改進(jìn)的隨機森林,按前文2.4節(jié)所述的算法評價指標(biāo)得出最終的算法分類準(zhǔn)確率。 為了檢驗改進(jìn)隨機森林算法在駕駛員視線檢測任務(wù)中的有效性,將前文所得駕駛員頭部特征和眼睛特征同時導(dǎo)入改進(jìn)隨機森林和隨機森林模型中進(jìn)行分類。以森林規(guī)模為自變量,同時通過十折交叉驗證的方法得出兩種模型在相同條件下的分類準(zhǔn)確率。實驗結(jié)果如圖6所示,可以得出兩個比較明顯的結(jié)論:1)通過增加駕駛員的眼睛特征可以明顯增加駕駛員視線分類的準(zhǔn)確率,證明了眼睛特征提取的有效性;2)實驗提出的改進(jìn)隨機森林算法可以有效提高駕駛員視線分類的準(zhǔn)確率。 圖6 不同模型的駕駛員視線分類結(jié)果 確定了改進(jìn)隨機森林算法相較于傳統(tǒng)隨機森林的優(yōu)勢后,接下來將所提理論與現(xiàn)有常用的其他機器學(xué)習(xí)模型的識別效果對比,對比結(jié)果如圖7所示。由圖7可知:實驗所提出的改進(jìn)隨機森林算法與其他機器學(xué)習(xí)算法相比也取得了更高的準(zhǔn)確率。 圖7 各種經(jīng)典機器學(xué)習(xí)模型的分類效果對比圖 因為駕駛員的性別以及是否佩戴眼鏡都會對最終的視線檢測結(jié)果造成一定的影響,因此需要驗證系統(tǒng)所提算法針對不同情況駕駛員人群的有效性,具體識別結(jié)果如圖8所示。由圖可知,眼鏡的佩戴與否確實會對視線分類造成一定的影響;由于實驗樣本女性駕駛員數(shù)據(jù)較少也會使準(zhǔn)確率有一定降低;個體的體型差異也會對識別結(jié)果有一定的影響。不過最終各區(qū)域的實驗準(zhǔn)確率都在可接受的范圍內(nèi),基本滿足日常駕駛活動對駕駛員視線識別的要求。 圖8 不同實驗人群識別效果對比 隨著近年來深度學(xué)習(xí)的發(fā)展,深度學(xué)習(xí)也作為分類的常用手段之一。將改進(jìn)隨機森林算法與深度學(xué)習(xí)經(jīng)典網(wǎng)絡(luò)Alexnet和VGG16在測試集中進(jìn)行分類效果對比。最終識別結(jié)果如表1所示,由表可知,改進(jìn)隨機森林算法相比于Alexnet和VGG16網(wǎng)絡(luò)在本實驗?zāi)苋〉酶训姆诸愋Ч?;且改進(jìn)隨機森林算法對大部分區(qū)域的識別準(zhǔn)確率在90 %以上,其中最小的準(zhǔn)確率也達(dá)到了87.85 %,對駕駛過程中常用的區(qū)域識別準(zhǔn)確率更是達(dá)到95 %以上,基本滿足駕駛員正常駕駛活動的視線檢測的要求。 表1 視線區(qū)域識別結(jié)果對比 實驗結(jié)果表明:相較于包括傳統(tǒng)隨機森林在內(nèi)的其他機器學(xué)習(xí)算法,改進(jìn)隨機森林算法在駕駛員視線檢測任務(wù)中可以取得更高的準(zhǔn)確率,且在不同類型的實驗人群中均能取得良好的效果,對于未來的安全駕駛行為具有廣泛的應(yīng)用前景。2.2 高斯混合聚類選取訓(xùn)練子集
2.3 加權(quán)投票算法
2.4 算法的評價指標(biāo)
2.5 改進(jìn)隨機森林算法步驟
3 實驗結(jié)果
3.1 算法驗證與實驗結(jié)果對比
3.2 與深度學(xué)習(xí)模型分類結(jié)果對比
4 結(jié)束語