segdec-net-plusplus-conbuildmat2023
segdec-net-plusplus-conbuildmat2023 copied to clipboard
SegDecNet++: an official PyTorch implementation for "Automated detection and segmentation of cracks in concrete surfaces using joined segmentation and classification deep neural network" paper
SegDecNet++ for concrete crack segmentation
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].
Citation
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]}
}
How to run:
Requirements
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
Datasets
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
Replicating paper results
To replicate the results published in the paper run:
./EXPERIMENTS_CONBUILDMAT.sh
Results will be written to ./RESULTS folders.
Usage of training/evaluation code
The following python files are used to train/evaluate the model:
train_net.pyMain entry for training and evaluationmodels.pyModel file for networkdata/dataset_catalog.pyContains currently supported datasets
Examples

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.
