账号:
密码:
智动化 / 文章 /

STM32低功耗电脑视觉:类比仪表展示
[作者 意法半導體]   2022年06月08日 星期三 浏览人次: [1184]

水表是常见的家庭设备,不过类似图一的类比水表多达数千种,需要技术人员每个月到现场人工记录资料,才能计算当月的使用量,这是十分费时且费力的工作。现在,电表逐渐被智慧电表所取代,不过成本仍然很高,对於缺乏连线能力的使用者,或尚未规画更换经费的国家来说,这更加是艰钜的任务。


本文叙述如何透过使用具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模型的结果。我们将仪表设定为每五秒驱动一次,因此数字每五秒更新一次。以下是未经编辑的实际萤幕撷取画面。



图十
图十
相关文章
NanoEdge AI 解决方案协助嵌入式开发应用
用於工业应用中环境监测的感测器
利用Time-of-Flight感测器开发3D手势辨识
物联网技术促进节能减排
下一个自动化时代的新网宇实体系统影响
comments powered by Disqus
  相关新闻
» 友达颐康「心悦健康促进中心」启用 提供在地乐龄健康运动空间
» 工研院携手打造化合物半导体聚落 超前部署电动车供应链
» 全方位整合跨域产业资源 建构照护科技产业生态系
» 德国福斯旗下CARIAD和意法半导体合作 开发软体定义车用晶片
» 勤业众信宣示WEB3时代来临 元宇宙将改变产业治理框架
  相关产品
» u-blox推出尺寸最小GNSS模组MIA-M10 提供节能解决方案
» u-blox推出LARA-L6 LTE Cat 4蜂巢式通讯模组
» SCHURTER新型多功能IEC连接器模组适用於资料中心配电
» u-blox推出MAYA-W2三射频模组 协助加速产品上市时程
» u-blox推出NORA-W10 Wi-Fi 4及蓝牙LE 5.0模组 提供卓越射频