0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

助盲环境感知装置设计方案

柴火创客空间 来源:柴火创客空间 2024-11-05 11:42 次阅读

今天为大家带来的是来自创作者X同学的作品:助盲环境感知装置. 这个装置主要利用Grove Vision AI V2-Camera module识别环境中的物体,并利用XIAO ESP32S3和树莓派进行语音输出,结合了物体检测和文本转语音威廉希尔官方网站 ,以向视障人士提供环境信息

故事背景

视障人士在感知环境和进行导航时面临困难,导致他们的行动能力受到限制。通过这个项目,我将展示如何利用人工智能计算机视觉威廉希尔官方网站 来应对这一挑战。实施该项目后,盲人可以在一定程度上减少对周围环境和他人的依赖。

该项目结合了物体检测和文本转语音威廉希尔官方网站 ,以向视障人士提供环境信息。用户可以通过耳机收听转化后的语音,从而更好地理解周围的世界。

材料清单

硬件

Seeed Studio XIAO ESP32S3 Sense

Rasberry Pi 1 Model B+

树莓派外壳

Grove -Vision Al Module V2

OV5647-69.1 FOV Camera module for Raspberry Pi 3B+4B

应用软件

SenseCraft AI

Arduino IDE

使用SenseCraft AI开发物体检测模型

我使用 SenseCraft AI 来训练物体检测模型。SenseCraft AI 是进行模型训练和模型部署的领先开发平台。

要启动一个项目,您需要在 SenseCraft AI 输入您的账户(或创建一个免费账户)。然后就可以使用平台上提供的模型或者创建自己的模型了,这十分便捷。

在 SenseCraft AI 中,您可以上传现有的数据,也可以使用连接设备记录新数据。在我的项目中,我准备了一个数据集,其中包括一些常见物品,如椅子、桌子和路上的行人。数据集中包含的物品越多,模型就越有效。数据集的大小也很重要。我们能拍摄到的特定物体的图像越多,准确度就越高。

我在最初的项目中上传了 3 个物体的 312 张图片。以后我会上传更多对象的更多图像,调高模型的准确度。

将物品鉴别模型上传到Grove Vision AI

打开SenseCraft平台:Home - SenseCraft AI

打开SenseCraft主页,找到模型训练选项,点击进入

在模型训练界面首先选择分类识别类型,然后在”2”处选择设备Grove -Vision Al Module V2 点击连接,接着按照具体需求是否添加类别,并为分类命名

接着在第二步处选择设备Grove -Vision Al Module V2,点击开始训练,高级设置按需设置,否则默认即可,训练完毕后即可选择设备Grove -Vision Al Module V2进行模型部署。等待部署完成,我们在页面右侧即可观察到,通过摄像头对准物品,效果预览内的物体置信度也会实时改变。此步实现及说明模型部署成功。

eb230afe-9804-11ef-a511-92fbcf53809c.png

使用XIAO ESP32S3通过串口输出识别物体

将XIAO ESP32S3与 上传好模型的Grove -Vision Al Module V2连接。以下是输出识别物体序号的完整程序,请为 XIAO ESP32 系列编译并上传此程序

#include 


SSCMA AI;


void setup()
{
  AI.begin();
  Serial.begin(600);
}


void loop()
{
  if (!AI.invoke())
  {
    Serial.println("invoke success");
    Serial.printf("perf: prepocess=%d, inference=%d, postprocess=%d
",
           AI.perf().prepocess, AI.perf().inference,
           AI.perf().postprocess);
    for (int i = 0; i < AI.boxes().size(); i++)
    {
      Serial.printf(
        "box %d: x=%d, y=%d, w=%d, h=%d, score=%d, target=%d
", i,
        AI.boxes()[i].x, AI.boxes()[i].y, AI.boxes()[i].w,
        AI.boxes()[i].h, AI.boxes()[i].score, AI.boxes()[i].target);
    }
    for (int i = 0; i < AI.classes().size(); i++)
    {
      Serial.printf("class %d: target=%d, score=%d
", i,
             AI.classes()[i].target, AI.classes()[i].score);
             delay(2000);
    }
    for (int i = 0; i < AI.points().size(); i++)0
    {
      Serial.printf("point %d: x=%d, y=%d, z=%d, score=%d, target=%d
",
             i, AI.points()[i].x, AI.points()[i].y,
             AI.points()[i].z, AI.points()[i].score,
             AI.points()[i].target);
    }
  }
}

输出结果:

当我将摄像头对准人时,串口输出target1代表识别到人

eb3abad2-9804-11ef-a511-92fbcf53809c.png

当我将摄像头对准桌子时,串口输出target2代表识别到桌子

eb66418e-9804-11ef-a511-92fbcf53809c.png

当我将摄像头对准椅子时,串口输出target0代表识别到椅子

eb87325e-9804-11ef-a511-92fbcf53809c.png

配置树莓派

XIAO ESP32S3 Sense搭配Grove -Vision Al Module V2 可检测周围环境中的物体,并返回物体的名称和位置。Raspberry Pi 用于通过 UART 接收物体名称和位置,并将文本转换为语音。在这里使用的是 Raspberry Pi 4 B,性能令人满意。在 Raspberry Pi 上安装操作系统后,我配置了音频控制系统,并将音量设置为 100%。

sudo raspi-config

eb927dc6-9804-11ef-a511-92fbcf53809c.png

然后,我在 Pi 上安装了免费的软件包 Festival。Festival 由英国语音威廉希尔官方网站 研究中心编写,为构建语音合成系统提供了一个框架。它通过多种应用程序接口提供完整的文本到语音功能:从 shell 层、通过命令解释器、作为 C++ 库、从 Java 和 Emacs 编辑器界面。

使用以下命令安装 festival:

sudo apt-get install -y libasound2-plugins festival

eb96b3b4-9804-11ef-a511-92fbcf53809c.png

安装festival后,连接了一个有线耳机,并使用以下音频进行了测试

echo "Hello World!" | festival --tts

然后,在 Raspberry Pi 上安装了 python 串行模块。

ebe21624-9804-11ef-a511-92fbcf53809c.png

通过一根 USB-C 电缆将 XIAO ESP32S3 Sense 与 Raspberry Pi 连接起来。

为树莓派编写代码

在编写代码之前,我们需要知道 XIAO Sense 板的串口号。

连接好 XIAO Sense 板并将其插入 Raspberry Pi 后,我们可以在终端运行以下命令。

dmesg | grep tty

结果是:

ec0ca48e-9804-11ef-a511-92fbcf53809c.png

现在我们知道串行端口号了。是时候编写代码了。我为 Raspberry Pi 编写了以下代码,将接收到的文本转换为语音

#!/usr/bin/env python
# 这行指定脚本使用的解释器(Python)
import time
import serial
import os
# 设置串口连接的参数,用于与设备进行通信
ser = serial.Serial(
        port='/dev/ttyACM1', # 指定设备连接的端口。
        baudrate = 115200, # 设置串口通信的波特率
        parity=serial.PARITY_NONE, # 不使用奇偶校验位
        stopbits=serial.STOPBITS_ONE, # 使用一个停止位
        bytesize=serial.EIGHTBITS, # 每个字节有8位数据位
        timeout=1 # 设置读取串口时的超时时间为1秒
)
# 进入一个无限循环,不断读取串口数据
while True:
        receive_msg=ser.readline()  # 从串口读取一行数据
        print(receive_msg)           # 打印接收到的数据
# 如果接收到的数据中包含“basin”的字样,则执行以下操作:
        if b'basin' in receive_msg.lower():
            os.system('echo "basin in front" | festival --tts')# 使用festival语音合成引擎朗读提示信息。
# 如果接收到的数据中包含“1”的字样,则执行以下操作:
        if b'1' in receive_msg.lower():
            os.system('echo "people in front" | festival --tts')
# 如果接收到的数据中包含“0”的字样,则执行以下操作:
        if b'0' in receive_msg.lower():
            os.system('echo "chair in front" | festival --tts')
# 如果接收到的数据中包含“2”的字样,则执行以下操作:
        if b'2' in receive_msg.lower():
            os.system('echo " table in front" | festival --tts')
//以此类推

测试结果:

wKgZomcplFyAa_02AAFL12wk2m8136.png

wKgaomcplG-AIlIEAAHSNazYR0U051.png

脚本设置开机自动启动

bashrc 配置

修改 .bashrc 文件。

sudo nano /home/pi/.bashrc
在 /home/pi/.bashrc 文件的末尾添加启动命令文本。

echo Running at boot 
sudo python /home/pi/sample.py

上面的 echo 命令用于显示 .bashrc 文件中的脚本已经开始运行。

Bash RC 配置程序会在树莓派启动时自动运行。.bashrc 文件中的命令在运行时会打开一个新的终端窗口。

但是当我在配置好以上内容时,出现如下报错:

ec3f4f42-9804-11ef-a511-92fbcf53809c.png

解决办法:
对我来说,我必须添加创建文件 /etc/asound.conf

并在此文件中并添加此内容:

pcm.!default {
type asym
playback.pcm {
type plug
slave.pcm "hw:2,0"
}
}

这样在树莓派连接电源开机时,此程序就会自动运行啦!

外壳组装

基于Seeed树莓派基础外壳,通过打孔将XIAO ESP32S3与Grove V2安装在壳子外部。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计算机
    +关注

    关注

    19

    文章

    7488

    浏览量

    87855
  • 耳机
    +关注

    关注

    28

    文章

    3008

    浏览量

    81402
  • AI
    AI
    +关注

    关注

    87

    文章

    30747

    浏览量

    268900
  • 树莓派
    +关注

    关注

    116

    文章

    1706

    浏览量

    105610

原文标题:创客项目秀|基于Grove Vision AI V2和XIAO ESP32S3的助盲环境感知装置

文章出处:【微信号:ChaiHuoMakerSpace,微信公众号:柴火创客空间】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    PADSPartialVia手机板孔的设计方案

    PADSPartialVia手机板孔的设计方案 
    发表于 05-11 21:07

    【资料分享】STM32设计方案与示例分享 第一波

    本帖最后由 我是大彭 于 2014-3-12 15:52 编辑 STM32设计方案与示例分享第一波分享一下基于STM32单片机的数据记录装置设计方案基于STM32的多路电压测量设计方案
    发表于 03-12 14:47

    【嗮方案】-温室环境感知终端

    对空气温湿度、光照强度、二氧化碳浓度、土壤温度、含水量进行监测,涉及参数多、部分感知设备功耗大、监测分散、现场网络条件落后对设施环境远程监测及服务提出很大的挑战。同时目前已有物联网环境监测设备大都
    发表于 10-15 14:57

    感知农业】温室环境感知终端

    本帖最后由 wangjiamin2014 于 2015-1-9 12:02 编辑 项目名称: 温室环境感知终端团队名称:感知农业团队成员:张馨作品演示作品介绍当前,我国发展现代农业面临着资源
    发表于 12-31 10:50

    求一种基于Android和Zigbee威廉希尔官方网站 实现的家庭环境监控系统的设计方案

    齐全、运行稳定的家庭监控系统将具有非常大的市场竞争力。本文提出了一种基于Android和Zigbee威廉希尔官方网站 实现的家庭环境监控系统的设计方案,该方案应用于室内环境
    发表于 07-26 08:08

    无证书签名方案

    无证书签名方案:将签名和无证书密码结合,充分利用二者的优势,提出了一种无证书签名方案,使得签名方案
    发表于 10-21 07:57 14次下载

    PADS Layout手机板埋孔的设计方案

    PADS Layout手机板埋孔的设计方案:随着目前便携式产品的设计朝着小型化和高密度的方向发展,PCB的设计难度也越来越大,对PCB的生产工艺提出了更高的要求。在目前大部分的便携
    发表于 12-19 16:27 0次下载

    高温环境下的家用绿色电源设计方案

    高温环境下的家用绿色电源设计方案 烹饪过程中不仅会产生热量,同时也会释放大量的水蒸气和冷凝水蒸汽。厨具电子控制装置中的电源必须在高
    发表于 04-02 15:03 616次阅读
    高温<b class='flag-5'>环境</b>下的家用绿色电源<b class='flag-5'>设计方案</b>

    基于Infineon的电子动力转向装置设计方案

    基于Infineon的电子动力转向装置设计方案 英飞凌拥有10多年从事这一应用的经验,并且提供了全套IC,从转向传感器到微控制器,从桥式驱动器到世
    发表于 04-10 11:18 924次阅读
    基于Infineon的电子动力转向<b class='flag-5'>装置</b><b class='flag-5'>设计方案</b>

    基于Android与物联网的教学环境感知模型

    ,并通过汇聚节点将数据上传到服务器,从而实现教室内空调温度的调节与控制。借助Android系统开发工具,在室内温度控制模块基础上,引入教学评价、学习交流等模块,实现对各个场景环境感知。最后通过测试,验证该设计方案的可行性
    发表于 11-22 14:07 16次下载
    基于Android与物联网的教学<b class='flag-5'>环境</b><b class='flag-5'>感知</b>模型

    基于编码的签名方案

    编码密码威廉希尔官方网站 由于具有抵抗量子算法攻击的优点受到了广泛的关注。针对消息的匿名保护问题,提出了一种基于编码的签名方案。消息拥有者通过哈希威廉希尔官方网站 和化因子将消息进行不可逆和化处理后发送给签
    发表于 01-02 16:43 0次下载
    基于编码的<b class='flag-5'>盲</b>签名<b class='flag-5'>方案</b>

    除尘器紧急泄爆泄压装置设计方案及特点

    除尘器紧急泄爆泄压装置设计方案及特点
    发表于 03-18 09:28 2次下载
    除尘器紧急泄爆泄压<b class='flag-5'>装置</b><b class='flag-5'>设计方案</b>及特点

    AC220V电源供电稳定性装置设计方案

    AC220V电源供电稳定性装置设计方案
    发表于 06-26 16:48 15次下载

    基于ARIMA模型的环境监测系统设计方案

    基于ARIMA模型的环境监测系统设计方案
    发表于 06-30 11:23 11次下载

    基于μC/OS-Ⅱ的远程环境监测系统设计方案

    电子发烧友网站提供《基于μC/OS-Ⅱ的远程环境监测系统设计方案.pdf》资料免费下载
    发表于 10-18 10:36 0次下载
    基于μC/OS-Ⅱ的远程<b class='flag-5'>环境</b>监测系统<b class='flag-5'>设计方案</b>