AI查水表

AI查水表

AI也会查水表啦!德国小哥开发水表读取器,可OTA升级,成本不到80元。
ai 人工智能 esp32 TensorFlow

不少人家里应该都还有这种老式水表,但你能看懂它的读数吗?

恐怕不少人都会感到一脸懵逼。机械式水表可能是最反人类的设计之一了,安装在阴暗的角落,又是指针又是数字,读起来费劲。

现在你可以把查水表交给AI啦!一位德国小哥开发的“AI水表读取器”,只需几十元的成本,在水表上加个“罩子”,就能把机械式水表改装成“智能水表”,

这款设备基于TensorFlow Lite,让AI自动读取当前刻度,实时记录你的用水量。

AI水表读取器主要由3部分组成:3D打印外壳,ESP32-CAM开发板、相机与照明装置。

ESP32-CAM自带LED照明,摄像头型号为OV2640,外壳部分可以使用作者提供的3D打印文件。

据作者介绍,整部装置的费用不超过10欧元(也就是不超过人民币80元)。

AI水表读取器可以直接通过网络管理。将固件烧录到设备并连上Wi-Fi后,只需在浏览器中输入设备的局域网IP即可进入管理界面。

你可以在网页中设置读取框的坐标、图像质量等参数。

甚至你还可以进行OTA升级,将固件文件传输至/firmware文件夹下,再输入http://IP-ESP32/ota?file=firmware.bin对设备进行无线更新。

这款智能水表的原理并不复杂,其数据处理流程如下:

相机线拍下照片,用OpenCV库对图像进行自动对齐、ROI识别,提取中图像中的需要识别的部分。

不过,处理机械水表表盘图像并不容易,不是简单用OCR就能搞定的,因为表盘的数字是连续变化的,你可以会遇到正好处在两个数字之间,比如最右边那种情形。

这时候就需要用CNN训练它,让它知道这张图片是介于数字2和3之间。

表盘上部的数字读数用OCR软件获取,下半部分的模拟表盘交给CNN处理。

对于模拟表盘的部分,要让CNN能识别指针从0到9不同情况,一个“笨”方法是标记10个分类。

但是,如果希望系统估读小数点后一位(0.0、0.1,…,9.8、9.9),那么将会有100个分类,每个分类都要有大量的训练图像。

因此,最终作者使用了另一种方法:在CNN网络的最后一层中仅使用一个可以输出连续值的神经元。

最初开发的版本需要设置外部服务器对这些图像进行处理,经过数次迭代后,图像处理和转换已完全集成在ESP32CAM固件中,真正成了“边缘AI”。

如果你也想改造自家的水表,不妨去试试吧。


评论:
相关文章
【ESP32 C++教程】Unit4-1 数字量传感器

本小节讲解Sensor类及派生类、数字量传感器使用和传感器的推荐交互流程。


【ESP32 C++教程】Unit3-2 触摸输入

本小节讲解ESP32内置触摸引脚的用法,


【ESP32 C++教程】Unit3-1 按键输入

本小节主要介绍按键信号转换、Button类及派生类、和Button交互推荐流程。


【ESP32 C++教程】Unit2-2 Ws2812灯珠

本小节主要介绍Ws2812灯珠的使用、对父类进行扩展实现自定义功能,和指针向下强制转换的使用。


【ESP32 C++教程】Unit2-1 RGB三色LED

本小节主要介绍RGB三色LED的使用,以及多态的具体实现。


【ESP32 C++教程】Unit1-3 ESP32 Arduino 开发框架

ESP32 Arduino Framework是专门针对ESP32开发板的Arduino应用开发框架,为用户开发IOT应用、HMI应用提供一致的开发体验。


ESPConnect:基于浏览器的ESP32管理器

ESPConnect是一个基于现代浏览器的管理器,在你需要快速验证、调试、管理文件、检查状态的时候,它能帮你省下大量打开和切换重型工具的时间。


用ESP32做一个FM收音机

本文介绍两种使用TEA5767收音机模块实现FM收音机的方案,感兴趣的朋友可在此基础上实现更丰富的功能。


GPIOViewer:让ESP32引脚状态一览无余!

GPIOViewer 是一个强大的 Arduino 库,专门为 ESP32 芯片设计,可以实时监控 ESP32 芯片上的所有 GPIO 引脚状态。它可以帮助你快速直观地了解每个引脚的当前状态,例如高电平、低电平、输入、输出、中断等等。


ESP32 I2S音频:初识I2S通信与配置基础

在音频处理领域,I2S是一种广泛使用的通信协议,它专门用于芯片之间的音频数据传输。ESP32 作为一款高性能的微控制器,不仅支持 I2S 通信,还提供了强大的硬件接口和灵活的软件库,使其成为音频项目开发的理想选择。