Back to featured work
Computer Vision · Aerial SurveillanceComplete
Recorded Bot-SORT aerial traffic demo. The clip shows aerial traffic footage with detection boxes and class/confidence labels over vehicles and pedestrians across frames. The supplied AerialGuard demo identifies this view as Bot-SORT tracking output; it is a qualitative example, not tracking metrics or a controlled full-frame-versus-SAHI comparison.
Problem
Tiny, dense targets in high-altitude UAV imagery break full-frame detectors.
What I built
A SAHI + YOLOv11 aerial detection and tracking pipeline with a Streamlit UI.
My role
Project author: detection workflow, SAHI, tracking, data versioning, delivery.
Result
Recorded dense aerial detection and Bot-SORT tracking on real traffic footage.
YOLOv11-SmallSAHI slicingBot-SORT trackingVisDroneMLflowDVCDockerized Streamlit

Evidence

More recorded proof

AerialGuard Streamlit inference screen showing YOLOv11-S detections over a dense aerial street scene.

Dense aerial detection output

A recorded Streamlit inference screenshot with detector labels and confidence values over dense aerial traffic. It is a representative UI output, not a measured evaluation or a full-frame-versus-SAHI comparison.

Problem

What this project had to solve

High-altitude UAV imagery creates extreme scale variation, dense overlap, and tiny targets that standard full-frame object detection can miss.

Role / contribution

What I owned in the system

Project author responsible for the aerial detection workflow, SAHI integration, tracking path, experiment and data versioning, and the Streamlit/Docker delivery described in the repository.

Architecture flow

System flow from input to output

Step 01

Aerial input

What happens

A high-resolution UAV image or video enters the local Streamlit workflow.

Why it matters

The input domain contains crowded scenes and very small objects, so evidence must reflect aerial-scale conditions.

Related tools

Streamlit

Engineering decisions

Tradeoffs that shaped the build

  1. Decision 01

    Use slices for tiny targets

    SAHI addresses resolution loss for small aerial objects by evaluating overlapping crops instead of resizing the full scene once.

  2. Decision 02

    Keep detection and tracking distinct

    YOLOv11 provides frame detections; Bot-SORT adds identity association across frames.

  3. Decision 03

    Keep the workflow inspectable

    The Streamlit interface exposes detections, while MLflow and DVC record the experiment and data workflow described by the repository.

Technical implementation

How the system is built

The project fine-tunes YOLOv11-Small for aerial traffic imagery and uses SAHI to slice high-resolution scenes for small-object inference.

Bot-SORT maintains vehicle and pedestrian identities across video frames after detection.

MLflow, DVC, Docker, Streamlit, and GitHub Actions organize the experiment and delivery workflow; the repository also documents Trivy scanning.

Stack

Core tools and system layers

YOLOv11SAHIBot-SORTMLflowDVCDockerStreamlitGitHub Actions

Project explainer

Ask about this project

A case-study guide to the architecture and decisions behind AerialGuard.