Brief Info

By Limeng Cui - github.com/cuilimeng

Welcome to our reseach group.

Firstly, a huge thanks for your interest in our research!

This website covers the installation and use of our source code and often reveals answers to common problems and issues. If you have any questions that are beyond the scope of this website, feel free to contact us lmcui932@163.com.

Our scope

  • Road Crack Detection
  • Image Segmentation
  • Learning with label proportions (LLP)
  • Bounded Learning with Label Proportions (BLLP)

CrackForest V1.0

By Limeng Cui - github.com/cuilimeng

Introduction

Crack is a form of road distresses that may potentially reduce the road performance and threaten the road safety. Governments have made a great effort to achieve the goal of constructing a high quality road network. They are now, more than ever, fully aware of the need for adequate road inspection and maintenance. Crack detection is an essential part of road maintenance systems and has attracted growing attentions in recent years. As it is known, traditional manual road crack detection approaches are very time-consuming, dangerous, labor-intensive and subjective. Thus, the slow and subjective traditional procedures have been replaced gradually by automatic crack detection, which is developed for fast and reliable crack analysis in intelligent transportation systems. Automated crack detection systems can quantify the quality of road surfaces and assist in prioriltizing and planning the maintenance of the road network and thereby accomplish the objective of preserving the roads in good condition and extending the service life.

Our main contribution is giving a new descriptor of cracks (CrackForest) by using the statistical feature of structured tokens. We first use the random structured forest to generate the structured tokens. Then, we calculate the statistical histogram and the neighborhood histogram of these tokens. As a result, the crack is no longer limited to a few types, we leverage the types of crack into thousands of kinds.

In addtion, we use integral channel features to redefine the feature set of crack detection, so we can get better representation of the cracks.

We divide our framework into three stages. In the first stage, we extract the image patches by using a 16*16 sliding window. Then we use integral channel features, which are calculated on these image patches, to cluster their annotated crack edges by using random structured forests. After this step, we can get the most representative crack edge (we call it "token") of each cluster of similar image patches. The most representative tokens can be found in Fig. 2(a) in the manuscript. In the second stage, we assign a token for each image patch. The procedure is shown in Fig. 6 in the manuscript. The results can be found in the fourth column of Fig. 10 in the manuscript. In the third stage, we use the statistical feature histogram and the statistical neighborhood histogram as crack descriptor to represent crack regions and crack-free regions (noises). For example, Fig. 8(c) shows the statistical feature histogram of the detected region in Fig. 8(a). We apply a classification method to distinguish crack regions from noises. The results can be found in the fifth column of Fig. 10 in the manuscript. CrackForest achieves excellent accuracy.

Part of the Matlab code is supported on Piotr Dollar’s Structured Edge Detection Toolbox (github.com/pdollar/edges).

If you use our source code, we appreciate it if you cite:

@article{shiautomatic,
   title={Automatic Road Crack Detection Using Random Structured Forests},
   author={Shi, Yong and Cui, Limeng and Qi, Zhiquan and Meng, Fan and Chen, Zhensong},
   publisher={IEEE}
}

@misc{CrackForest,
   author = {Limeng Cui},
   title = {CrackForest},
   howpublished = {\url{https://github.com/cuilimeng/CrackForest}}
}

License

The software is made available for non-commercial research purposes only.

Installation

a) This code is written for the Matlab interpreter (tested with versions R2014b) and requires the Matlab Image Processing Toolbox.

b) Additionally, Piotr’s Computer Vision Toolbox (version 3.26 or later) is also required. It can be downloaded at:
github.com/pdollar/toolbox.

c) Next, please compile mex code from within Matlab (note: win64/linux64 binaries included):

                                                            >> mex private/edgesDetectMex.cpp -outdir private [OMPPARAMS]
                                                            >> mex private/edgesNmsMex.cpp -outdir private [OMPPARAMS]
                                                            >> mex private/spDetectMex.cpp -outdir private [OMPPARAMS]
                                                            >> mex private/edgeBoxesMex.cpp -outdir private
                                                    

Here [OMPPARAMS] are parameters for OpenMP and are OS and compiler dependent.

Windows: [OMPPARAMS] = '-DUSEOMP' 'OPTIMFLAGS="$OPTIMFLAGS' '/openmp"'
Linux V1: [OMPPARAMS] = '-DUSEOMP' CFLAGS="\$CFLAGS -fopenmp" LDFLAGS="\$LDFLAGS -fopenmp"
Linux V2: [OMPPARAMS] = '-DUSEOMP' CXXFLAGS="\$CXXFLAGS -fopenmp" LDFLAGS="\$LDFLAGS -fopenmp"

To compile without OpenMP simply omit [OMPPARAMS]; note that code will be single threaded in this case.

d) Add crack detection code to Matlab path (change to current directory first):

                                                            >> addpath(pwd); savepath;
                                                    

e) Finally, optionally download the crack image dataset (necessary for training/evaluation):
github.com/cuilimeng/CrackForest-dataset

f) A fully trained crack model for RGB images is available as part of this release.

Getting Started

  • Make sure to carefully follow the installation instructions above.
  • Please see "edgesDemo.m" to run demos and get basic usage information.

History

Version 1.0 (2015/09/28)

  • initial version

Image Segmentation

By Zhensong Chen - github.com/chenzhensong

TBA

TBA

TBA

TBA

LLP - Learning with Label Proportions

By Zhiquan Qi et al. - github.com/qizhiquan

TBA

TBA

TBA

TBA

BLLP - Bounded Learning with Label Proportions

By Zhiquan Qi et al. - github.com/qizhiquan

TBA

TBA

TBA

TBA

Downloads & Datasets

By Limeng Cui - github.com/cuilimeng

CrackForest Dataset

Our proposed dataset is composed of 118 images with corresponding manually labeled crack boundaries, which can generally reflect urban road surface condition in Beijing, China. All the images are taken by three students in our group using iPhones. The width of the images ranges from 1 to 10 mm.
The width of the crack is not measured in our method. We will focus on the severity level assessment in the future work.
All the images are taken by an iPhone 5, which uses a IMX105PQ sensor from Sony company. IMX105PQ is a type 1/3.2 back-illuminated CMOS image sensor which realizes 8.13 effective megapixel resolutions for higher sensitivity and adopts a unit pixel size of 1.4μm. iPhone 5 has a lens with 35mm focal length and F2.4 maximum aperture.

About Us

By Limeng Cui - github.com/cuilimeng

Contacts