This course provides a practical introduction to building deep-learning computer-vision systems using Python and C++. It is designed for learners who want to progress from image-processing fundamentals to production-oriented vision applications.
You will begin by understanding how digital images are represented and processed. Topics include image loading, resizing, colour spaces, filtering, thresholding, edge detection, contours, geometric transformations, augmentation, and feature extraction using OpenCV.
The course then introduces neural networks and convolutional neural networks. You will study convolution, pooling, activation functions, loss functions, optimizers, backpropagation, regularisation, batch normalisation, and training workflows. You will learn to design, train, evaluate, and improve image-classification models.
As the course advances, you will explore transfer learning, object detection, image segmentation, and object tracking. Practical exercises demonstrate how modern vision systems recognise objects, locate them within images, separate semantic regions, and process video streams.
Python will be used for experimentation, dataset preparation, model training, and evaluation. C++ will be introduced for performance-sensitive inference, OpenCV integration, memory-conscious processing, and deployment in real-time or embedded environments.
You will also learn to analyse confusion matrices, precision, recall, intersection over union, mean average precision, inference latency, and model size. Optimisation topics include model export, quantisation concepts, batching, and efficient preprocessing.
By the end of the course, you will have built an end-to-end computer-vision project and developed the ability to move a trained model from experimentation toward reliable real-world inference.