中文題目:一種改進的YOLOv5s建筑檢測模型
論文題目:An Improved YOLOv5s Model for Building Detection
錄用期刊/會議:Electronics (中科院SCI 3區,JCR Q2)
原文DOI:https://doi.org/10.3390/electronics13112197
作者列表:
1) 趙京翼 中國石油大學(北京)信息科學與工程學院/人工智能學院 電子信息工程專業 本20
2) 李一帆 中國石油大學(北京)信息科學與工程學院/人工智能學院 人工智能專業 碩 23
3) 曹 靖 中國石油大學(北京)信息科學與工程學院/人工智能學院 電子信息工程專業 本20
4) 谷雨泰 中國石油大學(北京)信息科學與工程學院/人工智能學院 電子信息工程專業 本20
5) 吳遠澤 中國石油大學(北京)信息科學與工程學院/人工智能學院 電子信息工程專業 本20
6) 陳 沖 中國石油大學(北京)信息科學與工程學院/人工智能學院 電子信息工程系教師
7) 王瑩瑩 中國石油大學(北京)安全與海洋工程學院 教師
摘要:
隨著自動駕駛汽車技術的不斷進步,建筑物的檢測變得越來越重要。它使自動駕駛汽車能夠更好地了解周圍環境,促進更安全的導航和決策過程。然而,建筑物識別面臨著無法部署在邊緣設備上的嚴重遮擋和大尺寸檢測模型等問題。為了解決這些問題,本文提出了一種基于YOLOv5s的輕量級建筑識別模型。我們首先從真實場景和互聯網上收集了一個建筑數據集,并應用了一種改進的GridMask數據增強方法來擴展數據集,減少遮擋的影響。為了使模型輕量化,我們采用BN層通道剪枝的方法對模型進行剪枝,降低了模型的計算成本。此外,我們使用Mish作為激活函數,以幫助模型在稀疏訓練中更好地收斂。最后,將其與YOLOv5s(基線模型)進行比較,實驗表明,改進的模型將模型大小減少了9.595MB,并且mAP@0.5達到82.3%。這項研究將為輕量化建筑檢測提供思路,并證明其在自動駕駛領域中的環境感知方面的意義。
背景與動機:
建筑物檢測是計算機視覺領域中一項具有挑戰性和重要意義的任務。在與自動駕駛相關的安全監控和物聯網(IoT)應用領域,建筑物檢測有助于快速有效的決策過程,從而在城市景觀中實現更高效的資源管理。
然而,建筑物檢測仍然面臨兩個問題,一個是遮擋的影響。在實際場景中,由于拍攝角度的不同,建筑物可能會受到樹木、行人和車輛的遮擋,從而影響檢測,降低檢測效果。另一個挑戰是模型的大小。盡管YOLOv5和Faster R-CNN等檢測模型具有強大的對象檢測能力,但由于模型的體積和計算復雜性巨大,將其部署到計算能力有限的嵌入式設備上是一個挑戰。
設計與實現:
建筑物檢測方法的總體過程如圖1所示,包括以下步驟:(1)對數據集進行數據增強,并使用改進的GridMask方法引入隨機噪聲來模擬實際遮擋情況。(2) 對改進后的模型進行稀疏訓練,使BN層的參數接近0。(3) 我們根據剪枝率來裁剪BN層參數。(4) 我們用Mish代替激活函數,并比較其與不同激活函數的有效性。
圖1 建筑檢測方法的總流程
改進版GridMask數據增強方法(如圖2所示):針對建筑檢測任務中建筑目標面積較大的特點,我們對原版的GridMask方法進行了改進。原始GridMask可能覆蓋整個建筑目標,影響模型的特征提取能力。因此,我們提出了將GridMask的分布細化為圖像中的隨機目標區域的方法。這種方法能夠更準確地模擬真實世界中的遮擋情況,因為在實際場景中,遮擋往往集中在圖像的特定區域而非整個圖像。我們首先按隨機比例縮小GridMask,以確保其不會占據過大的目標區域。接著,在圖像中隨機分布這些縮小后的GridMask,以模擬實際識別過程中遮擋的隨機性。
圖2 改進版GridMask
稀疏訓練與剪枝(如圖3所示):在YOLOv5中,BN(Batch Normalization)層通過引入可學習參數γ和β來增強模型訓練效率。當γ和β接近0時,BN層輸出趨于0,表明這些通道對網絡貢獻較小。根據劉壯等人的理論,稀疏訓練利用L1正則化懲罰BN層內的反向傳播梯度,使γ和β值趨近于0,減少剪枝對性能的影響?;谙∈栌柧氂柧?,我們剪枝具有較小γ和β值的通道及其對應的卷積核,之后對模型進行微調以補償剪枝帶來的性能損失。YOLOv5中BN層的密集分布使其成為模型優化的關鍵。剪枝這些層能有效減小模型大小,且大多數BN層與前后卷積層通道一一對應,允許直接剪枝對應通道,進一步簡化模型結構。
圖3 BN層通道剪枝過程
Mish激活函數;研究表明,激活函數的選擇在決定稀疏網絡的性能方面起著至關重要的作用,在這項研究中,我們應用了Mish激活函數,因為它在各種數據集中觀察到了顯著的性能Mish激活函數的公式如下所示:
通過將softplus函數應用于輸入x進行運算,然后將結果通過雙曲正切函數(tanh)。最后,將結果乘以x以獲得輸出。在剪枝網絡中,參數的減少可能會降低模型的表達能力,導致準確性損失。Mish的非線性映射和平滑性使網絡能夠有效地利用剩余參數進行特征提取和學習。此外,Mish的梯度在接近零的情況下更平滑,減輕了梯度消失的問題,增強了訓練穩定性。集成Mish激活利用其特征提取和梯度平滑功能,更好地補償剪枝造成的精度損失,使剪枝后的模型能夠在保持精度的同時保持高效率。
實驗結果及分析:
表一給出了數據增強實驗的結果,表2中的結果表明,經過數據增強的模型精度為93.4%,比原版模型低了幾個點。這意味著添加改進的Gridmask可能會導致模型在檢測某些圖像時出現一些錯誤。然而,該模型的召回率提高到86.6%,這意味著具有改進的GridMask的模型可以檢測到以前模型無法檢測到的一些圖像。
表一 YOLOv5s在使用數據增強的情況下的檢測性能。
Model |
Precision |
Recall |
mAP@0.5 |
Model Size |
Parameters |
Data augmentation |
93.4% |
86.6% |
89.6% |
14.070 MB |
7,074,330 |
Without Data augmentation |
94.9% |
84.3% |
89.5% |
14.070 MB |
7,074,330 |
為了進一步驗證改進的GridMask對遮擋的影響,我們從測試數據集中選擇了所有具有遮擋的圖像(共101幅圖像),并用這些圖像測試了模型。結果如表3所示。與沒有數據增強的模型相比,改進了GridMask的模型將召回指標顯著提高了4.6%。所有模型的精度都保持在93%以上。在遮擋物體的檢測中,改進的GridMask大大提高了模型的召回率,從而在一定程度上避免了漏檢。
表二 YOLOv5s在有遮擋的圖像中數據增強的檢測性能。
Model |
Precision |
Recall |
mAP@0.5 |
Model Size |
Parameters |
Data augmentation |
93.1% |
72.9% |
80.0% |
14.070 MB |
7,074,330 |
Without Data augmentation |
93.4% |
68.3% |
78.9% |
14.070 MB |
7,074,330 |
我們以體育館為例,如圖4(a)所示,兩張圖像顯示出漏檢現象,而另一張圖像顯示出現假陽性。然而,通過數據增強,圖4(b)中的體育館被成功檢測。
圖4.體育館的檢測結果
為了評估剪枝過程中的三個階段(稀疏訓練、剪枝和微調)對YOLOv5檢測性能的影響,我們比較了四種不同的模型,包括原始YOLOv5(YOLOv5)、稀疏訓練的模型(稀疏YOLOv5。剪枝率從10%到90%不等,間隔為10%。實驗結果如表三與圖5所示。
如表三所示,當剪枝率增加時,模型大小和參數數量減少,表明剪枝方法可以有效地減小模型的大小。
表三 不同模型在模型大小、參數和GFLOPs方面的檢測性能
Model |
Model Size (MB) |
Parameters |
GFLOPs |
YOLOv5 |
14.070 |
7,074,330 |
16.5 |
Sparse YOLOv5 |
27.931 |
7,074,330 |
16.5 |
Sparse and fine-tuned YOLOv5 |
14.120 |
7,074,330 |
16.5 |
Prune YOLOv5 (0.1) |
12.425 |
6,209,872 |
14.8 |
Prune YOLOv5 (0.2) |
10.731 |
5,344,219 |
13.5 |
Prune YOLOv5 (0.3) |
9.195 |
4,559,893 |
12.3 |
Prune YOLOv5 (0.4) |
7.873 |
3,884,554 |
11.1 |
Prune YOLOv5 (0.5) |
6.685 |
3,277,868 |
10.2 |
Prune YOLOv5 (0.6) |
5.606 |
2,727,398 |
9.2 |
Prune YOLOv5 (0.7) |
4.475 |
2,150,031 |
7.6 |
Prune YOLOv5 (0.8) |
- |
- |
- |
Prune YOLOv5 (0.9) |
- |
- |
- |
在圖5中,實驗結果表明,該模型在40-50%的剪枝率左右達到了最低的精度。這表明剪枝率和模型性能之間存在非線性關系。此外盡管剪枝有效地減少了參數的數量,但會導致模型的檢測能力下降。此外,即使在微調之后,稀疏訓練還是會降低模型的檢測能力。這表明微調對恢復模型精度的影響是有限的。
圖5 不同剪枝率的實驗結果
由于激活函數對稀疏訓練有顯著影響,我們將激活函數替換為Mish/HardSwish/Leaky ReLU/RReLU進行稀疏訓練,并將剪枝率分別設置為30%、50%和70%。我們進行了消融實驗,以比較不同激活函數對稀疏訓練下模型檢測性能的影響。實驗結果如圖6所示。
圖6 不同激活函數的實驗結果
不同激活函數對模型性能的影響可歸因于梯度反向傳播和稀疏訓練的機制。對于Conv模塊,反向傳播的梯度將從激活函數梯度傳輸到BN層,用于更新BN層參數。整個過程如圖7所示。損耗函數相對于BN層參數的梯度由四個部分組成:BN層輸出相對于BN層的梯度γ和β,激活函數的梯度,損耗函數相對于激活函數輸出的梯度,以及L1正則化帶來的梯度變化。BN層輸出相對于BN層參數的梯度和損失函數相對于激活函數輸出的梯度取決于網絡的輸入和輸出。此外,L1正則化產生的梯度變化是恒定的。因此,對于不同的激活函數,損失函數相對于BN層參數的梯度可能不同,并且不同的激活功能可能影響L1正則化對梯度更新的影響,從而影響稀疏訓練的效果。
圖7 Conv模塊中反向傳播的梯度過程
結論:
在本研究中,我們提出了一種基于YOLOv5s的輕量級建筑檢測模型。我們將GridMask修改為隨機大小,并將其放置在圖像中的隨機位置,因為原始GridMask可能完全覆蓋建筑物,這可能會導致原始圖像中的功能過度丟失。這樣,我們可以在模型的穩定性和適應性之間取得平衡,提高模型對遮擋的魯棒性。然后,我們使用BN層剪枝方法對模型進行剪枝,成功地將模型的體積減少了70%。最后,我們比較了剪枝模型中不同的激活函數,證明了Mish可以幫助減少剪枝對模型的影響。結果表明,通過選擇適當的激活函數,可以減輕剪枝的副作用。還應該注意的是,用于建筑物檢測的改進的YOLOv5s模型不僅可以用于校園建筑,還可以用于旅游景點、城市導航等各個領域。通過識別建筑物和其他城市特征,自動駕駛汽車可以增強其定位技術,特別是在無GPS的環境中。
通訊作者簡介:
陳沖,博士,中國石油大學(北京)信息科學與工程學院/人工智能學院電子信息工程系副教授,碩士生導師,中共黨員。研究方向:數值模擬、機器學習、信息融合、不確定性分析。 聯系方式:chenchong@cup.edu.cn