All Projects
2024Computer Vision

Hornet Detection & Tracking

Model Training & Evaluation · Team of 3

A Streamlit application that detects and tracks invasive hornets threatening bee populations, using YOLO based computer vision. It was a team project where I led model training and evaluation.

PythonYOLOv8YOLOv7RoboflowStreamlitGoogle ColabComputer Vision

Overview

About the project

Invasive hornet species are a serious threat to bee populations and the wider ecosystem. Monitoring hives by hand does not scale, and early detection is critical, so the spotting itself needs to be automated.

Our three person team built a Streamlit application around YOLO based object detection. I led model training and evaluation while teammates handled data preprocessing. We annotated training data with Roboflow, trained and compared YOLOv7 and YOLOv8 models on Google Colab's GPUs, and evaluated detection and tracking performance on video footage.

The result is a working prototype that automates hornet detection and tracking in video, removing labour intensive manual review. It also provides a foundation that can be adapted to other ecological monitoring tasks.

System Overview

At a glance

A team computer vision project that automates the spotting and tracking of invasive hornets in video, removing the need for slow manual review. We trained and compared YOLOv7 and YOLOv8 detectors on a custom annotated dataset and wrapped the result in a Streamlit application. I led model training and evaluation in a three person team.

How It Works

System Architecture

Roboflow

Annotation of the hornet training data

YOLOv7 & YOLOv8

Detection models trained and compared

Google Colab

GPU environment used for training

Streamlit App

Interface for running detection on footage

Process Flow

How the project moves from start to finish, step by step.

1
Step 1

Annotate

Label hornet footage as a training dataset in Roboflow.

2
Step 2

Train

Train and compare YOLOv7 and YOLOv8 on Google Colab GPUs.

3
Step 3

Track

Detect and follow hornets across video frames in the app.

System Breakdown

Experiment Setup

The work was structured so the model choice would be defensible, not arbitrary.

Dataset

  • Roboflow Annotation

    Hornet footage labelled directly in Roboflow.

  • Frame Sampling

    Frames extracted from video for annotation.

  • Train and Validation Splits

    Honest splits so results are comparable across models.

Models and Training

  • YOLOv7

    Trained as a comparison candidate.

  • YOLOv8

    Trained on the same dataset with matching hyperparameters.

  • Google Colab GPUs

    GPU environment that kept training cycles short.

Application

  • Streamlit App

    Loads the trained model and runs detection on uploaded footage.

  • Tracking Layer

    Follows each detected hornet across consecutive frames.

Workflows

Project Phases

Three phases, with model comparison treated as a first class output.

1

Annotate

Purpose: Build a dataset both models can be trained on fairly.

How it works

  • Extract frames from hornet video footage.
  • Annotate every hornet in Roboflow with consistent labelling rules.
  • Split the dataset into train and validation sets.
2

Train and Compare

Purpose: Pick the right model with real numbers behind the decision.

How it works

  • Train YOLOv7 and YOLOv8 on the same data with matching settings.
  • Evaluate each on the validation set.
  • Compare detection performance side by side.
3

Detect and Track

Purpose: Make the chosen model useful in the field.

How it works

  • Run inference on video footage in the Streamlit app.
  • Track every detection across consecutive frames.
  • Produce annotated output a beekeeper can scan quickly.

What It Does

Features & Capabilities

Automated Detection

Spots hornets without slow, manual video review.

Model Comparison

YOLOv7 and YOLOv8 evaluated side by side for the task.

Object Tracking

Follows each detected hornet across video frames.

Scalable Use

Adaptable to other ecological monitoring tasks.

Running It

Deployment & Technology Stack

PythonCore Language
YOLOv8Detection Model
RoboflowAnnotation
Google ColabGPU Training
StreamlitWeb Interface