孫 凱 何明祥 張 紅 蔣紀威
(山東科技大學計算機科學與工程學院 山東 青島 266590)
障礙物檢測是無人駕駛汽車和機器人研究方面的關鍵技術之一。目前,國內外研究人員在障礙物檢測方面進行了大量的研究,但是由于檢測所用的工具和應用環境的不同,其檢測的具體方法也不盡相同。Zhou等[1]提出了一種基于多普勒頻移和高度的障礙物檢測方法;鄒斌等[2]提出一種基于三維激光雷達的動態障礙物檢測和追蹤方法;金立生等[3]提出了一種基于Adaboost算法的日間前方車輛檢測方法;Delp等[4]提出一種基于貝葉斯集群學習的分類方法;王錚等[5]提出了一種基于雙目視覺的AGV障礙物檢測方法。
此外,卷積神經網絡也是一種很好的障礙物檢測方法,它擅長處理大型圖像信息,目前已經成功應用于人臉識別和交通信號識別等領域。傳統的卷積神經網絡大多是采用卷積層和池化層循環抽樣的多層級聯的結構[6-7],此類結構主要利用卷積層提取圖像的細節特征,利用池化層來降低特征圖的分辨率,最后通過全連接層進行分類整合得出結果[8]。
但是,在運動障礙物檢測識別過程中過于考慮局部細節特征,容易受限于圖像本身。例如需要識別的障礙物較遠時,即當感興趣的目標過于小時,按照多層級聯的結構只靠提取細節來識別會影響準確率,反而適量的增加感興趣目標的全局特征能達到比較好的效果[9-10]。針對以上問題,本文通過增加全局特征來修正傳統卷積神經網絡,在層層抽取細節特征的基礎上融入了全局特征,利用全局特征修正細節特征的提取,進而提高對動態障礙物識別的準確率。
卷積神經網絡(CNN)是一種多層非全連接的深度學習網絡結構。CNN通常由輸入層、卷積層、池化層、全連接層以及輸出層五層結構組成。傳統的卷積神經網絡LenNet-5是LeCun等[11]提出的一種基于卷積神經網絡的文字識別模型,其網絡結構如圖1所示。

圖1 卷積神經網絡結構示意圖
卷積層的主要作用是提取圖像的特征信息,具備自學習能力的卷積核能夠對上一層獲得的特征圖進行卷積計算,并加上一個合適的偏置數值,然后經過激活函數后輸出形成這一層的特征圖。
卷積層的計算公式如下:
(1)

池化層是對輸入進行不重疊的采樣操作,進一步提取圖像特征,來降低特征圖的分辨率,除去冗余的數據,減少圖像特征維數,同時保持位移不變。
(2)
式中:down(·)表示池化函數。
全連接層是用來連接經過卷積和池化操作的全部特征,并對其進行特征分類,再交由輸出層輸出最后的結果。
全連接層的計算公式如下:
(3)
Softmax層是卷積神經網絡中的最后一層,用來進行最后的分類和歸一化,得到最終的圖像信息。
當父母無法接納孩子的某個身體部位,或者某個特別的行為,甚至去強行掰正孩子時,孩子就會自動做起父母的幫兇:壓抑天性,排斥自己,龜縮到只有自己的世界里。
Softmax層的計算公式如下:
式中:zi表示第i類預測結果。
針對傳統卷積神經網絡在特定的情況下,因過度關注細節特征而影響識別的準確率這個問題,本文對傳統卷積神經網絡進行了改進。該網絡結構是由上下兩層并行組成,最后由一個全連接層整合兩層的識別結果。上層的卷積神經網絡主要對圖像的細節特征進行采樣,因此不改變原來的網絡結構,下層卷積神經網絡主要對上層采樣的結構進行修正,對圖像的全局特征進行采樣,因此改進點主要在下層,網絡結構如圖2所示。

圖2 改進卷積神經網絡結構圖
如圖2所示,該網絡結構上半部分是一個由3層卷積層和3層池化層組成的傳統卷積神經網絡結構。該結構的主要作用是對細節的采樣和表達圖像的特征。為了保證對細節的足夠采樣,所有卷積層步長均為1。第一個卷積層的卷積核為8×8,第一層池化操作提取的特征圖數為16,第二個和第三個卷積層的卷積核為3×3,第二層和第三層池化層提取的特征圖數為32。
如圖2所示,下半部分是一個由3層卷積層和1層池化層組成的新卷積神經網絡結構,目的是對圖像的全局特征進行采樣。第一層卷積層的卷積核為5×5、步長為1,第一層池化操作提取的特征圖數為16,第二層和第三層卷積層的卷積核為3×3,但是只保留初次卷積后的池化操作,因為第一次卷積操作會注重圖像的邊界提取,在此基礎上保留池化層可以最大化地保留圖像的全局特征。
全連接層在該網絡結構中總共有3個,在上下兩部分的網絡結構中分別有2個具有400個單元的全連接層,分別對上下層網絡結構提取的圖像特征進行融合,然后由1個100個單位的全連接層將兩部分融合在一起,最后經過Softmax層進行分類操作,輸出一組圖像與原圖像相對應。
以下主要是本文對卷積神經網絡的改進點的詳細描述:
(1) 下半部分的卷積神經網絡只保留第一次卷積之后的池化操作。下層卷積神經網絡的第一層卷積層的卷積核為5×5、步長為1;第二層和第三層卷積層采用的均是3×3核。保留第一層的池化層是因為第一層的卷積層是處理圖像邊緣的操作,而對于目標邊緣的識別尤為重要。采用5×5的卷積核也是為了最大限度地保留圖像的全局特征。當然下半部分的卷積網絡最大的缺點是有可能帶來過擬合。
(2) 最后一層全連接層融合上下兩部分卷積網絡提取的特征。上層卷積神經網絡通過全連接層1提取的是局部的圖像特征,下層卷積神經網絡通過全連接層2提取的是全局的圖像特征,該改進的算法即是將局部特征與全局特征融合在一起得到更為準確的圖像識別,最后一步的融合至關重要,因此采用一層100個單位的全連接,最后用Softmax分類層進行分類識別。
改進卷積神經網絡在避障系統中用于對障礙物的識別和分類,其輸入是經過處理后的點云圖像,識別并分割出的障礙物,如汽車、自行車、行人等,輸出為與障礙物相對應的一組對象,用于后續的操作處理。
柵格地圖[12]能準確地表達某一時刻的環境情況,比如當前車的位置、障礙物的位置等。在避障系統的研究中,可將柵格圖作為最基礎的環境建模,在柵格圖的基礎上進行智能決策和路徑規劃操作。本文研究的主要是運動的障礙物,因此選用可以更好地描述障礙物動態位置信息的三維障礙物柵格圖作為表達環境的建模方法。在三維坐標系內對環境進行建模,按時間軸表示出一段時間內柵格的占用情況,從而連續地展示環境中所有的運動關系,為接下來的行為決策和路徑規劃提供依據。
本文采用512×512的柵格劃分標準,即將能夠檢測到的環境大小按比例映射到此512×512的環境地圖中,將得到的某一時刻點的雷達原始數據中所有環境信息同樣按比例映射到相應的位置,這樣便得到了單點時刻的柵格圖。依次按照時間順序將周圍的環境信息映射到同一個三維坐標系中,便得到一個三維的柵格占用圖,在這個三維坐標系中可以明顯地看出該環境中所有的運動情況。
在傳統的二維柵格圖中按照單個時間點映射得到的柵格圖可得到單幀的動態障礙物柵格圖,在本文中三維坐標系中按照時間軸多幀疊加便會得到一個三維的動態障礙物柵格圖。圖3(a)為單幀的動態障礙物柵格圖示意圖,圖3(b)為多幀疊加的動態障礙物柵格圖示意圖,由圖可知,多幀疊合的柵格圖能夠看出障礙物的運動狀態變化。

(a) 單幀 (b) 多幀疊加圖3 動態障礙物柵格圖示意圖
感興趣區域[13]指為硬件設施檢測到的動態障礙物所處的環境區域,感興趣過濾器處理感興趣之外的點云數據,去除背景的物體,比如道路上的建筑物和樹木等,剩下的就是感興趣區域的點云,方便用于后續的處理。
此處采用檢測到的視線內可操作的最小多邊形進行過濾,經過感興趣區域過濾后,可得到每個雷達點代表的物體是在感興趣區域內還是區域外。
假定該卷積神經網絡已線下完成訓練,獲得使最損失函數最小的權值并保留該權值。在經過感興趣過濾器識別周圍環境之后,識別模塊得到了僅在感興趣區域內的點云,這時大部分的背景障礙物已被去掉。同時通過線下訓練完的本文改進卷積神經網絡模型的上下兩層網絡結構,學習點云的特征預測障礙物的相關屬性(前景物體的概率、物體的高度、物體分類等),再經過卷積神經網絡的特征識別、提取、聚類等操作,得到一組識別分類結果。
本實驗是在CPU為Intel i5-6300,主頻2.30 GHz、四核,8 GB內存,64位Microsoft Windows 10操作系統,使用Matlab進行實驗驗證。采用的數據來自Geiger開放的KITTI數據集[14],選取1 000張道路障礙物圖片,其中900張用于訓練,100張用于測試。
表1中,時間復雜度公式中Dek、Drk表示單層輸入層需要訪問的參數,log2(|V|)表示輸出層Softmax層需要訪問的參數,其中|V|表示詞典的大小,De表示原卷積神經網絡單層詞向量的維度,Dr表示改進卷積神經網絡的單層詞向量維數。由于改進的卷積神經網絡只保留了一層池化層,并且卷積層的卷積核數也有所降低,即De>Dr,所以改進的卷積神經網絡的時間復雜度比傳統的卷積神經網絡低。

表1 實驗檢測速率比較
從表1給出兩種算法的檢測速率的比較結果可以看出,改進的卷積神經網絡檢測速率比傳統的卷積神經網絡有所降低,表明了本文算法具有較低的時間復雜度,因此本文方法的實時性也能夠得到保證。
本文的仿真實驗基于百度開放Apollo的平臺,采用的數據來自Geiger開放的KITTI數據集、城市交通數據集Cityscapes[15]和Apollo數據集中的相機圖片。
此處實驗目的為驗證改進卷積神經網絡算法在圖像識別中具有全局優勢,因此對改進卷積神經網絡上下部分的網絡分別輸入相同的樣本圖片,通過上下層網絡結構中卷積層輸出的特征圖結果來驗證。
首先手動篩選出一部分較易識別、邊緣較明顯的圖片組成樣本圖片庫,分別通過本文中改進卷積神經網絡上下層結構,輸出樣本圖片經過卷積層的特征圖。圖4和圖5分別展示出了經過上下兩層卷積網絡得到的特征圖,可以看出,上層卷積網絡輸出的特征圖較為抽象,而下層卷積網絡輸出的特征圖較為全局,能夠更好地反映出圖像的特征。

圖4 上層卷積神經網絡輸出的特征圖

圖5 下層卷積神經網絡輸出的特征圖
淺層神經網絡具有全局性的特點,本文改進卷積神經網絡是受此啟發,利用淺層神經網絡的全局特性對傳統卷積神經網絡對圖像進行層層抽象的特點進行補充修正,從而改善卷積神經網絡過度抽取細節特征從而缺乏全局特征的問題;同時,通過下層卷積神經網絡對全局特征的把握,可以改善在訓練學習過程中出現過擬合的概率。
為了驗證本文提出的改進方法在動態障礙物識別過程中的適用性,本文采用以上數據集中的真實數據構建了一個91 271個樣本的測試庫,并將其分為測試集和訓練集兩部分,樣本集包括三個數據集中的數據,包括多種場景下的運動障礙物的樣本。表2中列出了本文在訓練及測試時各個數據庫中樣本數量的情況。

表2 實驗樣本集
分別采用表2中相同的訓練集(82 329條數據)對傳統的卷積神經網絡和本文改進卷積神經網絡分別進行權值訓練,分別保存上線兩層卷積神經網絡訓練后的權值數值。再采用表2中的測試集(8 942條數據)進行實驗驗證,表3列出了本文改進卷積神經網絡在各個數據集的測試結果。通過改進CNN與CNN的算法對比,可以直觀地看出本文算法在運動障礙物的識別上的優勢。

表3 實驗測試結果
上述實驗采取的數據集均是采用道路真實的數據,從側面展示出了改進的算法在不同的環境中具有一定的適應能力,在進行驗證實驗的同時用改進的算法對三個數據集進行了測試。圖6為算法改進前后的召回率曲線,從圖中可以看出,本文的改進卷積神經網絡算法在三個數據集中具有較強的適應能力。

圖6 召回率曲線
為了驗證本文改進卷積神經網絡在增加全局特性后的有效性,在Apollo數據庫中分別測試了改進CNN、下層全局粗特征CNN和上層局部細化CNN,測試結果的ROC曲線(受試者工作曲線 Receiver Operating characteristic Curve)如圖7所示。可以明顯地看出改進卷積神經網絡算法在識別障礙物的性能上明顯比上下層網絡結構的性能好。

圖7 改進前后ROC曲線對比
本文提出了一種基于改進的卷積神經網絡對動態障礙物的識別方法。與傳統的CNN相比,該網絡在保留局部特征提取力度的同時增加全局特征的修正,通過局部特征和全局特征的同時提取,再通過一個全連接層將局部特征與全局特征進行整合,最終獲取圖像的整體信息。實驗結果也表明,改進的卷積神經網絡在對運動障礙物的識別具有較強的適應性和有效性。同時,由于實驗中所使用訓練樣本數量和種類的限制,對實驗的結果會有一定的影響,因此接下來的工作中,要擴大訓練樣本集的數量和種類來進一步驗證改進的CNN比傳統的CNN在動態障礙物識別方面有更高的準確性。