苗利明,邱樹偉,張杰洵,梁馮斌
(1.韓山師范學(xué)院計(jì)算機(jī)與信息工程學(xué)院,廣東 潮州 521041;2.北京鼎漢技術(shù)集團(tuán)股份有限公司,廣東 深圳 518101)
miaolm@hstc.edu.cn;swqiu@hstc.edu.cn;546572809@qq.com;811678717@qq.com
古建筑是我國(guó)傳統(tǒng)文化的載體,具有豐富而復(fù)雜的內(nèi)涵和文物價(jià)值,是人類物質(zhì)和非物質(zhì)遺產(chǎn)的重要組成部分,具有獨(dú)特的歷史、藝術(shù)和科學(xué)價(jià)值。古建筑的火災(zāi)荷載大、耐火等級(jí)低,因此其火災(zāi)危險(xiǎn)性較高。近10 年來(lái),國(guó)內(nèi)多處古建筑發(fā)生了不同程度的火災(zāi)事故,因此關(guān)于火災(zāi)檢測(cè)的研究也越來(lái)越多[1]。王皎等以古建筑山西圣母殿為例,模擬了其火災(zāi)發(fā)生和發(fā)展過(guò)程[2]。田水承等采用PyroSim軟件研究了不同位置的感溫探測(cè)器的選型問(wèn)題[3]。郭子?xùn)|等研究了消防設(shè)施和探測(cè)器的合理設(shè)置[4]。帥建強(qiáng)研究了古建筑火災(zāi)的發(fā)展蔓延規(guī)律,以及合理布置火災(zāi)探測(cè)器的方法[5]。王彥等對(duì)徽派古建筑群中提取的模型進(jìn)行了火災(zāi)數(shù)值模擬研究[6]。朱強(qiáng)對(duì)古建筑的簡(jiǎn)化模型進(jìn)行了溫度場(chǎng)的求解與分析[7]。然而,古建筑火災(zāi)超早期階段產(chǎn)生的氣體極少,使得溫度和視頻圖像變化不明顯。因此,有必要結(jié)合熱感成像、視頻流檢測(cè)和圖像處理技術(shù),對(duì)古建筑火災(zāi)超早期檢測(cè)的方法進(jìn)行研究。
依據(jù)古建筑管理人員及地區(qū)消防部門的需求,設(shè)計(jì)系統(tǒng)業(yè)務(wù)流程如圖1所示。首先在古建筑中安裝感知節(jié)點(diǎn),用來(lái)采集所需要的數(shù)據(jù),采集到的數(shù)據(jù)通過(guò)通信模組發(fā)送到邊緣計(jì)算節(jié)點(diǎn),由部署在邊緣計(jì)算節(jié)點(diǎn)上的火災(zāi)檢測(cè)算法對(duì)數(shù)據(jù)進(jìn)行檢測(cè)。然后將邊緣計(jì)算節(jié)點(diǎn)檢測(cè)的結(jié)果及古建筑環(huán)境信息通過(guò)NB-IoT模組上傳到物聯(lián)網(wǎng)公有云。用戶可以通過(guò)移動(dòng)端應(yīng)用程序獲取公有云數(shù)據(jù),能及時(shí)收到火情的預(yù)警并進(jìn)行火情監(jiān)管。根據(jù)消防業(yè)務(wù)流程及功能需求,將系統(tǒng)劃分為信息采集傳輸、火情檢測(cè)、服務(wù)應(yīng)用三個(gè)主要模塊,系統(tǒng)層次結(jié)構(gòu)如圖2所示。
圖1 系統(tǒng)核心業(yè)務(wù)流程圖Fig.1 Flow chart of system core business
圖2 系統(tǒng)層次結(jié)構(gòu)圖Fig.2 System hierarchy diagram
系統(tǒng)依據(jù)物聯(lián)網(wǎng)技術(shù)棧,將系統(tǒng)硬件部分劃分為端、邊、管、云和應(yīng)用五個(gè)部分。
2.2.1 端
端(感知層)主要由紅外熱成像模組、煙霧傳感器、溫度和濕度傳感器等組成,其功能是采集古建筑環(huán)境數(shù)據(jù),這部分對(duì)應(yīng)于系統(tǒng)層次結(jié)構(gòu)中的信息采集模塊。物體熱感圖像信息通過(guò)紅外熱成像模組采集,熱感圖像像素值的大小與物體之間的溫度差正相關(guān)。感知端采用多點(diǎn)式結(jié)構(gòu)建立無(wú)線傳感網(wǎng)絡(luò),具體來(lái)說(shuō),它是以多個(gè)感知節(jié)點(diǎn)為一組,將一組感知節(jié)點(diǎn)的信息通過(guò)無(wú)線網(wǎng)絡(luò)傳輸模塊發(fā)送。
2.2.2 邊
邊(控制層)包括一個(gè)物聯(lián)網(wǎng)網(wǎng)關(guān)和一個(gè)邊緣計(jì)算節(jié)點(diǎn),它們共同處理和計(jì)算感知節(jié)點(diǎn)的數(shù)據(jù),并把數(shù)據(jù)傳輸?shù)轿锫?lián)網(wǎng)公有云??刂茖优c信息采集傳輸、火情檢測(cè)、端云服務(wù)功能模塊相對(duì)應(yīng)。物聯(lián)網(wǎng)網(wǎng)關(guān)由單片機(jī)、Wi-Fi模塊、NB-IoT模塊組成,由單片機(jī)控制Wi-Fi模塊與各感知節(jié)點(diǎn)進(jìn)行無(wú)線通信;對(duì)采集到的數(shù)據(jù)進(jìn)行解析,將數(shù)據(jù)包內(nèi)的圖像信息傳送到邊緣計(jì)算節(jié)點(diǎn)進(jìn)行運(yùn)算,然后由NB-IoT模組將數(shù)據(jù)傳送到物聯(lián)網(wǎng)公共云。
2.2.3 管
系統(tǒng)使用Wi-Fi及NB-IoT作為通信方式,管(傳輸層)對(duì)應(yīng)系統(tǒng)層次結(jié)構(gòu)中的數(shù)據(jù)傳輸模塊。
2.2.4 云
云(云應(yīng)用)是一個(gè)以服務(wù)器為基礎(chǔ)的平臺(tái),它與物聯(lián)網(wǎng)網(wǎng)關(guān)之間進(jìn)行數(shù)據(jù)對(duì)接,對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)和響應(yīng)客戶端請(qǐng)求,應(yīng)用層對(duì)應(yīng)系統(tǒng)層次結(jié)構(gòu)中的端云服務(wù)模塊。
2.2.5 應(yīng)用
應(yīng)用,即客戶端。本系統(tǒng)采用手機(jī)和微信小程序兩種用戶級(jí)應(yīng)用,用戶可以通過(guò)手機(jī)和微信與物聯(lián)網(wǎng)公有云進(jìn)行交互,實(shí)現(xiàn)對(duì)古建筑的監(jiān)控、遠(yuǎn)程火災(zāi)報(bào)警和火災(zāi)隱患預(yù)警;客戶端與系統(tǒng)層次結(jié)構(gòu)中的移動(dòng)應(yīng)用模塊相對(duì)應(yīng)。
感知節(jié)點(diǎn)的功能是采集古建筑的環(huán)境信息,數(shù)據(jù)結(jié)構(gòu)如下:
3.1.1 熱感圖像采集
紅外熱感成像模組采集目標(biāo)物體的熱感圖像,熱感成像模組中的紅外傳感器將物體發(fā)射的紅外信息轉(zhuǎn)化為電信號(hào)發(fā)送給熱感圖像處理單元,熱感圖像處理單元的外圍電路為外部提供了一個(gè)傳輸接口,因而從屬模組可以獲得紅外熱感圖像,行數(shù)據(jù)校驗(yàn)采用循環(huán)冗余校驗(yàn)碼(CRC),其程序流程如圖3所示。
圖3 熱感圖像采集程序流程圖Fig.3 Program flow chart for the thermal image acquisition
3.1.2 煙霧濃度數(shù)據(jù)采集
在實(shí)際應(yīng)用中,由于古建筑所處的環(huán)境與試驗(yàn)環(huán)境不同,所以在使用煙霧傳感器時(shí),必須先對(duì)處于潔凈空氣中的傳感器輸出數(shù)據(jù)進(jìn)行測(cè)量,然后將該數(shù)據(jù)作為參考對(duì)煙霧傳感器進(jìn)行校正。當(dāng)感知節(jié)點(diǎn)中的微控制器通過(guò)模擬接口獲取到電壓值后,需要進(jìn)行模擬值到數(shù)字值的轉(zhuǎn)換,轉(zhuǎn)換后的輸出值可用于計(jì)算當(dāng)前環(huán)境的煙霧濃度。
3.1.3 溫度和濕度數(shù)據(jù)采集
當(dāng)信息采集節(jié)點(diǎn)向溫濕度傳感器發(fā)出“開始”的信號(hào)后,傳感器輸出溫度和濕度信號(hào),當(dāng)“開始”信號(hào)停止發(fā)送時(shí),溫濕度傳感器向信息采集節(jié)點(diǎn)回復(fù)響應(yīng)并發(fā)送數(shù)據(jù),最后發(fā)送“結(jié)束”信號(hào),表示完成一次數(shù)據(jù)傳輸。
感知節(jié)點(diǎn)與網(wǎng)關(guān)節(jié)點(diǎn)之間的數(shù)據(jù)通信通過(guò)Wi-Fi無(wú)線局域網(wǎng)實(shí)現(xiàn)。網(wǎng)關(guān)節(jié)點(diǎn)為服務(wù)器端,感知節(jié)點(diǎn)為客戶端,多個(gè)感知節(jié)點(diǎn)作為客戶端連接到網(wǎng)關(guān)節(jié)點(diǎn)。由于服務(wù)器端是通過(guò)感知節(jié)點(diǎn)的靜態(tài)IP判斷節(jié)點(diǎn)位置,所以在為客戶端節(jié)點(diǎn)分配IP時(shí),首先要避開已部署的感知節(jié)點(diǎn)靜態(tài)IP段,然后對(duì)服務(wù)器端的動(dòng)態(tài)主機(jī)配置協(xié)議進(jìn)行配置。感知節(jié)點(diǎn)通電后,會(huì)根據(jù)配置程序中的設(shè)定連接網(wǎng)關(guān)節(jié)點(diǎn),當(dāng)客戶端連接服務(wù)器端后,服務(wù)器端會(huì)執(zhí)行連接回調(diào)函數(shù),將當(dāng)前的連接會(huì)話進(jìn)行保存,把連接的地址信息存入節(jié)點(diǎn)地址信息表中;通過(guò)存儲(chǔ)的地址表進(jìn)行查找即可定位該節(jié)點(diǎn)在古建筑的具體方位。
火災(zāi)的發(fā)展過(guò)程需要經(jīng)過(guò)多個(gè)階段,國(guó)家標(biāo)準(zhǔn)《點(diǎn)型感煙火災(zāi)探測(cè)器》(GB 4715—2005)中將陰燃階段定義為處于火災(zāi)產(chǎn)生過(guò)程中的超早期,該階段的主要特征是起火物質(zhì)堆積發(fā)熱或由其他外界能量造成可燃物內(nèi)部分子激烈運(yùn)動(dòng),導(dǎo)致其熱解反應(yīng),可燃物溫度緩慢上升且釋放出氣體或液體蒸氣。氣體或液體蒸氣含量極低,濃度與火災(zāi)未發(fā)生時(shí)差距不大,因而此階段最主要的特征是物體溫度的變化。在火災(zāi)發(fā)展的陰燃階段,物體陰燃點(diǎn)隨著時(shí)間的推移由燃燒中心向周圍逐步擴(kuò)散,是一個(gè)動(dòng)態(tài)且連續(xù)變化的過(guò)程。
在熱成像模組前方擺放香燭,在香燭后方放置一塊木板,木板后面加上點(diǎn)狀火源,點(diǎn)狀火源的熱量會(huì)逐漸穿透木板并被紅外熱成像模組檢測(cè)到。圖4(a)為燃燒的香火及后面的木板,圖4(b)是該圖灰度圖,圖4(c)為熱成像模組獲取的紅外熱感圖像,是一幅分辨率為80×60 像素、16 位深度的單通道灰度圖像。圖4中,熱感圖中的亮點(diǎn)表示正在燃燒的燭火和香火,由于木板后面的點(diǎn)狀火源產(chǎn)生的熱量還沒(méi)有穿透木板,因此在熱感圖像中沒(méi)有顯示。
圖4 實(shí)驗(yàn)場(chǎng)景及熱感圖像示例Fig.4 Example of experimental scenarios and thermal sensing images
截取陰燃點(diǎn)產(chǎn)生前后的熱感圖像(間隔2 min),繪制其直方圖并進(jìn)行比對(duì)分析。雖然兩幅圖像在時(shí)間上間隔較長(zhǎng),但是圖像之間的灰度值差異較小,灰度分布差異不大,陰燃點(diǎn)的特征不夠明顯。采用固定閾值和區(qū)域自適應(yīng)閾值方法對(duì)熱感圖像進(jìn)行分析發(fā)現(xiàn),當(dāng)陰燃點(diǎn)剛出現(xiàn)時(shí),陰燃點(diǎn)與周邊區(qū)域的對(duì)比度較弱,并且與周邊干擾熱源像素相互混合,采用閾值法無(wú)法區(qū)分這類變化。當(dāng)閾值法可以檢測(cè)到像素差異的時(shí)候,火災(zāi)超早期已經(jīng)接近尾聲。有學(xué)者提出基于圖像處理技術(shù)實(shí)現(xiàn)的火災(zāi)早期煙霧自檢系統(tǒng),為火災(zāi)早期探測(cè)提供了一種思路[8],但對(duì)于大多數(shù)易燃物來(lái)說(shuō),火災(zāi)早期產(chǎn)生的煙霧很少,使得這種依靠煙霧檢測(cè)方法的泛化性受到限制。本文依據(jù)熱感成像的特點(diǎn),針對(duì)ARM Cortex-M3模組設(shè)計(jì)了幀間差分算法。
幀間差分法是通過(guò)視頻圖像序列的連續(xù)兩幀圖像做差分運(yùn)算獲取運(yùn)動(dòng)目標(biāo)輪廓的方法。當(dāng)相鄰兩幀圖像之間出現(xiàn)較為明顯的差別時(shí),這兩幀圖像對(duì)應(yīng)位置的像素值差絕對(duì)值大于零。此時(shí),只有判斷這個(gè)絕對(duì)值是否大于某一閾值,就可以得到圖像序列中物體變化的特性,數(shù)學(xué)公式描述如下:
在實(shí)驗(yàn)中發(fā)現(xiàn),陰燃點(diǎn)在熱感成像中變化時(shí)間周期較長(zhǎng),相鄰兩幀之間的差異非常小。通過(guò)對(duì)連續(xù)采集的31 幀熱感圖像的高溫區(qū)域進(jìn)行分析,得到了比較明顯的特征,這里的高溫區(qū)域是指陰燃點(diǎn)像素的數(shù)量。對(duì)于實(shí)驗(yàn)用的木板類可燃物,當(dāng)木板上有陰燃點(diǎn)出現(xiàn)時(shí),木板表面溫度在50—110 ℃的范圍內(nèi)變化,對(duì)應(yīng)的熱感圖像像素值范圍為300—1,399。如圖5所示,對(duì)31 幀熱感圖像序列中像素值為300—1,399的像素點(diǎn)繪制折線圖,可以看到曲線整體的變化幅度較大,這表明木板后面的燃燒點(diǎn)熱量越來(lái)越大,使木板的表面溫度升高,高溫區(qū)域逐漸擴(kuò)大(陰燃點(diǎn)逐漸擴(kuò)大),因此曲線整體呈上升趨勢(shì)。
圖5 高溫區(qū)域變化折線圖Fig.5 Line chart of smoldering point area change process
分析比對(duì)連續(xù)31 幀圖像的數(shù)據(jù)得出:正常情況下圖像的變化是穩(wěn)定的,當(dāng)有陰燃點(diǎn)出現(xiàn)時(shí),圖像高溫區(qū)域像素?cái)?shù)量變化明顯。因此,本文采用相隔七幀的兩幅圖像進(jìn)行計(jì)算,即。依據(jù)實(shí)驗(yàn)數(shù)據(jù),閾值選擇為“3”,當(dāng)有連續(xù)五次超出閾值的檢測(cè)結(jié)果時(shí),就判定為出現(xiàn)陰燃點(diǎn)。
算法的程序設(shè)計(jì)語(yǔ)言(PDL)簡(jiǎn)要描述如下:(1)陰燃點(diǎn)檢測(cè)過(guò)程開始;(2)讀入熱感圖像;(3)暫存熱感圖像;(4)暫存圖像數(shù)量為10 幀;(5)計(jì)算;(6)刪除第一幀圖像并更改其余幀編號(hào);(7)新采集幀進(jìn)入暫存;(8)判斷超出閾值的差分結(jié)果的計(jì)數(shù);(9)判斷是否出現(xiàn)陰燃點(diǎn);(10)陰燃點(diǎn)檢測(cè)過(guò)程結(jié)束。
陰燃點(diǎn)檢測(cè)算法運(yùn)行時(shí)首先讀入采集到的熱感圖像,計(jì)算圖像中像素值范圍在300—1,399的區(qū)域并進(jìn)行暫存,當(dāng)圖像序列里保存的圖像數(shù)量達(dá)到10 幀時(shí)開始計(jì)算圖像序列的幀間差分,當(dāng)有新的圖像進(jìn)入序列時(shí),將圖像序列中最早的一張圖像刪除,更改其余幀的編號(hào),然后存儲(chǔ)當(dāng)前圖像。
實(shí)際的火災(zāi)現(xiàn)場(chǎng)中,陰燃點(diǎn)不會(huì)單獨(dú)出現(xiàn),也會(huì)出現(xiàn)非陰燃點(diǎn)因素,例如打火機(jī)打火時(shí)出現(xiàn)的短暫火焰,蠟燭火苗的跳動(dòng),較粗的香燭在燃燒過(guò)程中也經(jīng)常會(huì)出現(xiàn)燃燒點(diǎn)忽大忽小的情況,我們將這些情況作為非陰燃點(diǎn)的干擾進(jìn)行判斷和處理。通過(guò)實(shí)驗(yàn)歸納了一些干擾情況的特點(diǎn),一是突然有大面積的火焰出現(xiàn),然后又突然消失;二是在高溫區(qū)域較快地發(fā)生區(qū)域擴(kuò)大的情況,但這種情況不會(huì)持續(xù)很久,而且高溫區(qū)域又較快地縮?。蝗歉邷貐^(qū)域的位置會(huì)發(fā)生較小的變化,位置變化的同時(shí)高溫區(qū)域的大小也發(fā)生變化。對(duì)于第一種情況,高溫區(qū)域大小的數(shù)值在箱線圖中表現(xiàn)為離群點(diǎn),數(shù)值超出了三倍標(biāo)準(zhǔn)差;在陰燃點(diǎn)檢測(cè)算法中對(duì)這種離群點(diǎn)的處理方法是設(shè)置一個(gè)閾值作為約束條件,超出閾值的離群點(diǎn)不進(jìn)行處理。對(duì)于第二種情況,高溫區(qū)域大小較快地變化相當(dāng)于高頻變化,但是由于陰燃點(diǎn)區(qū)域變化比較緩慢,陰燃點(diǎn)檢測(cè)算法是相隔七幀進(jìn)行一次差分運(yùn)算,相當(dāng)于是低頻變化,因此這種在高溫區(qū)域出現(xiàn)的較快的區(qū)域大小變化會(huì)被過(guò)濾掉。第三種情況主要是蠟燭火焰的跳動(dòng),高溫區(qū)域的位置和大小都會(huì)變化,但是在紅外熱成像中的表現(xiàn)是高溫區(qū)域的數(shù)值基本沒(méi)有變化,在陰燃點(diǎn)檢測(cè)算法中,在當(dāng)前幀高溫區(qū)域像素的平均值與第七幀的平均值的差小于當(dāng)前幀平均值的5%時(shí),就作為非陰燃點(diǎn)處理。
為了驗(yàn)證算法的有效性,研究人員將算法部署到嵌入式模組中。嵌入式模組主頻為72 MHz,外部晶振的頻率為8 MHz,靜態(tài)隨機(jī)存儲(chǔ)器為64 kB。在測(cè)試實(shí)驗(yàn)中共采集3,607 幀有陰燃點(diǎn)的圖片序列,不用幀間差分法時(shí),采集速率為8 幀/秒,準(zhǔn)確率低于70%;使用本文算法時(shí)采集速率為6 幀/秒,準(zhǔn)確率達(dá)到了75%。
在無(wú)線網(wǎng)絡(luò)模塊收到感知節(jié)點(diǎn)的信息后,由接收回調(diào)函數(shù)對(duì)接收到的數(shù)據(jù)進(jìn)行報(bào)頭驗(yàn)證,驗(yàn)證完成后將數(shù)據(jù)傳輸至邊緣節(jié)點(diǎn)。邊緣節(jié)點(diǎn)將檢測(cè)結(jié)果通過(guò)串口發(fā)送給網(wǎng)關(guān)節(jié)點(diǎn),觸發(fā)網(wǎng)關(guān)節(jié)點(diǎn)的串口接收中斷,并同步檢測(cè)結(jié)果。網(wǎng)關(guān)節(jié)點(diǎn)的微控制器與NB-IoT模組之間的通信設(shè)計(jì)采用了異步回調(diào)的設(shè)計(jì)。微控制器向NB-IoT模組發(fā)出指令,將NB-IoT模組設(shè)置為消息接收狀態(tài)。當(dāng)串口接收到NB-IoT模組的響應(yīng)信息之后,中斷函數(shù)會(huì)根據(jù)消息接收標(biāo)識(shí)進(jìn)行指令匹配,以此判斷指令的執(zhí)行情況。出現(xiàn)火情時(shí),網(wǎng)關(guān)節(jié)點(diǎn)向物聯(lián)網(wǎng)公有云上報(bào)火情,網(wǎng)關(guān)節(jié)點(diǎn)上報(bào)的消息需要指定消息頭和消息唯一標(biāo)識(shí)等參數(shù)。
系統(tǒng)提供了移動(dòng)端的應(yīng)用服務(wù),包括登錄、報(bào)警、管理等服務(wù)。登錄服務(wù)包括用戶可登錄的賬戶,也提供了密碼找回和重新設(shè)置服務(wù)。報(bào)警服務(wù)除了向用戶發(fā)送報(bào)警信息,還向用戶發(fā)送檢測(cè)位置的圖像。用戶可以直觀地查看管理的古建筑的環(huán)境信息,還可以添加或刪除管理的古建筑;個(gè)人信息管理服務(wù)包括查看與設(shè)置個(gè)人賬戶信息等。
根據(jù)火災(zāi)超早期的特點(diǎn),利用圖像分析技術(shù)設(shè)計(jì)了檢測(cè)古建筑物陰燃點(diǎn)的嵌入式算法,并部署在嵌入式節(jié)點(diǎn)中。多個(gè)感知節(jié)點(diǎn)組成局域網(wǎng)絡(luò),然后通過(guò)NB-IoT與物聯(lián)網(wǎng)公有云進(jìn)行信息交互。設(shè)計(jì)了用戶端移動(dòng)應(yīng)用程序,實(shí)現(xiàn)了實(shí)時(shí)檢測(cè)、報(bào)警和管理功能。