I am developing a project in robotics using an Android camera. The robot can move and clean the surface if any objects are in the way. I am stuck in detecting objects on the way, I do not use any sensors to find the distance between the camera and objects. I use only the camera to search for objects on the way. I do not want to determine the shape, type, color of the object in the path. small objects along the way can be ignored, such as sand, grass, etc. There should not be any large objects in the path (in the marked part of the figure below)

When objects using images in cameras are detected, shadows are defined as objects. From the above figure, a musical symbol is defined as an object. Is there any open source paid library for detecting a real object using a camera (this will be more useful if it will be used in Java or C ++). I tried opencv, javacv, jhlabs, jjil, aviary sdk, jiu, imagemagic etc. But no, where can I find the exact solution for my need. If anyone who works with this image processing, suggest me what I can do when real objects are detected using the Android camera. If this is not possible, explain why this is not possible.
Features I have tried:
Face recognition algorithm (function detection): - Face recognition algorithm based on pattern matching. This is not applicable in this case. those. here the object can be any or any form. There is no template to match.
Object recognition: Object recognition also does the same as with patten. I did not want to recognize the object, I just wanted to know that this is an object in the marked part of the image, and it is a real object (i.e. No sex pictures, shadows, etc.).
Edge Detection: I tried different edge detection algorithms, but this is also not an exact solution for me. those. paintings and shadows with edges, so we can’t assume that the edges we found are real objects.
source share