-1

I'm working on a project to recognize insects from user inputted images. I think that OpenCV is the route I'd like to take since I've worked with it before for facial recognition. I'm not using the camera feed and am instead using images provided by the user. For early development I plan to build in some sample images to ensure the concept is working before moving on to other features.

I would like to use 4-5 template images for each insect and have that be robust enough to detect the insect from the input image. If there are multiple insects I would like for them all to be detected and have their own rectangle drawn around them.

With that brief explanation, I am wondering what the best way to complete this task is. I know that OpenCV has template recognition, but the template size matters and I don't want to make the user ensure their insect is a certain amount of pixels in their image. Is there a way to work around this, possibly by rotating the template images or using variously sized templates? Or is there a better approach than template recognition for this project?

  • classical template matching will probably not what you want to do (since each individual animal looks quite different). The only "easy" approach I see might be some kind of SIFT/SURF/HoG object detection from learned models, but no idea whether it will work in this case ;) Read some books about computer vision! – Micka Jul 07 '14 at 15:36

1 Answers1

0

Unfortunately without some form of constraints, you are essentially asking if computer vision has been solved! You have several unresolved, but very interesting research problems.

  1. Lets reduce the problem to just classifying a sample insect in a fixed pose with controlled lighting as of belonging to one of 100k insects categories; that would be tough.

  2. Lets reduce the problem to recognizing a single insect instance in an arbitrary pose in 3d space; that would be tough.

  3. Lets reduce the problem to recognizing a single insect instance in the same pose under arbitrary lighting conditions viewed with arbitrary optical sensors, that would be tough.

Successful computer-vision in the wild, is all about cleverly constraining the operating conditions, otherwise you are in research land. If your are in research land, then a cool thing to do is to try and exploit 3D CAD models to capture the huge variety in poses, here's a nice one on recognizing chairs,

http://www.di.ens.fr/willow/research/seeing3Dchairs/,

If not conducting research and, say your building a app, then you need to consider how you can guide the user, train the user, trick the user, into providing the best operating conditions for the recognition system.

(This was to big to put in comments)

QED
  • 808
  • 8
  • 11
  • I decided to try and create it for a single insect and will see how that works. Going to become more of a for fun project than anything now. Tried to +1 this but my reputation isn't high enough yet. Thanks! – user3657447 Jul 08 '14 at 13:15