舒 舜,張羽楊,陸梓萍,王 董,姜 楠,楊立中*
(1.上海市消防救援總隊黃浦區(qū)支隊,上海,200011;(2.中國科學技術(shù)大學火災(zāi)科學國家重點實驗室,合肥,230026)
城市內(nèi)火災(zāi)隱患多且人員分布密集,極易發(fā)生威脅群眾生命與財產(chǎn)的火災(zāi)事故。提升城市的火災(zāi)應(yīng)急救援能力一直是公共安全研究的重要課題。然而,當前我們國家的消防救援在動態(tài)監(jiān)測感知城市火災(zāi)方面的基礎(chǔ)還很薄弱,缺乏對災(zāi)害現(xiàn)場的數(shù)據(jù)掌握和實時預測能力。目前科研人員常用場模擬軟件(例如FDS)對建筑、隧道、船舶等火災(zāi)場景進行模擬[1-3],從而判斷相應(yīng)火災(zāi)場景下火勢發(fā)展和火災(zāi)產(chǎn)物可能帶來的危害性。雖然現(xiàn)有的數(shù)值模擬軟件已經(jīng)很成熟,其準確性也得到了認可,但是精確模擬需要細小精致網(wǎng)格,一個場景的運算往往需要幾個小時、幾天甚至更長的時間,導致這些方法難以應(yīng)用在消防現(xiàn)場實戰(zhàn)中。
為了實時預測火災(zāi)的發(fā)展態(tài)勢,機器學習逐漸受到科研人員的關(guān)注。機器學習可以利用計算機模擬或?qū)W習給定的數(shù)據(jù)集得到指定參數(shù)之間的耦合關(guān)系,在真實火場中利用預訓練模型在數(shù)秒內(nèi)即可獲得相關(guān)數(shù)據(jù)。近年來國內(nèi)外很多科研人員嘗試用各種機器學習方法對火場參數(shù)進行實時預測。李夢婕[4]基于FDS模擬得到的54組地鐵區(qū)間隧道火災(zāi)數(shù)據(jù)提出了基于自編碼器的CAERES-DNN模型,實現(xiàn)了煙塵能見度和煙氣擴散距離的準確預測。Hodges等[5,6]利用DCIGN模型預測野火蔓延情況,提出了用于預測房間內(nèi)的溫度和速度分布的TCNN建模方法。Wu等[7-9]建立了一個含有大量隧道火災(zāi)實驗數(shù)據(jù)的數(shù)據(jù)庫,并基于此數(shù)據(jù)庫搭建了預測隧道火災(zāi)中火源位置和溫度場分布的多種模型。Wang等[10]提出了P-Flash轟燃預測模型,利用序列分割和支持向量回歸兩種方法,克服了探測器因高溫失效造成溫度數(shù)據(jù)無法獲取的難題,提高了模型預測單室和多室發(fā)生轟燃的能力。
然而,前人對煙霧、溫度、有害氣體濃度等火場參數(shù)的預測建立在火災(zāi)熱釋放速率為已知參數(shù)的基礎(chǔ)之上,目前很少有實時獲取火災(zāi)熱釋放速率的技術(shù)和研究。熱釋放速率是火災(zāi)至關(guān)重要的參數(shù)之一,影響著火災(zāi)的規(guī)模和發(fā)展態(tài)勢?;馂?zāi)熱釋放速率反演求解大多采用經(jīng)驗估計對火源參數(shù)做出判斷,例如根據(jù)Heskestad平均火焰高度經(jīng)典方程反推熱釋放速率[11]。當熱釋放速率不變時,火焰高度和體積會因為火焰的脈動特性而不斷變化,通過火焰高度和體積反推就會得到不同的熱釋放速率,計算結(jié)果具有較大的不準確性和不穩(wěn)定性。因此,本文提出了一種基于支持向量機的熱釋放速率實時預測模型。該預測模型可以根據(jù)連續(xù)的火焰體積或高度連續(xù)變化特征快速準確地完成熱釋放速率的實時預測,有效地解決了以上問題。預測結(jié)果可以為消防救援戰(zhàn)術(shù)的制定提供科學合理的依據(jù),消防指戰(zhàn)人員可以據(jù)此預判火災(zāi)態(tài)勢發(fā)展和極端火災(zāi)行為的發(fā)生。
本文通過火焰體積或高度與熱釋放速率之間的聯(lián)系建立數(shù)據(jù)庫進行分類訓練,主要流程分為六個步驟,具體過程如圖1所示。首先拍攝丙烷燃燒視頻得到火焰圖像,基于圓柱形假設(shè)重建三維火焰;然后通過計算機圖像處理技術(shù)獲取火焰的體積和高度數(shù)據(jù)[12],對火焰體積和高度數(shù)據(jù)進行處理后結(jié)合熱釋放速率數(shù)據(jù)建立數(shù)據(jù)庫;最后選用合適的分類模型進行訓練優(yōu)化,最終的預測模型可以根據(jù)火焰體積或高度的連續(xù)變化特征實時預測熱釋放速率。
圖1 技術(shù)路線圖Fig. 1 Technology roadmap
模型訓練使用的數(shù)據(jù)來自丙烷燃燒實驗拍攝的火焰視頻[12]。實驗采用六種不同尺寸的圓形丙烷氣體燃燒器作為火源,燃燒器直徑分別為0.05 m、0.1 m、0.15 m、0.2 m、0.25 m和0.3 m。燃燒器底部鋪設(shè)約4 cm厚度的透明玻璃珠,保證氣體燃料出流時擴散均勻。
表1 測量火焰高度和體積實驗工況
表1列出了測量火焰高度和體積實驗中的80種工況。由于氣體流量較小時,火焰無法充滿直徑較大的燃燒器,對不同直徑的燃燒器,需要根據(jù)火焰的擴散情況確定各個直徑不同的燃燒器的初始燃料流量。最大燃料流量均設(shè)置為30 L/min,變化梯度為2 L/min。攝像機的曝光度根據(jù)實驗環(huán)境調(diào)整,使得拍攝出來的圖片中只有火焰且火焰細節(jié)拍攝清晰。每組工況采集燃燒穩(wěn)定后90 s的視頻數(shù)據(jù)。
從每個采集到的視頻中截取一分鐘作為訓練數(shù)據(jù)集數(shù)據(jù)來源。視頻每秒25幀,一分鐘的視頻可以轉(zhuǎn)化成1 499張圖片。然后,根據(jù)火焰與周圍背景之間的亮度差進行火焰高度和體積測量[12]。對同一燃燒器尺寸的數(shù)據(jù)進行整理,生成如表2所示的原始數(shù)據(jù)集。原始數(shù)據(jù)集中的每一行都代表某一幀的具體參數(shù),每組流量有1 499行數(shù)據(jù),每個燃燒器的數(shù)據(jù)量為1 499*N(N為該燃燒器尺寸下的工況數(shù)量)。
表2 部分原始數(shù)據(jù)集
燃燒過程中火焰周期性的振蕩造成火焰形狀的不穩(wěn)定性,從而導致火焰體積與氣體流量之間的對應(yīng)關(guān)系并不唯一,如表2中相同的氣體流量和燃燒器直徑工況下對應(yīng)不同的火焰體積和火焰高度。通過平均火焰高度經(jīng)驗公式反演熱釋放速率只能得到一段時間內(nèi)的平均值,實時熱釋放速率的計算因火焰高度不斷波動而存在較大差異,其準確率難以保證。為了消除火焰快速脈動帶來的偶然性影響,我們通過建立火焰高度或體積的連續(xù)變化規(guī)律與熱釋放速率之間的關(guān)系,解決火焰脈動帶來的火焰高度、體積與熱釋放速率之間對應(yīng)關(guān)系的不唯一性。
模型的搭建、訓練和測試在MATLAB中進行,MATLAB分類學習器中包含各種精度的SVM、決策樹、KNN、神經(jīng)網(wǎng)絡(luò)等各類分類器,可以對同一數(shù)據(jù)集進行多種分類器的訓練比較,選出在特定數(shù)據(jù)集上表現(xiàn)更為優(yōu)異的一種。
圖2 不同分類算法訓練結(jié)果Fig. 2 Training results of different classification algorithms
在MATLAB環(huán)境中選用多種分類學習算法對數(shù)據(jù)集進行訓練,訓練結(jié)果如圖2所示。由于實驗中直徑為0.2 m、0.25 m和0.3 m的燃燒器的試驗工況較少,相對應(yīng)的數(shù)據(jù)量也遠小于燃燒器直徑為0.05 m、0.1 m、0.15 m的數(shù)據(jù)量,所以在圖2中表現(xiàn)為多種分類模型在直徑為0.2 m、0.25 m和0.3 m的準確率明顯小于直徑為0.05 m、0.1 m、0.15 m的準確率。精細高斯SVM、KNN、和三次SVM三種分類模型在不同燃燒器直徑工況下都表現(xiàn)出了較高的準確率,精細高斯SVM的準確率接近100%,所以本文選取精細高斯SVM為本次實驗的分類算法。
支持向量機(SVM)是一種對數(shù)據(jù)進行分類的機器學習算法。用支持向量機進行分類,需要由特征X= (x1,x2,…,xn)和標簽Y= (y1,y2,…,yn)組成樣本訓練集。本次訓練中的特征X是1.2節(jié)中經(jīng)隨機抽取及排序后的n個體積數(shù)據(jù)組,標簽Y是表征理論熱釋放速率的氣體燃料流量。樣本訓練集D中各個樣本分別對應(yīng)其標簽,形式為D= {(x1,y1), (x2,y2), …, (xn,yn)}。SVM根據(jù)學習樣本訓練集D中各個“樣本特征-標簽分類”組合,在這組數(shù)據(jù)中找出一個超平面作為決策邊界,使模型在數(shù)據(jù)上的分類誤差盡量小,尤其是在未知數(shù)據(jù)集上的分類誤差(泛化誤差)盡量小[13]。
圖3 模型準確率與特征數(shù)量關(guān)系圖Fig. 3 Relationship between model accuracy and feature quantity
2.2節(jié)中的n值為特征數(shù)量,代表著模型在實際場景使用過程中需n/25 s的視頻數(shù)據(jù)進行預測。n值越大表示預測某時間點的燃料流量及熱釋放速率需要持續(xù)時間更長的視頻數(shù)據(jù)。在精細高斯SVM分類模型中改變特征數(shù)量n值,查看n值變化帶來的模型準確率差異,結(jié)果如圖3所示。燃燒器尺寸不同時,預測模型的準確率與特征數(shù)量的關(guān)系都具有相同的趨勢。隨著特征數(shù)量n的增加,模型準確率在特征數(shù)量較小時增長迅速,最后趨于一個穩(wěn)定值,且均接近于100%??紤]實際應(yīng)用的效率,我們選取特征數(shù)量為60,即預測某時間點的燃料流量需要60幀(2.4 s)連續(xù)的火焰體積數(shù)據(jù)。
選定特征數(shù)量n為60后,重復2.2中的隨機抽取及排序操作得到訓練數(shù)據(jù)集,將訓練集輸入精細高斯SVM分類器中進行訓練,得到火焰體積-熱釋放速率預測模型,模型準確率約為99%。由于火焰平均體積與燃燒器尺寸沒有明顯的相關(guān)性[12],故不同燃燒器分別訓練得到不同的預測模型,共6個。同理可得到火焰高度-熱釋放速率預測模型。
為驗證模型的有效性,截取原視頻中任意視頻數(shù)據(jù),對模型預測能力進行初步評估。驗證視頻時長需要大于特征數(shù)量對應(yīng)的時長(2.4 s),故此次驗證選取每組流量的3 s視頻轉(zhuǎn)化為74張圖像進行數(shù)據(jù)處理,預測其中10個樣本數(shù)據(jù)的熱釋放速率并進行對比驗證,每種燃燒器直徑驗證樣本數(shù)量為N*10。圖4展示了6種不同燃燒器直徑下根據(jù)火焰體積預測的熱釋放速率結(jié)果,三角形表示實際熱釋放速率,圓圈表示SVM模型預測得到的熱釋放速率。實際值按梯度增加時,預測值也相應(yīng)增加。圖4中兩條線幾乎重合,說明模型訓練準確度較高。圖4(c)、圖4(d)、圖4(e)中個別數(shù)據(jù)預測存在誤差,但是誤差較小,且出現(xiàn)誤差的概率較低。圖5展示了根據(jù)火焰高度預測的熱釋放速率結(jié)果,除圖5(c)、圖5(d)中有個別誤差外,其余均根據(jù)60幀連續(xù)火焰畫面精準預測了相對應(yīng)的熱釋放速率,說明模型在已知數(shù)據(jù)的預測上有非常高的準確度。
圖4 基于火焰體積的熱釋放速率預測結(jié)果(原始數(shù)據(jù))Fig. 4 Prediction results of heat release rate based on flame volume (original data)
模型在原始數(shù)據(jù)上具有優(yōu)秀的表現(xiàn)能力,為檢驗?zāi)P驮谖粗獢?shù)據(jù)上的表現(xiàn)和真實應(yīng)用中的預測能力,本文選取原始數(shù)據(jù)集之外時長為3 s的火焰視頻數(shù)據(jù),計算其火焰體積和高度形成相應(yīng)的預測數(shù)據(jù)集。使用訓練好的模型進行預測,由預測的燃料流量計算得到的熱釋放速率結(jié)果如圖6和圖7所示。圖6為根據(jù)火焰體積得到的熱釋放速率預測結(jié)果。對于SVM分類模型“從未見過”的數(shù)據(jù),預測結(jié)果相比于原有數(shù)據(jù)集的準確率會較低一些,但是在部分的預測過程中結(jié)果完全正確,其他工況的結(jié)果也與正確流量相差不大,誤差都在允許波動的范圍之內(nèi)。圖7為根據(jù)火焰高度預測得到的熱釋放速率,與體積預測的結(jié)果表現(xiàn)相似,在部分數(shù)據(jù)上存在波動,除個別特殊點外,誤差基本為2 L/min或4 L/min。
圖5 基于火焰高度的熱釋放速率預測結(jié)果(原始數(shù)據(jù))Fig. 5 Prediction results of heat release rate based on flame height (original data)
圖6 基于火焰體積的熱釋放速率預測結(jié)果(全新數(shù)據(jù))Fig. 6 Prediction results of heat release rate based on flame volume (new data)
圖7 基于火焰高度的熱釋放速率預測結(jié)果(全新數(shù)據(jù))Fig. 7 Prediction results of heat release rate based on flame height (new data)
可燃物燃燒過程中火焰形態(tài)每一時刻都在變化,60幀火焰視頻有無數(shù)種火焰形態(tài)排列組合。經(jīng)過訓練的模型在已知數(shù)據(jù)上有很好的表現(xiàn)能力,但其泛化能力受到訓練數(shù)據(jù)集量度和廣度的影響,對于陌生數(shù)據(jù),模型很難達到和已知數(shù)據(jù)集一樣高的準確率?;鹧婷}動過程中易出現(xiàn)火焰收縮和部分火焰脫落上升等現(xiàn)象,這些現(xiàn)象會影響火焰高度的計算,導致火焰高度在某些時刻存在過高或過低估計,與相同流量下平均火焰高度相差過大的數(shù)值會影響火焰體積和后期預測的結(jié)果,導致個別樣本預測得到的燃料流量及熱釋放速率出現(xiàn)較大的偏差。另外,誤差的產(chǎn)生也與拍攝環(huán)境、實驗操作等外界因素有密不可分的聯(lián)系。
“火焰體積/高度-熱釋放速率預測模型”在未知數(shù)據(jù)集上表現(xiàn)優(yōu)秀,證明用一段時間火焰體積/高度的連續(xù)變化特征對熱釋放速率進行反演計算具有可行性,大大降低了火焰高頻脈動現(xiàn)象帶來的干擾?;谥С窒蛄繖C的熱釋放速率預測模型具有實時性和普適性。本文使用的數(shù)據(jù)信息均基于實驗室條件下丙烷氣體的燃燒實驗,未來可以進行大量不同火焰形態(tài)、規(guī)模的實驗,也可以與FDS數(shù)值模擬相結(jié)合建立更多的真實火災(zāi)場景,獲得更豐富的火災(zāi)參數(shù)拓展數(shù)據(jù)庫,進一步推進模型在實際火災(zāi)場景中的運用。
本研究從熱釋放速率穩(wěn)定的丙烷氣體燃燒實驗出發(fā),開展了支持向量機分類算法在火災(zāi)中的應(yīng)用研究,實現(xiàn)了根據(jù)數(shù)秒內(nèi)火焰的體積或高度數(shù)據(jù)預測相對應(yīng)的火災(zāi)熱釋放速率,大大降低了火焰脈動和收縮過程對反演計算帶來的影響。實驗結(jié)果證明,精細高斯支持向量機(SVM)在本數(shù)據(jù)集上具有很高的預測精度。在驗證集上只有極少數(shù)數(shù)據(jù)會出現(xiàn)預測誤差,在陌生數(shù)據(jù)集上也有很好的預測精度。
本文提出的“體積/高度-熱釋放速率預測模型”可以根據(jù)2 s~3 s內(nèi)60幀火焰畫面較精準地預測燃料流量和熱釋放速率,為后續(xù)的火焰相關(guān)參數(shù)計算提供了重要依據(jù)。SVM的準確性和快速性使得該模型可以在火場中發(fā)揮作用,幫助消防救援人員實時預測和判斷火災(zāi)發(fā)展態(tài)勢。實際應(yīng)用中可以通過提升計算機配置,例如使用顯卡和GPU等進行計算,可大幅縮短處理時間,提升模型的時效性和實用性。