林 海,彭佳君,馮善銘,葉思紅
(湛江幼兒師范專(zhuān)科學(xué)校信息科學(xué)系,湛江 524084)
隨著生活水平的不斷提高,公路建設(shè)對(duì)于城鄉(xiāng)的美化、自然環(huán)境的保護(hù)、以及道路的交通安全等方面都有著至關(guān)重要的影響。公路綠化[1]也隨之成為我國(guó)發(fā)展經(jīng)濟(jì)的重要內(nèi)容之一。當(dāng)下傳統(tǒng)的公路綠化管理[2]主要采用人工巡視、評(píng)估和維護(hù)的方式,管理過(guò)程消耗人力、浪費(fèi)時(shí)間,但效果并不顯著,存在問(wèn)題頗大。為了解決好這些問(wèn)題,更好地維護(hù)公路綠化這個(gè)重要環(huán)節(jié),基于深度學(xué)習(xí)的智能目標(biāo)檢測(cè)技術(shù)[3]逐漸受到廣泛關(guān)注。新興的智慧公路綠化管理技術(shù)[4]采用了深度學(xué)習(xí)的智能目標(biāo)檢測(cè)技術(shù),解決了傳統(tǒng)管理所存在的不足。
本文主要探討基于深度學(xué)習(xí)的智能目標(biāo)檢測(cè)技術(shù)在公路綠化中的應(yīng)用與優(yōu)化,旨在提高公路綠化管理的效率和水平,牢固樹(shù)立和踐行綠水青山就是金山銀山的理念,深入推進(jìn)綠美廣東生態(tài)的建設(shè)[5],推動(dòng)我省高質(zhì)量發(fā)展。
目標(biāo)檢測(cè)[6]在計(jì)算機(jī)視覺(jué)領(lǐng)域中是不可或缺的重要研究方向,旨在從圖像或視頻中識(shí)別和定位特定目標(biāo),因其在實(shí)時(shí)性、準(zhǔn)確率、泛化能力等方面的優(yōu)勢(shì),逐漸被廣泛應(yīng)用于公路綠化管理中。與傳統(tǒng)的人工巡視[7]相比,基于深度學(xué)習(xí)的智能目標(biāo)檢測(cè)技術(shù)能夠?qū)崿F(xiàn)對(duì)公路上的綠化目標(biāo)的快速、準(zhǔn)確的檢測(cè)識(shí)別,對(duì)于推動(dòng)公路綠化管理的可持續(xù)性和可發(fā)展性產(chǎn)生積極的作用。盡管目標(biāo)檢測(cè)技術(shù)已經(jīng)發(fā)揮了很好的作用,但是在公路綠化管理中還需要克服一些困難和挑戰(zhàn),如天氣、光照等外部因素的影響,需要相應(yīng)地對(duì)檢測(cè)模型進(jìn)行調(diào)整和優(yōu)化,同時(shí),GPU 資源也是限制目標(biāo)檢測(cè)速度和準(zhǔn)確率的重要因素。
所以,針對(duì)上述問(wèn)題,本文提出了一種輕量型YOLO-IoU 網(wǎng)絡(luò),從數(shù)據(jù)集擴(kuò)充、網(wǎng)絡(luò)結(jié)構(gòu)、特征提取、損失函數(shù)等方面對(duì)網(wǎng)絡(luò)模型進(jìn)行優(yōu)化,并總結(jié)了該技術(shù)對(duì)公路綠化管理的可持續(xù)性和可發(fā)展性將產(chǎn)生的重要影響。
本文的主要貢獻(xiàn)包括:
(1)在YOLOv5 算法的基礎(chǔ)上,對(duì)YOLOv5目標(biāo)框損失函數(shù)進(jìn)行重新設(shè)計(jì),從而提出一種新的目標(biāo)檢測(cè)算法YOLO-IoU,使其能夠更加適應(yīng)邊緣設(shè)備的特點(diǎn),減少計(jì)算成本,提高算法的執(zhí)行效率和精度。
(2)提出了一種用于公路綠化檢測(cè)的數(shù)據(jù)集。
(3)實(shí)驗(yàn)數(shù)據(jù)表明,本文所提出的輕量型YOLO-IoU 算法在實(shí)際場(chǎng)景中的可行性和優(yōu)越性,為公路綠化檢測(cè)提供了一種新的解決方案。
綜上所述,本文的重點(diǎn)是探索一種輕量型YOLO-IoU 目標(biāo)檢測(cè)網(wǎng)絡(luò),旨在提高公路綠化檢測(cè)的實(shí)時(shí)性和準(zhǔn)確性。接下來(lái),我們將具體介紹該算法的設(shè)計(jì)和實(shí)現(xiàn)細(xì)節(jié),并進(jìn)行實(shí)驗(yàn)驗(yàn)證和分析。
SSD[8](Single Shot MultiBox Detector)是一種基于深度學(xué)習(xí)的目標(biāo)檢測(cè)模型,由Google 團(tuán)隊(duì)于2016 年提出。與傳統(tǒng)的目標(biāo)檢測(cè)模型不同,SSD 是一種單階段的檢測(cè)模型[9],能夠直接在圖像上進(jìn)行目標(biāo)檢測(cè),無(wú)需像RCNN系列模型那樣進(jìn)行多個(gè)階段的操作,網(wǎng)絡(luò)結(jié)構(gòu)模型如圖1所示。
圖1 SSD網(wǎng)絡(luò)模型結(jié)構(gòu)
SSD 模型的核心思想是,在不同的卷積層上提取多尺度的特征[10],然后針對(duì)每個(gè)特征圖位置預(yù)測(cè)相應(yīng)的目標(biāo)框和類(lèi)別概率。SSD 模型的輸出是一組預(yù)測(cè)框,每個(gè)框包含目標(biāo)的位置和類(lèi)別信息。在訓(xùn)練過(guò)程中,SSD 模型通過(guò)監(jiān)督學(xué)習(xí)優(yōu)化預(yù)測(cè)框的位置和類(lèi)別,從而提高模型的準(zhǔn)確性和穩(wěn)定性。
相比傳統(tǒng)模型,SSD具有以下優(yōu)點(diǎn):
(1)SSD 是一種單階段的模型,無(wú)需多個(gè)階段的操作,因此速度更快、更高效。
(2)SSD 采用多尺度特征提取和預(yù)測(cè),能夠更好地適應(yīng)不同尺寸和比例的目標(biāo),提高檢測(cè)的準(zhǔn)確性。
(3)SSD 適用于各種目標(biāo)檢測(cè)任務(wù),如人臉檢測(cè)、車(chē)輛檢測(cè)、行人檢測(cè)等,具有較強(qiáng)的通用性和靈活性。
除此之外,SSD 網(wǎng)絡(luò)目前還存在特征表達(dá)能力有限、負(fù)樣本過(guò)多、多尺度匹配不準(zhǔn)確、目標(biāo)長(zhǎng)寬比有偏差等問(wèn)題。
Faster R-CNN[11]是計(jì)算機(jī)視覺(jué)領(lǐng)域中一種目標(biāo)檢測(cè)算法,它基于R-CNN[12]和Fast R-CNN[13]算法,并相較于這兩種算法具有更快速、更準(zhǔn)確的特點(diǎn),能夠?qū)崿F(xiàn)高精度和高效率的目標(biāo)檢測(cè),網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 Faster R-CNN網(wǎng)絡(luò)結(jié)構(gòu)
Faster R-CNN 的完整流程包括四個(gè)部分。首先,通過(guò)卷積神經(jīng)網(wǎng)絡(luò)(CNN)對(duì)錄入圖像進(jìn)行特征提??;其次,針對(duì)所提取的特征圖進(jìn)行區(qū)域建議管理,即生成候選框;再次,對(duì)候選框進(jìn)行特征提取、分類(lèi)和回歸處理;最后,通過(guò)后處理對(duì)分類(lèi)和回歸結(jié)果進(jìn)行優(yōu)化,得到最終的檢測(cè)結(jié)果。其中,F(xiàn)aster R-CNN 包括如下的關(guān)鍵要素。
1.2.1 卷積神經(jīng)網(wǎng)絡(luò)(CNN)[14]
Faster R-CNN 采用預(yù)訓(xùn)練的CNN 作為基礎(chǔ)網(wǎng)絡(luò),用于提取圖像的特征。該CNN 包含多個(gè)卷積層和池化層,能夠?qū)D像映射到另一個(gè)特征空間,更好地表示圖像中不同區(qū)域的特征。
1.2.2 區(qū)域建議網(wǎng)絡(luò)(RPN)[15]
RPN 是Faster R-CNN 的核心模塊之一,取代了以往目標(biāo)檢測(cè)算法中繁瑣的去重和篩選策略,使算法更加高效。通過(guò)在CNN 的特征圖上應(yīng)用RPN,可以快速生成候選框,用于后續(xù)的分類(lèi)和位置回歸。
1.2.3 Fast R-CNN
Fast R-CNN 是在一組候選框上進(jìn)行目標(biāo)分類(lèi)和位置回歸的算法。在Faster R-CNN 中,F(xiàn)ast R-CNN 用于最終的檢測(cè)分類(lèi)和位置回歸處理。我們將CNN 提取的特征圖輸入Fast R-CNN 模塊,便可對(duì)候選框進(jìn)行區(qū)分和位置回歸,從而取得最終的目標(biāo)檢測(cè)結(jié)果。
總體來(lái)說(shuō),F(xiàn)aster R-CNN 還存在訓(xùn)練速度慢、計(jì)算成本高、不適用于小目標(biāo)檢測(cè)、檢測(cè)精度有限、網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜等問(wèn)題
YOLO[16](You Only Look Once)是一系列目標(biāo)檢測(cè)算法,包括YOLOv1、YOLOv2、YOLOv3、YOLOv4 和YOLOv5,它們?cè)谀繕?biāo)檢測(cè)領(lǐng)域取得了顯著的進(jìn)展。
1.3.1 YOLOv1[17]
YOLOv1 是YOLO 系列的第一個(gè)版本,于2015 年提出。它采用單個(gè)卷積神經(jīng)網(wǎng)絡(luò),在一次前向傳遞中同時(shí)預(yù)測(cè)多個(gè)邊界框和類(lèi)別,并使用非極大值抑制進(jìn)行結(jié)果過(guò)濾。然而,YOLOv1在檢測(cè)小目標(biāo)和處理重疊目標(biāo)方面存在困難。
1.3.2 YOLOv2(YOLO9000)
YOLOv2 在YOLOv1 的基礎(chǔ)上進(jìn)行了改進(jìn),于2016 年發(fā)布。它引入了一些技術(shù),如卷積核大小的變化、多尺度預(yù)測(cè)、Anchor 框的使用等。此外,YOLOv2 結(jié)合了COCO 和ImageNet 數(shù)據(jù)集,可以檢測(cè)更多的類(lèi)別。
1.3.3 YOLOv3[18]
YOLOv3 于2018 年發(fā)布,進(jìn)一步改進(jìn)了目標(biāo)檢測(cè)性能。它采用了多尺度預(yù)測(cè)、特征金字塔網(wǎng)絡(luò)和跳躍連接等技術(shù),提高了小目標(biāo)檢測(cè)的準(zhǔn)確性。YOLOv3 還引入了Darknet-53 作為其骨干網(wǎng)絡(luò),提供了更強(qiáng)大的特征提取能力。
1.3.4 YOLOv4
YOLOv4于2020年發(fā)布,是YOLO 系列中的最新版本。它引入了一系列創(chuàng)新技術(shù),如CSPDarknet53、SAM、PAN、YOLOv4 Neck 等,進(jìn)一步提升了檢測(cè)精度和速度。此外,YOLOv4還提供了更高級(jí)的功能,如多尺度訓(xùn)練、數(shù)據(jù)增強(qiáng)和學(xué)習(xí)策略優(yōu)化。
1.3.5 YOLOv5[19]
YOLOv5 是由Ultralytics 于2020 年提出的YOLO 版本。它基于PyTorch 實(shí)現(xiàn),并提供了簡(jiǎn)單而高效的目標(biāo)檢測(cè)框架。YOLOv5通過(guò)采用輕量級(jí)網(wǎng)絡(luò)結(jié)構(gòu)、自動(dòng)調(diào)整模型大小和推理速度等策略,實(shí)現(xiàn)了快速、精確的目標(biāo)檢測(cè)。
總的來(lái)說(shuō),YOLO 系列模型通過(guò)不斷的改進(jìn)和創(chuàng)新,在目標(biāo)檢測(cè)領(lǐng)域取得了顯著的進(jìn)展,提高了檢測(cè)精度和速度,同時(shí)在處理小目標(biāo)和重疊目標(biāo)方面取得了更好的性能。
YOLO-IoU網(wǎng)絡(luò)模型采用了以下優(yōu)化結(jié)構(gòu):
(1)骨干網(wǎng)絡(luò)使用更小的CSPDarknet-S,該網(wǎng)絡(luò)去除了原Darknet 的最大池化層和一些卷積層,網(wǎng)絡(luò)通道數(shù)也有所減小,參數(shù)量減少到6.9 M。這使得YOLOv5s 的運(yùn)算速度更快,模型體積更小。
(2)預(yù)測(cè)框的數(shù)量減少到2 個(gè),進(jìn)一步減小了模型大小。
(3)網(wǎng)絡(luò)在骨干網(wǎng)絡(luò)輸出層之前的特征層數(shù)量從5個(gè)減少到4個(gè)。
因此,YOLO-IoU 保留了YOLOv5 的主要?jiǎng)?chuàng)新點(diǎn),但通過(guò)采用更小的骨干網(wǎng)絡(luò)、減少預(yù)測(cè)框數(shù)量和中間特征層等措施顯著減小了模型大小和提高了速度,這使其非常適合在資源受限的平臺(tái)上使用。
YOLO-IoU 網(wǎng)絡(luò)結(jié)構(gòu)分為三個(gè)部分:主干網(wǎng)絡(luò)、連接層和預(yù)測(cè)層,如圖3所示。
圖3 YOLO-IoU網(wǎng)絡(luò)結(jié)構(gòu)
為了適應(yīng)邊緣計(jì)算平臺(tái),輸入端采用320*320的最小輸入尺寸。
2.1.1 主干網(wǎng)絡(luò)
YOLO-IoU 的主干網(wǎng)絡(luò)基于CSPDarknet53,它是一個(gè)輕量級(jí)的卷積神經(jīng)網(wǎng)絡(luò),由多個(gè)殘差塊合成。每一個(gè)殘差塊就包含了兩個(gè)3×3 卷積層和一個(gè)跨步卷積層,一個(gè)殘差連接和一個(gè)通道數(shù)減半層。在CSPDarknet53 中使用了Cross Stage Partial Networks(CSP)模塊,可以大量減少參數(shù)數(shù)量,并且保持了模型的性能。
2.1.2 連接層
YOLO-IoU 連接層由SPP、PANet 兩個(gè)模塊組成。SPP 模塊主要實(shí)現(xiàn)了空間金字塔池化(Spatial Pyramid Pooling),該操作可以在不改變圖像尺寸的情況下提取不同尺度的特征。PANet(Path Aggregation Network)模塊則實(shí)現(xiàn)了特征金字塔網(wǎng)絡(luò)。該模塊可以將從不同層級(jí)得到的特征圖進(jìn)行融合和聚合,從而提高檢測(cè)精度。
2.1.3 預(yù)測(cè)層
預(yù)測(cè)層主要負(fù)責(zé)輸出預(yù)測(cè)結(jié)果。其由三個(gè)卷積層和一個(gè)全連接層組成,其中全連接層的輸出大小為3×(類(lèi)別數(shù)+5),分別代表每個(gè)邊界框的五個(gè)屬性(中心坐標(biāo)、寬、高、置信度和類(lèi)別概率)。
DIoU(Distance-IoU)[20]是一種用于目標(biāo)檢測(cè)中邊界框重疊度量的距離度量方法,它結(jié)合了IoU 和邊界框間距離的信息。下面我們使用DIoU重新設(shè)計(jì)了YOLO-IoU目標(biāo)框損失函數(shù):
假設(shè)有N個(gè)邊界框需要預(yù)測(cè),其中第i個(gè)邊界框的預(yù)測(cè)框?yàn)?,真?shí)框?yàn)榱頿i∈RC+5表示第i個(gè)邊界框的預(yù)測(cè)概率和坐標(biāo)信息,其中C是類(lèi)別數(shù)。對(duì)于一個(gè)預(yù)測(cè)框,我們可以通過(guò)計(jì)算其與真實(shí)框bi的DIoU 距離來(lái)評(píng)估兩者之間的匹配程度。具體地,DIoU 公式可以表示為
式中:cb?i和cbi分別表示預(yù)測(cè)框和真實(shí)框bi的中心點(diǎn)坐標(biāo),c表示兩個(gè)邊界框的最小外接矩形的對(duì)角線長(zhǎng)度。
進(jìn)一步地,我們可以將DIoU 距離用于計(jì)算目標(biāo)框損失。假設(shè)第i個(gè)邊界框的預(yù)測(cè)框?qū)儆诘趉類(lèi),則該邊界框的目標(biāo)框損失公式為
式中:λcoord和λIoU分別是坐標(biāo)損失和IoU 損失的權(quán)重系數(shù)。通常情況下,λcoord取比較大的值,以便更加注重坐標(biāo)精度;λIoU取比較小的值,以保證不會(huì)影響到目標(biāo)檢測(cè)的召回率。
為了測(cè)試YOLO-IoU 模型在公路綠化檢測(cè)任務(wù)上的性能,我們通過(guò)實(shí)地拍攝和收集網(wǎng)絡(luò)的公路綠化圖片素材,并選取不同光照、不同場(chǎng)地的圖片共10000 張,創(chuàng)建了公路綠化數(shù)據(jù)集,按類(lèi)型不同,分為樹(shù)、花、草三類(lèi),并對(duì)其進(jìn)行了標(biāo)注,其中7000 張做為訓(xùn)練集,3000 張做為驗(yàn)證集,如圖4所示。
圖4 公路綠化數(shù)據(jù)集部分圖片
實(shí)驗(yàn)軟硬件環(huán)境配置見(jiàn)表1,訓(xùn)練網(wǎng)絡(luò)為YOLO-IoU 網(wǎng)絡(luò)。batch size 值為18,迭代次數(shù)為800,初始學(xué)習(xí)率為0.01。
表1 軟硬件環(huán)境配置
在訓(xùn)練過(guò)程中我們對(duì)數(shù)據(jù)集采用Mosaic 數(shù)據(jù)增強(qiáng)技術(shù),在相同訓(xùn)練輪次和超參數(shù)的情況下,可以提高模型的性能表現(xiàn)。Mosaic 增強(qiáng)可以將多張圖片合成一張,從而增大了訓(xùn)練數(shù)據(jù)集的樣本量和樣本多樣性。這有助于模型更好地學(xué)習(xí)物體的形狀、大小、位置等信息,并提高檢測(cè)精度。
在本實(shí)驗(yàn)中,我們使用YOLO-IoU 模型來(lái)檢測(cè)公路綠化情況。輸入尺寸為320×320像素大小的圖樣,運(yùn)用訓(xùn)練數(shù)據(jù)集對(duì)其進(jìn)行訓(xùn)練。在訓(xùn)練期間,我們使用隨機(jī)梯度下降(SGD)算法和學(xué)習(xí)率衰減等技術(shù)來(lái)優(yōu)化模型參數(shù)。此外,我們使用AdamW優(yōu)化器來(lái)加速收斂,同時(shí)避免過(guò)擬合。
為了評(píng)估模型在測(cè)試集上的性能,我們統(tǒng)計(jì)了平均精度(mAP)和精確度(Precision)等指標(biāo)。結(jié)果顯示,本文模型能夠在不到一秒的時(shí)間內(nèi)精確地檢測(cè)出公路的綠化情況,同時(shí)保持高的精度和魯棒性。實(shí)驗(yàn)檢測(cè)結(jié)果如圖5所示。
圖5 YOLO-IoU目標(biāo)檢測(cè)結(jié)果
根據(jù)提供的訓(xùn)練數(shù)據(jù),可以看到模型在每個(gè)Epoch 的性能指標(biāo)。該模型在不同Epoch 下的性能評(píng)估部分?jǐn)?shù)據(jù)見(jiàn)表2。訓(xùn)練可視化圖如圖6所示。
表2 前4個(gè)和后4個(gè)Epoch的訓(xùn)練數(shù)據(jù)
圖6 訓(xùn)練可視化圖
根據(jù)這些指標(biāo),可以看到模型在訓(xùn)練過(guò)程中逐漸提高了性能。邊界框損失、置信度損失和分類(lèi)損失在逐漸降低。Precision(精確度)、mAP@0.5(IoU 閾值為0.5 時(shí)的平均精度均值)和mAP@0.5∶0.95(IoU 閾值從0.5 到0.95 時(shí)的平均精度均值)在逐漸增加。這表明模型在訓(xùn)練過(guò)程中學(xué)習(xí)到了更準(zhǔn)確的目標(biāo)檢測(cè)能力,并且在不同的IoU 閾值下都有較好的表現(xiàn)。訓(xùn)練到279 個(gè)Epoch 值時(shí),mAP@0.5 和mAP@0.5∶0.95 的值分別達(dá)到99.48%和92.76%。這表明,本文的YOLOv5s 模型可以非常準(zhǔn)確地檢測(cè)出公路綠化的情況,并且具有很高的魯棒性。另外,本文模型可以在極短的時(shí)間內(nèi)結(jié)束檢測(cè)任務(wù),因此適用于需要快速響應(yīng)的實(shí)時(shí)應(yīng)用程序。
隨著深度學(xué)習(xí)技術(shù)的不斷進(jìn)步,人工智能逐漸滲透到各個(gè)領(lǐng)域。在智能交通領(lǐng)域中,智能目標(biāo)檢測(cè)技術(shù)作為人工智能應(yīng)用的重要組成部分,可以實(shí)現(xiàn)公路綠化情況的自動(dòng)分析和監(jiān)測(cè),提高公路綠化管理的效率和精度。本文的重點(diǎn)是探索一種輕量型YOLO-IoU 目標(biāo)檢測(cè)網(wǎng)絡(luò)模型,實(shí)驗(yàn)結(jié)果證明了該網(wǎng)絡(luò)模型具有準(zhǔn)確率高、運(yùn)算成本低的優(yōu)點(diǎn),具有很好的魯棒性。