This repository contains the source code for the URANUS 2.0 framework.
URANUS 2.0 is an ML framework used to identify, classify and track Unmanned Aerial Vehicles (UAV).
For the identification and classification tasks of a UAV, a MLP model is trained and tested, with a final accuracy of 90%. For the tracking task, a single regressor Random Forest model, is deployed to provide the exact position of the UAV, with MSE of 0.29, MAE of 0.04,
The libraries used by URANUS are the following:
Plugin | README |
---|---|
PyTorch | [https://pytorch.org/] |
sklearn.preprocessing | [https://scikit-learn.org/stable] |
NumPy | [https://numpy.org/] |
Pandas | [https://pandas.pydata.org/] |
Matplotlib | [https://matplotlib.org/] |
This is a screenshot of the final application:
The project source code has been organized in several folders:
- app: this folder contains the final application that uses the trained ML models for real time UAVs tracking, identification and classification;
- datasets: in this location the original CSV sensor files are stored, as well as the output of the script for the dataset generation;
- results: here there are the pre-trained models described in the paper, as well as the framework schemas and screenshots;
- scripts: this folder stores the source codes of ML models and some complementary scripts.
The script folder contains the following source files:
- dataset_maker.py: this script merges the original sensor CSV files in order to create the dataset to be used to train ML models;
- network_MLP_classifier.py: here there is the source of the MLP classifier of the framework;
- preprocessing.py: the script enriches the content of the merged dataset, for example adding columns of coordinates conversion;
- regressor.py: this is the source code of the RF regressor model of the framework, responsible of the tracking task.
The proposed source files have been developed and tested with Ubuntu 22.04 LTS and Python 3.11 and we encourage to use a similar environment to run the scripts.
Use the following commands to install the scripts' dependencies:
$ sudo apt-get install python3-pip python3-tk graphviz
$ pip3 install -r requirements.txt
URANUS is released under the GPLv3 license.