Skip to content

gksucs/artificial-intelligence-powered-uav-tracking-system

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Disaster Traffic Management and Plan Using UAV and Deep Learning

Introduction

Disaster management is critical in minimizing the impact of natural and man-made disasters. Efficient evacuation during events such as earthquakes, forest fires, and wartime city evacuations depends on knowledge of the best available routes. This project aims to develop a system that identifies optimal evacuation routes in disaster-hit areas using UAVs (quadcopters) equipped with cameras and deep learning algorithms.

Project Overview

This project utilizes both hardware and software components to achieve its objectives. A quadcopter equipped with a wide-angle fixed camera and long-distance communication transmitter captures videos and images of disaster areas and nearby roads. This data is transmitted to a computer, where a Machine Learning Algorithm based on a Deep Convolution Neural Network (CNN) processes it to identify the best available evacuation routes. The trained model is deployed using Python and the OpenCV library.

Hardware Components

The quadcopter, designed for this project, includes the following components:

  • Frame
  • 4 Motors
  • 4 Electronic Speed Controls (ESC)
  • Flight Control Board
  • Radio Transmitter and Receiver
  • 4 Propellers (2 clockwise, 2 counter-clockwise)
  • Battery and Charger
  • Global Positioning System (GPS)
  • Camera
  • Video Transmitter
  • Landing Gear

Software Components

The software aspect of the project involves several critical steps, including data collection, data preprocessing, model training, and real-time deployment. Below is a detailed description of each step:

Data Collection

Data is collected using the quadcopter's camera, which captures real-time video footage of disaster areas and nearby roads. This video footage is then transmitted to a ground station computer for processing.

Data Preprocessing

The captured video footage is converted into frames (images) using the convert.py script. Each frame is processed to extract relevant features that are useful for the deep learning model. The preprocessing steps include:

  • Resizing: Ensuring all images are of the same size.
  • Normalization: Adjusting pixel values to a standard range.
  • Data Augmentation: Enhancing the dataset by applying transformations such as rotation, flipping, and scaling to increase the diversity of the training data.

Model Training

The core of the software component is the Deep Convolution Neural Network (CNN), which is trained to identify and classify the traffic conditions in the disaster areas. The training process involves the following steps:

  • Dataset Preparation: Dividing the dataset into training, validation, and test sets.
  • Model Architecture: Building the CNN model using TensorFlow and Keras libraries. The architecture includes convolutional layers, pooling layers, and fully connected layers.
  • Training: Compiling the model with appropriate loss functions and optimizers (e.g., Adam optimizer) and fitting it on the training data.
  • Evaluation: Evaluating the model performance on the validation and test sets to ensure its accuracy and robustness.

The train.py script handles the training and evaluation process. The script includes the following functionalities:

  • Loading and preprocessing the dataset.
  • Defining the CNN architecture.
  • Compiling the model with loss functions and optimizers.
  • Training the model on the training set.
  • Evaluating the model on the validation and test sets.
  • Saving the trained model for later use.

Real-Time Deployment

Once the model is trained and evaluated, it is deployed to process real-time data. The test.py script handles the real-time prediction tasks. It includes functionalities such as:

  • Loading the trained model.
  • Capturing real-time video footage from the quadcopter.
  • Processing the video frames and feeding them into the model.
  • Predicting the traffic conditions and identifying the best evacuation routes.
  • Communicating the results to relevant authorities.

Requirements

The project requires the following Python packages:

  • keras==2.6.0
  • numpy==1.19.5
  • pandas==1.1.5
  • Pillow==8.4.0
  • scikit-image==0.17.2
  • scipy==1.5.4
  • sniffio==1.2.0
  • tensorflow==2.6.2

You can install the necessary packages using the command:

pip install -r requirements.txt

Detailed Description

Graphical Processing Units (GPUs)

GPUs are crucial for the execution of deep learning algorithms. They consist of multiple multiprocessors (MPs), each containing many stream processors (SPs). The GPU architecture and execution flow using the Compute Unified Device Architecture (CUDA) toolkit by Nvidia are discussed in detail in the project documentation.

Deep Learning

Deep learning allows computers to learn from data without explicit programming. This project uses Convolutional Neural Networks (CNNs), a type of deep learning algorithm, for image classification and route identification. The CNN architecture involves multiple layers, including convolutional, pooling, and fully connected layers, as depicted in the project documentation.

Disaster Management System

The proposed system consists of three main layers:

  1. Input Layer: Manages traffic data for training and testing the deep learning model. It handles both offline (historical) and real-time data.
  2. Data Processing Layer: Processes input data, normalizes it, and prepares it for the deep learning algorithm.
  3. Deep Learning Layer: Uses a deep regression model to estimate vehicle flow values. The model includes one input layer, two hidden layers, and one output layer.

Datasets

The project utilizes various traffic datasets from multiple sources in Turkey and other countries. These datasets are essential for training and testing the deep learning model.

Test Results and Performance

The project documentation includes detailed test results and performance metrics for the deep learning model.

Quadcopter UAV

The quadcopter is designed for stability and equipped with advanced sensors and control systems. Its components and usage in this project are detailed in the project documentation.

Conclusion

The project aims to improve disaster management by providing real-time information on the best evacuation routes using UAVs and deep learning. The combination of hardware and software components creates an efficient system for disaster response and management.

How to Run the Project

  1. Set up the Hardware: Assemble the quadcopter with the specified components.
  2. Install the Required Software: Ensure you have Python and the required packages installed.
  3. Train the Model: Use the provided dataset to train the deep learning model.
  4. Deploy the Model: Deploy the trained model using Python and OpenCV.
  5. Execute the System: Capture real-time data using the quadcopter and process it through the deployed model to identify the best evacuation routes.

About

artificial-intelligence-powered-uav-tracking-system

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%