介紹
在這個項目中,我構建了一個支持語音的可教學機器,它可以掃描書頁或任何文本源中的文本并將其轉換為上下文,用戶可以提出與該上下文相關的問題,機器可以僅使用上下文進行回答。我一直想制造這種易于部署的邊緣設備,并且可以在不需要任何互聯網連接的情況下輕松地針對給定的上下文進行訓練。
如何工作
Raspberry Pi 4 連接到 ReSpeaker 2-mics PI HAT,用于使用板載麥克風接收語音。Raspberry Pi 攝像頭模塊使用 CSI2 連接器連接到 Raspberry Pi 4,該連接器用于掃描書中的文本。ReSpeaker 2-mics PI HAT 上有一個按鈕,用于觸發掃描過程的開始。按下按鈕后,用戶必須在 5 秒內立即向相機顯示文本(書頁或帶有一些有意義的英文文本的論文,例如故事段落或維基百科條目)。
使用 Tesseract OCR 應用程序捕獲書頁圖像并將其轉換為文本。捕獲的文本用作 BERT 模型的上下文,用于回答問題。機器要求用戶提問。用戶提出問題并使用 DeepSpeech 應用程序將問題語音轉換為文本。轉換后的問題文本被輸入到在英特爾神經計算棒 2 上運行的 BERT 模型中,該模型通過置信度分數推斷出答案。使用 Festival 應用程序將最佳答案文本轉換為語音,該應用程序在連接到 Raspberry Pi 4 音頻輸出(3.5 毫米插孔)的揚聲器上播放。請參閱連接圖的原理圖部分并查看下面的流程圖以更好地了解應用流程。
使用 Festival 應用程序將最佳答案文本轉換為語音,該應用程序在連接到 Raspberry Pi 4 音頻輸出(3.5 毫米插孔)的揚聲器上播放。請參閱連接圖的原理圖部分并查看下面的流程圖以更好地了解應用流程。使用 Festival 應用程序將最佳答案文本轉換為語音,該應用程序在連接到 Raspberry Pi 4 音頻輸出(3.5 毫米插孔)的揚聲器上播放。請參閱連接圖的原理圖部分并查看下面的流程圖以更好地了解應用流程。
流程圖
應用程序中使用的機器學習模型
使用了三種機器學習模型:
1. Tesseract OCR(基于 LSTM 的模型)
Tesseract 是一個 OCR 引擎,支持 unicode 并且能夠開箱即用地識別 100 多種語言。它可以被訓練來識別其他語言。
2. DeepSpeech(TensorFlow Lite 模型)
DeepSpeech 是一個開源的 Speech-To-Text 引擎,使用由機器學習技術訓練的模型,谷歌的 TensorFlow 使實現更容易。
3.BERT
BERT 是一種語言表示模型,代表 Transformers 的雙向編碼器表示。預訓練的 BERT 模型只需一個額外的輸出層就可以進行微調,從而為各種任務(例如問答和語言推理)創建最先進的模型,而無需對特定于任務的架構進行大量修改。
前 2 個模型在 Raspberry Pi 4 上運行,最后一個模型在英特爾神經計算棒 2 上使用 OpenVINO 工具包運行。
安裝說明
請按照下面給出的分步說明下載并安裝應用程序的所有先決條件。假設已經安裝了 Raspberry PI OS(以前稱為 Raspbian),并且使用 raspi-config 實用程序啟用了 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
設置 USB 規則
$ sudo usermod -a -G users “$(whoami)”
現在注銷并重新登錄。
初始化 OpenVINO 環境
$ source /opt/intel/openvino/bin/setupvars.sh
為英特爾神經計算棒 2 安裝 USB 規則
$ sh /opt/intel/openvino/install_dependencies/install_NCS_udev_rules.sh
插入英特爾神經計算棒 2
Festival(語音合成系統框架)配置
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 安裝驅動程序
$ cd ~
$ git clone https://github.com/HinTak/seeed-voicecard
$ cd seeed-voicecard
$ sudo 。/install.sh
$ sudo reboot
下載應用程序存儲庫
$ 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
運行應用程序
$ cd ~/TeachableMachine
$ pip3 install -r requirements.txt
$ python3 main.py
-
點讀機
+關注
關注
1文章
2瀏覽量
5979
發布評論請先 登錄
相關推薦
評論