Computer Vision Projects

Computer vision projects show employers you can work with real image data — not just run tutorials. Each project below is scoped so it can be built in a reasonable timeframe and documented clearly on a portfolio or resume.

Beginner

3 projects

Image Classifier from Scratch

1–2 weeks
PythonPyTorchtorchvisionMatplotlib

Train a convolutional neural network to classify images into categories — start with CIFAR-10 (10 classes) or a Kaggle dataset you find interesting. The goal is to understand the full pipeline: load data, define a model, train, evaluate, and interpret results.

Skills practised

CNNstraining loopsdata augmentationmodel evaluation

What it shows employers

You understand CNNs, can implement a training loop, and know how to evaluate a classifier beyond raw accuracy (confusion matrix, per-class precision/recall). More employers care about this than fine-tuning a pre-trained model.

Dataset

CIFAR-10 via torchvision.datasets, or any Kaggle image classification dataset

Take it further

Add a simple web interface using Gradio or Streamlit so anyone can upload an image and get a prediction.

Real-Time Face Detector

3–5 days
PythonOpenCVNumPy

Build a real-time face detection system using OpenCV that reads from a webcam or video file, draws bounding boxes around faces, and optionally logs detections. A good entry-level project that covers the OpenCV fundamentals every CV engineer uses daily.

Skills practised

OpenCVHaar cascadeswebcam feedsbounding boxes

What it shows employers

Practical OpenCV fluency — frame capture, colour space conversion, detector APIs, and drawing overlays. Shows you can work with live data, not just static images.

Take it further

Upgrade from Haar cascades to MTCNN or MediaPipe Face Detection for better accuracy on tilted faces.

Document Scanner & OCR Pipeline

1 week
PythonOpenCVTesseractPillow

Build a tool that takes a photo of a document (ID, receipt, whiteboard), automatically detects the document edges, applies a perspective transform to produce a clean scan, and runs OCR to extract the text. A practical project with an obvious real-world use case.

Skills practised

perspective transformedge detectioncontour findingOCR

What it shows employers

Classical CV techniques (Canny, Hough, contour detection) combined with a real output that non-engineers understand immediately. OCR integration shows you can combine multiple components into a working pipeline.

Dataset

Your own photos — photograph any piece of paper at an angle

Take it further

Add a REST API endpoint (FastAPI) so the scanner can be called from a mobile app.

Intermediate

4 projects

Custom Object Detector with YOLOv8

2–3 weeks
PythonYOLOv8 (Ultralytics)RoboflowPyTorch

Pick a real-world object to detect — product defects, safety equipment, sports events, specific animals. Label 200–500 images using Roboflow, fine-tune YOLOv8 on your dataset, and evaluate with mAP@0.5. The custom dataset is what separates this from a tutorial re-run.

Skills practised

object detectiondataset labellingfine-tuningmAP evaluation

What it shows employers

End-to-end object detection pipeline including data collection, labelling, fine-tuning, and evaluation. The custom dataset shows initiative — any engineer can run a pre-trained detector, fewer build their own.

Dataset

Label your own via Roboflow (free tier), or use an open dataset from Roboflow Universe

Take it further

Deploy the model as a real-time video detector using a webcam feed or Flask/FastAPI endpoint.

Lane Detection for Autonomous Driving

1–2 weeks
PythonOpenCVNumPyMatplotlib

Detect road lane markings in dashcam footage using classical CV techniques: grayscale conversion, Gaussian blur, Canny edge detection, region-of-interest masking, and Hough line transform. Then upgrade to a deep learning approach using a pre-trained segmentation model.

Skills practised

Canny edge detectionHough line transformROI maskingvideo processing

What it shows employers

Solid classical CV fundamentals — the techniques here (Canny, Hough, ROI) appear in production systems and interviews. Shows you understand why these algorithms work, not just how to call them.

Dataset

Udacity Self-Driving Car Dataset (open-source dashcam footage on GitHub)

Take it further

Replace the Hough transform with a U-Net segmentation model fine-tuned on the CULane dataset.

Semantic Segmentation with U-Net

2–3 weeks
PythonPyTorchsegmentation-models-pytorchalbumentations

Train a U-Net model to segment images at the pixel level — good datasets include Oxford Pets (pet vs background), CamVid (road scenes), or a satellite imagery dataset. Implement the IoU metric, visualise predictions, and analyse failure cases.

Skills practised

semantic segmentationencoder-decoder architectureIoU metricmask prediction

What it shows employers

Segmentation is more demanding than classification and appears in robotics, medical imaging, and satellite analysis roles. U-Net is the canonical architecture — knowing it well signals serious CV depth.

Dataset

Oxford-IIIT Pet Dataset, CamVid, or any Kaggle segmentation challenge

Take it further

Fine-tune a pre-trained SegFormer (transformer-based) and compare IoU vs your U-Net.

Real-Time Pose Estimation App

1–2 weeks
PythonMediaPipeOpenCVNumPy

Use MediaPipe Pose to detect 33 body keypoints in real-time from a webcam. Build an application on top: a rep counter for exercises (push-ups, squats), a form-checker, or a simple gesture controller. The application layer is what makes this portfolio-worthy.

Skills practised

keypoint detectionMediaPipeskeleton overlayangle calculation

What it shows employers

MediaPipe is used in production at scale. Building a working application on top shows system thinking — it's not just "I ran a demo," it's "I understood the outputs and built something useful."

Take it further

Collect a small dataset of "correct" vs "incorrect" form angles and train a simple classifier on top of the keypoint features.

Advanced

3 projects

Medical Image Classifier (Chest X-Ray)

3–4 weeks
PythonPyTorchtorchvisionscikit-learnGrad-CAM

Fine-tune a ResNet or EfficientNet on the NIH Chest X-Ray dataset to classify pathologies (pneumonia, effusion, atelectasis). Handle severe class imbalance with weighted loss or oversampling. Generate Grad-CAM visualisations to show which regions of the X-ray drove the prediction.

Skills practised

transfer learningclass imbalanceROC/AUCGrad-CAM visualisation

What it shows employers

Domain-specific CV, transfer learning, handling imbalanced medical data, and model interpretability. Grad-CAM visualisations are a must in any medical/regulated AI context — showing you know to include them signals maturity.

Dataset

NIH Chest X-Ray14 Dataset (public, 112,000 images) via Kaggle

Take it further

Wrap the model in a FastAPI service with a simple frontend that accepts an upload and returns prediction + heatmap.

GAN for Image Generation

3–5 weeks
PythonPyTorchtorchvisionWeights & Biases

Implement a DCGAN (Deep Convolutional GAN) from scratch to generate images — faces (CelebA), anime characters, or a domain you find interesting. Track training with Weights & Biases, monitor the discriminator/generator loss balance, and evaluate with FID score.

Skills practised

generative adversarial networksdiscriminator/generator trainingFID scoretraining stability

What it shows employers

GANs are notoriously difficult to train — getting one to produce coherent outputs shows persistence and debugging skill. Logging training with W&B shows professional ML engineering habits.

Dataset

CelebA (202,000 face images, public), Anime Face Dataset on Kaggle, or 64×64 thumbnails of any Kaggle image dataset

Take it further

Implement a Conditional GAN (cGAN) that generates images conditioned on a class label.

Video Action Recognition

3–4 weeks
PythonPyTorchtorchvisiondecordVideoMAE or SlowFast

Build a model that classifies actions in short video clips — sports moves, hand gestures, or workplace activities. Use a pre-trained video model (VideoMAE, SlowFast, or TimeSformer) and fine-tune on a subset of UCF-101 or HMDB-51. Handle the video data pipeline: frame sampling, temporal augmentation, batching.

Skills practised

temporal modellingoptical flow3D CNNs or transformersvideo data pipelines

What it shows employers

Video understanding is the frontier beyond static image CV. Pre-processing video data efficiently (a genuine engineering challenge) and fine-tuning a temporal model signals you can handle the full complexity of production CV systems.

Dataset

UCF-101 (101 action classes, 13,000 clips) or HMDB-51 — both public

Take it further

Add optical flow as a second input stream (two-stream network) and measure whether it improves accuracy on fast-motion actions.

Building a Computer Vision career?

See the full Machine Learning Engineer roadmap — skills, tools, salary data, and typical timelines.

View Roadmap →