單元三:電腦視覺(二)
學習目標
這單元將會為你介紹更多有關電腦視覺的概念。電腦視覺是AI應用的一種非常重要的輸入方法。當你明白及理解電腦視覺這一工具,你就能夠設計及完成很多的AI實驗了。
學習內容
(重溫)
電腦視覺使機器能夠由數碼影像中獲取有用的資訊,並且透過處理及分析這些資訊,能夠做出一些決定。如果AI使到電腦能夠思考,電腦視覺就是使到機器能夠看見。
電腦視覺運作上與人類視覺很相似。人類視覺用了很長時間去訓練如何分辨物件、距離多遠、是否靜止不動、或是在移動中。人類的視覺能力是透過眼睛、視網膜、視神經、及大腦內的視覺皮層得來的。同樣,電腦視覺亦需要用時間去訓練機器學習以上的技能,但所需要的時間就短得多了。電腦的視覺能力是透過相機鏡頭、數碼影像轉化成的資訊、及AI演算法而得來的。
下面的圖顯示出電腦(機器)如何看一個數碼影像,並且能夠透過演算法作出決定。這影像是灰階的(不是彩色的)。影像被切割成多個區。你可以數到有多少區(zones)嗎?
AlphAI 稱這些區為 “像素” (pixels)。你可以將 AlphAI 內的相機調效成不同的像素,例如 2x1,4x3,8x6,等等。上面的相機被調效成 4x3 像素。
請大家留意,這些像素會被輸入到電腦的神經網路作進一步處理及分析。
我們已經介紹了電腦視覺一些基礎知識。電腦看到的數碼影像是被劃分成很多個區,這些區就是像素了。下面的影像有12 個像素,它是由 AlphAI 的 4x3 像素相機所捕攝到的影像。
在上圖上的第一欄的三個像素內,你可以看到數目字 249、156、和 248。這些數目字代表了在這些像素內感應到相對影像部份的光亮度。數值在 0 和 255 之間。
- 數值越大,那像素就越光越白。
- 例如,249 及 250 代表像素感應到很光很亮。
- 數值越小,那像素就越暗越黑。
- 例如,158 及 90 代表像素感應到很暗很黑。
**留意:像素內 0 到 255 的數值會被轉換成 0 到 1 之間的數值並輸入演算法作更深入的處理。
====
影像的像素(pixels) ,像下圖一樣,可以重新被排列的。
影像可以被看成四個垂直的欄 A、B、C、和 D。如果這四個欄被排在一條垂直線上(像右邊一樣),這就像一個輸入層擁有很多個數值,並輸入到人工網絡作處理。
活動:訓練機械人分辨二進位數字
材料:
- 八張大約 10厘米x10厘米的咭紙,用來代表二進位數目字 1 到 8, 即0001 到 1000。
- 每一咭紙分成 4 個一樣大小的垂直欄,黑色的欄代表 1,白色的欄代表 0。.
Column 1 - Binary Number (二進制數字) |
Column 2 - decimal (十進制數字) |
---|---|
0001 | 1 |
0010 | 2 |
0011 | 3 |
0100 | 4 |
0101 | 5 |
0110 | 6 |
0111 | 7 |
1000 | 8 |
AI 設置參數
傳感器
- 4x3 像素相機
- 灰階
動作
- 8 個輸出
- 向前行、向前左右轉、向前原地左右轉、向後行、向後左右轉
AI 設置
- 學習法 - 監督式學習法(Supervised Learning)
- 演算法 - 神經網絡(Neural Network)
- 隱藏層 - 沒有
顯示設置
- 動畫
- 聯繫活動
標籤輸出
設置:
- 將 AlphAI 機械人放在小積木上,讓它的車輪可以在空中自由轉動而機械人仍然可以停止不動。
- 將AlphAI 機械人(鏡頭)放在距離咭紙架大約 4至5厘米的地方。
開始實驗
- 啓動AlphAI 機械人及聯線到你的電腦。需要時按螢光幕上的”聯線” <Connection> 按鈕。
- 如果設定參數正確,螢光幕將會顯示一個神經網絡。
訓練
- 啓動 “重設學習” <reset learning> 的按鈕。
- 關閉 “自動駕駛” <self drive> 的按鈕。
- 啓動 “學習” <learning> 按鈕。
- 將 “0001” 號咭放在架上。
- 觀看螢光幕,看看卡紙是否放置正確。
- 如果放置正確,根據輸出標籤點擊代表 “0001” 的輸出動作。(向後右轉)
- 將 “0010” 號咭放在架上。
- 觀看螢光幕,看看卡紙是否放置正確。
- 如果放置正確,根據輸出標籤點擊代表 “0010” 的輸出動作。(原地左轉)
- 對於每一張咭,重覆以上步驟 4 至 5 次,每次將咭紙向左或向右移動少許。
測試
- 關閉 “學習” <learning> 按鈕。代表學習已經完成。
- 啓動 “自我駕駛” <self drive> 按鈕。 AlphAI 機械人會使用剛剛學習到的智能去分辨數字咭。
- 讓機械人嘗試分辨 8 張咭。
- 結果如何?
- 假若結果不是全對,原因可能是訓練不足。請增加訓練。
究竟電腦視覺如何處理輸入訊息?
- 根據下表,重新測試每一張咭,並將電腦看到的像素內黑白分佈和輸入層內的黑白分佈,填寫入下表。
- 順序由 “0001” 開始。
- 偏向深色就寫上 “X”,偏向淺色就留空。
- 你看到有甚麼特別的地方呢?
討論
- 請問有多少輸入像素?
- 輸入像素如何幫助機械人分辨數目字?
延伸活動
- 是否可以訓練機械人分辨貓和狗的相片呢?
- 是否要多一些像素呢?
- 是否需要彩色相機呢?