06 AI辨識
(2022/06/29)
利用Pixel:Bit玩AI,由於法蘭斯老師做了很多AI相關的積木,把進入AI的入門變簡單了!雖是如此,我覺得玩AI真的很燒腦,一直測試,有時影像一直卡頓,花了很多時間,大部份的時間都是在等待,不管如何,先有一些簡單的成果,以後有時間再做更深入的研究!如下,供參
一、法蘭斯提供了很多AI辨識積木
二、人臉辨識
簡單測試:
要選用【張流】的積木
通訊鮑速:建議用9600以下
測試畫面:
畫面會卡頓卡頓的
畫面下方會呈現很多參數值(如年紀、性別、各喜怒哀樂表情...及概率...方框的位置及長寛高等資料)
張開嘴就開燈:
只要張開嘴,表情中的【驚訝】率就會大於0.9,所以利用此來做判斷
可如下圖,針對自己的需求去做判斷,如年紀、性別、各喜怒哀樂表情...及概率...方框的位置及長寛高等資料去做【判斷式】
一樣採用Ajax的GET方式來觸發,並打開或關閉金手指腳位上的LED燈
完整程式如下:
先利用監控視窗來測試一下
當嘴巴張開時,surprised>0.9時,輸出的值就會變成1
註:一剛開始測試時一直有問題,原來是有BUG,還好法蘭斯很快解決了!
pro mini的程式
如此一來,就可以利用開嘴來開燈,閉嘴來關燈了!
三、全身偵測
舉右手開燈舉左手關燈:
使用【全身辨識】積木
程式都參考法蘭斯的上課講義
重點如下:
舉【右手】的條件是【右手腕Y <右耳Y】且【左手腕Y >左耳Y】
舉【左手】的條件是【右手腕Y>右耳Y】且【左手腕Y<左耳Y】
這條件有點怪怪的,好像剛好相反?不知是否是BUG?只能先把右手腕看成螢幕的右邊
完整程式
測試結果
舉右手(鏡頭內的左方手)開燈、舉左手(鏡頭內的右方手)關燈
程式內的左右方好像是看螢幕呈現出來的左右方?
積木內的功能設定
上方的設定:、左手掌代表呈現出來的人的左手(不是螢幕方向)、右手掌代表呈現出來的人的右手(不是螢幕方向),跟上方寫程式的方向好像又不同
拇指食指尖距離控制開燈:
使用【全身辨識】積木
程式都參考法蘭斯的上課講義
重點如下:
完整程式:
右轉頭開燈左轉頭關燈:
使用【全身辨識】積木
程式都參考法蘭斯的上課講義
重點如下:
完整程式
測試結果
四、物件辨識
偵測有人就開燈:
使用【物件辨識】積木
程式都參考法蘭斯的上課講義
重點如下:
可辨識的物件非常多,近80 個
五、Google機器學習
偵測是否有戴口罩:
使用【機器學習(google)】積木
先去Google Teachable Machine訓練模型 https://teachablemachine.withgoogle.com/
模型訓練好後的網址:https://teachablemachine.withgoogle.com/models/cbZEAWFKY/
重點如下:
五、利用MQTT來傳遞訊息
舉右手開遠方的燈舉左手關遠方的燈
程式使用前面的【舉右手開燈舉左手關燈】來修改
使用吉哥的MQTT積木
使用尤大大的MQTTGO.io的MQTT Broker
完整程式如下:
測試如下:
法蘭斯補充:若無需取得開發板回傳資料,ajax積木可改用這個積木
相關積木檔案:
face:https://drive.google.com/file/d/1n4P96v3LHIso0mwlskbrsEdMrdu53l7n/view?usp=sharing
hand:https://drive.google.com/file/d/10suZl8xOBVgNjtmrQswyjWGwB-FPwAp-/view?usp=sharing
finger:https://drive.google.com/file/d/1myp7qgtiV25TwhNuJetfR1PR93T4kpeh/view?usp=sharing
head:https://drive.google.com/file/d/1BrtZs_gNkUFTxm_m4KeJDISXzPX1qHu0/view?usp=sharing
person:https://drive.google.com/file/d/115jF9pLVi_2wvLpAmoVjx-SQmOkxNl7q/view?usp=sharing
mqtt:https://drive.google.com/file/d/1FsFiidQZS_xy5f4SoY0FhV-btlQDWGmg/view?usp=sharing