精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

如何在ESP32上使用代碼運(yùn)行TensorFlow模型?

電子設(shè)計(jì) ? 來源:電路城 ? 作者:電路城 ? 2021-04-27 14:54 ? 次閱讀

該項(xiàng)目使用在ESP32上運(yùn)行的TensorFlow Lite創(chuàng)建一個(gè)語音控制的機(jī)器人。它可以響應(yīng)簡單的單字命令:“左”,“右”,“前進(jìn)”和“后退”。

硬件部件:

樂鑫ESP32S× 1個(gè)

伺服模塊(通用)× 2

通用車輪× 2

Gerneric USB移動(dòng)電源× 1個(gè)

I2S麥克風(fēng)板× 1個(gè)

軟件應(yīng)用程序和在線服務(wù):

PlatformIO IDE

我在Google的Commands數(shù)據(jù)集上使用TensorFlow訓(xùn)練了一個(gè)模型。其中包含大約20個(gè)單詞,我選擇了一個(gè)很小的單詞子集-足以控制機(jī)器人的單詞,但數(shù)量不多,以至于模型變得難以管理。

為了生成訓(xùn)練數(shù)據(jù),我們將WAV文件加載到其中,并從每個(gè)文件中提取頻譜圖。

為了獲得足夠的數(shù)據(jù)用于命令詞,我已經(jīng)多次重復(fù)這些詞,以改變音頻的位置并添加隨機(jī)噪聲-這為我們的神經(jīng)網(wǎng)絡(luò)提供了更多訓(xùn)練數(shù)據(jù),并應(yīng)該有助于其推廣。

幾個(gè)單詞-前進(jìn)和后退的示例更少,因此我更經(jīng)常重復(fù)這些示例。

我最后得到了一個(gè)相當(dāng)簡單的卷積神經(jīng)網(wǎng)絡(luò),其中包含2個(gè)卷積層,然后是一個(gè)完全連接的層,然后是一個(gè)輸出層。

當(dāng)我們試圖識別多個(gè)不同的單詞時(shí),我們使用“ softmax”激活函數(shù),并使用“ CategoricalCrossentropy”作為我們的損失函數(shù)。

訓(xùn)練模型后,我得到的訓(xùn)練數(shù)據(jù)準(zhǔn)確度不到92%,而驗(yàn)證數(shù)據(jù)的準(zhǔn)確度則超過92%。測試數(shù)據(jù)集為我們提供了類似的性能水平。

查看混淆矩陣,我們可以看到它主要是將單詞誤分類為無效單詞。這對于我們的用例來說是相當(dāng)不錯(cuò)的,因?yàn)檫@應(yīng)該意味著機(jī)器人會(huì)誤判誤報(bào)而不是誤報(bào)。

由于模型似乎不適合,我已經(jīng)在完整的數(shù)據(jù)集上對其進(jìn)行了訓(xùn)練。這給了我們大約94%的最終精度,而在混淆矩陣上我們看到了更好的結(jié)果。但是,可能會(huì)有些過度擬合。

對于實(shí)際的機(jī)器人,我構(gòu)建了一個(gè)非常簡單的兩輪機(jī)器人。為了驅(qū)動(dòng)車輪,我使用了兩個(gè)連續(xù)的伺服系統(tǒng)和小型動(dòng)力單元。它具有相當(dāng)寬的軸距,因?yàn)閹в蠩SP32的面包板非常大。

為了在ESP32上運(yùn)行TensorFlow模型,我使用了TensorFlow Lite。我將其包裝在自己的代碼中,使其更易于使用。

要讀取音頻,我們使用I2S-它可以從模擬麥克風(fēng)的內(nèi)置ADC讀取,也可以直接從I2S數(shù)字麥克風(fēng)讀取。

命令檢測器由一個(gè)任務(wù)運(yùn)行,該任務(wù)等待音頻樣本可用,然后為命令檢測器提供服務(wù)。

我們的命令檢測器將音頻數(shù)據(jù)后退一秒鐘,獲取頻譜圖,然后運(yùn)行預(yù)測。

為了提高檢測的魯棒性,我們在多個(gè)音頻片段上對預(yù)測進(jìn)行了采樣,并且還拒絕了在先前檢測的一秒鐘內(nèi)發(fā)生的任何檢測。

如果我們檢測到命令,則將其排隊(duì)等待命令處理器處理。

我們的命令處理器運(yùn)行一個(gè)任務(wù),該任務(wù)偵聽此隊(duì)列中的命令。

當(dāng)命令到達(dá)時(shí),它將更改發(fā)送到電動(dòng)機(jī)的PWM信號,以停止電動(dòng)機(jī)或設(shè)置所需的方向。

為了向前移動(dòng),我們將兩個(gè)電機(jī)都向前驅(qū)動(dòng),對于向后,我們將兩個(gè)電機(jī)都向后驅(qū)動(dòng)。對于左,我們反轉(zhuǎn)左電動(dòng)機(jī)并向前驅(qū)動(dòng)右電動(dòng)機(jī),而對于右,我們進(jìn)行相反的,右電動(dòng)機(jī)反向,左電動(dòng)機(jī)向前。

對于我們的連續(xù)伺服器,1500us的占空比將使它們停止,低于此值應(yīng)使它們反向,而高于此值將使它們向前驅(qū)動(dòng)。

我略微調(diào)整了右馬達(dá)正向值的值,因?yàn)樗男D(zhuǎn)速度不如左馬達(dá)快,這導(dǎo)致機(jī)器人轉(zhuǎn)向一側(cè)。

請注意,因?yàn)槲覀冇姓_的電機(jī)上下顛倒驅(qū)動(dòng)它,所以我們將其反向運(yùn)行,而將其向后驅(qū)動(dòng),則我們將其向前驅(qū)動(dòng)。

您可能需要校準(zhǔn)自己的電動(dòng)機(jī)才能使機(jī)器人直線運(yùn)動(dòng)。

它運(yùn)作良好!

它偶爾會(huì)混淆單詞并左右混合。
責(zé)任編輯:pj

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

    關(guān)注

    210

    文章

    28231

    瀏覽量

    206614
  • 檢測器
    +關(guān)注

    關(guān)注

    1

    文章

    860

    瀏覽量

    47654
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    6909

    瀏覽量

    88849
  • 頻譜
    +關(guān)注

    關(guān)注

    7

    文章

    878

    瀏覽量

    45584
收藏 人收藏

    評論

    相關(guān)推薦

    基于ESP32C3運(yùn)行RT-THREAD

    ESP32上面運(yùn)行 RT-THREAD.
    的頭像 發(fā)表于 06-25 07:58 ?9347次閱讀
    基于<b class='flag-5'>ESP32</b>C3<b class='flag-5'>運(yùn)行</b>RT-THREAD

    ESP32-WROOM-32電后不會(huì)運(yùn)行的原因?

    最近我們在調(diào)試ESP32-WROOM-32板子是發(fā)現(xiàn)一個(gè)問題。代碼是完整下載到芯片里并且是可以運(yùn)行的。但是,但板子電后,ESP32芯片卻不
    發(fā)表于 06-05 08:05

    請問ESP32如何運(yùn)行TensorFlow模型?

    請問ESP32如何運(yùn)行TensorFlow模型?
    發(fā)表于 07-09 07:30

    何在esp32板子實(shí)現(xiàn)自己的web_radio

    esp32開發(fā)板實(shí)現(xiàn)的web_radio,基于wm8978 codec芯片前言下載編譯硬件連接燒寫測試TODO前言本文介紹了如何在esp32板子
    發(fā)表于 08-12 06:49

    何在ESP32使用MicroPython

    ESP32的原有程序,擦除成功后下載MicroPython固件,并使用簡單的“Hello World(你好,世界)”程序進(jìn)行測試。安裝esptool打開命令行,輸入`pip install esptool此操作將在系統(tǒng)安裝esptool,之后將通過python環(huán)境下
    發(fā)表于 01-11 07:58

    ESP32教程之如何在Windows系統(tǒng)搭建開發(fā)環(huán)境

    本文檔的主要內(nèi)容詳細(xì)介紹的是ESP32教程之如何在Windows系統(tǒng)搭建開發(fā)環(huán)境。
    發(fā)表于 12-13 15:34 ?40次下載
    <b class='flag-5'>ESP32</b>教程之如<b class='flag-5'>何在</b>Windows系統(tǒng)<b class='flag-5'>上</b>搭建開發(fā)環(huán)境

    關(guān)于C程序源代碼是如何在硬件運(yùn)行的?

    C程序源代碼是如何在硬件運(yùn)行的?
    的頭像 發(fā)表于 02-05 12:37 ?2839次閱讀

    ESP32模組的主要特性

    WT-ESP32-DevKitC V4是一款基于ESP32的小型開發(fā)板,集WIFI+藍(lán)牙方案于一體,板模組絕大部分管腳均已引出,開發(fā)人員可根據(jù)實(shí)際需求,輕松通過跳線連接多種外圍器件,或?qū)㈤_發(fā)板直接
    發(fā)表于 11-04 14:54 ?3952次閱讀

    ESP32芯片模組機(jī)器學(xué)習(xí)算法運(yùn)行的應(yīng)用

    ESP32以其強(qiáng)大的無線通信能力、領(lǐng)先的低功耗和高性價(jià)比等特性,已成為各類AIoT應(yīng)用的理想選擇。 用戶使用Arduino框架和EdgeImpulse平臺,只需添加幾行代碼,即可在ESP32
    發(fā)表于 03-15 17:23 ?1238次閱讀

    何在ESP32/ESP8266使用MicroPython

    在本教程中,我們將了解 MicroPython,它與 Python 有何不同,以及如何在 ESP32/ESP8266 開始使用 MicroPython。此外,我們將看到一個(gè) LED
    發(fā)表于 08-19 15:09 ?1.4w次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>ESP32</b>/<b class='flag-5'>ESP</b>8266<b class='flag-5'>上</b>使用MicroPython

    在MaaXBoard RT運(yùn)行幾乎任何TensorFlow模型

    電子發(fā)燒友網(wǎng)站提供《在MaaXBoard RT運(yùn)行幾乎任何TensorFlow模型.zip》資料免費(fèi)下載
    發(fā)表于 10-31 10:28 ?2次下載
    在MaaXBoard RT<b class='flag-5'>上</b><b class='flag-5'>運(yùn)行</b>幾乎任何<b class='flag-5'>TensorFlow</b><b class='flag-5'>模型</b>

    使用Visuino DIY如何在M5StickC ESP32顯示時(shí)間

    電子發(fā)燒友網(wǎng)站提供《使用Visuino DIY如何在M5StickC ESP32顯示時(shí)間.zip》資料免費(fèi)下載
    發(fā)表于 11-21 09:36 ?0次下載
    使用Visuino DIY如<b class='flag-5'>何在</b>M5StickC <b class='flag-5'>ESP32</b><b class='flag-5'>上</b>顯示時(shí)間

    使用MTCNN和用于ESP32-S3的TensorFlow Lite進(jìn)行人臉檢測

    電子發(fā)燒友網(wǎng)站提供《使用MTCNN和用于ESP32-S3的TensorFlow Lite進(jìn)行人臉檢測.zip》資料免費(fèi)下載
    發(fā)表于 06-13 15:28 ?0次下載
    使用MTCNN和用于<b class='flag-5'>ESP32</b>-S3的<b class='flag-5'>TensorFlow</b> Lite進(jìn)行人臉檢測

    ESP8266或ESP32的WiFi Webradio

    電子發(fā)燒友網(wǎng)站提供《ESP8266或ESP32的WiFi Webradio.zip》資料免費(fèi)下載
    發(fā)表于 06-13 11:38 ?1次下載
    <b class='flag-5'>ESP</b>8266或<b class='flag-5'>ESP32</b><b class='flag-5'>上</b>的WiFi Webradio

    esp32esp8266代碼共用嗎

    本文將介紹ESP32ESP8266兩款流行的微控制器在代碼共用性方面的可能性與差異性。 一、引言 隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,越來越多的智能設(shè)備開始進(jìn)入我們的生活。其中,ESP32
    的頭像 發(fā)表于 08-19 18:23 ?1003次閱讀