0

Backstory , in my country there is a picture of its founding father in every bank denomination :

.

I want to find the similarity between these two images via surf detectors .The system will be trained by both images. The user will present the bottom picture or the top picture via a webcam and will use the similarity score between them to find its denomination value .

My pseudocode:

1.Detect keypoints and the corresponding descriptors of both the images via surf detector and descriptor .
2.a.Calculate the matching vector between the query and each of the trained example .Find number of good matches / total number of matches for each image .
2.b.OR Apply RANSAC algorithm and find the highest number of closest pair between query and training algorithm
3.The one having the higher value will have higher score and better similarity.

Is my method sound enough , or is there any other method to find similarity between two images in which the query image will undergo various transformations . I have looked for solutions for this such as finding Manhattan distance , or finding correlation , however none of them are adequate for this problem.

Community
  • 1
  • 1
motiur
  • 1,640
  • 9
  • 33
  • 61
  • Wouldn't it be easier to train a classifier to search for **numbers** (I mean, the Hindu-Arabic digits, not the Bengali ones) instead..? – scap3y Nov 26 '13 at 17:17
  • Bank note detection is one of the goals , I have other common object detection in mind for example book covers . However , I want to quantify the similarity between two images . – motiur Nov 26 '13 at 17:23
  • If you are looking for generic object recognition, I would suggest going for the [Earth Mover's Distance (EMD) metric](http://robotics.stanford.edu/~rubner/papers/rubnerIjcv00.pdf). It gives a feeling on how hard it is to transform a normalized grayscale image into another and can be easily generalized for color images as well.. – scap3y Nov 26 '13 at 17:26
  • @scap3y: Any TL;DR for Earth Movers Distance , also isn't there any hope for surf based feature matching . Thanks. – motiur Nov 26 '13 at 22:24
  • You can use any feature matcher and use EMD to describe the difference between 2 sets of points. I have linked the paper in my prev comment (it isn't that hard to implement). – scap3y Nov 27 '13 at 10:31

2 Answers2

1

Yes, you are doing it the right way

1) You create a training set and  store all its feature-points .
2) Perform ratio test for matches with the query and train feature-points.
3) Apply ransac test and draw matches (apply homograpghy if you want highlight the detected note).

This paper might be helpful, they are doing similar thing using SIFT

Darshan
  • 1,018
  • 10
  • 19
0

Your algorithm looks fine, but you have much more information with you which you can make use of. I will give you a list of information which you can use to further improve your results:

1. Location of the part where denominations are written on the image.

2. Information about how denominations are written - Script knowledge.

3. Homo-graphic information as you know the original image and The observed image

Make use all the above information to improve the result.

Armin Mustafa
  • 652
  • 1
  • 7
  • 13