In this document we list all the pieces of code included by ORB-SLAM2 and linked libraries which are not property of the authors of ORB-SLAM2.
-
ORBextractor.cc. This is a modified version of orb.cpp of OpenCV library. The original code is BSD licensed.
-
PnPsolver.h, PnPsolver.cc. This is a modified version of the epnp.h and epnp.cc of Vincent Lepetit. This code can be found in popular BSD licensed computer vision libraries as OpenCV and OpenGV. The original code is FreeBSD.
-
Function ORBmatcher::DescriptorDistance in ORBmatcher.cc. The code is from: http://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetParallel. The code is in the public domain.
-
BoostArchiver.h and serialize() in KeyFrame.cc, KeyFrameDatabase.cc, Map.cc, and MapPoint.cc. That part of the code was taken from here: https://github.com/Alkaid-Benetnash/ORB_SLAM2.
-
All code in DBoW2 folder. This is a modified version of DBoW2 and DLib library. All files included are BSD licensed.
-
All code in g2o folder. This is a modified version of g2o. All files included are BSD licensed.
-
All code in or-tools-7.7 folder. This is from or-tools. All files included are Apache licensed.
-
Pangolin (visualization and user interface). MIT license.
-
OpenCV. BSD license.
-
Eigen3. For versions greater than 3.1.1 is MPL2, earlier versions are LGPLv3.