Automated clash detection using two-dimensional drawings
Techniques for performing an automated clash detection analysis on two-dimensional (2D) drawings associated with a given location of a construction project involve obtaining a set of 2D drawings for a construction project and identifying a subset of the 2D drawings that are associated with the given location of the construction project. From the subset of 2D drawings, a first 2D drawing and a second 2D drawing are selected for inclusion in the automated clash detection analysis. Based on respective sets of key points, the first and second 2D drawings are aligned and layered to produce an overlaid view. Objects in each 2D drawing are identified, and the overlaid view is analyzed to identify clashes between objects in the first 2D drawing and objects in the second 2D drawing. Respective visual representations of identified clashes may be displayed for user interaction.
1 . A computing platform comprising:
at least one processor;
at least one non-transitory computer-readable medium; and
program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the computing platform is configured to:
obtain a set of two-dimensional (2D) drawings for a construction project;
from the set of 2D drawings, identify a subset of 2D drawings that are associated with a given location of the construction project;
identify a first 2D drawing and a second 2D drawing from the subset of 2D drawings for inclusion in an automated clash detection analysis;
based on comparing a first set of key points for the first 2D drawing and a second set of key points for the second 2D drawing, align the first and second 2D drawings and thereby produce an overlay of the first and second 2D drawings;
analyze the first 2D drawing to (i) identify a first set of distinct objects depicted in the first 2D drawing and (ii) semantically classify the first set of distinct objects in accordance with a predefined group of object classes;
analyze the second 2D drawing to (i) identify a second set of distinct objects depicted in the second 2D drawing and (ii) semantically classify the second set of distinct objects in accordance with the predefined group of object classes;
perform an evaluation of the first set of distinct objects as compared to the second set of distinct objects; and
based on the evaluation, identify an object clash representing a design conflict between a first distinct object in the first set of distinct objects that is assigned to a first object class and a second distinct object in the second set of distinct objects that is assigned to a second object class.
2 . The computing platform of claim 1 , further comprising program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the computing platform is configured to:
receive, from an end-user device associated with a user, an indication of a request to initiate the automated clash detection analysis, wherein the request indicates the given location.
3 . The computing platform of claim 1 , further comprising program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the computing platform is configured to:
cause an end-user device to display a visual representation of the object clash representing the design conflict between the first and second distinct objects.
4 . The computing platform of claim 1 , wherein the program instructions that are executable by the at least one processor such that the computing platform is configured to identify the first 2D drawing and the second 2D drawing for inclusion in the automated clash detection analysis comprise program instructions that are executable by the at least one processor such that the computing platform is configured to:
cause an end-user device to display one or more user interface views including a respective indication of each 2D drawing in the subset of 2D drawings; and
receive, from the end-user device, an indication that the first 2D drawing and the second 2D drawing have been selected for inclusion in the automated clash detection analysis.
5 . The computing platform of claim 1 , wherein the program instructions that are executable by the at least one processor such that the computing platform is configured to identify the subset of 2D drawings that are associated with the given location of the construction project comprise program instructions that are executable by the at least one processor such that the computing platform is configured to:
for each respective 2D drawing in the set of 2D drawings, perform an image processing analysis and thereby determine a respective location for the respective 2D drawing;
identify each 2D drawing that has a respective location matching the given location; and
include each identified 2D drawing in the subset of 2D drawings.
6 . The computing platform of claim 1 , wherein the program instructions that are executable by the at least one processor such that the computing platform is configured to align the first and second 2D drawings and thereby produce the overlay of the first and second 2D drawings comprise program instructions that are executable by the at least one processor such that the computing platform is configured to:
use one or more neural network techniques to identify the first set of key points for the first 2D drawing and the second set of key points for the second 2D drawing;
generate a transformation matrix that maps the first set of key points for the first 2D drawing to the second set of key points for the second 2D drawing;
based on the transformation matrix, align the first and second 2D drawings; and
layer the first and second 2D drawings and thereby produce the overlay of the first and second 2D drawings.
7 . The computing platform of claim 1 , wherein the program instructions that are executable by the at least one processor such that the computing platform is configured to perform the evaluation of the first set of distinct objects as compared to the second set of distinct objects comprise program instructions that are executable by the at least one processor such that the computing platform is configured to:
provide the overlay of the first and second 2D drawings and data defining the first and second sets of distinct objects as input to one or more machine-learning models that have been trained to identify object clashes representing design conflicts using data comprising one or more of (i) image data corresponding to 2D images of known object clashes, (ii) historical 2D object clash data, (iii) synthetic 2D object clash data, or (iv) semantic data about object clashes.
8 . The computing platform of claim 1 , wherein the first 2D drawing is associated with a first discipline of 2D drawings and the second 2D drawing is associated with a second discipline of 2D drawings that is different from the first discipline.
9 . The computing platform of claim 1 , wherein the design conflict comprises an unpermitted intersection between the first distinct object that is assigned to the first object class and the second distinct object that is assigned to the second object class.
10 . A non-transitory computer-readable medium, wherein the non-transitory computer-readable medium is provisioned with program instructions that, when executed by at least one processor, cause a computing platform to:
obtain a set of two-dimensional (2D) drawings for a construction project;
from the set of 2D drawings, identify a subset of 2D drawings that are associated with a given location of the construction project;
identify a first 2D drawing and a second 2D drawing from the subset of 2D drawings for inclusion in an automated clash detection analysis;
based on comparing a first set of key points for the first 2D drawing and a second set of key points for the second 2D drawing, align the first and second 2D drawings and thereby produce an overlay of the first and second 2D drawings;
analyze the first 2D drawing to (i) identify a first set of distinct objects depicted in the first 2D drawing and (ii) semantically classify the first set of distinct objects in accordance with a predefined group of object classes;
analyze the second 2D drawing to (i) identify a second set of distinct objects depicted in the second 2D drawing and (ii) semantically classify the second set of distinct objects in accordance with the predefined group of object classes;
perform an evaluation of the first set of distinct objects as compared to the second set of distinct objects; and
based on the evaluation, identify an object clash representing a design conflict between a first distinct object in the first set of distinct objects that is assigned to a first object class and a second distinct object in the second set of distinct objects that is assigned to a second object class.
11 . The non-transitory computer-readable medium of claim 10 , wherein the non-transitory computer-readable medium is also provisioned with program instructions that, when executed by the at least one processor, cause the computing platform to:
receive, from an end-user device associated with a user, an indication of a request to initiate the automated clash detection analysis, wherein the request indicates the given location.
12 . The non-transitory computer-readable medium of claim 10 , wherein the non-transitory computer-readable medium is also provisioned with program instructions that, when executed by the at least one processor, cause the computing platform to:
cause an end-user device to display a visual representation of the object clash representing the design conflict between the first and second distinct objects.
13 . The non-transitory computer-readable medium of claim 10 , wherein the program instructions that, when executed by the at least one processor, cause the computing platform to identify the first 2D drawing and the second 2D drawing for inclusion in the automated clash detection analysis comprise program instructions that, when executed by the at least one processor, cause the computing platform to:
cause an end-user device to display one or more user interface views including a respective indication of each 2D drawing in the subset of 2D drawings; and
receive, from the end-user device, an indication that the first 2D drawing and the second 2D drawing have been selected for inclusion in the automated clash detection analysis.
14 . The non-transitory computer-readable medium of claim 10 , wherein the program instructions that, when executed by the at least one processor, cause the computing platform to identify the subset of 2D drawings that are associated with the given location of the construction project comprise program instructions that, when executed by the at least one processor, cause the computing platform to:
for each respective 2D drawing in the set of 2D drawings, perform an image processing analysis and thereby determine a respective location for the respective 2D drawing;
identify each 2D drawing that has a respective location matching the given location; and
include each identified 2D drawing in the subset of 2D drawings.
15 . The non-transitory computer-readable medium of claim 10 , wherein the program instructions that, when executed by the at least one processor, cause the computing platform to align the first and second 2D drawings and thereby produce the overlay of the first and second 2D drawings comprise program instructions that, when executed by the at least one processor, cause the computing platform to:
use one or more neural network techniques to identify the first set of key points for the first 2D drawing and the second set of key points for the second 2D drawing;
generate a transformation matrix that maps the first set of key points for the first 2D drawing to the second set of key points for the second 2D drawing;
based on the transformation matrix, align the first and second 2D drawings; and
layer the first and second 2D drawings and thereby produce the overlay of the first and second 2D drawings.
16 . The non-transitory computer-readable medium of claim 10 , wherein the program instructions that, when executed by the at least one processor, cause the computing platform to perform the evaluation of the first set of distinct objects as compared to the second set of distinct objects comprise program instructions that, when executed by the at least one processor, cause the computing platform to:
provide the overlay of the first and second 2D drawings and data defining the first and second sets of distinct objects as input to one or more machine-learning models that have been trained to identify object clashes representing design conflicts using data comprising one or more of (i) image data corresponding to 2D images of known object clashes, (ii) historical 2D object clash data, (iii) synthetic 2D object clash data, or (iv) semantic data about object clashes.
17 . The non-transitory computer-readable medium of claim 10 , wherein the first 2D drawing is associated with a first discipline of 2D drawings and the second 2D drawing is associated with a second discipline of 2D drawings that is different from the first discipline.
18 . A method carried out by a computing platform, the method comprising:
obtaining a set of two-dimensional (2D) drawings for a construction project;
from the set of 2D drawings, identifying a subset of 2D drawings that are associated with a given location of the construction project;
identifying a first 2D drawing and a second 2D drawing from the subset of 2D drawings for inclusion in an automated clash detection analysis;
based on comparing a first set of key points for the first 2D drawing and a second set of key points for the second 2D drawing, aligning the first and second 2D drawings and thereby producing an overlay of the first and second 2D drawings;
analyzing the first 2D drawing to (i) identify a first set of distinct objects depicted in the first 2D drawing and (ii) semantically classify the first set of distinct objects in accordance with a predefined group of object classes;
analyzing the second 2D drawing to (i) identify a second set of distinct objects depicted in the second 2D drawing and (ii) semantically classify the second set of distinct objects in accordance with the predefined group of object classes;
performing an evaluation of the first set of distinct objects as compared to the second set of distinct objects; and
based on the evaluation, identifying an object clash representing a design conflict between a first distinct object in the first set of distinct objects that is assigned to a first object class and a second distinct object in the second set of distinct objects that is assigned to a second object class.
19 . The method of claim 18 , further comprising:
receiving, from an end-user device associated with a user, an indication of a request to initiate the automated clash detection analysis, wherein the request indicates the given location.
20 . The method of claim 18 , further comprising:
causing an end-user device to display a visual representation of the object clash representing the design conflict between the first and second distinct objects.
21 . The method of claim 18 , wherein identifying the first 2D drawing and the second 2D drawing for inclusion in the automated clash detection analysis comprises:
causing an end-user device to display one or more user interface views including a respective indication of each 2D drawing in the subset of 2D drawings; and
receiving, from the end-user device, an indication that the first 2D drawing and the second 2D drawing have been selected for inclusion in the automated clash detection analysis.