How to count image similarity

asked 2017-03-10 13:01:16 -0600

Hello. I would like to use Java (specifically on Android) to match two pictures (which have almost the same content) with deifferent oriebtation and light. I have managed to use an ORB Detector and Descriptor for extracting keypoints from both images. I am iterating through each keypoint the FeatureMatcher provides using a simple for loop. Now I am able to get rhe distance of each match between the corresponding keypoints in image 1 and image 2. Here is my problem: How do I get the exact similarity value?

Imagine this scenario: I am trying to find a ball. I have a big bicture with the ball ->MANY keypoints with LOW (Lets say 20) distance I have another picture to be compared with (without a ball) -> FEW keypoints with HIGH (Lets say 50) distance. If MANY keypoints are 10 and FEW keypoints are 3 then if I just add them together I will get 200 distance for the ball picture and 150 for the picture without a ball.

WHAT IS A SAFE TO USE WAY TO GET THE RIGHT RESULT. (AVERAGE DISTANCE SOUNDS A BIT TO EASY TO ME)

edit retag flag offensive close merge delete

Comments

1

no, keypoint / descrptor matching is for sure NOT the way.

again - please #define "image similarity"

berak gravatar imageberak ( 2017-03-10 13:11:20 -0600 )edit

Oh. What should I do then to compare the images? By image similarity I mean in my use case an object (with some background in the picture) which is used as one image and several others which are compared to this one picture whether they contain the just captured object. So I may need an absolute value from which I can find the lowest distance to find the most similar picture. Is there another way than keypoints to do this?

fameman gravatar imagefameman ( 2017-03-10 16:06:04 -0600 )edit