曾明如 楊向文 祝琴



摘? 要: 由于智能小車探測周圍環境的硬件設備的繁雜,將卷積神經網絡與攝像頭結合來探測周圍環境越來越成為研究的熱點。然而,單純地使用卷積神經網絡處理攝像頭的數據來控制小車的轉角,存在訓練時間久、準確率不高的問題。針對上述問題,該文提出了將攝像頭的數據經過無監督的二分K?means聚類方法之后,再將聚類結果作為卷積神經網絡的輸入,最終預測小車轉角。實驗結果證明,該網絡結構可以有效地提高網絡的訓練速度,并提高網絡的準確率。
關鍵詞: 轉角預測; 卷積神經網絡; 數據處理; 周圍環境探測; 網絡訓練; 結果分析
中圖分類號: TN820.5?34; TP391.41? ? ? ? ? ? ?文獻標識碼: A? ? ? ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2020)06?0140?04
Method of lateral turning angle prediction based on CNN
ZENG Mingru, YANG Xiangwen, ZHU Qin
(School of Information Engineering, Nanchang University, Nanchang 330031, China)
Abstract: As the intelligent little vehicle′s hardware equipments for detecting the surrounding environment are too complex, it has become a research hotspot to combine convolutional neural network with camera to detect the surrounding environment. However, if the convolutional neural network is applied alone to process the data of the camera for the turning angle control of the little vehicle,? the training time would be long and the accuracy would be low. Based on the above problems, the camera data is processed by means of the unsupervised binary k?means clustering method, and then the clustering result is taken as the input of the convolutional neural network, so as to predict the little vehicle′s turning angle. The Experiment results show that the network structure can effectively improve the training speed and accuracy of the network.
Keywords: turning angle prediction; convolutional neural network; data processing; surrounding environment detection; network training; result analysis
0? 引? 言
計算機技術和人工智能的發展使得車輛的自動駕駛受到越來越多的關注,其中車輛的橫向控制系統是自動駕駛中一個重要組成部分。在車輛的橫向控制中主要分為兩個階段:獲得車輛外界的復雜環境信息;對信息處理分析之后判斷下一時刻車輛的前輪轉角。
傳統的智能小車的橫向控制系統,都是通過超聲波、雷達、紅外線等多種傳感器結合的方法收集信息,建立模糊控制規則從而預測車輛的前輪轉角實現避障[1]。多種傳感器的結合使用,是為了小車探測復雜的環境來預測下一時刻的轉角。但隨著計算機和人工智能的發展,卷積神經網絡在復雜圖像環境下表現出非常好的容錯性和魯棒性[2]。因此利用卷積神經網絡和攝像頭結合來處理車輛外界的復雜環境信息成為一種新的可行方法,該方法相較于傳統的方法避免了使用冗余的硬件設備,并且具有更好的適應復雜環境的能力[3]。但同時由于傳統的卷積神經網絡采用有監督學習的訓練方法,存在的主要問題是需要訓練的參數數量太多,參數不易學習到最優值,容易出現過擬合問題[4]。因此該文設計的網絡結構采用無監督的二分K?means與卷積神經網絡(CNN)相結合的方法,相較于傳統的卷積神經網絡可以減少所需要訓練的參數,消除了梯度彌散的問題[5]。
1? 基于二分K?means的卷積神經網絡的小車橫向轉角預測方法
1.1 小車橫向控制
小車橫向控制在該文中分為圖像獲取、圖像預處理、CNN模型建立、預測角度等部分。整體流程如圖1所示。
1.2? 建立數據集
在小車前端的前部、左部和右部各預裝一個攝像頭,然后人為控制小車運動避障,從上位機獲取3個攝像頭的圖像數據。將3個攝像頭的數據,依次分為前、左、右三個部分。同時通過一個可調電阻將舵機轉角轉換為數字信號,再從上位機將數字信號轉換為小車前輪轉動的角度。
在數據采集的過程中為了確保數據集在多種復雜情形下的有效性,數據的采集應滿足如下要求:
1) 為了避免光照、天氣等因素對攝像頭的影響,應該在同一環境的不同光照和天氣下,進行數據集的采集。
2) 為了避免過多異常量的產生,在相同環境下盡量保持與原先相似的轉角,盡量避免與原先偏差過大的轉角出現。在滿足上述條件的情況下,該文采集了小車的前、左、右三個位置各400余張圖像。
1.3? 數據集的預處理
為了確保圖像數量足夠來防止過擬合等情況的發生,該文通過對原始圖像、加入高斯噪聲和椒鹽噪聲等方式對數據集進行擴增,最終得到3個位置各1 400余張,總計4 200余張圖像的數據集[6?7],如圖2所示。
由于轉角是由數字信號轉換過來的,因此轉角在時間上的變化不是平滑的。為了平滑數據,該文選取一個移動平均值,以3個時間單位(0.3 s)為窗口來計算該平均值[8]。圖3是隨時間變化的原始數據和平滑之后的數據的對比圖。
1.4? 基于二分K?means的卷積神經網絡模型的建立
1.4.1? 網絡結構
用于小車橫向轉角預測系統的改進卷積神經網絡結構如圖4所示,共有1個K?means層、3個普通卷積層、2個全連接層和2個Dropout層等。其中3個卷積層和2個全連接層是可訓練的層,卷積層的高度和寬度隨著網絡結構深度的增加而減小,最后一層的全連接層的輸出節點為1。在全連接層的前面,加入Dropout層來提高網絡的泛化能力,防止出現過擬合。
1.4.2? 輸入層
預處理后的圖像像素為160[×]320,將預處理后的前、左、右三個位置的圖像作為輸入層的輸入,目的是盡可能地保留車輛各個位置的圖像信息。
1.4.3? 二分K?means層
傳統的卷積神經網絡在圖像識別中應用時需要龐大的數據集進行訓練,且容易出現過擬合問題,由此想到先對圖片進行聚類處理。而經典的K?means聚類算法受初始聚類中心影響較大,容易收斂于局部最小值,故采用的是二分K?means算法[9]。采用二分K?means算法能夠減小訓練的開銷量,克服數據集分布不均所產生的局部最優問題,聚類效果較好[10]。將前、左、右三個位置的圖像依次通過二分K?means層,并將得到的k個聚類結果作為下一層的輸入。該文設計的二分K?means層的k值設置為3。
1.4.4? 卷積層
卷積層通過卷積計算提取出輸入圖像的特征,本文設計的網絡結構具有3個卷積層,每個卷積層隨著網絡深度的增加依次減小。其中第一個卷積層有16個filter,每個filter的大小為8[×]8[×]3,步長為4;第二個卷積層有32個filter,每個filter的大小為5[×]5[×]3,步長為2;第三個卷積層有64個filter,每個filter大小為5[×]5[×]2,步長為2。在卷積計算中的激活函數有很多種,其中Sigmoid函數最常用,也可以是修正線性單元(ReLu),此處采用的修正線性單元是為了加快網絡的訓練速度,減少網絡的計算時間[11]。
式中:[w]為連接權值;[a]為前一層的輸出。
1.4.5? 輸出層
該網絡結構的輸出層為全連接層,其中該全連接層的輸出節點為1。為了避免出現過擬合,該全連接層的前面加入了Dropout層,該Dropout層的Dropout率為0.5。在該網絡結構的另一個全連接層中也加入一個Dropout率為0.2的Dropout層。
1.4.6? 模型的訓練
二分K?means的訓練過程如下:
1) 將輸入圖像的所有點作為一個簇,然后將簇一分為二,選擇其中一個簇繼續進行劃分,選擇哪一個簇進行劃分取決于對其劃分是否可以最大程度降低誤差平方和(SSE),基于誤差平方和的劃分過程不斷重復,直到得到指定的簇數目[12]。
式中:[wi]表示權值;[y*]表示該簇所有點的平均值。
2) 利用劃分出來的簇運行標準的K?means算法。
卷積神經網絡結構的輸出層采用的目標函數為:
式中:[x]為二分K?means處理后的數據;[w]為卷積神經網絡各層的權值;[f]為車輛預測轉角;[y]為輸入數據的小車真實轉角。然后使用誤差反向傳播和梯度下降方法對權值進行調節,公式如下:
2? 實驗結果與分析
基于二分K?means的卷積神經網絡與傳統卷積神經網絡的訓練結果如圖5所示,準確率對比結果如圖6所示。
神經網絡的訓練結果比較
從圖5可以看出,雖然兩個網絡最終都趨于收斂,但是只使用卷積神經網絡來進行角度預測的話,需要更多的迭代次數才能逐漸趨于收斂。如果加上二分K?means的卷積網絡,則可以更快地確定圖像的類別,從而只需要更少的迭代次數。
神經網絡的準確率比較
從圖6可以看出,兩種網絡結構的識別率隨著測試圖片數量的增多而升高,但是相較于傳統的卷積神經網絡,結合二分K?means的卷積神經網絡的識別率相對更高一些。
3? 結? 語
本文在傳統卷積神經網絡上加上了二分K?means聚類方法進行優化,并在智能小車攝像頭采集的圖像數據上進行了驗證。改進的卷積神經網絡采用二分K?means聚類方法先進行聚類學習,使卷積神經網絡獲得更豐富的輸入信息,從而減少卷積神經網絡所需訓練的參數,加快網絡的訓練速度并提高訓練準確度。實驗結果表明,改進后的卷積神經網絡模型相較于傳統的卷積神經網絡具有更快的訓練速度和更高的準確度。
參考文獻
[1] 申永紅.基于模糊控制算法的智能小車避障系統設計[J].小型內燃機與車輛技術,2018,47(6):33?37.
[2] OQUAB Maxime, BOTTOU Leon, LAPTEV Ivan, et al. Learning and transferring mid?level image representations using convolutional neural networks [C]// IEEE Conference on Computer Vision and Pattern Recognition. Columbus: IEEE, 2014: 1717?1724.
[3] NAMEIRAKPAM D, YABEM J C, KUMATHEM M S. Image segmentation using k?means clustering algorithm and subtractive clustering algorithm [J]. Procedia computer science, 2015, 54: 764?771.
[4] 周飛燕,金林鵬,董軍.卷積神經網絡研究綜述[J].計算機學報,2017,40(6):1229?1251.
[5] ZHAO H, GALLO O, FROSIO I, et al. Loss functions for image restoration with neural networks [J]. IEEE transactions on computational imaging, 2017, 3(1): 47?57.
[6] 秦曉偉,郭建中.K?SVD算法的超聲圖像加性噪聲去噪研究[J].陜西師范大學學報(自然科學版),2012,40(6):42?46.
[7] 張緒光.圖像去噪處理技術研究[J].凈月學刊,2014(6):52?54.
[8] 馮興輝,張旭,陳禮貴,等.直線特征測量數據的平滑去噪[J].機械制造,2015,53(4):71?72.
[9] 卜天然.基于初始中心點K均值聚類算法的改進方法研究[J].通化師范學院學報,2017,38(2):60?63.
[10] 吳金李,張建明.基于二分K?means的協同過濾推薦算法[J].軟件導刊,2017,16(1):26?29.
[11] 田娟,李英祥,李彤巖.激活函數在卷積神經網絡中的對比研究[J].計算機系統應用,2018,27(7):43?49.
[12] 陳賢宇,李有強,呂苗苗,等.基于二分法的K?means算法的實現[J].無線電通信技術,2017,43(6):37?40.