最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

基于深度學習的火焰檢測系統(tǒng)(YOLOv5清新界面版,Python代碼)

2023-03-15 21:50 作者:思緒亦無限  | 我要投稿

摘要:火焰檢測系統(tǒng)用于檢測日常是否出現(xiàn)火情,支持圖片、視頻、攝像頭等多方式檢測火焰、實現(xiàn)火災警報功能,提供了登錄注冊界面。在介紹系統(tǒng)實現(xiàn)原理的同時,給出部分Python的實現(xiàn)代碼以及PyQt的UI界面?;鹧鏅z測系統(tǒng)主要用于日常生活中火情圖像的識別,基于YOLOv5模型識別圖像中可能出現(xiàn)火災的位置、著火點數(shù)目、置信度等;可分析圖片、視頻和攝像畫面中的火焰情況,自由切換火焰檢測模型;系統(tǒng)設計有注冊登錄功能,方便用戶進行管理和使用;火焰識別結果實時顯示,單個目標可逐個標注、顯示和數(shù)據(jù)展示,結果可通過菜單按鈕保存。博文提供了完整的Python代碼和使用教程,適合新入門的朋友參考,完整代碼資源文件請轉至文末的下載鏈接。

代碼下載鏈接:mbd.pub/o/bread/ZJaXlJd

參考視頻演示:bilibili.com/video/BV1u

離線依賴下載鏈接:pan.baidu.com/s/1hW9z9o(提取碼:oy4n)

前言

????????火災是最常見的嚴重災害之一,容易給災害處造成重大經(jīng)濟財產(chǎn)損失?;馂牡陌l(fā)生具有頻率高、時空跨度大的特點,是一種在時空上失去控制的燃燒所引起的災害。大家都清楚火災的危害及防火救火的重要性,火焰檢測識別預警系統(tǒng)、智能識別煙火檢測系統(tǒng)等系統(tǒng)可以全天候、不間斷實現(xiàn)火災監(jiān)控分析并實時報警,然而目前多數(shù)場景的傳統(tǒng)安防監(jiān)控,卻沒有達到及時主動報警的目的。

????????如今的火焰檢測系統(tǒng)除了可以使用火焰?zhèn)鞲衅鞯群唵畏绞奖O(jiān)控火情,還可以基于機器視覺深度學習技術利用攝像頭監(jiān)控,能夠實現(xiàn)無人值守的不間斷工作,并且系統(tǒng)可以主動發(fā)現(xiàn)監(jiān)控區(qū)域內(nèi)的火災苗頭?;鹧鏅z測系統(tǒng)以最及時的方式進行告警,同時最大限度降低誤報和漏報現(xiàn)象;火焰檢測系統(tǒng)智能識別煙火檢測系統(tǒng)極大的節(jié)約了人員成本,提高了工作效率。

????????針對住宅、加油站、公路、森林等火災高發(fā)場景,基于機器視覺的火焰檢測系統(tǒng)應滿足多種情景下的智能檢測,可以自動檢測監(jiān)控區(qū)域內(nèi)的煙霧和火災,幫助相關人員及時應對,最大程度降低人員傷亡及財物損失。這里給出博主設計的軟件界面,整體上采用簡約風,功能也可以滿足圖片、視頻和攝像頭的識別檢測,初始界面如下圖:

????????檢測火焰時的界面截圖(點擊圖片可放大)如下圖,可識別畫面中存在的多個著火點,也可開啟攝像頭或視頻檢測:

???????? 詳細的功能演示效果參見博主的B站視頻或下一節(jié)的動圖演示,覺得不錯的朋友敬請點贊、關注加收藏!系統(tǒng)UI界面的設計工作量較大,界面美化更需仔細雕琢,大家有任何建議或意見和可在下方評論交流。


1.?效果演示

????????首先我們還是通過動圖看一下識別火焰的效果,系統(tǒng)主要實現(xiàn)的功能是對圖片、視頻和攝像頭畫面中的著火位置進行檢測,結果可視化顯示在界面和圖像中,另外提供多個火焰的顯示切換功能,演示效果如下。

(一)用戶注冊登錄界面

????????這里設計了一個登錄界面,可以注冊賬號和密碼,然后進行登錄。界面還是參考了當前流行的UI設計,左側是一個動圖,右側輸入賬號、密碼、驗證碼等等。

(二)選擇火焰圖片識別

????????系統(tǒng)可選擇圖片文件進行識別,點擊圖片選擇按鈕圖標選擇圖片后,顯示所有火焰識別的結果,可通過下拉選框查看單個火焰的結果。本功能的界面展示如下圖所示:

(三)火焰視頻識別效果展示

????????有時我們需要識別一段視頻中的火焰結果,這里設計了視頻選擇功能。點擊視頻按鈕可選擇待檢測的視頻,系統(tǒng)會自動解析視頻逐幀識別火焰,并將結果記錄在右下角表格中,效果如下圖所示:


(四)攝像頭檢測效果展示

????????在真實場景中,我們往往利用設備攝像頭獲取實時畫面,同時需要對畫面中的火焰進行識別,因此本文考慮到此項功能。如下圖所示,點擊攝像頭按鈕后系統(tǒng)進入準備狀態(tài),系統(tǒng)顯示實時畫面并開始檢測畫面中的火焰,識別結果展示如下圖:

2.?火焰檢測與識別

????????當前深度學習技術的流行,優(yōu)秀的目標檢測算法不斷涌現(xiàn),YOLO系列由于實現(xiàn)簡單、檢測速度快、精度高等特點得到了眾多應用。這里的火焰檢測系統(tǒng)基于YoloV5實現(xiàn),它可以看作是單階段目標檢測。單階段目標檢測器的體系結構比兩階段目標檢測器更簡單,不需要生成候選區(qū)域,通過卷積神經(jīng)網(wǎng)絡提取特征直接輸出目標的類別、概率和位置坐標,從而實現(xiàn)端到端的目標檢測。單階段目標檢測器又包含基于錨框(anchor-based)的和非錨框(anchor-free)的兩種方法。SSD、YOLO 和 Retina Net 等都是 anchor-based 的單階段檢測器,它們處理速度快而但精度相對有限。Anchor-based 方法使用密集的錨框直接進行目標分類和回歸,能有效提高網(wǎng)絡的召回能力,但是冗余框很多。Anchor-free 目標檢測器則拋棄錨框的設計,取而代之的使用關鍵點進行目標檢測,諸如CornerNet,CenterNet 等,都取得了不俗的效果。

????????我們使用使用Python爬蟲利用關鍵字在互聯(lián)網(wǎng)上獲得的圖片數(shù)據(jù),爬取數(shù)據(jù)包含室內(nèi)場景下的火焰、寫字樓和房屋燃燒、森林火災和車輛燃燒等場景下的火焰圖片,經(jīng)過篩選后留下質量較好的圖片制作成VOC格式的實驗數(shù)據(jù)集。當然也可以參考飛槳發(fā)布的火焰與煙霧數(shù)據(jù)集 (https://github.com/PaddlePaddle/awesome-DeepLearning/tree/master/Paddle_Industry_Practice_Sample_Library/Fire_and_Smoke_Detection),數(shù)據(jù)集截圖如下圖所示。

????????深度學習圖像標注軟件眾多,按照不同分類標準有多中類型,本文使用LabelImg單機標注軟件進行標注。LabelImg是基于角點的標注方式產(chǎn)生邊界框,對圖片進行標注得到xml格式的標注文件,并將其轉換為YOLO使用的標注文件格式。這里提供了標注好的數(shù)據(jù)集、訓練代碼和訓練好的模型,包含在本系統(tǒng)的完整資源中。

????????以下給出本系統(tǒng)項目的文件目錄,其中包含了YOLOv5相關的代碼以及界面設計代碼,如下圖所示。對于訓練模型部分只需要關注train.py這個文件,訓練用到的數(shù)據(jù)集、標注文件及配置文件在本項目中已配置完成。

????????首先我們找到訓練的py文件。然后找到主函數(shù)的入口,這里面有模型的主要參數(shù)。修改train.py中的weights、cfg、data、epochs、batch_size、imgsz、device、workers等參數(shù)。

????????然后我們可以執(zhí)行train.py程序進行訓練。在深度學習中,我們通常通過損失函數(shù)下降的曲線來觀察模型訓練的情況。而YOLOv5訓練時主要包含三個方面的損失:矩形框損失(box_loss)、置信度損失(obj_loss)和分類損失(cls_loss),在訓練結束后,我們也可以在logs目錄下找到生成對若干訓練過程統(tǒng)計圖。下圖為博主訓練火焰識別的模型訓練曲線圖。


????????一般我們會接觸到兩個指標,分別是召回率recall和精度precision,兩個指標p和r都是簡單地從一個角度來判斷模型的好壞,均是介于0到1之間的數(shù)值,其中接近于1表示模型的性能越好,接近于0表示模型的性能越差,為了綜合評價目標檢測的性能,一般采用均值平均密度map來進一步評估模型的好壞。我們通過設定不同的置信度的閾值,可以得到在模型在不同的閾值下所計算出的p值和r值,一般情況下,p值和r值是負相關的,繪制出來可以得到如下圖所示的曲線,其中曲線的面積我們稱AP,目標檢測模型中每種目標可計算出一個AP值,對所有的AP值求平均則可以得到模型的mAP值。


????????以PR-curve為例,可以看到我們的模型在驗證集上的均值平均準確率為0.824。從訓練結果和數(shù)據(jù)集進行分析,其干擾樣本多,容易造成誤檢, 其中有很多物體和煙火是非常接近的,很難區(qū)分(比如:云朵、紅色的燈光等),容易造成模型誤檢。

3.?火焰檢測識別

????????在訓練完成后得到最佳模型,接下來我們將幀圖像輸入到這個網(wǎng)絡進行預測,運行testPicture.py文件,讀取一個圖片并運行檢測模型,首先將圖片數(shù)據(jù)進行預處理后送predict進行檢測,然后計算標記框的位置并在圖中標注出來。

????????執(zhí)行得到的結果如下圖所示,圖中火焰位置和置信度值都標注出來了,預測速度較快?;诖四P臀覀兛梢詫⑵湓O計成一個帶有界面的系統(tǒng),在界面上選擇圖片、視頻或攝像頭然后調(diào)用模型進行檢測。

????????博主已經(jīng)對系統(tǒng)的所有功能進行了詳細測試,最終開發(fā)出一版流暢得到清新界面,就是博文演示部分的展示,完整的UI界面、測試圖片視頻、代碼文件,以及Python離線依賴包(方便安裝運行,也可自行配置環(huán)境),均已打包上傳,感興趣的朋友可以通過下載鏈接獲取。

下載鏈接

????若您想獲得博文中涉及的實現(xiàn)完整全部程序文件(包括測試圖片、視頻,py, UI文件等,如下圖),這里已打包上傳至博主的面包多平臺,見可參考博客與視頻,已將所有涉及的文件同時打包到里面,點擊即可運行,完整文件截圖如下:

????在文件夾下的資源顯示如下,下面的鏈接中也給出了Python的離線依賴包,讀者可在正確安裝Anaconda和Pycharm軟件后,復制離線依賴包至項目目錄下進行安裝,離線依賴的使用詳細演示也可見本人B站視頻:win11從頭安裝軟件和配置環(huán)境運行深度學習項目、Win10中使用pycharm和anaconda進行python環(huán)境配置教程

注意:該代碼采用Pycharm+Python3.8開發(fā),經(jīng)過測試能成功運行,運行界面的主程序為runMain.py和LoginUI.py,測試圖片腳本可運行testPicture.py,測試視頻腳本可運行testVideo.py。為確保程序順利運行,請按照requirements.txt配置Python依賴包的版本。Python版本:3.8,請勿使用其他版本,詳見requirements.txt文件;

環(huán)境配置與界面中文字、圖片、logo等的修改方法請見視頻,項目完整文件下載請見以下給出:???

代碼下載鏈接:mbd.pub/o/bread/ZJaXlJd

參考視頻演示:bilibili.com/video/BV1u

離線依賴下載鏈接:pan.baidu.com/s/1hW9z9o(提取碼:oy4n)


結束語

????????由于博主能力有限,博文中提及的方法即使經(jīng)過試驗,也難免會有疏漏之處。希望您能熱心指出其中的錯誤,以便下次修改時能以一個更完美更嚴謹?shù)臉幼?,呈現(xiàn)在大家面前。同時如果有更好的實現(xiàn)方法也請您不吝賜教。

基于深度學習的火焰檢測系統(tǒng)(YOLOv5清新界面版,Python代碼)的評論 (共 條)

分享到微博請遵守國家法律
博白县| 汉中市| 平武县| 西吉县| 汉寿县| 漯河市| 绥芬河市| 甘谷县| 星子县| 神木县| 霍邱县| 志丹县| 乾安县| 淮安市| 瑞丽市| 那坡县| 姜堰市| 华宁县| 龙州县| 三台县| 宁陵县| 盐源县| 响水县| 满洲里市| 武功县| 梓潼县| 金门县| 基隆市| 社会| 邯郸县| 岳池县| 景宁| 盖州市| 南昌市| 永定县| 吴忠市| 四会市| 南充市| 固始县| 屏东市| 沙坪坝区|