CHAPITRE II DESCRIPTION SUR LE TRAITEMENT D’IMAGES.
II.1. Traitement d’images
Dans ce chapitre, Nous parlerons du traitement d’images de son historique, de son
importance, des opérateurs des traitements d’images et de tant d’autres que vous constaterez
dans ces lignes qui suivent.
II.1.1. Définition
Le traitement d'images est une étude de l'informatique et des mathématiques appliquées qui
étudie les images numériques et leurs transformations, dans le but d'améliorer leur qualité ou
d'en extraire de l'information.
II.1.2. Caractéristiques du traitement d’images
Dans le contexte de la vision artificielle, le traitement d'images se place après les
étapes d'acquisition et de numérisation, assurant les transformations d'images et la
partie de calcul permettant d'aller vers une interprétation des images traitées. Cette
phase d'interprétation est d'ailleurs de plus en plus intégrée dans le traitement
d'images, en faisant appel notamment à l'intelligence artificielle pour manipuler des
connaissances, principalement sur les informations dont on dispose à propos de ce que
représentent les images traitées.
Pour une bonne compréhension sur ce qui concerne le traitement d’une image, il faut d’abord
comprendre qu’est-ce qu’une image. Le mode et les conditions d'acquisition et de
numérisation des images traitées conditionnent largement les opérations qu'il faudra réaliser
pour extraire de l'information. En effet, de nombreux paramètres entrent en compte, les
principaux étant :
la résolution d'acquisition et le mode de codage utilisé lors de la numérisation, qui
déterminent le degré de précision des éventuelles mesures de dimensions
les réglages optiques utilisés, dont la mise au point qui déterminent par exemple la
netteté de l'image
les conditions d'éclairage, qui déterminent une partie de la variabilité des images
traitées
le bruit de la chaîne de transmission d'image.
Quelques exemples types d'informations qu'il est possible d'obtenir d'une image numérique :
la luminance moyenne
le contraste moyen
la couleur prédominante
le taux d'acuité moyen (précis ou flou)
le taux d'uniformité des couleurs
la présence ou l'absence de certains objets.
II.1.3. Importance de traitement d’images
L’objectif du traitement d’image est d’effectuer certaines opérations sur une image afin
d’obtenir une image améliorée ou d’en extraire des informations utiles. Les techniques de
traitement d’image numérique permettent la manipulation des images par des logiciels
spécifiques.
Dans un projet de numérisation, la première étape d’un traitement d’images est la capture de
fonds documentaires tels des documents, images et pages par un scanner doté d’un logiciel de
capture afin d’obtenir un fichier brut (ex: format de fichier brut). Cette source brute
provenant du scanner est un fichier non modifié, ni affiné ou recadré, nettoyé ou ajouté de
métadonnées.
Les scanners de livres professionnels utilisés aujourd’hui disposent d’outils de base pour le
réglage de l’image, de sorte que l’opérateur peut l’appliquer pendant la numérisation par le
scanner. Cependant, pour obtenir un flux de travail optimisé et éviter des charges de travail
chronophages, il est important de traiter les images après la capture, dans une étape de post-
traitement.
De nos jours, il existe une grande liste d’options de traitement d’image disponibles comme
par exemple :
recadrer facilement l’image en éloignant les bords
la détection multi-zone afin de définir et recadrer plusieurs documents dans un même
document
la segmentation d’image permettant la détection automatique de plusieurs images
dans l’image
redresser les images
la correction de la courbure afin d’aplatir les pages droite et gauche afin de les mettre
au même niveau (stitching)
la correction d’éclairage pour obtenir une lumière homogène sur l’image.
L’objectif global du traitement d’image est de convertir l’image brute en une
image traitée de haute qualité qui peut être archivée ou publiée en ligne.
II.2.Historique
Le traitement d'images commence à être étudié dans les années 1920 pour la transmission
d'images par le câble sous-marin allant de New York à Londres. Harry G. Bartholomew et
Maynard D. Macfarlane effectuent la première numérisation d'image avec compression de
données pour envoyer des fax de Londres à New York. Le temps de transfert passe ainsi de
plus d'une semaine à moins de trois heures. Il n'y a pas vraiment d'évolution par la suite
jusqu'à la période d'après-guerre1.
Le traitement du signal prend de l'importance vers la fin de la Seconde Guerre mondiale avec
l'arrivée du radar. La prospection pétrolière participe aussi beaucoup au développement des
techniques de traitement du signal.
Le véritable essor du traitement d'images n'a lieu que dans les années 1960 quand les
ordinateurs commencent à être suffisamment puissants pour travailler sur des images. Peu
après, la redécouverte de la transformée de Fourier rapide (FFT) révolutionne le domaine, en
rendant possible les manipulations du contenu fréquentiel des signaux sur ordinateur.
Cependant, l'essentiel des recherches porte encore, à cette époque, sur l'amélioration des
images et leur compression.
En 1980, David Marr formalise le premier la détection de contours de manière précise (D.
Marr et E. Hildreth : Theory of Edge Detection, Proc. R. Soc. London, B 207, 187-217,
1980). Au cours des années 1980, un véritable engouement se fait jour pour le traitement de
l'image et surtout pour la compréhension de l'image par des systèmes experts. Les ambitions
étaient beaucoup trop grandes, l'échec fut d'autant plus cuisant.
Les années 1990 voient l'amélioration constante des opérateurs. La recherche médicale
devient un très gros demandeur en traitement d'images pour améliorer les diagnostics faits à
partir des nombreuses techniques d'imagerie médicale, la technique reine étant l'IRM. Les
publicitaires, puis le grand public se familiarisent avec la retouche d'image grâce au logiciel
Photoshop, et le traitement d'images dans un objectif esthétique se répand avec l'apparition
d'autres logiciels dédiés (The Gimp, Paint Shop Pro). Enfin, la décennie s'achève sur
l'engouement pour les ondelettes et les images multimodales.
II.3. Opérateurs de traitement d'images
Par analogie avec les opérateurs mathématiques, on appelle opérateurs de traitement d'images
des traitements plus ou moins complexes prenant en entrée une image ou un ensemble
d'informations relatif à une image, et produisant une image ou un ensemble d'informations
relatif aux données initiales.
On classe généralement les opérateurs en différentes familles, en fonction des informations
qu'ils acceptent en entrée et qu'ils fournissent en sortie, et en fonction des transformations
qu'ils font subir aux données. Ainsi, par exemple, on distingue (cette liste est loin d'être
exhaustive)
Opérateurs image :
opérateurs de modifications pixel à pixel (aussi appelés opérateurs point à point)
changement de la dynamique de l'image, opérateurs binaires pixel à pixel (et, ou, xor,
etc.)
opérateurs locaux (traitent les pixels en fonction de leur voisinage) : opérateurs de
flou, opérateurs morphologiques (érosion, dilatation, squelette), opérateurs de détection
de contours ;
opérateurs dans l'espace fréquentiel : opérateurs de réduction du bruit, filtres passe-
bande (souvent utilisés en première approche pour améliorer l'image, on les appelle alors
des opérateurs de prétraitement)
opérateurs globaux : calcul des distances
opérateurs de croissance de régions : ligne de partage des eaux.
Opérateurs image ensemble d'informations
opérateurs de segmentation en frontières, en régions
opérateurs de classification de pixels
opérateurs de calcul de paramètres.
Opérateurs ensemble d'informations image
constructeurs d'image à partir d'une carte de régions ou d'une liste de frontières.
Les parties suivantes s'attachent à détailler les différents opérateurs et leurs applications
habituelles, puis à présenter la manière dont ils sont combinés pour construire une application
de traitement d'images.
II.4. Opérateurs locaux
Il faut alors utiliser des opérateurs de traitement plus complexes scindés bien souvent en deux
sous-catégories :
les opérateurs linéaires
les opérateurs non linéaires.
La première sous-catégorie comprend tous les opérateurs pouvant exprimer leur résultat
comme une combinaison linéaire des niveaux de gris d'un voisinage de l'image. Ces filtres
possèdent des caractéristiques spectrales, on parle ainsi de filtre passe-bas l'image devient
floue ou de filtre passe-haut les contours ressortent.
La deuxième sous-catégorie comprend le domaine de la morphologie mathématique, ainsi
que d'autres traitements comme les détecteurs de points caractéristiques, l'opérateur de Di-
Zenzo détecteur de contour généralisé au cas couleur, le filtre Retinex, ainsi que les
opérateurs homomorphiques(ceux qui travaillent sur le logarithme de l'image), mais aussi
tous les opérateurs permettant d'extraire par exemple des informations sur la texture de
l'image (matrice de concurrence, indice fractal, longueur de plage…).
On a souvent l'habitude de voir un détecteur de contours s'appliquer après un filtre linéaire
passe-bas qui rend l'image floue. La plupart du temps il faut combiner astucieusement filtre
non linéaire et filtre linéaire afin de détecter ce que l'on souhaite tout en faisant abstraction du
bruit.
Une fois le bruit éliminé et l'image restaurée afin de compenser les déformations introduites
par le milieu de transmission et l'optique d'acquisition, on peut passer à l'étape de
segmentation qui doit permettre de réaliser une partition de l'image en ensembles connexes
homogènes.
Il existe deux grandes catégories de segmentations :
la segmentation de région
la segmentation orientée contour.
La segmentation orientée contour connaît de nombreux progrès autour de l'utilisation de
contours actifs ou des ensembles de niveaux. L'introduction d'aspects probabilistes (chaînes
de Markov et champs de Markov) a permis de travailler en réduisant la connaissance a priori
nécessaire pour obtenir un traitement satisfaisant.
Dans cette étape on retrouve souvent une partie de classification des pixels en classes. On
essaye de regrouper au sein d'un même ensemble, aussi appelé classe, les pixels présentant
une même caractéristique : niveau de gris compris dans un certain intervalle ou dérivée
seconde supérieure à un certain seuil.
II.5. Filtres linéaires
II.5.1. Généralités
Un filtre linéaire transforme un ensemble de données d'entrée en un ensemble de données de
sortie selon une opération mathématique appelée convolution. Lorsqu'il s'agit de données
numérisées comme dans le cas du traitement d'image, la relation entre les valeurs des pixels
de sortie et celle des pixels d'entrée est décrite par un tableau de nombres, généralement
carré, appelé matrice de convolution ou noyau. Le temps de calcul est souvent réduit
lorsqu'on veut séparer un filtre en deux filtres dont la convolution mutuelle permet de le
reconstituer. Elle est utilisée en particulier pour créer un filtre à deux dimensions à partir de
deux filtres à une seule dimension vecteurs dans le sens horizontal et le sens vertical.
II.5.2. Lissage d'images
Ils sont utilisés pour atténuer les bruits d'origines les plus diverses qui polluent l'information,
en particulier dans la détection de contours considérée ci-après.
Techniquement, il s'agit de traductions discrètes de filtres continus qui, comme ceux-ci, ne
modifient pas le niveau global du signal. Les termes de la matrice de convolution sont donc
généralement des entiers à diviser par leur somme.
Filtre uniforme : il est obtenu par convolution de deux filtres unidimensionnels
rectangulaires. Toutes les composantes de la matrice ont la même valeur. L'imperfection
de ce filtre réside dans le fait qu'il introduit des déphasages.
Filtre pyramidal : la convolution d'un filtre rectangulaire avec lui-même conduit à un
filtre triangulaire grâce auquel les phases ne sont plus modifiées. Le filtre pyramidal est
obtenu à partir de filtres triangulaires dans les deux directions.
Filtre gaussien: ce filtre très populaire utilise la loi de probabilité de Gauss (voir Loi
normale multidimensionnelle). Des approximations de plus en plus précises peuvent être
obtenues, selon le théorème central limite par itération de l'un des filtres précédents.
Le filtre gaussien est utilisé comme constituant du masque flou qui améliore la netteté
apparente des photographies numériques. Bien qu'il soit popularisé par la photographie plus
ou moins artistique, il est également utilisé dans certaines techniques, comme l'astronomie3.
II.5.3.Détection de contours
Ces filtres transforment l'image d'entrée en une image noire sauf aux points où un contour est
détecté qui est marqué en blanc. Les valeurs absolues importent peu, il est sans intérêt de
changer d'échelle comme pour un lissage.
La détection est basée sur la dérivation selon les deux coordonnées. Si on considère
classiquement les signaux comme des sommes de sinusoïdes, la dérivation apparaît comme
un filtre passe-haut qui introduit donc du bruit à l'origine de faux contours. Pour l'amateur il
est recommandé, avant d'utiliser un filtre simple, d'atténuer ce bruit par passage dans un filtre
flou. Des méthodes plus élaborées ont été systématisées pour les professionnels.
Filtre dérivées premières. Le filtre le plus simple consiste à calculer les différences
entre pixels voisins sur les horizontales puis sur les verticales. Chaque extremum
correspond à un point d'un contour.
Filtre de Prewitt : le filtre de Prewitt introduit un flou, chacune des deux matrices
étant le produit du filtre dérivation dans la direction considérée par un filtre de flou
rectangulaire selon l'autre direction.
Filtre de Sobel: la technique précédente est améliorée en remplaçant le filtre
rectangulaire par un filtre triangulaire.
Filtre de Canny : c'est un filtre de Sobel précédé par un lissage gaussien et suivi par
un seuillage. Ce filtre est conçu pour être optimal, au sens de trois critères.
Filtre de Deriche : variante du filtre de Canny tout aussi efficace.
Filtre dérivées secondes : celles-ci se calculent simplement en différences finies et
c'est maintenant un changement de signe qui correspond à un point d'un contour. On les
utilise généralement à travers leur somme qui est le laplacien.
Filtre de Marr-Hildreth : le calcul du laplacien est précédé par un lissage gaussien
avec deux variances ajustables pour filtrer les hautes fréquences.
II.6. Opérateurs morphologiques
II.6.1. Définition
La morphologie mathématique offre des opérateurs non linéaires particulièrement utiles pour
filtrer, segmenter et quantifier des images. Initialement destinée au traitement des images
binaires, elle a très vite été généralisée aux images à niveaux de gris, puis aux images en
couleurs et multi-spectrales.
La nature des opérateurs morphologiques fait qu'ils se prêtent bien au développement de
circuits électroniques spécialisés.
II.6.2. Construction d'une application de traitement d’images
Les objectifs des applications peuvent être de différentes natures :
détecter la présence d'un objet ou son absence
calculer les caractéristiques d'un ou de plusieurs éléments de l'image.
Dans tous les cas, l'idée est, en partant d'une image initiale, d'en extraire des informations.
Pour cela, on va utiliser les opérateurs à la manière de « briques logicielles », en les
combinant et en les enchaînant. Ces techniques sont la base des systèmes de vision
industrielle.
De nombreuses briques sont disponibles permettant de créer des applications complexes et
évoluées.
II.7. La reconnaissance des objets
La reconnaissance d'objets est une branche de la vision artificielle et un des piliers de la
vision industrielle. Elle consiste à identifier des formes pré-décrites dans une image
numérique, et par extension dans un flux vidéo numérique.
Tout d'abord objet d'algorithmes dirigés par l'homme, jusqu'en 1995 (tentatives de reproduire
par un algorithme un raisonnement humain d'identification, comme dans un vélo possède
deux roues, un cadre…,la reconnaissance d'objets a fait l'objet de progrès importants par la
suite au travers de la mise en œuvre de techniques d'apprentissage, comme les séparateurs à
vaste marge. Ces techniques visent à faire exploiter des bases d'exemples positifs et négatifs
par un algorithme de recherche de critères discriminants, c'est-à-dire de critères permettant de
séparer au mieux les exemples des contre-exemples.
Quelques exemples concrets de traitement d’images
Contrôle de présence/absence. Sur des chaînes de production, on vérifie en bout de
chaîne avec une caméra vidéo la présence d'une pièce dans un ensemble plus complexe.
Pour cela bien souvent il suffit de faire un simple seuillage dans une région spécifique.
Contrôle du niveau de maturation des fruits sur une chaîne de conditionnement. Il
s'agit de reconnaître à la couleur et à la texture du fruit son degré de maturité et donc la
catégorie sous laquelle il sera emballé puis vendu.
Construction et correction de cartes géographiques d'après des images satellites ou des
images aériennes. On recale d'après des informations topographiques les images reçues,
puis on les met sur la carte en correspondance avec les informations trouvées dans l'image
: voies de communication, voies et plans d'eau, parcelles agricoles…
Surveillance et évaluation de la production agricole. Il est possible de déterminer le
degré de maturation des cultures, la quantité d'eau nécessaire pour l'irrigation, le
rendement moyen… On peut ainsi établir des prévisions à large échelle de la récolte à
venir.
Reconnaissance de l'écriture. La reconnaissance de l'écriture manuscrite progresse de
jour en jour. Elle est suffisamment opérationnelle pour que la majorité des adresses,
même manuscrites, soient reconnues automatiquement sur le courrier postal.
Recherche d'image par le contenu. L'objectif de cette technique est de rechercher,
parmi une base de données d'images, les images similaires à une image exemple, ou ayant
certaines caractéristiques, par exemple rechercher toutes les images comportant un vélo.
Analyse de la vidéo. L'objectif de cette technique devenue une discipline depuis les
années 2000 lorsque la puissance des processeurs peu onéreux et en particulier des PC a
permis des traitements puissants en temps réel est d'interpréter les faits observés à l'image
afin de signaler ou d'enregistrer des faits marquants. Le plus souvent, la caméra est fixe et
observe les mouvements d'une scène. Les applications sont nombreuses : protection des
biens (détection d'intrusion, détection d'objet abandonné ou déposé…), identification
(biométrie faciale), sécurité des personnes (détection de chutes de personnes,
franchissement de rambardes…), animations (planchers animés selon les mouvements des
danseurs en boîte de nuit), détection de feux (industriel, forêts, tunnels…), surveillance de
tunnels (comptage, mesure de vitesse, détection de fuites/anomalies dans les plafonds),
surveillance de tuyaux et autres process industriels…
Segmentation et suivi de cellules vivantes en microscopie. Cela permet d'analyser le
comportement d'une population de cellules et ainsi de détecter certaines anomalies.
Analyse et authentification de tableaux. L'étude des niveaux des couleurs des
pigments et des vernis permet une analyse approfondie des œuvres. Il est ainsi possible de
voir les restaurations successives et d'identifier les faux.
Calibration : opération consistant à trouver la relation entre les coordonnées dans
l'image et les coordonnées dans l'espace de la scène.
Filtre : autre nom d'un opérateur prenant une image en entrée et produisant une image.
Pixel : Mot-valise, contraction de « Picture élément », plus petit élément d'une image
numérique 2D.
Recalage : technique consistant à trouver une transformation géométrique permettant
de passer d'une image (dite source) à une autre image (dite cible).
Segmentation : opération qui consiste à extraire d'une image des primitives
géométriques. Les primitives les plus employées sont les segments (contours) ou les
surfaces (régions).
Squelettisation : permet d'obtenir le squelette d'une forme (objet de dimension
inférieure à celle de l'objet initial et qui préserve des informations topologiques ou
géométriques par rapport à l'objet).
Voxel : Mot-valise formé à partir de « volumic pixel ». Le voxel est aux cubes
d'image 3D ce que le pixel est aux images numérique 2D.
Zone d'intérêt : dans la mise au point d'un système de traitement d'images, il n'est que
rarement intéressant d'appliquer un opérateur de traitement d'images à la totalité de
l'image. Le plus souvent seule une partie de l'image doit être traitée. Cette zone est
nommée « zone d'intérêt ».
Détection de zones d'intérêt.
Domaines d’application
photographie
cinéma numérique
astronomie
contrôle de la qualité
contrôle non destructif
médecine
sécurité
microscopie
micro-tomographie
Recherche d'image par le contenu
Bibliothèques logicielles [modifier | modifier le code]
Aphelion interface et bibliothèque en C++ et C# (sous Microsoft Windows)
Image interface et bibliothèque en Java (libre)
OpenCV bibliothèque en C++ (libre) aussi disponible pour Python et Java
ITK bibliothèque en C++ (libre)
Image Procession Toolbox en MATLAB
Mahotas bibliothèque en Python (libre)
Scikit-image bibliothèque en Python (libre)
PIL bibliothèque en python (libre)
CImg bibliothèque en C++
Population bibliothèque en C++
Adobe Photoshop (scriptable)
Image de test standard
Articles
Retouche d'image
Trucage photographique
Photomontage
Imagerie médicale
Le tableau ci-après illustre le traitement du signal
Traitement du signal
Théorie Estimation
Analyses harmonique
Théorie Bruit de fond
Échantillonnage
Quantification
Ligne de transmission
Amplificateur
Filtre
Techniques Numérisation
Détection synchrone
Super-résolution
Radar
Telecommunications
Domaines
Traitement
Applications o Images
o Parole
o Son
o Video
Carré
Dents de scie
Signaux
Sinusoïdal
Triangulaire
Automatique
Électricité
Électrochimie
Électromagnétisme
Électronique
Électrotechnique
Robotique