鄧佳桐,程志江,葉浩劼
(新疆大學電氣工程學院,新疆 烏魯木齊 830049)
利用深度學習中的視覺技術[1]識別行人的精確位置,提高夜間光照下的行人檢測效率。在過去的幾十年,行人檢測一直受到計算機視覺界的關注[2-3],廣泛應用于無人駕駛、救援、監視、機器人等領域。多源傳感器信息融合研究領域中有可見光和紅外圖像的融合,近年來也得到了深入的研究[4-5],但在夜間光照不足和小尺度目標下行人檢測仍是待解決的問題[6]。
可見光單模態難以檢測夜間光照較差、目標密集、小尺度目標及目標部分遮擋條件下的行人問題,而紅外則彌補了可見光的缺點,紅外相機根據物體的放熱原理檢測出行人。因此,將紅外圖像的行人檢測結果與可見光的檢測結果相結合,從而提高夜間行人檢測準確性。
近年來,多模態融合技術被提出用于行人檢測。文獻[7]研究了前期和后期融合兩種深度融合架構,用深層模型融合可見光和紅外圖像并在KAIST數據集上引入的模型和訓練方法進行評估。文獻[8]用SURF算法提取經過ICA處理后的紅外圖像,用加權融合算法進行圖像融合。為了測試紅外相機在無遮擋、部分遮擋和嚴重遮擋情況下的有效性,文獻[9]中檢測器采用擴展ACF(aggregated channel features)實現復雜場景下的行人目標檢測并提出基于雙目立體視覺行人檢測方法。文獻[10]提出視覺對比機制與ROI融合檢測紅外圖像行人,但在復雜昏暗光照下效果不佳。文獻[11]提出一種新的融合區域網絡RPN(region proposal network),用于多光譜視頻數據的行人檢測,實驗驗證了融合多光譜圖像信息的最佳卷積層,但只考慮了單獨的特征層融合,在檢測小目標的行人中檢測準確率不佳。
針對目前算法存在的不足,本文以YOLOv3為基本框架作為行人檢測算法,具有以下幾方面的特點和創新:
1)可見光和紅外光多模態輸入的特征提取網絡為Darknet-VI框架,有效提取兩路模態的特征。
2)檢測層中引入空間金字塔池(spatial pyramid pooling,SPP)以及內卷算子 (Involution),減少傳統卷積網絡的參數量和計算量,有效提升檢測速度。
3)在Neck檢測層中設計ResFuse模塊并與注意力機制 CBAM(convolutional block attention module)組合,構成新的CBL-RC模塊,提高網絡的特征提取能力。
使用可見光和紅外光模式融合解決夜間行人檢測準確率低問題,并實現精確的實時行人檢測。在KAIST數據集上進行了實驗,實驗研究結果分析表明,改進的YOLOv3算法可以滿足復雜環境下的實時性和高效性要求。
YOLO算法[12]在2016年由Joseph Redmon首次提出。YOLOv3的特征提取基于Darknet53框架[13]。首先,主干特征提取網絡前向傳播得到13×13的特征圖;然后,通過與前一個網絡中大小相同的特征層卷積壓縮通道數并上采樣,得到尺寸為26×26的特征圖;以此類推,26×26大小的特征圖相同處理獲得52×52特征圖。最終得到輸出層尺寸分別為 (13,13,18)大目標,(26,26,18)中目標,(52,52,18)小目標。YOLOv3網絡架構的總體框架如圖1所示。
圖1 YOLOv3網絡結構總體框架
殘差網絡Darkent53先通過一個卷積核為3×3,步長為2的卷積操作進行寬高壓縮得到輸入特征圖,使用64個3×3卷積核提取特征。在殘差結構中經相同卷積操作后下采樣,從而構成殘差結構堆疊。
每個邊界框中心點對應的cell可得到預測邊界框的x,y,w,h,預測邊界框與真實的groundtruth接近。目標預測邊界框如圖2所示,其公式如(1)~(6)所示。
圖2 目標邊界框預測
式中:cx,cy——各個cell的左上點坐標;
tx,ty——輸出 0~1 間隔偏移量;
tw,th——相對先驗框的寬和高;
bx,by——邊界框的長寬;
pw,ph——手動錨框相對特征圖的寬和高;
Pr(object)——預測目標類別概率;
IOU(object)——預測框和目標框的交并比;
t0——預測目標置信值。
改進的Darknet-VI網絡框架作為YOLOv3-Invo的主干網絡,Darknet-VI分別從可見光和紅外光模式中提取特征。
本文改進的YOLOv3-Invo算法多模態融合的行人檢測網絡結構如圖3所示。首先,選擇相應的可見光和紅外光圖作為輸入,分別提取其特征并進行級聯融合拼接。在檢測層中引入空間金字塔模塊和內卷算子,通過通道輸送到其他檢測層中,提高了模型的準確性和效率;深度可分離卷積堆疊中設計ResFuse結合CBAM。最后,多模態融合的特征圖輸入到YOLO檢測層中,輸出檢測行人的位置及概率。
圖3 Involution-YOLO算法多模態融合行人檢測網絡結構圖
本文采用雙通道Darknet-VI結構作為多模態特征提取網絡模塊,可見光的特征提取網絡記為Darknet-V,相應的特征圖記為 {V1,V2,V3};紅外光的特征提取網絡記為Darknet-I,相應的特征圖記為{I1,I2,I3}。通過concat將2種模態的特征圖進行級聯融合,輸出融合結果記為 {X0,X1,X2}。多模態特征信息提取模塊設計示意圖如圖4所示。
圖4 多模態特征提取模塊框架
特征融合模塊采用級聯融合方式,通過增加通道數及卷積操作將兩個不同特征圖拼接起來。每個輸出通道的卷積核是互不相關的,可見光輸入的通道為V1,V2,V3,紅外輸入的通道為I1,I2,I3,則 concat的輸出通道如公式(7)。
式中:*——卷積;
Zconcat——輸出通道;
Vi——可見光輸入通道;
Ii——紅外光輸入通道,i=1,2,3。
本文在concat級聯融合后的第一個尺度檢測層引入空間金字塔池化層,各個尺度檢測層向下依次傳遞,分別輸入到YOLO2、YOLO3中,使得行人檢測效果更優。SPP模塊實現了不同尺度特征的融合池化后得到的特征圖尺寸大小和深度不改變,空間金字塔池化模塊如圖5所示。
圖5 空間金字塔池化層
Involution算子概念由李鐸和胡杰等人在2021年CVPR論文[14]中首次提出,相比傳統的卷積更加輕量和高效。其計算量分為核生成和乘加運算兩部分。
內卷算子運算中內卷核有空間特異性和通道共享性。內卷核在空間維度中卷積核不同,可滿足不同位置上自適應地分配權重,且每一組內通道共享一個卷積核,從而大幅度減少了計算復雜程度。
在Involution設計中,通過每一組計算共享的內卷核的數量,再對輸入乘加運算得到內卷輸出特征映射,內卷核定義如公式(8)。
內卷核的卷積核形狀輸入特征映射的形狀決定。在原始輸入張量條件下產生的Involution使輸入和輸出核對齊,其核產生的函數符號記為Φ,各個位置(i,j)的函數映射抽象如公式(9)。
其 中,Ψi,j為 坐 標 (i,j)領 域的 一 個 量 度集 合。W0∈RC/r×C,W1∈R(K×K×G)×C/r,W0和W1為共同構成兩個線性變換,r為通道縮減比率,內核生成函數為Φ:RCRK×K×G。
δ表示批準歸一化和交錯兩個線性投影的非線性激活函數,公式如(10)所示。
內卷核 Θi,j∈RK×K×1(G=1)是在 (i,j)處以一個像素為條件的函數Φ產生,進行通道到空間的重排;重排后的Involution進行乘加運算,其 ? 代表跨C個通道的張量分別與內卷核做乘法運算,⊕代表在K×K空間領域內元素與內卷核的核心做求和計算。Involution內卷算子示意圖如圖6所示。
圖6 Involution內卷算子示意圖
普通的深度卷積堆疊模塊由5個深度卷積層、批準歸一化和激活函數組成。改進的深度卷積堆疊CBL-RC模塊由8個CBL深度卷積模塊組成,采用新設計的ResFuse模型替換第一個普通卷積塊,ResFuse模塊與七個卷積層輸出的特征圖進行了加法運算后作為CBAM的輸入;結合注意力機制CBAM模塊,使提取特征能力更強。
在通道注意力機制模型中,提供一種中間特征圖F∈RC×H×W作為輸入,整體注意力過程見公式(11)。
式中:?——元素乘法;
F″——最后的輸出特征圖;
F′——空間模塊的輸入特征圖;
F——模塊的輸入特征圖;
Mc∈RC×1×1——一維通道注意力層;
Ms∈R1×H×W——二維空間注意力層;
C——通道數;
H——高度;
W——寬度。
最大池化層和平均池化層聚合特征后得到兩個空間描述符號其傳遞到共享網絡生成通道注意力機制Mc。經過多層感知機MLP(multi-layer perception)操作后得到共享網絡并運用到每個描述符,使元素求和并輸出特征向量,通道注意力計算見公式(12)。
在空間注意力機制模型中,聚合特征圖的通道消息通過平均池化層和最大池化層操作,卷積層連接并進行卷積操作后Sigmoid運算得到生成的空間注意力特征圖Ms,空間注意力的計算見公式(13)。
生成的空間注意力特征圖Ms作為輸入,將特征圖輸出并傳遞給卷積,整體改進的Neck網絡結構圖如圖7所示。
圖7 改進的Neck網絡結構
本文實現流程如圖8所示。篩選出符合的可見光和紅外行人數據集,通過LabelImg工具進行標注并將數據集劃分訓練集、驗證集,通過腳本將數據集轉換成.xml文件與之一一對應的.jpg圖片后,使用本文改進的YOLOv3框架進行訓練。
圖8 多模態融合行人檢測流程圖
本文的實驗環境見表1。輸入圖像大小為416×416,初始學習率為0.001,批處理大小(batch size)為20,模型總共訓練了100個epoch,采用Adam優化器。
表1 實驗環境
本文使用KAIST公開多模態行人數據集進行訓練。該數據集是由Hwang[15]等人創建,在本文中,該數據集set00-set05為訓練數據集,set06-set11為驗證數據集,set00-set02,set06-set08為白天,set03-set05、set09-set11為夜晚,本文針對弱光環境下多模態行人檢測,所以提取每部分弱光、行人遮擋的數據集進行訓練。因為KAIST數據集是通過視頻剪輯出來的圖片,每張圖片間相似度較高,為防止過擬合,將原始數據每隔5幀取一張圖片,最后篩選出2 090對可見光和紅外圖像,將驗證集和訓練集比例分為1∶9進行訓練。
3.3.1 單模態和多模態融合算法檢測效果比較分析
為了證明本文提出的改進多模態融合算法的有效性,本文將融合的結果與可見光單模態的檢測結果進行比較,效果明顯優于可見光單模態效果。在KAIST數據集中選取了微弱環境下光照條件、目標密集情況、目標尺寸不一致、目標位置被遮擋以及目標正常尺寸大小5種條件下的圖像,如圖9所示,其中圖9(a),圖9(b)中行人背景環境比較暗,行人密集且目標特征不明顯。圖9(c),圖9(d)中行人目標尺寸大小不一致且目標位置又被遮擋情況。則圖9(e)是與前面4種情況對比的正常情況下的行人。
圖9 不同環境下行人檢測實驗圖
從圖10至圖12融合實驗檢測結果對比圖,其中圖10基于可見光單模態的行人檢測結果圖;圖11基于可見光和紅外多模態融合的行人檢測結果圖;圖12基于本文改進的YOLOv3-Invo多模態融合算法的行人檢測結果圖。
圖10 可見光單模態的行人檢測結果圖
圖11 可見光和紅外多模態融合的行人檢測結果圖
圖12 改進的YOLOv3-Invo多模態融合算法的行人檢測結果圖
從圖10中的(a),(b),(d)可以看出僅可見光單模態檢測單一行人均出現漏檢情況,可見光單模態中微弱光照情況下行人目標幾乎難以肉眼識別,但本文改進的YOLOv3-Invo多模態融合算法檢測效果優于單模態及YOLOv3-spp+多模態融合算法。圖10(d)中被白車幾乎完全遮擋的紅帽行人和灰衣行人,卻被檢測出為同一個行人,并且黑衣行人未被檢測出。圖11(d)檢測出黑衣行人,但仍未將紅帽行人和灰衣行人進行區分,而本文提出的算法圖12(d)能夠有效區分,圖13為算法的 P-R 對比圖。
圖13 算法的P-R對比圖
3.3.2 改進算法在檢測指標上的比較分析
目標檢測中常用的評價指標有精確度(precision)、召回率 (Recall)、平均精度 (averageprecision,AP)、平均精度均值(mean average Precision,mAP)以及調和平均F1。其計算公式見(14)~(18)。
式中:TP——被模型預測為正類的正樣本;
FP——被模型預測為正類的負樣本;
FN——被模型預測為負類的正樣本;
P(r)——P-R曲線;
N——檢測目標類別的數量。
為了驗證本算法的有效性,將可見光單模態算法、可見光和紅外多模態融合算法及本文算法進行對比,算法檢測指標對比結果見表2所示。
表2 算法檢測指標對比
從表2可知,從評價指標進行對比,將可見光和紅外融合的算法采用Darknet-VI作為特征提取網絡,在精度上和召回率相比可見光單模態提高了5.61%和6.32%,mAP也提升了14.8%。改進的YOLOv3-Invo算法因增加內卷算子并在深度卷積堆疊模塊中結合CBAM,其檢測精度為93.81%,比YOLOv3+可見光提高了13.85%,比YOLOv3-spp+多模態融合提高了8.24%。改進算法在召回率上比單模態提高了9.14%,比YOLOv3-spp+多模態融合提高了2.82%。在微弱環境、目標密集和遮擋情況下仍然能有效檢測出行人,說明本文提出的YOLOv3-Invo算法具有相對好的魯棒性。
圖11是本文行人檢測算法對應的P-R曲線,在圖種可看出YOLOv3-Invo的P-R曲線明顯優于單模態和可見光和紅外融合算法。
為了驗證本算法的性能,將本算法和YOLOv3+可見光、YOLOv3-spp+多模態融合進行MR(Miss Rate)進行對比,見表3所示。從表3可知,本文算法的MR值為12%,與可見光和紅外融合算法(32%)降低了20%,相比可見光單模態的MR降低了39%。
表3 算法在KAIST數據上的MR值
本文提出了一種改進YOLOv3-Invo的多模態融合行人檢測算法,在Neck檢測網絡層引入了Involution內卷算子并設計了ResFuse模塊并結合CBAM注意力機制模塊。相比傳統的卷積更加輕量和高效,在精度上提升了13.85%,在召回率上提升了9.41%,使得檢測的目標更加精確,提高特征提取能力并減少誤檢漏檢情況。
從檢測實驗對比結果可看出,本文算法在夜晚光照和小目標遮擋情況下,本文算法的檢測效果較理想。下一步,研究考慮用不同的特征提取網絡和圖像融合方法來訓練模型,使用其他深度學習檢測算法來提高檢測精度,增加算法的泛化能力,并將優化算法部署在嵌入式系統中。