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