DIRD: An illumination robust descriptor for place recognition
This website presents DIRD based place recognition. Source code and datasets are made freely available. DIRD feature vectors are extracted for every image of a given sequence. Thereafter pairs of images are automatically found that belong to the same place. The method is very robust against illumination changes.
This library can be used for loop closure detection in visual SLAM. It is written in C++, is self contained, easy to compile using CMake, runs on Linux and Windows and includes MATLAB wrappers as well as sample datasets. Moreover, the feature extraction is very fast (approx. 7ms on a single core). Place recognition is fast using SSE intrinsics. More information is availabe on this website.
Online Toolbox for Camera and Range Sensor Calibration
This online toolbox can be used to fully automatically calibrate one or multiple video cameras intrinsically and extrinsically using a single image per sensor only using a set of planar checkerboard calibration patterns. Furthermore, if provided, it registers the point cloud of a 3D laser range finder with respect to the first camera coordinate system. The main assumption for our algorithm to work is that all cameras and the range finder have a common field of view and the checkerboard patterns can be seen in all images, cover most parts of the images and are presented at various distances and orientations. More information is availabe on this website.
LIBVISO2: Library for Visual Odometry
LIBVISO2 is a very fast cross-platfrom (Linux, Windows) C++ library with MATLAB wrappers for computing the 6 DOF motion of a moving mono/stereo camera rig. The stereo version is based on minimizing the reprojection errors of sparse feature matches and runs in real-time (>20fps on i7 at VGA resolution). No motion model or setup restrictions are imposed, except that the input images must be rectified and calibration parameters are known. The monocular version uses the 8-point algorithm for fundamental matrix estimation. For estimating the scale it assumes that the camera is moving at a known and fixed height over ground. It includes a simple structure-from-motion pipeline to reconstruct sparse 3D point clouds. The source code of libviso2 including a readme file containing installation instructions can be downloaded here. More information is availabe on this website.
LIBELAS: Library for Efficient Large-scale Stereo Matching
LIBELAS is a cross-platfrom (Linux, Windows) C++ library with MATLAB wrappers for computing disparity maps from rectified graylevel stereo pairs. It is robust against moderate changes in illumination and well suited for robotics applications with high resolution images. Computing the left and right disparity map of a one Megapixel image requires less than one second on a single i7 CPU core. A sub-sampling option allows for computing disparity maps at half image but full depth resolution at 10 fps. The source code of libelas including a readme file containing installation instructions can be downloaded here. More information is availabe on this website.
LIBICP: Library for Iterative Closest Point Fitting
LIBICP is a cross-platfrom C++ library with MATLAB wrappers for fitting 2d or 3d point clouds with respect to each other. Currently it implements the SVD-based point-to-point algorithm as well as the linearized point-to-plane algorithm. It also supports outlier rejection and is accelerated by the use of kd trees as well as a coarse matching stage using only a subset of all points. The source code of libicp including a readme file containing installation instructions can be downloaded here. More information is availabe on this website.