By Yan Huang (yh553) and Sean Ryan (ser99)
We split out part of computeHarrisValues into a computeHarrisMatrices function. This function takes a grayscale image and produces three images filled with A, B, and C values for each pixel; thus it effectively computes a Harris matrix at each pixel. We did this so that we could compute Harris matrices in the computeHarrisValues function and in ComputeHarrisFeatures (for rotation) using the same code.
In ComputeHarrisValues, we compute the maximum eigenvalue and the corresponding eigenvector for each feature to get the feature's angle. We do this here because we consider the angle to be fundamental to the Harris feature. Note that this means we must force the angle to zero in ComputeSimpleDescriptors.
We wrote our MOPS descriptor before we knew about WarpGlobal and thus did the transformations and interpolation using our own code. Since it worked well enough we didn't go back and rewrite it all. Our MOPS code does the following
We've made the bugfix changes on Piazza, including the benchmark fixes from @53. Thus our benchmark figures can be trusted.
AVG Error | AVG AUC | |
Simple SDD | 403 | 0.379 |
Simple Ratio | 403 | 0.571 |
MOPS SDD | 390 | 0.831 |
MOPS Ratio | 390 | 0.882 |
AVG Error | AVG AUC | |
Simple SDD | 361 | 0.121 |
Simple Ratio | 361 | 0.261 |
MOPS SDD | 214 | 0.827 |
MOPS Ratio | 214 | 0.925 |
AVG Error | AVG AUC | |
Simple SDD | 384 | 0.238 |
Simple Ratio | 384 | 0.684 |
MOPS SDD | 328 | 0.820 |
MOPS Ratio | 328 | 0.838 |
Clearly the simple descriptor with SDD matching is quite bad. However, investigation with the GUI shows that the simple descriptor is decent at matching things in the Yosemite images because they are translation only.
Our MOPS descriptor has a good AUC and acts as expected in the GUI. It is very good at working under different lighting conditions and under translations. It is decent at matching under rotation. However, it is defeated by any transformation that significantly changes the plane of the image (graf/img4) and by images with high amounts of blur.