Search

US-12620175-B2 - 3D modeling process through conversion of LiDAR scan data

US12620175B2US 12620175 B2US12620175 B2US 12620175B2US-12620175-B2

Abstract

A modeling system accesses a mesh model generated via a light detection and ranging (LiDAR) scan of an environment comprising a room, the mesh model including anchors corresponding to walls, a floor, and a ceiling of the room. The modeling system generates, based on the anchors in the mesh model, alternate walls for a modified mesh model, the alternate walls corresponding to mesh facets of the mesh model. The modeling system modifies a configuration of the mesh facets of the alternate walls to generate the modified mesh model. The modeling system renders a three-dimensional (3D) model of the environment from the modified mesh model.

Inventors

  • Jon Carlson
  • Michael Tadros

Assignees

  • TRIMBLE INC.

Dates

Publication Date
20260505
Application Date
20230419

Claims (20)

  1. 1 . A computer-implemented method, comprising: using a user computing device: accessing a mesh model generated via a light detection and ranging (LiDAR) scan of an environment comprising a room, the mesh model including anchors assigned during the LiDAR scan, the anchors comprising vertical plane anchor types assigned as wall anchors corresponding to walls of the room and horizontal plane anchor types assigned as either floor anchors corresponding to a floor of the room or ceiling anchors corresponding to a ceiling of the room; establishing, based on positions of the floor anchors in the mesh model, a floor reference height, wherein establishing the floor reference height comprises identifying extents of the floor anchors, determining a center vertical height as a base reference, and determining, for each of the anchors assigned as the floor anchors in the mesh model, a floor height adjusted to the base reference; establishing, based on positions of the ceiling anchors in the mesh model, a ceiling reference height, wherein establishing the ceiling reference height comprises determining, for each of the anchors assigned as the ceiling anchors in the mesh model, a height adjusted to the base reference; generating, based on the wall anchors in the mesh model, polygons corresponding to alternate walls, the polygons having dimensions associated with the wall anchors, the alternate walls corresponding to mesh facets of the mesh model; generating, for each of the alternate walls, a key associating one of the mesh facets with a corresponding one of the alternate walls; repositioning one or more of the alternate walls based at least in part on at least one of the floor reference height or the ceiling reference height; modifying a configuration of the mesh facets based on a configuration of the alternate walls to generate a modified mesh model, wherein modifying the configuration comprises, for each mesh facet, matching the mesh facet to the corresponding alternate wall using the key, and modifying the configuration of the mesh facet based on the configuration of the corresponding alternate wall; and rendering a three-dimensional (3D) model of the environment from the modified mesh model.
  2. 2 . The computer-implemented method of claim 1 , further comprising: performing, by the user computing device, the LiDAR scan of the environment of the user computing device; and based on data of the scan, constructing, by the user computing device, the mesh model.
  3. 3 . The computer-implemented method of claim 1 , wherein generating the alternate walls comprises: for each of the wall anchors in the mesh model: repositioning one or more of the alternate walls based on the floor and ceiling reference heights.
  4. 4 . The computer-implemented method of claim 1 , further comprising: identifying a corner in the mesh model formed by a pair of adjacent alternate walls, wherein the corner is an angle that does not correspond to a predefined angle; and modifying the angle of the corner by moving one of the pair of adjacent alternate walls so that the angle of the corner corresponds to the predefined angle, wherein the modified mesh model includes the pair of adjacent alternate walls with the corner at the predefined angle.
  5. 5 . The computer-implemented method of claim 4 , wherein the predefined angle comprises a substantially ninety (90) degree angle.
  6. 6 . The computer-implemented method of claim 1 , wherein modifying the configuration of the mesh facets comprises: determining, for an alternate wall of the mesh model, a misalignment between a mesh facet associated with the alternate wall and the alternate wall, the misalignment comprising a tilting error; and aligning the mesh facet with the alternate wall by at least applying a realignment equation matrix to correct the tilting error.
  7. 7 . The computer-implemented method of claim 1 , wherein modifying the configuration of the mesh facets comprises: determining, for an alternate wall of the mesh model, a mesh facet including regions outside of boundaries of the alternate wall; and cropping the mesh facet to remove the regions outside of the boundaries of the alternate wall.
  8. 8 . The computer-implemented method of claim 1 , wherein modifying the configuration of the mesh facets comprises: determining, for an alternate wall of the mesh model, a mesh facet including regions outside of boundaries of the alternate wall; and modifying a position of the mesh facet so that the regions are within the boundaries of the alternate wall.
  9. 9 . The computer-implemented method of claim 1 , wherein modifying the configuration of the mesh facets comprises: determining for an alternate wall of the mesh model, that the mesh facet includes a missing region of mesh; and filling the missing region of mesh to generate a modified mesh facet, wherein the modified mesh model includes the modified mesh facet.
  10. 10 . A non-transitory computer-readable storage medium comprising computer-executable instructions that when executed by a processor cause the processor to perform operations comprising: accessing a mesh model generated via a light detection and ranging (LiDAR) scan of an environment comprising a room, the mesh model including anchors assigned during the LiDAR scan, the anchors comprising vertical plane anchor types assigned as wall anchors corresponding to walls of the room and horizontal plane anchor types assigned as either floor anchors corresponding to a floor of the room or ceiling anchors corresponding to a ceiling of the room; establishing, based on positions of the floor anchors in the mesh model, a floor reference height, wherein establishing the floor reference height comprises identifying extents of the floor anchors, determining a center vertical height as a base reference, and determining, for each of the anchors assigned as the floor anchors in the mesh model, a floor height adjusted to the base reference; establishing, based on positions of the ceiling anchors in the mesh model, a ceiling reference height, wherein establishing the ceiling reference height comprises determining, for each of the anchors assigned as the ceiling anchors in the mesh model, a height adjusted to the base reference; generating, based on the wall anchors in the mesh model, polygons corresponding to alternate walls, the polygons having dimensions associated with the wall anchors, the alternate walls corresponding to mesh facets of the mesh model; generating, for each of the alternate walls, a key associating one of the mesh facets with a corresponding one of the alternate walls; repositioning one or more of the alternate walls based at least in part on the floor reference height or the ceiling reference height; modifying a configuration of the mesh facets based on a configuration of the alternate walls to generate a modified mesh model, wherein modifying the configuration comprises, for each mesh facet, matching the mesh facet to the corresponding alternate wall using the key, and modifying the configuration of the mesh facet based on the configuration of the corresponding alternate wall; and rendering a three-dimensional ( 3 D) model of the environment from the modified mesh model.
  11. 11 . The non-transitory computer-readable storage medium of claim 10 , the operations further comprising: performing the LiDAR scan of the environment of a user computing device; and based on data of the scan, constructing the mesh model.
  12. 12 . The non-transitory computer-readable storage medium of claim 10 , wherein generating the alternate walls comprises: for each of the wall anchors in the mesh model: repositioning one or more of the alternate walls based on the floor and ceiling reference heights.
  13. 13 . The non-transitory computer-readable storage medium of claim 10 , the operations further comprising: identifying a corner in the mesh model formed by a pair of adjacent alternate walls, wherein the corner is an angle that does not correspond to a predefined angle; and modifying the angle of the corner by moving one of the pair of adjacent alternate walls so that the angle of the corner corresponds to the predefined angle, wherein the modified mesh model includes the pair of adjacent alternate walls with the corner at the predefined angle.
  14. 14 . A system, comprising: one or more processors; and a non-transitory computer-readable storage medium comprising computer-executable instructions that, when executed by the processor, cause the system to: access a mesh model generated via a light detection and ranging (LiDAR) scan of an environment comprising a room, the mesh model including anchors assigned during the LiDAR scan, the anchors comprising vertical plane anchor types assigned as wall anchors corresponding to walls of the room and horizontal plane anchor types assigned as either floor anchors corresponding to a floor of the room or ceiling anchors corresponding to a ceiling of the room; establish, based on positions of the floor anchors in the mesh model, a floor reference height, wherein establishing the floor reference height comprises identifying extents of the floor anchors, determining a center vertical height as a base reference, and determining, for each of the anchors assigned as the floor anchors in the mesh model, a floor height adjusted to the base reference; establish, based on positions of the ceiling anchors in the mesh model, a ceiling reference height, wherein establishing the ceiling reference height comprises determining, for each of the anchors assigned as the ceiling anchors in the mesh model, a height adjusted to the base reference; generate, based on the wall anchors in the mesh model, polygons corresponding to alternate walls, the polygons having dimensions associated with the wall anchors, the alternate walls corresponding to mesh facets of the mesh model; generating, for each of the alternate walls, a key associating one of the mesh facets with a corresponding one of the alternate walls; repositioning one or more of the alternate walls based at least in part on at least one of the floor reference height or the ceiling reference height; modify a configuration of the mesh facets based on a configuration of the alternate walls to generate a modified mesh model, wherein modifying the configuration comprises, for each mesh facet, matching the mesh facet to the corresponding alternate wall using the key, and modifying the configuration of the mesh facet based on the configuration of the corresponding alternate wall; and render a three-dimensional (3D) model of the environment from the modified mesh model.
  15. 15 . The system of claim 14 , the non-transitory computer-readable storage medium further comprising computer-executable instructions that, when executed by the processor, cause the system to: performing the LiDAR scan of the environment of a user computing device; and based on data of the scan, constructing the mesh model.
  16. 16 . The system of claim 14 , wherein generating the alternate walls comprises: for each of the wall anchors in the mesh model: repositioning one or more of the alternate walls based on the floor and ceiling reference heights.
  17. 17 . The system of claim 14 , the non-transitory computer-readable storage medium further comprising computer-executable instructions that, when executed by the processor, cause the system to: identify a corner in the mesh model formed by a pair of adjacent alternate walls, wherein the corner is an angle that does not correspond to a predefined angle; and modify the angle of the corner by moving one of the pair of adjacent alternate walls so that the angle of the corner corresponds to the predefined angle, wherein the modified mesh model includes the pair of adjacent alternate walls with the corner at the predefined angle.
  18. 18 . The system of claim 14 , wherein modifying the configuration of the mesh facets comprises: determining, for an alternate wall of the mesh model, a misalignment between a mesh facet associated with the alternate wall and the alternate wall, the misalignment comprising a tilting error; and aligning the mesh facet with the alternate wall by at least applying a realignment equation matrix to correct the tilting error.
  19. 19 . The system of claim 14 , wherein modifying the configuration of the mesh facets comprises: determining, for an alternate wall of the mesh model, a mesh facet including regions outside of boundaries of the alternate wall; and cropping the mesh facet to remove the regions outside of the boundaries of the alternate wall.
  20. 20 . The system of claim 14 , wherein modifying the configuration of the mesh facets comprises: determining, for an alternate wall of the mesh model, a mesh facet including regions outside of boundaries of the alternate wall; and modifying a position of the mesh facet to so that the regions are within the boundaries of the alternate wall.

Description

TECHNICAL FIELD This disclosure generally relates to systems for generating virtual three-dimensional models. More specifically, but not by way of limitation, this disclosure relates to generating virtual three-dimensional models based on light detection and ranging (LiDAR) scanning. BACKGROUND Conventional modeling systems enable scanning a room or other environment using light detection and ranging (LiDAR) to generate point clouds and triangulated mesh models of the environment based on the scan data. However, sub-regions of the conventionally generated models are often misaligned, which results in surfaces that are not flat. Also, regions of the mesh at the edges of walls, a floor, and/or a ceiling in a room may not be aligned with parallel edges of another surface or at a right angle. Further, the generated mesh may lack particular features (e.g., the mesh is missing a ‘hole’ in a wall region). Due to these inaccuracies, direct conversion of environmental mesh models generated via conventional modeling systems to virtual three-dimensional (3D) models does not result in accurate, easily editable, virtual 3D models that can be used in applications suitable for architecture and interior design CAD workflows, which require rectified orthogonal planes. When converting an unedited conventionally generated mesh into a 3D model, the inaccuracies in the mesh are introduced into the 3D model, and the resulting 3D model requires extensive further editing by the user to be useful in architectural modeling and other applications. For example, the user may need to consolidate a single combined mesh representing the wall(s)/floor(s)/ceiling(s) mesh into separate objects that represent the wall(s), the floor(s), and the ceiling(s), realign wall(s)/floor(s)/ceiling(s) objects with respect to each other, and/or fill in holes (or cut out holes) in wall(s)/floor(s)/ceiling(s) objects in the 3D model. Such editing operations require extensive interaction with the user interface, which is inconvenient for users and which may not be feasible with certain user interfaces such as mobile device touchscreens due to the large amount of data generated by the raw mesh model that is imported. SUMMARY Certain embodiments involve a modeling system generating a 3D model of an environment from a mesh model, according to certain embodiments described in the present disclosure. A modeling system accesses a mesh model generated via a light detection and ranging (LiDAR) scan of an environment comprising a room, the mesh model including anchors corresponding to walls, a floor, and a ceiling of the room. The modeling system generates, based on the anchors in the mesh model, alternate walls for a modified mesh model, the alternate walls corresponding to mesh facets of the mesh model. The modeling system modifies a configuration of the mesh facets of the alternate walls to generate the modified mesh model. The modeling system renders a 3D model of the environment from the modified mesh model. These illustrative embodiments are mentioned not to limit or define the disclosure, but to provide examples to aid understanding thereof. Additional embodiments are discussed in the Detailed Description, and further description is provided there. BRIEF DESCRIPTION OF THE DRAWINGS Features, embodiments, and advantages of the present disclosure are better understood when the following Detailed Description is read with reference to the accompanying drawings. FIG. 1 depicts an example of a computing environment for modifying a mesh model of an environment and converting the modified mesh model to a 3D model, according to certain embodiments described in the present disclosure. FIG. 2 depicts an example of a method for modifying a mesh model of an environment and converting the modified mesh model to a 3D model, according to certain embodiments described in the present disclosure. FIG. 3 depicts an example of a method for generating alternate walls and ceilings of the mesh model, according to certain embodiments described in the present disclosure. FIG. 4 depicts an example of a method for modifying the alternate walls of a mesh model, according to certain embodiments described in the present disclosure. FIG. 5 depicts an example illustration of a mesh model, according to certain embodiments described in the present disclosure. FIG. 6 depicts an example illustration of a 3D model 600 generated from the mesh model of FIG. 5 modified according to one or more of the methods described in FIGS. 2-4, according to certain embodiments described herein. FIG. 7 depicts an example of a computing system that may perform certain operations described herein, according to certain embodiments described in the present disclosure. DETAILED DESCRIPTION The present disclosure involves modifying a mesh model generated via a LiDAR scan of an environment and converting the modified mesh model to a 3D model. For instance, as explained above, conventional modeling systems generate mesh