This project presents a deep learning-based solution for automated bridge damage detection and segmentation, a critical challenge in maintaining the structural safety of global bridge infrastructure. Utilizing a Feature Pyramid Network (FPN) with an EfficientNet B4 backbone, pre-trained on ImageNet weights, our model excels in multi-label semantic segmentation. It is designed to work with the 'dacl10k: Dataset for Semantic Bridge Damage Segmentation', enabling the identification and classification of 19 different types of bridge damages. This model represents a significant advancement in the field of automated bridge damage detection. It not only demonstrates the potential of deep learning in structural safety assessments but also sets a new benchmark for future research endeavors. The model's ability to segment 19 different classes of damages is currently unmatched, showcasing our commitment to enhancing the safety and maintenance of both urban and rural bridge infrastructures. Our approach achieves state-of-the-art performance, particularly in terms of mean Intersection over Union (mIoU), further contributing to the field's development.
Our Model Weights can be found at Model Weights
create_pt_files.py
: Processes the 'dacl10k' dataset, resizing images and preparing them for training.model.py
: Trains the deep learning model for bridge damage segmentation.
Download the dataset
Data File | Download |
---|---|
dacl10k_v2_devphase.zip |
GigaMove, AWS |
¹ Hosted at RWTH Aachen University.
Create a virtual environment using Conda to manage dependencies:
conda create -n bridge-detection python=3.8 -y
conda activate bridge-detection
pip install -r requirements.txt
Ensure your project directory follows this structure:
project/
├── annotations/
│ ├── train/ (n=6,935)
│ └── validation/ (n=975)
├── images/
│ ├── train/ (n=6,935)
│ └── validation/ (n=975)
├── create_pt_files.py
├── model.py
├── data_load.py
└── requirements.txt
Clone the repository and navigate to the project directory:
git clone https://github.com/iabh1shekbasu/ArchitectEye.git
cd ArchitectEye
To use the scripts, follow these steps:
-
Process the 'dacl10k' dataset to generate .pt files, which significantly reduces training time. This step might take a while to run:
python create_pt_files.py
-
Train the model (this step automatically handles data loading and preprocessing):
python model.py
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This was done as a course project for AI-701 at Mohamed bin Zayed University of Artificial Intelligence (MBZUAI) For any inquiries or further information, please reach out to [sarim.hashmi@mbzuai.ac.ae].