賦予micro:bit 專案 AI 超能力!機器學習圖片辨識 (Image)、聲音錄製 (Audio)、身體姿勢 (Pose) A MICRO:BIT OF AI Teachable Machine|奧斯丁國際有限公司 OURSTEAM Internationl
icon教學資源
2023/06/28

賦予micro:bit 專案 AI 超能力!機器學習圖片辨識 (Image)、聲音錄製 (Audio)、身體姿勢 (Pose) A MICRO:BIT OF AI Teachable Machine

賦予micro:bit 專案 AI 超能力!A MICRO:BIT OF AI 
透過此網站可將micro:bit串接到電腦上的視訊鏡頭,並且做AI圖像機器訓練。
視訊鏡頭可辨識到臉部表情、舉手動作、錄製的聲音或任何你想要放在鏡頭前的物體,
當micro:bit 可判斷到香蕉爛掉沒、你是否正在搖頭、或是聽到聲控指令時,便可透過編程寫出對應的回應!

感謝 Ted Lee 老師無私的分享-- 小彼特聲控燈


micro:bit AI機器學習專案製作流程
1. 取得Teachable Machine 圖像識別模型

2. micro:bit 代碼編程

3. 將第一步驟和第二步驟的內容結合在一起。
用USB線連接micro:bit和電腦後,按下第三步驟按鍵,在彈出的視窗中點選Microbit
嘿! Serial Port 序列埠的名字可能是 "mbed Serial Port"


以下將對micro:bit AI機器學習專案製作流程進行詳細介紹
請先準備好以下材料:
1. 硬體: micro:bit V1.5以上版本、電腦視訊鏡頭、電腦收音麥克風(可用視訊鏡頭內建的麥克風)、可傳輸資料的USB線
2. 軟體: 電腦windows 10以上、新版本makecode網頁版 (通常學術網域如果不會阻擋,開啟makecode都會自動更新)

1. Google Teachable Machine AI Model

什麼是Teachable Machine?
Teachable Machine是一項網頁式工具,旨在讓所有人都能輕鬆快速地建立機器學習模型


我可以使用哪些內容訓練模型?

Teachable Machine極具彈性,可處理現有檔案或即時擷取範例,想怎麼用,就怎麼用。
你甚至可以選擇只在裝置上離線使用,不必擔心電腦上的任何網路攝影機或麥克風資料外流。


圖片 (Image)
使用檔案或網路攝影機,訓練模型將圖片分類


音訊 (Audio)
錄製簡短的音訊樣本,藉此訓練模型將音訊分類


姿勢 (Pose)
使用檔案或在網路攝影機中擺姿勢,藉此訓練模型將身體姿勢分類

如何使用Teachable Machine這項工具?
1. 收集樣本
收集範例,並將範例分為你想讓電腦學會的類別




2. 訓練模型
訓練模型並立即進行測試,看看它是否能將新範例正確分類




3. 匯出模型
匯出訓練好的專案模型。可以直接下載,也可以保存在線上




開始使用 Google Teachable Machine AI Model : 新增專案

試玩2017年推出的第一版Teachable Machine
https://teachablemachine.withgoogle.com/v1/

 

Google Teachable Machine AI Model 教案範例

開始使用 Google Teachable Machine AI Model : 新增專案

圖片 Image: Bananameter
瞭解如何建立模型,用於判斷香蕉是否已熟透

1. 圖像分類 (香蕉熟成程度: 還早Too Early、已成熟Ripe、太爛了Too Late、沒有香蕉No Banana)


2. 用電腦視訊鏡頭(Webcam),透過鏡頭錄製分類好的物品狀態


※沒有香蕉的類別同樣也可試著錄製一隻沒有香蕉的手※

3. 所有類別的圖像錄製完成後,按下訓練 (Training)


4. 在右側預覽查看訓練的模型是否有效





更詳細的教案說明請點選原文: Teachable Machine Tutorial: Bananameter. Barron Webster


音訊 Audio: Snap Clap Whistle
瞭解如何建立模型,用於偵測你發出的簡單聲音

開始使用 Google Teachable Machine AI Model : 新增專案

1. 音訊分類 (沒有聲音Background Noise、斷裂聲Snaps、拍手聲Claps、口哨聲Whistles)


2. 沒有聲音的類別,我們通常會錄製20秒的環境音(Background Noise),表示沒有任何聲響發生
這個類別在點進Audio學習時就會內建好
不同環境會有不一樣的環境噪音,例如森林和辦公室就不同,所以可依據不同的情境錄製音頻樣本


3. 另外新增三個聲音類別: 斷裂聲Snaps、拍手聲Claps、口哨聲Whistles
當然你也可以發出任何你喜歡的聲音,按下Mic即可錄製音效

 
4. 每個類別至少錄製8秒以上,這樣可以產生八個1秒的聲音樣本,提供的學習數據越多,辨識分類的能力就越好


5. 所有類別錄製完成後點選訓練 Training


6. 訓練完成後就可以在右側預覽,發出不同的聲響查看機器學習後的成果


更詳細的教案說明請點選原文: Teachable Machine Tutorial: Snap, Clap, Whistle. Barron Webster

姿勢 Pose: Head Tilt
瞭解如何建立模型,用於辨識頭部傾斜方向

開始使用 Google Teachable Machine AI Model : 新增專案

什麼是姿勢偵測? 也就是從一個人的照片中,可以評估他們的姿勢---手臂、腿、頭部和關節的位置


1. 姿勢分類 (無傾斜No Tilt、左傾斜Left Tilt、右傾斜Right Tilt)


2. 錄製影像



不傾斜分類可以錄製一堆沒有傾斜的樣子讓機器學習

如果想要解放雙手,在不按住按鈕的情況下錄製樣本,可以進入設置面板
切換 Hold-to-record 為off (關閉"按住即可錄製")
設定 Delay秒數: 倒數3秒後開始錄製
設定 Duration秒數: 錄製影片總長度為4秒
秒數設定可依據實際情況調整


3. 點擊訓練


4. 查看成果




更詳細的教案說明請點選原文: Teachable Machine Tutorial: Head Tilt. Barron Webster

完成訓練後,匯出專案模型
1. 點擊Export Model


2. 點擊 Upload my model 

3. 稍等一下下...


4. 點一下 Copy複製模型連結,並貼在任何你可以保存好它的地方 (記事本、word、用Line傳給朋友...)
等等在最後會用到

 

2. Starter micro:bit code

電腦透過USB傳輸線連接,以Serial Port 序列埠和micro:bit溝通
要讓兩個裝置互相傳送檔案,我們一般會想到使用藍芽、紅外線等方式
而透過Serial Port序列埠,則是以USB(孔)傳輸線做為橋樑
以有線的方式讓micro:bit傳送數據給電腦,電腦也可以直接讀取micro:bit輸出到串口(Serial Port)的數值
本次的專案則是透過電腦傳送Teachable Machine判斷後的結果給micro:bit
micro:bit接收到class學習樣本類別的結果後,做出相對應的回饋




補充資料: 活用micro:bit x Serial Port 在智慧農業上做即時數據監測

要使用此功能前,請確保micro:bit版本為V1.5以上、makecode網頁版保持最新版本、windows 10 以上
https://makecode.microbit.org/device/serial

將變數SerialDate=後面的文字更改為Teachable Machine分類名稱,並更改辨識後的反饋

makecode程式碼連結: https://makecode.microbit.org/#pub:_LoCWoF0sbgr8

編程要訣
1. 將Class 1、Class 2、Class 3...更改為Teachable Machine的分類名稱,空格、拼音和大小寫都要一模一樣
2. 因為要和micro:bit編程結合,所以AI學習的分類名稱不能以中文命名,請用英文字母及數字表示,全長不能超過12個字元
3. 當 micro:bit 從 https://microbitai.inventor.city 視覺辨識網站接收到該類別名稱時,在這些 if 語句中放入的任何內容都將被激活
4. 按+可新增更多類別,只需複製這個六邊形積木,並放入新的else if 語句中即可;若是不需要這麼多類別,則按-刪除
5. 完成編程後,將程式燒錄至micro:bit
 

3. Connect your micro:bit to your AI!

實現micro:bit 專案 AI 超能力!
最後就是要將步驟1(學習好的素材)及步驟2(編程好的程式)結合
並透過摸得到的硬體micro:bit,實現AI專案

1. 將具有傳輸功能的USB線連接micro:bit 及電腦

2. 進入網頁 https://microbitai.inventor.city/ 

3. 按下第三步驟按鍵


4. 在彈出的視窗中點選Microbit,串行端口的名字可能是 "mbed Serial Port(COMXX)"


5. 貼上步驟1訓練模型匯出產生的連結後,按Ready!


6. 專案匯入中,請稍等...


7. 第一次匯入訓練模型時,可能會跳出麥克風或相機存取權限要求,按允許即可
  

8. 匯入成功!

Audio辨識結果


Image辨識結果


Pose辨識結果

專案說明: 此專案是結合 AI teachable machine,從電腦視訊鏡頭判斷是否有人進門,當鏡頭偵測到有人進入時
便播放預先錄製好的錄音檔: 「您好,歡迎光臨奧斯丁國際」,micro:bit連接專用音源線將聲音擴大到喇叭,聲量更大,聽得更清楚!


makecode代碼: https://makecode.microbit.org/S13807-68780-59993-11220

《延伸閱讀: V2 Audio Recording 聲音錄製 擴充積木專案
4. 總結


1. 以整合Teachable Machine功能的網站收集影像及聲音樣本,作為AI訓練模型範本
https://teachablemachine.withgoogle.com/

2. 連接micro:bit https://microbitai.inventor.city/ 


3. 將辨識結果透過Serial Port方式傳送到micro:bit

4. micro:bit接收到偵測結果後,依據編程內容做反饋


 
logo
iconiconiconiconicon
icon  電話:04-2375-3535
icon  傳真:04-2256-9949
icon  統編:90386785
icon  E-mail:service@oursteam.com.tw
icon  LINE ID:@oursteam
Inspire every child to create