賴坤城,趙 津,王 超,張 航,王磊磊
(貴州大學 a.機械工程學院;b.現代制造技術教育部重點實驗室,貴陽 550025)
行人檢測一直是計算機視覺關注的重點,該技術的研究可以應用于無人駕駛場景[1],以及智能視頻監控、智能機器人等領域的應用[2]。近年來,隨著深度學習的快速發展,其強大的特征表達能力,已使得基于深度學習的檢測算法在目標檢測領域占據了重要地位[3-4]。目前應用較多的目標檢測算法框架有R-CNN、Fast R-CNN、Faster RCNN、SSD、YOLOv3以及Mask R-CNN等。盡管在最近的時間內,基于深度學習的行人檢測模型不斷創新和改進,但是實驗發現這些行人檢測算法的性能往往在低光環境下會出現下降[5]。
為了提高低光環境的駕駛安全性,越來越多的研究人員和學者開始關注于夜間與低光環境下的行人檢測技術,以提高行人檢測算法的魯棒性。朱聰聰[6]提出了一種新的適合紅外圖像檢測的特征—梯度方向和強度直方圖混合特征(HOGI),降低了夜間行人檢測的漏檢率;宋姚姚[7]設計并實現了基于SSD框架的多光譜信息前端融合和后端融合結構;Liu等[8]通過對RGB和深度數據的集成,提出了一種在動態環境中實時行人檢測和跟蹤的新方法;Jingjing等[9]基于Faster RCNN網絡設計了4種ConvNet融合結構,將色彩圖像和熱圖像特征進行融合,在KAIST數據上比其他網絡結果漏檢率降低了3.5%;Wanger等[10]研究了2種深度融合結構并探討了多光譜行人檢測的深層模型的潛力,研究表明經過預訓練的后期融合結構明顯優于現有的主流解決方案。
以上方法主要存在以下3個問題:①現有檢測網絡對不同光照下適應性不好。②處理過程復雜且耗費時間,應用到檢測網絡中性能提高不明顯。③這些算法往往都依賴于額外硬件設備(例如:熱相機、深度攝像機等)。因此針對上述問題,本文在不增加額外設備的前提下,以Mask R-CNN為基礎,通過在檢測模型中加入圖像融合模塊(MSRCR-IF)以突出不同光照下圖像目標信息,從而保證目標檢測網絡對光照較好的圖像和光照較差的圖像均有較好的檢測能力。另外,為了更加充分地利用不同特征層的語義信息,改進了特征金字塔網絡;然后通過調整區域提交網絡和去除實例分割分支的方式,實現了目標檢測速度的提高。改進后的網絡與原網絡進行實驗比較,結果表明改進后的網絡對于行人檢測精度有明顯提高。
在2017年,He等[11]提出對象實例分割網絡框架Mask R-CNN,該目標檢測網絡是在Faster RCNN的基礎上改進而來,是目前最優秀的檢測算法之一。Mask R-CNN算法主要包含5個部分,分別是特征提取網絡(Resnet101)、特征金字塔網絡(feature pyramid network,FPN)、區域提交網絡(region proposal network,RPN)、感興趣區域對齊網絡(Region of Interest Align,RoI Align)以及功能性網絡。
Mask R-CNN的主干網絡由深度卷積神經網絡Resnet101與特征金字塔網絡FPN的組合形成。FPN結構中包含自上而下、自下而上和橫向鏈接3個部分。①自下而上的連接路徑可以獲得圖像的特征圖,能夠提取圖像更深層的特征語義信息。②自上而下的連接路徑,是把卷積神經網絡所提取到的更抽象、語義更強的高層特征圖進行上采樣。③橫向連接,將上采樣得到的特征圖與自下而上所得到的相同大小的特征圖進行融合。這3種網絡結構的組合可以將各個層級的特征進行融合,使其具有很強的語義信息和空間信息,并且避免了處理過程信息中的流失,在特征學習過程中起到非常重要的作用。其結構如圖1所示。

圖1 特征金字塔網絡(FPN)結構示意圖
區域提交網絡RPN作用是根據卷積神經網絡提取的圖像特征,以每個像素點為中心生成一系列的候選框,各個框的大小由參數Scales和Ratio這2個參數來確定。其中Scales表示框尺寸大小,尺寸大小有5種;Ratio表示框的寬高比大小,比例大小有3種。RPN網絡也會對每個候選框的中心和寬、高進行修正,從而得到準確度較高的候選框。對于候選框的精確定位,Mask R-CNN網絡它不同于Faster R-CNN網絡中使用的RoI Pooling操作而是采取RoI Align,這樣能夠保留候選框位置的小數,實現更精確地在空間中定位,很好地解決RoI Pooling操作中2次量化而產生的區域不匹配問題,進而有效地提高了檢測模型的準確性。最后得到精確的檢測框和分類信息,以及生成目標識別的掩碼區域,實現目標檢測。
本文提出的基于Mask R-CNN的低光道路行人檢測網絡,在Mask R-CNN基礎上增加圖像融合模塊,并對該檢測網絡的區域提交網絡和實例分割分支模塊進行了改進,網絡結構如圖2所示。

圖2 改進Mask R-CNN檢測網絡結構示意圖
圖像融合模塊是受Jiang[12-13]等的文章啟發而提出的,其目的主要是判別輸入圖像的曝光程度,以及幫助解決圖像中曝光的不平衡和圖像特征不突出的問題。其計算過程如式(1)所示。

式中:P為原圖;PM為經過MSRCR(multi-scale retinex with color restoration)處理過后的圖片;R是融合后的結果圖;W1為原圖的權重;W2為經過MSRCR處理過后圖片的權重,且W1+W2=1。整個算法流程如圖3所示。

圖3 融合框架的色彩增強算法流程示意圖
圖像融合模塊通過對W1和W2權重數值的調節,將給曝光良好的區域分配較大的權重值,給曝光不足的區域分配較小的權重值,通過這種方式保證了不同光照下圖像的信息保留。其中權重矩陣W1的計算公式如式(2)所示。

式中:T為場景光照估計;μ為控制增強程度的參數。而T可以通過最優方程得到:


通過找到最優解,圖像融合模塊不僅能保證曝光良好的區域不過度曝光,同時也增加圖片曝光不足區域的曝光度,實現了圖像曝光度整體的平衡和重要信息的保留。因此在特征金字塔網絡FPN前加入該模塊,能夠有效幫助特征金字塔網絡FPN獲取穩定的圖像特征和信息,以達到提高網絡的魯棒性和低光環境下的行人檢測效果。
特征金字塔網絡(FPN)在目標檢測中性能表現良好,但側邊連接方法僅增強了自上而下的路徑中的底層特征的語義表達,而輸入到RPN層的特征映射圖仍是從路徑中選擇出來的單一尺寸。這樣設計還存在2個問題:①高層級特征和低層級特征之間信息流動路徑很長,增加了訪問準確定位信息的難度。②輸入到RPN的特征映射圖只包含本層和更高層的特征信息,而忽略了更低層的特征信息,容易造成目標檢測精度下降。
為解決上述存在的問題,本文提出了改進的特征金字塔結構,如圖4所示改進后特征金字塔增加了自下而上帶有反向側邊連接的支路,如圖4(b)所示,其中,P2-P5和N2-N5為FPN的特征映射層。

圖4 改進特征金字塔網絡(FPN)結構示意圖
具體實現過程如下:首先使用卷積核大小為3×3,步長為2的卷積層對底層特征Ni進行卷積操作,將特征圖的寬和高縮小為原來的一半,得到與Pi+1尺寸相同的特征圖;然后使用卷積核大小為1×1,步長為1的卷積層對特征層Pi+1進行卷積,以減少該特征層輸出的特征通道數,從而與底層特征通道數匹配;最后將Ni層和Pi+1層每個元素相加,并將結果經過一個卷積步長為1、卷積核大小為3×3的卷積層,以去除特征混疊,得到新的融合特征Ni+1。在原有結構上添加側邊連接的方式,不僅達到了縮短底層到頂層的信息傳輸路徑,而且加強了底層特征信息的利用率。實現步驟如圖4(c)所示。
為了能夠檢測更多形狀的目標物品,Mask R-CNN目標檢測算法在設計區域建議網絡RPN之初,將候選框的尺度設定為以下5種:[32×32,64×64,128×128,256×256,512×512],候選框的寬高比為3種:[1∶2,1∶1,2∶1]。而本文算法主要應用于道路場景下的行人檢測,且行人的候選框大多為瘦長型(包含:道路上行走的行人,騎自行車、摩托車的行人等),所以這樣設置對于行人檢測任務來說有著明顯的短板。因此,本文對區域建議網絡RPN進行了改進。通過增加一組縱向候選框替代橫向候選框,進而使得最終RPN網絡提供的候選區域更為準確,并且可以減少計算量以及節省模型訓練時間。圖5(a)和(b)所示分別為候選框比例改進前和改進后示意圖。

圖5 候選框比例大小改進前后示意圖
另外對于目標檢測的任務,更關注識別目標物的類別以及位置信息。在Mask R-CNN目標檢測框架中,實例分割分支與分類預測分支是相互并行的,去掉掩碼分支并不會影響到網絡其他層的訓練和預測結果。因此,本文選擇去掉Mask RCNN網絡中的實例分割分支,使得卷積神經網絡專注于在提取到的特征圖上做分類和定位任務,通過這種方式可以節約訓練、預測時間。
1)數據集準備
因為針對的是道路場景下的行人檢測,所以此次訓練的圖片隨機選自于公開的COCO2017數據集,共選擇5 000張圖片作為數據集,其中訓練集包含圖像4 000張,測試集1 000張。
另外還上網搜集了一些低光道路環境下的行人圖片,用于構建低光道路行人數據集,其中包含行走、騎車、遮擋等各異姿態和背景的行人圖片1 000張。然后利用標注軟件對搜集的圖片進行標定并生成相應的json文件。自行構建的低光道路行人數據更加接近交通真實場景,更加復雜,對于網絡性能的檢測更具有挑戰性。
2)網絡訓練
實驗算法基于深度學習網絡框架TensorFlow,代碼運行環境為Python3.5.2。在搭載NVIDIA RTX-2080 TI GPU的ubuntu16.04操作系統的實驗配置下完成。為加快訓練速度并防止過擬合,在訓練期間的具體參數設置如下:動量(momentum)為0.9,權值衰減系數(decay)為0.000 1,批量大小(batch-size)為16,學習率(learning rate)為0.001,迭代次數(iteration)為50 000。
為驗證該改進網絡對低光環境下行人檢測的效果,在COCO2017數據集和自行構建低光道路環境數據集上各選1 000張數據進行測試。采用以下2個指標對目標檢測網絡進行性能評估,其中包含平均檢測精度(average precision,AP),單位為百分比(%);檢測速度(detection rate,DR),單位秒(s)。而檢測精度(precision,P)定義如式(6)所示。

式中:TP表示模型正確檢測的目標數量;FP表示模型誤檢的目標數量。
在COCO 2107測試集下,對Mask R-CNN網絡改進前后的檢測效果進行對比,以驗證改進網絡的有效性,結果如表1所示。

表1 Mask R-CNN改進前后
由表1分析可得:文中通過對特征金字塔網絡進行改進,行人檢測精度提高到82.97%,比改進前提高2.50%,同時通過改進RPN網絡和刪除實例的方式使得檢測時間明顯下降,比改進前減少0.014 s。
對Mask R-CNN網絡是否添加圖像融合模塊的檢測效果進行對比。同時選取當前主流的目標檢測算法SSD、YOLOv3與本文所提的改進前后算法分別在COCO2017數據集和自行構建的低光道路行人數據集上進行測試,結果如表2和表3所示。

表2 COCO2017測試集結果

表3 低光道路行人測試集結果
從表2可以看出:改進前后的算法在COCO2017測試集下均比SSD、YOLOv3算法檢測效果更好。另外Mask R-CNN添加圖像融合模塊,檢測時間大約增加0.02 s,但文章通過改進RPN網絡和刪除實例的方式使得每張圖片檢測時間僅增加了0.006 s,而檢測精度比未加該模塊的情況下檢測精度提高了1.07%。這說明了該模塊在正常光照環境下仍然能夠保證目標檢測框架具有較好的檢測效果。
從表3可以發現:SSD、YOLOv3算法在低光環境條件下的檢測性能迅速下降,平均檢測精度分別為53.53%和58.25%,檢測效果一般,容易出現漏檢或誤檢的情況。而Mask R-CNN由于其優越的算法結構,在該數據集下仍然表現較好,達到了70.39%的平均檢測精度。另外,在表3中僅改變Mask R-CNN的基礎網絡框架,而不添加圖像融合模塊,檢測結果提高了1.28%,檢測時間基本保持不變,說明通過改進基礎網絡框架對低光環境下的行人檢測仍然有一定的效果。而本文提出的方法表現均比其他算法有所提高,實現了75.05%的平均檢測精度,比改進前的算法高出了4.66%。因此本文所提出的圖像融合模塊在低光環境能有效提高目標檢測效果。
為展示對比實驗的可視化結果,從測試數據集中選取幾張圖片進行比較分析。同時為了方便對比結果的展示,統一將幾個算法檢測的置信度閾值調整為默認值0.5。各算法結果對比如圖6所示。從圖6中可以明顯看到SSD算法和YOLOv3算法在低光道路環境下容易出現漏檢的情況,同時檢測精度也相對較低。而對比圖6(d)(e)可以發現改進后的算法不僅能檢測一些較小的行人目標,而且檢測精度也比改進前更高、更準確。

圖6 各算法在低光環境下行人檢測實驗對比結果
為測試本文算法的準確性和有效性,采用某品牌線控車作為實驗平臺,在校園內進行數據采集和試驗,如圖7所示。主要配備有激光雷達Velodyne、單目相機、GPS定位模塊等傳感器。實驗車速控制在25 km/h左右,實驗環境為雨天且光線較暗,行駛道路環境簡單。

圖7 實驗平臺車
圖8為實車實驗結果。左側為Mask R-CNN原算法檢測結果,右側為本文提出的改進后檢測結果,每一幀的檢測速度大約為0.220 s。從圖8(a)中可以明顯地看到原始算法將遠處的樹木檢測成行人,同時將其中一個環衛路人誤檢成2個人。在圖8(b)中改進算法檢測仍然在光線低的情況下檢測出了在路邊樹下等待的行人,而原始算法并未檢測識別到路邊行人。而在圖8(c)中不難發現原始算法把道路左側的橡膠路錐檢測為行人,但是改進后的算法并未出現該誤檢情況。因此驗證了改進后的目標檢測算法對低光道路行人檢測具有更好的檢測效果和魯棒性能。

圖8 實車實驗數據對比結果
針對行人檢測算法在低光環境下性能下降的問題,以Mask R-CNN目標檢測算法為基礎,在網絡中增加圖像融合模塊,解決了輸入圖像曝光不平衡的問題。采用改進特征金字塔結構,優化特征信息傳播路徑,充分利用各層特征信息,使輸入區域建議網絡的特征映射圖的信息更加準確和豐富;同時針對行人的特點改進了RPN網絡并且通過刪除實例分割分支,最終實現了目標網絡行人檢測能力的整體提升。實驗結果表明:所提出的改進方法在不影響正常光照行人檢測的前提下,能有效提高低光環境下的行人檢測效果。