Object detection deployed on Raspberry Pi
Deployed software to raspbery Pi and checked how it works "in the field". There was no problem with object detection. Even camera is more sensitive to colour differences in sunlight than it is in artificial light.
This is how our first task looks like. We want the robot to detect one of this two objects and then give us a feedback about its position in the console.¶
As we can see that random HSV range setup doesn't give us any meaningful results. Robot convert camera view to binary representation and shows it in the right window. It's called mask and white areas represents our target. And what we can see now are our objects with tons of noise.¶
After adjusting saturation and value parameters we remove noises caused by reflection of sunlight captured by the camera. In the result, it gives us a clear picture of our objects. What we can see on the original camera view that program added green pointers around orange ball it's because program tries to find the biggest object from white areas in the right window and then mark them on the left window. This approach is called finding bounding boxes and was chosen due to its low complexity what doesn't cause a decrease in FPS.¶
At this point we still don't have defined the exact color that we want to follow. Let's say that we want to follow the yellow ball. All we need to do is to slightly adjust last parameter "hue". And that's the result. We have marked yellow ball and information about it's bounding box position is printed 30 times per second in console.¶