Wow, I knew SIFT is patented, but didn’t know SURF and Haar-Adaboost are also.
Again there is NO Free Lunch ……
Sadly, SURF and SIFT are both patented.
We had re-implemented from scratch both SURF and SIFT and we wanted to include both of these simply because so many people want to compare against them, but in personal communications, decided not to include SIFT.
SURF is one of two bad cases I know of that should not be used commercially (the other is the Cascade face detector). These were meant for research comparison, not for commercial use. The are both re-implemented from scratch. We also implemented SIFT but decided not to include it because of its wide spread commercial patented use.
However, help is soon at hand:
1. We believe that SIFT finally has adequate or superior competitors that are free and will be incorporated in the next release (some are already in the current SVN). The next release is due “end of summer” (which might, um, slip to “September”). These are
The FAST detector for KeyPoints and:
Planar object detector using fern-based patch classifier and V. Lepetit keypoint detector has been added.
M. Ozuysal, M. Calonder, V. Lepetit and P. Fua, Fast Keypoint Recognition using Random Ferns, accepted to IEEE Transactions on Pattern Analysis and Machine Intelligence, 2009.
Integrated self-similarity features (code contributed by Rainer Leinhart)
1. Shechtman, E., Irani, M. Matching local self-similarities across images and videos. CVPR 2007
2. Eva Horster, Thomas Greif, Rainer Lienhart, Malcolm Slaney. Comparing Local Feature Descriptors in pLSA-Based Image Models. 30th Annual Symposium of the German Association for Pattern Recognition (DAGM) 2008, Munich, Germany, June 2008.
2. The cascade: We’ve re-written this again to just use a sequence of generic, tree based boosted classifiers which now can take any kind of feature.
We’ve implemented the older Haar features, but have also added newer Local Binary Patterns (LBP)
Ojala and M. Pietikainen. Multiresolution Gray-Scale and Rotation
Invariant Texture Classification with Local Binary Patterns, IEEE Trans
on Pattern Analysis and Machine Intelligence, Vol. 24. No.7, July, 2002.
This cascade is backwards compatible — it will read and convert older files and should perform the same on them, but you can retrain using the new features.
Does this get around the patent? I don’t know. But we now have a full machine learning library in OpenCV and the boosting techniques there should outperform the cascade but be slower.
However, we’re working on kernel based gentle boost that should not only out perform the cascade but be faster too in parallel implementation. This latestest code will not be in the summer release, look for it in January.