4

I want to create an Android application for logo detection. I want to ask you which approach would be better:

  1. Using feature detector and extractor and then findHomography();

    1.1 Which detector/extractor should I use? Is it necessary to use SURF or something else like ORB can give a good accuracy too? I'm asking because SURF is part of the non-free module.

  2. Train a Haar classifier.

Is there any other way? If you have an answer, please give an explanation (not required) why should I use your approach. Thanks!

dephinera
  • 3,703
  • 11
  • 41
  • 75

1 Answers1

0

I am not sure if you mean a single logo or multiple logos and quite a lot depends on how the logo looks, but for a single logo I would go with feature detector-descriptor-matching (DDM) and homography computation with RANSAC, and for multiple logos DDM and a bag of words model. From my experience, you will get better results using SIFT or SURF than with ORB, but ORB is often enough (again, I'm not sure what your conditions of acquisition are) and its speed is a definite plus. Haar will probably work, but keep in mind that for a rotated/scaled logo you'd have to train multiple cascades or present the classifier with multiple roatted views of the scene you want to search.

mkr
  • 91
  • 3
  • I want to detect multiple logos. It wont be a problem to use create_samples to create a rotated samples for the Haar classifier. Why do you think I need Bag Of Words if I have multiple logos? – dephinera Feb 27 '15 at 14:39
  • I think that the final choice will be determined by the data. I can imagine logos in which the keypoints would be dificult to find, as well as situations (e.g. significant perspective distortion) in which the classifier using the Haar cascade could fail. I suggest you give these two methods a try, and maybe you'll come to the conclusion to use both. – mkr Feb 27 '15 at 18:14
  • Ok, I will give it a try, thank you. Anyway I want to ask you again, why did you suggested to use Bag Of Words? – dephinera Feb 27 '15 at 19:01
  • Sorry for the late reply, swamped with work. It's pretty good at recognizing picture fragments and in my experience might work well for complex, picture-like logos (think MGM, Uncle Ben's or logos on packages, like cereal, tea etc.). – mkr Mar 25 '15 at 19:11