Skip to content

Devanandini04/AerialVision

Repository files navigation

AerialVision: Drone-based Object Detection 🚁

Python Framework License

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.


📸 Demo

AerialVision Demo


✨ Key Features

  • 🎯 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.py script 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.

🛠️ Technology Stack

  • Model: YOLOv8
  • Deep Learning Framework: PyTorch
  • Web UI: Gradio
  • Core Language: Python
  • Key Libraries: Ultralytics, OpenCV, NumPy

🚀 Getting Started

Follow these steps to set up and run AerialVision on your local machine.

1. Clone the Repository

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 AerialVision

2. Set Up a Virtual Environment (Recommended)

Create 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/activate

3. Install Dependencies

Install all the required Python libraries using the requirements.txt file.

pip install -r requirements.txt

4. Prepare the Dataset (For Training)

The repository does not include the raw dataset. You must download it and process it.

  1. Download the VisDrone Dataset.
  2. Place the unzipped dataset folder into a datasets/ directory at the root of the project.
  3. Run the preprocessing script to convert the data into the YOLO format required for training.
    python prepare_data.py
    This will generate an AerialVision-YOLO-format/ folder inside datasets/.

5. Run the Application

Launch the Gradio web interface. The runs/ folder containing the pre-trained model weights should be present for the app to work.

python app.py

After running this command, open the provided local URL in your web browser (usually http://127.0.0.1:7860).


📁 Repository Structure

/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.

About

AerialVision is a cutting-edge deep learning project for drone-based object detection. It uses a custom-trained YOLOv8 model to instantly identify and localize objects like cars and people from aerial footage. The project features an intuitive Gradio web interface and is built for scalability and real-world application.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages