Skip to content

Efficiently classify concrete crack images using deep learning and transfer learning techniques. Access a high-accuracy pre-trained model and gain insights into model performance with comprehensive visualizations and metrics.

Notifications You must be signed in to change notification settings

codingwithim/Concrete-Crack-Image-Classification

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Concrete Crack Image Classification

The Concrete Cracks Image Classification project uses deep learning to categorize images into positive (concrete cracks) and negative (no concrete cracks) categories. Transfer learning is utilized to fine-tune a pre-trained model on a dataset of thousands of images to achieve high classification accuracy. Results include a trained model and visualizations/metrics providing insights into model performance.

Acknowledgment of Data 💕

The project is made possible with the dataset obtained from:

Çağlar Fırat Özgenel's Concrete Crack Images Datasets

Build With

python tensorflow scikit_learn pandas numpy matplotlib vscode opencv

Directory structure

  • training.py: Contains code for loading/preprocessing data, defining/compiling/fitting the transfer learning model.

  • pictures: Folder containing plots and results, including confusion matrix and training/validation accuracy/loss graphs.

  • saved_models: Folder containing saved trained model.

Results

EDA

The plot below shows 9 examples of images and their corresponding labels in this dataset. alt text

Image Augmentation

This section demonstrates the use of data augmentation to enhance the model's performance and expand the dataset. It showcases images transformed using various techniques such as rotation, and flip.

alt text

Model Architecture

The model architecture is based on MobileNetV2 with a global average pooling layer and a dropout layer, followed by a dense layer with 2 output units for binary classification.

Here is a summary of the model architecture:

alt text

Evaluation Before and After Training

This section shows the evaluation metrics (accuracy and loss) of the model before and after training.

alt text alt text

Tensorboard Result

The two plots below show the training progress of the LSTM model using TensorBoard.

The first plot shows the epoch loss for both the training and validation datasets. The loss is calculated as the difference between the predicted and actual values for each time step, and the lower the loss, the better the model performs.

alt text

The second plot shows the epoch accuracy for both the training and validation datasets. Accuracy is a metric used to evaluate the performance of the model, and it measures the percentage of correct predictions made by the model. The higher the accuracy, the better the model performs.

alt text

Classification Report

alt text

Confusion Matrix

alt text

Model Predictions on Test Data

This section shows some examples of the model's predictions on the test dataset alt text

Predicted vs True Label

This section shows plots of the predicted labels vs. the true labels for the test dataset. alt text

About

Efficiently classify concrete crack images using deep learning and transfer learning techniques. Access a high-accuracy pre-trained model and gain insights into model performance with comprehensive visualizations and metrics.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages