Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Detection of real object using camera. Possibilities of finding real objects using camera [closed]

I am developing a project in robotics using android camera. The robot can move and clean the surface if any objects are found in the path. I am stuck in detection of objects in the path, I am not using any sensors to find the distance between the camera and the objects. I am only using a camera to find the objects in the path. I don't want to find out shape, type, color of object in the path. small objects in the path can be ignored such as sand , grass etc. There should not be any big objects in the path (in the marked portion of the figure below)

enter image description here

While detecting objects using camera paintings, shadows, are detected as objects. From the above figure the music symbol is detected as an object. Is there is any paid or open source library to find out real object detection using camera (it will be more helpful if it is usable in Java or c++). I have tried opencv, javacv, jhlabs,jjil, aviary sdk, jiu, imagemagic, etc. But no where i can find an exact solution for my need. If anybody working with this image processing please suggest me what i can do in real object detection using android camera. If it is not possible please give me an explanation why it was not possible.

The possibilities i have tried:

  1. Face Recognition algorithm (feature detection) :- Face detection algorithm based on matching a pattern. Which is not applicable in this case. ie, here the object may be anything or in any shape. There is no pattern for matching.

  2. Object recognition : Object recognition is also doing the same this matching with the patten. I don't wanted to recognize the object, just wanted to find out their is an object in the marked portion in the image and it is a real object (ie, not any floor paintings, shadows , etc..).

  3. Edge Detection : I have tried different edge detection algorithms but which is also not accurate solution for me. ie, paintings and shadows having edges so we can't assume the edges we found are real objects.

like image 456
Sujith Avatar asked May 20 '13 06:05

Sujith


3 Answers

If anybody working with this image processing please suggest me what i can do in real object detection using android camera. If it is not possible please give me an explanation why it was not possible.

Real time, on the fly object detection is an area of intense research.

Right now, our existing algorithms are only capable pattern matching, and looking for pre defined images within the camera frame.

The problem with real world detection is that the real world is too... real. You have lots of variations of any kind of object or item, and it is impossible for a single library to provide detection for them. Real world detection is only plausible through extensive data generation and training via machin learning, which requires more processing and battery power than most mobile devices can provide.

like image 99
Raghav Sood Avatar answered Sep 28 '22 04:09

Raghav Sood


You might want to get familiar with techniques called structure from motion. If You have series of pictures from the same camera, taken in short intervals, You could acquire some 3D informations about the scene on the pictures. Unluckily, I do not know of any library that would do this for You out of the box, but it's a pretty popular problem, so some searching might give you a ready solution.

like image 38
morynicz Avatar answered Sep 28 '22 04:09

morynicz


Did a lot off image analysis in video surveillance. First you need to define what is a success rate you need. If you are trying all of this on one Image than you are probably aware that this is not going to work :). On the video analysis you can search for some good algorithms for motion detection which are going to give you all moving objects on some background. You have a more difficult case where you are moving. You somehow need to model that background. If you want your robot to move on some colorfull background like for example paint, how are you going to know what is a object without depth perception. Maybe try something with shadows but no. And after all, these algorithms are all so intensive, the better the result the more CPU power you need. Android is not meant for that. You can do some simple processing but you want way to much than it is currently possible.

Bottom line is that you need to adjust your needs/resources a little bit more.

PS. If you manage to do this after all like you first said, we will see you on some yacht with some gorgeous models

Hope this helps and enjoy your work.

like image 37
Marko Lazić Avatar answered Sep 28 '22 05:09

Marko Lazić