All Projects → qinnzou → DeepCrack

qinnzou / DeepCrack

Licence: other
DeepCrack: Learning Hierarchical Convolutional Features for Crack Detection

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to DeepCrack

Hierarchical-Typing
Code and Data for all experiments from our ACL 2018 paper "Hierarchical Losses and New Resources for Fine-grained Entity Typing and Linking"
Stars: ✭ 44 (-67.88%)
Mutual labels:  convolutional-neural-network
DSMSCN
[MultiTemp 2019] Official Tensorflow implementation for Change Detection in Multi-temporal VHR Images Based on Deep Siamese Multi-scale Convolutional Neural Networks.
Stars: ✭ 63 (-54.01%)
Mutual labels:  convolutional-neural-network
yapic
Yet Another Pixel Classifier (based on deep learning)
Stars: ✭ 24 (-82.48%)
Mutual labels:  convolutional-neural-network
PolyphonicPianoTranscription
Recurrent Neural Network for generating piano MIDI-files from audio (MP3, WAV, etc.)
Stars: ✭ 146 (+6.57%)
Mutual labels:  convolutional-neural-network
minirocket
MINIROCKET: A Very Fast (Almost) Deterministic Transform for Time Series Classification
Stars: ✭ 166 (+21.17%)
Mutual labels:  convolutional-neural-network
coursera-ai-for-medicine-specialization
Programming assignments, labs and quizzes from all courses in the Coursera AI for Medicine Specialization offered by deeplearning.ai
Stars: ✭ 80 (-41.61%)
Mutual labels:  convolutional-neural-network
deep-explanation-penalization
Code for using CDEP from the paper "Interpretations are useful: penalizing explanations to align neural networks with prior knowledge" https://arxiv.org/abs/1909.13584
Stars: ✭ 110 (-19.71%)
Mutual labels:  convolutional-neural-network
cartoon-gan
Implementation of cartoon GAN [Chen et al., CVPR18] with pytorch
Stars: ✭ 55 (-59.85%)
Mutual labels:  convolutional-neural-network
sentiment-analysis-of-tweets-in-russian
Sentiment analysis of tweets in Russian using Convolutional Neural Networks (CNN) with Word2Vec embeddings.
Stars: ✭ 51 (-62.77%)
Mutual labels:  convolutional-neural-network
deepcurator
A convolutional neural network trained to recognize good* electronic music
Stars: ✭ 38 (-72.26%)
Mutual labels:  convolutional-neural-network
tensorflow-image-classifier
Easily train an image classifier and then use it to label/tag other images
Stars: ✭ 29 (-78.83%)
Mutual labels:  convolutional-neural-network
SimpNet-Tensorflow
A Tensorflow Implementation of the SimpNet Convolutional Neural Network Architecture
Stars: ✭ 16 (-88.32%)
Mutual labels:  convolutional-neural-network
Image-Denoising-with-Deep-CNNs
Use deep Convolutional Neural Networks (CNNs) with PyTorch, including investigating DnCNN and U-net architectures
Stars: ✭ 54 (-60.58%)
Mutual labels:  convolutional-neural-network
Keras-MultiClass-Image-Classification
Multiclass image classification using Convolutional Neural Network
Stars: ✭ 48 (-64.96%)
Mutual labels:  convolutional-neural-network
Neural Style Tf
TensorFlow (Python API) implementation of Neural Style
Stars: ✭ 2,943 (+2048.18%)
Mutual labels:  convolutional-neural-network
clinicadl
Framework for the reproducible processing of neuroimaging data with deep learning methods
Stars: ✭ 114 (-16.79%)
Mutual labels:  convolutional-neural-network
Preprocessing-Method-for-STEMI-Detection
Official source code of "Preprocessing Method for Performance Enhancement in CNN-based STEMI Detection from 12-lead ECG"
Stars: ✭ 12 (-91.24%)
Mutual labels:  convolutional-neural-network
Traffic Signs Recognition cnn
Traffic Sign Recognition by Convolutional Neural Network (TensorFlow)
Stars: ✭ 14 (-89.78%)
Mutual labels:  convolutional-neural-network
Face.evolve.pytorch
🔥🔥High-Performance Face Recognition Library on PaddlePaddle & PyTorch🔥🔥
Stars: ✭ 2,719 (+1884.67%)
Mutual labels:  convolutional-neural-network
Cat-Dog-CNN-Classifier
Convolutional Neural Network to classify images as either cat or dog, along with using attention heatmaps for localization. Written in python with keras.
Stars: ✭ 17 (-87.59%)
Mutual labels:  convolutional-neural-network

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]

  • Abstract: Cracks are typical line structures that are of interest in many computer-vision applications. In practice, many cracks, e.g., pavement cracks, show poor continuity and low contrast, which bring great challenges to image-based crack detection by using low-level features. In this paper, we propose DeepCrack-an end-to-end trainable deep convolutional neural network for automatic crack detection by learning high-level features for crack representation. In this method, multi-scale deep convolutional features learned at hierarchical convolutional stages are fused together to capture the line structures. More detailed representations are made in larger scale feature maps and more holistic representations are made in smaller scale feature maps. We build DeepCrack net on the encoder-decoder architecture of SegNet and pairwisely fuse the convolutional features generated in the encoder network and in the decoder network at the same scale. We train DeepCrack net on one crack dataset and evaluate it on three others. The experimental results demonstrate that DeepCrack achieves F -measure over 0.87 on the three challenging datasets in average and outperforms the current state-of-the-art methods.

Network Architecture

image

Some Results

image

DeepCrack Datasets

Four datasets are used by DeepCrack. CrackTree260 is used for training, and the other three are used for test.

CrackTree260 dataset

  • It contains 260 road pavement images - an expansion of the dataset used in [CrackTree, PRL, 2012]. These pavement images are captured by an area-array camera under visible-light illumination. We use all 260 images for training. Data augmentation has been performed to enlarge the size of the training set. We rotate the images with 9 different angles (from 0-90 degrees at an interval of 10), flip the image in the vertical and horizontal direction at each angle, and crop 5 subimages (with 4 at the corners and 1 in the center) on each flipped image with a size of 512×512. After augmentation, we get a training set of 35,100 images in total.

CRKWH100 dataset

  • It contains 100 road pavement images captured by a line-array camera under visible-light illumination. The line-array camera captures the pavement at a ground sampling distance of 1 millimeter.

CrackLS315 dataset

  • It contains 315 road pavement images captured under laser illumination. These images are also captured by a line-array camera, at the same ground sampling distance.

Stone331 dataset

  • It contains 331 images of stone surface. When cutting the stone, cracks may occur on the cutting surface. These images are captured by an area-array camera under visible-light illumination. We produce a mask for the area of each stone surface in the image. Then the performance evaluation can be constrained in the stone surface.

Download:

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

Results:

Some results on our datasets: image image image

Set up

Requirements

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

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.

Training

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 

Test

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

Citation:

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}
}

Copy Right:

This dataset was collected for academic research.

Contact:

For any problem about this dataset or codes, please contact Dr. Qin Zou ([email protected]).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].