DBF R&D

📄 Read more about the project in the paper published at the CAADRIA 22 conference, here

Simulations are the go-to solution for building performance analysis, but there are many problems associated with that, namely domain-level understanding of the simulation mathematical models, tremendous computational resources and these are extremely time-intensive. This conflicts with the early-stage design process, where designers perform several rounds of design iteration and refinement.

Project Focus 🧿

  1. One click daylight analysis with Synthetic Machine Learning, for faster and more interpretable results
  2. Automatic and distributed data generation using parametric scripts, simulation tools and GPU based render farms
  3. Developement of a web service to perform daylight analysis, with realtime & informed design recommendations
An overview of Synthetic Machine Learning system and summary of applied technologies

Overview 🔭

We developed a system, Synthetic Machine Learning, to predict daylight simulation results in realtime. The system consists of four parts:
[1] a parametric model; generating synthetic data based on environmental simulation
[2] a ML model, trained on the generated synthetic data, to predict building DA and sDA
[3] a web service containing a pre-trained ML model
[4] a web-based user interface that allows the interaction with the ML mechanics.

The framework of Synthetic Machine Learning system for DA and sDA prediction

Data Generation ⏩

We developed the automatic sythetic data generation pipeline, with help of Rhino 6, Grasshopper3D and LadyBug tools. The parametric model automated the generation of dynamic daylight simulations data for different locations and design configurations. To cut the simulation time, we used Accelerad, a daylighting simulation package that makes use of GPU-compute architecture to accelerate simulation time

Model Training 📈

For model training, 3 different ML model were tested, Linear Regression, Random Forest Regression, and Artificial Neural Networks (ANN). ANNs were chosen because of its accuracy and performance with outliers. The data was trained using Tensorflow with optimized parameter tuning. The input parameters for model training included Windo-Wall-Ratio for each elevation, height, width, length of rotation of the spatial module, latitude and longitude of the city. The data was trained with 6 to 10 Neural Network layers with 100.000+ total trainable parameters. We achieved a training loss of Mean Absolute Error (MAE) of 0.009 and Mean Squared Error (MSE) of 0.0002. The performance kept on improving with more diverse data.

Web Deployment (MLOps) 💻

The deployment was the most challenging step, as we had no knowledge on how to connect the ML models to front-end. The model was first tested in Rhino3D Environment with the help of Hops component. After testing various workflows, cloud computing service, Google Cloud was used for deployment. The ML models were converted to cloud functions and directly connected to the DBF platform through API.

UI/UX 🖊️

The user interface was designed to be as simple and intuitive as possible. The user can perform analysis on the buildings generated by the DBF platform. The prediction is presented as a clear 3D visualization and contains information on building energy efficiency. The colour-coded report presents the estimated DA and sDA values, for selected WWR ratios for each facade of the 3D building.

DBF building DA prediction system is based on ML and dramatically reduces daylight analysis time compared to traditional simulation-based approaches.

Next Steps 💡

In this project, we used tabular data and predicted values, but we expanded it further and experimented with 2D generation of daylight simulation results as heatmaps using 2D CNN algorithm. This method can help in predicting more granular daylight results. It was deployed to predict Daylight Autonomy and Spatial Daylight Autonomy, based on size of room and window-wall ratios.

Predicting the DA based on input parameters. The resulting heatmap has values varying from 0-100%.
Predicting the sDA based on input parameters. The results of sDA are easier to interpret, as there are only two values, pass or fail.