曹成志 譚笑宇 黃馨儀 羅澤昊
【摘? 要】在復(fù)雜多變的工作情景中,火災(zāi)的預(yù)防往往依賴于煙霧報警器,但不能對火情的程度做出判斷,容易受到場地的局限,而且存在一定的滯后性。針對上述存在的問題,本文提出了一種基于多尺度檢測的改進(jìn)YOLOv3火焰識別算法,采用四個不同尺度的特征層來提高對小火焰的識別率,用于解決原始YOLOv3算法對小尺寸物體的識別效果不佳的問題。
【關(guān)鍵詞】多尺度檢測;YOLOv3;后驗(yàn)框
引言
煙霧作為火災(zāi)表現(xiàn)出的最為顯著的特征之一,準(zhǔn)確而實(shí)時地進(jìn)行煙霧檢測,是減小火災(zāi)危害的重要手段。傳統(tǒng)的煙霧檢測通常使用煙霧探測器作為檢測裝置,需要煙霧達(dá)到一定濃度時才會發(fā)出警報,檢測速度較慢、響應(yīng)時間長。而運(yùn)用目標(biāo)檢測算法進(jìn)行火災(zāi)煙霧視頻監(jiān)控能較好地解決上述問題,其監(jiān)控范圍廣,反應(yīng)速度快,而且可以節(jié)省大量硬件資源。
本文提出一種基于改進(jìn)YOLOv3的火災(zāi)煙霧檢測算法,在原有三種不同尺度進(jìn)行檢測的基礎(chǔ)上拓展一個尺度,提升小目標(biāo)識別的準(zhǔn)確度,并在火災(zāi)目標(biāo)檢測數(shù)據(jù)庫上進(jìn)行訓(xùn)練,獲得相應(yīng)火災(zāi)檢測模型,檢驗(yàn)算法應(yīng)用效果。
1.YOLOv3算法原理
YOLOv3算法的整體結(jié)構(gòu)包括主干網(wǎng)絡(luò)、多尺度特征提取器以及輸出層三個部分。YOLOv3的主干網(wǎng)絡(luò)采用由53個卷積層構(gòu)成的Darknet-53網(wǎng)絡(luò)架構(gòu),其重要特點(diǎn)是使用了一系列殘差塊。殘差塊內(nèi)進(jìn)行的殘差卷積是對輸入進(jìn)來的特征層先進(jìn)行一次步長為2的3x3卷積,以壓縮特征層的長和寬,并增加其通道數(shù)。在保存這一步得到的卷積層后,再依次進(jìn)行一次1x1和3x3的卷積,以減少參數(shù)量并擴(kuò)張通道。把這兩次卷積后得到的結(jié)果與前面保存的卷積層相加,就得到殘差卷積的最終結(jié)果。另外,殘差塊還使用了跳躍連接,以緩解在深度神經(jīng)網(wǎng)絡(luò)中增加深度帶來的梯度消失問題,使得網(wǎng)絡(luò)深度可以進(jìn)一步增加。在多尺度特征提取器部分,共有三個不同位置的特征層,通過上采樣和特征融合的方法,最終在輸出層得到3種不同尺度的特征圖。多尺度的特征提取可以增加特征的豐富度,提升大、小目標(biāo)的檢測效果。
2.多尺度檢測改進(jìn)
在許多實(shí)際場景中,由于物體與圖像采集裝置的距離不盡相同,導(dǎo)致物體在圖像中的尺寸也會出現(xiàn)較大差距,一些尺寸較小的物體往往不容易被檢測。針對以上問題,本文通過在原有的三個特征層的基礎(chǔ)上,再增加一個104*104尺寸的特征層,用于提高對小物體的識別率。在Darknet-53網(wǎng)絡(luò)架構(gòu)中,三種特征層都經(jīng)過了不同數(shù)目的殘差卷積,使得原始圖像被劃分為指定的尺寸。以此類推,從網(wǎng)絡(luò)中引出104*104尺寸的特征圖也十分方便。當(dāng)?shù)玫降谒膫€特征層之后,由于尺寸不同,還需要各個特征層通過上采樣操作調(diào)整特征層尺寸,再經(jīng)過拼接,才可以使各個特征層想融合。
2.1構(gòu)建訓(xùn)練集和測試集
由于數(shù)據(jù)十分有限,本文采用交叉驗(yàn)證法進(jìn)行訓(xùn)練和測試,就是把原始數(shù)據(jù)進(jìn)行分組,一部分做為訓(xùn)練集來訓(xùn)練模型,另一部分做為測試集來評價模型。本次實(shí)驗(yàn)將數(shù)據(jù)集隨機(jī)分為10組,每次選取其中1組作為測試集,剩下的9組作為訓(xùn)練集,對模型進(jìn)行測試。如此反復(fù)10次,保證每一組都有一次機(jī)會成為測試集。得到的10組結(jié)果再求取平均值用于模型參數(shù)的估計,作為模型的性能指標(biāo)。這種做法可以充分利用樣本數(shù)據(jù),適用于樣本較少的情況。
2.2圖像預(yù)處理
直方圖是圖像中像素強(qiáng)度分布的圖形表達(dá)方式,表征了圖像種色素的數(shù)量分布。直方圖均衡化是一種比較常用的圖像處理方法,其主要作用是增加局部對比度而不失整體對比度,可以突出圖像一些細(xì)節(jié)的特征。采用直方圖均衡化的方式對圖像進(jìn)行預(yù)處理。
2.3實(shí)驗(yàn)過程
利用改進(jìn)后的YOLOv3網(wǎng)絡(luò),每次將2700張圖片作為訓(xùn)練數(shù)據(jù)集輸入,訓(xùn)練完成后通過300張圖片測試集進(jìn)行性能測試,迭代次數(shù)為10次。與傳統(tǒng)YOLOv3網(wǎng)絡(luò)的測試結(jié)果進(jìn)行對比,觀察各個性能指標(biāo)的差異性,并分析改進(jìn)模型的策略。
此外,本實(shí)驗(yàn)選用視頻作為最終載體,將訓(xùn)練好的模型用于識別視頻中的火焰并標(biāo)注火焰的位置,并記錄性能較好的模型參數(shù),盡可能提高目標(biāo)檢測的流暢度和實(shí)時性。
2.4測試與評估
本實(shí)驗(yàn)采用平均精確度AP(average precision)作為評價指標(biāo),首先要計算結(jié)果的準(zhǔn)確率(precision)和召回率(recall)。僅通過準(zhǔn)確率或召回率并不能全面地衡量一個模型的性能,mAP將兩者結(jié)合起來,評價模型顯得更加客觀。模型的準(zhǔn)確率表征預(yù)測結(jié)果中真實(shí)正樣本的比例,即結(jié)果中的實(shí)際正樣本與結(jié)果中所有正樣本之比;召回率表征結(jié)果中的正樣本占實(shí)際所有正樣本的比例,即預(yù)測的真實(shí)正樣本數(shù)量與樣本中真實(shí)正樣本數(shù)量之比。
3.實(shí)驗(yàn)結(jié)果分析
在對模型進(jìn)行訓(xùn)練時,選取動量參數(shù)為0.8,迭代次數(shù)為10次,學(xué)習(xí)率設(shè)置為0.001,權(quán)重下降率為0.0005。在參數(shù)一致的情況下,使用相同的數(shù)據(jù)集,分別將傳統(tǒng)YOLOv3算法和本文的改進(jìn)YOLOV3算法的效果進(jìn)行對比,得到以下效果。
兩者的初始損失值十分相近,約為8.1,但是改進(jìn)后的YOLOv3算法loss值衰減較快。相比于原算法,在訓(xùn)練時表現(xiàn)出較好的效果,可以提升收斂效果。
在實(shí)效性上,改進(jìn)后的YOLOv3算法在識別視頻時,幀數(shù)保持在25~30以內(nèi),可以基本滿足實(shí)時監(jiān)測的需求,但是相比于傳統(tǒng)方法,實(shí)時性有所下降。以下為檢測視頻流的效果。
4.問題與展望
目標(biāo)檢測算法一直是計算機(jī)視覺領(lǐng)域的研究熱點(diǎn)之一,依靠高效的硬件設(shè)備作為支撐,結(jié)合性能優(yōu)良的算法結(jié)構(gòu),可以工業(yè)生產(chǎn)和居民生活做提供便利。本文完成了對YOLOv3算法的改進(jìn),但是,在實(shí)際運(yùn)行過程中,依然存在很多問題待解決。筆者在這里總結(jié)幾點(diǎn)問題:
(1)訓(xùn)練集的制作會消耗大量人力資源。在圖像標(biāo)注的過程中,需要對每一張圖片中的目標(biāo)進(jìn)行框圖并標(biāo)注類型,如果訓(xùn)練更加優(yōu)異的模型,必然需要更加豐富的樣本,因此需要更多人力,這樣就限制了算法的推廣以及在工程領(lǐng)域的應(yīng)用。
(2)時效性與準(zhǔn)確性的矛盾。深度神經(jīng)網(wǎng)絡(luò)往往配有大量參數(shù),而參數(shù)的多少直接影響到模型的快時效性。本文選用刪減殘差網(wǎng)絡(luò)的方法來提高時效性,可以縮短訓(xùn)練的時間,但是在一定程度上會降低準(zhǔn)確度。
(3)“黑箱”模型背后的數(shù)學(xué)基礎(chǔ)。事實(shí)上,很多算法的搭建和改進(jìn)都是依賴于數(shù)學(xué)知識。對于YOLOv3算法背后的數(shù)學(xué),還有待發(fā)掘。如果想要有更好的算法,必須具備很好的數(shù)學(xué)功底,這正是很多初級研究人員所稀缺的。
在當(dāng)代,人工智能已經(jīng)走進(jìn)尋常百姓家,計算機(jī)視覺技術(shù)也在慢慢改變著人們的生活,目標(biāo)檢測早已應(yīng)用于很多工程領(lǐng)域。無論是在理論上還是在應(yīng)用上,目標(biāo)檢測算法都還有很多部分等待開發(fā)。在不久的將來,還會有一大批科研人員投入其中,不斷推動算法性能的提升,促進(jìn)人工智能的推廣。
5.結(jié)語
為了提高YOLOv3算法性能,本文對特征提取網(wǎng)絡(luò)進(jìn)行適當(dāng)改進(jìn),選用多尺度檢測的方式提高檢測精度,在原有三個尺度的特征層的基礎(chǔ)之上,再增加第四個不同尺度的特征層;并刪減殘差網(wǎng)絡(luò)數(shù)目以保持時效性,在五個殘差網(wǎng)絡(luò)塊中都進(jìn)行刪減,使得模型的參數(shù)大大縮小。
雖然本文在一定程度上可以實(shí)現(xiàn)較好的火焰目標(biāo)實(shí)時檢測,但是算法的穩(wěn)定性依然受到很多不確定因素的影響,例如:火焰本身的顏色特征對周邊環(huán)境有較大影響,會出現(xiàn)很多噪聲;待捕捉的火焰受到光照強(qiáng)度(強(qiáng)光或弱光)的制約,會降低檢測精度,還對魯棒性提出更高的要求。此外,如何利用數(shù)學(xué)數(shù)學(xué)理論去解釋算法的合理性,依然是在未來的研究中需要探索的內(nèi)容。