電子發(fā)燒友App

硬聲App

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>TinyML課程#7變得更小

TinyML課程#7變得更小

2023-06-25 | zip | 0.00 MB | 次下載 | 免費

資料介紹

描述

這是 TinyML 課程系列的最后一篇文章——在之前的文章中,我們已經(jīng)討論了如何訓練和部署機器學習模型,用于音頻場景分類異常檢測、語音識別和其他任務到 Wio Terminal,一個緊湊的生產(chǎn)就緒開發(fā)板來自 Seeed 工作室。

?

2022 年 3 月 29 日更新。我盡我所能定期更新我的文章,并根據(jù)您在 YouTube/Hackster 評論部分的反饋。如果您想表達對這些努力的支持和贊賞,請考慮給我買杯咖啡(或披薩):) 。

Wio Terminal 雖然由于存在多個內(nèi)置傳感器和一個外殼而便于實驗,但對于某些應用(例如可穿戴設備)來說可能有點過于笨重。在最后一個項目中,我們甚至會使用 Tinier 并使用 Seeeduino XIAO 板——即原始 XIAO和更新的XIAO 2040 ,并將簡要提及即將發(fā)布的XIAO BLE 。

?

Specks-wise, 最初的 XIAO 在發(fā)布時可能是最小的 M0 開發(fā)板,它的尺寸與 ARM? Cortex?-M0+ 48MHz 微控制器 (SAMD21G18) 和 256KB 閃存、32KB SRAMOriginal XIAO 相得益彰——就像你可以看到它比拇指指甲大一點。

poYBAGNYkmuARUgoAABEH-OTymU629.png
Original XIAO – 如您所見,它比拇指指甲大一點。
?

后來 RP2040 芯片問世并提供了更好的規(guī)格 Cortex M0+ 設計。兩者都非常有能力運行我們將用于該項目的微型神經(jīng)網(wǎng)絡,但如果您有一些要求更高的應用程序,那么選擇 XIAO RP2040 而不是原來的 XIAO 確實有意義。

pYYBAGNYkm-ARBCNAAD0sGxz1i0994.jpg
?

作為一名軟件工程師,我肯定和你們中的許多人一樣,會花很多時間在我椅子上發(fā)光的屏幕前。而在當天晚些時候,保持適當?shù)淖藙葑兊美щy。

poYBAGNYknGAegHXAABPZWG4zTs014.png
?

如果有一種方法可以制造一種設備,該設備可以學習您的特定身體姿勢以正確和錯誤的姿勢,并在您過度無精打采或進入“蟒蛇姿勢”時警告您……等一下,有!

為機器學習模型提供數(shù)據(jù)的任務的最佳傳感器顯然是加速度計。XIAO 系列的所有板子都非常小,沒有配備加速度傳感器。雖然我們可以使用XIAO 擴展板進行開發(fā)和測試,但它消除了 XIAO 板具有的低占用空間優(yōu)勢。如果您要創(chuàng)建自己的產(chǎn)品,更好的選擇是為芯片或 SoM 創(chuàng)建自己的定制 PCB 板。我請我們的硬件工程師為 XIAO 設計一個簡單的載板,其中包括 LIS3DH 加速度計、蜂鳴器和帶電源開關的電池連接器。

poYBAGNYknWALZY1AAW1f-hOfHY257.png
?

然后我們使用 Seeed studio Fusion 服務打印了一些 PCBA 樣本——為此,請訪問https://www.seeedstudio.com/fusion_pcb.html并上傳 Gerber 文件,其中包含 PCB 設計并為電路板選擇適當?shù)?a target='_blank' class='arckwlink_none'>參數(shù),例如如層數(shù)、基材、最小鉆孔尺寸等。我們可以看到,一個簡單的 2 層板 10 塊加上運費約為 4.9 美元。

poYBAGNYkneAL2rTAACpmtoePD8725.png
?

如果您想在沒有定制 PCB 的情況下重復實驗,您可以將Grove LIS3DH加速度計模塊連接到 XIAO 擴展板并開始收集數(shù)據(jù)。我為每個姿勢收集了 3 個數(shù)據(jù)樣本,每個 60 秒,設備附在我背上的 T 恤上。

pYYBAGNYknqANcchAADU0LSVP7k951.png
?

對于每個樣本,我保持相同的姿勢,但包括一些手臂、頭部和軀干的運動來模擬正?;顒?。

我選擇了 5 秒的時間窗口和 1 秒的窗口偏移和展平處理塊,因為我們正在處理非常緩慢的移動數(shù)據(jù)。一個非常簡單的全連接網(wǎng)絡提供了良好的準確性。這是Edge Impulse 項目的公共版本的鏈接。

pYYBAGNYkoCAX-6eAAC1a1V9TwU074.png
?

通過收集更多數(shù)據(jù)并確保可以識別正確和不正確的姿勢,可以通過衣服上的設備定位的一些變化來做出一些改進。由于該設備被認為是個人使用設備,因此無需推廣到不同人的姿勢,并且可以輕松地重新訓練。您可以在實時分類選項卡中檢查訓練后它檢測您的姿勢的能力。

在您對準確性感到滿意后,將生成的模型下載Arduino 庫并將其復制到您的 Arduino 草圖/庫文件夾中。您可以下載示例代碼,該代碼將收集 5 秒的樣本,執(zhí)行推理并在檢測到其中一個不正確的姿勢時打開蜂鳴器。

void loop()
{

    ei_printf("Sampling...\n");

    // Allocate a buffer here for the values we'll read from the IMU
    float buffer[EI_CLASSIFIER_DSP_INPUT_FRAME_SIZE] = { 0 };

    for (size_t ix = 0; ix < EI_CLASSIFIER_DSP_INPUT_FRAME_SIZE; ix += 3) {
        // Determine the next tick (and then sleep later)
        uint64_t next_tick = micros() + (EI_CLASSIFIER_INTERVAL_MS * 1000);

        lis.getAcceleration(&buffer[ix], &buffer[ix+1], &buffer[ix + 2]);
        buffer[ix + 0] *= CONVERT_G_TO_MS2;
        buffer[ix + 1] *= CONVERT_G_TO_MS2;
        buffer[ix + 2] *= CONVERT_G_TO_MS2;

        delayMicroseconds(next_tick - micros());
    }

    // Turn the raw buffer in a signal which we can the classify
    signal_t signal;
    int err = numpy::signal_from_buffer(buffer, EI_CLASSIFIER_DSP_INPUT_FRAME_SIZE, &signal);
    if (err != 0) {
        ei_printf("Failed to create signal from buffer (%d)\n", err);
        return;
    }

    // Run the classifier
    ei_impulse_result_t result = { 0 };

    err = run_classifier(&signal, &result, debug_nn);
    if (err != EI_IMPULSE_OK) {
        ei_printf("ERR: Failed to run classifier (%d)\n", err);
        return;
    }

    // print the predictions
    ei_printf("Predictions ");
    ei_printf("(DSP: %d ms., Classification: %d ms., Anomaly: %d ms.)",
        result.timing.dsp, result.timing.classification, result.timing.anomaly);
    ei_printf(": \n");
    for (size_t ix = 0; ix < EI_CLASSIFIER_LABEL_COUNT; ix++) {
        ei_printf("    %s: %.5f\n", result.classification[ix].label, result.classification[ix].value);
    }
#if EI_CLASSIFIER_HAS_ANOMALY == 1
    ei_printf("    anomaly score: %.3f\n", result.anomaly);
#endif
    
  if (result.classification[1].value > ALARM_THRESHOLD || result.classification[2].value > ALARM_THRESHOLD)
  {     
  tone(BUZZER_PIN, 523, 250);
  delay(250);
  noTone(BUZZER_PIN);
  delay(250);  
  tone(BUZZER_PIN, 523, 250);
  delay(250);  
  noTone(BUZZER_PIN);    
  }

}

由于它是相對緩慢變化的數(shù)據(jù),我們不需要快速的響應時間,正常的順序推理管道非常適合這個應用程序。

上面的一個步驟是使用最新的 XIAO BLE 并將設備連接到用戶的智能手機,這將允許更好的警報、統(tǒng)計等。

poYBAGNYkoOAXYCmAADZ8of_Gfc391.png
?

即將發(fā)布的 Seeeduino BLE 有兩個版本:BLE 和 BLE Sense。在 SBC 和服務器上執(zhí)行了更大的 ML 模型之后,在最小的設備上修補機器學習對我來說確實是一次令人大開眼界的體驗。如果您想繼續(xù)學習該主題,請查看Coursera 和 Edge Impulse 提供的免費課程,以及Codecraft,這是一種圖形編程環(huán)境,允許創(chuàng)建 TinyML 應用程序并將其部署到 Wio Terminal。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費