







摘要:文章從YOLO的部署、數(shù)據(jù)集的構(gòu)建、模型的訓(xùn)練到模型的應(yīng)用全過程,研究了基于YOLOv8s目標檢測算法的道路坑洼檢測技術(shù)在城市道路坑洼檢測中的應(yīng)用,以實現(xiàn)對道路的各種類型和尺寸坑洼的準確檢測。實驗結(jié)果表明,該技術(shù)在準確性、速度和穩(wěn)定性方面都具有顯著優(yōu)勢,與傳統(tǒng)人工方法相比,檢測效果明顯提升,為道路維護和安全提供了更為可靠和高效的解決方案。
關(guān)鍵詞:目標檢測;YOLOv8s;道路檢測;深度學(xué)習(xí)
中圖分類號:U495" " " "文獻標識碼:A" " " DOI:10.13282/j.cnki.wccst.2024.11.009
文章編號:1673-4874(2024)11-0028-03
引言
道路病害對經(jīng)濟發(fā)展和通行安全的影響應(yīng)得到廣泛關(guān)注,道路病害的及早發(fā)現(xiàn)與治理可以提升道路使用壽命[1-4]。同時,道路坑洼對行車安全有直接而重要的影響。坑洼可能導(dǎo)致車輛失去穩(wěn)定性,增加交通事故的風(fēng)險,尤其是在高速行駛時更為危險;坑洼還會損壞車輛懸掛系統(tǒng)和輪胎,增加車輛維護成本,甚至可能導(dǎo)致嚴重的機械故障。此外,駕駛員為了避免坑洼往往需要進行突然的轉(zhuǎn)向或剎車動作,這增加了駕駛員的疲勞和應(yīng)激,降低了行車的舒適性和安全性。因此,針對早期裂縫進行及時有效的維護,對后續(xù)道路養(yǎng)護工作及行車安全等方面具有重要意義[5-7]。傳統(tǒng)人工路面檢測效率低、成本高,且有一定的危險性,而YOLO作為新興的目標檢測技術(shù)[8-10],相比人工檢測,YOLO算法具有顯著的優(yōu)勢。其速度快,能夠?qū)崟r進行圖像檢測,減少了人力成本和時間開銷;具有自動化的特點,不需要人為干預(yù),減少了主觀因素的影響,提高了檢測的一致性和可靠性;此外,YOLO具有良好的擴展性和適應(yīng)性,可以應(yīng)用于各種不同場景,并且能夠通過大規(guī)模數(shù)據(jù)集學(xué)習(xí)到各種目標的特征,具有更好的泛化能力。
1YOLOv8目標檢測算法
YOLOv8是一種目標檢測模型,其設(shè)計由三個關(guān)鍵部分組成:骨干網(wǎng)絡(luò)(Backbone)、頸部(Neck)和檢測頭(Head)。
骨干網(wǎng)絡(luò)部分,主要進行特征信息的提取工作,相比于YOLOv5,YOLOv8使用全新的C2f結(jié)構(gòu)替換了C3結(jié)構(gòu),可以提取不同尺度的特征信息。
頸部部分,主要負責(zé)特征融合工作,同樣使用了C2f模塊替換C3模塊,并采用了PAN-FPN的思想,實現(xiàn)了自上而下和自下而上的特征金字塔。與此同時,去除了上采樣前的1×1卷積,直接對不同階段輸出的特征進行上采樣操作。
檢測頭部分,與YOLOv5相比,采用了Anchor-Free的解耦頭結(jié)構(gòu),將分類和回歸分開,不再依賴先驗的錨框。此外,還使用了DFL(Distribution Focal Loss)的回歸分支,取代了傳統(tǒng)的Focal Loss,以更好地處理類別不平衡和難易樣本的問題。
2試驗測試
2.1YOLOv8的環(huán)境搭建
本文試驗在Windows10的PyCharm平臺上實現(xiàn)。需要安裝PyTorch,PyTorch是一個開源的機器學(xué)習(xí)框架,主要用于構(gòu)建深度學(xué)習(xí)模型,YOLO可以在PyTorch框架中實現(xiàn)和部署。接著下載YOLOv8的源碼,進行pip源碼安裝。
2.2構(gòu)建用于模型訓(xùn)練的數(shù)據(jù)集
本文采用的數(shù)據(jù)集來自RDD(Road Damage Detector)2022版本。RDD是一個用于道路損害檢測的數(shù)據(jù)集,旨在支持計算機視覺領(lǐng)域中相關(guān)研究和應(yīng)用的發(fā)展。該數(shù)據(jù)集包含了大量的道路圖像以及與之對應(yīng)的標注信息,用于訓(xùn)練和評估道路損害檢測算法,其中圖像為JPG存儲格式,圖像分辨率為720 dpi×720 dpi。由于RDD的標注文件格式與YOLO要求的標注文件格式不符,本文選擇重新對道路圖像中的坑洼進行標注,步驟如下:
(1)進入數(shù)據(jù)集標注網(wǎng)站,上傳包含坑洼的道路圖像。
(2)新建標簽,由于本文只對道路坑洼進行訓(xùn)練和檢測,這里只創(chuàng)建一個名為pothole的標簽。
(3)[JP3]選取目標,框出道路圖像上的坑洼,網(wǎng)站會自動生成該圖像的標注文件,框選過程和坑洼類型如圖1所示。
(4)導(dǎo)出標注文件,makesence網(wǎng)站支持導(dǎo)出適合YOLO框架的標注文件,最后得到和圖像文件名一樣的txt格式的標注文件。
2.3訓(xùn)練道路坑洼檢測模型
本文標注了150幅包含坑洼的道路圖像,將其中88幅作為訓(xùn)練集,用于訓(xùn)練模型參數(shù);43幅作為驗證集,用于調(diào)整超參數(shù)和模型結(jié)構(gòu);19幅作為測試集,用于評估模型的性能和泛化能力。試驗的CPU型號為AMD Ryzen 5600x,GPU型號為NVIDIA GeForce GTX 1080ti,內(nèi)存16 g。CUDA版本為11.6,編程語言為Python。
網(wǎng)絡(luò)訓(xùn)練參數(shù)設(shè)置如下:選擇YOLOv8s版本,總迭代次數(shù)為300次,每次輸入模型的圖像數(shù)量(batch size)為32,初始學(xué)習(xí)率(Learning Rate)為0.01,學(xué)習(xí)率動量(Learning Rate Momentum)為0.95,權(quán)重衰減系數(shù)(Weight Attenuation Coefficient)為0.000 5。
2.4測試訓(xùn)練后的檢測模型
模型訓(xùn)練結(jié)束后得到.pt格式的模型文件,利用該模型文件,對測試集上的道路圖像進行坑洼檢測,對模型的輸出結(jié)果進行后處理操作,如過濾掉置信度低的邊界框、非極大值抑制(NMS)等。
3實驗結(jié)果分析
3.1訓(xùn)練結(jié)果分析
觀察圖2,發(fā)現(xiàn)隨著訓(xùn)練次數(shù)增加,錨框損失率和分類損失率不斷減小,[JP]這是因為模型在訓(xùn)練過程中逐漸學(xué)
習(xí)到了更好的特征表示和參數(shù)調(diào)整,隨著迭代次數(shù)的增加,模型會不斷地調(diào)整權(quán)重和參數(shù),以最小化訓(xùn)練數(shù)據(jù)的損失函數(shù)。損失曲線隨著迭代次數(shù)的增多而減小,表明模型訓(xùn)練正在有效進行,并且模型在學(xué)習(xí)過程中逐漸提高了對目標的檢測能力。
進一步觀察圖2發(fā)現(xiàn),分類損失曲線在訓(xùn)練中后期已經(jīng)接近水平,錨框損失曲線也趨于平穩(wěn),當損失曲線接近水平時,通常表明模型的訓(xùn)練已經(jīng)收斂到一個穩(wěn)定的狀態(tài)。這表明模型已經(jīng)學(xué)習(xí)到了數(shù)據(jù)的特征,并且在當前參數(shù)設(shè)置下,進一步訓(xùn)練只會造成時間和計算成本的損失,即意味著模型已經(jīng)能夠準確地對目標進行分類和定位。
3.2測試結(jié)果分析
測試結(jié)果選取部分展示如圖3所示。觀察圖3,可以發(fā)現(xiàn)模型準確地定位和識別出了道路圖像上的坑洼。
為了定量評估模型的準確性,引入如下指標,包括精確率(Precision)和召回率(Recall),公式如下:
P=TPTP+FP(1)
R=TPTP+FN(2)
式中:P——精確率;
R——召回率;
TP、FP、FN——真正例、假正例和假負例,其對應(yīng)了混淆矩陣中的三種情況。真正例即為判斷正確的預(yù)測框,假正例即為類別預(yù)測錯誤的誤判,假負例即應(yīng)檢但未能檢測出的漏判。
精確率是指模型檢測到的物體中真正被正確檢測到的比例,召回率是指真正被檢測到的物體與總共需要檢測到的物體的比例。測試集中包含22處坑洼,模型檢測到21處真正例、2處誤判、1處漏檢。精確率和召回率如表1所示。
下頁圖4展示了測試集上21處真正例的IoU(Intersection over Union)數(shù)據(jù),IoU是模型檢測結(jié)果的重疊度量,表示模型檢測到的目標區(qū)域與實際目標區(qū)域之間的重疊程度,IoU越接近1,表示模型檢測的準確性越高。
4模擬霧天環(huán)境檢測圖
4.1模型霧天環(huán)境
霧天影響行車安全,為了模擬霧天導(dǎo)致的視野不清晰,本文采用標準光學(xué)模型[11]來模擬霧氣。標準光學(xué)模型是基于光線與水滴或懸浮微粒之間相互作用的理論框架,用于模擬霧氣效果。在這個模型中,當光線穿過含有水滴或微粒的大氣時會發(fā)生散射和吸收現(xiàn)象。散射使光線的傳播路徑發(fā)生偏轉(zhuǎn),而吸收則減弱了光線的強度。這些過程導(dǎo)致了在霧氣中看到物體時的模糊效果,遠處物體的輪廓變得不清晰。通過調(diào)整散射和吸收參數(shù),可以控制霧氣的密度和強度,進而模擬不同條件下的霧氣效果,使圖像更加真實和逼真。對測試集的圖像添加霧氣,部分模擬結(jié)果如圖5所示。
4.2霧天環(huán)境下的檢測
在對測試集的圖像增加霧氣模擬后,再次用本文訓(xùn)練后的坑洼檢測模型進行檢測,以測試模型抗霧天環(huán)境干擾的魯棒性。部分結(jié)果如圖6所示,可以發(fā)現(xiàn),即使有一定的霧氣存在,YOLOv8s訓(xùn)練的模型依然能準確檢測出坑洼。
5結(jié)語
本文提出的基于YOLOv8s的道路坑洼檢測方法在實驗中展現(xiàn)了出色的性能。通過構(gòu)建適用于道路坑洼檢測的數(shù)據(jù)集,并利用YOLOv8s進行訓(xùn)練,本文實現(xiàn)了對道路中各種類型和尺寸的坑洼的準確檢測,并模擬了霧天環(huán)境下的坑洼檢測。試驗結(jié)果表明,本文的方法在準確性、速度和穩(wěn)定性方面都具有顯著優(yōu)勢。與傳統(tǒng)人工方法相比,檢測效果明顯提升,為道路維護和安全提供了更為可靠和高效的解決方案。
參考文獻:
[1]Asher S,Novosad P.Rural roads and local economic development[J].American economic review,2020,110(3):797-823.
[2]De Soyres F,Mulabdic A,Murray S,et al.How much will the Belt and Road Initiative reduce tradecosts[J].International Economics,2019(159):151-164.
[3]Chen S,Kuhn M,Prettner K,et al.The global macroeconomic burden of road injuries:estimates andprojections for 166 countries[J].The Lancet Planetary Health,2019,3(9):390-398.
[4]牛為華,殷苗苗.基于改進YOLOv5的道路小目標檢測算法[J].傳感技術(shù)學(xué)報,2023,36(1):36-44.
[5]王鉦棋,邵潔.基于先驗顯著性信息的道路場景目標檢測[J].計算機工程與應(yīng)用,2023,59(21):251-257.
[6]郭克友,王蘇東,李雪,等.基于Dim env-YOLO算法的昏暗場景車輛多目標檢測[J].計算機工程,2023,49(3):312-320.
[7]岳曉新,賈君霞,陳喜東,等.改進YOLOv3的道路小目標檢測[J].計算機工程與應(yīng)用,2020,56(21):218-223.
[8]Bochkovskiy A,Wang C Y,Liao H Y M.YOLOv4:Optimal Speed and Accuracy of Object Detection[J].Computer Science,2020(4):216080778.
[9]Redmon J,F(xiàn)arhadi A.YOLOv3:An Incremental Improvement[J].arXiv e-prints,2018(4):180402767.
[10]Redmon J,F(xiàn)arhadi A.YOLO9000:better,faster,stronger[C].Proceediof the IEEE Conference on Computer Vision and Pattern Recognition,2017.
[11]汪昱東,郭繼昌,王天保.一種改進的霧天圖像行人和車輛檢測算法[J].西安電子科技大學(xué)學(xué)報,2020,47(4):70-77.
作者簡介:羅偉(1988—)碩士,工程師,主要從事公路工程信息化研究工作。
收稿日期:2024-05-16