
Set up Windows environment for computer vision by installing Python 3.8.10 and VSCode, cloning the repo, downloading data, configuring Git and Python path, and creating a virtual environment with requirements.
Explore computer vision fundamentals by examining how images form from camera sensors, what constitutes an image, and the three common types—grayscale, binary, and RGB—along with pixel depth and resolution.
Explore reading and writing images and videos with OpenCV in Python, including displaying images, converting to grayscale, and saving processed videos.
Learn practical image manipulation in OpenCV with NumPy and Python, including creating zeros and ones, cropping, masking, and visualizing edits with montages.
Learn essential OpenCV functions for image processing: select region of interest to crop and convert color from BGR to grayscale or other spaces for color segmentation.
Explore interactive trackbars in OpenCV to adjust BGR and alpha channels in real-time, use for debugging, visualize channel offsets and transparency on a sample image.
Explore interactive computer vision with OpenCV mouse events to scroll through directory images using a custom image viewer, guided by glob loading of pngs and on-screen navigation arrows.
Explore geometric transformations in image processing, including perspective and affine transformations, and learn how translation, scaling, rotation, and shearing relocate pixels rather than intensities in projective space.
Apply image transformations on a binary image with a centered rectangle in OpenCV, including scaling, translation, rotation, affine and perspective transforms, with contour-derived points.
Explore image filtering using convolution with kernels, covering blurring, edge detection with Sobel and Laplacian, and linear versus nonlinear filters such as averaging and median for denoising.
Master image filtering, noise reduction, and edge detection with OpenCV in Python, using box, Gaussian, and median filters, and Sobel, Laplacian, and Canny detectors with interactive thresholding and trackbars.
Explore image segmentation in computer vision by examining thresholding, edge-based methods like canny, region-based techniques such as region growing and watershed, and color segmentation using hue, lightness, and saturation.
Explore image segmentation in OpenCV with thresholding (binary, otsu, adaptive mean and gaussian), color and edge methods, interactive tuning, and k-means clustering on sample images.
Explore how contours derived from binary images enable separating nested objects and extracting shape information with OpenCV, including moments, contour approximation, convex hull, and convexity defects.
Extract and display image contours using canny edges, then analyze contour hierarchy and features such as centroids, approximations, convex hulls, and orientation.
Explore the theory behind image features and keypoints, including corners and descriptors, with Harris corner detector insights, invariance, and the relationship between SSD, covariance, and eigenvalues.
Extract and visualize image keypoints using the Harris corner detector and the Cheetham detector (good features to track) in a grayscale pipeline, preparing data for subsequent descriptors.
Explore image features and descriptors with Sift, covering scale-space, difference-of-gaussian, keypoint localization, and 128-dimensional descriptors for matching. Apply to homography estimation, image mosaicking, 2D to 3D reconstruction, and image registration.
Explore feature extraction and visualization of image features in OpenCV, extracting keypoints and descriptors with SIFT and ORB, and compare Harris corner detection to these methods.
Explore how sift features enable robust feature matching and homography estimation using brute-force matching and the ratio test in OpenCV, with practical object detection demonstrations.
Learn object detection by localizing and classifying objects in images or videos, using techniques from Haar cascades to YOLO, with applications in self-driving cars and security.
Explore the haarcascade object detection algorithm, from simple features to integral images, Adaboost, and cascading, and understand why it remains fast and reliable on weaker platforms, including face detection.
Train a custom haar cascade for traffic light detection using frames from videos, positive/negative data, and OpenCV 3.4 in Colab; compare annotated versus augmented data for robust self-driving car detection.
Detect traffic lights with Haarcascade by loading a cascade and running detection on dashcam frames. Convert images to grayscale, apply multi-scale detection, and draw bounding boxes for detected lights.
Compare Haarcascade limitations to deep learning's automatic feature selection and study YOLO as a one-stage detector using a grid, bounding boxes, IOU, NMS, and anchor boxes for multiple object detection.
Learn to implement YOLO object detection in OpenCV using the dnn module by loading the model config, weights, and coco names, then detect and display objects.
Train a custom object detector by transfer learning with YOLO v7 tiny on a soccer dataset using Darknet in Colab, including dataset preparation, config tweaks, and evaluation.
Track objects across video frames by identifying targets, assigning unique identifiers, and using motion or appearance models; distinguish single and multiple object tracking and note speed advantages.
Compare OpenCV correlation filter trackers, including adaptive and kernelized methods and discriminative variants, and outline accuracy, speed, occlusion handling, and failure recovery.
Explore testing OpenCV sort tracking algorithms—Glacier CSD and Mosaic—by building a tracking class, initializing and updating the CSR tracker, selecting regions of interest, and comparing performance on videos.
Master multiple object tracking by detecting all objects, assigning unique IDs, and tracking them across frames, while handling occlusion with a motion model and the OpenCV multitracker.
Learn how DeepSort extends sort by combining motion models with appearance features to achieve real-time multi-object tracking using YOLO detections, Kalman filtering, and deep association metrics.
Set up deepsort with YOLO v3 on Windows 10 and Colab, run real-time multi-object tracking, and tune hyperparameters to analyze surveillance-style movement and focus on suspicious individuals.
Explore the five major stages and three minor stages of the Deepsort algorithm, from pre-processing and detection with non-maximum suppression to Kalman filter estimation, association, and track lifecycle updates.
Tune deepsort hyperparameters, including input and output cameras, yolo v5, and deepsort, to optimize surveillance-style real-time object tracking performance.
Build a live surveillance system using deepsort to count people, display trajectories, and focus on suspicious individuals in live CCTV footage, with on-screen counts in the top right.
Display trajectories by extracting centroids from bounding boxes, storing current and previous positions per track in a queue, and drawing trajectories on a fixed mask before overlay.
Focus on a suspicious individual by selecting a point in the graphical user interface to define a bounding box and track id, then save data to a csv with timestamps.
Explore image recognition and facial recognition by detecting and aligning faces, extracting features, and matching them against a database with OpenCV algorithms and deep learning, highlighting real-world applications.
Compare eigenfaces, fisher faces (LDA), and local binary patterns in OpenCV for face recognition, detailing PCA versus LDA dimensionality reduction, illumination robustness, and real-time performance to build an attendance system.
Develop an OpenCV 4.4 face recognition wrapper that trains with a dataset, detects faces with a Haar cascade, crops and converts to grayscale, and predicts labeled faces for display.
Develop a live attendance system that uses a face recognition wrapper to mark presence from camera frames, updating a daily attendance sheet and the Pandas-powered CSV.
Implement a live attendance system using a trained face recognizer and OpenCV. Train, prepare daily attendance sheets with pandas, and mark present values in a CSV based on predictions.
Develop a secure access system by building a live face detection, tracking, and recognition pipeline with OpenCV and Python, using hog-based detection, downscaling for speed, and a standalone executable.
Explore how tracking using OpenCV's multi tracker enhances face localization by leveraging prior position and motion to speed up processing, maintain identity, and handle occlusion in secure access applications.
Align faces using 68 landmarks for consistent orientation, then encode each face into 128-dim embeddings with a single call to face encodings, enabling recognition in milliseconds.
Match face encodings against known embeddings using euclidean distance and the compare faces and face distance functions with a 0.6 threshold to identify authorized individuals.
Leverage multiprocessing with concurrent.futures to run face recognition in a separate process, keeping real-time tracking at 33 fps while updating identities and securing access.
This course is your ultimate guide for entering into the realm of Computer Vision. We will start from the very basics i.e Image Formation and Characteristics, Perform basic image processing (Read/Write Image & Video + Image Manipulation), make CV applications interactive using Trackbars and Mouse events, build your skillset with Computer Vision techniques (Segmentation, Filtering & Features) before finally Mastering Advanced Computer Vision Topics i.e Object Detection, Tracking, and recognition.
Right at the end, we will develop a complete end-to-end Visual Authorization System (Secure Access).
The course is structured with below main headings.
Computer Vision Fundamentals
Image Processing Basics (Coding)
CV-101 (Theory + Coding)
Advanced [Detecion] (Theory + Coding)
Advanced [Tracking] (Theory + Coding)
Project: PeopleTrackr ( Crowd Monitoring System )
Advanced [Recognition] (Theory + Coding)
Project: EasyAttend ( Live Attendance System )
Project: Secure Access (End-to-end project development & deployment)
Goodbye
From Basics to Advanced, each topic will accompany a coding session along with theory. Programming assignments are also available for testing your knowledge. Python Object Oriented programming practices will be utilized for better development.
Learning Outcomes
- Computer Vision
Read/Write Image & Video + Image Manipulation
Interactive CV applications with Trackbars & MouseEvents
Learn CV Techniques i.e (Transformation, Filtering, Segmentation, and Features)
Understand, train, and deploy advanced topics i.e (Object Detection, Tracking, and Recognition)
Test your knowledge by completing assignments with each topic.
[Project-1] PeopleTrackr: Crowd Monitoring System
[Project-2] EasyAttend: Live attendance System for Classrooms and offices.
[Final-Project] Secure Access: End-to-end Visual Authorization System for your Computer.
- Algorithms
Facial recognition algorithms like LBP and Dlib-Implementation
LBP (Fast-Less accurate)
Dlib-Implementation (Slow-Accurate)
Single Object Trackers
CSRT, KCF
Multiple Object Trackers
DeepSort (Slow-Accurate)
Object Detection
Haar Cascades (Fast-Less accurate)
YoloV3 (Slow-Accurate)
Computer Vision Techniques
Sift | Orb Feature Matching
Canny Edge detection
Binary, Otsu, and Adaptive Thresholding
Kmeans Segmentation
Convex hull Approximation
Pre-Course Requirments
Software Based
OpenCV4
Python
Skill Based
Basic Python Programming
Motivated mind :)
All the codes for reference are available on the GitHub repository of this course.
Get a good idea by going through all of our free previews available and feel free to contact us in case of any confusion :)