CS 4670
Project2 report
Xiaobo Shen(xs83)
Changchen He(ch627)
Design choices:
1. The main framework of the program is
given, but we modified the function signature
of the computeHarrisValues
function by adding 'CFloatImage &harrisOri' argument.
This
is useful for holding the computed orientation.
2. We implemented our own Gaussian
smoothness kernel which has controllable sigma and
Window size parameters
3. We implemented a simple descriptor not
just directly taking the intensity values but
normalizing
the intensity value by the square root of mean so that the features are
invariant
to illumination change.
4. We implemented a custom descriptor which takes the first order and second order
central
moments of the
intensities from the rotated 5x5 window, and we compute some scale and
rotation
invariant values from those central moments. the
simple descriptor feature vector
is
also appended to this feature vector. We believe that the central moment and the
derived
scaling
the rotation invariant values are useful features for performing matching.
5. We wrote automatic testing scripts for
running experiments which saved a lot of human
labor
time.
Strength and weakness
Strength:
1.
Our system has multiple feature descriptors functions which
can be selected by user's choice.
2.
Our custom descriptor outperforms the other two in terms of average AUC on some
particular image data set such as graf
Weakness:
1.
Our MOPS descriptor does not meet our expectation of performance. It works well
in the Yosemite image data set but in graf
image data set, it works worse than our modified simple
feature descriptor.
2.
We need to manually select the threshold value for the Harris corner detector which need to be varied on different
image data set. It needs a lot of user time to fine-tune.
Experiment results:
harris image for
Graf img1.ppm:
harris image for yosemite yosemite1.jpg:
bikes Average AUC:
bikes |
|
|
|
|
simple |
MOPS |
custom |
ssd |
0.23 |
0.644 |
0.254 |
ratio |
0.45 |
0.636 |
0.444 |
graf Average AUC:
graf |
|
|
|
|
simple |
MOPS |
custom |
ssd |
0.68 |
0.42 |
0.705 |
ratio |
0.6 |
0.293 |
0.63 |
leuven Average AUC:
leuven |
|
|
|
|
simple |
MOPS |
custom |
ssd |
0.22 |
0.638 |
0.274 |
ratio |
0.614 |
0.802 |
0.667 |
wall Average AUC:
wall |
|
|
|
|
simple |
MOPS |
custom |
ssd |
0.52 |
0.681 |
0.486 |
ratio |
0.696 |
0.705 |
0.64 |
Roc Curves for graf:
Roc Curves for Yosemite:
Self-taken image matching result (use MOPS descriptor and ratio test match):
Extra credits:
1. We implemented a custom descriptor which takes the first order and second order
central
moments of the
intensities from the rotated 5x5 window, and we compute some scale and
rotation
invariant values from those central moments. the
simple descriptor feature vector
is
also appended to this feature vector. We believe that the central moment and the
derived
scaling
the rotation invariant values are useful features for performing matching.