SmartListener是一款低成本、支持wi - fi的邊緣人工智能設備,可以監(jiān)聽現實世界的聲音,比如嬰兒的哭聲、狗叫聲或玻璃破碎聲,并在檢測到特定聲音事件時發(fā)送MQTT警報。它使用PSoC6 AI Kit運行使用DeepCraft Studio訓練的輕量級ML模型,并具有定制的3d打印外殼,可在任何房間部署。
主要特點:
?Edge AI:直接在PSoC?6上運行TensorFlow Lite模型。
?5+聲音類:檢測嬰兒哭聲,火災警報,玻璃破碎,腳步聲和狗叫。
?MQTT集成:向任何代理(HiveMQ/ mosquito)發(fā)布JSON警報。
?低延遲:用最少的硬件進行實時處理。
數據集準備(ESC-50)
ESC-50是環(huán)境聲音分類(ESC)領域的一個免費的、標記良好的、廣泛使用的數據集。我們使用自定義Python腳本來拆分、重新采樣和轉換數據集,以匹配DeepCraft Studio期望的輸入格式。
腳本1:按類拆分ESC-50
腳本2:轉換到WAV +采樣到16千赫
這些確保每個音頻文件在16 kHz,單聲道,16位PCM - PSoC6推理所需。
DEEPCRAFT工作室
英飛凌科技的DEEPCRAFT?Studio是一個端到端平臺,用于開發(fā)和部署邊緣人工智能應用程序。它支持音頻、雷達、時間序列和計算機視覺數據。憑借直觀的基于圖形的界面,它簡化了從數據收集到部署的機器學習工作流程。該平臺還提供開源入門模型,使開發(fā)人員能夠快速啟動人工智能項目并將其部署到邊緣設備。
DEEPCRAFT工作室:數據標簽
在能夠訓練模型甚至執(zhí)行預處理之前,需要將數據導入DEEPCRAFT工作室,以便我們可以開始標記它。我們創(chuàng)建了一個Generic Graph UX項目,在其中添加了一個“wav文件”節(jié)點,這樣我們就可以讀取訓練數據。
選擇標簽
?嬰兒哭了
?狗叫聲
?玻璃打破
?門敲
?背景噪音(“未知”)
?其他事件(未標記)
DEEPCRAFT工作室:數據導入
在標記了所有將用于訓練模型的數據之后,需要將數據導入DEEPCRAFT分類項目。然后我們需要將數據分成三類:訓練數據集,驗證數據集,測試數據集。
DEEPCRAFT Studio:預處理
原始錄音使用DeepCraft Studio設計的精心制作的特征提取管道進行預處理。輸入音頻片段為單通道PCM WAV文件,采樣頻率為16 kHz,并對預處理鏈進行了實時推理和分類精度優(yōu)化。
?滑動窗口:該步驟將傳入的音頻流分割成~32毫秒的重疊窗口,用于基于幀的處理。
?漢恩平滑:通過應用漢恩窗來減少光譜泄漏。
?實離散傅里葉變換(RDFT):使用實值FFT將時域信號轉換到頻域。
?Frobenius范數:使用Frobenius范數將FFT輸出減少為每幀單個功率譜。
?梅爾濾波器組:將功率譜轉換為感知啟發(fā)的梅爾尺度表示-將高維FFT壓縮成有意義的30 bin頻率特征。
?剪輯:通過剪輯極值來確保數值的穩(wěn)定性
?對數:應用對數壓縮來模擬人類的響度感知,并進一步規(guī)范化動態(tài)范圍。
?最終滑動窗口(譜圖塊):創(chuàng)建譜圖“快照”,將其傳遞到神經網絡中進行分類。
DEEPCRAFT工作室:模型訓練
為了訓練音頻分類模型,我使用了DeepCraft Studio的modelwizard,它簡化了神經網絡架構的選擇和調整。該模型針對PSoC6 AI Kit的部署進行了優(yōu)化,重點關注大小、延遲和泛化。
DEEPCRAFT工作室:模型評估
訓練后的Conv1DLSTM模型達到了76.13%的準確率和76.08%的f1分數,證明了輕量級架構的可靠性能?;煜仃囷@示了在分類不同的聲音方面的優(yōu)勢,比如火(10.25%的正確率)和嬰兒哭聲(11.32%的正確率),盡管在模糊或罕見的類別中會出現挑戰(zhàn)。例如,玻璃破碎只有1.27%的時間被正確識別,經常被錯誤地分類為未知(1.91%),可能是由于有限的訓練樣本或細微的聲學特征。該模型傾向于將39.46%的樣本標記為未知,這表明保守的置信度閾值或噪聲敏感性,而狗和嬰兒哭聲之間的混淆(1.37%)暗示了重疊的頻率模式。
為了提高魯棒性,未來的工作可以集中在代表性不足的類別(例如,合成玻璃破碎樣本)的數據增強和調整置信度閾值以減少未知預測。盡管存在這些挑戰(zhàn),該模型仍優(yōu)于基線CNN(準確率約68%),使其成為進一步優(yōu)化邊緣部署的有希望的候選者。
DEEPCAFT工作室:模型生成
DeepCraft Studio被配置為生成優(yōu)化的C代碼(model.h/model. C),用于在英飛凌的PSoC 6微控制器上部署音頻分類模型。針對雙核Cortex-M4/M0+架構,該設置支持cmsis加速浮點運算,同時保持全精度(Float32)而無需量化。
部署
在PSoC?6 AI Kit上部署機器學習模型需要使用英飛凌的開發(fā)工具(如ModusToolbox?和DEEPCRAFT?Studio)將訓練好的模型集成到嵌入式應用程序中。該模型嵌入到PSoC 6的雙核ARM Cortex-M4F/M0+微控制器上運行的固件中。實時收集來自板載外設MEMS麥克風的音頻數據,并將其傳遞給模型,直接在設備上進行推理,從而實現低延遲的設備上AI處理。
為了實現通信,PSoC 6 AI Kit使用AIROC?CYW43439模塊進行Wi-Fi和MQTT連接。通過在應用程序中集成MQTT客戶機庫,該工具包可以將推理結果發(fā)布到MQTT代理,使其成為邊緣到云用例的理想選擇。這種設置允許我們的應用程序在本地執(zhí)行推理并無線發(fā)送結果,實現邊緣智能和連接通信之間的有效平衡。
部署:PSoC 6 AI套件概述
英飛凌科技的PSoC?6 AI評估套件(CY8CKIT-062S2-AI)是一款面向邊緣AI應用的緊湊型開發(fā)平臺。它具有雙核ARM Cortex-M4F/M0+微控制器,集成了6軸運動傳感器,雷達和MEMS麥克風等傳感器,以及通過AIROC?CYW43439 Wi-Fi/藍牙組合模塊的無線連接。該套件與DEEPCRAFT?Studio兼容,支持機器學習模型訓練和部署,使其成為智能家居設備,可穿戴設備和工業(yè)監(jiān)控等應用的理想選擇。
部署:ML模型推理
項目包含一個操作系統(tǒng)任務,該任務將用于讀取PDM (mic)輸入并將其傳遞給模型,以便進行預處理和分類。
推理任務將檢查模型的結果,并在將檢測到的標簽發(fā)送到要發(fā)布的MQTT任務之前執(zhí)行一些退出操作。
部署:MQTT通信
MQTT通信使用以下配置來選擇代理(HiveMQ)和發(fā)布者使用的主題
一旦標簽被模型確認,它將被發(fā)送到MQTT任務以發(fā)布它。
部署:最終測試
在用代碼閃爍電路板并連接鋰離子電池后,我們可以將設備放入定制的外殼中,讓它傾聽周圍環(huán)境,開始檢測預定義的聲音并將其傳達給云。
本文編譯自hackster.io