5. 第五課

../_images/5_14.png

5.1. 簡介

歡迎參加Micro:bit 智能小車課程!在本課程中,我們將探索Micro:bit並學習如何在編程中如何控制Micro:bit智能小車。

5.2. 教學目標

讓學生清楚掌握Micro:bit 智能小車的AI鏡頭原理及其功用,並了解如何透過設計編程令AI鏡頭幫助智能小車實現更多功能。

5.3. 物體分類

5.3.1. 物體分類是什麽?

Huskylens 的物體分類功能是以學習了不同的物體的多張照片,然後使用內置的機器學習算法進行比較,訓練完成之後,當HuskyLens的攝像頭畫面再次出現學習過的物體時,HuskyLens就可以識別出它們,並顯示其ID號。同一個物體的照片,學的越多,識別越精準。

5.3.2. HuskyLens物體分類與其他功能的差別

物體分類功能並不像其他的HuskyLens功能那樣,内置專門用來辨識一類物件的演算法,所以在辨識特定類別的物件時便沒有其他功能那麼精準。由於是從接近零開始學習物件,物體分類算法也不可以得出物體在屏幕上的相對位置嗎,而輸出方框的位置則是一直固定。然而正因如此,物體分類功能可以能夠學習、辨別任何不特定種類、甚至是不規則形狀的物體,即使是其他模式不能夠辨認的物件也能夠學習。

5.3.3. Huskylens 的物體分類

而HuskyLens的物體分類功能可以分爲學習物體、識別物體兩個部分。以下圖爲例進行講解:

../_images/5_210.png

5.3.3.1. 學習物體

將HuskyLens屏幕中央的橙黃色大框對準需要學習的物體,長按“學習按鍵”進行學習。從不同的角度和距離學習,完成第一個物體的學習之後,鬆開”學習按鍵“後,屏幕上會提示:”再按一次按鍵繼續!按其他按鍵結束“。如要繼續學習下一個物體,則在倒計時結束前按下“學習按鍵”,便可繼續學習下一個物體。如果不再需要學習其他物體了,則在倒計時結束前按下”功能按鍵”即可,或者不操作任何按鍵,等待倒計時結束。

../_images/5_310.png

5.3.3.2. 識別標籤物體

當HuskyLens再次遇到學習過的物體時,在屏幕上會顯示其ID號。如下圖,當識別到工人帶著安全帽,屏幕顯示ID1,沒帶安全帽顯示ID2。

../_images/5_41.png

*****注意:在物體分類模式下學習物件時,HuskyLens會傾向把其他不關事的物件都當作為ID1。所以只學習一件物件的話,包括被學習的物件和其他物件(也就是所有物件)都會被當成ID1。所以要讓HuskyLens有效地區分目標物件,可以先學習不相關的任意物件作為ID1,而ID2才開始是需要學習的目標物件。

5.4. 練習1:圖案分類

學習以下兩個圖案。設計程序,當HuskyLen辨認到剔號時,車子前後搖動兩次並microbit版顯示剔號符號。當HuskyLen辨認到叉號時,車子左右(旋轉)搖動兩次並microbit版顯示叉號符號。

../_images/5_51.png

5.5. 練習2:位置識別

雖然HuskyLens無法得出物體在屏幕上的位置,卻可以通過學習物體的不同位置作為不同的ID,並通過ID判斷位置。先把車子放到先以下物件(或使用任何細長的物件,如鉛筆)上進行學習。

../_images/5_61.png

將物件尖端對準其他方向。設計程序,當HuskyLen辨認到物件在畫面左邊(尖端往左)時,車子向左旋轉。當辨認到物件在畫面右邊(尖端往右)時,車子向右旋轉。當辨認到物件向前時,車子停止移動。

../_images/5_71.png

提示:可使用暫停避免車子旋轉過快 

5.6. 練習3:巡線移動

雖然HuskyLens能夠透過自帶的巡線模式結合程序實現巡線移動,但是只要在物體分類模式下把不同角度的線條學習成不同ID,也能夠達成類似效果。

設計程序,利用HuskyLens物體分類令車子巡著直線前進至到盡頭。

提示:從更多不同角度學習線條,令線條更加能被識別

5.7. 答案

5.7.1. 練習1

5.7.1.1. 程序主體

../_images/5_81.png

5.7.1.2. 車子向左右搖動以及向前後搖動的程序

../_images/5_91.png

5.7.2. 練習2

../_images/5_101.png

5.7.3. 練習3

../_images/5_111.png