Introduction to image processing
- Lecturer: Daniel RACOCEANU (daniel.racoceanu@sorbonne-universite.fr)
- Course code: UM4RBI11-Image1
- Student workload: 14h of lectures, h of tutorials, 14h of labs
- Credits: 3 ECTS
- Specialization tracks:
- Semester offered: S1 S2 S3 S4
- Language of instruction: French English
- Targeted audience: Eng. Sc. department Other :
- Localization : PMC Campus Other :
Course Overview
The objective of this course is to train students in the essential techniques of image processing, with a presentation of the essential techniques of image processing. Introduction of basic machine learning methods (including deep learning) for image processing. At the end of this course, students will be able to understand and master the most important algorithms and methods in image processing, with the ability to find operational solutions for the applications/projects addressed.
Mots-clés : Image processing, convolution, median filter, Fourier transform, Gabor filters, outline, region, texture, patterns, segmentation, registration, image compression, image restoration, image enhancement, mathematical morphology, histogram, entropy, connexity, image classification, machine learning, deep learning, CNN, U-net, semantics, ontologies, latent space.
Prerequisites
Students should have previously acquired the following prerequisites to follow this course:
- Mathematics: Matrix representation of data, matrix equations
- Mathematics: statistics, histograms; elements of information theory, notion of entropy
- Mathematics: differential equations, partial differential equations; Fourier transform, Gabor filter
- Mathematics: set theory, discrete mathematics.
- Python programming (basic algorithms)
- (desirable) Pyhton image processing libraries (Pillow - extension of Python Imaging Library (PIL), OpenCV, scikit-image); Elements of artificial intelligence and machine learning. AI Python libraries (TensorFlow/Keras and PyTorch); Machine Learning Performance Evaluation Items (False-Positive, False-Negative, Recall, Accuracy, F1-score)
Intended Learning Outcomes
By the end of this course, students will be able to:
- Design: Algorithmic Foundations / Fomdamental Models in Image Processing
- Design: Understand the levels of problem-solving (pre-, low, high, semantic)
- Analysis: Analyze an image processing problem: define the specifications of an algorithm adapted to the task, the data and the material constraints.
- Implementation: Perform the processing defined in the design phase to optimize the parameters and meta parameters of the algorithm.
- Implementation: Master a high-level library (Python) dedicated to learning to implement the algorithm.
- Implementation: Prepare data for image processing
- Format the data: go from raw data to data that can be used by the image processing algorithm (pre-processing, dimensioning, homogenization)
- Standardize data
- Visualize data; Represent the distribution of data in a visualizable low-dimensional space
- Identify biases and hidden biases
- Partition the dataset for training, validation, and evaluation (if machine learning required)
- Implement dynamic data loading to minimize the memory space needed for training (dataloader)
- Evaluate the performance of the algorithm implemented. préparer
- Implementation: Perform the image processing defined in the design phase to optimize the parameters and meta parameters of the proposed algorithm
- Implementation: Use basic deep learning image processing tools
- Evaluation: Develop an adequate experimental protocol to solve an image processing problem
- Choose the appropriate fundamental model(s)
- Identify the appropriate resolution level (pre-, low, high)
- Prepare imaging data properly
- Implement the models
- Test and evaluate the models implemented
- Select the appropriate evaluation metrics for the task and data (bias)
- Evaluation: methods for evaluating the performance of a model/algorithm/program (ROC curve, F1 score, Jaccard index)
- Evaluation: bias checking methods
Indicative Teaching Sequence and Methods
| Week | C/TD/TP* | Content | Preparation | Learn.\ outc. |
|---|---|---|---|---|
| S1 | C1 | Fundamental models in image processing: 1) Linear model (convolution) and 2) Frequency model (Fourier, Gabor...) | Prerequisites 1,5 | AAV1,2 |
| S2 | C2 | Fundamental models in image processing: 3) Statistical model (histogram, entropy, etc.) and 4) Differential model | Prerequisites 2,3,4 | AAV1,2 |
| S3 | C3 | Fundamental models in image processing: 5) Ensemble model (mathematical morphology, etc.) and 6) Discrete model (mesh, connection, distance, etc.) | Prerequisites 6 | AAV1,2 |
| S4 | TP1 (3h) | Extraction of color components, generation of the image negative, conversion of colors to grayscale, conversion to sepia shades, contrast control via the tonal curve, thresholding, flipping, edge generation, relief, pixelation. Legibility, convolutional filtering, smoothing, sharpening, gradient, median filter, frequency filter, noise attenuation, image restoration (documents and photos). | Master the concepts covered in C1-C3. Prerequisites 8 | AAV3-7,9 |
| S5 | C4 | Image preprocessing methods (image restoration, enhancement and compression) | Master the concepts covered in C1-C3 | AAV1-3 |
| S6 | TP2 (3h) | Photo booth, image fusion, exact histogram equalization, all RGB, object measurements (industrial context), image-based object classification (industrial context). | Master the concepts covered in C1-C4. Prerequisites 8 | AAV3-7,9 |
| S7 | C5 | Low-level processing: contour (boundary) approach, region approach. | Prerequisites 4 | AAV1-3 |
| S8 | C6 | High-level processing: pattern search, data classification, shape, color, and texture attributes. | Master the concepts covered in C1-C3 | AAV1-3 |
| S9 | TP3 (3h) | Panoramic images, management of depth of field and blur in images, resizing an image while keeping its plausibility, focusing on the region of interest of the image. | Master the concepts covered in C1-C6. Prerequisites 8 | AAV3-7,9,10 |
| S10 | C7 | Classical and deep machine learning elements for image processing (U-net - segmentation, CNN - classification, etc.). Latent space, semantics, ontologies, in image processing. Assessment methods (ROC curve), editing, bias analysis | Prerequisites 9,10 | AAV1-11 |
| S11 | TP4 (3h) | Implementation of basic automatic/deep learning techniques for segmentation and classification; Establishment of a latent space, use of semantics and ontologies in image processing; Methodologies for evaluation/validation and bias checking. | Master the concepts covered in C7. Prerequisites 9.10 | AAV4-11 |
| S12 | Soutenances (2h) | Project Defense | Master the concepts covered in C1-C7. Prerequisites 8, 9,10 | AAV1-11 |
- C/TD/TP respectively corresponds to lectures, tutorials and lab sessions.
Sequence of the unit
The UE takes place in 3 successive sequences:
-
Sequence 1: fundamental models (C1-3 + TP1,2 + Quiz1)
-
Sequence 2: level of elaboration of solutions / algorithms (C4-7 + TP3,4 + Quiz 2)
-
Sequence 3: Machine learning elements for image processing + evaluation - bias (C7 + TP4 + Projects)
Projects (challenge or state-of-the-art methodological publication)
Evaluation / defense of projects (all the elements of practical application (Python) and written and oral synthesis
Indicative Assessment of Intended Learning Outcomes (1st session)
| Week | Individ./group | In-person/remote | Type of exam | Evaluated outcomes | Scale % |
|---|---|---|---|---|---|
| S6 | Collective | In-person | Written | AAV1 | 20% |
| S11 | Collective | In-person | Written | AAV1-3, 9-11 | 40% |
| S12 | Individual | Remote | Other | AAV1-11 | 40% |
2nde session
| Session | Individ./group | In-person/remote | Type of exam | Evaluated outcomes | Scale % |
|---|---|---|---|---|---|
| 2 | Collective | In-person | Quiz | AAV1-11 | 60% |
| 1 | Individual | Remote | Other | AAV1-11 | 40% |
Bibliographic references
- "Digital Image Processing" by Rafael C. Gonzalez and Richard E. Woods
- "Image Processing: The Fundamentals" by Maria Petrou and Costas Petrou
- "The Image Processing Handbook" by John C. Russ
- "Computer Vision: Algorithms and Applications" by Richard Szeliski
- "Deep Learning for Computer Vision: Expert Techniques" by Rajalingappaa Shanmugamani

