張猛,李健
1.中國科學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)信息中心,北京 100190
2.中國科學(xué)院大學(xué),北京 100049
作為森林生態(tài)系統(tǒng)的重要組成部分,鳥類群落是對(duì)森林生態(tài)系統(tǒng)進(jìn)行健康監(jiān)測(cè)和評(píng)估的關(guān)鍵物 種[1]。因此研究鳥類種群、分布以及區(qū)域生物多樣性等工作具有重要的意義。這首先需要準(zhǔn)確識(shí)別出鳥類物種,相比于鳥類圖像數(shù)據(jù)、視頻數(shù)據(jù)等,鳥類音頻數(shù)據(jù)顯然更容易被采集到,基于鳥類音頻數(shù)據(jù)自動(dòng)識(shí)別出鳥類物種則顯得尤為重要。
來源于野外自然環(huán)境的鳥類音頻數(shù)據(jù),不會(huì)有針對(duì)性的僅僅采集鳥類音頻,而是會(huì)將所處環(huán)境中的音頻全部記錄下來,因此難免會(huì)記錄風(fēng)聲、水聲及其他環(huán)境噪音,音頻的信噪比較低。這些噪音顯然會(huì)對(duì)鳥類物種識(shí)別產(chǎn)生干擾,顯著降低鳥類物種識(shí)別的準(zhǔn)確率,這使得噪聲環(huán)境下的鳥類音頻識(shí)別具有重要的現(xiàn)實(shí)意義。在進(jìn)行后續(xù)處理之前,有必要對(duì)鳥類噪聲數(shù)據(jù)進(jìn)行處理,以獲得更高質(zhì)量的音頻。
Bardeli[2]采用譜減法、功率譜分析及自相關(guān)分析進(jìn)行噪聲環(huán)境下的鳥鳴聲識(shí)別。任芳[3]使用小波去噪和維納去噪對(duì)鳥類音頻信號(hào)進(jìn)行去噪。謝將劍[4]等在信噪比較高的18 種鳥類音頻數(shù)據(jù)集上,采用能量閾值法去除音頻中的靜音片段,通過計(jì)算每幀信號(hào)的能量,將能量小于最大能量60%的幀認(rèn)為是靜音片段予以去除,之后生成頻譜圖樣本集輸入到VGG16 網(wǎng)絡(luò)中進(jìn)行分類。馮郁茜[5]采用端點(diǎn)檢測(cè)的方法去除靜音片段,計(jì)算語音信號(hào)的過零率并調(diào)整能量的閾值,將低于指定閾值的音頻片段去除,得到更具代表性的鳥類音頻進(jìn)行后續(xù)分析。董雪[6]對(duì)生成的頻譜圖應(yīng)用對(duì)比度限制的直方圖均衡化方法增強(qiáng),增加了聲紋信息和背景噪聲之間的對(duì)比度,并且增強(qiáng)了紋理的細(xì)節(jié)特征。以上方法可以去除低音背景音噪聲和靜音片段,但是對(duì)于水流聲、風(fēng)聲和人類活動(dòng)的聲音等音量較大的噪聲難以去除。
隨著深度學(xué)習(xí)技術(shù)的發(fā)展,利用卷積神經(jīng)網(wǎng)絡(luò),對(duì)圖像進(jìn)行特征提取變得非常方便。鳥類音頻頻譜圖的聲音區(qū)域有著不同的輪廓,同一鳥類物種的音頻頻譜圖又具有一定的相似性,非鳥類的噪音頻譜圖和鳥類音頻頻譜圖之間差異很大。因此本文基于頻譜圖特征的差異性,提出了使用卷積神經(jīng)網(wǎng)絡(luò)和密度聚類的頻譜圖篩選算法,將噪音頻譜圖篩選出來,從而獲得更為干凈的鳥類音頻頻譜圖樣本集。
本文算法的整體流程如圖1 所示:
圖1 本文算法整體流程圖Fig.1 This algorithm overall flow chart
具體分為如下步驟:
(1)預(yù)處理鳥類音頻數(shù)據(jù),生成梅爾頻譜圖;
(2)使用VGG 網(wǎng)絡(luò)提取頻譜圖特征,每張頻譜圖生成一個(gè)特征向量;
(3)選取有代表性的噪音頻譜圖(如風(fēng)聲、水聲以及低音背景音等),利用Faiss 算法分別計(jì)算與所有頻譜圖的距離,將低于指定閾值的頻譜圖作為噪音數(shù)據(jù)篩選并剔除;
(4)將剩余頻譜圖按照物種分類,利用Faiss 算法計(jì)算每個(gè)物種內(nèi)每?jī)蓮堫l譜圖之間的特征距離值,生成距離矩陣;
(5)利用數(shù)據(jù)挖掘的密度聚類算法DBSCAN 對(duì)每個(gè)物種的距離矩陣分別進(jìn)行聚類,篩選并剔除孤立點(diǎn)(即噪音),對(duì)于簇(即分類)數(shù)多于1 個(gè)的情況,則從每個(gè)簇中選取數(shù)張有代表性的頻譜圖,甄別出真正代表該物種音頻的頻譜圖像樣本集。
本文使用的數(shù)據(jù)集來源于鳥類音頻的網(wǎng)站www.xeno-canto.org,該網(wǎng)站匯集了來自世界各地鳥類愛好者上傳的鳥類音頻數(shù)據(jù),由Bob Planque 和Willem-Pier Vellinga 一起創(chuàng)辦。本文所用鳥類音頻數(shù)據(jù)集包含云雀、喜鵲、大山雀、大斑啄木鳥、歐亞紅尾鴝等31 個(gè)鳥類物種,鳥類音頻文件的采樣頻率為44.1kHz。來自于德國、芬蘭、斯洛伐克、捷克和立陶宛這5 個(gè)國家。每個(gè)音頻文件的長度從幾秒到幾分鐘不等。不同鳥類物種音頻文件數(shù)量分布不一。最多的種類有2 856 個(gè)音頻,最少的種類只有31 個(gè)音頻。鳥類物種音頻文件數(shù)量的分布圖如圖2 所示。
圖2 .鳥類物種音頻文件數(shù)量分布情況Fig.2 Distribution of audio files of bird species
在計(jì)算頻譜圖之前,為了使語音信號(hào)具有可用性和提高信號(hào)的質(zhì)量,聲音信號(hào)要進(jìn)行預(yù)處理,包括降噪、端點(diǎn)檢測(cè)、預(yù)加重、分幀和加窗[7]。
2.2.1 降噪
本文采用譜減法對(duì)鳥類音頻數(shù)據(jù)進(jìn)行降噪處理。譜減法[8]是減少噪聲的一種廣泛使用的算法,主要是因?yàn)槠鋵?shí)現(xiàn)簡(jiǎn)單。它是由Boll 在70年代后期提出的,然后由Berouti 進(jìn)行了概括和改進(jìn)。
該算法假設(shè)有一個(gè)噪聲加法模型,短時(shí)平穩(wěn)信號(hào)和噪聲信號(hào)相互獨(dú)立,語音信號(hào)中的噪聲只有加性的噪聲,將帶噪語音減去噪聲譜,就能夠得到純凈的語音信號(hào)。
2.2.2 端點(diǎn)檢測(cè)
端點(diǎn)檢測(cè)就是在一段含噪語音中提取出語音段的起點(diǎn)和終點(diǎn),將語音段和非語音段區(qū)分開。本文采取基于短時(shí)能量和過零率的雙門限方法[8]。短時(shí)能量是語音的時(shí)域特征,通常指的是一幀時(shí)間內(nèi)的語音能量,計(jì)算如公式1 所示:
過零率就是單位時(shí)間穿過坐標(biāo)系橫軸的次數(shù)。計(jì)算如公式2 所示:
根據(jù)含噪語音信號(hào)設(shè)置三個(gè)閾值,分別是短時(shí)能量閾值TL和TH,過零率閾值ZCR。當(dāng)某幀信號(hào)的短時(shí)能量大于TL或者過零率大于ZCR時(shí),認(rèn)為是信號(hào)的開始,當(dāng)短時(shí)能量大于TH時(shí),則認(rèn)為是正式的語音信號(hào)。
2.2.3 預(yù)加重
由于鳥類的聲音在傳播的過程中會(huì)受到輻射效應(yīng)的影響,使得高頻成分的衰減下降較為嚴(yán)重[9]。因此對(duì)于音頻信號(hào),采用預(yù)加重技術(shù),對(duì)聲音信號(hào)高頻率部分進(jìn)行補(bǔ)償,減少聲音信號(hào)內(nèi)容的信息丟失。
經(jīng)常使用一階高通濾波器對(duì)聲音信號(hào)預(yù)加重,處理的過程如公式4 所示:
式中,λ是預(yù)加重系數(shù)。分別是預(yù)加重前后的第n 個(gè)采樣值。本文中λ取為0.97。
2.2.4 信號(hào)分幀和加窗
聲音信號(hào)在短時(shí)間內(nèi)的變化才是平穩(wěn)的。所以需將聲音信號(hào)進(jìn)行分幀操作,分為一段一段地來分析其特征參數(shù),這樣的每一段稱為“幀”。分幀后,為了保證分幀信號(hào)兩端的連續(xù)性,需要使用有限長度可移動(dòng)的窗函數(shù)對(duì)信號(hào)進(jìn)行處理。矩形窗、漢明窗是常用的窗函數(shù)。在本文中設(shè)置每一幀的幀長為2s,兩幀信號(hào)之間重疊比例為50%,窗函數(shù)選擇漢明窗。如公式5 所示:
頻譜圖中的聲音區(qū)域有著一些特定的形狀和分布,通過識(shí)別這些差異化的形狀和分布,可以實(shí)現(xiàn)鳥類音頻的分類。本文提取鳥類音頻的梅爾頻譜圖作為鳥類頻譜圖樣本集。
2.3.1 梅爾頻譜圖人耳聽到的聲音高低與聲音的實(shí)際頻率不成線性正比關(guān)系[10]。 在聲音頻率低于1kHz 時(shí),對(duì)于頻率的感受是呈線性的,而當(dāng)頻率高于1kHz 時(shí),人耳對(duì)于頻率的感受會(huì)變成對(duì)數(shù)變化[13]。梅爾頻率尺度通常用于模擬人耳的聽覺系統(tǒng),不僅充分考慮了人類的聽覺特性,而且還能有效提高特征參數(shù)對(duì)于音頻的表達(dá)能力[13]。公式6 表明了兩種頻率之間的關(guān)系:
式中,f代表赫茲頻率,單位是Hz。梅爾頻譜圖的提取過程如下:
步驟一:將音頻信號(hào)經(jīng)過降噪、端點(diǎn)檢測(cè)、預(yù)加重、分幀和加窗的處理;
步驟二:對(duì)音頻信號(hào)進(jìn)行快速傅里葉的變換;
步驟三:對(duì)步驟二的輸出進(jìn)行取模平方的運(yùn)算;
步驟四:將步驟三的輸出放到若干個(gè)三角形梅爾頻率濾波器組中進(jìn)行處理;
步驟五:最后對(duì)所有輸出進(jìn)行對(duì)數(shù)運(yùn)算就可以得到梅爾頻譜圖。
如圖3 為梅爾頻譜圖提取過程流程圖。
圖3 梅爾頻譜圖提取過程Fig.3 Mel frequency spectrum diagram extraction process
從鳥類音頻文件提取的梅爾頻譜圖,往往包含了風(fēng)聲、雨聲等背景噪音,而且還包含多種鳥類的混合鳴聲。選取不同情景下的梅爾頻譜圖如圖4-7 所示??梢钥闯鲞@些不同情景的梅爾頻譜圖具有一定的差異性,這為本文進(jìn)行頻譜圖的篩選工作提供了可能性。
圖4 風(fēng)聲背景音頻頻譜圖Fig.4 Mel frequency spectrum of wind sound background audio
圖5 水流背景音頻頻譜圖Fig.5 Mel frequency spectrum of flow background
圖6 低音背景音頻頻譜圖Fig.6 Mel frequency spectrum of bass background audio
圖7 正常的鳥聲音頻頻譜圖Fig.7 Mel frequency spectrum of normal bird sounds
卷積神經(jīng)網(wǎng)絡(luò)是具有卷積結(jié)構(gòu)的深層神經(jīng)網(wǎng)絡(luò),具有局部感受野和權(quán)重共享的特性[11]。 它可以自動(dòng)提取圖像的復(fù)雜和重要特征,近些年來在很多領(lǐng)域得到應(yīng)用。因此本文基于卷積神經(jīng)網(wǎng)絡(luò)提取頻譜圖特征。近些年來,深度學(xué)習(xí)發(fā)展迅速,也涌現(xiàn)了很多針對(duì)圖像的新型高效的網(wǎng)絡(luò)模型,如VGG,Inception,Resnet 網(wǎng)絡(luò)等。
VGG[12]網(wǎng)絡(luò)是2014年提出的。VGG 運(yùn)用了更小的卷積核和更小的池化核,證明了加深網(wǎng)絡(luò)的深度可以一定程度獲得更好的網(wǎng)絡(luò)性能。VGG 的泛化能力很好,提取特征能力強(qiáng)大,而且其結(jié)構(gòu)很簡(jiǎn)單,應(yīng)用場(chǎng)景很廣泛,可以滿足頻譜圖特征提取的需求,因此本文選取經(jīng)典的網(wǎng)絡(luò)模型VGG 來提取音頻頻譜圖的特征。
VGG 的網(wǎng)絡(luò)結(jié)構(gòu)圖如圖8。不同結(jié)構(gòu)添加不同數(shù)量的3*3 的卷積核進(jìn)行卷積,VGG 的不同網(wǎng)絡(luò)結(jié)構(gòu)并沒有本質(zhì)上的區(qū)別,只是網(wǎng)絡(luò)的深度不一樣。
需要指出的是,圖8 中包括了全連接層,而本文中使用的VGG 模型剪切掉了全連接層,主要目的是為了提取鳥類音頻頻譜圖的關(guān)鍵特征,不需要進(jìn)行分類。本文采用最大池化層的特征進(jìn)行后續(xù)分析處理。
圖8 VGG 網(wǎng)絡(luò)結(jié)構(gòu)圖[15]Fig.8 VGG network structure diagram[15]
基于卷積神經(jīng)網(wǎng)絡(luò)VGG 模型對(duì)頻譜圖進(jìn)行特征提取之后,產(chǎn)生了大量的特征向量。為了衡量不同頻譜圖之間的相似程度,需要對(duì)不同頻譜圖特征向量進(jìn)行距離計(jì)算,因?yàn)轭l譜圖數(shù)量眾多,需要進(jìn)行的特征向量距離計(jì)算量會(huì)非常大,因此需要選擇高效的距離計(jì)算方法,本文選取Faiss 算法作為頻譜圖特征向量的距離計(jì)算方法。
Faiss[13]由Facebook 在2019年提出并開源,是一個(gè)高性能稠密向量相似性搜索框架。包含對(duì)任意大小向量集的搜索算法,可以在十億數(shù)據(jù)集上進(jìn)行最近鄰搜索。Faiss 非常高效,能夠利用多進(jìn)程和多線程,還可以利用GPU 強(qiáng)大的計(jì)算能力。Facebook實(shí)現(xiàn)的最近鄰搜索算法,在十億級(jí)的數(shù)據(jù)庫上,比當(dāng)前已知的最好方法,以及目前文獻(xiàn)中已知的GPU上最快的k 近鄰搜索算法的速度快大約8.5 倍。Faiss的特點(diǎn)為:
(1)速度快,可存在內(nèi)存和磁盤中;
(2)提供多種檢索方法;
(3)由C++實(shí)現(xiàn),提供了Python 封裝接口;
(4)支持GPU。
Faiss支持內(nèi)積(IndexFlatIP)、歐氏距離(IndexFlatL2)等多種向量檢索方式,同時(shí)支持精確檢索與模糊搜索。精確檢索不需要對(duì)數(shù)據(jù)進(jìn)行訓(xùn)練操作,通過提供的索引方式來遍歷數(shù)據(jù)庫,精確計(jì)算查詢向量與被查詢向量之間距離。Faiss 通過Index對(duì)象進(jìn)行向量的封裝與預(yù)處理。Index 中包含了被索引的數(shù)據(jù)庫向量以及對(duì)應(yīng)的索引值。在構(gòu)建Index時(shí),需預(yù)先提供數(shù)據(jù)庫中每個(gè)向量的維度d,隨后通過add()的方式將被檢索向量存入Index 中,最終通過search()接口獲取與檢索向量最鄰近topk 的距離及索引。
在本文中,使用Faiss 的精確檢索,選擇IndexFlatL2 類型的索引對(duì)象。該索引進(jìn)行最近鄰搜索采用的是歐氏距離。
4.2.1 基于典型噪音頻譜圖的快速篩選算法
首先從頻譜圖數(shù)據(jù)集中選取少量有代表性的噪音頻譜圖,提取其特征向量之后,利用Faiss 算法計(jì)算噪音頻譜圖與所有頻譜圖的特征向量之間的距離,將距離小于指定閾值的頻譜圖直接篩選出來,經(jīng)過人工初步審核之后,即可從數(shù)據(jù)集中剔除,在進(jìn)行聚類算法之前先進(jìn)行此操作,可以快速篩選出大量的噪音頻譜圖,使得頻譜圖數(shù)據(jù)集的規(guī)模顯著縮小,也可以讓后續(xù)聚類算法的計(jì)算量顯著減少。而且如果噪音頻譜圖的數(shù)量較多,導(dǎo)致能夠通過聚類形成某些簇(即分類),也會(huì)給后續(xù)的數(shù)據(jù)篩選工作增加難度,因此有必要在聚類算法之前先快速篩選出部分噪音頻譜圖。
4.2.2 基于DBSCAN 算法的頻譜圖篩選算法
聚類是一種無監(jiān)督學(xué)習(xí)的算法[14]。簡(jiǎn)單來說,聚類就是把相似的東西分到一組。如何計(jì)算相似度有不同的距離計(jì)算方法,核函數(shù)計(jì)算、距離計(jì)算、余弦相似度都是常見的計(jì)算方法。
DBSCAN 算法是一個(gè)基于密度的空間數(shù)據(jù)聚類方法,是MARTIN[15]等人在1996年提出的。它可以將數(shù)據(jù)分布為高密度的區(qū)域劃分為簇,并且可以在含有噪聲的數(shù)據(jù)中,找到噪聲數(shù)據(jù)和形成的簇的集合。
DBSCAN 算法不需要預(yù)先定義類別個(gè)數(shù),適用于任何形狀的聚類簇的構(gòu)建,甚至是無連接的環(huán)狀聚類簇。由于存在最少點(diǎn)數(shù)的限制,相較于K-means[16]算法,DBSCAN 算法可以避免single-link影響,DBSCAN 算法對(duì)于任意形狀的數(shù)據(jù)分布都具有較好的聚類效果,對(duì)噪聲數(shù)據(jù)不敏感。因此本文選取DBSCAN 算法進(jìn)行頻譜圖的篩選和剔除。
DBSCAN 算法的一些概念定義如下[17]:
① 密度閾值MinPts,定義了一個(gè)聚類簇需要的最少的數(shù)據(jù)點(diǎn)個(gè)數(shù);
② 鄰域閾值ε-鄰域,某點(diǎn)作為中心點(diǎn),以其為圓心、ε為半徑的圓所覆蓋的范圍;
③ 中心點(diǎn),即聚類簇的中心,其ε-鄰域中包含的數(shù)據(jù)點(diǎn)比MinPts多;
④ 邊緣點(diǎn),即在聚類簇邊緣的節(jié)點(diǎn),其ε-鄰域中包含的數(shù)據(jù)點(diǎn)比MinPts少,并且其在其他中心點(diǎn)的ε-鄰域中;
⑤ 噪聲點(diǎn),既不是中心點(diǎn),也不是邊緣點(diǎn)的數(shù)據(jù)點(diǎn)。
節(jié)點(diǎn)定義的實(shí)例化描述如圖9 所示。
圖9 節(jié)點(diǎn)定義的實(shí)例化描述Fig.9 An instantiation description of a node definition
DBSCAN算法具體的偽代碼描述如下:
DBSCAN算法輸入:D:輸入數(shù)據(jù)集合MinPts:密度閾值E:鄰域閾值輸出:簇的集合方法:1.D中所有的數(shù)據(jù)點(diǎn)標(biāo)記為“unvisited”2.執(zhí)行3.隨機(jī)選一個(gè)未訪問過的數(shù)據(jù)點(diǎn)P,標(biāo)記P為“visited”4.檢查數(shù)據(jù)點(diǎn)P的ε-鄰域內(nèi)的數(shù)據(jù)點(diǎn)數(shù)量Pn 5.若Pn多于MinPts:6.則以P為中心點(diǎn)創(chuàng)建一個(gè)簇C 7.把P的ε-鄰域中的數(shù)據(jù)點(diǎn)都放入集合N
DBSCAN算法8.對(duì) N中每個(gè)點(diǎn)n:9.若n不屬于其他簇,加到C 10.If n 是“unvisited”:11.把n標(biāo)記為“visited”;12 若n的ε-鄰域至少包含MinPts個(gè)數(shù)據(jù)點(diǎn),則n的ε-鄰域的數(shù)據(jù)點(diǎn)都被加到N中13.結(jié)束14.輸出C 15.否則 標(biāo)記P為噪聲點(diǎn);16.直到 所有點(diǎn)都被標(biāo)記為“visited”。
本文實(shí)驗(yàn)均在Ubuntu16.04(64 bit)系統(tǒng)上運(yùn)行。使用的數(shù)據(jù)集為2.1 小節(jié)提到的鳥類音頻數(shù)據(jù)集。測(cè)試的硬件環(huán)境是英偉達(dá)1080ti。實(shí)驗(yàn)采用Keras 框架,Tensorflow 作為后端。
首先根據(jù)音頻數(shù)據(jù)集生成頻譜圖樣本集。為了保證各個(gè)物種頻譜圖數(shù)量的平衡,對(duì)于每個(gè)物種,只生成2 000 張頻譜圖用作訓(xùn)練,1 000 張頻譜圖用作測(cè)試。最終訓(xùn)練集包含62 000 張頻譜圖,測(cè)試集包含31 000 張頻譜圖。
因?yàn)轼B類音頻中還包含風(fēng)聲、雨聲、其他非鳥類的音頻,因此會(huì)產(chǎn)生大量噪音頻譜圖,需要對(duì)頻譜圖樣本集進(jìn)行篩選,保留有效的頻譜圖,作為后續(xù)的訓(xùn)練和測(cè)試數(shù)據(jù)集。
頻譜圖篩選算法的實(shí)驗(yàn)基于Keras 框架。本文采用VGG-16 網(wǎng)絡(luò)提取圖像全連接層之前的特征向量。特征向量的維度是512*1。在得到特征向量后,使用Faiss 的IndexFlatL2 類型的索引對(duì)象計(jì)算頻譜圖特征向量的距離矩陣,最后使用DBSCAN 算法,其中鄰域閾值選取0.25,密度閾值選取30。
為了進(jìn)一步驗(yàn)證提出的頻譜圖篩選算法的有效性,本文把經(jīng)過頻譜圖篩選算法的頻譜圖樣本集和沒有經(jīng)過頻譜圖篩選算法的頻譜圖樣本集分別輸入到后續(xù)的分類模型中進(jìn)行分類。
分類模型采用的是殘差網(wǎng)絡(luò)Resnet50,訓(xùn)練輪數(shù)100 輪,批大小為128。模型訓(xùn)練使用Adam 優(yōu)化算法,初始學(xué)習(xí)率0.001,損失函數(shù)為交叉熵函數(shù)。
為了更好地評(píng)估模型的分類效果,本文使用31種鳥類的平均分類準(zhǔn)確率(Mean average precision, 簡(jiǎn)稱MAP)和混淆矩陣作為評(píng)價(jià)和分析指標(biāo)。
MAP 即每個(gè)物種的分類準(zhǔn)確率再求平均值。MAP 的計(jì)算公式可以表述為公式7:
其中,n 是每一個(gè)鳥類的編號(hào),P(s)是相應(yīng)鳥類的分類準(zhǔn)確率。
混淆矩陣是分類任務(wù)中常見的一種評(píng)估標(biāo)準(zhǔn)。混淆矩陣對(duì)角線元素表示正確分類的數(shù)量,非對(duì)角線元素表示錯(cuò)誤分類的數(shù)量。它可以幫助我們直觀地看到每一個(gè)種類分類的情況。
經(jīng)過頻譜圖篩選算法處理后,31 個(gè)鳥類物種的訓(xùn)練集和測(cè)試集頻譜圖樣本數(shù)量變化見表1。
表1 31 個(gè)物種篩選前后頻譜圖數(shù)量的變化Table 1 Changes in the number of spectral images of 31 species before and after filtering
物種 訓(xùn)練集頻譜圖數(shù)量測(cè)試集頻譜圖數(shù)量小嘴烏鴉禿鼻烏鴉毛腳燕大斑啄木鳥黃鹀歐亞鴝蒼頭燕雀松鴉歐歌鴝白鹡鸰大山雀家麻雀樹麻雀赭紅尾鴝歐亞紅尾鴝嘰咋柳鶯歐柳鶯喜鵲普通?灰斑鳩紫翅椋鳥締鷦鷯黑鶇歐歌鶇田鶇979 1111 1502 1057 1366 1540 1531 1233 1754 1337 1608 1704 1109 1401 1568 1464 1660 1029 1542 1588 1636 1738 1519 1410 1610 734 765 378 426 534 777 747 302 773 680 716 860 680 726 785 753 680 643 755 516 644 820 595 802 641
從表1 可以看到,經(jīng)過頻譜圖篩選算法的處理后,31 個(gè)鳥類物種的頻譜圖的數(shù)量顯著減少。訓(xùn)練集頻譜圖和測(cè)試集頻譜圖分別減少16 748 張和11 079 張,被剔除的頻譜圖大都是非鳥類音頻片段產(chǎn)生的,這達(dá)到了自動(dòng)篩選頻譜圖的預(yù)期效果。
然后把經(jīng)過頻譜圖篩選算法的頻譜圖樣本集和沒有經(jīng)過頻譜圖篩選算法的頻譜圖樣本集分別輸入到后續(xù)的分類模型中進(jìn)行分類,獲得了31 個(gè)鳥類物種的Top-1 和 Top-5 平均分類準(zhǔn)確率,如表2 所示。
表2 篩選前后總體Top-1 和Top-5 分類準(zhǔn)確率Table 2 The overall classification accuracy of TOP-1 and TOP-5 before and after filtering
由表2 可知,經(jīng)過篩選后的頻譜圖樣本集輸入到分類模型中,31 類鳥類物種可以獲得0.628 的Top-1 MAP 和0.7942 的Top-5 MAP,這比沒有經(jīng)過頻譜圖篩選算法的頻譜圖樣本集的識(shí)別準(zhǔn)確率有了明顯提升。
本文31 個(gè)鳥類物種Top-1 分類準(zhǔn)確率的變化情況如表3 所示。
表3 篩選前后各個(gè)物種Top-1 分類準(zhǔn)確率Table 3 Top-1 classification accuracy of each species before and after filtering
由表3 可知,經(jīng)過頻譜圖篩選算法后,大部分物種的Top-1 MAP 都有所提高,其中云雀和田鶇兩個(gè)物種的MAP 提高到了1.0。MAP 在0.7 以上的物種由8 種提高到了11 種。原本因?yàn)檫@些噪音頻譜圖預(yù)測(cè)錯(cuò)誤的音頻,在經(jīng)過頻譜圖篩選算法處理后,獲得了正確的預(yù)測(cè)結(jié)果,從而使得該鳥類物種的MAP 得到提高。
經(jīng)過頻譜圖篩選算法處理后頻譜圖樣本集在在分類模型種獲得的分類情況混淆矩陣如圖10 所示。
圖10 頻譜圖篩選后分類混淆矩陣 Fig.10 Classification confusion matrix after spectrum filtering
通過觀察混淆矩陣,發(fā)現(xiàn)紅額金翅雀屬有212張頻譜圖被錯(cuò)誤預(yù)測(cè)為綠金翅,綠金翅也有47 張被錯(cuò)誤預(yù)測(cè)為紅額金翅雀屬。通過查看兩個(gè)類別音頻的頻譜圖,發(fā)現(xiàn)這兩個(gè)類別頻譜圖相似性大,音頻也較為相似,區(qū)分難度較大,所以導(dǎo)致錯(cuò)誤的預(yù)測(cè)。締鷦鷯有153 張、100 張、88 張頻譜圖分別被預(yù)測(cè)為歐亞紅尾鴝、嘰咋柳鶯和歐柳鶯三個(gè)物種。在該物種的音頻文件里面,混有這三種鳥類的聲音,所以導(dǎo)致了錯(cuò)誤的預(yù)測(cè)。經(jīng)過本文頻譜圖篩選算法的處理,31 種鳥類物種的頻譜圖樣本集減少了大量噪音頻譜圖,可是因?yàn)橐纛l文件的質(zhì)量不高,有些音頻混合多種鳥類音頻,有些鳥類之間叫聲相似,還是會(huì)出現(xiàn)部分錯(cuò)誤的預(yù)測(cè)。但是本文提出的頻譜圖篩選算法減少了非鳥類聲音產(chǎn)生的頻譜圖,減少了鳥類的噪聲數(shù)據(jù),所以最終的預(yù)測(cè)和分類得到了更好的效果。
鳥類音頻的原始數(shù)據(jù)來自于自然環(huán)境,往往包含了風(fēng)聲、雨聲和其他環(huán)境噪音數(shù)據(jù),傳統(tǒng)的音頻降噪等方法對(duì)于音量較大的噪聲難以去除。針對(duì)此問題,本文提出了一種基于鳥類音頻頻譜圖的特征向量進(jìn)行距離計(jì)算的數(shù)據(jù)清洗算法,這其中不僅高效使用了Faiss 算法快速計(jì)算特征向量之間的距離值,而且利用DBSCAN 聚類算法進(jìn)行頻譜圖篩選,剔除了大量音量較大噪聲產(chǎn)生的頻譜圖。實(shí)驗(yàn)證明,該方法可以從頻譜圖樣本集中有效自動(dòng)地篩選出噪音頻譜圖,保留有效的鳥類音頻頻譜圖作為實(shí)驗(yàn)和測(cè)試的數(shù)據(jù)集,為后續(xù)進(jìn)一步的鳥類物種識(shí)別提供了更高質(zhì)量的數(shù)據(jù)集,有助于后續(xù)分析與評(píng)價(jià),有較大的應(yīng)用前景。
由于DBSCAN 算法聚類的效果受到鄰域閾值(ε)和密度閾值(MinPts)參數(shù)的影響比較大,而這兩個(gè)參數(shù)仍然需要人為去設(shè)定,這需要我們結(jié)合待分析數(shù)據(jù)的具體情況,嘗試比較不同的參數(shù)組合以找到較為理想的聚類效果,這將會(huì)大大增加工作量。未來本文的研究方向應(yīng)該去探索自適應(yīng)的方法去獲得鄰域閾值(ε)和密度閾值(MinPts)這兩個(gè)參數(shù)值。
利益沖突聲明
所有作者聲明不存在利益沖突關(guān)系。
數(shù)據(jù)與計(jì)算發(fā)展前沿2021年5期