不同於常見機器學習皆是由 Python 語言實作, 本書使用 JavaScript 語言於瀏覽器實作機器學習, 搭配著名的 JS 機器學習函式庫 ml5.js 可以更快速且便利地達成 AI 網頁應用, 對於許多熟悉 JS 語言的前端工程師或使用者更為親近, 實驗過程使用 p5.js 程式庫, 讓沒有太多程式設計基礎的使用者也可以更輕鬆將結果視覺化, 再搭配使用 p5.js web editor 線上開發環境, 只需要使用瀏覽器就可以開始輕鬆設計網頁, 不需要在自己的主機建構繁瑣的開發環境, 再搭配 Python 編寫控制板程式, 將應用結合至感測器或實體輸出裝置, 實現更完整的機器學習應用實例。
本書一開始會先介紹機器學習概念與 p5.js web editor 線上開發環境基本操作, 接著直接體驗使用 ml5.js 中的現有模型, 實作可以辨識特定物件的影像分類器。
除了網頁實作神經網路外, 可再串連硬體控制板, 藉由控制板輸出預測結果, 比如使用物件偵測來判斷是否有人出現, 對應的 OLED 顯示器模組就會出現迎賓文字或相關訊息;或是語音辨識讓玩家用語音來控制遊戲, 遊戲結束後會通知控制板啟動振動馬達回饋給玩家。
最後會使用 ml5 程式庫實際訓練自己的神經網路模型, 首先為利用控制板蒐集感測器資料, 再透過神經網路訓練解決迴歸問題, 如藉由溫度感測器的訊號, 找出感測值與實際溫度的關係, 做出自製即時電子溫度計, 再結合可以即時顯示畫面去背效果的 U-Net 模型, 就可以使用環境溫度來改變虛擬背景特效。
接著為解決分類問題的神經網路, 使用現成的 Facemesh 模型找出臉部特徵點, 分別蒐集臉部不同的角度資料進行訓練, 最終得到一個可以辨識是否打瞌睡的模型, 再串接實體蜂鳴器在打瞌睡時, 發出警報聲提醒使用者。
最後訓練的神經網路為卷積神經網路, 透過蒐集配戴口罩與否的不同照片作為訓練資料, 經過卷積神經網路訓練後, 就可以用此模型來判斷畫面中的人是否有正確配戴口罩, 再結合模擬門鎖的伺服馬達, 建構出一套口罩門禁系統的概念。
本產品除實驗手冊外,實驗過程中有任何問題或是建議都可以在 Facebook 粉絲專頁《旗標創客‧自造者工作坊》中留言,即有專人為您服務。
本產品 Windows / Mac 皆適用
操作本產品需要視訊鏡頭及麥克風 (筆電內建或 USB 外接 webcam 皆可)
本書特色
● 用 JavaScript 升級網頁添加機器學習能力
● 結合硬體展現機器學習成果實作物聯網應用
● 從感測器蒐集資料、訓練模型到應用完整學習