這是一個使用 micro:bit CreateAI 的絕佳入門專案。 製作一個智慧鍛鍊計時器,可以告訴您活動或靜止的時間長度。
步驟 1:了解它
它是如何運作的?
在這項專案中,您將訓練機器學習 (ML) 模型來辨識來辨識您是否正在運動。
您會將該模型與 MakeCode 程式合併以製作一個鍛鍊計時器,並且將此專案放在您的 BBC micro:bit 上。 只需配戴 micro:bit 就能測量您進行鍛鍊或未鍛鍊的時間長度。
按下按鍵 A 來查看您已活動的秒數,以及按下 B 查看您靜止的秒數。
什麼是機器學習?
機器學習 (ML) 是人工智慧 (AI) 的一種,電腦可以根據數據進行學習並做出決策。
ML 模型經過人類訓練來幫助它們做出這些決策,例如,當您以不同方式移動您的 micro:bit 時辨識不同的「動作」。
我將需要做些什麼?
人工智慧系統需要人類來設計、建造、測試和使用它們。 您將收集數據來訓練 ML 模型、測試它、改進它,並將其與電腦程式碼結合來製造使用 AI 的智慧型裝置。 您將運用 micro:bit 和 micro:bit CreateAI 網站來做這件事。
步驟 2:建立它
你需要的東西
- micro:bit V2、USB 數據纜線、具有 2 顆 AAA 電池的電池組
- 一台可以使用 Chrome 或 Edge 網路瀏覽器存取 micro:bit CreateAI 網站的電腦 (例如桌上型電腦、筆記型電腦,或 Chromebook)
- 如果您的電腦沒有具備藍牙功能,則需要額外的 micro:bit V2
- 條帶和支架,或者將 micro:bit 連接到您手腕上的其他方式 (例如彈性工藝桿或鬆緊帶)
- 您可能也會發現我們的micro:bit CreateAI 教學技巧很有用
收集數據樣本
當您在 micro:bit CreateAI 中開啟專案時,您會看到我們為您提供了一些「鍛鍊」和「未鍛鍊」動作的數據樣本:
exercising
not exercising
您將使用 micro:bit 的移動感應器或加速度計來新增您自己的移動樣本。
在 micro:bit CreateAI 中,點擊「連線」按鍵來連接您的數據收集 micro:bit 並依照指示進行操作。
將數據收集 micro:bit 連接在您的手腕上。 決定一些常見於鍛鍊中的動作,例如原地跑步、開合跳或是步行。 點擊第一個動作「鍛鍊」,然後點擊「記錄」以記錄您自己的數據樣本。 如果您犯了錯誤,您可以刪除任何您不需要的樣本。 您也可以按下 micro:bit 上的按鍵 B 開始錄製。
對「未鍛鍊」動作執行相同的操作以確保您在不同的方向上收集樣本。
檢查數據樣本:所有「鍛鍊」樣本都看起來像在移動嗎? 所有「未鍛鍊」的樣本都看起來像是您靜止不動嗎?
訓練和測試模型
點擊「訓練模型」按鍵來訓練模型,然後測試它。 嘗試到處移動,並且看看估計的動作是否顯示為「鍛鍊」。 保持靜止,看看是否估計為「未鍛鍊」。 將您的 micro:bit 交給其他人配戴,看看對於他們是否也能良好運作。
改進您的模型
大多數模型都可以藉由更多數據進行改進。 如果模型需要改進以辨識您的動作,點擊「← 編輯數據樣本」。
您可以刪除您認為不適合的任何數據樣本 (因為它們看起來與相同動作的其他樣本完全不同),或是新增來自您自己和其他人的更多樣本。
再次訓練模型,然後再次測試。
將模型及程式碼放置在您的 micro:bit 上
在 micro:bit CreateAI 中點擊「在 MakeCode 內編輯」以在 MakeCode 編輯程式中查看專案程式碼。
您可以像在任何 micro:bit MakeCode 專案中一樣修改程式碼,或者直接嘗試。 使用 USB 數據纜線接附 micro:bit,點擊 MakeCode 畫面中的「下載」按鍵,然後依照指示將您的 AI 模型和程式碼區塊傳輸到 micro:bit。 拔下 micro:bit 插頭,裝上電池組,配戴它並測試。
- 按下按鍵 A 看看您已經鍛鍊了多少秒。
- 按下按鍵 B 看看您已經未鍛鍊了多少秒。
- 按下 micro:bit 背面的重設按鍵或是斷開並重新連接電池組來重設計時器。
程式碼區塊如何運作
程式碼使用兩個變數來追蹤您鍛鍊和未鍛鍊的時間長度。 當程式第一次運行時,它將這些計時器變數設定為 0。
當 ML 模型決定您已開始鍛鍊或未鍛鍊時,會觸發「on ML...start」區塊。 它們會根據 micro:bit 估計您進行中的動作在 micro:bit 的 LED 顯示器上顯示不同的圖示。
當 ML 模型決定您已完成一項動作時,會觸發「on ML... stop」區塊。 每個區塊內的程式碼都會清除螢幕,並且將剛完成的動作的持續時間新增到儲存各個動作的總時間的變數內。
「on button... pressed」區塊包含用於顯示變數的程式碼,這些變數顯示您已鍛鍊和未鍛鍊的總時間。 計時器以毫秒(千分之一秒)為單位進行計數,因此顯示的數字會除以 1000 來顯示以秒為單位的總持續時間。
評量
它測量您運動或休息的時間長度有多準確? 它對不同的人同樣有效嗎?
藉由三個簡單步驟來測試計時器程式碼是否與模型配合良好:
- 按下重設按鍵。
- 鍛鍊 30 秒。
- 按下按鍵 A。您應該會看到您的顯示器上捲動接近 30 的數字。
- 如果您想改進模型,點擊 MakeCode 編輯程式左上角的 <箭頭來新增更多數據樣本並且重新訓練模型。
將簡單 AI 運動計時器與步數計數器的不使用 ML (機器學習) 的專案進行比較:
- 如何利用機器學習建立更有用的專案?
- 製作有用的專案總是需要人工智慧/機器學習嗎?
步驟 3:擴展它
- 當模型無法識別您的動作顯示「?」時,嘗試新增程式碼區塊。
- 新增聲音區塊以在偵測到鍛鍊或未鍛鍊時提供音訊回饋。
- 嘗試人工智慧活動計時器專案來訓練您的 micro:bit 偵測特定鍛鍊或活動並為其計時。
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.