丁健生 邢偉霞 陳洪濤
摘 ?要:該文針對傳統火災監測系統適用場景單一、預警反應較慢等缺點,提出一種集成紅外、紫外、可見光等多模光學信號的火災監測技術,實現對明火、高溫、煙霧等險情的快速識別。在該基礎上設計一套完整的火災監測系統,實現對火災數據的監測、存儲、報警,極大地豐富火災監測系統的適用場景,縮短系統響應時間,提高系統的可靠性。
關鍵詞:火災監測;機器視覺;煙霧識別;多模光學信號;系統設計
中圖分類號:S776.29+2 ? ? ?文獻標志碼:A ? ? ? ? ?文章編號:2095-2945(2024)14-0104-04
Abstract: This paper in view of the shortcomings of traditional fire monitoring system, such as single scene and slow early warning response, a fire monitoring technology which integrates infrared, ultraviolet, visible light and other multimode optical signals is proposed to realize the rapid identification of open fire, high temperature, smoke and other dangerous situations. On this basis, a complete fire monitoring system is designed, which realizes the monitoring, storage and alarm of fire data, which greatly enriches the applicable scene of the fire monitoring system, shortens the response time of the system and improves the reliability of the system.
Keywords: fire monitoring; machine vision; smoke recognition; multimode optical signal; system design
火災監測系統是預防火災、減少火災損失的重要保障設施。識別火源并第一時間發出預警是火災監測系統的核心任務[1-2]。傳統火災監測系統,多數基于對單一物理量的檢測原理,如光波、溫度、煙霧及特殊氣體[3-4]。其中針對光波的檢測以紫外探測器為主,其優點在于探測距離遠、準確率高,缺點是僅適用于明火檢測。針對溫度的檢測以紅外探測器為主,適用于明火與暗火,缺點是對于本身就具有高溫源的場所,如冶煉車間等易產生誤報。針對煙霧及特殊氣體的檢測多為接觸式檢測技術,其準確率較高,但反應速度較慢[5]。綜上,對單一物理量的檢測技術難以適用于不同的火災監測場景。
對此,本文提出一種基于紅外、紫外及可見光多模光學信號的火災監測技術,除集成傳統的紫外、紅外檢測功能以外,增加利用可見光圖像實現煙霧檢測的功能,從而實現對明火、高溫及煙霧的全覆蓋檢測。在此基礎上實現了一套完整的火災監測系統,極大地拓寬了系統的適用場景,增強了系統的可靠性及靈敏性。
1 ?系統硬件架構
系統采用云、邊協同架構設計,由私有云及邊緣網關分工協作,共同組成火災監測系統。邊緣網關負責火災監測、報警、消防聯動等基礎功能。云端負責人機交互、數據的長期存儲,以及向外網提供訪問接口等功能。系統的硬件拓撲結構如圖1所示。
邊緣端硬件上由紅外探頭、紫外探頭、可見光攝像頭、報警器及控制電路組成,各探頭通過各自的通信接口與邊緣網關相連,完成原始數據采集。各邊緣網關再通過交換機與云端的監控服務器相連,實現數據的上傳、匯總。監控服務器與文件服務器及數據庫服務器通過云端的虛擬網絡進行通信,共同構成采集、存儲數據的內網應用系統。如果不考慮外網應用,此內網系統本身就可獨立運行。但考慮到與上一級安防系統共享數據,以及火警發生時主動向手機發送報警信息等應用場景,系統又通過私有云虛擬出短信服務器、Web服務器等應用服務器,用于布署應用程序(如短信報警、Web服務等),共同構成一個開放的數據共享環境。
由于采用私有云架構,對外數據共享這一部分功能可以根據實際需求自由裁切,只需要關閉對應功能的服務器即可實現。
2 ?系統軟件架構
2.1 ?云端軟件架構
云端搭建于高性能服務器之上,采用私有云技術,將服務器資源虛擬出設備監控、數據存儲、文件存儲、Web服務和短信服務等虛擬主機,在其上布署各類數據庫及服務器軟件,從而實現設備監控、數據存儲及數據發布等服務端功能。整個云端的軟件架構如圖2所示。
在整個架構中,監控系統的服務端程序MonitorServer是整個云端系統的核心組件,負責監控系統中所有邊緣網關的運行狀態,接收各邊緣網關上傳的報警數據,并向邊緣網關下發各種指令和參數。同時MonitorServer將接收的數據導入存儲系統,并向人機交互系統、對外接口系統等擴展子系統提供數據來源。
各邊緣網關與MonitorServer之間采用Client/Server架構模式,邊緣網關作為客戶端, MonitorServer作為服務端。具體實現上,MonitorServer是采用C#語言開發的一個TCP Server,其包括通信模塊、管理模塊、數據緩沖池3個部分。MonitorServer程序的架構如圖3所示。
通信模塊直接與各邊緣網關通過TCP/IP協議通信,實現數據接收和指令下發。由于TCP通信會產生百毫秒級的時延,當邊緣網關的數量較多時,服務器如采用單線程輪詢的模式較為耗時。為此該模塊的設計采用多線程(MultiThread)并發模式,當客戶端發起連接后,自動為每一個客戶端創建一個獨立的讀寫線程,各線程之間互不干擾,宏觀上處于并行狀態,從而提高系統的實時性。
管理模塊用于實現系統的初始化及參數設置。在數據庫中存儲有各個邊緣網關的配置信息,當MonitorServer啟動時,管理模塊從數據庫中加載這些配置信息,通過通信模塊下發至邊緣網關,從而實現對各網關的參數配置。
由于各應用系統需要頻繁地獲取各網關的狀態數據,如采用共享存儲系統的模式,會產生大量的磁盤IO操作,影響運行效率。為提高數據讀寫速度,通信模塊會將各網關上傳的數據寫入一個公共數據緩沖池內,各應用系統從緩沖池內批量讀取數據。具體實現方式上,緩沖區采用SQL Server內存數據庫,通信模塊與其他應用系統采用生產者/消費者模式,由通信模塊生產數據,應用系統消費數據。此外,管理模塊會定時將緩沖池內的數據,轉存入存儲系統,實現數據的持久化。
除監控系統外,云端還配有人機交互子系統,數據存儲子系統及數據接口子系統,限于篇幅,細節不在此贅述。
2.2 ?邊緣端軟件架構
邊緣端搭載ARM 9嵌入式芯片,運行嵌入式系統,實現對各探頭數據的實時采集、處理及上傳。為防止因網絡通信意外中斷而導致報警失效,邊緣端在設計之初就具備獨立報警的功能。即使在沒有網絡通信的情況下,邊緣端檢測到火警后也會立刻啟動內置的報警器,并不斷嘗試向服務端發送報警信息,直至網絡通信恢復或由操作人員手工執行復位操作。
為了在火災發生時,第一時間啟動應急措施,邊緣端包含8路DO及2路AO輸出端口,用于與水泵、風機、防火卷簾門等第三方消防設施聯動。輸出端口的輸出規則可由用戶通過云端預先設置。當檢測到火警后,通過輸出端口自動激活第三方消防設施,從而使系統不但具備火災報警功能,同時具備一定的消防設施控制功能。
綜上,邊緣端的軟件系統架構如圖4所示。
3 ?算法實現
隨著以深度學習技術為代表的機器學習算法飛速發展,其精度比傳統的圖像檢測算法有了極大的提高,從而使得通過可見光圖像實現煙霧檢測變為可能[6]。本文采用深度學習的單階段目標檢測算法,利用TensorFlow模型進行深度學習訓練,構建了一個包含20層的神經網絡,其結構如圖5所示。
各層的主要作用及參數設置如下。
第一層,卷積層:卷積核數量為64,大小為3×3,步長為1。輸入圖像的尺寸為640×640,通道數為1。激活函數選擇Relu,卷積層深度為24。
第二層,BN層:用于將卷積之后的數據歸一化,提升網絡的收斂速度。
第三層、第四層重復上述過程,用于進一步提取圖像特征。這樣做的目的是使用雙層小卷積核來代替單層大卷積核,在感受野相同的情況下,減少計算量。
第五層,最大池化層:池化核的尺寸為3×3,移動步長為3,這一層用于特征降維。
第六層至第十五層:交替設置卷積層與BN層,卷積核數量為128,大小3×3,步長為1。
第十六層,最大池化層:池化核的尺寸為2×2,移動步長為2。
第十七層,平均池化層:進一步對特征降維。
第十八層,全連接層:神經元個數為1 280個,激活函數為Relu。
第十九層,BN層:將全連接層歸一化。
第二十層,全連接輸出層:將上一層產生的1 280個特征輸入全連接層,輸出分類結果。
在TensorFlow框架下,應用Python語言構建上述神經網絡模型的關鍵代碼如圖6所示。
4 ?試驗測試
為保障識別的準確率,本系統使用手動實景采樣。分別在室內、室外環境下,在白天、傍晚、夜間等時段,人工設置煙霧源,煙霧類型涵蓋黑煙與白煙,再利用定時攝像對不同濃度不同顏色的煙霧圖像拍照采樣,共計采集5 000張圖片。該數據集中包含大量不同距離、濃度及光照條件的樣本,各類樣本占比均勻,這樣有助于提高模型的魯棒性。對上述樣本進行手工標注后,隨機抽取3 000張作為訓練集,1 000張作為驗證集,剩余1 000張作為測試集。在此基礎上,為了增強模型的泛化能力,減少過擬合的風險,本文使用數據增強技術,對上述圖片進行隨機縮放、裁剪、旋轉和顏色變化,將原數據集擴充10倍。
由于深度學習模型要求訓練圖片的分辨率必須一致,并且為了平衡訓練速度與檢測精度,本文將數據增強前、后的所有樣本圖片均調整為640×640的大小,寬高比例不變。
在做好上述準備工作之后,開始訓練模型。經過100代訓練后,使用測試集對模型進行測試,測試結果的各項指標見表1。
對完整測試集的準確率達到95.5%。通過對檢測失敗的樣本分析發現,大部分誤檢樣本均為使用樣本增強后的小面積煙霧樣本,剔除這些增強樣本后,模型對于原始測試集的準確率為98.8%。這個精度再輔以紅外、紫外的數據相融合,可以使系統滿足使用要求。
5 ?結論
本文提出了一種基于紅外、紫外及可見光3種光源的火災監測技術,應用TensorFlow深度學習框架實現了基于可見光圖像的煙霧檢測算法,在此基礎上實現了一套完備的火災監測系統。該系統采用云、邊協同架構,通過云端服務器及邊緣網關設備,實現了對明火、暗火及煙霧的全覆蓋檢測,極大地拓寬了系統的適用場景,增強了系統的可靠性及靈敏性。同時,該系統的設計具有一定的通用性,對于其他類型的監控系統設計也具有借鑒意義。
參考文獻:
[1] 侯曉云,王書堂.基于NB-IoT的火災監測與預警系統設計[J].集成電路應用,2023,40(9):383-385.
[2] 張科,葉影,張紅.基于邊緣計算的森林火災監測系統[J].大數據,2019,5(2):79-88.
[3] 張專成,黃天錄,龐新法.多參量火警監測器的軟判決與單片機實現[J].微計算機信息,2008(8):149-151.
[4] 荀磊.多傳感器融合的實驗室火災監測控制系統設計[J].安徽電子信息職業技術學院學報,2023,22(1):6-13.
[5] 王浩森.家用火災監測報警信號處理系統的研制[D].成都:電子科技大學,2023.
[6] TAO H, DUAN Q, LU M, et al. Learning discriminative feature representation with pixel-level supervision for forest smoke recognition [J]. Pattern Recognition, 2023, 143:5.