Skip to content

HazelAjwani/AI-Powered-Railway-Track-Fault-Detection-AIES_Project-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AIES_PROJECT

Project Title: AI-Powered Railway Track Fault Detection

Overview

This project focuses on detecting faults in railway tracks using advanced computer vision and machine learning techniques. By analyzing images of railway tracks, the system predicts the likelihood of accidents, enabling proactive measures to ensure safety.

Key Features

  • Fault Detection: Identifies potential faults in railway tracks from images.
  • Accident Prediction: Provides insights into the likelihood of accidents based on detected faults.
  • Comprehensive Preprocessing: Includes image resizing, normalization, and splitting into training, validation, and test sets.
  • Data Augmentation: Applies transformations like flipping, rotation, and zooming to enhance training data.
  • Transfer Learning with VGG16: Adapts a pretrained VGG16 model for task-specific classification.
  • Performance Evaluation: Evaluates model accuracy and provides detailed classification reports.
  • Visualization: Generates correlation heatmaps and class distribution plots for insights.

Workflow

Step 1: Dataset Preparation

  • Upload the dataset (in ZIP format) containing railway track images.
  • Extract and organize files in the appropriate structure.

Step 2: Dataset Loading

  • Read metadata from a CSV file.
  • Display dataset statistics for initial exploration.

Step 3: Image Preprocessing

  • Resize images to standard dimensions.
  • Normalize pixel values for consistent input.
  • Define utility functions for batch loading.

Step 4: Data Splitting

  • Split the dataset into training, validation, and testing subsets.

Step 5: Data Augmentation

  • Apply transformations like flipping, rotation, zooming, and brightness adjustments to enrich the training set.

Step 6: Transfer Learning with VGG16

  • Load the VGG16 model with pretrained weights.
  • Freeze the base model layers and add custom classification layers.
  • Compile the model with appropriate loss and optimization settings.

Step 7: Model Training

  • Train the model using augmented data with early stopping to prevent overfitting.

Step 8: Model Evaluation

  • Evaluate the trained model on the test dataset.
  • Generate a detailed classification report.

Step 9: Insights and Visualizations

  • Compute and visualize a correlation matrix.
  • Plot class distributions and other relevant charts.

Dependencies

  • Python
  • TensorFlow/Keras
  • OpenCV
  • Pandas
  • Matplotlib/Seaborn

Install required libraries using:

pip install -r requirements.txt

Results

  • Successfully identified faults in railway tracks with high accuracy.
  • Data augmentation significantly improved model generalization.
  • Visualizations provided actionable insights into track fault patterns.

How to Use

  1. Clone the repository:
    git clone https://github.com/your-repo-name.git
  2. Navigate to the project directory:
    cd your-repo-name
  3. Open the Jupyter Notebook and follow the steps.

Future Scope

  • Enhance the model to classify specific types of faults.
  • Integrate the system into a real-time monitoring solution.
  • Experiment with other pretrained models (e.g., ResNet, Inception).

License

This project is licensed under the MIT License.


Acknowledgements

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published