01 Stretch
(2022/09/17)
下週一的課後社團要開始上課了,今年仍然開AI的課程,今天把【利用SCRATCH玩AI】的簡單教材(Stretch3)先寫一下,方便以後的教學,如下,供參
一、認識Stretch3
日本人【石原淳也】所開發的Scratch3的擴充功能
使用網站(客製化Scratch):https://stretch3.github.io/
有書可看,本文內容參考這本書來製作
二、使用ImageClassifier2Scratch(影像分類)擴充功能
進入如上客製化Scratch的網站(建議使用Chrome瀏覽器)
點擊左下角【添加擴展】,找到ImageClassifier2Scratch擴充功能
此ImageClassifier2Scratch擴充功能已事先學習過各種物體的模型資料,所以我們不用再訓練它!它是以MobileNet的模型當作基礎
辨識物體
畫面背景要單純一點比較好
發現辨識不是很準確
請小貓咪把辨識到的物品用中文說出來
三、使用ML2Scratch擴充功能
點擊左下角【添加擴展】,找到ML2Scratch擴充功能
前一個ImageClassifier2Scratch擴充功能不用學習,這ML2Scratch要先經過學習才能認識新事物。
第一個作品:剪刀石頭布
先要讓電腦認識什麼是剪刀?什麼是石頭?什麼是布?
所以我們要訓練三個標籤
先完成如下動作
訓練【剪刀】
先在鏡頭出各式【剪刀】樣式(要靠近鏡頭主角畫面大一點;改變角度、位置及手的正反面)
再按下【學習標籤1】一下,代表訓練了一次
先訓練約30張的剪刀圖形(兩隻手都要比)
同理訓練【石頭】及【布】
這個步驟稱作【建立分類模型】
使用分類模型辨識影像
出剪刀、石頭、布來讓鏡頭識別
下載學習資料
把自己訓練完的資料下到電腦,以供以後使用(Json檔)
作品二:建立全班臉孔的模型
嘗試建立全班同學的臉孔,老師把模型傳給學生,然後做互動,如:
某某同學早安
某某同學沒戴口罩?(可否同時進行兩種模型?)
四、使用TM2Scratch擴充功能
點擊左下角【添加擴展】,找到TM2Scratch擴充功能
使用這擴充功能其模型是透過Google的 Teachable Machine來訓練的
Google Teachable Machine網址:https://teachablemachine.withgoogle.com/
Teachable Machine已經提供了影像、聲音、姿勢等三種機器學習環境
ML2Scratch與TM2Scratch的比較
儲存分類模型的位置
ML2Scratch:在Scratch內(本機的記憶體)
TM2Scratch:雲端(Google的伺服器上)
支援學習功能
ML2Scratch:影像辨識
TM2Scratch:影像辨識、聲音辨識、姿勢辨識
作品一:有沒有戴口罩?
利用Teachable Machine建立有沒有戴口罩的分類模型(影像)
這部份網路上很多教學,不再一步一步介紹
直接拿我建立好的模型做示範
模型網址:https://teachablemachine.withgoogle.com/models/cbZEAWFKY/
貼上模型網址來使用
完整如下:
作品二:開燈、關燈 (測試聲控)
利用Teachable Machine建立開燈、關燈的分類模型(音訊)
直接拿我訓練好的語音模型做示範
模型網址:https://teachablemachine.withgoogle.com/models/IuD3Vr-7O/
作品三:請同學發揮創意
五、使用PoseNet2Scratch擴充功能
PoseNet體驗:https://storage.googleapis.com/tfjs-models/demos/posenet/camera.html
點擊左下角【添加擴展】,找到PoseNet2Scratch擴充功能
一共可以量測出以下部位的X、Y座標:鼻、左眼、右眼、左耳、右耳、左肩、右肩、左肘、右肘、左手腕、右手腕、左腰、右腰、左膝、右膝、左腳踝、右腳踝
作品一:變裝秀
粉紅球(小丑鼻)
X,Y座標:鼻子的X、Y座標
距離遠近的大小修正:(兩眼距離/60)*100 %
眼鏡
X,Y座標:鼻子的X座標、任一眼的Y座標
距離遠近的大小修正:(兩眼距離/30)*100 %
這邊的使用很簡單,就看如何去應用,所以這邊可設計很多簡單的遊戲,如
如用鼻子移動去接香蕉、跳恐龍