IP Library › Granted Patent US 11,651,533
Granted Patent B2
US 11,651,533 · App. 17/502,520 · Granted May 16, 2023

Method and apparatus for generating a floor plan

Inventors: Xiang Zhang (Sunnyvale, CA); Bing Jian (Cupertino, CA); Lu He (Palo Alto, CA); Haichao Zhu (Los Angeles, CA); Shan Liu (San Jose, CA); Kelin Liu (Thornhill, CA); Weiwei Feng (Mountain View, CA)
Assignee: TENCENT AMERICA LLC
G06T11/203G06T7/60G06T19/00G06T2207/10028G06T2219/008
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,651,533
App. No.
17/502,520
Granted
May 16, 2023
Kind
B2
Abstract

Aspects of the disclosure include methods, apparatuses, and non-transitory computer-readable storage mediums for generating a floor plan from a point cloud model. An apparatus includes processing circuitry that receives an input three-dimensional point cloud corresponding to a three-dimensional space. The processing circuitry determines a plurality of wall planes in the received input three-dimensional point cloud. The processing circuitry generates a plurality of line segments. Each line segment is generated by projecting a respective wall plane of the plurality of wall planes to a floor plane in the three-dimensional space. The processing circuitry represents the plurality of wall planes in the three-dimensional space using the plurality of line segments in a two-dimensional space corresponding to the floor plan. The processing circuitry adjusts the plurality of line segments in the two-dimensional space to improve the floor plan. The processing circuitry generates the floor plan based on the plurality of adjusted line segments.

Claims (84)

1. A method of generating a floor plan from a point cloud model, the method comprising:

receiving an input three-dimensional point cloud corresponding to a three-dimensional space;

determining a plurality of wall planes in the received input three-dimensional point cloud;

generating, by a processor, a plurality of line segments, each of the plurality of line segments being generated by

projecting a subset of points in the received input three-dimensional point cloud onto one of the plurality of wall planes, and

generating one of the plurality of line segments corresponding to the one of the plurality of wall planes by projecting the one of the plurality of wall planes onto a floor plane in the three-dimensional space and calculating coordinates of two end points of the one of the plurality of line segments corresponding to the one of the plurality of wall planes based on the projected subset of points;

representing the plurality of wall planes in the three-dimensional space using the plurality of line segments in a two-dimensional space corresponding to the floor plan;

adjusting the plurality of line segments in the two-dimensional space based on one or more refinement operations; and

generating the floor plan based on the plurality of adjusted line segments.

2. The method of claim 1 , wherein

the one of the plurality of wall planes is represented by a plurality of grids, and

the adjusting comprises:

determining whether consecutive grids in the plurality of grids include at least one projected point;

determining an opening area in the one of the plurality of wall planes based on the consecutive grids not including at least one projected point, the opening area corresponding to the consecutive grids; and

determining an opening area in the one of the plurality of line segments based on the opening area in the one of the plurality of wall planes.

3. The method of claim 1 , wherein

the one of the plurality of wall planes is represented by a plurality of columns of grids, and

the adjusting comprises:

determining whether a number of consecutive grids without a projected point in each of the plurality of columns of the grids is greater than a grid threshold;

determining a part of the one of the plurality of line segments corresponding to a respective one of the plurality of columns of grids as an opening area candidate part in the one of the plurality of line segments based on a number of the consecutive grids in the respective one of the plurality of columns of grids being greater than the grid threshold; and

determining an opening area in the one of the plurality of line segments based on a number of consecutive opening area candidate parts in the one of the plurality of line segments being greater than a part threshold, the opening area corresponding to the consecutive opening area candidate parts in the one of the plurality of line segments.

4. The method of claim 1 , wherein the adjusting comprises:

splitting one of the plurality of line segments into multiple portions based on the one of the plurality of line segments intersecting with one or more other line segments in the plurality of line segments;

determining which consecutive portions in the multiple portions of the one of the plurality of line segments correspond to one of the plurality of wall planes; and

determining one of the plurality of adjusted line segments based on one or more of the consecutive portions determined to correspond to the one of the plurality of wall planes.

5. The method of claim 4 , wherein the determining which consecutive portions comprises:

determining that one of the multiple portions corresponds to the one of the plurality of wall planes based on a length of the one of the multiple portions being greater than a length threshold.

6. The method of claim 4 , wherein

the plurality of line segments form an initial floor plan that includes a testing point, each of the multiple portions includes a plurality of sampling points, and

the determining which consecutive portions comprises:

generating a plurality of test line segments for one of the multiple portions, each of the plurality of test line segments being generated between one of sampling points of the one of the multiple portions and the testing point of the initial floor plan; and

determining that the one of the multiple portions corresponds to the one of the plurality of wall planes based on a number of one or more test line segments in the plurality of test line segments being less than an intersection threshold, each of the one or more test line segments intersecting with at least one other line segment of the plurality of line segments.

7. The method of claim 4 , wherein the determining the one of the plurality of adjusted line segments comprises:

removing one of the multiple portions not corresponding to the one of the plurality of wall planes; and

merging the one or more of the consecutive portions determined to correspond to the one of the plurality of wall planes into the one of the plurality of adjusted line segments.

8. An apparatus, comprising:

processing circuitry configured to:

receive an input three-dimensional point cloud corresponding to a three-dimensional space;

determine a plurality of wall planes in the received input three-dimensional point cloud;

generate a plurality of line segments, each of the plurality of line segments being generated by

projecting a subset of points in the received input three-dimensional point cloud onto one of the plurality of wall planes, and

generating one of the plurality of line segments corresponding to the one of the plurality of wall planes by projecting the one of the plurality of wall planes onto a floor plane in the three-dimensional space and calculating coordinates of two end points of the one of the plurality of line segments corresponding to the one of the plurality of wall planes based on the projected subset of points;

represent the plurality of wall planes in the three-dimensional space using the plurality of line segments in a two-dimensional space corresponding to a floor plan;

adjust the plurality of line segments in the two-dimensional space based on one or more refinement operations; and

generate the floor plan based on the plurality of adjusted line segments.

9. The apparatus of claim 8 , wherein

the one of the plurality of wall planes is represented by a plurality of grids, and

the processing circuitry is configured to:

determine whether consecutive grids in the plurality of grids include at least one projected point;

determine an opening area in the one of the plurality of wall planes based on the consecutive grids not including at least one projected point, the opening area corresponding to the consecutive grids; and

determine an opening area in the one of the plurality of line segments based on the opening area in the one of the plurality of wall planes.

10. The apparatus of claim 8 , wherein

the one of the plurality of wall planes is represented by a plurality of columns of grids, and

the processing circuitry is configured to:

determine whether a number of consecutive grids without a projected point in each of the plurality of columns of the grids is greater than a grid threshold;

determine a part of the one of the plurality of line segments corresponding to a respective one of the plurality of columns of grids as an opening area candidate part in the one of the plurality of line segments based on a number of the consecutive grids in the respective one of the plurality of columns of grids being greater than the grid threshold; and

determine an opening area in the one of the plurality of line segments based on a number of consecutive opening area candidate parts in the one of the plurality of line segments being greater than a part threshold, the opening area corresponding to the consecutive opening area candidate parts in the one of the plurality of line segments.

11. The apparatus of claim 8 , wherein the processing circuitry is configured to:

split one of the plurality of line segments into multiple portions based on the one of the plurality of line segments intersecting with one or more other line segments in the plurality of line segments;

determine which consecutive portions in the multiple portions of the one of the plurality of line segments correspond to one of the plurality of wall planes; and

determine one of the plurality of adjusted line segments based on one or more of the consecutive portions determined to correspond to the one of the plurality of wall planes.

12. The apparatus of claim 11 , wherein the processing circuitry is configured to:

determine that one of the multiple portions corresponds to the one of the plurality of wall planes based on a length of the one of the multiple portions being greater than a length threshold.

13. The apparatus of claim 11 , wherein

the plurality of line segments form an initial floor plan that includes a testing point, each of the multiple portions includes a plurality of sampling points, and

the processing circuitry is configured to:

generate a plurality of test line segments for one of the multiple portions, each of the plurality of test line segments being generated between one of sampling points of the one of the multiple portions and the testing point of the initial floor plan; and

determine that the one of the multiple portions corresponds to the one of the plurality of wall planes based on a number of one or more test line segments in the plurality of test line segments being less than an intersection threshold, each of the one or more test line segments intersecting with at least one other line segment of the plurality of line segments.

14. The apparatus of claim 11 , wherein the processing circuitry is configured to:

remove one of the multiple portions not corresponding to the one of the plurality of wall planes; and

merge the one or more of the consecutive portions determined to correspond to the one of the plurality of wall planes into the one of the plurality of adjusted line segments.

15. A non-transitory computer-readable storage medium storing instructions which, when executed by at least one processor, cause the at least one processor to perform:

receiving an input three-dimensional point cloud corresponding to a three-dimensional space;

determining a plurality of wall planes in the received input three-dimensional point cloud;

generating a plurality of line segments, each of the plurality of line segments being generated by

projecting a subset of points in the received input three-dimensional point cloud onto one of the plurality of wall planes, and

generating one of the plurality of line segments corresponding to the one of the plurality of wall planes by projecting the one of the plurality of wall planes onto a floor plane in the three-dimensional space and calculating coordinates of two end points of the one of the plurality of line segments corresponding to the one of the plurality of wall planes based on the projected subset of points;

representing the plurality of wall planes in the three-dimensional space using the plurality of line segments in a two-dimensional space corresponding to a floor plan;

adjusting the plurality of line segments in the two-dimensional space based on one or more refinement operations; and

generating the floor plan based on the plurality of adjusted line segments.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the stored instructions cause the at least one processor to perform:

splitting one of the plurality of line segments into multiple portions based on the one of the plurality of line segments intersecting with one or more other line segments in the plurality of line segments;

determining which consecutive portions in the multiple portions of the one of the plurality of line segments correspond to one of the plurality of wall planes; and

determining one of the plurality of adjusted line segments based on one or more of the consecutive portions determined to correspond to the one of the plurality of wall planes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2021
From: ZHANG, XIANG; JIAN, BING; HE, LU; ZHU, HAICHAO; LIU, SHAN; LIU, KELIN; FENG, WEIWEI
To: TENCENT AMERICA LLC
Reel/Frame 057928/0362 →
Continuity (2)
Provisional Application 63185949 · May 7, 2021
Related Publication 20220358694A1 · Nov 10, 2022
Cited By (1)
US 12,548,178