Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Image Recognition using edge detection?

I am trying to implement some kind of logo recognition for books. My ultimate task is to take a picture of 4-5 of these logos on books and to be able to recognize them. The logos look like: example, and amount to around 20 different ones. As you can notice, they are fairly simplistic and my attempts to use feature (corner) recognition with ORB/AKAZE/others are not really working. I tried various parameters for: preprocessing the images (enhance contrast, gaussian blur), feature&descriptor extracting (except SIFT/SURF because of their license), selecting the best features (min-distance threshold, ratio test, top 10). Trying to make any of these work with findHomography with RANSAC is very inaccurate (can tweak things so that it works for a specific case but fails completely at others).

Looking at their results, it seems that the logos are just too simplistic and do not have any good defining features. The above methods still find good matches with keypoints that are completely unrelated to the logos (even though not many). I believe I need to change my approach and am thinking of the following:

  • implement a clustering algorithm (instead of findHomography) to group features together and stop at some max threshold when a new keypoint to-be-added is too far from the others
  • use hough transform for clustering as in the Lowe paper (though I do not yet understand how)
  • something else?

Any ideas I could try or comments regarding the above? Is there maybe some sort of image recognition using more details about shape, as opposed to corners? Or some kind of recognition using canny edges? Are Ridge- or blob- recognition good options to investigate?

Image Recognition using edge detection?

I am trying to implement some kind of logo recognition for books. My ultimate task is to take a picture of 4-5 of these logos on books and to be able to recognize them. The logos look like: example, and amount to around 20 different ones. As you can notice, they are fairly simplistic and my attempts to use feature (corner) recognition with ORB/AKAZE/others are not really working. I tried various parameters for: preprocessing the images (enhance contrast, gaussian blur), feature&descriptor extracting (except SIFT/SURF because of their license), selecting the best features (min-distance threshold, ratio test, top 10). Trying to make any of these work with findHomography with RANSAC is very inaccurate (can tweak things so that it works for a specific case but fails completely at others).

Looking at their results, it seems that the logos are just too simplistic and do not have any good defining features. The above methods still find good matches with keypoints that are completely unrelated to the logos (even though not many). I believe I need to change my approach and am thinking of the following:

  • implement a clustering algorithm (instead of findHomography) to group features together and stop at some max threshold when a new keypoint to-be-added is too far from the othersothers //EDIT: I mean hierarchical clustering here
  • use hough transform for clustering as in the Lowe paper (though I do not yet understand how)
  • something else?

Any ideas I could try or comments regarding the above? Is there maybe some sort of image recognition using more details about shape, as opposed to corners? Or some kind of recognition using canny edges? Are Ridge- or blob- recognition good options to investigate?