周慶隆 葉 剛
1(佳能信息系統(上海)有限公司 上海 200235) 2(埃森哲(中國)有限公司先進技術中心 上海 200072)
文物古建筑是中華民族珍貴五千年歷史文化遺產的重要組成部分,是中華文明源遠流長的歷史見證,是不可再生的人文資源。因此,保護好這些文物古建筑,利在今世,功在千秋。在所有對文物古建筑的危害當中,火災無疑是首當其沖。據統計,2012年至2016年5年時間,國家文物局接報重大文物火災事故80余起,很多重要文物建筑在大火中受到嚴重損毀甚至全部滅失。文物古跡大部分為木材質,出于保護目的,現在基本不允許接入電線,也不允許帶有破壞性的穿管布線施工。所以針對文物古建筑以及高大或者開放空間等傳統感煙、感溫探測器不適用的場合,如何利用新型無線傳感手段在火災發生早初期及時報警,迅速調集資源,有效地進行撲救,減少火災的危害,就具有非常巨大的意義。
根據Lambert-Beer定律[1],不同物質的分子結構對紅外光具有特定的吸收波長,由吸收的強弱可測得氣體分子成分的濃度。CO2的透射光譜如圖1(a)所示,在4.26 μm波長大氣對CO2存在很高的吸收率,如圖1(b)所示陽光中的該波段能量基本被大氣吸收。由于空氣中CO2的濃度基本恒定,傳感器在4.4 μm波長測得的輻射強度也應該基本穩定。
含碳物質燃燒會產生CO/CO2,不同物質燃燒時存在0.5~30 Hz的不同閃爍頻率,其輻射能量和時間關系也存在不同。圖2展示了木材和汽油燃燒的輻射能量和時間關系圖。

圖2 汽油和木材燃燒輻射能量和時間關系圖
熱釋電材料受到調制輻射加熱后,晶片溫度將發生微小變化,由此引起晶體極化狀態的變化,從而使垂直于自發極化軸方向的晶體單位表面上的電荷發生改變。如果利用濾光鏡(Filter)實現對入射光線的特定波長選擇過濾,利用FET場效應管將熱釋電效應引起的微小電荷變化信號放大輸出,后續的信號處理電路即可采集出選擇波長輻射中調制信號的幅度和頻率。
本設計中選擇了3.8 μm作為參比光段,4.4 μm作為測量光段,采用中科院上海光機所袁新強團隊開發的新型氟化物紅外玻璃材料[2]作為探測器密閉殼體的窗口材料,中科院上海硅酸鹽所羅豪甦團隊研發的新型弛豫鐵電晶體作為傳感單元材料,其信噪比相對于傳統鉭酸鋰熱釋電材料提高4倍[3]。利用上述原理開發了對火焰閃爍的調制信號進行采集的探測器,使用Zigbee協議[4]的無線傳感網傳輸至物聯網關并上傳中心系統,在中心系統中利用神經網絡模型對信號進行分析,實現了火災的早初期報警。
系統包括無線火災探測器、無線傳感網路由器、物聯網關和遠程監控中心四部分。其中無線火災探測器、無線傳感網路由器、物聯網關采用2.4 GHz頻段Zigbee協議構成局域無線傳感網絡。無線火災探測器與無線傳感網路由器之間采用星型組網。無線傳感網路由器與物聯網關之間支持Mesh組網。物聯網關和遠程監控中心采用IP網絡協議構成廣域通信網絡。監控中心采用局域網構成一個多服務器的分布式系統。系統工作原理與整體架構如圖3所示。設置于火災探測現場的無線火災探測器采集探測區域的4.4 μm和3.8 μm的紅外信號,經無線路由器和物聯網關上傳給遠程監控中心,在監控中心系統中采用神經網絡模型對信號進行分析。

圖3 系統整體結構與工作原理
無線火災探測器主要由熱釋電傳感器、低功耗模擬電路、MSP430微功耗單片機[5]、Zigbee終端節點無線通信模組和大容量鋰電池構成。探測器通過紅外濾光片完成3.8 μm和4.4 μm波長的紅外信號選擇,使用2個熱釋電傳感單元將紅外信號轉換為電壓信號,利用2路采用巴特沃斯濾波和多級運放的低功耗模擬電路完成信號的低頻帶通濾波和放大。利用MSP430芯片自帶的信號比較器實現MSP430內核的報警喚醒。其信號處理的流程如圖4所示。

圖4 探測器信號處理流程
為節省電池用量,MSP430的內核采用間斷工作機制。在4.4 μm信號強度處于設定閾值以下場合,探測器的微控制器通過RTC時鐘定期休眠和喚醒,微控制器被喚醒期間采集紅外信號并上傳。如果信號強度高于設定閾值,則模擬信號比較器主動喚醒微控制器進行數據采集,并上傳報警。信號比較器的參比信號可由中心系統遠程調整。
物聯網關的硬件系統構成如圖5所示。Zigbee協調器負責和下屬的路由節點,或者直接和終端節點通信。并利用UART接口和ATMEL9200微控制器[6]進行數據通信,ATMEL9200的網絡口可以外接其他無線通信DTU設備,或者通過有線網絡與中心系統通信。

圖5 物聯網關硬件系統圖
物聯網關系統采用嵌入式Linux作為操作系統,應用程序使用QT/C++開發,嵌入式SQLite數據庫保存各種配置參數和各個火災探測器的數據,以備上行網絡故障時重傳使用。物聯網關還運行一個GoAhead嵌入式Web服務器以供網關的參數配置網頁使用。物聯網關和中心系統之間采用MQTT協議進行數據傳輸。
根據含碳物質燃燒時會釋放大量的CO/CO2,在4.4 μm波長的紅外輻射信號會有較大增強,同時參比3.8 μm波長的信號強度相對穩定的物理現象,燃燒狀態時的兩個信號之間的強度差就比無燃燒狀態時高。據此,假設火災探測器輸出信號為x(t),由于信號變化的不確定性和受環境背景噪聲影響,可以把x(t)看成一個隨機過程,由火災信號和非火災的噪聲信號兩部分構成。其數學表示如下:
x(t)=xf(t)+xn(t)
(1)
式中:xf(t)是火災特征參數信號,xn(t)是非火災的噪聲信號。兩紅外波長信號強度差計算可由下式表示:
y(t)=|x4.4(t)-x3.8(t)|
(2)
式中:x4.4(t)表示火災探測器的4.4 μm紅外信號輸出,x3.8(t)表示3.8 μm紅外信號輸出。根據閾值進行火災判斷的計算由下式表示:

(3)
式中:D[y(t)]=1表示判斷為火災,D[y(t)]=0表示判斷為非火災,S為中心系統遠程設定調整的報警閾值。
利用上述算法網關可以進行一定程度的邊沿計算,可對兩個波長的信號數據經卡爾曼濾波后做差分處理,如果差分信號強度超過了SQLite數據庫中設定閾值即向中心系統報警。
由于本文的火災探測器只是中心系統接入的一種傳感設備,考慮到其他大量傳感器接入的規模和降低開發的難度,中心系統盡量采用了各種開源項目的成熟軟件作為工業化的系統組件,以積木化方式搭建了主要由數據采集系統和大數據系統構成如圖6所示的中心軟件系統。

圖6 中心軟件系統架構圖
數據采集中心系統是筆者所在公司開發的一個通用數據采集平臺。主要完成對現場各種設備的數據采集,并負責中心系統的指令向目標設備的下行傳輸。中心系統的通信服務必須滿足大量接入設備的并發通信,考慮到通信的可靠性和通信服務器的性能,通信服務采用了非阻塞的異步通信模型(NIO)[7],對于并發通信線程池的管理采用基于事件通知機制的Reactor反應堆線程模型[8]。大量使用異步并發的線程滿足大容量、高并發的要求。并通過線程池管理的線程復用減少線程啟動開銷,滿足通信的速度要求。為此系統采用了開源NETTY庫來滿足前述通信相關的技術要求。
中心系統需要實現數據報警閾值等的初步過濾,并通過自帶可視化工具進行展示,滿足系統管理人員的實時監控要求。為了滿足大量并發數據在極短時間內實現基于用戶定義規則過濾的高效率要求,則規則過濾處理不能產生任何阻塞,并通過線程池對過濾處理線程進行統一管理。所以系統的規則引擎采用了基于事件驅動流水線模式的Actor模型[9]。通過Actor之間異步地發送和處理消息,實現用戶自定義不同規則之間的聯動處理。為此,系統采用了開源AKKA庫來滿足前述規則引擎相關的技術要求,并支持JavaScript的規則定義。
系統為規則引擎過濾后的處理邏輯實體提供了基于Node.JS的用戶自定義手段,用戶可以通過向系統框架掛載自定義的邏輯實體插件實現數據存儲、數據路由、業務相關邏輯等的處理。可以實現例如:Kafka的消息隊列傳輸數據、微信報警、郵件通知等功能。
中心系統整體基于B/S架構,采用Springboot框架和Tomcat的Web服務器,所有系統管理界面和各種儀表盤實時數據的前端網頁可視化組件采用AngularJS開發。可以實現如:曲線圖﹑餅圖﹑直方圖等各種數據可視化顯示組件,百度﹑高德等GIS/GPS組件,建筑室內平面地圖組件等各種儀表盤自定義組件。
系統和外部其他系統接口主要有基于REST API的系統調用接口,基于WebSocket的數據通信接口以及基于Kafka消息隊列的數據轉發,數據路由接口。其中,REST API的系統調用接口主要為用戶既存系統之間的集成服務,用戶系統可以利用系統開放的REST API完成對系統功能的調用,實現數據到目標探測器設備的傳輸。WebSocket主要實現和手機等移動通信設備之間的雙向通信,Kafka消息隊列用于實現和后端的大數據系統之間的數據轉發,也可以接收大數據系統的消息并向探測器等前端設備的數據傳輸。
數據采集系統支持單機部署,也可以支持容器化部署,可以Docker形式部署在Kubernetes容器編排框架下,利用群集服務實現橫向擴展。
系統采用了工業級X.509認證證書,支持TLS/SSL的加密通信,以保證數據傳輸的安全性。
大數據系統是筆者所在公司基于各種開源軟件工具開發的一個大數據存儲和數據分析的業務平臺。用戶利用該系統可以實現如圖7所示系統功能架構圖中的數據存儲,數據計算和數據分析等工作。

圖7 大數據平臺的功能架構
大數據系統對接收到的各種探測器的實時數據利用如圖8所示的數據處理、存儲和分析流程進行火災的識別分析。

圖8 大數據平臺處理流程
系統由Kafka消息隊列從數據采集平臺接收各種傳感設備的實時數據,輸送給SparkStreaming。SparkStreaming是一個對實時數據流進行高通量、容錯處理的流式處理系統,可以對Kafka數據源進行類似Map、Reduce和Join等復雜操作,并將結果保存到Hadoop文件系統。SparkStreaming從Kafka的Topic中拿到數據,清洗完成后放入另一個Topic中供后續的業務來做處理。這樣做的好處是通過犧牲少許的實時性來換取數據的安全性。清洗完成的數據在交給Hadoop的資源管理器Yarn,由其負責存儲到HDFS的存儲介質進行持續化保存。數據也同步傳輸給算法運行服務模塊,由其根據建立的數據模型進行計算和分析。如果發現存在異常數據則向火災識別服務器發送預警信息,通過Kafka的轉發,通知數據采集系統的儀表盤的監控界面顯示預警狀態。數據挖掘建模模塊由用戶利用Spark自帶的機器學習算法庫對HDFS中保存的探測器信號數據進行建模,生成相關的可用模型,并保存到模型服務器。火災識別服務器從模型數據庫里面獲取相關的模型,在通信數據驅動下利用算法服務進行運算。
雖然網關設備對2個波長紅外信號的差分數據做了閾值過濾,但是由于現場背景噪聲隨日照、空氣溫濕度、空氣中水汽團分布、空氣流動等環境因素變化也不斷緩慢變化,所以網關設備的閾值參數也需要不斷調整。考慮到未來其他監測因子對閾值參數的影響,系統選擇了在便于數據綜合分析的大數據系統中進行相關處理。
本系統采用了自回歸積分滑動平均模型ARIMA(Autoregressive Integrated Moving Average Model)[10]來實現對2個波長紅外信號的差分數據閾值做預測。并計算實際數據和預測的誤差,據此更新網關設備的閾值參數。所謂ARIMA模型,是指將非平穩時間序列轉化為平穩時間序列,然后將因變量僅對它的滯后值以及隨機誤差項的現值和滯后值進行回歸所建立的模型。應用的基本模型為ARIMA(p,d,q),其中p為自回歸項數,q為滑動平均項數,d為使之成為平穩序列所做的差分次數(階數)。ARIMA(p,d,q)模型是ARMA(p,q)模型的擴展。ARIMA(p,d,q)模型可以表示為:
(4)
式中:L是滯后算子(Lag operator),d∈Z,d>0。Z為全體整數集合。φi表示自回歸的系數,θi表示滑動平均系數。εt表示非線性的零均值白噪聲隨機誤差序列。
單純利用閾值過濾還是會存在一些漏報和誤報的情況。經過對燃燒信號的特性分析,得知火焰波形具有很強的跳動性,即使經過了探測器低通濾波電路處理,仍然具有較強的波動性。火焰頻譜也具有比較大的幅值,經統計發現頻譜實際主要集中在5~10 Hz附近。雖然,背景噪聲的頻譜也集中在該頻段,但火焰頻譜的最高幅值通常比背景噪聲大,這主要是因為燃燒釋放的輻射能量比較強。結合這些特性可以將具有跳動性而幅度能量小和具有大的能量而波動非常平滑的數據歸類為噪聲干擾。以此,系統采用FFT(Fast Fourier Transform)進行信號變換。FFT是離散傅里葉變換的快速算法,可分為按時間抽取算法和按頻率抽取算法,可以將一個時域信號變換到頻域。有些信號在時域上是很難看出什么特征的,但是如果變換到頻域之后,就很容易看出特征了。FFT還可以將一個信號的頻譜提取出來,這在頻譜分析方面會經常用到。利用取得信號的頻域數據和電壓幅值,采用Spark自帶BP神經網絡[11]對所采集的實時數據進行頻域和時域相結合的分析來減少漏報和誤報,并提供對閾值判斷難于實現的木材陰燃的探測。
在信號特征參數提取上,對信號電壓波形跳動性的描述方面,系統首先查找信號電壓的最大和最小值,根據設定窗口數據的均值取一個基準系數k,分別按照k×最大值和k×最小值畫兩條水平直線,作為正基準線和負基準線,用于度量波形跳動性的大小。若跳動大,則波形和基準線交點就多,跳動小則交點少。波形與基準線交點個數分別計算成正交點數和負交點數。并根據波形跳動性利用統計分析數據遠程修改探測器信號比較器的參比信號報警閾值。對頻譜幅值的描述方面,系統查找頻譜圖中的波峰,記下幅度最大的前三個峰值的幅度和頻率。另外,系統也通過高斯正態分布的相關參數對頻譜幅值進行描述。系統主要選取上述的特征參數用于BP神經網絡的火災識別。BP神經網絡輸出火焰確率、陰燃確率的2個參數,分別為fire(t),smolder(t)。進行火災判斷的計算由下式表示:

(5)
式中:DF[fire(t)]=1表示判斷為火災,DF[fire(t)]=0表示判斷為非火災,M為火災判定閾值。
進行陰燃判斷的計算由下式表示:

(6)
式中:DS[smolder(t)]=1表示判斷為陰燃,DS[smolder(t)]=0表示判斷為非陰燃,N為陰燃判定閾值。
為了實現BP網絡訓練的快速收斂,采用了附加動量的BP算法。附加動量法[12]可使網絡在修正權值時,不僅考慮誤差在梯度上的作用,而且考慮曲面上變化趨勢的影響,其作用類似一個低通濾波,允許網絡忽略網絡上的微小變化特性,可以減少學習過程的振蕩,改善收斂性,極大地縮短模型訓練的時間。
為了檢驗系統對火災探測的有效性,本實驗根據文物古建實際的環境,分別模擬了建筑外部的灌木林地火災、建筑內部無陽光干擾條件下的火災、建筑內部存在陽光干擾條件下的火災,進行了國家標準火焰最遠探測距離測試、模擬陰燃等實驗。火災和陰燃的綜合判定函數的計算表達式如下:

(7)
式中:D[y(t)]為式(3)的計算結果;DF[fire(t)]為式(5)的計算結果;DS[smolder(t)]為式(6)的計算結果。
建筑外部灌木林地火災的測試中,分別使用32×32 cm正庚烷的國家標準火源和煤油小火把進行了實驗。圖9(a)顯示了測試的側面全景,(b)顯示了透過小樹林和灌木叢探測器視點正面所觀察到的火焰大小,(c)顯示了透過灌木叢探測器視點正面所觀察到小火把的火焰大小。

(a) (b) (c)圖9 建筑外部灌木林地火災測試
圖10(a)顯示了建筑物內部無陽光干擾條件下探測器對正面10 m距離的打火機火光進行探測。(b)顯示建筑物內部陽光干擾條件下對小火把火光進行測試。

(a) (b)圖10 建筑物室內火災測試
圖11顯示在高度5 m左右設置的探測器,對其正下方使用紙板和電熱吹風機模擬木材陰燃的測試。在紙板逐漸出現炭化和陰燃的零星陰燃點現象時被探測器檢測,系統報警。

圖11 建筑物室內陰燃測試
另外,還用32×32 cm正庚烷的國家標準火源在室外無遮擋的夜晚條件下的最遠探測距離測試。各種測試的結果數據如表1所示。

表1 不同實驗的測試結果表

續表1
實驗結果表明:在室內,室外的各種干擾條件下,本系統都取得了優于國家標準要求的結果。在國家標準要求的測試條件下,無漏報和誤報,滿足文物保護部門的使用要求。
本方案系統在國家重點文物——某公園的勤政殿安裝測試使用,取得了良好的效果。系統在勤政殿中布置多個火災探測器,并在勤政殿后設置一個路由節點,在離勤政殿約30 m處的頂坡設置通信網關,采用Wi-Fi定向天線實現和約500 m距離處的監控中心之間的通信。系統設置現場的情況如圖12所示。

圖12 勤政殿無線火災監測系統
本設計方案通過探測器、物聯網關和中心系統中采用多種算法的多級信號分析、低功耗電池設備和無線通信手段,為文物古建等傳統火災檢測手段不適用的特殊場合提供了新型的火災檢測手段。并通過各種實驗和實際項目應用對系統的有效性進行了驗證,證明系統架構設計合理,監測規模和監測因子擴展性好。本系統為目前急需解決的文物古建火災監測問題提供了有效的技術手段,具有應用推廣的價值。