


摘要:為滿足與日俱增的智能家居安全管理需求,文章設計并實現了一套智能家居安全預警系統,包括監測終端節點和Web客戶端軟件。監測終端節點在開源硬件Arduino Nano 33 BLE上部署改進的卷積神經網絡模型,通過采集家居環境聲音判斷是否有異常事件發生。Web客戶端軟件實時顯示異常事件,及時向用戶發送預警郵件。實驗結果表明,該家居安全預警系統能夠有效監測家居環境安全,滿足用戶對家居安全保障的現實需求。
關鍵詞:嵌入式機器學習;環境聲檢測;藍牙通信;Arduino
中圖分類號:TP391
文獻標志碼:A
0 引言
智能家居通過整合用戶家庭設備,實現設備管理、用戶服務和系統控制的一體化,從而為用戶提供更舒適高效的居住環境。隨著經濟和社會的不斷發展,居民對智能家居安全管理的需求持續增長[1]。本文基于嵌入式機器學習,設計了一套智能家居安全預警系統。該系統通過環境聲音的檢測與分類識別異常家居事件,提供實時預警以確保家居安全。
1 改進的CNN網絡模型
卷積神經網絡(Convolutional Neural Network, CNN)是深度學習中常用的一種模型。CNN被廣泛應用于圖像處理領域,近年來也開始應用于音頻處理領域。然而,對于區分度較大、特征較少的音頻頻譜圖,由于音頻數據的相對簡單性,CNN模型訓練容易出現過擬合現象[2]。Dropout是一種用于神經網絡訓練的正則化技術,其通過在每次訓練迭代中以一定概率隨機丟棄部分神經元及其連接,從而增加訓練樣本的多樣性、提高模型的泛化能力[3]。基于此,本文提出了一種結合Dropout正則化技術的改進CNN模型,以提高基于環境聲音識別異常事件的檢測性能。
改進的CNN網絡模型如圖1所示,主要分為4個主要模塊:特征提取模塊、第一個Dropout模塊、第二個Dropout模塊以及結果輸出模塊。特征提取模塊包括音頻采集、MFE特征提取以及Reshape特征維度調整。首先,采集的樣本聲音被傳遞給MFE特征提取模塊,該模塊對樣本聲音進行預加重、分幀、傅里葉變換和特征向量提取。在此過程中,設置濾波器組數量為40,以將多頻率混合的音頻信號劃分到不同的音頻頻帶中。幀長度被設置為0.02 s,幀步長為幀長度的一半,即0.01 s,采樣音頻長度為1 s。因此,MFE特征提取后得到的一維音頻信號特征需要轉換為長度99、寬度40、通道數為1的MFE特征圖譜。其次,進入Reshape特征維度調整模塊,將一維音頻信號特征調整為99×40尺寸的特征頻譜圖,以作為模型輸入。最后,模型進入第一個Dropout模塊,該模塊的卷積部分由一層8×33尺寸的卷積濾波器構成的卷積層和一層16×33尺寸的卷積濾波器構成的卷積層組成,池化部分由2個2×2尺寸、步長為2的池化層組成。第二個Dropout模塊由一層32×33尺寸的卷積濾波器構成的卷積層和一個22尺寸、步長為2的池化層組成。在結果輸出模塊,將得到的多維特征向量通過扁平化處理轉換為一維向量,然后輸入全連接分類器SoftMax進行分類處理,以得到最終的分類結果。
2 智能家居安全預警系統
智能家居安全預警系統由監測終端節點和Web客戶端組成。
2.1 監測終端節點設計
監測終端節點的硬件實現使用開源硬件Arduino Nano 33 BLE sense開發板,包括MP34DT05-A麥克風,32位ARM Cortex-M4 nRF52840處理器,支持藍牙通信。上述改進的CNN網絡模型經過剪枝和量化處理,與設備監測程序一同上傳至監測終端節點進行編譯,從而完成模型的部署工作[4]。
模型部署完成后,監測程序在監測終端節點上執行。首先,通過調用開發板上的麥克風,以每秒1.6 kHz的采樣率獲取原始音頻數據;其次,原始音頻數據經過預處理轉換為聲音頻譜特征;最后,利用TensorFlow Lite解釋器執行CNN模型,以識別當前環境聲。當檢測到某個異常事件的預測值超過預警閾值時,監測程序將通過藍牙將預警信息發送至Web客戶端。
藍牙通信實現采用基于低功耗藍牙通信服務(Bluetooth Low Energy, BLE)的短距離數據通信方式。首先需要構建BLE的數據結構,其中最頂層為Profile,它包含一個或多個BLE Service,表征藍牙設備的類型及其功能。每個BLE Service下又包含一個或多個BLE Characteristic,表征BLE設備的特性和功能。一個BLE Characteristic由Properties、Value和Descriptor構成,通過讀取和寫入Value值,藍牙設備能夠獲取和設置屬性狀態。接下來,進行藍牙通信服務變量和UUID的設置,配置本地藍牙信息,以便加載藍牙服務。隨后尋找中心設備并建立BLE藍牙通信連接。通過使用Switch選擇結構來寫入服務特征值并廣播藍牙服務特征值。
2.2 Web客戶端設計
Web客戶端充當中心設備的角色,通過藍牙接口實現與監測終端節點的通信。Web客戶端建立藍牙連接之后,讀取藍牙特征值,提取并保存來自監測終端節點的分類結果。考慮到一次藍牙連接的建立及通信同步需要約20 s,Web客戶端采取了雙進程工作模式。該模式下Web客戶端通過持續讀取藍牙特征值,減少通信延遲的影響。
Web客戶端每次收到監測終端節點發送來的消息,首先提取所有目標的預測值,寫入消息隊列,實時更新預測值曲線。判斷目標預測值是否大于預警閾值。如果否,則目標指示燈顯示綠色,說明沒有異常事件發生。如果是,則目標指示燈顯示紅色,說明此時發生異常事件,Web客戶端同時向用戶發送預警郵件。
3 系統實驗結果
本節首先使用公開數據集測試了改進的CNN模型性能,然后測試家居安全預警系統的實際應用性能。
3.1 模型測試結果
為了測試改進的CNN模型性能,本文采用了國際公開數據集Urbansound8K[5]。該數據集共包含8732條時長不超過4 s的已標注聲音片段,涵蓋了空調聲、汽車鳴笛聲、狗叫聲、鉆孔聲、引擎空轉聲、槍聲等多種常見的家居環境聲音。
本文設置Dropout值為0.5,層數為2。模型置信度的閾值設置為0.9,即只有分類結果大于0.9時,才確認為異常事件。CNN模型在測試集的準確率結果如表1所示。可以看出,改進CNN模型對人聲和寵物聲音具有很好的識別效果,但是對于槍聲和燃火聲音的識別正確率偏低,這是因為槍聲和燃火聲音的特征比較難區分,環境聲中存在很多相似的噪聲干擾,今后還需要改進。
3.2 系統測試結果
Web客戶端建立與監測終端節點的藍牙通信后,主界面會顯示當前通信狀態“藍牙已連接”。Web客戶端持續收到監測終端節點發來的分類結果。當分類結果沒有超過0.9的預警閾值,對應目標的指示燈
則會顯示綠燈,表示目前無異常事件發生。當分類結果超過預警閾值,對應目標的指示燈將會亮起紅燈,提醒用戶當前家居環境中出現了異常事件,同時也會向用戶發送預警郵件。
圖2是槍聲的實時監測界面。之前分類結果的數據沒有達到預警閾值,目標指示燈一直顯示綠色。一直到14 h 37 min,分類結果的數值超過閾值,目標指示燈變為紅色,提醒用戶針對異常情況及時采取措施,減少損失。
4 結語
本文面向智能家居應用場景,設計并實現了一套智能家居安全預警系統。監測終端節點通過采集家居環境聲音判斷是否有異常事件發生。Web客戶端軟件通過藍牙實現與終端監測節點的通信,實時監測入室盜竊、火災、槍擊等家居異常行為。實驗結果表明本文設計的家居預警系統能夠有效監測家居環境的異常事件,可以滿足用戶對家居環境安全保障的現實需求。
參考文獻
[1]彭燕凝.基于場景化的智能家居設計研究[J].家具與室內裝飾,2024(2):52-57.
[2]楊冠雄,陳曦暉,余紅坤.基于多源信號融合和SE-CNN的滾動軸承故障診斷方法[J].煤礦機械,2024(4):158-160.
[3]靳寧,蔣洪偉.基于BiLSTM-CNN-MultiHeadAtten tion-Dropout的物流評論情感分析[J].物流科技,2023(23):48-52.
[4]馮超,張帝.基于5G通信的數控機床智能監控與診斷系統設計[J].機床與液壓,2023(12):142-150.
[5]李芳足,羅麗燕,王玫.基于雙輸入卷積神經網絡的環境聲事件識別[J].計算機應用與軟件,2022(7):159-166.
(編輯 王永超)
Design of an intelligent home security system based on embedded machine learning Zhang" Xiaoheng, Liang" Minghai
(Nanjing University of Posts and Telecommunications, Nanjing 210003, China)Abstract: An intelligent home security system is designed to meet the growing needs for smart home security management, including monitoring terminals and Web client software. The monitoring terminals deploy an improved convolutional neural network model on the open-source hardware Arduino Nano 33 BLE, collecting home environment sounds to determine if any abnormal events occur. The Web client software displays the status of the home environment sound in real-time and sends email alerts to users promptly when abnormal events occur. Experimental results show that the home warning system can effectively detect the abnormal events in home environment, meeting the urgent needs of home environment security.
Key words:embedded machine learning; environmental sound detection; bluetooth communication; Arduino