GithubHelp home page GithubHelp logo

hoomanramezani / drone-defect-detection Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 1.22 MB

temporal + cnn vision model for classification of windmill defects, with unreal-engine data generation and a custom data augmentation suite

Python 100.00%
cnn data-augmentation deep-learning lstm python unreal-engine synthetic-data-generation

drone-defect-detection's Introduction

drone-defect-detection

This repo has code related to the drone-defect-detection Project repository. It is an embedded video frame-classification model that can accurately classify surface defects. The model is lightweight and capable of running on edge devices on-device. To overcome the challenge of limited real-world data, a photo-realistic simulation using Unreal Engine and harnessed OpenCV for synthetic data generation.

Model detects surface defects with accuracy of 96%, well balanced for sensitivity / precision. Its architecture is now expanded to include a convolutional-RNN to capture temporal information between video frames. It features YOLO object detection, LSTM, automated hyperparameter tuning, and GPU optimization.

Project Setup

To get started with this project, you will need the following:

Python 3.7 or higher
TensorFlow 2.x
OpenCV Library
Unreal Engine (for simulation)
Access to high-performance computing resources for training (preferably with a CUDA-compatible GPU)

Clone the repository using:

git clone https://github.com/HoomanRamezani/drone-defect-detection
cd drone-defect-detection
drone-defect-detection

Install the required Python dependencies:

pip install -r requirements.txt

Model Training

To train the model:

Set up your dataset by following the instructions in dataset_setup.md. Configure your training parameters in config.json.

Start the training process using:

python main.py --dataset_dir ./data --epochs 50 --batch_size 32 --learning_rate 0.001

You can monitor the training progress via TensorBoard:

tensorboard --logdir=path/to/log-files

Evaluation

After training, evaluate your model's performance using the evaluate.py script, ensuring that it meets our target accuracy of 96% for image classification and object detection tasks.

python evaluate.py --model_dir path/to/saved_model --data_dir path/to/evaluation_data --batch_size 32

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.