中文 | English

hackster.io兩項熱門TinyML專案觀察

作者:陸向陽

 

近年來TinyML技術及專案愈來愈夯,筆者觀察了hackster.io網站上的TinyML相關專案,用關鍵字”TinyML”搜尋了一下,結果有216個專案,其中檢視(view)數破千的有83個專案,並有2個專案的檢視數破萬,本文針對這兩個破萬的專案進行更深的觀察:

ECG Analyzer Powered by Edge Impulse(心電圖分析儀)

圖1 ECG Analyzer專案示意圖(圖片來源:hackster.io

這個專案要開發一台心電圖分析儀,可以用來預測心房顫抖、第一度房室傳導阻滯(AV Block 1)跟正常心電圖,並有90%以上的效果。專案緣起於過去十年來突發心臟病死亡的人數據增,特別是印度,因為農村地區缺乏醫療資源,更多人因此死亡。

不過,市場上本來即有心電圖分析儀,為何還要專案自造?對此發起人認為,目前很多是要把大量資料上傳,運用較充沛運算力的系統才能完成分析,而這個專案希望直接在感測裝置上進行推論分析研判,不需要上傳大量資料,也因此不用使用連線網路,同時也不用很龐大的運算力。

先說明硬體部份,主控系統是Arduino基金會的Arduino Nano 33 BLE Sense,是最常見的TinyML應用開發板,然後用上SparkFun的單導程心率監督器AD8232,顯示器則是用ElectroPeak的0.96英吋OLED,解析度64 x128。

在軟體與線上服務方面,包含使用Edge Impulse Studio的線上服務,然後也用MATLAB、Arduino IDE,以及微軟Visual Studio 2017等本機端安裝的軟體開發工具,另也用到一點微軟Office Excel。

訓練完成、放入分析儀的人工智慧模型只佔用15KB ROM空間,幾乎可以在任何可執行TinyML技術的MCU上執行,推論結果有三個:正常、心房顫抖,或第一度房室傳導阻滯。雖然專案目標是90%以上的準確度,實際測試的結果卻更理想,達到97.30%。

圖2 ECG Analyzer開發程序圖(圖片來源:hackster.io

Cough Detection with TinyML on Arduino(咳嗽偵測)

咳嗽偵測專案的緣起相信多數人都可以猜到,那就是COVID-19或流感的先期偵測,這樣的偵測必須盡可能廣泛地佈署佈建,所以必須盡可能平價,因而有此自造專案。專案其實也與聯合國、hackster.io、Edge Impulse三者合辦的「UN Covid Detect & Protect Challenge」挑戰賽有關,且除了傳染病防護外,也可用於老人看顧等相關應用。

此專案在主控硬體方面也是用Arduino Nano BLE Sense,或任何有Cortex-M4以上核心(含M4)的系統開發板都可以,並可選用性配備麥克風,另外也可用Android或iOS的手機,軟體與線上服務方面則用Arduino IDE跟Edge Impulse。

然後,模型的建立與訓練是在網路上完成,使用Edge Impulse線上服務,透過電腦的瀏覽器把本機端錄好的.wav聲音檔上傳,成為資料集(dataset),最終訓練成的人工智慧模型可以推論出兩種結果,一個是嗽嗽,另一個就是噪音(背景噪音,非咳嗽的任何聲音),訓練好的模型只要系統有20KB RAM的記憶體資源即可推論執行。

圖3 上傳各種聲音檔到網路上進行模型訓練(圖片來源:hackster.io

進一步的,也可以用手機的瀏覽器連上網址,從而執行網頁應用程式,透過應用程式進行錄音,錄音後由使用者確認該段聲音為「咳嗽」或是「噪音」,即替資料進行標記,然後上傳,使模型持續精進。或者,也可以用Arduino Nano BLE Sense搭配麥克風來錄音上傳。總之,上傳新的聲音資料樣本是可以有多個來源管道的。

最後,除了把模型載入到Arduino Nano BLE Sense,而後用Arduino Nano BLE Sense進行推論,從而研判附近聲音有無咳嗽聲外,相同的模型也可以載到手機上,運用手機的麥克風接收聲音,從而研判附近是否有咳嗽聲。

圖4 咳嗽偵測專案在手機上的分類器畫面(圖片來源:hackster.io

展望後續

專案發起者想擴展延伸更多功能與想法,例如可分辨咳嗽之外的其他人類聲音,如打哈欠、背景對話等,或者加入更多感測器,如三軸加速度感測器,以便能有更多更廣泛的應用。

附件:hackster.io網站上,以TinyML關鍵字搜尋到的專案,超過1,000檢視數的專案列表(2022年3月17日)

分享到社群

vMaker編輯部

歡迎各界朋友投稿你的maker故事,不論是個人作品、創客觀點或是創客的經驗分享,我們都十分期待能聽到您的分享。 投稿請至:contact@vmaker.tw