999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

改進YOLOv3的火災檢測①

2022-05-10 08:39:52林,趙
計算機系統應用 2022年4期
關鍵詞:特征檢測模型

王 林,趙 紅

(西安理工大學 自動化與信息工程學院,西安 710048)

火災比其它自然災害更為常見,一旦發生,不僅會造成嚴重的人員傷亡和財產損失,還會產生有毒氣體污染環境[1].2019年3月四川涼山火災事件導致31 人遇難,大面積的森林土地丟失.若能及時發現火情并報警,則能減少損失[2].隨著科學技術的發展,基于傳感器的設備被用于火災檢測,但探測范圍有限,對場地空闊的林火等大空間來說安裝成本高很難做到均勻覆蓋,且對物理量的觀測很容易受環境因素的干擾.隨著計算機視覺和圖像處理技術的發展及監控的普及,基于視頻圖像的火災檢測出現[3].李紅娣等人[4]將圖像特征金字塔的紋理特征和邊緣特征組合,用機器學習方法支持向量機訓練達到94%以上的檢測率和3.0%以下的誤報率.Kim 等人[5]通過火焰的RGB 顏色模型檢測火災但是檢測的準確率不高.李巨虎等人[6]提出了基于顏色和紋理特征的森林火災圖像識別,通過提取不同空間的紋理特征,將得到的特征向量送入SVM 分類器,獲得了94.55%的準確率.但傳統的視頻火災檢測大都基于人工提取火焰和煙霧的靜態特征及運動區域的動態特征來研究的,人工提取特征容易造成檢測的精度較低.

2012年,深度學習的出現促使人工智能飛速發展,為目標檢測注入新的活力,Krizhevsky等人[7]提出Alexnet 并將它用在圖片分類中,將錯誤率從25.8 %降到了16.4 %,2014年Girshick 等人[8]提出將具有CNN特征的區域(RCNN)用于目標檢測,開啟了目標檢測的新時代.此后,目標檢測在計算機視覺[9]語音識別[10,11]多個領域表現出了良好的效果.2015年,相關學者提出具有歷史意義的一步檢測YOLO(you only look once),可以達到每秒45 幀的速度,Redmon 等人[12,13]前后提出了將YOLO1、YOLO2 用于火災檢測,精度和速度逐漸提高.杜晨錫等人[14]提出了基于YOLOv2 網絡的火焰檢測方法,但模型可應用的場景簡單.楊劍等人[15]提出了基于圖像處理技術的煙霧檢測在家庭火災防范中應用,實驗取得了較高的準確率,但對小區域煙霧存在漏檢情況.針對以上問題.本文提出了一種改進YOLOv3[16]算法的火焰和煙霧檢測,通過網絡爬蟲、視頻截取等手段獲得場景復雜,數量較多的火焰和煙霧的數據集,人工標注區域的位置信息和類別信息.針對YOLOv3 算法對小目標區域檢測精度低的問題做出改進,實驗表明,本文的改進相比原來的YOLOv3 算法準確率和誤檢率有了較大幅度的提升,能夠在火災初始階段及時發現并報警.

1 YOLOv3 原理概述

為避免模型優化中網絡加深出現退化的問題[17],YOLOv3的作者借鑒了殘差塊(Residual block)的思想形成了Darknet-53 網絡結構[18].如圖1所示,網絡由3 部分組成,特征提取網絡Darknet-53 和多尺度預測FPN 及檢測網絡YOLO Head.其中,Darknet-53 沒有使用池化層,而是借鑒殘差網絡(residual network,ResNet)的結構形成跳躍連接對輸入的圖片特征提取,YOLOv3 算法的卷積塊大多采用卷積層(convolution layers)后跟批標準化層(batch normalization,BN)和激活函數(leaky ReLU)的模式來加速收斂避免梯度消失.輸入圖像經過一個普通卷積模塊(Conv2D+BN+Leaky_relu)后,使用步長為2 大小為3×3 卷積進行5次下采樣,如圖1 中(a)部分所示,保留每次卷積后的layer,且分別在每一次下采樣后使用1×1 和3×3 大小的卷積核再次進行卷積操作.將此次連續卷積后的結果和保留的layer 相加.5 次下采樣后圖片的高和寬不斷壓縮變成13×13,通道數不斷擴張變成1024×1024,這5 次下采樣使用殘差塊的結構堆疊起來,殘差塊結構如圖1 中的(b)所示,每個殘差塊的拼接次數依次是1、2、8、8、4.

圖1 YOLOv3 網絡結構

為了檢測出不同尺寸的物體,YOLOv3 借鑒SSD的特征金字塔(feature pyramid network,FPN)結構進行多尺度檢測,選取后面3 個32 倍、16 倍、8 倍(13×13、26×26、52×52)的特征層預測物體,為了更好的利用深層語義特征信息,將最后一個特征尺度(13×13)用線性插值的方式上采樣與前面一個特征層進行拼接,這樣可以在較低層特征上獲得深層特征的信息檢測尺寸較小的物體,保證檢測的效果.依次如此,直到和52×52大小的特征層拼接.

盡管YOLOv3 是一個經典、高效的網絡,在目標檢測領域有良好的表現力,但火災檢測的公開數據集較少,且相對形狀固定的目標來說火焰和煙霧具有運動性、復雜性,特別是針對小火焰區域和復雜背景下的火焰和煙霧,YOLOv3 容易發生漏檢的情況,失去了火災預警的意義.本文針對這一問題對YOLOv3 算法進行改進,并將改進后的算法與YOLOv3 原算法進行比較,通過對比驗證了本文算法在火災檢測方面的可行性.

2 YOLOv3 改進相關工作

2.1 主干網絡Darknet-53 的改進

YOLOv3 網絡通過基本的卷積組件和一系列殘差塊對火焰和煙霧的圖片特征提取,使用8 倍、16 倍、32 倍后輸出的3 種特征圖進行多尺度預測,13×13 的尺度提取深層語義信息,用來預測尺寸較大的物體,26×26 尺度的特征圖預測尺寸相當的物體,同理,52×52 的特征尺度因網格劃分較細提取淺層位置信息,用來對較小尺度目標預測.但經8 倍下采樣得到的特征圖和原始416×416 的輸入圖像來說依然不夠精細,當對更小尺度目標檢測時會出現效果不佳的問題.除非13×13 尺度的特征圖能夠給它提供更多的深層特征信息以供它檢測小目標.但YOLOv3 網絡對輸入圖像經過5 次下采樣后并沒有其它操作.

本文決定改進YOLOv3 網絡的Darknet-53 結構,在其后添加一個SPP(spatial pyramid pooling)模塊來加大網絡的特征接受范圍,以充分利用上下文特征信息,增大感受野(receptive field),提升對小尺度目標的檢測效果.SPP 由He 等[19]提出,解決了卷積神經網絡(CNNs)輸入圖像尺寸限制的問題.對圖像進行一次特征映射來避免特征重復提取,加快目標檢測速度.如圖2所示.對13×13 尺度特征圖繼續處理,首先對此特征圖做3 次卷積(Conv2D+BN+Leaky_relu),分別是512×1×1、1024×3×3、512×1×1.然后將得到的結果用1×1、5×5、9×9、13×13 四個不同尺寸的池化核進行最大池化操作(max-pooling),且并聯一個輸入到輸出的直連操作.最后將得到的特征圖堆疊(concat),將不同尺度下提取的特征匯聚在一起.最大池化核的尺寸和特征圖尺寸一樣,保證融合了圖片的局部特征信息和全局特征信息.

圖2 加了SPP 模塊的網絡結構

2.2 先驗框的改進

相比基于區域的兩階段(two stage)目標檢測算法,YOLOv3 網絡將輸入圖像直接送入一個深度卷積神經網絡,一次性的進行目標的類別和位置的判斷.將原始圖片劃分為大小一樣、互不重復的小網格,通過Darknet-53 網絡得到3 個不同尺度的特征圖.每個特征點代表原始圖片的一小塊元素,當真實目標物體的中心落在這個網格內時,則由這個網格負責檢測該物體,如圖3所示.

圖3 網格預測示意圖

YOLOv3 網絡沿用YOLOv2 采用anchor boxes 機制,給每個特征點預設一組面積不同,寬高比大小不同的初始先驗框,這些先驗框是通過K-means 聚類算法得到的框.對于目標檢測算法來說,一組合適的先驗框將減少網絡的調整使之更快的獲得預測框.為了實現快速、準確的火焰和煙霧檢測,需要對YOLOv3 本身的先驗框優化使之適合自己的數據集.本文決定通過改進的K-means 聚類算法對標注火焰和煙霧的真實框(true box)分析,使先驗框的尺寸更符合本文火焰和煙霧數據集的尺寸.聚類的個數K即為要選取的先驗框的個數,聚類中心框的寬和高即為先驗框的寬和高.

傳統的K-means 聚類算法采用歐式距離計算,但當聚類不是用于點的聚類而是用于邊框的聚類時會產生誤差.邊框的尺寸越大產生的誤差也會越大,因此本文決定用改進的交并比(intersection over union,IoU)[20]來進行K-means 聚類.聚類開始時隨機選取k個真實框(bounding box)作為初始錨框(anchor box),計算每個bounding box 與每個anchor box 的IoU,IoU 越大時誤差越小.依次將每個bounding box 分配給誤差最小的那個anchor box.最后,將每個anchor box 中所有的bounding box 求寬高中值大小作為新的anchor box.重復迭代更新,直至所有的真實框所屬的anchor box 和上一次分配的一樣,停止更新.保存最后得到的anchor box 作為聚類后的先驗框.計算樣本中bounding box與k個anchor box 的平均IoU(AvgIoU),得到的結果如圖4所示.當 值越來越大時,AvgIoU 的值先快速增加后平緩增加.考慮到檢測模型的計算精度和速度,選取聚類個數k=9.

圖4 先驗框個數k 與AvgIoU 關系圖

聚類后的聚類中心坐標和先驗框尺寸如表1所示,其中坐標是相對于圖像大小的比例,將其與輸入尺寸相乘得到先驗框尺寸.

表1 改進K-means 聚類得到中心坐標和先驗框尺寸

沿用YOLOv3的做法,將9 種寬高比不同的先驗框平均分配到3 種不同尺度的特征圖上,經32 倍下采樣后的13×13 特征圖感受野最大,用來檢測尺寸最大的火焰和煙霧,將141×237,236×150,312×283 分配給它;26×26 特征圖感受野一般,將62×57,74×150,127×91 分配給它;然后將剩余的13×23,24×44,35×99 分配給感受野最小的52×52 特征圖,用來檢測小火焰煙霧目標.

2.3 損失函數的改進

損失函數衡量的是真實值和預測值的誤差.神經網絡反向傳播的訓練是通過計算損失函數對梯度的偏導來更新權重和參數,因此損失函數的定義直接影響到模型訓練的好壞.YOLOv3 算法的損失函數[21]由3 部分組成:坐標損失(coord loss)、類別損失(class loss)和置信度損失(confidence loss),損失函數表達式如下:

其中,網格中存在物體 為1,否則是0,r為物體的種類,如火焰或煙霧,其中x,y為物體的中心坐標,w,h為物體的寬高.

YOLOv3 在計算坐標誤差時將中心和寬高坐標作為單獨的變量去計算,忽視了兩者的相關性.考慮用真實框和預測框的重合程度 去計算坐標損失,但當兩個框之間沒有重合或尺寸相差較大時無法計算,為加快損失函數的收斂,采用CIoU(Complete-IoU)[22]作為位置坐標的損失函數.計算公式如下:

3 實驗結果及分析

3.1 實驗環境

本文所用的深度學習框架為PyTorch 1.2.0 版本,實驗基于Anaconda 虛擬環境,編輯器為VScode,編程語言為Python 3.5.2,操作系統是Windows 10,GPU 為GTX1080Ti,CPU 是Inter i7-6700,電腦內存為128 GB,GPU 加速庫cuDNN 的版本是7.4.1.5,配套的CUDA的版本是10.0.實驗程序將原始輸入圖像尺寸統一調整為416×416.

3.2 實驗數據集

目前基于深度學習的火災檢測公開的數據集較少且場景單一,本文所用的實驗數據集是通過網絡爬蟲和數據截取方式獲得的,選取了10 825 張不同場景下的火焰和煙霧圖像,其中有山地、田野、森林、室內等場景,也有白天和夜晚情景下的圖像,有3 123 張火焰圖像,有2 987 張煙霧圖像,4 715 張火焰和煙霧混合圖像.本文將數據集按照8:1:1 比例分別用作訓練、驗證和測試.數據集的部分展示如圖5所示.

圖5 火災數據集部分圖像

本文使用LabelImg 軟件來對數據集進行標注,標注的種類為火焰fire 和煙霧smoke 兩類.注意標注時要完全框柱目標物體,不能缺少或超過以影響火災檢測的準確率.將圖像中標注物體的種類信息和位置信息保存至XML 格式文件中,然后通過程序將這些信息轉換為VOC 格式進行訓練.

為了提升模型的魯棒性,本文對訓練的數據集使用Mosaic 在線數據增強[23].此方法將4 張圖片進行拼接,它的一個巨大優點是豐富待檢測物體的背景,且批量標準化計算的時一次性計算出4 張圖片的數據.過程如圖6所示.

圖6 Mosaic 數據增強示例

3.3 模型訓練

實驗采用小批量梯度下降方法優化模型,批尺寸(batch size)設置為20,動量因子(momentum)設置為0.9,使用Mosaic 進行在線數據增強.整個訓練過程有100 輪(epoch),前50 次epoch 是初始學習率為0.001的凍結訓練,后50 次epoch 在凍結訓練的基礎上進行初始學習率為0.000 1 的訓練.模型所有的迭代次數為39 000 次.每次迭代訓練結束后將得到的訓練權重以及整體loss 和驗證集loss 值保存在日志中,模型訓練初期根據loss 值收斂程度調整參數,最終將網絡參數調整至合適大小,并將loss 值收斂效果最好的一次的權重作為最終權重進行預測.損失函數隨著迭代次數的變化如圖7所示,為了更加準確的觀察loss 的變化趨勢,將第300 次到第20 000 次的迭代放大并置于圖中,可以看到模型的收斂速度和收斂效果均較好,可以看出,在第15 000 次迭代后,模型的loss 值趨于穩定.

圖7 訓練模型損失函數曲線圖

每次迭代預測框與真實框的平均IoU 如圖8所示,可以看到,隨著迭代次數的增加,IoU 值上升并趨于穩定.

圖8 訓練模型IoU 曲線圖

3.4 評估指標

本文使用mAP 作為模型的評價指標,下面是計算過程.TP是被模型分到正樣本且分對了的個數,TN是被模型分到負樣本且分對了的個數,FP是被模型分到正樣本且分錯了的個數,FN是被模型分到負樣本且分錯了的個數.那么模型的準確率(precision,P)計算公式為:

模型的召回率(recall,R)計算公式為:

當取不同的置信度時可以得到不同的P和R,由此,得到平均準確率AP的計算公式為:

檢測目標火焰和煙霧對應的P-R(Precision-Recall)曲線如圖9所示.其中火焰的AP為97.71%,煙霧的AP為94.32%,當分類個數超過一個時,便引入了mAP,mAP的計算公式為:

圖9 火焰和煙霧P-R 曲線圖

其中,n為分類的種類數,本文中有火焰和煙霧,因此n= 2,則本文改進后模型的mAP為96.02%.

3.5 模型對比分析

3.5.1 訓練loss 圖對比

兩個模型的損失函數如圖10所示,可以看到,由于遷移學習YOLOv3 初始權重,模型一開始的整體損失較少,隨著迭代次數的增多,改進后模型loss 的收斂速度和最終收斂效果均比YOLOv3 模型要好.

圖10 模型訓練Loss 收斂對比圖

3.5.2mAP對比

兩個模型的準確率(precision)、召回率(recall)、精度(AP)、平均精度(mAP)對比如表2所示.

表2 模型訓練結果參數對比(%)

YOLOv3的mAP為88.05%,改進后模型的mAP為96.02%.可見改進后模型的AP和mAP表現均較好.

3.5.3 測試集檢測結果對比

為了測試兩個模型對復雜背景的檢測效果以及小目標的檢測效果,選取了測試集中幾種有代表性的圖像進行對比,檢測結果如圖11所示.

從圖11 的檢測結果可以看到,改進后的模型在小目標檢測方面比YOLOv3 有更大的優勢,對于圖11(a)中未檢測出來的小火焰區域,改進后的模型均能極好的檢測出來,且對復雜背景下的煙霧來說因其運動不規律易受背景影響,從圖11(c)、圖11(e)、圖11(g)可以看出,YOLOv3 存在多次漏檢現象,但改進后的模型能很好的檢測出復雜背景下的大小煙霧區域.因此,本文的改進是效果顯著的,對小目標的查全率及復雜背景下目標的檢測精度均比YOLOv3 要好.

圖11 實際檢測效果對比圖

3.5.4 公開數據集檢測結果對比

為了檢驗改進后算法的魯棒性,本文在公開的火災數據集上與其它算法進行對比檢測.公開數據集來自于Research Webpage about Smoke Detection for Fire Alarm(http://signal.ee.bilkent.edu.tr/VisiFire/Demo/SampleClips.html),本文對其中的視頻進行截圖后得到不同狀態下的火焰和煙霧圖片,部分圖片如圖12所示.

圖12 公開數據集部分圖片

分別使用算法Faster RCNN、SDD、文獻[24]、YOLOv3 及本文算法對公開數據集進行檢測,并計算檢測結果,算法的檢測結果對比見表3.

表3 公開數據集檢測結果對比

通過對比可知,本文算法在精度和速度方面均表現更好,可以更好的應用于火災檢測.其中,Faster RCNN 的mAP 比YOLOv3 好,但由于其在候選區處理時需要很大時間,所以檢測時間較長.而火災檢測對實時性的要求比對精度的要求優先級更高,因此,改進后的本文算法更適用于火災檢測.

3.5.5 消融實驗對比

本文的算法改進有:在主干特征提取網絡中加入SPP模塊、使用CIoU 計算新的損失函數、使用Mosaic 進行數據增強.為深入了解這些改進對于算法性能提升的程度,將本文算法拆分為4 組實驗,實驗結果如表4所示.

從表4 可以看出,在只加入SPP 模塊的模型2 中,由于提升了網絡的感受野,融合了圖片的局部特征信息和全局特征信息,使得mAP提升了2.84 個百分點.在加入了SPP 模塊和CIoU 改進損失函數的模型3 中,由于計算坐標誤差時考慮了中心和寬高坐標兩者的相關性,加快了損失函數的收斂,使得mAP提升了3.67個百分點.在模型4 中,增加了Mosaic 數據增強,豐富待檢測物體的背景,使得mAP提升了1.46 個百分點.因此,本文的改進方法均可以提升火災檢測效果,其中,引入CIoU 改進損失函數的改進效果最顯著.

表4 消融實驗對比結果

4 總結與展望

針對深度學習方法在火災檢測應用上的不足,本文提出了改進YOLOv3的視頻圖像火災檢測算法,通過特征提取網絡的改進、先驗框的優化、損失函數的改進和數據增強等一系列措施提升了火災檢測的精度和速度.

在自行標注的Fire-Smoke-Detection-Dataset 上進行了實驗.實驗結果顯示,本文改進的模型在火災檢測方面有更好的魯棒性、更高的準確率,尤其是在復雜背景下的檢測和對小目標的檢測效果更優異.其中,對火焰的檢測率從94%提升至98%,對煙霧的檢測率從82%提升至94%,mAP從88.05%提升至96.02%,平均檢測速度從31 fps 加快到43 fps.之后的工作里,將繼續對網絡進行優化改進,進一步改善檢測效果和算法優化效果,增加對煙霧這一復雜對象的詳細分析.

猜你喜歡
特征檢測模型
一半模型
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
抓住特征巧觀察
3D打印中的模型分割與打包
主站蜘蛛池模板: 五月天在线网站| 国产裸舞福利在线视频合集| 国产成人在线小视频| 在线观看热码亚洲av每日更新| 青青久久91| 亚洲区视频在线观看| 亚洲大尺码专区影院| 亚洲成人网在线播放| 国产网站在线看| 露脸一二三区国语对白| 99精品高清在线播放| 欧美精品1区| 成人亚洲国产| 97人人模人人爽人人喊小说| 少妇极品熟妇人妻专区视频| 国产aⅴ无码专区亚洲av综合网| 欧美成人二区| 新SSS无码手机在线观看| 在线网站18禁| 国产一区二区影院| 9久久伊人精品综合| 国产美女免费| 一本大道香蕉高清久久| 亚洲国产精品不卡在线| 欧美日韩国产高清一区二区三区| 午夜日b视频| 亚洲中文字幕久久无码精品A| 玖玖精品在线| 色呦呦手机在线精品| 国产一二视频| 手机看片1024久久精品你懂的| 制服丝袜在线视频香蕉| 美女高潮全身流白浆福利区| 欧美色视频日本| 国产v精品成人免费视频71pao | 搞黄网站免费观看| 国产小视频a在线观看| 亚洲va在线观看| 波多野结衣无码中文字幕在线观看一区二区| 青青青国产在线播放| 亚洲区第一页| 四虎影院国产| 国产sm重味一区二区三区| 91国内视频在线观看| 国产精品久久精品| 免费jjzz在在线播放国产| 波多野结衣在线se| 波多野结衣中文字幕一区二区| 看你懂的巨臀中文字幕一区二区 | 91无码国产视频| 五月婷婷亚洲综合| 国产精品手机在线播放| 91精品情国产情侣高潮对白蜜| 99热亚洲精品6码| 国产熟睡乱子伦视频网站| 国产久操视频| 麻豆国产精品| 国产成人久视频免费| 亚洲无码高清免费视频亚洲| 青草娱乐极品免费视频| 青青操国产| 性视频久久| 熟女成人国产精品视频| 国产成人a毛片在线| 91在线日韩在线播放| 国产精品性| 91午夜福利在线观看| 日韩视频精品在线| 欧美亚洲国产精品第一页| 四虎永久在线精品影院| 狠狠综合久久| 日韩国产欧美精品在线| 日本人真淫视频一区二区三区| 福利小视频在线播放| 国产成人超碰无码| 免费人成网站在线高清| 日韩少妇激情一区二区| 无码aaa视频| 在线播放国产一区| 视频一区视频二区日韩专区| 亚洲无线一二三四区男男| 国产欧美高清|