摘要:為提升實時目標檢測的準確性和穩(wěn)健性,該文采用增強特征融合技術(shù)、網(wǎng)絡架構(gòu)技術(shù)、損失函數(shù)技術(shù)等對YOLOv4算法進行優(yōu)化。結(jié)果表明,改良后的YOLOv4算法在多變環(huán)境下對小型目標檢測表現(xiàn)出色,展現(xiàn)了其實用性和穩(wěn)定性,為廣泛應用奠定了堅實基礎。
關鍵詞:實時目標檢測;YOLOv4;特征融合;GIoU損失函數(shù)
doi:10.3969/J.ISSN.1672-7274.2024.09.006
中圖分類號:TP 31 文獻標志碼:B 文章編碼:1672-7274(2024)09-00-04
Research on Real-time Object Detection Method Based on Improved YOLOv4
LU Jianheng
(College of Artificial Intelligence, Guangzhou Huashang College, Guangzhou 511300, China)
Abstract: To enhance the accuracy and robustness of real-time object detection, this paper optimizes the YOLOv4 algorithm by employing enhanced feature fusion technology, network architecture technology, loss function technology, and other strategies. The results demonstrate that the improved YOLOv4 algorithm exhibits excellent performance in detecting small objects in diverse environments, showcasing its practicality and stability, and laying a solid foundation for its widespread application.
Keywords: real-time object detection; YOLOv4; feature fusion; GIoU loss function
0 引言
在人工智能與視覺科技領域,實時目標檢測技術(shù)日益凸顯其重要性,廣泛應用于自動駕駛、視頻監(jiān)控、無人機導航等多個領域。YOLO(You Only Look Once)系列算法,尤其是YOLOv4版本,因其快速且高精度的檢測性能而受到關注[1]。然而,YOLOv4在微小目標檢測、跨硬件性能一致性等方面仍存在局限性。
1 理論概述
1.1 改進YOLOv4算法的概述
如圖1所示,在特征抽取的網(wǎng)絡結(jié)構(gòu)內(nèi),采用改良的主體結(jié)構(gòu),利用多個殘差塊層(包括Resblock_body層)逐步提取特性,在此每個組件的參數(shù)配置及其重復頻次均有所區(qū)別,有效提升了特性描述的深度,輸入圖像歷經(jīng)卷積操作和批量歸一化層(Conv2d BN)傳輸至網(wǎng)絡結(jié)構(gòu),緊跟著在歷經(jīng)Mish激活處理處理完成后,用于維持非線性特性[2]。然后,利用若干Resblock_body組件逐漸降低采樣率并從中提取特性,最后在SPP(Spatial Pyramid Pooling)模塊中整合多尺度最值池化,顯著充實了特性信息,在特征融合階段,引入了改良版PANet(Path Aggregation Network),借助層次化分離卷積有效提高特征融合效率。在PANet架構(gòu)里,在實施上,采樣與下采樣過程(UpSampling、DownSampling)反復進行特征融合與卷積操作如執(zhí)行make_five_conv過程,實現(xiàn)了有效整合了多個尺度的特征數(shù)據(jù)[3],最終,網(wǎng)絡架構(gòu)在三種不同尺度(YOLO Head1、YOLO Head2、YOLO Head3)實現(xiàn)檢測能力,從而提升了對各種尺寸目標的檢測精度和效率性。
1.2 目標檢測方法概述
該技術(shù)首先對輸入圖像進行處理,識別可能包含目標物體的潛在區(qū)域。隨后,利用深度卷積神經(jīng)網(wǎng)絡等先進技術(shù)對這些區(qū)域進行特征抽取,提煉出用于目標識別的精細特征。通過特征識別執(zhí)行分類處理,確定潛在區(qū)域中是否包含目標實體及其種類。接著,采用邊界回歸技術(shù)精確捕捉目標物體的邊界框[4]。在訓練階段,通過構(gòu)建包含正反面實例的訓練數(shù)據(jù)集,訓練分類和回歸算法模型,以提升目標識別的精確度和效率。該策略綜合考慮了潛在區(qū)域、特征辨認、分類判定和邊界描繪,顯著提高了目標識別的實時性和準確性,在自動駕駛、視頻監(jiān)控等領域得到廣泛應用[5]。
2 實驗設計
2.1 數(shù)據(jù)集選擇與預處理
COCO數(shù)據(jù)集涵蓋了80種常見物體類別,包含超過330 000張圖像及詳盡的標注數(shù)據(jù),其中標注框超過200 000個,廣泛涵蓋各種復雜場景與不同尺寸的目標物體。選擇COCO數(shù)據(jù)集的理由在于其詳盡的標注和廣泛的環(huán)境,能夠準確評價改進算法在各種情境下的識別能力。數(shù)據(jù)預處理是模型訓練成效的核心環(huán)節(jié),本文首先將圖像大小統(tǒng)一調(diào)整為416×416分辨率,以滿足YOLOv4模型輸入要求。隨后,運用隨機剪裁、水平翻轉(zhuǎn)等增強手段增加數(shù)據(jù)多元性,避免模型過擬合。同時,對標注邊界進行調(diào)整,確保標注準確度,并通過顏色調(diào)整和加入噪聲等手段模擬復雜場景,增強模型穩(wěn)健性。最終,將處理后的數(shù)據(jù)集分為訓練集、驗證集和測試集,用于模型訓練、超參數(shù)調(diào)整和性能評估。
2.2 實驗環(huán)境
實驗所用計算機系統(tǒng)配備NVIDIA GeForce RTX 3090圖形處理單元,該單元擁有24 GB GDDR6X顯存,提供強大的并行處理能力和高速存儲讀寫能力。同時,系統(tǒng)搭載AMD Ryzen 9 5950X處理器,具備16核32線程和3.4 GHz的時脈頻率,可有效處理大量數(shù)據(jù)和復雜計算任務。系統(tǒng)配置32 GB DDR4內(nèi)存,確保大數(shù)據(jù)處理和機器學習訓練過程中內(nèi)存充足。實驗軟件平臺基于Ubuntu 20.04操作系統(tǒng),采用TensorFlow 2.4和PyTorch 1.7深度學習框架,均支持GPU加速。選用NumPy、Pandas、Matplotlib等數(shù)據(jù)處理工具,結(jié)合CUDA 11.1和cuDNN 8.0加速庫提升GPU處理速度。采用Docker容器技術(shù),確保實驗環(huán)境可復制且部署高效,實現(xiàn)了高效的開發(fā)和測試流程。
2.3 實驗流程
2.3.1 數(shù)據(jù)集準備與劃分
COCO數(shù)據(jù)庫包含80個目標種類,提供118 287張訓練圖像和5 000張驗證圖像,所有圖片統(tǒng)一尺寸為416×416像素,用此方法檢驗符合YOLOv4模型的所需規(guī)格,在此步驟中對標注信息進行標準化,保證位置信息與圖像大小一致,在具體操作中,標注框的歸一化采用公式如下:
(1)
式中,、是標注框的左上角坐標;、是圖像的寬度和高度;、是標注框的寬度和高度。
在數(shù)據(jù)集分割過程中,將全部數(shù)據(jù)劃分為訓練集、驗證集和測試集,占比分別為70%、15%和15%。具體操作如下:精心選擇70%的圖片及其注釋作為訓練數(shù)據(jù)集,用于模型訓練和參數(shù)調(diào)優(yōu);挑選15%的圖像資料及相應文字描述構(gòu)成驗證數(shù)據(jù)集,以在訓練過程中評估模型表現(xiàn),并調(diào)優(yōu)超參數(shù)和模型選擇;保留剩余15%的圖像和注釋作為測試數(shù)據(jù)集,用以評估模型在未知數(shù)據(jù)上的性能。此外,為提升訓練數(shù)據(jù)的多樣性和難度,我們實施了數(shù)據(jù)增強策略,包括隨機裁剪、水FV04U1+6WZOtYJKbt90yRQ==平翻轉(zhuǎn)、調(diào)整光線和對比度等,以增強模型的健壯性,避免過擬合,確保模型在實際應用中的表現(xiàn)和穩(wěn)定性。
2.3.2 模型訓練
為提升模型性能,選定了適當?shù)臉O其關鍵的參數(shù),涵蓋初始學習率、批量尺寸和訓練周期,初始學習速度設定為0.001,批量尺寸為16,訓練周期為百次,以此確保人工神經(jīng)網(wǎng)絡在不同成長階段擁有有效收斂性,在訓練過程中,使用余弦衰減學習速率調(diào)整策略,公式表示為
(2)
式中,是第t次迭代時的學習率;和分別為最小和最大學習率;T為總迭代次數(shù)。在訓練過程中,使用交叉熵損失函數(shù)處理分類任務,公式如下:
(3)
式中,為目標類別的真實標簽;為模型預測的概率。此外,采用改進的GIoU損失函數(shù)進行邊界框回歸,以提高定位精度,公式如下:
(4)
式中,B為預測框;為真實框;C為最小包圍框。在訓練階段,利用跟蹤驗證數(shù)據(jù)集給出的損失和精度指標,執(zhí)行調(diào)優(yōu)超參數(shù)和提前結(jié)束策略,防止過度擬合難題,在每個訓練周期終止時,儲存最優(yōu)算法模型的參數(shù),并周期性評估模型與驗證數(shù)據(jù)集表現(xiàn),保證改進的YOLOv4算法在眾多評價準則上獲得明顯改進。
2.3.3 模型測試
模型訓練過程終止后,應用事先安排的測試數(shù)據(jù)集對優(yōu)化后的YOLOv4算法執(zhí)行性能評價,以評價它在實際使用場景中的表現(xiàn),測試階段至關重要在于精確衡量模型的辨識效能和效率,首先采取的行動是,應用已經(jīng)訓練完畢的模型至測試數(shù)據(jù)集內(nèi)每一幅圖像,估計預測邊界框的坐標和類別確信度,評定成效與實際分類相比較,采用平均精確度(mAP)和每秒處理的幀數(shù)(FPS)作為主要性能衡量標準,通過以下公式計算不同類別的平均精度:
(5)
式中,N為類別數(shù);為第i類的平均精度。平均精確度的評定手段涵蓋精確性和召回率整體衡量,在運算階段采用不同設定情境精確度與召回率,每秒畫面更迭次數(shù)則用來衡量模型的實時表現(xiàn),公式如下:
(6)
在驗證階段,對模型生成的預測和實際標記進行對比校驗,通過IoU(Intersection over Union)衡量預測的邊界框和實際邊界框一致性,公式表示為
(7)
一般當交并比超過預定閾限0.5時,判斷預測的界限為可靠鑒別,通過梳理所有測試樣本表現(xiàn)數(shù)據(jù),計算出整體平均精度地圖和每秒幀數(shù),進而綜合評價模型的精確性與反應速率,另外,務必要在復雜多變的條件下檢測模型的穩(wěn)定性,如各種照明條件、遮擋狀況和多對象擁擠場景。
3 結(jié)果分析
3.1 實驗結(jié)果
實驗數(shù)據(jù)說明,優(yōu)化后的YOLOv4算法在各項評價準則之中均有顯著提高明顯優(yōu)化,改進后的 YOLOv4(版本 1)在 mAP@0.5 和 mAP@[0.5:0.95] 上分別提升了 4.8% 和 4.6%。雖然幀數(shù)有所降低,但仍處于可行的實時檢測范疇內(nèi)。而改進后的 YOLOv4(版本 2)進一步提高了識別準確性,mAP@0.5 和 mAP@[0.5:0.95] 分別達到了 72.8% 和 53.0%,展現(xiàn)出較高的辨識效率。不過,其辨識速度略有減緩。表1列出了改進YOLOv4算法于COCO數(shù)據(jù)集的主要評價指標,涵蓋平均精確度(mAP)以及幀每秒(FPS)不同條件下的測試結(jié)果。
在測試階段,模型的可靠性也得到了驗證,在各種光線照射、阻擋以及眾多緊湊排列的目標環(huán)境中,優(yōu)化YOLOv4繼續(xù)維持較高的識別準確度和效能,這些數(shù)據(jù)證實了我們所提出的改良策略在增強檢測效率期間,一并考慮了實際應用需求,展現(xiàn)了出色的穩(wěn)健性和適應力。
3.2 結(jié)果討論
通過對YOLOv4的優(yōu)化,在mAP@0.5和mAP@[0.5:0.95]上分別實現(xiàn)了顯著提升,版本1提升至4.8%和4.6%,同時保持了高效的檢測速度,每秒幀數(shù)僅略有下降,仍維持在55 FPS的標準。這表明,引入改良后的主網(wǎng)絡和特征融合技術(shù),有效提升了特征抽取效率和多尺度特征融合效果,進而顯著提高了目標識別的準確性。版本2進一步優(yōu)化了結(jié)構(gòu)與功能,mAP@0.5和mAP@[0.5:0.95]分別增至72.8%和53.0%,盡管FPS略降至每秒50幀,但仍能滿足實時應用需求。改良算法在各種光照、遮擋和復雜多目標環(huán)境下均表現(xiàn)出高識別準確度和效率,展現(xiàn)了出色的穩(wěn)定性和適應性。這些優(yōu)化方法不僅提升了識別能力,還增強了不同尺寸目標檢測的效率,展現(xiàn)出對多種環(huán)境的適應性和穩(wěn)定性。
4 結(jié)束語
改進后的YOLOv4算法在實時目標檢測中展現(xiàn)出顯著提升的效率,尤其在多變環(huán)境和細小目標偵測方面表現(xiàn)卓越。未來我們將聚焦于提升模型實時表現(xiàn)力和資源利用率,旨在推動實時目標檢測技術(shù)的進步及其應用的拓展。
參考文獻
[1] Jiang Z, Zhao L, Li S, et al. Real-time object detection method based on improved YOLOv4-tiny[J]. arXiv preprint arXiv:2011(04):244,.
[2] Fan Y C, Yelamandala C M, Chen T W, et al. Real-time object detection for lidar based on ls-r-yolov4 neural network[J]. Journal of Sensors, 2021: 1-11.
[3] Zhou Y, Wen S, Wang D, et al. MobileYOLO: Real-time object detection algorithm in autonomous driving scenarios[J]. Sensors, 2022(9): 3349.
[4] Yao G, Sun Y, Wong M, et al. A real-time detection method for concrete surface cracks based on improved YOLOv4[J]. Symmetry, 2021(9): 1716.
[5] Kumari N, Ruf V, Mukhametov S, et al. Mobile eye-tracking data analysis using object detection via YOLO v4[J]. Sensors, 2021(22): 7668.