趙 輝,趙 堯,金林林,董蘭芳,肖 瀟
基于YOLOX的小目標(biāo)煙火檢測(cè)技術(shù)研究與實(shí)現(xiàn)
趙 輝1,趙 堯1,金林林1,董蘭芳2,肖 瀟2
(1. 國(guó)網(wǎng)安徽省電力有限公司亳州供電公司,安徽 亳州 236800;2. 中國(guó)科學(xué)技術(shù)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 合肥 230026)
火災(zāi)是日常生活中最常見(jiàn)的社會(huì)災(zāi)害之一,會(huì)對(duì)人類的財(cái)產(chǎn)、生命安全造成巨大威脅,如何準(zhǔn)確而快速地發(fā)現(xiàn)小面積的煙火點(diǎn)并實(shí)時(shí)發(fā)出預(yù)警,對(duì)維護(hù)正常的社會(huì)生產(chǎn)具有重要意義。傳統(tǒng)的煙火檢測(cè)算法通過(guò)識(shí)別圖像的各種低維視覺(jué)特征如顏色、紋理等,進(jìn)而判斷煙火的位置,方法的實(shí)時(shí)性和精度較差。近些年深度學(xué)習(xí)在目標(biāo)檢測(cè)領(lǐng)域的成就顯著,各種基于深度神經(jīng)網(wǎng)絡(luò)的煙火檢測(cè)方法層出不窮,但大部分深度學(xué)習(xí)模型在小目標(biāo)上的檢測(cè)效果遠(yuǎn)不及大目標(biāo),而煙火檢測(cè)任務(wù)需要在煙火面積很小時(shí)就做出及時(shí)地識(shí)別和預(yù)警,才能避免火勢(shì)擴(kuò)大造成更大的經(jīng)濟(jì)損失。對(duì)此,基于YOLOX模型對(duì)激活函數(shù)和損失函數(shù)做出改進(jìn)并結(jié)合數(shù)據(jù)增強(qiáng)算法和交叉驗(yàn)證訓(xùn)練方法,實(shí)現(xiàn)了更好的小目標(biāo)檢測(cè)算法,在煙火檢測(cè)數(shù)據(jù)集上獲得了78.36%的mAP值,相比原始模型提升了4.2%,并獲得了更好的小目標(biāo)檢測(cè)效果。
煙火檢測(cè);小目標(biāo)檢測(cè);深度學(xué)習(xí);數(shù)據(jù)增強(qiáng);YOLOX
火災(zāi)事故的發(fā)生會(huì)造成巨大的經(jīng)濟(jì)損失,還會(huì)嚴(yán)重威脅人們的生命安全。如在電力系統(tǒng)的發(fā)電、輸電、變電過(guò)程中,由于設(shè)備不穩(wěn)定很容易導(dǎo)致火災(zāi)事故的發(fā)生。2017年11月18日北京市大興區(qū)西紅門鎮(zhèn)新建村發(fā)生火災(zāi),造成19人死亡,8人受傷,事故原因是埋在聚氨酯保溫材料內(nèi)的電氣線路發(fā)生了故障;2021年4月16日,北京一儲(chǔ)能電站發(fā)生火災(zāi),導(dǎo)致2名消防員犧牲,1名消防員受傷,電站內(nèi)1名員工失聯(lián),除了設(shè)備本身問(wèn)題,人為操作失誤也可導(dǎo)致事故發(fā)生。由此可見(jiàn),火災(zāi)的發(fā)生不僅會(huì)對(duì)人民的生命財(cái)產(chǎn)造成巨大的危害,也會(huì)嚴(yán)重影響社會(huì)的經(jīng)濟(jì)發(fā)展和安全穩(wěn)定,因此如何有效地預(yù)防火災(zāi),對(duì)小面積的煙火進(jìn)行有效精確地監(jiān)測(cè)和預(yù)警至關(guān)重要。
目前對(duì)于火災(zāi)進(jìn)行有效預(yù)警的方法是通過(guò)檢測(cè)火災(zāi)早期產(chǎn)生的煙霧和火焰進(jìn)行跟蹤、定位來(lái)實(shí)現(xiàn)的,由于易燃物分布十分廣泛,全部采用人工方法進(jìn)行巡檢會(huì)造成極大的人力消耗。隨著視頻監(jiān)控技術(shù)的普及,一些直接對(duì)視頻序列中的圖像信息進(jìn)行處理的方法也陸續(xù)出現(xiàn),如傳統(tǒng)的圖像處理方法通過(guò)識(shí)別圖像所具有的一些低維視覺(jué)特征(如形狀、顏色和紋理等)進(jìn)行煙火的檢測(cè),文獻(xiàn)[1]通過(guò)識(shí)別火災(zāi)中火焰和煙霧的顏色和運(yùn)動(dòng)特征來(lái)檢測(cè)煙火;文獻(xiàn)[2]采用視覺(jué)圖像分割與堆疊技術(shù)來(lái)判別煙火特征從而檢測(cè)煙火。但這些傳統(tǒng)方法易受背景變化的影響,而火災(zāi)產(chǎn)生處的場(chǎng)景十分復(fù)雜,使得傳統(tǒng)圖像處理方法在煙火檢測(cè)領(lǐng)域所能達(dá)到的精度十分有限。
近年來(lái),隨著深度學(xué)習(xí)技術(shù)在各個(gè)領(lǐng)域的蓬勃發(fā)展和廣泛應(yīng)用,尤其是在目標(biāo)檢測(cè)領(lǐng)域,深度學(xué)習(xí)方法得益于能夠自適應(yīng)地學(xué)習(xí)到不同環(huán)境背景下的特征差異,在處理圖像信息任務(wù)時(shí)表現(xiàn)出較傳統(tǒng)方法更高的精度和自學(xué)習(xí)的能力,煙火識(shí)別預(yù)警就屬于特定場(chǎng)景下(火災(zāi))的目標(biāo)檢測(cè)任務(wù),可基于目標(biāo)的幾何和特征統(tǒng)計(jì)對(duì)視頻或圖像中的火焰和煙霧進(jìn)行準(zhǔn)確識(shí)別和定位。目前,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法可以分為一階段算法和兩階段算法,其中兩階段算法需要經(jīng)過(guò)兩步完成:①獲得候選區(qū)域,②對(duì)候選區(qū)域進(jìn)行分類;而一階段算法則不需要獲取候選區(qū)域,從圖像中直接預(yù)測(cè)目標(biāo)所在的區(qū)域。
在圖像分類任務(wù)中,卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)較傳統(tǒng)方法顯現(xiàn)出巨大的優(yōu)勢(shì),基于CNN進(jìn)行圖像分類逐漸成為主流。隨后,GIRSHICK等[3]首次將CNN運(yùn)用到了目標(biāo)檢測(cè)領(lǐng)域,提出了基于候選框選取的R-CNN目標(biāo)檢測(cè)算法,其以圖像像素為單位根據(jù)紋理特征的相似性逐漸向上融合,獲得若干候選區(qū)域,再將候選區(qū)域送入CNN進(jìn)行分類,并校正目標(biāo)檢測(cè)的邊界框。該算法需要獲得大量的候選區(qū)域以獲得更高的精度,且很多區(qū)域間是彼此重疊的,模型對(duì)于不同的候選區(qū)域進(jìn)行了大量的重復(fù)計(jì)算,降低了模型的速度。之后,F(xiàn)ast R-CNN[4]做出了改進(jìn),使用CNN先提取整個(gè)圖像的特征,而不是對(duì)每個(gè)圖像塊多次提取,然后將創(chuàng)建候選區(qū)域的方法直接應(yīng)用于提取到的特征圖上,因此大大減少了提取特征所花的時(shí)間,但其速度則依賴于外部選擇性搜索算法。于是Faster R-CNN[5]算法用區(qū)域生成網(wǎng)絡(luò)代替了候選區(qū)域方法,區(qū)域生成網(wǎng)絡(luò)將前面CNN的輸出特征圖作為輸入,在特征圖上滑動(dòng)一個(gè)3×3的卷積核,通過(guò)CNN構(gòu)建出與類別無(wú)關(guān)的候選區(qū)域再送入分類網(wǎng)絡(luò)。上述算法均為兩階段算法,而一階段算法中具有代表性的主要有:①LIU等[6]提出的SSD算法,其不通過(guò)事先選取候選框,而是在多尺度特征圖上的每個(gè)點(diǎn)生成一個(gè)預(yù)選框,然后將所有的預(yù)選框集合進(jìn)行極大值抑制,最后輸出預(yù)測(cè)結(jié)果;②REDMON等[7]提出的YOLO算法,將目標(biāo)檢測(cè)當(dāng)作一個(gè)回歸問(wèn)題,通過(guò)單一的神經(jīng)網(wǎng)絡(luò)同時(shí)預(yù)測(cè)邊界框的坐標(biāo)和各個(gè)類別的概率,檢測(cè)速度也能達(dá)到45 FPS以上。除了基于CNN的一階段算法之外,還有LIU等[8]提出的基于自注意力機(jī)制的swin transformer算法,該算法能取得更高的精度,但計(jì)算速度較慢。
上述目標(biāo)檢測(cè)算法中,兩階段算法由候選區(qū)域選取再對(duì)候選區(qū)域進(jìn)行分類,往往需要花費(fèi)較多的時(shí)間,而煙火檢測(cè)是一個(gè)對(duì)實(shí)時(shí)性要求很高的任務(wù),因此本文將采用一階段算法識(shí)別煙火,相比于兩階段算法而言能夠在保證預(yù)測(cè)精度不降低的同時(shí),大大減少煙火檢測(cè)的時(shí)間,提高了檢測(cè)的效率。得益于YOLO算法,在確保目標(biāo)檢測(cè)任務(wù)能獲得較高精度的同時(shí),處理速度也接近實(shí)時(shí)應(yīng)用的要求。
因此,本文以YOLOX[9]算法作為基礎(chǔ)的網(wǎng)絡(luò)模型,并結(jié)合火災(zāi)場(chǎng)景下煙火檢測(cè)任務(wù)的要求進(jìn)行調(diào)整,從而實(shí)現(xiàn)了構(gòu)建煙火小目標(biāo)檢測(cè)效果足夠好的模型。
YOLO系列算法經(jīng)過(guò)了3次改進(jìn),并以此為基礎(chǔ),衍生出了各種不同的版本。將目標(biāo)檢測(cè)問(wèn)題當(dāng)作回歸問(wèn)題進(jìn)行處理,將整張圖片作為網(wǎng)絡(luò)輸入,然后在輸出層對(duì)預(yù)測(cè)框的位置和類別進(jìn)行預(yù)測(cè)。算法首先將一張圖片分割成×個(gè)網(wǎng)格,如果預(yù)測(cè)目標(biāo)的中心點(diǎn)位于某個(gè)網(wǎng)格中,則對(duì)此目標(biāo)進(jìn)行進(jìn)一步預(yù)測(cè),在實(shí)際輸出中,每個(gè)網(wǎng)格預(yù)測(cè)個(gè)框,并分析每個(gè)框中是否包含目標(biāo)以及目標(biāo)所屬的類別。這會(huì)導(dǎo)致一個(gè)目標(biāo)可能有多個(gè)預(yù)測(cè)框?qū)ζ溥M(jìn)行預(yù)測(cè),算法使用非極大值抑制方法,該方法選擇所有預(yù)測(cè)框中得分最高的那個(gè),然后對(duì)該預(yù)測(cè)框與其他預(yù)測(cè)框計(jì)算交并比(intersection over union,IoU),IoU計(jì)算方法如圖1所示,其值為2個(gè)矩形框的交集與并集面積之比。
圖1 IoU計(jì)算方法
非極大值抑制需要設(shè)置一個(gè)IoU閾值(一般為0.5),將計(jì)算結(jié)果小于該閾值的預(yù)測(cè)框抑制掉,再對(duì)剩下的預(yù)測(cè)框迭代使用該方法,直至沒(méi)有能抑制的預(yù)測(cè)框?yàn)橹?,最終輸出的是不含重疊框的預(yù)測(cè)結(jié)果。
目標(biāo)檢測(cè)模型一般可以抽象成backbone,neck和head網(wǎng)絡(luò)。如圖2所示,其中backbone網(wǎng)絡(luò)進(jìn)行特征提取,head網(wǎng)絡(luò)進(jìn)行分類和回歸分析,neck網(wǎng)絡(luò)為可選的部分,一般對(duì)backbone網(wǎng)絡(luò)獲得的特征圖進(jìn)行多尺度的融合。
圖2 檢測(cè)模型總體結(jié)構(gòu)
煙火檢測(cè)模型使用CSPDarkNet[9]作為backbone部分,其使用YOLOV3[10]中的DarkNet[10],結(jié)合CSP結(jié)構(gòu)而成,如圖3(a)所示;CSPDarkNet主要使用卷積層和CSP結(jié)構(gòu)進(jìn)行連接,其中CSP結(jié)構(gòu)如圖3(b)所示。CSP結(jié)構(gòu)類似于殘差結(jié)構(gòu)[11],輸入首先通過(guò)次的1×1卷積和3×3卷積操作,然后再將得到的結(jié)果與原始輸入拼接在一起作為輸出。煙火檢測(cè)模型使用GELU[12]激活函數(shù),在訓(xùn)練時(shí)能夠收斂得更快,即
圖3 煙火檢測(cè)模型的backbone網(wǎng)絡(luò)((a)CSPDarkNet;(b)CSP結(jié)構(gòu))
其中,erf函數(shù)為高斯誤差函數(shù),即
CSPDarkNet的輸入是一張640×640×3的圖片,首先對(duì)圖片進(jìn)行Focus結(jié)構(gòu)的操作。Focus結(jié)構(gòu)如圖4所示,在一張圖片中每隔一個(gè)像素獲取一個(gè)值,這時(shí)可獲得4個(gè)獨(dú)立的特征層,并對(duì)其進(jìn)行堆疊,此時(shí)的寬、高信息就集中于通道信息,輸入通道擴(kuò)充了4倍,拼接起來(lái)的特征層由原3個(gè)通道變成12個(gè)通道。Focus結(jié)構(gòu)其實(shí)就是進(jìn)行了一個(gè)下采樣操作,但該過(guò)程與其他方法相比沒(méi)有進(jìn)行任何計(jì)算,從而減少了模型進(jìn)行推理時(shí)所需要的計(jì)算開銷。
圖4 Focus結(jié)構(gòu)
經(jīng)過(guò)Focus結(jié)構(gòu)后,模型再通過(guò)卷積層和CSP結(jié)構(gòu)的堆疊,不斷地提取特征,在進(jìn)入最后一個(gè)CSP結(jié)構(gòu)之前,模型通過(guò)了一個(gè)SSP結(jié)構(gòu)的處理,SSP結(jié)構(gòu)有點(diǎn)類似于GoogleNet[13]中使用的Inception結(jié)構(gòu),如圖5所示,通過(guò)使用不同的池化核大小的max-pooling進(jìn)行特征提取,提高網(wǎng)絡(luò)的感受野。
圖5 SSP結(jié)構(gòu)
煙火檢測(cè)模型neck網(wǎng)絡(luò)基于圖像特征金字塔網(wǎng)絡(luò)FPN[14]搭建,F(xiàn)PN能融合不同尺度的特征圖,從而得到不同尺度的目標(biāo)預(yù)測(cè)結(jié)構(gòu)。煙火檢測(cè)任務(wù)需要在煙火目標(biāo)還小時(shí)或煙火目標(biāo)被遮擋時(shí)也能準(zhǔn)確及時(shí)地檢測(cè)到,從而減少損失。CNN在進(jìn)行特征提取時(shí)會(huì)不斷地進(jìn)行下采樣,從而使最后獲得的特征圖上的一個(gè)點(diǎn)對(duì)應(yīng)原始圖像中的32×32或更多像素,于是一些小于32×32個(gè)像素的目標(biāo)就很難被檢測(cè)出來(lái)。但之前的卷積層所獲得的特征圖,還存在著較多的細(xì)節(jié)特征,如果將前面卷積層所保留的細(xì)節(jié)特征和最后的語(yǔ)義特征進(jìn)行綜合,就可以獲得小目標(biāo)的相關(guān)特征,從而檢測(cè)到原始圖片上所存在的小目標(biāo)。
圖6為基于FPN而構(gòu)建的neck網(wǎng)絡(luò),neck網(wǎng)絡(luò)將backbone網(wǎng)絡(luò)獲得的特征圖進(jìn)行兩次上采樣,然后與backbone網(wǎng)絡(luò)對(duì)應(yīng)大小的特征圖進(jìn)行拼接,每次拼接后均經(jīng)過(guò)一次CSP結(jié)構(gòu)處理。經(jīng)過(guò)兩次上采樣將細(xì)節(jié)特征與語(yǔ)義特征融合獲得特征圖1后,再進(jìn)行兩次下采樣,每次下采樣后的結(jié)果在與上采樣之前的對(duì)應(yīng)大小的特征圖進(jìn)行拼接,拼接后的特征圖分別經(jīng)過(guò)一次CSP結(jié)構(gòu)處理獲得特征圖2和3。1,2和3分別為3個(gè)不同大小尺度的特征圖,1檢測(cè)小目標(biāo),2檢測(cè)中目標(biāo),3檢測(cè)大目標(biāo)。
Head網(wǎng)絡(luò)對(duì)neck網(wǎng)絡(luò)得到的3個(gè)不同尺度的特征圖分別進(jìn)行回歸分析,其網(wǎng)絡(luò)結(jié)構(gòu)如圖7所示。
Head網(wǎng)絡(luò)首先通過(guò)一個(gè)1×1的卷積將每個(gè)特征圖的通道數(shù)減少到256,然后通過(guò)2個(gè)平行的分支進(jìn)行兩次3×3卷積后分別進(jìn)行分類和回歸,同時(shí)在回歸的分支加了一個(gè)IoU的分支。于是對(duì)于每一個(gè)特征層,均可獲得3個(gè)預(yù)測(cè)結(jié)果:
(1) Reg_output(,,4)。對(duì)目標(biāo)框的位置信息進(jìn)行預(yù)測(cè),4個(gè)參數(shù)分別為,,,,其中和為預(yù)測(cè)框的中心點(diǎn)的坐標(biāo);和為預(yù)測(cè)框的寬和高。
(2) Obj_output(,,1)。用于判斷目標(biāo)框是前景還是背景,經(jīng)過(guò)Sigmoid函數(shù)處理后,即為前景的置信度。
(3) Cls_output(,,)。判斷目標(biāo)框內(nèi)屬性,給每類目標(biāo)一個(gè)分?jǐn)?shù),經(jīng)過(guò)Sigmoid函數(shù)處理后可得到每一類目標(biāo)的置信度。
將3個(gè)預(yù)測(cè)結(jié)果進(jìn)行堆疊,每個(gè)特征層獲得的結(jié)果為Output(,,4+1+),其中前4個(gè)參數(shù)判斷每一個(gè)目標(biāo)框的位置信息;第5個(gè)參數(shù)判斷目標(biāo)框內(nèi)是否包含物體;最后個(gè)參數(shù)判斷目標(biāo)框內(nèi)所包含的物體種類。
圖6 煙火檢測(cè)模型的neck網(wǎng)絡(luò)
圖7 煙火檢測(cè)模型head網(wǎng)絡(luò)部分[9]
數(shù)據(jù)增強(qiáng)是計(jì)算機(jī)視覺(jué)中一種擴(kuò)充數(shù)據(jù)集的手段,可對(duì)圖像進(jìn)行數(shù)據(jù)增強(qiáng),從而彌補(bǔ)訓(xùn)練圖像數(shù)據(jù)集不足,達(dá)到對(duì)訓(xùn)練數(shù)據(jù)擴(kuò)充的目的。在本文的煙火模型中,可使用Mosaic算法和Mixup[15]算法進(jìn)行數(shù)據(jù)增強(qiáng)。
Mosaic算法的增強(qiáng)效果如圖8所示,將4張圖像進(jìn)行隨機(jī)的裁剪縮放,然后將其拼接在一起,這樣做的好處有:①縮小圖片中的目標(biāo)以滿足本文對(duì)小目標(biāo)精度的要求;②增加背景的復(fù)雜度。火災(zāi)發(fā)生地的背景往往十分復(fù)雜,需要模型對(duì)復(fù)雜的背景擁有較好的魯棒性。
圖8 Mosaic數(shù)據(jù)增強(qiáng)算法((a)煙火數(shù)據(jù)集中的4張隨機(jī)圖像;(b)拼接后的圖像)
另一種數(shù)據(jù)增強(qiáng)算法Mixup源自于圖像分類任務(wù),可將2個(gè)不同分類的數(shù)據(jù)進(jìn)行混合,以達(dá)到混合增強(qiáng)的目的,Mixup算法可以在幾乎不增加任何計(jì)算的基礎(chǔ)上,穩(wěn)定提高一個(gè)百分點(diǎn)的分類精度。假如x是一個(gè)batch的樣本,而x是另一個(gè)batch的樣本,其標(biāo)簽分別是y和y,選取一個(gè)由參數(shù)和確定的Beta分布計(jì)算得到混合參數(shù),再計(jì)算混合batch和標(biāo)簽。
Mixup算法可以描述為
目標(biāo)檢測(cè)任務(wù)是檢測(cè)出目標(biāo)并進(jìn)行定位,而損失函數(shù)的功能則是讓檢測(cè)的準(zhǔn)確率更高、定位更精確,且需要指出的是,預(yù)測(cè)框與真實(shí)框的接近程度、預(yù)測(cè)框中是否含有需要檢測(cè)的目標(biāo)以及目標(biāo)類別是否是真實(shí)的類別。損失函數(shù)和模型的預(yù)測(cè)結(jié)果相同,主要由3部分組成:①回歸損失,由模型預(yù)測(cè)出的,,,可以定位預(yù)測(cè)框的位置,利用真實(shí)框和預(yù)測(cè)框計(jì)算IoU損失,作為回歸損失的Loss組成;②目標(biāo)損失,根據(jù)模型預(yù)測(cè)出的特征點(diǎn)可知是否包含目標(biāo),而所有真實(shí)框?qū)?yīng)的特征點(diǎn)均是正樣本,剩余點(diǎn)均為負(fù)樣本,根據(jù)正負(fù)樣本和特征點(diǎn)是否包含目標(biāo)的預(yù)測(cè)結(jié)果計(jì)算交叉熵?fù)p失,作為目標(biāo)損失的Loss組成;③分類損失,根據(jù)模型預(yù)測(cè)出特征點(diǎn),從中提取該特征點(diǎn)所預(yù)測(cè)的種類結(jié)果,然后根據(jù)真實(shí)框的種類和特征點(diǎn)的種類預(yù)測(cè)結(jié)果計(jì)算交叉熵?fù)p失,作為分類損失的Loss組成。
對(duì)于回歸損失,采用DIoU[16]代替IoU來(lái)計(jì)算損失值,IoU所度量的是預(yù)測(cè)框與真實(shí)框之間的交并比。但如果預(yù)測(cè)框與真實(shí)框之間沒(méi)有交集,那IoU的計(jì)算結(jié)果就會(huì)一直為0,而且當(dāng)2個(gè)框中一個(gè)在另一個(gè)內(nèi)部時(shí),則框的大小不變,那么計(jì)算出的IoU值也不會(huì)發(fā)生變化,這樣模型將難以進(jìn)行優(yōu)化。圖9為DIoU計(jì)算回歸損失的原理,相應(yīng)的計(jì)算為
其中,c為預(yù)測(cè)框與真實(shí)框并集的外接矩形對(duì)角線距離;d為預(yù)測(cè)框與真實(shí)框的中心點(diǎn)距離,即使2個(gè)框沒(méi)有交集也不會(huì)使損失值為0,且當(dāng)2個(gè)框其中一個(gè)在另一個(gè)內(nèi)部時(shí),也可以獲得很好地度量效果。
為了提高模型對(duì)小目標(biāo)的檢測(cè)效果,將目標(biāo)損失中的交叉熵?fù)p失改為使用Focal Loss[17]損失函數(shù),即
當(dāng)分類為正樣本時(shí),損失函數(shù)為-log?,反之,損失函數(shù)為-log (1-?)。損失函數(shù)需對(duì)所有的樣本均采用同樣的損失度量方式,然而在實(shí)際的預(yù)測(cè)中,小目標(biāo)總是比大目標(biāo)難以預(yù)測(cè),因此小目標(biāo)所獲得的預(yù)測(cè)概率總是比較低,交叉熵?fù)p失函數(shù)并提高對(duì)小目標(biāo)的預(yù)測(cè)精度。而Focal Loss損失函數(shù)為
Focal Loss損失函數(shù)使用一個(gè)超參數(shù)來(lái)控制模型對(duì)小目標(biāo)的偏向程度,當(dāng)預(yù)測(cè)的結(jié)果?趨近于1時(shí),在經(jīng)過(guò)1-?的指數(shù)運(yùn)算后,損失函數(shù)的結(jié)果會(huì)比較小,若預(yù)測(cè)的結(jié)果?比較小,則可獲得比較大的損失值。大目標(biāo)的檢測(cè)對(duì)于模型來(lái)說(shuō)比較容易,大目標(biāo)的預(yù)測(cè)值一般會(huì)比較大,而小目標(biāo)的檢測(cè)則不易,所以小目標(biāo)的預(yù)測(cè)值一般會(huì)偏小,經(jīng)過(guò)Focal Loss損失函數(shù)的計(jì)算,小目標(biāo)會(huì)獲得相對(duì)比較大的損失值,因此模型會(huì)偏向于提高自身對(duì)小目標(biāo)的預(yù)測(cè)能力。
目前尚未見(jiàn)煙火的公開數(shù)據(jù)集,所以本文收集了2 153張圖像作為煙火檢測(cè)的實(shí)驗(yàn)數(shù)據(jù)集。圖10為數(shù)據(jù)集中的部分圖像,其中包括面積比較大和面積比較小的火焰目標(biāo)。使用LabelImg軟件將圖像進(jìn)行標(biāo)注后轉(zhuǎn)換成VOC數(shù)據(jù)集格式,分別使用“smoke”和“fire”對(duì)目標(biāo)進(jìn)行標(biāo)注。
圖10 煙火檢測(cè)數(shù)據(jù)集中的部分圖像
由于煙火數(shù)據(jù)集的樣本數(shù)并不多,模型訓(xùn)練后的泛化性能不強(qiáng)導(dǎo)致檢測(cè)效果不高。因此采用目前比較有效的遷移學(xué)習(xí)策略來(lái)解決數(shù)據(jù)集匱乏的問(wèn)題,采用在大型數(shù)據(jù)集ImageNet上預(yù)訓(xùn)練的參數(shù)作為模型的初始化參數(shù)。此外,為了充分利用數(shù)據(jù)集并防止過(guò)擬合,采用交叉驗(yàn)證的方法對(duì)模型進(jìn)行訓(xùn)練,將訓(xùn)練集分成6份,逐次選取其中1份作為驗(yàn)證集,其他5份作為訓(xùn)練集,一共訓(xùn)練180個(gè)epoch,最后將所有訓(xùn)練集一起訓(xùn)練20個(gè)epoch。其中,訓(xùn)練的前180輪使用Mosaic和Mixup數(shù)據(jù)增強(qiáng)算法,后20輪取消使用數(shù)據(jù)增強(qiáng)算法。
目標(biāo)檢測(cè)網(wǎng)絡(luò)的性能評(píng)價(jià)指標(biāo)采用平均精度均值(mean average precision,mAP),計(jì)算預(yù)測(cè)的各個(gè)類別目標(biāo)在查全率和查準(zhǔn)率下面積的平均值,即
其中,為真正例,即預(yù)測(cè)框與真實(shí)框的IoU≥0.5的目標(biāo)個(gè)數(shù);為假正例,即預(yù)測(cè)框與真實(shí)框的IoU<0.5的目標(biāo)個(gè)數(shù);為假負(fù)例,即未預(yù)測(cè)出目標(biāo)個(gè)數(shù)。
實(shí)驗(yàn)中的超參數(shù)設(shè)置為:學(xué)習(xí)率0.001,一個(gè)batch的大小為8,迭代次數(shù)epoch為200。
表1為本文使用的煙火模型的檢測(cè)結(jié)果。由表1可知改進(jìn)后mAP值為78.36%,相比基礎(chǔ)的YOLOX模型提高了4.2%,其中煙霧和火焰的P-R曲線分別如圖11和圖12所示,圖中,P-R曲線與坐標(biāo)軸圍成的面積為AP值,可以得出煙霧和火焰的AP值分別為81.42%和75.30%。
表1 在煙火數(shù)據(jù)集上檢測(cè)網(wǎng)絡(luò)的實(shí)驗(yàn)結(jié)果對(duì)比(%)
圖11 煙霧P-R曲線
圖12 火焰P-R曲線
對(duì)模型進(jìn)行訓(xùn)練后,本文使用實(shí)際場(chǎng)景中的火焰圖像進(jìn)行測(cè)試。圖13和圖14分別為原始模型和本文改進(jìn)后模型在消防演練圖像上的檢測(cè)結(jié)果,可以看出,改進(jìn)后的模型不僅能檢測(cè)出原始模型能檢測(cè)出的煙火大目標(biāo),還能檢測(cè)出原始YOLOX模型未檢測(cè)出的,圖像左側(cè)面積極小的火焰目標(biāo)。因此本文使用的煙火檢測(cè)模型不僅能準(zhǔn)確地識(shí)別出大面積火焰,而且對(duì)小面積的火焰也具有很好地檢測(cè)效果,可以及時(shí)發(fā)現(xiàn)火災(zāi)產(chǎn)生的信息,從而做出預(yù)警。
圖13 原始模型在消防演練圖像上的檢測(cè)結(jié)果
圖14 改進(jìn)模型在消防演練圖像上的檢測(cè)結(jié)果
本文主要研究的是煙火檢測(cè)尤其是對(duì)小目標(biāo)煙火以及被遮擋住的煙火的檢測(cè)。通過(guò)使用交叉驗(yàn)證提高模型的泛化能力,通過(guò)使用FPN特征金字塔網(wǎng)絡(luò)提高模型對(duì)小目標(biāo)的檢測(cè)能力,通過(guò)使用Focal Loss提高模型對(duì)小目標(biāo)的學(xué)習(xí)偏好,通過(guò)使用Gelu和DIoU提高模型的收斂速度。最終在煙火數(shù)據(jù)集上獲得了78.36%的mAP值,相比原始模型提高了4.2%。在實(shí)際火災(zāi)的測(cè)試中也能精確地檢測(cè)出不同面積的火焰,本文使用的煙火檢測(cè)模型能夠?qū)熁疬M(jìn)行實(shí)時(shí)地檢測(cè),并在火災(zāi)初發(fā)時(shí)就能檢測(cè)出小面積的火焰,能滿足火災(zāi)預(yù)警對(duì)實(shí)時(shí)性和準(zhǔn)確性的要求。
[1] 韓美林, 張文文. 基于視頻圖像的多特征融合的森林煙火檢測(cè)系統(tǒng)研究[J]. 無(wú)線互聯(lián)科技, 2021, 18(17): 67-68.
HAN M L, ZHANG W W. Research on forest fireworks detection system of multiple characteristic fusion based on video image[J]. Wireless Internet Technology, 2021, 18(17): 67-68 (in Chinese).
[2] 嚴(yán)成, 何寧, 龐維慶, 等. 基于視覺(jué)傳感的地面煙火監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J]. 廣西大學(xué)學(xué)報(bào): 自然科學(xué)版, 2019, 44(5): 1290-1295.
YAN C, HE N, PANG W Q, et al. Design of ground pyrotechnic monitoring system based on visual sensing[J]. Journal of Guangxi University: Natural Science Edition, 2019, 44(5): 1290-1295 (in Chinese).
[3] GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//2014 IEEE Conference on Computer Vision and Pattern Recognition. New York: IEEE Press, 2014: 580-587.
[4] GIRSHICK R . Fast R-CNN [EB/OL]. (2015-9-27) [2022-01- 15]. https://arxiv.org/abs/1504.08083v2.
[5] REN S Q, HE K M, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149.
[6] LIU W, ANGUELOV D, ERHAN D, et al. Ssd: single shot multibox detector[C]//The 2016 European Conference on Computer Vision. New York: IEEE Press, 2016: 21-37.
[7] REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: unified, real-time object detection[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition. New York: IEEE Press, 2016: 779-788.
[8] LIU Z, LIN Y T, CAO Y, et al. Swin transformer: hierarchical vision transformer using shifted windows[C]//2021 IEEE/CVF International Conference on Computer Vision. New York: IEEE Press, 2021: 9992-10002.
[9] GE Z, LIU S T, WANG F, et al. YOLOX: exceeding YOLO Series in 2021 [EB/OL]. (2021-08-6) [2022-01-15].https:// arxiv.org/abs/2107.08430,2021.
[10] CHOI J, CHUN D, KIM H, et al. Gaussian YOLOv3: an accurate and fast object detector using localization uncertainty for autonomous driving[C]//2019 IEEE/CVF International Conference on Computer Vision. New York: IEEE Press, 2019: 502-511.
[11] HE K M, ZHANG X Y, REN S Q, et al. Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition. New York: IEEE Press, 2016: 770-778.
[12] HENDRYCKS D, GIMPEL K. Gaussian error linear units (GELUs)[EB/OL]. [2021-10-09]. https://arxiv.org/abs/1606. 08415.
[13] SZEGEDY C, LIU W, JIA Y, et al. Going deeper with convolutions[EB/OL]. [2021-09-10]. https://www.docin.com/p-1257582907.
[14] LIN T Y, DOLLáR P, GIRSHICK R, et al. Feature pyramid networks for object detection[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition. New York: IEEE Press, 2017: 936-944.
[15] ZHANG H, CISSE M, DAUPHIN Y N, et al. mixup: beyond empirical risk minimization[EB/OL]. (2018-04-27) [2022-01- 15]. https://arxiv.org/abs/1710.09412v2.
[16] ZHENG Z H, WANG P, LIU W, et al. Distance-IoU loss: faster and better learning for bounding box regression[J]. The 2020 AAAI Conference on Artificial Intelligence,2020, 34(7): 12993-13000.
[17] LIN T Y, GOYAL P, GIRSHICK R, et al. Focal loss for dense object detection[C]//2017 IEEE International Conference on Computer Vision. New York: IEEE Press, 2017: 2999-3007.
Research and realization of small target smoke and fire detection technology based on YOLOX
ZHAO Hui1, ZHAO Yao1, JIN Lin-lin1, DONG Lan-fang2, XIAO Xiao2
(1. Bozhou Electric Power Supply Company, State Grid Anhui Electric Power Company, Bozhou Anhui 236800, China; 2. School of Computer Science and Technology, University of Science and Technology of China, Hefei Anhui 230026, China)
Fire is one of the most common social disasters in daily life, which will pose an enormous threat to human property and life safety. How to accurately and quickly identify small areas of smoke and fire and issue early warnings in real time is important for normal social production significance. The traditional smoke and fire detection algorithm identifies the location of smoke and fire based on various low-dimensional visual features of the images, such as color and texture, so it is of poor real-time performance and low accuracy. In recent years, deep learning has made remarkable achievements in the field of target detection, and various smoke and fire detection methods based on deep neural networks have sprung up one after another. In the case of small areas of smoke and fire, timely identification and early warning should be made to avoid greater economic losses caused by the expansion of the fire. In this regard, based on the YOLOX model, the activation function and loss function were improved, and a superior small target detection algorithm was realized by combining the data augmentation algorithm and cross-validation training method, and the mAP value of 78.36% was obtained on the smoke and fire detection data set. Compared with the original model, it was enhanced by 4.2%, yielding a better effect of small target detection effect.
smoke and fire detection; small target detection; deep learning; data augmentation; YOLOX
TP 391
10.11996/JG.j.2095-302X.2022050783
A
2095-302X(2022)05-0783-08
2022-01-21;
2022-05-17
21 January,2022;
17 May,2022
國(guó)網(wǎng)安徽省電力有限公司科技項(xiàng)目(5212T02001CM)
State Grid Anhui Electric Power Co., Ltd. Science and Technology Project (5212T02001CM)
趙 輝(1983-),男,高級(jí)工程師,學(xué)士。主要研究方向?yàn)閳D像處理、視頻圖像智能分析。E-mail:5659020@qq.com
ZHAO Hui (1983-), senior engineer, bachelor. His main research interests cover image processing and intelligent analysis of video images. E-mail:5659020@qq.com
金林林(1990-),男,工程師,學(xué)士。主要研究方向?yàn)殡娏φ{(diào)度運(yùn)行、無(wú)功電壓電力系統(tǒng)及其自動(dòng)化。E-mail:jll90315@163.com
JIN Lin-lin (1990-), engineer, bachelor. His main research interests cover power dispatching operation,reactive voltage power system and automation. E-mail:jll90315@163.com