External Validation
Correctly implementing algorithms and producing the expected performance is difficult. Academic papers more of then than not leave out important implementation details which are needed to reproduce their results. Just like with the halting problem in CS, its nearly impossible to formally prove that an algorithm is correctly implemented.
BoofCV contains over a thousand internal tests to help ensure correctness of its algorithms, but testing against external sources provides a hard number to compare against. This page contains a list of important algorithms inside of BoofCV and if they have been validated against external libraries or not. Just because some code has not been validated does not mean it is incorrect.
Status |
Meaning
|
Validated |
As good or better than original code or test data
|
Needs Work |
Producing results which are not as good as expected
|
NA |
Significantly different from original. See comments in code
|
|
Blank means that it has not been externally validated
|
Region Descriptors
Algorithm
|
Status
|
Comments
|
SURF |
Validated |
Original authors reference binary and others. http://boofcv.org/index.php?title=Performance:SURF
|
SIFT |
Validated |
Scale-space is computed significantly different from original. Out performs reference binary, possibly due to more tuning options.
|
KLT |
|
|
BRIEF |
|
|
Feature Detectors
3D Vision
Algorithm
|
Status
|
Comments
|
Zhang99 |
Validated |
More accurate than parameters found in paper. Given same points it produces same results as OpenCV. More accurate calibration point detector then OpenCV.
|
EPnP |
|
Pending verification against author's code
|
8+ pt Fundamental |
|
|
8+ pt Essential |
|
|
7 pt Fundamental |
|
|
7 pt Essential |
|
|
5 pt Essential Nister |
|
Pending validation against author's Matlab code
|
Linear H |
|
|
Linear Trifocal 7 |
Validated |
Compared to matlab code found online that was based off the same source. Validation Code
|
Object Tracking
Algorithm
|
Status
|
Comments
|
TLD |
Validated |
Comparable to slightly less stable than original. TLD is less stable than it at first appears, making scoring difficult.
|
Circulant |
Validated |
Improved over original. Much faster and slightly more stable.
|
MeanShiftComaniciu2003 |
|
|
Image Processing
Algorithm
|
Status
|
Comments
|
Convolution |
|
|
Interpolation
Algorithm
|
Status
|
Comments
|
Nearest Neighbour |
|
|
Bilinear |
|
|
Image Transformation
Algorithm
|
Status
|
Comments
|
Wavelet |
|
|