GithubHelp home page GithubHelp logo

cdl-cdl-cdl / usc-ame-505-id3-intelligent-defect-detection-system Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jd509/usc-ame-505-id3-intelligent-defect-detection-system

0.0 0.0 0.0 3.72 MB

The project was a part of the AME 505 course at USC. the objective of the project is to create an application to defect steel surface defects using supervised and unsupervised learning methods. The team comprises of: Aditi Bhagwat, Bharat Deshkulkarni, Jaineel Desai, Kaitlyn Holmstrom, Omey Manyar and Shahwaz Khan.

License: BSD 2-Clause "Simplified" License

Python 95.54% Shell 1.11% Dockerfile 3.35%

usc-ame-505-id3-intelligent-defect-detection-system's Introduction

ID3: Intelligent Steel Surface Defect Detection System using Supervised and Unsupervised Learning Techniques

The project was a part of the AME 505 course at USC. the objective of the project is to create an application to defect steel surface defects using supervised and unsupervised learning methods.

Dependencies

The following dependencies need to be installed before running the project.

  • Docker - framework for running the application on any platforms.
  • WSL - Linux shell platform. (Only for Windows Users)

Installation

Clone the master branch of the repository in your selected destination using

git clone -b master https://github.com/jd509/USC-AME-505-ID3-Intelligent-Defect-Detection-System.git

Source into the cloned folder and run the install.sh script to generate a docker image for the project.

./install.sh

This will generate the docker image with the necessary dependencies.

Usage

To run the application:

Run the launch_app.sh script.

./launch_app.sh

This will start a docker container with the name "defect_detector" which will load and run the application.

User Interface for ID3

The user can specify the input values for all the machine learning models and train the models individually.

To read further about these models:

Feature Extraction Methods:

Machine Learning Models:

The training results can be viewed on the user interface after all the models have been trained.

Sample Training Results for Machine Learning Models

Post-training, the user interface can be used to predict the classification label for a given image and identify the defect associated with it.

Defect Predictor

Inside the Repo

The repository contains python scripts to train and test the model. It also contains the dataset on which the model was trained.

Scripts

  • train_machine_learning_models.py : Python script to train the models and extract features.
  • predict_defects.py : Python script to predict the defect for a single image using trained models.
  • user_interface.py : UI for interacting with the application.

Configuration Files

  • image_feature_extraction_config.json : JSON file for default parameters to extract features from training dataset
  • machine_learning_params.json : JSON file for default parameters to train the machine learning models

Folders

  • train_dataset: Contains the dataset for six types of surface defects : Crazing, Inclusion, Patches, Pitted Surfaces, Scratches, Residues
  • test_dataset: Sample images to test the model

Known Issues

Currently, there are no known issues to run the application. However, if any issues have been found, please open an issue forum for the same

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT

usc-ame-505-id3-intelligent-defect-detection-system's People

Contributors

jd509 avatar sshaizkhan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.