Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use Chamfer Matching algorithm for finding 'Similar Images'

I would like to ask for more information on how Chamfer Matching algorithm (an edge matching algorithm) can be used to find 'similar' images. I would like to know if it is possible to place a 'score' for the matched results.

like image 921
bloodfire1004 Avatar asked Aug 09 '10 06:08

bloodfire1004


People also ask

What is chamfer matching?

Chamfer matching is a simple, accurate, reliable, and fast registration method for segmented images. It may be considered as an efficient and flexible implementation of the iterative closest-point matching algorithm. With careful tuning, the method achieves subpixel accuracy.

How do you calculate chamfer distance?

The Chamfer distance is computed by summing the squared distances between nearest neighbor correspondences of two point clouds. The algorithm makes no distinction between source and candidate files (i.e., they can be transposed with no affect on the computed distance).

What is image matching algorithm?

Image matching techniques are the techniques used to find existence of a pattern within a source image. Matching methods can be classified in two categories i.e. Area based matching techniques and feature based matching techniques.

What is image matching in image processing?

Image matching is an important concept in computer vision and object recognition. Images of the same item can be taken from any angle, with any lighting and scale. This as well as occlusion may cause problems for recognition. But ultimately, they still show the same item and should be categorized that way.


1 Answers

The Chamfer Matching Algorithm basically calculates the distance (dis-similarity) between two images. The basic idea is to:

  1. Extract the edge/contours of a query image as well as target image.
  2. Take one point/pixel of contour in query image and find the distance of a closest point/pixel of contour in target image.
  3. Sum the distances for all edge points/pixels of query image.

This gives the Chamfer Distance i.e. a value of dis-similarity between two images. The lower the value better the result. However, you have to take care of scaling, and sliding windows as well if target image is larger than query image which is often the case.

You could find working exampling on opencv\modules\contrib.

like image 197
Rudi Avatar answered Sep 19 '22 09:09

Rudi