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

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

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

TinyML音頻識(shí)別應(yīng)用及在Cortex-M4開發(fā)板上的入門

冬至配餃子 ? 來源:Mary Bennion ? 作者:Mary Bennion ? 2022-07-27 16:27 ? 次閱讀

TinyML很強(qiáng)大是因?yàn)樗鼛椭⑿驮O(shè)備基于大量數(shù)據(jù)采集制定決策方法,而不會(huì)浪費(fèi)時(shí)間和精力傳輸數(shù)據(jù)。假設(shè)你正在追蹤非洲大草原的動(dòng)物行為,你想知道獅子在一天中不同時(shí)間咆哮的頻率。

你可以選擇以下方法收集數(shù)據(jù):

?躲在草叢中,用記事本和鉛筆記錄每次聽到的吼聲。

?用設(shè)置好的帶電池的錄音機(jī)記錄,每隔幾星期去更換存儲(chǔ)卡。

?通過數(shù)據(jù)連接(如蜂窩網(wǎng)絡(luò))傳輸音頻。

以上所有方法都有以下缺點(diǎn):

?將人員留在現(xiàn)場(chǎng)是非常昂貴的,同時(shí)還需考慮他們的安全問題

?駕車去收集存儲(chǔ)卡需要耗費(fèi)時(shí)間和錢,而且每隔幾周才可以獲得新數(shù)據(jù)。

?傳輸數(shù)據(jù)會(huì)消耗大量能量和錢,并且大部分地區(qū)的網(wǎng)絡(luò)帶寬也受到限制。這種方法可能會(huì)更快地獲得數(shù)據(jù),但仍需定期開車去更換電池。

除了這些缺點(diǎn)以外,在錄音中數(shù)出獅子的吼聲真的很無聊,而且還需要花費(fèi)寶貴的資金。訓(xùn)練機(jī)器學(xué)習(xí)模型來識(shí)別錄音中的獅子吼聲并自動(dòng)計(jì)數(shù)可以減輕這一煩惱。為此需要先收集一組帶標(biāo)簽的數(shù)據(jù)輸入到算法中,然后創(chuàng)建一個(gè)模型來識(shí)別音頻中的吼叫聲。

pYYBAGLg9a-ASp4CAAB912YTxu4827.png

這將解決需要花費(fèi)數(shù)小時(shí)收聽Savanna音頻的問題。但是這樣仍然保留了上述缺點(diǎn)。

在過去,機(jī)器學(xué)習(xí)模型只能存在于強(qiáng)大的大型硬件上,導(dǎo)致它們大多數(shù)時(shí)候只能在實(shí)驗(yàn)室的服務(wù)器上運(yùn)行。但是近年來機(jī)器學(xué)習(xí)算法和低功耗硬件已經(jīng)發(fā)展到可以在嵌入式設(shè)備上運(yùn)行復(fù)雜模型的階段。

如果我們采用獅吼計(jì)數(shù)模型應(yīng)用在嵌入式設(shè)備中并部署到野外,我們會(huì)獲得以下優(yōu)勢(shì):

?我們的設(shè)備無需通過昂貴的高帶寬網(wǎng)絡(luò)來發(fā)送記錄到的音頻,而是可以當(dāng)場(chǎng)計(jì)算聽到的吼聲數(shù)量,并發(fā)送極低功率的遠(yuǎn)程無線電,像LoRa那樣。

?獲得咆哮聲的數(shù)量就夠了,所以不需要存儲(chǔ)音頻以及收集存儲(chǔ)卡。

?此設(shè)備很便宜且功耗極低,僅用一個(gè)電池即可運(yùn)行數(shù)年。

?沒有人需要聽100小時(shí)的野生動(dòng)植物混合錄音帶了。

這聽起來是一個(gè)很好的解決方案。我們解決了一些實(shí)際問題,并獲得了比以前更便宜更可靠的解決方案。

但是機(jī)器學(xué)習(xí)是一個(gè)令人生畏的主題。它技術(shù)性很強(qiáng)并涉及許多新概念,它也存在很多陷阱,可以很容易地訓(xùn)練一個(gè)看似有用但無法工作的模型。

更重要的是,在嵌入式設(shè)備上運(yùn)行機(jī)器學(xué)習(xí)代碼非常困難。除了需要了解機(jī)器學(xué)習(xí)和信號(hào)處理算法的知識(shí)外,通常還會(huì)受制于硬件性能的限制,可能要運(yùn)用書中的所有技巧才能發(fā)揮給定類型芯片的全部性能。

當(dāng)我們寫《TinyML》這本書時(shí),我意識(shí)到盡管任何人都可以輕松地開始學(xué)習(xí)基于嵌入式設(shè)備的機(jī)器學(xué)習(xí)。但想要構(gòu)建出可用于生產(chǎn)的東西卻會(huì)困難得多。對(duì)于專注解決實(shí)際問題的普通工程師來說,一天中沒有足夠的時(shí)間來學(xué)習(xí)機(jī)器學(xué)習(xí),更不用說要為特定的微控制器架構(gòu)優(yōu)化底層ML代碼了。機(jī)器學(xué)習(xí)聽起來是一個(gè)不錯(cuò)的解決方案,但是它需要大量的投入來學(xué)習(xí)和使用。

這就是為什么我對(duì)Edge Impulse感到非常感興趣的原因(事實(shí)上我因?yàn)樘信d趣而加入了這個(gè)團(tuán)隊(duì))。它是一組用于處理機(jī)器學(xué)習(xí)中繁瑣部分的工具,使開發(fā)人員可以專注于他們要解決的問題。Edge Impulse讓收集數(shù)據(jù)集,選擇正確的機(jī)器學(xué)習(xí)算法,訓(xùn)練生產(chǎn)級(jí)模型以及測(cè)試的過程變得容易。然后它將整個(gè)內(nèi)容導(dǎo)出為可以輕松放入項(xiàng)目中的高效,高度優(yōu)化的C ++庫。

使用Edge Impulse創(chuàng)建咆哮計(jì)數(shù)模型的步驟很簡(jiǎn)單:

1.收集少量音頻數(shù)據(jù),給他們標(biāo)記為“吼”或“非吼”,整個(gè)過程只需幾分鐘就可以完成。
2.使用Edge Impulse CLI將數(shù)據(jù)上傳到Edge Impulse。
3.按照說明訓(xùn)練簡(jiǎn)單模型。
4.添加更多數(shù)據(jù)并調(diào)整模型的設(shè)置直到獲得所需的精準(zhǔn)度。
5.將模型導(dǎo)出為C ++庫,并將其添加到嵌入式項(xiàng)目中去。

整個(gè)過程可以在幾分鐘內(nèi)完成,你不必親自參觀非洲大草原。

由于現(xiàn)實(shí)中沒有獅子,所以本教程訓(xùn)練了一個(gè)可以識(shí)別家庭聲音的模型:即水龍頭發(fā)出的自來水聲。 要訓(xùn)練的模型大小約為18Kb并且體積小巧,卻可以運(yùn)用在復(fù)雜應(yīng)用的同時(shí)為應(yīng)用程序代碼留出大量空間。

如果你有一個(gè)基于Arm Cortex-M4的STM32 IoT Node Discovery Kit套件開發(fā)板,就可以通過WiFi或串行捕獲自己的數(shù)據(jù)集。如果你沒有或者正在等待一個(gè)板子,可以下載我從Sunnyvale公寓收集的數(shù)據(jù)集。Edge Impulse構(gòu)建了一個(gè)可以內(nèi)置到任何Cortex-M或Cortex-A設(shè)備中緊湊獨(dú)立的C ++庫。我們自動(dòng)使用FPU,矢量擴(kuò)展,CMSIS-DSP和CMSIS-NN來優(yōu)化性能,并最大程度地減少RAM和閃存的使用。

除獅子和水龍頭外,TinyML還有很多不同應(yīng)用。想象一下可以識(shí)別語音命令的微型設(shè)備:當(dāng)機(jī)器出現(xiàn)故障時(shí)進(jìn)行識(shí)別,根據(jù)周圍的聲音了解房屋中發(fā)生的活動(dòng)。它最大的優(yōu)點(diǎn)是借助設(shè)備上的推理功能可以保護(hù)用戶隱私-無需將任何音頻發(fā)送到云上。

通過使用Edge Impulse任何開發(fā)人員都可以輕松構(gòu)建ML應(yīng)用程序,Edge Impulse為所有想把驚人想法應(yīng)用在硬件領(lǐng)域的人實(shí)現(xiàn)了夢(mèng)想。我們隨著技術(shù)的發(fā)展不斷改進(jìn)我們的平臺(tái),因此每個(gè)人都將從最新的算法和技術(shù)中受益。

審核編輯:劉清

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

    關(guān)注

    48

    文章

    7552

    瀏覽量

    151426
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1368

    瀏覽量

    114701
  • Cortex-M4
    +關(guān)注

    關(guān)注

    6

    文章

    89

    瀏覽量

    46551
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    瑞芯微主板/開發(fā)板Linux系統(tǒng)播放音頻方法,觸覺智能RK3562開發(fā)板演示

    本文介紹瑞芯微方案主板/開發(fā)板Linux系統(tǒng)播放音頻的方法,觸覺智能RK3562開發(fā)板演示,通用RK3566、RK3568、RK3588等
    的頭像 發(fā)表于 12-13 11:40 ?218次閱讀
    瑞芯微主板/<b class='flag-5'>開發(fā)板</b>Linux系統(tǒng)播放<b class='flag-5'>音頻</b>方法,觸覺智能RK3562<b class='flag-5'>開發(fā)板</b>演示

    正點(diǎn)原子fpga開發(fā)板不同型號(hào)

    ZYNQ-7000系列 ZYNQ-7000系列是正點(diǎn)原子的入門級(jí)FPGA開發(fā)板,適合初學(xué)者和教育用途。這些開發(fā)板搭載了Xilinx的Zynq-7000系列SoC芯片,集成了ARM Corte
    的頭像 發(fā)表于 11-13 09:30 ?716次閱讀

    航順 HK32F407ZGT7 芯片的開發(fā)板:多功能外設(shè)助力多領(lǐng)域應(yīng)用

    HK32F407ZGT7開發(fā)板 1.開發(fā)板簡(jiǎn)介 開發(fā)板是基于航順芯片公司F4系列HK32F407ZGT7開發(fā)的一款
    的頭像 發(fā)表于 11-08 14:43 ?241次閱讀
    航順 HK32F407ZGT7 芯片的<b class='flag-5'>開發(fā)板</b>:多功能外設(shè)助力多領(lǐng)域應(yīng)用

    【干貨】有了這份HK32F407ZGT7開發(fā)板介紹,1萬個(gè)項(xiàng)目輕松拿捏!

    2024-11-0811:39·航順HK32MCUHK32F407ZGT7開發(fā)板開發(fā)板簡(jiǎn)介開發(fā)板是基于航順芯片公司F4系列HK32F407ZGT7
    的頭像 發(fā)表于 11-08 13:28 ?305次閱讀
    【干貨】有了這份HK32F407ZGT7<b class='flag-5'>開發(fā)板</b>介紹,1萬個(gè)項(xiàng)目輕松拿捏!

    【干貨】性價(jià)比拉滿!HK32F407VG開發(fā)板介紹

    開發(fā)板簡(jiǎn)介開發(fā)板是基于航順芯片公司F4系列HK32F407VGT7芯片的一款開發(fā)板,Cortex-M4內(nèi)核,最高主頻168MHz,內(nèi)置1MK
    的頭像 發(fā)表于 11-08 13:27 ?228次閱讀
    【干貨】性價(jià)比拉滿!HK32F407VG<b class='flag-5'>開發(fā)板</b>介紹

    配置新!米爾-新唐MA35D1核心512M DDR配置發(fā)布!

    米爾2024年8月推出了基于新唐MA35D1芯片設(shè)計(jì)的嵌入式處理器模塊MYC-LMA35核心開發(fā)板。MA35D1是集成2個(gè)Cortex-A35與1個(gè)
    的頭像 發(fā)表于 11-07 09:03 ?357次閱讀
    配置<b class='flag-5'>上</b>新!米爾-新唐MA35D1核心<b class='flag-5'>板</b>512<b class='flag-5'>M</b> DDR配置發(fā)布!

    ARM開發(fā)板與樹莓派的比較

    處理器 ARM開發(fā)板通常采用不同的ARM處理器,如Cortex-A系列、Cortex-M系列等,而樹莓派則主要使用博通的ARM處理器。樹莓派的處理器性能相對(duì)較高,尤其是最新的樹莓派
    的頭像 發(fā)表于 11-05 11:11 ?453次閱讀

    TI開發(fā)板啟用Android Automotive

    電子發(fā)燒友網(wǎng)站提供《TI開發(fā)板啟用Android Automotive.pdf》資料免費(fèi)下載
    發(fā)表于 09-18 14:52 ?0次下載
    <b class='flag-5'>在</b>TI<b class='flag-5'>開發(fā)板</b><b class='flag-5'>上</b>啟用Android Automotive

    新唐MA35D1核心-米爾開發(fā)板-原生支持17路UART和4路CAN FD

    MYC-LMA35核心開發(fā)板多核異構(gòu)的新唐MA35D1核心,賦能邊緣計(jì)算新唐MA35D1,雙核Cortex-A35和Cortex-M4
    發(fā)表于 08-15 16:03 ?2次下載

    Banana Pi BPI-M4 Berry 開源硬件開發(fā)板以太網(wǎng)口和WiFi測(cè)試

    Banana Pi BPI-M4 Berry 開源硬件開發(fā)板以太網(wǎng)口和WiFi測(cè)試
    的頭像 發(fā)表于 07-02 16:16 ?898次閱讀
    Banana Pi BPI-<b class='flag-5'>M4</b> Berry 開源硬件<b class='flag-5'>開發(fā)板</b>以太網(wǎng)口和WiFi測(cè)試

    Banan Pi BPI-M4 Berry 全志科技H618開發(fā)板燒錄鏡像教程

    Banan Pi BPI-M4 Berry 全志科技H618開發(fā)板燒錄鏡像教程
    的頭像 發(fā)表于 07-02 16:13 ?833次閱讀
    Banan Pi BPI-<b class='flag-5'>M4</b> Berry 全志科技H618<b class='flag-5'>開發(fā)板</b>燒錄鏡像教程

    【基于存內(nèi)計(jì)算芯片開發(fā)板驗(yàn)證語音識(shí)別】訓(xùn)練手冊(cè)

    本教程展現(xiàn)語音識(shí)別算法WTM2101開發(fā)板從訓(xùn)練到部署的全流程,包括實(shí)驗(yàn)環(huán)境搭建,語音數(shù)據(jù)集以及算法模型轉(zhuǎn)換燒錄。
    的頭像 發(fā)表于 05-16 14:49 ?650次閱讀
    【基于存內(nèi)計(jì)算芯片<b class='flag-5'>開發(fā)板</b>驗(yàn)證語音<b class='flag-5'>識(shí)別</b>】訓(xùn)練手冊(cè)

    瑞薩MCU/MPU開發(fā)板概述

    瑞薩MCU/MPU開發(fā)板 介紹 ? ? ? ? ? FPB-RA6E2?(200MHz Arm?Cortex-M33,64引腳,ROM:256KB,RAM:40KB,板載SEGGER J-Link
    的頭像 發(fā)表于 04-15 08:35 ?710次閱讀
    瑞薩MCU/MPU<b class='flag-5'>開發(fā)板</b>概述

    【英飛凌測(cè)評(píng)】英飛凌PSoC? 62開發(fā)板試用報(bào)告-LCD ILI9341 8080 DEMO

    0)的開發(fā)板,其具有單周期乘法的150-MHz Arm Cortex-M4F CPU (浮點(diǎn)和存儲(chǔ)器保護(hù)單元),
    的頭像 發(fā)表于 03-07 21:07 ?713次閱讀
    【英飛凌測(cè)評(píng)】英飛凌PSoC? 62<b class='flag-5'>開發(fā)板</b>試用報(bào)告-LCD ILI9341 8080 DEMO

    盤點(diǎn)那些硬件+項(xiàng)目學(xué)習(xí)套件:STM32MP157 Linux開發(fā)板入門常見問題解答

    Cortex-M4核,Cortex-A7核可以跑Linux操作系統(tǒng),Cortex-M4可以跑FreeRTOS、RT-Thread等實(shí)時(shí)
    發(fā)表于 02-01 14:25