999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于深度學(xué)習(xí)的嵌入式離線語(yǔ)音識(shí)別系統(tǒng)設(shè)計(jì)

2019-04-24 08:15:50許業(yè)寬
關(guān)鍵詞:嵌入式模型

許業(yè)寬,黃 魯

(中國(guó)科學(xué)技術(shù)大學(xué) 微電子學(xué)院,安徽 合肥 230027)

0 引言

語(yǔ)音識(shí)別技術(shù)在過(guò)去的數(shù)十年中得到了長(zhǎng)足的發(fā)展。現(xiàn)今大多數(shù)語(yǔ)音識(shí)別都是基于在線云平臺(tái)[1]和計(jì)算機(jī),而應(yīng)用在嵌入式終端上的離線語(yǔ)音識(shí)別技術(shù)尚不完善,無(wú)法滿足移動(dòng)機(jī)器人、聲控機(jī)械等各類(lèi)嵌入式終端在離線情況下對(duì)語(yǔ)音識(shí)別功能的需求。

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

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

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

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

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

2 聲學(xué)模型訓(xùn)練與移植

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

文獻(xiàn)[8][9]提出的DS-CNN神經(jīng)網(wǎng)絡(luò)作為標(biāo)準(zhǔn)三維卷積的有效替代方案,已經(jīng)被用于在計(jì)算機(jī)視覺(jué)領(lǐng)域?qū)崿F(xiàn)緊湊的網(wǎng)絡(luò)架構(gòu)。DS-CNN的核心就是將原本標(biāo)準(zhǔn)的卷積操作因式分解成一個(gè)depthwise convolution和pointwise convolution(即一個(gè)1×1的卷積操作)。簡(jiǎn)單講就是將原來(lái)一個(gè)卷積層分成兩個(gè)卷積層,其中前面一個(gè)卷積層的每個(gè)卷積核都只與輸入的每個(gè)通道進(jìn)行卷積,后面一個(gè)卷積層則負(fù)責(zé)連接,即將上一層卷積的結(jié)果進(jìn)行合并。

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

DS-CNN則是將上述過(guò)程分為兩步。第一步用M個(gè)維度為DK×DK×1的卷積核去卷積對(duì)應(yīng)輸入的M個(gè)feature map,然后得到M個(gè)結(jié)果,而且這M個(gè)結(jié)果相互之間不累加。因此計(jì)算量是DF×DF×DK×DK×M,生成的結(jié)果是DF×DF×M。然后用N個(gè)維度為1×1×M的卷積核卷積第一步的結(jié)果,即輸入是DF×DF×M,最終得到DF×DF×N的feature map,計(jì)算量是DF×DF×1×1×M×N。即DS-CNN計(jì)算量為DF×DF×DK×DK×M+DF×DF×M×N。計(jì)算量與標(biāo)準(zhǔn)卷積計(jì)算量之比為:

以3×3的卷積核為例,卷積操作時(shí)間降到標(biāo)準(zhǔn)卷積的1/9。

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

圖2 DS-CNN用于語(yǔ)音識(shí)別的流程圖

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

2.2 聲學(xué)模型訓(xùn)練

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

2.3 聲學(xué)模型移植

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

3 離線語(yǔ)音識(shí)別

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

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

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

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

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

圖3 stm32_f7xx_hal庫(kù)使能外設(shè)

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

圖4 DSP庫(kù)保留文件

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

3.2 音頻預(yù)處理

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

3.3 MFCC特征提取

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

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

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

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

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

圖5 MFCC特征提取流程圖

3.4 分類(lèi)識(shí)別

將提取的MFCC特征輸入到聲學(xué)模型中,利用arm_nn庫(kù)中的run_nn函數(shù)和arm_softmax_q7函數(shù)完成音頻特征的分類(lèi)過(guò)程。利用滑動(dòng)窗口對(duì)分類(lèi)結(jié)果進(jìn)行平均運(yùn)算,以得到平滑的分類(lèi)結(jié)果。根據(jù)分類(lèi)結(jié)果即可得到最終的識(shí)別結(jié)果。

4 測(cè)試過(guò)程和結(jié)果

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

圖6 語(yǔ)音識(shí)別結(jié)果串口打印

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

最終得出的測(cè)試結(jié)果如表1所示。

表1 語(yǔ)音識(shí)別測(cè)試結(jié)果

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

5 結(jié)束語(yǔ)

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

猜你喜歡
嵌入式模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
電子制作(2019年7期)2019-04-25 13:17:14
嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
電子制作(2018年18期)2018-11-14 01:48:16
搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
3D打印中的模型分割與打包
FLUKA幾何模型到CAD幾何模型轉(zhuǎn)換方法初步研究
Altera加入嵌入式視覺(jué)聯(lián)盟
主站蜘蛛池模板: 亚洲一级毛片免费观看| 欧美成人a∨视频免费观看| 亚洲第一视频网| 中文字幕在线欧美| www.日韩三级| 亚洲国产综合自在线另类| 亚洲日韩在线满18点击进入| 免费毛片全部不收费的| 亚洲国产综合精品一区| 免费A∨中文乱码专区| 日韩精品亚洲精品第一页| 亚洲精品制服丝袜二区| 999精品视频在线| 亚洲天堂视频在线观看免费| 亚洲综合婷婷激情| 国产国拍精品视频免费看| 大陆精大陆国产国语精品1024| 午夜日本永久乱码免费播放片| 亚洲人成在线免费观看| 制服丝袜一区二区三区在线| 国产综合另类小说色区色噜噜 | 精品无码专区亚洲| 欧美激情视频二区| 69综合网| 国内精品伊人久久久久7777人| 狠狠综合久久| 中文字幕亚洲另类天堂| 国内精品久久人妻无码大片高| 福利小视频在线播放| 亚洲综合色吧| 香蕉精品在线| 无码高潮喷水专区久久| 亚洲第一黄色网址| 激情五月婷婷综合网| 欧美在线中文字幕| 亚洲第一视频网站| 亚洲乱亚洲乱妇24p| 91破解版在线亚洲| 国产精品网址你懂的| 免费观看无遮挡www的小视频| 精品精品国产高清A毛片| 精品久久蜜桃| 成年人国产视频| 99精品福利视频| 91在线精品免费免费播放| 色哟哟国产精品一区二区| 国产午夜精品一区二区三| 亚洲中文字幕精品| 美美女高清毛片视频免费观看| 97综合久久| 噜噜噜久久| 国产男女免费视频| 亚洲一区二区三区麻豆| 亚洲中久无码永久在线观看软件 | 日本精品影院| 精品久久人人爽人人玩人人妻| 美女裸体18禁网站| 欧洲成人免费视频| 伊人久久精品无码麻豆精品 | 国产高清在线精品一区二区三区| 91精品日韩人妻无码久久| 午夜欧美在线| 91精品aⅴ无码中文字字幕蜜桃 | 国产亚洲精品97AA片在线播放| 国产美女在线观看| 国产在线视频二区| 久久精品国产999大香线焦| 无码又爽又刺激的高潮视频| 亚洲综合二区| 亚洲欧美成人网| 日韩欧美国产中文| 人妖无码第一页| 亚洲综合九九| 91麻豆精品国产91久久久久| 国产精品主播| a级毛片毛片免费观看久潮| 午夜限制老子影院888| 日本欧美在线观看| 高清欧美性猛交XXXX黑人猛交| 91久草视频| 欧洲av毛片| 久久亚洲国产最新网站|