# US 11,113,877 B2 · Systems and methods for generating three dimensional geometry

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,113,877 B2
- Document ID: US11113877B2
- Status: Granted
- Kind: B2
- Application number: 16/990,453
- Filed: 2020-08-11
- Published: 2020-11-26
- Granted: 2021-09-07
- Earliest claimed: 2013-07-23
- Assignees: Hover Inc.
- Applicants: Hover Inc.
- Inventors: Shaohui Sun; Ioannis Pavlidis; Adam J. Altman
- Web page: https://patentgrep.com/patent/US11113877B2

## CPC

- G06T 17/05: Geographic models
- G06F 3/14: Digital output to display device {; Cooperation and interconnection of the display device with other functional units}
- G06T 15/04: Texture mapping
- G06T 15/20: Perspective computation
- G06T 17/00: Three-dimensional [3D] modelling for computer graphics
- G06T 19/003: {Navigation within 3D models or images}
- G06T 19/20: Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts
- G06V 20/176: {Urban or other man-made structures}
- G06V 20/653: {by matching three-dimensional models, e.g. conformal mapping of Riemann surfaces}
- G06T 2200/08: involving all processing steps from image acquisition to 3D model generation
- G06T 2200/24: involving graphical user interfaces [GUIs]
- G06T 2207/10028: Range image; Depth image; 3D point clouds
- G06T 2210/04: Architectural design, interior design
- G06T 2210/56: Particle system, point based geometry or rendering
- G06T 2219/2008: Assembling, disassembling
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING

## Abstract

Systems and methods are described for creating three dimensional models of building objects by creating a point cloud from a plurality of input images, defining edges of the building object's surfaces represented by the point cloud, creating simplified geometries of the building object's surfaces and constructing a building model based on the simplified geometries. Input images may include ground, orthographic, or oblique images. The resultant model may be scaled according to correlation with select image types and textured.

## Claims

### Claim 1

A method of generating a building model, the method comprising:
receiving a plurality of initial two-dimensional images, each image comprising at least one surface of a building object;
creating, from the plurality of initial two-dimensional images, a point cloud representing a plurality of surfaces of the building object in a three-dimensional (3D) coordinate system;
defining a plurality of edges within the point cloud for at least one of the plurality of surfaces;
creating a simplified geometry for the at least one of the plurality of surfaces based on an average planar fit of data points within the defined edges of the at least one surface;
constructing a 3D building model of the building object based on the simplified geometry;
correlating at least two vertices of the 3D building model with an orthogonal image of the building object; and
scaling the 3D building model based on the correlated orthogonal image.

### Claim 2 (depends on 1)

The method of claim 1, wherein the plurality of initial two-dimensional images consists of ground-level images.

### Claim 3 (depends on 1)

The method of claim 1, wherein the plurality of initial two-dimensional images consists of oblique images.

### Claim 4 (depends on 1)

The method of claim 1, wherein defining a plurality of edges further comprises determining a plurality of vertices for the at least one of the plurality of surfaces based on the defined edges.

### Claim 5 (depends on 1)

The method of claim 1, further comprising texturing the 3D building model.

### Claim 6 (depends on 5)

The method of claim 5, wherein the texturing is wrapping at least one of the plurality of initial two-dimensional images to a correlated one of the at least one of the plurality of surfaces.

### Claim 7 (depends on 1)

The method of claim 1, wherein the at least one surface is a building façade.

### Claim 8

A system for generating a model, the system comprising:
an image database storing a plurality of initial two-dimensional images, each image comprising at least one surface of a building object;
an image processor, operative with the image database, configured to:
create, from the plurality of initial two-dimensional images, a point cloud representing a plurality of surfaces of the building object in a three-dimensional (3D) coordinate system;
define a plurality of edges within the point cloud for each of the at least one of the plurality of surfaces;
create a simplified geometry for the at least one of the plurality of surfaces based on an average planar fit of data points within the defined edges of the at least one surface;
construct a 3D building model of the building object based on the simplified geometry;
correlate at least two vertices of the 3D building model with an orthogonal image of the building object; and
scale the 3D building model based on the correlated orthogonal image.

### Claim 9 (depends on 8)

The system of claim 8, wherein the plurality of initial two-dimensional images consists of ground-level images.

### Claim 10 (depends on 8)

The system of claim 8, wherein the plurality of initial two-dimensional images consists of oblique images.

### Claim 11 (depends on 8)

The system of claim 8, wherein to define the plurality of edges the processor is further configured to determine a plurality of vertices for the at least one of the plurality of surfaces based on the defined edges.

### Claim 12 (depends on 8)

The system of claim 8, wherein the image processor is further configured to texture the 3D building model.

### Claim 13 (depends on 12)

The system of claim 12, wherein to texture is to wrap at least one of the plurality of initial two-dimensional images to a correlated one of the at least one of the plurality of surfaces.

### Claim 14 (depends on 8)

The system of claim 8, wherein the at least one surface is a building façade.

### Claim 15

A method of generating a building model, the method comprising:
receiving a plurality of initial two-dimensional images, each image comprising at least one surface of a building object;
creating, from the plurality of initial two-dimensional images, a point cloud representing a plurality of surfaces of the building object in a three-dimensional (3D) coordinate system;
defining a plurality of edges within the point cloud for at least one of the plurality of surfaces;
creating a simplified geometry for the at least one of the plurality of surfaces based on an average planar fit of data points within the defined edges of the at least one surface;
constructing a 3D building model of the building object based on the simplified geometry;
correlating at least two vertices among the 3D building model with an oblique image of the building object; and
scaling the 3D building model based on the correlated oblique image.

### Claim 16 (depends on 15)

The method of claim 15, wherein the plurality of initial two-dimensional images consists of ground-level images.

### Claim 17 (depends on 15)

The method of claim 15, wherein the plurality of initial two-dimensional images consists of orthogonal images.

### Claim 18 (depends on 15)

The method of claim 15, wherein defining a plurality of edges further comprises determining a plurality of vertices for the at least one of the plurality of surfaces based on the defined edges.

### Claim 19 (depends on 15)

The method of claim 15, further comprising texturing the 3D building model.

### Claim 20 (depends on 19)

The method of claim 19, wherein the texturing is wrapping at least one of the plurality of initial two-dimensional images to a correlated one of the at least one of the plurality of surfaces.

### Claim 21 (depends on 15)

The method of claim 15, wherein the at least one surface is a building façade.

### Claim 22

A system for generating a model, the system comprising:
an image database storing a plurality of initial two-dimensional images, each image comprising at least one surface of a building object;
an image processor, operative with the image database, configured to:
create, from the plurality of initial two-dimensional images, a point cloud representing a plurality of surfaces of the building object in a three-dimensional (3D) coordinate system;
define a plurality of edges within the point cloud for at least one of the plurality of surfaces;
create a simplified geometry for the at least one of the plurality of surfaces based on an average planar fit of data points within the defined edges of the at least one surface;
construct a 3D building model of the building object based on the simplified geometry;
correlate at least two vertices of the 3D building model with an oblique image of the building object; and
scale the 3D building model based on the correlated oblique image.

### Claim 23 (depends on 22)

The system of claim 22, wherein the plurality of initial two-dimensional images consists of ground-level images.

### Claim 24 (depends on 22)

The system of claim 22, wherein the plurality of initial two-dimensional images consists of orthogonal images.

### Claim 25 (depends on 22)

The system of claim 22, wherein to define the plurality of edges the processor is further configured to determine a plurality of vertices for the at least one of the plurality of surfaces based on the defined edges.

### Claim 26 (depends on 22)

The system of claim 22, wherein the image processor is further configured to texture the 3D building model.

### Claim 27 (depends on 26)

The system of claim 26, wherein to texture is to wrap at least one of the plurality of initial two-dimensional images to a correlated one of the at least one of the plurality of surfaces.

### Claim 28 (depends on 22)

The system of claim 22, wherein the at least one surface is a building facade.
