Skip to content

AeroVision-AI is an advanced aerial intelligence system for real-time vehicle detection, tracking, and analytics from drone footage. Built with YOLOv8, Streamlit, and OpenCV, it offers live inference visualization, CSV-based analytics, dynamic watermarking, and video export, a production-grade showcase of computer vision in motion.

Notifications You must be signed in to change notification settings

mwasifanwar/AeroVision-AI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

6 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš AeroVision-AI

Intelligent Aerial Vehicle Detection, Tracking & Analytics System

โœจ AeroVision-AI is a next-generation aerial intelligence framework built to understand the world from above.
It leverages the power of YOLOv8, OpenCV, and Streamlit to perform real-time vehicle detection, object tracking, and data-driven analytics on drone-captured footage โ€” turning raw aerial video into meaningful, structured insight.


๐Ÿง  What It Does

AeroVision-AI goes far beyond traditional detection scripts โ€” it acts as a complete end-to-end visual intelligence system.
Using deep learning and advanced computer vision, it detects moving vehicles from drone footage, tracks them persistently with unique IDs, and generates interactive, analytics-rich visualizations that can be exported as videos, snapshots, and structured CSV reports.

The system is designed with a research-grade backbone and a presentation-ready frontend, allowing users to seamlessly explore data while maintaining production-level polish.


๐Ÿš€ Key Idea

The core philosophy behind AeroVision-AI is simple yet powerful:

โ€œTransform every aerial frame into an intelligent data point.โ€

Whether youโ€™re analyzing parking lots, inspecting road traffic, monitoring events, or studying autonomous driving patterns โ€” AeroVision-AI captures, interprets, and quantifies movement in a way that feels effortless and visually engaging.


๐Ÿงฉ Why It Stands Out

๐Ÿ’ก Deep Intelligence โ€” Built on YOLOv8, AeroVision-AI ensures high accuracy across diverse aerial angles, altitudes, and lighting conditions.
๐Ÿงญ Persistent Tracking โ€” Each vehicle is tracked with consistent IDs, making it ideal for time-based analytics and behavioral observation.
๐Ÿ“Š Analytics-Driven Design โ€” Every frame contributes to measurable insights โ€” detections, counts, movement trends, and positional data โ€” stored neatly in exportable CSVs.
๐ŸŽจ Streamlit-Powered UI โ€” A beautifully minimal, fully interactive interface to control confidence thresholds, IOU settings, watermark styling, and video recording โ€” no coding needed.
๐Ÿ’ง Dynamic Watermark Layer โ€” Add your own branded watermark that tiles, rotates, and blends naturally into each processed frame.
๐Ÿ“ฆ Research & Reporting Ready โ€” Perfect for demonstrations, traffic analysis, surveillance research, or AI showcase projects.


๐ŸŒ The Vision

In a world where drones capture terabytes of video every day, AeroVision-AI turns those pixels into purpose.
It empowers developers, researchers, and organizations to see patterns in motion, quantify behavior, and build smarter aerial ecosystems.

Through intelligent automation and elegant visualization, AeroVision-AI redefines how aerial data is perceived โ€”
from raw videoโ€ฆ to real-time visual intelligence.


๐Ÿงฉ Built for innovation, designed for insight, and engineered for impact.

๐Ÿ“ธ Project Overview

AeroVision-AI is more than just a car detection script โ€” itโ€™s a complete aerial intelligence ecosystem that brings drone footage to life through deep learning.
At its core, the system can detect, track, and analyze vehicles in real time, transforming ordinary drone videos into rich visual data streams filled with actionable insights.

Using a combination of YOLOv8, OpenCV, and Streamlit, AeroVision-AI enables users to experience the power of aerial analytics through an intuitive interface and professional-grade outputs.

It empowers you to:

  • ๐Ÿ›ฃ๏ธ Monitor and analyze traffic patterns, parking areas, or event zones from an aerial perspective
  • ๐Ÿ”ข Automatically count and track every detected vehicle with persistent IDs
  • ๐ŸŽž๏ธ Export annotated videos complete with bounding boxes and labeled tracks
  • ๐Ÿ“Š Generate detailed CSV analytics for research, reporting, or data modeling
  • ๐Ÿ’ง Apply branded watermark overlays to maintain visual ownership and authenticity

In essence, AeroVision-AI bridges drone vision and data intelligence, turning raw footage into structured, insightful visual evidence for researchers, developers, and analysts alike.


โš™๏ธ Core Features

๐ŸŒŸ Feature ๐Ÿ’ก Description
๐ŸŽฅ Real-time YOLOv8 Inference Utilizes the state-of-the-art YOLOv8 object detection model to identify vehicles across frames instantly with remarkable accuracy.
๐Ÿงญ Intelligent Object Tracking Tracks every detected car persistently using an IOU-based tracker, ensuring consistent IDs and smooth temporal continuity across the video stream.
๐Ÿ“Š Analytical Data Export Automatically logs detections into structured CSV files containing frame indices, bounding box coordinates, confidence levels, and class information.
๐Ÿ’ง Dynamic Watermark System Add customizable, semi-transparent watermark layers with adjustable opacity, rotation, and spacing โ€” ensuring secure and professional outputs.
๐Ÿ’พ Video & Snapshot Recording Capture fully processed videos or individual frames as images โ€” ideal for research presentations or academic reports.
๐Ÿงฉ Streamlit Interactive Dashboard A clean, user-friendly dashboard to upload footage, tweak parameters, and visualize results live โ€” all without writing a single line of code.
โšก Optimized Performance Efficient inference pipeline optimized for both GPU and CPU, allowing smooth operation even on modest setups.
๐Ÿงพ Automated Output Management Each run is automatically organized into time-stamped folders, keeping all MP4, CSV, and snapshot outputs cleanly structured and easy to access.

๐Ÿง  In short: AeroVision-AI transforms aerial visuals into measurable intelligence โ€” making drones not just eyes in the sky, but analysts in motion.

๐Ÿงฉ Architecture Overview

The architecture of AeroVision-AI is designed with a clear goal โ€” to create a seamless, modular, and interpretable pipeline that transforms raw drone footage into structured, visual, and analytical intelligence.
Every layer of the system communicates efficiently, ensuring real-time inference, clean visualization, and effortless data export โ€” all orchestrated within an elegant Streamlit interface.

AeroVision-AI Architecture Diagram


๐Ÿง  How It Works

At its core, the system follows a modular service-based architecture, where each component focuses on a distinct responsibility โ€” from frame ingestion to analytics generation.
This design not only ensures scalability and clarity but also allows developers and researchers to extend or replace modules with minimal effort.


๐Ÿ”น Detailed Data Flow

  1. ๐Ÿ–ฅ๏ธ Streamlit Frontend (streamlit_app/app.py)
    Acts as the user interface and control center. Users upload drone footage or images, set detection thresholds, choose watermark preferences, and monitor outputs live.

  2. ๐Ÿง  YOLOv8 Detector (src/detector.py)
    Processes each incoming frame using YOLOv8, performing real-time vehicle detection with high confidence and precision.
    It outputs bounding boxes, class IDs, and confidence scores for each detected object.

  3. ๐Ÿงญ Tracker Module (src/tracker.py)
    Uses an IOU (Intersection over Union)-based algorithm to maintain identity consistency across frames.
    Each car receives a unique tracking ID, ensuring smooth object association even in overlapping or fast-moving scenes.

  4. ๐ŸŽจ Visualization Engine (src/viz.py)
    Handles real-time drawing of bounding boxes, track IDs, and overlay elements such as FPS counters and watermark layers.
    Ensures processed frames are both informative and presentation-ready.

  5. ๐Ÿ’พ Export Services
    Captures processed frames and writes them as:

    • ๐ŸŽฅ Annotated videos (.mp4)
    • ๐Ÿ“Š Analytics CSV logs (.csv)
    • ๐Ÿ–ผ๏ธ Snapshots (.png)
      All outputs are stored neatly in the /outputs directory, automatically organized by timestamp.
  6. ๐Ÿ“ Reporting & Analysis Layer (/reports)
    Aggregates key visualizations, architecture references, and summary snapshots that can be used for academic documentation, performance reports, or presentations.


โš™๏ธ Architectural Principles

Principle Description
๐Ÿงฉ Modularity Each function (detection, tracking, visualization) is isolated yet interconnected โ€” easy to extend or upgrade individually.
โšก Real-Time Performance The entire pipeline is optimized for live frame-by-frame inference without noticeable lag, even on CPUs.
๐Ÿ“ˆ Traceability Every processed frame, detection, and track is stored and can be audited or analyzed later for reproducibility.
๐Ÿ’ก Scalability New modules (e.g., multi-class detection, speed estimation) can be integrated with minimal code restructuring.
๐Ÿงพ Transparency A clear, human-readable code structure allows researchers and developers to easily follow and explain each stage of the process.

In summary, AeroVision-AIโ€™s architecture is not just a collection of scripts โ€”
itโ€™s a living ecosystem of interconnected components, purpose-built to bridge drone vision and data science.
Each frame enters as raw imagery and exits as interpretable intelligence, ready for visualization, reporting, or further AI modeling.

๐Ÿ—‚๏ธ Directory Structure

AeroVision-AI follows a clean, modular project structure, ensuring clarity, scalability, and maintainability.
Each directory serves a distinct role in the pipeline โ€” from deep learning inference to visualization and reporting.

AeroVision-AI/ โ”‚ โ”œโ”€โ”€ src/ โ”‚ โ”œโ”€โ”€ detector.py # โš™๏ธ YOLOv8-based vehicle detection service โ”‚ โ”œโ”€โ”€ tracker.py # ๐ŸŽฏ IOU-based object tracking module โ”‚ โ”œโ”€โ”€ viz.py # ๐Ÿ–ผ๏ธ Frame drawing, watermarking & export utilities โ”‚ โ””โ”€โ”€ init.py # Initializes the src module โ”‚ โ”œโ”€โ”€ streamlit_app/ โ”‚ โ””โ”€โ”€ app.py # ๐Ÿงฉ Streamlit frontend for user interaction & visualization โ”‚ โ”œโ”€โ”€ outputs/ # ๐Ÿ’พ Automatically saved processed videos, CSVs, and snapshots โ”‚ โ”œโ”€โ”€ reports/ # ๐Ÿ“Š Stored screenshots, architecture diagrams, and performance visuals โ”‚ โ”œโ”€โ”€ models/ โ”‚ โ””โ”€โ”€ yolov8n.pt # ๐Ÿค– Pre-trained YOLOv8 Nano model for inference โ”‚ โ”œโ”€โ”€ requirements.txt # ๐Ÿ“ฆ List of dependencies for environment setup โ”œโ”€โ”€ architecture.png # ๐Ÿง  System architecture diagram (used in documentation) โ””โ”€โ”€ README.md # ๐Ÿ“˜ Project documentation file

๐Ÿ“ Directory Purpose Summary

๐Ÿ—‚๏ธ Folder / File ๐Ÿงฉ Description
src/ Core backend containing detection, tracking, and visualization logic.
streamlit_app/ Frontend layer for user uploads, parameter control, and live results display.
outputs/ Stores all generated outputs โ€” annotated videos, CSV analytics, and saved frames.
reports/ Includes documentation visuals, screenshots, and research-ready figures.
models/ Houses pre-trained weights or custom model checkpoints for YOLOv8.
requirements.txt Defines all project dependencies for environment setup.
architecture.png High-level architecture overview diagram used in documentation.
README.md The main project guide (this file).

๐Ÿง  Tech Stack

AeroVision-AI leverages a modern, efficient, and research-friendly technology stack, blending the flexibility of Python with state-of-the-art AI libraries for computer vision, analytics, and UI development.

๐Ÿงฉ Category โš™๏ธ Technologies Used ๐Ÿง  Purpose
๐ŸŽจ Frontend / UI Streamlit Builds an interactive dashboard for real-time visualization and parameter control.
๐Ÿค– Core ML Model YOLOv8 (Ultralytics) Performs high-speed, high-accuracy vehicle detection in aerial frames.
๐Ÿงญ Vision Processing OpenCV, NumPy Handles image transformations, video frame operations, and pixel-level processing.
๐ŸŽฏ Tracking Engine IOU-based Tracker Maintains consistent tracking IDs across frames for accurate motion analysis.
๐Ÿ“Š Visualization Layer Matplotlib, OpenCV Renders bounding boxes, tracks, FPS counters, and dynamic watermark overlays.
๐Ÿ“ˆ Data Handling CSV, Tempfile Stores analytical data, tracks detections, and supports file streaming.
โš™๏ธ Backend Logic Python 3.10+ Provides overall orchestration, module integration, and environment compatibility.

๐Ÿง  In short:
The AeroVision-AI tech stack is engineered for speed, modularity, and interpretability, making it ideal for research, prototyping, and real-world drone analytics.

๐Ÿš€ Setup & Installation

Follow these steps to set up and run AeroVision-AI on your local machine.
The setup process is designed to be simple, portable, and consistent across all operating systems.


๐Ÿงฉ 1๏ธโƒฃ Clone the Repository

Start by cloning the repository and navigating into the project directory:

git clone https://github.com/mwasifanwar/AeroVision-AI.git cd AeroVision-AI

โš™๏ธ 2๏ธโƒฃ Create a Virtual Environment

Create and activate a virtual environment to keep dependencies isolated and clean:

Create virtual environment

python -m venv .venv

Activate (Linux / macOS)

source .venv/bin/activate

Activate (Windows)

.venv\Scripts\activate

๐Ÿ“ฆ 3๏ธโƒฃ Install Dependencies

Install all required Python packages using requirements.txt

pip install -r requirements.txt

This will automatically install the core dependencies:

๐Ÿค– YOLOv8 (Ultralytics) โ†’ Object detection engine

๐Ÿงญ OpenCV โ†’ Video and image processing

๐ŸŽจ Streamlit โ†’ Interactive dashboard framework

๐Ÿงฎ NumPy, Matplotlib โ†’ Numerical operations and visualization tools

๐Ÿง  4๏ธโƒฃ Run the Streamlit App

Launch the application using Streamlit: streamlit run streamlit_app/app.py

๐ŸŽฎ Usage

Using AeroVision-AI is straightforward โ€” no coding required!
Simply follow these steps inside the Streamlit interface:


๐Ÿชถ Step-by-Step Workflow

  1. Launch the App

    • Run the app using the command:
      streamlit run streamlit_app/app.py
  2. Upload Your Media

    • ๐ŸŽฅ Drone Videos: .mp4, .avi, .mov
    • ๐Ÿ–ผ๏ธ Still Images: .jpg, .jpeg, .png
  3. Adjust Parameters

    • ๐Ÿ” Detection Confidence: Filter out low-confidence predictions for cleaner results.
    • ๐ŸŽฏ IOU Threshold: Tune the trackerโ€™s sensitivity to maintain smoother and more consistent object IDs.
    • ๐Ÿ’ง Watermark Settings: Customize text, opacity, angle, and spacing to match your branding or report style.
  4. Start Detection

    • Press โ–ถ๏ธ Start to begin real-time inference and object tracking.
    • The system processes frames dynamically, applying YOLOv8 detections and tracking IDs to each vehicle.
  5. Visualize Results Live

    • Watch detections, bounding boxes, IDs, and FPS counters update frame-by-frame in real time on the Streamlit dashboard.
    • Easily toggle between modes, adjust confidence levels, and fine-tune visualization without restarting.
  6. Export Outputs

    • ๐Ÿ’พ Processed Video (.mp4): Includes bounding boxes, track IDs, and optional watermark overlay.
    • ๐Ÿ“Š Detections CSV (.csv): Contains detailed analytics including frame index, object ID, class label, confidence score, and bounding box coordinates.
    • ๐Ÿ–ผ๏ธ Snapshots (.png): Saves static frames for documentation, research reports, or presentations.

๐Ÿ“Š Output Samples

All generated visuals and analytical results from AeroVision-AI are automatically stored inside the outputs/ folder after each session.
Additionally, curated screenshots are placed in the reports/ directory for documentation and research presentation.


๐Ÿ–ผ๏ธ Example Outputs

Example Description
๐Ÿ–ผ๏ธ reports/01.png Drone overview showcasing multiple vehicles detected simultaneously using YOLOv8.
๐Ÿ–ผ๏ธ reports/02.png Persistent tracking view โ€” each vehicle maintains a unique ID across frames.
๐Ÿ–ผ๏ธ reports/03.png Custom watermark overlay applied to ensure brand identity and professional presentation.
๐Ÿ–ผ๏ธ reports/04.png CSV-exported analytics preview displaying structured detection and tracking data.
๐Ÿ–ผ๏ธ reports/05.png Final visualization snapshot, ideal for reports, demonstrations, or publications.

๐Ÿ“ธ Visual Preview

AeroVision-AI Sample Output 1

Example: Real-time vehicle detection and tracking from aerial footage using YOLOv8.

AeroVision-AI Sample Output 1

AeroVision-AI Sample Output 1

๐Ÿ“ˆ Analytics & Export

AeroVision-AI automatically logs every detection and tracking event into structured CSV files, enabling seamless analysis and post-processing.
Each frame processed during video inference generates a corresponding entry that includes bounding box coordinates, object IDs, class labels, and confidence values.


๐Ÿงฎ CSV Output Structure

Each CSV file follows a standardized format for easy integration with Python, Excel, or Power BI:

Frame Track ID Class Confidence X1 Y1 X2 Y2
132 7 car 0.94 380 200 420 250

๐Ÿ’ก How It Works

  • For every frame in your uploaded video, YOLOv8 performs object detection.
  • The IOU-based tracker assigns a unique Track ID to each vehicle and maintains its identity across frames.
  • The system records all detections into a CSV file, stored automatically in the /outputs folder.
  • The result is a chronological detection log that can be visualized, aggregated, or used for model fine-tuning and downstream analytics.

๐Ÿง  Why Itโ€™s Powerful

  • โœ… Quantitative Insight: Transform raw drone footage into measurable data points.
  • โœ… Versatile Integration: Import CSVs into Python (Pandas), Excel, Tableau, or Power BI.
  • โœ… Research-Ready: Ideal for academic analysis, traffic pattern studies, or dataset creation.
  • โœ… Automation Friendly: Supports batch processing and consistent export structure.

๐Ÿ“Š Example Use Case:

  • Compute traffic density per frame.
  • Plot vehicle trajectories over time.
  • Generate heatmaps for congestion analysis.

๐ŸŒ Future Enhancements

The roadmap for AeroVision-AI includes several planned upgrades to elevate functionality, performance, and scalability.
These features aim to make the platform more powerful for both research and real-world deployments.


Feature Description
๐Ÿ“ฆ Speed Estimation Compute approximate vehicle speed using frame-to-frame position differentials and FPS data.
๐Ÿงญ Zone Counting Define polygonal or rectangular regions in the video to count vehicle entry and exit events.
โ˜๏ธ Web Deployment Deploy directly on platforms like Hugging Face Spaces, Render, or Streamlit Cloud for public demos.
๐Ÿ” Multi-Class Support Extend model capabilities beyond cars to include trucks, motorbikes, and pedestrians.
๐Ÿง  SHAP / LIME Explainability Integrate interpretability modules to visualize how the model makes decisions (explainable AI).
๐Ÿ“Š Real-time Dashboard Add live analytical visualization (charts, graphs, traffic density meters) using Plotly or Dash.

๐Ÿš€ Planned Technical Extensions

  1. MLOps Integration: Automate retraining pipelines using Docker + GitHub Actions.
  2. Edge Optimization: Quantize YOLOv8 for real-time deployment on Jetson or Raspberry Pi.
  3. Cloud Storage Sync: Auto-upload processed outputs to Google Drive / S3.
  4. REST API Endpoint: Serve live predictions via FastAPI for third-party integration.
  5. UI Enhancements: Add interactive analytics, filter controls, and report builders within Streamlit.

๐Ÿงฉ In summary:
The foundation of AeroVision-AI is designed with modular extensibility โ€” enabling future upgrades without breaking the existing architecture.
Itโ€™s not just a drone detection system; itโ€™s an evolving framework for intelligent aerial analytics.


โœจ Author

Muhammad Wasif
AI/ML Developer โ€ข Founder @ Effixly AI

LinkedIn Email Website

"Predicting churn isnโ€™t just about saving customers โ€” itโ€™s about understanding them."


About

AeroVision-AI is an advanced aerial intelligence system for real-time vehicle detection, tracking, and analytics from drone footage. Built with YOLOv8, Streamlit, and OpenCV, it offers live inference visualization, CSV-based analytics, dynamic watermarking, and video export, a production-grade showcase of computer vision in motion.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages