language:
- en
tags:
- Earthwork
- Quantity
- Estimation
- CAD
- deep-learning
- LLM
- MLP
- LSTM
- Transformers
- BERT
license: mit
datasets:
- custom
- cad-drawings
metrics:
- accuracy
- loss
library_name: transformers
model_name: EarthworkNet
widget:
- example_input: Cross-sectional data for earthwork quantity prediction
- example_output: 'Predicted earthwork quantity such as cut, refill etc : 1234 m³'
Earthwork Network Architecture (ENA)
Overview
The Earthwork Network Architecture (ENA) is the deep learning model designed to compare the accurate estimation prediction of earthwork quantities. This repository includes four distinct deep learning models—MLP, LSTM, Transformers, and LLM-based architectures (BERT)—tailored for automating and enhancing earthwork quantity estimation from CAD-based cross-sectional drawings.
Key Features:
Multi-Model Approach:
- MLP-Based Model: Lightweight and efficient for smaller datasets.
- LSTM-Based Model: Ideal for sequential dependencies in time-series data.
- Transformer-Based Model: Handles complex relationships and large datasets.
- LLM-Based Model (BERT): Excels in processing contextual and unstructured data.
Automated Data Processing:
- Converts CAD cross-sectional drawings into structured datasets.
- Employs a Half-Edge Topology Structure to tokenize and preprocess geometrical features.
Enhanced Performance:
- Provides superior accuracy in Quantity Takeoff Classification (QTC) with reduced loss metrics.
- Demonstrates robust generalization for unseen datasets, validated through a real-world road construction project.
Research Basis:
The ENA is detailed in the paper Earthwork Network Architecture (ENA): Research for Earthwork Quantity Estimation Method Improvement with Large Language Model. It showcases a comparative analysis of the ENA models and demonstrates the advantages of LLM-based approaches in construction engineering.
Usage
Prerequisites
- Programming Language: Python 3.8 or above.
- Libraries: Install the required libraries using
pip install
. Detailed dependencies will be provided in the code files.
Data Preparation
Input Data:
- Prepare CAD cross-sectional drawings as input files.
- Use the provided scripts to preprocess and tokenize geometrical features.
Training Data:
- Features are tokenized into sequences for MLP, LSTM, Transformers, and LLM models.
Training and Evaluation
- Select the model architecture (
MLP
,LSTM
,Transformer
, orLLM
). - Configure hyperparameters (batch size, learning rate, etc.) as required.
- Run the training script:
python train_ena_model.py --model_type [MLP|LSTM|Transformer|LLM]
- Evaluate the model using the test dataset:
python evaluate_ena_model.py --model_path [path/to/trained/model]
Results
- Best Model: LLM-based ENA achieved a QTC accuracy of 97.17%, outperforming other architectures in accuracy and stability.
- Performance Trade-Offs: LLMs provide high accuracy but require significant computational resources compared to other models.
Coming Soon
- Source codes for ENA models.
- Step-by-step tutorials for dataset preparation and model training.
License
This project is licensed under the MIT License.
Citation
If you use this repository, please cite:
Kang, T.; Kang, K. Earthwork Network Architecture (ENA): Research for Earthwork Quantity Estimation Method Improvement with Large Language Models. Appl. Sci. 2024, 14, 10517.
https://doi.org/10.3390/app142210517