IP Library Granted Patent US 11,810,249
Granted Patent B2
US 11,810,249 · App. 17/567,748 · Granted Nov 7, 2023

3D point cloud processing

Inventors: Richard Wang (San Jose, CA); Avideh Zakhor (Berkeley, CA)
Assignee: Signetron Inc.
G06T17/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,810,249
App. No.
17/567,748
Granted
Nov 7, 2023
Kind
B2
Abstract

Methods for processing a 3D point cloud of a building into polygons using an electronic computing device are presented, the methods including: causing the electronic computing device to receive the 3D point cloud; causing the electronic computing device to segment the 3D point cloud into a number of facades; and causing the electronic computing device to generate a number of polygons representing the number of facades. In some embodiments, the causing the electronic computing device to segment the 3D point cloud into a number of facades includes: performing voxel downsampling operation on the 3D point cloud; calculating a point normal for every point in the voxel downsampled 3D point cloud; and performing region growing to find each of the number of facades.

Claims (79)

1. A method for processing a 3D point cloud of a single building into polygons using an electronic computing device, the method comprising:

causing the electronic computing device to receive the 3D point cloud of the single building;

causing the electronic computing device to segment the 3D point cloud of the single building into a plurality of facades; and

causing the electronic computing device to generate a continuous boundary polygon for each of the plurality of façades of the single building representing a shape of a corresponding facade.

2. The method of claim 1 , wherein the causing the electronic computing device to segment the 3D point cloud into a plurality of facades comprises:

performing voxel downsampling operation on the 3D point cloud;

calculating a point normal for every point in the voxel downsampled 3D point cloud; and

performing region growing for each façade of the 3D point cloud utilizing the point normal for every point in the voxel down sampled 3D point cloud to find each of the plurality of facades.

3. The method of claim 2 , wherein the calculating the point normal encodes information corresponding with the surface of a plane by finding adjacent points and calculating a principal axis of the adjacent points using a covariance analysis.

4. The method of claim 2 , wherein the performing region growing comprises:

creating a façade set;

pushing onto a queue a point from the 3D point cloud and the point normal corresponding with the point;

selecting a topmost point and corresponding point normal from the queue;

removing the selected topmost point and corresponding point normal from the queue;

adding the selected topmost point and corresponding point normal from the queue to the façade set;

performing a neighborhood search around the added topmost point in the façade set;

if a neighboring point matches the topmost point in the façade set, adding the neighboring point to the queue;

if the queue is empty, saving all points in the façade set as a façade point cloud;

classifying the façade point cloud;

calculating a bounding box of the façade point cloud; and

retaining all desired facades.

5. The method of claim 4 further comprising:

after performing the neighborhood search around the added topmost point in the façade set, if the queue is not empty, returning to selecting the topmost point.

6. The method of claim 4 further comprising:

continuing to the creating the façade set until all points in the 3D point cloud are processed.

7. The method of claim 1 , wherein the causing the electronic computing device to generate the continuous boundary polygon for each of the plurality of façades of the single building representing the shape of the corresponding facade comprises:

detecting neighboring planes of selected facade that intersect with the selected façade;

pruning extraneous planes from the neighboring planes that do not intersect the continuous boundary of the selected facade; and

generating the continuous boundary polygon using the remaining neighboring planes that intersect the selected façade.

8. The method of claim 7 , wherein the detecting neighboring planes comprises:

selecting a façade;

selecting a potential neighboring plane;

computing a line of intersection between the façade and the potential neighboring plane; and

sampling points along the line of intersection, wherein if sampled points are present in both the selected façade and the potential neighboring plane, the potential neighboring plane becomes a neighboring plane.

9. The method of claim 8 , wherein the generating the continuous boundary polygon comprises:

computing points of intersections between the selected façade and each neighboring plane;

verifying edges of the façade such that each verified edge must border a side of the facade such that there are only points on one side of the facade; and

forming a polygon from verified edges that represents the façade.

10. The method of claim 7 , wherein the pruning the extraneous facades further comprises:

grouping together all facades with similar equations and proximity.

11. A method for processing a 3D point cloud of a single building into polygons using an electronic computing device, the method comprising:

causing the electronic computing device to receive the 3D point cloud of the single building;

causing the electronic computing device to segment the 3D point cloud of the single building into a plurality of facades, wherein the causing the electronic computing device to segment the 3D point cloud into a plurality of facades comprises

calculating a point normal for every point in the voxel downsampled 3D point cloud; and

performing region growing for each façade of the 3D point cloud utilizing the point normal for every point in the 3D point cloud to find each of the plurality of facades, wherein the performing region growing comprises:

creating a façade set;

pushing onto a queue a point from the 3D point cloud and the point normal corresponding with the point;

selecting a topmost point and corresponding point normal from the queue;

removing the selected topmost point and corresponding point normal from the queue;

adding the selected topmost point and corresponding point normal from the queue to the façade set;

performing a neighborhood search around the added topmost point in the façade set;

if a neighboring point matches the topmost point in the façade set, adding the neighboring point to the queue;

if the queue is empty, saving all points in the façade set as a façade point cloud;

classifying the façade point cloud;

calculating a bounding box of the façade point cloud; and

retaining all desired facades; and

causing the electronic computing device to generate a continuous boundary polygon for each of the plurality of façades of the single building representing a shape of a corresponding façade.

12. The method of claim 11 , wherein the causing the electronic computing device to segment the 3D point cloud into a plurality of facades further comprises:

optionally performing voxel downsampling operation on the 3D point cloud.

13. The method of claim 11 , wherein the calculating the point normal encodes information corresponding with the surface of a plane by finding adjacent points and calculating a principal axis of the adjacent points using a covariance analysis.

14. The method of claim 11 further comprising:

after performing the neighborhood search around the added topmost point in the façade set, if the queue is not empty, returning to selecting the topmost point.

15. The method of claim 11 further comprising:

continuing to the creating the façade set until all points in the 3D point cloud are processed.

16. The method of claim 11 , wherein the causing the electronic computing device to generate the continuous boundary polygon for each of the plurality of façades of the single building representing the shape of the corresponding facade comprises:

detecting neighboring planes of selected facade that intersect with the selected façade;

pruning extraneous planes from the neighboring planes that do not intersect the continuous boundary of the selected facade; and

generating the continuous boundary polygon using the remaining neighboring planes that intersect the selected façade.

17. The method of claim 16 , wherein the detecting neighboring planes comprises:

selecting a façade;

selecting a potential neighboring plane;

computing a line of intersection between the façade and the potential neighboring plane; and

sampling points along the line of intersection, wherein if sampled points are present in both the selected façade and the potential neighboring plane, the potential neighboring plane becomes a neighboring plane.

18. The method of claim 16 , wherein the generating the continuous boundary polygon comprises:

computing points of intersections between the selected facade and each neighboring plane;

verifying edges of the façade such that each verified edge must border a side of the facade such that there are only points on one side of the facade; and

forming a polygon from verified edges that represents the façade.

19. Method of claim 16 , wherein the pruning the extraneous facades further comprises:

grouping together all facades with similar equations and proximity.

Assignments (1)
CONFIRMATORY LICENSE Recorded Jan 18, 2023
From: SIGNETRON INC.
To: UNITED STATES DEPARTMENT OF ENERGY
Reel/Frame 062430/0072 →
Continuity (1)
Related Publication 20230215088A1 · Jul 6, 2023