Systems and methods for material takeoff and cost estimation in construction projects.
Patent Information
- Application Number
- PCT/IL2026/050223
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-03-11
- Filing Date
- 2026-03-11
- Publication Date
- 2026-09-17
Smart Images

Figure IL2026050223_17092026_PF_FP_ABST
Abstract
Description
Systems and Methods for Material Takeoff and Cost Estimation in Construction ProjectsFIELD OF THE INVENTION
[0001] The field of the present disclosure pertains to construction project management, specifically involving systems and methodologies for automated analysis of construction drawings and project specifications. This technology leverages artificial intelligence, including natural language processing and computer vision, to facilitate accurate quantity takeoff and cost estimation, thereby addressing inefficiencies and potential human errors inherent in manual processes traditionally used within the construction industry.BACKGROUND
[0002] In the field of construction project management, accurate quantity takeoff and cost estimation are fundamental to the successful execution of construction projects. The industry primarily relies on manual methods to ascertain material quantities and project costs, which introduces inefficiencies and a susceptibility to human error. These manual processes can lead to significant discrepancies between estimated and actual costs, frequently resulting in project delays and budget overruns. The demand for efficient, reliable, and accurate estimation methods is heightened by the increasing complexity of construction projects and the diversity of data sources involved.
[0003] Existing technologies aimed at automating quantity takeoff and cost estimation have not effectively addressed the challenges inherent in manual methods. These tools often require extensive manual input and intervention, limiting their potential to provide a comprehensive solution. Furthermore, they typically do not integrate seamlessly with the various data sources used in construction projects, such as construction drawings and technical specifications, which complicates the estimation process and further undermines accuracy and reliability. This lack of integration can prevent the generation of precise cost estimates, thereby contributing to inefficiencies in project planning and execution.
[0004] Current systems also struggle with scalability and adaptability to the diverse file formats and data sources commonly encountered in the construction sector. The complexity of modern construction documentation, which includes both two-dimensional and three-dimensional drawings as well as diverse technical specifications, presents a significant challenge to existingtechnologies. The limitations of current solutions in processing and interpreting such data contribute to inaccuracies in quantity takeoff and cost estimation, adversely impacting project outcomes.
[0005] What is needed is a system that leverages advanced technologies to automate the analysis of construction drawings and project specifications comprehensively. Such a system should integrate artificial intelligence capabilities to enhance accuracy, reduce the reliance on manual calculations, and improve project planning by generating rapid and reliable cost estimations. An effective solution should seamlessly incorporate diverse data sources, support various file formats, and offer real-time processing capabilities, ultimately leading to improved decision-making and operational efficiency in construction project management.SUMMARY
[0006] In one aspect, the disclosed technology pertains to a system for automated quantity takeoff and cost estimation in construction projects, utilizing artificial intelligence components such as Natural Language Processing (NLP), Computer Vision (Vision Al), and Machine Learning (ML). The system is designed to efficiently analyze construction drawings and project specifications to derive material quantities and generate precise cost estimates, thereby addressing the inefficiencies associated with manual calculation methods in the industry.
[0007] One object of the system is to improve the efficiency and accuracy of project cost estimations by automating the analysis of construction documents. This automation aims to reduce human error and time consumption traditionally inherent in manual calculation methods, thus streamlining the planning and budgeting phases of construction projects and enhancing the overall efficiency of project management practices.
[0008] In an embodiment, the system comprises a Vision Al processing unit, which includes an image enhancement sub-module that optimizes the quality of drawings for further analysis. This enhancement maximizes the accuracy of element recognition and measurement calculations, providing reliable quantity takeoff results. Another embodiment includes an NLP module configured to semantically analyze specification documents, enabling it to parse and extract relevant data with high precision.
[0009] In yet another aspect, the system incorporates an ML engine employing advanced algorithms, such as gradient boosting, to predict costs accurately. This engine dynamicallyadjusts cost estimates by considering external factors such as market volatility and regional price differences, thereby ensuring the alignment of estimated costs with real-world scenarios.
[0010] Moreover, one object of the system is to facilitate seamless integration with external project management platforms through an API framework that supports REST and GraphQL protocols. This integration capability allows for effective data exchange and synchronization with industry-standard tools, enabling comprehensive project analytics and facilitating collaboration among stakeholders.
[0011] In an embodiment, the user interface of the system includes visualization tools that support interactive analysis of project data. These tools assist users in exploring and exporting analysis results in multiple formats, such as PDF, Excel, and CSV, ensuring adaptability to varied project reporting requirements. This feature enhances the user experience by offering flexible and accessible means to interact with the processed data.
[0012] Additionally, the system provides robust security mechanisms, incorporating encryption and multi-factor authentication, to safeguard sensitive project information. These measures ensure compliance with data protection standards, further establishing the reliability and trustworthiness of the system in managing critical construction data.
[0013] The system's design strategically combines multiple advanced Al technologies to form a comprehensive solution for construction quantity takeoff and cost estimation, offering substantial improvements over traditional manual methods.BRIEF DESCRIPTION OF THE DRAWINGS
[0014] Fig. 1 shows a block diagram of an automated construction quantity takeoff and cost estimation system in which input data is processed by Al modules to perform analysis and generate reports, cost estimates, and project analytics outputs.
[0015] Fig. 2 shows a block diagram of an automated quantity takeoff and cost estimation system architecture including a frontend layer, an API / service layer, Al core services, and a data layer.
[0016] Fig. 3 shows a block diagram of an Al-based quantity takeoff system interfacing with file formats and external software via data-exchange protocols and supporting export formats and authentication mechanisms.
[0017] Fig. 4 shows the user interface layouts comprising the main dashboard, analysis view, and settings panel.
[0018] Fig. 5 shows a set of flowcharts depicting an ML cost engine, an NLP processing pipeline, and a vision Al pipeline for automated quantity takeoff and cost estimation.
[0019] Figs. 6A-6B show a flowchart of a process for automated construction quantity takeoff and cost estimation including receiving a project package, performing vision-based element detection and measurement, extracting specification constraints via natural-language processing, fusing outputs into a structured bill-of-quantities record, obtaining pricing data, generating a cost estimate using a trained machine-learning cost model, and outputting a report with optional user review.DETAILED DESCRIPTION
[0020] In some embodiments, a computer-implemented system for automated construction quantity takeoff and cost estimation comprises one or more processors and one or more non- transitory memories storing instructions that, when executed by the one or more processors, cause the system to receive a project package including at least a construction drawing and a technical specification; perform vision-based processing on the construction drawing to detect and classify construction elements and to generate measured quantities for the detected construction elements; perform natural-language processing on the technical specification to extract requirement constraints and material attributes; fuse outputs of the vision-based processing and the natural-language processing to generate a structured bill-of-quantities record; and generate a cost estimate for the project package by applying a trained machinelearning cost model to the structured bill-of-quantities record and to pricing data obtained from a cost database and / or a market-data feed, wherein the system outputs at least one of a quantity takeoff report, a cost estimate, or project analytics.
[0021] In some embodiments, the system is implemented as a layered architecture that includes: (i) a client layer comprising at least one of a web client, a desktop client, or a mobile client; (ii) an API gateway layer configured to authenticate requests and route requests to backend services; (iii) an Al services layer comprising a vision service, a document language service, and a cost modeling service; and (iv) a data layer storing project packages, intermediate artifacts, learned model parameters, and pricing data. In some embodiments, the API gateway exposes one or more REST endpoints for synchronous request / response operations (e.g., submit project package, retrieve reports) and one or more streaming channels (e.g., a WebSocketchannel) for incremental delivery of intermediate outputs including detection overlays, extraction results, and partial bill-of-quantities line items.
[0022] A. Project package ingestion and normalization
[0023] In some embodiments, receiving the project package includes receiving a multi-file bundle that includes (i) one or more drawing files and (ii) one or more specification files. In some embodiments, the drawing files include at least one of PDF, DWG, DXF, IFC, or RVT, and the specification files include at least one of PDF, DOCX, plain text, or an image-based scan. In some embodiments, the system stores the received files in a document store and assigns identifiers including a project identifier, a sheet identifier for each drawing sheet, and a document identifier for each specification document.
[0024] In some embodiments, the system performs format validation and normalization. For drawings, normalization may include: (i) rendering a raster representation at one or more resolutions; (ii) extracting non-raster drawing information where available, including vector primitives, block references, selectable text, and metadata; and (iii) generating coordinate transforms between rendered pixel coordinates and drawing coordinates. For specifications, normalization may include: (i) text extraction using selectable text extraction for digital PDFs and OCR for scanned documents; (ii) table structure detection to represent tabular content as structured rows and columns; and (iii) segmentation into sections based on headings, page boundaries, and detected standard formats.
[0025] In some embodiments, the system generates intermediate drawing artifacts including image tiles at plural zoom levels, a sheet-scale descriptor, and a structured entity index for vector content. In some embodiments, the structured entity index is implemented as an R-tree or a uniform grid where each extracted entity is associated with a bounding geometry in drawing coordinates and one or more attributes including layer name, line type, color, block name, and text content.
[0026] B. Vision-based processing for element detection, classification, and measurement
[0027] In some embodiments, vision-based processing comprises a staged workflow that includes preprocessing, detection / classification, geometry reconstruction, and measurement. Preprocessing may include de-skewing, denoising, contrast normalization, and tile generation. In some embodiments, the system performs multi-scale inference in which a low-resolution pass proposes candidate regions and a high-resolution pass refines a subset of the candidate regions.In some embodiments, candidate regions include axis-aligned bounding boxes, rotated bounding boxes, or polygons derived from instance segmentation masks.
[0028] In some embodiments, detection / classification uses one or more deep learning models, including at least one of an object detector for discrete symbols (e.g., doors, windows, fixtures) and a segmentation model for elongated elements (e.g., walls, duct runs, pipe runs). In some embodiments, the vision service outputs, for each detected construction element: (i) an element class label selected from a controlled set of construction element classes; (ii) a geometric representation comprising at least one of a bounding box, polygon, centerline polyline, or mesh proxy; (iii) a confidence score; and (iv) a reference to the rendered tile(s) used for inference.
[0029] In some embodiments, the system performs scale determination for measurement conversion. Scale determination may be derived from one or more of: (i) OCR performed on a detected scale indicator region; (ii) extraction of selectable scale text from a PDF content stream; (iii) parsing of CAD / BIM metadata including viewport scale, view properties, or units; and (iv) user-provided calibration based on a reference dimension. In some embodiments, the system computes a pixel-to-drawing coordinate transform and a drawing-to-real-world scale factor, and stores the transforms as part of sheet metadata.
[0030] In some embodiments, measured quantities are generated by a measurement engine that converts element geometry into real-world dimensions using the determined scale. For area-based elements, the measurement engine may compute polygonal area in drawing units and apply a scale conversion. For linear elements, the measurement engine may compute polyline length, optionally including topology correction at intersections. For volumetric elements derived from 3D sources, the measurement engine may compute volume from BIM element parameters or from mesh / solid geometry representations after unit normalization.
[0031] In some embodiments, the measurement engine performs class-specific measurement logic. For example, for walls, measured quantity may include wall length, wall area (for finishes), and derived material quantities based on thickness parameters obtained from drawing metadata or specification-derived constraints. For doors and windows, measured quantities may include counts, widths / heights when dimension strings or tags are present, and grouping by type tag patterns (e.g., "DI", "W2"). For MEP elements, measured quantities may include counts and sizes derived from adjacent callouts or schedule association.
[0032] In some embodiments, the vision-based processing further includes analysis of structured drawing information within spatial regions corresponding to image-based detections. For each of at least a subset of detected regions, the system may query the structured entity index to retrieve vector primitives, annotations, and metadata overlapping the region. In some embodiments, the system uses the retrieved structured entities to refine classification, recover missed instances, and attach attributes not present in raster renderings (e.g., block attributes in DWG). In some embodiments, the subset of regions selected for structured analysis is based on at least one criterion including low vision confidence, high annotation density, or detection of hybrid vector / raster content.
[0033] C. Natural-language processing for requirements and material attributes
[0034] In some embodiments, natural-language processing comprises text extraction, normalization, semantic parsing, entity recognition, and constraint extraction. Text extraction may include OCR for scanned pages and digital text extraction for selectable PDFs.Normalization may include de-hyphenation, unit standardization (e.g., converting "mm" and "millimeter" to a canonical form), and normalization of material nomenclature.
[0035] In some embodiments, the system applies a language model to extract entities including materials, assemblies, performance requirements, tolerances, finishes, and references to standards. In some embodiments, extracted requirement constraints include at least one of: (i) material grade or strength (e.g., concrete compressive strength); (ii) thickness requirements; (iii) fire rating; (iv) acoustic rating; (v) coating or finish specifications; (vi) installation method constraints; and (vii) references to standardized specification codes. In some embodiments, extracted material attributes include manufacturer, product family, part number, and substitution constraints when such attributes are present in the specification.
[0036] In some embodiments, the system maps extracted entities to a controlled vocabulary of construction items and material classes. The mapping may use semantic similarity scoring between extracted phrases and controlled vocabulary entries, and may incorporate rule-based constraints based on units, section headings, and table column labels. In some embodiments, the system produces, for each extracted item, a record comprising: (i) normalized item identifier; (ii) extracted text spans including character offsets; (iii) extracted numerical values with units; (iv) confidence scores; and (v) document and page references.
[0037] In some embodiments, the system extracts schedule-like content from specification tables and creates structured representations (e.g., JSON records) for use in downstream fusion.In some embodiments, the system detects and parses abbreviations and defined terms sections, and uses the parsed definitions to expand subsequent references.
[0038] D. Fusion to generate the structured bill-of-qua ntities record
[0039] In some embodiments, the system fuses drawing-derived element detections and measured quantities with specification-derived requirement constraints and material attributes to generate a structured bill-of-quantities record. In some embodiments, the structured bill-of- qua ntities record is implemented as a set of line items, where each line item includes: (i) an item identifier (e.g., controlled vocabulary code or normalized description); (ii) a quantity value and unit; (iii) an element class and one or more associated element instances; (iv) specification- derived attributes (e.g., grade, rating, finish); and (v) provenance links to source evidence.
[0040] In some embodiments, fusion includes element-to-specification association. Association may be computed using a composite score that includes: (i) a spatial proximity metric between a detected tag location in the drawing and a detected element geometry; (ii) a semantic similarity metric between a specification phrase and a controlled vocabulary entry associated with the element class; and (iii) a compatibility metric comparing units and parameter ranges (e.g., thickness range, fire rating class). In some embodiments, the system generates an exception list entry when an ambiguity criterion is satisfied, including where multiple specification clauses plausibly match a drawing-derived element type, or where a required attribute is missing from either source.
[0041] In some embodiments, fusion resolves conflicts by applying a rule set and / or confidence thresholds. For example, where the drawing-derived classification indicates "gypsum board partition" and the specification includes multiple partition assemblies, the system may use detected tag text (e.g., "P3"), proximity to a partition legend, and specification section references to select an assembly mapping. In some embodiments, where the specification indicates a finish schedule that conflicts with a drawing note, the system may store both as candidate attributes and route the line item to the exception list for review while generating a provisional bill-of-quantities entry.
[0042] In some embodiments, the bill-of-quantities record stores multi-level groupings including: (i) per-sheet and per-discipline groupings; (ii) per-floor or per-zone groupings inferred from drawing view names or room boundary detection; and (iii) per-type groupings based on tag families and schedule associations.
[0043] E. Cost estimation using a trained cost model and pricing data
[0044] In some embodiments, the cost estimate is generated by applying a trained machinelearning cost model to the structured bill-of-q uantities record and to pricing data obtained from a cost database and / or a market-data feed. In some embodiments, pricing data includes historical pricing indexed by item identifier, geography, and date, and market feed data includes time-indexed price updates, supplier quotes, indices, or commodity-linked adjustments.
[0045] In some embodiments, the cost modeling service builds a feature vector for each bill -of- quantities line item. The feature vector may include: (i) quantity and unit; (ii) normalized item identifier; (iii) specification-derived attributes (e.g., grade, rating); (iv) project metadata (e.g., region, project type); (v) time features (e.g., month / quarter); and (vi) pricing signals (e.g., recent market index deltas). In some embodiments, the cost model outputs at least a predicted unit cost and a predicted extended cost. In some embodiments, the cost model outputs an uncertainty measure, including an interval derived from quantile regression, conformal prediction, or dispersion across an ensemble.
[0046] In some embodiments, the system applies adjustment factors derived from market and region data. A market adjustment factor may be computed as a function of a time-indexed feed relative to a baseline price date. A region adjustment factor may be computed based on a mapping between project location and supplier pricing zones, optionally incorporating transport or lead-time modifiers. In some embodiments, the system stores the adjustment factors and their sources as part of per-line-item provenance.
[0047] In some embodiments, the system generates multiple estimate views including: (i) a baseline estimate using historical cost database values; (ii) a market-adjusted estimate using the market-data feed; and (iii) scenario estimates generated by perturbing selected features (e.g., region factor, commodity index) to support sensitivity analysis. In some embodiments, the system outputs project analytics comprising variance analysis, sensitivity analysis, and cost driver identification based on feature importance measures computed from the trained model.
[0048] F. Output generation and user interaction pathways
[0049] In some embodiments, the system outputs at least one of: (i) a quantity takeoff report;(ii) a cost estimate report; and (iii) project analytics. Reports may be generated as structured data (e.g., JSON) and as formatted documents (e.g., PDF, spreadsheets). In some embodiments, the system generates an interactive output view in which drawing overlays display detected elements and associated quantities, and selection of an overlay highlights corresponding bill-of- quantities line items and associated specification passages.
[0050] In some embodiments, the system supports incremental output. For example, after processing a first subset of sheets, the system transmits partial quantity results and provisional line items to a client device, and later transmits refined results after structured-graphics refinement, schedule association, or conflict resolution. In some embodiments, the system stores intermediate artifacts including rendered tiles, inference outputs, extracted entities, association scores, and cost model feature vectors to support re-computation when inputs change.
[0051] In some embodiments, the system records provenance data for line items, including at least one of: (i) a drawing region identifier; (ii) a tile identifier; (iii) a specification passage identifier including character-offset ranges; (iv) a model version identifier for each of the vision model, the natural-language model, and the cost model; and (v) pricing source identifiers. In some embodiments, provenance records are stored in an audit log and are retrievable via the API gateway to support review workflows.
[0052] G. Example embodiments (additional)
[0053] Example Embodiment A (hybrid PDF with vector text and raster linework). In some embodiments, the project package includes a PDF drawing sheet in which linework is rasterized while tags and callouts are selectable text. The vision service renders the sheet into tiles and detects door symbols with bounding boxes. For each door region, the system queries structured PDF text operators within an expanded region to extract an adjacent tag value (e.g., "D12") and a nearby note indicating fire rating. The system associates the tag value with a door schedule extracted from the technical specification by the language service, where the schedule provides door material and hardware set attributes. Fusion generates bill-of-quantities line items grouped by door type, including counts and per-type attributes, and the cost model applies pricing data for each door type with a region adjustment factor.
[0054] Example Embodiment B (DWG plan with block references for electrical outlets). In some embodiments, the project package includes a DWG electrical plan where outlets are represented as block references with attributes indicating circuit and device type. The vision service detects a subset of outlet symbols on rendered tiles. Structured analysis within the detected regions retrieves the block name and attributes and uses the block name to locate additional block references of the same type on a target layer. The measurement engine outputs counts by device type. The language service extracts specification requirements for device ratings and acceptable manufacturers. Fusion produces bill-of-quantities line itemsincluding device counts and rating attributes. The cost modeling service applies supplier pricing from the cost database and adjusts using a market feed reflecting recent copper-related index changes.
[0055] Example Embodiment C (BIM-derived view with metadata-backed classification). In some embodiments, the project package includes an RVT or IFC source from which a 2D view is derived. The vision service detects plumbing fixtures in the rendered plan, and the structured- graphics service maps detected regions to BIM element identifiers and parameters including family / type, size, and mounting. The language service extracts fixture performance requirements and material constraints from the specification. Fusion links BIM type parameters to specification clauses using semantic similarity and parameter compatibility checks, and generates bi ll-of-qua ntities line items per fixture type with quantity and size attributes. The cost model uses type-level parameters as features to predict unit costs with an uncertainty interval and generates analytics identifying which parameters contribute to cost variance.
[0056] Example Embodiment D (measurement refinement for walls with topology correction).In some embodiments, the vision service produces a segmentation mask for walls that includes gaps at intersections and door openings. The measurement engine converts the mask into candidate wall centerlines and buffered regions, queries vector polylines on an architectural wall layer within the buffered regions, merges collinear segments, and snaps endpoints within a tolerance. The refined wall geometry is measured for length and area, and the language service extracts finish requirements (e.g., paint system, tile wainscot height). Fusion produces separate bill-of-quantities line items for wall substrate and finish layers, each associated with measured area quantities and specification-derived finish system attributes.
[0057] Example Embodiment E (specification constraint propagation to measured quantities).In some embodiments, the language service extracts a requirement constraint indicating a minimum insulation thickness for ductwork within a specified zone. The vision service detects duct centerlines and sizes from a mechanical plan and measures duct surface area in the zone. Fusion applies the constraint to derive insulation quantity as a function of measured duct area and specified thickness class, and creates bill-of-quantities line items for duct insulation. The cost model applies pricing data that varies by insulation type and thickness class and outputs a cost estimate with a confidence interval based on pricing volatility signals from the market-data feed.
[0058] In some embodiments, the system performs vision-based processing on a construction drawing by applying an image enhancement workflow followed by element recognition using a deep-learning model, and then generating measured quantities using a measurement engine that converts drawing geometry to real-world dimensions using a drawing scale determined from at least one of metadata, detected scale indicators, or user-provided calibration.
[0059] In some embodiments, the system receives the construction drawing in a two- dimensional format and / or a three-dimensional format, including one or more of PDF, DWG, DXF, IFC, or RVT. In some embodiments, the construction drawing includes raster content, vector content, or a combination thereof, including layered or hybrid representations in which at least one layer includes rasterized linework and at least one layer includes selectable vector objects and / or text. In some embodiments, the system normalizes the construction drawing prior to vision-based processing by generating at least one rendered image representation and by extracting, when available, structured drawing entities and metadata.
[0060] In some embodiments, the image enhancement workflow is configured to improve suitability of the construction drawing for downstream inference by reducing artifacts introduced by scanning, printing, compression, and / or format conversion. Image enhancement may include one or more preprocessing operations such as de-skewing, denoising, contrast normalization, brightness adjustment, sharpening, and resolution normalization. In some embodiments, the system performs adaptive contrast enhancement on a per-tile basis to increase local separability between linework and background. In some embodiments, the system applies edge-preserving noise reduction to reduce background speckle while retaining thin lines and annotation strokes that may correspond to construction element boundaries.
[0061] In some embodiments, where the construction drawing is received as raster imagery or includes rasterized layers, the system performs a vectorization assist operation to support extraction of geometric primitives. The vectorization assist operation may include edge detection, contour tracing, polyline fitting, and / or skeletonization to derive centerlines or boundary polylines for elongated elements. In some embodiments, the derived polylines are stored as intermediate geometry for subsequent measurement operations and for association with deep-learning inference outputs.
[0062] In some embodiments, the deep-learning model for element recognition includes at least one of an object detection model, a semantic segmentation model, an instance segmentation model, a keypoint detection model, or a hybrid model configured to output acombination of bounding regions and pixel masks. In some embodiments, the deep-learning model processes the enhanced drawing imagery to output, for each detected construction element, a class label and a geometric representation comprising at least one of a bounding box, a polygon, a centerline polyline, a pixel mask, or a mesh proxy derived from a three-dimensional representation. In some embodiments, the system stores, for each detected construction element, a confidence score and at least one reference to source imagery used for inference, including a sheet identifier and a region identifier.
[0063] In some embodiments, the system applies class-specific post-processing to refine element geometry prior to measurement. For example, for linear construction elements such as walls, pipes, conduits, or duct runs, the system may convert a segmentation mask into a set of centerlines using thinning and polyline simplification, and may join collinear segments based on endpoint proximity thresholds. For area-based construction elements such as slabs, rooms, or finish regions, the system may extract closed boundaries by contour detection and may fill gaps using morphological closing operations prior to polygon fitting. For discrete symbols such as doors, windows, fixtures, outlets, and equipment, the system may refine bounding regions by aligning to dominant line orientations and / or by merging overlapping detections using nonmaximum suppression.
[0064] In some embodiments, measured quantities are generated by a measurement engine configured to convert the detected element geometry into real-world dimensions using a drawing scale. The measurement engine may compute one or more of length, area, volume, count, and derived quantities dependent on the element class. In some embodiments, the measurement engine computes length from a polyline by summing segment lengths in drawing coordinates. In some embodiments, the measurement engine computes area from a polygon using polygon area computation in drawing coordinates. In some embodiments, the measurement engine computes volume using either (i) thickness parameters applied to an area measurement, (ii) cross-sectional parameters applied to a length measurement, and / or (iii) three-dimensional element parameters extracted from a BIM source representation.
[0065] In some embodiments, the system determines the drawing scale using one or more scale determination pathways, and the system may select among the pathways based on availability signals associated with the received file format. In some embodiments, scale determination is derived from metadata embedded in the construction drawing. For example, for CAD and BIM formats, the system may parse units, view properties, viewport scale, and / ormodel-to-sheet transforms to obtain a scale factor and to determine a mapping between drawing coordinates and real-world units. In some embodiments, for PDF drawings, the system may extract page geometry, user unit definitions, and / or content stream transforms, and may combine extracted values with annotation-derived unit indicators to infer a scale factor.
[0066] In some embodiments, scale determination is derived from detected scale indicators present in the drawing content. Detected scale indicators may include at least one of a graphical scale bar, a written scale statement, dimension strings, or a title block field indicating a scale. In some embodiments, the system uses optical character recognition on at least a portion of rendered imagery to identify a scale statement (e.g., "1 / 8" = l'-0"", "1:100", or "Scale: As indicated"). In some embodiments, the system uses selectable text extraction when the drawing includes an accessible text layer, and the system searches for scale-related tokens within a title block region and / or within a legend region. In some embodiments, the system identifies a graphical scale bar by detecting a bar-like geometry and tick marks and then correlating a measured pixel length to a labeled distance extracted by OCR or text extraction.
[0067] In some embodiments, scale determination is derived from user-provided calibration.User-provided calibration may include selection of a reference dimension between two points, selection of a known object size, entry of a scale ratio, and / or confirmation of a scale inferred by the system. In some embodiments, the system presents a calibration interface in which a user selects two points on the drawing corresponding to endpoints of a known dimension, and the system computes a scale factor from the measured distance in drawing coordinates and the known real-world dimension. In some embodiments, user-provided calibration is stored as sheet-level metadata and is applied to subsequent measurement operations for the sheet and / or for a group of sheets sharing a common scale.
[0068] In some embodiments, the system combines multiple scale determination signals to compute a scale factor, including where different signals have different reliability. For example, the system may compute a candidate scale from metadata, compute a candidate scale from a detected title block statement, and compute a candidate scale from dimension string parsing, and then select a final scale based on a consistency check among candidate scales. In some embodiments, the system stores multiple candidate scales along with confidence scores and uses a selected candidate scale for measurement conversion.
[0069] In some embodiments, converting drawing geometry to real-world dimensions includes determining a mapping between pixel coordinates in rendered imagery and drawing coordinatesin a sheet coordinate system. In some embodiments, the system stores a pixel-to-drawing coordinate transform derived from rendering parameters and file-specific coordinate mappings. The transform may include translation, rotation, scaling, and / or perspective correction components. In some embodiments, the measurement engine converts pixel-derived geometry (e.g., mask contours) into drawing coordinates using the pixel-to-drawing coordinate transform prior to applying the scale factor.
[0070] In some embodiments, the measurement engine applies unit normalization to ensure consistent output units across input formats. For example, where a CAD source uses millimeters and a BIM source uses feet, the system may convert intermediate geometry measurements into a canonical unit system prior to quantity aggregation. In some embodiments, the system outputs measured quantities in user-selected units and stores the original measurement units as provenance attributes.
[0071] In some embodiments, the system applies validation checks to measured quantities to identify potential scale errors and / or detection errors. Validation checks may include comparing inferred room areas against expected ranges, comparing typical door widths against known door size distributions, and / or comparing detected dimension strings against computed lengths. In some embodiments, where a validation criterion is satisfied, the system flags the associated element for review and / or requests user calibration input.
[0072] In some embodiments, the measurement engine outputs measured quantities as structured records associated with detected construction elements, where each record includes an element identifier, an element class, a quantity value, a quantity unit, and a reference to the scale factor used. In some embodiments, the system aggregates element-level quantities into grouped quantities, including grouping by element class, by tag or type, by layer, by sheet, and / or by spatial zone inferred from drawing regions.
[0073] In some embodiments, the described vision-based processing pipeline is executed per sheet and is configured to support batch processing of a project package containing a plurality of sheets. In some embodiments, the system generates intermediate artifacts including enhanced image tiles, detection outputs, refined geometries, and scale metadata, and stores the intermediate artifacts in association with the construction drawing to support reprocessing when at least one of a drawing revision, a calibration update, or an element class selection is received.
[0074] In some embodiments, the natural-language processing comprises text extraction from the technical specification and semantic analysis that maps extracted text to a controlled vocabulary of construction items and material classes.
[0075] In some embodiments, the system receives the technical specification in a plurality of formats including PDF, DOCX, plain text, and image-based scans, and performs text extraction using a format-dependent pathway. For example, where the technical specification includes selectable text, the system may extract characters, font attributes, and positional coordinates from an underlying document object model or content stream. Where the technical specification is image-based, the system may apply optical character recognition to generate extracted text and bounding boxes for words, lines, and blocks. In some embodiments, the system stores extracted text in association with a document identifier, page identifier, and positional coordinate references to permit later retrieval of source evidence corresponding to an extracted item.
[0076] In some embodiments, the system performs normalization prior to semantic analysis.Normalization may include one or more of: (i) de-hyphenation across line breaks; (ii) whitespace normalization; (iii) conversion of typographic variants (e.g., "ft." to "ft"); (iv) unit normalization to a canonical representation (e.g., "mm", "millimeter", and "millimetre" mapped to "mm"); (v) numeric normalization including conversion of fractions and mixed units (e.g., "1 / 8"" and "0.125 in"); (vi) expansion of abbreviations based on a detected abbreviations section; and (vii) correction of OCR artifacts based on token confidence scores and domain lexicons. In some embodiments, the system segments the normalized text into sections using headings, numbering patterns, and detected standard formats (e.g., MasterFormat section identifiers), and stores section boundaries for downstream constraint extraction and mapping.
[0077] In some embodiments, semantic analysis includes generating semantic representations of text spans and aligning the text spans to controlled vocabulary entries. The controlled vocabulary may be stored as a set of item records, each item record including at least: (i) an item identifier; (ii) one or more canonical names; (iii) one or more aliases; (iv) expected units and quantity types; (v) a material class label; and (vi) optional attribute schemas defining permissible attribute keys and value types. In some embodiments, the controlled vocabulary includes construction items and material classes spanning at least one of architectural, structural, mechanical, electrical, plumbing, civil, and finish domains.
[0078] In some embodiments, semantic analysis employs a language model to generate embeddings for extracted phrases and controlled vocabulary names, and computes similarity scores used to propose candidate mappings. In some embodiments, the system additionally applies rule-based filters to reduce candidate mappings based on contextual signals including at least one of: (i) section context; (ii) proximity to table headers; (iii) presence of unit tokens; (iv) presence of material-grade tokens; and (v) detected references to standards. In some embodiments, the system computes a composite mapping score for each candidate mapping as a function of at least: (i) embedding similarity; (ii) lexical overlap; (iii) unit compatibility; and (iv) section compatibility. In some embodiments, the system selects a mapping when the composite mapping score satisfies a threshold and when a margin between a highest-scoring candidate and a second-highest-scoring candidate satisfies an ambiguity criterion.
[0079] In some embodiments, the system performs entity recognition to identify text spans corresponding to at least one of materials, assemblies, component types, finishes, performance attributes, and standards references. Identified entities may include numerical values and associated units (e.g., thickness, strength, flow rate, voltage), categorical values (e.g., fire rating class), and enumerated lists (e.g., acceptable manufacturers). In some embodiments, the system generates, for each recognized entity, an entity record including: (i) an entity type; (ii) a normalized value; (iii) a unit, where applicable; (iv) a confidence score; and (v) source evidence pointers including character offsets and page references.
[0080] In some embodiments, the system parses tables and schedules within the technical specification. Table parsing may include detecting table boundaries, extracting cell content, inferring row / column structure, and associating header labels with cells. In some embodiments, the system converts parsed tables into structured records (e.g., JSON objects) in which each row is represented as a set of key-value pairs derived from column headers. In some embodiments, semantic analysis is applied to table headers and cell values to map table-derived entries to controlled vocabulary items and material classes, including when a table row describes a type designation (e.g., a door type, partition type, or equipment type) and associated attributes.
[0081] In some embodiments, mapping extracted text to a controlled vocabulary includes generating a material-class assignment. Material-class assignment may be performed by selecting a material class label associated with a mapped controlled vocabulary item and / or by applying a classifier to the extracted text span and surrounding context. In some embodiments,the classifier outputs a probability distribution over material classes, and the system stores both a selected class label and one or more alternative class labels with associated confidence values.
[0082] In some embodiments, the mapping process outputs a set of mapped-item records, each mapped-item record including: (i) a controlled vocabulary item identifier; (ii) a material class label; (iii) one or more extracted attributes associated with the item; (iv) one or more extracted requirement constraints associated with the item; (v) a mapping confidence score; and (vi) source evidence pointers to the technical specification. In some embodiments, extracted requirement constraints include at least one of thickness, strength, rating, finish system, installation method, or referenced standard.
[0083] In some embodiments, the system supports multi-lingual specifications by performing language identification on at least a portion of the technical specification and selecting language-specific tokenization and normalization rules. In some embodiments, the system performs cross-lingual mapping by computing embeddings using a multi-lingual model and aligning extracted phrases to controlled vocabulary aliases in multiple languages.
[0084] In some embodiments, the system generates an ambiguity output when a mapping confidence score fails to satisfy a threshold, when multiple controlled vocabulary items satisfy a similarity criterion, and / or when unit compatibility checks indicate conflict. The ambiguity output may be stored as an exception entry including the candidate controlled vocabulary items, associated scores, and source evidence pointers to the technical specification to support later user review and correction.
[0085] In some embodiments, user corrections to mapped items are captured via an interface and stored as labeled examples including: (i) the extracted text span; (ii) a corrected controlled vocabulary item identifier; (iii) a corrected material class label; and (iv) source evidence pointers. In some embodiments, the labeled examples are used to update mapping rules, update alias lists for controlled vocabulary entries, and / or retrain at least one model used for semantic analysis.
[0086] Example Embodiment (specification addendum with alternates and substitution constraints). In some embodiments, the technical specification includes an addendum describing alternates, substitutions, and allowance items expressed in narrative paragraphs and a tabular alternate schedule. The system extracts text from the addendum, segments alternates by headings (e.g., "Alternate No. 2"), and applies semantic analysis to map each alternate to controlled vocabulary items corresponding to assemblies impacted by the alternate. The systemfurther extracts substitution constraints (e.g., "equal product permitted subject to approval") as attributes linked to the mapped controlled vocabulary item, and classifies the affected materials into material classes. The system outputs mapped-item records that include alternate identifiers, substitution attributes, and provenance pointers to the addendum pages and character-offset ranges, thereby permitting downstream association of alternates with quantity and pricing workflows.
[0087] In some embodiments, the system performs natural-language processing that includes text extraction from the technical specification and semantic analysis that maps extracted text to a controlled vocabulary of construction items and material classes. The technical specification may include narrative paragraphs, enumerated requirements, schedules, and tabular content, and may be received in at least one format including PDF, DOCX, plain text, and image-based scans. The system may store the technical specification in association with a project identifier and may maintain document-level and page-level identifiers for later provenance linking.
[0088] In some embodiments, text extraction is performed using a format-dependent pathway.For digital documents that include selectable text, the system may extract character strings and positional coordinates from an underlying document representation (e.g., a PDF content stream or a document object model), thereby preserving page references and relative text layout. For image-based scans, the system may apply optical character recognition to generate recognized text and corresponding bounding geometries for words, lines, and blocks. In some embodiments, the system stores extracted text as a sequence of text spans, each text span associated with at least one of a page identifier, a bounding box, a confidence measure, or a source offset range.
[0089] In some embodiments, the system performs normalization of the extracted text prior to semantic analysis. Normalization may include de-hyphenation across line breaks, whitespace normalization, token canonicalization for units (e.g., mapping "feet," "ft.", and "ft" to a canonical unit token), and numeric normalization (e.g., converting fractions and mixed-unit expressions into normalized decimal values with associated units). In some embodiments, normalization includes correction of optical character recognition artifacts by applying tokenlevel confidence thresholds and replacing low-confidence tokens using a domain lexicon and edit-distance scoring. In some embodiments, the system identifies section boundaries using headings, numbering patterns, and / or standard construction specification formats, and stores a section index that associates each text span with a section identifier.
[0090] In some embodiments, the system parses tables and schedule-like structures within the technical specification. Table parsing may include detecting a table boundary, inferring row and column structure, identifying header cells, and associating header labels with data cells. In some embodiments, parsed tables are converted into structured records in which each row is represented as a set of key-value pairs derived from column headers. In some embodiments, the system preserves table cell provenance, including page identifier, row index, column index, and a bounding geometry corresponding to the cell region.
[0091] In some embodiments, the system performs semantic analysis on normalized text spans and parsed table content to identify construction-relevant entities and attributes. Semantic analysis may include applying a language model to generate embeddings for text spans and to facilitate similarity comparisons, and may further include rule-based extraction to identify patterns associated with materials, assemblies, performance requirements, and standards references. Extracted entities may include at least one of material names, component types, type designations, ratings, finishes, strengths, thicknesses, installation constraints, and references to specification codes. In some embodiments, each extracted entity is stored as an entity record including an entity type, a normalized value, a unit where applicable, a confidence score, and source evidence pointers such as character offsets and / or page references.
[0092] In some embodiments, the system maps extracted text to a controlled vocabulary of construction items and material classes. The controlled vocabulary may be implemented as a set of item records, each item record comprising an item identifier and at least one of canonical names, aliases, expected unit types, permissible attribute schemas, and a material class label. In some embodiments, material classes correspond to categories used for downstream quantity and cost workflows, including at least one of concrete, masonry, metals, wood, thermal / moisture protection, finishes, specialties, equipment, and mechanical / electrical / plumbing components. In some embodiments, the controlled vocabulary includes multiple alias forms for each item identifier, including abbreviations, common misspellings, manufacturer-oriented nomenclature, and region-specific terminology.
[0093] In some embodiments, mapping is performed by generating candidate matches between an extracted phrase and controlled vocabulary entries. Candidate matches may be generated using semantic similarity scoring between phrase embeddings and controlled vocabulary embeddings. In some embodiments, candidate matches are filtered using contextual constraints derived from at least one of section identifiers, nearby unit tokens, table headerlabels, or detected standards references. For example, where a text span includes a thickness unit, the system may down-rank candidate controlled vocabulary entries that are not associated with thickness-parameterized items. In some embodiments, the system computes a composite mapping score for each candidate match as a function of at least embedding similarity, lexical overlap, section compatibility, and unit compatibility. In some embodiments, a selected controlled vocabulary item identifier is assigned to the extracted phrase when a mapping score satisfies a threshold and an ambiguity criterion is not satisfied.
[0094] In some embodiments, the system assigns a material class label as part of the mapping.Material class assignment may be derived from a material class label stored in association with the selected controlled vocabulary item identifier. In some embodiments, material class assignment is generated by a classifier that operates on at least one of the extracted phrase, surrounding context windows, and section identifiers, and outputs a probability distribution over material classes. In some embodiments, the system stores a selected material class label and one or more alternative material class labels with associated confidence scores.
[0095] In some embodiments, the system outputs mapped-item records for downstream fusion operations. A mapped-item record may include: (i) a controlled vocabulary item identifier; (ii) a material class label; (iii) one or more extracted attributes (e.g., rating, finish, strength, thickness); (iv) one or more extracted constraints (e.g., installation condition, substitution limitation, referenced standard); (v) a mapping confidence score; and (vi) provenance pointers to source evidence, including at least one of a document identifier, a page identifier, a table cell reference, or a character-offset range. In some embodiments, mapped-item records further include normalized unit expectations and quantity types to support subsequent association with drawing-derived measured quantities.
[0096] In some embodiments, the system detects and processes defined-terms sections and abbreviation lists within the technical specification. The system may build a document-specific glossary that maps abbreviations to expanded forms and may apply the glossary during normalization and semantic analysis. In some embodiments, the glossary is stored as an intermediate artifact associated with the technical specification and may be versioned to reflect revisions of the technical specification.
[0097] In some embodiments, the system supports multilingual specifications. The system may perform language identification on at least a portion of the extracted text and select languagespecific tokenization and normalization rules. In some embodiments, the controlled vocabularystores multilingual aliases, and mapping is performed using cross-lingual embeddings to align extracted phrases in a first language to controlled vocabulary entries in a second language. In some embodiments, where a mixed-language specification is detected, the system segments processing by language regions and applies separate normalization pipelines prior to unifying mapped-item records into a shared item identifier space.
[0098] In some embodiments, the system generates an ambiguity output when mapping results do not satisfy mapping criteria. Ambiguity outputs may be generated when multiple controlled vocabulary entries satisfy a similarity criterion within a threshold band, when unit compatibility indicates conflict, or when a section context suggests multiple applicable assemblies. In some embodiments, an ambiguity output is stored as an exception record comprising candidate controlled vocabulary item identifiers, associated mapping scores, and provenance pointers to source evidence, thereby supporting subsequent review.
[0099] In some embodiments, user feedback regarding mapped items is captured via an interface and stored as labeled examples. A labeled example may include the extracted text span, a corrected controlled vocabulary item identifier, a corrected material class label, and a provenance pointer to the source evidence. In some embodiments, labeled examples are used to update controlled vocabulary alias lists, adjust rule-based filters, and / or retrain at least one model used for semantic similarity scoring or material class assignment.
[0100] Example Embodiment (specification schedule with mixed unit conventions and cross- references). In some embodiments, the technical specification includes an equipment schedule in which capacity values are expressed using mixed unit conventions and cross-references to narrative paragraphs specifying efficiency requirements. The system extracts schedule rows into structured records, normalizes capacity units into a canonical unit system, and identifies crossreference tokens (e.g., "see Section 2309 13") that link schedule rows to narrative constraints. Semantic analysis maps each schedule row to a controlled vocabulary item identifier representing an equipment type and assigns a material class label corresponding to mechanical equipment. The system further extracts efficiency constraints from the referenced narrative paragraph and attaches the constraints as attributes to the mapped-item record, with provenance pointers to both the schedule cell and the narrative text offsets.
[0101] In some embodiments, the system performs fusion operations that include resolving conflicts between (a) a drawing-derived element classification and (b) a specification-derivedmaterial attribute by applying a rule set and / or a confidence score threshold, and generating an exception list for review.
[0102] In some embodiments, the drawing-derived element classification is produced by the vision-based processing and includes, for each detected construction element, at least: (i) an element class label selected from a controlled set of construction element classes; (ii) a geometric representation in sheet coordinates; (iii) a confidence score associated with the class label; and (iv) one or more drawing-evidence references such as a tile identifier, a region identifier, a layer identifier, a block name, or extracted tag text. In some embodiments, the specification-derived material attribute is produced by the natural-language processing and includes, for each extracted item, at least: (i) a normalized item identifier mapped to a controlled vocabulary; (ii) one or more attributes expressed as key-value pairs (e.g., thickness, strength, rating, finish system, installation constraint); (iii) an extraction confidence score; and (iv) specification-evidence references such as a document identifier, page identifier, table cell coordinates, and / or a character-offset range.
[0103] In some embodiments, conflicts are detected when an incompatibility condition is satisfied between at least one drawing-derived field and at least one specification-derived field. In some embodiments, incompatibility conditions include at least one of: (i) mismatch between an element class label and a material class associated with a mapped controlled vocabulary entry; (ii) mismatch between a measured quantity unit type and an expected unit type indicated by a specification clause or controlled vocabulary entry; (iii) mismatch between a drawing- derived tag / type designation and a specification schedule row referenced by that designation; (iv) mismatch between a drawing-derived or BIM-derived parameter value and a specification constraint range (e.g., thickness class, rating class); (v) mismatch between a drawing note extracted from a region and a specification requirement identified for the mapped item; or (vi) presence of multiple candidate specification clauses satisfying an association criterion for a given drawing-derived element instance.
[0104] In some embodiments, the system determines candidate element-to-specification associations before conflict resolution. Association may be computed using a composite association score derived from at least: (i) a spatial proximity metric between a detected tag location and an element geometry; (ii) a semantic similarity metric between extracted specification text and a controlled vocabulary entry associated with the element class label; and (iii) a compatibility metric comparing units, parameter ranges, and / or discipline context. In someembodiments, each candidate association is stored with an association confidence score and provenance links to the corresponding drawing region and specification passage.
[0105] In some embodiments, conflict resolution applies a rule set. The rule set may include prioritized rules that select among conflicting sources based on context signals. For example, in some embodiments: (i) where a BIM parameter is available for an element and has a parameter confidence exceeding a threshold, the system selects the BIM parameter value over an OCR- derived value; (ii) where a specification table row explicitly references a type designation matching an extracted drawing tag pattern, the system selects the table row attributes over narrative attributes in an unrelated section; (iii) where a drawing note indicates "TYP" and a corresponding specification clause indicates a global requirement, the system propagates the global requirement to instances within a scope defined by the drawing note region; and (iv) where a unit mismatch is detected, the system applies a unit normalization rule and reevaluates compatibility prior to generating an exception entry.
[0106] In some embodiments, the system additionally or alternatively applies a confidence score threshold to resolve conflicts. In some embodiments, the system computes a fused confidence for a candidate association as a function of at least: (i) the vision confidence score for the drawing-derived classification; (ii) the extraction confidence score for the specification- derived attribute; (iii) the association confidence score; and (iv) an evidence quality score indicating whether the evidence is derived from structured entities (e.g., block attributes, BIM parameters, selectable PDF text) versus raster-only inference. In some embodiments, when the fused confidence satisfies a threshold, the system selects a resolved attribute set for the affected bill-of-qua ntities line item and stores the alternative attribute set as a candidate with a lower rank. In some embodiments, when the fused confidence does not satisfy the threshold, the system refrains from selecting a single resolved attribute set and generates an exception list entry.
[0107] In some embodiments, the exception list is generated as a structured collection of exception records, each exception record including: (i) an exception type identifier (e.g., "classification ambiguity," "attribute conflict," "unit conflict," "schedule mismatch," "missing attribute," or "multi-match ambiguity"); (ii) an element identifier and element class label; (iii) candidate controlled vocabulary item identifiers and / or candidate specification passages; (iv) candidate attribute sets with associated confidence scores; (v) association score components including spatial proximity scores and semantic similarity scores; and (vi) provenance pointers tosupporting evidence, including a drawing region identifier and a specification passage identifier including a character-offset range. In some embodiments, the exception list is stored in association with a project identifier and a sheet identifier and is retrievable via an API for presentation in a user interface.
[0108] In some embodiments, the system generates the exception list when an ambiguity criterion is satisfied. Ambiguity criteria may include at least one of: (i) a difference between a highest-ranked candidate association score and a second-highest-ranked candidate association score being below a margin threshold; (ii) a vision confidence score for a class label being below a class-specific threshold; (iii) a specification extraction confidence being below an attributespecific threshold; (iv) a compatibility metric indicating conflict between units or parameter ranges; or (v) detection of a missing attribute that is associated with an expected attribute schema for a mapped controlled vocabulary item.
[0109] In some embodiments, the system maintains, for exception list entries, alternative resolution proposals that may be presented as selectable options. In some embodiments, each proposal includes a proposed mapping of the drawing-derived element to a specification- derived item identifier and an associated attribute set, along with a computed rationale vector including which rule(s) and which evidence sources contributed to the proposal. In some embodiments, the system may incorporate user feedback by receiving a user selection among the proposals and storing the selection as labeled data for subsequent updates to at least one of: (i) association scoring weights; (ii) rule-set parameters; (iii) controlled vocabulary aliases; or (iv) model training examples.
[0110] In some embodiments, conflict resolution is performed at multiple aggregation levels.For example, in some embodiments, a first conflict resolution pass is performed at an elementinstance level to determine per-instance attributes, and a second conflict resolution pass is performed at a type level (e.g., door type, partition type, equipment type) to enforce attribute consistency across grouped instances. In some embodiments, where grouped instances exhibit divergent attributes above a divergence threshold, the system generates an exception list entry identifying the group, the divergent attribute keys, and the instances contributing to the divergence.
[0111] In some embodiments, the system uses the resolved outputs and the exception list to populate a structured bill-of-qua ntities record. For line items without exceptions, the system stores resolved attributes and a resolved item identifier. For line items with exceptions, thesystem stores provisional attributes and links the line items to exception list entries. In some embodiments, the system computes downstream cost estimates using resolved line items and provisional line items, and marks provisional line items with an uncertainty indicator based on the unresolved conflict type and associated confidence scores.
[0112] In some embodiments, the system is further configured to maintain a project cache storing intermediate outputs and to update a quantity takeoff report and / or a cost estimate in real time in response to user edits via a WebSocket service.
[0113] In some embodiments, the project cache is implemented as a high-throughput data store coupled to the Al services layer and / or the API gateway layer, and is configured to store intermediate artifacts produced during processing of a project package. The intermediate artifacts may include, for example, (i) rendered image tiles at a plurality of zoom levels; (ii) preprocessed drawing tiles produced by an image enhancement workflow; (iii) candidate regions and detection outputs generated by a vision model; (iv) measurement-engine geometries and measured quantities for detected construction elements; (v) extracted text spans, section indices, parsed tables, and entity records generated by a natural-language model; (vi) element-to-specification association candidates and associated association scores; (vii) provisional bill-of-qua ntities line items; (viii) feature vectors input to a trained cost model; and (ix) partial and / or provisional cost outputs including predicted unit costs, extended costs, and uncertainty measures where generated. In some embodiments, the project cache stores these artifacts indexed by one or more identifiers including a project identifier, sheet identifier, document identifier, element identifier, and line-item identifier, thereby supporting selective retrieval and incremental recomputation.
[0114] In some embodiments, the project cache is configured to store multiple versions of intermediate outputs associated with a common project identifier. Versioning may be keyed to at least one of (i) a drawing revision identifier; (ii) a specification revision identifier; (iii) a user calibration identifier (e.g., scale calibration); (iv) a model version identifier for at least one of the vision model, the natural-language model, or the trained cost model; and (v) a user-edit session identifier. In some embodiments, the system stores a lineage record indicating dependencies among cached artifacts, such that a downstream artifact (e.g., a cost line item) is associated with upstream artifacts (e.g., measured quantities and mapped specification attributes) that contributed to its generation.
[0115] In some embodiments, the system provides a user editing workflow through a client interface, in which a user edit modifies at least one intermediate output. User edits may include, for example, (i) changing an element classification; (ii) adding, removing, or splitting a detected construction element; (iii) adjusting an element geometry (e.g., modifying a boundary polygon or centerline); (iv) correcting a drawing scale or calibration reference; (v) reassigning a specification clause, schedule row, or controlled-vocabulary item identifier associated with a line item; (vi) modifying an extracted attribute value (e.g., thickness, rating, finish system); (vii) selecting among candidate associations in an exception list entry; (viii) editing a quantity value or unit; and / or (ix) selecting a pricing source and / or regional pricing zone. In some embodiments, the system encodes each edit as an edit event including an edit type, a target identifier (e.g., element identifier or line-item identifier), a prior value, a revised value, and provenance pointers to affected evidence regions.
[0116] In some embodiments, the system maintains a WebSocket service configured to provide bidirectional communication between a client device and the system. The WebSocket service may be exposed through the API gateway layer and may support (i) delivery of incremental intermediate outputs from backend services to the client device; and (ii) receipt of user-edit events from the client device. In some embodiments, the WebSocket service is configured to multiplex multiple message types over a session channel, including at least one of: detection overlays, quantity updates, bill-of-q uantities line-item updates, cost line-item updates, exception list updates, and status / progress updates.
[0117] In some embodiments, upon receipt of a user edit via the WebSocket service, the system determines an affected scope of recomputation using cached lineage and dependency information. The affected scope may be limited to a subset of sheets, a subset of element instances, and / or a subset of bill-of-quantities line items. For example, in some embodiments, (i) an edit to a door type mapping triggers recomputation of line items grouped by the edited door type without recomputing unrelated wall quantities; (ii) an edit to drawing scale triggers recomputation of measured quantities for elements on an affected sheet while preserving specification parsing outputs; and (iii) an editto a specification attribute triggers recomputation of cost features and predicted costs for line items associated with the edited attribute while preserving measured quantities.
[0118] In some embodiments, recomputation is performed as an incremental pipeline that reuses cached intermediate artifacts when associated dependency versions remain unchanged.For example, in some embodiments, if a user edit modifies an association between a drawing- derived element and a specification-derived attribute, the system may reuse cached detection outputs and cached measured quantities, update an affected structured bill-of-qua ntities line item, rebuild a corresponding cost feature vector, and invoke the trained cost model to generate an updated predicted unit cost and extended cost for the affected line item(s). In some embodiments, where a user edit changes an element geometry, the system recomputes measured quantities for the edited element, updates affected aggregated quantities, updates affected bill-of-qua ntities records, and recomputes costs for impacted line items.
[0119] In some embodiments, the system transmits, via the WebSocket service, incremental updates reflecting the recomputation. Incremental updates may include, for example, (i) updated quantity values for a displayed quantity takeoff report; (ii) updated bill-of-qua ntities line items including revised attributes and provenance pointers; (iii) updated cost line items including revised unit costs, extended costs, and uncertainty measures; and / or (iv) updated analytics derived from the revised estimate. In some embodiments, the system transmits patchform updates rather than full-report replacements, where a patch identifies a target line item and provides a revised value and a revision identifier. In some embodiments, the client device applies received patches to update an on-screen report view and / or a drawing overlay view without reloading a full project state.
[0120] In some embodiments, the project cache stores intermediate outputs in a form configured to support low-latency retrieval for real-time updates. For example, in some embodiments, (i) detection overlays are stored as vectorized geometries in drawing coordinates; (ii) measured quantities are stored as per-element records and as aggregated group records; and (iii) bill-of-qua ntities line items are stored as structured records addressable by item identifier and grouping keys. In some embodiments, the project cache further stores a clientstate projection including user-selected filters, grouping preferences, and display units to support generation of client-specific incremental updates.
[0121] In some embodiments, the system employs concurrency control for cache updates resulting from user edits received over the WebSocket service. Concurrency control may include, for example, (i) optimistic version checks using revision identifiers; (ii) conflict detection when two edit events target overlapping identifiers; and (iii) merge policies for non-overlapping edits. In some embodiments, when a conflict is detected, the system generates a conflict recordand transmits the conflict record to the client device via the WebSocket service for display and / or selection of a resolution.
[0122] In some embodiments, the system stores, in association with cached intermediate outputs, audit records indicating changes made due to user edits. The audit records may include timestamps, user identifiers, edit-event payloads, and references to affected cached artifacts. In some embodiments, these audit records are retrievable via an API and may be used to reconstruct a sequence of edits leading to a particular quantity takeoff report and / or cost estimate state.
[0123] In some embodiments, the system supports a collaborative workflow in which multiple client devices maintain concurrent WebSocket sessions for a common project identifier. In some embodiments, a user edit received from a first client device results in cache updates and recomputation, and incremental update messages are broadcast to one or more additional client devices subscribed to the project identifier. In some embodiments, each message includes a revision identifier and an origin indicator, thereby permitting client devices to reconcile local Ul state with server-side state.
[0124] In some embodiments, the project cache stores intermediate outputs for a defined retention interval and supports eviction policies based on at least one of recency, artifact size, or project status. In some embodiments, the system persists a subset of intermediate artifacts to a document store or other persistent storage when a project is closed or when a report is finalized, while retaining a reduced working set in the project cache to support subsequent reopening and incremental updates.
[0125] In some embodiments, the real-time update pathway via the WebSocket service is used to support interactive adjustments to estimate parameters. For example, in some embodiments, a user modifies a regional adjustment input and the system responds by retrieving cached bill- of-quantities line items, applying an updated region adjustment factor to one or more cost feature vectors, recomputing affected costs, and transmitting updated cost line items and aggregated totals via the WebSocket service, while preserving cached detection and measurement artifacts.
[0126] In some embodiments, the WebSocket service further provides progress messaging that references cached pipeline stages. For example, in some embodiments, a client device receives status messages indicating completion of (i) tile inference; (ii) structured-graphics refinement; (iii) specification entity extraction; (iv) fusion and exception generation; and (v) cost-modelinference, along with identifiers for intermediate outputs that have been cached and are available for retrieval.
[0127] In some embodiments, pricing data comprises historical pricing stored in a cost database and current pricing derived from a market-data feed, and a trained machine-learning cost model outputs a confidence interval for at least one line item of a cost estimate.
[0128] In some embodiments, the cost database stores historical pricing records indexed by at least one of: (i) an item identifier corresponding to a controlled vocabulary entry used for a bill- of-quantities line item; (ii) a geography identifier; (iii) a date or date range; (iv) a supplier identifier; (v) a unit of measure; and (vi) one or more specification-derived attributes. In some embodiments, the historical pricing records further store provenance fields including a source descriptor (e.g., bid tab, invoice, estimate baseline, subcontract quote) and a data-quality indicator. In some embodiments, the cost database stores multiple historical price points per item identifier and geography, thereby permitting generation of distributional features (e.g., median, quantiles, volatility measures) for downstream cost modeling.
[0129] In some embodiments, the market-data feed provides current pricing derived from one or more external sources and is ingested via an API integration framework. The market-data feed may include at least one of: (i) supplier catalog pricing; (ii) time-indexed commodity indices; (iii) freight and fuel surcharges; (iv) labor rate publications; (v) regional escalation indices; and (vi) quote responses received through electronic procurement workflows. In some embodiments, market-data feed records are normalized into a common schema including at least: (i) an item identifier mapping to the controlled vocabulary; (ii) an effective timestamp; (iii) a currency code; (iv) a unit of measure; (v) a geographic applicability field; and (vi) one or more reliability indicators such as a source rank, a staleness value, or a confidence score assigned during ingestion.
[0130] In some embodiments, the system generates, for each bi ll-of-q uantities line item, a pricing feature set combining at least one historical feature derived from the cost database and at least one current feature derived from the market-data feed. Historical features may include rolling-window averages, trimmed means, seasonal components, and region-normalized baselines. Current features may include most-recent price, moving average of recent feed updates, index deltas relative to a baseline date, and supplier availability indicators. In some embodiments, the system performs unit normalization prior to feature generation, includingconversion among units used by the cost database and the market-data feed, and stores the unit conversion factors as part of line-item provenance.
[0131] In some embodiments, the trained machine-learning cost model receives, as input, a feature vector for each bill-of-qua ntities line item, where the feature vector includes at least: (i) a normalized item identifier; (ii) a quantity value and unit; (iii) specification-derived attributes (e.g., grade, rating, finish, thickness class); (iv) project-level metadata (e.g., project type, delivery method, location region); and (v) pricing features derived from the cost database and the market-data feed. In some embodiments, the trained machine-learning cost model outputs a predicted unit cost and a predicted extended cost for each line item. In some embodiments, the predicted unit cost is computed in a canonical currency and is converted to a user-selected currency using a stored exchange rate table when a currency mismatch is present between the cost database and the market-data feed.
[0132] In some embodiments, the trained machine-learning cost model outputs a confidence interval for at least one line item. The confidence interval may be output as an interval around a predicted unit cost and / or an interval around a predicted extended cost. In some embodiments, the confidence interval is represented as a lower bound and an upper bound associated with a target coverage probability. In some embodiments, the confidence interval is generated using at least one of: (i) quantile regression in which the model outputs a lower quantile and an upper quantile; (ii) an ensemble approach in which multiple model instances generate a distribution of predictions and interval bounds are computed from the distribution; (iii) conformal prediction in which nonconformity scores are computed using a calibration set; or (iv) bootstrapping of training examples to generate multiple fitted models and dispersion metrics.
[0133] In some embodiments, the system selects which line items receive confidence interval outputs based on at least one criterion. The criterion may include: (i) a pricing volatility feature exceeding a threshold; (ii) a staleness value for market-data feed updates exceeding a threshold; (iii) absence of sufficient historical records in the cost database for the relevant item identifier and geography; (iv) presence of an exception list entry indicating an unresolved mapping ambiguity; and / or (v) a predicted cost magnitude exceeding a threshold. In some embodiments, for line items not selected under the criterion, the system outputs a point estimate and an uncertainty indicator selected from a set of discrete categories.
[0134] In some embodiments, the system computes an uncertainty contribution score for each line item as a function of multiple sources of uncertainty, including at least: (i) variability ofhistorical pricing for the item identifier; (ii) dispersion among current market-data feed sources; (iii) mapping uncertainty between the bill-of-q uantities line item and a pricing item identifier; and (iv) model uncertainty derived from the trained machine-learning cost model. In some embodiments, the system stores the uncertainty contribution score in association with the line item and uses the score to rank line items for review in a user interface.
[0135] In some embodiments, the system generates the confidence interval for a line item based at least in part on a blended pricing signal. The blended pricing signal may comprise a weighted combination of a historical baseline derived from the cost database and a current baseline derived from the market-data feed. In some embodiments, the weights are determined based on at least one of: (i) a market-data feed reliability indicator; (ii) a count of historical observations within a time window; (iii) a recency metric for historical observations; and (iv) an item-class-specific configuration indicating expected market sensitivity. In some embodiments, when the market-data feed reliability indicator falls below a threshold, the system downweights current pricing and increases a width of the confidence interval to reflect reduced current-price reliability.
[0136] In some embodiments, the cost estimate includes both (i) a line-item level confidence interval for at least one line item and (ii) an aggregated project-level uncertainty measure computed from the line-item confidence intervals. In some embodiments, project-level aggregation includes computing a sum of lower bounds and a sum of upper bounds across a selected set of line items. In some embodiments, where dependencies among line items are modeled, aggregation includes applying a correlation structure based on shared commodity indices, shared suppliers, shared labor classifications, or shared geographic escalation factors.
[0137] In some embodiments, the system outputs, for each line item having a confidence interval, an evidence record indicating at least one of: (i) a historical-pricing subset used to compute historical pricing features; (ii) a market-data feed subset used to compute current pricing features; (iii) a model version identifier for the trained machine-learning cost model; and (iv) a calibration dataset identifier used for interval calibration. In some embodiments, the evidence record is stored in an audit log and is retrievable via an API for presentation in a report or a review workflow.
[0138] In some embodiments, the system supports user-driven selection of pricing sources for a line item, and the selection modifies the pricing features and updates the confidence interval output. For example, in some embodiments, a user selects a supplier quote source to override acommodity-index-derived current price, and the system recomputes the predicted unit cost and confidence interval based on the selected quote source and a quote validity period. In some embodiments, the system stores the user selection as an adjustment event and associates the event with the updated confidence interval in the audit log.
[0139] In some embodiments, the market-data feed includes multiple time-indexed updates for a given item identifier, and the system computes a market volatility feature from the updates, including at least one of a standard deviation over a time window or an absolute change relative to a baseline date. In some embodiments, the market volatility feature is used to widen or narrow the confidence interval produced for the affected line item. In some embodiments, where the market volatility feature exceeds a threshold, the system outputs an interval with a width scaled by a volatility multiplier, and stores the volatility multiplier as part of line-item provenance.
[0140] In some embodiments, the system includes a pricing normalization workflow configured to reconcile taxonomy differences between the cost database and the market-data feed. The workflow may map external supplier SKUs and index identifiers to controlled vocabulary item identifiers used by the bi ll-of-qua ntities record. In some embodiments, where mapping ambiguity is present, the system generates multiple candidate mappings and computes candidate price features for each mapping, and the trained machine-learning cost model outputs alternative confidence intervals corresponding to the candidate mappings. In some embodiments, the system associates the alternative confidence intervals with an exception record for later user review.
[0141] Example Embodiment (interval widening based on sparse historical coverage and stale market updates). In some embodiments, a bill-of-quantities line item corresponds to a specialty finish material having fewer than a threshold number of historical observations in the cost database for a project geography. The market-data feed includes an update for the item identifier, but the update has a staleness value exceeding a threshold. The system generates a feature vector including sparse-coverage indicators and staleness indicators, and the trained machine-learning cost model outputs a predicted unit cost with a confidence interval having an interval width greater than an interval width for a line item having both dense historical coverage and recent market updates. The system stores, in an audit record, identifiers for the historical observations used and the market-data feed update used, along with the model version identifier associated with the interval output.
[0142] In some embodiments, the system includes an audit log configured to store provenance data for reported quantities and / or cost line items, wherein the provenance data indicates at least one of (i) a drawing region used, (ii) a specification passage used, or (iii) a model version identifier. The audit log may be implemented as an append-only datastore, a write-once log, a tamper-evident ledger, or another persistent record system configured to support later retrieval of evidence supporting outputs generated by the system.
[0143] In some embodiments, the audit log stores audit records keyed by a project identifier and further keyed by one or more of a sheet identifier, a document identifier, an element identifier, a bill-of-quantities line-item identifier, and a cost line-item identifier. An audit record may include a timestamp, a user identifier or service identifier (e.g., an API key identifier), an operation identifier (e.g., "initial inference," "user edit," "recompute," "export"), and a revision identifier corresponding to a state of intermediate artifacts used to generate the reported quantity and / or cost line item.
[0144] In some embodiments, drawing-region provenance includes a drawing region identifier referencing a region in drawing coordinates and / or pixel coordinates. The drawing region identifier may correspond to at least one of: (i) a bounding box or polygon derived from a detection output; (ii) a buffered region around a detected element geometry; (iii) a viewport selection region received from a client device; or (iv) a region corresponding to a legend, schedule, or title block. The audit record may further store a sheet-space geometry representation (e.g., polygon vertices in drawing units), a reference to a pixel-to-drawing coordinate transform version, and a reference to one or more rendered tile identifiers that overlap the drawing region.
[0145] In some embodiments, the audit log stores, for a quantity record, measured-quantity provenance including at least one of: (i) a measurement method identifier (e.g., length, area, count, volume); (ii) a scale source identifier indicating whether scale was derived from metadata, a detected indicator, or user calibration; (iii) a scale factor value and unit mapping; and (iv) a measurement-engine version identifier. Where quantities are aggregated (e.g., per type, per sheet, per zone), the audit record may include a list of contributing element identifiers and an aggregation rule identifier indicating a grouping key used for roll-up.
[0146] In some embodiments, specification-passage provenance includes a specification passage identifier referencing extracted text spans and / or structured table cells. The specification passage identifier may include at least one of: (i) a document identifier; (ii) a pageidentifier; (iii) a character-offset range; (iv) a bounding geometry for an OCR-extracted text block; and (v) an extracted table-cell coordinate (row / column indices) with associated header text. In some embodiments, the audit record stores a normalized clause identifier derived from section headings (e.g., MasterFormat section number tokens) and stores one or more extracted entity records that contributed to a mapped attribute (e.g., thickness, grade, rating, finish system), along with extraction confidence values.
[0147] In some embodiments, the audit log stores model-version provenance comprising version identifiers for at least one of a vision model, a natural-language model, or a trained cost model. A model version identifier may include a model name, a semantic version string, a hash of model weights, a training dataset identifier, and a calibration dataset identifier. In some embodiments, the audit record stores inference configuration parameters for a model version, including at least one of a confidence threshold, a non-maximum suppression threshold, a tokenization configuration, a controlled vocabulary version identifier, or a feature schema version identifier.
[0148] In some embodiments, for each reported cost line item, the audit record includes pricing provenance comprising a cost database record identifier and / or a market-data feed record identifier used to generate pricing features. Pricing provenance may further include a geographic applicability identifier, an effective date, a currency code, and a unit-of-measure normalization record. In some embodiments, the audit record stores an adjustment record indicating whether at least one of a market adjustment factor or a region adjustment factor was applied, and stores the adjustment factor values and their source identifiers.
[0149] In some embodiments, the audit log stores a linkage between a quantity takeoff output and a cost estimate output by associating a reported quantity record with a bill-of-qua ntities line-item identifier and associating the bi ll-of-quantities line-item identifier with a cost line-item identifier. The linkage may support traceability from a cost value back to (i) contributing element instances in drawings and (ii) supporting clauses in specifications. In some embodiments, the linkage is represented as a directed acyclic graph stored in the audit record, where nodes represent artifacts (detections, measurements, extracted entities, mappings, pricing records, predictions) and edges represent dependency relationships.
[0150] In some embodiments, the audit log records user edits and recomputation events. A user edit record may include an edit type, a target identifier, a prior value, and a revised value. For example, an edit may change an element classification, modify a boundary polygon, adjust adrawing scale calibration, or reassign a specification passage for a line item. In some embodiments, when an edit triggers recomputation, the audit log stores both a pre-edit revision identifier and a post-edit revision identifier, and stores identifiers of intermediate artifacts reused versus regenerated. In some embodiments, the audit log stores an exception-resolution record indicating that a user selected among alternative proposals in an exception list entry, along with references to the alternative proposals and an identifier of the selected proposal.
[0151] In some embodiments, the audit log is accessible through an API gateway for retrieval of provenance associated with displayed outputs. Retrieval may support querying by project identifier and line-item identifier and returning a provenance payload comprising drawing evidence references and specification evidence references sufficient to render, on a client device, (i) a drawing overlay highlight for the drawing region and (ii) a specification highlight for the specification passage. In some embodiments, retrieval is performed with role-based access control such that the returned provenance payload is filtered based on a requester role.
[0152] In some embodiments, the audit log stores integrity data configured to detect modification of previously stored audit records. Integrity data may include hash chaining across sequential audit records, per-record signatures, or periodic checkpoints stored in separate storage. In some embodiments, the audit log stores an access audit trail indicating which users or services retrieved provenance data, including timestamps and query parameters.
[0153] In some embodiments, the system uses the audit log to support report export workflows. For an exported quantity takeoff report or cost estimate report, the system may embed, in the exported artifact, references to audit record identifiers corresponding to line items included in the export. In some embodiments, the export includes a machine-readable appendix (e.g., JSON) containing provenance pointers for each exported line item, enabling later reconstruction of supporting evidence from the audit log.
[0154] In some embodiments, the audit log supports reconciliation against subsequently received project outcomes. For example, when ground-truth costs are received for a subset of line items, the system may store a reconciliation record linking the ground-truth values to prior predicted values and to the corresponding audit record identifiers. The reconciliation record may include a discrepancy value, a reason code selected from a set of discrepancy categories (e.g., "scope change," "pricing update," "quantity correction"), and references to the model version identifiers and pricing sources used for the prediction that is being reconciled.
[0155] In some embodiments, the audit log supports multi-tenant storage by partitioning audit records by tenant identifier and project identifier. In some embodiments, audit-record retention policies are applied by project status, where a first retention interval is applied to intermediate artifacts and a second retention interval is applied to audit records storing provenance pointers.
[0156] In some embodiments, the system is further configured to update the trained machinelearning cost model based on discrepancies between (a) predicted costs output by the trained machine-learning cost model and (b) subsequently received ground-truth costs for corresponding construction items and project conditions. In some embodiments, the system receives ground-truth costs from at least one source including executed subcontract agreements, purchase orders, invoices, pay applications, bid tabs, or final project cost reports. In some embodiments, the ground-truth costs are received via an integration interface and are associated with a project identifier, a time period identifier, and one or more line-item identifiers corresponding to a structured bi ll-of-quantities record.
[0157] In some embodiments, the system computes a discrepancy metric for each line item and / or for grouped line items. The discrepancy metric may include at least one of (i) an absolute error between predicted extended cost and ground-truth extended cost, (ii) a percentage error relative to ground-truth cost, (iii) a unit-rate error between predicted unit cost and ground-truth unit cost, (iv) a log-scaled error to reduce sensitivity to magnitude differences, or (v) a weighted error that weights discrepancies based on at least one of item class, quantity magnitude, or pricing volatility indicators. In some embodiments, the system computes the discrepancy metric after reconciling units and currencies, including converting ground-truth costs to a canonical currency and unit-of-measure schema used by the cost model.
[0158] In some embodiments, receiving ground-truth costs includes performing record linkage between ground-truth cost records and predicted cost records. Record linkage may include matching using one or more of (i) a controlled-vocabulary item identifier, (ii) a supplier SKU mapped to the controlled-vocabulary item identifier, (iii) a specification-derived attribute signature (e.g., grade, rating, thickness class), (iv) project metadata (e.g., region, project type, delivery method), (v) a date range, and (vi) text similarity between a ground-truth line description and a line-item description. In some embodiments, where multiple predicted line items plausibly correspond to a single ground-truth record, the system stores candidate matches and computes a match score, and may generate an exception record for user confirmation prior to storing a training example.
[0159] In some embodiments, continuous training is triggered when a trigger criterion is satisfied. The trigger criterion may include at least one of: (i) the discrepancy metric exceeding a threshold for at least a threshold count of line items within a project, (ii) an aggregated discrepancy exceeding a threshold at a project level, (iii) a rolling-window drift indicator exceeding a threshold for a defined item class and region, (iv) receipt of a threshold quantity of new ground-truth records since a prior training event, or (v) detection of a systematic bias pattern based on residual analysis across one or more feature dimensions. In some embodiments, the trigger criterion is evaluated per tenant and / or per geographic region to support model specialization.
[0160] In some embodiments, the system stores training examples in the cost database with associated project metadata. A training example may include: (i) the normalized item identifier; (ii) the quantity value and quantity unit; (iii) specification-derived attributes and requirement constraints associated with the line item; (iv) project-level metadata including at least one of geography identifier, project type, building type, delivery method, schedule attributes, and bid date; (v) pricing-source indicators identifying whether the prediction relied on cost-database pricing and / or market-data feed pricing; (vi) the predicted unit cost and predicted extended cost; (vii) the ground-truth unit cost and ground-truth extended cost; (viii) the discrepancy metric; and (ix) provenance pointers linking the training example to at least one of a drawing region identifier and a specification passage identifier. In some embodiments, the cost database stores a data-quality indicator for the ground-truth record, including at least one of a source type identifier, a completeness indicator, or an audit status indicating whether the record was reviewed.
[0161] In some embodiments, prior to storing the training examples, the system performs normalization of ground-truth cost records. Normalization may include (i) unit normalization to align invoice units (e.g., "EA," "LF," "SF," "CY") to bill-of-quantities units, (ii) allocation of lump- sum costs across multiple line items based on allocation rules using at least one of quantity proportioning, scope tags, or cost-code mappings, (iii) separation of material and labor components when such components are present, and (iv) adjustment for taxes, fees, overhead, and contingency based on stored configuration. In some embodiments, normalization includes mapping cost codes (e.g., CSI / UniFormat / internal codes) to the controlled vocabulary item identifiers used by the structured bill-of-quantities record.
[0162] In some embodiments, the system schedules model updates as asynchronous training jobs. The training job may retrieve a training dataset from the cost database comprising stored training examples satisfying selection criteria, including at least one of time-window filtering, region filtering, item-class filtering, and data-quality filtering. In some embodiments, the training dataset includes both newly stored training examples and previously stored training examples to preserve learned relationships across item classes and regions. In some embodiments, the training job performs dataset splitting into training, validation, and calibration subsets and records split identifiers in association with a model version identifier.
[0163] In some embodiments, the system performs incremental training of the trained machine-learning cost model using at least one approach including (i) warm-start retraining using prior model parameters, (ii) staged training in which item-class-specific models are updated independently, or (iii) ensemble expansion in which a new model instance is trained on recent training examples and combined with existing model instances via weighted averaging or stacking. In some embodiments, the system uses weighting of training examples based on recency and / or data-quality indicators, such that more recent, higher-confidence ground-truth examples influence updated model parameters with higher weight.
[0164] In some embodiments, the system generates a model update artifact including updated model parameters and a model version identifier. The model version identifier may include a model name, a semantic version string, and a hash of model weights, and may further reference a training dataset identifier and a calibration dataset identifier. In some embodiments, after training, the system performs validation checks including computing at least one evaluation metric over a validation subset, such as mean absolute percentage error, mean absolute error, or calibration error for confidence intervals when the model outputs uncertainty measures. In some embodiments, when the evaluation metric does not satisfy an acceptance criterion, the system stores the trained model as a candidate model and refrains from deploying the candidate model for inference until user review or additional training data is obtained.
[0165] In some embodiments, deployment of an updated model includes updating a model registry and routing subsequent inference requests to the updated model version. In some embodiments, the system maintains multiple active model versions corresponding to different segments, including segmenting by geography, project type, and / or discipline. In some embodiments, for a given inference request, the system selects a model version based onselection rules using project metadata and stores, for each predicted line item, the selected model version identifier as provenance.
[0166] In some embodiments, the stored training examples include linkage to outcome reconciliation. For example, the system may store a reconciliation record associating (i) a predicted cost line item identifier, (ii) a ground-truth cost record identifier, and (iii) a discrepancy reason code selected from a set including scope change, substitution, procurement variance, quantity correction, schedule change, or market escalation. In some embodiments, the discrepancy reason code is generated based on automatic classification using at least one of change-order records, specification revision identifiers, drawing revision identifiers, and procurement timestamps, and may be corrected by user input for subsequent use in trainingdata curation.
[0167] In some embodiments, the system supports continuous training at multiple granularities. A first training workflow may update a global model using cross-project training examples. A second training workflow may update a tenant-specific model using tenant-scoped training examples. A third training workflow may update an item-class-specific model using training examples restricted to an item class. In some embodiments, each workflow stores an associated model version identifier and a scope identifier in the cost database.
[0168] In some embodiments, the system controls access to training examples and model updates using role-based access control and tenant partitioning. In some embodiments, training examples are stored in the cost database with a tenant identifier and are retrievable for audit using filtering based on requester permissions. In some embodiments, where training examples include sensitive supplier information, the system stores supplier identifiers in a tokenized form and stores de-tokenization keys in a separate secured store.
[0169] In some embodiments, the system provides a user interface workflow for review of discrepancies prior to training. The workflow may present predicted versus ground-truth costs, discrepancy metrics, and supporting provenance, including drawing-region and specificationpassage highlights corresponding to the associated line item. In some embodiments, the user interface receives a user confirmation to include a discrepancy as a labeled training example and receives optional annotations including reason codes and allocation adjustments. In some embodiments, confirmed examples are stored in the cost database with a review-status flag and a reviewer identifier, and the training job selects confirmed examples preferentially relative to unreviewed examples.
[0170] In some embodiments, the system stores, in the cost database, feature snapshots corresponding to training examples. A feature snapshot may include the feature vector input to the trained machine-learning cost model at the time the prediction was generated, thereby permitting reproducible training and analysis of model drift. In some embodiments, the system stores both (i) the original feature snapshot and (ii) an updated feature snapshot reflecting revised pricing-source selection or revised market adjustment factors present at the time ground-truth is received, and associates both snapshots with the training example to permit training strategies that incorporate counterfactual pricing conditions.
[0171] In some embodiments, continuous training includes updating ancillary mappings used by the cost model. For example, where discrepancy analysis indicates systematic mispricing associated with a controlled-vocabulary mapping ambiguity, the system may update mapping weights or alias lists used to associate bill-of-quantities items with pricing identifiers, and store the updated mapping configuration with a configuration version identifier referenced by subsequent training examples and cost predictions.
[0172] In some embodiments, the system is configured to update the trained machine-learning cost model based on discrepancies between (a) predicted costs output by the trained machinelearning cost model and (b) subsequently received ground-truth costs for corresponding construction items and project conditions. The system may receive ground-truth costs from one or more sources including executed subcontract agreements, purchase orders, invoices, pay applications, bid tabs, and final project cost reports. In some embodiments, ground-truth costs are received through an integration interface exposed by an API gateway and are associated with a project identifier, a time period identifier, and one or more line-item identifiers corresponding to entries of a structured bill-of-quantities record.
[0173] In some embodiments, the system stores training examples in a cost database with associated project metadata. A training example may be generated by linking (i) a predicted cost record produced during an estimation workflow with (ii) a ground-truth cost record received after procurement and / or project completion. In some embodiments, the training example includes a normalized item identifier aligned to a controlled vocabulary used by the structured bill-of-quantities record, a quantity value and unit, a predicted unit cost and predicted extended cost, a ground-truth unit cost and ground-truth extended cost, and one or more metadata fields describing the project context.
[0174] In some embodiments, the associated project metadata includes one or more of: a geographic identifier (e.g., country, state / province, city, postal code region, or supplier pricing zone), a project type identifier (e.g., residential, commercial, industrial, civil), a building type identifier, a delivery method identifier (e.g., design-bid-build, design-build, CM at risk), a bid date or procurement date, a schedule attribute (e.g., phase or milestone), and a scope classification (e.g., discipline and / or specification division). In some embodiments, the metadata further includes one or more pricing-source indicators describing whether the predicted cost was derived from historical pricing records, a market-data feed, supplier quotes, or user-entered overrides. In some embodiments, the system stores, for each training example, a data-quality indicator representing a quality level of the ground-truth record (e.g., reviewed / unreviewed, complete / partial, allocated / unallocated) and / or an origin indicator (e.g., invoice vs. bid tab).
[0175] In some embodiments, generation of a training example includes normalization of ground-truth records into a schema compatible with the structured bill-of-qua ntities record. Normalization may include one or more of: (i) currency conversion to a canonical currency; (ii) unit-of-measure reconciliation between invoice units and bill-of-q uantities units; (iii) allocation of lump-sum line items across multiple bill-of-q uantities line items using allocation rules based on quantity proportioning and / or cost-code mappings; and (iv) separation of material and labor components when present in the ground-truth source. In some embodiments, the cost database stores unit conversion factors and allocation rule identifiers used for normalization as part of the training example record.
[0176] In some embodiments, the system performs record linkage between predicted cost line items and ground-truth cost records before storing the training examples. Record linkage may include matching using one or more of: controlled-vocabulary item identifiers; supplier SKUs mapped to controlled-vocabulary item identifiers; attribute signatures derived from specification-derived attributes (e.g., grade, rating, thickness class); project metadata (e.g., region and project type); a date range; and text similarity between a ground-truth line description and a line-item description. In some embodiments, where a ground-truth record is plausibly associated with multiple predicted line items, the system stores candidate matches with match scores and optionally generates an exception record for user confirmation prior to storing the training example.
[0177] In some embodiments, the system computes a discrepancy metric for each candidate linked pair of predicted and ground-truth records. The discrepancy metric may include at leastone of: absolute error between predicted extended cost and ground-truth extended cost, percentage error relative to ground-truth cost, unit-rate error between predicted unit cost and ground-truth unit cost, and log-scaled error. In some embodiments, the discrepancy metric is computed after performing currency and unit normalization. In some embodiments, the discrepancy metric is stored in the training example record, along with a timestamp indicating when the discrepancy was computed and a reference to the model version identifier that produced the prediction.
[0178] In some embodiments, storing training examples includes capturing feature snapshots corresponding to the prediction state. A feature snapshot may include the feature vector input to the trained machine-learning cost model for a given line item at the time the predicted cost was generated, including quantity-related features, specification-derived attribute features, project metadata features, and pricing-derived features. In some embodiments, the feature snapshot further includes identifiers for historical pricing records and / or market-data feed records used to compute pricing features. In some embodiments, the system stores both (i) an original feature snapshot associated with the prediction and (ii) an updated feature snapshot reflecting pricing updates present at the time the ground-truth record is received, thereby supporting analysis of pricing drift and alternative training strategies.
[0179] In some embodiments, the cost database stores training examples as structured records keyed by at least one of project identifier, line-item identifier, item identifier, and geography identifier. In some embodiments, each training example record includes or references provenance pointers linking the record to source artifacts, including at least one of: a drawing region identifier, a specification passage identifier, a pricing record identifier, and a model version identifier. In some embodiments, the provenance pointers permit retrieval of supporting evidence for later audit and review of training data selection.
[0180] In some embodiments, training examples are used to update the trained machinelearning cost model through an asynchronous training workflow. The workflow may be triggered based on one or more criteria including: a threshold count of new training examples since a prior training event, a rolling-window drift indicator exceeding a threshold, or an aggregated discrepancy measure exceeding a threshold for an item class and region segment. In some embodiments, the training workflow selects a training dataset from the cost database using filters based on at least one of time window, geography, item class, project type, and data- quality indicator. In some embodiments, the workflow applies weighting based on recencyand / or quality, thereby modifying the influence of training examples in model parameter updates.
[0181] In some embodiments, the system supports storage of a discrepancy reason code in association with at least a subset of training examples. The reason code may be provided by a user via an interface and / or inferred from integrated project records, and may indicate at least one of scope change, substitution, procurement variance, quantity correction, schedule change, or market escalation. In some embodiments, the reason code is stored as part of the project metadata for the training example, enabling downstream filtering and curation of training datasets.
[0182] In some embodiments, access to training examples stored in the cost database is controlled via tenant partitioning and role-based access control. In some embodiments, supplier-identifying fields in ground-truth records are tokenized prior to storage, and a mapping between tokens and source identifiers is stored in a secured store separate from the cost database. In some embodiments, the system maintains audit records indicating insertion, modification, and retrieval of training example records, including timestamps and requester identifiers, to support governance of model-update inputs.
[0183] In some embodiments, the system generates project analytics including at least one of variance analysis, sensitivity analysis, or cost driver identification based on feature importance of the trained machine-learning cost model. The project analytics may be generated after creation of a structured bill-of-qua ntities record and generation of predicted costs for respective line items, and may be updated when intermediate artifacts or inputs change, including when pricing data is refreshed, a document revision is received, or a user edit is applied.
[0184] In some embodiments, the system computes variance analysis by comparing at least two estimate states produced for a common project identifier. The estimate states may include, for example, (i) a baseline estimate generated using a historical pricing subset from a cost database, (ii) a market-adjusted estimate generated using at least one market-data feed, and / or (iii) a scenario estimate generated by modifying at least one assumption variable. In some embodiments, the system computes variance at multiple aggregation levels, including at least one of (i) a line-item level variance, (ii) an item-class level variance, (iii) a discipline-level variance, (iv) a floor / zone level variance, or (v) a total project variance. Line-item level variance may be computed as a difference between predicted extended costs for a line item across two estimate states. In some embodiments, the system stores, for each variance value, provenancelinking the variance to (i) an item identifier, (ii) an estimate-state identifier, and (iii) one or more sources of change, including a pricing-source identifier, an adjustment-factor identifier, or a model-version identifier.
[0185] In some embodiments, variance analysis includes decomposition of variance into components associated with different contributing factors. By way of example, a decomposition may attribute a portion of a line-item variance to (i) a quantity change derived from a revision of measured quantities, (ii) a unit-rate change attributed to a market adjustment factor, and / or (iii) a mapping change attributed to modified association between an element and a controlled vocabulary item. In some embodiments, decomposition is implemented by generating counterfactual estimate states in which one factor is modified while others are held constant, and computing incremental differences across the counterfactual states. In some embodiments, the factors correspond to feature groups of the trained machine-learning cost model, including at least one of quantity features, specification-derived attribute features, project metadata features, and pricing features.
[0186] In some embodiments, the system performs sensitivity analysis by perturbing selected inputs and quantifying changes in predicted costs. Perturbations may be applied to inputs that are represented as features for the trained machine-learning cost model, including at least one of: (i) region adjustment factors derived from a geospatial mapping of supplier pricing zones, (ii) market indices derived from a time-indexed market-data feed, (iii) labor-rate features, (iv) escalation parameters, (v) waste factors, (vi) schedule-related parameters represented in project metadata, or (vii) substitution selections derived from specification alternates. In some embodiments, the perturbations include single-parameter sweeps in which one parameter is adjusted across a plurality of candidate values while other inputs are maintained, thereby generating a sensitivity curve for at least one output metric. In some embodiments, the perturbations include multi-parameter sampling that generates a set of scenarios and a distribution of outputs, where each scenario corresponds to a sampled combination of parameter values. In some embodiments, the system computes sensitivity metrics including at least one of (i) a local sensitivity defined by a ratio of cost change to parameter change, (ii) a ranked list of parameters by magnitude of induced cost change, or (iii) a contribution score per parameter computed from scenario outcomes.
[0187] In some embodiments, scenario generation for sensitivity analysis is constrained by domain rules. For example, where a first parameter represents an escalation index and a secondparameter represents an effective bid date, the system may enforce compatibility between date ranges and index time windows. In some embodiments, where a parameter represents a discrete selection among specification alternates, the system may generate scenarios corresponding to alternate identifiers and propagate corresponding attribute changes to affected bi ll-of-qua ntities line items prior to invoking the trained machine-learning cost model. In some embodiments, the system stores, for each scenario, a scenario identifier and a scenario definition record indicating the modified parameter values and the line items affected by the scenario.
[0188] In some embodiments, cost driver identification is performed using feature importance derived from the trained machine-learning cost model. Feature importance may be computed using at least one approach including (i) impurity-based importance for tree-based models, (ii) permutation importance computed by shuffling feature values and measuring output change, (iii) Shapley-value-based attribution for per-line-item explanations, or (iv) gradient-based attribution for models supporting differentiable inference. In some embodiments, the system computes feature importance at multiple scopes, including (i) global importance aggregated over a set of projects or a training dataset segment, (ii) project-level importance aggregated over line items of a project package, and / or (iii) line-item-level importance indicating feature contributions to a predicted unit cost or predicted extended cost for a line item.
[0189] In some embodiments, cost driver identification outputs a ranked list of drivers, where each driver corresponds to a feature or a feature group. Feature groups may be defined to align with construction-relevant categories, including at least one of: (i) quantity and unit features, (ii) material class features, (iii) specification-derived attributes (e.g., grade, rating, finish, thickness class), (iv) geography / region features, (v) project type and delivery method features, and (vi) pricing volatility and staleness indicators. In some embodiments, the system maps technical feature identifiers to display labels and stores a mapping version identifier as part of provenance to preserve interpretability across model versions.
[0190] In some embodiments, the system generates cost driver identification outputs that are conditioned on an uncertainty signal produced by the trained machine-learning cost model. For example, where a line item includes an uncertainty interval exceeding an interval-width criterion, the system may compute and present feature attribution data for that line item and may elevate the line item in a review list. In some embodiments, the system computes a combined review score based on (i) predicted extended cost magnitude, (ii) uncertaintymagnitude, and (iii) driver concentration, where driver concentration indicates that a small subset of features accounts for a threshold portion of model attribution.
[0191] In some embodiments, the system produces analytics artifacts as structured records addressable by identifiers and suitable for display in a client interface. The analytics artifacts may include at least one of: (i) a variance table having columns for baseline cost, market- adjusted cost, delta, and delta percentage; (ii) a sensitivity table associating parameter values with predicted total cost; (iii) a driver table associating features or feature groups with importance values and contribution directions; and (iv) an exceptions-and-drivers crossreference associating exception list entries with drivers implicated in the affected line items. In some embodiments, the system stores analytics artifacts in a project cache to support low- latency retrieval and incremental updates.
[0192] In some embodiments, the system updates project analytics in response to modifications in inputs or intermediate artifacts. For example, when a user correction changes a mapping between a drawing-derived element and a controlled vocabulary item, the system may (i) update one or more bill-of-qua ntities line items, (ii) regenerate feature vectors for affected line items, (iii) invoke the trained machine-learning cost model for updated predictions, and (iv) recompute at least one of variance analysis, sensitivity analysis, or cost driver identification for an affected scope. In some embodiments, the affected scope is determined using dependency tracking stored in association with intermediate artifacts, thereby limiting recomputation to impacted line items and impacted aggregation groups.
[0193] In some embodiments, the system transmits analytics updates to a client device via a streaming channel, including a WebSocket service. The transmitted updates may include patchform updates for a subset of analytics artifacts, including revised variance deltas, revised sensitivity metrics, or revised driver rankings. In some embodiments, each transmitted update includes a revision identifier and references to an estimate-state identifier and a model-version identifier, thereby enabling the client device to reconcile displayed analytics with a corresponding estimate state.
[0194] In some embodiments, the system records provenance for analytics outputs in an audit log. The provenance may include (i) the estimate-state identifiers compared for variance analysis, (ii) the scenario identifiers and parameter values used for sensitivity analysis, and (iii) the model-version identifier and feature-importance method identifier used for cost driveridentification. In some embodiments, the provenance includes references to pricing-source identifiers and adjustment-factor identifiers used to generate the underlying predicted costs.
[0195] In some embodiments, the system generates an analytics explanation payload that links driver outputs to source evidence. For example, where a driver corresponds to a specification- derived thickness class feature, the system may link the feature to a specification passage identifier including a character-offset range corresponding to the extracted thickness clause. Where a driver corresponds to a region adjustment factor, the system may link the factor to a geospatial mapping record identifier indicating a supplier pricing zone. Where a driver corresponds to a quantity feature, the system may link the feature to a drawing region identifier and a measurement method identifier used to generate the measured quantity.
[0196] In some embodiments, the system supports additional analytics views derived from feature importance without introducing additional estimate states. For example, the system may compute, per discipline grouping, a driver profile summarizing which feature groups contribute to cost in that grouping, and may compute, per material class, a volatility profile summarizing sensitivity to market index perturbations. In some embodiments, the system computes these profiles using aggregation of per-line-item attribution values and stores the profiles as project analytics artifacts for display and export.
[0197] In some embodiments, vision-based processing includes tile-based rendering and multiscale inference for detecting construction elements from a construction drawing, and further includes aggregation of tile-level detections into sheet-level construction elements using drawing-coordinate non-maximum suppression.
[0198] In some embodiments, the system receives a construction drawing comprising one or more sheets, and determines a sheet identifier for each sheet. The construction drawing may be received in at least one format including PDF, DWG, DXF, IFC, or RVT. In some embodiments, the construction drawing is normalized for downstream processing by generating at least one rendered image representation of at least a portion of a sheet and by storing rendering parameters associated with the rendered image representation.
[0199] In some embodiments, rendering at least a portion of the construction drawing into a plurality of image tiles includes selecting a tiling scheme that partitions a sheet into a plurality of tile regions, where each tile region corresponds to a spatial region in sheet coordinates. The tiling scheme may include an overlap margin between adjacent tiles to reduce boundary artifacts. In some embodiments, the system selects a tile size in pixel units and a stride in pixelunits, and generates tile images by cropping from a rendered sheet image at the selected resolution.
[0200] In some embodiments, rendering into a plurality of image tiles at a plurality of zoom levels includes generating a multi-resolution pyramid of the sheet, where a first zoom level corresponds to a lower-resolution rendering and a second zoom level corresponds to a higher- resolution rendering. The plurality of zoom levels may include two or more resolutions, each resolution associated with a scale factor relative to a base resolution. In some embodiments, each zoom level is rendered using rendering parameters that preserve alignment to a common sheet coordinate system, thereby permitting a mapping from pixel coordinates of a tile at a given zoom level to drawing coordinates of the sheet.
[0201] In some embodiments, the system generates and stores, for each rendered tile, a tile identifier and tile metadata including: (i) the zoom level identifier; (ii) a tile bounding region in sheet coordinates; (iii) a pixel-to-sheet transform mapping pixel coordinates within the tile to sheet coordinates; and (iv) a reference to the source sheet identifier. In some embodiments, the pixel-to-sheet transform comprises an affine transform including scale and translation components derived from (a) the zoom level resolution and (b) the tile crop origin within the sheet rendering.
[0202] In some embodiments, executing multi-scale inference includes a low-resolution pass generating candidate regions and a high-resolution pass refining the candidate regions. In some embodiments, the low-resolution pass is executed on tiles rendered at a first zoom level and uses a first model and / or a first inference configuration to produce candidate regions for construction elements. Candidate regions may comprise axis-aligned bounding boxes, rotated bounding boxes, polygons, centerline segments, or mask-derived contours expressed in tile pixel coordinates.
[0203] In some embodiments, the candidate regions produced by the low-resolution pass are filtered prior to high-resolution refinement. Filtering may be based on at least one criterion including (i) a confidence score threshold, (ii) an object-class selection, (iii) a region size threshold, (iv) a region aspect ratio threshold, or (v) proximity to a sheet region of interest. In some embodiments, the system merges candidate regions generated from adjacent low- resolution tiles when candidate regions map to overlapping sheet-coordinate regions based on the pixel-to-sheet transforms.
[0204] In some embodiments, the high-resolution pass is executed on tiles rendered at a second zoom level that is higher than the first zoom level, and uses a second model and / or a second inference configuration to refine at least a subset of the candidate regions. Refinement may include updating one or more of: (i) a class label; (ii) a confidence score; (iii) a region geometry; or (iv) an instance segmentation mask. In some embodiments, the system generates high-resolution crops centered on the candidate regions by projecting the candidate regions from the low-resolution tile coordinate space into sheet coordinates and then into high- resolution tile pixel coordinates.
[0205] In some embodiments, the subset of candidate regions selected for high-resolution refinement is determined by a budget criterion, including a per-sheet inference budget or a perclass inference budget. In some embodiments, the system ranks candidate regions by confidence score, by predicted object size, and / or by proximity to expected annotation density, and selects a subset for refinement based on the ranking.
[0206] In some embodiments, aggregating tile-level detections into sheet-level construction elements includes mapping each tile-level detection geometry into drawing coordinates using a pixel-to-drawing coordinate transform. In some embodiments, the pixel-to-drawing coordinate transform is derived from a composition of (i) the tile-level pixel-to-sheet transform and (ii) a sheet-to-drawing transform derived from file-specific rendering parameters. The drawingcoordinate system may be a sheet coordinate system expressed in drawing units, optionally normalized to a canonical unit system.
[0207] In some embodiments, the system stores a pixel-to-drawing coordinate transform version identifier in association with each sheet to support traceability. In some embodiments, the system reuses the pixel-to-drawing coordinate transform for mapping tile detections generated at different zoom levels into a common drawing-coordinate space.
[0208] In some embodiments, non-maximum suppression is performed in drawing coordinates derived from the pixel-to-drawing coordinate transform. In some embodiments, the system computes an overlap metric between pairs of detections in drawing coordinates to identify redundant detections arising from (i) overlapping tiles, (ii) multi-scale inference passes, and / or (iii) multiple model heads. The overlap metric may include an intersection-over-union (loll) computed on bounding boxes or polygons, a mask overlap score, a distance-based overlap for centerlines, or a composite overlap score.
[0209] In some embodiments, non-maximum suppression includes: (i) grouping detections by construction element class; (ii) sorting detections within each class by confidence score; (iii) iteratively selecting a highest-ranked detection; and (iv) suppressing one or more remaining detections that satisfy an overlap threshold with the selected detection. In some embodiments, the overlap threshold is class-specific such that elongated elements (e.g., walls, ducts) use a different overlap threshold than discrete symbols (e.g., doors, outlets). In some embodiments, the system applies a second-stage suppression between detections of different classes when a cross-class incompatibility condition is satisfied, including where a symbol class is expected to be contained within a host element region.
[0210] In some embodiments, aggregating tile-level detections into sheet-level construction elements further includes merging partial detections into a unified sheet-level element. For example, a wall segmented across multiple tiles may be merged by snapping endpoints in drawing coordinates and joining collinear segments within a tolerance. In some embodiments, merging includes performing topology correction on polylines, including gap filling, intersection handling, and simplification, to generate a sheet-level geometry suitable for subsequent measurement.
[0211] In some embodiments, the system generates, for each sheet-level construction element, a sheet-level element record including: (i) a sheet-level element identifier; (ii) an element class label; (iii) a drawing-coordinate geometry; (iv) an aggregated confidence score derived from contributing tile-level detections; and (v) provenance references to contributing tile identifiers and zoom level identifiers. In some embodiments, the aggregated confidence score is computed as a function of at least one of (i) a maximum confidence among contributing detections, (ii) a weighted average confidence where weights are based on zoom level, or (iii) a consensus measure across low-resolution and high-resolution detections.
[0212] In some embodiments, the system stores intermediate artifacts associated with the tilebased rendering and multi-scale inference, including one or more of: (i) the tile images at respective zoom levels; (ii) low-resolution candidate regions; (iii) high-resolution refined detections; (iv) mapped drawing-coordinate geometries; and (v) suppression groupings and suppression decisions. In some embodiments, the intermediate artifacts are retained in a project cache to support incremental recomputation in response to a drawing revision, a model update, or a user edit.
[0213] In some embodiments, the described tile-based, multi-scale workflow is executed for a plurality of sheets in a project package by scheduling tile inference jobs and aggregating results per sheet. In some embodiments, the system maintains a per-sheet processing status indicating completion of (i) low-resolution tile inference, (ii) candidate region selection, (iii) high-resolution refinement, and (iv) drawing-coordinate aggregation with non-maximum suppression. In some embodiments, the system provides incremental outputs to a client device, including drawing overlays for tile-level detections and updated overlays for sheet-level construction elements after aggregation and suppression.
[0214] In some embodiments, determining the drawing scale by combining at least two of (i) optical character recognition applied to a rendered scale indicator region, (ii) extraction of selectable text from a PDF content stream, and (iii) parsing of viewport metadata from a CAD / BIM source file may be performed as part of the vision-based processing to support conversion of detected element geometry from pixel units into real-world units. In some embodiments, the drawing scale is stored as sheet-level metadata and is referenced by a measurement engine when converting pixel-coordinate geometry, derived from detections on rendered imagery, into quantities expressed in a target unit system.
[0215] In some embodiments, a construction drawing is received as one or more sheets in a file format including PDF, DWG, DXF, RVT, and / or IFC. For a given sheet, the system may generate a raster rendering at a selected resolution, and may store rendering parameters including a page size, crop region, rotation, and rendering DPI. In some embodiments, the system generates at least one pixel-to-sheet transform that maps pixel coordinates of the raster rendering to sheet coordinates, and a sheet-to-drawing transform that maps sheet coordinates to drawing coordinates. In some embodiments, a pixel-to-drawing coordinate transform is generated as a composition of the pixel-to-sheet transform and the sheet-to-drawing transform, thereby permitting mapping of a pixel coordinate (or a pixel-derived geometry) into drawing coordinates.
[0216] In some embodiments, the system identifies one or more candidate regions within the rendered sheet that plausibly contain scale information. Candidate regions may include a title block region, a legend region, and / or a region proximate to a view label or scale bar. Candidateregion identification may be performed using one or more of: template matching against known title block layouts, detection of keywords (e.g., "SCALE"), detection of graphic primitives consistent with a scale bar, and / or user configuration indicating an expected title block location.In some embodiments, the system maintains, per drawing source or per customer account, a configuration indicating coordinate bounds of a title block region in normalized page coordinates.
[0217] (i) OCR applied to a rendered scale indicator region. In some embodiments, the system applies optical character recognition to at least a portion of the raster rendering corresponding to a candidate scale indicator region. The OCR output may include recognized text strings, wordlevel bounding boxes, and token-level confidence values. In some embodiments, the system parses the OCR output to identify scale expressions and associated units, including imperial expressions (e.g., "1 / 8" = l'-0""), metric ratio expressions (e.g., "1:100"), and mixed statements (e.g., "Scale: l / 4"=l'-0""). In some embodiments, the system converts a recognized scale expression into a candidate numeric scale factor that maps drawing distances to real-world distances. For example, where a ratio expression "1:N" is recognized, the system may compute a scale factor as N in a consistent unit system, subject to unit normalization for the drawing coordinate system. In some embodiments, where an "as indicated" statement is recognized, the system may tag the sheet as having view-dependent scales and may attempt to obtain per- viewport scale via viewport metadata parsing and / or per-viewport indicator detection.
[0218] In some embodiments, OCR-based scale inference further includes detection of a graphical scale bar. The system may detect a bar-like geometry in the candidate region and detect tick marks or segment boundaries, and may apply OCR to adjacent labels indicating a real-world distance. In some embodiments, a candidate scale factor is computed by measuring a pixel length of a detected bar segment, mapping the pixel length into drawing coordinates using the pixel-to-drawing coordinate transform, and dividing a labeled real-world length by the drawing-coordinate length.
[0219] (ii) Extraction of selectable text from a PDF content stream. In some embodiments, when the construction drawing is a PDF including selectable text, the system extracts text operators and associated positioning information from a PDF content stream. The extracted information may include character strings, font attributes, and text positioning matrices. In some embodiments, the system searches extracted text for scale-related tokens and patterns within a title block region and / or a legend region. In some embodiments, the system extracts a scale statement from a text object having coordinates located within the region. In some embodiments, the system computes a candidate scale factor by parsing the extracted scalestatement, and stores a confidence score based on text extraction quality signals including font consistency, absence of OCR artifacts, and presence of units.
[0220] In some embodiments, selectable text extraction is used to retrieve per-viewport scale values when multiple viewports are present on a sheet. For example, the system may extract view label text and associated scale text (e.g., "A101 - Floor Plan - Scale 1 / 8" = l'-0"") and may associate the scale text with a viewport bounding region derived from nearby view boundary geometry. In some embodiments, per-viewport scale values are stored in association with corresponding viewport regions, and a subsequent measurement operation selects a scale value based on the viewport containing the measured element.
[0221] (iii) Parsing of viewport metadata from a CAD / BIM source file. In some embodiments, when the construction drawing is received as a CAD or BIM source file (e.g., DWG, RVT, IFC), the system parses metadata to infer units and view-to-sheet transforms. In some embodiments, metadata parsing includes reading unit settings, model space to paper space transforms, viewport scale properties, and / or view-specific parameters. For example, in a DWG source, the system may read paper space viewport objects and extract scale factors associated with viewports. For an RVT source, the system may read view properties including view scale and unit settings. In some embodiments, the system uses the parsed metadata to compute a candidate drawing scale factor that converts drawing-coordinate distances to real-world distances under a selected unit system.
[0222] In some embodiments, the system computes a combined drawing scale by combining at least two candidate scale factors obtained from the OCR pathway, the selectable text extraction pathway, and / or the metadata parsing pathway. Combining may include selecting a final scale factor based on a consistency check, and / or computing a weighted combination where weights are based on reliability indicators. Reliability indicators may include: token confidence values for OCR, presence of an explicit numeric ratio in selectable text, and / or a metadata source type indicating a view property rather than a user-entered annotation. In some embodiments, the system computes a difference metric between candidate scale factors and selects a candidate scale factor when the difference metric between the candidate and at least one other candidate satisfies a tolerance criterion. In some embodiments, when candidate scale factors conflict beyond a tolerance criterion, the system stores multiple candidates and flags the sheet for review, while selecting a provisional candidate scale factor based on a stored prioritization rule.
[0223] In some embodiments, the measurement engine applies the determined drawing scale to convert a detected element geometry from pixel units into real-world units. Detected element geometry may be produced by a vision model operating on the raster rendering and may include at least one of a bounding box, polygon, centerline polyline, or pixel mask contour expressed in pixel coordinates. In some embodiments, the measurement engine maps the pixelcoordinate geometry into drawing coordinates by applying the pixel-to-drawing coordinate transform, and then applies the determined drawing scale to convert drawing-coordinate distances into real-world distances. For example, a polyline length computed in drawing coordinates may be multiplied by a scale conversion factor and a unit conversion factor to output a length in feet or meters. In some embodiments, an area computed in drawing coordinates may be scaled by a squared scale factor and converted into a real-world area unit (e.g., square feet or square meters). In some embodiments, the measurement engine stores, for each measured quantity record, a scale source identifier indicating which of the OCR pathway, the selectable text extraction pathway, and / or the metadata parsing pathway contributed to the selected drawing scale, and stores at least one confidence value associated with the selected scale.
[0224] In some embodiments, where the construction drawing includes multiple viewports with different scales, the system maintains a set of scale regions and selects a scale per element based on spatial containment of an element geometry within a corresponding viewport region. In some embodiments, where a measured element crosses a viewport boundary, the system assigns the element to a viewport based on an overlap metric, and stores an exception record when overlap ambiguity satisfies an ambiguity criterion.
[0225] In some embodiments, the system validates the determined drawing scale by applying one or more plausibility checks. Plausibility checks may include comparing computed sizes of detected standard objects (e.g., typical door widths, typical stair tread depth) against a reference range, comparing room area magnitudes against a reference distribution, and / or comparing lengths computed from dimension strings against lengths computed from detected geometry. In some embodiments, when a plausibility check indicates an inconsistency, the system adjusts a confidence score associated with the selected drawing scale and may request user calibration input via a user interface.
[0226] In some embodiments, the system stores the determined drawing scale and associated provenance in an audit log. Provenance may include at least one of: (i) an identifier of therendered region used for OCR, (ii) an extracted PDF text object identifier and associated coordinates, (iii) a metadata field identifier from a CAD / BIM source, (iv) a timestamp, and (v) a model or parser version identifier associated with scale extraction. In some embodiments, the stored provenance supports later reconstruction of the scale determination pathway for a given sheet and supports review of quantity calculations that rely on the determined drawing scale.
[0227] In some embodiments, the drawing scale determination described herein is executed prior to quantity computation for a sheet, and the determined drawing scale is cached for reuse across multiple element measurements on the sheet. In some embodiments, when a drawing revision is received or when a user calibration is updated, the system invalidates a cached scale record for an affected sheet and recomputes the drawing scale using at least two of the described pathways, and then triggers recomputation of measured quantities for elements associated with the affected sheet.
[0228] In some embodiments, the system generates, for at least a subset of detected construction elements, provenance data that supports traceability between (i) outputs presented in a quantity takeoff report, a structured bill-of-qua ntities record, and / or a cost estimate and (ii) source evidence within a construction drawing and a technical specification, together with identifiers of model versions used to generate intermediate and final outputs. In some embodiments, the provenance data is generated during processing of a project package and is stored in association with at least one of a project identifier, a sheet identifier, an element identifier, or a line-item identifier.
[0229] In some embodiments, the provenance data includes a rendered tile identifier corresponding to a rendered image tile used by the vision-based processing. The rendered tile identifier may identify at least one of (i) a sheet from which the tile was rendered, (ii) a zoom level, (iii) a tile coordinate index, and (iv) rendering parameters associated with the tile. In some embodiments, the rendering parameters include at least one of a DPI, a crop origin, a rotation value, and a color-space identifier. In some embodiments, the tile identifier is generated when the system partitions a sheet into tiles for tile-based inference, and the system stores a mapping between the tile identifier and a tile bounding region in sheet coordinates and / or drawing coordinates. In some embodiments, the mapping includes a pixel-to-drawing coordinate transform (or a reference thereto) for converting pixel coordinates within the tile to drawing coordinates.
[0230] In some embodiments, the provenance data includes a geometric region identifier for a drawing-coordinate region used to generate measured quantities for a detected construction element. The geometric region identifier may reference a geometry representation in drawing coordinates, including at least one of a bounding box, a polygon, a centerline polyline, or a mask-derived contour converted into drawing coordinates. In some embodiments, the geometric region identifier further references a measurement method identifier indicating whether the measured quantity was generated from a length computation, an area computation, a count computation, a volume computation, or a derived computation based on class-specific rules. In some embodiments, the geometric region identifier is associated with a scale record identifier that indicates a drawing scale value used for conversion into real-world units and a scale source identifier indicating whether scale was derived from metadata, detected scale indicators, user-provided calibration, or a combination thereof. In some embodiments, the geometric region identifier is generated after aggregation of tile-level detections into a sheet-level representation and after any post-processing operations including non-maximum suppression, topology correction, and / or snapping of endpoints.
[0231] In some embodiments, the provenance data includes a specification passage identifier that includes a character-offset range within the technical specification. The specification passage identifier may include at least one of (i) a document identifier for the technical specification, (ii) a page identifier, (iii) a section identifier derived from detected headings or numbering patterns, and (iv) the character-offset range identifying start and end offsets within an extracted text stream. In some embodiments, the specification passage identifier additionally includes a text-extraction method identifier indicating whether the passage was derived from selectable text extraction, OCR, or table parsing. In some embodiments, where the specification passage corresponds to a table cell, the provenance data further includes a table identifier and cell coordinates including row and column indices and a header association record linking the cell to one or more header labels. In some embodiments, the character-offset range is stored relative to a normalized representation of the technical specification text produced after normalization operations including de-hyphenation and unit canonicalization, and the system stores an offset mapping for correlation to the original source representation.
[0232] In some embodiments, the provenance data includes a model version identifier for each of a vision model, a natural-language model, and a trained machine-learning cost model. The model version identifier for a given model may include at least one of a model name, a semanticversion string, a hash of model parameters, a training dataset identifier, a calibration dataset identifier, and an inference configuration identifier. In some embodiments, the inference configuration identifier includes at least one of a confidence threshold, a non-maximum suppression threshold, a tokenization configuration, a controlled vocabulary version identifier, or a feature schema version identifier. In some embodiments, the system stores, for a given project package processing run, a model bundle identifier that groups the model version identifiers for the vision model, the natural-language model, and the trained machine-learning cost model used during the run.
[0233] In some embodiments, the system associates the provenance data with a detected construction element by linking (i) an element identifier produced by the vision-based processing to (ii) a set of one or more rendered tile identifiers used to generate detections corresponding to the element and (iii) a geometric region identifier representing an element geometry used for measurement. In some embodiments, the system further associates the same element identifier with a specification passage identifier selected during element-to- specification association and / or conflict resolution. In some embodiments, when an element is linked to multiple candidate specification passages, the system stores multiple specification passage identifiers with corresponding association scores and stores a selected passage identifier as a resolved association when a confidence criterion is satisfied.
[0234] In some embodiments, the system stores the provenance data in an audit log as an evidence payload addressable by an API. The evidence payload may be configured for presentation in a client interface by enabling (i) rendering of a drawing overlay corresponding to the geometric region identifier and (ii) highlighting of specification text corresponding to the character-offset range of the specification passage identifier. In some embodiments, retrieval of the evidence payload returns, for a given line item, the tile identifier(s), geometric region identifier, specification passage identifier, and the model version identifiers to support review of quantity and cost outputs under a particular model bundle identifier.
[0235] In some embodiments, the provenance data is generated for a subset of detected construction elements selected based on at least one criterion. The criterion may include at least one of (i) an element class being included in a configured list of tracked classes, (ii) a vision confidence score being below a class-specific threshold, (iii) a mapping ambiguity being present between drawing-derived and specification-derived information, (iv) a cost uncertainty measure exceeding a threshold, or (v) user interaction indicating a review request for a displayed elementor line item. In some embodiments, when the criterion is satisfied, the system stores additional provenance fields including intermediate association candidates and confidence score components.
[0236] In some embodiments, the system updates provenance data in response to a user edit.A user edit may include at least one of modifying an element geometry, changing an element classification, adjusting a scale calibration, reassigning a specification passage, or selecting among alternative association proposals. In some embodiments, when a user edit modifies a quantity output, the system stores an updated geometric region identifier and stores a revision identifier linking a pre-edit provenance record to a post-edit provenance record. In some embodiments, when a user edit modifies a specification association, the system stores an updated specification passage identifier including an updated character-offset range, while retaining prior candidate passage identifiers as historical references under a revision lineage.
[0237] In some embodiments, the system uses the model version identifiers included in the provenance data to support reproducibility of outputs. For example, when a drawing revision or specification revision is processed, the system may retain provenance corresponding to a prior run and generate new provenance corresponding to a subsequent run, each run being associated with a different model bundle identifier or different inference configuration identifiers, thereby permitting comparison of outputs across processing states without conflating evidence references.
[0238] In some embodiments, the system performs fusion operations that compute an element-to-specification association score and generate an exception list entry responsive to an ambiguity criterion, and further stores, in association with the exception list entry, a feature vector comprising at least a drawing-derived feature, a specification-derived feature, and a pricing-derived feature for subsequent training.
[0239] In some embodiments, fusion is executed after (i) vision-based processing has generated, for a plurality of detected construction elements, element records including element class labels, geometries expressed in drawing coordinates, measured quantities, and drawingevidence references, and (ii) natural-language processing has generated specification records including extracted requirement constraints, material attributes, normalized identifiers mapped to a controlled vocabulary, and specification-evidence references. In some embodiments, the fusion is performed by a fusion service that accesses a project cache storing intermediateartifacts from the vision-based processing and the natural-language processing, and produces structured bill-of-quantities line items and associated association metadata.
[0240] Element-to-specification association score computation. In some embodiments, for a given detected construction element (or a group of detected construction elements), the system computes an association score between (a) the detected construction element and (b) a candidate controlled-vocabulary item and / or a candidate specification passage. In some embodiments, the association score is computed as a composite score including at least: (i) a spatial proximity metric between a detected tag location in the construction drawing and a detected element geometry; and (ii) a semantic similarity metric between extracted requirement constraints and a controlled vocabulary item.
[0241] Spatial proximity metric. In some embodiments, the vision-based processing produces a tag candidate record comprising (i) a tag location geometry (e.g., bounding box, centroid, or polygon) derived from OCR text detection and / or selectable text extraction and (ii) extracted tag text. In some embodiments, the system computes a spatial distance between the tag location geometry and the detected element geometry using at least one of: centroid-to-geometry distance, minimum edge-to-edge distance, overlap between a buffered tag region and the element geometry, or a leader-line endpoint association. In some embodiments, the spatial proximity metric is expressed as a normalized score in a bounded range and is optionally adjusted based on a view scale, zoom level, and / or drawing discipline metadata. In some embodiments, the system applies a region-of-interest constraint such that tag candidates within a title block region are excluded from association for element-level mapping.
[0242] Semantic similarity metric. In some embodiments, the natural-language processing outputs extracted requirement constraints as normalized text spans and structured entities including values and units. In some embodiments, the system computes an embedding for (i) the extracted requirement constraint text and (ii) one or more controlled vocabulary item descriptors, and computes semantic similarity using at least one of cosine similarity or dotproduct similarity in an embedding space. In some embodiments, the semantic similarity metric is additionally adjusted using rule-based compatibility filters based on at least one of: section identifiers, specification division identifiers, discipline context, expected quantity types, and unit compatibility. In some embodiments, where multiple requirement constraints are extracted for a candidate specification passage, the system computes an aggregated semantic similaritymetric by combining per-constraint similarity values using at least one of max pooling, mean pooling, weighted mean pooling using extraction confidence, or a learned scoring function.
[0243] Association score aggregation. In some embodiments, the element-to-specification association score is computed as:
[0244] S = w_spatial * S_spatia I + w_semantic * S_semantic + w_compat * S_compat + w_evidence * S_evidence,
[0245] where S_spatia I is the spatial proximity metric, S_semantic is the semantic similarity metric, S_compat is a compatibility metric, S_evidence is an evidence quality metric, and w_spatial, w_semantic, w_compat, and w_evidence are weights. In some embodiments, S_compat is derived from unit consistency between a measured-quantity unit type and an expected unit type for a controlled vocabulary item, and further derived from attribute-range consistency between a specification constraint value (e.g., thickness class, fire rating class) and a drawing-derived or BIM-derived parameter value. In some embodiments, S_evidence is computed using a classifier that assigns higher scores when the association relies on structured evidence (e.g., selectable PDF text, CAD block attributes, BIM parameters) relative to raster-only evidence.
[0246] Generation of an exception list entry under an ambiguity criterion. In some embodiments, after computing association scores for a plurality of candidate associations for a given detected construction element (or element group), the system evaluates an ambiguity criterion. In some embodiments, the ambiguity criterion is satisfied when at least one of the following occurs: (i) a margin between a highest-ranked association score and a second-highest- ranked association score is below a margin threshold; (ii) a highest-ranked association score is below a score threshold; (iii) a unit compatibility check indicates a mismatch between a measured-quantity unit type and an expected unit type for a candidate controlled vocabulary item; (iv) an attribute schema for a candidate controlled vocabulary item indicates an expected attribute that is absent or low-confidence in the extracted specification attributes; or (v) a spatial proximity score is inconsistent with a semantic similarity score beyond a disagreement threshold.
[0247] In some embodiments, when the ambiguity criterion is satisfied, the system generates an exception list entry. In some embodiments, the exception list entry is stored as an exception record comprising: (i) an exception type identifier; (ii) an element identifier and element class label; (iii) a set of candidate controlled vocabulary item identifiers and / or candidatespecification passage identifiers; (iv) association score components including the spatial proximity metric and the semantic similarity metric; and (v) provenance pointers including at least one drawing region identifier and at least one specification passage identifier including a character-offset range. In some embodiments, the exception record further includes a set of proposed resolutions comprising, for each candidate association, a proposed controlled vocabulary item identifier, a proposed attribute set, and a rationale vector indicating which evidence fields contributed to the candidate score.
[0248] In some embodiments, the exception list entry is generated at an aggregation level selected from: element-instance level, type level (e.g., door type, window type, equipment type), sheet level, or zone level. In some embodiments, for a type-level ambiguity, the system computes association scores for a group of elements sharing a tag family and generates a typelevel exception record that references the group and references at least a subset of the contributing element identifiers.
[0249] Storing a feature vector for subsequent training. In some embodiments, responsive to generation of the exception list entry, the system stores, in association with the exception list entry, a feature vector comprising at least a drawing-derived feature, a specification-derived feature, and a pricing-derived feature. In some embodiments, the feature vector is stored as a structured record in a project cache and / or a training-example store, indexed by an exception identifier and a project identifier. In some embodiments, the feature vector is stored for each candidate association, such that multiple candidate feature vectors are associated with a single exception list entry.
[0250] Drawing-derived features. In some embodiments, the drawing-derived feature includes at least one of: (i) the element class label; (ii) vision-model confidence score(s); (iii) geometric features derived from the detected element geometry, including length, area, volume, bounding-box aspect ratio, orientation histogram, and topology indicators; (iv) measured quantity value and unit; (v) drawing metadata including sheet identifier, discipline identifier, and view scale identifier; (vi) layer name tokens and / or CAD block name tokens; (vii) extracted tag text and tag pattern features; and (viii) evidence quality indicators indicating whether structured drawing entities were used to refine the detection.
[0251] Specification-derived features. In some embodiments, the specification-derived feature includes at least one of: (i) controlled vocabulary item identifier candidates; (ii) semantic similarity scores between requirement constraints and controlled vocabulary descriptors; (iii)extracted attribute key-value pairs including normalized values and units (e.g., thickness, grade, rating, finish system); (iv) specification section identifiers (e.g., division identifiers, section numbers) and heading tokens; (v) extraction confidence scores; (vi) table-derived indicators including whether an attribute originated from a table cell versus narrative text; and (vii) language identifier and normalization-path identifier.
[0252] Pricing-derived features. In some embodiments, the pricing-derived feature includes at least one of: (i) historical price statistics for a candidate item identifier and geography, including mean, median, quantiles, and volatility measures; (ii) market-data feed indicators including most-recent price, staleness, and source reliability rank; (iii) unit normalization factors between candidate pricing units and bill-of-quantities units; (iv) region adjustment factor and market adjustment factor values; and (v) a pricing-ambiguity indicator indicating the presence of multiple candidate pricing mappings for a controlled vocabulary item identifier.
[0253] In some embodiments, the system stores, with the feature vector, labels indicating the candidate association selected by a user during resolution of the exception list entry, thereby converting the stored feature vector into supervised training data. In some embodiments, prior to user resolution, the system stores the feature vector as an unlabeled training candidate, together with a set of candidate labels corresponding to the candidate controlled vocabulary item identifiers. In some embodiments, the system stores, in association with the feature vector, a model bundle identifier indicating versions of the vision model, natural-language model, and cost model in effect at the time the exception list entry was generated.
[0254] In some embodiments, storing the feature vector includes storing an association context window comprising a limited set of neighboring elements and neighboring specification passages. For example, in some embodiments, the feature vector includes aggregated features computed over a neighborhood of elements within a radius of a detected tag location, and includes aggregated features computed over a specification section containing a candidate passage, thereby enabling subsequent training to incorporate context-dependent association cues.
[0255] In some embodiments, the feature vector is stored in a form configured for subsequent training of at least one of: an association scoring model that predicts association likelihood; a reranker model that ranks candidate controlled vocabulary item identifiers; a pricing-mapping model that maps controlled vocabulary item identifiers to pricing identifiers; or a cost-model feature-selection model. In some embodiments, the stored feature vector is referenced duringcontinuous training triggered by discrepancies between predicted costs and subsequently received ground-truth costs, thereby permitting the training workflow to incorporate exception- derived features that were present during mapping ambiguity events.
[0256] In some embodiments, the exception list entry and associated feature vector are transmitted to a client device for review and resolution via a streaming channel. In some embodiments, the client device presents candidate associations and permits user selection of a resolution, and the system receives the user selection and stores a labeled example that links (i) the exception list entry identifier, (ii) the selected candidate association, and (iii) the corresponding feature vector. In some embodiments, the system subsequently uses the labeled example to update at least one of association scoring weights, controlled vocabulary aliases, or training data for a learned association model.
[0257] In some embodiments, the trained machine-learning cost model is configured to generate, for each line item of a cost estimate, (i) a predicted unit cost, (ii) a predicted total cost, and (iii) an uncertainty measure computed using at least one of quantile regression, conformal prediction, or bootstrapped ensemble dispersion, and to adjust the predicted unit cost using a market adjustment factor derived from a time-indexed market-data feed and a region adjustment factor derived from a geospatial mapping of supplier pricing zones.
[0258] In some embodiments, the system generates a structured bill-of-quantities record comprising a plurality of line items, each line item associated with a normalized item identifier, a quantity value, and a unit of measure. The system may generate, for each line item, a cost feature vector comprising at least: (a) the normalized item identifier; (b) the quantity value; (c) the unit of measure; (d) one or more specification-derived attributes (e.g., grade, thickness class, rating class, finish system); (e) a geography identifier associated with a project location; and (f) one or more pricing features derived from historical pricing records and / or market-data feed records. In some embodiments, the system normalizes units prior to cost modeling by converting the bill-of-quantities unit of measure to a canonical unit representation used by the pricing data, and stores a unit conversion record as provenance for the line item.
[0259] In some embodiments, the trained machine-learning cost model includes a gradient- boosted decision tree model, a neural network regression model, a generalized additive model, or an ensemble thereof. The model may be trained using historical estimate outcomes and / or ground-truth cost outcomes indexed by item identifiers and geography identifiers. In some embodiments, the model is trained to output at least a point estimate of unit cost and a pointestimate of extended cost, where extended cost is computed as a function of unit cost and quantity, subject to rounding and unit normalization. In some embodiments, the model is trained to output a total cost directly, and the system derives a unit cost by dividing the total cost by the quantity value when the quantity value is non-zero.
[0260] Predicted unit cost and predicted total cost. In some embodiments, for each line item, the system applies the trained machine-learning cost model to the corresponding cost feature vector to obtain a predicted unit cost. The predicted total cost may be computed as the product of the predicted unit cost and the quantity value, optionally after application of one or more adjustment factors described below. In some embodiments, the system computes both a predicted unit cost and a predicted total cost from separate model heads or separate models, and stores both values along with a reconciliation indicator representing whether the values are consistent within a tolerance criterion.
[0261] Uncertainty measure generation. In some embodiments, for at least one line item, the system generates an uncertainty measure associated with the predicted unit cost and / or the predicted total cost. The uncertainty measure may be represented as an interval, a distributional descriptor, and / or a discrete uncertainty category. In some embodiments, the uncertainty measure is computed using at least one of the following techniques.
[0262] (i) Quantile regression. In some embodiments, the trained machine-learning cost model is configured to output a lower quantile estimate and an upper quantile estimate for unit cost and / or total cost. The quantiles may correspond to a target coverage probability (e.g., 80%, 90%, 95%) stored in configuration. In some embodiments, the model outputs a median estimate and additional quantile estimates, and the system stores the quantile values as the uncertainty measure. In some embodiments, the system selects quantile levels based on a line-item class and / or a pricing volatility indicator.
[0263] (ii) Conformal prediction. In some embodiments, the system applies conformal prediction to generate an interval around a point prediction. The system may compute nonconformity scores using a calibration dataset associated with a model version identifier, and compute a prediction interval for a new line item by applying a quantile of the nonconformity scores to the point prediction. In some embodiments, the calibration dataset is segmented by geography identifier, item class, and / or quantity magnitude, and the system selects a segmentspecific calibration set based on the line item context.
[0264] (iii) Bootstrapped ensemble dispersion. In some embodiments, the system generates predictions using a plurality of model instances trained on bootstrapped samples of training data and computes dispersion of the predictions as an uncertainty measure. Dispersion may include standard deviation, median absolute deviation, or an interval defined by empirical quantiles across the ensemble predictions. In some embodiments, the ensemble comprises models trained under different feature subsets and / or different time windows of training data, and the system stores an ensemble configuration identifier with the line-item uncertainty measure.
[0265] In some embodiments, the system determines whether to output an uncertainty interval for a given line item based on a criterion including at least one of: (a) a pricing volatility metric exceeding a threshold; (b) staleness of a market-data feed record exceeding a threshold; (c) a count of historical price observations for the item identifier and geography being below a threshold; (d) presence of an exception record indicating mapping ambiguity for the line item; or (e) predicted extended cost exceeding a threshold. In some embodiments, when the criterion is not satisfied, the system outputs a point estimate with an uncertainty category selected from a set of categories stored in configuration.
[0266] Market adjustment factor derived from a time-indexed market-data feed. In some embodiments, the system obtains current pricing signals from a market-data feed that includes time-indexed updates for one or more item identifiers and one or more geographies. The market-data feed may include supplier catalog updates, commodity index updates, freight indices, labor rate updates, and / or quote responses. In some embodiments, the system normalizes market-data feed records into a schema that includes: (a) an item identifier mapping to the line-item normalized item identifier; (b) an effective timestamp; (c) a unit of measure; (d) a currency code; (e) a geography applicability indicator; and (f) a reliability indicator.
[0267] In some embodiments, the system computes a market adjustment factor as a function of at least one time-indexed signal from the market-data feed relative to a baseline date associated with a historical pricing record, a bid date, and / or a model training cutoff date. By way of example, in some embodiments the market adjustment factor is computed as:
[0268] MAF = P_current / P_baseline,
[0269] where P_current is a market-derived price signal for a line item at an effective timestamp and P_baseline is a baseline price signal for the same item identifier at a baseline timestamp, subject to unit and currency normalization. In some embodiments, P_current is ablended value derived from multiple market-data feed sources using weights determined by reliability indicators and staleness values.
[0270] In some embodiments, when the market-data feed provides an index delta rather than a direct price, the system computes the market adjustment factor using the index delta applied to a baseline unit price. In some embodiments, the system stores, for each line item, the marketdata feed record identifier(s) used to compute the market adjustment factor and stores a market adjustment provenance record including the effective timestamp and any blending weights.
[0271] Region adjustment factor derived from a geospatial mapping of supplier pricing zones.In some embodiments, the system computes a region adjustment factor using a geospatial mapping that associates a project location with a supplier pricing zone. The project location may be represented by at least one of a postal code, a coordinate pair, an administrative region identifier, or a geocoded address. In some embodiments, the supplier pricing zones are represented as polygons and / or hierarchical regions with associated zone identifiers.
[0272] In some embodiments, the system determines a zone identifier by performing a geospatial containment query using the project location against the supplier pricing zone polygons. In some embodiments, when multiple zones overlap the project location, the system selects a zone based on a priority rule and stores the candidate zones in a zone ambiguity record. In some embodiments, the region adjustment factor is retrieved from a zone-to-factor table indexed by zone identifier and item class, or computed as a function of at least one of local labor indices, transport cost indices, and / or supplier-specific multipliers.
[0273] In some embodiments, the region adjustment factor is computed as:
[0274] RAF = Z_factor(item_class, zonejd),
[0275] where Z_factor is stored as configuration and may be time-indexed. In some embodiments, RAF is computed using a distance-based function representing transport and logistics costs, including a function of distance between a project coordinate and a supplier distribution coordinate. In some embodiments, the system stores, for each line item, a region adjustment provenance record including the zone identifier, a geospatial mapping version identifier, and any distance parameters used.
[0276] Applying market and region adjustment factors to predicted unit cost. In some embodiments, the system generates an adjusted predicted unit cost by applying both the market adjustment factor and the region adjustment factor to an unadjusted predicted unit costoutput by the trained machine-learning cost model. The adjusted predicted unit cost may be computed as:
[0277] UnitCost_adjusted = UnitCost_base * MAF * RAF,
[0278] where UnitCost_base is the predicted unit cost from the trained model prior to adjustments. In some embodiments, the system applies the adjustments as features prior to model inference rather than as multiplicative post-processing, including by providing MAF and RAF as inputs to the trained model and outputting the adjusted predicted unit cost directly.
[0279] In some embodiments, the system determines an order of operations for adjustments and currency conversions. For example, the system may compute UnitCost_base in a canonical currency and unit, apply MAF and RAF in the canonical representation, and then convert the adjusted unit cost to a user-selected currency and unit. In some embodiments, the system stores a conversion provenance record identifying exchange rate table identifiers and unit conversion factors used.
[0280] Uncertainty propagation under adjustment factors. In some embodiments, the system propagates the uncertainty measure through the application of MAF and RAF. For example, when the uncertainty measure is an interval [L_base, U_base] for the unit cost, the system may compute an adjusted interval [L_adj, U_adj] as:
[0281] L_adj = L_base * MAF * RAF
[0282] U_adj = U_base * MAF * RAF.
[0283] In some embodiments, where MAF and / or RAF are associated with uncertainty (e.g., derived from multiple market sources or a staleness indicator), the system widens the adjusted interval responsive to a volatility feature and / or staleness feature. In some embodiments, interval widening is computed using a multiplier derived from market volatility of the time- indexed feed and / or dispersion across multiple feed sources.
[0284] Scenario outputs and alternative estimate states. In some embodiments, the system generates multiple estimate states for a project, including a baseline estimate state without market adjustment, a market-adjusted estimate state, and a region-adjusted estimate state. In some embodiments, the system stores, for each estimate state, (a) the adjustment factor values used, (b) the market-data feed effective timestamp, and (c) a pricing zone identifier used. In some embodiments, the system outputs, for at least a subset of line items, both unadjusted and adjusted unit costs and totals, together with the uncertainty measures corresponding to each state.
[0285] Provenance and auditability. In some embodiments, for each line item, the system stores provenance data indicating: (a) a model version identifier for the trained machinelearning cost model; (b) a market-data feed record identifier and effective timestamp used for MAF; (c) a geospatial mapping version identifier and supplier pricing zone identifier used for RAF; (d) a unit normalization record; and (e) an uncertainty-method identifier indicating whether quantile regression, conformal prediction, and / or bootstrapped ensemble dispersion was used. In some embodiments, the provenance data is stored in an audit log keyed by project identifier and line-item identifier and is retrievable via an API for rendering in a user interface. In some embodiments, when a user modifies a market source selection or a region mapping input, the system stores an adjustment event record and recomputes the adjusted predicted unit cost and uncertainty measure for affected line items, while retaining prior provenance records under a revision identifier.
[0286] Additional example embodiments. In some embodiments, the market-data feed comprises both (i) a commodity index time series and (ii) supplier quote responses, and the system computes MAF by selecting between the commodity index and a quote-derived price responsive to a reliability indicator. In some embodiments, a line item corresponding to reinforcing steel uses a commodity-index-derived MAF computed from a steel index update and a region-specific RAF computed from a supplier zone corresponding to a project postal code. The system outputs a predicted unit cost and a predicted total cost, and outputs an uncertainty interval widened responsive to a market volatility metric computed from the index time series over a time window.
[0287] In some embodiments, the geospatial mapping includes multiple supplier pricing zone layers corresponding to different supplier networks, and the system selects a supplier network based on an item class and a procurement preference stored in project metadata. The system computes RAF using the selected supplier network zone and stores, in provenance, both the supplier network identifier and the zone identifier. In some embodiments, when the project location is proximate to a pricing zone boundary, the system stores alternative RAF candidates and outputs alternative adjusted unit costs and uncertainty intervals corresponding to the alternative candidates for presentation in a review workflow.
[0288] In some embodiments, a computer-implemented method is provided for automated construction quantity takeoff and cost estimation using a project package that includes at least a construction drawing and a technical specification. The method may be executed by one ormore processors that access one or more non-transitory memories storing instructions and data structures described herein.
[0289] In some embodiments, the method includes receiving, via an input pathway, the project package comprising (i) one or more construction drawing files and (ii) one or more specification files. The drawing files may include two-dimensional and / or three-dimensional source representations in formats including PDF, DWG, DXF, RVT, and IFC. The specification files may include formats including PDF, DOCX, plain text, and image-based scans. In some embodiments, the received files are stored in a document store and are associated with identifiers including a project identifier, a sheet identifier for each drawing sheet, and a document identifier for each specification document.
[0290] In some embodiments, the method includes enhancing at least a portion of the construction drawing and detecting construction elements using a vision model. Enhancing may include generating a raster rendering of at least a portion of the construction drawing and performing at least one preprocessing operation on the raster rendering prior to detection. Preprocessing operations may include de-skewing, contrast normalization, noise reduction, brightness normalization, and tile-based local contrast adjustment. In some embodiments, enhancement is performed per tile to account for varying scan quality across a sheet, and the enhanced tiles are stored as intermediate artifacts in association with the sheet identifier.
[0291] In some embodiments, detecting construction elements comprises applying the vision model to at least a portion of the enhanced raster rendering to output, for each detected construction element, (i) an element class label, (ii) an element geometry expressed in pixel coordinates and / or drawing coordinates, and (iii) a confidence score. In some embodiments, the element geometry includes at least one of a bounding box, a polygon, a centerline polyline, or a mask-derived contour.
[0292] In some embodiments, the method includes performing multi-scale inference. Multiscale inference may include a first pass performed on a lower-resolution rendering to generate candidate regions and a second pass performed on a higher-resolution rendering to refine at least a subset of the candidate regions. Candidate regions may be filtered for refinement based on at least one criterion including confidence, class type, region size, region aspect ratio, and proximity to regions of interest. In some embodiments, candidate regions are projected between resolutions using stored tile metadata including pixel-to-sheet transforms.
[0293] In some embodiments, the method includes determining a pixel-to-drawing coordinate transform for at least a portion of the construction drawing and converting detected element geometry from pixel units to drawing units prior to quantity computation. The pixel-to-drawing coordinate transform may be derived from rendering parameters and file-specific coordinate mappings, and may include at least translation, rotation, and scaling components. In some embodiments, the transform is stored as a versioned artifact to support repeatability when reprocessing due to drawing revision and / or user edits.
[0294] In some embodiments, the method includes determining a drawing scale by combining at least two independent scale signals, including at least two of: (i) optical character recognition applied to a rendered region of the construction drawing; (ii) extraction of selectable text from a PDF content stream; and (iii) parsing of metadata from a CAD or BIM source file. In some embodiments, OCR is applied to a candidate region associated with a title block and / or legend area to identify a written scale statement and / or labels adjacent to a graphical scale bar. In some embodiments, selectable text extraction retrieves a scale statement and associated coordinates from text operators within a PDF content stream. In some embodiments, metadata parsing obtains view scale, unit settings, and view-to-sheet transforms from CAD / BIM constructs including viewport properties and view parameters. In some embodiments, the method computes candidate scale factors from the respective signals, performs a consistency check among candidate scale factors, and selects a scale factor based on a rule set and / or confidence- weighted selection, while optionally storing non-selected candidates as alternatives for review.
[0295] In some embodiments, the method includes generating measured quantities for detected construction elements using a measurement engine. The measurement engine may map pixel-derived geometry into drawing coordinates using the pixel-to-drawing coordinate transform and may convert drawing-coordinate measurements into real-world units using the selected scale factor and a unit normalization table. Measured quantities may include at least one of length, area, count, and volume, and may further include derived quantities based on class-specific computations. For example, where an element class corresponds to a wall, measured quantities may include wall length, wall surface area, and a derived finish quantity based on finish height constraints extracted from the technical specification. In some embodiments, measured quantities are stored as element-level quantity records, each quantity record including an element identifier, a quantity value, a unit, a measurement method identifier, and a scale record identifier.
[0296] In some embodiments, the method includes extracting requirement constraints and material attributes from the technical specification using a natural-language model. Extraction may begin with text extraction using a format-dependent pathway, including direct text extraction for digital documents and OCR for image-based scans. In some embodiments, extracted text is normalized prior to semantic analysis by applying de-hyphenation, whitespace normalization, unit canonicalization, numeric normalization including conversion of fractions and mixed units, and correction of low-confidence OCR tokens using a domain lexicon. In some embodiments, the method segments the specification into sections based on headings and numbering patterns, and stores a section index to associate extracted entities with section identifiers.
[0297] In some embodiments, the natural-language model performs semantic analysis and entity recognition to identify materials, assemblies, performance requirements, tolerances, finishes, installation constraints, and references to standards. In some embodiments, requirement constraints include at least one of thickness, strength, rating class, finish system, and installation condition. In some embodiments, material attributes include manufacturer names, product families, part numbers, and substitution constraints when present. In some embodiments, the method parses tables and schedules, converts table rows into structured records, and associates extracted values with corresponding header labels, while storing provenance identifiers for cells and page regions.
[0298] In some embodiments, the method includes mapping extracted text to a controlled vocabulary of construction items and material classes. The controlled vocabulary may include item identifiers, aliases, expected unit types, and permissible attribute schemas. Mapping may be computed using embedding similarity between extracted phrases and controlled vocabulary descriptors, optionally combined with rule-based filters based on section context and unit compatibility. In some embodiments, the method generates ambiguity records when multiple candidate mappings satisfy a similarity criterion within a threshold band and stores candidate item identifiers with respective scores for review.
[0299] In some embodiments, the method includes generating a structured bill-of-qua ntities record by fusing (i) detected construction elements and corresponding measured quantities and (ii) extracted requirement constraints and material attributes. The structured bill-of-quantities record may be represented as a set of line items, each line item including a normalized item identifier, a quantity value, a quantity unit, and an attribute set. In some embodiments, fusingincludes computing an element-to-specification association score for candidate associations between a drawing-derived element (or element group) and a specification-derived item record. The association score may include (i) a spatial proximity metric between a detected tag location in the construction drawing and a detected element geometry and (ii) a semantic similarity metric between extracted specification text and a controlled vocabulary item. In some embodiments, the spatial proximity metric is computed using at least one of minimum edge-to- edge distance, overlap between a buffered tag region and the element geometry, and leaderline endpoint association. In some embodiments, the semantic similarity metric is computed using embeddings generated by the natural-language model and is adjusted by rule-based compatibility checks including unit compatibility and section compatibility.
[0300] In some embodiments, the fusion process generates an exception list identifying at least one of (i) an element classification ambiguity, (ii) a specification mapping ambiguity, or (iii) a pricing ambiguity. An exception record may be generated when an ambiguity criterion is satisfied, including where (a) a margin between a highest-ranked association score and a second-highest-ranked association score is below a margin threshold, (b) a highest-ranked association score is below a score threshold, (c) a unit compatibility check indicates a mismatch, and / or (d) an expected attribute is missing or low-confidence. In some embodiments, the exception record stores candidate associations, score components, and provenance pointers, and is exposed for user review via an interface and / or an API.
[0301] In some embodiments, the method includes receiving user corrections associated with an exception record and storing the user corrections as labeled training data. User corrections may include reassigning an item identifier, selecting a different specification passage, adjusting a quantity unit, correcting an extracted attribute value, and / or selecting among candidate associations. In some embodiments, the labeled training data includes a representation of the pre-correction state and the post-correction state, along with identifiers for the affected element, line item, sheet, and specification passage.
[0302] In some embodiments, the method includes generating a cost estimate by applying a trained machine-learning cost model to the structured bill-of-q ua ntities record and to pricing data obtained from at least one of a cost database or a market-data feed. Pricing data may include historical pricing indexed by item identifier, geography identifier, and date, and current pricing signals derived from a time-indexed feed including supplier updates, indices, labor publications, and / or quote responses. In some embodiments, the method builds a cost featurevector for each line item, including at least: (i) normalized item identifier; (ii) quantity value and unit; (iii) specification-derived attributes; (iv) project metadata including geography; and (v) pricing features derived from historical records and / or market feed records.
[0303] In some embodiments, the trained machine-learning cost model outputs predicted unit cost and predicted total cost for each line item. In some embodiments, the trained machinelearning cost model further outputs an uncertainty measure for at least one line item, where the uncertainty measure is computed using at least one of quantile regression, conformal prediction, or bootstrapped ensemble dispersion. In some embodiments, the uncertainty measure is represented as a lower bound and an upper bound associated with a target coverage probability, and the target coverage probability is configurable per item class and / or per pricing volatility category.
[0304] In some embodiments, generating the cost estimate includes adjusting at least one predicted unit cost using (i) a market adjustment factor derived from a time-indexed marketdata feed and (ii) a region adjustment factor derived from a geospatial mapping of supplier pricing zones. A market adjustment factor may be computed using a ratio of a current market- derived price signal to a baseline price signal associated with a historical record and / or a baseline date. A region adjustment factor may be computed by mapping a project location to a supplier pricing zone identifier using a geospatial containment query and retrieving a zonespecific multiplier indexed by item class and / or supplier network. In some embodiments, the method stores, for each adjusted line item, identifiers for the market feed records used, the effective timestamps, the pricing zone identifier, and a geospatial mapping version identifier. In some embodiments, the uncertainty measure is propagated through the adjustment factors by scaling interval bounds and optionally widening the interval based on market volatility indicators and / or feed staleness indicators.
[0305] In some embodiments, the method includes storing provenance data for at least one line item of the structured bi ll-of-quantities record and / or the cost estimate. Provenance data may comprise at least one of a drawing region identifier, a rendered tile identifier, a specification passage identifier including a character-offset range, and a model version identifier. In some embodiments, the drawing region identifier includes a geometry representation in drawing coordinates and references the scale record used for measurement. In some embodiments, the rendered tile identifier identifies a zoom level and tile bounds used during vision processing. In some embodiments, the specification passage identifier identifies adocument identifier, page identifier, section identifier, and character-offset range within a normalized text stream used for extraction.
[0306] In some embodiments, the method includes storing, in an audit log, provenance data linking each bill-of-quantities line item to a drawing region and / or a specification passage. The audit log may store audit records keyed by project identifier and line-item identifier, and an audit record may further store operation identifiers corresponding to at least initial processing, user edit, recomputation, and export. In some embodiments, audit records include model version identifiers for the vision model, the natural-language model, and the trained machinelearning cost model used to produce the outputs.
[0307] In some embodiments, the method includes transmitting incremental updates to a client device via a WebSocket service as intermediate outputs are generated. Incremental updates may include detection overlays, measured quantity updates, provisional line items, exception list updates, and cost line item updates. In some embodiments, each incremental update includes a revision identifier and a target identifier, and is provided as a patch-form update to reduce bandwidth and permit a client device to update a display without retrieving a complete project state.
[0308] In some embodiments, the method includes generating at least one report and outputting the report via a user interface and / or an export pathway. Reports may include at least one of a quantity takeoff report, a structured bill-of-quantities export, a cost estimate report, and an exceptions report. The output may be provided as structured data and / or formatted documents suitable for downstream integration with external construction management tools.
[0309] In some embodiments, the described processing is executed incrementally with caching of intermediate artifacts. Intermediate artifacts may include enhanced image tiles, detection outputs, pixel-to-drawing transforms, scale candidates, measured quantity records, extracted specification entities, mapping candidates, association scores, and per-line-item feature vectors. In some embodiments, upon receipt of a drawing revision, a specification revision, refreshed market pricing, and / or a user edit, the method determines a recomputation scope using dependency relationships among intermediate artifacts and recomputes an affected subset while reusing unaffected cached artifacts.
[0310] In another aspect, the present invention relates to a system for automated quantity takeoff and cost estimation in construction projects may comprise several components, whichfunction in an integrated manner to facilitate accurate analysis of construction documentation and reliable estimation of project costs. The system's architecture may include the following key components:
[0311] (a) Input Module: This module is designed to receive construction-related documents in numerous file formats, including but not limited to PDF, DWG, RVT, DXF, and IFC. The module is capable of validating the received file formats to ensure compatibility and may convert nonstandard formats into a compatible form for further processing.
[0312] (b) Vision Al Processing Unit: Within this unit, construction drawings are analyzed to extract architectural elements. An image enhancement sub-module may be included to optimize drawing quality by enhancing resolution and reducing noise. The unit employs deep learning algorithms to identify and recognize structural components such as walls and floors with a high degree of accuracy.
[0313] (c) Natural Language Processing (NLP) Module: This module interprets technical specifications within construction documents. Through semantic analysis, the NLP module parses and extracts pertinent data, deciphering complex textual documentation to identify relevant materials and project requirements. The capability to understand documents in multiple languages may also be provided.
[0314] (d) Machine Learning (ML) Engine: The ML engine is tasked with predicting project costs by analyzing historical project data alongside real-time market information. It uses algorithms, potentially of the gradient boosting variety, to deliver cost estimates that factor in market fluctuations and regional price variations.
[0315] (e) User Interface: A user-friendly interface presents the results and reports generated by the system. This interface may include visualization tools that allow for interactive exploration of project data, enabling users to perform analysis on construction quantities and cost estimates dynamically. The interface facilitates various export options for reports, including formats such as PDF, Excel, and CSV.
[0316] (f) API Integration Framework: To support communication with external project management software, this framework provides standard interfaces using REST and GraphQL protocols. Moreover, real-time data synchronization is enabled through WebSocket connections, ensuring seamless integration and data exchange with industry-standard tools and platforms.
[0317] The described system structure is designed to enhance the speed and accuracy of construction project management processes by automating the analysis of construction drawings and specifications and providing precise cost estimations. Through its sophisticated Al- driven modules and extensive integration capabilities, the system reduces human error and optimizes project planning and execution, all while maintaining compliance with security standards and performance requirements.
[0318] Fig. 1 shows a system flow diagram depicting the automated process for construction quantity takeoff and cost estimation. The diagram is organized into four main sections: Input, Al Processing, Analysis, and Output, illustrating the sequential flow of information through the system.
[0319] In the Input section, the system receives various data sources. Construction Drawings represent source documents, including 2D and 3D plans in multiple formats. Technical Specifications provide written documentation detailing project requirements and materials. Historical Cost Data encompasses previous project data and current market pricing information, which serve as inputs for subsequent processing steps.
[0320] The Al Processing section comprises three modules. The Vision Al Module processes and analyzes construction drawings. The NLP Module interprets technical specifications and documentation, ensuring accurate extraction of relevant information. The ML Cost Engine applies machine learning algorithms for cost prediction, integrating additional data such as figures from layered PDFs to enhance forecasting accuracy.
[0321] The Analysis section includes Quantity Takeoff, which performs automated calculations of material quantities, and Material Classification, which systematically categorizes construction elements. Cost Prediction is the final element in this section, generating cost estimates based on both current and historical data.
[0322] The Output section presents the processed data through Detailed Reports, providing comprehensive documentation of quantities and specifications. Cost Estimates deliver detailed pricing breakdowns and total cost projections, while Project Analytics offers advanced insights and visualization of project metrics, showcasing the system's integrated reporting capabilities.
[0323] Arrows within the diagram indicate the data flow between components, reflecting how information is systematically processed and refined throughout the system. The illustration captures the interconnected nature of the system's architecture, highlighting its automated and efficient approach to construction quantity takeoff and cost estimation.
[0324] The system includes a Vision Al processing unit, which is further enhanced by an image enhancement sub-module to optimize the quality of construction drawings prior to analysis. The image enhancement sub-module is configured to perform several operations that improve the visual clarity and analytical precision of the drawing data.
[0325] In an embodiment, the image enhancement sub-module utilizes algorithms for adjusting the brightness and contrast of the images, facilitating improved visibility of lines and details within the drawings. This adjustment may include adaptive histogram equalization techniques, which enhance the contrast locally, highlighting specific architectural features without increasing noise elsewhere.
[0326] Furthermore, the sub-module is capable of identifying and reducing artifacts such as blurring or jagged edges that could interfere with accurate data extraction. In one aspect, it applies deblurring algorithms, using techniques such as blind deconvolution, to resolve image blur that originates from various factors like motion or low camera shutter speed during scanning.
[0327] The image enhancement sub-module also implements noise reduction techniques. It employs filters such as median or bilateral filters, which selectively reduce noise while preserving edges and crucial details in the drawings, enhancing the system's ability to recognize architectural elements accurately.
[0328] The image enhancement capabilities extend to converting low-resolution raster images into higher fidelity vector formats, facilitating precise element recognition by the Vision Al advancements. The conversion process involves edge detection algorithms, for instance, the Canny edge detector, followed by vectorization processes to delineate structural outlines.
[0329] Another embodiment includes color normalization processes, useful in 3D drawings where varied color palettes represent different elements. The sub-module standardizes these colors to match system-recognized palettes, enhancing consistency in Al-driven element detection across diverse documents.
[0330] The system's integration of these image enhancement procedures serves to refine input data, reducing potential errors in subsequent Vision Al analysis stages. As shown in Fig. 1 within the Al Processing section, the enhanced drawing quality ensures high-confidence extraction and characterization of structural components, contributing significantly to the overall accuracy of the automated quantity takeoff and cost estimation.
[0331] The Natural Language Processing (NLP) module is designed to parse and extract data from specification documents through the application of advanced semantic analysis techniques. This module is integral to the automated system for construction quantity takeoff and cost estimation and operates in coordination with the overall architecture to achieve precise data interpretation and extraction.
[0332] In one embodiment, the NLP module employs a BERT-based model, or similar advanced NLP framework, that enables context-aware analysis of construction specification documents. This system can process various languages, allowing for adaptability in multilingual projects. The semantic analysis begins with the initial parsing of technical documents, where the BERT model segments the text into manageable units, identifying relevant sections containing material specifications, measurements, and technical requirements.
[0333] The module utilizes domain-specific word embeddings that have been trained on a substantial corpus of construction-related documents, enhancing the system's ability to accurately recognize and categorize terminology unique to the construction domain. Through these embeddings, the system can effectively disambiguate terms that may have contextspecific meanings, thereby preventing errors in data extraction.
[0334] An additional layer of the NLP module involves the application of regular expression patterns, which are pre-configured to detect structured data formats common in specification documents, such as tables, lists, and itemized requirements. By leveraging these patterns, the module systematically extracts key values, measurements, and specifications necessary for further analysis.
[0335] The interpreted data undergoes a mapping process to align extracted materials with their corresponding specifications and quantities, facilitating the seamless integration of textbased inputs with other data sources within the system. This mapping is shown in the data flow paths between the NLP Module and Analysis section in Fig. 1, illustrating how extracted information is systematically integrated into the cost prediction process.
[0336] For example, when the system encounters intricate technical tables within a specification document, the advanced parsing engine within the NLP module dissects the table structure, extracting columns and rows into a structured data format for enhanced analysis. This structured data is then correlated with known standard materials and codes, completing the specification-to-quantity mapping function.
[0337] Moreover, the system is configured to recognize industry-standard specification formats utilized in different construction sectors, such as the Construction Specifications Institute (CSI) MasterFormat, enhancing interoperability with documents drafted under various standards. This capability allows for accurate interpretation and ensures consistent data extraction, regardless of the specification format encountered.
[0338] In another embodiment, the NLP module's functionality is augmented through machine learning-enhanced entity recognition capabilities. This enhancement allows the system not only to identify key material and component references within the text but also to dynamically expand its entity list through continuous learning from newly analyzed documents. The learning process, whereby entities and material specifications are incrementally updated, ensures ongoing improvement of the module's accuracy and relevance.
[0339] As part of the data validation checks, the NLP module incorporates a feedback mechanism within the user interface, allowing users to review and validate the extracted information. Users can interact with the data visualization tools to confirm or correct interpreted values, with validated corrections enhancing the module's future parsing accuracy.
[0340] This multifaceted approach outlined above, supported by the technologically sophisticated components within the NLP module, delivers accurate interpretation and semantic analysis of construction specification documents. The capabilities described ensure reliable integration of text-based inputs, pinpointed extraction of actionable insights, and heightened compatibility with diverse document types, which altogether enhance the efficacy and reliability of the automated construction quantity takeoff and cost estimation system.
[0341] The system described incorporates a machine learning (ML) engine that employs a gradient boosting algorithm to achieve accurate cost predictions for construction projects. This algorithm is a powerful ensemble learning technique that combines predictions from multiple models to enhance accuracy and robustness in estimation tasks.
[0342] In one embodiment, the gradient boosting algorithm is implemented using XGBoost, known for its efficiency and scalability in handling large datasets. This approach involves training the model on historical project data, including factors such as material costs, labor expenses, and project timelines, to identify patterns that influence project cost outcomes. The ML engine maintains a repository of historical datasets, updated continuously with new project data to refine the model's predictive capabilities.
[0343] The implementation starts with the preprocessing of input data, which includes cleaning, normalization, and transformation into a suitable format for the ML model. This step ensures that all data fed into the model is consistent and standardized, which is crucial for the accuracy of predictions. The data may include diverse inputs such as drawings, technical specifications, market trends, and regional cost variations.
[0344] Once the data is preprocessed, the gradient boosting algorithm iteratively builds decision trees, where each subsequent tree seeks to correct errors made by previous trees. This progressive refinement allows the model to fine-tune its cost predictions over time. The algorithm's ability to focus on minimizing the residuals from prior models enables it to capture complex relationships within the data, leading to more precise estimates.
[0345] An embodiment includes feature importance analysis, where the ML engine identifies key parameters that most significantly impact cost predictions. This analysis assists in understanding factors like material price fluctuations, labor rates, and location-specific costs that may drive overall project expenses. The resulting insights enable users to adjust project plans proactively based on influential cost drivers.
[0346] Another embodiment leverages cross-validation techniques to validate the model's performance, ensuring that it generalizes well across different project types and conditions. The ML engine assesses its predictions against actual historical outcomes, adjusting its parameters to optimize accuracy across various scenarios. This method helps prevent overfitting, where the model would otherwise perform well on training data but poorly on unseen data.
[0347] The system is equipped with a market analysis sub-module that performs real-time evaluations of market trends, as shown in Fig. 2, API Gateway section. It continuously updates its predictive models with current supplier pricing and availability information, adjusting cost estimates to reflect market volatility. This dynamic adjustment process ensures that the estimates provided stay relevant, allowing project managers to make informed decisions under changing economic conditions.
[0348] In operation, the cost prediction output generated by the ML engine is integrated into the user interface, where it is combined with visual data analytics tools to deliver an interactive experience for users assessing project costs. Users can explore cost estimations alongside key metrics and visualization charts, contributing to a more informed project planning process.
[0349] Furthermore, the ML engine's gradient boosting approach supports real-time scenario testing, enabling what-if analyses. Users can simulate different project conditions, such asvariations in material costs or labor rates, to evaluate their potential impact on overall project budgets. This scenario testing capability facilitates risk management and strategic planning within the construction project management framework.
[0350] Overall, the utilization of a gradient boosting algorithm within the described system elevates the accuracy and reliability of construction cost estimations, playing an integral role in streamlining project management by providing rapid, data-driven insights that accommodate both historical patterns and real-time market dynamics.
[0351] Fig. 2 shows a technical architecture schema for an Al-based automated system utilized in construction quantity takeoff and cost estimation. The architecture is structured in several layers, emphasizing the hierarchical and interconnected structure of its components.
[0352] The Frontend Layer is depicted at the top and includes multiple access interfaces. It provides a Web Interface for browser-based access, a Mobile Interface for native mobile applications, and a Desktop Application designed for enhanced processing capabilities. These interfaces enable flexible user interactions across diverse platforms.
[0353] Below the Frontend Layer is the API Gateway which comprises a REST API for synchronous communication, a GraphQL API for complex data queries, and a WebSocket Service facilitating real-time data synchronization. This gateway ensures interaction between the frontend and backend components, supporting various communication protocols.
[0354] The Al Core Services section is divided into key processing units: Vision Processing, NLP Processing, and the ML Engine. Vision Processing incorporates an Image Enhancement module for drawing optimization, an Element Recognition system utilizing deep learning for detecting architectural components, and a Measurement Engine dedicated to dimension and quantity calculations. The NLP Processing unit employs models such as BERT for semantic analysis, handling Text Extraction and Semantic Analysis of project specifications. The ML Engine includes Cost Prediction features using predictive analytics, Market Analysis for trend evaluation, and Model Training for ongoing optimization.
[0355] At the base of the architecture lies the Data Layer, integral for data management, comprising a Document Store for project documentation, a Cost Database for current and historical pricing, and a Project Cache for temporary data storage. The bidirectional connections between these components illustrate the data flow and real-time processing abilities of the system. This architecture supports efficient integration and seamless operation, bolstering thesystem's capacity to process construction documents and provide accurate cost estimations through Al-driven analysis.
[0356] Fig. 3 shows the integration diagram of the system, emphasizing the connectivity between the core Al-based quantity takeoff (QTO) system and various external construction software platforms. The core system, labeled as Al-Based QTO System, serves as the central processing unit and facilitates interactions with various file formats and external software through multiple data exchange protocols.
[0357] The authentication layer comprises OAuth 2.0 for secure protocol management and JWT Tokens for token-based authorization. This layer ensures secure communication and data integrity within the system and external platforms.
[0358] External software integration is depicted through connections with industry-standard applications, including Revit for building information modeling, AutoCAD for computer-aided design, MS Project for project management, BIM 360 for cloud-based design collaboration, and Procore for construction management connectivity. These integrations enable seamless data exchange and enhance project workflows.
[0359] Data exchange protocols are demonstrated through REST Endpoints, GraphQL API, and WebSocket channels, allowing flexible and real-time communication. These protocols support a robust framework for data retrieval, manipulation, and synchronization across different platforms.
[0360] Supported input file formats include DWG, RVT, PDF, IFC, and DXF, highlighting the system's ability to handle various industry-standard formats. Export format capabilities such as Excel, CSV, PDF Reports, and JSON ensure versatility in data presentation and sharing.
[0361] The integration diagram showcases the bidirectional flow of data facilitated by connecting lines, emphasizing the system's robust interoperability and comprehensive integration capabilities, supporting industry-standard construction software and file formats. This comprehensive framework enhances the system's efficiency in performing automated quantity takeoff and cost estimation tasks.
[0362] The API integration framework component encompasses various aspects that facilitate seamless communication between the system and external project management software. This functionality is essential for streamlining data exchange and enhancing overall project workflows.
[0363] The API integration framework provides a robust infrastructure supporting REST and GraphQL protocols, allowing for diverse and flexible modes of communication. REST APIs are utilized as the primary interface for synchronous communication, enabling the system to send and receive data payloads over HTTP. This standardization allows for consistent interaction with external platforms regardless of the technology stack employed by various software tools.
[0364] In an embodiment, the REST API endpoints are configured to handle common project management tasks such as data retrieval, update requests, and reporting operations. For instance, a project manager could use these endpoints to dynamically retrieve the latest cost estimates, update project timelines, or export detailed reports directly from the integrated environment.
[0365] Additionally, the GraphQL API offers a query-friendly interface that allows for more specific, complex data requests. Unlike REST, GraphQL enables clients to specify the exact structure of the response data needed, ensuring that only relevant information is transmitted. This reduces the data load and enhances the efficiency of data exchange, making it particularly useful in scenarios where a client needs to retrieve detailed information across multiple datasets without over-fetching.
[0366] The API framework employs comprehensive real-time data synchronization channels via WebSocket services, as demonstrated in Fig. 2. This capability is crucial for applications requiring immediate updates and notifications, such as real-time collaboration in design modifications or monitoring ongoing project metrics. For example, construction teams using cloud-based platforms like BIM 360 can receive instantaneous updates on changes made by other team members, facilitating better coordination and faster decision-making.
[0367] Security is a primary consideration in the API integration framework, as it encompasses secure communication protocols such as OAuth 2.0 for authentication and authorization purposes. OAuth 2.0 is an industry-standard protocol that enables secure access to resources by third-party applications without exposing user credentials. This setup supports token-based authorization using JWT (JSON Web Tokens) to ensure data integrity and secure access to API resources. These tokens are securely exchanged and validate each request within the system, providing an additional layer of security.
[0368] Further, the integration framework is designed for compatibility with popular construction management tools such as Revit, AutoCAD, MS Project, and Procore, as illustrated in Fig. 3. This interoperability is achieved through the use of standardized interfaces to interactseamlessly with external systems, easing the process of importing and exporting data. For example, users can integrate directly with Revit to synchronize Building Information Modeling (BIM) data or connect with MS Project to update project schedules and manage workflows effectively.
[0369] In an exemplary embodiment, the system supports custom webhook configurations, enabling automated alerts and actions in response to specific project events. For instance, when a cost estimate surpasses a predefined threshold, the system can trigger automatic notifications or initiate predefined workflows, helping stakeholders react promptly to significant changes and minimize potential disruptions.
[0370] Overall, the API integration framework within the system is engineered to provide a versatile and secure platform for connecting with external software systems, facilitating comprehensive data exchange that enhances construction project management efficiency. This enhances the ability to integrate seamlessly into existing workflows while maintaining high levels of security and performance.
[0371] The Vision Al processing unit includes a measurement engine that is designed to perform calculations of areas and volumes from construction drawings, facilitating accurate quantity takeoff. This engine is integral to the automated analysis framework, with capabilities that are enhanced by the incorporation of advanced image processing and analytical techniques.
[0372] In an embodiment, the measurement engine utilizes algorithms to automatically detect and calibrate scales within digital construction drawings, ensuring that measurements are precise regardless of the original scale format. This automatic scale detection may involve the analysis of drawing legends or embedded scale bars present in certain formats like DWG or RVT files. The process enhances reliability and reduces manual intervention by aligning measurements with the correct proportions effectively.
[0373] This engine further applies geometric computation algorithms to perform area and volume calculations. For two-dimensional plans, the engine identifies closed-loop boundaries representing walls, rooms, or specific architectural elements, using vector-based tracing techniques. Once boundaries are determined, the engine calculates the enclosed areas through polygonal integration methods, offering robust support for irregular shapes commonly found in architectural designs.
[0374] For three-dimensional models, such as those originating from IFC or RVT formats, the measurement engine extends its capabilities by analyzing the volumetric configurations ofstructural elements. It employs spatial analysis techniques to compute volumes, utilizing data from the model's inherent geometry. Elements like columns, beams, and void spaces are assessed, with the system deriving volumetric data through sectional integration over the defined segments of these 3D objects.
[0375] An enhancement within this embodiment may include the use of computer vision algorithms to improve the accuracy of detection and measurement. For example, these algorithms facilitate the correction of drawing skewness or distortion caused by scanning processes, thereby ensuring that dimensional calculations adhere strictly to the original design specifications.
[0376] Additionally, the measurement engine supports multi-layer analysis, particularly beneficial when parsing files with complex or layered data such as PDFs with multiple architectural phases or MEP (mechanical, electrical, plumbing) overlays. This capability allows users to selectively analyze layers based on their project phase or component category, yielding precise measurements tailored to specific construction stages.
[0377] Fig. 2, which delineates the technical architecture, showcases the Vision Al and measurement components within the Al Core Services section. This configuration highlights the integration of image enhancement processes with measurement algorithms, establishing an interconnected approach that underpins the system's proficiency in delivering rapid and accurate quantity takeoff results.
[0378] Fig. 4 shows the user interface layouts of the system, divided into three main interface configurations: the Main Dashboard (4A), Analysis View (4B), and Settings Panel (4C).
[0379] FIG. 4A illustrates the Main Dashboard layout, featuring a Project Navigator on the left sidebar that organizes the hierarchical project structure. The central area functions as a Drawing Viewer / Document Workspace for managing documents. Control Tools offer functionalities such as zoom and upload / download capabilities, while a Navigation Menu allows quick access to sections including Drawings, Specifications, Estimates, and Reports.
[0380] FIG. 4B presents the Analysis View layout, which includes a Quantity Analysis Panel for visualizing the results of quantity takeoff. The Cost Breakdown section provides an interactive visualization of cost analysis. Data Visualization Tools, like charts and graphs, aid in analyzing quantities and costs. Metrics Display offers key performance indicators and statistical data, enhancing the comprehensiveness of analytical insights.
[0381] FIG. 4C depicts the Settings Panel layout, containing Configuration Options for adjusting system settings and user preferences. Display Controls offer visual customization options, while Feature Toggles enable or disable specific system capabilities. Interface Customization allows adjustments to the layout and visual preferences, catering to individual user requirements.
[0382] The layouts are designed to promote responsive design, ensuring adaptability for various screen sizes. Interactive Elements facilitate direct manipulation of data and visualizations, and the system includes integrated tools for seamless access to core functions. This supports the claims regarding the dynamic user interface architecture, as described in the provisional patent application.
[0383] The measurement engine is further enhanced by adaptive learning capabilities, wherein it refines its computational models based on user feedback and corrections made during project reviews. As users validate and adjust measurements, captured through the user interface shown in Fig. 4B (Analysis View Layout), the engine updates its parameters, continually optimizing performance and accuracy through iterative adaptation.
[0384] The integration of these measurement functionalities within the Vision Al processing unit ensures high-precision calculations that form the backbone of reliable project cost estimations and resource management strategies. By facilitating accurate area and volume determinations, the system significantly improves the efficiency of construction project planning and execution.
[0385] The data layer within the system for automated quantity takeoff and cost estimation plays a crucial role in the overall functionality by facilitating the storage and management of historical project data and cost information. This component is integral to maintaining the system's accuracy and reliability, particularly in the predictive analytics carried out by the machine learning (ML) engine.
[0386] In one embodiment, the data layer is structured to include a robust database management system capable of handling large volumes of data. This configuration allows the storage of diverse datasets, such as past project information, supplier pricing histories, and regional market trends. The database is optimized for high-performance queries, ensuring that necessary data can be swiftly retrieved and integrated into real-time processing operations.
[0387] The data layer acts as a repository for both historical and real-time cost data, enabling the ML engine to perform comprehensive analysis for cost prediction. For example, when a new cost estimation task is initiated, the ML engine references historical cost data stored within thedata layer to identify patterns and trends that may influence current project cost predictions. This historical context serves as a baseline, which is then adjusted using current real-time data input to produce reliable forecasts.
[0388] An additional embodiment features a data synchronization module within the data layer, responsible for real-time updates of cost information. This module actively monitors supplier databases and market indices, updating cost data entries to reflect the most current information available. By maintaining an up-to-date repository of cost information, the system can dynamically adjust predictions to account for market fluctuations, thus improving the reliability of the cost estimations generated by the ML engine.
[0389] The data layer also includes mechanisms for storing and categorizing specification documents and construction drawings received through the input module. These documents are indexed and classified according to project parameters, facilitating efficient retrieval during the NLP and Vision Al analysis phases. This organization streamlines the workflow, reducing the time required to access and process relevant documents for quantity takeoff and specification analysis.
[0390] Furthermore, the data layer is equipped with high-capacity storage solutions capable of scaling as project documentation and data accumulates. This scalability ensures the system remains responsive and effective even as data volumes grow, supporting concurrent processing tasks without degradation of performance. The capacity to manage extensive datasets also contributes to the system's ability to provide predictive insights based on aggregated historical data.
[0391] Security is another critical aspect of the data layer, reinforced by the use of encryption standards such as AES-256 for protecting stored data. Access controls and audit logs are implemented to trace data access and modifications, ensuring compliance with data protection regulations like GDPR and ISO 27001. These measures safeguard sensitive financial and project information from unauthorized access while maintaining accountability.
[0392] In practical application, the data layer's ability to integrate with external databases via the API framework, as demonstrated in Fig. 3, facilitates seamless exchange of project-related data. This interoperability allows construction managers to access comprehensive datasets directly from the system interface, as shown in Fig. 4A (Main Dashboard Layout), for detailed analysis and decision-making.
[0393] In summary, the data layer serves as a foundational element of the system, enabling efficient management of extensive project data, supporting sophisticated cost estimation processes, and ensuring seamless integration with external data sources. Its capabilities to handle high-volume data with robust security measures enhance the overall efficacy of the automated quantity takeoff and cost estimation system, contributing to improved project management outcomes in the construction industry.
[0394] The system's user interface is designed to facilitate interactive analysis of project data, providing users with a comprehensive and intuitive platform for reviewing quantity takeoff and cost estimation outputs. In an embodiment, the user interface may be structured to feature a Main Dashboard, Analysis View, and Settings Panel, as depicted in Fig. 4.
[0395] In the Main Dashboard layout, a Project Navigator is positioned on the left sidebar, offering a hierarchical organization of the project structure. The central workspace, known as the Drawing Viewer / Document Workspace, serves as the primary area for document manipulation. Users can interact with uploaded documents, zoom in and out, and use control tools to manage and organize various construction-related documents. Quick access to specific project sections is facilitated via a Navigation Menu, allowing direct transitions to Drawings, Specifications, Estimates, and Reports.
[0396] The Analysis View layout is equipped with advanced visualization tools that enhance the interpretive capabilities of users examining project data. A Quantity Analysis Panel provides graphical representations of quantity takeoff results, utilizing charts and graphs for enhanced statistical analysis. The Cost Breakdown Section introduces interactive cost analysis visualizations, allowing users to explore detailed pricing segments. Key performance indicators are displayed within the Metrics Display, offering insights into critical project metrics and statistical data. These interactive visual tools enable users to engage directly with the data, supporting tasks such as annotating, filtering, and comparing different data sets.
[0397] The Settings Panel layout provides various customization options, allowing users to adjust system settings and preferences to meet their specific needs. Configuration Options enable users to tailor the system's functionalities, while Display Controls offer visual customization to alter the appearance and layout of the interface. Feature Toggles facilitate the enabling or disabling of specific system capabilities, and Interface Customization options allow for personalization of layout preferences to suit individual workflows and preferences.
[0398] In another embodiment, the user interface supports progressive web application capabilities, extending accessibility across diverse platforms and devices, including mobile and desktop applications. The responsive design ensures adaptability to various screen sizes and resolutions, maintaining functionality and visual clarity in different viewing contexts.
[0399] Further detailing the visualization tools, users are empowered to overlay annotations directly onto documents within the Drawing Viewer, which assists in enhanced communication and collaborative review processes. This feature is particularly beneficial for construction teams who need to mark and highlight specific areas of interest within construction drawings or specification documents.
[0400] Moreover, the interface supports multiple export options, including PDF, Excel, and CSV formats, allowing users to generate and share comprehensive reports with stakeholders efficiently. Users can select specific data sets for export, tailored to their reporting requirements, facilitating seamless integration with other project management tools and applications.
[0401] Overall, the user interface's dynamic architecture and interactive features significantly improve user engagement with construction project data. By providing a robust platform for data visualization and customization, it enhances the decision-making process, supports collaborative project management, and ensures that key insights are accessible and actionable for all relevant stakeholders.
[0402] The system comprises an input module designed to validate and convert non-standard file formats to ensure compatibility with the Al-based automated quantity takeoff and cost estimation system in construction projects. Features described in connection with any embodiment may be used separately or in any combination with features of other embodiments, unless clearly incompatible.
[0403] Embodiment 1: The input module is configured to receive a variety of construction- related documents, such as architectural drawings and technical specifications in formats like PDF, DWG, RVT, and DXF. Initially, the module executes a format validation process, which involves identifying the file type and confirming adherence to known standards for those formats. This is critical to prevent errors in the subsequent processing stages.
[0404] For instance, upon receiving a PDF document, the module analyzes the file metadata to assess whether it adheres to recognized PDF specifications for vector and raster content. If inconsistencies are detected or if the file configuration does not match the systemrequirements, the input module initiates a conversion process. The conversion involves transforming raster images into vector format for improved clarity and precision, employing techniques such as raster-to-vector conversion algorithms.
[0405] Embodiment 2: In another embodiment, the input module is equipped with a feature to handle encrypted or password-protected files. Upon reception of such files, it applies a decryption algorithm, contingent upon user-provided credentials, to unlock the content for processing. Thereafter, it performs format validation and, if necessary, conversion steps to ensure compatibility with the system's processing units.
[0406] Embodiment 3: The system's input module also supports batch processing capabilities, enabling the simultaneous handling and conversion of multiple document files. This feature is beneficial in large-scale projects where project teams upload extensive sets of documents. The system employs parallel processing techniques to expedite the validation and conversion tasks, ensuring consistent throughput and operational efficiency.
[0407] Additionally, the input module is designed to manage file conversion for formats requiring intricate transformation, such as DWG to RVT conversions. This includes parsing the DWG file geometry and properties, translating them into corresponding elements within the RVT format using a conversion engine equipped with geometry mapping and property translation capabilities, thereby facilitating interoperability between different software environments.
[0408] As depicted in Fig. 1, once the validation and conversion process is complete, the input data flows into the Al Processing section of the system for further analysis. The success of this stage is integral to the system's overall functionality, as it ensures the accuracy and reliability of the data before it undergoes machine learning, natural language processing, and vision Al analysis.
[0409] These embodiments underscore the input module's vital role in maintaining data integrity, compatibility, and readiness for advanced computational analysis, thus supporting the operational efficiency and accuracy of the automated system for construction quantity takeoff and cost estimation.
[0410] The described system includes a machine learning (ML) engine that is configured to adjust cost estimates based on market volatility and regional differences. This feature is significant in ensuring that construction project cost assessments are responsive to dynamic economic conditions and location-specific factors.
[0411] Example Embodiment 4: In one embodiment, the ML engine integrates a real-time data acquisition module that continuously collects information from various economic indicators, such as regional Consumer Price Index (CPI) shifts, foreign exchange rates, and commodity pricing trends. The module may utilize APIs to access live data feeds from financial news platforms and databases, which enhance the granularity and timeliness of the data used to refine cost predictions.
[0412] To adjust cost estimates effectively, the ML engine applies predictive algorithms, including but not limited to, ensemble techniques such as gradient boosting. These algorithms assess historical patterns and correlate them with current economic inputs to anticipate fluctuations in material and labor costs. The resulting analysis provides updated price estimates that reflect both immediate market influences and anticipated economic movements.
[0413] Example Embodiment 5: Another embodiment involves the incorporation of geospatial economic data within the ML engine. Here, data pertaining to regional construction activity levels, labor market conditions, and local supply chain constraints are factored into the cost estimation process. Utilizing Geographic Information System (GIS) integration, the system can tailor cost models to account for variations across neighboring regions or cities, identifying areas where labor shortages may lead to increased costs or where an abundance of resources might reduce expenses.
[0414] Additional Embodiments and Implementation:
[0415] The system architecture, as shown in Fig. 2, highlights the role of the ML Engine within the Al Core Services. This component draws on the Data Layer's rich repositories of historical and real-time information to calibrate its forecasts.The interface displayed in Fig. 4B (Analysis View Layout) equips users with visualization tools that dynamically represent regional and market adjustments. Users can interact with predictive analytics dashboards to explore how different economic scenarios impact their project budgets.An adaptive learning framework within the ML engine enables ongoing refinement. This framework incorporates feedback loops such as Bayesian optimization, aligning predictions more closely with actual project cost outcomes as additional data and performance metrics become available.
[0416] Security and Compliance Considerations:
[0417] The secure management of economic data is critical, and the system employs advanced encryption protocols and access controls. As part of its compliance strategy, the system accounts for data protection regulations affecting financial data usage, implementingmechanisms that ensure both the security of data transmissions and the reliability of economic data integration in compliance with applicable legal standards.
[0418] Integration and Application in Construction Management:
[0419] The adaptive cost estimation capabilities are applicable across diverse sectors within the construction industry, from residential developments to large infrastructure projects. By embedding these adjustment mechanisms, construction managers are better equipped to make informed decisions, recalibrating project budgets in response to evolving market conditions and ensuring project feasibility through proactive financial planning.
[0420] The system's ability to adjust estimates dynamically supports more accurate project planning and budget forecasting, mitigating risks associated with economic uncertainty and locational variations. Such functionalities, supported by the infrastructure depicted across the figures, illustrate the comprehensive approach to leveraging machine learning advancements for enhanced construction project management.
[0421] The system's user interface is designed to provide flexible output options to users, enabling them to export results in multiple formats, such as PDF, Excel, and CSV. This functionality enhances the usability of the automated quantity takeoff and cost estimation system by offering versatile data handling and sharing capabilities, adapting to various professional needs.
[0422] Example Embodiment 6: In one embodiment, the user can select specific data sets for export through an intuitively designed menu within the interface, as represented in the Analysis View layout (Fig. 4B). The system allows users to customize reports by choosing from a range of templates or creating tailored formats that meet specific project documentation requirements. For instance, users can opt for a comprehensive PDF report that consolidates graphical analyses, quantity takeoff summaries, and detailed cost projections into a single, professionally formatted document suitable for client presentations or internal archival.
[0423] Example Embodiment 7: Another embodiment involves the capability to export data in Excel format, which affords users the flexibility to manipulate data further using spreadsheet functionalities. This format is particularly advantageous for project managers who need to perform additional calculations, pivot table analyses, or integrations with other enterprise resource planning (ERP) systems. The Excel export function supports the inclusion of advanced data visualization elements such as embedded charts and graphs, ensuring that any subsequent analyses retain the visual integrity of the original outputs displayed within the user interface.
[0424] Example Embodiment 8: The system also supports the exportation of data in the CSV format, a lightweight and widely compatible text file format that enables seamless integration with various software applications. This format is ideal for exporting raw data, enabling data analysts to import it into specialized analytical tools or databases for extensive processing and cross-referencing with external datasets. The CSV export functionality ensures that data is neatly structured, with appropriate headers and delimiters, facilitating efficient parsing and reorganization.
[0425] Implementation Enhancements:
[0426] Selective Exporting: The interface allows for selective exporting, where users may choose to export specific sections of the data, such as only the cost breakdown or material quantity reports, without exporting the entire project dataset. This selective functionality streamlines the reporting process by focusing on relevant information. Multi-language and Localization Support: To accommodate diverse user bases, the export module integrates localization features, enabling the generation of reports in multiple languages or with regionspecific formatting conventions. This ensures that exported documents are comprehensible and align with local regulatory and cultural expectations.Scheduled Reports: The system can automate the generation and delivery of reports on a scheduled basis. Users can configure the export module to generate and send reports at regular intervals, such as weekly financial summaries, direct to stakeholders' emails, thus supporting continuous project monitoring and accountability.
[0427] Operational Integration:
[0428] The export functionalities described are seamlessly integrated with the system's core processing components, as shown in Fig. 1, particularly in the Output section. The user interface dynamically interacts with the processing units, ensuring that once data has been analyzed and interpreted by the Vision Al, NLP, and ML modules, it is ready for immediate exportation in userpreferred formats.
[0429] Overall, the export features of the system are engineered to fit within the broader objectives of efficient project communication, collaborative analysis, and strategic decisionmaking, ensuring users can leverage the analytical outputs effectively within and beyond construction project management environments.
[0430] The system includes robust security mechanisms to ensure the protection and integrity of data processed and transmitted throughout the automated quantity takeoff and costestimation framework. These security implementations encompass advanced encryption protocols, authentication processes, and access controls.
[0431] Encryption Protocols: The system employs AES-256 encryption to secure sensitive data during storage and transmission. AES-256, known for its strong encryption capabilities, ensures that construction documents, project specifications, and financial data remain confidential and protected from unauthorized access. This encryption standard is applied to both static data within the system's databases and dynamic data exchanged through communication channels, such as those depicted in the API integration framework in Fig. 2.
[0432] Multi-factor Authentication (MFA): The user access layer incorporates multi-factor authentication to ensure secure user logins and access to the system. MFA requires users to provide multiple forms of verification before accessing sensitive areas, significantly reducing the risk of unauthorized access. This authentication layer is depicted in the integration diagram in Fig. 3, where OAuth 2.0 and JWT Tokens offer additional security for interfaces linked to external software platforms.
[0433] Access Control Mechanisms: The system integrates role-based access control (RBAC), allowing administrators to define user roles and permissions. This control mechanism ensures that users can only access system functions and data necessary for their specific roles, minimizing the risk of data breaches. Through a user interface component, as shown in the Settings Panel layout from Fig. 4C, administrators can assign and modify user roles based on project requirements.
[0434] Audit Logging and Monitoring: A comprehensive logging system is implemented to track user activities and system operations. Each user interaction, data access, and modification is logged with detailed timestamps and user identifiers, ensuring complete traceability. This audit trail provides insights into system usage patterns and aids in identifying any unauthorized attempts at data manipulation.
[0435] Compliance Adherence: The system's security strategy is designed to align with international data protection and privacy standards, such as GDPR, ISO 27001, and SOC 2. Compliance initiatives include regular security audits, vulnerability assessments, and adherence to data processing protocols that protect user privacy and data integrity.
[0436] Automated Error Detection and Recovery: The system incorporates mechanisms for detecting and recovering from errors or breaches. Real-time monitoring tools track system performance and security anomalies. Upon detecting suspicious activity, the system canautomatically initiate predefined countermeasures, such as isolating affected components or notifying administrators.
[0437] In a practical application, the system's secure infrastructure enables sensitive construction project data to be safely shared among stakeholders, such as architects, engineers, and project managers. The security measures allow for secure data exchange with external platforms through the API integration framework, enhancing collaboration while safeguarding against potential threats.
[0438] These security mechanisms collectively ensure that the automated quantity takeoff and cost estimation system operates in a secure, reliable, and compliant manner, safeguarding critical construction data against unauthorized access and potential cyber threats.
[0439] The Vision Al processing unit employs deep learning techniques to achieve element recognition with an accuracy exceeding 95%. This accuracy is a result of a combination of advanced neural network architectures and preprocessing enhancements designed to optimize the recognition process of architectural elements in construction drawings.
[0440] Embodiments and Examples
[0441] Deep Learning Implementation:
[0442] The Vision Al processing unit utilizes convolutional neural networks (CNNs) to process and interpret two-dimensional (2D) and three-dimensional (3D) construction drawings. CNNs are particularly effective in image recognition tasks due to their ability to detect patterns and shapes across different scales and orientations. The system is trained on a comprehensive dataset comprising architectural drawings with labeled elements, such as walls, doors, windows, and structural beams. This dataset is augmented using techniques like rotation, scaling, and noise addition to improve the model's robustness and accuracy.
[0443] Image Preprocessing Techniques:
[0444] As an initial step, the Vision Al unit performs image preprocessing tasks to enhance the quality of the input drawings, as depicted in Fig. 2 under Vision Processing. The Image Enhancement module optimizes drawing quality through operations such as resolution enhancement, noise reduction, and contrast adjustment. For instance, adaptive histogram equalization techniques may be employed to improve local contrast, allowing finer details to be more clearly visible.
[0445] Element Recognition Process:
[0446] Once preprocessing is complete, the element recognition system applies the trained CNN model to the enhanced images. The model identifies and delineates various architectural components by categorizing pixels within the image into predefined classes. This classification process includes bounding box proposals and object segmentation, whereby each recognized element is outlined with precise accuracy. An example is shown in Fig. 1, Al Processing section, where the Vision Al Module handles the graphical analysis of drawing components.
[0447] Use of Transfer Learning:
[0448] In another embodiment, transfer learning techniques are utilized to further enhance recognition performance. By adopting pre-trained models from domains with similar features and retraining them on architectural datasets, the system leverages existing knowledge to boost efficiency and accuracy. This approach reduces the computational resources required for training and allows rapid adaptation to new project-specific datasets.
[0449] Validation and Feedback Loop:
[0450] To ensure continued accuracy and relevance, the system incorporates a feedback loop from real-world usage data. As users validate detected elements through the interface, depicted in Fig. 4B (Analysis View Layout), corrections are fed back into the model for retraining. This creates a continuous improvement cycle, refining the Al's ability to recognize new and complex architectural features over time.
[0451] Three-dimensional Recognition and Analysis:
[0452] For 3D models, such as those from RVT or IFC formats, the system extends its capabilities using volumetric data analysis. The Vision Al processing unit integrates 3D point cloud data, allowing the CNN to classify and contextualize elements within a spatially aware framework. This is vital for accurately distinguishing architectural elements that may overlap or intersect within the three-dimensional space.
[0453] Integration with Measurement Engine:
[0454] The recognized elements are subsequently integrated with the measurement engine, enhancing the system's ability to perform precise calculations of areas and volumes, relevant as shown in Fig. 1. This facilitates further processing and aids in reliable quantity takeoff outcomes, essential for accurate cost estimations.
[0455] Overall, the Vision Al processing unit's use of deep learning techniques ensures high- confidence element recognition, improving the operational efficiency of construction projectplanning and resource management by minimizing detection errors and maximizing recognition accuracy.
[0456] The Natural Language Processing (NLP) module, as described in the configuration, achieves an accuracy exceeding 98% in the interpretation of specification documents, employing advanced semantic analysis techniques to extract meaningful data from construction documents. This module acts as a pivotal component in the automated system for construction quantity takeoff and cost estimation.
[0457] Embodiments and Examples
[0458] Semantic Analysis Framework:
[0459] The NLP module incorporates a highly sophisticated semantic analysis framework utilizing a BERT-based model to process complex construction-specific texts with superior precision. This model is initially pre-trained on general language datasets and then fine-tuned using an extensive corpus of construction-specific documents. The tuning process enhances its ability to understand industry-specific terminology and context, leading to high fidelity in the extraction and categorization of data points from technical documents.
[0460] Multilingual Processing Capabilities:
[0461] Reflecting its deployment versatility, the NLP module supports multilingual processing, beneficial for global construction projects with documentation in various languages. By implementing cross-lingual embeddings, the system can seamlessly interpret documents in multiple languages, maintaining high accuracy in data extraction without necessitating language-specific models. This capability is critical in ensuring consistency and reliability of results across diverse project environments.
[0462] Structured Data Extraction:
[0463] Fig. 1 depicts the system's flow, where the NLP Module interprets technical specifications within the Al Processing section. The module applies regular expression patterns and domain-specific sentence parsing to dissect complex tables and lists commonly found within construction specifications. These patterns isolate numerical data and key descriptor associations, converting them into structured data elements used downstream in cost estimation processes.
[0464] Entity Recognition and Classification:
[0465] Advanced entity recognition techniques are embedded within the NLP module to identify and classify components such as construction materials, dimensions, and quantitiesmentioned in the text. Using named entity recognition (NER), the NLP module segments and annotates relevant data points, creating a structured overview that integrates seamlessly with other system components. This level of detail supports the analysis conducted in the Analysis section as illustrated in Fig. 1.
[0466] Validation and Feedback Improvements:
[0467] The accuracy of the NLP module is bolstered through continuous validation and feedback cycles obtained from user interactions on the system, highlighted in the Analysis View Layout (Fig. 4B). Users can confirm the accuracy of extracted data or provide necessary corrections, which are then fed back into the model for iterative refinement.
[0468] Support for Industry Standards:
[0469] The NLP module's design includes support for a variety of industry standards, accounting for document formatting conventions such as CSI MasterFormat and UniFormat. It parses and integrates these standards, ensuring compatibility and consistency with industry expectations and improving the precision of semantic mappings to standardized specification formats.
[0470] Application Specific Enhancements:
[0471] In practice, the NLP module is capable of enhancing its parsing capabilities through customizable configurations tailored to specific construction domains, such as residential, commercial, or industrial projects. By selecting application-specific models or adjusting weightings for certain entities, the module adapts dynamically to the nuances of various project types, further refining its accuracy.
[0472] Security and Compliance Alignment:
[0473] The sensitive handling of construction specification data processed by the NLP module is secured through compliance with data protection protocols, ensuring that extracted information is managed within the encrypted environment depicted in the security implementations. This alignment prevents unauthorized data access and aids in maintaining compliance with international data privacy standards.
[0474] The NLP module's high accuracy in interpreting complex specification documents serves as a cornerstone in the automated analysis and estimation system, driving efficiency and reducing error rates in project planning processes. Through continuous learning and adaptation, it upholds the system's overall effectiveness in delivering reliable and coherent project insights.
[0475] Fig. 2 shows the algorithmic flow charts of the system's core processing components, specifically detailing the Vision Al Pipeline, NLP Processing Pipeline, and ML Cost Engine.
[0476] The Vision Al Pipeline begins with the input of a drawing, followed by format validation to ensure compatibility. If a format is not valid, a format conversion step is executed.Subsequently, image enhancement optimizes the drawing quality. Scale detection proceeds, allowing for precise calibration. Element recognition identifies architectural components, followed by measurement calculation to determine dimensions. Quantity extraction computes material quantities, culminating in output generation where structured data is created.
[0477] The NLP Processing Pipeline initiates with the receipt of an input specification.Document parsing extracts and structures the initial text. Text normalization ensures the standardization of content, preparing it for BERT processing, which performs deep learningbased text analysis. Entity recognition identifies key elements within the documents. A decision point resolves whether a material match exists. If a match is determined, specification mapping occurs. Secondary analysis may proceed if no match is found, linking specifications with known materials. Quantity association connects specifications with quantities, and cost mapping correlates prices with these specifications.
[0478] The ML Cost Engine leverages historical data to enhance accuracy. Feature extraction identifies critical cost factors. Price prediction algorithms estimate costs, which are subsequently adjusted for market variations. The final cost output provides adjusted estimations reflecting real-time market conditions.
[0479] Each component of the flow charts demonstrates the logical progression of data through various stages, illustrating the system's comprehensive approach to construction quantity takeoff and cost estimation. The pipelines incorporate feedback loops and validation checks to ensure the accuracy and reliability of outputs, aligning with the technical claims outlined in the patent application.
[0480] In another aspect, the present invention relates to a method for automated quantity takeoff and cost estimation in construction projects, the process involves several stages that integrate advanced technological components to ensure precision and efficiency in construction project management.
[0481] The process initiates with the receipt of construction-related documents via an input module. This module is designed for compatibility with a wide range of file formats such as PDF,DWG, RVT, DXF, and IFC. Upon entry, the system begins a format validation process, identifying and transforming non-standard formats as necessary to ensure process compatibility.
[0482] Following document reception, the subsequent stage involves the analysis of construction drawings. Utilizing the Vision Al capabilities, the system applies image enhancement techniques to optimize drawing clarity. The enhanced images are then processed by convolutional neural networks, which are tasked with identifying architectural elements such as walls, windows, and supports. Deep learning algorithms facilitate the recognition of these elements by utilizing a pre-trained model that has been refined using construction-specific datasets. Following recognition, a measurement engine calculates areas and volumes, essential for deriving accurate quantities used in cost estimation.
[0483] The next step centers on the interpretation of technical specifications using Natural Language Processing (NLP). The NLP module relies on a semantic analysis framework, employing models like BERT to interpret complex and industry-specific texts. This component extracts critical data, such as material specifications and dimensions, from diverse languages and formats, facilitating comprehensive data synthesis.
[0484] With the processed data, the system activates the Machine Learning (ML) engine, which predicts project costs using historical data enhanced by real-time market adjustments. Gradient boosting algorithms play a central role in estimating costs, leveraging patterns identified from historical datasets and adjusting predictions according to economic indicators and regional price variations. This adaptability ensures that cost estimates remain relevant and accurate amidst economic changes.
[0485] Finally, the results are presented through a user-friendly interface equipped with visualization tools that allow for dynamic interaction with project data. Users have access to interactive graphs and dashboards displaying quantity takeoff outcomes and cost breakdowns, facilitating in-depth analysis. The interface supports exporting functionalities, enabling users to share results in formats such as PDF, Excel, and CSV.
[0486] Additional embodiments include improvements in drawing image preprocessing, such as the application of advanced deblurring techniques and adaptive contrast enhancement to further increase recognition accuracy. The NLP module is augmented with multilingual support that requires minimal adaptation to accommodate different languages and regional construction document standards. Moreover, the ML engine includes a scenario testing featureenabling users to simulate project cost impacts based on varying economic conditions, enhancing strategic planning capabilities.
[0487] Security measures, including encryption protocols and access control systems, ensure the protection of sensitive data throughout the process. Authentication mechanisms like multifactor authentication verify user identities, safeguarding project data integrity and accessibility.
[0488] Figs. 6A-6B show a flowchart depicting an automated workflow for construction quantity takeoff and cost estimation. At step 600, a process starts. At step 605, a quantity takeoff and cost estimation program is executed on a computing system. At step 610, a project package is received, the project package including a construction drawing and a technical specification. At decision step 615, the project package is evaluated to determine whether the project package is complete and readable. When the project package is determined to be not complete and / or not readable, the flow proceeds to step 620 to request or obtain missing and / or corrected project package content, and then returns to step 610 to receive an updated project package.
[0489] When the project package is determined at step 615 to be complete and readable, the flow proceeds to step 625 to enhance the construction drawing and to detect construction elements using a vision model. At step 630, measured quantities for the detected construction elements are generated using a measurement engine. At step 635, requirement constraints and material attributes are extracted from the technical specification using a natural-language model. At step 640, the detected elements, the measured quantities, and the extracted constraints / attributes are fused to generate a structured bi ll-of-q uantities record.
[0490] At decision step 645, the workflow determines whether pricing data is available from a database or feed. When pricing data is determined to be not available, the flow proceeds to step 650 to obtain pricing data from at least one of a cost database or a market-data feed, and then proceeds to step 655. When pricing data is determined at step 645 to be available, the flow proceeds to step 655 to generate a cost estimate by applying a trained machine-learning cost model to the structured bill-of-quantities record and the pricing data. At step 660, at least one report is output, the report including measured quantities and / or the cost estimate. At step 670, the report is submitted for user review and annotation in a user interface. At step 665, the process ends.
[0491] The described process incorporates an enhancement phase for drawing quality prior to analysis, optimizing the subsequent processing stages for precision in automated quantitytakeoff and cost estimation. This enhancement phase involves a series of preprocessing techniques applied to construction drawings, typically received in formats including PDF, DWG, RVT, and DXF.
[0492] Initial Processing Embodiment: The enhancement phase begins with brightness and contrast adjustments using adaptive histogram equalization methods. This technique enhances local contrast, allowing finer details to emerge prominently, which is particularly beneficial when analyzing architectural elements such as those found in complex line drawings.
[0493] De-blurring Techniques: In a particular embodiment, de-blurring algorithms are employed to resolve blurs introduced during scanning or manual drawing processes. Using techniques like blind deconvolution, the system corrects for motion blurs, significantly sharpening the image and enabling clearer delineation of architectural elements.
[0494] Noise Reduction: A noise reduction stage follows, incorporating median or bilateral filters to preserve crucial edge details while minimizing background noise. This step is vital in ensuring that small but significant features, such as thin lines representing partitions or infrastructure, are not lost during subsequent analysis.
[0495] Raster-to-Vector Conversion: For raster images, especially when dealing with legacy construction drawings, the system implements a raster-to-vector conversion process. This involves edge detection methods like the Canny edge detector to outline structural components accurately before transforming these outlines into vector format, facilitating more precise recognition by the Vision Al module.
[0496] Resolution Enhancement: In scenarios where drawings are received at lower resolutions, a resolution enhancement process is enacted. Techniques such as super-resolution are applied, leveraging deep learning models trained to predict and restore high-frequency details, thus improving overall document clarity.
[0497] Color Normalization: For drawings that utilize varied color palettes, particularly in 3D models or layered documents, a color normalization process aligns colors with predetermined palettes recognized by the system. This normalization ensures consistency across various elements, such as differentiating between load-bearing walls and non-structural elements.
[0498] Integration with Vision Al: Once these preprocessing steps are completed, the enhanced images enter the Vision Al processing pipelineHere, optimized images allow convolutional neural networks (CNNs) to more effectively detect and categorize architectural features, contributing to accurate quantity takeoff results and informed cost estimations.
[0499] Feedback-Driven Adjustments: The system supports user feedback mechanisms that offer on-the-fly enhancements. Users can interactively perform additional adjustment refinements via the user interface, as seen in the Analysis View layout (Fig. 4B), providing manual control over contrast or brightness to further tailor document visual quality.
[0500] Through the application of these preprocessing techniques, the system significantly improves the interpretability of construction drawings, enabling high-accuracy element recognition and robust subsequent data analysis. This enhances the system's capability to deliver precise and efficient automated quantity takeoff and cost estimation for construction projects.
[0501] Semantic analysis, as utilized in the system described, involves the sophisticated processing of construction specification documents to ensure precise interpretation and extraction of relevant data. The Natural Language Processing (NLP) module is responsible for parsing text using semantic analysis techniques. Such techniques rely on advanced language models and text-processing algorithms to achieve high levels of accuracy and reliability.
[0502] Initial Processing Embodiment: Upon receipt of a technical specification document, the NLP module begins with segmenting the document into logical sections, using regex-based patterns to detect standard headers and sections typical in construction documents. This segmentation simplifies subsequent analysis by isolating segments that require specialized processing.
[0503] Semantic Interpretation: In one embodiment, the BERT-based semantic model is deployed to perform context-aware text processing. This model is pre-trained to handle syntactically complex and domain-specific language, which is commonplace in construction specifications. By fine-tuning on construction-specific corpora, the model can accurately disambiguate terms, identify synonyms in context, and associate technical phrases with construction processes and materials.
[0504] For example, the system can identify that "concrete" refers to a material specification when mentioned alongside compressive strength indicators, whereas it could indicate a structural element in context with flooring. This dual recognition capacity is highly beneficial when input documents include mixed terminology.
[0505] Multilingual Capabilities: The system's semantic analysis extends to support multiple languages. By incorporating multilingual embeddings, such as those used in models like multilingual BERT (mBERT), the system recognizes and faithfully preserves the semanticmeanings across various languages. This is particularly relevant in international projects where specifications might include bilingual documentation.
[0506] Example Case Handling: Consider a specification document that outlines material requirements for insulation installation, specifying both materials and performance criteria. The NLP module processes phrases like "thermal resistivity of R30" and matches this with known insulation materials, proceeding to extract related cost implications. Identifiers are cross- referenced with a materials database to ensure accuracy and completeness in the semantic analysis.
[0507] Integration with Machine Learning (ML): Following semantic analysis, extracted data points are fed into the ML engine for cost estimation, ensuring that costs align with the interpreted specifications. This integration enhances the predictive accuracy by incorporating semantic insights directly into the financial modeling process.
[0508] User Feedback and Continuous Improvement: User interactions, as depicted in the interface shown in Fig. 4B (Analysis View Layout), allow for validation of extracted data. Users can correct positional errors or misinterpretations, and these corrections are used to refine the semantic models, ensuring adaptation to evolving document standards and terminologies.
[0509] Security and Compliance Framework: Special care is taken to secure the processed specification data, considering sensitive project implications. Data encryption and role-based access control mechanisms, as part of the broader security infrastructure depicted in the system design, protect the integrity of semantic analysis outcomes.
[0510] Through these enhancements in semantic analysis, the system exhibits a robust capability to interpret complex and varied construction documentation, enabling high-fidelity data extraction and contributing to more accurate and actionable project insights.
[0511] A machine learning (ML) engine is employed to predict project costs in construction management, leveraging a gradient boosting algorithm to analyze historical and real-time market data for accuracy and adaptability.
[0512] Gradient Boosting Algorithm: The gradient boosting algorithm integrates the use of decision tree models to enhance prediction capacity. By iteratively developing a series of weak predictive models and combining them to form a robust, singular predictive model, this method effectively addresses complex prediction challenges inherent in construction project cost estimation. It involves training multiple tree models where each tree tries to correct the errors made by previous trees, thereby iteratively improving accuracy.
[0513] Training Process: The training dataset involves historically collected construction data, including costs related to labor, materials, equipment, and timeframes. This data is used to identify patterns and trends, facilitating more informed predictions about future project expenditures. Each booster iteration adjusts weights based on the errors observed in prior models, amplifying the precision of subsequent predictions.
[0514] Real-time Market Adjustments: The system integrates real-time economic indicators, accessed through sophisticated data feeds and APIs, to adjust predictions to current market conditions, as seen in integration capabilities in Fig. 3. This includes material price fluctuations, labor cost changes, and regional economic impacts, ensuring project costs remain aligned with the actual market environment. For instance, when a significant shift in steel prices occurs, the ML engine dynamically adjusts project budgets to reflect these updated costs.
[0515] Scenario Analysis Capabilities: The ML engine incorporates scenario analysis features, which allow users to simulate various project conditions and their economic impacts. Users can modify inputs such as material prices or labor rates within the fabricated scenarios to visualize potential changes in the project budget. This is demonstrated in the user interface's dynamic visualization tools (Fig. 4B).
[0516] Predictive Model Refinement: Continuous learning is achieved by feeding back actual project data into the model for future refinement. This integrates user-validated data corrections and recent project results to improve model predictions' fidelity. Over time, the model develops a heightened ability to efficiently handle diverse project types and scales.
[0517] Examples and Application: In an instance where a construction project encompasses variable geological conditions, the ML engine's gradient boosting model can incorporate these environmental factors by using them as additional feature inputs. This application considers how geological assessments might influence labor times and material needs, optimizing cost predictions to accommodate unexpected site challenges.
[0518] Integration and User Interaction: The resulting cost prediction outputs are seamlessly integrated into the user interface (Fig. 2), which visualizes these outputs through charts and dashboards, allowing intuitive exploration of predictive data trends and insights. Users can interactively engage with projections, altering parameters to explore different budgeting outcomes.
[0519] Security and Data Integrity: Ensuring secure handling of financially sensitive information, the system leverages AES-256 encryption protocols for data exchanges and maintains rigorousaccess controls. All adjustments, projections, and interactive user operations happen within a secure, compliant environment, protecting the integrity of sensitive project cost data.
[0520] Overall, the gradient boosting algorithm utilized within the ML engine forms a critical component of construction project management, offering advanced capabilities for cost prediction and adaptability to real-world economic shifts. By embedding these predictive techniques, the system enables accurate and responsive budget planning, enhancing strategic project management and decision-making processes.
[0521] In the context of operation in the automated quantity takeoff and cost estimation system, analyzing construction drawings to calculate areas and volumes involves a combination of advanced technical processes implemented within the Vision Al processing unit. This step is critical in facilitating accurate material takeoff and subsequent cost estimation by leveraging precise measurements derived from construction documents.
[0522] Embodiment 9 Automatic Detection and Calibration of Scales
[0523] Upon receipt of construction drawings, the system first undertakes automatic detection and calibration of scales, ensuring that dimensionality is accurately aligned for area and volume calculations. This involves the use of algorithms that recognize embedded scale bars or legends within drawings, particularly in DWG and RVT formats, thereby facilitating the conversion of pixel dimensions into real-world measurements.
[0524] Embodiment 10: Two-Dimensional and Three-Dimensional Analysis
[0525] For two-dimensional (2D) plans, the Vision Al processing unit identifies closed-loop boundaries within the drawings. Using vector-based tracing techniques, such as those seen in Fig. 2's Vision Processing section, the system analyzes these boundaries via geometric computations like polygonal integration to calculate the enclosed areas of various architectural features, including rooms and structural elements. In three-dimensional (3D) models, particularly those provided in IFC or RVT formats, spatial data from point clouds are utilized to determine volumes. This is achieved through volumetric analyses that consider segmentations of structural components such as columns and beams, ensuring comprehensive volume calculations.
[0526] Embodiment 11: Multi-layered Analysis
[0527] An additional feature involves multi-layered analysis for PDFs and documents with complex overlays. The system is capable of isolating specific layers within a document— such as those depicting various mechanical, electrical, and plumbing (MEP) phases— thus allowingdetailed measurements for each layer, as necessary for intricate project assessments. This ensures that distinct project components are accurately quantified according to their unique specifications.
[0528] Example Scenarios:
[0529] Consider a scenario where the system receives a DWG file depicting a commercial building. The Vision Al processes this file by first identifying the drawing's scale. It then delineates the perimeter of floor plans to compute the total area designated for tile installation. Simultaneously, for a 3D RVT model, the system assesses volume requirements for concrete filling by evaluating the dimensions of the basement's foundation walls— integrating both the element recognition and dimension extraction functionalities in a unified pipeline, as illustrated within Fig. 2's Vision Al Pipeline.
[0530] Integration with User Interface and Reporting:
[0531] Comprehensive results generated from these calculations are subsequently integrated into the user-friendly interface depicted in Fig. 4A (Main Dashboard Layout). Users can interact with the drawing viewer, overlaying annotations and adjustments in real-time. Additionally, the prepared data flows into customizable reports that can be exported in formats like PDF or Excel for broader dissemination among project stakeholders, thereby ensuring decisions are backed by robust quantitative insights.
[0532] Adaptive Feedback Mechanisms:
[0533] The system includes adaptive feedback mechanisms allowing users to validate and refine measurements interactively. Through interface elements like those in Fig. 4B (Analysis View Layout), users can provide input on the accuracy of identified regions and volumes, which the system uses to adjust and enhance its measurement algorithms in future processes.
[0534] By integrating these expanding capabilities into the Vision Al processing unit, the system demonstrates a thorough approach to addressing the varied and complex nature of construction quantity takeoff, thereby significantly enhancing project management efficacy and accuracy.
[0535] In an embodiment, adjusting cost estimates based on market volatility and regional differences involves the integration of advanced algorithms within the Machine Learning (ML) engine to dynamically modify cost predictions according to real-time economic indicators and localized factors. The system is configured to harness comprehensive real-time data from a variety of sources, including economic indices, commodity market trends, and localized labor and material costs, to refine its predictive capabilities.
[0536] Data Acquisition and Analysis: Initially, the ML engine collects data from financial APIs and databases, which provide updates on key economic indicators such as material price indices and currency fluctuations. This real-time data acquisition is facilitated through the API integration framework, as shown in Fig. 3, supporting constant input into the ML predictive models.
[0537] Regional Economic Impact: The system incorporates geospatial analytics to account for regional cost variations, integrating Geographic Information System (GIS) capabilities to analyze site-specific economic factors. This includes data on local supply chain constraints, availability of materials, and labor market conditions. By mapping these regional parameters, the system can adjust cost estimates to reflect localized economic scenarios accurately.
[0538] Adapting to Market Trends: With the ML engine employing a gradient boosting algorithm, it adapts to market trends by recalibrating its predictive models based on the newest data inputs. For instance, when a surge in steel prices occurs due to global supply chain disruptions, the algorithm dynamically updates project cost estimates to reflect these changes, ensuring accuracy and relevance. Such updates occur seamlessly, leveraging the bidirectional data flows outlined in the system architecture, thereby maintaining the integrity and currency of cost predictions.
[0539] Scenario Testing and Simulation: The interactive user interface allows users to simulate various economic scenarios and observe potential impacts on project costs. Using tools displayed in the Analysis View layout (Fig. 4B), users can input hypothetical changes in material costs or labor rates to evaluate their effects on the overall project budget. This scenario testing capability enables proactive planning and risk management by allowing project managers to adjust financial strategies in anticipation of potential economic shifts.
[0540] Feedback and Model Refinement: A feedback mechanism within the ML engine captures user input concerning projections' accuracy, which is crucial for continuous improvement. By assimilating real project outcomes and adjusted estimates, the model refines its parameters, increasing its predictive accuracy over time. This adaptive approach ensures that the system remains responsive to both macroeconomic and microeconomic changes affecting construction projects.
[0541] Security and Compliance: As part of its data handling procedures, the system implements encryption protocols like AES-256 for secure data transfer and access controls, ensuring compliance with data protection standards. This secure framework, as integrated intothe API module, ensures that sensitive market data and predictive insights are protected against unauthorized access and are consistent with regulatory requirements.
[0542] These advancements in adjusting cost estimations for market volatility and regional differences enhance the system's capacity to offer precise and adaptive financial projections, thereby improving decision-making and financial planning within the construction sector. They enable construction managers to anticipate potential budget adjustments necessitated by economic conditions, ensuring that projects remain financially feasible and strategically sound.
[0543] In some embodiments, a computer-implemented system for identifying graphical objects in a digital drawing, as shown in Fig. 2 and Fig. 5, includes one or more processors and a memory storing instructions executable by the one or more processors to perform a staged detection workflow that combines (i) image-based detection performed on at least a portion of the digital drawing and (ii) analysis of structured graphical data contained within spatial regions corresponding to candidate graphical elements. In some embodiments, the staged workflow increases detection completeness relative to image-based detection performed without structured-data analysis, including where the digital drawing includes a mixture of raster content and non-raster drawing information.
[0544] In some embodiments, the digital drawing includes one or more pages or sheets, and may be received in one or more formats including PDF, DWG, DXF, RVT, and IFC. In some embodiments, the digital drawing includes rasterized linework, vector primitives, geometric entities, annotations, and / or metadata. In some embodiments, the system operates on (i) a fully raster drawing, (ii) a fully vector drawing, or (iii) a hybrid drawing including both raster and vector representations of the same or different drawing features, including layered PDFs in which at least one layer includes raster imagery and at least one layer includes selectable vector objects and / or text.I. Example technical architectures supporting graphical-object identification
[0545] A. Service-oriented architecture with separated vision inference and CAD / PDF parsing
[0546] In some embodiments, the system is implemented in a layered architecture, as shown in Fig. 2, including: (i) a frontend layer configured to present a drawing viewer and to accept a user selection of an object class; (ii) an API gateway configured to receive drawing-analysis requests; (iii) Al core services including a vision-processing service and a structured-graphics parsingservice; and (iv) a data layer configured to store drawings, intermediate detections, and extracted structured entities.
[0547] In some embodiments, the vision-processing service performs image-based detection using one or more machine learning models or computer vision models and produces candidate graphical elements associated with an object class. In some embodiments, the structured- graphics parsing service performs a non-raster analysis within spatial regions corresponding to the candidate graphical elements by extracting and interpreting structured graphical data including vector primitives (e.g., polylines, arcs, splines), geometric entities (e.g., blocks, symbols, parametric objects), annotations (e.g., leaders, callouts, tags), and metadata (e.g., layer names, line types, object properties, BIM parameters).
[0548] In some embodiments, the vision-processing service and the structured-graphics parsing service are separate compute services to permit independent scaling. For example, the visionprocessing service may be accelerated using a GPU instance pool, and the structured-graphics parsing service may be executed on CPU instances with memory sized for parsing object graphs and indexing spatial entities.
[0549] In some embodiments, the system stores, in a document store, (i) original drawing files, (ii) rendered image tiles at one or more zoom levels, (iii) a spatial index of extracted vector entities, and (iv) per-sheet coordinate transforms between rendered pixel coordinates and drawing coordinates.
[0550] B. On-device architecture with local rendering and hybrid extraction
[0551] In some embodiments, the system is implemented in a desktop application, as shown in Fig. 2, where rendering, image-based detection, and structured-graphics analysis execute locally to reduce upload volume. In some embodiments, the desktop application generates a local scene graph representing structured drawing entities and a raster rendering of one or more viewports. In some embodiments, the system performs image-based detection on rendered tiles, then queries the local scene graph for structured entities overlapping spatial regions associated with detections.
[0552] In some embodiments, the on-device architecture includes a plugin interface to import structured elements from authoring tools (e.g., via an export API) into an intermediate representation (IR) that retains element properties (family / type, category, parameters) for subsequent region-based queries.
[0553] C. Micro-batch architecture for large sheet sets
[0554] In some embodiments, the system processes a project comprising a plurality of sheets by partitioning each sheet into tiles, scheduling tile inference jobs, and aggregating tile-level detections into sheet-level regions. In some embodiments, structured-graphics extraction is performed in micro-batches keyed by detected regions, such that ...
Claims
1. Claims1. A computer-implemented system for automated construction quantity takeoff and cost estimation, comprising: (i) one or more processors; and (ii) one or more non-transitory memories storing instructions that, when executed by the one or more processors, cause the system to:a. receive a project package including at least a construction drawing and a technical specification;b. perform vision-based processing on the construction drawing to detect and classify construction elements and to generate measured quantities for the detected construction elements;c.perform natural-language processing on the technical specification to extract requirement constraints and material attributes;d. fuse outputs of the vision-based processing and the natural-language processing to generate a structured bil l-of-quantities record; ande. generate a cost estimate for the project package by applying a trained machinelearning cost model to the structured bill-of-quantities record and to pricing data obtained from a cost database and / or a market-data feed;wherein the system outputs at least one of (a) a quantity takeoff report, (b) a cost estimate, or (c) project analytics.
2. The system of claim 1, wherein the vision-based processing comprises image enhancement of the construction drawing followed by element recognition using a deep-learning model, and wherein the measured quantities are generated by a measurement engine that converts drawing geometry to real-world dimensions using a drawing scale determined from at least one of metadata, detected scale indicators, or user-provided calibration.
3. The system of any of claims 1-2, wherein the natural-language processing comprises text extraction from the technical specification and semantic analysis that maps extracted text to a controlled vocabulary of construction items and material classes.
4. The system of any of claims 1-3, wherein the fuse outputs comprises resolving conflicts between (a) a drawing-derived element classification and (b) a specification-derived material attribute by applying a rule set and / or a confidence score threshold, and generating an exception list for human review.
5. The system of any of claims 1-4, further configured to maintain a project cache storing intermediate outputs, and to update the quantity takeoff report and / or the cost estimate in real time in response to user edits via a WebSocket service.
6. The system of any of claims 1-5, wherein the pricing data comprises historical pricing stored in the cost database and current pricing derived from the market-data feed, and wherein the machine-learning cost model outputs a confidence interval for at least one line item of the cost estimate.
7. The system of any of claims 1-6, further comprising an audit log that stores, for each reported quantity and / or cost line item, provenance data indicating at least one of (a) a drawing region used, (b) a specification passage used, or (c) a model version identifier.
8. The system of any of claims 1-7, wherein the trained machine-learning cost model is updated by continuous training triggered by discrepancies between (a) predicted costs and (b) subsequently received ground-truth costs, and wherein the system stores training examples in the cost database with associated project metadata.
9. The system of any of claims 1-8, wherein the trained machine-learning cost model is updated by continuous training triggered by discrepancies between (a) predicted costs and (b) subsequently received ground-truth costs, and wherein the system stores training examples in the cost database with associated project metadata.
10. The system of any of claims 1-9, wherein the system generates the project analytics including at least one of variance analysis, sensitivity analysis, or cost driver identification based on feature importance of the trained machine-learning cost model.
11. The system of any of claims 1-10, wherein the vision-based processing further comprises: (i) rendering at least a portion of the construction drawing into a plurality of image tiles at a plurality of zoom levels; (ii) executing multi-scale inference including a low-resolution pass generating candidate regions and a high-resolution pass refining the candidate regions; and (iii) aggregating tile-level detections into sheet-level construction elements using non-maximum suppression performed in drawing coordinates derived from a pixel-to-drawing coordinate transform.
12. The system of any of claims 1-11, wherein the vision-based processing further comprises determining the drawing scale by combining at least two of: (i) optical character recognition applied to a rendered scale indicator region; (ii) extraction of selectable text from a PDF content stream; and (iii) parsing of viewport metadata from a CAD / BIM source file, and wherein themeasurement engine applies the determined drawing scale to convert a detected element geometry from pixel units into real-world units.
13. The system of any of claims 1-12, wherein the system is further configured to generate, for at least a subset of the detected construction elements, provenance data including: (i) a tile identifier for a rendered image tile used by the vision-based processing; (ii) a geometric region identifier for a drawing-coordinate region used to generate the measured quantities; (iii) a specification passage identifier including a character-offset range within the technical specification; and (iv) a model version identifier for each of the vision model, the naturallanguage model, and the trained machine-learning cost model.
14. The system of any of claims 1-13, wherein the fusion outputs further comprises: (i) computing an element-to-specification association score based on at least a spatial proximity metric between a detected tag location in the construction drawing and a detected element geometry and a semantic similarity metric between extracted requirement constraints and a controlled vocabulary item; (ii) generating an exception list entry when the element-to-specification association score satisfies an ambiguity criterion; and (iii) storing, in association with the exception list entry, a feature vector comprising at least a drawing-derived feature, a specification-derived feature, and a pricing-derived feature for subsequent training.
15. The system of any of claims 1-14, wherein the trained machine-learning cost model is configured to output, for each line item of the cost estimate, (i) a predicted unit cost, (ii) a predicted total cost, and (iii) an uncertainty measure computed using at least one of quantile regression, conformal prediction, or bootstrapped ensemble dispersion, and wherein the system is further configured to adjust the predicted unit cost using a market adjustment factor derived from a time-indexed market-data feed and a region adjustment factor derived from a geospatial mapping of supplier pricing zones.
16. A computer-implemented method for automated construction quantity takeoff and cost estimation, comprising:receiving a project package including a construction drawing and a technical specification;enhancing the construction drawing and detecting construction elements within the construction drawing using a vision model;generating measured quantities for the detected construction elements using a measurement engine;extracting requirement constraints and material attributes from the technical specification using a natural-language model; generating a structured bill-of-quantities record by fusing the detected construction elements, the measured quantities, and the extracted requirement constraints and material attributes; andgenerating a cost estimate by applying a trained machine-learning cost model to the structured bill-of-quantities record and pricing data obtained from at least one of a cost database or a market-data feed; and outputting at least one report.
17. The method of claim 16, further comprising transmitting incremental updates to a client device via a WebSocket service as intermediate outputs are generated.
18. The method of any of claims 16-17, further comprising generating an exception list when a confidence score for an element classification or a material mapping is below a threshold, and receiving user corrections that are stored as labeled training examples.
19. The method of any of claims 16-18, further comprising storing, in an audit log, provenance data linking each bill-of-quantities line item to a drawing region and / or a specification passage.
20. The method of any of claims 16-19, wherein enhancing the construction drawing comprises generating a raster rendering of at least a portion of the construction drawing and performing at least one preprocessing operation comprising de-skewing, contrast normalization, or noise reduction prior to detecting the construction elements.
21. The method of any of claims 16-20, wherein detecting the construction elements within the construction drawing comprises performing multi-scale inference including a first pass on a lower-resolution rendering to generate candidate regions and a second pass on a higher- resolution rendering to refine at least a subset of the candidate regions.
22. The method of any of claims 16-21, further comprising determining a pixel-to-drawing coordinate transform for the construction drawing, and converting at least one detected element geometry from pixel units to drawing units using the pixel-to-drawing coordinate transform prior to generating the measured quantities.
23. The method of any of claims 16-22, further comprising determining a drawing scale by combining at least two of: (i) optical character recognition applied to a rendered region of the construction drawing, (ii) extraction of selectable text from a PDF content stream, and (iii) parsing of metadata from a CAD or BIM source file.
24. The method any of claims 16-23, wherein fusing the detected construction elements, the measured quantities, and the extracted requirement constraints and material attributescomprises computing an element-to-specification association score based on (i) a spatial proximity metric between a detected tag location in the construction drawing and a detected element geometry and (ii) a semantic similarity metric between extracted text and a controlled vocabulary item.
25. The method of any of claims 16-24, further comprising generating an exception list identifying at least one of (i) an element classification ambiguity, (ii) a specification mapping ambiguity, or (iii) a pricing ambiguity, and receiving a user correction associated with an exception list entry for use as labeled training data.
26. The method of any of claims 16-25, further comprising, for at least one line item of the structured bil l-of-quantities record, storing provenance data comprising at least one of a drawing region identifier, a rendered tile identifier, a specification passage identifier including a character-offset range, or a model version identifier.
27. The method of any of claims 16-26, wherein generating the cost estimate further comprises adjusting at least one predicted unit cost using (i) a market adjustment factor derived from a time-indexed market-data feed and (ii) a region adjustment factor derived from a geospatial mapping of supplier pricing zones.
28. A non-transitory computer-readable medium storing instructions that, when executed, cause one or more processors to perform the method of any one of claims 16-19.
29. A computer-implemented system for identifying graphical objects in a digital drawing, comprising:a processor; anda memory storing instructions that, when executed by the processor, cause the system to:perform image-based detection on at least a portion of the digital drawing using one or more machine learning models or computer vision models to (i) identify candidate graphical elements associated with an object class and (ii) determine corresponding spatial regions within the digital drawing for the candidate graphical elements; and for each of at least a subset of the spatial regions, analyze structured graphical data contained within the spatial region to identify additional graphical elements corresponding to the object class, the structured graphical data comprising one or more of vector primitives, geometric entities, annotations, or metadata associated with non-raster drawing information, thereby extending detection beyond the image-based detection to increase detection completeness.