電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>開源硬件邊緣語(yǔ)音識(shí)別

開源硬件邊緣語(yǔ)音識(shí)別

2022-11-14 | zip | 2.23 MB | 次下載 | 2積分

資料介紹

描述

介紹

在這個(gè)項(xiàng)目中,我圍繞一個(gè)訓(xùn)練識(shí)別單詞left 、right 、updown的模型構(gòu)建了一個(gè)應(yīng)用程序。它所做的只是捕獲和處理音頻,將其輸入 TensorFlow Lite 模型,然后在 OLED 顯示器上顯示輸出。我將介紹如何使用 i.MXR1010 評(píng)估套件在邊緣設(shè)置和進(jìn)行機(jī)器學(xué)習(xí)

設(shè)置開發(fā)環(huán)境

任何機(jī)器學(xué)習(xí)和嵌入式電子項(xiàng)目都需要許多硬件和軟件才能使用。我正在使用 MacOS 進(jìn)行開發(fā)。由于 Nvidia GPU 不支持 MacOS,所以我使用 Linux 桌面進(jìn)行訓(xùn)練和模型生成。

安裝 MCUExpresso IDE

pYYBAGNxItyATBR7AALZttDAMmc167.png
?

下載 SDK 后,我們需要將下載的包拖放到 MCUExpresso IDE Installed SDKs區(qū)域,如下所示(紅色框)。

poYBAGNxIt6AQqU3AABiG-SFqk0202.jpg
?

我們可以從 Quickstart Panel > New Project 創(chuàng)建一個(gè)新項(xiàng)目,它會(huì)顯示一個(gè)向?qū)?,我們可以在其中選擇 IMXRT1010 作為開發(fā)板。我們可以使用此向?qū)渲盟璧尿?qū)動(dòng)程序/組件,如下所示。添加/刪除驅(qū)動(dòng)程序和其他組件可以在此期間完成。發(fā)展。由于我們將使用 TensorFlow C++ 庫(kù),所以我選擇了C++ Project

pYYBAGNxIuGALxF_AAJdZJzFir4573.png
?

微控制器安裝 TensorFlow Lite

用于微控制器的 TensorFlow Lite 能夠生成包含所有必要源文件的獨(dú)立項(xiàng)目。我的 MCUXpresso IDE 工作區(qū)位于 ~/Documents/MCUXpressoIDE_11.1.0/workspace/。您可能需要根據(jù)您的目錄結(jié)構(gòu)更改路徑。我們還需要制作3.82 或更高版本。MacOS Catalina 上捆綁的make版本為 3.81。我們可以使用安裝所需的版本

brew install make

并且可以使用gmake命令運(yùn)行它。

cd ~

git clone https://github.com/tensorflow/tensorflow.git

cd tensorflow

gmake -f tensorflow/lite/micro/tools/make/Makefile generate_projects

cp -r tensorflow/lite/micro/tools/make/gen/osx_x86_64/prj/micro_speech/make/* ~/Documents/MCUXpressoIDE_11.1.0/workspace/IMXRT1010_Speech_Recognition/source

復(fù)制后,我們將擁有 TensorFlow C++ 庫(kù)以及其他一些用于音頻處理的第三方庫(kù)。我們需要使用Quickstart Panel > Edit Project Settings > C/C++ build > Settings > MCU C++ Compiler > Includes為不屬于 SDK 的庫(kù)(在下面的屏幕截圖中突出顯示)設(shè)置包含路徑。

poYBAGNxIuWAcV25AANNE6xedKE420.png
?

應(yīng)用程序?qū)⒉东@的音頻數(shù)據(jù)保存在運(yùn)行時(shí)創(chuàng)建的緩沖區(qū)中,因此我們需要將默認(rèn)堆大?。▋H 2KB)調(diào)整為 14 KB。此外,一些緩沖區(qū)數(shù)據(jù)需要是不可緩存的。我們可以利用 i.MXRT1010 的FlexRAM功能。堆棧/堆大小和不可緩存數(shù)據(jù)可以使用Quickstart Panel > Edit Project Settings > C/C++ build > Settings > MCU C++ Linker > Managed Linker Script進(jìn)行配置

poYBAGNxIuiACz0OAAK7qVqwE_Y206.png
?

i.MXRT1010 具有有限的 128 KB 內(nèi)存,分為 32 KB 庫(kù)。由于內(nèi)存溢出,編譯失敗。

section `.heap' will not fit in region `SRAM_DTC'
arm-none-eabi/bin/ld: region `SRAM_DTC' overflowed by 15920 bytes

Memory region  Used Size Region Size %age Used
BOARD_FLASH:   215432 B  16 MB       1.28%
SRAM_DTC:      48688 B   32 KB       148.58%
SRAM_ITC:      0 GB      32 KB       0.00%
SRAM_OC:       0 GB      32 KB       0.00%
NCACHE_REGION: 4748 B    32 KB       14.49%

多虧了FlexRAM ,我們可以使用下面的代碼配置變量聲明以選擇內(nèi)存庫(kù)。__DATA(RAM3)用于告訴編譯器將大約 16 KB 的變量g_audio_capture_buffer保存到 FlexRAM 的 OCRAM 部分 (SRAM_OC) 中。

__DATA(RAM3) int16_t g_audio_capture_buffer[kAudioCaptureBufferSize];

編譯后,我們可以在下面看到內(nèi)存分配的編譯器輸出。

Memory region  Used Size Region Size %age Used
BOARD_FLASH:   231432 B   16 MB      1.38%
SRAM_DTC:      32688 B    32 KB      99.76%
SRAM_ITC:      0 GB       32 KB      0.00%
SRAM_OC:       16000 B    32 KB      48.83%
NCACHE_REGION: 4748 B     32 KB      14.49%

訓(xùn)練數(shù)據(jù)集和模型生成

我們使用的模型是使用 TensorFlow Simple Audio Recognition 腳本訓(xùn)練的,這是一個(gè)示例腳本,旨在演示如何使用 TensorFlow 構(gòu)建和訓(xùn)練音頻識(shí)別模型。該模型在帶有 eGPU(Nvidia 1080 Ti)的 Linux 桌面上進(jìn)行了訓(xùn)練,其中包含“上”、“下”、“左”、“右”四個(gè)詞。數(shù)據(jù)集中的其他詞被用作“未知”。將創(chuàng)建的模型轉(zhuǎn)換為 TensorFlow Lite 模型,并將轉(zhuǎn)換后的模型轉(zhuǎn)換為 C 數(shù)組文件,以便與推理代碼一起部署。TensorFlow Lite Micro SDK 用于在設(shè)備上運(yùn)行推理。卷積神經(jīng)網(wǎng)絡(luò)用于模型創(chuàng)建。

設(shè)備端推理

使用帶有增強(qiáng)型直接內(nèi)存訪問(wèn) (eDMA) 控制器的同步音頻接口 (SAI) 捕獲音頻。該過(guò)程首先為給定的時(shí)間片生成快速傅立葉變換 (FFT),在本例中為 30 ms 的捕獲音頻數(shù)據(jù)。TensorFlow Lite 模型不接收原始音頻樣本數(shù)據(jù)。相反,它適用于頻譜圖,頻譜圖是由頻率信息切片組成的二維數(shù)組,每個(gè)切片取自不同的時(shí)間窗口。我們可以將頻譜圖視為輸入模型進(jìn)行推理的圖像數(shù)據(jù)。OLED 顯示器通過(guò) I2C 連接到 i.MXRT1010 EVK。The預(yù)測(cè)的單詞顯示在 OLED 顯示屏上。

構(gòu)建和調(diào)試

可以分別使用 MCUExpresso IDE Quickstart Panel > BuildQuickstart Panel > Debug來(lái)構(gòu)建和調(diào)試項(xiàng)目。使用菜單ConfigTools > PinsUART 引腳配置為在調(diào)試期間重定向打印。

pYYBAGNxIuyAJFTsAAPBJupBAE0277.png
?

在 MacOS 上可以使用以下命令查看調(diào)試打?。?/font>

screen /dev/cu.usbmodem14202 115200

板載 LED 也配置為在推理時(shí)閃爍。

演示視頻

現(xiàn)場(chǎng)演示如下。它并不完美,但有效。

?

改進(jìn)范圍

如果使用 8 位量化模型,可以提高推理率。目前,TensorFlow Lite Micro SDK 中缺少一些操作,這些操作不允許將 Conv 2D 轉(zhuǎn)換為量化版本。目前,由于音頻數(shù)據(jù)中的口音或噪音,有時(shí)會(huì)漏掉一些單詞。如果使用遷移學(xué)習(xí)使用更多自己的語(yǔ)音數(shù)據(jù)進(jìn)行訓(xùn)練,則可以提高模型的準(zhǔn)確性。此外,板載麥克風(fēng)數(shù)據(jù)有一些噪音,可以使用某些設(shè)置進(jìn)行修復(fù),或者可以使用外部數(shù)字麥克風(fēng)以獲得更好的性能。

此應(yīng)用程序的 MCUExpresso 項(xiàng)目可以在代碼部分提到的 Github 存儲(chǔ)庫(kù)中找到。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)