江軍亮 張二華 張麗娜
(南京理工大學(xué)計算機科學(xué)與工程學(xué)院 南京 210094)
多維可視化技術(shù)是進行數(shù)據(jù)理解和分析的有效手段,它可以從多維數(shù)據(jù)中發(fā)現(xiàn)隱藏在數(shù)據(jù)中的現(xiàn)象和規(guī)律,并獲取有用的信息,幫助用戶進行數(shù)據(jù)理解和分析,為用戶進行科學(xué)決策提供依據(jù),得到了學(xué)者的廣泛關(guān)注[1]。目前,國內(nèi)外學(xué)者己經(jīng)提出了多種多維可視化方法,這些方法根據(jù)可視化原理的不同可以劃分為基于幾何的技術(shù)、基于降維映射的技術(shù)、基于層次的技術(shù)、基于圖形的技術(shù)、面向像素的技術(shù)和基于圖標(biāo)的技術(shù)等[2]。
多維可視化技術(shù)中,需要解決的一個問題是如何進行多維數(shù)據(jù)的顯示,針對這個問題,人們提出了多種方法,例如平行坐標(biāo)系法[3]、星型坐標(biāo)系法[4]、散點圖矩陣[5]等方法來顯示多維數(shù)據(jù)。在傳統(tǒng)的平行坐標(biāo)可視化方法中,當(dāng)數(shù)據(jù)量和數(shù)據(jù)維度很大時,各種線條交叉重疊在一起會造成視覺上的混亂,用戶對高維數(shù)據(jù)的理解和分析也很困難。人們還提出了多種改進的多維可視化方法[6~7],但是這些方法可視化效果不理想,仍不能完全滿足用戶的需求。本文研究了一種新的多維可視化方法來解決現(xiàn)有多維可視化圖不直觀、不容易定位的問題。
多維可視化的應(yīng)用很廣,可使用多維可視化方法對說話人識別和語音識別的結(jié)果進行分析。在說話人識別中,理論上經(jīng)過端點檢測去除無聲段后可以提高識別率,但實驗表明在有些情況下識別率反而略有下降,本文應(yīng)用多維可視化方法對識別率下降的原因進行了深入分析。
目前說話人識別大多采用統(tǒng)計模型的方法,在實驗中還發(fā)現(xiàn),當(dāng)使用數(shù)字語音訓(xùn)練、用文本語音進行測試時,識別率顯著下降,這是由于訓(xùn)練樣本與測試樣本的分布規(guī)律不一致造成的。本文還利用多維可視化方法,直觀地說明了在統(tǒng)計模式識別中訓(xùn)練樣本與測試樣本的分布必須一致,否則將會明顯影響識別效果。
本文的多維可視化方法基于三維可視化,對于分布在三維空間的體數(shù)據(jù)來說,有兩類不同的可視化算法,面可視化算法和直接體繪制算法[8]。本文主要研究直接體繪制算法,它可以直接由三維數(shù)據(jù)場通過圖像合成生成屏幕上的二維圖像,稱為體繪制(Volume Rendering)算法,或稱為直接體繪制(Direct Volume Rendering)算法[9]。這種算法生成的圖像質(zhì)量高,且具有便于并行處理的優(yōu)點[10]。
經(jīng)典的Splatting 算法首先由Westover[11]提出,其原理是先選擇重構(gòu)核,再計算通用足跡表,構(gòu)造特定視線下的足跡表,然后按層對體數(shù)據(jù)逐個投影查足跡表獲得對屏幕像素的貢獻,最后進行圖像合成。針對經(jīng)典Splatting 算法的缺點,Westover 又提出了基于幀緩沖的Splatting 算法[12],該算法選擇數(shù)據(jù)體可見面中的法向量與視平面法向量夾角最小的面作為投影方向面,然后沿著與該投影方向面垂直的坐標(biāo)軸進行切片,每個切片內(nèi)部采樣點做加法操作,而切片之間做融合操作。
本文采用的三維可視化算法是基于View-buffer的Splatting算法[13],基本思想是選擇與視平面平行的方向構(gòu)造View-buffer,當(dāng)視平面發(fā)生變化時,View-buffer 也隨之改變,并始終與視平面平行,每個View-buffer 內(nèi)部的采樣點做加法操作,而View-buffer 之間做融合操作。由于View-buffer 始終都是平行于視平面,因此改進的算法不僅能夠解決重疊問題,而且還能較好地消除Popping現(xiàn)象。
本文提出一種以三維數(shù)據(jù)可視化為基礎(chǔ)的多維數(shù)據(jù)可視化方法,先通過主成分分析(Principal Component Analysis,PCA)進行降維,用較少的維數(shù)表示多維數(shù)據(jù)的主要信息,然后將每維特征參數(shù)離散化,以三維數(shù)據(jù)可視化為基礎(chǔ),采用逐維展開法,分層次顯示。
五維數(shù)據(jù)可視化原理如圖1 所示,五維數(shù)據(jù)可用x=(x1,x2,x3,x4,x5)來表示,前三維x1,x2,x3構(gòu)成的小長方體,可以作為三維數(shù)據(jù)可視化子圖,先根據(jù)第四維x4值的大小進行橫向擴展,再根據(jù)第五維x5值的大小進行縱向擴展。每一個小長方體可以使用基于View-buffer的Splatting算法進行繪制。

圖1 五維數(shù)據(jù)可視化原理圖
多維數(shù)據(jù)可視化具體過程為:將三維數(shù)據(jù)可視化圖作為子圖,如果是四維數(shù)據(jù)可視化,則首先將第四維的值離散化,再對三維可視化子圖進行橫向擴展,可以看作為一行三維數(shù)據(jù)體。如果是五維數(shù)據(jù)可視化,則在四維可視化的基礎(chǔ)上,將第五維的值進行離散化,并在縱向上擴展。可由三維可視化子圖組成的二維陣列來顯示五維數(shù)據(jù)的可視化,五維空間中相鄰的點,在三維子圖陣列中也是相鄰的,并且任一個三維子圖都可以進行五維坐標(biāo)的定位。五維可視化陣列又可以看作更高層次的一個子圖,簡稱五維子圖,可由五維可視化子圖組成的更高層次的二維陣列來顯示七維數(shù)據(jù)的可視化。七維空間中相鄰的點,在五維子圖陣列中也是相鄰的,并且任一五維子圖都可以進行七維坐標(biāo)的定位。同理,可由七維可視化子圖組成的更高層次的二維陣列來顯示九維數(shù)據(jù)的可視化,九維空間中相鄰的點,在七維子圖陣列中也是相鄰的,并且任一七維子圖都可以進行九維坐標(biāo)的定位。以此類推,層層擴展,每一更高層次都擴展2維,可顯示11維、13維……數(shù)據(jù)的可視化。
語音信號一般可分為無聲段、輔音段、過渡段和濁音段[14],其中無聲段不包含說話人的基音頻率和共振峰等個性特征,無聲段的混入會明顯降低說話人的識別率,準(zhǔn)確的端點檢測能排除無聲段的干擾,提高識別系統(tǒng)的性能。
傳統(tǒng)的雙門限算法主要依靠短時平均能量和短時平均過零率來進行端點檢測。在進行端點檢測時,根據(jù)三個閾值參數(shù):低能量閾值EL、高能量閾值EH、短時平均過零率閾值ZH進行有聲段判決。
本文采用的端點檢測算法為多閾值端點檢測算法,傳統(tǒng)的雙門限算法,檢測輔音段時,只要短時過零率超過閾值ZH就判斷為輔音,忽視了能量的限制,造成部分無聲段混入了輔音段,該算法增設(shè)輔音能量閾值EC和疑似輔音能量閾值ES[15],并將過零率修改為跨過正負門限的次數(shù),提高過零率的抗干擾能力,能有效提高端點檢測的正確率。多閾值端點檢測有聲段判斷方法如表1所示。

表1 多閾值端點檢測有聲段判斷方法
Mel 頻率倒譜系數(shù)(Mel Frequency Cepstrum Coefficient,MFCC)模擬了人耳對語音信號的感知特性,是說話人識別系統(tǒng)中最常用的特征參數(shù)[16]。人的聽覺系統(tǒng)是一個特別的非線性系統(tǒng),感知不同頻率信號的靈敏度是不同的[17]。Mel 頻率與實際頻率的對應(yīng)關(guān)系如下:

其中,實際頻率f的單位為Hz。
MFCC 參數(shù)的求取過程是將原始信號通過一組三角濾波器組,然后轉(zhuǎn)換到倒譜域的過程[18],其流程如圖2所示。
1)原始語音經(jīng)過預(yù)加重、分幀、加窗等預(yù)處理得到每一幀的時域信號x(n)。其中預(yù)加重的目的去除口唇輻射的影響,增強語音的高頻能量,通常選用一階數(shù)字濾波器H(z)=1-uz-1,u 取0.95。由于語音信號具有短時平穩(wěn)性,為了使幀與幀之間平滑過渡,相鄰兩幀之間重疊半幀,幀長選擇32ms。加窗處理是為了減少頻譜分析時產(chǎn)生能量泄漏,一般選用漢明窗,如式(2)所示。

其中,N為窗口長度,n為窗內(nèi)數(shù)據(jù)點序號。

圖2 MFCC特征參數(shù)提取過程
2)將每一幀的時域信號x(n)經(jīng)過快速傅里葉變換(FFT)得到頻譜X(k),如式(3)所示。

3)根據(jù)頻譜X(k),即振幅譜,用一組三角濾波器進行濾波處理,得到每一個三角濾波器的輸出,如式(4)所示。

其中,Yi為第i 個濾波器的輸出;Xk為頻譜上第k 個頻譜點的振幅;Fi為第i個濾波器的中心頻率。
4)將每個三角濾波器的輸出做對數(shù)運算,得到相應(yīng)頻帶的對數(shù)振幅譜;并進行反離散余弦變換,得到MFCC參數(shù),如式(5)所示。

其 中p 為MFCC 參 數(shù) 的 階 數(shù),取12。{C1,C2,…,Cp}即為所求的MFCC參數(shù)。
主 成 分 分 析(Principal Component Analysis,PCA)是一種常用降維方法,它可以用較少的維數(shù)表示多維數(shù)據(jù)的主要信息。計算過程如下:
輸入:n 維數(shù)據(jù)集Xm×n,m 為樣本個數(shù),n 為每個樣本的維數(shù);
輸出:k 維數(shù)據(jù)集Ym×k,m 為樣本個數(shù),k 為每個樣本的維數(shù)。
1)按列計算數(shù)據(jù)集Xm×n每一維的均值,然后將Xm×n減去每一維的均值得到數(shù)據(jù)集Am×n;
2)求解矩陣Am×n的協(xié)方差矩陣,并將其記為Cn×n;
3)計算協(xié)方差矩陣Cn×n的特征值和特征向量Vn×n;
4)將特征值按照從大到小的排序,選擇其中最大的k 個,然后將其對應(yīng)的k 個特征向量分別作為行向量組成特征向量矩陣Wk×n;
5)計算Ym×k=Am×nWTk×n,即將數(shù)據(jù)集Am×n投影到選取的特征向量上,這樣就得到了降維到k 維的數(shù)據(jù)集Ym×k。
3.4.1 GMM模型
目前,說話人識別方法中常用的方法是高斯混合模型(Gaussian Mixture Model,GMM),本文采用該方法進行實驗。GMM 本質(zhì)上是一個多維概率密度函數(shù),即用多個高斯分布概率密度函數(shù)的加權(quán)組合來描述特征矢量在概率空間的分布情況[19],理論上,GMM 可以擬合任意類型的分布。說話人識別中,M階GMM的概率密度函數(shù)如式(6)所示:

其中,x 為K 維的聲學(xué)特征矢量;λ為GMM 模型的參數(shù)集;i為高斯分量的序號;ci為第i個分量的混合權(quán)值,且滿足c1+c2+…+cM=1;bi(x)為高斯混合分量,一般采用K維單高斯分布函數(shù),如式(7)所示:

其中,μi為均值矢量;∑i為協(xié)方差矩陣,i= 1,2,…,M。
GMM 參數(shù)集λ可由各混合分量的權(quán)值、均值矢量及協(xié)方差矩陣組成,如式(8)所示:

3.4.2 GMM模型說話人識別
對于測試語音特征矢量X={x1,x2,…,xT},GMM 說話人識別過程就是尋找模型λ={λ1,λ2,…,λN}中使得測試樣本X 后驗概率最大的模型λi*,則λi*對應(yīng)的說話人i*即為識別結(jié)果[20]。根據(jù)貝葉斯公式可知,特征矢量X 在模型λi下的后驗概率P(λi|X)如式(9)所示:

其中,P(X|λi)為第i 個說話人對特征矢量X 的條件概率;P(X)為全部模型條件下X的概率;P(λi)為識別為第i個人的先驗概率,一般情況下,可以認為每個人的先驗概率是相等的,如式(10)所示:

求P(λi|X)的最大值的過程可轉(zhuǎn)換成求P(X|λi)最大值的過程。因此,識別結(jié)果可以用式(11)來表示:

其中,i*為識別出的說話人。
實驗使用的語音庫來自南京理工大學(xué)NJUST603 語音庫,庫中包含423 人的語音,其中男生210 人,編號為M001-M210,女生213 人,編號為F001-F213;每個人有三段阿拉伯?dāng)?shù)字語音,編號為N1、N2、N3;四段漢語文本語音,編號為T1、T2、T3、T4。采樣頻率為16kHz,采樣精度為16位。
為了對比說話人實際散點分布和理論模型的差別,本文首先顯示說話人實際散點分布圖,散點圖生成過程如下。
1)首先對語音庫中說話人編號為F001-F050、編號為M001-M050 共100 人的T4 文本語音提取MFCC 特征參數(shù),對每個說話人的每幀語音數(shù)據(jù),用48 個三角濾波器組進行濾波,再取前12 維MFCC特征參數(shù)。
2)對步驟1)的12 維MFCC 數(shù)據(jù)的每一維,按所有說話人特征參數(shù)的最大值、最小值進行歸一化。將所有100 個說話人的所有訓(xùn)練語音幀的特征參數(shù),對第j維統(tǒng)計總的最小值minj,最大值maxj,將minj映射為0,maxj映射為1,其余值按線性內(nèi)插,將第j 維特征參數(shù)歸一化到0~1,再求均值`uj,j=1,2,…,12,均值`uj在做PCA分析時會用到。
3)對步驟2)的所有人的12 維歸一化后的數(shù)據(jù),進行PCA 分析,取前5 維較大的特征值對應(yīng)的特征向量作為投影的主軸,將減去每一維均值的12維數(shù)據(jù)投影到主軸上,從12維降為5維。
4)將步驟3)的數(shù)據(jù),即PCA 后的特征值再進行歸一化。對每一維,按100人(50個男聲、50個女聲)的最大值、最小值進行歸一化。
5)對步驟4)的數(shù)據(jù),進行離散化。對每個說話人,按所有人的每一維的最大值、最小值線性離散化。對第1、2、3 維,進行64 等分;對第4、5 維,進行8等分。
6)對步驟5)的數(shù)據(jù),對每個說話人,根據(jù)離散化后的語音幀的特征值,繪制5維散點圖。
圖3 為說話人F020 的語音特征參數(shù)離散化后的5 維散點圖,其中黑色點為無聲幀的特征參數(shù)散點,灰色點為有聲幀的特征參數(shù)散點。從圖3 中可以看出無聲幀和有聲幀的聚集區(qū)域是不同的,無聲幀的特征和有聲幀的特征是有差異的。但在有聲幀和無聲幀之間的過渡段有少量特征重合的語音幀,這是因為在求取MFCC 特征參數(shù)時,轉(zhuǎn)換到對數(shù)振幅譜時進行取對數(shù)操作,使得有些無聲幀的特征值被相對增強,因此有少量的無聲幀和有聲幀的特征重合。

圖3 說話人F020的所有語音幀實際5維散點分布圖
為了直觀地顯示GMM理論模型在多維空間上的分布特征,本文繪制了說話人GMM 模型訓(xùn)練后的理論概率分布圖,理論模型概率分布數(shù)據(jù)生成過程如下:
1)對3.5節(jié)步驟4)的數(shù)據(jù)(未進行離散化),用GMM 模型進行訓(xùn)練,得到理論模型,得到32 階、5維、高斯混合模型的混合權(quán)系數(shù)、各維的均值、方差。
2)根據(jù)得到的GMM 模型參數(shù),繪制理論模型的概率分布,對各維特征值進行離散化,第1、2、3維,進行64 等分;對第4、5 維,進行8 等分。各維特征值進行離散化時,與3.5 節(jié)步驟5)的區(qū)間界限完全一樣。計算GMM模型對應(yīng)各區(qū)間的理論概率值(GMM概率密度×5維網(wǎng)格單元的體積)。
3)根據(jù)得到的5維理論概率值數(shù)據(jù),將概率值的最小值映射為0,最大值映射為255,其余值按線性內(nèi)插,得到5維的理論模型數(shù)據(jù)。
將生成的理論模型數(shù)據(jù)進行5 維可視化,圖4為說話人F38 的GMM 理論模型概率分布5 維可視化圖。其中黑色的為高概率區(qū)域,灰色為低概率區(qū)域。
4.1.1 實驗條件
選取文本語音T4 中的50 個男生和50 個女生的語音作為訓(xùn)練語音;分別用端點檢測前和端點檢測后的語音特征參數(shù)訓(xùn)練GMM 模型;GMM 模型的階數(shù)為32 階;采用12 維的MFCC 經(jīng)過PCA 提取主要的5 維特征參數(shù)訓(xùn)練模型,訓(xùn)練時間為60s;用文本語音T3 進行測試,測試時間分別為4s、8s、…、36s,并分別用端點檢測前和端點檢測后的語音進行對比,進行說話人識別。

圖4 說話人F038的GMM理論模型概率分布5維可視化圖
4.1.2 評價標(biāo)準(zhǔn)
說話人識別評價指標(biāo)為識別率,計算公式為

4.1.3 實驗結(jié)果及分析
按4.1.1 節(jié)的實驗條件進行實驗,得到的識別率結(jié)果如圖5所示。

圖5 端點檢測前后識別率結(jié)果對比圖
從圖5可以看出,當(dāng)測試時間小于12s時,端點檢測后明顯高于端點檢測前的識別率。當(dāng)測試時間在16s 左右時,端點檢測后比端點檢測前的識別率低2%左右。當(dāng)測試時間高于20s 時,端點檢測后的識別率穩(wěn)定在98%,端點檢測前的識別率在96%附近波動。從總體來看,端點檢測可以提高說話人識別系統(tǒng)的識別率和穩(wěn)定性。
應(yīng)用多維可視化方法來進一步分析上述結(jié)果,圖6 為說話人M026 端點檢測前用所有語音幀的多維特征得到的GMM 模型分布,圖7 為說話人M026經(jīng)過端點檢測后用有聲幀的多維特征得到的GMM模型分布。圖8 為說話人F016 端點檢測前所有語音幀實際散點投影到理論模型分布,圖9 為說話人F016 端點檢測后有聲幀實際散點投影到理論模型分布。

圖6 說話人M026端點檢測前用所有語音幀的多維特征得到的GMM模型分布

圖7 說話人M026經(jīng)過端點檢測后用有聲幀的多維特征得到的GMM模型分布

圖8 說話人F016端點檢測前的所有語音幀實際散點投影到理論模型分布
對比圖6 和圖7、圖8 和圖9 可以看出,端點檢測后比端點檢測前的理論模型分布覆蓋范圍更大,基本上完全覆蓋了訓(xùn)練語音的特征。從圖8 可以看出,端點檢測前,有少量語音幀不在理論模型范圍內(nèi),理論模型沒有完全覆蓋測試語音的特征。從圖9 可以看出,端點檢測后,有聲幀基本都在理論模型的高概率區(qū)域,理論模型基本完全覆蓋了測試語音的特征。

圖9 說話人F016端點檢測后的有聲幀實際散點投影到理論模型分布
4.1.4 說話人識別魯棒性分析
魯棒性評價指標(biāo)可以用得分差來表示:

說話人識別就是對每一幀的特征參數(shù)的對數(shù)得分進行累加,得分最高的說話人為最后識別結(jié)果。得分差越大,說明識別為第一名的概率得分遠大于其他說話人的得分,以絕對的優(yōu)勢取得識別結(jié)果,抗干擾能力強,識別結(jié)果穩(wěn)定,魯棒性好。表2為端點檢測前后前2 名平均得分差對比及端點檢測后平均得分提高百分比。

表2 端點檢測前后前2名平均得分差及提高百分比
從表2可以看出,當(dāng)測試時間小于10s時,端點檢測后的平均得分差比端點檢測前有了明顯的提高,端點檢測可以明顯提高模型的魯棒性。當(dāng)測試時間為15s 時,雖然端點檢測后識別率略有下降,但是模型的魯棒性卻提高了14.1%。端點檢測前,識別結(jié)果魯棒性較差;端點檢測后,識別結(jié)果魯棒性好,結(jié)果可靠,因此說話人識別中進行端點檢測是很有必要的。
4.2.1 實驗條件
選取數(shù)字語音N3 中的50 個男生和50 個女生的語音作為訓(xùn)練語音;GMM 模型的階數(shù)為32 階;采用12 維的MFCC 經(jīng)過PCA 提取主要的5 維特征參數(shù)訓(xùn)練模型,訓(xùn)練時間為60s;再分別用文本語音T4、數(shù)字語音N2進行說話人識別測試,測試時間分別為5s、10s、…、30s。
4.2.2 實驗結(jié)果及分析
按4.2.1 節(jié)的實驗條件進行實驗,得到的識別率結(jié)果如表3所示。

表3 不同測試語音識別率結(jié)果
從表3 可以看出,當(dāng)使用數(shù)字語音N3 訓(xùn)練模型,用數(shù)字語音N2 進行測試時,識別率較高;用文本語音T4 進行測試時,識別率較低,這是由于測試樣本與訓(xùn)練樣本中音素的分布不一致,數(shù)字語音中僅包含0-9 的音素,而文本語音中包含了更多的音素,數(shù)字語音的模型未完全覆蓋文本語音的特征,造成部分未覆蓋到的文本語音幀的后驗概率很低,明顯影響了識別率。
應(yīng)用多維可視化的方法來進一步分析數(shù)字語音訓(xùn)練、文本語音識別時識別率明顯降低的原因。圖10 為說話人F001 的文本語音T4 理論模型分布圖,圖11為說話人F001的數(shù)字語音N3理論模型分布圖,圖12為說話人F001的文本語音T4實際散點分布圖。

圖10 說話人F001的文本語音T4理論模型分布圖

圖11 說話人F001的數(shù)字語音N3理論模型分布圖
對比圖10 和圖11 可以看出,數(shù)字語音與文本語音的理論模型分布不一致,數(shù)字語音的理論模型分布范圍很小,包含的音素較少;而文本語音的理論模型分布范圍很大,包含的音素較多。對比圖11和圖12可以看出,當(dāng)使用數(shù)字語音訓(xùn)練模型、文本語音進行測試時,文本語音的實際散點分布有大部分不在數(shù)字語音的理論模型范圍內(nèi),因此,使用文本語音進行測試時,識別率顯著降低。

圖12 說話人F001的文本語音T4實際散點分布圖
本文提出了一種新的多維可視化方法,該方法可以直觀地顯示多維語音特征參數(shù)在多維空間上概率分布情況。應(yīng)用多維可視化方法分析了說話人識別中經(jīng)過端點檢測后識別率往往略有下降的原因;還直觀地說明了在統(tǒng)計模式識別中訓(xùn)練樣本與測試樣本的分布要保持一致,否則會嚴重影響識別效果。下一步還將應(yīng)用該方法研究單個漢字的多維語音特征可視化,分析語音識別發(fā)生錯誤的原因。