Authors:
(1) Ritesh Sharma, University Of California, Merced, USA [email protected];
(2) Eric Bier, Palo Alto Research Center, USA [email protected];
(3) Lester Nelson, Palo Alto Research Center, USA [email protected];
(4) Mahabir Bhandari, Oak Ridge National Laboratory, USA [email protected];
(5) Niraj Kunwar, Oak Ridge National Laboratory, USA [email protected].
Conclusion & Future work and References
We evaluated our approach to capturing 3D scans using AR headsets. We compared the floor plan dimensions with actual building dimensions and provided intermediate results: floor plans and 3D models. We also calculated the time taken for our algorithm steps. To demonstrate the approach robustness, we evaluated using multiple building types, including commercial buildings B1 and B3 and a residential building B3. Additionally, we validated our floor plan generation on the Matterport2D dataset [25].
Scanned Data Analysis We evaluated the precision of floor plan generation by comparing the actual dimensions of the rooms with the computed floor plan. Figure 10(a) illustrates the measurement of the building, which was scanned twice with our AR. We call these scans S1 and S2 (see figure 10(b) and figure 10(c)) For each scan, floor plans are computed and the dimensions are computed using geometric modeling software, Rhino [17]. We then compared the computed dimensions with the actual room dimensions as shown in Table 1. These results show the applicability of our approach to many building types.
Our method can compute a floor plan even from relatively incomplete mesh data. With a higher quality HoloLens scan, the resulting floor plan is more precise. Figure 11 displays S1 results: both types of floor plan and the 3D model.
Orienting floor and walls We must orient the mesh properly. Spherical k-means is compute intensive so we optimize it to get good performance. In Figure 4, we see the mesh of B1 before and after alignment, which took 12.4 seconds, of which 10.6 were spent aligning walls using spherical k-means.
Partitioning into stories We can detect a multi-story building and divide it into stories with an additional step. The algorithm projects triangles onto the positive y-axis and creates a histogram showing horizontal peaks. By analyzing the peaks in the histogram, we can determine the number of stories. Figures 5 and 12 show a 2-story residential building and a multi-story model from the Matterport3D dataset [25] that were partitioned into stories.
Finding planar walls To generate a drafting-style floor plan, we eliminate details and identify planar walls. The modified DBSCAN algorithm is the most time-consuming step. In the model of Figure 13, with 79,931 vertices and 134,235 faces, it took 27.4 seconds to prepare the data and run DBSCAN and an additional 3.79 seconds to construct flat walls from the generated clusters. For the residential building of Figure 14, with 173,941 vertices and 285,840 faces, it took 76 seconds to prepare and run DBSCAN and 23.36 seconds to compute flat walls. The results for a Matterport3D model appear in Figure 15.
Generating the floor plan The final step of our floor plan generation is to slice the mesh at different heights and superimpose the slices. Figures 13, 14, and 15 show floor plans generated using our approach.
We conducted experiments to evaluate the effects of changing graphical settings when rendering pen-and-ink floor plans. Each setting consists of a different combination of line segment opacity and slice count. We found that an opacity setting of 0.5 produced a floor plan that met our expectations. We also found that a floor plan with 100 slices provided a good balance between level of detail and clutter reduction. Optimal numbers will depend on use case.
This paper is available on arxiv under CC BY-NC-ND 4.0 DEED license.