story cover

Reverse Vending Machine

Karol Miadlicki

Maritime University of Szczecin

barKoder has proven to be a fast and reliable barcode recognition solution for our RVM system. Its straightforward integration into our camera-based AI pipeline was a major advantage, and its decoding performance has been particularly impressive with blurred and difficult-to-read barcodes. It has become a valuable part of our container identification system.

Challenge

The project involved integrating barKoder into an RVM (Reverse Vending Machine) designed for the automated collection and identification of beverage containers. The machine uses a camera-based vision system and AI to analyze returned bottles and cans, while barcode data helps complete the identification process.

Before barKoder, the RVM relied on a dedicated hardware barcode reader. As the machine evolved toward a camera-based AI system for analyzing container shape and dimensions, the team wanted to use the same vision pipeline for barcode recognition rather than maintain separate scanning hardware.

The scanning environment was especially demanding. Bottles and cans could enter the machine at different angles, move or rotate during analysis, and introduce challenges such as reflections, curved surfaces, varying label quality, imperfect positioning, and changing lighting conditions.

Solution

The team evaluated several software-based barcode recognition approaches, primarily open-source options, focusing on decoding quality, integration with the existing camera pipeline, and reliable performance with real images captured inside the machine.

barKoder stood out because of its ability to decode barcodes from blurred, low-quality, and imperfectly positioned images. This was particularly important because containers are not always stationary or perfectly aligned when an image is captured.

The SDK was integrated directly into the existing camera and AI pipeline, allowing barcode recognition to become part of the same machine-vision system used for container analysis. The integration was straightforward and did not introduce unnecessary complexity.

Result

With barKoder, the RVM achieved more reliable barcode recognition in difficult real-world conditions, particularly when dealing with blurred, partially damaged, low-quality, or poorly positioned barcodes.

Barcode recognition is now integrated directly into the broader AI-powered container identification workflow, creating a more unified and flexible machine-vision system.

The team did not conduct a controlled benchmark to provide an exact percentage improvement, but testing showed a clear increase in recognition reliability, especially in difficult cases where image quality could not be controlled.

The implementation itself was smooth, with no major SDK-related issues, and barKoder proved flexible enough to work effectively within the existing camera and AI architecture.