王記陵,萬 其,徐昊明,何嘉俊,董涵文
(南京工程學院 自動化學院,江蘇 南京 211167)
將物聯網技術與現代消防技術相結合,進行大空間倉庫建筑的消防系統設計,不僅有利于該類建筑的管理,也能促進相關消防技術的進步[1]。阿里云物聯網平臺等物聯網平臺的發展使萬物互聯成為可能,感知設備將數據上傳至物聯網平臺,物聯網平臺將數據發送到服務器或者其他設備,以實現消防預警和數據監測。物聯網的運用可以從多方面發揮安防、消防作用,如何借助物聯網提升工作人員效率,減少人力損耗,是目前的主要研究方向之一[2]。
系統借助計算機視覺技術與溫濕度傳感器監測環境數據并識別火焰,利用HOG特征和SVM分類器識別人體特征,并通過物聯網平臺將數據上傳至移動用戶端。
系統整體結構如圖1所示。系統由主控模塊、圖像采集模塊、信息收集模塊和物聯網平臺組成。系統采用USB攝像頭作為圖像采集模塊,配備溫濕度傳感器進行環境的溫濕度檢測。系統采用樹莓派作為主控模塊,用于接收傳感器數據和攝像頭傳送的圖像信息,判斷火情并進行人體識別,之后將數據上傳至阿里云物聯網平臺,完成消防安防任務。

圖1 系統結構
幀間差法是目前用于運動目標檢測和分割的常用方法之一,通過對連續兩幀視頻圖像序列進行差分運算即可獲取運動目標的輪廓[3]:

式中:D(x,y)為差分圖像;I(t)為t時刻圖像;I(t-1)為t-1時刻圖像;T為自定義閾值。幀間差分法易產生運動物體內部灰度值相近的“空洞”,及差分圖像物體邊緣輪廓較粗的“雙影”[4]。所以本文采用三幀差法,令t時刻差分圖像與t+1時刻差分圖像相交[5]。
在火災識別領域,常用的顏色模型為RGB和HSL[6]。OpenCV是應用廣泛的開源計算機視覺庫,支持RGB與HSV顏色空間的轉換。HSV用明度(Value)替代了HSL的亮度(Lightness),根據文獻[7]與實際實驗得出火焰HSV判據,如公式(2):

溫濕度傳感器用于監測環境溫濕度數據,當空氣濕度處于30%RH~40%RH范圍時,火災較易發生并擴大蔓延;當濕度低于25%RH時,極容易發生火災[8]。因此,環境濕度低于25%RH時,系統將在移動端提醒用戶:環境干燥,注意安全。根據不同火場下的溫度曲線對比,當火場平均溫度為100 ℃時,場景溫度迅速升高;當火場平均溫度為50 ℃時,溫度提升速度相對平緩[9]。因此,在測得環境溫度高于50 ℃時系統發布火災警報,在保證預警快速性與及時性的同時,最大限度降低誤判率。火焰識別算法流程如圖2所示。

圖2 火焰識別算法流程
方向梯度直方圖(Histogram of Oriented Gradient, HOG)特征是通過計算和統計圖像局部區域的梯度方向直方圖構成的特征[10]。支持向量機(SVM)在解決小樣本、非線性和高緯度模式識別問題中有獨特的優勢[11]。系統人體識別步驟如下:
(1)對圖像進行灰度化、規范化操作;
(2)計算像素梯度;
(3)將圖像劃分為多個細胞模塊;
(4)將細胞模塊分為9個方向;
(5)將細胞模塊組合成更大的區塊;
(6)串聯所有區塊的HOG特征,得到圖像HOG特征;
(7)設置檢測窗口尺寸為64×128;
(8)將檢測窗口中圖像的HOG特征和參數SVMDetector求點積后與閾值比較,判斷圖像是否為行人,OpenCV庫提供參數SVMDetector與閾值。
阿里云物聯網平臺使開發者能夠實現全球快速接入、跨廠商設備互聯互通、調用第三方智能服務等,從而快速搭建穩定可靠的物聯網應用[12]。
MQTT(消息隊列遙測傳輸)是基于發布/訂閱范式的消息協議,本文基于MQTT協議建立樹莓派與阿里云物聯網平臺間的通信。MQTT客戶端連接服務端,向服務端發送CONNECT報文,CONNECT報文包含客戶端ID、用戶名、密碼、清除會話等信息。客戶端接收到服務端的CONNECT報文且報文成功連接后發送PUBLISH報文,PUBLISH報文包含發布的主題名稱、服務質量等級等信息。
本文在阿里云物聯網平臺上創建的節點類型為直連設備,數據格式為ICA標準數據格式,聯網協議為WiFi。定義了“人員數量”“火情”“溫度”“濕度”4個功能類型,其中“人員數量”代表計算機視覺識別出的人體個數;“火情”變量取值為0時代表安全,為1時代表火災警報。產品創建完成后,創建設備并獲取設備證書(“ProductKey”“DeviceNa me”“DeviceSecret”)。
樹莓派連接物聯網平臺的步驟如下:
(1)設置設備證書的3個參數;
(2)設置客戶端ID,本文設置為"paho.py|securemode=3,signmethod=hmacsha1,timestamp="+時間戳+"";
(3)設置協議用戶名為“DeviceName & ProductKey”;
(4)將DeviceName與客戶端ID、DeviceName、ProductKey、時間戳作為參數進行簽名算法處理,得到密碼;
(5)根據ProductKey和地區ID獲取物聯網平臺地址并連接。
樹莓派向物聯網平臺發布數據的步驟如下:
(1)設置發布主題,本文發布主題為"/sys/ProductKey/DeviceName/thing/event/property/post";
(2)填寫待發布的數據內容,即人員數量、火情、溫度、濕度;
(3)完成信息發布。
為驗證算法性能,本文使用倉庫內視頻作為實驗對象,系統根據HSV顏色判據和三幀差法對火災圖像完成火焰識別,如圖3所示。然后結合溫度數據和圖像信息判斷是否存在火情,表1為部分火情判斷結果。同時,系統調用OpenCV庫完成人體識別,實驗結果如圖4所示。實驗表明,人物距離、人物衣著顏色、人物畫面模糊程度對系統人體識別正確率影響不大。系統根據溫濕度和圖像信息判斷是否存在火情并將“人員數量”“火情”“溫度”“濕度”4個參數上傳阿里云物聯網平臺,物聯網平臺接收設備數據并實時刷新。APP顯示頁面如圖5所示。在檢測到環境干燥極易發生火災時,APP進行干燥提示;系統判斷出現火情時,APP進行火災警報;未判斷出火情并且溫濕度數據正常時,APP顯示安全。

圖3 火焰顏色識別結果

圖4 人體識別結果

表1 部分火焰檢測結果
本文借助樹莓派、USB廣角攝像頭、DHT11溫濕度傳感器、阿里云物聯網平臺實現了基于阿里云物聯網的多傳感器消防安防系統設計。計算機視覺與傳感器的結合有效保證了火焰識別的正確率,對HOG特征與SVM分類器的使用實現了較為準確的人體識別。阿里云物聯網的設備接入、設備管理、規則引擎等功能完成了數據的訂閱發布,確保系統的穩定與安全。