01
Dataset
Frames extracted from my own street footage and labelled by hand. The set grew from roughly 100 images to around 600 after early runs showed the small set simply was not enough.
Computer vision experiment · 2025
A video object-detection demo built end to end: my own street footage, a hand-labelled dataset of around 600 frames, a custom-trained YOLOv5n model and OpenCV rendering the detections back onto the video.

Overview
The goal was to own every step of a small computer-vision project: film the footage, build the dataset, train the detector, and render the result - rather than running a pre-trained model on someone else's data.
The detector recognises custom classes from my own neighbourhood footage - cars, bushes, buildings and road signs - because it was trained on frames from that footage, not on a public dataset. That choice made the project harder and far more instructive: every weakness in the result traced back to a decision I had made about data, labelling or training.
Demo video
The full demo shows the trained model running across the street footage, with bounding boxes, class labels and confidence scores rendered by OpenCV.
Hosted on YouTube in privacy-enhanced mode. Open the video on YouTube - opens in a new tab for the full player.
Pipeline
Three stages, each owned end to end - and each one taught a different lesson about where vision projects actually spend their time.
01
Frames extracted from my own street footage and labelled by hand. The set grew from roughly 100 images to around 600 after early runs showed the small set simply was not enough.
02
YOLOv5 variants trained and compared on my own hardware. The nano model, YOLOv5n, turned out to be the best fit for this footage.
03
OpenCV runs the video through the trained model and renders bounding boxes, class labels and confidence scores back onto every frame.
What I learned
Project status
The experiment reached its goal - a working, custom-trained detector demonstrated on video - and its limitations are part of what it demonstrates.
A single-scene demo: the model was trained on and evaluated against one neighbourhood's footage. It is a learning project, not a benchmarked or production detection system.
A larger, more varied dataset and rented GPU time for training - the two changes the lessons above point to directly.
See it run