資料介紹
描述
這是 TinyML 課程系列的最后一篇文章——在之前的文章中,我們已經(jīng)討論了如何訓練和部署機器學(xué)習模型,用于音頻場(chǎng)景分類(lèi)、異常檢測、語(yǔ)音識別和其他任務(wù)到 Wio Terminal,一個(gè)緊湊的生產(chǎn)就緒開(kāi)發(fā)板來(lái)自 Seeed 工作室。
2022 年 3 月 29 日更新。我盡我所能定期更新我的文章,并根據您在 YouTube/Hackster 評論部分的反饋。如果您想表達對這些努力的支持和贊賞,請考慮給我買(mǎi)杯咖啡(或披薩):) 。
Wio Terminal 雖然由于存在多個(gè)內置傳感器和一個(gè)外殼而便于實(shí)驗,但對于某些應用(例如可穿戴設備)來(lái)說(shuō)可能有點(diǎn)過(guò)于笨重。在最后一個(gè)項目中,我們甚至會(huì )使用 Tinier 并使用 Seeeduino XIAO 板——即原始 XIAO和更新的XIAO 2040 ,并將簡(jiǎn)要提及即將發(fā)布的XIAO BLE 。
Specks-wise, 最初的 XIAO 在發(fā)布時(shí)可能是最小的 M0 開(kāi)發(fā)板,它的尺寸與 ARM? Cortex?-M0+ 48MHz 微控制器 (SAMD21G18) 和 256KB 閃存、32KB SRAMOriginal XIAO 相得益彰——就像你可以看到它比拇指指甲大一點(diǎn)。
后來(lái) RP2040 芯片問(wèn)世并提供了更好的規格 Cortex M0+ 設計。兩者都非常有能力運行我們將用于該項目的微型神經(jīng)網(wǎng)絡(luò ),但如果您有一些要求更高的應用程序,那么選擇 XIAO RP2040 而不是原來(lái)的 XIAO 確實(shí)有意義。
作為一名軟件工程師,我肯定和你們中的許多人一樣,會(huì )花很多時(shí)間在我椅子上發(fā)光的屏幕前。而在當天晚些時(shí)候,保持適當的姿勢變得困難。
如果有一種方法可以制造一種設備,該設備可以學(xué)習您的特定身體姿勢以正確和錯誤的姿勢,并在您過(guò)度無(wú)精打采或進(jìn)入“蟒蛇姿勢”時(shí)警告您……等一下,有!
為機器學(xué)習模型提供數據的任務(wù)的最佳傳感器顯然是加速度計。XIAO 系列的所有板子都非常小,沒(méi)有配備加速度傳感器。雖然我們可以使用XIAO 擴展板進(jìn)行開(kāi)發(fā)和測試,但它消除了 XIAO 板具有的低占用空間優(yōu)勢。如果您要創(chuàng )建自己的產(chǎn)品,更好的選擇是為芯片或 SoM 創(chuàng )建自己的定制 PCB 板。我請我們的硬件工程師為 XIAO 設計一個(gè)簡(jiǎn)單的載板,其中包括 LIS3DH 加速度計、蜂鳴器和帶電源開(kāi)關(guān)的電池連接器。
然后我們使用 Seeed studio Fusion 服務(wù)打印了一些 PCBA 樣本——為此,請訪(fǎng)問(wèn)https://www.seeedstudio.com/fusion_pcb.html并上傳 Gerber 文件,其中包含 PCB 設計并為電路板選擇適當的參數,例如如層數、基材、最小鉆孔尺寸等。我們可以看到,一個(gè)簡(jiǎn)單的 2 層板 10 塊加上運費約為 4.9 美元。
如果您想在沒(méi)有定制 PCB 的情況下重復實(shí)驗,您可以將Grove LIS3DH加速度計模塊連接到 XIAO 擴展板并開(kāi)始收集數據。我為每個(gè)姿勢收集了 3 個(gè)數據樣本,每個(gè) 60 秒,設備附在我背上的 T 恤上。
對于每個(gè)樣本,我保持相同的姿勢,但包括一些手臂、頭部和軀干的運動(dòng)來(lái)模擬正?;顒?dòng)。
我選擇了 5 秒的時(shí)間窗口和 1 秒的窗口偏移和展平處理塊,因為我們正在處理非常緩慢的移動(dòng)數據。一個(gè)非常簡(jiǎn)單的全連接網(wǎng)絡(luò )提供了良好的準確性。這是Edge Impulse 項目的公共版本的鏈接。
通過(guò)收集更多數據并確??梢宰R別正確和不正確的姿勢,可以通過(guò)衣服上的設備定位的一些變化來(lái)做出一些改進(jìn)。由于該設備被認為是個(gè)人使用設備,因此無(wú)需推廣到不同人的姿勢,并且可以輕松地重新訓練。您可以在實(shí)時(shí)分類(lèi)選項卡中檢查訓練后它檢測您的姿勢的能力。
在您對準確性感到滿(mǎn)意后,將生成的模型下載為 Arduino 庫并將其復制到您的 Arduino 草圖/庫文件夾中。您可以下載示例代碼,該代碼將收集 5 秒的樣本,執行推理并在檢測到其中一個(gè)不正確的姿勢時(shí)打開(kāi)蜂鳴器。
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í)間,正常的順序推理管道非常適合這個(gè)應用程序。
上面的一個(gè)步驟是使用最新的 XIAO BLE 并將設備連接到用戶(hù)的智能手機,這將允許更好的警報、統計等。
即將發(fā)布的 Seeeduino BLE 有兩個(gè)版本:BLE 和 BLE Sense。在 SBC 和服務(wù)器上執行了更大的 ML 模型之后,在最小的設備上修補機器學(xué)習對我來(lái)說(shuō)確實(shí)是一次令人大開(kāi)眼界的體驗。如果您想繼續學(xué)習該主題,請查看Coursera 和 Edge Impulse 提供的免費課程,以及Codecraft,這是一種圖形編程環(huán)境,允許創(chuàng )建 TinyML 應用程序并將其部署到 Wio Terminal。
- TinyML變得簡(jiǎn)單:關(guān)鍵詞識別(KWS) 2次下載
- TinyML變得簡(jiǎn)單:圖像分類(lèi) 0次下載
- 使用TinyML開(kāi)發(fā)私人教練 0次下載
- TinyML狗吠止動(dòng)器開(kāi)源硬件 0次下載
- 帶有tinyML的肩部恢復設備 2次下載
- 計算器labview實(shí)現的課程實(shí)驗報告 26次下載
- 機器人學(xué)校教材MZ07-CFD標準課程 1次下載
- 智能家電控制技術(shù)課程項目設計下載 2次下載
- 89C51單片機課程設計 131次下載
- 基于LSTM網(wǎng)絡(luò )的在線(xiàn)學(xué)習課程推薦模型 5次下載
- ABB機器人操作培訓課程 46次下載
- 開(kāi)源課程行動(dòng)倡議及科學(xué)導論綜述 6次下載
- 電力電子技術(shù)基礎之課程設計課件下載 29次下載
- java300集大型基礎課程介紹 3次下載
- 計量學(xué)基礎課程課件下載.ppt 24次下載
- fpga學(xué)習需要具備哪些課程 132次閱讀
- 當Smarter變得更小時(shí),只有雙核Micro才能做到 215次閱讀
- 目前在3A負載點(diǎn)轉換器中有可能實(shí)現更小尺寸 312次閱讀
- 【tinyML】使用EdgeImpulse讓您的Arduino可以辨識手勢! 3349次閱讀
- 如何使用TinyML在內存受限的設備上部署ML模型呢 660次閱讀
- 如何在 MCU 上快速部署 TinyML 1399次閱讀
- 如何利用TinyML實(shí)現語(yǔ)音識別機器人車(chē)的設計 1821次閱讀
- 芯片制造向更小的目標前進(jìn) 2630次閱讀
- 更小更智能的電機控制器推進(jìn)HEV/EV市場(chǎng) 1023次閱讀
- 區塊鏈學(xué)習,五個(gè)基礎課程介紹 1.3w次閱讀
- Udacity公司將推出深度學(xué)習納米級基礎課程 877次閱讀
- 內存管理課程5節課的總結說(shuō)明 3664次閱讀
- 降壓斬波電路課程設計匯總 4.7w次閱讀
- DesignStart Cortex-M3軟件開(kāi)發(fā)網(wǎng)上課程 5519次閱讀
- 微型光纜的發(fā)展趨勢:更小、更快、更強韌 2280次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開(kāi)關(guān)電源設計實(shí)例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動(dòng)電路設計》 溫德?tīng)栔?zhù)
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學(xué)會(huì )AVR單片機與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多