張紅英
摘要:為解決以往警報器質(zhì)檢依賴人工聽音的問題,研究了音頻自動檢測方法。通過對比分析正常警報器音頻和異常警報器音頻的聲譜圖,分別總結(jié)出4類音頻異常的頻譜特點,提出了以幅頻特性曲線峰值點的頻率和幅度為主要元素的音頻特征向量設(shè)計方法。為解決異常音頻樣本數(shù)量較少的問題,提出了三種音頻處理方法?;贐P神經(jīng)網(wǎng)絡(luò)原理設(shè)計并訓練了警報器音頻識別模型,準確率達99.8%,異常音頻召回率達100%?;赪indows系統(tǒng)開發(fā)了聲光警報器音頻自動檢測系統(tǒng),實際使用效果良好。
關(guān)鍵詞:聲譜圖;機器聽覺;異音檢測;神經(jīng)網(wǎng)絡(luò);特征提取
中圖分類號:TP23? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)13-0024-04
Abstract: In order to solve the problem that the previous alarm quality inspection relies on manual listening, an automatic audio detection method is studied. By comparing and analyzing the sound spectrums of normal alarm audio and abnormal alarm audio, the spectrum characteristics of four types of abnormal alarm audio are summarized, and the design method of audio feature vector is proposed, which takes the frequency and amplitude of peak points of amplitude-frequency characteristic curve as the main elements. In order to solve the problem of small number of abnormal audio samples, three audio processing methods are proposed. Based on the principle of BP neural network, an alarm audio recognition model is designed and trained, with an accuracy of 99.8% and an abnormal audio recall rate of 100%. Based on Windows system, an automatic audio detection system for acousto-optic alarm is developed, which has a good practical effect.
Key words: sound spectrums; machine hearing; heterophony detection; neural network; feature extraction
1 背景
聲光警報器是一種通過聲音和光來向人們發(fā)出示警信號的裝置,廣泛應(yīng)用在各類場所,是保證生產(chǎn)和人身安全的重要設(shè)備。在警報器的制造過程中,需要檢查警報聲音是否異常,以往主要采取人工聽音的方式來進行。由于警報聲音的聲壓級很高,1米內(nèi)可達到100dBA以上,長期之下會對檢驗人員的健康造成不利影響,且人工主觀判斷也存在一定的隨意性。因此,研發(fā)聲光警報器異音檢測系統(tǒng)具有現(xiàn)實意義。
受限于應(yīng)用范圍,關(guān)于聲光警報器音頻自動檢測技術(shù)的研究較少。文獻[1-2]中研制了自動測試發(fā)聲元件蜂鳴器的頻率的裝置,基本原理是:首先對蜂鳴器音頻進行快速傅里葉變換,得到幅頻特性曲線,然后提取幅頻特性曲線中峰值點對應(yīng)的頻率,最后判斷峰值頻率是否在正常的頻率范圍內(nèi)。由于分析方法較為簡單,上述裝置無法識別蜂鳴器聲音過小、聲音嘶啞、聲音斷續(xù)等問題。
本文在對警報器音頻進行頻譜分析的基礎(chǔ)上,提出了音頻特征向量的提取方案,構(gòu)建了基于BP神經(jīng)網(wǎng)絡(luò)的音頻檢測模型,最終開發(fā)出用于檢測聲光警報器音頻的自動化系統(tǒng),并投入生產(chǎn)使用。
2 音頻樣本采集
聲光警報器音頻采集系統(tǒng)如圖1所示,麥克風、警報器均放置在具有隔音效果的測試箱內(nèi),麥克風通過音頻線纜連接到計算機上,探針通過導(dǎo)線連接到測試針床(圖中未展示),當探針接觸到警報器底部的簧片時,警報器將發(fā)出變調(diào)周期約為3s的警報聲音。
采用C#語言開發(fā)音頻采集工具,通過端點檢測實現(xiàn)僅在警報聲音響起時保存錄音。通常情況下警報器聲音響度遠高于環(huán)境噪音,采用短時平均能量閾值法作為端點檢測算法。另外,音頻采樣頻率設(shè)定為48KHz,采樣精度設(shè)為16位。
3 音頻特征提取
3.1 聲譜圖構(gòu)建
聲譜圖是通過對音頻信號進行加窗分幀及離散傅里葉變換而來。本文選擇海明窗作為窗函數(shù),設(shè)定幀長與離散傅里葉變換點數(shù)相等,幀移為幀長的[12]。幀長過短時,離散傅里葉變換的總點數(shù)較少,將導(dǎo)致頻率分辨率不夠(如圖 2(a)所示,圖像對比度低,圖形邊緣模糊);幀長過長時,分幀后的音頻信號非平穩(wěn)性增加,也將導(dǎo)致頻率分辨率降低(如圖 2(b)所示,圖形邊緣模糊)。
經(jīng)過測試,當幀長設(shè)定為4096點時,頻率分辨率較好,此時警報器音頻的聲譜圖如圖 3所示,其中橫坐標為報警時間,縱坐標為聲音頻率,像素灰度越深表示相應(yīng)時刻、相應(yīng)頻率的聲音分量越大。另外,可以看出警報器音頻包含基音和泛音,在一個變調(diào)周期內(nèi)基音頻率先是逐漸升高至最高點,再逐漸降低。
3.2 異常音頻分析
統(tǒng)計發(fā)現(xiàn)警報器音頻異??蓺w納為聲音過小、聲音斷續(xù)、夾雜異音、音調(diào)抖動、音調(diào)增高等五種情況。其中,聲音過小可通過計算警報器音頻的聲壓級檢測出來,不再贅述。
1)聲音斷續(xù)
是指一個變調(diào)周期內(nèi)的某個或某些時刻警報器無聲音,圖 4(a)標記框內(nèi)的頻率曲線斷開處即對應(yīng)警報器無聲音時刻。
2)夾雜異音
是指一個變調(diào)周期內(nèi)的某個或某些時刻警報器音頻中帶有雜音。如圖 4(b)標記框所示聲音分量既不在基音頻率曲線上,也不在泛音頻率曲線上,即為異音。
3)音調(diào)抖動
與夾雜異音的表現(xiàn)類似,但出現(xiàn)音調(diào)抖動的時刻,正常的基音或泛音分量消失,如圖 4(c)標記框所示音頻分量。
4)音調(diào)增高
是指報警器音頻的基音和泛音頻率明顯超出正常范圍,對比圖 4(c)圖和 4(d)可以發(fā)現(xiàn),后者基音的頻率明顯高于前者。
另外,圖4所示異常音頻樣本是在較為安靜的環(huán)境下錄制的,車間現(xiàn)場檢測警報器時,現(xiàn)場的氣動裝置等產(chǎn)生的動作噪音會疊加到警報器音頻中。如圖 5所示,標記框內(nèi)帶有噪音分量。可以看出,噪音的頻率分布相對均勻。
3.3 特征選擇及歸一化
提取音頻特征參數(shù)的方法有很多,如基于小波包分解提取子頻帶能量譜參數(shù)[3],基于2D-Gabor 濾波器對提取聲紋特征[4],基于PCA降維方法提取差異性頻段特征[5]等,這些方法所提取出的參數(shù)主要反映了音頻的整體特性。從圖4可以看出,本文所研究的警報器音頻異常狀態(tài)大多持續(xù)時間較短,異常時長占整個變調(diào)周期的比例約為百分之五,需要有針對性地選擇音頻特征參數(shù)。
以圖5所示聲譜圖為例,將其任意一幀幅頻信息單獨繪制,即可得到相應(yīng)的幅頻特性曲線。圖6為疊加有噪音的音幀對應(yīng)的幅頻特性曲線,圖7為相鄰音幀的幅頻特性曲線,對比可以發(fā)現(xiàn),有噪音干擾時(1KHz,7KHz)區(qū)間內(nèi)頻率分量的平均幅值和最小幅值有所增加。另外,幅頻特性曲線峰值點的頻率及幅值信息體現(xiàn)了警報器音頻的主要特征。當音頻異常時,相應(yīng)峰值點的頻率及幅值將受到影響。
4 訓練樣本集構(gòu)建
4.1 異常樣本擴充
警報器制造過程中,音頻異常的樣本數(shù)量較少,這就導(dǎo)致收集的正常樣本數(shù)量遠多于異常樣本。受異常音頻特征的啟發(fā),采用“清零”“互換”“偏移”三種方式處理異常音頻樣本,以生成新的異常樣本,具體說明如下:
1)清零
模擬聲音斷續(xù)的特征,隨機選擇特征向量[t]中兩個相鄰特征單元[si]和[si+1],將此兩個特征單元的元素值置零。
2)互換
模擬音調(diào)抖動的特征,隨機選擇特征向量[t]中兩個不相鄰特征單元[si]和[sj],將此兩個特征單元的元素值互換。
3)偏移
模擬音調(diào)增高的特征,將特征向量[t]中每個非零峰值點的頻率[fj]同時增加一個隨機偏移量[Δf]。
4.2 輸出編碼
本文所研究的異常音頻識別屬于二分類問題,對識別結(jié)果采用一位二進制進行編碼即可,編碼規(guī)則為:將正常聲音用“0”表示,異常聲音用“1”表示。
5 檢測模型構(gòu)建
5.1 模型設(shè)計
BP神經(jīng)網(wǎng)絡(luò)被廣泛應(yīng)用于解決分類建模問題,通過前期的網(wǎng)絡(luò)學習可使得后期預(yù)測結(jié)果與期望結(jié)果充分接近。在結(jié)構(gòu)上BP神經(jīng)網(wǎng)絡(luò)由輸入層、若干隱含層、輸出層構(gòu)成,每一層網(wǎng)絡(luò)又由若干神經(jīng)元組成[6]。式(3)即為神經(jīng)元的表達式,其中[f(?)]為激活函數(shù),[xi]為輸入?yún)?shù),[wi]為權(quán)值,[θ]為閾值。
BP神經(jīng)網(wǎng)絡(luò)模型設(shè)計主要是確定網(wǎng)絡(luò)層數(shù)、神經(jīng)元個數(shù)、激活函數(shù)等。輸入層節(jié)點的個數(shù)與特征向量的長度相等;輸出層神經(jīng)元的個數(shù)與輸出編碼的位數(shù)相等;隱含層層數(shù)及神經(jīng)元數(shù)量則結(jié)合經(jīng)驗法則及試探法來確定,本文最終設(shè)計為由6個節(jié)點構(gòu)成的1個隱含層。隱含層激活函數(shù)設(shè)定為leaky_relu(),輸出層激活函數(shù)設(shè)定為sigmoid()。
5.2 模型訓練及驗證
收集正常警報器聲音樣本9000個,異常警報器聲音樣本200個,對每個異常樣本分別進行三種樣本擴充操作5次,最終得到異常樣本3200個。從上述樣本中,隨機抽選10%的正常樣本和異常聲音樣本用作測試集[T],其余樣本用于訓練模型。訓練設(shè)置如下:優(yōu)化算法設(shè)置為RMSProp;損失函數(shù)設(shè)置為binary_cross_entropy;初始學習速率設(shè)置為0.01,訓練過程中逐漸減小學習速率;驗證集比例設(shè)置為0.2;批大小設(shè)置為100。訓練過程中識別準確率變化趨勢如圖8所示??梢钥闯鰪牡?5輪訓練開始,準確率提升速度已十分緩慢,此后驗證集上的準確率甚至有所下降,這說明模型過擬合現(xiàn)象加重,故選擇第35輪時的模型參數(shù)構(gòu)建識別模型。
利用得到的模型處理測試集[T],結(jié)果如表 1所示。計算可知,模型的準確率為99.8%,對異常音頻的召回率為100%,虛警率為0.2%。需要說明的是,由于測試集樣本數(shù)量仍偏少,模型的真實指標與上述數(shù)值之間存在一定差異。
6 系統(tǒng)集成開發(fā)
以C#為編程語言,基于WinForm框架開發(fā)警報器聲音檢測系統(tǒng)。系統(tǒng)主要包括聲音采集和音頻識別兩部分功能,工作流程如圖 9所示。系統(tǒng)能夠?qū)崟r監(jiān)聽環(huán)境聲音,當檢測到警報器音頻后,自動生成相應(yīng)的音頻特征向量,并使用識別模型進行檢測,識別結(jié)果經(jīng)計算機串口輸出。
7 結(jié)束語
本文所研制的聲光警報器異音檢測系統(tǒng)已經(jīng)用于實際工程,使用效果良好。總結(jié)研究,可以得出以下結(jié)論:
1)多數(shù)類型的警報器音頻異常的持續(xù)時間較短,異常時長占整個變調(diào)周期的百分之五左右,需要提取每一幀音頻的信息,才能準確識別出異常;
2)根據(jù)每一幀音頻的幅頻特性曲線峰值點信息、特定頻率區(qū)間的頻率分量幅值信息等構(gòu)建特征向量,可以用來檢測警報器音頻是否異常;
3)使用BP神經(jīng)網(wǎng)絡(luò)構(gòu)建警報器音頻檢測模型,具有較好的識別準確率。
另外,使用過程中發(fā)現(xiàn),當增加新的聲光警報器型號時,需要重新收集音頻樣本,難以快速訓練出高準確率的識別模型,后續(xù)還需要圍繞改進建模方法繼續(xù)研究。
參考文獻:
[1] 楊明,林先鋒,鐘偉強,等.音頻分析在蜂鳴器測試中的實踐[J].電子質(zhì)量,2018(10):78-81.
[2] 朱健民.基于ARM Cortex-M4和快速傅里葉變換的蜂鳴器自動測試方案[J].機電信息,2019(15):24-25,27.
[3] 江毓,鄭燕萍,張新,等.基于改進BP神經(jīng)網(wǎng)絡(luò)的電機異音診斷[J].重慶理工大學學報(自然科學),2020,34(1):242-246,262.
[4] 杜曉冬,滕光輝,Tomas Norton,等.基于聲譜圖紋理特征的蛋雞發(fā)聲分類識別[J].農(nóng)業(yè)機械學報,2019,50(9):215-220.
[5] 程華利,樊可清.異音檢測的機器學習方法及其在電機質(zhì)檢中的應(yīng)用[J].測控技術(shù),2015,34(4):55-58,62.
[6] 劉方斌,曲均浩,張志慧.基于BP神經(jīng)網(wǎng)絡(luò)的天然與非天然地震識別[J].計算機應(yīng)用與軟件,2020,37(1):106-109,185.
【通聯(lián)編輯:謝媛媛】