帳號:
密碼:
CTIMES / 文章 /   
STM32低功耗電腦視覺:類比儀表展示
 

【作者: 意法半導體】   2022年06月08日 星期三

瀏覽人次:【941】
  


水表是常見的家庭設備,不過類似圖一的類比水表多達數千種,需要技術人員每個月到現場人工記錄資料,才能計算當月的使用量,這是十分費時且費力的工作。現在,電表逐漸被智慧電表所取代,不過成本仍然很高,對於缺乏連線能力的使用者,或尚未規畫更換經費的國家來說,這更加是艱鉅的任務。


本文敘述如何透過使用具MCU嵌入式連線能力的低解析度攝影機所組成的低功耗、低成本系統,有效地將類比儀表數位化。.



圖一
圖一

經由採用意法半導體(STMicroelectronics;ST)的STM32WL55,透過攝影機擷取水表讀錶區域,接著利用MCU上執行的 AI 演算法識別讀表。AI分類器演算法的結果(也就是讀錶)以STM32WL(如 LoRaWAN)支援的遠端 sub-GHz 無線網路傳輸。傳統的連線裝置會將影像傳送到雲端,而ST的解決方案則是傳輸讀數。這個方案的優勢,在於透過本地 AI 模型可以快速準確地識別讀數,然後只需要將讀數傳送回資料中心即可。


這種方法不僅可以有效保護使用者資料的隱私(僅傳輸推論結果),而且效率更高,並且節省頻寬。如此,使用者就能以低成本、低功耗、高效率的方式解決這個問題。



圖二
圖二

WL 系列是全世界第一款支援長距離無線通訊的 MCU。


STM32WL系列為一款可以連接LoRa低功耗廣域網路的系統晶片,其整合STM32L4超低功耗系列和支援多種調變方案的Sub-GHz射頻子系統。



圖三
圖三

STM32 成功的重要因素為其強大的生態系統。從事STM32WL工作的開發人員可以運用已在市場上獲得驗證之成熟的STM32生態系統,使用STM32通用開發所熟悉開發的工具,以及 subGHz 無線電開發和 AI 設計工具專用的套裝軟體組成。如此即可大幅降低開發門檻,加速產品上市時間。


生態系統中的資源,包括STM32CubeMX專案配置和程式碼產生工具、STM32CubeMonitor執行階段監控、視覺化工具,以及 STM32CubeProgrammer 程式碼燒錄工具。


STM32Cube.AI有助於使用者將經過訓練的AI模型快速部署到STM32上並進行驗證測試。STM32CubeWL MCU套裝軟體元件,包含STM32WL系列執行所需的所有嵌入式軟體模組,包括周邊裝置驅動程式、ST LoRaWAN 通訊協定堆疊、Sigfox通訊協定堆疊,以及使用ST 安全啟動和安全韌體更新技術實現LoRaWAN韌體無線更新的範例程式碼。


另外,還有兩個採用STM32WL的核板,用於快速原型設計:NUCLEO-WL55JC1(868pm 915amp 923 MHz)和NUCLEO-WL55JC2(433Accord470 MHz),以及兩個Nucleo開發板板,用於快速原型研發。而本文的使用範例即採用了NUCLEO-WL55JC2開發板。



圖四
圖四

除了NUCLEO-WL55JC2之外,這個專案的另一個關鍵元件是攝影機。


攝影機模組(採用低成本OV2640 感測器)透過標準GPIO直接連接到NUCLEO-WL55JC2 開發板中的STM32 MCU。由於STM32WL系列中沒有可用的DCMI 介面,在示範中使用了電磁計數器,這個計數器在多數常見的線上商店容易取得,因此容易複製重現。


實驗系統如圖五所示。



圖五
圖五

當所有硬體準備就緒之後,使用者就可以製作資料集進行模型訓練。


在電腦視覺中有典型的入門專案,就是識別 MNIST 資料集。MNIST資料集收集0-9共十個 阿拉伯數字的手寫字型,包括訓練集中6萬個樣本和測試集中的1千個樣本。對於想要使用現實世界資料,嘗試學習技術和模式識別方法,同時在預處理和格式化方面動用最少的人力來說,這是很好用的資料庫。



圖六
圖六

不過,我們無法直接使用這個資料集,因為水表上的數字字型和色彩與此資料集有極大的不同,為了達到更好的效能,我們會使用上述所提到的設備,讓資料集與MNIST類似。


以下討論這個專案,開啟 STM32 電腦視覺的大門。


這個資料集大約有 4千個樣本,每個樣本包含五個數字。資料集的部分樣本,如圖七所示。



圖七
圖七

當有資料集之後,就可以建立神經網路,並使用自己的資料集訓練模型。在這個模型中,輸入40X32(數字)的灰階影像來識別從0到19的20個類別,分別為:0、1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19。圖八則是訓練中失誤和準確度的變化。這個資料集背景很簡單,由於數字字型很規則,因此訓練效果很好。其實可以收集不同的水表讀數(不同的字型和色彩)一起訓練,如此一來,模型就可以識別多個水表讀數。



圖八
圖八

訓練結束後會取得模型檔案。迄今我們可以使用STM32cube.AI 工具,將模型轉化為最佳化程式碼,快速部署到 NUCLEO-WL55JC2開發板上。


由於整合STM32Cube,讓STM32Cube.AI使用者能夠有效地將模型移植到多樣化的STM32 微控制器系列中。而且對於類似模型也適用於不同產品的情況,能夠在STM32產品組合中輕鬆移轉,而此專案亦是利用STM32Cube.AI將模型部署到STM32WL。


此外,可以透過外掛程式擴充STM32CubeMX的功能,自動轉換預訓練的人工智慧演算法,並將產生的最佳化資料庫整合到使用者專案中,而不是建構手動輸入的程式碼。而且還能將深度學習解決方案嵌入各種STM32 微控制器產品組合中,藉以對每個產品新增智慧功能。


STM32Cube.AI 提供對各種深度學習框架的原生支援,例如 Keras、TensorFlow Lite、ConvNetJs,並支援所有可以匯出為ONNX標準格式的架構,例如PyTorch、Microsoft Cognitive Toolkit、MATLAB等。


此外,STM32Cube.AI支援來自大量機器學習開放原始碼程式庫Scikit-Learn的標準機器學習演算法,例如Isolation Forest、支援向量機器(SVM)、K-Means。


在這個專案中,使用了TensorFlow 架構。



圖九
圖九

最後,我們來看看實際效能。為了方便展示,我們將攝影機拍攝的影像和MCU上的識別結果傳送到電腦螢幕。影片中黑底白字的數字為攝影機所拍攝的圖片,第一行是AI模型的結果。我們將儀表設定為每五秒驅動一次,因此數字每五秒更新一次。以下是未經編輯的實際螢幕擷取畫面。



圖十
圖十
相關文章
移動演算法 而非巨量資料
用於工業應用中環境監測的感測器
利用Time-of-Flight感測器開發3D手勢辨識
物聯網技術促進節能減排
下一個自動化時代 新網宇實體系統正面影響力
comments powered by Disqus
相關討論
  相關新品
mbed
原廠/品牌:RS
供應商:RS
產品類別:PC Board
Arduino
原廠/品牌:RS
供應商:RS
產品類別:PC Board
Raspberry Pi
原廠/品牌:RS
供應商:RS
產品類別:PC Board
  相關新聞
» 意法半導體新推出運算放大器 瞄準汽車和工業環境應用
» M31科技6月營收破億元 連續9個月創歷史同期新高
» 臺灣海洋聯盟揭牌 建立科學整合管理永續發展平台
» LED車燈滲透率及技術提升 帶動車用照明市場產值
» 皮卡物流開創多元配送方案 助商家補足物流服務缺口
  相關產品
» ROHM推出高精度電壓檢測器 提供節能電壓監控功能
» 艾邁斯歐司朗推出環境光/接近感測器 展現OLED顯示管理出色效能
» 大聯大世平推出NXP與JOULWATT非汽車電池管理系統方案
» 雅特力AT-SURF-F437體驗板加速產品應用開發及量產
» 安勤推出工控級BMX-T550桌上型準系統 具高擴充性與客製化
  相關資源
» Power Management Solutions for Altera FPGAs


刊登廣告 新聞信箱 讀者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2022 遠播資訊股份有限公司版權所有 Powered by O3
地址:台北市中山北路三段29號11樓 / 電話 (02)2585-5526 / E-Mail: webmaster@ctimes.com.tw