楊康 陳麗
摘要:針對行人檢測中檢測精度低和速度慢的問題,文章提出了一種改進的U-NET網絡架構。為了提高系統(tǒng)的檢測精度,采用了多尺度融合技術來構建多層卷積神經網絡(CNN)。為了提高檢測速度,改善了網絡結構的特征通道數量,減少了大量的計算時間,以滿足自動駕駛領域數據處理的實時性。在訓練階段,使用批歸一化(BN)算法對每一層的輸入數據進行歸一化,以加快模型的收斂速度。實驗結果表明,改進的網絡模型可以在保證一定的檢測精度的前提下,提高系統(tǒng)的檢測速度,并滿足實時性要求。
關鍵詞:行人檢測;多尺度融合;卷積神經網絡;批量歸一化
中圖分類號:TP18 ? ? ? ?文獻標識碼:A
文章編號:1009-3044(2020)25-0022-03
Abstract: In this paper, an improved U-NET network architecture is proposed to solve the problems of low detection accuracy and slow detection speed in pedestrian detection. To improve the detection accuracy of the system, a multi-scale fusion technology is used to build a multi-layer convolutional neural network (CNN). To improve the detection speed, the number of feature channels in the network framework was modified, and a large amount of calculation time was reduced to meet the real-time nature of processing data in the field of autonomous driving. In the training phase, a batch normalization (BN) algorithm is used to normalize the input data of each layer to accelerate the model's convergence speed. The experimental results show that the improved network model can improve the detection speed of the system under the premise of ensuring a certain detection accuracy, and meet the real-time requirements.
Key words: Pedestrian detection; Multi-scale fusion; Convolutional neural network; Batch normalization
1 引言
隨著深度學習的發(fā)展[1],作為計算機視覺的重要分支[2],行人檢測受到了學術界和工業(yè)界的廣泛關注。在汽車智能駕駛領域具有廣闊的應用前景。目前,常用的行人檢測算法模型有R-CNN、Fast R-CNN和Faster R-CNN[3],隨著網絡結構的優(yōu)化和調整,其檢測精度在逐漸增高,但是網絡結構隨之變得復雜,導致計算量大幅增大,因而其檢測速度變慢,無法滿足自動駕駛領域的實時性要求[4]。
傳統(tǒng)的卷積神經網絡由卷積層、池化層[5]、全連接層和分類層組成,網絡經過一系列的卷積和池化操作后,輸入圖像被映射為固定大小的特征向量。最后,分類器基于輸入特征向量執(zhí)行圖像的分類。全卷積神經網絡(FCN)是在卷積層的特征圖上執(zhí)行上采樣操作,可以有效地保留圖像的空間尺寸信息,并對圖像進行精確分割[6]。
而本文提出的改進的U-NET網絡則是在U-NET網絡的基礎上,對網絡的結構和參數進行適當的改進,利用多尺度融合技術和批量歸一化算法,對COCO數據集進行訓練,從而實現(xiàn)行人的快速檢測與分割。
2 相關工作
2.1 U-NET網絡結構
U-NET網絡是一個全卷積的網絡,由于結構類似于U形,因此稱為U-NET網絡,該網絡由左側的編碼單元和右側的解碼單元組成,U-NET網絡結構如圖1所示。
在編碼單元,使用2個3×3的卷積層,在卷積層后面再加上一個ReLU非線性層,進行下采樣過程中,使用2×2的最大池化層,每次下采樣后,特征通道數會增加2倍;在解碼單元,每一次上采樣過程用2×2的反卷積層來實現(xiàn)尺寸的倍增,并且伴隨著當前層的特征通道數的減少,然后將編碼單元的特征復制到相應的解碼單元上,繼續(xù)用2個3×3的卷積核進行特征的提取,最后一層用一個1×1的卷積核將特征層映射到輸出層。
U-NET網絡結構中,由于沒有全連接層,可以減少網絡的參數,網絡的輸入可以是任意尺寸的RGB圖像。網絡結構通過橫向連接,融合編碼部分的特征來輔助解碼部分恢復分辨率,橫向結構將具有相同特征分辨率的具有豐富空間位置信息的淺層特征與語義信息豐富的高層特征融合。由于該算法在特征提取的時候,將高層的特征與底層的特征融合在一起了,有效地避免了部分特征信息的丟失,所以相較于一些普通的檢測算法,檢測精度會更好。
3 改進的U-NET網絡
改進1:以U-NET初始網絡,在其基礎上進行通道數目的修改,來減少計算負擔,以提高系統(tǒng)的檢測速度。具體的操作為:初始的圖片裁剪為416*416*3,卷積層的C1、C2、C3、C4和C5層通道數目設置為64,之后與相對應的卷積層進行特征融合,最后經過Sigmoid激活函數輸出結果。
改進2:為了增加訓練速度,由于修改了網絡結構以及參數,可能導致無法收斂,需要在每層網絡中加入BN層,使學習的收斂速度加快,以提高訓練速度。
改進3:改進后的U-NET網絡模型,能實時分割出視頻序列的行人,將分割靜態(tài)圖片上升到分割動態(tài)視頻序列的高度,達到實時性的目的。
4 實驗設計
4.1 實驗平臺的配置
深度學習算法在圖像處理上,一般涉及大量的計算,對電腦的軟硬件要求較高,該實驗環(huán)境的配置內容如表1所示。
4.2 實驗數據集的選擇
目前提供的行人檢測數據集由很多種,如MIT、INRIA、Caltech、ETH等數據集,文章選用的是由微軟提供的COCO數據集[9],該數數據集是能夠滿足行人檢測的要求,有大量的樣本供模型進行訓練以及測試。而實驗用到的數據集,考慮到只是針對行人,所以在數據集預處理之前,檢索并提取了數據集中的64115張待訓練的行人圖片,以供模型訓練。
4.3 網絡訓練的流程圖
改進的U-NET網絡訓練流程圖,如圖4所示。在模型訓練中,首先,網絡需要加載訓練集中的數據,然后執(zhí)行數據預處理,隨后將處理后的數據發(fā)送到網絡進行訓練。當預測值和實際值之間的Dice系數大于設置的閾值N時,保存模型的數據;當Dice系數小于設定的閾值N時,重新進行訓練。當Epoch大于20時,重新加載模型并調整網絡的超參數,然后重新加載模型并訓練數據,直到完成所有數據訓練完成為止。
4.4 算法的評價指標
算法的好壞需要用合適的評價標準去判斷,好的評估標準不僅能客觀地評價算法性能,還能夠進一步指導算法的改進方向。
由于采用的是改進的U-NET網絡,來分割待檢測圖片中的行人,所以在評價該檢測算法指標的時候用Dice系數。
4.5 優(yōu)化函數的選取
深度卷積神經網絡的訓練算法有很多種,其優(yōu)化函數常用的有經典的隨機梯度下降法(Stochastic Gradient Descent,SGD)、自適應梯度算法(Adaptive Gradient,AdaGrad)和自適應矩估計算法(Adaptive Moment Estimation)。
在卷積神經網絡中,而對于深度學習來說,需要的訓練集較大才能訓練出優(yōu)秀的網絡模型。實驗采用的COCO數據集屬于龐大的行人數據集,對于龐大的數據量,一次迭代過程來加載整個訓練集,會加大顯卡的計算負荷,其次,計算需要很長的時間,降低了網絡的收斂速度。
為了解決這個問題,提出了基于動量的優(yōu)化算法,最終采用Adam優(yōu)化函數[10],Adam是一種可以替代傳統(tǒng)隨機梯度下降(SGD)過程的一階優(yōu)化算法,它能基于訓練數據迭代地更新神經網絡的權重。
Adam算法有如下幾個優(yōu)點:(1)有高效的計算,所需的內存少,適合解決大規(guī)模數據和參數的優(yōu)化問題。(2)超參數能直觀的解釋,因為Adam是給每個參數計算不同的更新速率的方法,經過偏置校正后,每次迭代的學習率都有一個確定的范圍,使得參數比較平穩(wěn)。(3)有慣性保持的效果,因為該算法記錄了梯度的一階矩,即以前的所有梯度與當前梯度的平均,使每一次更新時,上一次更新的梯度與當前更新的梯度不會相差過大,因而梯度會平滑且穩(wěn)定的過渡,可以廣泛應用于不穩(wěn)定的目標函數的優(yōu)化。
5 結論
改進后的U-NET網絡,在訓練完從訓練集提取出來全部的64115張行人照片后,在訓練過程中,損失以及訓練的準確率曲線如圖5所示。
圖中曲線反映了在訓練集和測試集中損失的變化和準確率的變化。由訓練以及測試結果可得:在訓練集中,該網絡模型經過訓練后,準確率達到0.953,在測試集中,準確率也可以到達0.928;在訓練集中,損失函數無限接近于0,但是在測試集中,損失函數在0.1附近。
下圖為改進的模型訓練后檢測行人并分割的幾組照片,檢測結果如圖6所示。
實驗結果表明:改進后的模型檢測單張照片的時間約為0.38秒,有時檢測速度會突破到0.1秒以內,與普通的U-NET網絡相比,檢測單張照片的時間縮短了很多(普通U-NET模型檢測時間約為1秒),所以改進后的網絡結構保證了檢測精度的情況下,確實提高了系統(tǒng)的檢測速度。
參考文獻:
[1] LeCun Y,Bengio Y,Hinton G.Deep learning[J].Nature, 2015,521(7553):436-444.
[2] Viola P,Jones M J.Robust real-time face detection[J].International Journal of Computer Vision, 2004,57(2):137-154.
[3] Ren SQ,HeKM,Girshick R,etal.Faster R-CNN:towards real-time object detection with region proposal networks[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(6):1137-1149.
[4] 王若辰.基于深度學習的目標檢測與分割算法研究[D].北京:北京工業(yè)大學,2016.
[5] 李旭冬,葉茂,李濤.基于卷積神經網絡的目標檢測研究綜述[J].計算機應用研究,2017,34(10):2881-2886,2891.
[6] Wang W G,Shen J B,Shao L.Video salient object detection via fully convolutional networks[J].IEEE Transactions on Image Processing,2018,27(1):38-49.
[7] 王紅霞,周家奇,辜承昊,等.用于圖像分類的卷積神經網絡中激活函數的設計[J].浙江大學學報(工學版),2019,53(7):1363-1373.
[8] 劉長征,張磊.語音識別中卷積神經網絡優(yōu)化算法[J].哈爾濱理工大學學報,2016,21(3):34-38.
[9] 余勝,陳敬東,王新余.基于深度學習的復雜場景下車輛識別方法[J].計算機與數字工程,2018,46(9):1871-1875,1915.
[10] 董洲洋,徐衛(wèi)明,莊昊,等.深度學習的BP神經網絡在GNSS水準擬合中的應用[J].海洋測繪,2019,39(5):26-29.
【通聯(lián)編輯:唐一東】