Machine Learning for AEC
Machine learning is reshaping specific domains within Architecture, Engineering, and Construction, though the transformation is uneven. This skill provides a thorough, practitioner-oriented guide to where ML delivers real value in AEC today, the architectures and methods that work, the data challenges that constrain adoption, and practical pipelines for training, deploying, and maintaining ML models in production AEC workflows.
1. ML in AEC: Current State
1.1 Where ML Actually Works in AEC Today
ML in AEC is most effective where three conditions converge: (a) sufficient training data exists or can be generated, (b) the task is well-defined with measurable performance metrics, and (c) the cost of errors is manageable or human review is in the loop.
Proven, deployed applications:
- Construction progress monitoring (photo comparison to BIM schedule)
- Safety monitoring on construction sites (PPE detection, exclusion zones)
- Defect detection (crack detection in concrete, facade inspections via drone imagery)
- Document classification (sorting drawings by discipline, type)
- Energy performance prediction (surrogate models replacing full simulation)
- Point cloud semantic segmentation (labeling structural elements from LiDAR scans)
- Cost estimation from early-stage design parameters
Promising but not yet mature:
- Floor plan generation from adjacency programs
- Automated scan-to-BIM conversion
- Generative massing from site constraints
- Structural topology optimization acceleration
- Natural language to BIM queries
Overhyped or premature:
- Fully autonomous building design from text prompts
- AI replacing architectural design judgment
- General-purpose design AI that understands building codes, physics, and aesthetics simultaneously
- End-to-end text-to-construction-documents
1.2 Data Challenges in AEC
The AEC industry faces unique data challenges that limit ML adoption:
Small datasets: Unlike ImageNet (14M images) or web-scale text corpora, AEC datasets are small. A large architecture firm might have 5,000 floor plans in its portfolio. A structural engineering firm might have 2,000 analyzed buildings. These numbers are 3-4 orders of magnitude below what deep learning models typically require.
Inconsistent labeling: Building elements are labeled differently across firms, software platforms, and regions. A "wall" in one BIM model might be modeled as a "generic model" in another. Room naming conventions vary wildly. There is no universal taxonomy.
Domain complexity: Buildings are multi-physics systems where geometry, structure, thermal behavior, acoustics, daylight, and human experience interact. ML models that capture only one dimension produce solutions that fail on others.
Proprietary data: Most building data is proprietary. Firms are reluctant to share project data. Public datasets are limited in size and diversity.
High-dimensional output: A floor plan is not a single number or a class label; it is a complex geometric arrangement satisfying dozens of constraints simultaneously. This makes supervised learning difficult because the "ground truth" is itself a design decision, not an objective fact.
1.3 ML Maturity by AEC Subdomain
| Subdomain |
ML Maturity |
Key Applications |
Data Availability |
| Construction safety |
High |
PPE detection, hazard detection |
Moderate (site cameras) |
| Defect inspection |
High |
Crack detection, moisture |
Moderate (drone imagery) |
| Energy prediction |
Medium-High |
EUI prediction, load forecasting |
Good (simulation data) |
| Document processing |
Medium |
Drawing classification, OCR |
Moderate (drawing archives) |
| Point cloud processing |
Medium |
Semantic segmentation, object detection |
Growing (LiDAR/photogrammetry) |
| Floor plan analysis |
Medium |
Recognition, evaluation |
Limited (CubiCasa5K, RPLAN) |
| Structural analysis |
Low-Medium |
FEA acceleration, damage detection |
Limited (simulation data) |
| Generative design |
Low |
Layout generation, massing |
Very limited |
| Urban analysis |
Low-Medium |
Land use classification, traffic |
Moderate (satellite, GIS) |
1.4 Build vs. Buy Decisions
| Approach |
When to Use |
Examples |
| Use off-the-shelf |
Standard CV tasks (object detection, segmentation) with fine-tuning |
YOLOv8, Detectron2, Segment Anything |
| Fine-tune pre-trained |
AEC-specific tasks with moderate data (100-10,000 samples) |
Fine-tuned ResNet for facade classification, ControlNet for architectural sketches |
| Train from scratch |
Unique data modality or task with no applicable pre-trained model |
Custom GNN for floor plan generation, custom PointNet for AEC-specific segmentation |
| Buy commercial |
Mature, productized solutions where accuracy matters and in-house ML capacity is limited |
OpenSpace (construction monitoring), Buildots, Avvir |
2. Computer Vision for AEC
2.1 Object Detection
Detecting and localizing building elements in images, drawings, or renderings.
Architectures:
| Model |
Speed |
Accuracy |
Best For |
| YOLOv8/v9 |
Very fast (real-time) |
Good |
Site safety monitoring, real-time applications |
| Faster R-CNN |
Moderate |
Very good |
Drawing element detection, precise localization |
| DETR (Detection Transformer) |
Moderate |
Very good |
Complex scenes, variable-size objects |
| EfficientDet |
Fast |
Good |
Mobile/edge deployment, drone imagery |
AEC object detection tasks:
- Detecting doors, windows, columns, stairs in architectural drawings
- Identifying structural elements (beams, columns, braces) in construction photos
- Recognizing equipment (HVAC units, electrical panels) in MEP drawings
- Detecting construction vehicles and workers on site
- Identifying signage, safety barriers, and temporary works
Training data preparation:
- Collect images: site photos, drawing scans, BIM screenshots, drone footage
- Annotate with bounding boxes using tools like LabelImg, CVAT, Roboflow, Label Studio
- Define class taxonomy: start small (5-10 classes), expand as needed
- Ensure diversity: different lighting, angles, scales, drawing styles
- Split: 70% train, 15% validation, 15% test; ensure no project overlap between splits
- Augment: rotation, flipping, brightness, contrast, noise for images; not applicable for drawings where orientation matters
2.2 Semantic Segmentation
Pixel-level classification of every pixel in an image.
Architectures:
| Model |
Parameters |
Best For |
| U-Net |
~31M |
Medical imaging heritage; small datasets; floor plan segmentation |
| DeepLab v3+ |
~41M |
Outdoor scenes; site analysis; aerial imagery |
| SegFormer |
~13-85M |
General purpose; good accuracy/speed balance |
| Segment Anything (SAM) |
~636M |
Zero-shot; interactive; foundation model |
AEC semantic segmentation tasks:
- Floor plan segmentation: walls, rooms, doors, windows, furniture
- Facade segmentation: windows, walls, balconies, cornices, rooflines
- Site segmentation from aerial imagery: buildings, roads, vegetation, water, parking
- Construction site segmentation: excavation, structure, formwork, scaffolding
- Material segmentation: concrete, steel, glass, masonry, wood in building photos
U-Net for floor plan segmentation:
Input: RGB image of floor plan (256x256 or 512x512)
Output: Per-pixel class map (wall, room, door, window, furniture, background)
Architecture:
Encoder: [Conv-BN-ReLU-Conv-BN-ReLU-MaxPool] x 4 (downsample path)
Bottleneck: [Conv-BN-ReLU-Conv-BN-ReLU]
Decoder: [UpConv-Concat(skip)-Conv-BN-ReLU-Conv-BN-ReLU] x 4 (upsample path)
Output: 1x1 Conv → Softmax (num_classes channels)
Key: Skip connections concatenate encoder features to decoder at each level,
preserving spatial detail for precise boundary delineation.
2.3 Instance Segmentation
Detecting individual object instances with pixel-precise masks.
Mask R-CNN is the standard architecture:
- Backbone (ResNet-50/101 + FPN) extracts multi-scale features
- Region Proposal Network (RPN) proposes candidate regions
- For each region: classify object, refine bounding box, predict pixel mask
- Non-maximum suppression removes duplicate detections
AEC applications:
- Individual room detection in floor plans (each room as a separate instance)
- Individual facade panel detection for curtain wall analysis
- Individual crack instance detection for structural assessment
- Individual worker detection for headcount and safety
2.4 Document Understanding
Processing architectural and engineering documents:
P&ID (Piping & Instrumentation Diagram) recognition:
- Symbol detection (valves, pumps, instruments, equipment)
- Line detection (process lines, signal lines)
- Text recognition (tag numbers, labels)
- Topology extraction (connectivity graph)
Drawing annotation extraction:
- Title block parsing: project name, sheet number, revision, date, scale
- Dimension text extraction
- Room name and number extraction
- Note and specification text extraction
Models: Combination of object detection (for symbols), line detection (for pipes), and OCR (for text). Tesseract, PaddleOCR, or EasyOCR for text; custom detectors for symbols.
2.5 Construction Progress Monitoring
Comparing as-built photos to BIM model to track construction progress:
- Image capture: 360-degree cameras on hard hats or fixed mounts; capture daily
- Pose estimation: Determine camera position relative to BIM using visual SLAM or marker-based localization
- Element matching: Match detected elements in photos to BIM elements using projected positions
- Progress scoring: For each BIM element, determine installation status:
- Not started (element not visible)
- In progress (partially installed)
- Complete (fully installed, matches BIM geometry)
- Dashboard: Overlay progress status on BIM model; generate progress reports
Commercial solutions: OpenSpace, Buildots, Avvir, HoloBuilder
2.6 Safety Monitoring
Real-time safety monitoring on construction sites:
PPE detection: Detect presence/absence of hard hats, safety vests, safety glasses, gloves
- Model: YOLOv8 fine-tuned on construction safety dataset
- Classes: person, hard_hat, no_hard_hat, vest, no_vest
- Inference: Real-time on edge GPU (Jetson, Intel NCS)
- Alert: If no_hard_hat or no_vest detected, trigger alert
Unsafe behavior detection:
- Worker in exclusion zone (geofenced dangerous areas)
- Worker near heavy equipment operating radius
- Working at height without fall protection
- Improper lifting posture
Datasets: COCO (general person detection), SODA (Safety Of Drivers and Automobiles), SHEL5K (Safety HElmet), Chi-SID (Construction Safety Image Dataset)
2.7 Defect Detection
Automated inspection of building elements:
Crack detection in concrete:
- Semantic segmentation: U-Net trained on crack images; output binary mask (crack/no-crack)
- Classification: ResNet classifying image patches as cracked/uncracked
- Measurement: From segmentation mask, calculate crack width, length, orientation
- Datasets: Concrete Crack Images for Classification (40K images), SDNET2018, CrackForest
Facade inspection from drone imagery:
- Staining, discoloration, spalling, efflorescence detection
- Missing or damaged cladding panels
- Window seal deterioration
- Vegetation growth
Structural damage assessment:
- Post-earthquake damage classification (none, slight, moderate, severe, collapse)
- Fire damage assessment
- Corrosion detection on steel structures
- Timber decay and insect damage
3. Floor Plan Intelligence
3.1 Floor Plan Recognition
Converting raster floor plan images to structured vector data:
Pipeline:
- Preprocessing: Binarize image, remove noise, deskew
- Wall detection: Use semantic segmentation (U-Net) or line detection (Hough transform, LSD) to identify walls
- Room segmentation: Flood fill between walls to identify rooms; or use instance segmentation
- Opening detection: Detect doors (arc symbols, break in wall) and windows (double line, symbol)
- Text extraction: OCR for room names, dimensions, annotations
- Vectorization: Convert pixel boundaries to vector polylines; simplify and orthogonalize
- Topology extraction: Build room adjacency graph from shared walls
Challenges:
- Varying drawing conventions across firms and regions
- Different scales and resolutions
- Furniture and annotation clutter
- Curved walls and non-orthogonal geometry
- Multi-page drawings with cross-references
3.2 Floor Plan Generation
Generating novel floor plan layouts using ML:
Graph2Plan (2020):
- Input: Room adjacency graph with room types and areas
- Process: Graph neural network encodes adjacency relationships; decoder generates room bounding boxes; retrieval module finds similar real floor plans
- Output: Bounding box layout satisfying adjacency and area constraints
- Training data: RPLAN dataset (80K floor plans)
HouseDiffusion (2023):
- Input: Room adjacency graph with types and areas
- Process: Denoising diffusion model conditioned on graph; iteratively denoises room positions and boundaries
- Output: Floor plan with room polygons
- Advantage: Diverse outputs from same input; controllable generation
House-GAN++ (2021):
- Input: Bubble diagram (graph with room types)
- Process: Conditional GAN with graph-based discriminator; generator produces room layouts; discriminator evaluates realism and constraint satisfaction
- Output: Room boundary masks
- Training: LIFULL HOME'S dataset
LayoutGAN (2019):
- Input: Set of room types and counts
- Process: GAN with layout-specific discriminator; rooms as bounding boxes
- Output: Non-overlapping rectangular room arrangement
3.3 Floor Plan Evaluation
ML models for scoring layout quality:
Metrics that can be learned:
- Circulation efficiency (ratio of circulation to usable area)
- Room proportion quality (aspect ratio deviation from ideal)
- Daylight access (percentage of habitable rooms on exterior wall)
- Privacy gradient (public rooms near entry, private rooms deeper)
- Structural regularity (alignment of load-bearing elements)
Approach: Train a regression model on architect-scored floor plans. Features: graph-based (adjacency satisfaction), geometric (room proportions, areas), topological (depth from entry, circulation loops).
3.4 Key Datasets
| Dataset |
Size |
Content |
Access |
| CubiCasa5K |
5,000 |
Finnish floor plans, SVG format, annotated |
Public |
| RPLAN |
80,000 |
Chinese residential floor plans, vector |
Public (request) |
| HousExpo |
35,000 |
Floor plans from Zillow, rasterized |
Public |
| LIFULL HOME'S |
5M+ |
Japanese rental listings with floor plans |
Research access |
| ROBIN |
100+ |
Richly annotated office building floor plans |
Public |
| CVC-FP |
122 |
Floor plan images with ground truth |
Public |
| SESYD |
10 sets |
Synthetic floor plans for symbol recognition |
Public |
3.5 Key Models
| Model |
Year |
Task |
Architecture |
Input |
Output |
| Graph2Plan |
2020 |
Generation |
GNN + Retrieval |
Adjacency graph |
Bounding boxes |
| HouseDiffusion |
2023 |
Generation |
Diffusion + GNN |
Adjacency graph |
Room polygons |
| House-GAN++ |
2021 |
Generation |
Conditional GAN |
Bubble diagram |
Room masks |
| LayoutGAN |
2019 |
Generation |
GAN |
Room types |
Bounding boxes |
| Raster-to-Vector |
2017 |
Recognition |
CNN + Integer Programming |
Floor plan image |
Vector floor plan |
| FloorplanGAN |
2020 |
Generation |
pix2pix variant |
Building boundary |
Floor plan image |
4. Generative ML Models for Design
4.1 GANs (Generative Adversarial Networks)
pix2pix (image-to-image translation):
- Paired training data: (input, output) image pairs
- AEC applications:
- Sketch → rendered facade
- Zoning diagram → floor plan
- Site plan → massing model
- Daylight map → facade design
- Architecture: U-Net generator + PatchGAN discriminator
- Training: ~100-500 paired examples can produce usable results
CycleGAN (unpaired image translation):
- No paired data needed; learns mapping between two domains
- AEC applications:
- Day → night rendering
- Summer → winter site visualization
- Photo → sketch style transfer
- As-built photo → clean rendering
- Advantage: Does not require paired examples
- Limitation: Less precise than pix2pix; struggles with geometric accuracy
StyleGAN (style-based generation):
- Generates high-resolution images with control over style at different scales
- AEC applications:
- Generating facade texture variations
- Exploring interior design styles
- Creating synthetic training images for other CV tasks
- Limitation: Generates images, not geometry; no guarantee of physical validity
Conditional GAN:
- Generator conditioned on additional input (class label, text, image, graph)
- AEC: condition on building program, site constraints, or style preference
- Enables controllable generation: "generate a 3-bedroom apartment with south-facing living room"
4.2 VAEs (Variational Autoencoders)
Latent space exploration:
- Encode existing designs into a continuous latent space
- Interpolate between designs: blend floor plan A and floor plan B
- Sample from latent space to generate novel designs
- Navigate latent space dimensions to understand design variation
AEC applications:
- Exploring the space of possible facade designs
- Interpolating between two building massing options
- Generating design variations by perturbing latent vectors
- Design recommendation: find latent neighbors of a liked design
Advantage over GANs: Smoother latent space; more controllable generation; probabilistic framework (uncertainty quantification)
Limitation: Outputs tend to be blurrier than GANs; reconstruction quality may not be as crisp
4.3 Diffusion Models
Denoising Diffusion Probabilistic Models (DDPM):
- Forward process: Gradually add Gaussian noise to data until it becomes pure noise
- Reverse process: Learn to denoise step by step, recovering the original data
- Generation: Start from random noise, iteratively denoise to produce new samples
Stable Diffusion for architecture:
- Text-to-image generation with architectural prompts
- Fine-tuning on architectural datasets for domain-specific generation
- ControlNet: Additional conditioning on edge maps, depth maps, or floor plans
- LoRA: Lightweight fine-tuning for specific architectural styles
ControlNet for architectural sketches:
- Condition Stable Diffusion on Canny edge maps (from architectural sketches)
- Or on depth maps (from massing models)
- Or on segmentation maps (from zoning diagrams)
- Produces photorealistic renderings that follow the spatial structure of the control input
AEC-specific diffusion models:
- HouseDiffusion: Floor plan generation conditioned on room adjacency graph
- Text-to-3D (e.g., DreamFusion, Magic3D): Generating 3D building models from text descriptions (early stage, limited architectural quality)
4.4 Graph Neural Networks
GNN for building layout:
- Represent building program as a graph: rooms = nodes, adjacencies = edges
- GNN encodes graph structure into node and edge embeddings
- Decoder predicts room positions and dimensions from embeddings
GNN architectures for AEC:
- GCN (Graph Convolutional Network): Aggregate neighbor features; good for room classification
- GAT (Graph Attention Network): Weighted neighbor aggregation; captures varying adjacency importance
- GraphSAGE: Sampling-based aggregation; scalable to large buildings
- Message Passing Neural Network (MPNN): General framework; custom message and update functions
Applications beyond layout:
- Structural frame analysis: nodes = joints, edges = members; predict forces, deflections
- Building system topology: nodes = equipment, edges = connections; predict performance
- Urban network analysis: nodes = buildings/intersections, edges = streets; predict pedestrian flow
4.5 Point Cloud Generation
3D shape generation for building massing:
- PointFlow: Normalizing flow model generating point clouds
- Point-E (OpenAI): Text-to-3D point cloud generation
- ShapeNet: Large-scale 3D shape dataset (includes some architectural objects)
Current limitations: Generated shapes lack architectural precision; no structural logic; no floor plates or walls; resolution too low for detailed building geometry. Useful for early-stage massing exploration only.
4.6 Current Limitations of Generative ML for AEC
- Physical validity: Generated designs may violate structural, MEP, or code requirements
- Resolution: Output resolution insufficient for construction documentation
- Geometric precision: ML models produce fuzzy boundaries; not the crisp lines needed for architecture
- Constraint enforcement: Difficult to enforce hard constraints (code compliance, structural limits) within the generation process
- Evaluation: No universally accepted metric for design quality; human evaluation is expensive and subjective
- Data: Small AEC datasets limit generative model quality; models trained on web images do not understand buildings
- Integration: Generated outputs do not integrate directly with BIM software without significant post-processing
5. Performance Prediction Models
5.1 Energy Prediction
Predicting building energy use intensity (EUI) from design parameters without running full simulation:
Input features:
- Geometry: floor area, surface-to-volume ratio, compactness, number of stories
- Envelope: wall U-value, roof U-value, window U-value, WWR by orientation
- Orientation: building azimuth, latitude
- Climate: HDD, CDD, solar radiation
- Systems: HVAC type, lighting power density, equipment load
- Schedule: occupancy hours, setpoint temperatures
Target variable: Annual EUI (kWh/m2/yr) or monthly energy consumption
Training data generation:
- Create parametric building model (e.g., in OpenStudio or EnergyPlus via eppy)
- Define parameter ranges (sampling plan: Latin Hypercube Sampling)
- Run 1,000-10,000 simulations
- Each simulation = one training example (parameters → EUI)
Model comparison (typical performance on EUI prediction):
| Model |
R2 |
RMSE (kWh/m2) |
Training Time |
Interpretability |
| Linear Regression |
0.70-0.80 |
15-25 |
Seconds |
High |
| Random Forest |
0.90-0.95 |
5-12 |
Minutes |
Medium (SHAP) |
| XGBoost |
0.92-0.97 |
4-10 |
Minutes |
Medium (SHAP) |
| Neural Network (MLP) |
0.93-0.97 |
4-9 |
Minutes-Hours |
Low |
| Gaussian Process |
0.95-0.98 |
3-7 |
Hours |
High (uncertainty) |
5.2 Daylight Prediction
Predicting spatial Daylight Autonomy (sDA) or Annual Sunlight Exposure (ASE) from room geometry:
Input features:
- Room dimensions (width, depth, height)
- Window geometry (width, height, sill height, per facade)
- Window properties (VLT, SHGC)
- External obstructions (height, distance)
- Latitude, orientation
- Ceiling/wall/floor reflectance
Surrogate model approach: Train on Radiance/DAYSIM simulation results. Typical accuracy: R2 > 0.90 for sDA prediction.
5.3 Structural Prediction
Load prediction from architectural models:
- Input: Architectural model geometry (floor areas, spans, facade areas)
- Output: Approximate structural loads (dead load, live load, wind load)
- Use: Early-stage structural budget without detailed analysis
Deflection estimation:
- Input: Span, member depth, load, material properties
- Output: Maximum deflection
- Use: Quick check against L/360, L/240 limits
FEA acceleration:
- Train neural network on FEA results for a parametric structural model
- Predict stress/displacement fields without running FEA
- Speedup: 1000x+ for structural optimization iterations
- Architecture: Convolutional neural network on stress field images, or graph neural network on mesh
5.4 Wind Prediction (Surrogate CFD)
Training ML to replace computationally expensive CFD simulations:
Input features:
- Building massing (voxelized or parameterized)
- Wind direction and speed
- Surrounding context geometry
- Height above ground for evaluation points
Output: Wind speed, pressure coefficients, or pedestrian comfort category at evaluation points
Approach: Train CNN on 3D voxel grid of massing with wind direction encoding. Output: 3D field of wind speed multipliers.
Training data: 500-2,000 CFD simulations with varied massing and wind conditions.
Accuracy: Typically within 10-20% of CFD for pedestrian-level wind speed prediction; sufficient for early design screening, not for final assessment.
5.5 Acoustic Prediction
RT60 (Reverberation Time) estimation:
- Input: Room volume, surface areas by material, absorption coefficients
- Output: RT60 in octave bands (125 Hz to 4 kHz)
- Sabine equation: RT60 = 0.161 * V / A (deterministic, no ML needed)
- ML added value: Predicting spatial distribution of sound levels, early decay time, clarity (C50/C80)
Speech intelligibility prediction:
- Input: Room geometry, source/receiver positions, surface treatment
- Output: STI (Speech Transmission Index) at receiver locations
- ML: CNN on room section with source/receiver marked; predict STI map
5.6 Feature Engineering for AEC
Effective features for AEC ML models:
Geometric features:
- Area, perimeter, volume, surface area
- Compactness (Polsby-Popper: 4piA/P^2)
- Aspect ratio (width/depth)
- Surface-to-volume ratio
- Convexity (area / convex hull area)
- Number of vertices (complexity)
- Minimum enclosing rectangle dimensions
Spatial features:
- Distance to boundary, to core, to window
- Depth from entry (graph distance)
- Isovist area, perimeter, compactness (visibility analysis)
- Sky view factor
- Solar exposure hours
Material features:
- Thermal resistance (R-value, U-value)
- Visible light transmittance (VLT)
- Solar heat gain coefficient (SHGC)
- Absorption coefficient (acoustic)
- Density, specific heat, thermal mass
Topological features:
- Connectivity (number of doors/openings)
- Graph centrality (betweenness, closeness)
- Clustering coefficient (local adjacency density)
- Path length to key spaces (entry, exit, core)
5.7 Model Types Comparison
| Model |
Strengths |
Weaknesses |
Best For |
| Random Forest |
Robust, handles mixed features, no scaling needed, feature importance |
Slow for large datasets, no extrapolation |
Tabular AEC data, initial baseline |
| XGBoost |
State-of-the-art for tabular data, regularization, fast |
Requires tuning, black-box |
Performance prediction, classification |
| MLP Neural Network |
Universal approximator, handles non-linearity |
Requires more data, scaling, tuning |
Large datasets, complex relationships |
| Gaussian Process |
Uncertainty quantification, good with small data |
O(n^3) scaling, limited to ~10K samples |
Small AEC datasets, optimization |
| CNN |
Spatial data (images, grids, fields) |
Requires image-like input, many parameters |
Image-based prediction, field prediction |
| GNN |
Graph-structured data (building topology) |
Relatively new, fewer tools |
Structural analysis, layout evaluation |
6. Structural ML
6.1 Topology Optimization Acceleration
Traditional topology optimization (SIMP, level-set) requires hundreds of FEA iterations. ML can accelerate this:
Approach 1: Direct prediction
- Input: Load cases, boundary conditions, volume fraction, design domain
- Output: Optimized material distribution (density field)
- Architecture: CNN (encode design domain + loads → decode density field)
- Training: 10,000-100,000 solved topology optimization problems
- Speedup: 1000x+ (single forward pass vs. 200+ FEA iterations)
Approach 2: Neural network as FEA substitute
- Replace FEA within the optimization loop with a neural network
- Each optimization iteration uses NN instead of FEA to evaluate compliance
- Speedup: 10-100x (still iterative, but each iteration is fast)
Approach 3: Transfer learning
- Train on a family of similar problems (e.g., cantilever beams with varying loads)
- Fine-tune on new problem with few iterations
- Useful when the design domain family is known in advance
6.2 Connection Design Classification
Classifying structural connections for automated detailing:
- Input: Joint geometry, member sizes, load demands
- Output: Connection type (welded, bolted, end plate, angle, clip), component sizes
- Model: Decision tree or random forest (interpretable, matches engineering practice)
- Training data: Connection design databases from structural firms
6.3 Damage Detection from Sensor Data
Structural health monitoring using ML:
- Input: Accelerometer, strain gauge, or displacement sensor time series
- Output: Damage presence, location, severity
- Methods:
- Anomaly detection: Autoencoders trained on healthy data; high reconstruction error = damage
- Classification: CNN on vibration signal spectrograms; classify damage type
- Regression: Predict damage index from modal parameters (frequencies, mode shapes)
6.4 Seismic Response Prediction
Predicting structural response to earthquake ground motions:
- Input: Building parameters (height, period, damping, ductility), ground motion intensity measures (PGA, Sa(T1), Arias intensity)
- Output: Peak inter-story drift, peak floor acceleration, residual drift
- Model: Neural network or Gaussian Process trained on nonlinear time history analysis results
- Application: Rapid loss assessment, performance-based design screening
6.5 Generative Structural Design
Using ML to generate novel structural systems:
- Reinforcement learning: Agent designs truss/frame topology; reward = structural efficiency + constructability
- GAN: Generate structurally valid connection details
- Diffusion model: Generate 3D structural topologies conditioned on loads and supports
- Current state: Research-stage; not yet reliable for production design
7. Point Cloud ML
7.1 3D Object Detection in Point Clouds
Detecting and localizing objects (building elements, MEP equipment) in 3D point clouds:
VoxelNet: Voxelize point cloud → 3D CNN → detect objects
PointPillars: Encode points in vertical columns (pillars) → 2D CNN → detect objects (originally for autonomous driving; adaptable to AEC)
3DSSD: Single-stage 3D object detection; fast; good for real-time scanning applications
AEC-specific detection:
- Detecting columns, beams, slabs in as-built scans
- Locating MEP equipment (AHUs, pumps, switchgear) in facility scans
- Identifying doors, windows, and openings in wall scans
- Detecting structural connections for inspection
7.2 Semantic Segmentation
Assigning a class label to every point in the cloud:
PointNet (2017):
- First deep learning model operating directly on raw point clouds
- Architecture: Shared MLP per point → max pooling (global feature) → per-point classification
- Limitation: Does not capture local structure (no neighborhood information)
PointNet++ (2017):
- Hierarchical PointNet with local grouping
- Set Abstraction layers: sample centroids → group neighbors → apply PointNet locally
- Feature Propagation: upsample features from subsampled set back to original points
- Better than PointNet for spatially complex AEC environments
RandLA-Net (2020):
- Designed for large-scale point clouds (millions of points)
- Random sampling (faster than FPS) + Local Feature Aggregation (attention-based)
- State-of-the-art on large outdoor datasets (Semantic3D, SemanticKITTI)
- Well-suited for AEC: building scans are large (10M-100M+ points)
KPConv (2019):
- Kernel Point Convolution: defines convolution kernels as sets of points in 3D
- Rigid and deformable variants
- Strong performance on indoor datasets (S3DIS, ScanNet)
- Good for detailed building interior segmentation
7.3 Instance Segmentation of Building Elements
Beyond per-point classification, identify individual instances:
- 3D-BoNet: Bounding box + binary mask per instance
- PointGroup: Semantic segmentation + offset prediction + clustering
- MASC: Multi-scale attention for instance clustering
- SoftGroup: Soft semantic scoring + bottom-up grouping
AEC application: Detect each individual pipe, duct, beam, column as a separate instance for BIM element creation.
7.4 Scan-to-BIM Automation
The holy grail of point cloud ML for AEC: automatically converting 3D scans to BIM models:
Pipeline:
- Preprocessing: Downsample (e.g., 1cm resolution), filter noise, register multiple scans
- Segmentation: Semantic segmentation (wall, floor, ceiling, column, pipe, duct, furniture)
- Primitive fitting: Fit geometric primitives to segments:
- Planes → walls, floors, ceilings
- Cylinders → pipes, columns
- Boxes → beams, equipment
- Custom shapes → MEP fittings
- Topology recovery: Determine connections between elements (wall-wall intersection, pipe-fitting-pipe)
- BIM element creation: Map primitives to BIM elements with attributes (type, material, dimensions)
- Model assembly: Create IFC or Revit model from elements
Current state: Steps 1-3 are increasingly automated with ML. Steps 4-6 still require significant manual intervention. Full end-to-end scan-to-BIM automation is 3-5 years away for typical buildings.
7.5 As-Built vs. As-Designed Comparison
Comparing point cloud (as-built) to BIM model (as-designed):
- Registration: Align point cloud to BIM coordinate system (ICP, feature matching)
- Point-to-surface distance: For each point, compute distance to nearest BIM surface
- Deviation mapping: Color-code deviations (green = within tolerance, yellow = marginal, red = out of tolerance)
- Tolerance checking: Flag elements exceeding tolerance (typically ±25mm for structural, ±50mm for architectural)
- Missing element detection: BIM elements with no nearby points may be missing or not yet installed
- Extra element detection: Point clusters not corresponding to any BIM element indicate field additions
7.6 Point Cloud Datasets for AEC
| Dataset |
Points |
Classes |
Environment |
Access |
| S3DIS |
696M |
13 |
Office buildings (6 areas) |
Public |
| ScanNet |
2.5M frames |
40 |
Indoor rooms (1513 scenes) |
Public (request) |
| Semantic3D |
4B |
8 |
Outdoor urban/rural |
Public |
| SemanticKITTI |
4.5B |
28 |
Outdoor driving |
Public |
| Toronto3D |
78M |
8 |
Urban street |
Public |
| DALES |
505M |
8 |
Aerial urban |
Public |
| Hessigheim3D |
800M |
11 |
Dense urban (aerial+terrestrial) |
Public |
| SUM |
3.7B |
6 |
Urban (Helsinki) |
Public |
| BuildingNet |
513K meshes |
31 |
3D building models |
Public |
8. NLP for AEC
8.1 Building Code Parsing and Querying
Using NLP to make building codes searchable and machine-readable:
Approaches:
- Information retrieval: Index code text; retrieve relevant sections for a query (e.g., "What is the maximum travel distance for a sprinklered business occupancy?")
- Named entity recognition: Extract entities from code text (dimensions, occupancy types, construction types, materials)
- Relation extraction: Identify relationships between entities (occupancy + sprinkler status → travel distance)
- Question answering: LLM fine-tuned on building code corpus; answer natural language questions about code requirements
- Semantic parsing: Convert code text to structured rules (IF-THEN format) for automated compliance checking
Challenges: Building codes use dense legal language with complex cross-references, exceptions, and conditional clauses. Accuracy requirements are high (incorrect code interpretation has liability implications).
8.2 Design Brief Analysis
Extracting structured information from narrative design briefs:
- Room program extraction: identify room types, areas, counts from text
- Adjacency requirement extraction: identify required spatial relationships
- Performance requirements: extract energy targets, acoustic requirements, daylight standards
- Aesthetic preferences: identify style references, material preferences
- Budget constraints: extract cost targets, phasing requirements
8.3 Specification Writing Assistance
LLM-assisted specification generation:
- Generate draft specifications from BIM model data (materials, products, performance requirements)
- Check specifications against model for consistency
- Suggest specification sections based on drawing content
- Cross-reference specifications with product databases
- Format according to MasterFormat / UniFormat / NRM
8.4 LLM-Powered Design Assistants
Current state of LLM assistants for AEC:
What works today:
- Code question answering (with appropriate RAG on code text)
- Script generation (Revit API, Grasshopper C#, Dynamo Python)
- Report writing from structured data
- Design option comparison and evaluation
- Meeting minutes summarization
- RFI response drafting
What does not yet work reliably:
- Direct geometry generation (LLMs do not understand spatial relationships well)
- Complex multi-step design reasoning
- Integration with live BIM models
- Real-time design feedback during modeling
- Autonomous code compliance checking (hallucination risk)
8.5 Text-to-3D Model Generation
Emerging capability: generating 3D building models from text descriptions:
- Current models (DreamFusion, Magic3D, MVDream) produce generic 3D shapes, not architecturally precise geometry
- Text-to-massing (e.g., "L-shaped building, 5 stories, with courtyard") is feasible with fine-tuned models
- Text-to-detailed-building is years away from practical quality
- Intermediate approach: text → 2D sketch (Stable Diffusion) → manual 3D modeling from sketch
8.6 Automated Reporting from BIM Data
Generating narrative reports from structured BIM data:
- Area schedules → written area report with analysis
- Energy simulation results → sustainability narrative for planning application
- Clash detection results → coordination report with prioritized action items
- Cost model data → cost report with variance analysis
- Construction schedule data → progress narrative
9. Practical ML Pipeline for AEC
9.1 Data Collection and Preparation
AEC data sources:
- BIM models (Revit, ArchiCAD, IFC exports)
- CAD drawings (DWG, DXF)
- Point cloud scans (LAS, E57, PLY)
- Construction photos (JPEG, PNG from site cameras)
- Sensor data (CSV, JSON from IoT devices)
- GIS data (Shapefile, GeoJSON, raster)
- Simulation results (EnergyPlus output, FEA results)
Data preprocessing for AEC:
- Standardize units: Ensure consistent metric/imperial
- Coordinate system alignment: Align all data to common coordinate system
- Missing data handling: AEC data is often incomplete; impute or flag missing values
- Outlier detection: Identify and handle anomalous values (e.g., room with 0 area, wall with 100m thickness)
- Class balancing: AEC datasets are often imbalanced (many walls, few stairs); use oversampling, undersampling, or class weights
9.2 Feature Engineering for AEC Data
See Section 5.6 for detailed feature types. Key principles:
- Use domain knowledge to create meaningful features (architects and engineers know what matters)
- Normalize features to similar scales (StandardScaler, MinMaxScaler)
- Handle categorical features (one-hot encoding for room types, occupancy types)
- Create interaction feat
…(truncated)
1---2name: ml-for-aec3description: Computer vision for buildings, image-to-floorplan, generative ML models, performance prediction, structural analysis ML, energy prediction, natural language to design, and point cloud ML for AEC computational design4---56# Machine Learning for AEC78Machine learning is reshaping specific domains within Architecture, Engineering, and Construction, though the transformation is uneven. This skill provides a thorough, practitioner-oriented guide to where ML delivers real value in AEC today, the architectures and methods that work, the data challenges that constrain adoption, and practical pipelines for training, deploying, and maintaining ML models in production AEC workflows.910---1112## 1. ML in AEC: Current State1314### 1.1 Where ML Actually Works in AEC Today1516ML in AEC is most effective where three conditions converge: (a) sufficient training data exists or can be generated, (b) the task is well-defined with measurable performance metrics, and (c) the cost of errors is manageable or human review is in the loop.1718**Proven, deployed applications**:19- Construction progress monitoring (photo comparison to BIM schedule)20- Safety monitoring on construction sites (PPE detection, exclusion zones)21- Defect detection (crack detection in concrete, facade inspections via drone imagery)22- Document classification (sorting drawings by discipline, type)23- Energy performance prediction (surrogate models replacing full simulation)24- Point cloud semantic segmentation (labeling structural elements from LiDAR scans)25- Cost estimation from early-stage design parameters2627**Promising but not yet mature**:28- Floor plan generation from adjacency programs29- Automated scan-to-BIM conversion30- Generative massing from site constraints31- Structural topology optimization acceleration32- Natural language to BIM queries3334**Overhyped or premature**:35- Fully autonomous building design from text prompts36- AI replacing architectural design judgment37- General-purpose design AI that understands building codes, physics, and aesthetics simultaneously38- End-to-end text-to-construction-documents3940### 1.2 Data Challenges in AEC4142The AEC industry faces unique data challenges that limit ML adoption:4344**Small datasets**: Unlike ImageNet (14M images) or web-scale text corpora, AEC datasets are small. A large architecture firm might have 5,000 floor plans in its portfolio. A structural engineering firm might have 2,000 analyzed buildings. These numbers are 3-4 orders of magnitude below what deep learning models typically require.4546**Inconsistent labeling**: Building elements are labeled differently across firms, software platforms, and regions. A "wall" in one BIM model might be modeled as a "generic model" in another. Room naming conventions vary wildly. There is no universal taxonomy.4748**Domain complexity**: Buildings are multi-physics systems where geometry, structure, thermal behavior, acoustics, daylight, and human experience interact. ML models that capture only one dimension produce solutions that fail on others.4950**Proprietary data**: Most building data is proprietary. Firms are reluctant to share project data. Public datasets are limited in size and diversity.5152**High-dimensional output**: A floor plan is not a single number or a class label; it is a complex geometric arrangement satisfying dozens of constraints simultaneously. This makes supervised learning difficult because the "ground truth" is itself a design decision, not an objective fact.5354### 1.3 ML Maturity by AEC Subdomain5556| Subdomain | ML Maturity | Key Applications | Data Availability |57|-----------|-------------|-----------------|-------------------|58| Construction safety | High | PPE detection, hazard detection | Moderate (site cameras) |59| Defect inspection | High | Crack detection, moisture | Moderate (drone imagery) |60| Energy prediction | Medium-High | EUI prediction, load forecasting | Good (simulation data) |61| Document processing | Medium | Drawing classification, OCR | Moderate (drawing archives) |62| Point cloud processing | Medium | Semantic segmentation, object detection | Growing (LiDAR/photogrammetry) |63| Floor plan analysis | Medium | Recognition, evaluation | Limited (CubiCasa5K, RPLAN) |64| Structural analysis | Low-Medium | FEA acceleration, damage detection | Limited (simulation data) |65| Generative design | Low | Layout generation, massing | Very limited |66| Urban analysis | Low-Medium | Land use classification, traffic | Moderate (satellite, GIS) |6768### 1.4 Build vs. Buy Decisions6970| Approach | When to Use | Examples |71|----------|------------|---------|72| **Use off-the-shelf** | Standard CV tasks (object detection, segmentation) with fine-tuning | YOLOv8, Detectron2, Segment Anything |73| **Fine-tune pre-trained** | AEC-specific tasks with moderate data (100-10,000 samples) | Fine-tuned ResNet for facade classification, ControlNet for architectural sketches |74| **Train from scratch** | Unique data modality or task with no applicable pre-trained model | Custom GNN for floor plan generation, custom PointNet for AEC-specific segmentation |75| **Buy commercial** | Mature, productized solutions where accuracy matters and in-house ML capacity is limited | OpenSpace (construction monitoring), Buildots, Avvir |7677---7879## 2. Computer Vision for AEC8081### 2.1 Object Detection8283Detecting and localizing building elements in images, drawings, or renderings.8485**Architectures**:8687| Model | Speed | Accuracy | Best For |88|-------|-------|----------|----------|89| YOLOv8/v9 | Very fast (real-time) | Good | Site safety monitoring, real-time applications |90| Faster R-CNN | Moderate | Very good | Drawing element detection, precise localization |91| DETR (Detection Transformer) | Moderate | Very good | Complex scenes, variable-size objects |92| EfficientDet | Fast | Good | Mobile/edge deployment, drone imagery |9394**AEC object detection tasks**:95- Detecting doors, windows, columns, stairs in architectural drawings96- Identifying structural elements (beams, columns, braces) in construction photos97- Recognizing equipment (HVAC units, electrical panels) in MEP drawings98- Detecting construction vehicles and workers on site99- Identifying signage, safety barriers, and temporary works100101**Training data preparation**:1021. Collect images: site photos, drawing scans, BIM screenshots, drone footage1032. Annotate with bounding boxes using tools like LabelImg, CVAT, Roboflow, Label Studio1043. Define class taxonomy: start small (5-10 classes), expand as needed1054. Ensure diversity: different lighting, angles, scales, drawing styles1065. Split: 70% train, 15% validation, 15% test; ensure no project overlap between splits1076. Augment: rotation, flipping, brightness, contrast, noise for images; not applicable for drawings where orientation matters108109### 2.2 Semantic Segmentation110111Pixel-level classification of every pixel in an image.112113**Architectures**:114115| Model | Parameters | Best For |116|-------|-----------|----------|117| U-Net | ~31M | Medical imaging heritage; small datasets; floor plan segmentation |118| DeepLab v3+ | ~41M | Outdoor scenes; site analysis; aerial imagery |119| SegFormer | ~13-85M | General purpose; good accuracy/speed balance |120| Segment Anything (SAM) | ~636M | Zero-shot; interactive; foundation model |121122**AEC semantic segmentation tasks**:123- Floor plan segmentation: walls, rooms, doors, windows, furniture124- Facade segmentation: windows, walls, balconies, cornices, rooflines125- Site segmentation from aerial imagery: buildings, roads, vegetation, water, parking126- Construction site segmentation: excavation, structure, formwork, scaffolding127- Material segmentation: concrete, steel, glass, masonry, wood in building photos128129**U-Net for floor plan segmentation**:130```131Input: RGB image of floor plan (256x256 or 512x512)132Output: Per-pixel class map (wall, room, door, window, furniture, background)133134Architecture:135 Encoder: [Conv-BN-ReLU-Conv-BN-ReLU-MaxPool] x 4 (downsample path)136 Bottleneck: [Conv-BN-ReLU-Conv-BN-ReLU]137 Decoder: [UpConv-Concat(skip)-Conv-BN-ReLU-Conv-BN-ReLU] x 4 (upsample path)138 Output: 1x1 Conv → Softmax (num_classes channels)139140Key: Skip connections concatenate encoder features to decoder at each level,141 preserving spatial detail for precise boundary delineation.142```143144### 2.3 Instance Segmentation145146Detecting individual object instances with pixel-precise masks.147148**Mask R-CNN** is the standard architecture:1491. Backbone (ResNet-50/101 + FPN) extracts multi-scale features1502. Region Proposal Network (RPN) proposes candidate regions1513. For each region: classify object, refine bounding box, predict pixel mask1524. Non-maximum suppression removes duplicate detections153154**AEC applications**:155- Individual room detection in floor plans (each room as a separate instance)156- Individual facade panel detection for curtain wall analysis157- Individual crack instance detection for structural assessment158- Individual worker detection for headcount and safety159160### 2.4 Document Understanding161162Processing architectural and engineering documents:163164**P&ID (Piping & Instrumentation Diagram) recognition**:165- Symbol detection (valves, pumps, instruments, equipment)166- Line detection (process lines, signal lines)167- Text recognition (tag numbers, labels)168- Topology extraction (connectivity graph)169170**Drawing annotation extraction**:171- Title block parsing: project name, sheet number, revision, date, scale172- Dimension text extraction173- Room name and number extraction174- Note and specification text extraction175176**Models**: Combination of object detection (for symbols), line detection (for pipes), and OCR (for text). Tesseract, PaddleOCR, or EasyOCR for text; custom detectors for symbols.177178### 2.5 Construction Progress Monitoring179180Comparing as-built photos to BIM model to track construction progress:1811821. **Image capture**: 360-degree cameras on hard hats or fixed mounts; capture daily1832. **Pose estimation**: Determine camera position relative to BIM using visual SLAM or marker-based localization1843. **Element matching**: Match detected elements in photos to BIM elements using projected positions1854. **Progress scoring**: For each BIM element, determine installation status:186 - Not started (element not visible)187 - In progress (partially installed)188 - Complete (fully installed, matches BIM geometry)1895. **Dashboard**: Overlay progress status on BIM model; generate progress reports190191Commercial solutions: OpenSpace, Buildots, Avvir, HoloBuilder192193### 2.6 Safety Monitoring194195Real-time safety monitoring on construction sites:196197**PPE detection**: Detect presence/absence of hard hats, safety vests, safety glasses, gloves198- Model: YOLOv8 fine-tuned on construction safety dataset199- Classes: person, hard_hat, no_hard_hat, vest, no_vest200- Inference: Real-time on edge GPU (Jetson, Intel NCS)201- Alert: If no_hard_hat or no_vest detected, trigger alert202203**Unsafe behavior detection**:204- Worker in exclusion zone (geofenced dangerous areas)205- Worker near heavy equipment operating radius206- Working at height without fall protection207- Improper lifting posture208209**Datasets**: COCO (general person detection), SODA (Safety Of Drivers and Automobiles), SHEL5K (Safety HElmet), Chi-SID (Construction Safety Image Dataset)210211### 2.7 Defect Detection212213Automated inspection of building elements:214215**Crack detection in concrete**:216- Semantic segmentation: U-Net trained on crack images; output binary mask (crack/no-crack)217- Classification: ResNet classifying image patches as cracked/uncracked218- Measurement: From segmentation mask, calculate crack width, length, orientation219- Datasets: Concrete Crack Images for Classification (40K images), SDNET2018, CrackForest220221**Facade inspection from drone imagery**:222- Staining, discoloration, spalling, efflorescence detection223- Missing or damaged cladding panels224- Window seal deterioration225- Vegetation growth226227**Structural damage assessment**:228- Post-earthquake damage classification (none, slight, moderate, severe, collapse)229- Fire damage assessment230- Corrosion detection on steel structures231- Timber decay and insect damage232233---234235## 3. Floor Plan Intelligence236237### 3.1 Floor Plan Recognition238239Converting raster floor plan images to structured vector data:240241**Pipeline**:2421. **Preprocessing**: Binarize image, remove noise, deskew2432. **Wall detection**: Use semantic segmentation (U-Net) or line detection (Hough transform, LSD) to identify walls2443. **Room segmentation**: Flood fill between walls to identify rooms; or use instance segmentation2454. **Opening detection**: Detect doors (arc symbols, break in wall) and windows (double line, symbol)2465. **Text extraction**: OCR for room names, dimensions, annotations2476. **Vectorization**: Convert pixel boundaries to vector polylines; simplify and orthogonalize2487. **Topology extraction**: Build room adjacency graph from shared walls249250**Challenges**:251- Varying drawing conventions across firms and regions252- Different scales and resolutions253- Furniture and annotation clutter254- Curved walls and non-orthogonal geometry255- Multi-page drawings with cross-references256257### 3.2 Floor Plan Generation258259Generating novel floor plan layouts using ML:260261**Graph2Plan** (2020):262- Input: Room adjacency graph with room types and areas263- Process: Graph neural network encodes adjacency relationships; decoder generates room bounding boxes; retrieval module finds similar real floor plans264- Output: Bounding box layout satisfying adjacency and area constraints265- Training data: RPLAN dataset (80K floor plans)266267**HouseDiffusion** (2023):268- Input: Room adjacency graph with types and areas269- Process: Denoising diffusion model conditioned on graph; iteratively denoises room positions and boundaries270- Output: Floor plan with room polygons271- Advantage: Diverse outputs from same input; controllable generation272273**House-GAN++** (2021):274- Input: Bubble diagram (graph with room types)275- Process: Conditional GAN with graph-based discriminator; generator produces room layouts; discriminator evaluates realism and constraint satisfaction276- Output: Room boundary masks277- Training: LIFULL HOME'S dataset278279**LayoutGAN** (2019):280- Input: Set of room types and counts281- Process: GAN with layout-specific discriminator; rooms as bounding boxes282- Output: Non-overlapping rectangular room arrangement283284### 3.3 Floor Plan Evaluation285286ML models for scoring layout quality:287288**Metrics that can be learned**:289- Circulation efficiency (ratio of circulation to usable area)290- Room proportion quality (aspect ratio deviation from ideal)291- Daylight access (percentage of habitable rooms on exterior wall)292- Privacy gradient (public rooms near entry, private rooms deeper)293- Structural regularity (alignment of load-bearing elements)294295**Approach**: Train a regression model on architect-scored floor plans. Features: graph-based (adjacency satisfaction), geometric (room proportions, areas), topological (depth from entry, circulation loops).296297### 3.4 Key Datasets298299| Dataset | Size | Content | Access |300|---------|------|---------|--------|301| CubiCasa5K | 5,000 | Finnish floor plans, SVG format, annotated | Public |302| RPLAN | 80,000 | Chinese residential floor plans, vector | Public (request) |303| HousExpo | 35,000 | Floor plans from Zillow, rasterized | Public |304| LIFULL HOME'S | 5M+ | Japanese rental listings with floor plans | Research access |305| ROBIN | 100+ | Richly annotated office building floor plans | Public |306| CVC-FP | 122 | Floor plan images with ground truth | Public |307| SESYD | 10 sets | Synthetic floor plans for symbol recognition | Public |308309### 3.5 Key Models310311| Model | Year | Task | Architecture | Input | Output |312|-------|------|------|-------------|-------|--------|313| Graph2Plan | 2020 | Generation | GNN + Retrieval | Adjacency graph | Bounding boxes |314| HouseDiffusion | 2023 | Generation | Diffusion + GNN | Adjacency graph | Room polygons |315| House-GAN++ | 2021 | Generation | Conditional GAN | Bubble diagram | Room masks |316| LayoutGAN | 2019 | Generation | GAN | Room types | Bounding boxes |317| Raster-to-Vector | 2017 | Recognition | CNN + Integer Programming | Floor plan image | Vector floor plan |318| FloorplanGAN | 2020 | Generation | pix2pix variant | Building boundary | Floor plan image |319320---321322## 4. Generative ML Models for Design323324### 4.1 GANs (Generative Adversarial Networks)325326**pix2pix** (image-to-image translation):327- Paired training data: (input, output) image pairs328- AEC applications:329 - Sketch → rendered facade330 - Zoning diagram → floor plan331 - Site plan → massing model332 - Daylight map → facade design333- Architecture: U-Net generator + PatchGAN discriminator334- Training: ~100-500 paired examples can produce usable results335336**CycleGAN** (unpaired image translation):337- No paired data needed; learns mapping between two domains338- AEC applications:339 - Day → night rendering340 - Summer → winter site visualization341 - Photo → sketch style transfer342 - As-built photo → clean rendering343- Advantage: Does not require paired examples344- Limitation: Less precise than pix2pix; struggles with geometric accuracy345346**StyleGAN** (style-based generation):347- Generates high-resolution images with control over style at different scales348- AEC applications:349 - Generating facade texture variations350 - Exploring interior design styles351 - Creating synthetic training images for other CV tasks352- Limitation: Generates images, not geometry; no guarantee of physical validity353354**Conditional GAN**:355- Generator conditioned on additional input (class label, text, image, graph)356- AEC: condition on building program, site constraints, or style preference357- Enables controllable generation: "generate a 3-bedroom apartment with south-facing living room"358359### 4.2 VAEs (Variational Autoencoders)360361**Latent space exploration**:362- Encode existing designs into a continuous latent space363- Interpolate between designs: blend floor plan A and floor plan B364- Sample from latent space to generate novel designs365- Navigate latent space dimensions to understand design variation366367**AEC applications**:368- Exploring the space of possible facade designs369- Interpolating between two building massing options370- Generating design variations by perturbing latent vectors371- Design recommendation: find latent neighbors of a liked design372373**Advantage over GANs**: Smoother latent space; more controllable generation; probabilistic framework (uncertainty quantification)374375**Limitation**: Outputs tend to be blurrier than GANs; reconstruction quality may not be as crisp376377### 4.3 Diffusion Models378379**Denoising Diffusion Probabilistic Models (DDPM)**:380- Forward process: Gradually add Gaussian noise to data until it becomes pure noise381- Reverse process: Learn to denoise step by step, recovering the original data382- Generation: Start from random noise, iteratively denoise to produce new samples383384**Stable Diffusion for architecture**:385- Text-to-image generation with architectural prompts386- Fine-tuning on architectural datasets for domain-specific generation387- ControlNet: Additional conditioning on edge maps, depth maps, or floor plans388- LoRA: Lightweight fine-tuning for specific architectural styles389390**ControlNet for architectural sketches**:391- Condition Stable Diffusion on Canny edge maps (from architectural sketches)392- Or on depth maps (from massing models)393- Or on segmentation maps (from zoning diagrams)394- Produces photorealistic renderings that follow the spatial structure of the control input395396**AEC-specific diffusion models**:397- HouseDiffusion: Floor plan generation conditioned on room adjacency graph398- Text-to-3D (e.g., DreamFusion, Magic3D): Generating 3D building models from text descriptions (early stage, limited architectural quality)399400### 4.4 Graph Neural Networks401402**GNN for building layout**:403- Represent building program as a graph: rooms = nodes, adjacencies = edges404- GNN encodes graph structure into node and edge embeddings405- Decoder predicts room positions and dimensions from embeddings406407**GNN architectures for AEC**:408- GCN (Graph Convolutional Network): Aggregate neighbor features; good for room classification409- GAT (Graph Attention Network): Weighted neighbor aggregation; captures varying adjacency importance410- GraphSAGE: Sampling-based aggregation; scalable to large buildings411- Message Passing Neural Network (MPNN): General framework; custom message and update functions412413**Applications beyond layout**:414- Structural frame analysis: nodes = joints, edges = members; predict forces, deflections415- Building system topology: nodes = equipment, edges = connections; predict performance416- Urban network analysis: nodes = buildings/intersections, edges = streets; predict pedestrian flow417418### 4.5 Point Cloud Generation419420**3D shape generation for building massing**:421- PointFlow: Normalizing flow model generating point clouds422- Point-E (OpenAI): Text-to-3D point cloud generation423- ShapeNet: Large-scale 3D shape dataset (includes some architectural objects)424425**Current limitations**: Generated shapes lack architectural precision; no structural logic; no floor plates or walls; resolution too low for detailed building geometry. Useful for early-stage massing exploration only.426427### 4.6 Current Limitations of Generative ML for AEC4284291. **Physical validity**: Generated designs may violate structural, MEP, or code requirements4302. **Resolution**: Output resolution insufficient for construction documentation4313. **Geometric precision**: ML models produce fuzzy boundaries; not the crisp lines needed for architecture4324. **Constraint enforcement**: Difficult to enforce hard constraints (code compliance, structural limits) within the generation process4335. **Evaluation**: No universally accepted metric for design quality; human evaluation is expensive and subjective4346. **Data**: Small AEC datasets limit generative model quality; models trained on web images do not understand buildings4357. **Integration**: Generated outputs do not integrate directly with BIM software without significant post-processing436437---438439## 5. Performance Prediction Models440441### 5.1 Energy Prediction442443Predicting building energy use intensity (EUI) from design parameters without running full simulation:444445**Input features**:446- Geometry: floor area, surface-to-volume ratio, compactness, number of stories447- Envelope: wall U-value, roof U-value, window U-value, WWR by orientation448- Orientation: building azimuth, latitude449- Climate: HDD, CDD, solar radiation450- Systems: HVAC type, lighting power density, equipment load451- Schedule: occupancy hours, setpoint temperatures452453**Target variable**: Annual EUI (kWh/m2/yr) or monthly energy consumption454455**Training data generation**:4561. Create parametric building model (e.g., in OpenStudio or EnergyPlus via eppy)4572. Define parameter ranges (sampling plan: Latin Hypercube Sampling)4583. Run 1,000-10,000 simulations4594. Each simulation = one training example (parameters → EUI)460461**Model comparison** (typical performance on EUI prediction):462463| Model | R2 | RMSE (kWh/m2) | Training Time | Interpretability |464|-------|-----|---------------|---------------|------------------|465| Linear Regression | 0.70-0.80 | 15-25 | Seconds | High |466| Random Forest | 0.90-0.95 | 5-12 | Minutes | Medium (SHAP) |467| XGBoost | 0.92-0.97 | 4-10 | Minutes | Medium (SHAP) |468| Neural Network (MLP) | 0.93-0.97 | 4-9 | Minutes-Hours | Low |469| Gaussian Process | 0.95-0.98 | 3-7 | Hours | High (uncertainty) |470471### 5.2 Daylight Prediction472473Predicting spatial Daylight Autonomy (sDA) or Annual Sunlight Exposure (ASE) from room geometry:474475**Input features**:476- Room dimensions (width, depth, height)477- Window geometry (width, height, sill height, per facade)478- Window properties (VLT, SHGC)479- External obstructions (height, distance)480- Latitude, orientation481- Ceiling/wall/floor reflectance482483**Surrogate model approach**: Train on Radiance/DAYSIM simulation results. Typical accuracy: R2 > 0.90 for sDA prediction.484485### 5.3 Structural Prediction486487**Load prediction from architectural models**:488- Input: Architectural model geometry (floor areas, spans, facade areas)489- Output: Approximate structural loads (dead load, live load, wind load)490- Use: Early-stage structural budget without detailed analysis491492**Deflection estimation**:493- Input: Span, member depth, load, material properties494- Output: Maximum deflection495- Use: Quick check against L/360, L/240 limits496497**FEA acceleration**:498- Train neural network on FEA results for a parametric structural model499- Predict stress/displacement fields without running FEA500- Speedup: 1000x+ for structural optimization iterations501- Architecture: Convolutional neural network on stress field images, or graph neural network on mesh502503### 5.4 Wind Prediction (Surrogate CFD)504505Training ML to replace computationally expensive CFD simulations:506507**Input features**:508- Building massing (voxelized or parameterized)509- Wind direction and speed510- Surrounding context geometry511- Height above ground for evaluation points512513**Output**: Wind speed, pressure coefficients, or pedestrian comfort category at evaluation points514515**Approach**: Train CNN on 3D voxel grid of massing with wind direction encoding. Output: 3D field of wind speed multipliers.516517**Training data**: 500-2,000 CFD simulations with varied massing and wind conditions.518519**Accuracy**: Typically within 10-20% of CFD for pedestrian-level wind speed prediction; sufficient for early design screening, not for final assessment.520521### 5.5 Acoustic Prediction522523**RT60 (Reverberation Time) estimation**:524- Input: Room volume, surface areas by material, absorption coefficients525- Output: RT60 in octave bands (125 Hz to 4 kHz)526- Sabine equation: RT60 = 0.161 * V / A (deterministic, no ML needed)527- ML added value: Predicting spatial distribution of sound levels, early decay time, clarity (C50/C80)528529**Speech intelligibility prediction**:530- Input: Room geometry, source/receiver positions, surface treatment531- Output: STI (Speech Transmission Index) at receiver locations532- ML: CNN on room section with source/receiver marked; predict STI map533534### 5.6 Feature Engineering for AEC535536Effective features for AEC ML models:537538**Geometric features**:539- Area, perimeter, volume, surface area540- Compactness (Polsby-Popper: 4*pi*A/P^2)541- Aspect ratio (width/depth)542- Surface-to-volume ratio543- Convexity (area / convex hull area)544- Number of vertices (complexity)545- Minimum enclosing rectangle dimensions546547**Spatial features**:548- Distance to boundary, to core, to window549- Depth from entry (graph distance)550- Isovist area, perimeter, compactness (visibility analysis)551- Sky view factor552- Solar exposure hours553554**Material features**:555- Thermal resistance (R-value, U-value)556- Visible light transmittance (VLT)557- Solar heat gain coefficient (SHGC)558- Absorption coefficient (acoustic)559- Density, specific heat, thermal mass560561**Topological features**:562- Connectivity (number of doors/openings)563- Graph centrality (betweenness, closeness)564- Clustering coefficient (local adjacency density)565- Path length to key spaces (entry, exit, core)566567### 5.7 Model Types Comparison568569| Model | Strengths | Weaknesses | Best For |570|-------|-----------|------------|----------|571| Random Forest | Robust, handles mixed features, no scaling needed, feature importance | Slow for large datasets, no extrapolation | Tabular AEC data, initial baseline |572| XGBoost | State-of-the-art for tabular data, regularization, fast | Requires tuning, black-box | Performance prediction, classification |573| MLP Neural Network | Universal approximator, handles non-linearity | Requires more data, scaling, tuning | Large datasets, complex relationships |574| Gaussian Process | Uncertainty quantification, good with small data | O(n^3) scaling, limited to ~10K samples | Small AEC datasets, optimization |575| CNN | Spatial data (images, grids, fields) | Requires image-like input, many parameters | Image-based prediction, field prediction |576| GNN | Graph-structured data (building topology) | Relatively new, fewer tools | Structural analysis, layout evaluation |577578---579580## 6. Structural ML581582### 6.1 Topology Optimization Acceleration583584Traditional topology optimization (SIMP, level-set) requires hundreds of FEA iterations. ML can accelerate this:585586**Approach 1: Direct prediction**587- Input: Load cases, boundary conditions, volume fraction, design domain588- Output: Optimized material distribution (density field)589- Architecture: CNN (encode design domain + loads → decode density field)590- Training: 10,000-100,000 solved topology optimization problems591- Speedup: 1000x+ (single forward pass vs. 200+ FEA iterations)592593**Approach 2: Neural network as FEA substitute**594- Replace FEA within the optimization loop with a neural network595- Each optimization iteration uses NN instead of FEA to evaluate compliance596- Speedup: 10-100x (still iterative, but each iteration is fast)597598**Approach 3: Transfer learning**599- Train on a family of similar problems (e.g., cantilever beams with varying loads)600- Fine-tune on new problem with few iterations601- Useful when the design domain family is known in advance602603### 6.2 Connection Design Classification604605Classifying structural connections for automated detailing:606607- Input: Joint geometry, member sizes, load demands608- Output: Connection type (welded, bolted, end plate, angle, clip), component sizes609- Model: Decision tree or random forest (interpretable, matches engineering practice)610- Training data: Connection design databases from structural firms611612### 6.3 Damage Detection from Sensor Data613614Structural health monitoring using ML:615616- Input: Accelerometer, strain gauge, or displacement sensor time series617- Output: Damage presence, location, severity618- Methods:619 - Anomaly detection: Autoencoders trained on healthy data; high reconstruction error = damage620 - Classification: CNN on vibration signal spectrograms; classify damage type621 - Regression: Predict damage index from modal parameters (frequencies, mode shapes)622623### 6.4 Seismic Response Prediction624625Predicting structural response to earthquake ground motions:626627- Input: Building parameters (height, period, damping, ductility), ground motion intensity measures (PGA, Sa(T1), Arias intensity)628- Output: Peak inter-story drift, peak floor acceleration, residual drift629- Model: Neural network or Gaussian Process trained on nonlinear time history analysis results630- Application: Rapid loss assessment, performance-based design screening631632### 6.5 Generative Structural Design633634Using ML to generate novel structural systems:635636- Reinforcement learning: Agent designs truss/frame topology; reward = structural efficiency + constructability637- GAN: Generate structurally valid connection details638- Diffusion model: Generate 3D structural topologies conditioned on loads and supports639- Current state: Research-stage; not yet reliable for production design640641---642643## 7. Point Cloud ML644645### 7.1 3D Object Detection in Point Clouds646647Detecting and localizing objects (building elements, MEP equipment) in 3D point clouds:648649**VoxelNet**: Voxelize point cloud → 3D CNN → detect objects650**PointPillars**: Encode points in vertical columns (pillars) → 2D CNN → detect objects (originally for autonomous driving; adaptable to AEC)651**3DSSD**: Single-stage 3D object detection; fast; good for real-time scanning applications652653AEC-specific detection:654- Detecting columns, beams, slabs in as-built scans655- Locating MEP equipment (AHUs, pumps, switchgear) in facility scans656- Identifying doors, windows, and openings in wall scans657- Detecting structural connections for inspection658659### 7.2 Semantic Segmentation660661Assigning a class label to every point in the cloud:662663**PointNet** (2017):664- First deep learning model operating directly on raw point clouds665- Architecture: Shared MLP per point → max pooling (global feature) → per-point classification666- Limitation: Does not capture local structure (no neighborhood information)667668**PointNet++** (2017):669- Hierarchical PointNet with local grouping670- Set Abstraction layers: sample centroids → group neighbors → apply PointNet locally671- Feature Propagation: upsample features from subsampled set back to original points672- Better than PointNet for spatially complex AEC environments673674**RandLA-Net** (2020):675- Designed for large-scale point clouds (millions of points)676- Random sampling (faster than FPS) + Local Feature Aggregation (attention-based)677- State-of-the-art on large outdoor datasets (Semantic3D, SemanticKITTI)678- Well-suited for AEC: building scans are large (10M-100M+ points)679680**KPConv** (2019):681- Kernel Point Convolution: defines convolution kernels as sets of points in 3D682- Rigid and deformable variants683- Strong performance on indoor datasets (S3DIS, ScanNet)684- Good for detailed building interior segmentation685686### 7.3 Instance Segmentation of Building Elements687688Beyond per-point classification, identify individual instances:689690- **3D-BoNet**: Bounding box + binary mask per instance691- **PointGroup**: Semantic segmentation + offset prediction + clustering692- **MASC**: Multi-scale attention for instance clustering693- **SoftGroup**: Soft semantic scoring + bottom-up grouping694695AEC application: Detect each individual pipe, duct, beam, column as a separate instance for BIM element creation.696697### 7.4 Scan-to-BIM Automation698699The holy grail of point cloud ML for AEC: automatically converting 3D scans to BIM models:700701**Pipeline**:7021. **Preprocessing**: Downsample (e.g., 1cm resolution), filter noise, register multiple scans7032. **Segmentation**: Semantic segmentation (wall, floor, ceiling, column, pipe, duct, furniture)7043. **Primitive fitting**: Fit geometric primitives to segments:705 - Planes → walls, floors, ceilings706 - Cylinders → pipes, columns707 - Boxes → beams, equipment708 - Custom shapes → MEP fittings7094. **Topology recovery**: Determine connections between elements (wall-wall intersection, pipe-fitting-pipe)7105. **BIM element creation**: Map primitives to BIM elements with attributes (type, material, dimensions)7116. **Model assembly**: Create IFC or Revit model from elements712713**Current state**: Steps 1-3 are increasingly automated with ML. Steps 4-6 still require significant manual intervention. Full end-to-end scan-to-BIM automation is 3-5 years away for typical buildings.714715### 7.5 As-Built vs. As-Designed Comparison716717Comparing point cloud (as-built) to BIM model (as-designed):7187191. **Registration**: Align point cloud to BIM coordinate system (ICP, feature matching)7202. **Point-to-surface distance**: For each point, compute distance to nearest BIM surface7213. **Deviation mapping**: Color-code deviations (green = within tolerance, yellow = marginal, red = out of tolerance)7224. **Tolerance checking**: Flag elements exceeding tolerance (typically ±25mm for structural, ±50mm for architectural)7235. **Missing element detection**: BIM elements with no nearby points may be missing or not yet installed7246. **Extra element detection**: Point clusters not corresponding to any BIM element indicate field additions725726### 7.6 Point Cloud Datasets for AEC727728| Dataset | Points | Classes | Environment | Access |729|---------|--------|---------|-------------|--------|730| S3DIS | 696M | 13 | Office buildings (6 areas) | Public |731| ScanNet | 2.5M frames | 40 | Indoor rooms (1513 scenes) | Public (request) |732| Semantic3D | 4B | 8 | Outdoor urban/rural | Public |733| SemanticKITTI | 4.5B | 28 | Outdoor driving | Public |734| Toronto3D | 78M | 8 | Urban street | Public |735| DALES | 505M | 8 | Aerial urban | Public |736| Hessigheim3D | 800M | 11 | Dense urban (aerial+terrestrial) | Public |737| SUM | 3.7B | 6 | Urban (Helsinki) | Public |738| BuildingNet | 513K meshes | 31 | 3D building models | Public |739740---741742## 8. NLP for AEC743744### 8.1 Building Code Parsing and Querying745746Using NLP to make building codes searchable and machine-readable:747748**Approaches**:749- **Information retrieval**: Index code text; retrieve relevant sections for a query (e.g., "What is the maximum travel distance for a sprinklered business occupancy?")750- **Named entity recognition**: Extract entities from code text (dimensions, occupancy types, construction types, materials)751- **Relation extraction**: Identify relationships between entities (occupancy + sprinkler status → travel distance)752- **Question answering**: LLM fine-tuned on building code corpus; answer natural language questions about code requirements753- **Semantic parsing**: Convert code text to structured rules (IF-THEN format) for automated compliance checking754755**Challenges**: Building codes use dense legal language with complex cross-references, exceptions, and conditional clauses. Accuracy requirements are high (incorrect code interpretation has liability implications).756757### 8.2 Design Brief Analysis758759Extracting structured information from narrative design briefs:760761- Room program extraction: identify room types, areas, counts from text762- Adjacency requirement extraction: identify required spatial relationships763- Performance requirements: extract energy targets, acoustic requirements, daylight standards764- Aesthetic preferences: identify style references, material preferences765- Budget constraints: extract cost targets, phasing requirements766767### 8.3 Specification Writing Assistance768769LLM-assisted specification generation:770771- Generate draft specifications from BIM model data (materials, products, performance requirements)772- Check specifications against model for consistency773- Suggest specification sections based on drawing content774- Cross-reference specifications with product databases775- Format according to MasterFormat / UniFormat / NRM776777### 8.4 LLM-Powered Design Assistants778779Current state of LLM assistants for AEC:780781**What works today**:782- Code question answering (with appropriate RAG on code text)783- Script generation (Revit API, Grasshopper C#, Dynamo Python)784- Report writing from structured data785- Design option comparison and evaluation786- Meeting minutes summarization787- RFI response drafting788789**What does not yet work reliably**:790- Direct geometry generation (LLMs do not understand spatial relationships well)791- Complex multi-step design reasoning792- Integration with live BIM models793- Real-time design feedback during modeling794- Autonomous code compliance checking (hallucination risk)795796### 8.5 Text-to-3D Model Generation797798Emerging capability: generating 3D building models from text descriptions:799800- Current models (DreamFusion, Magic3D, MVDream) produce generic 3D shapes, not architecturally precise geometry801- Text-to-massing (e.g., "L-shaped building, 5 stories, with courtyard") is feasible with fine-tuned models802- Text-to-detailed-building is years away from practical quality803- Intermediate approach: text → 2D sketch (Stable Diffusion) → manual 3D modeling from sketch804805### 8.6 Automated Reporting from BIM Data806807Generating narrative reports from structured BIM data:808809- Area schedules → written area report with analysis810- Energy simulation results → sustainability narrative for planning application811- Clash detection results → coordination report with prioritized action items812- Cost model data → cost report with variance analysis813- Construction schedule data → progress narrative814815---816817## 9. Practical ML Pipeline for AEC818819### 9.1 Data Collection and Preparation820821**AEC data sources**:822- BIM models (Revit, ArchiCAD, IFC exports)823- CAD drawings (DWG, DXF)824- Point cloud scans (LAS, E57, PLY)825- Construction photos (JPEG, PNG from site cameras)826- Sensor data (CSV, JSON from IoT devices)827- GIS data (Shapefile, GeoJSON, raster)828- Simulation results (EnergyPlus output, FEA results)829830**Data preprocessing for AEC**:8311. **Standardize units**: Ensure consistent metric/imperial8322. **Coordinate system alignment**: Align all data to common coordinate system8333. **Missing data handling**: AEC data is often incomplete; impute or flag missing values8344. **Outlier detection**: Identify and handle anomalous values (e.g., room with 0 area, wall with 100m thickness)8355. **Class balancing**: AEC datasets are often imbalanced (many walls, few stairs); use oversampling, undersampling, or class weights836837### 9.2 Feature Engineering for AEC Data838839See Section 5.6 for detailed feature types. Key principles:840- Use domain knowledge to create meaningful features (architects and engineers know what matters)841- Normalize features to similar scales (StandardScaler, MinMaxScaler)842- Handle categorical features (one-hot encoding for room types, occupancy types)843- Create interaction feat844845…(truncated)