Authors: Jun Zhang, Mina Henein, Robert Mahony and Viorela Ila
VDO-SLAM is a Visual Object-aware Dynamic SLAM library for RGB-D cameras that is able to track dynamic objects, estimate the camera poses along with the static and dynamic structure, the full SE(3) pose change of every rigid object in the scene, extract velocity information, and be demonstrable in real-world outdoor scenarios. We provide examples to run the SLAM system in the KITTI Tracking Dataset, and in the Oxford Multi-motion Dataset.
We have tested the library in Mac OS X 10.14 and Ubuntu 16.04, but it should be easy to compile in other platforms.
We use some functionalities of c++11, and the tested gcc version is 9.2.1 (ubuntu), the tested clang version is 1000.11.45.5 (Mac).
We use OpenCV to manipulate images and features. Download and install instructions can be found at: http://opencv.org. Required at least 3.0. Tested with OpenCV 3.4.
Required by g2o (see below). Download and install instructions can be found at: http://eigen.tuxfamily.org. Required at least 3.1.0.
We use modified versions of g2o library to perform non-linear optimizations. The modified libraries (which are BSD) are included in the dependencies folder.
In the source code folder, we provide a script build.sh
to build the dependencies libraries and VDO-SLAM.
Please make sure you have installed all required dependencies (see Section 1).
Please also change the library file suffix, i.e., '.dylib' for Mac (default) or '.so' for Ubuntu, in the main CMakeLists.txt.
Then Execute:
cd VDO-SLAM
chmod +x build.sh
./build.sh
This will create
-
libObjSLAM.dylib (Mac) or libObjSLAM.so (Ubuntu) at lib folder,
-
libg2o.dylib (Mac) or libg2o.so (Ubuntu) at /dependencies/g2o/lib folder,
-
and the executable vdo_slam in example folder.
-
Download the demo sequence: kitti_demo, and uncompress it.
-
Execute the following command.
./example/vdo_slam example/kitti-0000-0013.yaml PATH_TO_KITTI_SEQUENCE_DATA_FOLDER
-
Download the demo sequence: omd_demo, and uncompress it.
-
Execute the following command.
./example/vdo_slam example/omd.yaml PATH_TO_OMD_SEQUENCE_DATA_FOLDER