This document presents PLVS: a real-time system that leverages sparse SLAM,
volumetric mapping, and 3D unsupervised incremental segmentation. PLVS stands
for Points, Lines, Volumetric mapping, and Segmentation. It supports RGB-D and
Stereo cameras, which may be optionally equipped with IMUs. The SLAM module is
keyframe-based, and extracts and tracks sparse points and line segments as
features. Volumetric mapping runs in parallel with respect to the SLAM
front-end and generates a 3D reconstruction of the explored environment by
fusing point clouds backprojected from keyframes. Different volumetric mapping
methods are supported and integrated in PLVS. We use a novel reprojection error
to bundle-adjust line segments. This error exploits available depth information
to stabilize the position estimates of line segment endpoints. An incremental
and geometric-based segmentation method is implemented and integrated for RGB-D
cameras in the PLVS framework. We present qualitative and quantitative
evaluations of the PLVS framework on some publicly available datasets. The
appendix details the adopted stereo line triangulation method and provides a
derivation of the Jacobians we used for line error terms. The software is
available as open-source