AerialVision is a high-performance deep learning system designed to identify and localize objects from a drone's perspective. It transforms raw aerial footage into actionable insights using a custom-trained YOLOv8 model, making it ideal for applications in smart city management, surveillance, and environmental monitoring.
The entire system is wrapped in a clean, interactive web interface powered by Gradio, allowing anyone to leverage the power of advanced AI with a simple drag-and-drop.
- 🎯 High-Accuracy Aerial Detection: A robust YOLOv8 model fine-tuned on the challenging VisDrone dataset to accurately detect objects like cars, people, and bicycles from above.
- 🌐 Intuitive Web Interface: A minimalist and responsive UI built with Gradio for seamless image uploads and instant visualization of detection results.
- 🔧 Automated Data Preprocessing: Includes a
prepare_data.pyscript to automatically convert the VisDrone dataset into the required YOLO format, streamlining the training pipeline. - scalable codebase designed for future enhancements, such as integrating new models or adding video processing capabilities.
- Model: YOLOv8
- Deep Learning Framework: PyTorch
- Web UI: Gradio
- Core Language: Python
- Key Libraries: Ultralytics, OpenCV, NumPy
Follow these steps to set up and run AerialVision on your local machine.
First, clone this repository to your local machine using Git.
git clone [https://github.com/Devanandini04/AerialVision.git](https:/Devanandini04/github.com//AerialVision.git)
cd AerialVisionCreate and activate a virtual environment to manage project dependencies cleanly.
# Create the virtual environment
python -m venv venv
# Activate it
# On Windows:
venv\Scripts\activate
# On macOS/Linux:
source venv/bin/activateInstall all the required Python libraries using the requirements.txt file.
pip install -r requirements.txtThe repository does not include the raw dataset. You must download it and process it.
- Download the VisDrone Dataset.
- Place the unzipped dataset folder into a
datasets/directory at the root of the project. - Run the preprocessing script to convert the data into the YOLO format required for training.
This will generate an
python prepare_data.py
AerialVision-YOLO-format/folder insidedatasets/.
Launch the Gradio web interface. The runs/ folder containing the pre-trained model weights should be present for the app to work.
python app.pyAfter running this command, open the provided local URL in your web browser (usually http://127.0.0.1:7860).
/AerialVision
├── app.py
├── requirements.txt
├── best.pt
├── predict.py
├── prepare_data.py
├── .gitignore
├── test_image.jpg
└── visdrone.yaml
---
## 📄 License
This project is licensed under the MIT License. See the `LICENSE` file for more details.
