孫維亞,陳愷鑫,吳 銘,王 丹,杜立軒,馬占宇
(1.南水北調(diào)中線建管局,北京 100053;2.北京郵電大學(xué)人工智能學(xué)院,北京 100876;3.南水北調(diào)中線信息科技有限公司,北京 100053)
現(xiàn)實場景中的火焰檢測在科學(xué)研究領(lǐng)域和實際應(yīng)用場景中都具有重大意義。本文主要目的是設(shè)計出高效可應(yīng)用的檢測算法,因此本文以南水北調(diào)中線干線工程智能視頻監(jiān)控數(shù)據(jù)為研究背景,聚焦到實際場景。南水北調(diào)中線干線工程是一項跨流域、長距離的特大型、綜合性調(diào)水工程,各站配備了包括啟閉機、柴油發(fā)電機、網(wǎng)絡(luò)交換機、大型計算機房及高壓電源等設(shè)備設(shè)施。對于這些設(shè)備而言,火災(zāi)是最常見的嚴(yán)重危害之一,它會造成不可逆轉(zhuǎn)的嚴(yán)重危害,是中線工程中重點防范的災(zāi)害。
現(xiàn)有的火災(zāi)報警大多依賴于煙霧報警器和紅外傳感器,這些物理傳感器的覆蓋范圍十分有限,且易受到外界干擾,諸如大型室內(nèi)倉庫或室外場景均無法有效報警,對應(yīng)用場景要求較高[1]。采用基于紫外線或紅外線的光譜傳感器會受到大型電子設(shè)備和其他光傳感器的影響,可靠性不高,不能滿足安全管控需求[2]?;谝曨l監(jiān)控的火焰檢測系統(tǒng)可以對攝像頭覆蓋的區(qū)域進(jìn)行實時火焰檢測,覆蓋范圍更廣,檢測效率更快,而且基本不會受到溫度等自然因素的影響,在實際安全監(jiān)控中具有重要意義。
基于視頻的火焰檢測可以分為兩類。第一類是傳統(tǒng)的機器學(xué)習(xí)方法,利用人為設(shè)定的特征對火焰進(jìn)行檢測[3?7]。這些傳統(tǒng)檢測方法統(tǒng)計火焰的色彩、運動情況以及邊緣及紋理等特征,并針對這些特征設(shè)計檢測方式。但是大多數(shù)人為特征沒有平移、旋轉(zhuǎn)和縮放不變性,當(dāng)背景發(fā)生變化時,算法魯棒性不足,因此效果都不甚理想。第二類是基于深度學(xué)習(xí)的方法。隨著深度學(xué)習(xí)技術(shù)的出現(xiàn)及普及,一些研究者開始選擇用深度神經(jīng)網(wǎng)絡(luò)提取有用的特征來進(jìn)行火焰檢測,將火災(zāi)檢測視為目標(biāo)檢測任務(wù),利用成熟的神經(jīng)網(wǎng)絡(luò)進(jìn)行檢測,算法準(zhǔn)確率更高,魯棒性更好[8?11]。這些方法分別通過反向傳播神經(jīng)網(wǎng)絡(luò)、前饋神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)解決了基于人為特征火焰檢測算法準(zhǔn)確率低和魯棒性差的問題。
本文將上述兩類方法結(jié)合,提出了一種結(jié)合動靜特征的室內(nèi)火焰檢測系統(tǒng)。該系統(tǒng)的核心模塊共分為2部分:(1)針對火焰的靜態(tài)圖像特征,在圖像中定位火焰,為了到達(dá)較好的檢測效果,該部分利用神經(jīng)網(wǎng)絡(luò);(2)運動檢測模塊,加入火焰運動特征,消除虛警。由于本文研究擁有視頻資源,可獲取連續(xù)相鄰的視頻幀,結(jié)合火焰閃爍搖晃的運動特性,對所有的疑似火焰報警進(jìn)行篩選,進(jìn)一步判斷是否為火焰,這樣可以極大地避免與火焰相似的靜態(tài)物體所觸發(fā)的誤報,提高算法的準(zhǔn)確率。
火焰檢測安全監(jiān)控系統(tǒng)在實際應(yīng)用中往往需要能夠滿足多路運行的條件,因此除了準(zhǔn)確率,硬件資源也是重要決定因素。神經(jīng)網(wǎng)絡(luò)模型在圖形處理器(Graphics processing unit,GPU)下運行可以發(fā)揮更好的效果,但普通GPU緩存有限,無法支持多路運行。相比之下,中央處理器(Central processing unit,CPU)具有多核獨立運行的特點,可以滿足系統(tǒng)多路運行的要求,也能夠?qū)崿F(xiàn)對現(xiàn)有CPU服務(wù)器的利舊。本文算法針對CPU平臺進(jìn)行一定優(yōu)化,使得該系統(tǒng)可以在同時多路運行的情況下保證較好的檢測準(zhǔn)確率和實時性,具有較好的實際應(yīng)用效果。除去檢測部分,本文還完成了獲取實時視頻幀的程序,與檢測模塊結(jié)合完成整套火焰檢測系統(tǒng)。此外,為了進(jìn)行有效的實驗,本文創(chuàng)建了一份標(biāo)注完善的火焰數(shù)據(jù)集。
本文提出的基于視頻的實時火焰檢測系統(tǒng)主要分為2個主要部分:第1部分負(fù)責(zé)獲取攝像機中的視頻幀;第2部分負(fù)責(zé)進(jìn)行火焰檢測。檢測算法首先利用卷積神經(jīng)網(wǎng)絡(luò)做目標(biāo)檢測,識別并定位火焰,再通過運動檢測對候選區(qū)域進(jìn)行篩選,最終獲得檢測結(jié)果。本文還針對CPU進(jìn)行了優(yōu)化,使其更具實際意義。
為了實現(xiàn)實時火焰檢測的功能,本文系統(tǒng)分為2條支路,整體結(jié)構(gòu)如圖1所示。圖1中,視頻讀取模塊與檢測模塊在2個線程中獨立運行,這樣設(shè)計的原因是如果順序運行2個模塊會出現(xiàn)檢測延遲問題。視頻提取模塊為了保證視頻連續(xù)性,內(nèi)置緩沖空間,從與攝像頭建立連接開始便自動緩存視頻圖像。如果應(yīng)用在同一個線程中,檢測模塊會占用一定的時間,而這段時間緩沖區(qū)內(nèi)一直在緩存圖像,讀取時會從緩存區(qū)域內(nèi)第1張開始讀取,這樣下一次檢測讀取到的圖片依舊是第1次存入的圖片,與當(dāng)前實際時間就會有一定延遲,無法達(dá)到實時效果。本文采用雙線程設(shè)計模式,創(chuàng)建獨立的緩沖區(qū)域,獲取視頻幀的線程負(fù)責(zé)將視頻提取模塊緩存區(qū)內(nèi)的圖像讀取出來,并覆蓋式地存入獨立的緩沖區(qū)內(nèi),使得本文創(chuàng)建的緩沖區(qū)內(nèi)永遠(yuǎn)都是實時的圖像。檢測線程在獨立緩沖區(qū)內(nèi)讀取圖片,確保檢測的實時性。
圖1 系統(tǒng)的整體結(jié)構(gòu)Fig.1 Overall structure of the system
對于火焰檢測這種安全檢測,檢測的效率與警報的準(zhǔn)確性都十分重要,因此模型的實時性和準(zhǔn)確率成為選擇模型的重要指標(biāo)。目前已經(jīng)成熟的目標(biāo)檢測模型可按照運行流程分為單階段網(wǎng)絡(luò)和雙階段網(wǎng)絡(luò),雙階段目標(biāo)檢測網(wǎng)絡(luò),諸如RCNN[12]、Fast RCNN[13]和Faster RCNN[14]等,檢測時間較長但準(zhǔn)確率較高;單階段網(wǎng)絡(luò),諸如Yolo[15]、Yolov3[16]、SDD[17]和Retina Net[18]等,速度快但準(zhǔn)確率不理想。由于本系統(tǒng)是應(yīng)用在視頻監(jiān)控中,可以在一定時間內(nèi)檢測多次,準(zhǔn)確率的要求可以適當(dāng)降低,因此為了滿足實時性要求,本文選擇在單階段網(wǎng)絡(luò)中挑選模型作為基線模型。深度檢測模型可表示為
式中:x、y分別代表目標(biāo)框左上角點橫縱坐標(biāo);w、h表示目標(biāo)框?qū)挾扰c目標(biāo)框高度;NMS為非極大值抑制,過濾同一目標(biāo)多個檢測框,保留得分最高者;CNN為卷積神經(jīng)網(wǎng)絡(luò);I為輸入圖片。
本文對現(xiàn)有較為成熟的網(wǎng)絡(luò)進(jìn)行了對比實驗。根據(jù)實驗結(jié)果,本文選擇Yolov3作為目標(biāo)檢測基線模型。這是由于Yolov3整體網(wǎng)絡(luò)結(jié)構(gòu)采用了類似特征金字塔網(wǎng)絡(luò)[19]的上采樣和多尺度特征融合,具有更豐富的語義信息,同時圖像細(xì)節(jié)丟失的深層特征與包含更多局部細(xì)節(jié)特征的淺層特征圖進(jìn)行融合,獲得既有語義信息又具有局部信息特征圖,可以實現(xiàn)對不同尺度目標(biāo)檢測的效果。特殊的網(wǎng)絡(luò)結(jié)構(gòu)使其可以對小目標(biāo)物體也具有較好的識別能力,可以在火苗較小時及時發(fā)現(xiàn)并及時報警。雖然準(zhǔn)確率相比于雙階段網(wǎng)絡(luò)較差,但由于本文系統(tǒng)應(yīng)用于視頻檢測中,單階段網(wǎng)絡(luò)所具有的速度優(yōu)勢可以幫助其在相同時間內(nèi)檢測多幀視頻圖像,從而彌補準(zhǔn)確率的不足。
本文火焰檢測算法基于實時視頻進(jìn)行檢測,由于火焰形狀不確定,在實際應(yīng)用場景中,室內(nèi)的陽光、紅色的燈等都對算法有一定的欺騙性。此外,由于無法達(dá)到百分百的準(zhǔn)確率,經(jīng)過一天不間斷的檢測也會出現(xiàn)一部分誤報,如圖2所示。為了盡量消除這些誤報,本文嘗試在算法中增加一些后處理操作。由于火焰是運動的,而本文研究又擁有視頻資源,可以對相鄰幾幀進(jìn)行操作,因此選擇利用運動檢測,對目標(biāo)區(qū)域進(jìn)行檢測判斷是否發(fā)生運動,可以過濾掉一些靜態(tài)的誤報。
圖2 錯誤檢測結(jié)果樣例Fig.2 Some false detection results
運動目標(biāo)檢測涉及多步圖像處理操作,具體流程如下:首先去除圖像背景,將1組相鄰視頻圖像作為輸入;然后采用基于高斯混合模型[20]的運動目標(biāo)檢測算法提取運動區(qū)域,剔除背景并最終輸出最后1幀圖像中的運動區(qū)域,輸出格式為灰度圖。高斯混合模型是由K個單高斯模型組合而成,原始單高斯模型表達(dá)式為
式中:μ為數(shù)據(jù)期望;σ為數(shù)據(jù)標(biāo)準(zhǔn)差。在火焰檢測任務(wù)中圖像數(shù)據(jù)為多維數(shù)據(jù),因此高斯模型轉(zhuǎn)變?yōu)?/p>
式中:Σ為數(shù)據(jù)協(xié)方差;D為數(shù)據(jù)維度。本文可以進(jìn)一步得到高斯混合模型的數(shù)學(xué)表達(dá)式為
由于本文要獲取火焰的運動區(qū)域,而火焰的顏色基本都趨于明亮,因此將閾值設(shè)定為(50~100),這樣過濾掉一些非火焰的運動區(qū)域。然后對圖像進(jìn)行腐蝕和膨脹,腐蝕是為了讓圖像邊緣更加平滑,剔除微小的噪聲,膨脹是為了使區(qū)域更加連貫,對處理后的結(jié)果查找圖像輪廓,獲取一系列候選運動區(qū)域。最后對圖像輪廓進(jìn)行尺寸篩選,由于火焰尺寸不會太小,因此剔除像素尺寸較小的候選框,最后得到的結(jié)果便是視頻中的運動區(qū)域。運動檢測模塊處理流程可視化效果如圖3所示。
圖3 運動目標(biāo)檢測流程圖Fig.3 Flow chart of motion detection
運動檢測方式是將運動區(qū)域與檢測結(jié)果做比較,如果檢測的火焰位置與運動區(qū)域重合,則認(rèn)為該部分為火焰,否則認(rèn)為是靜態(tài)的誤檢。判斷重合即計算火焰的邊界框(Bounding box,B?box)與運動區(qū)域的交并比(Intersection?over?union,IOU),表達(dá)式為
式中:Si表示交集面積;S1和S2表示2個被計算框面積。由于運動檢測主要作用是過濾誤檢,為了防止過濾掉正確的檢測結(jié)果,不要求2個候選框處于包含狀態(tài),而是當(dāng)交并比達(dá)到一定閾值時便認(rèn)為二者包含區(qū)域相同,屬于重疊狀態(tài),即可以認(rèn)為是火焰。
本文系統(tǒng)運行效果主要依靠CPU,因此模型的選擇和優(yōu)化都需滿足CPU的性能。由于采用Py?torch加載模型的方式在CPU上會占用大量的硬件資源,導(dǎo)致運行速率受到嚴(yán)重影響,而利用OpenCV中的DNN模塊加載模型可以避免這一問題,所以本文將目標(biāo)檢測網(wǎng)絡(luò)按照Open CV的加載方式進(jìn)行了調(diào)整,更改了參數(shù)模型以及配置文件,使得本文系統(tǒng)可以在CPU上順利運行。
在常規(guī)的目標(biāo)檢測對比實驗中,通常選擇準(zhǔn)確率與誤報率的綜合評價結(jié)果平均準(zhǔn)確率(Average precision,AP)作為評價指標(biāo),但對于安全檢測系統(tǒng),準(zhǔn)確率、召回率和誤報率都十分重要。因此,本文實驗采用主要評價指標(biāo)包括準(zhǔn)確率、召回率和誤報率。
(1)準(zhǔn)確率
準(zhǔn)確率P表示被判別為正確目標(biāo)數(shù)量在所有正確目標(biāo)中所占的比例。通常來說,準(zhǔn)確率越高,模型的檢測效果越好,計算公式為
式中:TP為有火焰且判斷為火焰的數(shù)量;FP為無火焰但判斷為有火焰的誤報數(shù)量。
(2)召回率
召回率R是算法對正例敏感性的評價指標(biāo),度量有多少個正例被成功檢測。召回率可以幫助度量模型發(fā)生漏報的情況,計算公式為
式中:FN表示未被檢測到的正確示例,即有火焰的漏報。
(3)誤報率
誤報率ER是描述檢測錯誤的比例,為被判斷錯誤的目標(biāo)數(shù)與所有樣本數(shù)的比值,計算公式為
式中:TN表示將負(fù)類預(yù)測為負(fù)類數(shù)。
為了完成實驗,本文創(chuàng)建了一份包含圖片與視頻的火焰數(shù)據(jù)集FDD,其中數(shù)據(jù)來源分為2種。第1種來源于網(wǎng)絡(luò)視頻,本文在網(wǎng)絡(luò)上選取了一些不同場景的室內(nèi)著火的視頻,截取出實驗所需的圖片構(gòu)成數(shù)據(jù)集圖像部分,原視頻也保存為數(shù)據(jù)集中的視頻部分。由于同一視頻的背景一般保持不變,因此只是挑選火焰形態(tài)有明顯變化的圖像作為數(shù)據(jù)。第2種是在實際場景中多種不同房間內(nèi)點火,按照實驗要求創(chuàng)造一些新的室內(nèi)著火數(shù)據(jù),同樣分別按照視頻與圖像進(jìn)行存儲。由于圖像來源不一,共有3種尺寸,分別為960像素×540像素、1 280像素×720像素和1 920像素×1 080像素。經(jīng)過篩選和標(biāo)注后,數(shù)據(jù)集共包含2 487張圖像,其中2 048張正樣本、439張負(fù)樣本。數(shù)據(jù)集中的正樣本包括房屋著火、家用燃?xì)狻㈦娖髦鸷湍咎咳紵榷喾N情況,能夠使模型更好地學(xué)習(xí)到火焰的本質(zhì)特征,而不會局限于某一種燃料燃燒時的火焰。負(fù)樣本也均為類似火焰的燈光或陽光投影,可以有效降低該類物體的干擾,降低模型的誤報率,正負(fù)樣本比例約為8∶2。數(shù)據(jù)集按照8∶2的比例分為訓(xùn)練集和驗證機,即1 990張訓(xùn)練集、497張驗證集。數(shù)據(jù)集部分圖片樣本如圖4所示。
圖4 數(shù)據(jù)集FDD中部分圖像樣本Fig.4 Some sample images of FDD
本文實驗包括2類:第1類是通過圖像數(shù)據(jù)對目標(biāo)檢測進(jìn)行實驗;第2類是通過視頻數(shù)據(jù)評價運動檢測算法的性能。網(wǎng)絡(luò)模型測試實驗選擇的測試集采用火焰數(shù)據(jù)集FDD,共包括249張圖像,其中205張包含火焰的正樣本,44張不包含明火的負(fù)樣本,圖像尺寸統(tǒng)一為1 280像素×720像素。對于第2類實驗,本文從15條火焰視頻中選擇了3條較為適合的測試視頻,視頻時長均為5 min,視頻幀率為25幀/s,每條視頻共計7 500張視頻圖像,視頻中均包括有明火的正樣例和無火焰的負(fù)樣例。
本文實驗將提出算法在GPU平臺上訓(xùn)練,并最終通過優(yōu)化部署到CPU平臺。為了提高實驗速度,對網(wǎng)絡(luò)模型的效果測試實驗和運動檢測模塊的對比實驗都在Ge Force RTX 2080Ti上進(jìn)行,顯卡緩存為16 GB。最終運行在英特爾至強E5?2630V4處理器上進(jìn)行,該處理器包含20個CPU內(nèi)核,并且實現(xiàn)了英特爾超線程技術(shù),可看作40線程處理器。
為了豐富訓(xùn)練數(shù)據(jù)的多樣性、提升訓(xùn)練效果,采用多種數(shù)據(jù)增強方式。針對火焰特性,本文選擇更改顏色空間、隨機左右翻轉(zhuǎn)、上下翻轉(zhuǎn)和仿射變換。顏色變換主要是在HSV(Hue,saturation,value)空間上對S和V元素進(jìn)行調(diào)整,即對火焰的亮度做數(shù)據(jù)擴(kuò)增。由于火焰形狀的不固定性,四面翻轉(zhuǎn)都可以起到較好的效果。仿射變換包括旋轉(zhuǎn)、平移、錯切和尺度變化。仿射變換特點為直線經(jīng)過仿射變換仍然是直線。這一變化在目標(biāo)檢測中經(jīng)常被使用,它的多種變換可以更改火焰的形態(tài)、大小和位置,有助于算法學(xué)習(xí)到更多種類的火焰。同時由于在基礎(chǔ)網(wǎng)絡(luò)部分常常會生成比原圖小數(shù)10倍的特征圖,采用多尺度訓(xùn)練方式會導(dǎo)致小物體的特征描述不容易被檢測網(wǎng)絡(luò)捕捉。通過輸入更大、更多尺寸的圖像進(jìn)行訓(xùn)練,能夠在一定程度上提高檢測模型對物體大小的魯棒性。在訓(xùn)練前首先會將輸入圖像尺寸統(tǒng)一為416像素×416像素,在訓(xùn)練時會按照設(shè)定好的多尺度范圍改變圖像大小。實際設(shè)定的范圍是288~608像素,每間隔32像素設(shè)立為一個尺度標(biāo)準(zhǔn)。
運動目標(biāo)檢測模塊包含眾多參數(shù),下文會著重介紹對檢測效果影響較大的參數(shù)。腐蝕和膨脹的迭代次數(shù)分別為2和5,結(jié)構(gòu)元素的大小分別為(3,3)和(8,3)。篩選圖像輪廓的尺寸大小為400,判斷運動區(qū)域與火焰候選框重合的比例為0.7。
本文首先對不同目標(biāo)檢測網(wǎng)絡(luò)模型的檢測效果進(jìn)行對比。選擇目前較為成熟的幾個單階段目標(biāo)檢測網(wǎng)絡(luò)作為實驗對象,實驗數(shù)據(jù)為2.2節(jié)中介紹的圖像數(shù)據(jù)集,統(tǒng)計結(jié)果如表1所示,檢測效果如圖5所示。表1中運行時間表示單張圖像所需的檢測時間。從表1可以看到Y(jié)olov3網(wǎng)絡(luò)從檢測效果到檢測速度都比另外2個模型更加優(yōu)秀,共報警190張,其中正確186張、誤報4張和漏報15張,同時誤報基本都為紅色的類似火焰燈光,運動檢測可以有效避免這些誤報。
表1 不同網(wǎng)絡(luò)檢測效果Table 1 Performance comparison of different detection networks
圖5 目標(biāo)檢測網(wǎng)絡(luò)檢測正確樣本圖與誤報樣本圖Fig.5 Correct sample images and false positive images
2.5.1 顏色過濾區(qū)間對比實驗
本文還對運動目標(biāo)檢測進(jìn)行了不同參數(shù)的對比實驗,以達(dá)到最好的檢測效果。實驗中選擇的第1個參數(shù)是二值化閾值,這一參數(shù)主要是根據(jù)火焰的顏色特性從運動區(qū)域中剔除非火焰部分,實際效果如圖6所示。
圖6 二值化處理剔除非火焰效果圖Fig.6 Effect picture of eliminating non flame by binarization
不同顏色區(qū)間對火焰的敏感效果不同,針對火焰黃紅顏色的特性將二值化閾值從低到高逐步進(jìn)行實驗。第1次實驗數(shù)據(jù)為視頻數(shù)據(jù),選擇視頻的前50幀,對比不同顏色區(qū)間對火焰的運動檢測效果,結(jié)果如表2所示。
表2 第1次實驗不同顏色過濾區(qū)域檢測結(jié)果Table 2 Detection results of different color filter intervals in the first experiment
本文研究主要作用是選出所有疑似火焰的運動區(qū)域,和神經(jīng)網(wǎng)絡(luò)檢測結(jié)果作對比,從而剔除誤報,因此應(yīng)盡量保證每一張火焰都被檢測到,這樣才不會影響正常的報警。因此運動檢測可以具有一定的誤檢,但應(yīng)盡量保證所有的火焰必須都在檢測框內(nèi)。因而第2次實驗放寬了檢測區(qū)間以保證檢測效果,結(jié)果如表3所示。
表3 第2次實驗不同顏色過濾區(qū)域檢測結(jié)果Table 3 Detection results of different color filter intervals in the second experiment
根據(jù)實驗結(jié)果,本文最終選擇50~100作為火焰的二值化顏色區(qū)間。在該情況下視頻中的火焰基本可以完全檢測到,而且不會有過多的其他運動區(qū)域影響。
2.5.2 前景提取時視頻幀數(shù)對比實驗
第2個參數(shù)是獲取前景圖像的視頻幀數(shù)。在做背景提取時,需要輸入一組相鄰圖像,圖像的數(shù)目會影響提取效果與提取時間,本文對不同的圖像數(shù)量進(jìn)行了測試,測試條件與二值化閾值實驗相同。通過實驗發(fā)現(xiàn):輸入圖像數(shù)量小于5張時,程序無法準(zhǔn)確找到背景,提取出來的運動區(qū)域不準(zhǔn)確;而大于5張時可以找到清晰的運動區(qū)域,且無明顯區(qū)別。由于圖像越多處理時間越長,因此最終選擇5幀作為輸入數(shù)量,有利于進(jìn)一步挑選運動火焰區(qū)域。
本文研究在目標(biāo)檢測模型上加入了運動目標(biāo)檢測模塊以提高模型的準(zhǔn)確率,降低誤報率。通過對比實驗證明這一模塊的實際效果。本實驗采用2.2節(jié)中介紹的視頻數(shù)據(jù)作為測試數(shù)據(jù),對比對象分別為目標(biāo)檢測網(wǎng)絡(luò)與加了運動檢測模塊后的目標(biāo)檢測網(wǎng)絡(luò),統(tǒng)計二者的最終檢測結(jié)果。實驗時將視頻按幀統(tǒng)計,包含明火的記為正樣本,不含明火的記為負(fù)樣本。模型成功檢測并準(zhǔn)確回歸火焰邊界框記為TP,回歸邊界框與真實邊界框IOU小于0.5時記為FP,含有明火但并未被檢測到記為FN,不含明火也未被檢測到記為TN??紤]到檢測任務(wù)存在有火焰被檢測到但回歸區(qū)域錯誤的情況,算法召回率計算公式調(diào)整為
式中:T為所有正樣本數(shù)目。本文對3條視頻進(jìn)行逐幀測試,運動檢測模塊以重疊的方式對當(dāng)前幀的相鄰幀進(jìn)行檢測,實驗設(shè)備選擇的是Nvidia 2080Ti GPU和英特爾至強E5?2630V4 CPU。依照式(6,8,9)計算統(tǒng)計結(jié)果,并記錄每幀視頻平均檢測時常,結(jié)果如表4所示。
表4 運動目標(biāo)檢測模塊對比實驗Table 4 Comparison experiments of motion object detection module
該對比實驗可以清晰表明運動檢測模塊的有效性。從表4中可以看出算法的準(zhǔn)確率有明顯提升,誤報率也有明顯下降,這是因為運動檢測模塊借助運動特性過濾背景中靜態(tài)目標(biāo),減少了誤報數(shù)目。同時算法的召回率沒有發(fā)生變化,這表明該模塊的過濾策略并不會對正確的報警造成影響,正確的火焰結(jié)果不會被過濾。實驗結(jié)果說明,運動檢測模塊可以在不影響正確報警的前提下有效剔除部分靜態(tài)誤報,增強算法效果。
此外,本文還分析了算法的誤報樣本。未加運動檢測的模型檢測到的誤報多為紅色燈,而這些都可以有效地被運動檢測模塊剔除。加運動檢測后的誤報主要是由于攝像頭發(fā)生移動,導(dǎo)致畫面模糊,形狀類似火焰,誤報場景如圖7所示。
圖7 誤報場景圖片示例Fig.7 One of false positives
針對南水北調(diào)中線室內(nèi)火焰檢測需求,本文提出了一種基于視頻監(jiān)控的實時室內(nèi)火焰檢測算法。通過分析火焰的運動特性,該算法將傳統(tǒng)視頻檢測算法與深度學(xué)習(xí)算法相結(jié)合,在傳統(tǒng)目標(biāo)檢測的基礎(chǔ)上利用運動檢測有效消除了靜態(tài)背景產(chǎn)生的誤報,提升了火焰目標(biāo)的準(zhǔn)確率。為了保證視頻檢測的實時性,本算法采用雙線程處理模式,并通過建立緩存區(qū)域,實現(xiàn)了視頻讀取和視頻處理的獨立運行。同時,本文基于CPU平臺進(jìn)行了算法和流程優(yōu)化,通過調(diào)整模型加載和運行方式,滿足了實際應(yīng)用場景中的多路并發(fā)需求,充分利用了硬件資源。本文提出的算法已成功應(yīng)用于中線視頻智能分析系統(tǒng)中,經(jīng)過多次現(xiàn)場模擬測試證實,本文算法能夠快速檢測室內(nèi)火焰,檢測效果良好。將基于視頻監(jiān)控的檢測手段與傳統(tǒng)消防檢測手段相結(jié)合,可以有效縮短事件響應(yīng)時間,提高應(yīng)急處理能力,對中線運維管理水平的提升具有十分重要的現(xiàn)實意義。如何解決誤報樣本將是下一步研究方向。