王林











摘要:阻燃材料的阻燃性能主要通過對其進行火焰延燃性能測試,如延燃時間、火焰擴展長度等指標。傳統(tǒng)的人工秒表計時、基于圖像匹配的計算機視覺檢測等方法都具有明顯的不足之處,如延時過高、識別精度不高等。將深度學(xué)習技術(shù)運用在阻燃性能測試中,可以實現(xiàn)延燃時間計算的自動化,有效降低人工秒表計時產(chǎn)生的延遲,是一個非常具有實用價值的研究方向,受到了各類研究人員的關(guān)注。相對于傳統(tǒng)的基于匹配的目標識別算法,深度學(xué)習技術(shù)可以大大提高識別的精確度,更能從圖像中提取高級特征。然而,現(xiàn)有的深度學(xué)習模型也存在泛化能力較弱、對小目標檢測能力較弱的問題。為了解決這些問題,本文提出了一種改進的YOLOv5s模型,檢測阻燃材料的燃燒時間。該模型對原有YOLOv5模型的頸部進行調(diào)整,將用于多尺度特征融合的路徑聚合網(wǎng)絡(luò)替換成同樣具有多尺度特征融合能力的特征金字塔,在維持原有功能的前提下提高了模型的精度;同時,通過更換頸部核心的方法,降低了模型推理所需的計算量。實驗表明,使用阻燃實驗專用數(shù)據(jù)集,可以使模型識別出阻燃材料的小火星;使用改進后的YOLOv5s模型,模型的精確度得到了提高:在0.2置信度上,火焰識別精確率提升了0.43,所有類別精確度提升了0.26。同時在自有數(shù)據(jù)集下能夠準確檢測阻燃材料的燃燒時間。
關(guān)鍵詞:阻燃材料;延燃測試;YOLOv5;特征金字塔
中圖分類號:TP391? ? ? 文獻標識碼:A
文章編號:1009-3044(2023)36-0025-05
開放科學(xué)(資源服務(wù))標識碼(OSID)
1背景
阻燃材料的阻燃性能測試是通過對阻燃材料進行火焰延燃性能測試,評估其阻燃性能,如延燃時間、火焰擴展長度等指標。其中,阻燃材料燃燒時間是檢驗材料是否符合標準的主要方法,傳統(tǒng)的燃燒時間檢測采用人工秒表計時的方法,受限于測試員的反應(yīng)時間等,該方法很難準確且自動給出阻燃材料的燃燒時間。因此本文采用人工智能方法,對阻燃材料的燃燒視頻進行分析,自動檢測點火裝置移開后,阻燃材料的燃燒時間。其中,燃燒時間的檢測關(guān)鍵是火焰識別。
火焰識別是指通過計算機視覺和圖像處理技術(shù)來自動檢測、定位和識別圖像或視頻中的火焰[5]。這項技術(shù)具有廣泛的應(yīng)用領(lǐng)域,包括火災(zāi)安全、工業(yè)監(jiān)測、安防系統(tǒng)等;其中,將火焰識別技術(shù)運用于待測材料燃燒時間的檢測,具有很高的研究價值。在火焰識別中,常用的算法和技術(shù)包括基于顏色模型的閾值分割[1]、紋理分析、形狀匹配、光流估計、機器學(xué)習(如支持向量機[2]、隨機森林)和深度學(xué)習(如卷積神經(jīng)網(wǎng)絡(luò))等。根據(jù)具體的應(yīng)用場景和需求,可以選擇合適的技術(shù)和方法進行火焰識別的研究和開發(fā)。
傳統(tǒng)的火焰識別方法,如基于顏色模型的閾值分割[4]、紋理特征、光流估計等,大都存在適用性窄、檢測精度易受火焰種類的干擾等問題。基于顏色模型的閾值分割[6]:火焰通常具有明亮的紅、橙、黃色調(diào),因此可以通過檢測圖像中的特定顏色范圍來定位火焰區(qū)域,但如果火焰的顏色不是紅橙黃色調(diào),如酒精噴燈的火焰等,就容易出現(xiàn)檢測失敗的情況。基于紋理特征的火焰識別[7]:火焰的紋理通常具有高頻變化和不規(guī)則性,可以使用紋理分析技術(shù)來檢測這種特征并識別火焰,但提取有效的紋理特征并對其進行分析和選擇是一項具有挑戰(zhàn)性的任務(wù)。紋理特征可能需要復(fù)雜的計算和處理步驟,而且不同的紋理描述符對于不同類型的火焰可能表現(xiàn)不同的效果。光流分析法檢測火焰[3]:利用光流估計算法來分析圖像序列中像素的運動模式,火焰的移動模式與其他背景元素不同,可以通過光流分析來檢測火焰,但光流分析通常基于像素級的運動檢測,而圖像中的其他移動物體或背景噪聲也可能引起光流的變化,從而產(chǎn)生誤報或誤識別。在待測材料燃燒時間的檢測中,由于待測材料燃燒時會產(chǎn)生煙霧,傳統(tǒng)的火焰識別方法難以應(yīng)對這種噪聲。
近年來,隨著深度學(xué)習技術(shù)的發(fā)展,深度學(xué)習在火焰識別領(lǐng)域中取得了較好的成果[9]。因此可以將深度學(xué)習模型應(yīng)用到燃燒時間的檢測中來:運用深度學(xué)習模型對待測材料燃燒視頻進行識別,統(tǒng)計點火裝置移開后出現(xiàn)火焰的連續(xù)幀數(shù),即可計算出燃燒時間。深度學(xué)習通過構(gòu)建和訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)模型,能夠從原始圖像數(shù)據(jù)中自動學(xué)習火焰的特征表示和識別模式,具有以下優(yōu)勢:自動特征學(xué)習:傳統(tǒng)的火焰識別方法需要手工設(shè)計和選擇特征,而深度學(xué)習能夠通過大規(guī)模數(shù)據(jù)的訓(xùn)練,自動學(xué)習并能夠從圖像中提取更豐富、更高級的特征,以更好地區(qū)分火焰和其他干擾物。高準確性:深度學(xué)習模型在火焰識別任務(wù)中通常能夠達到較高的準確性。通過使用深度卷積神經(jīng)網(wǎng)絡(luò)(CNN)等模型,能夠捕捉到火焰的局部和全局特征[8,12-14],從而實現(xiàn)更精確的火焰識別。盡管深度學(xué)習在火焰識別中具有諸多優(yōu)勢,但也需要注意一些問題,例如:深度學(xué)習模型的性能和泛化能力取決于訓(xùn)練數(shù)據(jù)的質(zhì)量和多樣性,需要充分考慮數(shù)據(jù)的采集和標注過程。
針對上述挑戰(zhàn),本文提出了基于YOLOv5的阻燃材料燃燒時間檢測方法。用改進的YOLOv5對燃燒視頻中火焰進行識別,計算出點火裝置移開后出現(xiàn)火焰的連續(xù)幀數(shù),再結(jié)合視頻的幀率,計算出燃燒的持續(xù)時間。本方法先對采集到的視頻數(shù)據(jù)進行清洗、抽幀、標注,獲得符合項目需求的數(shù)據(jù)集,并通過提高訓(xùn)練數(shù)據(jù)質(zhì)量和多樣性,來減少神經(jīng)網(wǎng)絡(luò)泛化能力帶來的不良影響,從而提高識別的準確率。最后,本文設(shè)計了時間計算模塊,使得模型可以輸出火焰燃燒持續(xù)的時間,減少人工檢測時間帶來的誤差,從而達到精確識別火焰燃燒持續(xù)時間的目的。
2改進的YOLOv5方法
盡管現(xiàn)有的方法能在一定程度上實現(xiàn)火焰識別,但它們的識別精度和推理速度限制了它們在實際生產(chǎn)環(huán)境中的部署。相比之下,基于 YOLO 的模型[10-11]由于速度更快、模型尺寸更小,因此適用于實時推理。然而,在實際檢測中,使用公開數(shù)據(jù)集訓(xùn)練出來的模型對酒精噴燈和小火焰的檢測性能較低。因此,本文構(gòu)建了適用于酒精噴燈和阻燃材料的火焰識別數(shù)據(jù)集,并通過在Neck模塊使用特征金字塔、引入核心縮放的方式,改進了 YOLOv5s 模型,以實現(xiàn)更高的識別精度和模型推理速度。
使用特征金字塔替換YOLOv5中的PANet可以實現(xiàn)更簡單、更快速的多尺度特征融合。YOLOv5中的PANet解決了在不同尺度上檢測對象并實現(xiàn)精確的實例分割的挑戰(zhàn),它引入了自頂向下和自底向上的路徑,聚合來自卷積神經(jīng)網(wǎng)絡(luò)(CNN)不同層級的特征,這使得PANet能夠捕捉到低層次和高層次的上下文信息。因此,本文在特征金字塔中引入可學(xué)習的權(quán)重,使其能夠?qū)W習不同輸入特征的重要性,并將自上而下和自下而上的多尺度特征融合。和YOLOv5原來的PANet相比,特征金字塔在起到融合多尺度特征作用的同時,還具有更少的參數(shù)和更好的性能。特征金字塔使得模型的性能得以提升,火焰識別更具有實時性,提高了對于待檢材料稍縱即逝的小火焰識別速度。
在特征聚合模塊之前,YOLOv5網(wǎng)絡(luò)為了增加感受野并提取關(guān)鍵的特征,設(shè)置了模塊。傳統(tǒng)CNN模型大都由完全連接層組成,并且這些全連接層僅接受特定維度的圖像輸入,而SSP可以生成固定大小的輸出。此外,SSP還通過池化多尺度特征來提取關(guān)鍵特征。雖然這可以帶來可觀的檢測精度,但對于待測材料火焰檢測這一特定業(yè)務(wù)場景,多尺度和大核心的策略不太適用:待測材料的火焰較為細小且稍縱即逝,因此需要模型有更高的推理速度。為了在提高推理速度的同時不大幅降低模型精度,本文在保留SSP模塊的同時,減小了核心的大小,例如從原來的6×6、10×10減少為2×2、4×4。修改后的SSP模塊如圖1所示。
通過修改頸部組件的策略,YOLOv5s模型在結(jié)構(gòu)上更加輕量化,并且由于保留了上下文多尺度特征融合的設(shè)計,精度受到的影響微乎其微。特征金字塔的引入和卷積核的替換使得模型具有更快的推理能力和更高的模型精確度,能更好地適用于待檢材料小火焰的檢測。
3實驗與分析
本文實驗基于采集的材料檢測過程視頻數(shù)據(jù)集。數(shù)據(jù)集包含35個時長為一分鐘的檢測過程視頻,總共大小為1.69GB,涵蓋待檢材料的左側(cè)、右側(cè)、正前方和左下方、右下方等多個拍攝角度。經(jīng)過抽幀、打標簽等預(yù)處理后,共獲得大小為6.58GB,包括60 814張圖片數(shù)據(jù)的數(shù)據(jù)集。
由表1可知,訓(xùn)練集為包含42 570張火焰圖片,覆蓋待檢材料的多個拍攝角度,測試集包含18 244張火焰圖片,同樣覆蓋待檢材料的多個拍攝角度。
本文實驗所用軟件環(huán)境如下:Window11 操作系統(tǒng),Pycharm IDE,Python3.9.13開發(fā)環(huán)境。所用設(shè)備主要硬件參數(shù)為:AMD 5600G 六核十二線程處理器,英偉達2060super 8G顯卡,32G運行內(nèi)存。
3.1 數(shù)據(jù)集的建立
火焰識別的精度除了受到模型的影響外,也會受到數(shù)據(jù)集質(zhì)量的影響。由于火焰識別領(lǐng)域目前尚未出現(xiàn)認可度高且覆蓋火焰類型面廣的數(shù)據(jù)集,現(xiàn)有的火焰數(shù)據(jù)集大都從網(wǎng)上隨機抓取火焰圖片,火焰類型混雜、各種干擾因素多,缺乏標注,難以實現(xiàn)高質(zhì)量的模型訓(xùn)練。而且實際業(yè)務(wù)場景中,酒精噴燈的火焰以藍色長條形居多,和常見的黃色、紅色火焰顏色相差較遠,因此本文使用待測材料燃燒過程的視頻制作數(shù)據(jù)集,從數(shù)據(jù)采集到預(yù)處理、標注完全貼合實際業(yè)務(wù)場景。
數(shù)據(jù)集的建立過程如下:
1) 采集燃燒視頻數(shù)據(jù):將攝像頭固定在燃燒箱內(nèi),從待檢材料的左側(cè)、右側(cè)、正前方和左下方、右下方采集燃燒視頻數(shù)據(jù),共采集到大小為1.69GB的35個原始視頻。
2) 數(shù)據(jù)預(yù)處理:使用ffmpeg剪輯視頻,剔除視頻中沒有酒精噴燈和待測材料的片段。
3) 視頻抽幀:將預(yù)處理后的視頻使用ffmpeg抽幀,每秒抽出60幀,形成圖片數(shù)據(jù)。
4) 創(chuàng)建數(shù)據(jù)集文件樹:安裝labelimage,并安裝運行時所需要的依賴如Python、PyQt5、Lxml等;創(chuàng)建images文件夾,用于存放待標注的圖片,創(chuàng)建labels文件夾,用于存放標注的xml文件;
5) 標注圖片數(shù)據(jù):如圖2~圖4所示,在labelimage標注界面框住需要檢測的目標,如酒精噴燈火焰、待檢材料、燃燒中的小火苗等,并輸入對應(yīng)的目標標簽:Alcohol_blowtorch、material、fire。
6) 處理標簽序號:由于標簽?zāi)J加在預(yù)設(shè)的類別后面,所以“0”號類別實際顯示是“15”,以此類推,因此使用Python遍歷標注文件,將標注文件中每行的“15”替換成“0”“16”替換成“1”,以此類推。
7) 劃分訓(xùn)練集和驗證集:根據(jù)實際業(yè)務(wù)需求,將數(shù)據(jù)集劃分為訓(xùn)練集和驗證集,其中訓(xùn)練集包含42 570張火焰圖片,覆蓋待檢材料的多個拍攝角度,測試集包含18 244張火焰圖片,同樣覆蓋待檢材料的多個拍攝角度。
最終得到數(shù)據(jù)集:包括訓(xùn)練集和驗證集,其中訓(xùn)練集和驗證集中分別包含存放圖片數(shù)據(jù)的images文件夾以及存放對應(yīng)標簽數(shù)據(jù)的labels文件夾。
3.2 參數(shù)設(shè)置
訓(xùn)練參數(shù)設(shè)置如表2所示:學(xué)習率LR設(shè)置為0.01,批大小batch-size設(shè)置為16,訓(xùn)練次數(shù)epochs設(shè)置為300,初始權(quán)重使用YOLOv5原始權(quán)重,訓(xùn)練設(shè)備使用GPU。
3.3 實驗內(nèi)容
通過對不同數(shù)據(jù)集和模型進行組合,來驗證本文方法的有效性。實驗設(shè)置遵循控制變量原則。組合方式如下:1)公開數(shù)據(jù)集+模板匹配模型;2)自建數(shù)據(jù)集+模板匹配模型;3)自建數(shù)據(jù)集+ YOLOv5s模型。
根據(jù)以上組合方式,本文設(shè)計兩個對照實驗如下:1)比較公開數(shù)據(jù)集+模板匹配模型和自建數(shù)據(jù)集+模板匹配模型,驗證自建數(shù)據(jù)集對提升實際應(yīng)用中識別率的有效性;2)比較自建數(shù)據(jù)集+模板匹配模型和自建數(shù)據(jù)集+ YOLOv5s模型,驗證YOLOv5s模型的有效性。
3.4 實驗結(jié)果分析
3.4.1數(shù)據(jù)集訓(xùn)練模板匹配模型對比
公開數(shù)據(jù)集+模板匹配模型識別效果如圖5所示。
從圖5中可以看出:使用公開數(shù)據(jù)集訓(xùn)練模板匹配模型,模型難以識別出酒精噴燈火焰。
使用自建數(shù)據(jù)集訓(xùn)練模板匹配模型,識別效果如圖6所示。
從圖6中可以看出:使用自建數(shù)據(jù)集訓(xùn)練模板匹配模型,效果相對于公開數(shù)據(jù)集+模型匹配的方法有了一定的提升,能識別出部分火焰,可以證明自建數(shù)據(jù)集的有效性。與此同時,在實驗中可以觀察到:即便是使用自建數(shù)據(jù)集,模型更多的是匹配部分“紅色”和“黃色”的火焰。由于模板匹配方法受限于紅黃色系顏色特征和特定形狀火焰特征的匹配機制,對于實際業(yè)務(wù)中酒精噴燈的藍色柱狀火焰識別效果不佳,難以達到實用的效果。
3.4.2自建數(shù)據(jù)集+YOLOv5s模型
本實驗用GIOU Loss作為評價指標,GIOU是衡量預(yù)測框和真實框之間的重疊程度的函數(shù),計算公式為:
[GIOU=IOU-C-UC]
其中,IOU為預(yù)測框和真實框的交并比,C為預(yù)測框和真實框的最小閉合矩形面積,U為預(yù)測框和真實框的并集的面積。
將自建數(shù)據(jù)集輸入改進的YOLOv5s模型,分別訓(xùn)練50個epoch和300的epoch,不同的epoch訓(xùn)練效果差異如圖7和圖8所示:
從圖7和圖8中可以觀察到:使用 GIOU Loss作為bounding box的損失,Box推測為GIoU損失函數(shù)均值,訓(xùn)練300次的效果相對于50次更加準確,但也存在邊界效應(yīng),在100次左右即可達到較好的效果。同樣的,在precision中,模型收斂速度較快,但是隨著訓(xùn)練次數(shù)的增加,精度有所下降。經(jīng)過多次實驗,最終選取epoch的值為100,以平衡訓(xùn)練時間和預(yù)測精度。
3.4.3模型驗證
選取訓(xùn)練100個epoch的最佳模型用于實際測試,測試結(jié)果如下:val_batch1_labels為驗證集第1輪的實際標簽,val_batch1_pred為驗證集第1輪的預(yù)測標簽,如圖9和圖10所示,模型在驗證集上的實際和預(yù)測邊界差距很小,可以證明模型的預(yù)測能力有效。
將原始錄制的待測材料燃燒過程視頻輸入模型進行推理,推理結(jié)果如下:如圖11所示,模型準確識別酒精噴燈火焰;如圖12所示,若移走酒精噴燈,模型準確識別出未熄滅的材料,并開始計算時間。
模型持續(xù)檢測火焰燃燒持續(xù)時間如圖13所示。
如圖14所示,若待測材料燃燒結(jié)束,材料熄滅,則模型不再出現(xiàn)“fire”框。此時停止計算時間,并輸出火焰燃燒的持續(xù)時間。
從以上實驗可以觀察到:模型可以準確識別出酒精燈撤走后,待測材料中未熄滅的火焰,說明模型對本研究的應(yīng)用場景有一定的檢測能力。
3.4.4燃燒時間計算
基于上述實驗,進一步在模型推理過程中加入對“fire”識別的結(jié)果的計算,計算公式如下:
[Duration=count×1fps]
其中,Duration為燃燒持續(xù)時間,count為出現(xiàn)待測材料出現(xiàn)火焰的幀數(shù),fps為待檢測視頻的幀率;為了防止檢測抖動對檢測結(jié)果的影響,本文在程序中加入了抖動抑制:只有連續(xù)三次檢測到火焰,才會作為有效幀,否則將count置零。經(jīng)過以上計算,程序可以輸出待測材料燃燒的持續(xù)時間。模型計算火焰燃燒時間的精度取決于錄制的視頻的幀率,為了驗證模型的魯棒性,本實驗將幀率為60幀/s的待測視頻連續(xù)3次輸入模型進行火焰檢測的結(jié)果如表3所示:
連續(xù)3次對同一段視頻進行檢測,模型的輸出結(jié)果皆為0.267s。
實驗表明:加入了時間計算模塊的火焰檢測程序能輸出火焰的燃燒持續(xù)時間,并且具有較好的穩(wěn)定性。
4總結(jié)
使用公開數(shù)據(jù)集和開源模型對酒精噴燈火焰、燃燒中的材料進行識別,僅能識別出“黃色”的火焰,識別效果欠佳;使用自有數(shù)據(jù)進行手工標注,經(jīng)過訓(xùn)練后,可以準確地識別出燃燒中的酒精噴燈,在移走酒精噴燈后,可以準確識別出未熄滅的火焰,最后,當材料火焰熄滅時,“fire”標注框消失。加入時間檢測模塊后,模型可以輸出材料燃燒的持續(xù)時間,并且模型的檢測穩(wěn)定性較好。
參考文獻:
[1] 吳一全,宋昱,周懷春.基于灰度熵多閾值分割和SVM的火焰圖像狀態(tài)識別[J].中國電機工程學(xué)報,2013,33(20):66-73,13.
[2] 李玉妍.基于顯著性的火災(zāi)早期火焰煙霧檢測方法研究[D].大連:大連海事大學(xué),2019.
[3] 藺瑞,俞孟蕻,宋英磊,等.基于幀間動態(tài)和紋理特征的郵輪艙室火焰識別[J].計算機與數(shù)字工程,2021,49(1):185-189,201.
[4] 卞永明,高飛,李夢如,等.結(jié)合Kmeans++聚類和顏色幾何特征的火焰檢測方法[J].中國工程機械學(xué)報,2020,18(1):1-6.
[5] 曹江濤,秦躍雁,姬曉飛.基于視頻的火焰檢測算法綜述[J].數(shù)據(jù)采集與處理,2020,35(1):35-52.
[6] 嚴云洋,吳茜茵,杜靜,等.基于色彩和閃頻特征的視頻火焰檢測[J].計算機科學(xué)與探索,2014,8(10):1271-1279.
[7] 嚴云洋,唐巖巖,郭志波,等.融合色彩和輪廓特征的火焰檢測[J].微電子學(xué)與計算機,2011,28(10):137-141,145.
[8] KANG T H,KIM H J,NOH H K.Convolution neural network of deep learning for detection of fire blight on pear tree[J].Horticultural Science and Technology,2020,38(6):763-775.
[9] DEWANGAN A,PANDE Y,BRAUN H W,et al.FIgLib & SmokeyNet:dataset and deep learning model for real-time wildland fire smoke detection[J].Remote Sensing,2022,14(4):1007.
[10] 任嘉鋒,熊衛(wèi)華,吳之昊,等.基于改進YOLOv3的火災(zāi)檢測與識別[J].計算機系統(tǒng)應(yīng)用,2019,28(12):171-176.
[11] ZHANG R,WEN C B.SOD-YOLO:a small target defect detection algorithm for wind turbine blades based on improved YOLOv5[J].Advanced Theory and Simulations,2022,5(7):5.
[12] MAJID S,ALENEZI F,MASOOD S,et al.Attention based CNN model for fire detection and localization in real-world images[J].Expert Systems with Applications,2022,189:116114.
[13] GARGIULO M,DELL’ AGLIO D A G,IODICE A,et al.A CNN-based super-resolution technique for active fire detection on sentinel-2 data[C]//2019 PhotonIcs & Electromagnetics Research Symposium -Spring (PIERS-Spring).Rome,Italy.IEEE,2019:418-426.
[14] KIM Y J , KIM E G.Fire detection system using faster R-CNN[J].International Conference On Future Information & Communication Engineering,2017,9(1):261-264.
【通聯(lián)編輯:唐一東】