Image Recognition with a Raspberry Pi: Big Results Using a Small Processor
Selecting items from a container using image recognition required outside-the-box thinking when limited processing hardware was a client requirement.
As an AR/VR/XR, GIS-focused company, Argis Solutions is often approached by clients that need to solve unique problems requiring sophisticated technological solutions. This problem-solving process is both fascinating and exhilarating. It’s one of the flames igniting our innovation and creativity, allowing us to find the very best solution for our clients.
On a recent project, a client presented us with a bin-picking challenge. Bin picking, an autological term, is often used in manufacturing scenarios. A machine selects an object from a bin and moves it to another location. These objects are typically bolts, pins, or other hardware items.
Usually machine learning is the standard solution for bin-picking scenarios. When machine learning is applied to bin picking, a computer is exposed to thousands and thousands of images. The computer is then taught to recognize specific objects. Now equipped with the ability to select the appropriate object from the bin, the computer applies that object recognition to the bin-picking task.
Challenge: Bin Picking with Limited Hardware
Argis’ challenge? To build software within our client’s proprietary hardware that would recognize the 3D location of a cluttered pile of objects inside a standard-sized container with millimeter accuracy. We were also given processing restraints for this particular scenario. Generally, bin picking is done by $250,000 machines with massive processing capabilities. Our client required our solution to employ a limited processor platform, the $100 Raspberry Pi. The implementation needed to be embedded using a limited chip set. This limited processing power would be approximately one quarter of the computing power of a standard Android device.
Solution: Conquering with Creative Thinking
Our development team loves challenges, and this was no exception. Their problem-solving methodology often involves keeping their eyes on the result and not the process. The task is streamlined to achieve a workable solution in a time-sensitive, budget-sensitive manner.
But could it be done? There was no way to shrink the large processing requirement that a machine learning solution would entail and still stay within the hardware parameters and client’s budget. The team knew a unique approach would be necessary to design a solution.
Employing lateral thinking using an agile approach, they immediately began looking outside of the box. How could they distill the distinguishing feature of images into something extremely simple to process computationally without losing accuracy?
Their first thoughts turned to color. Tracking color, the team quickly learned that distinguishing between the complexities of saturation, hue, value, and HSV, color was still too complex for the processing restraints.
The team pivoted and began thinking about the three-dimensional objects that would be the bin-picking target in terms of two characteristics: shadow and light. Light would represent the object, and a specific percentage of dark would represent the space between objects. The software would be designed so that processor would focus on moving the center of the object.
Result: The Simple Complexity of Light and Shadow Deliver Accuracy
Using light and shadow, the bin picker was able to recognize and select the appropriate object. Right out of the gate, this solution offered 90% accuracy, and with additional revisions, the Argis development team lead brought it to 95% accuracy. With years and breadth of expertise, Argis Solutions has experience delivering the impossible on budget and often with better results than the client imagined.