0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

助盲環(huán)境感知裝置設(shè)計方案

柴火創(chuàng)客空間 ? 來源:柴火創(chuàng)客空間 ? 2024-11-05 11:42 ? 次閱讀

今天為大家?guī)淼氖莵碜詣?chuàng)作者X同學(xué)的作品:助盲環(huán)境感知裝置. 這個裝置主要利用Grove Vision AI V2-Camera module識別環(huán)境中的物體,并利用XIAO ESP32S3和樹莓派進(jìn)行語音輸出,結(jié)合了物體檢測和文本轉(zhuǎn)語音技術(shù),以向視障人士提供環(huán)境信息

故事背景

視障人士在感知環(huán)境和進(jìn)行導(dǎo)航時面臨困難,導(dǎo)致他們的行動能力受到限制。通過這個項目,我將展示如何利用人工智能計算機視覺技術(shù)來應(yīng)對這一挑戰(zhàn)。實施該項目后,盲人可以在一定程度上減少對周圍環(huán)境和他人的依賴。

該項目結(jié)合了物體檢測和文本轉(zhuǎn)語音技術(shù),以向視障人士提供環(huán)境信息。用戶可以通過耳機收聽轉(zhuǎn)化后的語音,從而更好地理解周圍的世界。

材料清單

硬件

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

應(yīng)用軟件

SenseCraft AI

Arduino IDE

使用SenseCraft AI開發(fā)物體檢測模型

我使用 SenseCraft AI 來訓(xùn)練物體檢測模型。SenseCraft AI 是進(jìn)行模型訓(xùn)練和模型部署的領(lǐng)先開發(fā)平臺。

要啟動一個項目,您需要在 SenseCraft AI 輸入您的賬戶(或創(chuàng)建一個免費賬戶)。然后就可以使用平臺上提供的模型或者創(chuàng)建自己的模型了,這十分便捷。

在 SenseCraft AI 中,您可以上傳現(xiàn)有的數(shù)據(jù),也可以使用連接設(shè)備記錄新數(shù)據(jù)。在我的項目中,我準(zhǔn)備了一個數(shù)據(jù)集,其中包括一些常見物品,如椅子、桌子和路上的行人。數(shù)據(jù)集中包含的物品越多,模型就越有效。數(shù)據(jù)集的大小也很重要。我們能拍攝到的特定物體的圖像越多,準(zhǔn)確度就越高。

我在最初的項目中上傳了 3 個物體的 312 張圖片。以后我會上傳更多對象的更多圖像,調(diào)高模型的準(zhǔn)確度。

將物品鑒別模型上傳到Grove Vision AI

打開SenseCraft平臺:Home - SenseCraft AI

打開SenseCraft主頁,找到模型訓(xùn)練選項,點擊進(jìn)入

在模型訓(xùn)練界面首先選擇分類識別類型,然后在”2”處選擇設(shè)備Grove -Vision Al Module V2 點擊連接,接著按照具體需求是否添加類別,并為分類命名

接著在第二步處選擇設(shè)備Grove -Vision Al Module V2,點擊開始訓(xùn)練,高級設(shè)置按需設(shè)置,否則默認(rèn)即可,訓(xùn)練完畢后即可選擇設(shè)備Grove -Vision Al Module V2進(jìn)行模型部署。等待部署完成,我們在頁面右側(cè)即可觀察到,通過攝像頭對準(zhǔn)物品,效果預(yù)覽內(nèi)的物體置信度也會實時改變。此步實現(xiàn)及說明模型部署成功。

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);
    }
  }
}

輸出結(jié)果:

當(dāng)我將攝像頭對準(zhǔn)人時,串口輸出target1代表識別到人

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

當(dāng)我將攝像頭對準(zhǔn)桌子時,串口輸出target2代表識別到桌子

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

當(dāng)我將攝像頭對準(zhǔn)椅子時,串口輸出target0代表識別到椅子

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

配置樹莓派

XIAO ESP32S3 Sense搭配Grove -Vision Al Module V2 可檢測周圍環(huán)境中的物體,并返回物體的名稱和位置。Raspberry Pi 用于通過 UART 接收物體名稱和位置,并將文本轉(zhuǎn)換為語音。在這里使用的是 Raspberry Pi 4 B,性能令人滿意。在 Raspberry Pi 上安裝操作系統(tǒng)后,我配置了音頻控制系統(tǒng),并將音量設(shè)置為 100%。

sudo raspi-config

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

然后,我在 Pi 上安裝了免費的軟件包 Festival。Festival 由英國語音技術(shù)研究中心編寫,為構(gòu)建語音合成系統(tǒng)提供了一個框架。它通過多種應(yīng)用程序接口提供完整的文本到語音功能:從 shell 層、通過命令解釋器、作為 C++ 庫、從 Java 和 Emacs 編輯器界面。

使用以下命令安裝 festival:

sudo apt-get install -y libasound2-plugins festival

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

安裝festival后,連接了一個有線耳機,并使用以下音頻進(jìn)行了測試

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

結(jié)果是:

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

現(xiàn)在我們知道串行端口號了。是時候編寫代碼了。我為 Raspberry Pi 編寫了以下代碼,將接收到的文本轉(zhuǎn)換為語音

#!/usr/bin/env python
# 這行指定腳本使用的解釋器(Python)
import time
import serial
import os
# 設(shè)置串口連接的參數(shù),用于與設(shè)備進(jìn)行通信
ser = serial.Serial(
        port='/dev/ttyACM1', # 指定設(shè)備連接的端口。
        baudrate = 115200, # 設(shè)置串口通信的波特率
        parity=serial.PARITY_NONE, # 不使用奇偶校驗位
        stopbits=serial.STOPBITS_ONE, # 使用一個停止位
        bytesize=serial.EIGHTBITS, # 每個字節(jié)有8位數(shù)據(jù)位
        timeout=1 # 設(shè)置讀取串口時的超時時間為1秒
)
# 進(jìn)入一個無限循環(huán),不斷讀取串口數(shù)據(jù)
while True:
        receive_msg=ser.readline()  # 從串口讀取一行數(shù)據(jù)
        print(receive_msg)           # 打印接收到的數(shù)據(jù)
# 如果接收到的數(shù)據(jù)中包含“basin”的字樣,則執(zhí)行以下操作:
        if b'basin' in receive_msg.lower():
            os.system('echo "basin in front" | festival --tts')# 使用festival語音合成引擎朗讀提示信息。
# 如果接收到的數(shù)據(jù)中包含“1”的字樣,則執(zhí)行以下操作:
        if b'1' in receive_msg.lower():
            os.system('echo "people in front" | festival --tts')
# 如果接收到的數(shù)據(jù)中包含“0”的字樣,則執(zhí)行以下操作:
        if b'0' in receive_msg.lower():
            os.system('echo "chair in front" | festival --tts')
# 如果接收到的數(shù)據(jù)中包含“2”的字樣,則執(zhí)行以下操作:
        if b'2' in receive_msg.lower():
            os.system('echo " table in front" | festival --tts')
//以此類推

測試結(jié)果:

wKgZomcplFyAa_02AAFL12wk2m8136.png

wKgaomcplG-AIlIEAAHSNazYR0U051.png

腳本設(shè)置開機自動啟動

bashrc 配置

修改 .bashrc 文件。

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

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

上面的 echo 命令用于顯示 .bashrc 文件中的腳本已經(jīng)開始運行。

Bash RC 配置程序會在樹莓派啟動時自動運行。.bashrc 文件中的命令在運行時會打開一個新的終端窗口。

但是當(dāng)我在配置好以上內(nèi)容時,出現(xiàn)如下報錯:

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

解決辦法:
對我來說,我必須添加創(chuàng)建文件 /etc/asound.conf

并在此文件中并添加此內(nèi)容:

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

這樣在樹莓派連接電源開機時,此程序就會自動運行啦!

外殼組裝

基于Seeed樹莓派基礎(chǔ)外殼,通過打孔將XIAO ESP32S3與Grove V2安裝在殼子外部。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 計算機
    +關(guān)注

    關(guān)注

    19

    文章

    7494

    瀏覽量

    87952
  • 耳機
    +關(guān)注

    關(guān)注

    28

    文章

    3009

    瀏覽量

    81464
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    30891

    瀏覽量

    269083
  • 樹莓派
    +關(guān)注

    關(guān)注

    116

    文章

    1707

    瀏覽量

    105631

原文標(biāo)題:創(chuàng)客項目秀|基于Grove Vision AI V2和XIAO ESP32S3的助盲環(huán)境感知裝置

文章出處:【微信號:ChaiHuoMakerSpace,微信公眾號:柴火創(chuàng)客空間】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    PADSPartialVia手機板孔的設(shè)計方案

    PADSPartialVia手機板孔的設(shè)計方案 
    發(fā)表于 05-11 21:07

    【資料分享】STM32設(shè)計方案與示例分享 第一波

    本帖最后由 我是大彭 于 2014-3-12 15:52 編輯 STM32設(shè)計方案與示例分享第一波分享一下基于STM32單片機的數(shù)據(jù)記錄裝置設(shè)計方案基于STM32的多路電壓測量設(shè)計方案
    發(fā)表于 03-12 14:47

    【嗮方案】-溫室環(huán)境感知終端

    對空氣溫濕度、光照強度、二氧化碳濃度、土壤溫度、含水量進(jìn)行監(jiān)測,涉及參數(shù)多、部分感知設(shè)備功耗大、監(jiān)測分散、現(xiàn)場網(wǎng)絡(luò)條件落后對設(shè)施環(huán)境遠(yuǎn)程監(jiān)測及服務(wù)提出很大的挑戰(zhàn)。同時目前已有物聯(lián)網(wǎng)環(huán)境監(jiān)測設(shè)備大都
    發(fā)表于 10-15 14:57

    感知農(nóng)業(yè)】溫室環(huán)境感知終端

    本帖最后由 wangjiamin2014 于 2015-1-9 12:02 編輯 項目名稱: 溫室環(huán)境感知終端團(tuán)隊名稱:感知農(nóng)業(yè)團(tuán)隊成員:張馨作品演示作品介紹當(dāng)前,我國發(fā)展現(xiàn)代農(nóng)業(yè)面臨著資源
    發(fā)表于 12-31 10:50

    求一種基于Android和Zigbee技術(shù)實現(xiàn)的家庭環(huán)境監(jiān)控系統(tǒng)的設(shè)計方案

    齊全、運行穩(wěn)定的家庭監(jiān)控系統(tǒng)將具有非常大的市場競爭力。本文提出了一種基于Android和Zigbee技術(shù)實現(xiàn)的家庭環(huán)境監(jiān)控系統(tǒng)的設(shè)計方案,該方案應(yīng)用于室內(nèi)環(huán)境
    發(fā)表于 07-26 08:08

    無證書簽名方案

    無證書簽名方案:將簽名和無證書密碼結(jié)合,充分利用二者的優(yōu)勢,提出了一種無證書簽名方案,使得簽名方案
    發(fā)表于 10-21 07:57 ?14次下載

    PADS Layout手機板埋孔的設(shè)計方案

    PADS Layout手機板埋孔的設(shè)計方案:隨著目前便攜式產(chǎn)品的設(shè)計朝著小型化和高密度的方向發(fā)展,PCB的設(shè)計難度也越來越大,對PCB的生產(chǎn)工藝提出了更高的要求。在目前大部分的便攜
    發(fā)表于 12-19 16:27 ?0次下載

    高溫環(huán)境下的家用綠色電源設(shè)計方案

    高溫環(huán)境下的家用綠色電源設(shè)計方案 烹飪過程中不僅會產(chǎn)生熱量,同時也會釋放大量的水蒸氣和冷凝水蒸汽。廚具電子控制裝置中的電源必須在高
    發(fā)表于 04-02 15:03 ?616次閱讀
    高溫<b class='flag-5'>環(huán)境</b>下的家用綠色電源<b class='flag-5'>設(shè)計方案</b>

    基于Infineon的電子動力轉(zhuǎn)向裝置設(shè)計方案

    基于Infineon的電子動力轉(zhuǎn)向裝置設(shè)計方案 英飛凌擁有10多年從事這一應(yīng)用的經(jīng)驗,并且提供了全套IC,從轉(zhuǎn)向傳感器到微控制器,從橋式驅(qū)動器到世
    發(fā)表于 04-10 11:18 ?925次閱讀
    基于Infineon的電子動力轉(zhuǎn)向<b class='flag-5'>裝置</b><b class='flag-5'>設(shè)計方案</b>

    基于Android與物聯(lián)網(wǎng)的教學(xué)環(huán)境感知模型

    ,并通過匯聚節(jié)點將數(shù)據(jù)上傳到服務(wù)器,從而實現(xiàn)教室內(nèi)空調(diào)溫度的調(diào)節(jié)與控制。借助Android系統(tǒng)開發(fā)工具,在室內(nèi)溫度控制模塊基礎(chǔ)上,引入教學(xué)評價、學(xué)習(xí)交流等模塊,實現(xiàn)對各個場景環(huán)境感知。最后通過測試,驗證該設(shè)計方案的可行性
    發(fā)表于 11-22 14:07 ?16次下載
    基于Android與物聯(lián)網(wǎng)的教學(xué)<b class='flag-5'>環(huán)境</b><b class='flag-5'>感知</b>模型

    基于編碼的簽名方案

    編碼密碼技術(shù)由于具有抵抗量子算法攻擊的優(yōu)點受到了廣泛的關(guān)注。針對消息的匿名保護(hù)問題,提出了一種基于編碼的簽名方案。消息擁有者通過哈希技術(shù)和化因子將消息進(jìn)行不可逆和化處理后發(fā)送給簽
    發(fā)表于 01-02 16:43 ?0次下載
    基于編碼的<b class='flag-5'>盲</b>簽名<b class='flag-5'>方案</b>

    除塵器緊急泄爆泄壓裝置設(shè)計方案及特點

    除塵器緊急泄爆泄壓裝置設(shè)計方案及特點
    發(fā)表于 03-18 09:28 ?2次下載
    除塵器緊急泄爆泄壓<b class='flag-5'>裝置</b><b class='flag-5'>設(shè)計方案</b>及特點

    AC220V電源供電穩(wěn)定性裝置設(shè)計方案

    AC220V電源供電穩(wěn)定性裝置設(shè)計方案
    發(fā)表于 06-26 16:48 ?15次下載

    基于ARIMA模型的環(huán)境監(jiān)測系統(tǒng)設(shè)計方案

    基于ARIMA模型的環(huán)境監(jiān)測系統(tǒng)設(shè)計方案
    發(fā)表于 06-30 11:23 ?11次下載

    基于μC/OS-Ⅱ的遠(yuǎn)程環(huán)境監(jiān)測系統(tǒng)設(shè)計方案

    電子發(fā)燒友網(wǎng)站提供《基于μC/OS-Ⅱ的遠(yuǎn)程環(huán)境監(jiān)測系統(tǒng)設(shè)計方案.pdf》資料免費下載
    發(fā)表于 10-18 10:36 ?0次下載
    基于μC/OS-Ⅱ的遠(yuǎn)程<b class='flag-5'>環(huán)境</b>監(jiān)測系統(tǒng)<b class='flag-5'>設(shè)計方案</b>