項(xiàng)目背景
火災(zāi)作為威脅人類生命生產(chǎn)安全的隱患之一,一直是人們關(guān)注的重點(diǎn)。傳統(tǒng)的火災(zāi)監(jiān)測(cè)裝置根據(jù)溫度來(lái)檢測(cè)火災(zāi),不僅靈敏度差,而且反饋時(shí)間長(zhǎng),常常會(huì)出現(xiàn)消防員收到警報(bào)消息時(shí),火室已經(jīng)無(wú)法控制。
森林火災(zāi)監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)是一項(xiàng)基于深度學(xué)習(xí)技術(shù)的創(chuàng)新性研究,旨在通過(guò)自動(dòng)檢測(cè)和分析森林的圖像數(shù)據(jù),實(shí)時(shí)監(jiān)測(cè)和預(yù)防森林火災(zāi)的發(fā)生。我們選擇了PyTorch作為主要的深度學(xué)習(xí)框架,并結(jié)合了目標(biāo)檢測(cè)領(lǐng)域的主流算法YOLOv5來(lái)完成這一任務(wù)。
本系統(tǒng)的主要目標(biāo)是提高火災(zāi)檢測(cè)的準(zhǔn)確性和實(shí)時(shí)性。為了實(shí)現(xiàn)這一目標(biāo),我們進(jìn)行了深入的模型研究和技術(shù)實(shí)現(xiàn)。通過(guò)采用YOLOv5算法,我們能夠在圖像中準(zhǔn)確地識(shí)別和定位火災(zāi)目標(biāo),從而有效地檢測(cè)火災(zāi)的發(fā)生。同時(shí),我們也進(jìn)行了模型訓(xùn)練和優(yōu)化,以提高系統(tǒng)的檢測(cè)精度和性能。
在系統(tǒng)設(shè)計(jì)方面,我們采用了PyQt5制作了直觀易用的UI界面。這一界面為用戶提供了簡(jiǎn)便的操作方式,只需通過(guò)上傳森林圖像,系統(tǒng)便能自動(dòng)進(jìn)行火災(zāi)檢測(cè),并及時(shí)將檢測(cè)結(jié)果展示給用戶。這一設(shè)計(jì)使得即使是不具備專業(yè)知識(shí)的用戶也能輕松利用本系統(tǒng)進(jìn)行火災(zāi)監(jiān)測(cè)。
除了實(shí)時(shí)檢測(cè)功能外,本系統(tǒng)還具備以下優(yōu)勢(shì):
首先,我們的系統(tǒng)可以自動(dòng)分析和處理大量的圖像數(shù)據(jù),大大提高了檢測(cè)效率。其次,通過(guò)不斷優(yōu)化算法和模型參數(shù),我們可以提高檢測(cè)的準(zhǔn)確性和可靠性,降低誤報(bào)和漏報(bào)的風(fēng)險(xiǎn)。此外,本系統(tǒng)還具備良好的可擴(kuò)展性,可以根據(jù)實(shí)際需求添加更多功能和應(yīng)用場(chǎng)景。
本系統(tǒng)的研究和實(shí)現(xiàn)具有重要的現(xiàn)實(shí)意義。通過(guò)實(shí)時(shí)監(jiān)測(cè)和預(yù)防森林火災(zāi),我們可以保護(hù)生態(tài)環(huán)境、減少自然資源的損失,并降低火災(zāi)對(duì)社會(huì)和經(jīng)濟(jì)的影響。此外,本系統(tǒng)的成功應(yīng)用也為深度學(xué)習(xí)技術(shù)在森林防火領(lǐng)域的應(yīng)用提供了有益的參考和借鑒。
效果演示
第一版軟件界面
單張圖片預(yù)測(cè)結(jié)果:
視頻流監(jiān)測(cè)效果:
第二版軟件界面
單張圖片預(yù)測(cè)結(jié)果
視頻流檢測(cè)結(jié)果:
除此之外還可以進(jìn)行攝像頭檢測(cè),這里就不再過(guò)多演示。
一、實(shí)現(xiàn)思路
① 算法原理
YOLO(You Only Look Once) 是REDMON等提出的目標(biāo)檢測(cè)算法,作為單階段(one-stage)的代表算法,目前 YOLO已經(jīng)更新到了YOLOv5。相比于Two stage目標(biāo)檢測(cè)算法,YOLO是直接從網(wǎng)絡(luò)中提取特征,并預(yù)測(cè)物體的類別和具體位置,一步到位。
此后,REDMON在此基礎(chǔ)上提出了YOLO9000等檢測(cè)算法,使系統(tǒng)的檢測(cè)性能得到進(jìn)一步提升。在YOLOv3的基礎(chǔ)上繼續(xù)改進(jìn)升級(jí),并最終得到 YOLOv4。YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)主要由CSPDarknet53特征提取網(wǎng)、SPP(空間金字塔池化)模塊、PANet特征融合模塊、Yolo Head分類器組成。
YOLOv5算法使用CSPDarknet(跨階段局部網(wǎng)絡(luò))作為特征提取網(wǎng)絡(luò),從輸入圖像中提取目標(biāo)信息。如今,YOLOv5無(wú)論是在準(zhǔn)確率還是速度上,都已經(jīng)達(dá)到較好的效果。所以,本項(xiàng)目采用YOLOv5訓(xùn)練模型,結(jié)合YOLOv5算法構(gòu)建火災(zāi)檢測(cè)系統(tǒng)。
yolov5s的網(wǎng)絡(luò)結(jié)構(gòu),它是yolov5系列中深度最小、特征圖寬度最小的網(wǎng)絡(luò)。后面的m、l、x都是在此基礎(chǔ)上不斷加深、加寬的。網(wǎng)絡(luò)主要分為輸入端、Backbone、Neck、Prediction四個(gè)部分。它和yolov3主要不同的地方:
- 輸入端:Mosaic數(shù)據(jù)增強(qiáng)、自適應(yīng)錨框計(jì)算、自適應(yīng)圖片縮放
- Backbone:Focus結(jié)構(gòu)、CSP結(jié)構(gòu)
- Neck:FPN+PAN結(jié)構(gòu)
- Prediction:GIOU_Loss
YOLOv5 模型在輸入端(Input)增加了 Mosaic 數(shù)據(jù)增強(qiáng)、自適應(yīng)錨框計(jì)算、自適應(yīng)圖片縮放等數(shù)據(jù)預(yù)處理技巧來(lái)增強(qiáng)數(shù)據(jù),防止過(guò)擬合;在特征提取網(wǎng)絡(luò)部分(Backbone)引入了Focus 模塊、跨階段局部融合網(wǎng)絡(luò)(CrossStage Partial Network, CSPNet)等方法,在減少了計(jì)算量的同時(shí)可以保證準(zhǔn)確率,使特征能夠更好的向后傳遞。下圖為cspnet 結(jié)構(gòu)圖:
CSPNet主要目的就是緩解以前需要大量推理計(jì)算的問(wèn)題,它有以下優(yōu)點(diǎn):
- 增強(qiáng)了CNN的學(xué)習(xí)能力,能夠在輕量化的同時(shí)保持準(zhǔn)確性。
- 降低計(jì)算瓶頸。
- 降低內(nèi)存成本。
CSPNet通過(guò)將梯度的變化從頭到尾地集成到特征圖中,在減少了計(jì)算量的同時(shí)可以保證準(zhǔn)確率。
CSPNet和PRN都是一個(gè)思想,將feature map拆成兩個(gè)部分,一部分進(jìn)行卷積操作,另一部分和上一部分卷積操作的結(jié)果進(jìn)行concate。在特征融合部分(Neck)借鑒了空間金字塔池化(Spatial Pyramid Pooling, SPP)、特征金字塔(Feature Pyramid Networks, FPN)與路徑聚合網(wǎng)絡(luò)(PathAggregation Network, PAN)等方法,有效的增加主干特征的接收范圍,融合后的特征保留了豐富的語(yǔ)義特征和精準(zhǔn)的定位特征;同時(shí)在預(yù)測(cè)部分(Prediction)采用了新的定位損失函數(shù),確保定位的精準(zhǔn)。通過(guò)引入各種高效的網(wǎng)絡(luò)組件,使得YOLOv5 模型在保持實(shí)時(shí)目標(biāo)檢測(cè)速度的基礎(chǔ)上,也實(shí)現(xiàn)了精度上SOTA。
Input 使用了 Mosaic 數(shù)據(jù)增強(qiáng)、自適應(yīng)錨框計(jì)算、圖片尺寸處理。Mosaic 數(shù)據(jù)增強(qiáng)把 4 張圖片,采用隨機(jī)縮放、隨機(jī)裁剪、隨機(jī)排布的方式進(jìn)行拼接 , 極大地豐富了檢測(cè)數(shù)據(jù)集,同時(shí)也能提高小目標(biāo)檢測(cè)的精度,除此以外,Mosaic數(shù)據(jù)增強(qiáng)在訓(xùn)練時(shí)可一次性對(duì) 4 張圖片的數(shù)據(jù)進(jìn)行計(jì)算,降低了 mini-batch 的大小,也減少了 GPU 的使用。YOLOv5 將自適應(yīng)錨框計(jì)算嵌入代碼中,通過(guò)在初始設(shè)定的錨框上輸出預(yù)測(cè)框,然后和真實(shí)標(biāo)簽進(jìn)行比對(duì),計(jì)算損失函數(shù),再不斷更新,更新錨點(diǎn)框的大小,實(shí)現(xiàn)自適應(yīng)計(jì)算并得出最佳錨框值。圖片尺寸處理是對(duì)輸入的各種圖片的尺寸進(jìn)行自適應(yīng)填充處理,為了提高目標(biāo)檢測(cè)的速度,采用了減少灰度邊緣的方法。
Backbone 是 YOLOv5 網(wǎng)絡(luò)的主干部分,包含 Focus 結(jié)構(gòu)、CSP 結(jié)構(gòu)和 SPP 結(jié)構(gòu)。其 中 Focus 結(jié) 構(gòu): 主 要 進(jìn) 行 切 片 操 作, 只 存 在 于YOLOv5 算法中,以 YOLOv5s 為例,將原始三通道圖像輸入 Focus 結(jié)構(gòu),經(jīng)過(guò)切片操作后,進(jìn)行拼接,圖片尺寸縮小到原來(lái)的 1/4、輸入通道擴(kuò)充到原來(lái)的 4 倍,經(jīng)過(guò) 32 個(gè)卷積核的卷積計(jì)算,最終得到含有 32 個(gè)通道的特征圖。YOLOv5s、YOLOv5m、YOLOv5x 和 YOLOv5l, 使 用 的 卷積核數(shù)量依次增加,其中,YOLOv5m 使用了 48 個(gè)卷積核。卷積核個(gè)數(shù)越多 , 特征圖的寬度越寬 , 網(wǎng)絡(luò)提取特征的學(xué)習(xí)能力也越強(qiáng)。開(kāi)發(fā)者認(rèn)為,F(xiàn)ocus 模塊的設(shè)計(jì)目的是減少層數(shù)并降低計(jì)算量。
- CSP 結(jié)構(gòu):YOLOv5 中設(shè)計(jì)了 CSP1_N 和 CSP2_N 兩種CSP 結(jié)構(gòu),CSP1_N 應(yīng)用于 Backbone 作為主干網(wǎng)絡(luò),CSP2_N 應(yīng)用在 Neck 中,這部分沒(méi)有殘差組件。CSP1_N 結(jié)構(gòu)將基礎(chǔ)層的特征映射劃分為兩個(gè)不同的部分,其中之一就是將 N個(gè)殘差組件進(jìn)行卷積操作,另一部分則是直接進(jìn)行卷積操作,兩次卷積操作可以使通道數(shù)減半,然后通過(guò)拼接來(lái)進(jìn)行輸出。
- SPP 結(jié)構(gòu):在 Backbone 中,采用 SPP(空間向量金字塔池化)。多尺度融合是通過(guò)最大化池來(lái)實(shí)現(xiàn)的。
Neck 采用 FPN+PAN 的結(jié)構(gòu)。FPN 結(jié)構(gòu)是自上向下傳遞強(qiáng)特征,對(duì)結(jié)構(gòu)起到增強(qiáng)的作用,然而,F(xiàn)PN 只能增強(qiáng)語(yǔ)義信息,而不能傳遞位置信息。而 PAN 結(jié)構(gòu)剛好彌補(bǔ)了 FPN結(jié)構(gòu)不能進(jìn)行定位信息傳遞的缺陷,PAN 結(jié)構(gòu)自下向上將低層的強(qiáng)定位特征傳遞上去,兩者結(jié)合操作,增強(qiáng)網(wǎng)絡(luò)特征融合的能力。
最后,本次 Yolov5 采用 GIOU_Loss 作 Bounding box 的損失函數(shù)GIOU_Loss 能夠區(qū)分重疊的預(yù)測(cè)框和目標(biāo)框在 IOU 相同時(shí)兩者相交情況的不同。另外,針對(duì)預(yù)測(cè)過(guò)程中會(huì)出現(xiàn)多個(gè)預(yù)測(cè)框的情況,需要通過(guò)非極大值抑制即 NMS 來(lái)處理,Yolov5 使用加權(quán) NMS 來(lái)篩選最佳的預(yù)測(cè)框。
② 程序流程圖
這里借用網(wǎng)上的一張流程圖,具體實(shí)現(xiàn)流程如下:
二、系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
系統(tǒng)設(shè)計(jì)
系統(tǒng)設(shè)計(jì)主要使用PyQt5進(jìn)行前端UI界面的搭建,同時(shí)使用PyTorch框架進(jìn)行YOLOv5算法的訓(xùn)練以及部署。
具體設(shè)計(jì)采用基于YOLOv5的算法進(jìn)行火災(zāi)檢測(cè),并結(jié)合PyQt5進(jìn)行UI界面的制作。系統(tǒng)通過(guò)攝像頭實(shí)時(shí)采集森林圖像,利用訓(xùn)練好的YOLOv5模型對(duì)圖像進(jìn)行火災(zāi)檢測(cè)。檢測(cè)到火災(zāi)后,系統(tǒng)將及時(shí)發(fā)出警報(bào),并在UI界面上顯示火災(zāi)發(fā)生的位置和相關(guān)信息。為了確保系統(tǒng)的穩(wěn)定性和實(shí)時(shí)性,我采用了高性能的服務(wù)器和存儲(chǔ)設(shè)備,并優(yōu)化了模型的檢測(cè)精度和性能。UI界面設(shè)計(jì)考慮了用戶的易用性和交互體驗(yàn),采用直觀的布局和功能設(shè)置,使用戶能夠通過(guò)簡(jiǎn)單的操作完成火災(zāi)監(jiān)測(cè)任務(wù)。未來(lái),我將繼續(xù)改進(jìn)和優(yōu)化系統(tǒng),提高火災(zāi)檢測(cè)的準(zhǔn)確性和效率,并探索更多的應(yīng)用場(chǎng)景和功能擴(kuò)展。
數(shù)據(jù)集獲取
數(shù)據(jù)集是在網(wǎng)上進(jìn)行的獲取,總共隨機(jī)選出訓(xùn)練集 1442 張,測(cè)試集共617 張,驗(yàn)證集共 617 張。
三、模型評(píng)估與優(yōu)化
Yolov5的m模型訓(xùn)練結(jié)果:
Yolov5的s模型訓(xùn)練結(jié)果:
Yolov5的l模型訓(xùn)練結(jié)果:
模型優(yōu)化
在基于YOLOv5的火災(zāi)監(jiān)測(cè)系統(tǒng)項(xiàng)目中,為了提高模型的性能,我對(duì)超參數(shù)和數(shù)據(jù)增強(qiáng)進(jìn)行了深入的優(yōu)化。以下是對(duì)這兩方面優(yōu)化的詳細(xì)總結(jié)。
首先是超參數(shù)優(yōu)化部分,對(duì)于超參數(shù)優(yōu)化,主要工作如下:
1.學(xué)習(xí)率調(diào)整:為了確保模型在訓(xùn)練過(guò)程中既能快速收斂,又不至于在最優(yōu)解附近震蕩,我使用了學(xué)習(xí)率衰減策略,例如StepLR和CosineAnnealingLR。通過(guò)不斷調(diào)整衰減的步長(zhǎng)和因子,找到了一個(gè)較為合適的學(xué)習(xí)率調(diào)整策略。
2.批次大小選擇:批次大小的選擇影響了模型的訓(xùn)練速度和梯度更新的穩(wěn)定性。經(jīng)過(guò)實(shí)驗(yàn),我發(fā)現(xiàn)較小的批次大?。ㄈ?或16)配合適當(dāng)?shù)膶W(xué)習(xí)率可以獲得更好的收斂效果。
3.權(quán)重衰減:為了防止模型過(guò)擬合,我引入了權(quán)重衰減正則化。通過(guò)調(diào)整衰減系數(shù),可以在一定程度上減少模型復(fù)雜度,提高泛化能力。
4.優(yōu)化器選擇:我對(duì)比了Adam和SGD兩種優(yōu)化器,發(fā)現(xiàn)在火災(zāi)監(jiān)測(cè)任務(wù)中,SGD配合適當(dāng)?shù)膭?dòng)量和學(xué)習(xí)率調(diào)整策略可以獲得更好的性能。
5.激活函數(shù)調(diào)整:考慮到ReLU可能在某些情況下導(dǎo)致神經(jīng)元“死亡”,我嘗試了其變種,如LeakyReLU和Mish,最終發(fā)現(xiàn)Mish在YOLOv5中的表現(xiàn)略勝一籌。
其次是數(shù)據(jù)增強(qiáng)方面的優(yōu)化:
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-814724.html
1.基礎(chǔ)增強(qiáng):使用了隨機(jī)水平翻轉(zhuǎn)、隨機(jī)裁剪和顏色抖動(dòng)等基礎(chǔ)增強(qiáng)方法,這可以增加模型對(duì)目標(biāo)位置和顏色的魯棒性。
2.Mosaic數(shù)據(jù)增強(qiáng):使用YOLO系列的Mosaic方法,將四張訓(xùn)練圖片混合成一張,增強(qiáng)了模型對(duì)復(fù)雜背景和多個(gè)目標(biāo)的處理能力。
3.自適應(yīng)縮放:為了使模型更好地適應(yīng)不同尺度的目標(biāo),我對(duì)訓(xùn)練圖片進(jìn)行了隨機(jī)縮放,確保模型能在不同分辨率下工作。
4.旋轉(zhuǎn)與扭曲:考慮到火災(zāi)場(chǎng)景中目標(biāo)可能出現(xiàn)的各種角度,我引入了隨機(jī)旋轉(zhuǎn)和透視變換,這有助于模型更好地捕捉目標(biāo)的形狀變化。
5.背景替換:為了減少模型對(duì)固定背景的依賴,我使用了背景替換技術(shù),隨機(jī)替換訓(xùn)練圖片中的背景區(qū)域,從而提高模型對(duì)背景的泛化能力。
HSV顏色空間變換:在HSV顏色空間進(jìn)行隨機(jī)色調(diào)、飽和度和亮度變換,幫助模型更好地適應(yīng)不同光照和顏色條件下的目標(biāo)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-814724.html
到了這里,關(guān)于基于yolov5-master和pyqt5的森林火災(zāi)監(jiān)測(cè)軟件的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!