郝 博, 谷繼明, 劉力維
(1.東北大學機械工程與自動化學院,沈陽 110000; 2.東北大學秦皇島分校控制工程學院,河北 秦皇島 066000)
近年來,隨著計算機視覺領域的發展,搭載著高效視覺系統的無人機功能越來越強大,無論在民用還是軍用領域無人機都被廣泛應用[1],尤其是具有 “低慢小”特征的小型無人機,使用方便靈活,成本相對低廉,可用于執行偵察監視、自殺式襲擊等任務。目前無人機廣泛搭載的多為可見光成像設備,也有部分搭載紅外成像設備,紅外圖像探測距離遠、穿透大氣能力強,紅外目標檢測在軍事預警、紅外制導、民用安防等領域具有很高的研究和應用價值[2-3]。由于紅外成像設備具有不易受光照變化影響的特點,無人機在夜間執行偵察任務往往需要紅外成像設備。然而與可見光圖像相比,紅外圖像僅有一個顏色通道,能夠提取到的特征信息較少[4],并且紅外圖像往往有分辨率低、物體邊緣模糊、含有噪聲、對比度較低等問題,上述物理特性也給基于紅外圖像的小目標檢測算法的設計與實現帶來了更多的挑戰[5]。因此,綜合利用可見光圖像和紅外圖像的優勢,將紅外和可見光進行融合的目標識別對提升偵察無人機的多種環境的目標識別性能具有重要意義。
深度學習的飛速發展為目標檢測提供了新的動力,基于深度學習的目標檢測算法根據不同的特征提取方式,主要分為單階段和兩階段檢測算法。2015年,Fast R-CNN[6]和Faster R-CNN[7]目標檢測算法被提出,2017年,基于 Faster R-CNN 框架的Mask R-CNN[8]的目標檢測算法被提出,上述檢測算法均屬于兩階段檢測算法,算法在檢測時首先生成候選區域,接下來對候選區域進行分類和定位,兩階段檢測算法識別精度很高,但是由于計算量大,識別速度難以滿足航拍圖像目標識別較高的實時性要求。然而,單階段目標檢測算法可以在不生成候選區域的情況下完成端到端的目標檢測,雖然較兩階段檢測犧牲一些檢測精度,但是提高了檢測速度以滿足檢測的實時性,目前較為成熟的單階段檢測算法分別是 SSD[9]系列算法和YOLO[10]系列算法。
由于可見光相機圖像只能在光線充足的情況下有著較高的識別精度,在夜晚和有霧的天氣等能見度較低的情況下難以滿足較高的識別精度[11],因此,已有研究者同時使用可見光相機和紅外相機進行拍攝,融合可見光圖像和紅外圖像,用融合的方法進行檢測以提高檢測模型的檢測能力[12-14]。朱浩然等[15]提出一種基于對比度增強與多尺度邊緣保持分解的圖像融合方法,解決了在低照度環境下拍攝的可見光圖像與紅外圖像直接融合導致融合結果清晰度不理想等問題;李永萍等[16]提出一種在變換域中通過VGGNet19網絡的紅外與可見光圖像融合方法,該網絡在提取源圖像中的邊緣及細節信息上有著更好的效果,有效抑制了紅外與可見光圖像融合中出現細節信息丟失及邊緣模糊的問題;馬梁等[17]提出了一種基于多尺度特征融合的遙感圖像小目標檢測方法,該方法提出了一種基于動態選擇機制的輕量化特征提取模塊和基于自適應特征加權融合的 FPN (Feature Pyramid Network) 模塊,增加圖像特征表達的準確性。融合紅外和可見光的目標檢測算法根據在融合階段不同,分為前期融合和中期融合,前期融合是在檢測模型特征提取之前將紅外和可見光圖像進行融合,然后將融合圖像輸入檢測模型。前期融合能夠提升的檢測精度較低,同時,由于需要單獨對紅外和可見光圖像增加融合階段,導致檢測速度較低,然而中期融合是在特征提取階段分別對紅外圖像和可見光圖像的特征進行提取,然后再進行融合檢測,中期融合算法具有更高的精度和檢測速度,能夠滿足實時檢測的要求。
目前在目標檢測網絡中,YOLOv7網絡的檢測速度和精度都要高于已有的檢測網絡,但是其網絡結構復雜,不利于進行融合改進,融合后會大大增加模型的計算量。因此,本文以YOLOv5為基本框架, 提出一種基于YOLOv5改進的紅外特征和可見光特征交互與融合的目標檢測算法, 算法采用雙分支結構,通過兩個Backbone分別讀取可見光圖像和紅外圖像,在每個Backbone中分別融合了CBAM注意力模塊,通過學習的方式自動獲取每個特征通道的重要程度,并且利用得到的重要程度來提升特征,并抑制對當前任務不重要的特征。在Neck部分融合了BiFormer注意力機制,用來提升對小目標的檢測能力。
多模態檢測算法類型如圖1所示。

圖1 多模態檢測算法類型Fig.1 Types of multimodal detection algorithms
如圖1所示,根據在檢測網絡融合的位置不同,多模態目標檢測方法主要分為前期融合、中期融合(特征級融合)和后期融合3大類。前期融合如圖1(a)所示,主要集中在輸入部分的融合以及多源圖像逐點疊加融合[18];圖像融合方法的重點是獲得質量非常好的融合圖像作為檢測的輸入,但質量非常好的融合圖像并不一定在檢測任務中表現出優異的效果。大多數前期的融合方法與特定的下游檢測任務不太相關。中期融合如圖1(b)所示,CAO等[19]對不同階段的融合進行了實驗研究,發現中期融合是效果最好的方法,FANG等[20]提出一種跨模態的注意力特征融合算法,網絡可以自然地同時執行模態內和模態間融合,并捕獲可見光圖像和紅外圖像的潛在相互作用,算法提高了多光譜目標檢測的性能,并在遙感圖像上取得了較好的效果。后期融合如圖1(c)所示,CHEN等[21]提出一種概率集成技術,將來自多模態的檢測融合在一起,并在FLIR數據集上進行了驗證,也達到了較好的檢測效果。多模態融合檢測的重點是在不同模態之間圖像特征融合,提升每個模態的圖像的特征,減少對無關特征的關注,能夠有效提升識別。
BF-YOLOv5算法結構如圖2所示。
本文選擇YOLOv5l作為基礎網絡來實現紅外和可見光雙分支圖像輸入的目標檢測,對YOLOv5l的Backbone進行復制,用于處理紅外圖像輸入,在每個Backbone中分別融合了CBAM,通過學習的方式自動獲取每個特征通道的重要程度,并且利用得到的重要程度來提升特征并抑制對當前任務不重要的特征。在Neck部分融合了BiFormer注意力機制,用來提升對小目標的檢測能力。
CBAM如圖3所示。

圖3 CBAM
CBAM通過學習的方式自動獲取每個特征通道的重要程度,并且利用得到的重要程度來提升特征并抑制對當前任務不重要的特征,其提取特征通道注意力的方式基本與SENet類似 ,在SENet的基礎上增加了max_pool的特征提取方式,其余步驟是一樣的。CBAM在提取特征空間時,先經過通道注意力模塊,然后將經過通道重要性選擇后的特征圖送入特征空間注意力模塊。與通道注意力模塊類似,空間注意力是以通道為單位進行最大池化和平均池化,并將兩者的結果進行 Concat之后再一個卷積降成1×w×h的特征圖空間權重,再將該權重和輸入特征進行點積,從而實現空間注意力機制,w和h分別代表特征圖的寬和高。
BiFormer模塊結構如圖4所示。

圖4 BiFormer模塊Fig.4 BiFormer module
使用兩級路由注意力作為基本構建塊,模塊先使用3×3卷積隱式編碼相對位置信息,通過LN(Layer Norm)進行歸一化操作,經過BRA(Bi-Level Routing Attention)模塊將特征圖劃分為S×S個非重疊區域,在粗糙區域級別過濾掉大部分不相關的鍵值對,以便只保留一小部分路由區域,過濾掉了冗余信息,最后,經過 MLP(Multi-Layer Perceptron)選取最合適的權值和偏置,實現特征轉換、信息重組、特征提取。
FLIR數據集包含大約10 000幅已經標注的紅外圖像和對應的可見光圖像,其中包含person、car、bicycle和dog這4個類別,由于本文使用的雙流網絡的輸入紅外和可見光圖像需要嚴格對齊,因此使用的數據集版本是FLIR-align,數據集中包含了5142對嚴格對齊的圖像,其中,4407對圖片用于訓練,735對圖片用于測試。
LLVIP數據集包含了30 976幅圖像,該數據集只有一個類別person,并且對數據集測試表明,此數據集在識別精度方面非常高,然而,為了驗證本文改進模型的泛化性能,仍然使用LLVIP數據集進行實驗驗證,以證明在輸入圖像質量不相同的情況下,本文改進的模型依然能夠對識別精度有所提升。
本文實驗環境為 64 位 Windows10 操作系統下搭建的 Python3.9+Pytorch1.12.1+CUDA11.6 深度學習框架。實驗所用計算機 CPU為Intel?CoreTMi7-12700H,GPU為NVIDIA GeForce RTX3060,內存為 32 GiB。網絡訓練的初始學習率設置為 0.01,最小學習率為 0.000 1,預訓練權重使用YOLOv5,輸入圖片尺寸為640×640(單位:像素),批量大小(Batch size)為 8,訓練輪次(Epoch)為 300。
2.3.1 主流融合算法性能比較
為了對本文改進的模型在紅外和可見光圖像上的檢測性能進行總體評估,用FLIR數據集和LLVIP數據集進行實驗驗證,在FLIR數據集上的實驗結果如表1所示。

表1 不同算法在FLIR數據集的識別精度對比
由表1可知:使用YOLOv5算法單獨對可見光圖像進行訓練的檢測精度最低,使用紅外圖像進行訓練的精度略高于可見光圖像,使用3種前期融合的算法(Dense-Fusion、PIAFusion、SeAFusion)的檢測精度均高于單獨使用單一模態的圖像,但是精度提升效果并不明顯,使用YOLOv5雙輸入(Two-Stream)算法的檢測精度最高,相比單獨紅外圖像檢測的mAP@0.5提升了5.3個百分點,因此證明了中期融合算法相比前期融合算法的檢測效果更好。
為了驗證融合算法的泛化性,在LLVIP數據集上進行了相同的實驗,實驗結果如表2所示。

表2 不同算法在LLVIP數據集的識別精度對比
由表2可知,3種前期融合算法的檢測精度遠高于單獨的任一模態的檢測,雙輸入的中期融合算法與前期融合算法的檢測精度基本持平,出現這種情況的原因可能是LLVIP數據集的類別少,并且mAP已經達到97%以上,很難繼續提升,但是實驗結果也能證明融合算法相比單一模態檢測有更高的精度。
2.3.2 消融實驗結果與分析
為驗證本文提出的各種改進措施對檢測性能的提升作用,在FLIR數據集上進行了一系列消融實驗,實驗結果如表3所示。

表3 消融實驗結果
由表3可知:改進1融合CBAM注意力機制,相比原模型的mAP@0.5提升了1.4個百分點;改進2添加了BiFormer模塊,提升算法對小目標的檢測能力,由于數據集的小目標較少,所以mAP@0.5僅提升了0.2個百分點;本文算法是結合改進1和改進2,同時對Backbone及Neck部分進行改進。實驗結果表明,本文算法相對原有算法mAP@0.5提升了2.2 個百分點;說明了本文算法對紅外及可見光融合的檢測有顯著的提升效果。
2.3.3 訓練結果與分析
圖5所示為不同算法在FLIR數據集上訓練過程mAP變化情況。

圖5 不同算法在FLIR數據集mAP對比Fig.5 Comparison of mAP of different algorithms on FLIR dataset
由圖5能夠明顯看出,融合檢測效果明顯優于單獨的紅外圖像檢測和單獨的可見光圖像檢測,3種前期融合的算法的檢測精度基本持平,中期融合的算法檢測精度明顯高于前期融合算法,然而本文改進的BF-YOLOv5算法達到了更高的精度,證明改進的算法對紅外及可見光圖像融合的檢測具有很好的檢測效果。
2.3.4 檢測實驗結果與分析
圖6是不同算法在LLVIP數據集上檢測效果對比。由圖6能夠直觀看出,在弱光照情況下,可見光圖像檢測框的置信度最低,紅外圖像檢測框的置信度略高于可見光圖像檢測,2種前期融合算法檢測的效果相比于單獨紅外或可見光圖像的檢測已經有了很大提升,然而本文的BF-YOLOv5算法在實驗過程中的檢測效果是最優的,實驗證明,BF-YOLOv5算法在紅外及可見光圖像融合的檢測中相比其他算法有著更好的檢測性能。

圖6 不同算法在LLVIP數據集上檢測效果Fig.6 Detection performance of different algorithms on LLVIP dataset
本文提出以YOLOv5算法為基礎的BF-YOLOv5網絡模型,在紅外及可見光FLIR數據集和LLVIP數據集上的檢測精度均高于3種前期融合算法,在FLIR數據集上平均精度均值(mAP)高達86.6%,相比原有雙分支算法提升了2.2個百分點,并且本文提出的BF-YOLOv5算法不需要提前對圖像進行融合,檢測速度和精度都優于前期融合算法,具有較好的實時性,在2個數據集的優秀表現也證明模型具有很好的泛化性能。