We propose a novel method for reconstructing floor plans from noisy 3D point clouds. Our main contribution is a principled approach that relies on the Monte Carlo Tree Search (MCTS) algorithm to maximize a suitable objective function efficiently despite the complexity of the problem. Like previous work, we first project the input point cloud to a top view to create a density map and extract room proposals from it. Our method selects and optimizes the polygonal shapes of these room proposals jointly to fit the density map and outputs an accurate vectorized floor map even for large complex scenes. To do this, we adapt MCTS, an algorithm originally designed to learn to play games, to select the room proposals by maximizing an objective function combining the fitness with the density map as predicted by a deep network and regularizing terms on the room shapes. We also introduce a refinement step to MCTS that adjusts the shape of the room proposals. For this step, we propose a novel differentiable method for rendering the polygonal shapes of these proposals.
In a preprocessing step, we generate a top-view density map from a point cloud of the input scene:
From this density map we generate room proposals that are defined as simple 2D polygons. More exactly, we use Mask R-CNN to detect potential rooms' masks and use a simple polygonization technique to transform detected masks into 2D polygons.
Next, we jointly select and further refine the optimal set of proposals by running our adapted version of MCTS that adds an optimization step into the pipeline. We introduce a differentiable winding algorithm to enable differentiable rendering of 2D polygons. Hence, we are able to rely on a series of useful objective terms to guide both the tree search and the refinement of the optimal room proposals. After desired number of iterations the algorithm terminates and outputs attractive 2D floor plans that align well with the underlying scene.
The following animations show selection and refinement progress through iterations.
Input density map Progress through iterations Ground truth for comparison
We can easily generate 3D floor plan reconstruction from the estimated 2D floor plan that aligns very well with the input point cloud: