With recent surges in available computing power and advancements in algorithm design, machine learning has become a very hot topic. As such, many technologically inclined people are chomping at the bit to pick up some practical skills in the field. There are many introductory tutorials available on the web, but at some point classifying cats and dogs is going to get old, and it will be time to move beyond the very basics.
Getting your hands dirty by hacking together a machine learning-based project for yourself is a great way to build up your skills and open your eyes to new possibilities. GitHub user jomjol has recently detailed how he built just such a project, and he has released the source code under a permissive license so that you can play along at home.
The project aims to be low-cost, and easy to set up — so you will not have to get tense about understanding tensors, or confused by confusion matrices to get started. The overall goal of the project is to retrofit an analog water meter with an ESP32 microcontroller and camera to turn it into a smart meter.
The device captures images of an analog water meter and feeds them into a pair of convolutional neural networks running on the ESP32. One network classifies numbers on the digit readout, while the other acquires sub digit readings from the analog dials.
A web page, served by the ESP32, displays an image of the meter, as well as the digitized values. An API is also available to serve up the data, which could be leveraged to extend the current system to, for example, send usage alerts. If you are feeling fancy, 3D printer design files are available to print a housing for the device.
Check out jomjol’s wiki post for more details.