IP Library Granted Patent US 12,518,066
Granted Patent B2
US 12,518,066 · App. 16/951,776 · Granted Jan 6, 2026

Synthetic data generation for machine learning tasks on floor plan drawings

Inventors: Emmanuel Gallo (Mougins, FR); Yan Fu (San Carlos, CA); Keith Alfaro (Brooklyn, NY); Manuel Martinez Alonso (Malaga, ES); Simranjit Singh Kohli (Cambridge, CA); Graceline Regala Amour (Somerville, MA)
Assignee: AUTODESK, INC.
G06F30/13G06F16/211G06F30/12G06N20/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 12,518,066
App. No.
16/951,776
Granted
Jan 6, 2026
Kind
B2
Abstract

A method and system provide the ability to generate and use synthetic data to extract elements from a floor plan drawing. A room layout is generated. Room descriptions are used to generate and place synthetic instances of symbol elements in each room. A floor plan drawing is obtained and pre-processed to determine a drawing area. Based on the synthetic data symbols in the floor plan drawing are detected. Orientations of the detected symbols are also detected. Based on the detected symbols and orientations, building information model (BIM) elements are fetched and placed in the floor plan drawing.

Claims (85)

1 . A computer-implemented method for utilizing a synthetic floor plan drawing, comprising:

generating, in a computer, using generative design, a room layout for one or more rooms of the synthetic floor plan drawing, wherein the room layout comprises a room description that defines a semantic for one or more of the rooms;

obtaining, in the computer, symbol element information for a symbol element, wherein the symbol element information comprises an enumeration of room types in which the symbol element can appear and a location inside the one or more rooms in which the symbol element can appear;

programmatically generating, in the computer, synthetic symbol data comprising instances of the symbol element inside one or more of the rooms, wherein the instances populate the room layout based on the room layout and the symbol element information;

programmatically generating, in the computer, the synthetic floor plan drawing based on the synthetic symbol data and the room layout, wherein:

a ground truth of labels and locations of symbols in the synthetic floor plan drawing are known;

utilizing the synthetic floor plan drawing to train an object detection model, wherein the ground truth is utilized for orientation information learning;

utilizing the object detection model to autonomously recognize and extract symbol elements in a different floor plan drawing, wherein:

the object detection model segments the different floor plan drawing into multiple sections and identifies fixed patterns;

the object detection model selects one or more of the multiple sections that define a design drawing area; and

the object detection model recognizes the symbol elements in the selected one or more multiple sections;

generating a building information model (BIM) comprising the recognized and extracted symbol elements;

receiving user input relating to the BIM; and

refining the object detection model based on the user input.

2 . The computer-implemented method of claim 1 , wherein the room layout comprises:

a set of two-dimensional (2D) positions that correspond to a beginning and end of all walls.

3 . The computer-implemented method of claim 1 , wherein the generating instances of the symbol element further comprises:

generating a style for a dataset that can match a design of one or more designs, wherein for each of the one or more designs, a configuration file stores the symbol element information.

4 . The computer-implemented method of claim 1 , wherein:

the symbol element information is stored in a configuration file;

the configuration file comprises multiple blocks;

each of the multiple blocks is indexed with a unique identifier; and

each of the multiple blocks corresponds to a rendering of a different symbol element.

5 . The computer-implemented method of claim 4 , wherein:

each of the multiple blocks comprises the symbol element information;

the symbol element information comprises:

a scale of the symbol element;

the orientation of the symbol element;

a number of maximum instances;

a background property identifying whether the symbol element belongs to a background or a foreground; and

an associated label of the symbol element.

6 . The computer-implemented method of claim 1 , wherein:

the generating the synthetic floor plan drawing comprises randomly generating the synthetic floor plan drawing by calculating each instance randomly until the instance complies with the symbol element information.

7 . The computer-implemented method of claim 6 , further comprising:

determining that the instances of symbol elements in the synthetic floor plan drawing are unbalanced;

triangulating the synthetic floor plan drawing into one or more triangles; and

uniformly placing the symbol elements in the synthetic floor plan drawing using random uniform sampling inside the one or more triangles.

8 . The computer-implemented method of claim 7 , further comprising:

based on the determination that the instances of symbol elements are unbalanced, adjusting a weight of a symbol type, wherein the weight affects how many instances of the symbol type are placed into the synthetic floor plan drawing.

9 . The computer-implemented method of claim 1 , further comprising:

adding random additional information to the synthetic floor plan drawing to improve a machine learning model.

10 . A computer-implemented system for generating a synthetic floor plan drawing, comprising:

(a) a computer having a memory;

(b) a processor executing on the computer;

(c) the memory storing a set of instructions, wherein the set of instructions, when executed by the processor cause the processor to perform operations comprising:

(i) generating, using generative design, a room layout for one or more rooms of the synthetic floor plan drawing, wherein the room layout comprises a room description that defines a semantic for one or more of the rooms;

(ii) obtaining symbol element information for a symbol element, wherein the symbol element information comprises an enumeration room types in which the symbol element can appear and a location inside the one or more rooms in which the symbol element can appear;

(iii) programmatically generating synthetic symbol data comprising instances of the symbol element inside one or more of the rooms, wherein the instances populate the room layout based on the room layout and the symbol element information;

(iv) programmatically generating synthetic floor plan drawing based on the synthetic symbol data and the room layout, wherein:

(A) a ground truth of labels and locations of symbols in the synthetic floor plan drawing are known;

(v) utilizing the synthetic floor plan drawing to train an object detection model, wherein the ground truth is utilized for orientation information learning;

(vi) utilizing the object detection model to autonomously recognize and extract symbol elements in a different floor plan drawing, wherein:

(A) the object detection model segments the different floor plan drawing into multiple sections and identifies fixed patterns;

(B) the object detection model selects one or more of the multiple sections that define a design drawing area; and

(C) the object detection model recognizes the symbol elements in the selected one or more multiple sections;

(vii) generating a building information model (BIM) comprising the recognized (vii) and extracted symbol elements;

(viii) receiving user input relating to the BIM; and

(ix) refining the object detection model based on the user input.

11 . The computer-implemented system of claim 10 , wherein the room layout comprises:

a set of two-dimensional (2D) positions that correspond to a beginning and end of all walls.

12 . The computer-implemented system of claim 10 , wherein the generating instances of the symbol element further comprises:

generating a style for a dataset that can match a design of one or more designs, wherein for each of the one or more designs, a configuration file stores the symbol element information.

13 . The computer-implemented system of claim 10 , wherein:

the symbol element information is stored in a configuration file;

the configuration file comprises multiple blocks;

each of the multiple blocks is indexed with a unique identifier; and

each of the multiple blocks corresponds to a rendering of a different symbol element.

14 . The computer-implemented system of claim 13 , wherein:

each of the multiple blocks comprises the symbol element information;

the symbol element information comprises:

a scale of the symbol element;

the orientation of the symbol element;

a number of maximum instances;

a background property identifying whether the symbol element belongs to a background or a foreground; and

an associated label of the symbol element.

15 . The computer-implemented system of claim 10 , wherein:

the generating the synthetic floor plan drawing comprises randomly generating the synthetic floor plan drawing by calculating each instance randomly until the instance complies with the symbol element information.

16 . The computer-implemented system of claim 15 , wherein the operations further comprise:

determining that the instances of symbol elements in the synthetic floor plan drawing are unbalanced;

triangulating the floor plan drawing into one or more triangles; and

uniformly placing the symbol elements in the synthetic floor plan drawing using random uniform sampling inside the one or more triangles.

17 . The computer-implemented system of claim 16 , wherein the operations further comprise:

based on the determination that the instances of symbol elements are unbalanced, adjusting a weight of a symbol type, wherein the weight affects how many instances of the symbol type are placed into the synthetic floor plan drawing.

18 . The computer-implemented system of claim 10 , wherein the operations further comprise:

adding random additional information to the synthetic floor plan drawing to improve a machine learning model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 2, 2020
From: GALLO, EMMANUEL; FU, YAN; ALFARO, KEITH; ALONSO, MANUEL MARTINEZ; KOHLI, SIMRANJIT SINGH; AMOUR, GRACELINE REGALA
To: AUTODESK, INC.
Reel/Frame 054521/0416 →
Continuity (3)
Provisional Application 62937053 · Nov 18, 2019
Provisional Application 62937049 · Nov 18, 2019
Related Publication 20210150080A1 · May 20, 2021
References Cited (63)
US 6766282B1 · Schettine · 2004 [cited by applicant]
US 10997325B2 · Austern et al. · 2021 [cited by applicant]
US 20020147694A1 · Dempsey et al. · 2002 [cited by applicant]
US 20110218777A1 · Chen et al. · 2011 [cited by applicant]
US 20130147799A1 · Hoguet · 2013 [cited by examiner]
US 20170076016A1 · Mir Ahmadi · 2017 [cited by examiner]
US 20170091885A1 · Randolph · 2017 [cited by applicant]
US 20170154263A1 · Deretsky et al. · 2017 [cited by applicant]
US 20180032643A1 · Wright · 2018 [cited by examiner]
US 20190057520A1 · Cinnamon et al. · 2019 [cited by applicant]
US 20190205485A1 · Rejeb Sfar · 2019 [cited by examiner]
US 20190266293A1 · Ishida · 2019 [cited by examiner]
US 20190385297A1 · Khosrowpour et al. · 2019 [cited by applicant]
US 20210073449A1 · Segev et al. · 2021 [cited by applicant]
US 20210256180A1 · Austern · 2021 [cited by examiner]
US 20220148327A1 · Fu et al. · 2022 [cited by applicant]
US 20220327316A1 · Grauman et al. · 2022 [cited by applicant]
CN 109299585 · 2019 [cited by applicant]
JP 2005215998 · 2005 [cited by applicant]
JP 2010044447 · 2010 [cited by applicant]
WO 2019003467 · 2019 [cited by applicant]
Notice of Allowance dated May 15, 2023 for U.S. Appl. No. 16/951,750. [cited by applicant]
PCT International Search Report & Written Opinion dated Feb. 17, 2021 for PCT Application No. PCT/US20/61096. [cited by applicant]
Non-Final Office Action dated Nov. 22, 2022 for U.S. Appl. No. 16/951,750. [cited by applicant]
Huang, W., et al., “Architectural Drawings Recognition and Generation through Machine Learning”, Acadia, 2018, pp. 156-165. [cited by applicant]
Camozzato, D., “A Method for Growth-Based Procedural Floor Plan Generation”, Pontifícia Universidade Católica Do Rio Grande Do Sul Faculdade De Informática Programa De Pós-Graduação Em Ciência Da Computação, 2015, pp. 1… [cited by applicant]
Lopes, R., et al., “A Constrained Growth Method for Procedural Floor Plan Generation”, Conference: Proceedings of 11th Int. Conf. Intell. Games Simul., Jan. 2010, pp. 1-7. [cited by applicant]
Ecer, D., et al., “ScienceBeam—using computer vision to extract PDF data”, Aug. 4, 2017, https://elifesciences.org/labs/5b56aff6/sciencebeam-using-computer-vision-to-extract-pdf-data, as downloaded Nov. 12, 2020, pp. 1-… [cited by applicant]
Rahul, R., et al., “Automatic Information Extraction from Piping and Instrumentation Diagrams”, Computer Vision and Pattern Recognition, Jan. 2019, pp. 1-10. [cited by applicant]
Adam, S., et al., “Symbol and Character Recognition: Application to Engineering Drawings”, IJDAR, 2000, 1-37, vol. 3, No. 2. [cited by applicant]
Collin, S., et al., “Syntactic Analysis of Technical Drawing Dimensions”, International Journal of Pattern Recognition and Artificial Intelligence, 1994, pp. 1131-1148, vol. 8, No. 5. [cited by applicant]
Dosch, P., et al., “Improving Arc Detection in Graphics Recognition”, Proceedings 15th International Conference on Pattern Recognition, 2000, pp. 243-246, vol. 2. [cited by applicant]
Armand, J-P., “Musical Score Recognition: A Hierarchical and Recursive Approach”, ICDAR, 1993, pp. 1-4. [cited by applicant]
Randriamahefa, R., et al., “Printed music recognition”, Conference: Document Analysis and Recognition, 1993, pp. 1-5. [cited by applicant]
Valveny, E., et al., “Hand-Drawn Symbol Recognition in Graphic Documents Using Deformable Template Matching and a Bayesian Framework”, Proceedings of 15th. Int. Conf. on Pattern Recognition, Jan. 2000, pp. 239-242. [cited by applicant]
Yu, Y., et al., “A System for Recognizing a Large Class of Engineering Drawings”, IEEE Transactions on Pattern Analysis and Machine Intelligence, Aug. 1997, pp. 868-890, vol. 19, No. 8. [cited by applicant]
Kasturi, R., et al., “A System for Interpretation of Line Drawings”, IEEE Transactions on Pattern Analysis and Machine Intelligence, Oct. 1990, pp. 978-992, vol. 12, No. 10. [cited by applicant]
Lavirotte, S., et al., “Optical Formula Recognition”, Proceedings of the 4th International Conference on Document Analysis and Recognition, Aug. 1997, pp. 357-361. [cited by applicant]
“Spot Intelligence”, https://www.spotintelligence.com/, as downloaded Nov. 12, 2020, pp. 1-6. [cited by applicant]
“Extract Tables from your PDFs”, PDFTron, 2020, https://www.pdftron.com/pdf-tools/pdf-table-extraction/, as downloaded Feb. 17. 2021, pp. 1-2. [cited by applicant]
“PDFplumber”, https://github.com/jsvine/pdfplumber, as downloaded Nov. 12, 2020, pp. 1-20. [cited by applicant]
Young, B., LinkedIn Video, www.linkedin.com/posts/brett-young-sf_quantitytakeoffsmachinelearning-mepactivity-6584839340420149249-IM_Z, as downloaded Nov. 12, 2020, pp. 1-3. [cited by applicant]
Stahl, C., et al., “DeepPDF: A Deep Learning Approach to Analyzing PDFs”, Oak Ridge National Laboratory, 2018, pp. 1-4. [cited by applicant]
Llados, J., et al., “Symbol Recognition: Current Advances and Perspectives”, Lecture Notes in Computer Science, Sep. 2001, pp. 104-127, vol. 2390. [cited by applicant]
“How to use Adobe Acrobat Pro's character recognition to make a searchable PDF”, https://www.theverge.com/2019/4/18/18484973/adobe-acrobat-pro-character-recognition-searchable-text-pdf, as downloaded Nov. 12, 2020, pp. … [cited by applicant]
Ruiz-Montiel, M., et al., “Design with shape grammars and reinforcement learning”, Advanced Engineering Informatics, 2013, pp. 230-245, vol. 27. [cited by applicant]
Groen, F.C.A., et al., “Symbol recognition in electrical diagrams using a probabilistic graph matching”, Pattern Recognition Letters, 1985, pp. 343-350, vol. 3. [cited by applicant]
Dori, D., “A Syntactic/Geometric Approach to Recognition of Dimensions in Engineering Machine Drawings”, Computer Vision, Graphics, and Image Processing, 1989, pp. 271-291, vol. 47. [cited by applicant]
Yadid-Pecht, O., et al., “Recognition of handwritten musical notes by a modified Neocognitron”, Machine Vision and Applications, 1996, pp. 65-72, vol. 9. [cited by applicant]
Anquetil, E., et al., “A Symbol Classifier Able to Reject Wrong Shapes for Document Recognition Systems”, Atul K. Chhabra and D. Dori (Eds.): GREC'99, LNCS, 2000, pp. 209-218, vol. 1941. [cited by applicant]
Fahmy, H., “A graph grammar programming style for recognition of music notation”, Machine Vision and Applications, 1993, pp. 83-99, vol. 6. [cited by applicant]
Llados, J., et al., “A String Based Method to Recognize Symbols and Structural Textures in Architectural Plans”, Graphics Recognition: Algorithms and Systems, 1998, pp. 91-103. [cited by applicant]
Ramel, J-Y, et al., “A Structural Representation Adapted to Handwritten Symbol Recognition”, Atul K. Chhabra and D. Dori (Eds.): GREC'99, LNCS 1941, 2000, pp. 228-237. [cited by applicant]
Bunke, H., “Attributed Programmed Graph Grammars and Their Application to Schematic Diagram Interpretation”, IEEE Transactions on Pattern Analysis and Machine Intelligence, Nov. 1982, pp. 574-582, vol. PAMI-4, No. 6. [cited by applicant]
Lee, H-J., et al., “Understanding Mathematical Expressions Using Procedure-Oriented Transformation”, Pattern Recognition, 1994, pp. 447-457, vol. 27, No. 3. [cited by applicant]
Ablameyko, S., et al., “Knowledge-Based Recognition of Crosshatched Areas in Engineering Drawings”, Advances in Pattern Recognition, Aug. 1998, pp. 460-467. [cited by applicant]
Aoki, Y., et al., “A Prototype System for Interpreting Hand-Sketched Floor Plans”, Proceedings of ICPR, 1996, pp. 747-751. [cited by applicant]
Hamada, A.H., “Structural recognition of disturbed symbols using discrete relaxation”, Proceedings of 1st. Int. Conf. on Document Analysis and Recognition, 1991, pp. 170-178. [cited by applicant]
Per Galle, N.K., “An Algorithm for Exhaustive Generation of Building Floor Plans”, Communications of the ACM, Dec. 1981, pp. 813-825, vol. 24, No. 12. [cited by applicant]
Ah-Soon, C., et al., “Architectural symbol recognition using a network of constraints”, Pattern Recognition Letters, 2001, pp. 231-248, vol. 22. [cited by applicant]
“Synthetic data”, Wikipedia, https://en.wikipedia.org/wiki/Synthetic_data, as downloaded May 9, 2024, pp. 1-6. [cited by applicant]
“Definition of programmatically”, PCMag, https://www.pcmag.com/encyclopedia/term/programmatically, as downloaded May 9, 2024, pp. 1-4. [cited by applicant]
Chinese Office Action (with English translation) dated Mar. 22, 2024 for Chinese Patent Application No. 2020800760342. [cited by applicant]