介紹
在這個(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瀏覽量
5974
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論