亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于深度學習的嵌入式離線語音識別系統(tǒng)設計

        2019-04-24 08:15:50許業(yè)寬
        關鍵詞:離線聲學嵌入式

        許業(yè)寬,黃 魯

        (中國科學技術大學 微電子學院,安徽 合肥 230027)

        0 引言

        語音識別技術在過去的數(shù)十年中得到了長足的發(fā)展?,F(xiàn)今大多數(shù)語音識別都是基于在線云平臺[1]和計算機,而應用在嵌入式終端上的離線語音識別技術尚不完善,無法滿足移動機器人、聲控機械等各類嵌入式終端在離線情況下對語音識別功能的需求。

        目前在嵌入式移動平臺上實現(xiàn)離線語音識別的方法大致分為三大類:一是利用專用語音識別芯片,一是使用傳統(tǒng)的語音識別算法,一是移植訊飛、百度等大公司的語音庫。文獻[2]采用語音識別芯片內(nèi)集成語音識別算法,雖然使用時方便快捷,但是具有硬件成本高、識別詞簡單固定等不足。傳統(tǒng)的語音識別算法包括文獻[3][4]采用的基于動態(tài)時間規(guī)整(Dynamic Time Warping,DTW)的算法和文獻[5][6][7]采用的基于隱馬爾科夫模型(Hidden Markov Model,HMM)的算法等。DTW算法雖然在特定人、少量孤立詞識別方面具有較好的效果,但是無法適用非特定人、大量詞的識別;基于HMM的算法,則存在識別時間長、識別率偏低的不足。若要移植大公司的離線語音庫,則需要大量的存儲空間,不適用于存儲量有限的嵌入式平臺,同時,還需要支付不菲的庫使用費,大大增加了軟件成本。

        本文通過研究設計一種基于深度學習的嵌入式離線語音識別系統(tǒng),在節(jié)省語音識別芯片帶來的硬件成本和離線庫帶來的軟件成本的同時,還解決了傳統(tǒng)算法存在的只能適用于特定人、識別延遲高、識別率偏低等不足,為嵌入式離線語音識別提供了一種新的方案。

        1 系統(tǒng)總體架構

        如圖1所示,系統(tǒng)主要由麥克風、音頻編解碼芯片、嵌入式處理器、PC四部分組成。麥克風采用的是型號為MP34DT01TR的MEMS數(shù)字麥克風,實現(xiàn)語音信號的錄入采集,輸出PDM格式的數(shù)字音頻信號;音頻編解碼芯片采用的是型號為WM8994ECS的超低功耗保真編解碼芯片,用以接收麥克風輸出的數(shù)字音頻信號,并將信號編碼處理后輸出至嵌入式處理器;嵌入式處理器采用的是型號為STM32F746NGH6的嵌入式MCU,通過芯片的SAI接口與音頻解碼芯片連接,對輸入的音頻數(shù)據(jù)進行處理識別,并將識別結果輸出至串口;由于嵌入式平臺有限的資源難以滿足基于深度學習的聲學模型訓練的需求,因而利用PC實現(xiàn)聲學模型的訓練。

        圖1 系統(tǒng)總體架構

        2 聲學模型訓練與移植

        2.1 DS-CNN神經(jīng)網(wǎng)絡

        文獻[8][9]提出的DS-CNN神經(jīng)網(wǎng)絡作為標準三維卷積的有效替代方案,已經(jīng)被用于在計算機視覺領域實現(xiàn)緊湊的網(wǎng)絡架構。DS-CNN的核心就是將原本標準的卷積操作因式分解成一個depthwise convolution和pointwise convolution(即一個1×1的卷積操作)。簡單講就是將原來一個卷積層分成兩個卷積層,其中前面一個卷積層的每個卷積核都只與輸入的每個通道進行卷積,后面一個卷積層則負責連接,即將上一層卷積的結果進行合并。

        若以M表示輸入特征的通道數(shù),N表示輸出特征的通道數(shù)(也是本層的卷積核個數(shù))。假設卷積核大小是DK×DK×M×N,輸出是DF×DF×N,那么標準卷積的計算量是DK×DK×M×N×DF×DF。去掉M×N,就變成一個二維卷積核去卷積一個二維輸入feature map;如果輸出feature map的尺寸是DF×DF,由于輸出feature map的每個點都是由卷積操作生成的,而每卷積一次就會有DK×DK個計算量,因此一個二維卷積核去卷積一個二維輸入feature map就有DF×DF×DK×DK個計算量;如果有M個輸入feature map和N個卷積核,就會有DF×DF×DK×DK×M×N個計算量。

        DS-CNN則是將上述過程分為兩步。第一步用M個維度為DK×DK×1的卷積核去卷積對應輸入的M個feature map,然后得到M個結果,而且這M個結果相互之間不累加。因此計算量是DF×DF×DK×DK×M,生成的結果是DF×DF×M。然后用N個維度為1×1×M的卷積核卷積第一步的結果,即輸入是DF×DF×M,最終得到DF×DF×N的feature map,計算量是DF×DF×1×1×M×N。即DS-CNN計算量為DF×DF×DK×DK×M+DF×DF×M×N。計算量與標準卷積計算量之比為:

        以3×3的卷積核為例,卷積操作時間降到標準卷積的1/9。

        可以看出,相較于標準的卷積神經(jīng)網(wǎng)絡,DS-CNN大大減少了運算量,這使得在資源有限的微控制器上可以實現(xiàn)更深和更寬的結構。將DS-CNN神經(jīng)網(wǎng)絡應用于語音識別的流程圖如圖2。

        圖2 DS-CNN用于語音識別的流程圖

        使用平均池,然后使用全連接層,提供全局交互,并減少最終層中的參數(shù)總數(shù)。

        2.2 聲學模型訓練

        聲學模型訓練采用Google speech commands dataset作為訓練集,在Tensorflow框架中使用標準的交叉熵損失和adam優(yōu)化器進行訓練,批量大小為100,模型以20 000次迭代,初始學習率為5×10-4,并在第一個10 000 次迭代后減少到10-4。訓練數(shù)據(jù)增加了背景噪音和高達100 ms的隨機時移,以模擬復雜的背景環(huán)境,提高系統(tǒng)的魯棒性。

        2.3 聲學模型移植

        利用ARM開發(fā)的深度學習庫arm_nn建立DS-CNN神經(jīng)網(wǎng)絡框架,將聲學模型訓練得到的各項模型參數(shù)輸入至該框架中相應的位置。在后續(xù)新建嵌入式工程時移植已輸入聲學模型參數(shù)的DS-CNN神經(jīng)網(wǎng)絡,即可完成聲學模型的移植。

        3 離線語音識別

        3.1 開發(fā)環(huán)境配置及工程建立

        按照常規(guī)方法,在Linux系統(tǒng)下利用ARM開發(fā)的Mbed平臺開發(fā)本系統(tǒng)的嵌入式程序。首先安裝Mbed,然后在Mbed平臺下編譯代碼。實際操作時,發(fā)現(xiàn)兩個問題:(1)Mbed部分指令不可用;(2)使用Mbed無法在線調(diào)試以便于定位程序中的BUG。因此,本文提出了另一種解決方法,即采用Windows 10環(huán)境下的Keil 5.12開發(fā)本系統(tǒng)的嵌入式程序。方法如下:

        在Keil中新建工程μVision Project,在“Options for Target→Device”中選擇芯片型號STM32F746NGHx;“Options for Target→C/C++”中的“Define”選項卡添加“STM32F7xx,USE_HAL_DRIVER,ARM_MATH_CM7,_CC_ARM,__FPU_PRESENT,_FPU_USED=1”,以使之支持stm327xx_hal庫和浮點運算。然后再移植工程組件stm32fxx_hal庫和cmsis庫,Arm開發(fā)的適用于深度學習的arm_nn庫,以及用于硬件浮點運算的DSP庫。經(jīng)測試,該方法可以順利新建工程,并實現(xiàn)程序的正常編譯和在線調(diào)試。

        此外,在開發(fā)過程中,發(fā)現(xiàn)程序編譯時間過長,完整編譯一次程序竟需10 min左右,嚴重延緩了程序編譯和調(diào)試速度。研究發(fā)現(xiàn),該問題是由移植的庫中冗余的文件引起的。因此,對移植的庫做出以下調(diào)整:

        (1)對于stm327xx_hal庫,注釋掉stm32f7xx_hal_conf.h文件中本系統(tǒng)未用到的外設的define項,使程序編譯時略過相應的外設庫文件,僅使能DMA、FLASH、SDRAM、GPIO、RCC、SAI、UART等外設,如圖3所示。

        圖3 stm32_f7xx_hal庫使能外設

        (2)對于龐大的arm_nn庫,僅保留建立DS-CNN神經(jīng)網(wǎng)絡時會用到的文件,如圖4所示。將其他文件從工程項目文件中移除。

        圖4 DSP庫保留文件

        經(jīng)過上述調(diào)整,程序編譯時間從10 min左右降為2 min左右,大大縮短了程序開發(fā)時間。

        3.2 音頻預處理

        為便于后續(xù)的信號處理,需要對輸入的音頻信號進行分幀、加窗等預處理操作。采樣點數(shù)設置為16 000,分幀時設置幀長為40 ms,幀移為20 ms。為了消除分幀造成的每幀音頻數(shù)據(jù)首尾的重疊現(xiàn)象,選用Hamming窗來對每幀音頻數(shù)據(jù)進行加窗操作。

        3.3 MFCC特征提取

        對音頻數(shù)據(jù)進行分幀、加窗等預處理操作后,需要對每幀音頻數(shù)據(jù)進行MFCC特征提取。具體步驟如下:

        (1)對每幀音頻數(shù)據(jù),通過快速傅里葉變換(Fast Fourier Transform,FFT)得到對應的頻譜。設置FFT運算點數(shù)為2 048,通過FFT運算得到每幀數(shù)據(jù)的實部和虛部,并以實部和虛部的平方和作為能量譜,獲得分布在時間軸上不同時間窗內(nèi)的頻譜;

        (2)創(chuàng)建Mel三角濾波器組,對每幀音頻數(shù)據(jù)進行Mel頻率轉換。設置Mel三角濾波器組數(shù)為40,通過Mel濾波器組將線性自然頻譜轉換為能體現(xiàn)人類聽覺特性的Mel頻譜;

        (3)在Mel頻譜上進行倒譜分析。對得到的Mel頻譜進行取對數(shù)操作,并通過離散余弦變換(Discrete Cosine Transform,DCT)來實現(xiàn)Mel逆變換。取Mel逆變換后得到的第2~13個系數(shù)作為這幀語音的特征。

        整體的特征提取流程如圖5所示。

        圖5 MFCC特征提取流程圖

        3.4 分類識別

        將提取的MFCC特征輸入到聲學模型中,利用arm_nn庫中的run_nn函數(shù)和arm_softmax_q7函數(shù)完成音頻特征的分類過程。利用滑動窗口對分類結果進行平均運算,以得到平滑的分類結果。根據(jù)分類結果即可得到最終的識別結果。

        4 測試過程和結果

        將程序通過ST-Link下載到主頻為216 MHz的STM32F746NGH6微處理器中,并開啟在線調(diào)試模式。程序運行開始,初始化系統(tǒng),并開啟SAI外設和DMA通道,實時監(jiān)聽麥克風端的語音輸入。用USB接口連接嵌入式平臺與PC端串口接收程序,將識別結果輸出到PC端。測試時,在麥克風端說出含有訓練集中詞語的語句,即可在PC端串口接收程序的接收窗口內(nèi)看到相應的語音識別輸出,如圖6所示。

        圖6 語音識別結果串口打印

        選取訓練集中的50個詞,對選出的每個詞,分別在安靜環(huán)境和噪聲環(huán)境下進行20次測試,計算平均識別時間和平均識別率。為了方便比較,在同樣的硬件平臺上,使用相同的訓練集和測試樣本,應用傳統(tǒng)的基于HMM的方法來進行語音識別。

        最終得出的測試結果如表1所示。

        表1 語音識別測試結果

        綜上所述,與基于DTW算法的嵌入式語音識別系統(tǒng)相比,本文所述方法可以突破特定人的限制,應用在非特定人的語音識別上,大大擴展了語音識別的應用范圍;而與基于HMM算法的嵌入式語音識別系統(tǒng)相比,本文所述方法不但在識別時間上有所減少,在識別率上也有明顯提高。

        5 結束語

        本文基于深度學習和DS-CNN神經(jīng)網(wǎng)絡,在嵌入式平臺上設計實現(xiàn)了離線語音識別系統(tǒng)。與現(xiàn)有的基于傳統(tǒng)算法的嵌入式離線語音識別系統(tǒng)相比,提高了識別率,減短了識別延遲;與基于專用語音識別芯片或離線語音庫的嵌入式離線語音識別系統(tǒng)相比,則節(jié)約了硬件或軟件成本。測試結果表明,系統(tǒng)能較好地實現(xiàn)嵌入式離線語音識別功能,在節(jié)約軟硬件成本的同時,減少了識別時間,提高了識別率,是一種有效的嵌入式離線語音識別方案。

        猜你喜歡
        離線聲學嵌入式
        異步電機離線參數(shù)辨識方法
        防爆電機(2021年4期)2021-07-28 07:42:46
        呼吸閥離線檢驗工藝與評定探討
        淺談ATC離線基礎數(shù)據(jù)的準備
        愛的就是這股Hi-Fi味 Davis Acoustics(戴維斯聲學)Balthus 70
        Acoustical Treatment Primer:Diffusion談談聲學處理中的“擴散”
        Acoustical Treatment Primer:Absorption談談聲學處理中的“吸聲”(二)
        Acoustical Treatment Primer:Absorption 談談聲學處理中的“吸聲”
        離線富集-HPLC法同時測定氨咖黃敏膠囊中5種合成色素
        中成藥(2018年2期)2018-05-09 07:20:09
        搭建基于Qt的嵌入式開發(fā)平臺
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應用
        青青草国产在线视频自拍| 99久久夜色精品国产网站| 高清国产一级毛片国语| 国产亚洲日韩AV在线播放不卡| 女女同性av一区二区三区| 日本成人精品在线播放| 99久久精品免费看国产| 人妻少妇精品无码专区二区| 欧洲熟妇乱xxxxx大屁股7| 日韩AV无码乱伦丝袜一区| 白色白色视频在线观看| 男人的天堂一区二av| 高清偷自拍亚洲精品三区| 亚洲欧洲无码一区二区三区| 99国产精品无码专区| 亚洲精品中文字幕乱码三区99| 亚洲最大中文字幕在线| 九九久久99综合一区二区| 久久精品国内一区二区三区| 久久se精品一区二区国产| 白白色发布视频在线播放 | 久久精品人妻少妇一二三区| 久久久国产打桩机| 亚洲免费人成在线视频观看 | 欧美精品videossex少妇| 少妇无码av无码去区钱| 日韩av中文字幕亚洲天| 亚洲精品在线免费视频| 国内精品久久久久久久97牛牛| 亚洲av无码不卡| www.av在线.com| 中文字幕人妻互换激情| 国产香港明星裸体xxxx视频| 亚洲av日韩综合一区在线观看 | 国产美女一区三区在线观看| 青青手机在线观看视频| av无码人妻中文字幕| 中文字幕Aⅴ人妻一区二区苍井空 亚洲中文字幕久久精品蜜桃 | 99久久国语露脸国产精品| 精品亚洲一区二区三洲 | 国产成+人+综合+亚洲欧美丁香花|