單元二:電腦視覺(一)
學習目標
這單元將會為你介紹電腦視覺的基本概念。
電腦視覺是一種透過不同技術使機器能夠處理及分析真實世界的圖像,並將其轉化為機器能夠理解的一項AI應用。因此,電腦視覺是AI應用的一種非常重要的輸入方法。
當你明白及理解電腦視覺這一工具,你就能夠輕鬆地及有趣地設計及完成很多的AI實驗了。
學習內容
電腦視覺使機器能夠由數碼影像中獲取很有用的資訊,並且透過處理及分析這些資訊,能夠做出一些決定。如果AI使到電腦能夠思考,電腦視覺就是使到機器能夠看見。
電腦視覺運作上與人類視覺很相似。人類視覺用了很長時間去訓練如何分辨物件、距離多遠、是否靜止不動、或是在移動中。人類的視覺能力是透過眼睛、視網膜、視神經、及大腦內的視覺皮層得來的。同樣,電腦視覺亦需要用時間去訓練機器學習以上的技能,但所需要的時間就短得多了。電腦的視覺能力是透過相機鏡頭、數碼影像轉化成的資訊、及AI演算法而得來的。
下面的圖顯示出電腦(機器)如何看一個數碼影像。你能夠分辨到這是甚麽的影像嗎?
這影像是灰階的(不是彩色的)。
影像被切割成多個區。你可以數到有多少區嗎?
AlphAI 稱這些區為 “像素” (pixels)。你可以將 AlphAI 內的相機調效成不同的像素,例如 2x1,4x3,8x6,等等。上面的相機被調效成 4x3 像素。
我們看看下面的例子:
- 像素越大,機器將能夠更準確分辨到影像的形狀及仔細部份。但是,這樣做將會需要更多的電腦儲存位及更大的電腦處理器;是非常昂貴的。
- 最右邊的例子是一個彩色影像。AlphAI 需要用上三色系統去處理,輸入的數量就是灰階的三倍了。
- 請大家留意,這些像素會被輸入到電腦的神經網路在進一步處理及分析。
活動一:訓練機械人分辨數目字 1、4 及 9
材料:
- 三張大約 10厘米x10厘米的咭紙,用來代表數目字 1、4和 7。
設置:
- 將 AlphAI 機械人放在小積木上,讓它的車輪可以在空中自由轉動而機械人仍然可以停止不動。
- 將AlphAI 機械人(鏡頭)放在距離咭紙架大約 4至5厘米的地方。
AI 設置參數
傳感器
- 4x3 像素相機,灰階
動作
- 3 個輸出
- 向前行、左轉及右轉
AI 設置
- 學習法 - 監督式學習法(Supervised Learning)
- 演算法 - 神經網絡(Neural Network)
- 隱藏層 - 沒有
顯示設置
- 動畫
- 聯繫活動
標籤輸出
開始實驗
- 啓動AlphAI 機械人及聯線到你的電腦。需要時按螢光幕上的”聯線” <Connection> 按鈕。
- 如果設定參數正確,螢光幕將會顯示以下的神經網絡。
訓練
- 啓動 “重設學習” <reset learning> 的按鈕。
- 關閉 “自動駕駛” <self drive> 的按鈕。
- 啓動 “學習” <learning> 按鈕。
- 將 “4” 號咭放在架上。觀看螢光幕,看看卡紙是否放置正確。如果放置正確,根據輸出標籤點擊代表 “4” 的輸出動作。(右轉)
- 將 “1” 號咭放在架上。觀看螢光幕,看看卡紙是否放置正確。如果放置正確,根據輸出標籤點擊代表 “1” 的輸出動作。(向前行)
- 將 “9” 號咭放在架上。觀看螢光幕,看看卡紙是否放置正確。如果放置正確,根據輸出標籤點擊代表 “9” 的輸出動作。(左轉)
- 重覆以上3個步驟 4 至 5 次,每次將咭紙向左或向右移動少許。
測試
- 關閉 “學習” <learning> 按鈕。代表學習已經完成。
- 啓動 “自我駕駛” <self drive> 按鈕。 AlphAI 機械人會使用剛剛學習到智能去嘗試分辨數字咭。
- 讓機械人嘗試分辨 3 張咭。
- 結果如何?
- 假若結果不是全對,原因可能是訓練不足。請增加訓練。
討論
- 請問有多少輸入像素?
- 輸入像素如何幫助機械人分辨數目字?
延伸活動
- 分辨數目字 1至 9
- 分辨英文字母 (例如 A、B、C、D、E)