Feature descriptor: simple SIFT (without pyramiding). First smooth image. then take a 17x17 patch around the image (omit pixels with x or y coordinates equal to the center of the image) and, for every 4x4 subpatch in that patch, build a histogram (with 16 bins) of the gradient directions at every pixel within the subpatch. Concatenate the normalized histograms from each subpatch to form the feature descriptor (dimension 4*4*16 = 256).

Design choices / strengths and weaknesses: this descriptor uses a simple histogram of gradients which has been successful in the literature. It is quite discriminative for purposes where the scale does not change between two images. However, the descriptor does not use pyramiding and is therefore susceptible to changes in scale, unlike the full SIFT descriptor.

ROC curves:
Yosemite:

Example Harris image:

graf:

Example Harris image:


graf AUC:
Simple features:
SSD: 0.533936
Ratio: 0.666684
MOPS features:
SSD: 0.805411
Ratio: 0.890187
Custom features:
SSD: 0.812870
Ratio: 0.875257


leuven AUC:
Simple features:
SSD: 0.517829
Ratio: 0.612684
MOPS features:
SSD: 0.338364
Ratio: 0.863403
Custom features:
SSD: 0.836566
Ratio: 0.942287


bikes AUC:
Simple features:
SSD: 0.894040
Ratio: 0.894040
MOPS features:
SSD: 0.983444
Ratio: 0.983444
Custom features:
SSD: 0.983444
Ratio: 0.983444


wall AUC:
Simple features:
SSD: 0.677361
Ratio: 0.711890
MOPS features:
SSD: 0.661680
Ratio: 0.698177
Custom features:
SSD: 0.816869
Ratio: 0.900713