7. 第七課

../_images/7_110.png

7.1. 簡介

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

7.2. 教學目標

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

7.3. HuskyLens 物件追蹤功能 (上)

7.3.1. 物件追蹤是什麽?

Huskylens 的物件追蹤功能夠在學習並追踪一個特定的物體。物件追蹤的基本原理是在學習並識別了物體後,透過驗算法預測物件的動作,並於影像序列中追蹤符合物件外觀特徵信息的部分。當攝像頭畫面再次出現學習過的物體時,HuskyLens可以將其識別,並自動進行追蹤。同一個物體的照片,學的越多,識別越精準。

7.3.2. 物件追蹤的應用

  • 事件偵測:可針對車流中的停止車輛、低速車輛、逆行車輛、行人及煙霧偵測等交通事件進行偵測,以便即時進行應變措施

  • 指揮交通:透過偵測經過的車輛數量,測量停滯時間,並將資訊提供給紅綠燈,以提升交叉路口行車管理效率

  • 人機互動:透過追踪人類的動作,使機器學習識別和理解人的動作、動作、人類

  • 虛擬實境:透過追踪與分析人體運動,在虛擬環境中模擬出虛擬角色的動作,可用於以捕捉玩家身體動作來進行的遊戲 ,如Xbox Kinnect和VR 遊戲

7.3.3. Huskylens 的物件追蹤

而HuskyLens的巡線追踪功能可以分爲學習物體和追踪物體兩個部分。

7.3.3.1. 學習物體

把HuskyLens對準需要追踪的物體,調節物體與HuskyLens的距離,將物體或特徵鮮明的局部包含在屏幕中央的橙黃色方框內。長按“學習按鍵”時,調整角度和距離,使HuskyLens得以從不同的角度和距離學習該物體。學習過程中,屏幕上的黃框會標註“學習中:ID1”。當HuskyLens在不同的角度和距離都能追踪到該物體時,便可結束學習。

../_images/7_210.png

7.3.3.2. 追踪物體

移動HuskyLens或者目標物體,屏幕中的框會自動追踪目標物體。追踪物體時,會顯示“學習中:ID1”,表示HuskyLens一邊追踪物體,一邊學習,這樣設置有助於提高物體追踪的能力。當識別效果客觀,便可關閉一邊追踪一邊學習的功能。

../_images/7_31.png

7.3.3.3. 關閉同一時間進行追踪和學習的方法

在物體追踪模式長按“功能按鍵”,進入二級菜單參數設置,找到並選擇“學習開啟”,再單擊一下“功能按鍵”即可令進度條顏色變白,代表功能已經關閉。最後選擇“保存並返回”退出二級菜單。

7.4. 練習1

先熟悉一下物件追蹤功能。擺出任意一種手勢(可參考下圖),利用HuskyLens從不同角度及距離進行學習。

../_images/7_41.png

結束學習後,維持手勢並移動手至不同距離及畫面中的不同位置,觀察物件追蹤的效果。然後,嘗試切換至各種不同手勢,再重新擺出原來的手勢,直至HuskyLens可以重新辨認並繼續進行追蹤。

7.5. 練習2

設計程序,在學習一件物件後,只要該物件在畫面内,車子就會一直面向該物件。

../_images/7_51.png

提示:

  • 使用“暫停”積木控制車子每次轉方向的時間

  • 使用X中心代表物件位置

../_images/7_61.png

7.6. 練習3

利用HuskyLens物件追蹤實現探測障礙功能。學習一件物件後將其放在車子正前方。當HuskyLens探測到該物件,車子前進,並在與物件相撞前刹車,不能使用超聲波傳感器。物件拿遠後,車子重新前進。

*****把同一時間進行追踪和學習的功能關閉,否則當車子一邊靠近物件,HuskyLens會一邊把周圍的多餘物件也一起學習掉,造成誤判

提示:

  • 我們平時如何靠眼睛知道自己是否靠近物件?

  • HuskyLens物件追蹤的學習框預設是70*70平方單位

  • 在較遠的距離學習物件效果更佳

7.7. 練習4

結合練習2和練習3的内容,設計程序。在使用HuskyLens於遠處學習一件物件後,把車子的方向倒轉,然後讓車子自動尋找物件。當探測到物件在畫面内,車子面向並往物件方向移動,直到靠近時停車。

../_images/7_71.png

7.8. 答案

7.8.1. 練習2

當已學習物件的X中心:

大於180時,車子右轉100毫秒並停下。

少於140時,車子左100毫秒並停下。

否則車子停下。

../_images/7_81.png ../_images/7_91.png

7.8.2. 練習3

在日常生活中,當越靠近一件物件,它看起來就會變大。

而在一般情況下,我們只需要以物件高度和闊度任一便可以判斷其距離。

設頂一個比起學習方框大的面積,例如80(此距離會受學習時的距離影響)

當物件在畫面中,而物件高度少於80單位,車子前進,否則車子停下。

../_images/7_101.png

7.8.3. 練習4

程序啓動後,車子一直自轉直到HuskyLens探測到物件在畫面内。

然後車子繼續自轉直到將物件X位置調節至畫面中心附近。

最後車子前進直到物件高度佔HuskyLens畫面80以上便停下。

../_images/7_111.png ../_images/7_121.png