Concrete Crack Detection Using Machine Learning Source Code ( Final Year)
Download clean, well-commented Concrete Crack Detection Using Machine Learning source code for final year projects — easy to run, demo-ready, and mentor-friendly.
- MACHINE-LEARNING Project
- MySQL / MongoDB
- Setup guide & demo steps
- Beginner-friendly
Keywords: source code, final year project code, Concrete Crack Detection Using Machine Learning Git, documentation, installation guide, machine-learning project, college project demo.
Download Source Code
Admin Features
1. Data Preprocessing and Augmentation:
- Bilateral Filtering: Reduces salt and pepper noise while preserving image edges, crucial for accurate crack detection.
- Morphological Operations: Removes small noise while maintaining significant image features, enhancing crack visibility.
- Grayscaling:Converts images to grayscale, reducing computational complexity and processing time without losing essential information.
- Data Augmentation: Techniques like rotation, flipping, and brightness adjustment increased the dataset size from 300 to 3000 images per class, improving model robustness.
2. Modeling:
- Transfer Learning with ResNet and VGG16: Both architectures were evaluated for performance in crack detection. ResNet was chosen as the final model due to its superior accuracy.
- High Accuracy: The final model achieved a perfect F1 score of 1, demonstrating flawless classification of cracked and non-cracked surfaces.
3. Methodology:
- Data Exploration: Manual analysis to identify noise and select appropriate preprocessing techniques.
- Image Processing: Application of Bilateral Filtering and Morphological Operations to optimize image quality for model training.
- Model Training and Evaluation: Extensive evaluation of ResNet and VGG16 models to select the best-performing architecture for final deployment.
4. Dataset:
- The dataset used for training and testing is publicly available on Kaggle, facilitating further research and development in concrete crack detection.
Description
The final-year Concrete Crack Detection Using Machine Learning source code is structured for fast setup and easy customization. You get readable code, clear folder architecture, and a guided README so you can run locally and present confidently.
What you’ll build & learn
- Implement core modules and end-to-end workflow
- Connect to database and handle CRUD operations
- Follow best practices for project structure & comments
Included in the download
Source Code Overview
Technical snapshot & environment- Project Name
- Concrete Crack Detection Using Machine Learning
- Language / Stack
- machine-learning
- Database
- MySQL or MongoDB
- UI Technologies
- HTML, AJAX, jQuery, JavaScript, Bootstrap
- Browsers
- Chrome, Firefox, Edge, Opera
- Run Scripts
- Documented in README (install, seed, start)
- License
- Academic use for college submission
User Features
- The Concrete Crack Detection project is designed to detect cracks in concrete structures using computer vision and machine learning techniques. The project was part of the L&T EduTech Hackathon under Shaastra, the tech fest of IIT Madras. Below are the detailed features and methodology of the project:
1. Problem Statement and Objective
- Goal: To automate the process of damage surveillance of buildings by detecting cracks in concrete structures using machine learning models.
- Context: Traditional manual inspection methods are time-consuming and prone to errors. Automated detection can help improve accuracy and efficiency in monitoring the structural health of buildings.
2. Dataset Information
- Source: The dataset used is publicly available on Kaggle: Surface Crack Dataset.
- Content: The dataset consists of images categorized into two classes: positive (images with cracks) and negative (images without cracks).
- Size: Initially, the dataset had around 300 examples per class, which was later augmented to 3000 examples per class using data augmentation techniques.
3. Data Preprocessing and Augmentation
- Bilateral Filtering:
- Purpose: To remove salt-and-pepper noise while preserving the edges of the cracks.
- Comparison: Initially, median filtering was used but did not yield satisfactory results as it blurred the edges. Bilateral filtering was chosen as it preserved edges better.
- Morphological Operations:
- Opening Operation: Used to remove small noise and amplify the difference between classes.
- Technique: Single iteration of opening operation with a 3x3 kernel was applied.
- Grayscale Conversion:
- Reason: Grayscale conversion was performed to reduce computation time by approximately three times, as processing a single channel (grayscale) is faster than processing three channels (RGB).
- Data Augmentation:
- Techniques:
- Perfect 90 and 180-degree rotations.
- Horizontal and vertical flipping.
- Minor brightness adjustments (around 10%) to increase dataset variability.
- Objective: To increase the dataset size and improve the model’s generalization by generating more diverse training samples.
4. Modeling and Machine Learning Techniques
- Model Architectures Tested:
- ResNet Architecture: Selected for final predictions after testing multiple architectures due to its superior performance.
- VGG16 Model: Also experimented with but found to be less effective than ResNet on this specific dataset.
- Transfer Learning:
- Approach: Utilized pre-trained models (ResNet and VGG16) and fine-tuned them for the crack detection task. Transfer learning was preferred over building custom models from scratch to leverage pre-existing feature extraction capabilities.
- Performance Metrics: Achieved a perfect F1 score of 1.0, indicating that the model was able to perfectly classify the images into cracked and non-cracked categories.
5. Model Training and Evaluation
- Training Process: Models were trained on the augmented dataset with a focus on achieving high accuracy and minimizing false positives and false negatives.
- Evaluation: The final model (ResNet) was evaluated on a separate test set to ensure its performance was robust and reliable.
6. Deployment and Application
- Potential Use Cases:
- Automated monitoring of building structures, bridges, and other concrete constructions.
- Integration into drones or handheld devices for real-time crack detection in field inspections.
- Advantages:
- Faster and more accurate than manual inspection.
- Can be scaled to large infrastructure projects for continuous monitoring.
7. Challenges and Solutions
- Noise Removal: Initial challenges in removing salt-and-pepper noise without losing important crack details were solved using bilateral filtering.
- Data Imbalance and Augmentation: Addressed the small size of the dataset by performing extensive data augmentation to prevent overfitting and improve model robustness.
8. Conclusion and Future Work
- Current Achievements: Successfully created a model that can detect cracks in concrete with high accuracy, achieving an F1 score of 1.
- Future Enhancements:
- Expanding the dataset with more diverse examples to improve model generalization.
- Exploring real-time deployment in practical scenarios.
- Integrating additional machine learning techniques to further refine detection capabilities.
9. Technologies and Libraries Used
- Libraries: Python, TensorFlow, Keras, OpenCV, NumPy, Matplotlib, and scikit-learn.
- Environments: Jupyter Notebooks for development and experimentation, and a dedicated Python virtual environment for managing dependencies.
- This project demonstrates a comprehensive approach to using machine learning for practical applications in structural health monitoring, showcasing the power of modern image processing and deep learning techniques.
Other Features
How to run Concrete Crack Detection Using Machine Learning
-
Step 1: Navigate to the Project Directory
-
Step 2: Set Up a Virtual Environment
-
Step 3: Install the Required Libraries
-
Step 4: Download the Dataset
- The dataset is available at Kaggle.
- Download the dataset and extract it to a folder, say
data
. - Place the
data
folder in the project directory -
Step 5: Run the Jupyter Notebooks
- 1.Launch Jupyter Notebook by typing:
- 2. Open the
concrete_crack_detection_processing_iitm_shaastra.ipynb
ormodels_final1.ipynb
notebook. - 3. Run each cell in the notebook sequentially. This will:
- Load the dataset.
- Preprocess the images using the specified methods.
- Train the model using the processed data.
- 4. Download the pre-trained model
resnet_model1.h5 from (Google Drive)
, ensure that the model file is in the correct path in root directory
Credentials
Not Requried
License
Concrete Crack Detection Using Machine Learning Source Code Tags
Related & Popular Project Reports
Explore more final-year projects you might be interested in
Credit Card Fraud Detection Using Machine Learning
Fraud Detection model based on anonymized credit card transaction. It is important that credit card companies are able to recognize fraudulent credit card transactions so that customers are not charged for items that they did not purchase. The datasets contains transactions made by credit cards in September 2013 by European cardholders. This dataset presents transactions that occurred in two days, where we have 492 frauds out of 284,807 transactions. The dataset is highly unbalanced, the positive class (frauds) account for 0.172% of all transactions.
Brain Tumor Detection Using Machine Learning
Brain Tumor Detection Using Machine Learning Source Code project implements a U-Net model to segment brain tumors in MRI images. It focuses on identifying and classifying three types of brain tumors: meningioma, glioma, and pituitary tumors. The project uses the dataset from publicly available brain tumor segmentation data and applies deep learning techniques to accurately delineate tumor regions from MRI scans.
Quick actions
What we provide
Project reports, source code, and PPTs tailored for final-year students. Explore, or message us for a custom build.