# Easiest Pattern to Recognize with Machine Vision

I need to detect the exact position of some kitchen tools using machine vision. I've the possibility to label the tools with a pattern, to make the detection (more specifically the image segmentation) easier.

What is the easiest pattern to detect using machine vision?

The pattern should be:

• Easy detect in presence of partial occlusions.
• Easy to detect with varying and degraded light conditions.
• Easy to detect with widely used computer vision algorithms, in particular lightweight algorithms that can run on edge devices.
• Hard to mistake for another object (in a kitchen).
• Possibly carrying some additional information.

A QR code fits this description pretty nicely. My guess is that the easiest pattern will contain a sharp alternation of two colors, likely black and white.

• In a video or a single image?
– Royi
Dec 7, 2020 at 5:35
• The tool is static, so single image is fine. Dec 7, 2020 at 14:49
• Is this question and answers any use?
– Peter K.
Dec 8, 2020 at 19:52
• Yes. I just discovered these fiducial markers, for instance AprilTags: github.com/AprilRobotics/apriltag Dec 8, 2020 at 22:26
• Dec 8, 2020 at 22:34

## 1 Answer

In case you can shoot a video of the static scene than a blinking light would be the easiest as you could easily detect it by subtracting the n - 1 frame from the n frame until you see something with high values.

If you take a still shot you can use 2 main ideas:

1. If the colors of the scene are from a given plate, find a color very different in Hue and make sure it is intense (Even active lighting which will saturated).
2. Use a pattern which is easily detectable like stripes of B/W or pure green and magenta. You may encode data in the stripes.

### Resources

Some resources pasted here in comments: