The document summarizes an application that performs visual search by accepting an image from the user and indexing a directory of images based on similarity to the query image using features like shape, texture, and color. It describes several algorithms used to analyze image similarity, including computing signatures to measure image approximation, edge detection using gradient masks, and the Hausdorff distance algorithm to measure mismatch between image point sets.
2. The application simulates a Visual search by
accepting an image from the user and indexing
a specified directory of images according to
their similarity to the query image in terms of
shape, texture, color, etc.
3. Image similarity can be analyzed by
computing a “signature” for each image to be
compared
A similarity index can be obtained by
measuring the degree of approximation
between the two given signatures
The app defines independent signatures for
each feature of the image (color, texture) for
comparison and then combines the individual
results in order to obtain a better match
4. Aims at identifying points in an
image where the image intensity
changes sharply or has
discontinuities
This significantly reduces the
amount of data and filters out
useless information while
preserving the important
structural properties in an image
5. Detects edges by looking for the maximum
and minimum in the first derivative of the
image in gradient
The actual algorithm involves the
computation of the grayscale of the image (if
required) followed by the application of the
gradient masks
6. Graph shows change in pixel Intensity as
we move from left to right in an image
The edge shows the jump in intensity
7. Graph shows gradient of image
Maxima represents local intensity change
(Sobel method)
Gradient
13. Measures the degree of mismatch between
two finite point sets.
Hausdorff distance is the maximum distance
of a set to the nearest point in the other set
Given a set A of points ‘a’ & a set B of points
‘b’; the Hausdorff distance from A to B is a
maxi-min function given as:
14.
15.
16.
17.
18.
19.
20.
21.
22. The Hausdorff distance serves to check the
degree of similarity between images
Lower the distance value, better the match
This method gives good results, even in
presence of noise or occlusion
Accounts for some basic geometric
transformations like:
Translation
Rotation
Scaling
24. Color Maps divide an image into blocks
Blocks represent average pixel intensity of the
corresponding area of the image
Generated by taking the Red, Green & Blue
averages of a block of pixels (16x16 in our app)
Images scaled before map generation to
improve efficiency
Images are compared by computing the
absolute difference of average intensities
between respective blocks
25.
26. A hash is a unique value of a fixed size
representing a large amount of data (in this
case, image data)
Hashes of two images should match if and
only if the corresponding images also match
Small changes to the image result in large
unpredictable changes in the hash
27. Secure Hash Algorithm (SHA) consists of a
set of cryptographic hash functions
ComputeHash method of SHA256Managed
class takes a byte array as an input parameter
and produces a 256 bit hash of that data
ImageConvertor class is used to convert
Image (or Bitmap) objects from one data type
to another, such as a byte array
By computing and then comparing the hash
of each image, we can find exact matches
28.
29.
30.
31.
32.
33.
34.
35.
36. 1. Daniel P. Huttenlocher, Gregory A. Klanderman, and William J.
Rucklidge. Comparing Images Using the Hausdorff Distance.
IEEE Trans. Pattern Analysis and Machine Intelligence, 1993
2. J. Canny. A Computational Approach To Edge Detection.
IEEE Trans. Pattern Analysis and Machine Intelligence, 1986
3. I. Sobel and G. Feldman. ‘A 3x3 Isotropic Gradient Operator for
Image Processing’.
Pattern Classification and Scene Analysis, 1973
4. H. Alt, B. Behrends and J. Blomer. Measuring the resemblance of
Polygon Shapes.
Proc. Seventh ACM Symposium on Computational Geometry,
1991
5. Herbert Schildt. C# 2.0: The Complete Reference, 2nd Edition.
Tata McGraw-Hill, 2006
6. MSDN Library. msdn.microsoft.com/en-us/library/default.aspx