郭東岳,周群彪
(1.四川大學視覺合成圖形圖像技術國防重點學科實驗室,成都 610065;2.四川大學計算機學院,成都 610065)
21世紀以來,隨著國民經(jīng)濟的飛速發(fā)展,飛機出行已經(jīng)成為遠距離出行的首選交通工具。據(jù)統(tǒng)計,2018年我國民航全行業(yè)完成運輸總周轉量1206.53億噸,比上年增長11.4%。根據(jù)此趨勢預測,2020年我國民航各類飛行起降將超過1500萬架次。給人們帶來巨大的便利的同時,也意味著飛行流量急劇增加,空域容量不足,地面空中交通管制壓力隨之成倍增長。近年來,民航不安全事件時有發(fā)生。管制員工作負荷與壓力越來越大使空中交通管理行業(yè)面臨巨大的安全保障壓力,空管保障能力與飛行流量增長、管制員工作負荷壓力之間的矛盾日益突出。隨著人工智能的發(fā)展,基于深度學習的目標檢測、人臉識別、語音識別、飛行軌跡預測等技術逐漸應用到空中交通管理中來,為空中交通的安全運行提供了有力的保障。其中,基于語音識別的空管安全監(jiān)控系統(tǒng)[1-4]成為研究的熱點。本文所研究的聲紋識別是安全監(jiān)控系統(tǒng)的子模塊,主要功能是識別信道中的每句語音的角色(管制員/飛行員)。同時,對說話人的準確識別豐富了語料的信息,為后期數(shù)據(jù)查詢、分析提供可靠的數(shù)據(jù)依據(jù)。
聲紋識別(Voiceprint Recognition,VPR)又叫說話人識別(Speaker Recognition,SR),根據(jù)應用功能不同可以分為說話人辨認(Speaker Identification)和說話人確認(Speaker Verification)。說話人辨認的任務是從N個說話人中辨認該語句屬于哪一個說話人,主要應用于多人對話場景的聲紋識別;說話人確認任務是確認某一語音與目標語音是否屬于同一說話人,主要應用于聲紋鎖、聲紋認證等應用場景中。根據(jù)應用形式不同,又可以分為文本相關(Text-dependent)和文本無關(Text-independent)的聲紋識別。文本相關的聲紋識別需要說話人錄制給定文本的語音供算法識別,因有文本的限定這類方法一般性能較好,但也缺乏一定的靈活性。而文本無關的說話人識別僅需要任意一段語音即可,以其靈活、方便易用等特點在工業(yè)界廣受歡迎。由于陸空通話語音內容的多樣性和隨機性以及一個信道中存在多個說話人,本文的研究內容屬于文本無關的說話人辨認。
聲紋識別的發(fā)展歷程大致如下:20世紀30年代,人們就展開了聲紋識別相關的研究工作。直至60年代bell實驗室提出了模板匹配的說話人識別方法,在當時取得了突破性的進展。
60年代至21世紀初,學界分別從音頻特征提取和識別方法兩個方面展開研究,先后將MFCC、LPC、PLP、LSP等音頻特征應用到聲紋識別中來,并取得了良好的效果。而識別方法也從模板匹配發(fā)展到了高斯混合模型-通用背景模型(Gaussian Mixture Model-Universal Background Model,GMM-UBM)[5-6]、隱馬爾可夫模型(Hidden Markov Model,HMM),人工神經(jīng)網(wǎng)絡(Artificial Neural Network,ANN)等準確率更高、魯棒性更好的概率模型。隨后,在GMM-UBM的基礎上,P.Kenny提出聯(lián)合因子分析(Joint Factor Analysis,JFA)[7]的方法、N.Dehak提出了i-vector[8]方法,將不定長的語音映射到一個子向量空間中,成為主流的聲紋識別技術。以上傳統(tǒng)方法雖然能達到一定的識別精度,但這些方法對信道環(huán)境、語音時長都有較大的依賴,只能應用于一般的聲紋識別場景中,對專用場景的適應性較差。近年來,隨著深度學習在生物特征識別(人臉識別、指紋識別)等方向取得巨大的成功,研究者們也將深度學習技術應用到了聲紋識別中來,相繼提出了基于深度神經(jīng)網(wǎng)絡(Deep Neural Network,DNN)、卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network)、循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Network)及其變種的聲紋識別方法[9-14]。例如 d-vector[15]、x-vector[12]、j-vector等方法,這類方法的本質特征都是訓練一個深度神經(jīng)網(wǎng)絡作為說話人特征(Speaker Embeding)提取器,再使用 PLDA[16]、余弦相似度(Cosin Similarity)等作為后端判決模型。2017年,百度和VGG實驗室?guī)缀跬瑫r提出了基于殘差神經(jīng)網(wǎng)絡(Residual neural network,ResNet)[17,18]的說話人特征的提取方法用于說話人識別,在大規(guī)模語音數(shù)據(jù)集上取得了較好的效果。一般而言,采用深度學習的方法即可應用于一般場景,也可以針對特殊場景加強訓練以得到良好的效果,是目前主流的聲紋識別方法。
本文根據(jù)陸空通話的特點,提出了一種基于深度殘差神經(jīng)網(wǎng)絡的陸空通話識別方法。該方法能夠有效地在不穩(wěn)定噪聲、多語種、開集說話人的空管信道中完成空管語音角色識別任務,是一種魯棒性較好的聲紋識別方法。
d-vector方法是使用深度學習完成聲紋識別任務的經(jīng)典方法之一,在訓練階段,提取每一語音幀的Filterbank Energy作為語音特征饋入DNN模型中,通過softmax層訓練說話人分類模型。在使用階段,當模型收斂后將移除softmax層的網(wǎng)絡模型作為說話人特征提取器,將最后一個隱藏層的輸出經(jīng)L2正則化、多幀向量疊加作為說話人特征。并且d-vector也可以與PLDA等信道補償算法相結合以消除不同信道對語音的影響。實驗證明。通過對大量的音頻數(shù)據(jù)訓練后,d-vector不僅可以對訓練過的說話者集合上有良好的表現(xiàn),并且在未訓練的說話者身上也取得了較好的成績。d-vector算法的模型結構圖如圖1所示。
圖1 d-vector模型結構圖
本文對真實陸空通話數(shù)據(jù)集ATCSpeaker和一般開源數(shù)據(jù)集LibriSpeech進行了統(tǒng)計與分析。其中,ATCSpeaker數(shù)據(jù)集分為英文和中文子集,LibriSpeech為全英文數(shù)據(jù)集,按總時長分為100、360和500小時的數(shù)據(jù)子集。統(tǒng)計結果如表一所示,根據(jù)數(shù)據(jù)對比可得,陸空通話語音與一般語音相比具有以下特性:
(1)短語句
陸空通話為半雙工無線電通信,一個信道內一般存在一個管制員與多個飛行員通話。因此,陸空通話內容要求發(fā)音清晰、言簡意賅。表中統(tǒng)計了平均單句語音的時長(Avg-duration),明顯可以看出陸空通話語句約為LibriSpeech數(shù)據(jù)集單句時長三分之一。并且,平均語速(avg-word/s)也要明顯快于LibriSpeech數(shù)據(jù)集。一般來說,在聲紋識別中,語句越長則其中包含的說話人特征越明顯,對音頻特征的提取越有利。
(2)不穩(wěn)定噪聲
無線電通話易受天氣、環(huán)境、通訊設備等因素的制約,信道極易受外界因素的干擾。相同指標下與LibriSpeech相比,ATCSpeaker數(shù)據(jù)集的平均信噪比(Avg-SNR)之差為5左右。高信噪比意味著提取難度說話人特征的難度增加,需要更大的信道補償。
(3)多語種
在我國空中交通管制中,管制員與外航或外籍飛行員使用英語溝通,與國內航班使用中文溝通。多語種聲紋識別也給聲紋識別的準確性帶來了巨大的挑戰(zhàn)。
表1數(shù)據(jù)特點對比表
圖2陸空通話聲紋識別架構圖
綜上所述,陸空通話場景下的聲紋識別不同于一般聲紋識別,現(xiàn)有的算法并不足以滿足陸空通話聲紋識別的精度要求,需根據(jù)其特點研發(fā)適合陸空通話聲紋識別的方法。
本文提出的陸空通話聲紋識別架構如圖2所示。其中,Residual block為2.3節(jié)所介紹的殘差模塊,主要是用于提取說話人特征。Embeding block包含兩個部分:全連接層和L2正則化層,其主要作用是將殘差模塊提取出的特征歸一化到一個固定維度的子向量空間中作為說話人特征。陸空通話聲紋識別主要分為三個階段:
(1)訓練階段:訓練階段首先按照分類模型搭建深度神經(jīng)網(wǎng)絡,softamx層的節(jié)點數(shù)對應說話人的個數(shù)。將音頻文件提取音頻頻譜特征饋入神經(jīng)網(wǎng)絡中直至收斂。
(2)注冊階段:在注冊階段將softmax層移除,將管制員語音饋入訓練好的網(wǎng)絡中,取Embeding block層所提取出的說話人特征放入聲紋庫,即注冊完成。
(3)識別階段:在識別階段將待識別語音饋入訓練好的神經(jīng)網(wǎng)絡中,取聲紋庫中的語音,經(jīng)后端判決模型判斷是否屬于某一管制員,否則待識別角色為飛行員。在本文中采用余弦相似度作為后端判決模型,判決閾值隨應用環(huán)境調節(jié)。
該架構將說話人特征提取和后端判決分離開來,有利于適應不同的陸空通話信道。當信道環(huán)境發(fā)生巨大改變時可以使用PLDA等信道補償算法作為后端判決模型以適應不同的信道,而不用再次重新訓練說話人特征提取模型。實驗證明,該架構在陸空通話環(huán)境下切實可行,是一種穩(wěn)健的陸空通話識別方法。
隨著數(shù)據(jù)量和用戶的增大,d-vector算法已經(jīng)不能滿足于大規(guī)模的聲紋應用需求,而一味的增加網(wǎng)絡深度、網(wǎng)絡堆疊會導致梯度消失、網(wǎng)絡訓練難度成倍增大等現(xiàn)象。而殘差神經(jīng)網(wǎng)絡的出現(xiàn)則解決了網(wǎng)絡深度導致的梯度消失問題。殘差模塊的原理如下:假定某段神經(jīng)網(wǎng)絡輸入為x,期望輸出為H(x),那么直接把x傳到輸出作為初始結果,那么此時學習的目標F(x)如式(1)所示:
這就將學習的目標從完成的輸出改變?yōu)閷W習輸入輸出的殘差。在聲紋識別中,由于殘差神經(jīng)網(wǎng)絡的特性,隨著數(shù)據(jù)量的增加ResNet可以很好地擬合數(shù)據(jù),而不會額外增加網(wǎng)絡的參數(shù)和數(shù)據(jù)計算量。因此,模型訓練的難度也得以降低。文獻[17,18]都選擇了ResNet作為說話人特征的提取器,并在各自的大型數(shù)據(jù)集上取得了良好的效果。
本文提出了一種多核殘差神經(jīng)網(wǎng)絡,其中Residual block模塊如圖3所示。不同于文獻[17,18]的殘差塊,本文根據(jù)陸空通話語料的特點采用兩路多尺度卷積殘差塊:第一路采用卷積核大小為3×3的卷積層;第二路兩層卷積層的卷積核大小分別為5×5和1×1。針對陸空通話語料語速快、多語種、語音特征分散等問題,本文采用語音頻譜圖作為網(wǎng)絡輸入。語音頻譜可以最大限度的保留原始語音信息,而多尺度卷積操作可以分別從不同的尺度充分挖掘語音頻譜中所隱藏的說話人信息,盡量避免信道所帶來的影響。
圖3多核殘差塊結構圖
本文實驗環(huán)境在Ubuntu16.04操作系統(tǒng)下搭建,使用RTX2080Ti顯卡訓練深度訓學習模型。深度神經(jīng)網(wǎng)絡基于TensorFlow、Keras等深度學習框架搭建。陸空通話數(shù)據(jù)集ATCSpeaker取自國內真實陸空通話錄音,經(jīng)人工切分、標注,共有50位說話人,音頻時長約20小時。對比實驗數(shù)據(jù)集使用開源語音語料庫LibriSpeech中的train-clean-100子集,約有250位說話人,音頻總時長約100小時。
等錯誤率(Equal Error Rate,EER)是聲紋識別系統(tǒng)中常用的評價標準。本文所提出的陸空通話聲紋識別由于說話人個數(shù)的不確定性,屬于開集說話人識別。因此,使用EER作為本文實驗的評價指標。EER的計算主要依靠兩個指標:錯誤接受率(False Acceptation Rate,FAR)和錯誤拒絕率(False Rejection Rate,FRR)。其計算如公式(2)、(3)所示,其中 NIRA 代表的是類間測試次數(shù),NGRA是類內測試次數(shù),NFA是錯誤接受次數(shù),NFR是錯誤拒絕次數(shù)。在0-1內畫出FFR和FAR的坐標圖,交點即為EER值。
實驗結果如表2所示,本文所提出的ResNet無論是在LibriSpeech數(shù)據(jù)集還是ATCSpeaker數(shù)據(jù)集上都取得了良好的效果。其中與d-vector方法相比,在ATCSpeaker數(shù)據(jù)集上提升了約6%,提升幅度也明顯優(yōu)于LibriSpeech數(shù)據(jù)集上的提升幅度。實驗表明本文提出的ResNet網(wǎng)絡架構中的殘差模塊對陸空通話語音中的說話人特征更加準確,能很好地抑制信道差異。因此,本文提出的ResNet網(wǎng)絡架構是一種魯棒性較好的陸空通話聲紋識別架構。
表2實驗結果
本文實驗了d-vecotr與ResNet聲紋識別方法在陸空通話聲紋識別中的應用,在此基礎上提出了一種基于深度殘差神經(jīng)網(wǎng)絡的陸空通話聲紋識別架構。該方法能夠針對陸空通話場景的特點,通過聲紋識別的方式很好地完成空管語音角色識別任務,同時可以靈活的調整后端判決模型來適應信道的劇烈變化。綜上所述,本文提出的算法靈活易用、魯棒性較好,實驗表明具有較強的實用價值。