王記陵,萬 其,徐昊明,何嘉俊,董涵文
(南京工程學(xué)院 自動化學(xué)院,江蘇 南京 211167)
將物聯(lián)網(wǎng)技術(shù)與現(xiàn)代消防技術(shù)相結(jié)合,進(jìn)行大空間倉庫建筑的消防系統(tǒng)設(shè)計,不僅有利于該類建筑的管理,也能促進(jìn)相關(guān)消防技術(shù)的進(jìn)步[1]。阿里云物聯(lián)網(wǎng)平臺等物聯(lián)網(wǎng)平臺的發(fā)展使萬物互聯(lián)成為可能,感知設(shè)備將數(shù)據(jù)上傳至物聯(lián)網(wǎng)平臺,物聯(lián)網(wǎng)平臺將數(shù)據(jù)發(fā)送到服務(wù)器或者其他設(shè)備,以實(shí)現(xiàn)消防預(yù)警和數(shù)據(jù)監(jiān)測。物聯(lián)網(wǎng)的運(yùn)用可以從多方面發(fā)揮安防、消防作用,如何借助物聯(lián)網(wǎng)提升工作人員效率,減少人力損耗,是目前的主要研究方向之一[2]。
系統(tǒng)借助計算機(jī)視覺技術(shù)與溫濕度傳感器監(jiān)測環(huán)境數(shù)據(jù)并識別火焰,利用HOG特征和SVM分類器識別人體特征,并通過物聯(lián)網(wǎng)平臺將數(shù)據(jù)上傳至移動用戶端。
系統(tǒng)整體結(jié)構(gòu)如圖1所示。系統(tǒng)由主控模塊、圖像采集模塊、信息收集模塊和物聯(lián)網(wǎng)平臺組成。系統(tǒng)采用USB攝像頭作為圖像采集模塊,配備溫濕度傳感器進(jìn)行環(huán)境的溫濕度檢測。系統(tǒng)采用樹莓派作為主控模塊,用于接收傳感器數(shù)據(jù)和攝像頭傳送的圖像信息,判斷火情并進(jìn)行人體識別,之后將數(shù)據(jù)上傳至阿里云物聯(lián)網(wǎng)平臺,完成消防安防任務(wù)。
圖1 系統(tǒng)結(jié)構(gòu)
幀間差法是目前用于運(yùn)動目標(biāo)檢測和分割的常用方法之一,通過對連續(xù)兩幀視頻圖像序列進(jìn)行差分運(yùn)算即可獲取運(yùn)動目標(biāo)的輪廓[3]:
式中:D(x,y)為差分圖像;I(t)為t時刻圖像;I(t-1)為t-1時刻圖像;T為自定義閾值。幀間差分法易產(chǎn)生運(yùn)動物體內(nèi)部灰度值相近的“空洞”,及差分圖像物體邊緣輪廓較粗的“雙影”[4]。所以本文采用三幀差法,令t時刻差分圖像與t+1時刻差分圖像相交[5]。
在火災(zāi)識別領(lǐng)域,常用的顏色模型為RGB和HSL[6]。OpenCV是應(yīng)用廣泛的開源計算機(jī)視覺庫,支持RGB與HSV顏色空間的轉(zhuǎn)換。HSV用明度(Value)替代了HSL的亮度(Lightness),根據(jù)文獻(xiàn)[7]與實(shí)際實(shí)驗(yàn)得出火焰HSV判據(jù),如公式(2):
溫濕度傳感器用于監(jiān)測環(huán)境溫濕度數(shù)據(jù),當(dāng)空氣濕度處于30%RH~40%RH范圍時,火災(zāi)較易發(fā)生并擴(kuò)大蔓延;當(dāng)濕度低于25%RH時,極容易發(fā)生火災(zāi)[8]。因此,環(huán)境濕度低于25%RH時,系統(tǒng)將在移動端提醒用戶:環(huán)境干燥,注意安全。根據(jù)不同火場下的溫度曲線對比,當(dāng)火場平均溫度為100 ℃時,場景溫度迅速升高;當(dāng)火場平均溫度為50 ℃時,溫度提升速度相對平緩[9]。因此,在測得環(huán)境溫度高于50 ℃時系統(tǒng)發(fā)布火災(zāi)警報,在保證預(yù)警快速性與及時性的同時,最大限度降低誤判率。火焰識別算法流程如圖2所示。
圖2 火焰識別算法流程
方向梯度直方圖(Histogram of Oriented Gradient, HOG)特征是通過計算和統(tǒng)計圖像局部區(qū)域的梯度方向直方圖構(gòu)成的特征[10]。支持向量機(jī)(SVM)在解決小樣本、非線性和高緯度模式識別問題中有獨(dú)特的優(yōu)勢[11]。系統(tǒng)人體識別步驟如下:
(1)對圖像進(jìn)行灰度化、規(guī)范化操作;
(2)計算像素梯度;
(3)將圖像劃分為多個細(xì)胞模塊;
(4)將細(xì)胞模塊分為9個方向;
(5)將細(xì)胞模塊組合成更大的區(qū)塊;
(6)串聯(lián)所有區(qū)塊的HOG特征,得到圖像HOG特征;
(7)設(shè)置檢測窗口尺寸為64×128;
(8)將檢測窗口中圖像的HOG特征和參數(shù)SVMDetector求點(diǎn)積后與閾值比較,判斷圖像是否為行人,OpenCV庫提供參數(shù)SVMDetector與閾值。
阿里云物聯(lián)網(wǎng)平臺使開發(fā)者能夠?qū)崿F(xiàn)全球快速接入、跨廠商設(shè)備互聯(lián)互通、調(diào)用第三方智能服務(wù)等,從而快速搭建穩(wěn)定可靠的物聯(lián)網(wǎng)應(yīng)用[12]。
MQTT(消息隊列遙測傳輸)是基于發(fā)布/訂閱范式的消息協(xié)議,本文基于MQTT協(xié)議建立樹莓派與阿里云物聯(lián)網(wǎng)平臺間的通信。MQTT客戶端連接服務(wù)端,向服務(wù)端發(fā)送CONNECT報文,CONNECT報文包含客戶端ID、用戶名、密碼、清除會話等信息??蛻舳私邮盏椒?wù)端的CONNECT報文且報文成功連接后發(fā)送PUBLISH報文,PUBLISH報文包含發(fā)布的主題名稱、服務(wù)質(zhì)量等級等信息。
本文在阿里云物聯(lián)網(wǎng)平臺上創(chuàng)建的節(jié)點(diǎn)類型為直連設(shè)備,數(shù)據(jù)格式為ICA標(biāo)準(zhǔn)數(shù)據(jù)格式,聯(lián)網(wǎng)協(xié)議為WiFi。定義了“人員數(shù)量”“火情”“溫度”“濕度”4個功能類型,其中“人員數(shù)量”代表計算機(jī)視覺識別出的人體個數(shù);“火情”變量取值為0時代表安全,為1時代表火災(zāi)警報。產(chǎn)品創(chuàng)建完成后,創(chuàng)建設(shè)備并獲取設(shè)備證書(“ProductKey”“DeviceNa me”“DeviceSecret”)。
樹莓派連接物聯(lián)網(wǎng)平臺的步驟如下:
(1)設(shè)置設(shè)備證書的3個參數(shù);
(2)設(shè)置客戶端ID,本文設(shè)置為"paho.py|securemode=3,signmethod=hmacsha1,timestamp="+時間戳+"";
(3)設(shè)置協(xié)議用戶名為“DeviceName & ProductKey”;
(4)將DeviceName與客戶端ID、DeviceName、ProductKey、時間戳作為參數(shù)進(jìn)行簽名算法處理,得到密碼;
(5)根據(jù)ProductKey和地區(qū)ID獲取物聯(lián)網(wǎng)平臺地址并連接。
樹莓派向物聯(lián)網(wǎng)平臺發(fā)布數(shù)據(jù)的步驟如下:
(1)設(shè)置發(fā)布主題,本文發(fā)布主題為"/sys/ProductKey/DeviceName/thing/event/property/post";
(2)填寫待發(fā)布的數(shù)據(jù)內(nèi)容,即人員數(shù)量、火情、溫度、濕度;
(3)完成信息發(fā)布。
為驗(yàn)證算法性能,本文使用倉庫內(nèi)視頻作為實(shí)驗(yàn)對象,系統(tǒng)根據(jù)HSV顏色判據(jù)和三幀差法對火災(zāi)圖像完成火焰識別,如圖3所示。然后結(jié)合溫度數(shù)據(jù)和圖像信息判斷是否存在火情,表1為部分火情判斷結(jié)果。同時,系統(tǒng)調(diào)用OpenCV庫完成人體識別,實(shí)驗(yàn)結(jié)果如圖4所示。實(shí)驗(yàn)表明,人物距離、人物衣著顏色、人物畫面模糊程度對系統(tǒng)人體識別正確率影響不大。系統(tǒng)根據(jù)溫濕度和圖像信息判斷是否存在火情并將“人員數(shù)量”“火情”“溫度”“濕度”4個參數(shù)上傳阿里云物聯(lián)網(wǎng)平臺,物聯(lián)網(wǎng)平臺接收設(shè)備數(shù)據(jù)并實(shí)時刷新。APP顯示頁面如圖5所示。在檢測到環(huán)境干燥極易發(fā)生火災(zāi)時,APP進(jìn)行干燥提示;系統(tǒng)判斷出現(xiàn)火情時,APP進(jìn)行火災(zāi)警報;未判斷出火情并且溫濕度數(shù)據(jù)正常時,APP顯示安全。
圖3 火焰顏色識別結(jié)果
圖4 人體識別結(jié)果
表1 部分火焰檢測結(jié)果
本文借助樹莓派、USB廣角攝像頭、DHT11溫濕度傳感器、阿里云物聯(lián)網(wǎng)平臺實(shí)現(xiàn)了基于阿里云物聯(lián)網(wǎng)的多傳感器消防安防系統(tǒng)設(shè)計。計算機(jī)視覺與傳感器的結(jié)合有效保證了火焰識別的正確率,對HOG特征與SVM分類器的使用實(shí)現(xiàn)了較為準(zhǔn)確的人體識別。阿里云物聯(lián)網(wǎng)的設(shè)備接入、設(shè)備管理、規(guī)則引擎等功能完成了數(shù)據(jù)的訂閱發(fā)布,確保系統(tǒng)的穩(wěn)定與安全。