資料介紹
描述
從原始音頻數(shù)據(jù)中檢測火花聲音
抽象的:
該項目的目的是從原始時域信號中解決模式識別任務(wù)。我們使用 Sparkfun RedBoard Artemis ATP 模塊和集成 MEMS 麥克風(fēng)來記錄和分類環(huán)境聲音。在這個項目摘要中,我們?yōu)槌鯇W(xué)者提供了一個簡單的管道來訓(xùn)練和部署一個簡單的神經(jīng)網(wǎng)絡(luò) (NN) 以及可用于提高模型性能的高級方法。我們希望在這次挑戰(zhàn)中收集到的經(jīng)驗可以用于我們?yōu)榇笙笤O(shè)計的槍聲探測器。
介紹:
用于聲音分類的神經(jīng)網(wǎng)絡(luò)通常將其輸入解釋為圖像。這是通過計算原始音頻記錄的 2D 頻譜圖來完成的。但是,也存在頻譜圖轉(zhuǎn)換導(dǎo)致相關(guān)信息丟失的情況。一個例子是槍聲檢測,其中彈道沖擊波聲音具有如此獨特的形狀(類似于大寫字母 N),基于這種原始信號形狀的檢測器比基于頻譜圖的解決方案更準確地工作。我們的想法來自這種情況,因為在時域中可能有許多具有特定形狀的可能事件。
在我們的例子中,這些獨特形狀的音頻信號是由火花產(chǎn)生的。火花是一種突然的放電,會產(chǎn)生短暫的光發(fā)射和尖銳的裂紋或啪啪聲。這種聲音包含非常高的頻率并且時間長度很短(大約 4 毫秒)。這種火花聲事件可以通過集成在 Redboard Artemis ATP 上的 MEMS 麥克風(fēng)進行記錄,圖 1 顯示了一個示例記錄。
記錄的火花噪聲的形狀并不完全相同,但它們都包含幾個長度相似的尖峰。NN 應(yīng)該理解這些相似性以執(zhí)行檢測任務(wù)。
目標(biāo)、實驗設(shè)置和數(shù)據(jù)收集:
總之,我們構(gòu)建了一個可以檢測火花噪聲的分類器。為了實現(xiàn)這一目標(biāo),我們使用揚聲器、火花發(fā)生器和 RedBoard Artemis 作為數(shù)據(jù)收集器,收集了具有不同脈沖背景噪聲的火花聲音。背景噪聲有助于概括檢測器的知識。并使檢測任務(wù)更加困難。
使用的背景噪音是:汽車喇叭、說話的數(shù)字、狗叫聲、高斯噪音、槍聲、手提鉆、各種音樂、警報器、沉默。
基本管道如下:
- 記錄揚聲器產(chǎn)生的具有不同背景噪音的火花
- 僅將背景噪音記錄為負樣本
- 將這些記錄收集到帶有二進制標(biāo)簽的數(shù)據(jù)集中——0:沒有火花;1:包含火花
- 訓(xùn)練一個簡單的模型并將其部署在 Sparkfun Redboard Artemis ATP 上
- 使用涉及的高級方法訓(xùn)練各種模型
- 評估模型
數(shù)據(jù)收集設(shè)置包含 RedBoard Artemis 作為記錄設(shè)備。一個額外的設(shè)備,一個 Arduino Due 控制一個繼電器,該繼電器通過大電流通過 DC-DC 升壓器產(chǎn)生火花。整個過程由 PC 同步,PC 還通過揚聲器播放各種背景噪音。設(shè)置如圖 2 所示。RedBoard Artemis ATP 記錄了背景噪聲和火花聲的疊加。圖 3 說明了一種這樣的組合記錄,其中car_horn
在測量過程中產(chǎn)生了噪聲。可以發(fā)現(xiàn)錄音中間的脈沖區(qū)域,對應(yīng)于火花聲。在錄音中,火花的位置會有所不同,以防止過度擬合到特定位置。
生成的數(shù)據(jù)集包含:
從所有類中,100 個樣本被添加到訓(xùn)練集,30 個樣本被添加到測試集,20 個樣本被添加到驗證集。
我們已將訓(xùn)練過程的源代碼添加到該項目中,但它也可以在此處作為 Python 筆記本獲得:Training notebook 。Google Colaboratory 是初學(xué)者在受控環(huán)境中使用免費提供的 GPU 測試他們的想法的好地方。
本筆記本包含模型訓(xùn)練的主要步驟,包括:
- 數(shù)據(jù)加載:正面和負面的例子
- 數(shù)據(jù)分離為訓(xùn)練集、驗證集和測試集:100 + 20 + 30 個樣本
- 神經(jīng)網(wǎng)絡(luò)模型創(chuàng)建:簡單的卷積神經(jīng)網(wǎng)絡(luò)
- 模型擬合 - 訓(xùn)練:默認訓(xùn)練參數(shù)
- 模型評估:在測試數(shù)據(jù)集上評估
- 模型轉(zhuǎn)換為 TensorFlow Lite 模型。
- 模型轉(zhuǎn)換為字節(jié)數(shù)組,可以上傳到 Artemis Board。
本例中使用的模型由一個具有 2 個內(nèi)核的卷積層和一個最大池化層組成。它涵蓋了卷積產(chǎn)生的整個特征向量。由于其簡單性,該模型幾乎無法泛化知識,但在測試數(shù)據(jù)集上可以達到 94% 左右的高精度,在可接受的范圍內(nèi)。架構(gòu)如圖 4 所示。(注意:使用了 Conv2D,因為 TF Lite Micro 僅支持此操作,否則需要使用 Conv1D。)
訓(xùn)練有素的模型有利有弊:
+ 體積小,只有 71 個可訓(xùn)練參數(shù)
+ 可以處理 12000 個樣本的長輸入
+ Artemis 板可在 1 秒內(nèi)運行
- 對噪音非常敏感,不能一概而論
[數(shù)據(jù)收集詳細信息] -> [在 GPU 上訓(xùn)練] -> [模型部署] -> [推理]
部署從字節(jié)數(shù)組開始,字節(jié)數(shù)組是在上一節(jié)訓(xùn)練期間生成的。左側(cè)可見Arduino連接,表示當(dāng)發(fā)送一個's'字符時,會產(chǎn)生火花。很快,“檢測到火花!” 右側(cè)應(yīng)該有消息,它會打印來自 Artemis Board 的消息。
概括:
在本節(jié)中,我們提出了一個檢測問題的基線解決方案,旨在基于火花聲音包含對錄音進行分類。我們包括用于數(shù)據(jù)收集、模型訓(xùn)練以及模型部署和推理的源代碼。
進階方法:
上一節(jié)中訓(xùn)練的簡單模型在測試數(shù)據(jù)集上達到了可接受的準確度,但是,在其真實世界的評估過程中,我們可以測試它對鼓掌或敲擊等其他脈沖響亮事件的魯棒性。基于這些實驗,可以得出結(jié)論,該模型能夠識別響亮的脈沖事件,而不僅僅是火花聲。如此簡單的架構(gòu)無法泛化知識以檢測復(fù)雜背景噪聲中的這些復(fù)雜模式是合理的。
在本節(jié)中,我們展示了高級方法的使用,這些方法可以幫助找到更合適的模型,具有更高的準確性和魯棒性,以及最佳的內(nèi)存和計算復(fù)雜性。
準確率:正確分類示例的比率
魯棒性:誤導(dǎo)分類器的平均輸入擾動幅度的度量
內(nèi)存復(fù)雜度:運行模型所需的內(nèi)存總量
計算復(fù)雜度:運行模型必須執(zhí)行的浮點運算總數(shù)
前面介紹的簡單模型是根據(jù)一些經(jīng)驗以臨時方式創(chuàng)建的。即使初始架構(gòu)已知,其提供最佳結(jié)果的超參數(shù)也是未知的。因此,我們從基線模型開始,實現(xiàn)了一種能夠找到優(yōu)越超參數(shù)集的搜索算法。這種方法稱為網(wǎng)格搜索,它從給定的間隔將超參數(shù)收集到集合中,并根據(jù)一些指標(biāo)測試這些配置。在我們的案例中,考慮的參數(shù)如下:
- 卷積層中的內(nèi)核數(shù):[3, 5, 8, 13]
- 卷積核的膨脹率:[1, 2, 3]
- 卷積核的大小:[15, 36, 57, 93, 150]
為了評估特定的超參數(shù)集,我們使用了準確性和魯棒性指標(biāo)。準確率很簡單,就是正確分類的樣本數(shù)與樣本總數(shù)的比值。魯棒性更復(fù)雜。在沒有完整的科學(xué)背景的情況下,它可以概括為模型對輸入擾動不敏感的度量,而這些暗示錯誤分類的擾動的平均幅度就是該屬性的度量。研究這個參數(shù)的研究領(lǐng)域稱為對抗性機器學(xué)習(xí)。我們使用了DeepFool方法的略微修改版本來測量我們的 NN 的這一屬性。
除了超參數(shù)優(yōu)化之外,我們還通過在輸入中添加具有不同標(biāo)準差值的高斯噪聲來擴展模型性能檢查。隨著噪聲水平的增加,信噪比降低,這使得檢測問題變得更加困難。噪聲參數(shù)選自 [0.00, 0.01, 0.05, 0.1] 集合。為了使這些值具有可解釋性,圖 5 顯示了具有不同噪聲級別的示例記錄。可以觀察到,在最極端的情況下,火花形狀完全消失在噪聲中。
選擇來自呈現(xiàn)的參數(shù)值區(qū)間的所有組合,并相應(yīng)地生成相應(yīng)的神經(jīng)網(wǎng)絡(luò)。這產(chǎn)生了240 個生成的模型。每個網(wǎng)絡(luò)都在相同的訓(xùn)練數(shù)據(jù)集上進行了訓(xùn)練,并在驗證數(shù)據(jù)集上進行了評估。高斯噪聲是在訓(xùn)練期間動態(tài)生成的,使用以下參數(shù)進行:
- 批量:5
- Early Stopping:以 10 個 epoch 的耐心監(jiān)測訓(xùn)練損失
- 優(yōu)化器:亞當(dāng)
網(wǎng)格搜索的結(jié)果如圖 6 所示。這里,x 軸表示精度,y 軸表示平均擾動大小的對數(shù)。較大的擾動表示更好的魯棒性。圖上的每個符號都有一個編碼噪聲水平的形狀、一個表示記憶復(fù)雜度的直徑和一個編碼神經(jīng)網(wǎng)絡(luò)計算復(fù)雜度的顏色。噪音等級符號:star
- 不添加噪音;circle
- 噪聲級 0.01;square
- 噪聲級 0.05;triangle
- 噪音水平 0.1。
在圖 6 中,可以識別出幾個點簇。例如,可以觀察到較高的噪聲水平會降低準確性,但會增強魯棒性(triangles
在左上角)。另一個例子是squares
中間的簇,它同時從左到右,從下到上同時進化,這意味著一些參數(shù)集也提高了準確性和魯棒性。
在我們的案例中,需要具有良好性能和魯棒性的模型,但由于我們希望將其部署在微控制器上,因此還必須考慮內(nèi)存和計算復(fù)雜性。這些參數(shù)被編碼成一個點的顏色和大小。根據(jù)彩條,需要一個小直徑的藍色點,從圖的右側(cè)開始,該點也可以最大限度地提高魯棒性。我們選擇了模型,它由位于circle
集群頂部右側(cè)的圓圈集群上方的單個離群藍色表示squares
。該模型在測試數(shù)據(jù)集上進行了評估。模型的參數(shù)和性能如下:
Accuracy on the test dataset: 0.99074
Accuracy on the training dataset: 0.99444
Robustness: 0.00136
---------------------------------------------
Dilation rate: 1
Kernel size: 57
Number of kernels: 5
Added noise level: 0.01
---------------------------------------------
Memory complexity: 238 KB
Computational complexity: 3.4 MFLOP (12kS input size)
該模型的計算復(fù)雜度高于我們的基準模型,因此推斷需要激活 Apollo 3 MCU 的突發(fā)模式。在這種狀態(tài)下,核心時鐘頻率從 48 MHz 翻倍到 96 MHz。
所提出的 NN 架構(gòu)的另一個優(yōu)點是全窗口最大池化(稱為 GlobalMaxPooling,但 TF Lite Micro 不支持)使模型能夠接受各種輸入長度。例如,我們發(fā)現(xiàn)如果我們將輸入長度從 12000 個樣本減少到 3000 個樣本,內(nèi)存復(fù)雜度可以顯著降低:從 238 KB 到 14 KB。一個缺點是,如果我們想要在具有重疊區(qū)域的信號上運行檢測器以確保完全包含火花事件,我們必須調(diào)用推理 7 次,而不是之前的 2 次。但是,MCU 足夠快以處理計算開銷(總共 5.6 個 MFLOP)。
當(dāng)我們應(yīng)用對抗性攻擊來測量 NN 結(jié)構(gòu)的魯棒性時,很容易將這些對抗性示例中的一些可視化。圖 7 顯示了一個這樣的示例。這里的目標(biāo)是生成一個記錄,該記錄位于已訓(xùn)練的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的決策表面的邊緣。這個例子是從一個最初的負樣本(絕對沉默)生成的,但在當(dāng)前的形式中,它欺騙了網(wǎng)絡(luò),以便它產(chǎn)生一個正標(biāo)簽。
這些方法很復(fù)雜,我們認為源代碼的發(fā)布不會有助于上述說明的普遍適用性,因此我們僅應(yīng)要求通過電子郵件共享這些文件。
項目總結(jié):
我們實現(xiàn)了一個基于神經(jīng)網(wǎng)絡(luò)的火花聲音檢測器,可以部署在 SparkFun RedBoard Artemis ATP 上。數(shù)據(jù)是通過使用相同的設(shè)備及其集成的 MEMS 麥克風(fēng)收集的。數(shù)據(jù)采集??采用具有不同背景噪聲的火花產(chǎn)生。
為初學(xué)者解釋了一個簡單的管道,并部署了一個基線神經(jīng)網(wǎng)絡(luò)模型。我們共享了解決類似問題所需的所有主要步驟的源代碼。
此外,還包括更先進的方法和想法,可以提高模型性能和魯棒性。
未來,我們計劃將 Artemis 板集成到我們正在積極開發(fā)的獸傳槍聲探測器中。本報告中呈現(xiàn)的先進成果可為這些方向的研究提供基礎(chǔ)。
?
- Amiga立體聲音頻數(shù)字轉(zhuǎn)換器開源
- 基于LabVIEW的音頻數(shù)據(jù)采集系統(tǒng)設(shè)計.pdf 34次下載
- 采用PIC32的高質(zhì)量音頻應(yīng)用 14次下載
- IS2062和IS2064立體聲音頻SoC的詳細中文數(shù)據(jù)手冊免費下載
- MPEG2/AC-3兼容立體聲音頻數(shù)位類比轉(zhuǎn)換器 5次下載
- 18位96kHz采樣立體聲音頻數(shù)位類比轉(zhuǎn)換器 6次下載
- 立體聲音頻數(shù)位類比轉(zhuǎn)換器 7次下載
- 1路雙向視音頻數(shù)據(jù)多業(yè)務(wù)光端機用戶手冊V1.1 0次下載
- 1路雙向視音頻數(shù)據(jù)光端機用戶手冊V1.1 0次下載
- 網(wǎng)絡(luò)傳輸中實時音頻數(shù)據(jù)丟包恢復(fù)方法 32次下載
- 音頻數(shù)據(jù)加工標(biāo)準與工作規(guī)范標(biāo)準規(guī)范
- MAX9217/MAX9218 視頻鏈路中的音頻數(shù)據(jù)傳輸
- 基于變換域的音頻數(shù)字零水印算法研究
- 廣播音頻數(shù)據(jù)文件格式規(guī)范—廣播波形格式(BWF) GY T
- ATMEL音頻數(shù)碼產(chǎn)品
- Hi-Fi音頻的具體特點 354次閱讀
- 立體聲音頻放大器電路圖分享 2159次閱讀
- 沉浸式音頻的未來:計算機視覺輔助下的聲音重現(xiàn) 1171次閱讀
- 如何使用10位LVDS串行器/解串器IC對I2S音頻數(shù)據(jù)流進行STP布線 2817次閱讀
- I2S音頻總線基本知識科普 2.8w次閱讀
- digilent立體聲音頻輸出簡介 1541次閱讀
- 電火花加工有哪些類型 3w次閱讀
- 藍牙的音頻通路 5267次閱讀
- 音頻幾個很重要的參數(shù) 6956次閱讀
- 如何使用Python編寫能夠從原始文本提取信息的程序 1w次閱讀
- 基于Kinetis MK60N512和MAX5556的立體聲音頻接口設(shè)計 2765次閱讀
- 音頻卡怎么打開_音頻卡調(diào)試教程詳解 5948次閱讀
- 一文了解音頻卡工作原理及主要特點 1w次閱讀
- 基于Kinetis微控制器和16位/24位MAX5556的立體聲音頻接口設(shè)計 1512次閱讀
- 基于火花塞離子電流檢測技術(shù)設(shè)計應(yīng)用 4137次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設(shè)計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多