張達峰,劉宇紅,張榮芬
(貴州大學 大數據與信息工程學院, 貴州 貴陽 550025)
據前瞻產業(yè)研究院統(tǒng)計,中國民用車輛數量從2008年到2014年呈直線增長狀態(tài)。然而,隨著汽車數量的增多,交通事故也頻頻發(fā)生,對人身安全和社會經濟造成嚴重損害, 2014年有19.681 2萬起交通事故發(fā)生,死亡58 523人,直接經濟損失高達107 543萬元[1]。交通安全問題已成為不能忽視的重大社會問題。
本文設計的基于深度學習的智能輔助駕駛系統(tǒng)[2-3],利用深度學習算法和雙目測距原理,不僅可以實現對障礙物距離的判定,而且還可以實現對車輛周圍障礙物類型的識別,然后通過語音模塊將識別結果播報給駕駛員,以便其進行避障等行為。此外,本設計可進一步實現GPS定位功能,實時顯示車輛的位置信息;短信功能,將車輛的位置信息以短信的形式發(fā)生給車主等,以此實現停車安全、尋車管理等方面的功能。
智能輔助駕駛系統(tǒng)結構框圖如圖1 所示,主要由攝像頭采集端和云服務器端兩部分構成。攝像頭采集端集成了主控單元、雙目攝像頭、GPS定位模塊、語音播報模塊和GPRS通信模塊;云服務器端則是由多臺并行計算的服務器構成的服務器集群。當駕駛員使用智能輔助駕駛系統(tǒng)時,雙目攝像頭采集車輛周圍環(huán)境圖像,采集的圖像采用本地—云服務器遞進識別方案:(1)由雙目攝像頭將圖像通過USB接口傳送至主控單元,主控單元對采集的圖像進行模板匹配。如無法匹配,則將圖像進行壓縮,再利用3G通信模塊將壓縮的圖像發(fā)送至云服務器端;(2)云服務器利用深度學習與雙目測距等算法來獲取障礙物的類別和距離信息,并將信息以文本格式發(fā)送至眼鏡采集端。如果距離低于設定的門限值,語音模塊會將文本格式的障礙物類別和距離信息以語音形式告知駕駛員,如果距離大于設定的門限值,語音模塊則保持靜默運行。
圖1 智能輔助駕駛系統(tǒng)結構框圖
主控單元是整個設計的核心,負責對整個智能輔助駕駛采集端各部分功能模塊數據和信息的分析和調度,控制著整個系統(tǒng)的正常工作。本設計采用性能高、功耗低的S5PV210芯片作為主控單元,并搭載Linux PAD操作系統(tǒng),保證各個模塊具有更高的效率、更穩(wěn)定的性能和更方便的實時操作性。
云服務器是由多臺并行計算服務器構成的服務器集群,具有較強的運算能力,可提供簡單高效、安全可靠、處理能力可彈性伸縮的計算服務。通過在云服務器上搭建軟件平臺,建立圖像學習數據庫,并利用深度學習算法和支持向量機SVM(Support Vector Machine)算法[4],可以實現對眼鏡采集端傳送圖像的識別。
本設計是將深度學習方法與支持向量機(SVM)相結合(分類方法模型如圖2所示),利用機器視覺將障礙物的圖像信息傳送至圖像處理系統(tǒng),繼而轉成數字信號。圖像處理系統(tǒng)利用深度學習方法的深度信念網絡(Deep Belief Networks,DBN)通過一種交替進行的無監(jiān)督和有監(jiān)督學習過程的方法對采集的信號進行特征提取,將最后一層隱含層的輸出作為SVM的輸入,對特征信息進行分類訓練識別,最后采用模板匹配法實現智能輔助駕駛系統(tǒng)的障礙物識別功能。
圖2 深度學習結合SVM的分類方法模型
深度信念網絡是深度學習方法中最為常用的一種概率生成模型,由多層限制性玻爾茲曼機(Restricted Boltzmann Machine,RBM)[5-9]構成,在整個網絡中,負責對RBM的每一層采用無監(jiān)督貪婪方法進行訓練。
限制性玻爾茲曼機(RBM)是一個可用隨機神經網絡來解釋的概率圖模型(其結構示意圖如圖3所示),是由二值隱含層單元h和可見層單元v組成。對于一個由n個結點的可見層單元和m個結點的隱含層單元組成的RBM系統(tǒng)的能量(v,h)為
(1)
其中,Wij為隱含層和可視層之間的權重;ai為對每個可見層單元vi的偏置;bj為對每個隱含層層單元nj的偏置。
圖3 RBM結構示意圖
本設計采用的DBN深度學習方法,是一種交替進行無監(jiān)督和有監(jiān)督學習過程的方法。上文提到的RBM訓練方法是無監(jiān)督學習,具體流程是對RBM的第一層進行無監(jiān)督學習,結束之后加入標簽,用監(jiān)督學習的方法來調整RBM網絡的參數,然后利用調整后的一層作為下一層的可見層,以此類推,直到最后一層訓練結束(訓練流程圖如圖4所示)[10]。在訓練過程中采用CIFAR-10自然場景庫,其包含10類共60 000個32×32的彩色圖像,由50 000個訓練圖像和10 000個測試圖像組成。在本設計中還加入了一些生活中常見的場景,如椅子、垃圾箱、人等,以此來提高識別系統(tǒng)的實用性。
圖4 深度學習結合SVM的分類方法訓練流程圖
本設計采用雙目攝像頭模擬人類雙眼視覺原理來采集同一場景的兩幅圖像,對采集的二維圖像結合神經網絡算法提取圖像中的主要信息,通過BM(Boyer-Moore)算法得出圖像的視差,再利用雙目測距原理[11-13]得出障礙物的距離信息。利用OpenCV的雙目測距原理,圖5為雙攝像頭模型俯視圖,此圖解釋了雙目攝像頭測距的原理,求深度信息Z的公式為
(2)
其中,P為待測物體上的某一點,OL與OR分別為兩個相機的光心,點P在兩個相機的感光器上的成像的點分別為PL和PR,T為兩個相機的中心間距,f為相機的焦距,T-(xL-xR)為點PL和PR之間的距離。在OpenCV中,f和視差d=(xL-xR)的量綱為像素點,Tx的量綱由定標棋盤格的實際尺寸使用者輸入的值來確定(一般為mm級)。
圖5 雙攝像頭模型俯視圖
圖6 雙攝像頭模型立體視圖
圖6解釋了雙目攝像頭獲取空間中某點三維坐標的原理。在OpenCV中,先對雙目攝像頭進行標定、校準和匹配,獲得攝像頭的參數Tx、f、d=(xL-xR)、cx與cv,對雙目攝像頭標定和匹配的目的是得到矩陣Q
(3)
匹配的目的是求解視差d=(xL-xR),其次獲得P點的坐標(x,y),構造向量W
W=[xydl]T
(4)
通過Q·W求解得到世界坐標向量,進而可求得Z
(5)
前文介紹了智能輔助駕駛系統(tǒng)對障礙物進行類型識別和距離測量的原理和流程。通過以上原理和操作可以實現對障礙物的判斷和距離的測定,當障礙物的距離小于設定的閾值時,智能輔助駕駛系統(tǒng)會通過語音模塊進行障礙物類型和距離的播報。
在Microsoft Visual Studio 2012環(huán)境下,利用上述深度信念網絡模型對5種常見物體進行識別,表1為5種常見障礙物的識別率和平均識別率。
表1 5種常見障礙物的識別率和平均識別率
由表1識別結果可知,利用深度信念網絡模型對常見障礙物進行分類訓練后得到的平均識別率為91.67%,比基于單純支持向量機的物體分類訓練[15]所獲得的識別率要高將近15%。因此,深度學習結合SVM的分類方法模型對常見物體具有良好的識別能力。
利用雙目攝像頭分別采集同一物體的左右視圖,在OpenCV上對采集到的圖像進行處理生成視圖差,利用雙目測距原理對視圖差進行分析進而求得物體的距離信息。更多的測試結果如表2所示,通過分析可知,當所測量的目標物體距離攝像機越近時,誤差率越低,這也符合雙目測距的原理。
表2 測距結果
圖7是雙目攝像頭采集的同一行人的左右視圖。圖8在實際場景中對障礙物探測的結果,顯示了該智能輔助駕駛系統(tǒng)不僅可以判斷前方障礙物的類別信息,而且還可以實現對障礙物距離的測量。因此,當該系統(tǒng)檢測到障礙物時,會將障礙物的類別和距離信息通過語音模塊[16-17]告知駕駛員,提醒駕駛員及時避障,從而保證行車安全。
圖7 雙目攝像頭采集的同一行人的左右視圖
圖8 實際場景中對障礙物探測的結果
本文設計的智能輔助駕駛系統(tǒng)綜合利用了深度學習、SVM算法模型和雙目測距原理,不僅能確定障礙物的距離信息,還實現了對障礙物類別的判斷,利用搭載的智能語音播報系統(tǒng)和GPS定位系統(tǒng)可以實時播報前方路況和車輛所處的位置信息,為駕駛員出行提供了便利,在減少交通事故方面具有重要的現實意義。此外,本系統(tǒng)還具有短信通知功能,可以將車輛的位置信息發(fā)送至指定聯系人的手機,對于尋車管理具有輔助作用。