La Vision par Ordinateur
Géométrie, Calibration, Reconstruction 3D et Analyse de
Texture
L. ABADA
Basé sur le cours de Pr. Saliha AOUAT
Université des Sciences et de la Technologie
Houari Boumediene
Faculté d’Électronique et d’Informatique
Département d’Informatique
Master 2 : Systèmes Informatiques Intelligents
1er janvier 2026
2
Table des matières
1 Introduction à la Vision par Ordinateur 7
1.1 La Vision Humaine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.1 Fonctionnement de l’Œil Humain . . . . . . . . . . . . . . . . . . . 7
1.1.2 Perception et Interprétation . . . . . . . . . . . . . . . . . . . . . . 7
1.1.3 De la Vision Humaine à la Vision Artificielle . . . . . . . . . . . . . 7
1.2 La Vision par Ordinateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.2 Fonctionnement d’un Système de Vision . . . . . . . . . . . . . . . 8
1.3 Histoire de la Vision par Ordinateur . . . . . . . . . . . . . . . . . . . . . . 8
1.3.1 Années 1970 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.2 Années 1980 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.3 Années 1990 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.4 Années 2000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.5 Années 2010 et Au-delà . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4 Description d’un Système de Vision . . . . . . . . . . . . . . . . . . . . . . 9
1.4.1 Catégories de Systèmes . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.2 Systèmes Actifs vs Passifs . . . . . . . . . . . . . . . . . . . . . . . 10
1.5 Modèle de David Marr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5.1 Les Trois Niveaux du Modèle de Marr . . . . . . . . . . . . . . . . 10
1.6 Domaines d’Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.6.1 Reconnaissance et Lecture Automatique . . . . . . . . . . . . . . . 11
1.6.2 Inspection et Contrôle Qualité . . . . . . . . . . . . . . . . . . . . . 11
1.6.3 Médical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6.4 Véhicules Autonomes . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6.5 Reconstruction 3D et Animation . . . . . . . . . . . . . . . . . . . 11
1.6.6 Surveillance et Sécurité . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6.7 Télédétection et Synthèse d’Images . . . . . . . . . . . . . . . . . . 11
1.7 La Réalité Virtuelle et Augmentée . . . . . . . . . . . . . . . . . . . . . . . 12
1.7.1 La Réalité Virtuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.7.2 La Réalité Augmentée . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.7.3 Continuum Réalité-Virtualité . . . . . . . . . . . . . . . . . . . . . 12
1.8 Vision Cognitive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.8.1 Nouveau Sous-domaine . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.8.2 Défis et Particularités . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.8.3 Illusions Visuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3
4 TABLE DES MATIÈRES
2 Techniques de Base de Traitement de l’Image 15
2.1 Définition et Représentation de l’Image . . . . . . . . . . . . . . . . . . . . 15
2.1.1 Qu’est-ce qu’une Image ? . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.2 Types d’Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.3 Perception Humaine des Couleurs . . . . . . . . . . . . . . . . . . . 15
2.2 Acquisition d’Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.1 Capteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3 Numérisation d’un Signal Analogique . . . . . . . . . . . . . . . . . . . . . 16
2.3.1 Échantillonnage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.2 Quantification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.3 Image Numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4 Histogramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4.2 Étirement d’Histogramme . . . . . . . . . . . . . . . . . . . . . . . 17
2.5 Opérations sur les Images . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.5.1 La Convolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.6 Le Bruit dans une Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.6.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.7 Le Filtrage d’une Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.7.1 Types de Filtres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.7.2 Filtres Linéaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.7.3 Filtres Non Linéaires . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.8 La Détection de Contours . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.8.1 Méthodes Différentielles . . . . . . . . . . . . . . . . . . . . . . . . 19
2.9 Seuillage des Contours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.9.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.9.2 Types de Seuils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.9.3 Problème du Choix du Seuil . . . . . . . . . . . . . . . . . . . . . . 21
2.9.4 Seuillage par Hystérésis . . . . . . . . . . . . . . . . . . . . . . . . 21
2.10 Suivi et Chaînage de Contours . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.10.1 Suivi de Contours . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.10.2 Chaînage de Contours . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.11 Segmentation d’Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.11.1 Segmentation de Contours . . . . . . . . . . . . . . . . . . . . . . . 22
2.11.2 Transformée de Hough . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.11.3 Segmentation d’Images en Régions . . . . . . . . . . . . . . . . . . 23
3 Géométrie, Calibration et Mathématique Projective 25
3.1 Transformations 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.1 Symétrie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.2 Rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.1.3 Autres Transformations . . . . . . . . . . . . . . . . . . . . . . . . 26
3.1.4 Composition de Transformations . . . . . . . . . . . . . . . . . . . 26
3.2 Transformations 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.1 Changement d’Échelle 3D . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.2 Translation 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.3 Rotations 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.4 Composition de Transformations 3D . . . . . . . . . . . . . . . . . 27
TABLE DES MATIÈRES 5
3.3 Coordonnées Homogènes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.3.1 Coordonnées Homogènes en 2D (P2 ) . . . . . . . . . . . . . . . . . 27
3.3.2 Coordonnées Homogènes en 3D (P3 ) . . . . . . . . . . . . . . . . . 28
3.4 Le Modèle Géométrique d’une Caméra . . . . . . . . . . . . . . . . . . . . 28
3.4.1 Modèle de Sténopé (Pinhole) . . . . . . . . . . . . . . . . . . . . . . 28
3.5 Calibration et Stéréovision . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.5.1 Les Trois Transformations . . . . . . . . . . . . . . . . . . . . . . . 29
3.5.2 Modèle Sténopé Complet . . . . . . . . . . . . . . . . . . . . . . . . 30
3.5.3 Matrice des Paramètres Intrinsèques . . . . . . . . . . . . . . . . . 30
3.5.4 Paramètres de la Caméra . . . . . . . . . . . . . . . . . . . . . . . . 30
3.5.5 Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.5.6 Matrice de Distorsion . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.6 Stéréovision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.6.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.6.2 Configuration Stéréoscopique . . . . . . . . . . . . . . . . . . . . . 31
3.6.3 Projections 3D vers 2D . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.6.4 Reconstruction 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.6.5 Disparité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.6.6 Calibrage Stéréoscopique . . . . . . . . . . . . . . . . . . . . . . . . 32
3.6.7 Auto-calibrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.6.8 Conversion 2D vers 3D . . . . . . . . . . . . . . . . . . . . . . . . . 32
4 Reconstruction 3D Photométrique 33
4.1 Le Modèle Photométrique . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.1.1 Équation de Formation d’Image . . . . . . . . . . . . . . . . . . . . 33
4.1.2 Contraintes et Simplifications . . . . . . . . . . . . . . . . . . . . . 33
4.2 Relation entre Image et Géométrie 3D . . . . . . . . . . . . . . . . . . . . 34
4.2.1 Vecteurs Normaux et Éclairement . . . . . . . . . . . . . . . . . . . 34
4.2.2 Propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.2.3 Relation Image-Profondeur . . . . . . . . . . . . . . . . . . . . . . . 34
4.3 Reconstruction 3D Photométrique . . . . . . . . . . . . . . . . . . . . . . . 34
4.3.1 Problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.3.2 Shape From Shading (SfS) . . . . . . . . . . . . . . . . . . . . . . . 35
4.3.3 Stéréo Photométrique (PS) . . . . . . . . . . . . . . . . . . . . . . . 35
4.3.4 Solution : Calcul des Normales . . . . . . . . . . . . . . . . . . . . . 35
4.4 Intégration du Champ de Normales . . . . . . . . . . . . . . . . . . . . . . 36
4.4.1 Normalisation des Vecteurs . . . . . . . . . . . . . . . . . . . . . . 36
4.4.2 Relation Normale-Gradient . . . . . . . . . . . . . . . . . . . . . . . 36
4.4.3 Intégration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.5 Affichage des Normales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5 La Texture en Vision par Ordinateur 39
5.1 Définition de la Texture . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.1.1 Concepts de Base . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.1.2 Définition Formelle . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.1.3 Histogramme et Texture . . . . . . . . . . . . . . . . . . . . . . . . 39
5.2 Types de Textures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.2.1 Texture Périodique . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.2.2 Texture Aléatoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6 TABLE DES MATIÈRES
5.3 Importance de la Texture . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.3.1 Pourquoi s’Intéresser à la Texture ? . . . . . . . . . . . . . . . . . . 40
5.3.2 Domaines d’Application . . . . . . . . . . . . . . . . . . . . . . . . 40
5.4 Analyse de la Texture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.4.1 Principaux Problèmes . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.4.2 Objectif de l’Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.4.3 Contexte et Interprétation . . . . . . . . . . . . . . . . . . . . . . . 41
5.5 Méthodes d’Analyse de la Texture . . . . . . . . . . . . . . . . . . . . . . . 41
5.5.1 Méthodes Statistiques . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.5.2 Méthodes Structurelles . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.5.3 Méthodes Fréquentielles . . . . . . . . . . . . . . . . . . . . . . . . 44
Conclusion 45
Notations et Symboles 47
.1 Notations Mathématiques . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
.2 Variables et Paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Références et Bibliographie 49
Exercices et Travaux Pratiques 53
.3 Chapitre 1 : Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
.3.1 Questions de Réflexion . . . . . . . . . . . . . . . . . . . . . . . . . 53
.4 Chapitre 2 : Traitement d’Image . . . . . . . . . . . . . . . . . . . . . . . . 53
.4.1 Exercices Pratiques . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
.4.2 Travaux Pratiques . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
.5 Chapitre 3 : Géométrie et Calibration . . . . . . . . . . . . . . . . . . . . . 54
.5.1 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
.5.2 Travaux Pratiques . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
.6 Chapitre 4 : Reconstruction 3D . . . . . . . . . . . . . . . . . . . . . . . . 54
.6.1 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
.6.2 Travaux Pratiques . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
.7 Chapitre 5 : Texture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
.7.1 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
.7.2 Travaux Pratiques . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Glossaire 57
Chapitre 1
Introduction à la Vision par Ordinateur
1.1 La Vision Humaine
La vision humaine est un système complexe de perception des objets distants. Elle
décrit le monde qui l’entoure aisément et se compose de deux organes principaux : l’œil
et le cerveau.
1.1.1 Fonctionnement de l’Œil Humain
L’œil de l’être humain reçoit une quantité très importante d’informations. Il est très
sensible aux spectres des ondes électromagnétiques (lumière visible) et fournit une vision
stéréoscopique (c’est-à-dire 3D).
Les rayons lumineux d’ordre d’un million de points environ sont reçus par la rétine.
Ils contiennent des informations sur la quantité de lumière et de couleurs provenant de
l’environnement. Ils forment l’image qui sera conduite sous forme de signaux transmissibles
le long des voies neuronales vers le cerveau.
1.1.2 Perception et Interprétation
À ce stade, le cerveau prend le relais et donnera une signification à l’image perçue
par l’œil. Les neurophysiologistes mènent des recherches théoriques et expérimentales afin
de comprendre l’anatomie et le fonctionnement du cerveau dans son ensemble. Ils ont
découvert une structure très complexe qui est loin de leur révéler tous ses secrets.
1.1.3 De la Vision Humaine à la Vision Artificielle
Si nous prenons une photo, nos cerveaux peuvent facilement savoir ce qu’elle représente
(par exemple, une fleur). Mais ce n’est pas le cas pour la machine, dont l’image est
représentée par un tableau de valeurs entières qui représentent les intensités et les couleurs.
Il n’y a pas de contexte, juste une grande pile de données.
7
8 CHAPITRE 1. INTRODUCTION À LA VISION PAR ORDINATEUR
1.2 La Vision par Ordinateur
1.2.1 Définition
Aujourd’hui, l’être humain tente de reproduire la vision humaine par un système si-
milaire. Ceci a donné naissance à ce qu’on appelle « vision par ordinateur », « vision
artificielle » ou « vision cognitive ». Celle-ci représente une discipline de l’intelligence
artificielle.
La vision par ordinateur est une branche de l’informatique dont le but est de rendre une
machine capable de « comprendre » une scène donnée, en se basant sur des informations
essentiellement visuelles. Elle est constituée de l’ensemble des technologies de traitement
de l’information numérique ayant pour origine des capteurs photométriques.
1.2.2 Fonctionnement d’un Système de Vision
Un système de vision artificielle prend en entrée une ou plusieurs images numériques
et effectue des traitements sur ces images afin d’en extraire des informations relatives à
la scène observée.
Contrairement à la perception humaine qui est basée sur deux images (œil droit et œil
gauche), l’ordinateur peut quant à lui utiliser des sources d’informations plus nombreuses
et plus variées, éventuellement dans d’autres bandes spectrales que le visible.
Le système de vision par ordinateur peut être représenté comme suit :
— Entrée : Images (ensemble de pixels), Information sensorielle
— Traitement : Connaissances à priori (forme, couleur, caractéristiques, comporte-
ment)
— Sortie : Description de la scène (objet, position, classification, reconnaissance)
1.3 Histoire de la Vision par Ordinateur
1.3.1 Années 1970
Durant cette décennie, l’objectif principal était de récupérer la structure 3D du monde
à partir d’images. Les travaux notables incluent :
— Blocks World : Monde de blocs pour la compréhension de scènes simples
— Line Labeling : Étiquetage de lignes (Roberts, 1963)
— Pictorial Structure : Structure picturale (Fischler et Elschlager, 1973)
1.3.2 Années 1980
Cette période a vu le développement de :
— Algorithmes de correspondance stéréo et algorithmes de flux optique
— Techniques "Shape from X" (shape from shading, shape from texture, shape from
shadows)
— Détection des bords et des contours, notamment le détecteur de contours de Canny
(1986)
1.3.3 Années 1990
Les avancées majeures incluent :
1.4. DESCRIPTION D’UN SYSTÈME DE VISION 9
— Structure from Motion et reconstruction multi-vues
— Scale Invariance Feature Transform (SIFT) par David Lowe (1999)
— Techniques d’apprentissage statistique, comme les Eigenfaces (Turk et Pentland,
1991)
1.3.4 Années 2000
Cette décennie a marqué un tournant avec :
— Approches basées sur les données et l’apprentissage
— Classificateurs en cascade pour la détection d’objets (Viola et Jones, 2001)
— Histogrammes des gradients orientés (HOG) pour la détection humaine (Dalal et
Triggs, 2005)
— Deformable parts models (Felzenszwalb et al., 2009)
— Grands ensembles de données : PASCAL VOC (2005-2012), ImageNet (2009)
— Structure from motion à grande échelle (Agarwal et al., 2009)
1.3.5 Années 2010 et Au-delà
L’ère de l’apprentissage profond :
— Deep Learning en vision par ordinateur avec AlexNet (Krizhevsky et al., 2012)
— Réseaux plus profonds : VGGNet, GoogleNet, ResNet
— Réseaux neuronaux pour la reconnaissance : détection d’objets (Fast RCNN), seg-
mentation sémantique (FCN), estimation de pose humaine (OpenPose)
— Détection de profondeur et vision 3D : Microsoft Kinect (2010), KinectFusion
(2011)
— Conduite autonome et systèmes incarnés : KITTI dataset (2012)
— Neural implicit representations : DeepSDF, NeRF (2020)
— Vision transformers et mécanismes d’attention
— 2023 : ChatGPT, Sora AI Video Generator, Large Multi-modal Models
1.4 Description d’un Système de Vision
1.4.1 Catégories de Systèmes
On trouve dans les systèmes de vision deux catégories distinctes :
Systèmes Bidimensionnels
Ce sont les systèmes qui n’incluent pas la notion de profondeur ; c’est-à-dire ils ne
peuvent reconnaître que des objets plans puisqu’ils n’utilisent que des données à deux
dimensions. Ces systèmes trouvent place dans la télédétection, la biomédical, la recon-
naissance des caractères, etc.
Systèmes Tridimensionnels
Ces systèmes sont pour leur part embarqués sur les robots mobiles évoluant en scènes
d’intérieur ou d’extérieur, les dotant ainsi d’un sens qui contribue à une autonomie dans
la prise de décision imitant pour cela le système visuel humain. Exemples : guidage d’un
bras de robot, évitement d’obstacles.
10 CHAPITRE 1. INTRODUCTION À LA VISION PAR ORDINATEUR
1.4.2 Systèmes Actifs vs Passifs
Systèmes Actifs
Ils prennent en charge le contrôle de l’éclairage de la scène. Ils utilisent des capteurs
de type laser (télémètre laser) ou ultrason. Ils disposent d’un émetteur et d’un récepteur
qui acquiert une information spatiale selon deux principes :
— La triangulation : le principe se fonde sur la connaissance de la distance entre le
récepteur et l’émetteur, ainsi on peut déduire la profondeur du point qui réfracte
l’onde de la direction du signal émis et réfracté.
— Le temps de vol : on peut calculer la profondeur du point par la mesure du temps
mis par le signal entre l’émetteur et le récepteur.
Systèmes Passifs
Ils ne contrôlent pas l’éclairage de la scène. Les seules données disponibles sont les
images (donc le degré de complexité est élevé par rapport aux systèmes actifs). Ils traitent
une ou plusieurs images 2D prises par des caméras et contenant une information de lumi-
nance (niveau de gris ou couleur) émise ou réfléchie par l’environnement.
1.5 Modèle de David Marr
Le Modèle de David Marr en vision par ordinateur est une approche théorique qui
vise à expliquer comment les systèmes de vision, qu’ils soient biologiques ou artificiels,
perçoivent et interprètent les informations visuelles. Marr a proposé une analyse en trois
niveaux, chacun se concentrant sur différents aspects du traitement visuel.
1.5.1 Les Trois Niveaux du Modèle de Marr
Le modèle propose un ensemble d’ébauches (croquis) progressives :
1. Image 2D : Capteur / Numérisation produisant les intensités perçues
2. Ébauche primaire : Segmentation / extraction des primitives (contours, lignes,
points, courbes)
3. Ébauche 2D½ : Analyse du mouvement, des contours, de textures donnant l’orien-
tation des surfaces locales et les discontinuités de profondeur
4. Représentation par modèle 3D : Analyse des contraintes 3D et reconstruction
aboutissant à un modèle 3D organisé en primitives de surfaces et volumes
5. Résultat : Apprentissage, identification et localisation
Le modèle de Marr a profondément influencé la recherche en vision par ordinateur,
en fournissant une structure pour développer des algorithmes de traitement d’images qui
imitent le fonctionnement du système visuel humain.
1.6 Domaines d’Application
La vision par ordinateur est utilisée aujourd’hui dans une grande variété d’applications
de la vie quotidienne.
1.6. DOMAINES D’APPLICATION 11
1.6.1 Reconnaissance et Lecture Automatique
— Optical Character Recognition (OCR) : Lecture des codes postaux manuscrits
sur les lettres et reconnaissance automatique des plaques d’immatriculation
— Commerce : Reconnaissance d’objets pour les caisses automatiques et les maga-
sins entièrement automatisés
— Biométrie : Reconnaissance d’empreintes digitales, détection faciale, reconnais-
sance faciale, identification par iris
1.6.2 Inspection et Contrôle Qualité
— Scanne rapide des pièces pour l’assurance qualité à l’aide de la stéréo vision avec
un éclairage spécialisé
— Mesure des tolérances sur les ailes d’avion ou les pièces de carrosserie automobile
— Détection des défauts dans les pièces en acier moulé à l’aide de la vision par rayons
X
— Logistique d’entrepôt : Prélèvement de pièces par des manipulateurs robotiques
1.6.3 Médical
Imagerie médicale : Enregistrer les images avant et pendant l’opération ou étudier
la morphologie du cerveau des personnes au fil du temps
1.6.4 Véhicules Autonomes
Capables de conduire d’un point à un autre entre les villes
1.6.5 Reconstruction 3D et Animation
— Construction de modèles 3D (photogrammétrie) : Construction entièrement
automatisée de modèles 3D à partir de photographies aériennes et de photos de
drones
— Match move : Fusionner des images générées par ordinateur (CGI) avec des
séquences vidéo en direct
— Capture de mouvement : Utilisation de marqueurs rétro-réfléchissants vus de-
puis plusieurs caméras pour capturer les acteurs pour l’animation par ordinateur
1.6.6 Surveillance et Sécurité
— Surveillance des intrus
— Analyse du trafic autoroutier
— Authentification automatique d’accès et applications judiciaires
1.6.7 Télédétection et Synthèse d’Images
Colorisation d’image monochrome, utilisé dans le domaine militaire pour lever les
ambiguïtés de la vision nocturne
12 CHAPITRE 1. INTRODUCTION À LA VISION PAR ORDINATEUR
1.7 La Réalité Virtuelle et Augmentée
1.7.1 La Réalité Virtuelle
La réalité virtuelle (virtual reality) est la technologie qui permet de plonger/mettre
une personne dans un monde artificiel (numérique). Elle utilise des équipements comme :
— Visiocasque
— Gants
— Combinaison
1.7.2 La Réalité Augmentée
La réalité augmentée permet la superposition d’éléments virtuels sur des éléments
réels. Elle trouve des applications dans :
— La maintenance facilitée
— Le design et l’architecture
— L’éducation
— Le commerce
1.7.3 Continuum Réalité-Virtualité
On peut représenter un continuum entre le monde réel et le monde virtuel :
Monde Réel ←→ Réalité Augmentée ←→ Réalité Virtuelle ←→ Monde Virtuel
Ce continuum fait appel à plusieurs disciplines :
— Vision par Ordinateur
— Synthèse d’images
— Interaction Homme-Machine
1.8 Vision Cognitive
1.8.1 Nouveau Sous-domaine
La vision cognitive est un nouveau sous-domaine de la vision par ordinateur qui com-
bine :
Vision par Ordinateur + Sciences Cognitives = Vision Cognitive
Les sciences cognitives étudient le cerveau humain, l’intelligence et la connaissance.
La vision cognitive (par ordinateur) intègre des processus intelligents dans la vision par
ordinateur.
1.8.2 Défis et Particularités
L’interprétation d’une image est difficile. Nous utilisons beaucoup d’informations à
priori pour reconnaître une scène. Comment le cerveau humain interprète-t-il les images ?
1.8. VISION COGNITIVE 13
Capacités du Cerveau Humain
— Le cerveau humain interprète bien le contenu des images mais il n’est pas assez
précis pour mesurer les grandeurs et la taille des objets (très bonne reconnaissance)
— Le cerveau humain arrive à voir plus que le contenu brut des images
— Le cerveau humain est massivement parallèle, ce qui compense sa lenteur
— Le cerveau interprète ce qu’il voit en fonction de ce qu’il connaît
Limitations de la Machine
— La machine interprète mal (scène 3D en 2D, les informations des pixels ne sont pas
suffisantes, etc.)
— La machine interprète moins bien, mais effectue des mesures plus précises
— Pour la machine, une maison ou une chaise sont des ensembles de valeurs (RVB,
texture, couleur) plutôt que des notions abstraites
1.8.3 Illusions Visuelles
Le cerveau humain est sujet à diverses illusions qui démontrent que la perception n’est
pas une simple transcription de la réalité :
— Illusions de dimensions : Des objets de même taille peuvent paraître différents selon
le contexte
— Illusions de directions : Des lignes parallèles peuvent sembler convergentes
— Illusions de couleur : Une couleur uniforme peut paraître varier selon l’environne-
ment
Ces illusions montrent que la vision est un processus actif d’interprétation plutôt qu’un
simple enregistrement passif.
14 CHAPITRE 1. INTRODUCTION À LA VISION PAR ORDINATEUR
Chapitre 2
Techniques de Base de Traitement de
l’Image
2.1 Définition et Représentation de l’Image
2.1.1 Qu’est-ce qu’une Image ?
Une image est une fonction f (x, y) qui associe en un point donné une valeur (niveau
de gris) qui dépend de la quantité de lumière :
0 ≤ f (x, y) ≤ M pour tout (x, y) de l’image
2.1.2 Types d’Images
Image Analogique
— L’image analogique est obtenue par le système d’acquisition
— L’image analogique ne peut pas être stockée puisqu’elle est continue
— Il n’est pas possible de reproduire l’image originale à l’identique
— Les copies sont nécessairement dégradées par rapport à l’original
Image Numérique
Image analogique digitalisée (échantillonnage) :
— Un seul canal (ex : 8 bits) pour le niveau de gris
— Trois ou quatre canaux pour les images couleur (ex : 24 bits, 8 bits pour chaque
couleur RVB)
2.1.3 Perception Humaine des Couleurs
L’œil humain contient deux types de récepteurs :
Les Cônes
Terminaisons nerveuses sensibles aux couleurs (6 à 7 millions) :
— Cônes « bleus » sensibles à des longueurs d’onde d’environ 430nm
— Cônes « verts » sensibles à des longueurs d’onde d’environ 530nm
— Cônes « rouges » sensibles à des longueurs d’onde d’environ 630nm
15
16 CHAPITRE 2. TECHNIQUES DE BASE DE TRAITEMENT DE L’IMAGE
Les Bâtonnets
100 à 200 millions de bâtonnets, sont 10 000 fois plus sensibles à la luminosité mais
moins précis pour la perception des détails et des couleurs.
2.2 Acquisition d’Images
2.2.1 Capteurs
Pour l’acquisition d’une image, on utilise des capteurs selon l’application désirée :
— Application spatiale : Satellite
— Application avec grande précision : Caméra CCD (charge-coupled device)
— Application (précision non exigée) : Caméra TV, caméra numérique
Un capteur est constitué de :
— Dispositif optique
— Système de transfert énergie lumineuse en énergie électrique
— Carte pour échantillonnage du signal vidéo, numérisation, mémorisation
2.3 Numérisation d’un Signal Analogique
2.3.1 Échantillonnage
L’échantillonnage est le passage d’une fonction continue vers une fonction discrète
(discrétisation). Il est caractérisé par :
— Te : temps d’échantillonnage (exemple : 50 µs)
— Fe : fréquence d’échantillonnage
La fréquence d’échantillonnage est donnée par :
1
Fe =
Te
Par exemple, si Te = 25µs :
1
Fe = = 10 × 102 Hz
25 × 10−6
2.3.2 Quantification
La quantification désigne la limitation du nombre de valeurs différentes que peut
prendre I(x, y).
Pour un signal compris entre Minv et Maxv avec n bits :
— Nombre de valeurs possibles : 2n
— Plage de valeurs : ∆u = Maxv − Minv
La formule de quantification est :
Valv − Minv
ValNum = × (2nbit − 1)
Maxv − Minv
2.4. HISTOGRAMME 17
2.3.3 Image Numérique
L’échantillonnage est le procédé de discrétisation spatiale d’une image consistant à
associer à chaque zone rectangulaire R(x, y) d’une image continue une unique valeur
I(x, y).
Une image numérique est donc une image échantillonnée et quantifiée.
2.4 Histogramme
2.4.1 Définition
L’histogramme représente la répartition des pixels en fonction de leur niveau de gris.
H(x) est le nombre de pixels dont le niveau de gris est égal à x.
2.4.2 Étirement d’Histogramme
L’étirement d’histogramme, ou normalisation de l’histogramme, permet d’améliorer le
contraste de l’image.
Pour une image 8 bits (max = 255) :
Val − Min
NewVal = × 255
Max − Min
2.5 Opérations sur les Images
2.5.1 La Convolution
La convolution est l’opérateur de base du traitement linéaire des images. Elle permet
de calculer l’approximation des dérivées horizontales et verticales.
Définition
Soit I une image numérique et h une fonction de [x1 , x2 ] × [y1 , y2 ] à valeurs réelles. La
convolution discrète de I par h est définie par :
y2
x2 X
X
(I ∗ h)(x, y) = h(i, j) · I(x − i, y − j)
i=x1 j=y1
La fonction h est dite noyau de convolution ou masque de convolution. Le masque de
convolution est le plus souvent carré de taille 3 × 3 ou 5 × 5 (mais impair).
Calcul de la Convolution
Pour calculer une convolution, on remplace la valeur de chaque pixel par la valeur du
produit scalaire entre les valeurs du noyau de convolution et les valeurs du voisinage du
pixel considéré (par rapport à l’origine (0, 0) du noyau de convolution).
Par exemple :
Ih33 = a22 M00 + a23 M01 + a24 M02 + a32 M10 + a33 M11 + a34 M12 + a42 M20 + a43 M21 + a44 M22
18 CHAPITRE 2. TECHNIQUES DE BASE DE TRAITEMENT DE L’IMAGE
Propriétés de la Convolution
— Commutativité : h ∗ g = g ∗ h
— Associativité : (h ∗ g) ∗ k = h ∗ (g ∗ k)
— Distributivité : h ∗ (g + k) = (h ∗ g) + (h ∗ k)
Problème des Bords
Que faire avec les bords de l’image ? Plusieurs solutions existent :
— Mettre à zéro (0) : les pixels en dehors de l’image sont de valeur nulle
— Convolution partielle : sur une portion du noyau
— Miroir de l’image : f (x − 1, y) = f (x + 1, y)
— Duplication : on duplique les premières et dernières lignes et colonnes au-delà des
bords
2.6 Le Bruit dans une Image
2.6.1 Définition
Le bruit est l’ensemble des pixels de l’image qui ont des valeurs aberrantes (un point
blanc au milieu des points noirs ou vice versa). Le bruit représente les parasites ou les
interférences d’un signal.
Le bruit est causé par :
— Une instabilité de la source du signal
— Un signal parasite provenant d’ailleurs
— Une instabilité du récepteur
D’où la nécessité de filtrer l’image.
2.7 Le Filtrage d’une Image
Le filtrage consiste à appliquer une transformation (appelée filtre) à tout ou une partie
d’une image numérique en appliquant un opérateur.
2.7.1 Types de Filtres
— Les filtres passe-bas : consistent à atténuer les composantes de l’image ayant
une fréquence haute. Appelé habituellement le lissage.
— Les filtres passe-haut : à l’inverse des filtres passe-bas, ils permettent d’ac-
centuer les composantes de basse fréquence de l’image et permettent notamment
d’accentuer les détails.
2.7.2 Filtres Linéaires
Ils utilisent une combinaison linéaire des valeurs du voisinage pour déterminer le niveau
de gris d’un pixel.
2.8. LA DÉTECTION DE CONTOURS 19
Le Filtre Moyenneur
Remplace le pixel courant par la valeur moyenne des pixels sur une fenêtre. Le masque
de convolution du filtre moyenneur pour une fenêtre 3 × 3 est :
1 1 1
1
1 1 1
9
1 1 1
Le Filtre de Gauss
Il effectue une convolution de l’image avec une gaussienne. C’est un filtre passe-bas
qui a pour effet d’adoucir (lisser) l’image.
Exemple de masque gaussien 5 × 5 avec σ = 1.4 :
0.011 0.023 0.029 0.023 0.011 2 4 5 4 2
0.023 0.049 0.063 0.049 0.023 4 9 12 9 4
0.029 0.063 0.081 0.063 0.029 ≈ 1 5 12
15 12 5
0.023 0.049 0.063 0.049 0.023 185 4 9
12 9 4
0.011 0.023 0.029 0.023 0.011 2 4 5 4 2
2.7.3 Filtres Non Linéaires
Filtre Médian
Classer les pixels voisins par ordre croissant des valeurs de niveaux de gris, puis affecter
la valeur médiane au pixel central.
Filtres Morphologiques
Basés sur deux opérations et utilisent un élément structurant pour définir le voisinage
(ou de la connexité) :
— Érosion : effectue un « et » logique entre les voisins d’un pixel (diminue le contour
de l’ordre d’un pixel)
— Dilatation : effectue un « ou » logique entre les voisins d’un pixel (augmente
l’épaisseur d’un contour)
Opérations composées :
— Fermeture (dilatation puis érosion) : Fermer les objets, remplir les trous
— Ouverture (érosion puis dilatation) : Supprimer les objets de largeur inférieure à
celle de l’élément structurant, séparer les objets fusionnés à tort
2.8 La Détection de Contours
La détection de contours se ramène à la recherche des discontinuités locales de la
fonction des niveaux de gris de l’image.
2.8.1 Méthodes Différentielles
Le Gradient (Première Dérivée)
La fonction image f (x, y) étant définie dans un espace bidimensionnel, nous pouvons
définir des dérivées partielles par rapport aux variables de définition de f :
20 CHAPITRE 2. TECHNIQUES DE BASE DE TRAITEMENT DE L’IMAGE
Le vecteur gradient est donné par :
∂f
∇f = ∂x
∂f
∂y
La norme du gradient est :
s 2 2
∂f ∂f
∥∇f ∥ = +
∂x ∂y
Filtre de Prewitt Il calcule le gradient de l’intensité de chaque pixel en utilisant
la convolution avec l’image pour calculer l’approximation des dérivées horizontales et
verticales :
−1 0 1 −1 −1 −1
Gx = −1 0 1 , Gy = 0 0 0
−1 0 1 1 1 1
Filtre de Sobel Similaire au filtre de Prewitt, mais avec un lissage pondéré :
−1 0 1 −1 −2 −1
Gx = −2 0 2 , Gy = 0 0 0
−1 0 1 1 2 1
Le Laplacien (Deuxième Dérivée)
Le Laplacien est une grandeur signée, traduisant de façon sommaire la concavité. Les
points de contours correspondent au passage par zéro.
∂ 2f ∂ 2f
∆f = +
∂x2 ∂y 2
Un masque de convolution courant pour le Laplacien est :
0 1 0
1 −4 1
0 1 0
Filtre de Canny
Le filtre de Canny est une méthode sophistiquée qui comprend plusieurs étapes :
1. Lisser l’image afin d’éliminer le bruit
2. Calculer le gradient et l’angle de la normale au gradient
3. Appliquer une suppression non-maximale
4. Appliquer un seuillage par hystérésis
2.9. SEUILLAGE DES CONTOURS 21
2.9 Seuillage des Contours
2.9.1 Définition
Un contour est une zone de transition filiforme entre deux zones homogènes de l’image,
appelées régions. Un contour est une discontinuité dans l’intensité de l’image.
Le seuillage permet de sélectionner les informations significatives dans une image en
niveau de gris. L’image résultant de ce traitement est binaire (0 ou 1) :
— Si la valeur du pixel > Seuil ⇒ La valeur résultante = 1
— Sinon ⇒ La valeur résultante = 0
2.9.2 Types de Seuils
— Seuil fixe : une valeur fixe pour le seuil
— Seuil global : la moyenne des pixels de l’image
— Seuil local : la moyenne pondérée des pixels voisinages (ex : en appliquant un
masque de convolution)
2.9.3 Problème du Choix du Seuil
— Seuil faible (bas) ⇒ détection de vrais points du contour + points dus au bruit
— Seuil élevé ⇒ supprimer les points dus au bruit + supprimer les vrais points du
contour
2.9.4 Seuillage par Hystérésis
Consiste à utiliser deux seuils à comparer à l’intensité du gradient.
Pour chaque point, si l’intensité de son gradient est :
— Inférieure au seuil bas ⇒ le point est rejeté
— Supérieure au seuil élevé ⇒ le point est accepté comme formant un contour
— Entre les deux seuils ⇒ le point est accepté s’il est connecté à un point déjà accepté
2.10 Suivi et Chaînage de Contours
2.10.1 Suivi de Contours
Le suivi de contours est une recherche de chemin optimal dans un graphe :
— Prendre un bon point
— Choix du point suivant
— Critère d’arrêt
2.10.2 Chaînage de Contours
Transformer la description matricielle des contours sous forme de listes chaînées. La
structure de données permet la fusion ou suppression de chaînes selon un critère donné
(simple jeu de pointeurs). Possibilité d’une approximation polygonale à partir de la chaîne
de contours.
22 CHAPITRE 2. TECHNIQUES DE BASE DE TRAITEMENT DE L’IMAGE
2.11 Segmentation d’Images
2.11.1 Segmentation de Contours
Les chaînes de contours peuvent être partitionnées dans des segments de courbes qui
ont une description analytique connue telles des lignes droites et des coniques.
Segmentation d’une Chaîne
Soit C = {ci , i = 0, 1, . . . , n} une chaîne de contours. On cherche :
— S partition de C : S = {S0 , S1 , S2 , . . . , SN −1 }
— M = {m0 , m1 , m2 , . . . , mN } points de cassure correspondant à la partition S
Deux problèmes à résoudre :
1. Trouver un partitionnement dans la chaîne en segments {S0 , S1 , . . . , Sk , . . .}
2. Trouver pour chaque segment la meilleure approximation analytique
Approximation d’un Segment par une Droite
L’équation de la droite est :
x sin ϕ + y cos ϕ = d
La distance d’un point (xi , yi ) à cette droite est :
ei = xi sin ϕ + yi cos ϕ − d
Trouver la droite (les paramètres ϕ et d) qui minimise la grandeur :
N
X
E= e2i
i=1
Algorithme de Découpage Récursif
Algorithm 1 Découpage récursif
1: Pour une chaîne de points : est-ce qu’un segment de droite ?
2: if oui then
3: aller à FIN
4: else
5: diviser la chaîne en deux sous-chaînes
6: répéter pour chaque chaîne
7: end if
8: FIN
Si mauvaise approximation par un segment, on peut localiser sur le point le plus loin
un nouveau point de cassure.
2.11.2 Transformée de Hough
La transformée de Hough est une méthode qui consiste à faire correspondre à des
points de contour du plan image des points d’un espace de paramètres.
2.11. SEGMENTATION D’IMAGES 23
Principe
Pour une droite y = ax + b :
— Chaque point (xi , yi ) du plan image correspond à une droite b = −axi + yi dans
l’espace des paramètres (a, b)
— Il est possible de "grouper" des points de contour colinéaires sans passer par l’étape
de chaînage
Problème de la Paramétrisation (a, b)
Le problème de cette modélisation est que −∞ < b < +∞, ce qui donne :
— Une matrice d’accumulation très grande
— Plus complexe en terme de calcul et d’espace mémoire
Solution : Paramétrisation (ρ, θ)
Utilisation de l’équation de la droite :
x sin θ − y cos θ + ρ = 0
Avantages :
— L’orientation θ est finie : 0 < θ < π
— Distance ρ est finie
Algorithme de Détection des Lignes
Algorithm 2 Détection des lignes par transformée de Hough
1: Quantification de l’espace de paramètres (ρ, θ) continu vers discret
2: Création d’une matrice d’accumulation M (ρ, θ)
3: Initialisation M (ρ, θ) = 0 pour toutes les valeurs ρ, θ
4: for chaque point de contour (xi , yj ) do
5: for chaque θ do
6: Calculer ρ = xi sin θ − yj cos θ
7: M (ρ, θ) = M (ρ, θ) + 1
8: end for
9: end for
10: Rechercher les maximums locaux dans la matrice M (ρ, θ)
2.11.3 Segmentation d’Images en Régions
C’est un problème fondamental en vision par ordinateur.
Données et Objectifs
On dispose de :
— Ensemble d’entités (points image)
— Ensemble d’attributs caractérisant ces entités (position, luminance, etc.)
On cherche :
24 CHAPITRE 2. TECHNIQUES DE BASE DE TRAITEMENT DE L’IMAGE
— Une (ou des) partition(s) de ces données ayant des propriétés intéressantes par
rapport aux attributs et aux relations topologiques
Les problèmes :
— Définir les propriétés des partitions que l’on cherche
— Concevoir des algorithmes permettant l’obtention de partitions optimisant ces pro-
priétés
Approche par Clustering
La segmentation peut être utilisée comme un problème de clustering (ex : K-Means,
Mean-shift).
La similarité est basée sur :
— L’intensité
— La couleur
— La position
À partir de ces caractéristiques, nous pouvons calculer d’autres comme :
— La profondeur des points
— La texture
— Type des surfaces
Algorithm 3 K-means
Require: K le nombre de clusters à former, M matrice de données
1: Choisir aléatoirement K points à partir de M . Ces points sont les centres des clusters
2: repeat
3: Affecter chaque point de M au groupe dont il est le plus proche du centre
4: Recalculer le centre de chaque cluster
5: until convergence (stabilisation des centres)
Algorithme K-means
Algorithm 4 Mean-shift
Require: M matrice de données
1: for chaque point P de la matrice M do
2: repeat
3: Chercher l’ensemble E des points qui sont dans le voisinage de P
4: Déplacer P vers l’isobarycentre de E
5: until convergence (stabilisation des centres)
6: end for
Algorithme Mean-shift
Utilisation de la Texture
On peut aussi utiliser la texture pour la segmentation. La texture peut être :
— Périodique : répétition d’un motif de base
— Non périodique : désordonnée
Chapitre 3
Géométrie, Calibration et
Mathématique Projective
3.1 Transformations 2D
Une transformation 2D consiste à changer un graphique (positions de pixels) en ap-
pliquant certaines règles. Les transformations principales sont :
1. Symétrie
2. Translation
3. Changement d’échelle
4. Rotation
5. Autres transformations
3.1.1 Symétrie
Symétrie par Rapport à l’Axe Y
Pour une symétrie par rapport à l’axe Y :
X ′ = −X
Y′ =Y
Sous forme matricielle : ′
x Sx 0 x
=
y′ 0 Sy y
Exemple : X ′ = 2X et Y ′ = Y :
′
x 2 0 x
=
y′ 0 1 y
Réduction (S < 1)
Pour une réduction, par exemple X ′ = X/2 et Y ′ = Y :
′
x 1/2 0 x
′ =
y 0 1 y
25
CHAPITRE 3. GÉOMÉTRIE, CALIBRATION ET MATHÉMATIQUE PROJECTIVE
26
3.1.2 Rotation
Pour une rotation d’angle θ autour de l’origine :
x′ = cos θ · X − sin θ · Y
y ′ = sin θ · X + cos θ · Y
Matrice de transformation :
′
x cos θ − sin θ x
=
y′ sin θ cos θ y
3.1.3 Autres Transformations
Exemple de cisaillement :
X′ = X
Y′ =X +Y
Matrice de transformation :
′
x 1 0 x
=
y′ 1 1 y
3.1.4 Composition de Transformations
Les transformations peuvent être composées par multiplication matricielle. Par exemple,
pour appliquer une rotation suivie d’un cisaillement et d’une symétrie :
′
x cos θ − sin θ 1 0 −1 0 x
=
y′ sin θ cos θ 1 1 0 1 y
3.2 Transformations 3D
3.2.1 Changement d’Échelle 3D
′
x Sx 0 0 x
y ′ = 0 Sy 0 y
z′ 0 0 Sz z
3.2.2 Translation 3D
En coordonnées homogènes :
′
x 1 0 0 a x
y ′ 0 1 0 b y
′ =
z 0 0 1 c z
1 0 0 0 1 1
3.3. COORDONNÉES HOMOGÈNES 27
3.2.3 Rotations 3D
Rotation Autour de l’Axe Z
cos(θ) − sin(θ) 0
Rθ,z = sin(θ) cos(θ) 0
0 0 1
Rotation Autour de l’Axe Y
cos(θ) 0 sin(θ)
Rθ,y = 0 1 0
− sin(θ) 0 cos(θ)
Rotation Autour de l’Axe X
1 0 0
Rθ,x = 0 cos(θ) − sin(θ)
0 sin(θ) cos(θ)
3.2.4 Composition de Transformations 3D
Rotation puis Translation
R T
[T ] · [R] =
0 1
où R est la matrice de rotation 3 × 3 et T le vecteur de translation.
Translation puis Rotation
L’ordre des opérations est important. Translation suivie de rotation donne un résultat
différent de rotation suivie de translation.
3.3 Coordonnées Homogènes
3.3.1 Coordonnées Homogènes en 2D (P2 )
Dans le plan affine, un point P est représenté par ses coordonnées (x, y). Le principe
des coordonnées homogènes est de représenter ce point par le triplet (x̃, ỹ, t) avec t ̸= 0
et tel que :
x̃ ỹ
(x, y) = ,
t t
Pour tout scalaire k ̸= 0, k(x, y, t) = (kx, ky, kt) représente le même point que (x, y, t).
Les coordonnées homogènes sont donc définies à un facteur multiplicatif près.
En particulier, si t = 1, les coordonnées homogènes sont (x̃, ỹ, 1).
CHAPITRE 3. GÉOMÉTRIE, CALIBRATION ET MATHÉMATIQUE PROJECTIVE
28
Conversion
Coordonnées affines ⇒ Coordonnées homogènes :
(x, y) ⇒ (x, y, 1)
Coordonnées homogènes ⇒ Coordonnées affines 2D :
x y x y
(x, y, t) ∼ , , 1 ⇒ (x, y) = ,
t t t t
3.3.2 Coordonnées Homogènes en 3D (P3 )
Coordonnées affines ⇒ Coordonnées homogènes 3D :
(x, y, z) ⇒ (x, y, z, 1)
Coordonnées homogènes ⇒ Coordonnées affines 3D :
x y z x y z
(x, y, z, t) ∼ , , , 1 ⇒ (x, y, z) = , ,
t t t t t t
3.4 Le Modèle Géométrique d’une Caméra
3.4.1 Modèle de Sténopé (Pinhole)
Le modèle de sténopé est le modèle géométrique fondamental d’une caméra. Il décrit
comment un point 3D de la scène est projeté sur le plan image 2D.
Repères
On distingue trois repères principaux :
— Repère monde : système de coordonnées de la scène 3D (X, Y, Z)
— Repère caméra : système de coordonnées centré sur la caméra (Xc , Yc , Zc )
— Repère image : système de coordonnées du plan image (u, v)
Paramètres du Modèle
— f : distance focale
— F : centre de projection (centre optique)
— O : point principal (projection de F sur le plan image)
— Axe-Z : axe optique
— P (X, Y, Z) : point de la scène (repère monde)
— Pc (Xc , Yc , Zc ) : coordonnées dans le repère caméra
— p(u, v) ou Pi : projection de P sur le plan image
3.5 Calibration et Stéréovision
Le calibrage géométrique d’une caméra consiste à déterminer la relation mathématique
existant entre les coordonnées des points 3D de la scène observée et les coordonnées 2D
de leur projection dans l’image.
3.5. CALIBRATION ET STÉRÉOVISION 29
3.5.1 Les Trois Transformations
Le modèle sténopé complet est la composition de trois transformations :
Transformation 1 : Repère Monde → Repère Caméra
xc X X
yc R t Y Y
= =T
zc 0 1 Z Z
1 1 1
où :
— R est la matrice de rotation 3 × 3 :
r11 r12 r13
R = r21 r22 r23
r31 r32 r33
— t est le vecteur de translation :
tx
t = ty
tz
Transformation 2 : Repère Caméra → Plan Image Normalisé
Projection perspective :
x xc /zc xc /zc
y = yc /zc = yc /zc
1 zc /zc 1
Transformation 3 : Plan Image Normalisé → Coordonnées Pixel
Pour θ = π/2 (pixels carrés) :
u kx 0 ox x x
v = 0 k y oy y = A y
1 0 0 1 1 1
où :
— ox , oy : coordonnées de la projection du centre optique
— kx , ky : nombre de pixels par unité de longueur par rapport à x et y
Forme générale (avec angle θ entre les axes) :
kx kx cos(θ) ox + oy cos(θ)
A = 0 ky / sin(θ) oy / sin(θ)
0 0 1
CHAPITRE 3. GÉOMÉTRIE, CALIBRATION ET MATHÉMATIQUE PROJECTIVE
30
3.5.2 Modèle Sténopé Complet
La composition des trois transformations donne :
X X
u Y Y
v ∼ AP T = M
Z Z
1
1 1
où M = AP T est la matrice de projection de la caméra.
3.5.3 Matrice des Paramètres Intrinsèques
fx fx cos(θ) ox + oy cos(θ) 1 0 0 0
AP = 0 fy / sin(θ) oy / sin(θ) 0 1 0 0
0 0 1 0 0 1 0
avec fx = f · kx et fy = f · ky .
3.5.4 Paramètres de la Caméra
Paramètres Intrinsèques
Les 5 paramètres intrinsèques de la matrice AP sont :
— fx , fy : distances focales en pixels
— ox , oy : coordonnées du point principal
— θ : angle entre les axes du capteur
Paramètres Extrinsèques
Les 6 paramètres extrinsèques de la matrice T sont :
— 3 rotations (angles d’Euler ou matrice de rotation)
— 3 translations (tx , ty , tz )
3.5.5 Calibration
L’étalonnage (calibrage) d’une caméra consiste à déterminer les paramètres
intrinsèques et extrinsèques de la caméra.
Objets de Calibrage (Mires)
Pour calibrer une caméra, on utilise des objets de calibrage (mires) qui sont des motifs
connus (damier, cercles, etc.). En observant ces mires sous différents angles, on peut
estimer les paramètres de la caméra.
3.5.6 Matrice de Distorsion
Les caméras réelles présentent des distorsions optiques. La matrice de distorsion est
caractérisée par 5 paramètres (k1 , k2 , k3 , p1 , p2 ) :
— k1 , k2 , k3 : coefficients de distorsion radiale
— p1 , p2 : coefficients de distorsion tangentielle
3.6. STÉRÉOVISION 31
3.6 Stéréovision
3.6.1 Principe
La stéréovision consiste à calculer les coordonnées 3D d’un point à partir de ses deux
images, connaissant le modèle de projection de chaque caméra et la relation spatiale entre
les deux caméras.
3.6.2 Configuration Stéréoscopique
Considérons deux caméras :
— Caméra gauche : centrée à l’origine (0, 0, 0)
— Caméra droite : centrée à (b, 0, 0)
— b : baseline (distance entre les deux caméras)
3.6.3 Projections 3D vers 2D
Caméra Gauche
x
uL = fx + ox
z
y
vL = fy + oy
z
Caméra Droite
x−b
uR = fx + ox
z
y
vR = fy + oy
z
3.6.4 Reconstruction 3D
En résolvant le système d’équations, on obtient les coordonnées 3D :
b(uL − ox )
X=
(uL − uR )
bfx (vL − oy )
Y =
fy (uL − uR )
bfx
Z=
(uL − uR )
3.6.5 Disparité
La disparité est la différence de position d’un même point sur les deux images :
d = u L − uR
Propriétés importantes :
CHAPITRE 3. GÉOMÉTRIE, CALIBRATION ET MATHÉMATIQUE PROJECTIVE
32
— Z est inversement proportionnel à la disparité
— Z est proportionnel à b (baseline)
— Plus la disparité est grande, plus l’objet est proche
3.6.6 Calibrage Stéréoscopique
Le calibrage stéréoscopique consiste à déterminer la matrice de transformation entre
les deux repères des deux caméras (gauche et droite).
3.6.7 Auto-calibrage
L’auto-calibrage consiste à calculer relativement les paramètres extrinsèques et in-
trinsèques aboutissant vers une structure 3D relative à la scène, sans utiliser d’objet de
calibrage.
3.6.8 Conversion 2D vers 3D
Pour une caméra calibrée, la conversion des coordonnées image vers les coordonnées
3D (sachant z > 0) est donnée par :
z
x= (u − ox )
fx
z
y = (v − oy )
fy
Chapitre 4
Reconstruction 3D Photométrique
4.1 Le Modèle Photométrique
4.1.1 Équation de Formation d’Image
Afin d’obtenir la relation entre le niveau de gris et la variation de la surface, il est
nécessaire d’étudier la manière dont l’image a été créée (niveau de gris à partir de la
surface 3D).
L’équation de base qui donne cette relation s’appelle l’équation de la formation d’image
ou l’équation de l’irradiance. Cette équation calcule l’éclairement (niveau de gris) d’un
point de l’objet 3D éclairé par une source lumineuse.
π d
E= I cos4 α · L
4 f2
où :
— E : éclairement (illumination)
— I : intensité de la source lumineuse
— L : luminance de la surface
— α : angle entre l’axe optique et le rayon
— d : diamètre de l’ouverture
— f : distance focale
4.1.2 Contraintes et Simplifications
Modèle de Projection Parallèle
Pour le modèle de projection parallèle (orthogonale), l’effet de perspective est négligé :
π d
α = 0 ⇒ cos4 α = 1 ⇒ E = I ·L
4 f2
Surface Lambertienne
Pour une surface lambertienne (diffusible), la luminance est :
ρ
L= N ·S
4π
où :
33
34 CHAPITRE 4. RECONSTRUCTION 3D PHOTOMÉTRIQUE
— ρ : albédo (réflectance) de la surface
— N : vecteur normal à la surface (unitaire)
— S : direction de la source lumineuse (unitaire)
Donc :
π d ρ
E= I N ·S
4 f 2 4π
En posant k = π d
Iρ
4 f 2 4π
(constante), on obtient :
E =k·N ·S
Pour une image normalisée entre 0 et 1, on peut poser k = 1 :
E =N ·S
4.2 Relation entre Image et Géométrie 3D
4.2.1 Vecteurs Normaux et Éclairement
Considérons :
— S = (xs , ys , zs ) : direction de la source lumineuse (vecteur unitaire : ∥S∥ = 1)
— N = (xn , yn , zn ) : vecteur normal à la surface (vecteur unitaire : ∥N ∥ = 1)
L’éclairement est donné par le produit scalaire :
E = N · S = ∥N ∥∥S∥ cos α = cos α
où α est l’angle entre N et S.
4.2.2 Propriétés
— α = 0 ⇒ cos α = 1 (surface perpendiculaire à la source)
— α = 90 ⇒ cos α = 0√ (surface parallèle à la source)
— α = 45 ⇒ cos α = 22 ≈ 0.71
4.2.3 Relation Image-Profondeur
Il n’y a pas de relation directe entre l’image (niveau de gris) et la profondeur
Z.
La relation existe entre l’image (niveau de gris) et le vecteur normal N .
4.3 Reconstruction 3D Photométrique
4.3.1 Problème
La reconstruction 3D photométrique consiste à calculer l’objet 3D à partir d’une ou
plusieurs images. Elle est considérée comme le problème inverse de la formation d’image.
4.3. RECONSTRUCTION 3D PHOTOMÉTRIQUE 35
4.3.2 Shape From Shading (SfS)
Le Shape from Shading calcule l’objet 3D à partir d’une seule image. Il est considéré
comme un problème mal-posé (plusieurs inconnues avec une seule équation).
Pour un point de l’image, nous avons :
— 1 équation : E = N · S
— 3 inconnues : (xn , yn , zn ) les composantes de N
4.3.3 Stéréo Photométrique (PS)
La stéréo photométrique utilise plusieurs images (prises sous différents éclairages) pour
résoudre le problème de la reconstruction 3D.
Principe
Pour n images prises avec n sources lumineuses différentes :
E1 = N · S1
E2 = N · S2
E3 = N · S3
..
.
En = N · Sn
Formulation Matricielle
En développant le produit scalaire pour chaque image i :
Ei = N (Nx , Ny , Nz ) · Si (Six , Siy , Siz ) = Six Nx + Siy Ny + Siz Nz
Sous forme matricielle :
E1 S1x S1y S1z
E2 S2x S2y S2z
Nx
E3 S3x S3y S3z
= Ny
.. .. .. .. N
. . . . z
En Snx Sny Snz
Ce qui donne : E = SN
4.3.4 Solution : Calcul des Normales
Cas de 3 Images (n = 3)
Pour 3 images, la matrice S est carrée 3 × 3 et peut être inversée directement :
N = S −1 E
−1
Nx S1x S1y S1z E1
Ny = S2x S2y S2z E2
Nz S3x S3y S3z E3
36 CHAPITRE 4. RECONSTRUCTION 3D PHOTOMÉTRIQUE
Cas Général (n > 3)
Pour plus de 3 images, on utilise la pseudo-inverse (décomposition en valeurs singu-
lières SVD - Singular Value Decomposition) :
N = (S T S)−1 S T E
Application à Tous les Pixels
Pour une image de taille h × w pixels :
E1,p1 E1,p2 E1,p3 · · · E1,pw
E2,p1 E2,p2
E2,p3 · · · E2,pw
Images = E3,p1 E3,p2
E3,p3 · · · E3,pw
.. .. .. .. ..
. . . . .
En,p1 En,p2 En,p3 · · · En,pw
On calcule N pour chaque pixel en appliquant la formule N = S −1 E (ou pseudo-inverse
si n > 3).
4.4 Intégration du Champ de Normales
4.4.1 Normalisation des Vecteurs
Le résultat (Nx , Ny , Nz ) représente le vecteur normal d’un pixel. Le vecteur normal
doit être un vecteur unitaire (norme = 1) :
Nx Ny Nz q
N= , , où ∥N ∥ = Nx2 + Ny2 + Nz2
∥N ∥ ∥N ∥ ∥N ∥
4.4.2 Relation Normale-Gradient
Le vecteur normal peut être exprimé en fonction du gradient de la surface z(x, y) :
(−p, −q, 1)
N=p
p2 + q 2 + 1
où p et q sont les gradients de la profondeur :
∂z ∂z
∇z = (p, q) = ,
∂x ∂y
p et q représentent la différence de Z entre deux points (pixels) voisins de l’objet.
4.4.3 Intégration
L’étape suivante consiste à intégrer le champ de normales pour calculer la profondeur
z(x, y) de chaque pixel. Plusieurs méthodes d’intégration existent :
— Intégration par ligne
— Intégration par colonne
— Méthodes globales (moindres carrés)
— Transformée de Fourier
4.5. AFFICHAGE DES NORMALES 37
4.5 Affichage des Normales
Pour afficher les coordonnées du vecteur normal, qui sont comprises entre [−1, 1], il
est nécessaire de changer l’intervalle à [0, 255] :
(Nx + 1)
Nx _Aff = B = × 255
2
(Ny + 1)
Ny _Aff = G = × 255
2
(Nz + 1)
Nz _Aff = R = × 255
2
Ainsi, on peut visualiser le champ de normales sous forme d’une image couleur où
chaque canal (RGB) code une composante du vecteur normal.
38 CHAPITRE 4. RECONSTRUCTION 3D PHOTOMÉTRIQUE
Chapitre 5
La Texture en Vision par Ordinateur
5.1 Définition de la Texture
5.1.1 Concepts de Base
En traitement d’image, on définit généralement :
— Une région comme une zone homogène
— Un contour comme une variation d’intensité
— Une texture peut être définie comme une région avec des variations d’intensité ou
comme une organisation spatiale des pixels
Une texture peut refléter des propriétés de l’objet (grossière, fine, lisse, tachetée, ré-
gulière, irrégulière, etc.). Ces propriétés sont reconnues facilement par l’être humain mais
elles restent difficiles à définir précisément et à analyser de façon numérique.
5.1.2 Définition Formelle
Définition du Dictionnaire
« Répétition spatiale d’un même motif dans différentes directions de l’espace. »
En Vision par Ordinateur
La texture est un phénomène à deux dimensions :
1. La description d’éléments de base ou primitives
2. La description de l’organisation spatiale de ces primitives
5.1.3 Histogramme et Texture
Exemple important : Trois images peuvent avoir la même distribution de l’intensité
(par exemple 50% blanc et 50% noir, donc le même histogramme), mais avec des tex-
tures différentes. Cela montre que l’histogramme seul est insuffisant pour caractériser une
texture.
39
40 CHAPITRE 5. LA TEXTURE EN VISION PAR ORDINATEUR
5.2 Types de Textures
5.2.1 Texture Périodique
Une texture périodique présente :
— Un aspect régulier, sous une forme de motifs répétitifs
— Un arrangement spatial défini
— Cette approche structurelle correspond à une vision macroscopique des textures
(grilles, murs, tissus, etc.)
On peut considérer la texture comme l’agencement d’un motif de base appelé texton
(ou texel en anglais). Un texton est un groupe de pixels ayant des propriétés homogènes.
5.2.2 Texture Aléatoire
Ce type de textures présente des primitives microscopiques distribuées d’une manière
anarchique. Il n’y a pas de motif de base clairement identifiable.
5.3 Importance de la Texture
5.3.1 Pourquoi s’Intéresser à la Texture ?
— L’étude de la distribution des niveaux de gris est insuffisante pour caractériser les
zones homogènes
— Les images naturelles sont composées principalement de régions texturées
— La majorité des images sont des images naturelles
5.3.2 Domaines d’Application
— La télédétection
— L’imagerie médicale
— La synthèse d’image
— Détection faciale
— Reconnaissance faciale
— Identification par empreinte, iris, etc.
— Colorisation d’image monochrome (utilisée dans le domaine militaire pour lever les
ambiguïtés de la vision nocturne)
5.4 Analyse de la Texture
5.4.1 Principaux Problèmes
Classification de la Texture
Identification d’une texture donnée à partir d’un ensemble de classes de textures.
Segmentation de la Texture
Consiste à déterminer les limites entre plusieurs textures dans une image. Partition en
plusieurs régions homogènes.
5.5. MÉTHODES D’ANALYSE DE LA TEXTURE 41
Synthèse de la Texture
Construire une grande image numérique à partir d’une petite image en utilisant les
caractéristiques de la texture.
Shape from Texture
Estimation de la surface 3D (objet 3D) à partir de la variation des primitives de la
texture.
5.4.2 Objectif de l’Analyse
Le but de l’analyse de la texture est de formaliser les descriptifs de la texture par des
paramètres mathématiques qui serviraient à l’identifier. Les critères visuels retenus pour
la texture sont : le contraste, l’orientation, la forme, la finesse et la régularité, etc.
5.4.3 Contexte et Interprétation
L’interprétation d’une texture, vue localement, peut varier en fonction de son contexte
/ voisinage immédiat dans l’image.
5.5 Méthodes d’Analyse de la Texture
On distingue trois grandes familles de méthodes :
1. Méthodes statistiques
2. Méthodes structurelles
3. Méthodes fréquentielles (spectrales)
5.5.1 Méthodes Statistiques
Dans l’approche statistique, la texture est vue comme la réalisation d’un processus
stochastique. Le but est d’en extraire des attributs statistiques.
Méthodes Statistiques d’Ordre 1
Ces méthodes s’appuient sur la distribution des niveaux de gris des pixels dont est
composée la texture. Le calcul statistique d’ordre 1 des paramètres de cette distribution
(à l’aide de l’histogramme de niveaux de gris) permet de caractériser les textures entre
elles.
Caractéristiques Calculées
— Moyenne : niveau de gris moyen dans une image
L−1
1 X
µ= i · H(i)
N i=0
42 CHAPITRE 5. LA TEXTURE EN VISION PAR ORDINATEUR
— Variance : représente l’écart moyen des niveaux de gris par rapport à la moyenne
L−1
2 1 X
σ = (i − µ)2 · H(i)
N i=0
— Énergie : permet de mesurer l’uniformité de la texture. Atteint des fortes valeurs
lorsque la texture est périodique et des faibles valeurs lorsque la texture est aléatoire
L−1
X
E= [H(i)]2
i=0
— Entropie : permet de mesurer la pureté des niveaux de gris dans l’image. Atteint
des fortes valeurs lorsque la texture est aléatoire et de faibles valeurs dans le cas
contraire
L−1
X
Hentropie = − H(i) log2 H(i)
i=0
— Contraste : mesure le niveau de contraste d’une image. Atteint des valeurs élevées
lorsque le contraste de l’image est fort
— Coefficient de variation : permet de mesurer l’hétérogénéité de la texture
σ
CV =
µ
— Coefficient d’aplatissement (Skewness) : permet de faire apparaître si une
faible variation des pixels entraîne ou non une forte variation des fréquences rela-
tives
Limitation Utiliser une méthode statistique d’ordre 1 qui se base sur la distribution des
niveaux de gris des textures présente un inconvénient important car cette dernière ne prend
pas en considération la distribution spatiale des niveaux de gris. Or, cette distribution
spatiale est une caractéristique importante de la texture. On peut trouver deux textures
qui ont une distribution de niveaux de gris identique mais qui sont visuellement distinctes.
Méthodes Statistiques d’Ordre 2
Les mesures du second ordre ont montré leur efficacité dans le domaine de la discri-
mination de texture dans la perception humaine.
Matrice de Co-occurrence (GLCM) La matrice de co-occurrence (Gray-Level Co-
occurrence Matrix - GLCM) contient les informations sur les positions des pixels qui ont
le même niveau de gris.
Définition :
MCO(i, j) = card{(s, s + d) ∈ R2 | I(s) = i, I(s + d) = j}
La GLCM est définie par 2 paramètres :
— d : distance entre deux pixels
— θ : angle formé entre les deux pixels
Ou alternativement :
— dx : distance par rapport à x
— dy : distance par rapport à y
Exemple : GLCM(d = 1, θ = 0) ou (dx = 1, dy = 0)
5.5. MÉTHODES D’ANALYSE DE LA TEXTURE 43
Indices de Haralick La masse d’informations contenues dans la matrice de co-occurrence
est trop importante et ne nous permet pas de tirer directement des connaissances utiles
pour l’analyse de texture. Haralick a proposé quatorze indices intermédiaires. Les plus
importants sont :
— Énergie (Second moment angulaire) : permet de mesurer l’uniformité de la
texture. Plus on retrouve le même couple de pixels, plus cet indice est élevé
XX
Énergie = [M CO(i, j)]2
i j
— Contraste (ou Inertie) : mesure la différence de niveaux de gris entre pixels
voisins. Si ces variations sont importantes, alors le contraste sera élevé
XX
Contraste = (i − j)2 · M CO(i, j)
i j
— Moment des différences inverses : comportement inverse de celui du contraste.
Plus la texture possède de régions homogènes, plus ce paramètre est élevé
X X M CO(i, j)
IDM =
i j
1 + (i − j)2
— Variance : mesure la répartition des niveaux de gris autour de la valeur moyenne.
Plus ce paramètre est élevé, plus les écarts entre les valeurs et la moyenne sont
importants
Méthode LBP (Local Binary Pattern)
La méthode LBP (Local Binary Pattern : motifs binaires locaux) a été introduite par
Ojala et al. en 1996. C’est une méthode simple et efficace pour la description de la texture.
Principe Considérer le voisinage 3×3 et seuiller relativement à la valeur centrale (centre
de la fenêtre) puis calculer le code binaire :
— Donner la valeur 1 si la valeur est supérieure au pixel central
— Zéro sinon
Le code binaire obtenu (8 bits pour un voisinage 3 × 3) est converti en décimal pour
donner la valeur LBP du pixel central.
Uniform Pattern (Motifs Uniformes) U représente le nombre de transitions (de 1
à 0 ou de 0 à 1). Les patterns uniformes possèdent un nombre de transitions U = 2 ou
U = 0.
Sur 256 patterns possibles :
— 58 Uniform LBP : assigner des indexes de 0 à 57
— 198 non-Uniform : assigner la valeur 58
Un histogramme composé de 59 bins (bin est une barre d’histogramme) est calculé
puis normalisé. Les Uniform patterns sont suffisants selon les recherches pour représenter
la texture sur les 256 autres patterns possibles.
44 CHAPITRE 5. LA TEXTURE EN VISION PAR ORDINATEUR
Avantages
— L’histogramme de l’image résultante constitue un descripteur de texture
— Très bons résultats pour les micro-textures (détails fins)
— Méthode d’extraction simple et efficace
— Facilité de calcul
5.5.2 Méthodes Structurelles
— Permettent de modéliser les relations spatiales entre les éléments primitifs consti-
tuant l’image
— Les règles de placement ou d’agencement spatial déterminent l’existence et la na-
ture de la texture
— Les étapes d’analyse de ces méthodes sont d’abord l’identification des éléments
constitutifs, puis la définition des règles de placement
— Peut se montrer efficace pour une tâche de synthèse de textures
— Permet d’avoir une bonne vision symbolique de la texture étudiée
5.5.3 Méthodes Fréquentielles
Principe
On cherche à représenter la texture dans une autre base que le domaine spatial de
l’image. Ces méthodes permettent d’étudier les textures dans le domaine spectral en
passant de la représentation spatiale à la représentation fréquentielle.
La texture est représentée par différents signaux de fréquences d’amplitude et de di-
rections. Ces méthodes permettent de caractériser la texture à différentes échelles (les
textures sont des signaux quasi-périodiques qui ont une énergie fréquentielle localisée).
On retrouve notamment dans cette catégorie les méthodes s’appuyant sur la transfor-
mée de Fourier, les filtres de Gabor et les ondelettes.
Transformée de Fourier Discrète 2D (DFT)
La transformée de Fourier discrète à 2D est donnée par :
M −1 N −1
1 XX km ln
X[m, n] = x[k, l] · e−jπ( M + N )
N M k=0 l=0
où :
— x[m, n] : image initiale
— X[m, n] : image résultat (dans le domaine fréquentiel)
La transformée de Fourier permet de décomposer l’image en ses composantes fréquen-
tielles. Les textures périodiques se caractérisent par des pics dans le spectre de Fourier.
Conclusion
Ce livre présente les fondements de la vision par ordinateur, depuis les concepts de base
du traitement d’image jusqu’aux techniques avancées de reconstruction 3D et d’analyse
de texture.
Nous avons exploré :
— Les principes fondamentaux de la vision humaine et artificielle
— Les techniques de traitement d’image (filtrage, détection de contours, segmenta-
tion)
— La géométrie projective et les coordonnées homogènes
— Les modèles de caméra et la calibration
— La reconstruction 3D par stéréovision et photométrie stéréo
— L’analyse de texture et ses applications
La vision par ordinateur continue d’évoluer rapidement, notamment avec l’avènement
de l’apprentissage profond et des réseaux de neurones. Les techniques présentées dans ce
livre constituent néanmoins les fondations essentielles pour comprendre et développer des
systèmes de vision modernes.
45
46 CHAPITRE 5. CONCLUSION
Notations et Symboles
.1 Notations Mathématiques
— P2 : Espace projectif 2D
— P3 : Espace projectif 3D
— ∇ : Opérateur gradient
— ∆ : Opérateur laplacien
— ∗ : Opérateur de convolution
— ∼ : Équivalence à un facteur près (coordonnées homogènes)
.2 Variables et Paramètres
— f : Distance focale
— fx , fy : Distances focales en pixels
— ox , oy : Coordonnées du point principal
— b : Baseline (distance entre deux caméras)
— d : Disparité
— R : Matrice de rotation
— t : Vecteur de translation
— N : Vecteur normal
— S : Direction de la source lumineuse
— E : Éclairement (illumination)
— L : Luminance
— ρ : Albédo (réflectance)
— θ : Angle
— p, q : Gradients de profondeur
47
48 ANNEXE . NOTATIONS ET SYMBOLES
Références et Bibliographie
49
50 ANNEXE . RÉFÉRENCES ET BIBLIOGRAPHIE
Bibliographie
[1] Marr, D. (1982). Vision : A Computational Investigation into the Human Represen-
tation and Processing of Visual Information. W. H. Freeman and Company.
[2] Szeliski, R. (2022). Computer Vision : Algorithms and Applications. Springer Nature.
[3] Hartley, R., & Zisserman, A. (2004). Multiple View Geometry in Computer Vision
(2nd ed.). Cambridge University Press.
[4] Forsyth, D. A., & Ponce, J. (2011). Computer Vision : A Modern Approach (2nd
ed.). Pearson.
[5] Canny, J. (1986). A computational approach to edge detection. IEEE Transactions
on Pattern Analysis and Machine Intelligence, 8(6), 679-698.
[6] Lowe, D. G. (1999). Object recognition from local scale-invariant features. Proceedings
of the International Conference on Computer Vision, 1150-1157.
[7] Viola, P., & Jones, M. (2001). Robust real-time object detection. International Jour-
nal of Computer Vision, 57(2), 137-154.
[8] Dalal, N., & Triggs, B. (2005). Histograms of oriented gradients for human detection.
IEEE Conference on Computer Vision and Pattern Recognition, 886-893.
[9] Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). ImageNet classification with
deep convolutional neural networks. Advances in Neural Information Processing Sys-
tems, 1097-1105.
[10] He, K., Zhang, X., Ren, S., & Sun, J. (2015). Deep residual learning for image recog-
nition. arXiv preprint arXiv :1512.03385.
[11] Haralick, R. M., Shanmugam, K., & Dinstein, I. (1973). Textural features for image
classification. IEEE Transactions on Systems, Man, and Cybernetics, 3(6), 610-621.
[12] Ojala, T., Pietikäinen, M., & Harwood, D. (1996). A comparative study of texture
measures with classification based on featured distributions. Pattern Recognition,
29(1), 51-59.
[13] Woodham, R. J. (1980). Photometric method for determining surface orientation
from multiple images. Optical Engineering, 19(1), 139-144.
[14] Horn, B. K. P., & Brooks, M. J. (1989). Shape from Shading. MIT Press.
[15] Zhang, Z. (2000). A flexible new technique for camera calibration. IEEE Transactions
on Pattern Analysis and Machine Intelligence, 22(11), 1330-1334.
51
52 BIBLIOGRAPHIE
Exercices et Travaux Pratiques
.3 Chapitre 1 : Introduction
.3.1 Questions de Réflexion
1. Expliquez les différences entre la vision humaine et la vision par ordinateur.
2. Quels sont les avantages et inconvénients des systèmes de vision actifs par rapport
aux systèmes passifs ?
3. Décrivez le modèle de David Marr et ses trois niveaux de traitement.
.4 Chapitre 2 : Traitement d’Image
.4.1 Exercices Pratiques
1. Calculez l’histogramme d’une image 4 × 4 pixels avec les valeurs suivantes :
50 50 100 150
50 100 100 150
100 100 150 200
150 150 200 200
2. Normalisez cet histogramme pour une image 8 bits (max = 255).
3. Appliquez le filtre moyenneur 3 × 3 au pixel central de :
10 20 30
40 50 60
70 80 90
4. Calculez le gradient avec le filtre de Sobel pour le même pixel.
.4.2 Travaux Pratiques
1. Implémentez un filtre de Gauss et comparez son effet avec un filtre moyenneur.
2. Testez différents seuils pour la détection de contours et analysez les résultats.
3. Implémentez l’algorithme de seuillage par hystérésis.
53
54 ANNEXE . EXERCICES ET TRAVAUX PRATIQUES
.5 Chapitre 3 : Géométrie et Calibration
.5.1 Exercices
1. Calculez la matrice de transformation pour une rotation de 45° suivie d’une trans-
lation de (3, 5).
2. Convertissez les coordonnées affines (2, 3) en coordonnées homogènes, puis appli-
quez un facteur multiplicatif de 2.
3. Pour un système stéréo avec baseline b = 10 cm, fx = 500 pixels, ox = 320 pixels,
et une disparité d = 50 pixels, calculez la profondeur Z.
.5.2 Travaux Pratiques
1. Calibrez une caméra en utilisant une mire damier.
2. Implémentez un système de stéréovision simple.
3. Calculez la carte de disparité pour une paire d’images stéréo.
.6 Chapitre 4 : Reconstruction 3D
.6.1 Exercices
1. Pour trois images avec les éclairements E1 = 0.8, E2 = 0.6, E3 = 0.4 et les
directions de sources :
S1 = (1, 0, 0), S2 = (0, 1, 0), S3 = (0, 0, 1)
Calculez le vecteur normal N .
2. Normalisez ce vecteur normal pour qu’il soit unitaire.
3. Convertissez les composantes du vecteur normal pour l’affichage (intervalle [0, 255]).
.6.2 Travaux Pratiques
1. Implémentez un système de photométrie stéréo avec 4 sources lumineuses.
2. Intégrez le champ de normales pour obtenir la surface 3D.
3. Visualisez le champ de normales sous forme d’image couleur.
.7 Chapitre 5 : Texture
.7.1 Exercices
1. Calculez la matrice de co-occurrence GLCM pour l’image suivante avec d = 1,
θ=0:
0 0 1 1
0 1 1 2
1 1 2 2
1 2 2 3
.7. CHAPITRE 5 : TEXTURE 55
2. Calculez l’énergie et le contraste pour cette matrice de co-occurrence.
3. Calculez le code LBP pour un pixel avec le voisinage :
10 15 20
25 30 35
40 45 50
où le pixel central a la valeur 30.
.7.2 Travaux Pratiques
1. Implémentez l’extraction de caractéristiques GLCM pour une image.
2. Implémentez l’algorithme LBP et calculez l’histogramme LBP.
3. Segmentez une image en utilisant les caractéristiques de texture.
56 ANNEXE . EXERCICES ET TRAVAUX PRATIQUES
Glossaire
Albédo Mesure de la réflectance d’une surface, rapport entre la lumière réfléchie et
la lumière incidente.
Baseline Distance entre les centres optiques de deux caméras dans un système sté-
réoscopique.
Calibration Processus de détermination des paramètres intrinsèques et extrinsèques
d’une caméra.
CCD Charge-Coupled Device, capteur d’image utilisant des photosites pour convertir
la lumière en signal électrique.
Convolution Opération mathématique consistant à appliquer un noyau (filtre) sur
une image.
Coordonnées homogènes Représentation de points dans un espace projectif, per-
mettant d’unifier les transformations géométriques.
Disparité Différence de position d’un même point 3D dans deux images d’un système
stéréoscopique.
Distance focale Distance entre le centre optique et le plan image de la caméra.
Échantillonnage Processus de conversion d’un signal continu en signal discret.
Gradient Vecteur des dérivées partielles d’une fonction, indique la direction de plus
grande variation.
Histogramme Représentation graphique de la distribution des niveaux de gris dans
une image.
Laplacien Opérateur différentiel du second ordre, somme des dérivées secondes.
LBP Local Binary Pattern, descripteur de texture basé sur les motifs binaires locaux.
Luminance Intensité lumineuse émise ou réfléchie par une surface.
MCO (GLCM) Matrice de Co-Occurrence des niveaux de gris, décrit la distribution
spatiale des paires de pixels.
Paramètres extrinsèques Paramètres décrivant la position et l’orientation de la
caméra dans l’espace monde.
Paramètres intrinsèques Paramètres décrivant les caractéristiques internes de la
caméra (focale, point principal, etc.).
Photométrie stéréo Méthode de reconstruction 3D utilisant plusieurs images prises
sous différents éclairages.
Pinhole Modèle de caméra sténopé, modèle géométrique idéal sans lentille.
Quantification Processus de discrétisation des amplitudes d’un signal.
Segmentation Processus de partition d’une image en régions homogènes.
57
58 ANNEXE . GLOSSAIRE
Sténopé Voir Pinhole.
Stéréovision Technique de reconstruction 3D utilisant deux ou plusieurs vues d’une
même scène.
Texture Organisation spatiale des variations d’intensité dans une image.
Texton Élément de base répétitif d’une texture périodique.
Transformée de Hough Méthode de détection de formes géométriques dans une
image.
Vecteur normal Vecteur perpendiculaire à une surface en un point donné.