当今可用的大多数教育机器人都在小型计算机上运行,其中包括最受欢迎的raspberry pi 、Jetson和arduino 。
我们将要研究的一些附加功能是人脸识别和对话式人工智能。
在 Raspberry Pi Model 3、4 上安装 Virtualenvwrapper
在我们在树莓派上开始任何 AI/ML 项目之前,我们必须先设置环境。
最好的做法是始终创建虚拟环境,这样我们的基础环境就不会受到影响,仅将其用于管理目的。
另一个原因是避免不同应用程序之间的冲突。应用程序使用同一模块的不同版本是很常见的,因此为了避免这些冲突,我们使用不同的环境。
我们将使用 virtualenvwrapper:
我们将调用环境 1 – facrec (人脸识别的缩写)
和
环境 2 – cbot (聊天机器人的缩写)
首先,一些初始化步骤。其中大部分只需要完成一次。您需要将该命令添加source /usr/local/bin/virtualenvwrapper.sh
到您的 shell 启动文件中,根据 pip 或包管理器的安装位置更改 virtualenvwrapper.sh 的路径。
$ pip install virtualenvwrapper
...
$ export WORKON_HOME=~/Envs
$ mkdir -p $WORKON_HOME
$ source /usr/local/bin/virtualenvwrapper.sh
$ mkvirtualenv facrec
Installing
setuptools..........................................
....................................................
....................................................
...............................done.
virtualenvwrapper.user_scripts Creating /Users/dhellmann/Envs/facrec/bin/predeactivate
virtualenvwrapper.user_scripts Creating /Users/dhellmann/Envs/facrec/bin/postdeactivate
virtualenvwrapper.user_scripts Creating /Users/dhellmann/Envs/facrec/bin/preactivate
virtualenvwrapper.user_scripts Creating /Users/dhellmann/Envs/facrec/bin/postactivate New python executable in facrec/bin/python
(facrec)$ ls $WORKON_HOME
facrec hook.log
创建另一个环境,称为 cbot
(facrec)$ ls $WORKON_HOME
facrec hook.log
(facrec)$ mkvirtualenv cbot
Installing setuptools...............................
....................................................
....................................................
........... ...............................done.
virtualenvwrapper.user_scripts Creating /Users/dhellmann/Envs/cbot/bin/predeactivate
virtualenvwrapper.user_scripts Creating /Users/dhellmann/Envs/cbot/bin/postdeactivate
virtualenvwrapper.user_scripts Creating /Users/dhellmann/Envs/cbot/bin/preactivate
virtualenvwrapper.user_scripts Creating /Users/dhellmann/Envs/cbot/bin/postactivate New python executable in cbot/bin/python
(env2)$ ls $WORKON_HOME
facrec cbot hook.log
在环境之间切换workon
:
(cbot)$ workon facrec
(facrec)$ echo $VIRTUAL_ENV
/Users/dhellmann/Envs/facrec
(facrec)$
列出所有环境:
lsvirtualenv [-b] [-l] [-h]
显示单个 virtualenv 的详细信息:
showvirtualenv [env]
在 WORKON_HOME 中删除一个环境:
rmvirtualenv ENVNAME
在删除当前环境之前,您必须使用 deactivate。
(mynewenv)$ deactivate
$ rmvirtualenv mynewenv
$ workon
$
从虚拟环境切换到系统安装的 Python 版本:
deactivate
环境位于:
cd ~/.virualenvs
现在我们可以开始在环境中安装了 :))
现在我们的虚拟环境已经设置好了,让我们继续在虚拟环境(facrec)中安装人脸识别包。
步骤1
在(facrec)环境中,安装 OpenCV。这是一个记录在案的链接:
https://www.pyimagesearch.com/2019/09/16/install-opencv-4-on-raspberry-pi-4-and-raspbian-buster/
第2步
安装dlib、face_recognition、imutils:
https://www.pyimagesearch.com/2018/06/25/raspberry-pi-face-recognition/
哎呀,这是一些工作!
现在我们的树莓派可以检测到我们的脸,我们可以让它打个招呼并开始与我们交谈!
在这篇文章中,我们将在我们的树莓派上创建一个聊天机器人,它将与我们进行对话,如下所示:
您可以使用任何麦克风。在第 4 步中,说明了上述麦克风的设置。只需编辑您可能拥有的任何其他麦克风的主要聊天机器人代码(本文的第 2 部分)。
在第 1 部分中,我们将首先设置环境。
在我们的虚拟环境 cbot(我们在之前的文章中创建)中,让我们按照以下步骤设置聊天机器人所需的必要软件包。
步骤1
我们必须安装 Tensorflow 2.x 版本但发出命令:
点安装张量流
只安装旧版本。因此,要安装最新版本,请运行以下命令:
sudo apt-get install -y libhdf5-dev libc-ares-dev libeigen3-dev
python3 -m pip install keras_applications==1.0.8 –no-deps
python3 -m pip install keras_preprocessing==1.1.0 –no-deps
python3 -m pip install h5py==2.9.0
sudo apt-get install -y openmpi-bin libopenmpi-dev
sudo apt-get install -y libatlas-base-dev
python3 -m pip install -U 六轮模拟
从https://github.com/lhelontra/tensorfl选择一个 tensorflow 版本…… (我选择了 2.0.0):
现在复制相应的链接地址:
wget 'paste_link_address_here'
python3 -m pip 卸载张量流
python3 -m pip install 'whatever_package_name'
例如:
python3 -m pip install 'tensorflow-2.0.0-cp37-none-linux_armv7l.whl'
重新启动您的终端
TensorFlow 2.3 在 cbot 环境下安装成功
第2步
安装以下软件包:
pip install chatterbot==1.0.0
点安装正则表达式==2019.11.1
pip install python-dateutil==2.7
点安装 PyAudio
点安装 nltk
点安装 Keras
第 3 步
接下来,我们设置语音识别以将我们所说的内容转换为文本。这将输入到聊天机器人模型以生成响应。
迷你麦克风插入 USB 端口并调整设置:
运行以下命令记录音频 5 秒:
arecord -D plughw:1,0 -d 5 the_audio.wav
第4步
接下来我们安装 espeak ,用于语音输出(到耳机或扬声器)。
安装 espeak:
要测试 espeak,请创建文本文件,例如 speakthis.txt,然后在“hello my friend”中写下句子。
要从文件中说话,请运行以下命令:
espeak -f speakthis.txt –stdout |aplay
你应该听到你在 speakthis.txt 文件中写的任何内容(在我的例子中,它说“你好,我的朋友”)
有关 espeak 命令的列表,请参阅:
http://espeak.sourceforge.net/commands.html
万岁!我们的环境很好,现在我们可以继续创建 AI python 聊天机器人并将所有内容粘合在一起。
现在我们的 python 聊天机器人环境已经在我们的树莓派上设置好了,让我们开始运行代码。
首先下载包含所有必要代码和文件的 trivchat 文件夹:
https://github.com/wajidahmad89/rexythebot/tree/main/trivchat
将其保存到桌面,因此位置将是桌面/trivchat
让我们快速浏览一下 trivchat 中的重要文件
1.首先我们有intents.json
这个文件将包含所有你能想到的问题和答案。继续添加它!
2. 其次我们有 trainchatbot.py
这个训练神经网络并创建 chatbot_model.h5
3. 第三,我们有 cbot_main.py
所有的听力、处理和口语都发生在 cbot_main.py
4. 第四,the_audio.wav 是音频输入,你所说的最后录音会覆盖在这个文件上。
5. 第五,userinput.txt 文件将转换后的语音转文本写入此处。botresponse.txt 里面有你演讲的答案。
6. 第六,我们有 hello_camera-output.txt,它启动与“Hello John”的对话,正如我们在其中所写的那样。同样,goodbye_camera-output.txt 有对话结束,所以我们在里面写了“再见约翰”。
笔记
当您编辑 intents.json 时,请确保不要留下任何错误!
Visual Studio 是查找错误的不错选择,例如:
步骤1
在命令提示符下:
pi@raspberrypi:~ $ cd 桌面/trivchat
pi@raspberrypi:~/Desktop/trivchat $ workon cbot
(如下图所示,cbot 环境已激活,其中包含必要的包)
(cbot) pi@raspberrypi:~/Desktop/trivchat $ pythontrain_chatbot.py
它应该打印“模型创建”
第2步
现在我们运行 cbot_main.py
(cbot) pi@raspberrypi:~/Desktop/trivchat $ python cbot_main.py
现在它应该显示“正在播放……”用于音频输出,因此您必须通过耳机/扬声器聆听它在说什么
,
“录音……”用于音频输入,这是当您说话时,它会听 5 秒钟。文件userinput.txt将包含您所说的所有语音,文件botresponse.txt将包含所有机器人响应
和你的树莓派聊天玩得开心
xD
如果您的麦克风与使用的麦克风不同,您可以在第 135 行编辑 cbot_main.py 以录制您的演讲并将其保存为 the_audio.wav
在这篇文章中,我们将把人脸识别 + python 聊天机器人功能合并在一起。当有人被识别时,树莓派会说“你好”并开始对话。
步骤1
首先下载下面的fareg文件夹:
https://github.com/wajidahmad89/rexythebot/tree/main/fareg
将 FAREG 文件夹放在桌面上
用人名创建一个文件夹,
在 fareg/dataset
人的图片会位于这个文件夹中
在命令提示符下:
努力工作
cd 桌面/票价
python encode_faces.py –dataset dataset –encodings encodings.pickle –detection-method hog
这将在 fareg 文件夹中创建 encodings.pickle 文件
稍后我们将在脚本中运行 facrec_main.py。
facrec_main.py 的作用是将相机识别的名称写入 trivchat 文件夹中的 camera-output-raw.txt。如果一个名字重复超过 3 次(在 camera-output-raw.txt 内),这是一个很好的措施来识别正确的人,所以这个确认的名字被写入 hello_camera-output.txt ,说“你好%name%” ,
以及写到 goodbye_camera-output.txt ,说
“再见 %name%”
hello_camera-output.txt 和 goodbye_camera-output.txt 也位于 trivchat 文件夹中。
第2步
其次将rexy_master文件下载到桌面:
https://github.com/wajidahmad89/rexythebot/tree/main/rexy_master
最后运行人脸识别+python聊天机器人:
下面显示一次
转到“masterfile-initiate.sh”文件并双击执行它
与启动相机之前一样,一旦人脸被识别,机器人就会开始对话。
一旦人脸识别,聊天机器人将开始对话。
嘻嘻!
Seeed Fusion 团队正在启动一项 Raspberry Pi CM4 赞助计划,以支持基于 CM4 的设计。使用 Seeed PCB 组装服务制造您的定制 Raspberry Pi CM4 载板,最高可减 $500!
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !