Driven by frustration, I embarked on a journey to transform my "dumb" rowing machine that doesn't connect to a network, into a "smart" one. I didn't want my hard-earned progress to disappear every time I left the machine.
My solution to this issue was to use a webcam to interpret the LCD output of the machine. By employing object detection, I could identify and locate the digits displayed on the machine's readout.
Though seemingly simple, implementing this solution presented quite a challenge. I started by wading through numerous guides before I landed on a valuable YOLOv5 tutorial provided by Roboflow. However, this tutorial didn't cater specifically to my unique project, leading me to the realization that I would need to build my own dataset.
Labeling images manually soon turned monotonous, prompting me to think of ways to streamline the process. I decided to use the YOLOv5 model's predictions as "pre-labels". To achieve this, I had to dig into Ultralytic's original project and develop wrappers around detect.py and train.py, thus actualizing my concept of "pre-labeling".
My exploration led to a dataset that was later accepted into the Roboflow Universe.
In order to share the tools and methods I employed for pre-labeling with the wider community, I created a resource that contains everything one would need for a similar project.