TILDE: a Temporally Invariant Learned DEtector
This software is the C++ and MATLAB implementation for the TILDE keypoint detector presented in [1]. The software provides both the C++ implementation of TILDE which can be used easily to detect keypoints, and a MATLAB based evaluation framework.
This software is strictly for academic purposes only. For other purposes, please contact us. When using this software, please cite [1] and other appropriate publications if necessary (see matlab/external/licenses for details).
[1] Y. Verdie, K. M. Yi, P. Fua, and V. Lepetit. "TILDE: A Temporally Invariant Learned DEtector.", Computer Vision and Patern Recognition (CVPR), 2015 IEEE Conference on.
Contact:
Yannick Verdie : yannick
<< The TILDE C++ Implementation >>
The C++ implementation of TILDE provides an easy-to-use library with a simple demo program to detect and display the keypoints. We provide TILDE keypoints learned with the Webcam dataset in [1].
NOTES:
REQUIREMENTS:
USAGE:
Build the libraries and the demo. Standard procedure is as follow (from the project root directory):
cd c++ mkdir build cd build cmake .. make
Then you can run the demo code from the build directory with:
./Demo/demo
IMPORTANT FUNCTIONS:
The main function is getTILDEKeyPoints (see demo.cpp)
std::vector
<>:
<
DIRECTORY STRUCTURE:
<c++> : Main project directory | ------ |
|
---|---|---|
------ <3rdParties> : Contains the 3rd party codes which our implementation | ||
is dependent on. | ||
------ |
When a number is added in the name of the filter, it
denotes that the filter is for use with the approximation
flag on (i.e. it is the approximated TILDE). The name
indicates which dataset was used to learn this filter.
: Contains a test example testImage.png which is read by demo.cpp. Also
used by the MATLAB evaluation framework (detail below) to store the
dataset for evaluation.
----
NOTE ON THE LICENSE OF 3RD PARTY SOFTWARE:
In case of 3rd party software used in this project. Please refer to the
corresponding copyright notifications on the top of each code.
--------------------------------------------------------------------------------
The MATLAB Evaluation Framework
The MATLAB evaluation framework provides an easy way to evaluate the
repeatability of different detectors. We provide the implementations we used for
SIFT, SURF, FAST-9, LCF, EdgeFoci, MSER along with our own TILDEP and TILDEP24
(see [1] for details).
----
NOTE:
Codes run partially on Mac OSX (some competitor methods are not available on
this platform) and almost completelly on Linux (all the competitor methods are
available on Linux except EdgeFoci. We provided pre-computed results
separately, available at project web page https://www.epfl.ch/labs/cvlab/research/descriptors-and-keypoints/research-tilde/)
In order to avoid detecting the same keypoints multiple times, This software
USES CACHING BY DEFAULT. It will save computed keypoints in sub-folders of the
dataset folders (detail on the dataset section below). In case you need to reset
the detected keypoints, be sure to erase the cache files.
We have enhanced the implementation for easier use since the paper was
submitted, and we therefore recommend to use the results from this
implementation when comparing. There may be minor differences with the results
reported in [1].
----
REQUIREMENTS:
- MATLAB 2013b or higher (may run on older versions but not tested)
- OpenCV 2.4.9 or higher
- ImageMagick (for the command 'convert') available both on Mac and Linux
- Pkg-config
** Make sure the binaries provided in