王寧,陳晨,陳德運(yùn),何勇軍
摘要:哼唱檢索是音頻檢索的一個(gè)重要分支,其能夠?yàn)橛脩?hù)提供一種方便快捷的全新體驗(yàn)。在檢索過(guò)程中,由于同首歌的不同哼唱版本之間具有不容忽視的差異,因此對(duì)旋律特征進(jìn)行精確匹配并無(wú)法得到理想的檢索結(jié)果。針對(duì)這一問(wèn)題,將基于優(yōu)化初始聚類(lèi)中心的kmeans(optimized initial clustering center kmeans, OICC kmeans)聚類(lèi)方法引入到哼唱檢索系統(tǒng)中,通過(guò)對(duì)旋律特征進(jìn)行聚類(lèi)來(lái)充分學(xué)習(xí)不同旋律特征之間的結(jié)構(gòu)相似性,從而將具有相似結(jié)構(gòu)的旋律特征劃分到同一聚類(lèi)內(nèi)給聚類(lèi)編號(hào),以為后端的旋律特征匹配提供更有效的標(biāo)簽。同時(shí),考慮到聚類(lèi)后的旋律特征可以進(jìn)行進(jìn)一步的特征表示,因此將聚類(lèi)后的標(biāo)簽作為深度置信網(wǎng)絡(luò)(deep belief networks, DBN)的輸入標(biāo)簽并進(jìn)行特征提取,以獲取具有更強(qiáng)區(qū)分性的高層旋律特征,從而有效提升旋律特征的魯棒性。在獲取高層旋律特征后,需將聚類(lèi)類(lèi)別作為匹配標(biāo)簽,并進(jìn)行哼唱檢索即可。實(shí)驗(yàn)結(jié)果表明所提出的方法能夠有效提升哼唱檢索系統(tǒng)的性能。
關(guān)鍵詞:哼唱檢索;旋律特征提取;kmeans聚類(lèi)算法;深度置信網(wǎng)
DOI:10.15938/j.jhust.2022.01.009
中圖分類(lèi)號(hào): TP391.3? ? ? ? ?文獻(xiàn)標(biāo)志碼: A? ? ? ? ? 文章編號(hào): 1007-2683(2022)01-0061-08
Melody Feature Clustering and Optimization for Querybyhumming
WANG Ning,CHEN Chen,CHEN Deyun,HE Yongjun
(School of Computer Science and Technology, Harbin University of Science and Technology, Harbin 150080, China)
Abstract:Querybyhumming is an important branch of audio retrieval, and it can provide users with a new and convenient experience. During the retrieval process, since there are unignorable differences between different humming of the same song, it is difficult to obtain ideal results by accurate matching of the melody features. To solve this problem, the optimized initial clustering center kmeans (OICC kmeans) is introduced in the querybyhumming system. By clustering melody features to fully learn the structural similarity between different melody features, the melody features with similar structures are divided into the same cluster and the clusters are numbered, so as to provide more effective matching of melody features at the back end label. Meanwhile, considering that the clustered melody features can be further characterized, the clustered tags are used as the input tags of deep belief networks (DBN) and feature extraction is performed to obtain stronger discriminative characteristics the highlevel melody features of the melody, thereby effectively improving the robustness of melody features. After obtaining the highlevel melody features, it is necessary to use the cluster category as a matching tag and perform a humming search. Experimental results show that the proposed method can effectively improve the performance of humming retrieval system.
Keywords:querybyhumming; melody segmentation; kmeans clustering algorithm; deep belief network
0引言
哼唱檢索是近年來(lái)新興的檢索方法,是一項(xiàng)通過(guò)哼唱歌曲來(lái)進(jìn)行音樂(lè)檢索的技術(shù)[1]。具體而言,哼唱檢索需要檢索出與哼唱旋律特征相匹配的歌曲旋律特征,從而根據(jù)旋律特征的匹配程度來(lái)確定哼唱歌曲的所屬類(lèi)別。然而,不同人哼唱同一旋律將會(huì)產(chǎn)生較大差異,從而導(dǎo)致同首歌在不同版本之間的旋律特征具有極強(qiáng)的不一致性[2]。因此,并無(wú)法保證哼唱歌曲與其對(duì)應(yīng)歌曲的旋律特征完全一致,進(jìn)而導(dǎo)致檢索結(jié)果不準(zhǔn)確。針對(duì)這一問(wèn)題,往往需要采用近鄰檢索方法[3],將與哼唱旋律特征空間距離較近的歌曲旋律特征當(dāng)作候選集,從而盡可能保證正確檢索結(jié)果涵蓋于其中。研究者們針對(duì)旋律匹配問(wèn)題,相繼提出很多近鄰檢索算法。文[4-6]首先嘗試了動(dòng)態(tài)時(shí)間歸整(dynamic time warping, DTW)與線性伸縮(linear scaling, LS)等近鄰檢索算法。接著,文[7]提出了一種具有優(yōu)越性的遞歸對(duì)齊(recursive align, RA)方法。而文[8-9]提出的局部敏感哈希(locality sensitive hashing, LSH)方法則是目前應(yīng)用最為廣泛的近鄰檢索方法。LSH通過(guò)隨機(jī)選定投影方向,將高維空間中的數(shù)據(jù)映射到一維空間,從而有效縮短檢索時(shí)間。然而,這種隨機(jī)性投影并不穩(wěn)定,數(shù)據(jù)集的改變將導(dǎo)致檢索精度隨之變化,且檢索系統(tǒng)無(wú)法動(dòng)態(tài)地調(diào)整參數(shù)來(lái)適應(yīng)數(shù)據(jù)集變化。同時(shí),由于LSH方法需要通過(guò)旋律特征在多個(gè)方向上的投影來(lái)獲取近鄰,因此并無(wú)法保證其得到的近鄰候選集是旋律特征的真正近鄰。
針對(duì)上述問(wèn)題,可以直接在特征空間中對(duì)旋律特征進(jìn)行聚類(lèi),將空間距離近的旋律特征劃分到同一聚類(lèi),使得劃分到同一聚類(lèi)內(nèi)的旋律特征均互為真正近鄰,從而有效保證檢索結(jié)果的正確性。此外,在建立歌曲庫(kù)索引時(shí),聚類(lèi)方法只需要記錄所屬聚類(lèi)標(biāo)簽即可。相比于需要使用多個(gè)哈希函數(shù)來(lái)建立索引的LSH方法,聚類(lèi)方法不僅簡(jiǎn)單高效,且占用資源更少。在眾多旋律特征聚類(lèi)方法中,使用最廣泛的方法為k-均值聚類(lèi)算法(kmeans)[10]。其首先需要隨機(jī)選取K個(gè)初始簇類(lèi)中心,然后將全部旋律特征按規(guī)則劃分為K個(gè)簇,從而保證簇內(nèi)旋律特征相似度較高、簇間相似度較低。雖然kmeans算法簡(jiǎn)單高效,但隨機(jī)選取初始聚類(lèi)中心將引入更多的不確定因素,且易陷入局部最優(yōu)解。針對(duì)這一問(wèn)題,kmeans++算法[11]通過(guò)預(yù)先處理離群近點(diǎn)來(lái)提高迭代速度,而迭代自組織數(shù)據(jù)分析算法(iterative selforganizing data analysis techniques algorithm, ISODATA)[12]則通過(guò)合并與分裂的方式,來(lái)進(jìn)行聚類(lèi)數(shù)k的合理估計(jì)。盡管上述方法能夠取得較好的性能,但沒(méi)有充分考慮數(shù)據(jù)集密度分布不均勻的情況,對(duì)于密度差異較大的數(shù)據(jù)集處理效果并不理想。
針對(duì)kmeans算法初始簇心敏感和無(wú)法很好處理密度差異較大的數(shù)據(jù)集問(wèn)題,本文將優(yōu)化初始聚類(lèi)中心的kmeans(optimized initial clustering center kmeans, OICC kmeans)算法[13-14]引入到哼唱檢索中,其能夠依據(jù)高密度優(yōu)先聚類(lèi)的思想,有效提升密度差異較大數(shù)據(jù)集的聚類(lèi)效果,還能增強(qiáng)算法的穩(wěn)定性。經(jīng)過(guò)特征聚類(lèi)后,同簇的旋律特征具有更高的結(jié)構(gòu)相似性。對(duì)旋律特征進(jìn)行聚類(lèi)后,本文將聚類(lèi)結(jié)果作為標(biāo)簽,并采用深度置信網(wǎng)絡(luò)(deep belief networks, DBN)[15-16],來(lái)進(jìn)行旋律特征提取,以獲得區(qū)分性更強(qiáng)的高層旋律特征。進(jìn)行哼唱檢索時(shí),利用哼唱旋律特征匹配到最相似的聚類(lèi)特征,在該聚類(lèi)內(nèi)的歌曲旋律特征結(jié)構(gòu)相似,正確檢索結(jié)果包含在其中。因此,在該類(lèi)內(nèi)檢索即可得到準(zhǔn)確檢索結(jié)果,使得該系統(tǒng)不僅檢索穩(wěn)定高效,而且檢索精度高。
1基于OICC kmeans與DBN的哼唱檢索系統(tǒng)
本節(jié)將介紹基于OICC kmeans與DBN的哼唱檢索方法[17]。首先,需要對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行旋律特征提取,該特征為音高向量;其次,對(duì)音高向量進(jìn)行聚類(lèi)并利用聚類(lèi)標(biāo)簽訓(xùn)練DBN網(wǎng)絡(luò);再次,利用訓(xùn)練好的DBN模型對(duì)測(cè)試數(shù)據(jù)提取特征;最后,與訓(xùn)練集旋律特征庫(kù)中的旋律特征進(jìn)行匹配并找到所屬類(lèi)別,在類(lèi)內(nèi)繼續(xù)匹配輸出檢索結(jié)果,其示意圖如圖1所示。
1.1旋律特征提取
音樂(lè)的基本組成單位是音符,不同音高的音符通過(guò)一定的節(jié)奏連接到一起能夠組成旋律,在得到該旋律對(duì)應(yīng)的音高曲線后,需要提取音高向量作為旋律特征。具體而言,首先需要從訓(xùn)練集的歌曲和測(cè)試集音頻中提取出音高曲線;然后對(duì)每個(gè)音頻的音高曲線進(jìn)行采樣與分幀,生成若干長(zhǎng)度相同的音高向量,作為音頻的旋律特征;最后記錄音高向量所屬的歌曲及其在歌曲中的位置等附加信息,以進(jìn)一步形成該旋律特征的旋律片段索引。
1.1.1音高曲線提取
檢索系統(tǒng)音頻文件的存儲(chǔ)格式一般為樂(lè)器數(shù)字接口(musical instrument digital interface, MIDI)格式與波形文件(wave,WAV)格式,因此本節(jié)將主要介紹這兩種音頻文件的音高曲線提取方法。
1)MIDI文件
MIDI文件其能夠簡(jiǎn)單高效地用音符序列來(lái)記錄旋律特性,利用其提取的旋律特征更加準(zhǔn)確,本文訓(xùn)練集數(shù)據(jù)即采用MIDI格式的文件。MIDI文件一般由不同音符值pi持續(xù)ti時(shí)間所構(gòu)成的音符序列(p1,t1),…,(pi,ti)表示,音符持續(xù)時(shí)間ti又可以轉(zhuǎn)換為持續(xù)幀數(shù)Fi,因此可以根據(jù)幀移數(shù)將時(shí)間音符序列轉(zhuǎn)換為幀移音符序列(p1,F(xiàn)1),…,(pi,F(xiàn)i)。基于此,對(duì)于任意音符pi的持續(xù)幀數(shù)Fi均可表示為一維序列piFi,…,piFi。因此,所有的二維幀移音符序列均可由一維音高序列(即MIDI文件的音高曲線)來(lái)表示:
(p1,F(xiàn)1),…,(pi,F(xiàn)i)→p1F1,…,p1F1,…,piFi,…,piFi(1)
2)WAV文件
波形文件能夠記錄原始聲音波形,所以可以采用波形文件記錄用戶(hù)的哼唱旋律,而最常用的波形文件是WAV格式文件,一般錄音生成的文件也為WAV格式文件,因此測(cè)試集一般由不同用戶(hù)哼唱的WAV文件構(gòu)成。當(dāng)對(duì)測(cè)試集數(shù)據(jù)提取音高曲線時(shí),需要利用短時(shí)自相關(guān)方法從WAV文件中提取音高序列,并將其作為哼唱檢索系統(tǒng)的測(cè)試數(shù)據(jù)特征。短時(shí)自相關(guān)函數(shù)R(o)表現(xiàn)方式如下:
R(o)=∑j-o-1j=0y(j)y(j+o)(2)
其中:y(j)表示一段語(yǔ)音信號(hào);j為窗長(zhǎng);o=(-j+1)~(j-1)且為偶數(shù)時(shí),R(o)不為零。
值得注意的是,利用短時(shí)自相關(guān)函數(shù)提取的音高曲線無(wú)法保證完全正確,會(huì)存在減半、加倍或抖動(dòng)等現(xiàn)象。因此,需要經(jīng)過(guò)中值濾波、去均值等操作,使音高曲線變得平滑。在此之后,為了與訓(xùn)練集音頻的音高曲線匹配,還需要對(duì)音高曲線進(jìn)行半音處理,將其轉(zhuǎn)化為MIDI文件中音符的半音表示:
S=log2(f/440)×12+69(3)
其中:S為音高值;f為基音頻率。
1.1.2音高向量提取
在進(jìn)行音高向量提取時(shí),首先需要將MIDI文件和WAV文件的音高曲線轉(zhuǎn)換為一維音高序列。接下來(lái),對(duì)每個(gè)一維音高序列進(jìn)行采樣分幀,截取若干長(zhǎng)度相同的音高向量,并將這些音高向量作為音頻文件的旋律特征。每個(gè)音頻文件由不同音符值pw構(gòu)成一維音高曲線(p1,…,pw,…,pW),對(duì)其提取音高向量時(shí),需要選取一個(gè)h秒的窗,在窗內(nèi)提取一個(gè)固定時(shí)間間隔的高維音高向量,然后移動(dòng)窗去提取下一個(gè)音高向量,以此類(lèi)推,直到窗超過(guò)音高曲線結(jié)束時(shí)間,不再提取音高向量,最終即可獲得全部音高向量,表示為:
x=(p1,…,pw+T,…,pW+T(D-1))(4)
其中:x為音高向量;T為采樣間隔;D為音高向量維數(shù)。
1.2優(yōu)化初始聚類(lèi)中心的音高向量聚類(lèi)
根據(jù)全部訓(xùn)練集音頻文件中音高向量的相似度,對(duì)所有音高向量進(jìn)行聚類(lèi)。每個(gè)音高向量可以看作為多維空間中的一點(diǎn),聚類(lèi)的過(guò)程就是在高維空間中尋找一些超平面來(lái)劃分空間,并將距離相近
的點(diǎn)放在同一個(gè)局域內(nèi),從而不同區(qū)域內(nèi)的音高向量構(gòu)成了不同的旋律聚類(lèi)。
kmeans算法在數(shù)據(jù)集上隨機(jī)選取K個(gè)數(shù)據(jù)對(duì)象作為初始聚類(lèi)中心,但其隨機(jī)性較強(qiáng),會(huì)導(dǎo)致聚類(lèi)效果不穩(wěn)定。針對(duì)這一問(wèn)題,考慮到特征空間中相同尺度區(qū)間內(nèi)包含的數(shù)據(jù)越多,這一區(qū)間的數(shù)據(jù)密度越大,在這一區(qū)間內(nèi)則更可能存在聚類(lèi)中心?;诖?,可以通過(guò)劃分密度集合區(qū)間,并在各個(gè)集合區(qū)間選取初始聚類(lèi)中心,來(lái)尋找更合適的聚類(lèi)中心。同時(shí),根據(jù)密度選取的聚類(lèi)中心一般具有唯一性,能夠有效降低由初始中心的隨機(jī)性選取所帶來(lái)的影響。
基于上述思想,本文對(duì)音高向量特征空間中的不同密度區(qū)域進(jìn)行劃分,首先從音高向量集合中取歐氏距離最小的一對(duì)組成簇類(lèi),計(jì)算簇類(lèi)均值并記為該簇的簇類(lèi)中心。然后從剩余音高向量集合中選取距離簇類(lèi)中心最近的音高向量,將其加入該簇并更新簇類(lèi)中心,重復(fù)以上步驟直到簇類(lèi)中音高向量的數(shù)量達(dá)到閾值。每當(dāng)獲得一個(gè)簇類(lèi),便重復(fù)上述過(guò)程直到簇類(lèi)數(shù)量為K時(shí)結(jié)束。
依據(jù)上述步驟,能夠獲取更準(zhǔn)確的初始聚類(lèi)中心。定義音高向量的數(shù)據(jù)集合為X={x1,…,xn,…,xN}(n∈1,2,…,N),N為音高向量個(gè)數(shù);簇類(lèi)集合Z={Z1,…,Zk,…,ZK},簇類(lèi)中心集合為C={C1,…,Ck,…,CK}(k∈1,2,…,K),K為簇類(lèi)的數(shù)量。根據(jù)上述符號(hào)定義,首先應(yīng)該計(jì)算兩個(gè)音高向量的歐式距離:
d(xa,xb)=∑Ll=1(xal-xbl)2(a,b=1,2,…,L)(5)
其中:xa,xb為音高向量;xal為xa的第l個(gè)特征屬性;xbl為xb的第l個(gè)特征屬性。接著將距離最短的兩個(gè)音高向量組成一個(gè)簇類(lèi)集合Zk,并從數(shù)據(jù)集X中將上述音高向量刪除,將更新后的數(shù)據(jù)集記為X′,同時(shí)計(jì)算樣本集合Zk內(nèi)所有音高向量的均值CZk。
然后,計(jì)算數(shù)據(jù)集X中每個(gè)音高向量xn與樣本集合Zk對(duì)應(yīng)均值CZk的距離:
dist=∑xn∈X′d(xn,CZk)(6)
找到距離最近的音高向量加入集合Zk,將其從數(shù)據(jù)集X′中刪除,并重新計(jì)算集合Zk內(nèi)所有數(shù)據(jù)對(duì)象的均值。重復(fù)執(zhí)行直致Zk內(nèi)音高向量的個(gè)數(shù)大于等于α·(N/K),其中α為權(quán)重系數(shù),且0<α≤1。若k<K,則重復(fù)以上步驟直到k≥K,即當(dāng)集合的數(shù)目等于簇類(lèi)數(shù)目時(shí),結(jié)束尋找初始聚類(lèi)中心。
經(jīng)過(guò)上述步驟即可獲得最優(yōu)的初始聚類(lèi)中心,利用這些聚類(lèi)中心進(jìn)行音高向量聚類(lèi)從而獲得最優(yōu)聚類(lèi)結(jié)果。音高向量集X={x1,…,xn,…,xN},每個(gè)數(shù)據(jù)對(duì)象xn有D維,在半徑R內(nèi)數(shù)據(jù)對(duì)象數(shù)目與總數(shù)據(jù)集的比值(占比率)為P(0≤P≤1),相鄰兩次誤差平方和之差為β,則改進(jìn)算法的詳細(xì)描述如算法1所示。
算法1優(yōu)化初始聚類(lèi)中心的kmeans聚類(lèi)算法
Algo.1Optimizing initial clustering center for kmeans clustering algorithm
Input:X={x1,…,xn,…,xN}:數(shù)據(jù)集;K:簇類(lèi)數(shù)目;
P:占比率;β:相鄰兩次誤差平方和之差
Output:聚類(lèi)結(jié)果
1 利用優(yōu)化的初始聚類(lèi)方法獲得K個(gè)聚類(lèi)中心作為初始中心;
2 for 聚類(lèi)中心不再變化or連續(xù)兩次E值差小于閾值 do
[計(jì)算每個(gè)數(shù)據(jù)對(duì)象與中心的距離:
E=∑Kk=1∑xn∈Ckd(xn,Ck)
并把它劃分給最近的聚類(lèi)中心,得到K個(gè)簇類(lèi);
重新計(jì)算每個(gè)簇類(lèi)的中心:
s=∑xb∈CKd(xa,xb)(xa∈X);
重新劃分簇并更新中心;
]
3 輸出:聚類(lèi)后的簇
通過(guò)此算法對(duì)音高向量進(jìn)行聚類(lèi)后,同一聚類(lèi)內(nèi)的音高向量結(jié)構(gòu)特征極其相似,可以用相似的特征來(lái)表示這個(gè)聚類(lèi),在檢索時(shí)找到與哼唱旋律特征相似的聚類(lèi),即可得到全部候選集,只需在聚類(lèi)內(nèi)檢索即可得到檢索結(jié)果。此外,為了獲得區(qū)分性更強(qiáng)的高層旋律特征,需要將旋律特征作為輸入來(lái)訓(xùn)練DBN,標(biāo)簽則采用聚類(lèi)后簇的標(biāo)號(hào)。
1.3深度置信網(wǎng)絡(luò)訓(xùn)練
在訓(xùn)練深度置信網(wǎng)絡(luò)時(shí),需要用到訓(xùn)練集的音高向量{x1,x2,…,xN}和所屬聚類(lèi)標(biāo)簽兩部分信息,用于提取抽象高層旋律特征{e1,e2,…,eN}。在訓(xùn)練過(guò)程中采用sigmoid激活函數(shù),目標(biāo)函數(shù)則采用softmax損失函數(shù),訓(xùn)練數(shù)據(jù)為從測(cè)試集中提取的全部音高向量,訓(xùn)練數(shù)據(jù)標(biāo)簽則采用音高向量對(duì)應(yīng)的聚類(lèi)標(biāo)號(hào),通過(guò)訓(xùn)練DBN模型得到抽象的高層旋律特征。DBN網(wǎng)絡(luò)結(jié)構(gòu)圖如圖2所示。
1.4測(cè)試階段
在哼唱檢索系統(tǒng)的測(cè)試階段,系統(tǒng)會(huì)對(duì)測(cè)試集音頻采用與訓(xùn)練階段相同的方法提取旋律特征,然后通過(guò)近鄰檢索算法得到每個(gè)測(cè)試特征的候選集。由于無(wú)法保證測(cè)試數(shù)據(jù)哼唱速度的一致性,因此相同旋律的音高序列長(zhǎng)度并不相同,這將導(dǎo)致測(cè)試集與訓(xùn)練集中相同歌曲的音高序列不完全匹配。為此,需要對(duì)測(cè)試集數(shù)據(jù)進(jìn)行一些變換處理。
具體步驟為:首先對(duì)測(cè)試集數(shù)據(jù)的音高向量進(jìn)行查詢(xún)擴(kuò)展,即將其擴(kuò)展成和哼唱音頻相同的長(zhǎng)度;然后利用線性伸縮方法粗略計(jì)算測(cè)試集音高向量與候選集音高向量的距離,篩選掉大部分偽候選,再使用邊界對(duì)齊線性伸縮算法(boundary alignment linear scaling, BALS)和重音移位遞歸對(duì)齊算法(key transposition recursive alignment, KTRA)[18]精確計(jì)算音高向量的距離;最后按照音高向量的距離大小對(duì)所有候選進(jìn)行排序,排序結(jié)果即為哼唱檢索系統(tǒng)的檢索結(jié)果。
2實(shí)驗(yàn)與分析
2.1數(shù)據(jù)集與前端實(shí)驗(yàn)設(shè)置
實(shí)驗(yàn)采用由中科院發(fā)布的IOACAS_QBH數(shù)據(jù)集[19],其數(shù)據(jù)在四大公共數(shù)據(jù)集中檢索難度最大,是目前使用最為廣泛的數(shù)據(jù)集之一[20]。其包含298首MIDI格式歌曲和759首WAV格式哼唱歌曲。本文實(shí)驗(yàn)選取其中不重復(fù)且準(zhǔn)確的200首歌曲文件作為訓(xùn)練集數(shù)據(jù);用于測(cè)試的數(shù)據(jù)是不同演唱者演唱的450首WAV格式哼唱歌曲,共計(jì)150類(lèi),且錄制的這些數(shù)據(jù)具有代表性。實(shí)驗(yàn)中檢索系統(tǒng)所使用的數(shù)據(jù)集詳細(xì)信息如表1所示。
在提取音高向量時(shí),設(shè)原始音高曲線是(p1,p2,…,pW),音高向量為20維,選取的窗內(nèi)包含60個(gè)音高,采樣間隔為3,窗移為15,抽取的音高向量:(p1,p4,…,p58),(p16,p19,…,p73),…。
2.2DBN參數(shù)設(shè)置
本文通過(guò)優(yōu)化初始聚類(lèi)中心的kmeans聚類(lèi)方法對(duì)音高向量進(jìn)行聚類(lèi),并將聚類(lèi)結(jié)果作為訓(xùn)練數(shù)據(jù)標(biāo)簽訓(xùn)練DBN網(wǎng)絡(luò)。通過(guò)多次實(shí)驗(yàn)獲得最佳DBN模型參數(shù),選取的DBN模型參數(shù)如表2所示。
2.3實(shí)驗(yàn)結(jié)果與分析
2.3.1音高曲線提取音高向量聚類(lèi)
本節(jié)將對(duì)比不同聚類(lèi)方法(kmeans、ISODATA kmeans、kmeans++)與本文所采用方法(OICC kmeans)的聚類(lèi)效果。在音高向量聚類(lèi)實(shí)驗(yàn)中,采用相同音高向量數(shù)據(jù)集,通過(guò)4種不同的kmeans聚類(lèi)算法測(cè)試聚類(lèi)性能的差異。對(duì)不同的kmeans聚類(lèi)方法進(jìn)行相同的聚類(lèi)測(cè)試,并采用類(lèi)內(nèi)平方和(withincluster sum of squares, WCSS)[21]作為聚類(lèi)效果的度量標(biāo)準(zhǔn)。
待聚類(lèi)的音高向量集X={x1,…,xn,…,xN},其中N為待聚類(lèi)向量的數(shù)量,設(shè)每個(gè)向量的長(zhǎng)度為D,聚類(lèi)數(shù)設(shè)定為K(K≤N),最終得到的K個(gè)聚類(lèi)為C={C1,…,Ck,…,CK},那么WCSS為:
WCSS(C)=∑Kr=1∑xr∈Cr||xr-μr||2(7)
其中,μr是聚類(lèi)Cr的均值點(diǎn),設(shè)Cr中的向量數(shù)為vr,那么:
μr=1vr∑xr∈Crxr(8)
此外,音高向量間的歐式距離由式(5)來(lái)計(jì)算得出。
在進(jìn)行音高向量聚類(lèi)實(shí)驗(yàn)時(shí),采用表1訓(xùn)練數(shù)據(jù)作為測(cè)試集。為排除1組實(shí)驗(yàn)結(jié)果的偶然性,隨機(jī)地將200個(gè)訓(xùn)練數(shù)據(jù)平分成2組,對(duì)每組數(shù)據(jù)采用不同聚類(lèi)方法。實(shí)驗(yàn)結(jié)果如表3所示。
在上表中,每列代表1個(gè)組別,每個(gè)組別內(nèi)設(shè)定相同的聚類(lèi)數(shù),采用不同的聚類(lèi)方法在該組數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),依次得到不同聚類(lèi)方法對(duì)應(yīng)的WCSS值,這個(gè)值越小證明類(lèi)內(nèi)的平均距離越小,類(lèi)間的距離越大,聚類(lèi)的效果越好。為了避免kmeans初始化過(guò)程隨機(jī)不穩(wěn)定對(duì)實(shí)驗(yàn)結(jié)果的影響,所以需要對(duì)每組實(shí)驗(yàn)重復(fù)實(shí)驗(yàn)5次,通過(guò)取平均值得到最終的結(jié)果。
觀察實(shí)驗(yàn)結(jié)果可以得知,在相同數(shù)據(jù)集下進(jìn)行相同測(cè)試,本文算法(IOCC kmeans)的WCSS值最小,說(shuō)明該算法比kmeans、ISODATA+kmeans和kmeans++聚類(lèi)效果更好,可以獲得最優(yōu)的音高向量聚類(lèi)。
2.3.2哼唱檢索
哼唱檢索系統(tǒng)的檢索結(jié)果為與測(cè)試音頻相似度最大的前5首候選歌曲。評(píng)價(jià)指標(biāo)采用Top-1正確率(Accuracy,ACC)與Top-5正確率:
ACC(Top-1)=∑Gg=11{Eg=Pgu}G(9)
ACC(Top-5)=∑Gg=11∑5j=11{Eg=Pgu}G(10)
其中:G為待檢索哼唱音頻數(shù);Pgu為對(duì)于第g個(gè)查詢(xún)的第u個(gè)檢索結(jié)果;Eg表示第g個(gè)查詢(xún)的正確檢索結(jié)果。1{Eg=Pgu}為一個(gè)指示器,在滿足大括號(hào)內(nèi)的條件時(shí),該式的值為1,否則值為0。依據(jù)正確率評(píng)價(jià)指標(biāo),對(duì)使用不同的kmeans聚類(lèi)算法結(jié)合DBN實(shí)現(xiàn)的哼唱檢索方法進(jìn)行性能對(duì)比,并使用基于LSH的哼唱檢索算法作為對(duì)照。同時(shí),考慮到卷積神經(jīng)網(wǎng)絡(luò)具有強(qiáng)大的特征提取能力,因此本文加入CNN作為DBN的對(duì)比實(shí)驗(yàn)[22]。
本文輸入網(wǎng)絡(luò)的特征為一維音高向量,因此,只能采用一維卷積提取高層旋律特征,同時(shí)音高向量為20維,避免卷積核過(guò)大而丟失掉局部特征信息,實(shí)驗(yàn)采用大小為3的卷積核,通過(guò)多次實(shí)驗(yàn)獲得最佳CNN模型參數(shù)。CNN網(wǎng)絡(luò)采用三層卷積結(jié)構(gòu),卷積核數(shù)量分別為32、64和128,卷積核大小均為3×1,每層卷積之后連接Batch Normalization層,用來(lái)實(shí)現(xiàn)批量歸一化以加速訓(xùn)練,之后接入ReLU作為激活特征層,前一層卷積層的輸出作為后一層的輸入,最后目標(biāo)函數(shù)則采用softmax損失函數(shù)。不同方法的實(shí)驗(yàn)結(jié)果如表4所示。
根據(jù)上述實(shí)驗(yàn)結(jié)果顯示,在相同訓(xùn)練集以及相同測(cè)試集情況下,基于優(yōu)化初始聚類(lèi)中心的kmeans聚類(lèi)哼唱檢索算法優(yōu)于其他3種kmeans聚類(lèi)的哼唱檢索算法,而且本文算法的檢索精度也優(yōu)于基于LSH的檢索算法和OICC kmeans結(jié)合CNN的哼唱檢索算法。同時(shí),本文算法在其他諸多方面實(shí)現(xiàn)了優(yōu)化。
首先改進(jìn)的kmeans聚類(lèi)算法對(duì)音高向量聚類(lèi)效果最優(yōu),為DBN訓(xùn)練提供準(zhǔn)確標(biāo)簽,從而達(dá)到最優(yōu)檢索精度。其次當(dāng)數(shù)據(jù)集發(fā)生變化時(shí),基于LSH的哼唱檢索算法無(wú)法動(dòng)態(tài)地調(diào)整參數(shù)應(yīng)對(duì)變化,而本文哼唱檢索算法可以利用新數(shù)據(jù)集重新訓(xùn)練DBN網(wǎng)絡(luò)模型來(lái)更新系統(tǒng)參數(shù),能很好的適應(yīng)數(shù)據(jù)集變化。
2.3.3旋律特征可視化對(duì)比
為了驗(yàn)證本文提出方法的有效性,本節(jié)將通過(guò)可視化的方式來(lái)對(duì)比OICC kmeans分別結(jié)合DBN
與CNN的哼唱檢索算法。對(duì)于實(shí)驗(yàn)數(shù)據(jù)的選擇,考慮到測(cè)試數(shù)據(jù)沒(méi)有聚類(lèi)標(biāo)簽,原始數(shù)據(jù)無(wú)法2D可視化表示,因此本節(jié)實(shí)驗(yàn)可視化的數(shù)據(jù)均來(lái)自于開(kāi)發(fā)集。隨機(jī)選擇7類(lèi)音頻,并從每類(lèi)中隨機(jī)選擇200段(若該類(lèi)音頻段數(shù)少于200,則不會(huì)選擇該類(lèi)數(shù)據(jù)),不同方法均采用以上標(biāo)準(zhǔn)選擇出的數(shù)據(jù)進(jìn)行可視化,上述方法對(duì)應(yīng)的可視化結(jié)果如圖3所示,不同顏色的點(diǎn)代表不同類(lèi)別音頻。將所對(duì)比方法的旋律特征分別記為音高向量特征、CNN特征與DBN特征。根據(jù)圖3可以得到以下結(jié)論。
1)在圖3(a)中,由于原始音高向量通過(guò)OICC kmeans聚類(lèi)后,已經(jīng)具有表征該類(lèi)旋律特征的能力,因此圖中相同類(lèi)別音高向量的數(shù)據(jù)能夠聚集在一起,不同類(lèi)別音高向量的數(shù)據(jù)能夠相互區(qū)分開(kāi),只是同類(lèi)數(shù)據(jù)仍然較分散,不同類(lèi)數(shù)據(jù)之間的混雜程度仍然較高。
2)在圖3(b)中,通過(guò)CNN提取的旋律特征與原始音高向量相比,同類(lèi)的數(shù)據(jù)能夠較好的聚集在一起,異類(lèi)數(shù)據(jù)之間的距離較分散。但是,2個(gè)方框中的數(shù)據(jù)雖然屬于同類(lèi),卻被分為2個(gè)簇,CNN仍然沒(méi)有解決部分特征錯(cuò)分類(lèi)別問(wèn)題。
3)在圖3(c)中,與前兩種旋律特征相比,通過(guò)DBN提取的旋律特征能夠更好的相互區(qū)分開(kāi):同類(lèi)數(shù)據(jù)更聚集,異類(lèi)數(shù)據(jù)更分散。同時(shí),不存在圖3(b)中方框中的情況,數(shù)據(jù)被正確的劃分到同一簇類(lèi)中。由此可見(jiàn),DBN能夠提取區(qū)分性更強(qiáng)的高層旋律特征。
3結(jié)語(yǔ)
針對(duì)鄰近檢索不準(zhǔn)確問(wèn)題,本文提出了一種基于旋律特征聚類(lèi)與優(yōu)化的哼唱檢索方法。首先該方法對(duì)音高向量進(jìn)行聚類(lèi),使得同一聚類(lèi)內(nèi)的音高向量互為準(zhǔn)確的近鄰,從而有效地解決了近鄰檢索不準(zhǔn)確的問(wèn)題。相對(duì)傳統(tǒng)kmeans聚類(lèi)算法,本文采用優(yōu)化初始聚類(lèi)中心的kmeans算法使得哼唱檢索系統(tǒng)在近鄰檢索效果方面有顯著提升。然后通過(guò)DBN網(wǎng)絡(luò)對(duì)音高向量進(jìn)行旋律特征提取,得到區(qū)分性更強(qiáng)的高層旋律特征,比傳統(tǒng)方法獲取的旋律特征更加穩(wěn)定可靠。實(shí)驗(yàn)結(jié)果表明,本文提出的哼唱檢索系統(tǒng)不僅性能優(yōu)越,而且檢索穩(wěn)定,其能夠動(dòng)態(tài)調(diào)整系統(tǒng)參數(shù)去應(yīng)對(duì)數(shù)據(jù)集變化,綜合表現(xiàn)較之前的哼唱檢索系統(tǒng)更加優(yōu)秀。
參 考 文 獻(xiàn):
[1]GHIAS A, LOGAN J, DAVID C, et al. Query by Humming: Musical Information Retrieval in an Audio Database[C] // Multimedia95: Third Acm International Conference on Multimedia, 1995: 231.
[2]ZHANG W W, WANG R, ZHANG Q L,et al. A Joint Pitch Estimation and Voicing Detection Method for Melody Extraction[J]. Applied Acoustics, 2020, 166:107338.
[3]PAN Z B, Wang L Z, Wang Y, et al. Product Quantization with Dual Codebooks for Approximate Nearest Neighbor Search[J]. Neurocomputing, 2020, 401:59.
[4]JANG J S R, GAO M Y. A QuerybySinging System Based on Dynamic Programming[C] // International Workshop Intelligent Systems Resolutions, 2000: 85.
[5]LI H H, LIU J X, YANG Z L,et al. Adaptively Constrained Dynamic Time Warping for Time Series Classification and Clustering[J]. Information Sciences, 2020, 534:97.
[6]JANG J S R, LEE H R, KAO M Y. Contentbased Music Retrieval Using Linear Scaling and Branchandbound Tree Search[C] // The IEEE International Conference on Multimedia and Expo. IEEE, 2001: 289.
[7]WU X, LI M, LIU J, et al, A Topdown Approach to Melody Match in Pitch Contour for Query by Humming[C] // International Conference of Chinese Spoken Language Processing. IEEE, 2006: 669.
[8]RYYNANEN M, KLAPURI A. Query by Humming of MIDI and Audio Using Locality Sensitive Hashing[C] // 2008 IEEE International Conference on Acoustics, Speech and Signal Processing. IEEE, 2008: 2249.
[9]LI Y Q, XIAO R L, WEI X, et al. GLDH: Toward More Efficient Global Lowdensity Localitysensitive Hashing for High Dimensions[J]. Information Sciences, 2020, 533:43.
[10]ENGLAND R, BEYNON D. Remark AS R39: A Remark on AS 136: A kmeans Clustering Algorithm[J]. Journal of the Royal Statistical Society. Series C (Applied Statistics), 1981, 30(3): 355.
[11]ARTHUR D, VASSILVITSKII S. kmeans++: the Advantages of Careful Seeding[C] // Conference: Proceedings of the Eighteenth Annual ACMSIAM Symposium on Discrete Algorithms.IEEE, 2007: 1027.
[12]BALL G H, HALL D J, ISODATA, a Novel Method of Data Analysis and Pattern Classification[M]. California: Technicalrept, 1965:3.
[13]ZHONG W, GUIQUAN L, ENHONG C. A Kmeans Algorithm Based on Optimized Initial Center Points[J]. Pattern Recognition and Artificial Intelligence, 2009, 22(2):299.
[14]韓劍輝, 唐俊超. 空間約束密度聚類(lèi)的超像素分割算法[J]. 哈爾濱理工大學(xué)學(xué)報(bào), 2020: 25(6):6.
HANG Jianhui, TANG Junchao. Superpixel Segmentation Algorithm Based on Spatial Constrained Density Clustering[J].Journal of Harbin University of Science and Technology, 2020: 25(6):6.
[15]HINTON G, OSINDERO S, TEH Y W. A Fast Learning Algorithm for Deep Belief Nets[J].Neural Computation, 2006, 18(7):1527.
[16]王衛(wèi)兵, 張立超, 徐倩. 一種基于受限波爾茲曼機(jī)的推薦算法[J]. 哈爾濱理工大學(xué)學(xué)報(bào), 2020, 25(5):66.
WANG Weibing, ZHANG Lichao, XU Qian. A Recommendation Algorithm Based on Restricted Boltzmann Machine[J].Journal of Harbin University of Science and Technology, 2020: 25(5):66.
[17]曹亮. 海量音樂(lè)的哼唱檢索研究[D]. 北京:北京郵電大學(xué), 2015:22.
[18]GUO Z Y, WANG Q, LIU G,et al. A Query by Humming System Based on Locality Sensitive Hashing Indexes[J]. Signal Processing, 2013, 93(8):2229.
[19]DOWNIE J S, WEST K, EHMANN A F, et al. The 2005 Music Information Retrieval Evaluation Exchange (MIREX 2005): Preliminary Overview[C] // International Conference on Ismir. DBLP, 2005:320.
[20]HARTIGAN J A, WONG M A. Algorithm A S 136: A KMeans Clustering Algorithm[J]. Applied Statistics, 1979, 28(1): 100.
[21]HARTIGAN J A, WONG M A. Algorithm AS 136: A Kmeans Clustering Algorithm[J]. Applied Statistics, 1979: 28(1):100.
[22]李蘭英, 周志剛, 陳德運(yùn). DBN和CNN融合的脫機(jī)手寫(xiě)漢字識(shí)別[J]. 哈爾濱理工大學(xué)學(xué)報(bào), 2020: 25(3):7.
LI Lanying, ZHOU Zhigang, CHEN Deyun. Offline Handwritten Chinese Character Recognition Based on the Integration of DBN and CNN[J].Journal of Harbin University of Science and Technology, 2020: 25(3):7.
(編輯:溫澤宇)