李全彬, 張福洋, 趙 煊
(江蘇師范大學 物理與電子工程學院,江蘇 徐州 221116)
駕駛員的非正常駕駛帶來了極大的安全隱患,甚至威脅到相關人員的人身安全。 防撞預警系統能夠在一定程度上減小因不良駕駛引起的事故發生率,從而達到減小交通事故損失的效果。 國內外學者已經對車輛預警模型做出大量的研究和嘗試[1-2],并開始關注到駕駛員因素在防撞預警中的重要作用[3-5],其中,基于人臉的年齡[6-8]和性別[9-10]識別技術已經逐漸成熟,尤其是嵌入式應用[11-12]的出現,為提升車輛防撞預警系統性能提供了新的研究思路。
文獻[13]利用改進CNN(Convolutional Neural Networks)完成年齡和性別識別,但沒有嘗試與其他應用結合;文獻[14]利用模糊邏輯分析機器人的避障問題,但沒有對操作者駕駛能力進行分類;文獻[15]利用模糊集理論設計一種數據信息關聯模式識別算法,為模糊理論應用到車輛預警系統提供了參考價值;文獻[16-17]采用魚群算法較為合理的實現了動態環境下的路徑規劃,但均沒有考慮實際情況下操作者的駕駛能力。
筆者旨在通過面部識別技術,識別操作者年齡和性別。 進而,根據操作者年齡和性別選擇合理的預警模式。針對現有研究存在的問題,文中采用DEX(Deep Expectation of apparent age from a single image)算法識別操作者年齡和性別,通過分析車輛與障礙物之間的距離和操作者反應時間兩個參數,建立模糊函數模型[18]。然后,采用模糊邏輯分析不同年齡段和性別下操作者的反應安全距離,較好地解決不同安全駕駛距離下的車輛預警問題。

圖1 系統設計流程圖
如圖1 所示,首先,信息采集模塊利用CCD 獲取操作者面部信息[19]。其次,年齡、性別識別模塊利用DEX算法處理面部信息,判斷操作者年齡和性別。 再次,預警模式選擇模塊根據各年齡段駕駛安全距離數據建立函數模型,判斷操作者安全距離、選擇合適的預警閾值。 防撞預警模塊主要構建動態環境預警規則庫,判斷最優預警環境。 最后,給出智能預警:假如車輛與障礙物間距離低于安全距離,系統將會發出警告;反之,操作者自主操作。
年齡、性別識別隸屬于人臉屬性識別,其目的是根據提取的面部信息判斷年齡和性別。 目前,已經存在不少較為流行的算法,較為成熟的包括LBP 特征、Gabor 特征、HOG 算子。 其中,LBP 一般在人臉特征點附近區域對多尺度人臉圖像進行LBP 特征提取,具有較高的識別率,但存在人臉特征維度較高、計算和儲存工作量大等問題[20];HOG 算子能夠實現融合局部特征和整體特征后進行人臉識別,但是存在特征層融合后造成的單一分類器敏感的問題[21];Gabor 特征又存在受到人臉角度變化、表情變化和光照變化等方面影響較大的問題[22]。 因此,文中采用具有較高精確度、受其他因素影響較小的DEX 算法完成年齡和性別識別。
DEX,即從單一圖像深入觀察年齡和性別。 其特點在于使用CNN 技術在圖像網絡上預先訓練VGG-16構架[23]。 進而,將年齡和性別回歸問題[24]假設為深度分類問題,對其softmax 期望值細化,達到改進傳統CNN技術、縮小預測值范圍的效果。人臉信息提取和處理的穩定性也是DEX 的一大特點之一。為了保證面部信息提取的準確性,文中將原圖旋轉到-60°~+60°之間,平均每5°記錄一次信息;對于一些面部信息不明確的圖像,調整其中人臉部位。
文中以此為基礎實現年齡和性別的評估,具體流程為:輸入圖像→人臉檢測→劃分人臉信息塊→特征提取→預測。
文中年齡和性別識別在樹莓派上借助Face++[25]平臺實現[26]。由于文中駕駛者年齡主要用于年齡分段,雖然分類誤差較文獻[27]稍大,但對年齡段劃分影響較小。 文獻[28]介紹了幾類駕駛者年齡和駕齡,文中以此為基礎劃分四個年齡段,見表1。

表1 年齡段分布
同理,文中將性別劃分為[0,1]兩個輸出層,可以求出一個性別softmax 值E(A)。

式中,a={0,1}代表兩個輸出層,aj∈a 代表 softmax 輸出概率,xj是每個類對應的性別。 進而,結合 CNN 進一步評估操作者年齡和性別。
建立一個完整的預警模式劃分體系,不僅需要充足的數據,還需要能夠歸納出合理的預警方式。 文中主要利用車輛和障礙物之間的動態距離判斷操作者是否是安全的,即在安全距離內。
為確保數據的質量和代表性,以某市近5 年來交通事故數據為樣本數據,包括車速、操作者年齡和性別、路面數據等,共計800 M。但是考慮到這些數據過于冗長,嚴重影響到計算結果的精確度和計算效率。文中主要利用主成分分析法(PCA)計算樣本累計貢獻率[29],篩選出累計貢獻率大于85%的數據,最后將數據總量削減到100 M。
為了量化操作者年齡和性別對安全距離的影響,設置4 個一級指標:操作者年齡、操作者性別、車速數據和其他因素(天氣、交通信號、路況等)。 利用專家評價法(Expert Scoring Methoud)[30],計算出與4 個一級指標對應的權重WT=[0.3,0.3,0.3,0.1]。 假設dj為數據歸一化處理以后因素j 的樣本數據,得到樣本安全距離X。

進而,計算出各年齡段對應的安全距離,其具體結果見表2。

表2 各年齡段安全距離
考慮到駕駛員一般反應時間為0.4~0.6 s 之間,表2 的安全距離中已經將反應時間計算在內。 表2 中具體提供了各年齡段的普遍安全距離,接下來具體分析該年齡段不同性別人群的安全距離。 利用k-means 算法[31],結合樣本性別信息進行聚類分析,最終可以劃分為六種操作者類型:男青年謹慎型、女青年謹慎型、男中年普通型、男老年謹慎型、男其他型和女其他型。其對應安全距離見表3,每一種駕駛類型的安全距離基本上都在該年齡段安全距離范圍之間,但是女性中年和老年齡段安全距離十分接近,統一歸納為“女其他型”。

表3 六種操作者類型
文中借鑒數據歸一化處理方式,求取所得安全距離Vpjci與已有文獻[32]數據Vqkci之間的樣本距離dpjqk。 對于信息系統L=(M,A),條件隸屬集定義為C={c1,c2,…,cn},規定所求安全距離中指標p 的第j 個樣本與已有文獻中指標q 的第k 個樣本之間的距離為[33]

再將dpjqk與準確數據比較,可以求出誤差pi在10%左右;針對存在的誤差,樣本安全距離優先選擇較大的安全距離,確保距離足夠安全。

文中以此為基礎劃分預警模式。 如圖2 所示,針對六種操作者類型,將預警模式劃分為六種級別: I、II、III、IV、V、VI。

圖2 安全距離級別劃分
I 代表操作者駕駛能力強,能夠在較短的距離內做出正確的反應;II 代表操作者反應速度較快,安全距離較短;III 代表操作者駕駛能力盡管有一定下降,但是反應安全距離仍然在可以接受的范圍內;IV 代表操作者所需安全距離相對較長,需要謹慎駕駛;V 代表操作者所需安全距離進一步加長;VI 代表操作者所需安全距離長,需要認真觀察路況。
預警防撞原理如圖3 所示。 首先,識別操作者類型,判斷操作者最小安全距離。然后,計算車輛和障礙物之間的距離。最后,判斷車輛和障礙物間距離大小x,當該值低于一定閾值時(小于最小安全距離),智能車輛發出警告。

圖3 預警流程
鑒于路面一直處于復雜的動態環境,車輛和障礙物之間的動態距離分為三種情況計算:
(1)障礙物靜止

(2)障礙物相對于智能小車減速行駛

(3)障礙物相對于智能小車勻速或加速行駛

上式中,v 表示智能小車的初速度,v′表示障礙物相對于智能小車的速度,amax表示智能小車開始制動與地面產生的減速度,d 代表智能小車和障礙物性對靜止時的安全距離[34]。
盡管將操作者分為六種級別,但是有很多操作者的安全距離在不同級別之間,安全距離是不確定的,即模糊的。因此,文中利用模糊函數計算操作者安全距離,將六種預警模式的安全距離分別定義為SL(很近)、L(近)、M(中等距離)、H(遠)、S(很遠)、SS(非常遠)。
該系統由三個模糊輸入和一個模糊輸出組成。 操作者類型有四個隸屬函數。 見表4。

表4 模糊輸入和模糊輸出變量
隸屬函數中模糊變量的真值區間為[0,1],模糊變量值越靠近1,隸屬函數值越接近相鄰閾值。 隸屬函數的寬度和中心能夠根據不同的車速做出相應改變,同時也受到道路狀況的影響。 例如,當道路前方出現交通事故時,“H”集中的數量就會增加。在該模糊函數中,模糊集合之間不存在跳躍性。模糊集合之間交替過程中會出現集合重合,若不存在重合,則證明該系統屬于二階控制。 反之,則過于模糊。
為確保不出現因操作者反應時間不足產生的隱患,對于不同操作者類型輸入不同的安全距離X,系統將在設計時間內做出判斷。
為確保該設計可行性,以智能小車為例,實地測試。 該實驗主要通過智能小車在行駛軌道上預警的準確性和避障精準性判斷系統的可行性。 采用柵格法[35]將行駛路徑劃分若干柵格,圖4 為簡化后的路徑,其中深色代表障礙物,智能小車從初始點A 行駛到終點B。
該實驗所需的傳感器主要包括激光測距傳感器和CCD。 激光測距傳感器利用光學三角法判斷障礙物距離和運動狀況。 CCD 用于輸入操作者面部信息,判斷操作者年齡和性別,并借鑒文獻[36]算法優化障礙物定位準確度。
如圖5 所示,通過智能小車進行實地避障和尋跡實驗。 相對于車輛而言智能小車更加靈活、容易避開障礙物,因此,將實驗中所求安全距離縮小至10 倍,并計算該情況下的避障成功率。 假如在該精度情況下可以發出準確警報和安全避障,在實際車輛中避障精度將更高。

圖4 軌道障礙物分布

圖5 實地測試示意圖
實驗主要分為三個步驟:
(1)年齡和性別識別功能測試。 分別將MORPH 數據集[37]的100 張圖像和項目組自行采集的200 張含人臉圖像輸入年齡和性別識別模塊,識別結果見表5。

表5 年齡和性別識別率
因為系統中年齡預測比性別預測更加復雜,所以主要通過年齡預測值的穩定性驗證系統識別年齡和性別信息的可靠程度。 其中,樣本年齡預測值近似求取整數,將年齡預測值與樣本真實值對比,可以得到表6數據。表中顯示年齡段判斷誤差較小,基本上可以判斷出駕駛者所處年齡段。年齡識別誤差基本上可以控制在10%以內,并且誤差值沒有橫跨多個年齡段。 盡管識別時間與操作者呈現正相關趨勢,即隨年齡的增長而增加。但是識別時間基本上維持在系統反應時間的0.30%以內,相對于系統反應時間而言人臉識別反應時間較小,對系統的影響較低,系統反應時間不用延長。

表6 年齡段測試數據
文獻[18]中測試了10 組數據,其誤差值見表7。盡管文中系統求出年齡存在一定誤差,精度與文獻[18]也有一定距離,但是能夠滿足判斷樣本年齡段的需要。 該模塊年齡段判斷精度較高,能夠減小最小安全距離判斷錯誤的概率。

表7 文獻測試誤差
(2)預警模式判斷功能。在實驗(1)的基礎上,判斷樣本隸屬預警模式集,進而計算出樣本所需安全距離。記錄智能小車發出預警時與障礙物之間的距離,得到數據見表8。根據樣本年齡和性別判斷出樣本隸屬操作者類型,觀察預測值是否符合該操作者類型的安全距離要求。

表8 測試數據
實驗表明,預測值和實際所需安全距離誤差不超過5%,預警模式劃分較為準確。 同時發現系統反應時間占避障前預留時間的比例較小,不超過0.30%,系統的反應時間并不影響系統的精度。
(3)預警功能測試。 在小車行駛軌道中設置20 個采樣點,啟動初始點處智能小車,統計采樣點處的預警誤差情況。以男青年謹慎型為例,測試結果如圖6 所示。通過計算測試數據與理論數據之間的誤差,發現預警誤差不超過2.5%、系統反應速度不超過0.30%,預警功能較為準確。 實驗結果表明,在該系統的處理下,智能小車可以實現識別操作者年齡和性別,判斷操作者類型,并能夠及時發出警告。

圖6 男青年謹慎型測試數據
預警模式的設計以安全駕駛距離的設定為關鍵,這不僅要求系統準確識別車速與路面狀況,還要求在此基礎上考慮駕駛者的年齡和性別因素,理清其對于動態環境的反應能力。 文中根據反應能力差異,將駕駛者劃分為六種類型,然后預估不同類型操作者的安全預警距離。 實驗結果表明,該系統能夠較好地劃分駕駛者年齡段和性別,并且能針對復雜動態環境發出相對準確的預警。 通過進一步改進模糊算法,以及與魚群算法的結合,可以為研究復雜動態環境下的路徑規劃問題帶來一定的啟示。