
Explore the foundations and modern applications of computer vision with OpenCV and PyTorch. Learn classical methods and deep learning for image and video analysis, detection, segmentation, and facial recognition.
Explain why computer vision is hard by comparing human vision with machines, outlining limitations like sensor noise, viewpoint and lighting changes, scaling, occlusion, clutter, and ambiguous images, plus antagonistic training.
Discover how digital images store color as per-pixel 0–255 RGB values in two-dimensional arrays, including grayscale and BGR formats in OpenCV, plus common raster formats.
download course resources, extract the zip, upload to google drive, and connect google colab to run OpenCV notebooks locally or in the cloud.
Explore getting started with OpenCV4 in Colab: import cv2, load and display images with matplotlib, understand BGR versus RGB color spaces, and save image outputs.
Convert a color image to grayscale using OpenCV, illustrating grayscale intensity on a 0–255 scale via BGR to gray conversion.
Explore color spaces by splitting an RGB image into its blue, green, and red channels, manipulating those components, and converting between RGB and HSV to visualize hue, saturation, and value.
Draw lines, rectangles, circles, and polygons on images and overlay text with adjustable font, size, color, and thickness using OpenCV.
Explore arithmetic and bitwise operations in OpenCV to adjust image brightness, perform matrix addition and subtraction with clipping, and apply masking using bitwise operators like and, or, not, and xor.
Apply thresholding and binarization to convert grayscale images to binary, using binary, binary inverse, truncation, zero, and zero inverse thresholds, with adaptive threshold and noise reduction.
Explore dilation, erosion, and edge detection, and learn how opening and closing combine these operations using kernels and iterations to reveal edges and contours.
Explore how contours delineate object boundaries in images, including drawing contours, hierarchy, and modes, and see how grayscale, thresholding, and external contour detection affect contour extraction for object recognition.
Explore contour analysis with canny edges, sort contours by area, compute moments to locate centers, sort left-to-right for OCR, approximate polygons, compute convex hulls, and match shapes to templates.
Learn to detect lines, circles, and blobs using edge maps and the Hough transform, including probabilistic Hough lines, circle radii, thresholds, and blob key points with SIFT/SURF references.
Explore counting circles and ellipses and locating Waldo in images through template matching with OpenCV, including blob detection, circularity filtering, and marking results.
Explore corner detection with the Harris detector in OpenCV, identifying local points where two edges meet. Tune block size, aperture, quality, and min distance, then draw rectangles around corners.
Master face and eye detection with Haar cascade classifiers in OpenCV, using grayscale images and DetectMultiScale, with webcam or Colab snapshots.
Explore vehicle and pedestrian detection using pre-trained cascade classifiers in Python, load and process videos in Colab, and learn to render bounding boxes and export video with OpenCV.
Explore perspective transforms to warp an angled image into a top-down view using OpenCV's getPerspectiveTransform. Extract the document contour via grayscale conversion, adaptive thresholding, and contour detection.
Explore histograms to analyze image brightness and color distributions, then apply k-means clustering to extract the five dominant colors and visualize color components.
Explore comparing images with mean squared error and structural similarity (SSIM), see how motion detection uses differences, and tune thresholds to distinguish similar from different images.
Explore color filtering in the HSV color space by using hue ranges and cv2.inRange to build masks, apply bitwise operations, and isolate blue regions while discussing red color ranges.
Explore the watershed algorithm for marker-based image segmentation by using distance transform, dilation, and connected components to separate touching coins and overlapping objects.
Explore background and foreground subtraction in OpenCV by comparing gaussian mixture background/foreground segmentation, adaptive Yorkshire mixed model, and related methods to produce crisp foreground masks from a walking video.
Explore motion tracking with mean shift and camshift algorithms, using HSV color space and back projection to track a moving object within video by iteratively updating a bounding window.
Explore object tracking with optical flow using Lucas–Kanade and dense methods in OpenCV. Create and tune feature points, corners, and color trails, then write and display tracked video.
Track objects by color with an HSV filter and contours in OpenCV, centering on a yellow object and drawing a history trail of its centers.
This lecture demonstrates extracting and plotting 68 facial landmarks on a face image using a dylib-loaded predictor and a frontal detector, then annotating the points on the image.
Explore face swapping with dlib facial landmarks, aligning and warping a source face onto a target image with color correction and gaussian blur for realism.
Explore tilt shift effects that create a miniaturized look by selectively blurring areas while keeping the focal region sharp. Learn to implement this with Gaussian pyramids and mask-based image blending.
Explore the GrabCut algorithm for background removal, defining a foreground box and separating foreground from background using Gaussian mixture models and a minimum cut, with OpenCV demonstrations.
Explore optical character recognition with Tesseract and EasyOCR, including installation, image preprocessing, and post-processing to extract text, generate bounding boxes, and compare performance on receipts and real-world scans.
Generate barcodes and QR codes with specialized libraries, configure error correction, and read codes from images, including bounding box visualization, then introduce object detection with YOLO and OpenCV.
Learn to load a YOLO model in OpenCV, using darknet weights, perform a forward pass on image blobs, apply non-maximum suppression, and draw bounding boxes for detected objects.
Apply neural style transfer with OpenCV to blend a content image with an artistic style image using deep learning. Improve speed with instance normalization and apply the method to video.
Explore single shot detectors in OpenCV using a MobileNet-backed SSD and TensorFlow object detection to run on CPU, trained on a 90-class dataset, with non maximal suppression for efficient detections.
Colorize black and white photos with a pre-trained caffe model in OpenCV, using a feedforward cnn that treats colorization as classification and evaluates results against ground truth.
Learn how to restore damaged photos with OpenCV inpaint, create masks with dilation and thresholding, and improve image quality using histogram equalization.
Learn how to add and remove noise in images and improve contrast through histogram equalization using OpenCV, including grayscale and color image considerations and practical parameter exploration.
Learn to detect blur in images by measuring edge presence using convolution and image variance. Explore practical examples, grayscale processing, and applications like license plate OCR and facial recognition.
Learn facial recognition with the face recognition library: install, load images, encode faces, compare unknown images to a small database, and label results in video frames using bounding boxes.
Capture live webcam video with OpenCV, apply a sketch-like effect using grayscale, Gaussian blur, canny edges, and inverse threshold to render a live sketch of yourself.
Open video files with OpenCV, read frames in a loop, and exit when frames finish or the user presses Q; inspect video properties like resolution and fps.
Save and record videos in OpenCV using the video writer, selecting MPEG codec, output file, frame rate, width, height, and grayscale flag for cloud review in Colab.
Develop and test an auto reconnect video capture class that monitors a video stream and automatically reconnects when the feed drops, keeping OpenCV VideoCapture streams reliable.
Capture video via desktop screenshots with a screenshot grabber, using full screen or a bounding-box region to process streams like YouTube or Twitch.
Import YouTube videos into OpenCV using Puffy to load the highest quality streams, capture frames, and analyze video metadata for computer vision tasks.
Welcome to Modern Computer Vision Tensorflow, Keras & PyTorch! 2025
AI and Deep Learning are transforming industries and one of the most intriguing parts of this AI revolution is in Computer Vision!
Update for 2025: Modern Computer Vision Course
We're excited to bring you the latest updates for our 2024 modern computer vision course. Dive into an enriched curriculum covering the most advanced and relevant topics in the field:
YOLOv8: Cutting-edge Object Recognition
DINO-GPT4V: Next-Gen Vision Models
Meta CLIP for Enhanced Image Analysis
Detectron2 for Object Detection
Segment Anything
Face Recognition Technologies
Generative AI Networks for Creative Imaging
Transformers in Computer Vision
Deploying & Productionizing Vision Models
Diffusion Models for Image Processing
Image Generation and Its Applications
Annotation Strategy for Efficient Learning
Retrieval Augmented Generation (RAG)
Zero-Shot Classifiers for Versatile Applications
Using Roboflow: Streamlining Vision Workflows
What is Computer Vision?
But what exactly is Computer Vision and why is it so exciting? Well, what if Computers could understand what they’re seeing through cameras or in images? The applications for such technology are endless from medical imaging, military, self-driving cars, security monitoring, analysis, safety, farming, industry, and manufacturing! The list is endless.
Job demand for Computer Vision workers are skyrocketing and it’s common that experts in the field are making USD $200,000 and more salaries. However, getting started in this field isn’t easy. There’s an overload of information, many of which is outdated, and a plethora of tutorials that neglect to teach the foundations. Beginners thus have no idea where to start.
This course aims to solve all of that!
Taught using Google Colab Notebooks (no messy installs, all code works straight away)
27+ Hours of up-to-date and relevant Computer Vision theory with example code
Taught using both PyTorch and Tensorflow Keras!
In this course, you will learn the essential very foundations of Computer Vision, Classical Computer Vision (using OpenCV) I then move on to Deep Learning where we build our foundational knowledge of CNNs and learn all about the following topics:
Computer vision applications involving Deep Learning are booming!
Having Machines that can see will change our world and revolutionize almost every industry out there. Machines or robots that can see will be able to:
Perform surgery and accurately analyze and diagnose you from medical scans.
Enable self-driving cars
Radically change robots allowing us to build robots that can cook, clean, and assist us with almost any task
Understand what's being seen in CCTV surveillance videos thus performing security, traffic management, and a host of other services
Create Art with amazing Neural Style Transfers and other innovative types of image generation
Simulate many tasks such as Aging faces, modifying live video feeds, and realistically replacing actors in films
Detailed OpenCV Guide covering:
Image Operations and Manipulations
Contours and Segmentation
Simple Object Detection and Tracking
Facial Landmarks, Recognition and Face Swaps
OpenCV implementations of Neural Style Transfer, YOLOv3, SSDs and a black and white image colorizer
Working with Video and Video Streams
Our Comprehensive Deep Learning Syllabus includes:
Classification with CNNs
Detailed overview of CNN Analysis, Visualizing performance, Advanced CNNs techniques
Transfer Learning and Fine Tuning
Generative Adversarial Networks - CycleGAN, ArcaneGAN, SuperResolution, StyleGAN
Autoencoders
Neural Style Transfer and Google DeepDream
Modern CNN Architectures including Vision Transformers (ResNets, DenseNets, MobileNET, VGG19, InceptionV3, EfficientNET and ViTs)
Siamese Networks for image similarity
Facial Recognition (Age, Gender, Emotion, Ethnicity)
PyTorch Lightning
Object Detection with YOLOv5 and v4, EfficientDetect, SSDs, Faster R-CNNs,
Deep Segmentation - MaskCNN, U-NET, SegNET, and DeepLabV3
Tracking with DeepSORT
Deep Fake Generation
Video Classification
Optical Character Recognition (OCR)
Image Captioning
3D Computer Vision using Point Cloud Data
Medical Imaging - X-Ray analysis and CT-Scans
Depth Estimation
Making a Computer Vision API with Flask
And so much more
This is a comprehensive course, is broken up into two (2) main sections. This first is a detailed OpenCV (Classical Computer Vision tutorial) and the second is a detailed Deep Learning
This course is filled with fun and cool projects including these Classical Computer Vision Projects:
Sorting contours by size, location, using them for shape matching
Finding Waldo
Perspective Transforms (CamScanner)
Image Similarity
K-Means clustering for image colors
Motion tracking with MeanShift and CAMShift
Optical Flow
Facial Landmark Detection with Dlib
Face Swaps
QR Code and Barcode Reaching
Background removal
Text Detection
OCR with PyTesseract and EasyOCR
Colourize Black and White Photos
Computational Photography with inpainting and Noise Removal
Create a Sketch of yourself using Edge Detection
RTSP and IP Streams
Capturing Screenshots as video
Import Youtube videos directly
Deep Learning Computer Vision Projects:
PyTorch & Keras CNN Tutorial MNIST
PyTorch & Keras Misclassifications and Model Performance Analysis
PyTorch & Keras Fashion-MNIST with and without Regularisation
CNN Visualisation - Filter and Filter Activation Visualisation
CNN Visualisation Filter and Class Maximisation
CNN Visualisation GradCAM GradCAMplusplus and FasterScoreCAM
Replicating LeNet and AlexNet in Tensorflow2.0 using Keras
PyTorch & Keras Pretrained Models - 1 - VGG16, ResNet, Inceptionv3, MobileNetv2, SqueezeNet, WideResNet, DenseNet201, MobileMNASNet, EfficientNet and MNASNet
Rank-1 and Rank-5 Accuracy
PyTorch and Keras Cats vs Dogs PyTorch - Train with your own data
PyTorch Lightning Tutorial - Batch and LR Selection, Tensorboards, Callbacks, mGPU, TPU and more
PyTorch Lightning - Transfer Learning
PyTorch and Keras Transfer Learning and Fine Tuning
PyTorch & Keras Using CNN's as a Feature Extractor
PyTorch & Keras - Google Deep Dream
PyTorch Keras - Neural Style Transfer + TF-HUB Models
PyTorch & Keras Autoencoders using the Fashion-MNIST Dataset
PyTorch & Keras - Generative Adversarial Networks - DCGAN - MNIST
Keras - Super Resolution SRGAN
Project - Generate_Anime_with_StyleGAN
CycleGAN - Turn Horses into Zebras
ArcaneGAN inference
PyTorch & Keras Siamese Networks
Facial Recognition with VGGFace in Keras
PyTorch Facial Similarity with FaceNet
DeepFace - Age, Gender, Expression, Headpose and Recognition
Object Detection - Gun, Pistol Detector - Scaled-YOLOv4
Object Detection - Mask Detection - TensorFlow Object Detection - MobileNetV2 SSD
Object Detection - Sign Language Detection - TFODAPI - EfficientDetD0-D7
Object Detection - Pot Hole Detection with TinyYOLOv4
Object Detection - Mushroom Type Object Detection - Detectron 2
Object Detection - Website Screenshot Region Detection - YOLOv4-Darknet
Object Detection - Drone Maritime Detector - Tensorflow Object Detection Faster R-CNN
Object Detection - Chess Pieces Detection - YOLOv3 PyTorch
Object Detection - Hardhat Detection for Construction sites - EfficientDet-v2
Object DetectionBlood Cell Object Detection - YOLOv5
Object DetectionPlant Doctor Object Detection - YOLOv5
Image Segmentation - Keras, U-Net and SegNet
DeepLabV3 - PyTorch_Vision_Deeplabv3
Mask R-CNN Demo
Detectron2 - Mask R-CNN
Train a Mask R-CNN - Shapes
Yolov5 DeepSort Pytorch tutorial
DeepFakes - first-order-model-demo
Vision Transformer Tutorial PyTorch
Vision Transformer Classifier in Keras
Image Classification using BigTransfer (BiT)
Depth Estimation with Keras
Image Similarity Search using Metric Learning with Keras
Image Captioning with Keras
Video Classification with a CNN-RNN Architecture with Keras
Video Classification with Transformers with Keras
Point Cloud Classification - PointNet
Point Cloud Segmentation with PointNet
3D Image Classification CT-Scan
X-ray Pneumonia Classification using TPUs
Low Light Image Enhancement using MIRNet
Captcha OCR Cracker
Flask Rest API - Server and Flask Web App
Detectron2 - BodyPose