This repository showcases my graduate thesis project focused on leveraging YOLOv8 for real-time object detection and integrating StrongSORT for accurate object tracking. By harnessing drone-captured data, this project explores the synergy between advanced computer vision algorithms and aerial imagery, opening up new possibilities for surveillance, mapping, etc.
- Create python virtual enviroment:
python -m venv [venv_name]
source [venv_name]/scripts/activate
- Clone this repository:
git clone https://github.com/lakyfarky/Realtime-object-detection-and-tracking-with-YOLOv8-and-StrongSORT.git
cd 'Realtime-object-detection-and-tracking-with-YOLOv8-and-StrongSORT'
- Install PyTorch (CUDA 11.8, skip if don't have NVIDIA GPU with CUDA support):
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
- Install Ultralytics (YOLOv8):
pip install Ultralytics
- Install Boxmot (StrongSort):
pip install boxmot
To utilize EL-YOLOv8s model follow next steps:
- Copy ESPP.py into ultralytics/nn/modules/block.py and add ESPP in special attribute:
__all__ = ('ESPP', 'DFL', 'HGBlock', 'HGStem', 'SPP', 'SPPF', 'C1', 'C2', 'C3', 'C2f', 'C3x', 'C3TR', 'C3Ghost',
'GhostBottleneck', 'Bottleneck', 'BottleneckCSP', 'Proto', 'RepC3')
- Add ESPP to ultralytics/nn/modules/__init__.py
from .block import (ESPP, C1, C2, C3, C3TR, DFL, SPP, SPPF, Bottleneck, BottleneckCSP, C2f, C3Ghost, C3x, GhostBottleneck,
HGBlock, HGStem, Proto, RepC3)
- Add ESPP to ultralytics/nn/models/task.py
from ultralytics.nn.modules import (ESPP, AIFI, C1, C2, C3, C3TR, SPP, SPPF, Bottleneck, BottleneckCSP, C2f, C3Ghost, C3x,
Classify, Concat, Conv, Conv2, ConvTranspose, Detect, DWConv, DWConvTranspose2d,
Focus, GhostBottleneck, GhostConv, HGBlock, HGStem, Pose, RepC3, RepConv,
RTDETRDecoder, Segment)
Here are the repositories that I've used in this project: