2. 第二課¶
2.1. 簡介¶
歡迎參加Micro:bit 智能小車課程!在本課程中,我們將探索Micro:bit並學習如何在編程中如何控制Micro:bit智能小車。
2.2. 教學目標¶
讓學生清楚掌握Micro:bit 智能小車的AI鏡頭原理及其功用,並了解如何透過設計編程令AI鏡頭幫助智能小車實現更多功能。
2.3. HuskyLens人臉識別功能¶
2.3.1. 人臉識別是什麽?¶
下面簡單介紹一下人臉識別的四個步驟。
人臉探測:探測人臉位置並按幀選擇。
人臉對齊:通過定位特徵從不同角度辨識別人的臉。
人臉編碼:提取人臉信息並使其易於計算機理解。
人臉匹配:將人臉信息與現有數據庫進行匹配,得到相似度分數和給出匹配結果。
2.3.2. 人臉識別的應用¶
存取權系統:通過人臉識別,進入監獄、看守所、社區、學校和住宅等保護區的身份認可。
攝像監控系統:可用於監控公共場所的人群,如銀行、機場、體育場、商場和超市。
互聯網應用:利用人臉識別輔助網上支付,防止其他人盜用信用卡和保障社會
2.3.3. Husky lens 的人臉識別¶
而HuskyLens的人臉識別功能可以分爲人臉探測、學習及識別三個部分。
2.3.3.2. 人臉學習:¶
將HuskyLens屏幕中央的“+”字對準需人臉,單擊“學習按鍵”進行學習。如果識別到同一張臉,屏幕上會出現非白色框並顯示”人臉:ID1“,說明已經可以進行人臉識別了。(如果屏幕中央沒有“+”號,說明HuskyLens在該功能下已經學習過該物件)
由於人臉是立體的,HuskyLens單靠一個角度的影像無法認出一張人臉的所有角度。因此需要長按學習按鈕,一次過從多個方向學習一張人臉,或同一個人的多張相片。在學習過程中,另一面RGB燈為黃色。
2.3.3.3. 人臉識別:¶
HuskyLens學習過的人臉信息會自動保存起來。當檢測到學習過的人臉時,HuskyLens會將該人臉用不同顔色框框起來並標識“人臉:ID ”。此時RGB指示燈為綠色。
要清除已學習的人臉,在停止學習後短按“學習按鍵”,屏幕提示“再按一次遺忘!”。再次短按“學習按鍵”,即可刪除之前學習的東西。而要學習多張不同人臉,請參考第一課學習多個目標物件部分。
2.4. 練習1¶
先熟識一下HuskyLens的人臉識別功能,并學會更改物件名稱。
在學習人臉後,HuskyLens仍然只能以ID1、ID2的方式分辨人臉。與分辨物件種類不同,我們難以記住各種不同的人臉,更何況是和數字ID的組合,因此我們需要給它們不同的名字。
在學習不同人臉後,設計程序,試給不同人臉一個人名。
提示:
在HuskyLens >> 更多 内有以ID更改名稱的積木
沒有名字的點子的話,可以嘗試以下名字:Peter, Sam, Mary
由於HuskyLens更改物件需時,一次性更改多個物件名稱有可能失敗
所以使用“重複無限次”
效果:
2.5. 還原改變後的物件名稱¶
在使用HuskyLens積木將物件名稱改變後,會發現即使把學習數據遺忘後,新的ID1、2、3物件名稱仍然維持在改變後的狀態。然而,Makecode的HuskyLens擴展包并沒有把所有名稱直接一次過還原的積木。因此有兩個解決方法。
第一個是使用功能按鈕選擇初始化,但此行動會把所有系統設定設回原廠設定,因此需要把其他更改過的設定重新調較好。
第二個方法是再一次使用更改名稱積木,但是把名稱設爲“” (空字串),物件名稱就會還原成“人臉”。因此,只要按照練習1的做法把所有更改過的名稱還原就好。
2.7. 練習3¶
設計程序,令HuskyLens在探測到不同人臉時執行不同動作。
ID | 車子動作 | 指示燈 |
---|---|---|
1 | 前進 | 1 |
2 | 向右水平移動 | 2 |
3 | 向左水平移動 | 3 |
4 | 後退 | 4 |
無或其他 | 停下 | X |
提示:
假設HuskyLens一次只看到一張人臉
由於鏡頭的角度無法實時調較,因此將不同照片輪流放在車子前,或手持車子並將鏡頭對住人臉效果較好。
控制車子馬達的積木在Stemhub:bit擴展包:https://github.com/stemhub/pxt-Stemhubbit