Image Processing Methods

Digital Image Processing (DIP) is at the heart of countless innovations and applications that shape our daily lives.
From enhancing the clarity of medical images to enabling advanced features in cameras and smartphones, the algorithms behind these processes play a critical role.
By mastering Digital Image Processing, you gain the ability to transform raw visual data into meaningful and actionable information.

Image Processing is the basis for most vision related systems across industries: Medical, Defense, Production, Sports, etc.
Classic Image Processing is still the way to go in many low level algorithms or implementations on edge devices.

This course teaches advanced and effective methods in Image Processing.

Overview

Digital Image Processing Algorithms: Unveiling the Power of Pixels.
This course dives into the essential techniques and algorithms that form the foundation of modern image processing.
It focuses on learning methods and algorithms both by intuition and by implementation.
The course is based on Hands On approach, learning by exercising on Jupyter Notebooks.

The course:
${\color{lime}\surd}$ Covers the main methods of image processing: Point Wise Operations, Spatial Operations, Image Enhancement, Image analysis, Image Restoration and Geometric Image Processing.
${\color{lime}\surd}$ In depth view of the algorithms accompanied by a detailed code implementation.
${\color{lime}\surd}$ Introduces Edge Preserving Smoothing in depth. Including methods to apply them on large images.
${\color{lime}\surd}$ The course is accompanied by more than 20 notebooks given in a dedicated GitHub repository.

Main Topics

Structure of Digital Image Structure, Imaging Chain, Noise Model
Point Operations Pixel Mapping, Histogram, LUT
Spatial and Frequency Domain Linear & Non Linear Filters, Convolution, Resampling
Optimization, Estimation, Probabilistic Models Advanced modeling of Image Processing
Image Smoothing Blurring, Edge Preserving Filters, Variational Models
Image Restoration & Enhancement Sharpening, Denoising, Deblurring
Image Analysis Edge Detection, Shape Detection, Multi Scale Analysis
Image Segmentation Thresholding, Masking, Super Pixels, Image Matting
Image Restoration Model, Optimization Essentials, Denoising, Deblurring
Feature Based Processing Feature Extraction, Object Tracking, Patch / Image Registration

Goals

  • The participants will be able to describe the structure of a digital image.
  • The participants will be able to describe the pipeline of generating a digital image.
  • The participants will be able to implement point operations.
  • The participants will be able to implement spatial operations.
  • The participants will be able to implement image enhancement, image restoration and image analysis algorithms.

Pre Built Syllabus

We have been given this course in various lengths, targeting different audiences. The final syllabus will be decided and customized according to audience, allowed time and other needs.

Day Subject Details
1 Course Overview Motivation, Agenda, Notations
Scientific Python NumPy, SciPy, Numba
Notebook 001 NumPy Arrays
Notebook 002 Numba and JIT Acceleration
Notebook 003 SciPy
Digital Image Structure Function Model, Color, Imaging Pipeline
Python Image Processing Eco System OpenCV, Pillow, SciKit Image
Point Wise Operations Mapping, Histogram (Equalization, Transform), Color Spaces, Color to Gray
Notebook 004 Color Space Transformations
Notebook 005 Color to Gray by Optimization
2 Spatial Operations Linear, Non Linear, Shift Invariant, Blurring, Edge Preserving Blur, Interpolation
Notebook 006 Gaussian Blur by Box Blur
Notebook 007 Edge Preserving Smoothing: Bilateral Filter, Guided Filter
Notebook 008 Edge Preserving Smoothing: Weighted Least Squares Filter, Piece Wise Constant Model
Frequency Domain The DFT, 2D DFT, Periodic Noise, Resampling in Frequency Domain, The DCT Transform (KLT Approximation)
Notebook 009 The DFT
Notebook 010 Efficient Resampling by the DFT
3 Quantization Sample Quantization, Dithering, Vector Quantization (Lloyd Algorithm, K-Means)
Notebook 011 Color Quantization by K-Means
Image Segmentation Thresholding (Global, Local), Masking, Texture Segmentation (Variance, Entropy), Super Pixels, Variational Methods
Notebook 012 Thresholding: Local and Global
Notebook 013 Super Pixels
Image Matting Concept, Graphs in Image Processing, Probablistic Model, Matting by Optimization
Notebook 014 Image Matting
4 Image Analysis Edge Detection, Shape Detection, Multi Scale Image Analysis, Content Aware Image Resizing
Notebook 015 Edge and Shape Detection
Notebook 016 Seam Caring for Content Aware Resizing by Dynamic Programming
Image Enhancement Contrast Enhancement, Details Enhancement, Color Enhancement, Color Transfer
Notebook 017 Local Contrast and Details Enhancement
Notebook 018 Multi Scale Image Sharpener
Notebook 019 Recoloring of Image
5 Image Restoration Intro to Estimation (ML, MAP), Intro to Optimization, Denoising, Deblurring
Notebook 020 Non Local Means Denoiser
Notebook 021 Total Variation based Deblurring
Feature based Image Processing Feature Detectors, Feature Descriptors, Object Tracking, Image / Patch Registration
Notebook 022 Corner Detector
Notebook 023 Multi Scale Optical Flow for Object Detection
Notebook 024 Football (Soccer) Fields Image Registration

Some of the notebooks are in the form of guided and interactive exercises.

The days are a crude partitioning. In practice some subjects will take more than a day and some less.

Audience

Algorithm / Software Engineers in the Image Processing, Computer Vision, Deep Learning fields.

Prerequisites

  • Mathematical: Linear Algebra (Basic), Probability / Statistics (Basic).
  • Programming: Python / MATLAB / Julia.

In any case any of the prerequisites are not met, we can offer a half day sprint on: Linear Algebra, Calculus, Probability and Python.