張鵬輝,劉志,鄭建勇,何博俠,裴雨浩
(1 南京理工大學(xué)機械工程學(xué)院,南京210094)
(2 南京博藍奇智能科技有限公司,南京210014)
(3 上海大學(xué)人工智能研究院,上海200444)
紅外輻射穿透力強,不易被云霧吸收,也不受天氣干擾,在陰雨天和夜晚都能正常成像,因而,紅外視覺在軍事和安防領(lǐng)域有著獨特的優(yōu)勢,但是,相較于可見光圖像,紅外圖像有著對比度低,分辨率低,目標細節(jié)不夠豐富的缺點。當前,針對可見光圖像的深度學(xué)習(xí)目標檢測算法已取得豐碩的成果[1-3],雖然這些算法也可用于紅外目標的檢測,但需要解決紅外圖像對比度低、目標細節(jié)模糊帶來的準確率降低的問題,尤其當目標成像背景比較復(fù)雜時,需要設(shè)法提高算法的抗干擾能力,解決召回率降低的問題。另一方面,深度學(xué)習(xí)技術(shù)在民用領(lǐng)域可選擇的部署平臺較多,而在軍事和安防領(lǐng)域,很多情況下只能部署于嵌入式平臺,且對算法推理的實時性有很高的要求。因此,針對復(fù)雜場景中的紅外目標,研究面向嵌入式系統(tǒng)的實時檢測算法很有必要。
在基于深度學(xué)習(xí)的目標檢測算法中,一階段法能夠在檢測速度和檢測精度之間取得較好的平衡,代表性算法有YOLO[4],SSD[5],RetinaNet[6]等,其中YOLO 系列算法以其推理速度快的優(yōu)勢,常被用來部署于嵌入式系統(tǒng)。文獻[7]提出一種基于YOLOv3 架構(gòu)的汽車目標檢測模型,部署于NVIDIA Jetson TX1 嵌入式計算平臺上,在線檢測速度可達到23 fps。文獻[8]基于深度學(xué)習(xí)技術(shù)提出一種面向嵌入式設(shè)備的快速人群計數(shù)算法,設(shè)計了弱算力平臺加速網(wǎng)絡(luò),對分辨率為640×480 的圖像,在cortex-A72 雙核ARM 平臺上可獲得20 fps 的推理速度??傊?,已有研究雖然實現(xiàn)了深度神經(jīng)網(wǎng)絡(luò)在嵌入式系統(tǒng)上的部署應(yīng)用,但總體來看,其推理速度依然比較低,還不能滿足軍事和安防領(lǐng)域?qū)討B(tài)目標進行實時檢測和跟蹤的需要,因此,研究面向嵌入式計算平臺,能夠兼顧實時性和準確率的網(wǎng)絡(luò)模型,具有重要的應(yīng)用價值。
紅外圖像不像可見光圖像有較高的對比度和豐富的目標細節(jié)特征,特別是當背景比較復(fù)雜,或者存在部分遮擋時,極易引起目標識別率和召回率降低[9]。文獻[10]針對復(fù)雜背景和低信噪比條件下的紅外弱小無人機目標檢測場景,改進了一種含空間注意力機制的紅外弱小目標檢測網(wǎng)絡(luò),提升了網(wǎng)絡(luò)準確率。文獻[11]提出了一種改進的YOLOv3 紅外末制導(dǎo)目標檢測方法,采用預(yù)訓(xùn)練思想和Adam 梯度下降算法,提高了模型的平均準確率(Mean Average Precision,mAP),虛警率和漏檢率都得到降低,但在PC 平臺上的檢測速度僅有25 fps。文獻[12]基于YOLOv3 網(wǎng)絡(luò),提出了一種深度注意力機制的多尺度紅外行人檢測網(wǎng)絡(luò),并結(jié)合遷移學(xué)習(xí)方法進行網(wǎng)絡(luò)訓(xùn)練,平均準確率比YOLOv3 提高26.74%,適用于多尺度紅外行人檢測場景。這些研究提升了網(wǎng)絡(luò)的準確率,但是推理速度比較慢,同樣不能滿足軍事和安防領(lǐng)域的實時性需要。
本文研究面向嵌入式系統(tǒng)的復(fù)雜場景紅外目標實時檢測算法,旨在達到檢測速度和平均準確率的良好平衡。選擇輕量化網(wǎng)絡(luò)YOLOv4-Tiny 作為檢測框架,利用視覺注意力機制對有效通道進行選擇,加強對目標的關(guān)注度;采用空間金字塔池化結(jié)構(gòu)對注意力機制加強后的特征層進行不同尺度的特征融合,豐富特征圖的表達能力;應(yīng)用遷移學(xué)習(xí)方法,進一步提高模型的準確率和召回率;最后在嵌入式計算平臺進行網(wǎng)絡(luò)模型部署,驗證所提方法的有效性。
YOLOv4-Tiny 是YOLOv4[13]的輕量化版本,其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。主干特征提取網(wǎng)絡(luò)CSPDarkNet53_Tiny 由2 層CBL 和3 層CSP 組成,其中,CBL 層由卷積層Conv2d、歸一化處理層BatchNorm2d、激活層LeakyReLU 這3 部分組成,CSP 層由4 個CBL 層和一個最大池化MaxPool2d 組成。特征提取網(wǎng)絡(luò)末端使用兩個特征層進行分類與位置回歸預(yù)測,通過特征金字塔進行特征融合,輸出兩個檢測頭Yolo Head。
圖1 YOLOv4-Tiny 網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 The network structure of YOLOv4-Tiny
本文所提紅外目標檢測網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。紅外復(fù)雜場景的目標檢測中存在著大量的背景干擾信息,為了加強對目標的關(guān)注度,降低背景無關(guān)信息的影響,利用視覺注意力機制有效學(xué)習(xí)到特征圖的權(quán)重分布,對特征圖進行重新標定,加強對目標的關(guān)注度,提高模型的檢測識別能力。SE[14](Squeeze-and-Excitation,SE)模塊,可以學(xué)習(xí)到通道之間的依賴關(guān)系,在通道維度對原始特征進行重新標定,增強網(wǎng)絡(luò)對有效通道特征的敏感度;CBAM[15](Convolutional Block Attention Module,CBAM),利用特征圖的通道和空間信息,在這兩個維度計算原始特征圖的注意力權(quán)重圖,然后將注意力權(quán)重圖賦予原始特征圖,達到特征自適應(yīng)學(xué)習(xí)的目的。由于紅外目標輪廓模糊、圖像對比度低,為了加強多尺度特征融合,采用SPP[16](Spatial Pyramid Pooling,SPP)模塊,通過窗口大小分別為5、9、13 對特征圖進行池化,將多尺度特征進行融合,豐富特征圖的信息,提高不同尺度紅外目標的識別和定位能力。
圖2 YOLOv4-Tiny+SE+SPP/YOLOv4-Tiny+CBAM+SPP 網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 The network structure of YOLOv4-Tiny+SE+SPP/YOLOv4-Tiny+CBAM+SPP
本文選取了在復(fù)雜背景下密集人群的樣例圖像,利用Grad-CAM[17]對經(jīng)過注意力機制加強后的特征圖Yolo Head(13×13×dims)進行了可視化,如圖3所示,采用熱力圖的形式進行可視化表示,溫度越高的地方代表網(wǎng)絡(luò)越關(guān)注的地方,反之代表網(wǎng)絡(luò)不關(guān)注的地方。在圖3(b)中是未加入注意力機制的原始網(wǎng)絡(luò),可以發(fā)現(xiàn)其關(guān)注點比較分散,包含了較多的無關(guān)復(fù)雜背景信息;在圖3(c)和(d)中加入注意力機制后,網(wǎng)絡(luò)可以有效地區(qū)分于周圍的復(fù)雜背景干擾信息,將注意力集中于目標中。可視化結(jié)果表明,通過加入注意力機制有效地提高對紅外目標的關(guān)注度。
圖3 Grad-CAM 網(wǎng)絡(luò)可視化結(jié)果Fig.3 Grad-CAM network visualization results
算法的評價指標采用標準的PASCAL VOC,即平均準確率mAP,用于實驗對比和分析。
實驗采用FLIR 公司發(fā)布的公開紅外數(shù)據(jù)集[18]。該數(shù)據(jù)集是采用紅外熱像儀在天氣為晴到多云的加利福尼亞州圣巴巴拉市街道和公路上,時間為11月至次年5月期間的日間(60%)和夜間(40%)進行采集的。紅外分辨率為640×512,標注類別為人、汽車、自行車、狗和其他,由于狗和其他類別的數(shù)量占比非常少,為了避免由于類別數(shù)量的嚴重不平衡對算法評估產(chǎn)生不必要的影響,因此對數(shù)據(jù)進行了預(yù)處理,去除了狗和其他類別,最終得到用于算法評估的3 類目標的紅外數(shù)據(jù)集,其中,訓(xùn)練集和驗證集為7 859 張圖片,測試集為1 360 張圖片,各類別數(shù)量分布如圖4所示。
圖4 訓(xùn)練集與驗證集(左)和測試集(右)中不同類別數(shù)量分布情況Fig.4 Quantity distribution of different categories in training and validation sets(left)test set(right)
由于FLIR 紅外數(shù)據(jù)集是基于車載光電設(shè)備,在公路行駛場景下,晝夜進行采集的,因此擁有著復(fù)雜背景、部分遮擋、密集目標、不同尺度的特性,部分紅外和可見光圖像如圖5所示。四種場景會相互包含多種特性,以其最突出的特性作為場景特性,場景(a):夜間條件,由于復(fù)雜背景的影響,易造成目標漏檢問題;場景(b):白天條件,背景與目標溫度差異較小,并存在目標之間相互遮擋,極易產(chǎn)生識別定位不準確、漏檢問題;場景(c):白天條件,大量密集重疊的目標,產(chǎn)生較多的漏識別問題;場景(d):夜間條件,場景中存在著尺度不同的目標,出現(xiàn)目標識別定位不準確問題。因此,需要在該紅外數(shù)據(jù)集上進行算法的改進,以解決定位不準確、漏識別問題。
圖5 四種不同場景下的紅外和可見光圖像Fig.5 Infrared and visible images of four different scenes
算法模型采用深度學(xué)習(xí)框架PyTorch,利用Python 語言進行實現(xiàn)。實驗訓(xùn)練平臺采用臺式計算機,系統(tǒng)為Ubuntu18.04.5 LTS,CPU 為i7-9700K,GPU 為GeForce RTX 2080Ti,內(nèi)存大小為32 GB,CUDA 版本為10.2。
為了保證實驗結(jié)果的有效性,采用的訓(xùn)練超參數(shù)均保持一致。一批圖片的數(shù)量設(shè)置為64 張,初始化學(xué)習(xí)率設(shè)置為0.001,使用Adam 梯度下降算法,學(xué)習(xí)率優(yōu)化策略采用余弦退火算法。數(shù)據(jù)增強除了采用傳統(tǒng)的圖像隨機翻轉(zhuǎn)、裁切、縮放、色域變換、加入隨機噪聲外,使用了馬賽克數(shù)據(jù)增強方法。
2.2.1 注意力機制對比實驗
對原始網(wǎng)絡(luò)YOLOv4-Tiny 和加入不同的注意力機制模塊后重新設(shè)計的網(wǎng)絡(luò)YOLOv4-Tiny+SE 和YOLOv4-Tiny+CBAM,在訓(xùn)練集和驗證集上進行訓(xùn)練120 輪后,在測試集上進行測試,注意力機制對比實驗結(jié)果如表1所示。
表1 注意力機制對比實驗結(jié)果Table 1 Results of attentional mechanism ablation experiment
由表1 結(jié)果中可以看出,增加了注意力機制,由于整個網(wǎng)絡(luò)的訓(xùn)練參數(shù)量略微增加導(dǎo)致模型推理速度有所下降,相較于YOLOv4-Tiny,增加SE 模塊后檢測速度從232 fps 下降至226 fps,減少6 fps;增加CBAM 模塊后檢測速度從226 fps 下降至215 fps,減少17 fps。在檢測性能方面,加入了兩種注意力機制后,召回率分別提升8.85% 和9.15%,較大地改善了自行車和人兩類的AP;但準確率有所下降,分別下降2.34% 和3.04%。實驗結(jié)果表明,視覺注意力機制能夠?qū)τ行ǖ肋M行選擇,應(yīng)用在FLIR 紅外數(shù)據(jù)集中,有效地提升召回率和平均準確率。
2.2.2 空間金字塔池化對比實驗
上節(jié)實驗結(jié)果表明,設(shè)計的視覺注意力機制網(wǎng)絡(luò)可以有效地提升mAP。本節(jié)中,通過加入空間金字塔池化結(jié)構(gòu)SPP 模塊對注意力機制增強后的特征圖進行全局特征和局部特征的融合,擴大了特征圖的感受野,進一步豐富特征圖的表達能力,以提高目標的識別和定位準確度,解決誤識別問題。與未加入SPP 模塊的網(wǎng)絡(luò)進行對比,空間金字塔池化對比實驗結(jié)果如表2所示。
表2 空間金字塔池化對比實驗結(jié)果Table 2 Results of space pyramid pooling ablation experiment
由表2 結(jié)果中可以看出,加入SPP 模塊后,所設(shè)計的兩種網(wǎng)絡(luò)對每個類別的AP 均有提升。YOLOv4-Tiny+SE+SPP 與YOLOv4-Tiny+SE 相比,召回率提升2.9%,準確率提升0.19%,平均準確率提高2.38%;YOLOv4-Tiny+CBAM+SPP 與YOLOv4-Tiny+CBAM 相比,召回率提升2.56%,準確率提升0.68%,平均準確率提高了2.5%。改進的最優(yōu)網(wǎng)絡(luò)模型YOLOv4-Tiny+CBAM+SPP 相較于原始網(wǎng)絡(luò)YOLOv4-Tiny,在檢測速度上,從232 fps 下降至202 fps,減少30 fps;在檢測精度方面,mAP 從57.78%上升至64.50%,提升6.72%。實驗結(jié)果表明,通過加入空間金字塔池化模塊和注意力機制后,所設(shè)計的網(wǎng)絡(luò)在檢測速度小幅下降的情況下,可以有效提升紅外目標檢測的平均準確率。
2.2.3 遷移學(xué)習(xí)對比實驗
遷移學(xué)習(xí)得到的預(yù)訓(xùn)練模型有較好的網(wǎng)絡(luò)初始化權(quán)重,可以提高網(wǎng)絡(luò)的收斂速度。本實驗中,在VOC07+12 數(shù)據(jù)集上對網(wǎng)絡(luò)進行預(yù)訓(xùn)練,然后加載主干特征提取網(wǎng)絡(luò)的權(quán)重,在FLIR 紅外數(shù)據(jù)集上進行微調(diào)訓(xùn)練,與未進行遷移學(xué)習(xí)的對比實驗結(jié)果如表3所示。
表3 遷移學(xué)習(xí)對比實驗結(jié)果Table 3 Results of ablation experiments on pre-trained models
由表3 結(jié)果中可以看出,通過加入預(yù)訓(xùn)練權(quán)重策略,可以較大地改善了自行車和人兩類的檢測準確率。與未加入預(yù)訓(xùn)練策略的網(wǎng)絡(luò)對比,YOLOv4-Tiny+SE+SPP 和YOLOv4-Tiny+CBAM+SPP 通過加入預(yù)訓(xùn)練權(quán)重策略進行訓(xùn)練后,準確率分別提高1.72%和3.24%,召回率分別提高8.39%和10.7%,mAP 分別提高8.41%和9.03%,各項指標均有明顯地提升。實驗結(jié)果表明,遷移學(xué)習(xí)是一種較優(yōu)的訓(xùn)練策略,在FILR紅外數(shù)據(jù)集中,預(yù)訓(xùn)練得到良好的初始化權(quán)重對模型的收斂速度和模型收斂后的平均準確率均有提升。
2.2.4 嵌入式模型部署實驗
本文嵌入式計算平臺選擇華為的Atlas 200 DK 進行網(wǎng)絡(luò)模型部署實驗。華為Atlas 200 DK 上搭載了昇騰310 AI 計算芯片,其中包含2 個DaVinci AI Core 和8 個A55 Arm Core,半精度(FP16)上最高可以達到11 TFLOPS,典型功耗為20W。
由于在嵌入式端采用了半精度加速推理策略,會對網(wǎng)絡(luò)權(quán)重進行量化,導(dǎo)致網(wǎng)絡(luò)的準確率有所變化。在本節(jié)實驗中,針對網(wǎng)絡(luò)的推理速度和準確率進行對比實驗,將原始網(wǎng)絡(luò)YOLOv4-Tiny 和所設(shè)計的兩種網(wǎng)絡(luò)YOLOv4-Tiny+SE+SPP 與YOLOv4-Tiny+CBAM+SPP 部署于華為Atlas 200 DK 嵌入式計算平臺并進行推理測試,嵌入式模型部署對比實驗的結(jié)果如表4所示。
表4 嵌入式模型部署對比實驗的結(jié)果Table 4 Experimental comparison results of embedded model deployment
由表4 結(jié)果中可以看出,相比于在臺式計算機GPU 計算資源2 080 Ti,采用嵌入式昇騰310 AI 計算芯片時,網(wǎng)絡(luò)的推理速度大幅降低,網(wǎng)絡(luò)的平均準確率略有變化。在嵌入式計算平臺上,與原始網(wǎng)絡(luò)YOLOv4-Tiny相比,所提最優(yōu)網(wǎng)絡(luò)YOLOv4-Tiny+CBAM+SPP 在多方面的性能有著明顯提升:在平均準確率方面,從57.60%提升至73.54%,提高了15.94%;在召回率方面,從40.57%提升至63.46%,提高了22.89%;在推理速度方面,從82 fps 下降至71 fps,下降了13.41%,但依然可以達到71 fps,滿足實時檢測。實驗結(jié)果表明,YOLOv4-Tiny+SE+SPP 在嵌入式平臺可以達到78 fps 的實時檢測速度和69.96% 的平均準確率,YOLOv4-Tiny+CBAM+SPP 在嵌入式平臺可以達到71 fps 的實時檢測速度和73.54%的平均準確率,達到了檢測速度和平均準確率的良好平衡,滿足嵌入式平臺的實時目標檢測需求。
2.2.5 網(wǎng)絡(luò)的性能對比
3 類檢測目標在不同網(wǎng)絡(luò)上的P-R 曲線,如圖6所示,從圖中可以看出3 類目標的AP 均有提升,其中,類別bicycle 的AP 值有大幅的提升,類別person 和car的AP 值有一定的提升。與臺式計算機GPU 計算平臺的網(wǎng)絡(luò)對比,在含有昇騰310AI計算芯片的嵌入式平臺上,網(wǎng)絡(luò)的P-R 曲線略微有所變化,平均準確率略微變化。
圖6 不同類別在不同網(wǎng)絡(luò)上的P-R 曲線Fig.6 P-R curves of different categories on different networks
四種復(fù)雜場景的檢測結(jié)果如圖7所示,采用Grad-CAM 在不同網(wǎng)絡(luò)中的可視化結(jié)果如圖8所示。從檢測結(jié)果中可以看出,相較于原網(wǎng)絡(luò),所提的兩種網(wǎng)絡(luò)可以有效提高檢測能力;從可視化結(jié)果中可以看出,通過加入注意力機制和空間金字塔池化結(jié)構(gòu),可以有效增強網(wǎng)絡(luò)對目標的關(guān)注度。場景8(a):與YOLOv4-Tiny相比較,改進后的兩種網(wǎng)絡(luò)可以有效解決復(fù)雜背景干擾問題,提高了召回率;場景8(b):YOLOv4-Tiny+CBAM+SPP 相較于YOLOv4-Tiny+SE+SPP 和YOLOv4-Tiny,在識別數(shù)量和定位精度方面中明顯占優(yōu)勢,說明了注意力機制CBAM 比SE 在該場景下,檢測效果更佳;場景8(c):改進后的兩種網(wǎng)絡(luò)相較于YOLOv4-Tiny,有效地提高召回率,其中YOLOv4-Tiny+CBAM+SPP 表現(xiàn)更佳;場景8(d):改進后的網(wǎng)絡(luò)可以準確定位尺度不同的目標、識別出遮擋的目標。
圖7 不同模型檢測結(jié)果Fig.7 Detection results of different models
圖8 Grad-CAM 在不同網(wǎng)絡(luò)中的可視化結(jié)果Fig.8 Grad-CAM in different networks visualization results
本文提出兩種基于YOLOv4-Tiny 的改進網(wǎng)絡(luò):YOLOv4-Tiny+SE+SPP 和YOLOv4-Tiny+CBAM+SPP,通過融入視覺注意力機制,增強網(wǎng)絡(luò)對有效特征層的關(guān)注度;通過添加SPP 模塊,對經(jīng)過注意力加強的特征層進行多尺度特征融合,進一步豐富了特征圖的表達能力;利用Grad-CAM 在改進的網(wǎng)絡(luò)中的進行可視化分析,顯示改進后的網(wǎng)絡(luò)可以有效地提高對目標的關(guān)注度。實驗結(jié)果表明,改進的兩種網(wǎng)絡(luò)相較于原網(wǎng)絡(luò)YOLOv4-Tiny 在檢測性能方面有較大地提升:在平均準確率方面,YOLOv4-Tiny+SE+SPP 提升了13.93%,YOLOv4-Tiny+CBAM+SPP 提升了15.75%;在召回率方面,YOLOv4-Tiny+SE+SPP 提升了20.14%,YOLOv4-Tiny+CBAM+SPP 提升了22.41%;在PC 平臺上的檢測速度,YOLOv4-Tiny+SE+SPP 達到了212 fps,YOLOv4-Tiny+CBAM+SPP 達到了202 fps。將兩種網(wǎng)絡(luò)模型部署于含有昇騰310AI計算芯片的Atlas 200 DK 嵌入式平臺上,YOLOv4-Tiny+SE+SPP 和YOLOv4-Tiny+CBAM +SPP 的推理速度分別可以達到78 fps 和71 fps,mAP 分別達到69.96%和73.54%,能夠兼顧實時性和準確率,可滿足紅外目標在嵌入式平臺的實時檢測需求。