DeepCrack: Learning Hierarchical Convolutional Features for Crack Detection
We provide the codes, the datasets, and the pretrained model.
Zou Q, Zhang Z, Li Q, Qi X, Wang Q and Wang S, DeepCrack: Learning Hierarchical Convolutional Features for Crack Detection, IEEE Transactions on Image Processing, vol. 28, no. 3, pp. 1498-1512, 2019. [PDF]
Four datasets are used by DeepCrack. CrackTree260 is used for training, and the other three are used for test.
You can download the four datasets from the following link,
CrackTree260 & GT dataset: https://1drv.ms/f/s!AittnGm6vRKLyiQUk3ViLu8L9Wzb
CRKWH100 dataset: https://1drv.ms/f/s!AittnGm6vRKLtylBkxVXw5arGn6R
CRKWH100 GT: https://1drv.ms/f/s!AittnGm6vRKLglyfiCw_C6BDeFsP
CrackLS315 dataset: https://1drv.ms/f/s!AittnGm6vRKLtylBkxVXw5arGn6R
CrackLS315 GT: https://1drv.ms/u/s!AittnGm6vRKLg0HrFfJNhP2Ne1L5?e=WYbPvF
Stone331 dataset: https://1drv.ms/f/s!AittnGm6vRKLtylBkxVXw5arGn6R
Stone331 GT: https://1drv.ms/f/s!AittnGm6vRKLwiL55f7f0xdpuD9_
Stone331 Mask: https://1drv.ms/u/s!AittnGm6vRKLxmFB78iKSxTzNLRV?e=9Ph5aP
You can also download the datasets from
link:https://pan.baidu.com/s/1PWiBzoJlc8qC8ffZu2Vb8w
passcodes:zfoo
Some results on our datasets:
PyTorch 1.0.2 or above
Python 3.6
CUDA 10.0
We run on the Intel Core Xeon [email protected], 64GB RAM and two GeForce GTX TITAN-X GPUs.
Pretrained models on PyTorch are available at,
https://drive.google.com/file/d/1OO3OAzR4yxYh_UBR9Nu7hV3XayfKVyO-/view?usp=sharing
or at link:https://pan.baidu.com/s/1WsIwVnDgtRBpJF8ktlN84A
passcode:27py
You can download them and put them into "./codes/checkpoints/".
Please notice that, as this model was trained with Pytorch, its performance is slightly different with that of the original version built on Caffe.
Before training, change the paths including "train_path"(for train_index.txt), "pretrained_path" in config.py to adapt to your environment.
Choose the models and adjust the arguments such as class weights, batch size, learning rate in config.py.
Then simply run:
python train.py
To evlauate the performance of a pre-trained model, please put the pretrained model listed above or your own models into "./codes/checkpoints/" and change "pretrained_path" in config.py at first, then change "test_path" for test_index.txt, and "save_path" for the saved results.
Choose the right model that would be evlauated, and then simply run:
python test.py
If you use our codes or datasets in your own research, the citation can be placed as:
@article{zou2018deepcrack,
title={Deepcrack: Learning Hierarchical Convolutional Features for Crack Detection},
author={Zou, Qin and Zhang, Zheng and Li, Qingquan and Qi, Xianbiao and Wang, Qian and Wang, Song},
journal={IEEE Transactions on Image Processing},
volume={28},
number={3},
pages={1498--1512},
year={2019},
}
The CrackTree260 dataset was constructed based on the CrackTree206 dataset. For details, you can refer to
@article{zou2012cracktree,
title={CrackTree: Automatic crack detection from pavement images},
author={Zou, Qin and Cao, Yu and Li, Qingquan and Mao, Qingzhou and Wang, Song},
journal={Pattern Recognition Letters},
volume={33},
number={3},
pages={227--238},
year={2012},
publisher={Elsevier}
}
This dataset was collected for academic research.
For any problem about this dataset or codes, please contact Dr. Qin Zou ([email protected]).