論文翻譯:https://arxiv.53yu.com/abs/2009.13931
基於高效多工卷積神經網路的殘餘回聲抑制
摘要
在語音通訊系統中,回聲會降低使用者體驗,需要對其進行徹底抑制。提出了一種利用卷積神經網路實現實時殘餘回聲抑制(RAES)的方法。在多工學習的背景下,採用雙語音檢測器作為輔助任務來提高效能。該訓練準則基於一種新的損失函式,我們稱之為抑制損失,以平衡殘餘回聲的抑制和近端訊號的失真。實驗結果表明,該方法能有效抑制不同情況下的殘餘回聲。
關鍵字:殘餘回聲抑制,卷積神經網路,多工學習,抑制損失
1 引言
在語音通訊系統中,當麥克風與揚聲器處於封閉空間中時,需要捕獲由於麥克風與揚聲器耦合而產生的回聲訊號時,需要進行回聲抵消。傳統的AEC演算法由自適應線性濾波器(AF)和非線性回聲處理器(NLP)兩部分組成。
由於揚聲器特性所帶來的非線性以及對焦輸出與遠端訊號之間的非線性關係不易發現等問題,使得AEC的研究面臨諸多挑戰。換句話說,在AEC系統中,NLP很可能會對近端訊號造成很大的破壞,以完全去除殘餘回聲。
近年來,機器學習被引入到回聲的消除和抑制中。基於遠端訊號及其非線性變換訊號,利用兩個隱層人工神經網路對殘餘回聲進行估計。用遠端訊號和AF輸出訊號訓練深度神經網路可以更準確地預測掩模(masks)。然而,由於缺乏相位資訊,在將回聲全部去除的情況下,向神經網路輸入幅值譜並估計輸出幅值譜掩模很難保持近端訊號。而增加更多的輸入特徵,這樣的相位譜使得模型在大多數個人終端上使用過於複雜。在最近的一項研究中,利用AF輸出與近端訊號之間的相位關係,採用相敏(phase-sensitive)權重來修正掩模。
本文提出了一種新的基於多工卷積神經網路的殘餘回聲抑制方法,該方法以遠端參考和AF輸出訊號為輸入,以相敏掩模(PSM)為目標。提出了一種新的抑制損耗演算法,在抑制殘餘回聲和保持近端訊號之間實現了平衡。精確的雙講檢測器(double talk detector,DTD)在傳統的AEC中也是必不可少的,在我們的工作中,估計雙語音狀態是提高掩模預測精度的輔助任務。
實驗結果表明,無論在模擬聲環境還是真實聲環境中,該方法都能有效抑制殘餘回聲,顯著降低近端訊號的失真。
本文的其餘部分組織如下。第2節介紹了傳統的AEC系統。第3節給出了所提出的方法,第4節給出了對比實驗結果。最後,第5節對全文進行總結。
2 AEC 框架
在AEC框架中,如圖1所示,傳聲器接收到的訊號\(d(n)\)由近端訊號\(s(n)\)和回聲\(y(n)\)組成:
圖1 線性AEC框架
AEC的目的是去除回聲訊號,同時保持近端訊號\(\hat{s}(n)\)。
回聲\(y(n)\)由兩部分組成:線性回聲,包括遠端直接訊號及其反射訊號。非線性回聲,由揚聲器引起。AF模組自適應估計的線性回聲\(\hat{y}(n)\)和從麥克風訊號減去\(d(n)\)的輸出訊號\(e(n)\)。傳統上,NLP通過計算\(e(n)\)和\(d(n)\)的抑制增益來進一步抑制殘餘回聲。然而,近端訊號極有可能被破壞。在雙語音環節使用這種方法非常嚴重。
3 方法
3.1 特徵提取
AF模組用於消除麥克風訊號中的一部分線性回聲。實現線性AF演算法的方法有很多種。從理論上講,所提出的RAES可適用於任何標準的AF演算法,本文采用的是一種子帶歸一化最小均方演算法(NLMS)。
輸入特徵包括上述AF輸出誤差訊號\(e(n)\)和遠端參考訊號\(u(n)\)的對數譜。我們使用短時傅立葉變換(STFT)將\(e(n)\)和\(u(n)\)轉換到頻域,採用大小為K的平方根漢寧窗,因此實際頻率點(frequency bins)數為\(K/2\),丟棄直流區。我們將M幀串聯作為輸入特徵,以提供更多的時間參考資訊。串聯的另一個優點是,它可以推動網路瞭解回聲和遠端訊號之間的延遲。
3.2 網路結構
本文網路的主幹是受MobileNetV2的啟發,其中大部分的全卷積操作被depthwise 和 pointwise convolution代替,以降低計算代價。整個網路架構如圖2所示,其中,在Conv()和Residual BottleNeck()的前三個引數分別為輸出通道數、核心大小和步長(stride)大小,如果不指定,預設步長大小為1。FC是指具有輸入和輸出尺寸的全連線層。Residual BottleNeck()的詳細架構如圖2(a)所示,其中剩餘連線融合了高維和低維特徵。
值得一提的是,在雙講中掩膜預測是一項具有挑戰性的任務。通過4個Residual BottleNeck塊提取特徵後,利用右分支的DTD預測任務,以條件注意機制,減少左掩模預測分支的負擔。因此,多工學習可以使網路更加關注雙語掩膜的預測,如果DTD任務檢測到單語週期,則可以很容易地將掩碼設定為1或0。
圖2 提出K = 128時的網路架構
3.3 訓練目標與損失
理想振幅掩模(IAM)在不考慮相位資訊的情況下,常被用作語音增強和殘餘回聲抑制的訓練目標。在本文中,我們使用相敏掩膜(PSM),其表達如下:
其中\(\theta=\theta^{S(l, k)}-\theta^{E(l, k)} \cdot S(l, k)\) 和 \(E(l, k)\)表示在第\(l\)幀,第\(k\)頻率點中的近端和AF輸出訊號。PSM在網路中截斷0和1之間。然後通過頻率點\((l,k)\)中所提出的RAES\(\hat{S}(l, k)\)的頻域輸出,通過下式計算:
在訓練過程中使用最小平方誤差(MSE)作為損失函式。為了徹底消除回聲,在一定程度上對近端訊號進行畸變是不可避免的。只要對網路的估計不完美,RAES要麼會使近端訊號失真,要麼會保留一些殘餘回聲,要麼更糟兩者都有。一方面,從本質上講,AEC的主要目的是消除麥克風訊號的所有回聲,同時儘可能地保持近端訊號。因此,抑制回聲或多或少比保持近端訊號質量要求更高。另一方面,MSE損失是一個對稱的度量,因為相同數量的負偏差和正偏差將被視為完全相同的損失。因此,直接使用MSE無法控制抑制回聲和保持近端訊號之間的平衡。本文的解決方法是利用parametric leaky Rectified Linear Unit(ReLU)函式計算目標與頻率庫\((l,k)\)中估計的掩模\(\Delta(l, k)\)之間的加權均方距離,並具有抑制比\(\alpha\),
其中\(g_{t}(l, k)\) 和 \(g_{e}(l, k)\)分別是頻率庫\((l,k)\)中的目標和估計的相敏掩模,我們稱之為抑制損失。抑制比\(\alpha_{k}\)在頻率庫\(k\)中作為引數,設定在0 ~ 1之間,且\(\alpha_{k}\)越小,抑制越嚴重。在每個頻率庫中,可通過設定不同的\(\alpha_{k}\)值來調節抑制程度。為了簡化,我們只在所有頻率區中設定相同的\(\alpha\)簡化值。根據以下規則得到第\(l\)幀中的DTD狀態:
其中DTD表述0,1,2分別對應訊號近端通話、單端遠端通話和雙端通話。由於資料集中單次和雙次通話的不平衡,我們使用聚焦引數\(\gamma^{*}=2\)的focal loss作為DTD 訓練任務的損失函式,我們將這兩個loss結合起來,通過網路更新兩個權值。
4 實驗結果
4.1 資料集
實驗中使用TIMIT[14]和THCHS30[15]資料集生成訓練、驗證和測試資料集。在訓練資料集中,我們從TIMIT中隨機選擇423個說話者,4230個句子,從THCHS30中隨機選擇40個說話者,5690個句子。而驗證和測試資料集的160個不同的說話者,1600個句子包含在TIMIT中,16個不同的說話者,2083個句子來自THCHS30。
在TIMIT資料集中的男女比例為(0.3,0.4,0.3),THCHS30資料集中的男女比例為(0.3,0.2,0.5)時,說話者被隨機選擇為對。一個遠端訊號是由連線三個話語從一個揚聲器產生。另一個說話者的一個話語被用作近端訊號,並與遠端訊號重複連線到相同的長度。此外,考慮到其他型別的訊號,特別是在頻率和時間特性上與語音有很大差異的音樂,通常也由揚聲器播放,我們故意將MUSAN的音樂訊號與10%的遠端訊號隨機混合。總共生成了5400個訓練混合物,其中2400個混合物來自TIMIT,其餘來自THCHS30。
不同型別的裝置表現出不同的非線性特性以及遠端和傳聲器訊號之間不同的系統固有延遲。為了模擬不同的裝置,首先對70%的遠端訊號採用硬剪輯模擬功率放大器的不同剪輯:
從0.75到0.99隨機選取\(u_{\max }\)。採用無記憶sigmoid函式對揚聲器非線性進行了模擬。
其中\(b(n)=1.5 u_{\text {clip }}(n)-0.3 u_{\text {clip }}^{2}(n)\),增益\(\gamma\)在 0.15至0.3之間隨機設定。當\(b(n)\)大於0時,斜率a在0.05至0.45之間隨機設定,否則在0.1至0.4之間隨機設定。
然後我們需要在失真的遠端訊號\(u_{\text {nonlinear }}\)的基礎上產生回聲訊號。在失真的遠端訊號中加入\(8ms-40ms\)的延遲來模擬系統內部延遲。利用模擬和真實的記錄房間脈衝響應(room impulse response,RIR)與失真的遠端訊號進行卷積,得到最終的回聲訊號。使用影像方法生成模擬的大小\((a, b, c)\)的RIRs,本文使用兩個典型房間大小分別為\([6.5 \mathrm{~m}, 4.1 \mathrm{~m}, 2.95 \mathrm{~m}]\) 和 \([4.2 \mathrm{~m}, 3.83 \mathrm{~m}, 2.75 \mathrm{~m}]\),混響時間範圍為\([0.3\mathrm{s}, 0.4 \mathrm{~s}, 0.5 \mathrm{~s}, 0.6 \mathrm{~s}]\),取樣長度分別為\([2048,2048,4096,4096]\)。我們會在每個房間內設定4個不同的麥克風位置,以及圍繞每個麥克風設定5個不同的揚聲器位置。真實的錄音室脈衝響應選取自AIR[19],BUT[20]和MARDY[21],在話筒距離1.2m以內。90%的遠端訊號與隨機選擇的RIRs卷積從模擬和真實的記錄上的RIR資料集以上。訓練資料集中一半的近端訊號被替換為無聲訊號,以產生單一的遠端對話。在雙通話期間,SER從-13dB到0隨機選擇。在生成驗證資料集時實現了相同的過程。
4.2 實驗配置
STFT的視窗長度設定為128,重疊率為50%。並將遠端和AF輸出訊號的20幀串接形成2×20×64形狀的輸入特徵,丟棄直流和負頻區域。然後我們將其重塑為2×40×32作為單個輸入,批大小設定為1024。Adam optimizer的初始學習率為0.003。抑制比壓縮值\(\alpha\)設定為0.5或1.0。
4.3 評價指標
該方法在雙通話時段對語音質量評價指標(PESQ)和短時目標可懂度(STOI)進行了感知評價,在遠端單通話時段對回聲回波增強(ERLE)進行了評價。線性AEC框架中的ERLE通過下式計算:
我們延長測量回波抑制程度上非線性RAES框架通過將\(\hat{s}(n)\)代替\(e(n)\)。
4.4 效能比較
在大多數硬體裝置中,麥克風和揚聲器之間的距離比較近,導致低SER。我們用0 dB、-5 dB和-10 dB SER生成測試混合物,並將所提方法與WebRTC中的AEC3和[4]的DNN方法進行比較。DNN結構由三層隱層組成,每層有2048個節點,沒有預先訓練受限玻爾茲曼機(RBM)來初始化DNN引數。在DNN方法中,我們也連線20幀作為輸入特徵。在與RAES學習速率相同的情況下,選擇理想振幅掩模和MSE損失函式進行DNN訓練。
表1 單遠端通話平均ERLE(dB)
表2 雙講過程中的平均PESQ和STOI
我們為每個案例生成50對TIMIT和50對THCHS30測試混合物。表1顯示了不同演算法在單次遠端通話場景下的ERLE結果。在回聲訊號中同時存在語音和音樂的情況下,RAES方法的回聲抑制能力優於AEC3和DNN方法。
表2和表3顯示的是不同方法的PESQ和STOI得分。結果表明,RAES演算法在雙語音過程中能夠保持較好的語音質量和清晰度。利用抑制比抑制圖可以調節模型的抑制程度,使用較小的抑制圖對回聲和近端訊號都有較強的抑制作用。在訓練和驗證過程中,DTD task的F1值分別為93.0%和90.3%。這些結果表明,可以根據可靠的DTD對掩模進行進一步的後處理。計算複雜度的比較如表4所示。AEC3啟動了SSE2優化。我們基於自己開發的神經網路推理庫執行DNN和RAES模型。採用2.5 GHz CPU, x86 64處理器處理60s長語音時,DNN和RAES的實時速率(RT)分別為0.89和0.05,說明RAES可以很容易地在個人平臺上實現。
表3 雙講(演講+音樂)時的平均PESQ和STOI
表4 操作比較複雜
5 結論
提出了一種高效的多工殘留回聲抑制方法。我們在不同的模擬和真實房間中評估了該方法在不同的SER說話情況下。實驗結果表明,與傳統的回聲消除方法相比,該方法具有更好的回聲抑制效能,並且易於在大多數個人裝置上實時部署和執行。
6 參考文獻
[1] Abhishek Deb, Asutosh Kar, and Mahesh Chandra, “A technical review on adaptive algorithms for acoustic echo cancellation,” in International Conference on Communication and Signal Processing. IEEE, 2014, pp. 041–045.
[2] Kun Shi, Xiaoli Ma, and G. Tong Zhou, “A residual echo suppression technique for systems with nonlinear acoustic echo paths,” in ICASSP. IEEE, 2008, pp. 257–260.
[3] Andreas Schwarz, Christian Hofmann, and Walter Kellermann, “Spectral feature-based nonlinear residual echo suppression,” in WASPAA. IEEE, 2013, pp. 1–4.
[4] Chul Min Lee, Jong Won Shin, and Nam Soo Kim, “Dnn-based residual echo suppression,” in Sixteenth Annual Conference of the International Speech Communication Association, 2015.
[5] Qinhui Lei, Hang Chen, Junfeng Hou, Liang Chen, and Lirong Dai, “Deep Neural Network Based Regression Approach for Acoustic Echo Cancellation,” in Proceedings of the 2019 4th International Conference on Multimedia Systems and Signal Processing, 2019, pp. 94–98.
[6] Hao Zhang and DeLiang Wang, “Deep Learning for Acoustic Echo Cancellation in Noisy and Double-Talk Scenarios,” in Proc. Interspeech, 2018, vol. 161, p. 322.
[7] Amin Fazel, Mostafa El-Khamy, and Jungwon Lee, “CAD-AEC: Context-Aware Deep Acoustic Echo Cancellation,” in ICASSP. IEEE, 2020, pp. 6919–6923.
[8] Hao Zhang, Ke Tan, and DeLiang Wang, “Deep Learning for Joint Acoustic Echo and Noise Cancellation with Nonlinear Distortions,” in Proc. Interspeech, 2019, pp. 4255–4259.
[9] Guillaume Carbajal, Romain Serizel, Emmanuel Vincent, and Eric Humbert, “Multiple-input neural network-based residual echo suppression,” in ICASSP. IEEE, 2018, pp. 231–235.
[10] Mark Sandler, Andrew Howard, Menglong Zhu, Andrey Zhmoginov, and Liang-Chieh Chen, “Mobilenetv2: Inverted residuals and linear bottlenecks,” in CVPR. IEEE, 2018, pp. 4510–4520.
[11] Hakan Erdogan, John R. Hershey, Shinji Watanabe, and Jonathan Le Roux, “Phase-sensitive and recognitionboosted speech separation using deep recurrent neural networks,” in ICASSP. IEEE, 2015, pp. 708–712.
[12] Tsung-Yi Lin, Priya Goyal, Ross Girshick, Kaiming He, and Piotr Dollar, “Focal loss for dense object detection,” ´ in ICCV. IEEE, 2017, pp. 2980–2988.
[13] Alex Kendall, Yarin Gal, and Roberto Cipolla, “Multitask learning using uncertainty to weigh losses for scene geometry and semantics,” in Proceedings of the IEEE conference on computer vision and pattern recognition, 2018, pp. 7482–7491.
[14] Lori F Lamel, Robert H Kassel, and Stephanie Seneff, “Speech database development: Design and analysis of the acoustic-phonetic corpus,” in Speech Input/Output Assessment and Speech Databases, 1989.
[15] Dong Wang and Xuewei Zhang, “Thchs-30: A free chinese speech corpus,” arXiv preprint arXiv:1512.01882,2015.
[16] David Snyder, Guoguo Chen, and Daniel Povey, “Musan: A music, speech, and noise corpus,” arXiv preprint arXiv:1510.08484, 2015.
[17] Sarmad Malik and Gerald Enzner, “State-space frequency-domain adaptive filtering for nonlinear acoustic echo cancellation,” IEEE Transactions on audio, speech, and language processing, vol. 20, no. 7, pp. 2065–2079, 2012.
[18] Jont B Allen and David A Berkley, “Image method for efficiently simulating small-room acoustics,” The Journal of the Acoustical Society of America, vol. 65, no. 4, pp. 943–950, 1979.
[19] M. Jeub, M. Schafer, and P. Vary, “A binaural room impulse response database for the evaluation of dereverberation algorithms,” in 16th International Conference on Digital Signal Processing, 2009, pp. 1–5.
[20] Igor Szoke, Miroslav Sk ¨ acel, Ladislav Mo ´ sner, Jakub ˇ Paliesek, and Jan Honza Cernock ˇ y, “Building and eval- ` uation of a real room impulse response dataset,” IEEE Journal of Selected Topics in Signal Processing, vol. 13, no. 4, pp. 863–876, 2019.
[21] Jimi YC Wen, Nikolay D. Gaubitch, Emanuel AP Habets, Tony Myatt, and Patrick A. Naylor, “Evaluation of speech dereverberation algorithms using the MARDY database,” in In Proc. Intl. Workshop Acoust. Echo Noise Control. 2006, Citeseer.
[22] Antony W Rix, John G Beerends, Michael P Hollier, and Andries P Hekstra, “Perceptual evaluation of speech quality (pesq)-a new method for speech quality assessment of telephone networks and codecs,” in ICASSP. IEEE, 2001, vol. 2, pp. 749–752.
[23] Cees H Taal, Richard C Hendriks, Richard Heusdens, and Jesper Jensen, “An algorithm for intelligibility prediction of time–frequency weighted noisy speech,” IEEE Transactions on Audio, Speech, and Language Processing, vol. 19, no. 7, pp. 2125–2136, 2011.