A Comparison of SIFT , SURF and ORB

Shehan Akalanka Perera
4 min readAug 18, 2018

--

What will be the best image matching technique we can use for our researches. We have SIFT, SURF, ORB and other techniques to get keypoints. I did a small experiment to see which will be best for my research work and also help others to get some idea about these techniques.

Overview of image matching techniques

SIFT :

SIFT proposed by Lowe solves the image rotation, affine
transformations, intensity, and viewpoint change in matching
features. The SIFT algorithm has 4 basic steps. First is to
estimate a scale space extrema using the Difference of
Gaussian (DoG). Secondly, a key point localization where the
key point candidates are localized and refined by eliminating
the low contrast points. Thirdly, a key point orientation
assignment based on local image gradient and lastly a
descriptor generator to compute the local image descriptor for
each key point based on image gradient magnitude and
orientation.

SURF:

SURF approximates the DoG with box filters. Instead of
Gaussian averaging the image, squares are used for
approximation since the convolution with square is much
faster if the integral image is used. Also this can be done in
parallel for different scales. The SURF uses a BLOB detector
which is based on the Hessian matrix to find the points of
interest. For orientation assignment, it uses wavelet responses
in both horizontal and vertical directions by applying adequate
Gaussian weights. For feature description also SURF uses the
wavelet responses. A neighborhood around the key point is
selected and divided into subregions and then for each
subregion the wavelet responses are taken and represented to
get SURF feature descriptor. The sign of Laplacian which is
already computed in the detection is used for underlying
interest points. The sign of the Laplacian distinguishes bright
blobs on dark backgrounds from the reverse case. In case of
matching the features are compared only if they have same
type of contrast (based on sign) which allows faster matching .

ORB :

ORB is a fusion of the FAST key point detector and BRIEF
descriptor with some modifications [9]. Initially to determine
the key points, it uses FAST. Then a Harris corner measure is
applied to find top N points. FAST does not compute the
orientation and is rotation variant. It computes the intensity
weighted centroid of the patch with located corner at center.
The direction of the vector from this corner point to centroid
gives the orientation. Moments are computed to improve the
rotation invariance. The descriptor BRIEF poorly per forms if
there is an in-plane rotation. In ORB, a rotation matrix is
computed using the orientation of patch and then the BRIEF
descriptors are steered according to the orientation.

WORKS :

I use multiple images for this and also I use my research test data to check this. First I check techniques by comparing 2 images(original, rotated image). And do this for several image sets. Then I use this to test some landmark images. The result of the first approach I used to get the following conclusion.

RESULT :

I run SIFT, SURF, and ORB using OpenCV with Python. And the result is shown below.

box.pgm for testing
Result of box.pgm (matches original with 180 rotated image)
basmati.pgm for testing
Result of basmati.pgm (matches original with 180 rotated image)

So we can notice that SIFT and SURF get different keypoints for the same image when it rotated, also it gets less match. But if we consider about ORB it gets same no.of keypoints both original and rotated images and matches 100%. Also, I notice that ORB execute fast than others.

CONCLUSION :

After comparing SIFT, SURF and ORB, we can notice ORB is the fast algorithm. From the result, we can assume ORB gets keypoint more efficient than others. Nowadays SURF not in use. SIFT doing great work, but I assume that the ORB will give a more good result for researches.

Links: https://github.com/ShehanPerera/Research

References:Image Matching Using SIFT, SURF, BRIEF and
ORB: Performance Comparison for Distorted Images by Ebrahim Karami, Siva Prasad, and Mohamed Shehata(Faculty of Engineering and Applied Sciences, Memorial University, Canada)

--

--