Systems and methods for automated material extraction
By designing a system that includes preprocessing, classifiers, material identifiers, MPM decoding and output components, the convolutional neural network automatically extracts material features in 2D drawings, solving the labor-intensive and error-prone problems of material extraction in the prior art, and achieving efficient and accurate material extraction.
Patent Information
- Application Number
- CN202080012865.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-02-07
- Filing Date
- 2020-01-31
- Publication Date
- 2025-02-28
- Estimated Expiration
- 2040-01-31
AI Technical Summary
In the prior art, automation of material extraction from 2D drawing has not been achieved, resulting in material extraction being still labor-intensive and prone to human errors, affecting the efficiency and cost control of construction projects.
By designing a system that includes preprocessing, classifiers, material identifiers, multi-dimensional probability matrix (MPM) decoding and output components, the pre-trained convolutional neural network automatically extracts material features from 2D drawings, generates multi-dimensional matrices and decodes to output unique identifiers, position coordinates and related text information of the material.
Automatic extraction of material information from 2D drawings is achieved, which reduces the risk of human error, improves the efficiency and accuracy of material extraction, and reduces the cost of construction projects.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a system and method for automatically extracting material from a drawing. Background Art
[0002] Construction projects can involve hundreds of people during the build phase—including manufacturers, suppliers, and installers from the many different trades associated with the construction project.
[0003] Construction projects involve a bidding process in which stakeholders bid for work within the construction project. The bidding process generally requires stakeholders to provide a detailed, itemized list of all materials that need to be manufactured / supplied / installed as part of the project. This list is called a bill of materials (BOM).
[0004] In order for stakeholders to bid, two-dimensional (2D) drawings (usually in PDF format) of construction projects are provided. From these 2D drawings, BOMs are manually created by one or more individuals analyzing the drawings and identifying the types / quantities of materials used. This process is generally referred to as "material take-off".
[0005] Material extraction can be performed by manually measuring, counting and coloring all materials on a 2D drawing (often on paper printed out as a PDF). For large construction projects, this can require more than two days of full-time work by stakeholders involved in the bidding process (as well as utilizing the services of an experienced estimator). As can be appreciated, the manual nature of the process creates a significant risk of delays and calculation errors, which can lead to cost overruns during the construction phase.
[0006] Attempts have been made to automate material extraction. For example, there is software that receives an architectural 3D model of a construction project (e.g., a building, etc.), allows the user to select blocks of material, and associates them with specific product types. This allows the user to export a list of all the materials required for the project, and track them individually in the 3D model. The disadvantage of this type of software is that material extraction is still extremely labor intensive, and also requires specialized computing skills to use the software. To date, the uptake of these types of software systems by installation / fabrication companies has been extremely low.
[0007] There are also software tools that allow the user to "digitally" perform manual estimation activities from a 2D drawing, such as ticking / shading in multiple individual materials to count the total, or using a "digital tape measure" to measure dimensions on an image. The process is almost as manual as the traditional pen-and-paper method (often taking several days per project for only a single type of material, i.e., glass), and the process creates a lot of risk for human error.
[0008] It would be desirable to provide a method and system that improves or at least alleviates one or more of the above-mentioned problems or provides a useful alternative.
[0009] The reference herein to a patent document or other matter cited as prior art should not be taken as an admission that the document or matter was known or that the information it contained was part of the common general knowledge as at the priority date of any claim. Summary of the invention
[0010] According to a first aspect, the present invention provides a system for determining material extraction from a 2D drawing, the system comprising: a pre-processing component operable to receive and pre-process one or more 2D drawings to provide one or more processed images; a classifier component operable to receive the processed images from the pre-processing component, the classifier component comprising one or more pre-trained convolutional neural networks, the classifier component operable to determine the type of the processed image from one or more categories of drawing types so as to match the category of the drawing type with the appropriate one or more pre-trained neural networks; a material identifier component operable to receive the category of the drawing type and determine the appropriate pre-trained neural network to apply to the processed image; The processed image, and providing a multidimensional matrix of values associated with the processed image, wherein each value in the multidimensional matrix represents the probability of the presence of a feature in the processed image and one or more multidimensional probability matrices (MPMs) are generated for the processed image; an MPM decoding component, which is operable to decode the one or more MPMs generated by the material identifier component to produce one or more data objects for each feature found in the processed image; and an output component, which is operable to provide one or more of the following: a unique identifier for each feature; a list of coordinates indicating the location of the feature on the processed image; and / or a list of coordinates describing the location of any text or other encoded information associated with the feature.
[0011] Preferably, the pre-processing component is further operable to convert the 2D drawing to one or more of the following: a predetermined format, size and aspect ratio. The 2D drawing may be in any format and may be, for example, one or more of a pdf, jpg, dwg file. Preferably, a size of 1024×1024 pixels may be used, but it will be appreciated that any size may be used depending on the application.
[0012] Preferably, the pre-processing component further comprises an image rescaling component operable to normalize the processed image.
[0013] It should be understood that one or more convolutional neural networks may include an input layer of predetermined dimensions. The input layer may be, for example, a 1024×1024×3 layer.
[0014] The one or more convolutional neural networks may include one or more convolutional layers including one or more nodes, each of which has one or more weights and biases. The one or more convolutional layers may also correspond to the number of supported drawing types.
[0015] Preferably, the material identifier component comprises one or more pre-trained material identification neural networks.The one or more pre-trained material identification neural networks are preferably trained to generate a multi-dimensional matrix of values.
[0016] Preferably, the MPM represents one or more of the number, type, physical location and size of each feature associated with the processed image; and the MPM is encoded in the value assigned to each X and Y pixel coordinate on the plot.
[0017] It will be appreciated that a feature may take any form and may include one or more of: a material, part of a structure including walls and rooms, furniture or other elements visible on the drawing.
[0018] Preferably, the MPM decoding component is operable to scan each coordinate represented in the MPM and determine whether one or more coordinates in the processed image contain one or more of the following: (a) material; (b) no material; or (c) the edge of new material. The MPM decoding component is also operable to scan adjacent coordinates and check the value of each adjacent coordinate to determine boundaries and / or associated text or other attribute types represented by the MPM.
[0019] Preferably, the system further comprises a post-processing component operable to perform checks on the data to improve the operation of the system. The post-processing component may comprise an OCR subsystem component operable to run an optical character recognition process on the coordinate locations associated with the features identified by the MPM.
[0020] Preferably, the post-processing component further comprises a quality assurance subsystem component operable to provide a user with a review of the output of the MPM decoding component. The quality assurance subsystem component provides an interactive processed image in which the coordinates of each feature identified on the drawing are used to present highlights on the features for ease of identification. The quality assurance subsystem component may include a BOM of the drawing presented in a table that can be edited by the user so that new features can be added to the BOM table if they are missed by the system.
[0021] Preferably, the quality assurance subsystem component includes a draw / drag / erase tool that allows the user to create / modify / delete coordinates on the processed image.
[0022] Preferably, the system further comprises a training data component, which receives the 2D drawing and the generated BOM via an MPM decoder; and feeds the 2D drawing and the generated BOM back into a training data set of the current feature via the MPM decoder.
[0023] According to a second aspect, the present invention provides a method for determining material extraction from a 2D drawing, the method comprising the steps of: receiving and preprocessing one or more 2D drawings to provide one or more processed images; determining the type of the processed image from one or more categories of drawing types by one or more pre-trained convolutional neural networks and determining the type of the processed image from one or more categories of drawing types so as to match the category of drawing type with the appropriate one or more pre-trained neural networks; receiving the category of the drawing type and determining the pre-trained neural network to apply to the processed image; providing a multi-dimensional matrix of values associated with the processed image, wherein each value in the multi-dimensional matrix represents a probability of a feature being present in the processed image; generating one or more multi-dimensional probability matrices (MPMs) for the processed image; decoding the one or more MPMs to produce one or more data objects for each feature found in the processed image; and outputting one or more of the following: a unique identifier for each feature; a list of coordinates indicating the location of the feature on the processed image; and / or a list of coordinates describing the location of any text or other encoded information associated with the feature. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] The invention will now be described in further detail by reference to the accompanying drawings. It should be understood that the particularity of the accompanying drawings does not supersede the generality of the preceding description of the invention.
[0025] Figure 1 is a schematic diagram of an example network that may be used to implement a system according to an embodiment of the present invention;
[0026] Figure 2 is a flow chart illustrating process steps employed by a system and method for automated material extraction according to an exemplary embodiment of the present invention; and
[0027] Figure 3 is a flow chart illustrating process steps employed by a system and method for automated material extraction according to another exemplary embodiment of the present invention. DETAILED DESCRIPTION
[0028] The present invention may be utilized by users working in the field of construction, and it will be convenient to describe the invention with respect to this exemplary but non-limiting application. It should be understood that the present invention is not limited to this application, and may be applied, for example, to electronic manufacturing, clothing design and manufacturing, or anywhere that design drawings are currently analyzed by humans.
[0029] Reference Figure 1 , which shows a diagram of a system 100 for automated material extraction with devices constituting the system according to an exemplary embodiment of the present invention. The system 100 includes: one or more servers 120, the one or more servers 120 including one or more databases 125; one or more computing devices 110 (e.g., associated with a user), the one or more computing devices 110 communicatively coupled to a cloud computing environment 130, "the cloud", and interconnected via a network 115, such as the Internet or a mobile communication network.
[0030] Although "cloud" has many meanings, according to the embodiments described herein, the term includes a set of network services that can be used remotely over a network, and the methods described herein can be implemented as a set of instructions stored in memory and executed by a cloud computing platform. Software applications can provide services to one or more servers 120, or support other software applications provided by third-party servers. Examples of services include websites, databases, software as a service, or other web services. Computing devices 110 may include smart phones, tablet computers, laptop computers, desktop computers, server computers, and other forms of computer systems.
[0031] The transmission of information and / or data through the network 115 can be implemented using wired communication or wireless communication. It should be understood that embodiments of the present invention can be implemented through different networks such as MAN (Metropolitan Area Network), WAN (Wide Area Network) or LAN (Local Area Network). In addition, the embodiments do not need to occur through a network, and the method steps can occur entirely on a client or server processing system.
[0032] Now refer to Figure 2 , which shows a flow chart showing process steps 200 employed by a system and method for automated material extraction according to an exemplary embodiment of the present invention. The method begins at step 205, wherein, for example, Figure 1 A user associated with computing device 110 provides a 2D drawing that can be uploaded to server 120 and stored on database 125 in cloud 130 .
[0033] The user may provide a 2D drawing in a variety of formats, including pdf, jpg, dwg, etc. Control then moves to step 210 where the 2D drawing is provided to a pre-trained neural network. The pre-trained neural network may reside on the server 120 or database 125 and may be pre-trained using conventional supervised methods. For example, example construction drawings of a particular type (i.e., shop drawings of aluminum cladding, facades, electrical designs, etc.) and examples of human-generated BOM data abstractions may be provided. As will be described with reference to Figure 3 As further described, the pre-trained neural network can take any number of forms. The pre-trained neural network processes data from the 2D drawing at step 210. Control then moves to step 215 where the neural network generates an abstraction of the BOM.
[0034] At steps 210 and 215 at each step of the training process for training the neural network, each layer of the machine learning algorithm receives input and provides output based on the weights and biases associated with each node in the layer. As will be appreciated by those skilled in the art, the final layer produces a generated multidimensional probability matrix (MPM), which is compared to human-created MPM examples. The difference between the machine-generated MPM and the human-generated MPM provides a loss function that allows the weights and biases of all nodes in the network to be updated so that future machine-generated MPMs will increasingly resemble the human-generated versions. By training over thousands of generations on hundreds of examples of training data, the machine-generated MPMs will converge on the human-generated versions, providing the ability to generate BOMs without human supervision.
[0035] Once the MPM is generated, control moves to step 220 where an output component processes the MPM into a human-readable BOM.
[0036] Advantageously, no interaction with the system is required other than providing the 2D drawing that the user requires, and the user associates with computing device 110 and receives the result, which is a BOM, which they can then use as part of their bidding process, etc. or to order the materials they need knowing that the BOM is accurate.
[0037] Figure 3300 is a flow chart illustrating process steps employed by a system and method for automated material extraction according to another exemplary embodiment of the present invention. Control begins at step 305, in which a user associated with a computing device 110 uploads one or more 2D drawings to a cloud 130 containing a server 120 and a database 125, where the system 100 can process the 2D drawings. The upload step 305 can be performed via a simple web-based application that allows a user associated with a computing device 110 to upload files to a cloud-based computing system 130 that is capable of performing calculations and storing both files and metadata. All subsequent operations can then be performed in the cloud 130. The cloud 130 can include both virtual and physical computers networked together, can connect two or more databases for the purpose of sharing data between network computers, and can access networked storage locations for the purpose of storing / sharing files between components.
[0038] Control then moves to steps 310, 315, and 320, which can be considered part of the pre-processing component. At step 310, the uploaded file from step 315 is converted to a format of standard size and aspect ratio. The drawing can be in the form of pdf, jpg, dwg, etc., but the conversion step uses an image size of 1024×1024 pixels. It should be understood that any size can be provided. This conversion is due to the neural network requiring all images it processes to have consistent sizes. Control then moves to step 315, in which the classifier component contains a pre-trained convolutional neural network, which can be constructed using methods known to technicians to provide:
[0039] 1024×1024×3 input layers.
[0040] Multiple convolutional layers, as will be understood by those skilled in the art, contain nodes with "weights" and "biases" consistent with machine learning. The number of layers is based on the number of drawing classes supported by the systems and methods of the present invention. It should be understood that this can be extended and the number and type of intermediate layers can be changed.
[0041] A fully connected layer that outputs values of zero or one across the array of nodes, representing the different “classes” of drawings supported by the systems and methods of the present invention.
[0042] As will be appreciated, the purpose of categorizing the components is to determine what type of 2D construction drawing the user has uploaded so that a specific processor is provided depending on the drawing type. For example, a particular type of 2D drawing may only show the structural steel components of a project, while another shows ventilation or piping.
[0043] This is due to the fact that a single feature (i.e. a door) appears differently depending on the type of drawing in which it appears. For example, a technical specification of a door structure will look different from a plan view, which will look different from a forward facing "elevation" drawing of the front of a building. Advantageously, classifying the components makes this determination automatic. This is done by training the network on a pre-classified list of thousands of drawings based on the features the drawing contains and whether the drawing shows a side, front, interior or top view of a building, or whether the drawing shows a detailed / component level of a particular feature (i.e. where the feature is one or more materials, this might include cladding, structural steel, modular bathroom fixtures, etc.). Advantageously, this aspect of the invention avoids the need for the user to select the type of drawing they are uploading, and instead simply uploads the drawing.
[0044] Control then moves to step 320 where an image rescaling component normalizes the image of the 2D drawing for processing. Preferably, the drawing is converted to an image of 1024×1024 pixels, but it will be apparent that any image resolution may be suitable depending on the application. Control then moves to a material identifier component 325 which is a family of pre-trained material recognition neural networks. Each of these neural networks is trained to receive a single 2D drawing image of a specific type (i.e., an elevation, a plan, etc.) and for a particular type of feature (i.e., a particular material or structure, such as a window), the neural network is trained to produce a multi-dimensional matrix of values, where each value represents the probability of a particular feature occurring given the feature (i.e., the edge of a window or the center of a piece of steel), and given the coordinates set in the 2D drawing. Each of these output groups can be represented as an MPM.
[0045] At step 325, the MPM takes the form of a 1024x1024x255x3 integer array representing the pixel coordinates of the input data (1024x1024 and 255x3) representing the probability that a particular training feature of the feature is present in the current pixel of the 2D drawing.
[0046] In one embodiment, some of the features encoded into the MPM are as follows:
[0047] Edge of feature: (255,255,255)
[0048] Middle of feature: (0,0,255)
[0049] No feature exists: (0,0,0)
[0050] Text representing information related to the feature: (0,255,0).
[0051] As will be appreciated, each of the above is a different value from the other, and for example, if the pixel in position 50 on the X-axis and position 200 on the Y-axis represents the center of a feature, this can be recorded so that [50, 200] equals [0, 0, 255].
[0052] This is just one example of tens or hundreds of thousands of codes, and it should be understood that any number of codes can be created to represent different properties of a feature on a 2D drawing. For example, different values are used to encode corners, common symbols or curves, etc. It will be understood that the specific codes can vary greatly between features and drawing types, and are relatively arbitrary, provided that they capture relevant information about the features on a given drawing type.
[0053] Advantageously, the MPM of a 2D drawing represents an abstract encoding of the BOM, wherein the number, type, physical location and size of each feature on the drawing is encoded in the values assigned to each X and Y pixel coordinate on the drawing.
[0054] The neural network in the material identifier component 325 can be trained by providing a pre-built MPM. In this way, the material identifier component 325 "learns" to generate its own MPM based on a previously unknown type of construction drawing. The value in the MPM generated by the material identifier component reflects the probability that a particular feature is located at a specific pixel location - for example, using the above encoding [30,60] = (0,0,127) can indicate that the material identifier component 325 has approximately 50% confidence that a particular pixel represents the center of a feature.
[0055] In this implementation, the separate neural network models within the material identifier component 325 may include a common type of machine learning algorithm known as an adversarial network. These networks will be familiar to the skilled person and consist of a "generator" and a "discriminator," which are themselves two separate machine learning networks.
[0056] As the skilled person will appreciate, the generator is a machine learning algorithm that receives an input (in this case, a 2D drawing) and uses it to generate novel examples of a desired output (in this case, an MPM). This is then passed along with a previously prepared version of the ideal output (the "correct" MPM) to the discriminator, which must choose which is the "real" output. The two loss functions are calculated so that whenever the discriminator successfully detects an "incorrect" MPM created by the generator, the discriminator receives positive reinforcement, while the generator does not. Alternatively, if the discriminator is "fooled" into selecting an MPM created by the generator, the generator receives positive reinforcement, while the discriminator does not.
[0057] As will be appreciated, over time this causes the generator to become increasingly skilled at creating output that matches a human-created ideal MPM for a particular 2D drawing, while the discriminator becomes increasingly better at identifying a human-created MPM from a "fake." Eventually, this causes the generator to become so good that the MPMs it generates are virtually indistinguishable from human-created MPMs. Advantageously, given that the MPM represents an abstract encoding of the BOM, this means that the material identifier component 325 is eventually able to "read" a 2D drawing and output a list of all the features present in the drawing, including size, category, and other relevant information that appeared in the training data set.
[0058] Control then moves to step 330 where the MPM decoding component decodes the MPM generated by the material identifier component to produce a simple data object for each feature found in the 2D drawing. This process involves scanning through each coordinate represented in the MPM data and performing simple checks to determine if it contains the feature, does not contain the feature, or is the edge of a new feature, etc. Once the new feature is located in the MPM, the MPM decoder scans the adjacent coordinates and checks the value of each adjacent coordinate, allowing the determination of the border and associated text or other attribute type represented by the MPM.
[0059] For each feature located in the event, the captured details are stored by the MPM decoding component. The MPM decoding component for each of the one or more feature data objects being output provides the following:
[0060] A unique identifier for each feature;
[0061] A list of coordinates describing where the features actually appear on each drawing;
[0062] A list of coordinates describing the location of any text or other encoded information associated with the feature.
[0063] Control then moves to post-processing components 335 , 340 , and 345 , which perform checks on the data and / or improve the overall system 100 .
[0064] At step 335, an optical character recognition (OCR) subsystem component runs an optical character recognition algorithm on the coordinate locations associated with the various features generated at steps 325 and 330, and any text recognized by the OCR subsystem component may then be stored with the feature data object for eventual display to a user, as will be described further below. The OCR subsystem component may be used to examine text that appears on a drawing, but preferably, it is also operable to associate the text with features located in the drawing based on their location in the drawing. For example, the OCR subsystem component may "read" the width of a feature that appears on a drawing, and thus know to which feature the width applies.
[0065] Control then moves to step 340 where the quality assurance subsystem component provides a single user or a group of users with an opportunity to review the output from step 330, i.e., verify the integrity of the BOM data for each 2D drawing before providing the final BOM to an end user associated with computing device 110. The quality assurance (QA) subsystem component may be, for example, a web-based application that allows the user to be presented with:
[0066] An interactive version of the original 2D plot, where each feature identified on the plot is highlighted using the coordinates of that feature for easier identification;
[0067] The complete BOM for that drawing page presented in a table that can be edited by the QA system operator so that new features can be added to the BOM if they are missed by the automation system;
[0068] Simple draw / drag / erase tools that enable the QA system operator to create / modify / delete coordinates on the 2D drawing in case any features are incorrectly identified or omitted from the final BOM;
[0069] A simple drawing measurement tool that allows the QA system operator to set a sample of the drawing scale (i.e. 20 pixels = 150 mm). Advantageously, this allows the real-world dimensions of the physical feature to be calculated using the pixel coordinates associated with each feature, which can then be saved to the BOM;
[0070] An “Approve” button, which submits the BOM and allows the BOM to be sent to the computing device 110 .
[0071] Advantageously, the user may edit or correct and the edits / corrections are learned by the system, providing improved accuracy over time, etc.
[0072] Then, control moves to step 345, which is a training data component that can receive as input the 2D drawing provided at step 305 and the BOM output via the MPM decoder at step 330, and then feed them into the training data set of the current material identifier at step 325. In this way, the material identifier component is provided with an ever-increasing training data set, thereby enabling it to learn from the errors identified by the QA subsystem at step 340. Otherwise, control moves to step 350, where the output component provides the complete BOM to the end user associated with the computing device 110.
[0073] In this embodiment, the BOM is provided to the user in the form of an interactive web application that enables any individual feature listed in the BOM to then be searched / inspected / edited. The user may additionally be provided with an interactive version of its 2D drawing, wherein the coordinates identified in the BOM enable highlighting of the features to be digitally presented on the 2D drawing. As will be appreciated by those skilled in the art, the BOM may be provided to the end user in any number of formats.
[0074] When the terms "comprises", "comprising", "containing" or "having" are used in this specification (including the claims), they will be interpreted as specifying the presence of stated features, integers, steps or components, but not excluding the presence of one or more other features, integers, steps or components or groups thereof.
[0075] Although the present invention has been described in conjunction with a limited number of embodiments, it will be appreciated by those skilled in the art that many alternatives, modifications and variations are possible according to the foregoing description. Therefore, the present invention is intended to include all such alternatives, modifications and variations that may fall within the spirit and scope of the disclosed invention.
Claims
1. A system for determining material extraction from a 2D drawing, the system comprising: a pre-processing component operative to receive and pre-process the one or more 2D drawings to provide one or more processed images; a classifier component operative to receive the processed image from the pre-processing component, the classifier component comprising one or more pre-trained convolutional neural networks, the classifier component operative to determine a type of the processed image from one or more categories of drawing types so as to match the category of drawing type with an appropriate one or more pre-trained neural networks; a material identifier component operative to receive the category of the drawing type and determine the appropriate pre-trained neural network to apply to the processed image, and to provide a multi-dimensional matrix of values associated with the processed image, wherein each value in the multi-dimensional matrix represents a probability of a feature being present in the processed image, and to generate one or more multi-dimensional probability matrices MPM for the processed image; an MPM decoding component operative to decode one or more MPMs generated by the material identifier component to produce one or more data objects for each feature found in the processed image; and An output component that operates to provide one or more of (I) to (III): (I) a unique identifier for each feature; (II) a list of coordinates indicating the location of the feature on the processed image; and (III) a list of coordinates describing the location of any text or other encoded information associated with the feature.
2. The system according to claim 1, wherein: The pre-processing component also includes an image rescaling component that operates to normalize the processed image.
3. The system according to claim 1, wherein: The one or more convolutional neural networks include an input layer of predetermined dimension.
4. The system according to claim 1, wherein: The one or more convolutional neural networks include one or more convolutional layers, the one or more convolutional layers contain one or more nodes, and the one or more nodes each have one or more weights and biases.
5. The system according to claim 4, wherein: The one or more convolutional layers corresponds to the number of supported drawing types.
6. The system according to claim 1, wherein: The material identifier component includes one or more pre-trained material recognition neural networks.
7. The system according to claim 6, wherein: The one or more pre-trained material recognition neural networks are trained to generate a multi-dimensional matrix of values.
8. The system according to claim 1, wherein: The MPM represents one or more of the number, type, physical location, and size of each feature associated with the processed image; and the MPM is encoded in a value assigned to each X and Y pixel coordinate on a plot.
9. The system according to claim 1, wherein: The features include one or more of: materials, structural elements including walls or rooms, other elements present in the drawing.
10. The system according to claim 1, wherein: The MPM decoding component operates to scan each coordinate represented in the MPM and determine whether one or more coordinates in the processed image contain one or more of: (a) material; (b) no material; and (c) the edge of new material.
11. The system according to claim 10, wherein: The MPM decoding component also operates to scan adjacent coordinates and examine the value of each adjacent coordinate to determine one or more of (1) and (2): (1) a boundary; (2) associated text or other attribute type represented by the MPM.
12. The system of claim 1, wherein: The system also includes a post-processing component including an OCR subsystem component operative to run an optical character recognition process on coordinate locations associated with features recognized by the MPM.
13. The system of claim 1, wherein: The quality assurance subsystem component provides an interactive processed image in which the coordinates of each feature identified on the drawing are used to render highlights on the feature to facilitate identification.
14. The system of claim 1, wherein: The system further comprises a training data component, which receives the 2D drawing and the generated BOM via the MPM decoder; and feeds the 2D drawing and the generated BOM into a training data set of a current feature via the MPM decoder.
15. The system according to claim 9, wherein: Said other elements are furniture.
16. A method for determining material extraction from a 2D drawing, the method comprising the steps of: receiving and preprocessing one or more 2D drawings to provide one or more processed images; determining the type of the processed image from one or more categories of drawing types by one or more pre-trained convolutional neural networks and determining the type of the processed image from one or more categories of drawing types so as to match the category of drawing type with the appropriate one or more pre-trained neural networks; receiving the category of the drawing type and determining the pre-trained neural network to apply to the processed image; providing a multidimensional matrix of values associated with the processed image, wherein each value in the multidimensional matrix represents a probability of a feature being present in the processed image; generating one or more multi-dimensional probability matrices MPM for the processed image; decoding the one or more MPMs to generate one or more data objects for each feature found in the processed image; and Output one or more of (I) to (III): (I) a unique identifier for each feature; (II) a list of coordinates indicating the location of the feature on the processed image; (III) a list of coordinates describing the location of any text or other encoded information associated with the feature.