DIY Vision System - how to create an inexpensive and effective image recognition system?


In an era of rapid artificial intelligence development, where almost every day we hear news about yet another barrier that algorithms have overcome, many companies wonder whether it is possible to apply the now legendary AI in their own production processes. Vision systems have been an unquestionable hit in recent years in the field of technology. Many associate them with technologically advanced solutions that require substantial financial investments, specialized equipment, and the support of an entire team of developers. But do they really have to be so expensive?

Simple, but Effective

We would like to share a project that dispels this myth. The main goal was to create a vision system for use in a humid environment. Given that the system is only used during production downtime, investing in very expensive vision systems would not make economic sense.

Equipment Choice

The first step was to find the right camera. The choice fell on the GoPro camera, known for its high-quality recordings, which was additionally equipped with a special diving case. To ensure extra protection, we designed a special cover that prevents the camera from being completely submerged and minimizes the decline in image quality in challenging conditions. All communication with the camera was wireless, significantly enhancing the versatility and potential applications of our solution. The camera was tasked with operating in a dark and enclosed space at 100% humidity. Thanks to this, we were confident that even in such a demanding environment, the camera would provide us with a clear and vivid image.


Model Preparation

Once we had acquired the appropriate video material, it was time to build the image recognition models. Using Tensorflow, one of the most popular tools for machine learning, we created a model capable of accurately recognizing the elements we were looking for. It's worth mentioning that all the programming components used in this project are based on open-source libraries and environments, which further reduces costs and increases the accessibility of the solution.


Integration and Interface

The final step was to integrate our camera with the model and create a simple, intuitive user interface. This allowed us to easily monitor and analyze images in real-time.


Conclusion

What can we conclude from all this? Technology does not always have to be expensive and complicated. Often, a bit of creativity, the right tools, and determination are enough to create a solution that meets our expectations. Our vision system, despite its low cost, fulfills its purpose and proves that it's worth thinking "outside the box" and seeking alternative solutions.

References

1. Chollet Francois, Deep Learning with Python, Manning Publications, Second Edition, 2022
2. GĂ©ron Aurelion, Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems, O'Reilly Media, Third Edition, 2022
3. Szeliski Richard, Computer Vision: Algorithms and Applications, Springer, Second Edition, 2022

Maciej Kondracki
5 November 2023