Project: Interlocking Classification – Ryu
-
Intro
-
Technical Aspects
Information
Primary software used | Python |
Software version | 1.0 |
Course | Computational Intelligence for Integrated Design |
Primary subject | AI & ML |
Secondary subject | Machine Learning |
Level | Beginner |
Last updated | November 19, 2024 |
Keywords |
Responsible
Teacher | |
Faculty |
Project: Interlocking Classification – Ryu 0/1
Project: Interlocking Classification – Ryu link copied
Structural Interlocking Joint Classification Using ML
Dry-joint interlocking systems offer a promising alternative to traditional construction methods. However, designing such structures demands thorough understanding of their topological complexities. The focus in this project lies in developing machine learning models capable of discerning genuine interlocking structures and assessing the structural feasibility of their joints—a task that could be arduous for manual inspection by people. I developed two machine learning models using custom datasets. The first model is an interlocking joint classifier that predicts true or false using Logistic Regression algorithm. The second model classifies joint stiffness (multiple label) using a Multilayer Perceptron (MLP).
Project Information
- Title: Interlocking Classification – Structural Interlocking Joint Classification Using ML
- Author(s): Sanguk Ryu
- Year: 2024
- Type: Course Project, Building Technology, Computational Intelligence for Integrated Design
- ML tags: Machine Learning Classification, Interlocking, K-means Clustering, Logistic Regression, MLP, Neural Networks
- Topic tags: Structural Design, Classification
Project: Interlocking Classification – Ryu 1/1
Technical Aspects link copied
Software & plug-ins used
- Python for interlocking joint dataset generation
- Rhinoceros, Grasshopper, Karamba 3D for Structural performance evaluation
- Python using Scikit-learn, K-means clustering for designing ML model for classification boundary conditions
- Python using Scikit-learn, Logistic Regression for designing ML model for true/ false classifier model
- Python using Pytorch, Multilayer Perceptron for designing ML model for joint classification model
Design workflow
Design Framework
The interlocking classification model has 5 frameworks:
- Interlocking joint dataset generation
- Structural evaluation of the dataset
- Defining classification boundaries using unsupervised ML method
- True/ false classification model using supervised ML method
Workflow of Dataset Generation
Following steps were taken to construct the dataset for feeding the ML model:
- Using Jupyter Notebook, true-or-false interlocking joint combinations were created as an output of 8×6 matrix with binary values (0 for true and 1 for false).
- The structural evaluation of the interlocking dry joints was made using Karamba3D software. Displacement values, one of the outputs of the analysis, provide essential insights as the input for the next stage.
- The values of the stiffness indicator (displacement) yield a wide range of results. Using K-means clustering algorithm, an unsupervised ML method, I could perform accurate label clustering by uncovering hidden patterns.
ML-workflow
The ML models are designed to predict a given 8 x 6 type interlocking joint whether the joint is 1) a genuine interlocking joint, and 2) if so, how strong the joint is.
- Logistic Regression model was used for the binary true-or-false classification of the interlocking joints. The objective was to minimize the loss function and improve the accuracy of the prediction.
- Multilayer Perceptron (MLP) model was used to successfully predict the five classification labels of the joint connections. The goal was to enhance the label prediction accuracy using 8×6 bit images of interlocking joints as input and the classified label as output. The dataset was divided into training, validation, and test sets.