介紹
在這個(gè)項(xiàng)目中,我構(gòu)建了一個(gè)支持語(yǔ)音的可教學(xué)機(jī)器,它可以掃描書頁(yè)或任何文本源中的文本并將其轉(zhuǎn)換為上下文,用戶可以提出與該上下文相關(guān)的問(wèn)題,機(jī)器可以僅使用上下文進(jìn)行回答。我一直想制造這種易于部署的邊緣設(shè)備,并且可以在不需要任何互聯(lián)網(wǎng)連接的情況下輕松地針對(duì)給定的上下文進(jìn)行訓(xùn)練。
如何工作
Raspberry Pi 4 連接到 ReSpeaker 2-mics PI HAT,用于使用板載麥克風(fēng)接收語(yǔ)音。Raspberry Pi 攝像頭模塊使用 CSI2 連接器連接到 Raspberry Pi 4,該連接器用于掃描書中的文本。ReSpeaker 2-mics PI HAT 上有一個(gè)按鈕,用于觸發(fā)掃描過(guò)程的開始。按下按鈕后,用戶必須在 5 秒內(nèi)立即向相機(jī)顯示文本(書頁(yè)或帶有一些有意義的英文文本的論文,例如故事段落或維基百科條目)。
使用 Tesseract OCR 應(yīng)用程序捕獲書頁(yè)圖像并將其轉(zhuǎn)換為文本。捕獲的文本用作 BERT 模型的上下文,用于回答問(wèn)題。機(jī)器要求用戶提問(wèn)。用戶提出問(wèn)題并使用 DeepSpeech 應(yīng)用程序?qū)?wèn)題語(yǔ)音轉(zhuǎn)換為文本。轉(zhuǎn)換后的問(wèn)題文本被輸入到在英特爾神經(jīng)計(jì)算棒 2 上運(yùn)行的 BERT 模型中,該模型通過(guò)置信度分?jǐn)?shù)推斷出答案。使用 Festival 應(yīng)用程序?qū)⒆罴汛鸢肝谋巨D(zhuǎn)換為語(yǔ)音,該應(yīng)用程序在連接到 Raspberry Pi 4 音頻輸出(3.5 毫米插孔)的揚(yáng)聲器上播放。請(qǐng)參閱連接圖的原理圖部分并查看下面的流程圖以更好地了解應(yīng)用流程。
使用 Festival 應(yīng)用程序?qū)⒆罴汛鸢肝谋巨D(zhuǎn)換為語(yǔ)音,該應(yīng)用程序在連接到 Raspberry Pi 4 音頻輸出(3.5 毫米插孔)的揚(yáng)聲器上播放。請(qǐng)參閱連接圖的原理圖部分并查看下面的流程圖以更好地了解應(yīng)用流程。使用 Festival 應(yīng)用程序?qū)⒆罴汛鸢肝谋巨D(zhuǎn)換為語(yǔ)音,該應(yīng)用程序在連接到 Raspberry Pi 4 音頻輸出(3.5 毫米插孔)的揚(yáng)聲器上播放。請(qǐng)參閱連接圖的原理圖部分并查看下面的流程圖以更好地了解應(yīng)用流程。
流程圖

應(yīng)用程序中使用的機(jī)器學(xué)習(xí)模型
使用了三種機(jī)器學(xué)習(xí)模型:
1. Tesseract OCR(基于 LSTM 的模型)
Tesseract 是一個(gè) OCR 引擎,支持 unicode 并且能夠開箱即用地識(shí)別 100 多種語(yǔ)言。它可以被訓(xùn)練來(lái)識(shí)別其他語(yǔ)言。
2. DeepSpeech(TensorFlow Lite 模型)
DeepSpeech 是一個(gè)開源的 Speech-To-Text 引擎,使用由機(jī)器學(xué)習(xí)技術(shù)訓(xùn)練的模型,谷歌的 TensorFlow 使實(shí)現(xiàn)更容易。
3.BERT
BERT 是一種語(yǔ)言表示模型,代表 Transformers 的雙向編碼器表示。預(yù)訓(xùn)練的 BERT 模型只需一個(gè)額外的輸出層就可以進(jìn)行微調(diào),從而為各種任務(wù)(例如問(wèn)答和語(yǔ)言推理)創(chuàng)建最先進(jìn)的模型,而無(wú)需對(duì)特定于任務(wù)的架構(gòu)進(jìn)行大量修改。
前 2 個(gè)模型在 Raspberry Pi 4 上運(yùn)行,最后一個(gè)模型在英特爾神經(jīng)計(jì)算棒 2 上使用 OpenVINO 工具包運(yùn)行。
安裝說(shuō)明
請(qǐng)按照下面給出的分步說(shuō)明下載并安裝應(yīng)用程序的所有先決條件。假設(shè)已經(jīng)安裝了 Raspberry PI OS(以前稱為 Raspbian),并且使用 raspi-config 實(shí)用程序啟用了 SSH、音頻、SPI、I2C 和攝像頭。
安裝適用于 Raspberry Pi OS 的 OpenVINO 工具包
$ sudo apt update
$ sudo apt install festival cmake wget python3-pip
$ mkdir -p ~/Downloads
$ cd ~/Downloads
$ wget https://download.01.org/opencv/2020/openvinotoolkit/2020.4/l_openvino_toolkit_runtime_raspbian_p_2020.4.287.tgz
$ sudo mkdir -p /opt/intel/openvino
$ sudo tar -xf l_openvino_toolkit_runtime_raspbian_p_2020.4.287.tgz --strip 1 -C /opt/intel/openvino
設(shè)置 USB 規(guī)則
$ sudo usermod -a -G users “$(whoami)”
現(xiàn)在注銷并重新登錄。
初始化 OpenVINO 環(huán)境
$ source /opt/intel/openvino/bin/setupvars.sh
為英特爾神經(jīng)計(jì)算棒 2 安裝 USB 規(guī)則
$ sh /opt/intel/openvino/install_dependencies/install_NCS_udev_rules.sh
插入英特爾神經(jīng)計(jì)算棒 2
Festival(語(yǔ)音合成系統(tǒng)框架)配置
Replace the following line in the /etc/festival.scm:
(Parameter.set ‘Audio_Command “aplay -q -c 1 -t raw -f s16 -r $SR $FILE”)
with the line below:
(Parameter.set ’Audio_Command “aplay -Dhw:0 -q -c 1 -t raw -f s16 -r $SR $FILE”)
為 Respeaker 2-mics PI HAT 安裝驅(qū)動(dòng)程序
$ cd ~
$ git clone https://github.com/HinTak/seeed-voicecard
$ cd seeed-voicecard
$ sudo 。/install.sh
$ sudo reboot
下載應(yīng)用程序存儲(chǔ)庫(kù)
$ cd ~
$ git clone https://github.com/metanav/TeachableMachine
下載 BERT 模型 OpenVINO 中間表示文件
$ cd ~/TeachableMachine
$ mkdir models
$ cd models
$ wget https://download.01.org/opencv/2020/openvinotoolkit/2020.4/open_model_zoo/models_bin/3/bert-small-uncased-whole-word-masking-squad-0001/FP16/bert-small-uncased-whole-word-masking-squad-0001.bin
$ wget https://download.01.org/opencv/2020/openvinotoolkit/2020.4/open_model_zoo/models_bin/3/bert-small-uncased-whole-word-masking-squad-0001/FP16/bert-small-uncased-whole-word-masking-squad-0001.xml
下載 DeepSpeech 模型文件
$ cd ~/TeachableMachine/models
$ wget https://github.com/mozilla/DeepSpeech/releases/download/v0.8.2/deepspeech-0.8.2-models.tflite$ wget https://github.com/mozilla/DeepSpeech/releases/download/v0.8.2/deepspeech-0.8.2-models.scorer
運(yùn)行應(yīng)用程序
$ cd ~/TeachableMachine
$ pip3 install -r requirements.txt
$ python3 main.py
-
點(diǎn)讀機(jī)
+關(guān)注
關(guān)注
1文章
2瀏覽量
6101
發(fā)布評(píng)論請(qǐng)先 登錄
Raspberry Pi 4/3B的Pico開發(fā)板
一文了解Raspberry Pi 4各項(xiàng)性能跑分
樹莓派Raspberry Pi4 B型的電路原理圖免費(fèi)下載
適用于Raspberry Pi 4的Raspberry Pi Pico開發(fā)板
使用Raspberry Pi構(gòu)建Amazon Alexa揚(yáng)聲器的方法
在Raspberry Pi4上實(shí)現(xiàn)一個(gè)面部表情識(shí)別系統(tǒng)
構(gòu)建Raspberry Pi電機(jī)驅(qū)動(dòng)器HAT的教程分享
使用Raspberry Pi構(gòu)建一個(gè)OpenCV人群計(jì)數(shù)裝置
使用Raspberry Pi構(gòu)建一個(gè)智能車庫(kù)開門器
構(gòu)建自己的Raspberry Pi ALPR停車系統(tǒng)
使用Raspberry Pi4控制直流電機(jī)
Raspberry Pi Zero便攜終端的構(gòu)建
如何將16x2 LCD與Raspberry pi4連接
如何使用Raspberry Pi4攝像頭和PIR傳感器發(fā)送電子郵件
使用Raspberry PI 4單板計(jì)算機(jī)構(gòu)建Samba NAS服務(wù)器

基于Raspberry Pi4構(gòu)建一個(gè)教學(xué)點(diǎn)讀機(jī)
評(píng)論