An official PyTorch implementation for "Automated detection and segmentation of cracks in concrete surfaces using joined segmentation and classification deep neural network" published in journal Construction and Building Materials 2023.
Code is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. For comerical use please contact [email protected].
Please cite our Construction and Building Materials 2023 paper when using this code:
@article{Tabernik2023CONBUILDMAT,
author = {Tabernik, Domen and {\v{S}}uc, Matic and
Sko{\v{c}}aj, Danijel},
journal = {Construction and Building Materials},
title = {{Automated detection and segmentation of cracks in concrete surfaces using joined segmentation and classification deep neural network}},
year = {2023]}
}
Code has been tested to work on:
- Python 3.8
- PyTorch 1.8
- CUDA 11.1
- using additional packages as listed in requirements.txt
Deploy enviroment using conda:
conda create env --name SegDecNet++ --file=environment.yml
We use dataset from SCCDNet paper, which consists of the following image sets:
- CFD
- CRACK500
- CrackTree200
- DeepCrack
- GAPs384
- Rissbilder
- non-crack images
However, since the dataset contains major issues for Rissbilder groundtruth, we provide a corrected groundtruth for the whole SCCDNet dataset
To replicate the results published in the paper run:
./EXPERIMENTS_CONBUILDMAT.sh
Results will be written to ./RESULTS
folders.
The following python files are used to train/evaluate the model:
train_net.py
Main entry for training and evaluationmodels.py
Model file for networkdata/dataset_catalog.py
Contains currently supported datasets
Examples of crack segmentation with our proposed method. We depict false positive pixels in red, and false negatives in yellow, while the correct background segmentation is in black and the correct foreground in white.