# US 12,008,699 B2 · Systems and methods for automating conversion of drawings to indoor maps and plans

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

- Number: US 12,008,699 B2
- Document ID: US12008699B2
- Status: Granted
- Kind: B2
- Application number: 18/451,277
- Filed: 2023-08-17
- Published: 2023-12-07
- Granted: 2024-06-11
- Earliest claimed: 2022-03-10
- Assignees: Pointr Limited
- Applicants: Pointr Limited
- Inventors: Ege Çetintaş; Melih Peker; Umeyr Kiliç; Can Tunca
- Web page: https://patentgrep.com/patent/US12008699B2

## CPC

- G06T 11/23: using straight lines or curves
- G06F 30/12: characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
- G06F 30/13: Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
- G06F 30/27: using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
- G06N 3/045: Combinations of networks
- G06N 3/0475: Generative networks
- G06N 3/094: Adversarial learning
- G06N 20/00: Machine learning
- G06T 11/20: Drawing from basic elements
- G06T 11/65: on geographic maps
- G06F 2111/12: Symbolic schematics
- G06N 3/088: Non-supervised learning, e.g. competitive learning
- G06N 5/02: Knowledge representation; Symbolic representation
- G06N 5/04: Inference or reasoning models
- G06N 20/20: Ensemble learning
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Automating conversion of drawings to indoor maps and plans. One example is a computer-implemented method of creating an indoor map from a CAD drawing, the method comprising: preprocessing an original CAD drawing to create a modified CAD drawing, a text database containing text from the original CAD drawing, a CAD vector-image of the modified CAD drawing, and a CAD raster-image of the modified CAD drawing; creating a floor-level outline; sensing furniture depicted on the floor, the sensing creates set of furniture entities; identifying a room depicted in the CAD drawing; and creating the indoor map for a floor using the floor-level outline, the room-level outline and the room identity.

## Claims

### Claim 1

A computer-implemented method of creating an indoor map from a CAD drawing, the method comprising:
preprocessing, by a device, an original CAD drawing to create a modified CAD drawing, a text database containing text from the original CAD drawing, and a CAD vector-image of the modified CAD drawing;
identifying, by a device, a room depicted in the CAD drawing by:
applying the CAD vector-image to a first machine-learning algorithm to produce a room-level bounding line and a first probability distribution regarding identity of the room;
applying the room-level bounding line and the text database to a second machine-learning algorithm to produce a second probability distribution regarding identity of the room;
applying the first and second probability distributions to a third machine-learning algorithm to generate a room identity; and
selecting, based on the room-level bounding line, a room-level outline; and
creating, by a device, the indoor map using the room-level outline and the room identity.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1 further comprising:
sensing, by a device, furniture depicted within the CAD drawing, the sensing creates a set of furniture entities; and
wherein applying to the third machine-learning algorithm further comprises applying the set of furniture entities to the third machine-learning algorithm to generate the room identity.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1 wherein identifying the room further comprises identifying each room of a floor depicted in the CAD drawing, each room having a respective room-level bounding line and a respective room identity.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1 wherein selecting the room-level outline further comprises:
creating, by a device, an entity-based bounding line by applying the room-level bounding line to an entity-based post processing algorithm, the entity-based post processing algorithm creates the entity-based bounding line;
creating, by a device, a graph-based bounding line by applying the room-level bounding line to a graph-based post processing algorithm, the graph-based post processing algorithm generates the graph-based bounding line;
creating, by a device, a GAN-based bounding line by applying the room-level bounding line to a GAN-based post processing algorithm, the GAN-based post processing algorithm generates the GAN-based bounding line; and
choosing, by a device, only one of the entity-based bounding line, the graph-based bounding line, or the GAN-based bounding line be the room-level outline.

### Claim 5 (depends on 4)

The computer-implemented method of claim 4 wherein choosing the room-level outline further comprises:
evaluating, by a device, the entity-based bounding line, the graph-based bounding line, and the GAN-based bounding line by a rule-based evaluator, the evaluating results in a rule-based selection;
evaluating, by a device, the entity-based bounding line, the graph-based bounding line, and the GAN-based bounding line by a selection machine-learning algorithm, the evaluating by the selection machine-learning algorithm results in a ML-based selection; and
choosing, by device, only one of the rule-based selection or the ML-based selection to be the room-level outline.

### Claim 6 (depends on 4)

The computer-implemented method of claim 4 wherein creating the room-level bounding line further comprises:
inflating the room-level bounding line to create an inflated bounding line;
deflating the room-level bounding line to create a deflated bounding line;
selecting a set of remaining entities based on drawing entities that reside between the inflated bounding line and the deflated bounding line; and
creating the entity-based bounding line from the set of remaining entities.

### Claim 7 (depends on 6)

The computer-implemented method of claim 6 wherein creating the entity-based bounding line further comprises:
grouping drawing entities with respect to slope, the grouping results in a plurality of groups of drawing entities; and
for each group of drawing entities, merging drawing entities that meet a predetermined distance criteria and a predetermined overlap criteria;
the grouping and merging result in a set of remaining drawing entities.

### Claim 8 (depends on 4)

The computer-implemented method of claim 4 wherein creating the graph-based bounding line further comprises:
inflating the room-level bounding line to create an inflated bounding line;
deflating the room-level bounding line to create a deflated bounding line;
selecting a set of remaining entities being drawing entities that reside between the inflated bounding line and the deflated bounding line; and
creating the graph-based bounding line from the set of remaining entities.

### Claim 9 (depends on 8)

The computer-implemented method of claim 8 wherein creating the graph-based bounding line further comprises:
grouping drawing entities of the set of remaining drawing entities with respect to slope, the grouping results in groups of drawing entities;
for each group of drawing entities, selecting an outer drawing entity closest to the room-level bounding line, the selecting for each group of drawing entities results in a set of outer line segments; and
extending at least one of line segment of the set of outer line segments; and
wherein creating the graph-based bounding line further comprises creating the graph-based bounding line from the set of outer line segments.

### Claim 10 (depends on 4)

The computer-implemented method of claim 4 wherein creating the GAN-based bounding line further comprises:
creating, by a device, a first plurality of intermediate bounding lines by a first machine-learning algorithm;
creating, by a device, a second plurality of intermediate bounding lines by a second machine-learning algorithm;
creating the GAN-based bounding line by convolving the first plurality and second plurality of intermediate bounding lines.

### Claim 11 (depends on 10)

The computer-implemented method of claim 10:
wherein creating the first plurality of intermediate bounding lines further comprises applying a cropped raster image to the first machine-learning algorithm, the cropped raster image showing the room; and
wherein creating the second plurality of intermediate bounding lines further comprises applying the room-level bounding line to the second machine-learning algorithm.

### Claim 12

A computer system comprising:
at least one processor;
a memory coupled to the at least one processor, the memory storing instructions that, when executed by the at least one processor, cause the at least one processor to:
preprocess an original CAD drawing to create a modified CAD drawing, a text database containing text from the original CAD drawing, and a CAD vector-image of the modified CAD drawing;
identify a room depicted in the original CAD drawing by causing the processor to:
apply the CAD vector-image to a first machine-learning algorithm to produce a room-level bounding line and a first probability distribution regarding identity of the room;
apply the room-level bounding line and the text database to a second machine-learning algorithm to produce a second probability distribution regarding identity of the room;
apply the first and second probability distributions to a third machine-learning algorithm to generate a room identity; and
select, based on the room-level bounding line, a room-level outline; and
create an indoor map using the room-level outline and the room identity.

### Claim 13 (depends on 12)

The computer system of claim 12:
wherein the instructions further cause the at least one processor to sense furniture depicted in the original CAD drawing, the sensing creates a set of furniture entities; and
wherein when the at least one processor applies the first and second probability distributions to the third machine-learning algorithm, the instructions further cause the at least one processor to apply the set of furniture entities to the third machine-learning algorithm to generate the room identity.

### Claim 14 (depends on 12)

The computer system of claim 12 wherein when the at least one processor selects the room-level outline, the instructions further cause the at least one processor to:
create an entity-based bounding line by applying the room-level bounding line to an entity-based post processing algorithm, the entity-based post processing algorithm creates the entity-based bounding line;
create a graph-based bounding line by applying the room-level bounding line to a graph-based post processing algorithm, the graph-based post processing algorithm generates the graph-based bounding line;
create a GAN-based bounding line by applying the room-level bounding line to a GAN-based post processing algorithm, the GAN-based post processing algorithm generates the GAN-based bounding line; and
choose only one of the entity-based bounding line, the graph-based bounding line, or the GAN-based bounding line be the room-level outline.

### Claim 15 (depends on 14)

The computer system of claim 14 wherein when the at least one processor chooses the room-level outline, the instructions further causes the at least one processor to:
evaluate the entity-based bounding line, the graph-based bounding line, and the GAN-based bounding line by a rule-based evaluator, the evaluation results in a rule-based selection;
evaluate the entity-based bounding line, the graph-based bounding line, and the GAN-based bounding line by a selection machine-learning algorithm, the evaluating by the selection machine-learning algorithm results in a ML-based selection; and
choose only one of the rule-based selection or the ML-based selection to be the room-level outline.

### Claim 16 (depends on 14)

The computer system of claim 14 wherein when the at least one processor creates the room-level bounding line, the instructions further cause the at least one processor to:
inflate the room-level bounding line to create an inflated bounding line;
deflate the room-level bounding line to create a deflated bounding line;
select a set of remaining entities based on drawing entities that reside between the inflated bounding line and the deflated bounding line; and
create the entity-based bounding line from the set of remaining entities.

### Claim 17 (depends on 16)

The computer system of claim 16 wherein when the at least one processor creates the entity-based bounding line, the instructions further cause the at least one processor to:
group drawing entities with respect to slope, the grouping results in a plurality of groups of drawing entities; and
for each group of drawing entities, merge drawing entities that meet a predetermined distance criteria and a predetermined overlap criteria;
the grouping and merging result in a set of remaining drawing entities.

### Claim 18 (depends on 14)

The computer system of claim 14 wherein when the at least one processor creates the graph-based bounding line, the instructions further cause the at least one processor to:
inflate the room-level bounding line to create an inflated bounding line;
deflate the room-level bounding line to create a deflated bounding line;
select a set of remaining entities being drawing entities that reside between the inflated bounding line and the deflated bounding line; and
create the graph-based bounding line from the set of remaining entities.

### Claim 19 (depends on 18)

The computer system of claim 18 wherein when the at least one processor creates the graph-based bounding line, the instructions further cause the at least one processor to:
group drawing entities of the set of remaining entities with respect to slope, the grouping results in groups of drawing entities;
for each group of drawing entities, select an outer drawing entity closest to the room-level bounding line, the selection for each group of drawing entities results in a set of outer line segments; and
extend at least one of line segment of the set of outer line segments; and
wherein when the processor creates the graph-based bounding line, the instructions further cause the processor to create the graph-based bounding line from the set of outer line segments.

### Claim 20 (depends on 14)

The computer system of claim 14 wherein when the at least one processor creates the GAN-based bounding line, the instructions further cause the at least one processor to:
create a first plurality of intermediate bounding lines by a first machine-learning algorithm;
create a second plurality of intermediate bounding lines by a second machine-learning algorithm; and
create the GAN-based bounding line by convolving the first plurality and second plurality of intermediate bounding lines.
