vicoslab / segdec-net-plusplus-conbuildmat2023

SegDecNet++: an official PyTorch implementation for "Automated detection and segmentation of cracks in concrete surfaces using joined segmentation and classification deep neural network" paper

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

CC BY-NC-SA 4.0

Code is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. For comerical use please contact danijel.skocaj@fri.uni-lj.si.

CC BY-NC-SA 4.0

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.py Main entry for training and evaluation
  • models.py Model file for network
  • data/dataset_catalog.py Contains 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.

About

SegDecNet++: an official PyTorch implementation for "Automated detection and segmentation of cracks in concrete surfaces using joined segmentation and classification deep neural network" paper

License:Other


Languages

Language:Python 96.5%Language:Shell 3.5%