?

基于YOLOv5s的輕量化紅外圖像行人目標檢測研究

2024-03-25 06:39趙宇航胡皓冰孫寰宇
激光與紅外 2024年2期
關鍵詞:輕量化行人紅外

胡 焱,趙宇航,胡皓冰,鞏 銀,孫寰宇

(1.中國民用航空飛行學院航空電子電氣學院,四川 廣漢 618307;2.西藏航空有限公司,四川 成都 610202;3.山東航空股份有限公司,山東 濟南 250107)

1 引 言

傳統的安防系統采用大量的監控攝像頭,結合目前發展迅速的目標檢測算法,實現安防智能化。然而,大多數系統使用可見光成像,容易受到溫濕度、光照度等環境因素的影響,導致在某些場景下算法性能不佳,如夜間能見度不足等情況,無法滿足安防需求。對此,可以采用紅外熱成像進行行人目標檢測,與可見光成像系統形成互補,從而達到較好的性能。紅外熱成像技術有不受光照等環境因素影響的特點,相比于可見光有著更加突出的檢測優勢[1]。但由于紅外成像系統的限制,導致其存在目標的紋理信息較弱、對比度不佳、分辨率低等檢測弱點[2]。如何提高紅外行人目標檢測性能仍是目前研究的熱點之一。

目標檢測是計算機視覺領域中的一個重要研究方向,其應用范圍廣泛,包括安防監控、智能交通等領域。近些年來,深度學習相關研究發展迅速,已被廣泛應用于如計算機視覺、自然語言處理、語音識別等領域。將深度學習與目標檢測相結合是一個熱門的研究方向。目前對于可見光成像目標檢測研究方面,已經取得了較大的進展,由于深度學習的方式需要大量的數據喂養,借助現有的大型可見光圖像數據集如MSCOCO、VOC等,以及容易獲取的可見光圖像,基于深度學習的可見光目標檢測已經具有了較好的性能,但是對于紅外熱成像此類圖像,由于現存紅外圖像公開數據集較少,所需數據較難獲得,因此相關的應用研究較少。此外,在許多領域,目標檢測算法的應用需要將其部署到嵌入式設備,而此類設備的存儲與性能限制了部署模型的尺寸,因此如何有效利用深度學習方式提高紅外目標檢測性能,以及實現算法輕量化,取得精度與速度的平衡,是現在需要解決的難題。

隨著深度學習技術的發展,與目標檢測相關的算法也在被不斷的提出。目前主流的檢測算法分為Two stage和One stage兩種類型[3]。Two stage類型算法需要先進行Region Proposal,也就是目標候選框的生成,再對其進行分類與回歸。典型算法如SPPNet[4]、FastR-CNN[5]、FasterR-CNN[6]等;One stage類型算法直接在網絡中提取特征,預測目標的類別與位置。相關算法如SSD[7]、RetinaNet[8]以及YOLO[9]系列。眾多算法中,YOLO系列憑借其較快的檢測速度,成為當前的熱門實用級算法。在紅外圖像行人檢測研究方面,蔡偉等人[10]基于YOLO檢測框架,通過減少下采樣次數,結合跨階段局部模塊、Focus結構和空間金字塔池化結構設計了特征提取網絡,對紅外弱小目標的特征提取性能較好;王曉紅等人[11]提出了一種主要用于檢測小尺寸行人的YOLOv5-p4模型,通過BiFPN特征融合以及增加小目標檢測層,避免了小目標的特征信息丟失;張立國等人[12]在YOLOv3算法基礎上,通過改進輕量化特征提取網絡,特征融合方式以及解耦檢測頭,實現了模型的輕量化;張印輝等人[13]通過在YOLOv4-tiny結構上增加精細尺度檢測層,用殘差結構加深網絡以獲取紅外行人位置特征,對于模型參數的增加使用通道剪枝以及知識蒸餾方法進行輕量化,實現了檢測精度與速度的平衡。

本文的主要目的是在保持一定的精度要求下,改進原有網絡結構使其輕量化。對此,本文提出了一種基于YOLOv5算法的輕量化方法,通過更換輕量級的特征提取網絡以及引入深度可分離卷積,降低模型參數量及浮點運算量;使用具有更大感受野的輕量級上采樣算子進行特征重組,提升模型性能;將YOLOv5原有損失函數中的CIOU替換為效果較好的EIOU,提高回歸精度。實驗結果表明,本文算法在保持較高檢測精度的同時,顯著降低了模型參數量,具有較好的輕量化性能。

2 YOLOv5網絡模型改進

2.1 網絡結構改進分析

由于需要對網絡進行輕量化改進,模型復雜度不可過大,因此本文所進行的改進均是在YOLOv5s 6.0基礎上進行。在YOLOv5s 6.0中,其整體網絡結構如圖1所示。

圖1 YOLOv5s 6.0網絡結構

其中,網絡結構被分為了Input輸入端、Backbone特征提取層、Neck以及Detect檢測輸出層四部分。Input部分對圖像進行數據增強等預處理以及自適應錨框計算;Backbone部分主要依靠各種卷積操作對輸入圖像進行不同層次的特征提取;Neck部分使用了FPN(Feature Pyramid Networks)和PAN(Path Aggregation Network)結構來加強語義特征和定位特征,從而豐富特征信息;Detect部分設計了large、medium、small三種檢測分支,用于不同尺度下的檢測目標,對其預測類型及位置信息,并給出置信度。YOLOv5模型的檢測性能已達到較高水平,但該算法對部署硬件有一定要求,需要較高的硬件成本來實現高精度的檢測性能,應用到行人檢測等實際情況下仍有一定缺陷。對此本文通過改進特征提取網絡以及使用深度可分離卷積計算來降低模型復雜度,對于改進帶來的精度損失,通過更換上采樣模塊以及改進損失函數來提升檢測性能。

2.2 輕量化特征提取網絡

YOLOv5s初始模型的特征提取層主要分為了Conv模塊、CSPDarkNet-53和SPPF模塊。由于其網絡模型參數多,對計算性能要求較高,難以用于嵌入式等實際應用平臺及設備。對此,本文選擇使用MobileNetv3特征提取網絡代替原有骨干層,從而在保證一定精度的前提下減少運算量,縮減模型大小。MobileNetv3網絡[14]是一種輕量級的卷積神經網絡架構,其設計目的是使得網絡更適合移動端部署,在CPU設備上實現高精度和高效率的平衡。其Block結構如圖2所示,包含了v1中的深度可分離卷積和v2中具有線性瓶頸的倒殘差結構,前者用于降低模型的計算量,后者用于增加模型的表示能力。相較于之前版本,v3版使用了h-swish激活函數代替之前的swish函數,使得計算速度加快,量化效果更好,其表達式如下式:

(1)

圖2 MobileNetv3 Block結構

同時加入了輕量級的SE(Squeeze and Excitation)通道注意力機制來學習通道之間的相關性,為比較重要的通道添加更大的權重,提高了模型的性能。

通過更換MobileNetv3特征提取網絡,可以在保持一定精度的情況下,顯著減少運算量,縮減模型大小,從而使得YOLOv5s更加適合在資源受限的場景中使用。

2.3 深度可分離卷積

深度可分離卷積(Depthwise Separable Convolution)相較于標準卷積操作,其參數量以及運算成本顯著降低,且精度降低較少。其主要分為兩步操作:深度卷積(Depthwise Convolution)和逐點卷積(Pointwise Convolution)。具體流程示意如圖3所示。對于輸入圖像,首先在每個通道上分別進行卷積操作,一個通道只被一個卷積核卷積,特征圖通道數不變,因此需要后續的1×1逐點卷積運算來將上一步的特征圖在深度方向上進行加權混合,生成新的特征圖。

圖3 深度可分離卷積示意圖

設輸入特征圖尺寸為C1×H×W,輸出時通道數變為C2,則卷積核尺寸為C1×K×K,共有C2個卷積核,其中H、W分別為特征圖高度及寬度,K為卷積核尺寸。標準卷積運算與深度可分離卷積運算的參數量及運算量對比如表1所示。

表1 兩種卷積參數及運算量對比

根據表中公式,可計算出兩者參數量之比:

(2)

兩者計算量之比:

(3)

顯然,式(2)、(3)的值相等且小于1,說明使用DWConv運算代替標準Conv運算可以減少參數量及計算量,實現模型輕量化,將算法移植到實用場景具有可行性。本文將Neck部分的conv層替換為DWconv層,從而減小了模型尺寸。

2.4 上采樣模塊

YOLOv5s中的Neck部分中使用了上采樣操作來對上層的特征圖進行尺寸擴充,并與淺層信息逐元素相加,從而構建出不同尺寸的特征金字塔結構。原有模型中的上采樣操作使用最近鄰插值法,該方法所生成的新特征圖中的每個像素的值是由原特征圖上最近鄰的像素值所決定的。這樣的操作運算快,但是未考慮到周圍像素的影響。會導致特征圖出現鋸齒狀偽影,采樣效果較差;對此本文使用CARAFE(Content-Aware ReAssembly of FEatures)方法[15]替代最近鄰插值,通過引入一定的計算量換取較高精度,從而提高上采樣操作的效果和性能。

CARAFE是一種基于內容感知的特征重組方法,其主要思想是在上采樣過程中,對每個上采樣點周圍的局部區域進行自適應特征重組,從而使得重組后的特征更能夠適應目標區域的細節和紋理信息。首先對于輸入的低分辨率特征圖,在每個像素點位置上應用卷積操作,得到一組權重;然后使用最近鄰插值法將該特征圖上采樣到目標分辨率,得到一個更大的特征圖;接著將該特征圖與前一層的高分辨率特征圖進行級聯,產生一個上下文感知的特征圖;最后結合前面的權重和級聯特征圖,生成一個內容感知的上采樣結果。整個過程的目的是提高特征圖的語義信息,并且減少上采樣過程中的信息損失,提高圖像重建性能。將其應用到YOLOv5s網絡中,可以提高網絡的檢測性能和效果。

2.5 損失函數

在YOLOv5模型中,其損失函數由三部分組成:邊界框損失(bbox_loss)、分類損失(cls_loss)以及置信度損失(obj_loss),其計算公式為:

Loss=Gb×bbox_loss+Gc×cls_loss+Go×obj_loss

(4)

式中,Gb、Gc、Go為損失權重。YOLOv5s 6.0版本中,計算分類損失與置信度損失的函數為BCE Loss,計算邊界框損失的函數為CIOULoss,CIOU對于目標框的中心點偏移的懲罰較為合理,但其存在寬和高不能同時增減的問題。對此本文使用了EIOULoss[16],公式如下:

(5)

式中,Cw、Ch為覆蓋兩個目標框的最小外接框的寬和高,ρ為b和bgt之間的歐式距離,w、h為預測框寬高,wgt、hgt為真實框寬高。EIOULoss包含了重疊、中心距離、寬高三種情況的損失,對目標框及錨框的寬高分別計算,解決了CIOULoss中寬和高不能同時增大或者減小的問題,使兩框之間的寬高差更小,回歸精度更高。

3 數據集及評價指標

3.1 數據集設置

本文實驗所采用的數據集為LLVIP紅外行人檢測公開數據集[17],這是一種弱光條件下的可見光-紅外多幀配對數據集。該數據集共包含30976張圖像,其中的15488張紅外圖像分辨率為1080×720,在26個不同場景下采集,采集波段為8~14 μm,多數采集場景為弱光條件,且圖像為連續采集,圖像中包含大量行人且均已打上標記,適合紅外場景下的行人檢測研究。但該數據集中行人尺寸多為中等大小,對于遠距離小目標的行人檢測研究尚有缺陷。對此本文選擇對原數據集進行稀疏化抽樣并加入自行拍攝的遠距離小目標行人圖像,形成自建優化數據集。具體實現方式是對原數據集中的紅外圖像隨機抽取3500張圖片,并且加入356張自行拍攝的含有遠距離小目標行人的紅外圖像,形成融合自建數據集。圖像采集設備為TiX650紅外熱成像儀,為確保一致性,使用與LLVIP數據集同樣波段進行拍攝。對于拍攝過程中行人較為模糊的圖像,為增強目標特征,使用專業軟件進行高斯濾波器銳化。最終形成含3856張弱光環境下行人特征的紅外融合數據集,其具體數據集指標見表2,其中按9∶1的比例隨機分配訓練集和驗證集,推理測試采用另行拍攝紅外行人視頻。

表2 融合數據集

3.2 模型評價指標

對于深度學習目標檢測來說,常用的模型評價指標為精確率(Precision)、召回率(Recall)、均值平均精度(mean average precision,mAP)等[3]。此外,模型大小(Model size)以及參數量(Parameters)也是反映模型輕量化性能的重要指標。由于本文僅針對紅外圖像中的行人這一類目標進行分析,因此最終選擇Precision、Recall、AP@0.5、Model size、Parameters五類作為實驗評價指標。相關計算公式如下:

(6)

(7)

(8)

上述公式中,TP為真正例(True Positive),即檢測行人目標正確的次數;FP表示假正例(False Positive),即將其他類型目標錯檢為行人目標的次數;FN表示假負例(False Negative),即未檢測到應是行人目標的次數。P(R)是Precision-Recall曲線,即以Precision為坐標縱軸,Recall為坐標橫軸的曲線,其與坐標軸所圍面積即為AP值。

4 實驗設計及結果分析

4.1 實驗環境

本文所有訓練及測試實驗均在PyTorch深度學習框架下進行,Pytorch版本為1.12.1,實驗設備操作系統為Windows 11,CPU為AMD Ryzen 7 5800H with Radeon Graphics,RAM為16G,GPU為NVIDIA GeForce RTX 3060 Laptop,顯存6G。為節省訓練時間,訓練實驗均使用GPU加速;為驗證模型在移動端的推理性能,模型推理實驗均使用CPU進行。為確保實驗一致性,在模型訓練階段均采用同樣的超參數配置。表3為相關訓練初始化參數。

表3 訓練初始化參數

4.2 輕量化改進及性能分析

根據本文改進思想,首先通過更換YOLOv5s的特征提取網絡以及引入DWconv運算來使模型初步輕量化,并對其輕量化后參數及性能進行分析,之后加入CARAFE模塊,以較少的參數量提升換取檢測精度的提高,最后更換EIOULoss提升回歸性能,并對最終模型進行參數及性能分析。為測試各模塊改進效果,對增加各模塊前后進行訓練測試,得到改進前后算法在自建融合數據集上的訓練效果。表4及表5為訓練后評測結果。

表4 改進前后PR值對比

表5 改進前后性能參數對比

對表4中數據分析可知,輕量化算法相較于原YOLOv5s算法,其對驗證集中行人檢測時的FP以及FN數量增加,導致其P、R值有所降低,精度稍許下降;對表5中數據分析可知,原YOLOv5s算法對于紅外圖像下行人的檢測精度較高,AP可達96.9 %,但其模型大小、浮點運算次數以及參數量也較高,不利于部署;在更換MobileNetv3特征提取網絡后,其檢測精度略有下降,模型大小減小11.3MB,浮點運算次數減少13.6 GFLOPs,參數量減少5.65×106,顯著減小了模型的尺寸;將Neck部分的四個標準Conv替換為DWconv后,模型尺寸進一步減小,且精度有所提升;添加CARAFE上采樣模塊以及更換EIOULoss后,通過增加模型復雜度,提升了部分模型檢測精度,在保證模型尺寸較小的情況下恢復了模型的檢測性能。

將原YOLOv5s算法與輕量化改進后算法用于LLVIP紅外行人數據集訓練,測試其性能差距,所得結果見表6。

表6 LLVIP數據集測試結果

由于訓練樣本的增加,相較于自建數據集訓練結果,模型的P、R值以及AP均有所提升。測試結果表明改進后算法在LLVIP數據集上仍能維持較高檢測精度,在顯著降低模型尺寸的情況下仍具有較好的檢測水平。相較于原算法,本文改進方法在精度略有降低的情況下達到了輕量級水平。

4.3 檢測效果分析

為測試改進模型的檢測效果,對后續另行拍攝的紅外行人視頻進行檢測。分別使用原算法與改進算法在自建融合數據集上訓練完成后的檢測性能最好的模型權重,對同一段紅外行人視頻進行推理測試。推理所用視頻采用TiX650紅外熱成像儀拍攝,共包含88幀圖像。其中包含了多尺度的行人目標,可驗證模型對不同大小的行人目標的檢測能力。推理實驗結果見表7。

表7 推理測試結果

結果表明改進后算法推理時間較原算法降低50.8 ms,推理速度提升43.3 %,且對視頻中小尺度行人檢測效果更佳,增加了模型對多尺度目標的檢測能力。為對比檢測效果,選擇同一時間戳下的視頻幀進行對比,其可視化結果如圖4所示??梢钥吹?改進后算法可檢測到更多小目標行人,模型檢測能力有所提升。

圖4 檢測效果對比圖

5 結 論

對于紅外圖像下行人目標檢測模型尺寸過大,導致不易于部署至移動端的問題,本文提出了一種輕量化YOLOv5s模型的方法。通過應用輕量化特征提取網絡,極大地減小了模型尺寸,同時改進上采樣模塊以及更換邊界框損失函數,降低輕量化所導致的檢測精度損失。實驗結果表明本文改進方法能在保證較高檢測性能的同時,極大降低模型參數量,更有利于實際安防環境的硬件要求。后續研究將著力于實現模型工程應用,將模型移植至移動端平臺等設備,探尋實時檢測能力方面的改進。

猜你喜歡
輕量化行人紅外
網紅外賣
汽車輕量化集成制造專題主編
閃亮的中國紅外『芯』
毒舌出沒,行人避讓
TS系列紅外傳感器在嵌入式控制系統中的應用
一種輕量化自卸半掛車結構設計
一種輕量化自卸半掛車結構設計
路不為尋找者而設
我是行人
基于快速遞推模糊2-劃分熵圖割的紅外圖像分割
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合