龔雪1 顏仁喆2
1.甘肅省建設投資(控股)集團有限公司 甘肅蘭州 730050
2.甘肅建投重工科技有限公司 甘肅蘭州 730000
隨著我國城市道路清潔作業(yè)機械化的大力推進和發(fā)展,洗掃車以其作業(yè)高效、路面清洗效果好等特點被廣泛投放在城市道路清潔作業(yè)中,然而受到城市道路多樣性和復雜性的影響,經常發(fā)生洗掃車在清潔作業(yè)過程中,伸出車體兩側的掃盤對站在路邊的行人或停放在路邊停車區(qū)域的車輛造成碰撞傷害,或者是掃盤因碰撞到路邊護欄或石墩等物體造成掃盤結構件損壞的情況。雖然市面上某些品牌的洗掃車已經安裝了接觸式掃盤避讓感應裝置,但是車輛工作時仍然會因為對障礙物的識別不清導致車輛與人或障礙物體發(fā)生碰撞。
筆者通過對洗掃車工作環(huán)境的主要障礙物進行數據采集,建立了道路作業(yè)面主要障礙物數據集,并對基于深度學習的目標檢測算法進行改進,提高了洗掃車道路作業(yè)時對主要障礙物目標檢測的準確性和實時性。
為了提高城市道路清潔環(huán)境障礙物數據集的質量和增加數據樣本的多樣性,本文試驗數據集的研制采用人工拍攝、網上搜索并篩選以及COCO數據庫選取這3種方式來獲取,其中,人工拍攝時將相機放置于掃盤的前端進行水平拍攝,共獲得各類原始數據圖像1 000張,大致分為:護欄、人、石墩和汽車4類,每一類障礙物250張。
本文所采用的數據集格式為VOC數據集格式,首先在python環(huán)境下采用labelimg對每張圖片的障礙物所在區(qū)域進行人工數據標注,得到障礙物的ground truth,經過labelimg標注后形成.xml文件,數據標注結果示例如圖1所示。

圖1 數據標注示例
完成數據標注工作后建立文件夾VOCdevkit,該文件夾中包含一個VOC2018 文件夾,并在VOC2018中建立3個文件夾:JPEGImages、Annotations和ImageSets,其中JPEGImages是專門存放所收集的原始數據集,Annotations文件夾中存放完成數據標注的所有.xml文件,ImageSets文件夾中存放一個子文件夾.Main,這一文件夾中包含test.txt和train.txt文件,這些.txt文件中包含的分別為測試集圖片名和訓練集圖片名。然后根據自己所建立數據集的障礙物分類名稱修改并運行voc_label.py,則可以在VOCdevkit中自動生成各個待訓練數據圖像具體位置信息的.txt文件。
為了進一步增加農田障礙物試驗數據集的數量和多樣性,本文采用增加噪聲、改變亮度以及cutout(即隨機將圖像的一塊或者幾塊位置設置為黑色)3種隨機組合的方式對數據標注后的1 000幅圖像進行數據增強,增強后共獲得圖像數據2 000幅,其中訓練集選用1 600幅,測試400幅。
實時目標檢測模型YOLOv3由1×1的卷積層和3×3的卷積層交替連接構成53個卷積層的基礎網絡darknet-53。在整個YOLOv3檢測模型中沒有池化層和全連接層,網絡通過調整卷積核的步長進行降維[1]。它將所輸入圖像數據,通過回歸分析得到目標位置和目標所屬類別,YOLOv3網絡結構圖如圖2所示。

圖2 YOLOv3 網絡拓撲圖
由圖2看出,DBL表示卷積層和BN層以及Leaky relu層,在YOLOv3中除了最后一個卷積層之外所有的卷積層均與BN層和Leaky relu層相連接,構成一個最小單元,其中BN層起到加速網絡收斂、避免訓練模型過擬合的作用;resn表示圖中res1,res2,...,res8的大單元,其中數字代表每一個大單元里有幾個小單元的res,且每一個小單元的基本組成部分也是DBL單元[2]。YOLOv3的輸出特征圖分為3個不同的尺度,即為圖中的y1,y2和y3。它借鑒了(FPNFeature Pyramid Network)多尺度特征提取的思想,以上采樣的方式將不同尺度的特征相融合,其中細粒度的特征圖可以獲取尺寸較小的障礙物信息。
基于Two stage類型目標檢測模型的準確率優(yōu)于one stage的特點,twostage類型目標檢測在檢測之前先生成一些候選區(qū)域,再進行目標分類和bounding box預測,從而提高了檢測的準確率[3];而onestage類型的目標檢測是將圖片輸入后經過卷積運算直接輸出目標類型和bounding box。所以為了在保持實時性的情況下提高one stage類型的準確率,借鑒two stage先產生候選區(qū)域的思想實現(xiàn)準確率、高實時性好的檢測目的[4],本文采用區(qū)域候選網絡RPN(egion Proposal Network)生成候選區(qū)域對YOLOv3進行改進。
改進的網絡RP-YOLOv3將輸入圖像大小統(tǒng)一歸一化為416×416,采用基本網絡darknet-53進行特征提取,本文改進的障礙物檢測模型RP-YOLOv3網絡基本構架如圖3所示。圖中虛線部分即為darknet-53網絡基本結構,通過卷積層步長的調整,分別以stride=23、stride=24和stride=25對輸入的圖片進行特征提取,并獲得大小分別為52×52、26×26和13×13三種尺度的特征圖。

圖3 RP-YOLOv3網絡構架
本文模型訓練及測試平臺為:Linux使用Ubuntu 16.04、GPU采用NVIDIA Tesla K40 、Python版本為3.6.5、CUDA采用9.0版本、CUDNN版本為7.0。
Learning_rate設置為0.001,Momentum為0.9,Decay設置為0.000 5,max_batches為10 000,改進后的障礙物檢測模型訓練過程中損失函數的變化曲線如圖4所示。
從loss曲線圖可以看出模型訓練過程中batch在0~2000階段下降較為明顯,當batch超過8000時loss基本處于穩(wěn)定狀態(tài)不再下降。訓練得到改進的目標檢測模型后,對測試集進行測試,測試結果示例如圖5所示。

圖5 測試結果示例圖
θ1分別采用0.1~0.9共9組閾值訓練模型RP-YOLOv3,并通過設置不同的閾值θ2對訓練好的模型進行測試,其測試結果mAP如圖6所示。

圖6 不同閾值設置的 mAP 測試結果(/%)
圖6中橫坐標表示不同的訓練閾值θ1,曲線變化表示同一測試閾值θ2在不同訓練閾值θ1所得模型中測試所得結果mAP。從圖6中縱向比較可以看出,不同測試閾值θ2對相同訓練閾值θ1訓練得到的模型進行測試時,隨著θ2的增大,mAP在隨之減小,這主要是由于測試閾值θ2越大,對預測邊框與ground truth重疊率要求越高,所以閾值越大,達到指定重疊率的指標越少,從而導致mAP的下降;從圖6中橫向比較可以看出,同一測試閾值θ2對不同訓練閾值θ1訓練得到的模型進行測試時,隨著θ1的增大mAP先增大,當增大到θ1=0.6附近后開始減小。根據以上分析,本文選用θ1=0.6時訓練得到的目標檢測模型作為最終的障礙物檢測模型。
針對基于區(qū)域提名的目標檢測算法障礙物檢測mAP較高,無需區(qū)域提名的目標檢測算法檢測速度較快的優(yōu)勢,提出了結合二者優(yōu)勢的改進優(yōu)化目標檢測算法RP-YOLOv3,在此基礎上通過調整訓練閾值和測試閾值觀測 mAP的變化,并采用同一測試集對各個檢測算法模型進行測試對比試驗,結果表明本改進檢測算法的障礙物檢測準確率更高,實時性更好。