Segmentation d`image : Application aux documents anciens

Transcription

Segmentation d`image : Application aux documents anciens
M ÉMOIRE DE MASTER DE RECHERCHE
« A RCHITECTURES LOGICIELLES DISTRIBUÉES »
Segmentation d’image
Application aux documents anciens
Thibault LELORE
mai 2007
encadré par José M ARTINEZ
—
Frédéric B OUCHARA,
Elisabeth M URISASCO,
Emmanuel B RUNO
—
L ABORATOIRE DES S CIENCES DE L’I NFORMATION ET DES
S YSTÈMES
Segmentation d’image
Application aux documents anciens
Thibault LELORE
Résumé
Dans ce document, nous présentons différentes méthodes de segmentation. Dans le cas de documents anciens, les techniques ont montré leurs limites. L’étude porte sur toute la chaîne de traitement d’image permettant de segmenter un document. En effet, ces documents sont généralement
fortement dégradés, ce qui rend difficile l’identification des différents éléments. Cette difficulté
rend l’utilisation de pré-traitements nécessaire afin d’améliorer la qualité des documents. Une
première partie est ainsi consacrée aux techniques de restauration d’images. La seconde partie
concerne l’état de l’art des méthodes de segmentation.
Catégories et descripteurs de sujets : I.4.6 [Segmentation]: Edge and feature detection, Pixel
classification; I.5.3 [Clustering]: Algorithms, Similarity measures; I.4.10 [Image Representation]: Statistical, Multidimensional
Termes généraux : Segmentation, feature aggregation, Bayesian approach, bottom-up, top-down,
texture, binarisation.
Mots-clés additionnels et phrases : Champs de Markov, heuristiques, seuillage adaptatif.
2
Remerciements
Lorsque je suis parti de Nantes pour mon stage, je ne connaissais que très peu de choses
du monde de la recherche. Étant de formation ingénieur, j’ai abordé mon stage sans arrièrepensées, bien décidé à trouver du travail dans une entreprise si l’expérience ne me plaisait
pas. Or, après quelques mois de travail au sein de l’équipe toulonnaise, j’ai pris goût à la recherche. Je tiens donc à remercier particulièrement Frédéric B OUCHARA, Elisabeth M URISASCO
et Emmanuel B RUNO pour l’ambiance chaleureuse qu’ils ont su partager avec le reste de l’équipe.
Leurs précieux conseils et leur esprit critique m’ont aussi été d’un grand secours, aussi bien pour
l’orientation de mes recherches que pour l’orientation de mon projet professionnel.
Je tiens à remercier Nicolas FAESSEL qui doit supporter ma présence dans son bureau à Marseille, ainsi que mes questions sur la vie étudiante dans le Sud. Par ailleurs, ses explications sur
le fonctionnement administratif du laboratoire m’ont permis de gagner beaucoup de temps et
d’énergie.
Je tiens aussi à remercier José M ARTINEZ, sans qui ce stage n’aurait pas pu avoir lieu. En
effet, son écoute et sa disponibilité m’ont permis de partir faire un stage dans le Sud, malgré les
difficultés que cela a posé.
Merci à Gilles M ULLER, qui m’a permis de suivre cette formation, malgré quelques petits
problèmes lors de l’inscription. Grâce à votre compréhension, j’ai pu, avec grand plaisir, découvrir le monde de la recherche.
Merci à Florian M OUSSOUS, qui travaille en aval de mes recherches. Il n’hésite pas à partager avec moi ses travaux et anticiper sur ses besoins afin de me simplifier le travail.
Enfin, un grand merci à tous ceux que je n’ai pas cité, ma famille, mes amis, mes collègues,
mais qui ont, chacun à leur manière, rendu possible ce stage.
Table des matières
1
2
Introduction
1.1 Présentation de la problématique
1.2 Objectifs poursuivis . . . . . . .
1.3 Travail à réaliser . . . . . . . . .
1.4 Contribution . . . . . . . . . . .
1.5 Plan de l’étude . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
5
6
7
8
8
État de l’art
2.1 Prétraitements . . . . . . . . . . . .
2.1.1 Bruit et autres dégradations
2.1.2 Restauration . . . . . . . .
2.1.3 Conclusion . . . . . . . . .
2.2 Segmentation . . . . . . . . . . . .
2.2.1 Binarisation . . . . . . . . .
2.2.2 Segmentation ascendante . .
2.2.3 Segmentation descendante .
2.2.4 Segmentation par texture . .
2.2.5 Conclusion . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9
9
9
10
15
15
15
24
30
33
36
.
.
.
.
.
3
Proposition
37
4
Expérimentations et résultats
38
5
Conclusion et perspectives
39
5.1 Résumé du travail effectué . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.2 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.3 Perspectives de recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4
Chapitre 1
Introduction
1.1
Présentation de la problématique
Le problème que rencontrent les bibliothèques numériques est proche du problème auquel
sont confrontés les moteurs de recherche. En effet, le problème n’est plus de récupérer l’information, car les moyens de communication permettent un accès rapide et fiable, mais bien de la
trouver parmi des millions de candidats potentiels. Généralement, ce qui est proposé est un accès
au catalogue des images numérisées ; accès rendu possible grâce à la mise en place d’outils de
recherche fonctionnant par mots-clefs. La mise en place et l’accès à ces bibliothèques numériques permettent d’introduire deux notions importantes que sont l’indexation des images et la
notion d’aide à la navigation. Ces deux concepts sont complémentaires. L’indexation consiste à
trouver un moyen d’associer aux images une information pertinente (métadonnées sur l’ouvrage,
index de mots, index d’illustrations . . .). La notion d’aide à la navigation, touche au problème de
l’accessibilité d’une information recherchée dans une masse de données de taille conséquente.
La phase d’indexation doit permettre d’extraire une grande quantité d’information, qu’il faut
analyser et structurer, pour permettre finalement l’accès à ce que recherche un utilisateur.
Il existe deux manières d’appréhender l’indexation. La question est avant tout de savoir comment extraire de l’information des images de textes numérisées ? Certaines bibliothèques numériques ont fait le choix d’indexer manuellement leurs images alors que d’autres ont fait le pari
de se lancer dans des solutions incluant de l’indexation automatique. Dans le premier cas, de
nombreux défauts comme la lourdeur de la tâche ou encore la subjectivité des mots-clefs choisis
pour indexer les documents rendent difficile sa mise en œuvre. Mais la deuxième approche, bien
que résolvant les deux précédents problèmes, n’est pas plus simple à mettre en place. En effet,
les documents numérisés sont parfois en mauvais état, mal numérisé et/ou dans un alphabet ne
permettant pas de retrouver facilement le texte dans les images.
Parallèlement à cette indexation de documents des bibliothèques, un autre problème se rapprochant de cette problématique a été soulevé par les bases de données multimédias. Les sites
comme YouTube1 où tout le monde peut déposer une vidéo, ou encore les bases de données
d’images, sont des sources intarissables de documents multimédias qu’il est parfois difficile
1
Site internet de partage de vidéos : http ://www.youtube.com/
5
d’indexer. Une bonne manière d’ajouter de l’information sémantique (par opposition à l’information bas niveau, comme une couleur, une texture. . .) est d’utiliser le texte présent dans l’image
[Wol03]. Il est alors possible d’obtenir le nom du présentateur, la ville, le sujet. . .
1.2
Objectifs poursuivis
C’est au cours d’un travail en partenariat avec une équipe de chercheurs italiens que le projet
est né. En effet, ces chercheurs italiens travaillaient sur des manuscrits médiévaux en occitan
de la région de Montpellier traitant de recettes médico pharmaceutiques, et avaient beaucoup
de mal à indexer et structurer les documents, notamment pour les rendre plus accessible à leurs
étudiants.
En associant les compétences des équipes I & M (Image & Modèles) et INCOD (Information et Connaissance Distribuées), ils eurent
l’idée de travailler sur un projet permettant de structurer et d’interroger
dans un environnement XML les documents manuscrits. L’équipe I &
M étant compétente en matière de segmentation et l’équipe INCOD en
matière d’interrogation de documents XML, la collaboration des deux
équipes était prometteuse. L’objectif de l’étude est de répertorier ce
qui se fait dans le monde de la segmentation pour ensuite, en accord
avec les deux équipes, proposer une solution. Ce stage s’inscrit donc
dans le cadre de la construction d’une maquette permettant d’illustrer
la représentation et l’interrogation de documents numérisés composés de zones de textes manuscrits, de zones de textes typographiques,
d’images et de schémas dans un environnement XML.
Ce projet peut être séparé en deux parties, comme le présente la figure 1.1. Mon travail concerne la première partie. Suite à la numérisation, en Italie, des documents anciens traitant de recettes médicopharmaceutiques, le but de cette partie est de repérer le texte, les images et
les annotations pour extraire une organisation physique du document. F IG . 1.1 – Déroulement
Un deuxième stagiaire se focalise sur la deuxième partie qui s’or- du processus
ganise en deux blocs : la modélisation des informations extraites du document et l’interrogation
de ces informations via un langage de requête étendant le langage XQuery2 .
Ce travail doit permettre, à terme, de pouvoir interroger au sein d’une même requête l’information spatiale extraite de l’image, l’information extraite du texte (obtenu par une traduction ou
par un logiciel de reconnaissance de caractères) et l’information sémantique (obtenu manuellement ou par relations spatiales). Une requête type pourrait donc être : « Quelle est la prescription
qui se trouve sur plusieurs pages, qui contient le plus de phrases et qui est illustrée par une
figure ».
2
XQuery est le langage de requêtes, recommandé par le W3C, pour les données XML
6
1.3
Travail à réaliser
Après une première phase de bibliographie, il est apparu que la segmentation de documents
bénéficiait déjà d’une littérature abondante. Cependant, peu de documents traitent des aspects de
binarisation de documents anciens, qui présentent de fortes dégradations.
Le travail à réaliser se focalisera donc sur la binarisation de documents dégradés pour extraire
le texte du fond (voir figure 1.2). Grâce à une méthode déjà existante, le document sera ensuite
segmenté pour produire une description interprétable par le second module d’interrogation. Les
documents utilisés présenteront un aspect fortement dégradé, avec un fond non uniforme, des
pages déchirées, froissés et/ou des tâches d’encre effaçant partiellement l’encre. L’objectif est
alors de retrouver les pixels de texte, et de séparer en deux classes le document : texte et fond.
F IG . 1.2 – Exemples de documents manuscrits.
7
1.4
Contribution
Les champs de Markov sont très utilisés en traitement d’image [Li95] et quelques approches
ont été proposées dans le cadre de la segmentation [WD02, ZLD03, NPH06]. Cependant, les
propositions ne sont pas satisfaisantes, dans le sens où elles intègrent des approximations ou des
simplifications dans le calcul des différentes probabilités. Par ailleurs, le taux de réussite n’est
pas compétitif par rapport aux méthodes récentes utilisant des heuristiques.
Afin de proposer une solution efficace et fiable, l’utilisation d’opérateurs statistiques éprouvés (comme les estimateurs robustes) doit permettre de partir sur des bases solides. Plutôt que
d’utiliser des règles définies empiriquement, qui permettent d’obtenir de bons résultats, mais
pour un domaine particulier, l’utilisation de ces opérateurs offre une plus grande généricité.
Par ailleurs, il n’existe pas à notre connaissance de documents traitant de la binarisation de
documents utilisant les champs de Markov avec les estimateurs robustes. Cette direction nous
semblant intéressante et prometteuse, nous avons donc décidé d’explorer cette voie.
1.5
Plan de l’étude
La segmentation fait partie d’une chaîne de traitement du signal : différentes transformations
sont appliquées à l’image avant de pouvoir être séparée en régions. Faire abstraction de ces étapes
successives rendrait plus difficile la compréhension et la justification des traitements, et ne permettrait pas d’avoir une vision globale du problème. C’est pourquoi le chapitre concernant l’état
de l’art débute sur une description des dégradations qui peuvent altérer une image, pour ensuite
décrire des méthodes de restauration. Ces méthodes sont souvent utilisées en prétraitement de la
segmentation. La section suivante traitera particulièrement de la segmentation et sera composé
de quatre paragraphes. Le premier concernera la binarisation, étape souvent préliminaire à la
segmentation, tandis que les paragraphes suivants se focaliseront sur les différentes techniques
de segmentation, classées suivant leurs approches.
La solution proposée sera décrite en détail dans la partie « Proposition » et les différents tests
et résultats seront présentés dans le chapitre suivant. Enfin, une conclusion résumera le travail
effectué et ouvrira sur d’autres perspectives de recherche.
8
Chapitre 2
État de l’art
2.1
Prétraitements
En raison de la multitude de sources de bruits, et surtout de la multitude d’effets de ces bruits
sur une image, il n’existe pas de technique de restauration générale, adaptée à toutes les situations. Il existe de nombreuses recherches permettant d’approcher ce traitement automatisé du
bruit [BC96] mais, en général, ces techniques cherchent à adapter les paramètres de traitements
spécialisés, en fonction d’estimations calculées à partir de l’image. Afin de bien comprendre
les enjeux de la restauration, le chapitre suivant s’intéresse aux bruits et aux perturbations qui
peuvent dégrader une image. Ensuite, les chapitres suivants présenteront plusieurs techniques
permettant de réduire les dégradations.
2.1.1
Bruit et autres dégradations
Avant de s’intéresser aux améliorations à apporter aux documents numérisés pour faciliter
leur interprétation, il est important de comprendre quels types de dégradations peuvent intervenir sur les images. Il existe deux types de dégradations : les perturbations aléatoires (bruit)
et les perturbations déterministes (comme le flou). Ces perturbations sont souvent identifiées et
formalisées afin de pouvoir prédire et donc réduire leur effet sur le signal capturé. L’origine des
perturbations est aussi diverse qu’il existe d’outils et d’environnements d’acquisition différents.
Il n’existe donc pas qu’un seul type de distorsion.
Les premiers bruits identifiés sont dus au matériel d’acquisition. Un capteur a une sensibilité
minimum, et si la luminosité ambiante se situe en dessous de ce seuil, des détails sont perdus.
Afin de résoudre ce problème, la solution la plus valable est d’augmenter la luminosité de la
scène, en prolongeant la durée d’exposition ou encore en ouvrant un peu plus l’objectif, le capteur
reçoit plus de lumière et passe le seuil minimal de rendement.
À l’inverse, pour les signaux ayant une amplitude trop élevée, on observe un phénomène
d’éblouissement. Les condensateurs emmagasinent une charge excessive qui a alors tendance
à s’écouler dans les cellules voisines, créant ainsi des effets de halo ou de traînée. Ces effets
étant difficiles à réduire après acquisition, la solution la plus souvent envisagée est de chercher à
9
réduire l’effet visuel en amont de la prise de vue, aussi bien pour les capteurs argentiques (couche
antihalo) que pour les capteurs numériques (isolation des cellules).
En plus de ces bruits inhérents aux technologies utilisées pour les capteurs, il y a une multitude d’autres sources de perturbations [Bui98]. Certaines sont négligeables, comme le bruit photonique (bruit grenaille) qui est dû à l’arrivée aléatoire des photons, tandis que d’autres gomment
fortement les détails d’une image. C’est le cas du flou. Cette distorsion est souvent dû à une
mauvaise mise au point, mais aussi, parfois, à une surface qui diffuse la lumière (la buée par
exemple). Il peut être aussi causé par le mouvement d’un objet ou de toute la scène. On parle
alors de flou de mouvement. Ces deux flous ne sont pas modélisés de la même manière. Dans le
premier cas, le flou est dit bidirectionnel et est approximé par un filtre moyenneur bidimensionnel
(souvent gaussien) tandis que dans le second cas, le filtre doit tenir compte d’une estimation du
mouvement pour adapter la répartition des coefficients en fonction de la direction et de l’intensité
du mouvement.
Enfin, il existe une autre sorte de perturbation, dû au support lui-même. Le temps ou des
événements indirects (une tache de café, le papier froissé) provoquent des perturbations dont la
modélisation par une loi de probabilité est plus complexe et nécessite l’utilisation d’outils adaptatif, c’est-à-dire fonction de paramètres locaux à l’image. La modélisation n’est plus fonction
d’une loi générale simple et nécessite l’utilisation d’outils comme les champs de Markov pour
prendre en compte d’autres paramètres spatiaux.
2.1.2
Restauration
Après avoir défini le bruit, nous allons nous intéresser à différentes méthodes permettant de
le réduire au maximum. Mais avant d’aller plus loin, il est important de rappeler que « le rôle du
traitement d’image n’est pas d’inventer les détails qui se sont évanouis à l’acquisition, il est de
transformer l’image pour qu’on puisse mieux distinguer les détails » [Leg96].
Filtre passe-haut
Le filtre passe-haut est un filtre linéaire principalement utilisé pour traiter les images dont les
petits détails ne sont pas assez présents. En effet, tout comme pour le son où les hautes fréquences
correspondent à de rapides variations, les petits détails d’une image correspondent à des hautes
fréquences. C’est le changement brutal de caractéristiques qui entoure le petit détail qui fait qu’il
se trouve dans les hautes fréquences. Par exemple, pour une musique dont on souhaite retrouver
le son d’un triangle (son particulièrement aigu, donc dans les hautes fréquences) au milieu d’un
orchestre symphonique, on appliquera un filtre passe-haut pour réduire le volume des autres
instruments qui se trouvent dans des fréquences plus faibles que le triangle. L’idée est la même
pour une image, où le triangle est le petit détail noyé dans le reste de l’image (l’orchestre), on
cherche alors à augmenter les transitions brutales de l’image.
En pratique, la réalisation d’un filtre passe-haut se fait en convoluant l’image avec un masque
dérivateur. Dans le principe, un filtre passe-haut peut se résumer à un filtre qui estompe le centre
de l’image fréquentielle (là où se trouvent les basses fréquences). Or, d’après l’équation 2.1, ce
10
(a)
(b)
(c)
F IG . 2.1 – Exemple de filtres passe-haut et passe-bas. (a) Image Lena d’origine. (b) Image après
filtrage passe-haut. (c) Image après filtrage passe-bas.
filtrage est strictement identique à une convolution dans le domaine spatial.
IF (µ, σ) = I(µ, σ) × H(µ, σ) ⇔ iF (x, y) = i(x, y) ⊗ h(x, y), avec
I(µ, σ) = T F (i(x, y))
(2.1)
avec IF l’image filtrée dans le domaine fréquentiel, iF l’image filtrée dans le domaine spatial,
T F la transformé de Fourier, H un filtre, × la multiplication classique et ⊗ la convolution. Ce
filtre est donc particulièrement adapté pour traiter le flou car il fait ressortir les petits détails que
le flou a estompés. Cependant, une adaptation de l’algorithme est nécessaire pour prendre en
compte la direction du flou dans le cas du flou de mouvement. Comme le filtrage n’est pas un
outil magique, il a des effets négatifs, dont le principal est d’amplifier le bruit de l’image. En
effet, le bruit est particulièrement présent dans les hautes fréquences et traiter une image par un
filtre passe-haut augmentera indifféremment petits détails et bruit.
Filtre passe-bas.
Contrairement au filtre passe-haut, le filtre passe-bas privilégie les grandes zones uniformes
de l’image. Comme nous l’avons vu précédemment, la fréquence se calcule en fonction de la
vitesse de changement de caractéristique dans l’image, donc une zone uniforme aura peu de
changements et donc aura une fréquence faible. Dans le même principe que pour un filtre passehaut, une implémentation possible est de convoluer l’image avec un noyau pour gommer les
hautes fréquences. Il est souvent intéressant, en traitement d’image, d’utiliser un filtre passe-bas.
En effet, un filtre passe-bas permet de réduire le bruit grâce à la localisation du bruit dans les
hautes fréquences. La simplicité du filtre lui permet d’être rapide et facile à mettre en place,
mais les hypothèses sur lesquelles il se base sont beaucoup trop réductrices (bruit uniforme,
gaussien. . .). Le principal inconvénient du filtre est de « flouter » l’image, faisant perdre les petits
détails ainsi que les contours. Afin de mieux réduire le bruit, les recherches se sont alors tournées
vers des applications non-linéaires pour essayer de lisser les régions homogènes sans toucher
aux zones de discontinuités [KB04]. Il existe différentes approches pour essayer de résoudre ce
problème, dont le filtre de Wiener.
11
(a)
(b)
F IG . 2.2 – Exemple de filtres. (a) Image d’origine. (b) Image après filtrage de Wiener adaptatif.
Adaptation du filtre de Wiener [GPP06]
Une adaptation du filtre de Wiener a été conçue pour se comporter comme un filtre passe-bas
sur les zones uniformes tout en conservant les discontinuités. La modification du filtre permet de
le rendre adaptatif à l’image. Ce filtre est donc tout particulièrement adapté à la restauration de
documents car il permet d’augmenter le contraste entre le texte et le fond tout en lissant le fond.
De plus, il se comporte aussi bien sur des documents manuscrits que sur des documents imprimés, car aucune hypothèse n’est faite sur la forme des discontinuités. Le filtre peut s’exprimer
ainsi :
I(x, y) = µ + ((σ 2 − υ 2 ) × (Is (x, y) − µ))/σ 2 ,
(2.2)
Avec
- I : image filtrée ;
- µ : moyenne des valeurs des pixels dans une fenêtre de taille N × N centrée en (x, y) ;
- σ : variance des valeurs des pixels dans une fenêtre de taille N × N centrée en (x, y) ;
- υ : moyenne de la variance des pixels dans une fenêtre de taille N × N centrée en (x, y) ;
- Is : image source.
Bien que ce filtre améliore la qualité des documents, il ne se comporte pas bien lorsque l’image
est fortement bruitée. Les chercheurs se sont alors tournés vers d’autres opérateurs mathématiques : les statistiques. En effet, en statistique, le problème de déduire une loi qui gouverne la
distribution des observations revient souvent, en image, à estimer l’influence du bruit sur les
observations. Cette estimation peut se faire de différentes manières, mais la méthode des estimateurs robustes est celle qui donne les meilleurs résultats.
Estimateurs robustes
Dans le cadre de la restauration d’image, l’estimation porte sur la valeur d’un pixel et cherche
à approcher sa « vraie »valeur, c’est-à-dire la valeur du pixel sans le bruit. Le problème principal
de la méthode des moindres carrés est qu’elle fournit des résultats erronés au voisinage des
contours. En effet, aux contours, deux modèles de caractéristiques s’opposent de part et d’autre
de la frontière et l’approximation par les moindres carrés ne résout pas correctement ce cas de
figure. Un estimateur robuste est un estimateur statistique dont on cherche à minimiser l’influence
de données atypiques sur l’estimation. Il existe plusieurs catégories d’estimateurs robustes.
12
(a)
(b)
(c)
F IG . 2.3 – Exemple de filtres. (a) Image Lena bruitée. (b) Image après filtrage par la médiane.
(c) Image après filtrage SNN.
Filtres EPNSQ Le premier algorithme que nous allons étudier est le filtre EPNSQ. Il a les
mêmes objectifs que les filtres robustes, mais il n’est utilisable que dans le contexte du traitement
d’image. Cet algorithme part du principe que la méthode d’estimation des moindres carrés est
proche de la réalité si l’image est homogène. En effet, dans ce cas l’image ne variant qu’à cause
d’un bruit supposé gaussien, l’estimation de la valeur réelle ne sera pas perturbée par des valeurs
exceptionnelles. L’algorithme utilise donc une fenêtre pour analyser le voisinage du point à estimer. Ensuite, l’algorithme calcule la variance de quatre zones autour du pixel et choisit celle
qui a la plus petite variance (et donc le caractère le plus homogène). Enfin, cette fenêtre est alors
utilisée pour calculer la valeur finale filtrée associée au pixel étudié.
Filtres d’ordre Les filtres d’ordre sont une autre famille d’estimateurs très utilisée. L’idée
est toujours d’utiliser une fenêtre autour du pixel pour étudier le voisinage du pixel. En supposant
que l’image est stationnaire dans la fenêtre et que le bruit est additif (et soustractif), la valeur des
pixels bruités sera loin des valeurs du centre. Le filtre s’écrit alors c = at .x0 avec c la valeur
filtrée, at le vecteur de pondération choisi généralement pour atténuer les valeurs éloignées de la
médiane et x0 le vecteur des valeurs des pixels de la fenêtre classé par ordre croissant d’intensité
de niveau de gris.
Un cas particulier de ce filtre est le filtre de la médiane, en choisissant le vecteur a ainsi :
a[i] =
1 si i = n/2
0 sinon
Ce filtre élimine efficacement le bruit. Il permet donc d’enlever les valeurs aberrantes, dû le plus
souvent au bruit. Mais on se rend bien compte que si l’on prend une grande fenêtre, l’hypothèse
de stationnarité n’est plus respectée, et l’on peut voir apparaître un phénomène d’étalement,
comme une peinture à la gouache.
M-estimateurs Le second estimateur est appelé le M-estimateur. C’est une généralisation
de l’estimation aux moindres carrés. Le vecteur M-estimé ĉ est déterminé en minimisant une
13
fonction de coût E définie par :
E(ĉ) =
n
X
ρ(xi − si (ĉ)),
(2.3)
i=1
avec :
- ρ(x) une fonction de pondération (si ρ(x) = x2 , on est ramené à l’estimateur des moindres
carrés) ;
- xi : valeur mesurée ;
- si (ĉ) : valeur estimée sans bruit.
Afin d’améliorer l’estimateur des moindres carrés, la fonction ρ(x) est choisie afin de ne pas
prendre en compte de manière trop importante les valeurs éloignées de l’estimation. Ainsi, il
existe plusieurs définitions de ρ(x) dont la courbe de Tukey (Eq. 2.4) ou celle de Cauchy (Eq. 2.5)
[Bou06].
ρ(x) =


1
1− 1−
6

1
6
3
x 2
C
ρ0 (x)
x
ρ(x) =
C2
2
log 1 +
( =
1−
2
x 2
C
0
x 2
C
Si |x| ≤ C
(2.4)
Si |x| > C
ρ0 (x)
x
=
1
x 2
1+( C
)
(2.5)
La principale difficulté pour calculer cette estimation vient du fait qu’il est nécessaire de connaître
l’approximation pour calculer l’approximation. . . Dans sa mise en œuvre, une première estimation est réalisée en utilisant la méthode des moindres carrés. Puis le calcul de ρ(x) est effectué
grâce à cette première estimation, et une nouvelle estimation est effectué, en fonction de la nouvelle fonction ρ(x) (en réalité, en fonction de ρ0 (x)/x). L’algorithme alterne ainsi le calcul des
pondérations et de l’estimation jusqu’à la stabilisation des résultats. L’idée est donc de petit à
petit réduire l’importance des pixels éloignés de l’estimation initiale. Mais encore une fois, l’estimation n’est pas toujours réussie, car si la première estimation est mal calculée, la suite de
l’algorithme peut donner plus d’importance aux pixels ne suivant pas la norme qu’aux pixels
étant normalement important.
L’intérêt d’un estimateur robuste est de pouvoir supprimer le bruit dit de « poivre et sel »,
c’est-à-dire un bruit ponctuel mais fort. Ce bruit en image est causé généralement par les décharges électriques des capteurs, ou plus souvent dans les images obtenues à partir d’une source
cohérente, comme un sonar ou un radar. Le bruit s’appelle alors le « Speckle ».
Filtre SNN
Afin de retrouver les avantages des estimateurs robustes dans le cadre de la restauration
d’image, plusieurs solutions ont été envisagées. Certaines très coûteuses en temps de calcul
14
(comme le filtrage anisotropique) ne peuvent être misent en place lors de la segmentation d’ouvrages. En effet, la segmentation étant déjà lourde en temps de calcul (ajouter un prétraitement
long rendrait impossible le traitement de grandes bases d’images). Le filtre SNN (pour Symmetric Nearest Neighbor : Voisins proches symétriques) résout le problème précédent, de manière moins fine certes, mais de manière plus rapide. Le principe est de déplacer une fenêtre sur
l’image, et de supposer que la fenêtre contient non plus une région constante mais une frontière
entre deux régions constantes. En regroupant les pixels de la fenêtre deux à deux, symétriquement par rapport au pixel étudié, puis en choisissant dans chaque paire le pixel le plus proche du
pixel étudié, et enfin en calculant une moyenne entre les valeurs. En raison de sa simplicité de
principe et de mise en place, cet opérateur a été souvent utilisé.
2.1.3
Conclusion
Il existe d’autres solutions de restauration, comme la prise en compte de plusieurs images
dans une vidéo, mais leur nombre et leur intérêt pour notre sujet rendent leur présentation peu
utile. On trouvera ailleurs [BK97] un état de l’art conséquent sur les techniques de restauration
d’images ainsi que plus de détail sur différentes techniques, comme la restauration d’images
fortement compressées par JPEG.
2.2
Segmentation
La segmentation est nécessaire pour pouvoir traiter correctement la masse de données multimédias véhiculées toute la journée à travers le monde. De nombreuses techniques ont été trouvées, certaines plus performantes que d’autres, mais comme nous allons le voir, le plus souvent
destinées à un domaine particulier. La multitude de techniques rend leur présentation difficile,
et réaliser une simple énumération est un piège qu’il faut éviter. La présentation des différentes
techniques est séparée en fonction de l’approche, afin de rendre plus clair les différences qui
existent entre les techniques, mais parfois ce découpage n’est pas correct car certaines techniques combinent les approches. Différentes méthodes de classements existent [KJJ03], mais
aucune ne permet de mettre parfaitement en avant les différences. La binarisation étant une étape
préliminaire à la segmentation, le chapitre suivant présente en détail les différentes méthodes de
binarisation. Ensuite, les chapitres suivants présenteront les différentes techniques de segmentation.
2.2.1
Binarisation
Segmenter une image en couleurs peut être extrêmement coûteux. Traiter une image en couleurs de taille moyenne revient à caractériser quelques 500 000 points (800 × 600), et trouver la
classe (ou le type) d’un point nécessite bien souvent la prise en compte de nombreux facteurs
(l’histogramme, la couleur. . .). Afin de simplifier les traitements, de nombreuses recherches se
sont orientées vers la binarisation de l’image. Binariser une image revient à segmenter l’image
en deux classes : le fond et l’objet. D’où le paradoxe suivant : accélérer la segmentation d’une
15
F IG . 2.4 – Seuil minimal de recouvrement.
image nécessite une segmentation ! Cependant, segmenter une image en deux classes est beaucoup plus simple que de la segmenter en un nombre inconnu (et minimal) de classes. De plus,
puisqu’il n’existe que deux classes, il est plus simple de caractériser les classes. Enfin, binariser
une image permet aussi de compresser les documents de manière plus importante. Nous allons
voir dans ce chapitre différentes techniques permettant de binariser une image.
Seuillage global
Le principe du seuillage global est d’utiliser une valeur seuil à partir de laquelle on peut
choisir à quelle classe le pixel appartient. La transformée peut s’écrire ainsi :
∀i, j ∈ N × M I(i, j) =
1 si f (i, j) > S
,
0 sinon
(2.6)
Avec
- N × M : nombre de colonnes et de lignes de l’image ;
- I : image binarisée ;
- f : valeur fonction de l’image d’origine ;
- S : seuil de binarisation.
Cependant, cette technique pose beaucoup de problème. Le premier est de définir le seuil. La
grande majorité des techniques utilisent l’histogramme des niveaux de gris pour choisir le seuil
à appliquer. Dans le cadre bayésien, un histogramme peut être vu comme étant la somme des
lois de probabilités des différentes classes de l’image. Le bruit étant souvent supposé gaussien, il
affecte la probabilité d’observer une classe en étalant sa loi de probabilité initiale, plus ou moins
fortement suivant le bruit. En faisant l’hypothèse qu’il existe seulement deux classes générant
des lois de probabilités, il faut choisir un seuil où le recouvrement des deux lois est minimal (Cf.
figure 2.4). Cependant, à cause du bruit, il n’est pas toujours facile de détecter les deux lois de
probabilités. Wu et al. proposent alors de filtrer l’image avec un filtre passe-bas. Ils expliquent
que le bruit sur le fond produit plus de hautes fréquences que le texte [WM98]. Cela permet bien
souvent de séparer les deux modes de l’histogramme, et donc facilite le choix du seuil. Mais cette
solution ne permet pas de trouver un seuil global (puisqu’il n’existe pas, cf. figure 2.5), dans le
cas d’une mauvaise illumination du document, ou dans le cas où le texte passerait de noir sur
16
fond blanc à blanc sur fond noir. Pour pallier à ces problèmes, il fallut trouver des techniques
permettant d’adapter localement le niveau du seuil.
F IG . 2.5 – Problème de seuillage global.
Seuillage local
Le principe du seuillage local est d’utiliser une étude localisée autour du pixel pour déterminer quel seuil utiliser. Pour réaliser cette étude locale, les techniques utilisent une fenêtre d’étude
centrée sur le pixel à étudier. Cette fenêtre peut avoir différentes tailles, souvent en fonction de la
taille moyenne du texte dans le document. Le premier à proposer une technique donnant de bons
résultats fut Bernsen en 1986 [Ber86]. Mathématiquement, le calcul du seuil peut s’écrire ainsi :
S(i, j) = (max(i, j) + min(i, j))/2,
(2.7)
Avec :
- S(i, j) : seuil à appliquer pour le point i, j ;
- M ax(i, j) : valeur du niveau de gris maximal dans une fenêtre centré - en (i, j) de taille N ×M ;
- M in(i, j) : valeur du niveau de gris minimal dans une fenêtre centré en (i, j) de taille N × M ;
- N et M appartenant à N.
Cependant, ce filtre est très sensible au bruit du fond. À cause de la prise en compte du maximum
et du minimum uniquement, dans le cas où la fenêtre est uniquement sur du fond, le bruit sera
interprété comme objet, car le seuil sera bas. La même année, Niblack proposa une méthode
similaire sur le principe, mais prenant en compte d’autres paramètres [Nib86]. Dans sa méthode,
le seuil est calculé ainsi :
S(i, j) = µ(i, j) + k × σ(i, j),
(2.8)
Avec :
- S(i, j) : seuil à appliquer pour le point i, j ;
- σ(i, j) : valeur de l’écart type dans une fenêtre centré en i, j de taille N × M ;
- µ(i, j) : valeur moyenne des niveaux de gris dans la même fenêtre ;
- k : constante fixée le plus généralement à 0, 2 ;
- N et M appartenant à N.
Bien que victime du même problème que précédemment, la méthode est plus efficace. Une autre
17
F IG . 2.6 – Courbe des niveaux de gris sur une ligne et seuillage adaptatif.
méthode à souligner car souvent citée (et donnant de bons résultats) est la méthode de Trier en
Taxt [TT95]. Cette méthode passe par une étape où l’image est ternaire pour ensuite affiner la
segmentation.
Sauvola, en 2000, proposa une amélioration de la méthode de Niblack afin de réduire sa
sensibilité au bruit sur le fond [SP00]. Le seuil est alors calculé ainsi :
S(i, j) = (µ(i, j) + k.((σ(i, j)/R) − 1))
avec les mêmes notations que pour Niblack et R étant une constante permettant d’ajuster la
dynamique de l’écart type (fixé en général à 128). Le gain apporté par cette pondération permet
à la méthode d’être très satisfaisante dans le cas de documents mal éclairés et fait passer de 89 %
à 95 % le taux moyen de reconnaissance par un logiciel de reconnaissance de caractères (sur une
base de 15 documents éclairés non uniformément).
La moyenne et la variance ne sont pas les seuls critères permettant de fixer le seuil. Certaines
techniques prennent en compte des paramètres comme le « run length »(nombre maximum de
pixels à suivre ayant les mêmes caractéristiques) ou le nombre des pixels inférieur au seuil pour
adapter des paramètres internes [YY00], tandis que d’autres se basent sur une représentation
probabiliste du bruit pour savoir comment fixer le seuil [Don95]. Certaines techniques récentes
s’intéressent à la binarisation d’images couleurs [GPH05] en utilisant un algorithme modifié des
Composantes Connexes pour identifier le fond et les objets. Le comparatif réalisé par Trier en
1995 [TJ95] compare dix méthodes de seuillage local, dont la majorité des méthodes citées, et le
meilleur résultat est obtenu par Niblack, qui fut amélioré cinq ans plus tard par Sauvola. Mais la
binarisation des images en niveaux de gris n’étant toujours pas parfaite, en 2002 Wolf proposa
une approche différente utilisant les champs de Markov.
Champs de Markov [WD02]
Du fait de la forte variabilité inhérente aux documents, une modélisation formelle de la structure est difficilement envisageable, car trop rigide. Les modèles stochastiques s’accommodent
mieux des incertitudes. Les champs de Markov permettant de représenter une relation de voisinage, ils sont particulièrement adaptés à la segmentation puisqu’il existe beaucoup de relations
spatiales dans une image. La théorie des champs Markoviens a donc été largement développée
ces dernières décennies et appliquée dans différents domaines du traitement d’image [Li95]. La
segmentation (et donc la binarisation) se ramenant à la définition de la classe X d’un pixel en
fonction de sa valeur Y , le problème est donc de calculer la configuration optimale du champ
d’étiquettes X qui maximise la probabilité a posteriori P (X/Y ). Grâce au théorème de Bayes,
18
(X)
on a P (X/Y ) = P (Y /X)∗P
, ce qui est plus facile à caractériser. En appliquant les hypothèses
P (Y )
Markoviennes et d’indépendance entre les observations, on obtient :
Y
Y
x̂ = arg max
P (ys /xs )
P (xs /xh , h ∈ N G(s)) ,
(2.9)
avec
-N
QG(s) désigne le voisinage du site s ;
- Q P (ys /xs ) représente la vraisemblance de la classe par rapport à l’observation ;
- P (xs /xh ,h ∈ N G(s)) représente la connaissance contextuelle introduite par le modèle.
Il s’agit de la probabilité a priori de la configuration x du champ X. Afin de rendre calculable
cette estimation, ce terme peut être réécrit ainsi :
X
1
P (X) = ∗ exp −
Vc (X) ,
(2.10)
Z
avec :
- C un ensemble de cliques associés au voisinage N G (Une clique étant un sous-ensemble de
sites mutuellement voisins) ;
- Vc est la fonction de potentiel de la clique c ;
- Z est un terme de normalisation.
On peut ainsi introduire la notion d’énergie en calculant le logarithme négatif de la probabilité
jointe P (X, Y ), soit :
Y
X
1
U (X, Y ) = − log
P (ys /xs ) − log
(2.11)
exp(−
Vc (X))
Z
X
X
1
U (X, Y ) =
− log (P (ys /xs )) − log
(2.12)
+
Vc (X)
Z
Finalement le problème deP
la segmentation revientPà un problème de minimisation de la fonction
d’énergie : x̂ = argmin (− log P (ys /xs )) + (Vc (X)). Cette fonction d’énergie peut être
minimisée en utilisant un algorithme d’optimisation, comme le recuit simulé.
Pour simplifier les calculs de binarisation, on suppose que le bruit qui vient perturber les
observations suit une loi de Gauss. Ainsi, P (Y /X) est approximé de cette manière :
kX − Y k2
2 −N
2
,
(2.13)
P (Y /X) = (2πθn ) exp
2πθn2
en prenant X={0,255} et θn2 la variance. Cependant, cette estimation est trop réductrice car les
valeurs de X ne sont pas toujours aussi extrêmes : le texte n’est pas toujours à 0 mais peut être à
10 par exemple, à cause du bruit. L’idée de Wolf est alors d’ajouter une fonction C pour modifier
les valeurs de X lors du calcul du bruit résiduel (kC(X) − Y k). Hélas, la fonction C, qui revient
à trouver l’incidence du bruit sur chaque pixel, n’est pas calculable simplement. Il décide alors
d’utiliser le calcul de Sauvola [SP00] pour adapter localement le calcul du bruit résiduel. La
fonction d’énergie devient alors kX − Y + T − 127.5k, avec T le seuil calculé avec la méthode
de Sauvola. Donc le problème du maximum a posteriori peut se calculer ainsi :
arg max(P (X) × P (X/Y ))
19
(2.14)
, soit
arg max P (X) ×
N
(2πθn2 )− 2 exp
kX − Y + T − 127.5k2
2πθn2
(2.15)
La variance θn2 est approximé en regardant dans une fenêtre centrée autour du pixel et séparant
l’histogramme en deux classes en utilisant le critère d’Otsu (qui revient à maximiser la variance
intra classe) [N.O79]. θ est alors calculé en multipliant par une constante (fixé à 0, 5) la variation
intra classe.
Enfin, le calcul de P (X), ou plutôt d’après l’équation 2.10, le calcul de Vc (X) se fait d’après
la fréquence d’occurrence dans une clique de chaque classe, par apprentissage. Le calcul de
Vc (X) est celui ci :
1
1 P 0 (xi )
(2.16)
Vc (xi ) = − ln
, avec
B
Z Pi (xi )
P 0 (xi ) =
X
P (xi )k d(i,j) (1 − k)u(i,j)
(2.17)
xi
où Pi (xi ) est la probabilité de trouver la classe xi dans la clique i.
d(i, j) est le nombre de bits différents entre deux cliques de classes xi et xj .
u(i, j) est le nombre de bits identiques entre deux cliques de classes xi et xj .
k est un coefficient de lissage.
Cependant, les auteurs soulignent que leur méthode ne permet pas d’améliorer de manière
significative les méthodes déjà existantes. Mais la définition de la fonction d’énergie ainsi que
de la variance peuvent être améliorés et ainsi augmenter les performances. La même année, un
autre chercheur proposa une approche tout aussi différente : l’utilisation d’un modèle de montée
des eaux (Water Flow Model).
Montée des eaux [KJP02]
L’idée que Kim proposa fut d’imaginer qu’une image est en réalité une surface tridimensionnelle, avec les niveaux de gris représentant l’altitude. Ainsi, un pixel noir représente une vallée et
un pixel blanc une montagne. En utilisant cette représentation, il simule une pluie, uniformément
répartie sur toute la surface de l’image, pour ensuite calculer l’écoulement de l’eau. En répétant
plusieurs fois l’algorithme, et en étudiant les zones « sèches » et les zones « humides », il est
possible alors de séparer en deux classes l’image. Le modèle utilisé pour le mouvement de l’eau
se base sur la recherche locale du plus bas niveau de gris. L’algorithme réitère plusieurs fois le
déplacement d’une fenêtre centrée autour du pixel représentant le minimum local pour simuler l’écoulement de l’eau. Enfin, une méthode de seuillage global binarise l’image en fonction
du niveau de l’eau. Mais cette méthode a l’inconvénient majeur d’avoir un paramètre manuel à
ajuster : le nombre d’itérations pour l’algorithme d’écoulement de l’eau. Ce paramètre, global,
n’est pas adapté à toutes les images, et donc à toutes les propriétés. Il y a donc des images pour
lesquelles la méthode ne marche pas bien du tout.
20
Méthode de Gatos et al. [GPP06]
Bien qu’il existe de nombreuses méthodes de binarisation, aucune ne résout le problème
de façon générique. Certaines nécessitent un ajustement manuel des paramètres, d’autres ne
prennent pas en compte les différences d’éclairage, et d’autres sont très sensibles au bruit. L’idée
qu’ils eurent alors est de combiner différentes méthodes ayant des propriétés complémentaires
afin de réaliser une binarisation automatique capable de traiter des documents dégradés. Ils décrivent leur méthode comme une succession de cinq phases. La première cherche à améliorer
la qualité du document. Le choix du filtre s’est porté sur Wiener (cf. page 12) pour sa capacité
à lisser le fond et à augmenter le contraste. Ils cherchent ensuite à estimer la valeur du fond de
l’image. Ils réalisent cette opération en deux phases. En utilisant l’algorithme de Sauvola [SP00],
il fait une première estimation de l’avant plan. Une fois les régions détectées, les pixels détectés
comme objet sont remplacés par une interpolation avec les pixels voisins.

si S(x, y) = 0
 I(x, y)
Px+dx
Py+dy
B(x, y) =
,
(2.18)
ix =x−dx
iy =y−dy (I(ix ,iy )(1−S(ix ,iy )))
Px+dx
Py+dy
si S(x, y) = 1

((1−S(i ,i )))
ix =x−dx
iy =y−dy
x y
avec :
- B(x, y) : image du fond estimée ;
- I(x, y) : image d’origine après le filtrage de Wiener ;
- S(ix , iy ) : Image binaire obtenue à partir de la segmentation de Sauvola.
Le seuillage final est réalisé en comparant l’image filtrée avec l’image du fond. Les zones de
texte sont détectées si la distance entre l’image filtrée et l’image de fond est supérieure à un seuil
d. Ce seuil d doit varier en fonction de l’image du fond, pour que dans le cas d’un fond sombre,
le seuil soit fixé plus bas pour pouvoir séparer le texte du fond. Cette opération est donnée par la
formule :
1 si B(x, y) − I(x, y) > d(B(x, y))
(2.19)
T (x, y) =
,
0 sinon
avec :
- T (x, y) : image binaire binale ;
- d : fonction de seuillage.
Le seuil d est donc fonction de la distance moyenne δ entre l’image du fond et l’image filtrée.
Une première évaluation leur avait permis de fixer d = K × δ. Cependant, dans le cas d’une
image sombre, le seuil K (qui est fixé à 0,8) n’est plus bon. Donc pour que la méthode soit correcte dans le cas où l’illumination du document ne serait pas constante, ils cherchèrent à adapter
la constante en fonction de l’intensité moyenne du fond. Ils utilisent pour cela une fonction sigmoïde permettant d’adapter « en douceur » la constante. Finalement, d est calculé ainsi :


(1 − p2 )
+ p2 
(2.20)
d(B(x, y)) = q ∗ δ ∗ 
−4B(x,y)
2(1+p1 )
1 + exp b∗(1−p1 ) + 1−p1
- d(B(x, y)) : seuillage final en fonction de l’image binaire ;
- q, p1 etp2 : constantes permettant d’ajuster le niveau de seuil ;
21
- b(x) : moyenne de la couleur du fond dans une fenêtre entourant x, y.
Enfin, la dernière phase permet d’enlever les bruits détectés comme étant du texte. Cette phase
de posttraitement permet aussi de préserver la connexité des pixels. Elle est effectué en deux
parties : la première permet d’éliminer les pixels isolés en comparant leur voisinage, la seconde
permet d’ajouter des pixels là où il y a un « trou » en comparant le nombre de pixels de texte
avec un seuil. La méthode est testée face à quatre algorithmes (voir figure 2.7), dont celui de
Sauvola, et les résultats sont très intéressants. La distance entre le texte réel et les caractères
reconnus est bien plus faible que pour les autres méthodes. Hélas, bien que la méthode ait de
très bon résultat, elle ne permet pas de binariser un texte blanc sur un fond noir. En effet, à
plusieurs reprises, l’hypothèse que le texte se trouve dans les valeurs faibles des niveaux de
gris empêche cette généralisation. Il n’y a pas, à ma connaissance, de méthode permettant de
s’affranchir efficacement de cette contrainte.
(a)
(b)
(c)
(d)
(e)
(f)
F IG . 2.7 – Différents filtrages : (a) image originale ; (b) méthode d’Otsu [N.O79] ; (c) méthode
de Niblack [Nib86] ; (d) méthode de Sauvolaet al. [SP00] ; (e) méthode de Kim et al. [KJP02] ;
(f) méthode de Gatos et al. [GPP06]
22
Conclusion
La binarisation est encore un sujet de recherche très actif, malgré le nombre de publications
dans ce domaine. En effet, il est bien souvent nécessaire d’adapter une technique en fonction de
la problématique, et puisqu’il existe différentes problématiques, il existe différentes solutions. Le
tableau 2.1 résume les différentes méthodes de binarisation rencontrées au cours de l’état de l’art
en mettant en avant les avantages et les inconvénients de chacune des méthodes. Par ailleurs, il
est important de bien séparer les difficultés de binarisation liées à un éclairage non uniforme (ce
dont la majorité des techniques traitent correctement) des difficultés liées à un fond non uniforme
(comme du texte sur une illustration).
Nom
Otsu
[N.O79]
Année
1979
Bernsen
[Ber86]
1986
Niblack
[Nib86]
1986
Trier
[TT95]
1995
Wu
[WM98]
1998
Sauvola
[SP00]
2000
Kim
[KJP02]
2002
Type
Principe
Seuillage D’après
l’histogramme,
global
cherche à maximiser la
variance intra-classe du
« texte » et du « fond ».
Seuillage Estime la valeur du seuil en
local
faisant la moyenne de la plus
haute et la plus basse valeur
de la fenêtre.
Seuillage Amélioration de [Ber86] :
local
prise en compte de la variance
et de la moyenne.
Seuillage « Ternarise » l’image en fonclocal
tion du gradient puis utilise
une heuristique pour réduire à
deux classes.
Seuillage « Floute » l’image pour mieux
global
séparer l’histogramme et utilise une méthode de seuillage
global [N.O79].
Seuillage Insère des constantes dans
local
la méthode de [Nib86] afin
d’améliorer la méthode sur
les zones uniformes.
Seuillage Utilise la valeur des pixels
local
comme courbes de niveaux
pour simuler une montée des
eaux.
Inconvénients
Problèmes pour les documents mal éclairés.
Le seuil est trop bas lorsque
la fenêtre est centrée sur du
fond.
Même
problème
que
[Ber86] : apparition de
bruit sur les zones uniformes.
L’utilisation de seuils définis
empiriquement rend la méthode peu robuste.
Problèmes lorsqu’il n’y a
pas deux modes distincts sur
l’histogramme.
Les constantes à ajuster empêchent la méthode de traiter
parfaitement des documents
non uniformes.
Difficultés à adapter le débit
de l’eau ou le nombre d’itérations au document.
Suite page suivante . . .
23
Suite de la page précédente . . .
Nom
Wolf
[WD02]
Année
2002
Garain
2005
[GPH05]
Gatos
[GPP06]
2006
Type
Principe
Seuillage Utilise les champs de Markov
local
pour savoir où se trouvent les
caractères.
Seuillage Utilise les composantes
local
connexes pour créer un
graphe d’adjacence qui est
ensuite réduit.
Seuillage Cherche à estimer le fond
local
pour ensuite faire un seuillage
sur la différence entre le fond
et l’image d’origine.
Inconvénients
L’utilisation de [SP00] rend la
technique victime des mêmes
limitations que pour Sauvola.
Marche mal si l’image à traiter contient des illustrations.
Très bonnes performances.
TAB . 2.1 – Différentes techniques de binarisation
2.2.2
Segmentation ascendante
La catégorie des algorithmes de segmentation ascendante est caractérisée par le fait que
l’analyse part de composants de bas niveau (comme les pixels) pour essayer de les fusionner
en utilisant des heuristiques. Il existe de nombreuses variantes, certaines se focalisant sur la caractérisation des composants de bas niveaux, tandis que d’autres cherchent à bien modéliser les
règles de fusion des régions. La grande majorité des techniques utilisent la notion de composantes connexes. Ce sont des composants de bas niveau ayant les mêmes propriétés (comme un
même niveau de gris) et qui sont liés spatialement. Il existe plusieurs définitions de cette notion
de « relation spatiale » comme la 4-connexité ou la 8-connexité. La première méthode étudiée est
encore très utilisée car relativement simple à mettre en œuvre. Il s’agit de la méthode dite RLSA
(Run Length Smoothing Algorithm) [WCW82].
Algorithme RLSA [WCW82]
Il s’agit d’une méthode itérative basée sur des opérations morphologiques de traitement
d’image. Le principe de cette méthode est de noircir toute séquence de pixels blancs comprise
entre deux pixels noirs, de longueur inférieure à un seuil donné. En pratique l’algorithme est appliqué horizontalement et verticalement sur l’image binaire originale avec des seuils éventuellement différents pour l’horizontale et la verticale, puis une opération « ET logique » est appliquée
entre les deux images lissées obtenues. L’extraction des composantes connexes de l’image résultante permet d’obtenir les entités de la structure physique sur un niveau hiérarchique donné. On
peut ainsi, en répétant la procédure avec des seuils de lissage horizontal et vertical différents, extraire itérativement les blocs de l’image, puis les lignes de texte et les mots. Ces seuils de lissage
sont les seuls paramètres de l’algorithme RLSA. Ils contrôlent la manière dont les composantes
sont fusionnées sur un niveau de segmentation prédéterminé. Par exemple pour segmenter des
lignes de texte horizontales, droites et bien espacées, on pourra utiliser un seuil de lissage vertical
24
a : Image originale
b : Lissage horizontal
c : lissage vertical
d : RLSA
F IG . 2.8 – Segmentation RLSA.
nul et un seuil de lissage horizontal suffisamment grand pour combler les espaces interlettres et
inter-mots.
Cet algorithme a l’avantage, en plus d’être très simple à mettre en œuvre, de ne requérir qu’un
nombre limite d’itérations pour atteindre la segmentation complète du document. La principale
difficulté dans l’utilisation de cet algorithme est le réglage des seuils de lissage qui est délicat.
Il est nécessaire de déterminer les seuils adéquats pour chaque niveau de segmentation. De tels
seuils ne peuvent être déterminés qu’empiriquement. De plus, pour une itération donnée, ces
seuils sont constants. Il faut donc que pour le niveau de segmentation considéré, les espaces
entre les composantes de l’image à fusionner soient aussi constants. Antonacopoulos proposa
une autre méthode basée, elle aussi, sur une approche en composantes, dont la grande différence
est le regroupement en composants des espaces plutôt que des caractères [Ant98]. En effet, ce
sont généralement les espaces qui séparent les différents objets d’une image. En détectant les
espaces, l’approche permet d’isoler les régions, sans avoir besoin de les caractériser. Cependant,
la méthode reste sensible au bruit du fond et marche mal si les caractères ou les lignes se touchent.
Utilisation d’heuristiques
L’inconvénient des méthodes précédentes est du même type que la binarisation à seuil global : elle est trop générale pour s’adapter à des documents ayant des caractéristiques variées. De
même que pour la binarisation, les recherches se sont alors tournées vers des méthodes adaptatives. Ainsi, la méthode de Messelodi prend en compte différents paramètres pour fusionner les
composants connexes [MM99]. Afin d’obtenir les composantes connexes, l’image est d’abord
binarisée pour ensuite regrouper les pixels en groupes connexes. La méthode de binarisation utilisée est un seuillage global, réalisé deux fois pour extraire le texte noir sur fond clair et le texte
clair sur fond sombre. Les deux images sont ensuite traitées séparément. Ensuite, en partant de
l’hypothèse que les composants connexes contiennent tout le texte mixé avec du bruit, des heuristiques permettent de trier les bonnes composantes des mauvaises. La première heuristique sert à
détecter le bruit et se base sur le nombre de pixels de la composante. En effet, le bruit produisant
de petites tâches, il suffit de fixer un seuil au-dessous duquel la composante est classée comme
bruit (en faisant attention aux ponctuations). Ensuite, la taille de la composante comparée avec
25
la taille de l’image permet de pondérer la probabilité d’être en présence du texte. D’autres critères sont utilisés, comme la densité ou le contraste, pour essayer de supprimer au maximum les
composantes n’étant pas du texte. Ensuite, les composantes sont regroupées en ligne en utilisant
d’autres heuristiques, comme la distance, l’alignement ou la taille comparée.
Bien que cette méthode soit efficace pour trouver le texte dans une image sans a priori sur
l’orientation du texte, la binarisation utilisée empêche la détection de texte dans le cas de documents mal éclairés. En 2006, Wang proposa une nouvelle méthode permettant de mieux traiter
la segmentation, tout en conservant cette approche basée sur des heuristiques [WPH06]. La méthode se place en amont de la détection de zones de texte et suppose connu les boîtes englobantes
des zones d’intérêt. Cette approche est intéressante pour la segmentation car elle propose de nombreuses heuristiques pour caractériser les boîtes, heuristiques qui pourront être réutilisées pour
améliorer les performances d’une technique de segmentation. Le but du projet est de classer
correctement le type des blocs dans neuf classes, dont le texte « petit »(moins de 18 points), le
texte « grand »(plus de 19 points), les formules mathématiques, les logos, etc. Afin de réaliser la
classification, un ensemble de 69 caractéristiques est calculée, parmi lesquelles le « run length »,
l’auto-corrélation ou encore le ratio entre la longueur et la largeur, sur lesquels un arbre binaire
de classification étiquette le bloc. Le but n’est pas de segmenter l’image, cependant, la méthode
est facilement adaptable à une approche acsendante, et permettrait d’ajouter des caractéristiques
pour traiter plus efficacement les fusions de régions.
Accroissement de régions [LE00]
La méthode de segmentation par accroissement de régions, bien que très vieille (à l’échelle
de l’informatique)[Zuc82], est encore utilisée dans de nombreuses applications. En effet, cette
technique permet de tenir compte des positions précédemment trouvées pour accélérer la segmentation. C’est donc une technique parfaitement adaptée dans la segmentation de vidéos, où le
texte n’est généralement pas très éloigné d’une image à l’autre. L’idée est d’entourer une zone
grossièrement puis de faire bouger les frontières de la zone, en fonction des caractéristiques
frontalières. Le plus souvent la différence de niveau de gris est utilisée et la frontière s’étend
en fonction de cette intensité, mais d’autres critères peuvent entrer en compte, comme la prise
en compte de différentes échelles ou encore des paramètres de textures. La méthode commence
par semer des « graines » sur l’image, elles donneront naissance à des régions. Ensuite, les régions grossissent, fusionnent pour obtenir finalement des régions stables. La méthode proposée
par Lienhart est de segmenter une première fois l’image grossièrement pour ensuite regrouper
les régions en fonction de leur couleur. L’image est segmentée en utilisant l’accroissement de
région, en sur-segmentant volontairement pour ne pas laisser de petits caractères, et c’est un algorithme de fusion particulier qui se charge de regrouper les régions jugées de même couleurs,
et spatialement proches. Quelques heuristiques sont ensuite utilisées pour étiqueter correctement
les régions, comme l’utilisation de la taille, de paramètres de texture, etc. Cependant, bien que la
technique présente de bonnes performances de reconnaissance sur les images fixes, la méthode
est surtout développée pour les vidéos. En effet, de nombreuses heuristiques sont utilisées afin
d’affiner le résultat en prenant en compte différentes images et sans ces améliorations, le nombre
d’erreurs paraît être trop important.
26
F IG . 2.9 – Type de réseau de neurones flou utilisé par [CCG07].
Champs de Markov [NPH06]
L’approche proposée par Nicolas est une autre application des champs Markoviens au traitement d’images. Le principe de la méthode est d’essayer de retrouver les classes d’origine des
régions X en fonction de la valeur des pixels Y . Le principe est donc très proche de la binarisation de textes en utilisant les champs de Markov (cf. en page 18).
Nicolas propose d’utiliser un apprentissage pour déterminer la loi de probabilité de P (Y /X).
Un vecteur de 18 caractéristiques est utilisé pour caractériser chaque site (ou pixel) en utilisant la
densité dans une fenêtre entourant le pixel. Ensuite, l’algorithme EM (Espérance - Maximisation)
permet de définir les paramètres des gaussiennes permettant de caractériser la loi P (X/Y ), grâce
à des échantillons étiquetés à la main. De même, les potentiels d’interactions Vc sont appris en
estimant les fréquences d’apparition de chaque couple d’étiquettes selon les différentes cliques.
Cette méthode est parfaitement adaptée aux documents présentant une forte variabilité aussi
bien dans la mise en forme que dans la qualité, ce qui lui permet d’avoir de bon résultat dans
le cadre de documents manuscrits. De plus, la méthode peut encore être améliorée en affinant
l’estimation des différentes lois de probabilités. Cependant, l’apprentissage rend la méthode peu
robuste dans le cas où une même étude porterait sur différents documents n’ayant pas les mêmes
caractéristiques.
Réseaux de neurones [CCG07]
Une autre méthode de segmentation supervisée utilise les réseaux de neurones [CCG07].
Ces algorithmes essayent de reproduire le fonctionnement des neurones du cerveau. En effet,
un neurone a la bonne propriété d’apprendre, et ce par induction, c’est-à-dire par l’exemple. Il
existe de nombreuses applications dans le domaine de l’image, dont La Poste qui utilise ces
réseaux pour reconnaître les adresses des lettres. Le principe est donc de simuler un neurone,
ses synapses et sa sortie. Les auteurs ont choisis d’utiliser les réseaux de type RBF (Radial
Basis Function), car ils permettent d’introduire une notion d’approximation. En effet, les entrées
sont comparées avec une fonction gaussienne pour calculer une distance, distance qui permet de
pondérer l’importance de l’entrée par rapport au neurone. Le réseau de neurones proposé ici est
composé de trois couches, la première étant celle qui intègre une notion d’approximation. En
effet, chaque neurone de cette couche a une fonction gaussienne qui conditionne sa sensibilité
27
aux valeurs. Ainsi, un neurone produira une sortie en fonction de la distance entre sa valeur et sa
fonction, suivant la formule :
!
(xg − cgk )2
µgk (xg ) = exp −
(2.21)
2
σgk
où cgk , σgk sont les paramètres (centre et largeur) d’une gaussienne et xg est la variable d’entrée.
La deuxième couche (qui comporte K neurones) permet de mesurer comment le neurone a
réagi à l’entrée. Pour cela, les sorties des neurones de la couche précédente sont multipliées entre
elles (le multiplié peut être vu comme le « ET logique » suivant la t-norme) :
µk (xg ) =
n
Y
µgk (xg ), k = 1, . . . , K
(2.22)
g=1
Enfin, la troisième couche fait une moyenne pondérée de toutes ses entrées et produit la sortie.
L’apprentissage est réalisé en deux étapes, la première étant une méthode de classification générique pour permettre de définir les paramètres des gaussiennes de la première couche, et la
deuxième étape étant la méthode plus usuelle de la descente de gradient.
La segmentation se déroule en deux étapes distinctes. La première étape utilise un premier
réseau de neurones sur les pixels, avec en entrée le niveau de gris et la norme du gradient, à différentes échelles. Le réseau de neurone a trois sorties : texte, fond et image. Cela donne naissance
à une image binaire associée à chaque sortie. Sur chacune des images, des opérateurs de morphologie mathématique (érosion, dilatation. . .) sont appliqués afin de bien segmenter les régions.
Enfin, un autre réseau de neurone, basé sur le même schéma, est appliqué sur les régions, avec en
entrée une transformée de Hough permettant de détecter les orientations principales des régions
et en sortie deux valeurs : normal et anormal.
Cette méthode présente de nombreux avantage, comme sa rapidité d’exécution ou encore
le fait qu’elle soit insensible aux orientations du texte, mais la phase d’apprentissage rend la
méthode longue à mettre en place, et spécialisé pour un type de document à la fois.
Conclusion
Il existe de nombreuses techniques de segmentation utilisant l’approche ascendante. Toutes
n’ont pas les mêmes performances, et le tableau 2.2 résume les différentes techniques rencontrées
au cours de cet état de l’art, en mettant en avant les spécificités et les inconvénients de chacune
des méthodes.
28
Nom
Wong
[WCW82]
Année Principe
1982 Noirci les espaces blancs entre deux
pixels noirs verticalement et horizontalement puis fait un « ET logique » entre les deux images noircies.
Antonacopoulos 1998 Utilise des tuiles sur le fond pour
[Ant98]
estimer les interlignes.
Messelodi
1999 Utilisation d’heuristiques pour clas[MM99]
ser les composants connexes.
Lienhart
[LE00]
2000
Wang
[WPH06]
2006
Nicolas
[NPH06]
2006
Caponetti
[CCG07]
2007
Accroissement de régions où les
frontières se déplacent en fonction
du gradient.
Utilisation d’un vecteur de 69 caractéristiques, réduction à 23 par
un algorithme de classification pour
ensuite identifier le type de la boîte.
Utilisation des champs de Markov
pour caractériser le texte.
Utilise deux réseaux de neurones
flou pour segmenter une image.
Inconvénients
Nécessite
une
orientation horizontale
du
texte.
Très sensible au
bruit de fond.
La binarisation
utilisée n’est pas
très efficace.
plus adapté à la
segmentation de
vidéos.
L’intérêt de la
méthode
n’est
pas de segmenter
mais de classifier.
L’apprentissage
ne rend la méthode valable que
pour un type de
document à la
fois.
La phase d’apprentissage
est
très lourde à
mettre en place
en raison du type
de réseau.
TAB . 2.2 – Tableau récapitulatif des approches ascendantes
29
2.2.3
Segmentation descendante
la famille de techniques de segmentation descendante essaie d’avoir une approche globale
pour affiner les régions. Apparu légèrement après les méthodes ascendantes, elles ne connurent
pas un grand développement malgré les très bonnes performances obtenues. La plus connue
d’entre elles est certainement la méthode X-Y Cut, présenté par Nagy et Seth en 1984. Mais
avant cette technique, une approche qui a donné de bons résultats mais surtout influencé les
approches qui suivirent fut proposé.
« Split and merge » [HP72]
Afin de découper l’image en régions homogènes, la technique du « split and merge » se déroule en deux étapes : une étape de découpage suivie d’ une méthode d’agrégation. L’étape de
découpage consiste à séparer en quatre régions l’image (construction d’un « quadtree »), et ce
récursivement. L’étape de découpage s’arrête lorsque le bloc considéré est suffisamment homogène, le but étant de découper l’image en blocs de plus en plus petits, en fonction de l’homogénéité de l’image. Cette étape produit alors une image sur-segmentée : chaque feuille correspond
à une sous-région homogène, une région homogène pouvant être éclatée entre plusieurs feuilles.
L’étape d’agrégation permet alors de fusionner les régions homogènes qui auraient été séparées lors de l’étape précédente. Pour réaliser cette fusion, il faut d’abord tenir à jour une liste des
contacts entre régions. On obtient ainsi un graphe d’adjacence de régions ou « Region Adjacency
Graph ». Ensuite, l’algorithme va marquer toutes les régions comme « non-traitées » et choisir la
première région R non traitée disponible. Les régions en contact avec R sont empilées et sont
examinées les unes après les autres pour savoir si elles doivent fusionner avec R. Si c’est le cas,
la couleur moyenne de R est mise à jour et les régions en contact avec la région fusionnée sont
ajoutées à la pile des régions à comparer avec R. La région fusionnée est marquée « traitée ». Une
fois la pile vide, l’algorithme choisi la prochaine région marquée « non traitée » et recommence,
jusqu’à ce que toutes les régions soient traitées.
De nombreuses applications furent trouvées, dont certaines concernant la segmentation de la
vidéo pour retrouver le texte dans l’image [LS96]. Cependant, l’utilisation du « quadtree » contraint
la méthode à travailler sur des images présentant de nombreuses caractéristiques horizontales et
verticales.
XY-Cut [NS84]
Le principe de la méthode du XY-Cut est d’utiliser une projection horizontale et verticale
afin de trouver les espaces interligne. Une projection verticale (resp. horizontale) est la somme
des valeurs des niveaux de gris des pixels sur une ligne (resp. colonne). Ces projections représentent donc, pour une ligne donnée, l’intensité totale des pixels. Si la valeur de la projection est
faible, c’est qu’il y a beaucoup de pixels foncés sur la ligne. La méthode X-Y Cut utilise cette
propriété afin de segmenter un document [NS84]. L’image est dans un premier temps projetée
horizontalement et découpée en bandes, là où la projection a les plus faibles valeurs. Sur chacune
des bandes, une projection verticale est faite, et la bande est découpée en colonnes, en suivant
le même principe que précédemment. L’algorithme réitère ce processus jusqu’à ce qu’il n’y ait
30
F IG . 2.10 – XY-Cut : exemple de document à problème.
plus de creux dans les projections ou jusqu’à ce que les blocs aient atteint une taille inférieure
à un seuil t. Parallèlement à ces segmentations, un arbre est créé, dont les fils représentent les
sous-catégories (bande ou colonne), ce qui permet de garder l’information de « qui contient qui ».
Cependant, cette technique a le gros inconvénient de poser des problèmes avec des documents
dont la mise en page est particulière (cf. figure 2.10). De même, dans le cas où les lignes ne
seraient pas bien alignées, ou que le document serait légèrement tourné, la méthode ne peut
plus trouver de creux dans les projections. Ces limitations on conduit quelques recherches pour
améliorer la technique, dont une correction de l’inclinaison des lignes, mais les résultats ne sont
pas très convaincants [AB93].
Regroupement par couleur
De nombreux supports sont en couleur. Que ce soit des vidéos, des journaux, des photos, ou
même les documents manuscrits, ils intègrent souvent de la couleur. Diverses méthodes furent
proposées pour tenir compte des informations apportées par la couleur [Kim96, JY98, LE00].
L’idée générale des méthodes est qu’un texte est soit d’une couleur unie sur fond variable, soit
de couleur variable sur fond uni [JY98]. Ainsi, en séparant l’image en différents calques, il est
possible d’isoler l’un ou l’autre. Les deux méthodes utilisent une notion de distance entre deux
couleurs calculées ainsi :
D(Ii , Ij ) = (Ri − Rj )2 + (Gi − Gj )2 + (Bi − Bj )2
On remarque que cette distance ne tient pas compte de la perception humaine qui est plus
sensible au rouge qu’au vert par exemple. Cependant, cette formule a été choisie car la majorité
des images utilisent la représentation RGB, et c’est un gain de temps que de rester dans le format
d’origine.
Une première méthode [Kim96] propose de découper l’image autour des pics d’histogrammes,
de largeur Tc , Tc étant la distance maximale entre une couleur à prendre et la couleur correspondant au pic de l’histogramme. Une autre méthode [JY98] propose de réduire le nombre de couleurs en agrégeant, à chaque itération, les deux couleurs les plus proches. Les auteurs proposent
d’arrêter l’algorithme lorsqu’il ne reste plus que quatre couleurs.
Les deux méthodes travaillent ensuite sur les différentes images de couleurs en parallèle. Ils
utilisent pour cela les composantes connexes et cherchent à éliminer les blocs ne contenant pas de
31
texte. Pour cela, l’un utilise des heuristiques (longueur trop importante, contact avec les bords de
l’image), l’autre utilise un graphe d’adjacence pour connecter les composants proches. Enfin, les
deux méthodes améliorent la segmentation en ajoutant une étape de calcul basé sur la projection
verticale et horizontale des zones et regroupent les images des couleurs.
Bien que ces méthodes cherchent à utiliser les couleurs pour segmenter les images plus efficacement, aucune des deux n’intègre une analyse locale de la couleur pour traiter par exemple un
dégradé de couleur. Cette approche reste donc trop globale pour traiter correctement des images
n’ayant pas un fond uniforme ou un texte ayant beaucoup de couleurs. Elle est en revanche très
efficace en termes de temps de calcul et est bien adaptée aux documents textes, manuscrit ou
non, car ils ont un fond généralement uniforme.
Conclusion.
Il existe de nombreuses techniques de segmentation utilisant l’approche descendante. Toutes
n’ont pas les mêmes performances, et le tableau 2.3 résume les différentes techniques rencontrées
au cours de cet état de l’art, en mettant en avant les spécificités et les inconvénients de chacune
des méthodes.
Nom
Horowitz
[HP72]
Nagy [NS84]
Kim [Kim96]
Kim [Kim96]
Année Principe
1972 Commence par découper l’image
en quatre, récursivement puis fusionne les zones de caractéristiques
proches.
1984 Découpe l’image horizontalement
puis verticalement, récursivement.
Le découpage se fait dans le creux
des projections.
1996 Utilise les pics de l’histogramme
pour sélectionner les pixels de couleurs proches. Regroupe ensuite les
composants proches et utilise des
heuristiques pour classer les composantes.
1996 Réduit le nombre de couleurs en
fonction des couleurs les plus
proches. Regroupe ensuite les composantes de couleurs proches et utilise des heuristiques pour classer les
composantes.
Inconvénients
Nécessite une organisation horizontale de
l’image.
Il existe des documents
impossibles à segmenter.
L’utilisation de l’histogramme est trop générale pour donner de
bons résultats.
Pas de prise en compte
spatiale des couleurs.
TAB . 2.3 – Tableau récapitulatif des différentes approches descendante
32
2.2.4
Segmentation par texture
Le plus souvent utilisé pour ajouter de l’information aux techniques ascendantes [ZKJ95],
l’approche par segmentation sur la texture regroupe beaucoup de techniques différentes. Le but
de ces approches est de trouver les caractéristiques de texture qui sont propres au texte. De nombreux filtres sont alors utilisés pour transformer l’image en une représentation mettant en avant
ces caractéristiques. Les filtres les plus utilisés seront présentés, ainsi que quelques exemples
d’application.
Transformé de Fourier
La transformée de Fourier est une fonction qui transforme une fonction (dans notre cas
l’image) en une autre fonction décrivant son spectre de fréquence. Dans le cas d’une image, la
transformée sera donc la représentation fréquentielle de l’image. Au centre est concentré l’énergie de basse fréquence (qui correspond à des transitions douces dans l’image, typiquement un
ciel brumeux), autour les fréquences moyennes et aux bords les hautes fréquences. Grâce à cette
transformation, il est également possible d’avoir l’orientation des contours principaux de l’image,
ce qui peut être directement interprétable pour caractériser le texte. Le calcul de cette transformée
dans le domaine discret (donc adapté aux images) est le plus souvent réalisé avec l’algorithme
FFT (« Fast Fourier Transform »). L’intérêt de la FFT pour la segmentation est qu’une variante de
cette transformée, la DCT (« Discrete Cosine Transform »), est au centre de la compression JPEG
et peut être utilisé pour retrouver des zones de texte [ZZJ00]. En effet, la compression JPEG découpe l’image en blocs de 8 × 8 pixels, ce qui rend locale la transformée DCT. En partant de la
constatation qu’un texte comporte une forte variation horizontale, les blocs dont les coefficients
de la transformée DCT présentent une forte intensité verticale (rotation de 90°) sont jugés comme
étant potentiellement du texte. Cependant, si cette technique apporte d’un côté une rapidité de
calcul, d’un autre côté, elle souffre d’une trop forte sensibilité à la taille des caractères. En effet,
un caractère qui s’étale sur plusieurs blocs ne contient pas de contrastes élevés horizontaux et
donc n’est pas détecté comme du texte. Ce problème est récurrent dans les approches texturelles,
car un texte grand n’a pas les mêmes caractéristiques qu’un texte petit.
Filtres dérivateurs
Un peu à la manière de la transformée de Fourier, les filtres dérivateurs permettent d’avoir
une meilleure représentation fréquentielle de l’image. L’avantage est que la transformée contient
de plus des informations spatiales. En effet, ces filtres, dans le principe, réalisent une étude fréquentielle par pixel. Dans la pratique, c’est en convoluant l’image avec un noyau dérivateur que
l’on obtient la dérivée d’une image. Il existe de nombreux noyaux dérivateurs, et de leur définition dépendent les caractéristiques du filtre. En revanche, tous ont la propriété d’avoir la somme
des coefficients nulle. Ainsi, il est possible de définir des filtres ayant une plus grande sensibilité
aux contours horizontaux, verticaux et diagonaux [SKHS98]. Il est alors possible de repérer le
texte en convoluant l’image avec ces noyaux pour extraire de l’image les formes attendues et repérer ainsi plus facilement le texte. Ces filtres sont sensibles, de la même manière que pour toute
analyse par texture, à l’échelle du texte. Pour éviter cet inconvénient, de nombreuses techniques
33
utilisent une approche multi résolution. C’est le cas de la méthode proposé par Wu qui utilise
trois filtres dérivateurs à différentes échelles [WMR99]. Tous les filtres sont basés sur la dérivée
seconde d’une gaussienne, avec un écart type qui varie, ce qui a pour effet de réaliser une analyse
multi-résolution. En effet, un filtrage par une gaussienne revient à réduire l’échelle de l’image,
en fonction de l’écart type. Suite à ces filtrages, chaque pixel est associé à un vecteur de neuf
dimensions. En utilisant un algorithme de classification classique (les K -moyennes, avec K = 3),
il regroupe les pixels entre eux afin d’obtenir trois classes (texte, arrière plan et intermédiaire),
pour ensuite réaliser une transformation de morphologie mathématique (dilatation). Cependant,
la segmentation n’est pas suffisamment précise pour permettre de s’arrêter là. Les régions détectées vont servir pour identifier les zones d’intérêt et une étude plus approfondie sera réalisée
pour ajuster les frontières. Une étude ascendante est alors réalisée, en partant d’une détection de
contours, car les caractères forment généralement des contours bien marqués avec le fond. En
prenant en compte toutes ces informations, la méthode traite très bien les images et un très bon
taux de reconnaissance est obtenu.
Une autre sorte de filtres dérivateurs utilisés sont les filtres de Gabor. Les filtres de Gabor
proposés par Daugman ont la particularité d’avoir trois paramètres permettant de rendre plus
sensible le filtre à certains types de variations :
02 2 02 0
y
Gλ,θ,ϕ (x, y) = exp − x +ν
cos 2π xλ + ϕ
2σ 2
(2.23)
x0 = x cos θ + y sin θ
0
y = −x sin θ + y cos θ
Datong propose en 2001 de paramétrer ces filtres en réalisant une première étude sur l’image
pour détecter les contours, et ensuite d’estimer l’orientation et la taille du texte [DSB01] ; λ et θ
sont déduits de ces estimations. Ainsi, en utilisant deux filtres complémentaires de Gabor, grâce
à une bonne définition de ϕ et de x0 et y 0 , l’image est traitée afin d’augmenter le contraste, là où
le filtre a répondu fortement.
Auto-corrélation
Nous avons vu que les filtres dérivateurs permettaient de mettre en évidence les contours des
textures et ainsi de repérer plus facilement les zones de texte. Il existe une autre transformation,
plus coûteuse en calculs, mais donnant une meilleure information sur les orientations générales
et les périodicités de la texture. L’auto-corrélation, en combinant l’image avec elle-même après
une translation, permet de mettre en avant ces informations. Dans le domaine spatial (en pratique,
le calcul est réalisé dans le domaine fréquentiel avec la FFT), le calcul de l’autocorrélation se fait
suivant cette formule :
Cxx (k, l) =
+∞
X
+∞
X
x(k 0 , l0 ).x(k 0 + k, l0 + l)
(2.24)
k0 =−∞ l0 =−∞
Cette transformation permet alors de créer une rose des directions qui représente les orientations principales de l’image (figure 2.11). En découpant l’image d’origine en petits blocs, puis
34
F IG . 2.11 – Trois transformées d’images sur trois images : FFT, Auto-corrélation et Rose des
directions.
en calculant cette rose sur chacun des blocs, il est possible de déterminer comment est organisée
l’image [Jou06]. La rose est en fait un diagramme polaire. Soit (u, v) le point central de l’autocorrélation et θi l’orientation étudiée, on calcule alors la droite Di tel l’ensemble de ses points
(a, b) forme un angle θi avec l’abscisse. Pour chaque orientation θi on calcule ainsi la somme des
différentes valeurs de la fonction d’autocorrélation.
X
(2.25)
R(θi ) =
Cxx (a, b)
Di
Cependant, cette rose est très sensible à la taille du texte, et une analyse sur des blocs trop petits
donne des directions variables, en raison des lettres qui ont des contours dans toutes les directions. Après expérimentation, l’auteur propose d’utiliser une fenêtre qui contient entre quatre
et sept lignes de texte. Malgré des résultats problématiques aux abords des images, la méthode
a l’avantage de ne pas avoir d’a priori sur la position du texte, ni sur sa forme. Cependant, la
grande sensibilité de la rose des directions fait que cette méthode nécessite un pavage initial de
l’image qui ne contienne ni trop de lignes ni pas assez.
Conclusion.
Les différentes techniques de segmentation utilisant l’approche à base de texture diffèrent
principalement sur les outils employés, et non sur les processus. C’est pour cette raison que
le tableau 2.4 répertorie les différents outils textuels utilisés, en mettant en avant avantages et
inconvénients.
35
Nom
Fourier
[ZZJ00]
Dérivée
[WMR99,
SKHS98]
Gabor
[DSB01]
Les
ondellettes
[WMR02]
Autocorrélation
[Jou06]
Principe
Passe l’image dans le
domaine fréquentiel.
Avantages
Rapide, utilisé dans les
images JPEG.
Met en avant les variations dans l’image.
Rapide, permet de localiser les contours.
Met en avant les variations dans l’image.
Sensibles à un certain type
de fréquence avec une certaine orientation.
Met en avant les variations dans l’image.
Analyse non sensible à
l’échelle et à l’orientation.
Met en avant l’orientation générale et la
periodicité de la texture.
Permet de créer une rose
des directions.
Inconvénients
Perte de la localisation.
Nécessite une fenêtre
d’analyse.
Nécessite une taille adaptée de la fenêtre d’analyse.
Assez coûteux en calculs.
Nécessite un paramétrage
adapté pour la fréquence et
l’orientation.
Très coûteux en calculs.
Très coûteux en calculs.
La taille de la fenêtre
d’analyse est un paramètre
critique.
TAB . 2.4 – Différents outils pour l’approche texturelle
2.2.5
Conclusion
Bien que le nombre de techniques différentes puisse faire croire à un sujet fermé, la segmentation d’image est loin d’être résolue. En effet, le nombre de documents ayant des caractéristiques
différentes rend difficile l’élaboration d’une technique non-supervisée capable de travailler sur
l’ensemble des documents. Il est ainsi fréquent de trouver une solution très efficace pour, par
exemple, la détection de texte dans une vidéo et incapable de segmenter un document manuscrit.
La segmentation reste un sujet actif, malgré la multitude des documents, parce qu’il n’y a
pas de solutions encore générales, mais aussi parce qu’il y a beaucoup d’applications possibles.
La première est bien entendu de pouvoir augmenter les performances de l’indexation de contenus multimédias, afin de faciliter l’accès à l’information. Une autre application est de permettre
de compresser un document manuscrit ou typographié de manière très importante, en extrayant
le texte et en compressant différemment le fond du texte. Cette compression travaillant sans
reconnaissance de caractère mais en se basant sur des graphèmes (entités inférieures au caractère), elle permet de travailler sur des documents de langues différentes. La segmentation peut
permettre aussi aux mal-voyants de pouvoir lire n’importe quel livre. Quelques travaux existent
déjà, comme le DELTA (Dispositif Électronique de Lecture de Texte pour Aveugles) où une
caméra permet de transformer un document textuel en braille. Ces dispositifs manquent encore
de précision et les techniques de segmentation moderne permettraient d’augmenter le taux de reconnaissance. Enfin, la segmentation d’image entre bien entendu dans le processus de la « vision
intelligente », comme retrouver les plaques d’immatriculation des voitures, le nom des rues, des
marques de produits, etc.
36
Chapitre 3
Proposition
37
Chapitre 4
Expérimentations et résultats
38
Chapitre 5
Conclusion et perspectives
5.1
Résumé du travail effectué
5.2
Conclusion
Notre but a été, dans une première partie, d’identifier les problèmes auxquels sont confrontées les méthodes de segmentations : les dégradations. Bien que d’origines très diverses, il est
possible de distinguer deux types de dégradations : les perturbations aléatoires (ou bruit) et les
perturbations déterministes (comme le flou). À ces perturbations sont généralement associés des
traitements particuliers et exclusifs. C’est le cas, par exemple, du traitement du flou qui augmente
l’incidence du bruit sur l’image.
Bien qu’il existe une multitude de traitements, seule une petite partie est généralement utilisée dans le cadre de la restauration de documents manuscrits. L’accent est donc mis sur la
préservation des discontinuités, car le texte n’est reconnaissable que si ses frontières avec le fond
sont stables pendant le traitement.
Les techniques de segmentations sont présentées en les séparant suivant leurs approches. Une
distinction est faite entre les techniques de binarisation (qui est une segmentation à deux classes)
et les techniques de segmentation à plus de deux classes. En effet, de nombreuses techniques de
segmentation se basent sur une image binaire [Ant98, TY00, LZD06, WPH06], ce qui positionne
la binarisation comme un pré-traitement à la segmentation. Cette étape est d’ailleurs critique
puisqu’un texte mal binarisé ne permet pas une segmentation efficace, surtout dans le cadre de la
segmentation de documents manuscrits anciens où les dégradations sont très présentes.
Au cours de l’état de l’art, il est apparu que les champs de Markov, malgré leurs aptitudes
à traiter les relations spatiales, n’étaient pas beaucoup représentés dans la binarisation de documents manuscrits. Les recherches ont donc été tournées vers cette approche. De plus, l’utilisation
d’outils probabilistes éprouvés afin d’estimer les caractéristiques de l’arrière plan nous ont permis de soumettre une solution efficace et robuste.
39
5.3
Perspectives de recherche
40
Bibliographie
[AB93]
O.T. Akindele and A. Belaid. Page segmentation by segment tracing. International Conference on Document Analysis and Recognition, 2 :341–344, 1993. (Cité
page 31.)
[Ant98]
A. Antonacopoulos. Page segmentation using the description of the background.
Computer Vision and Image Understanding, 70(3) :350–369, 1998. (Cité pages 25,
29 et 39.)
[BC96]
L. Beaurepaire and K. Chehdi. Contribution à la Mise en Oeuvre d’une Chaîne
Automatique de Filtrage d’Images Numériques. PhD thesis, Université de Rennes 1,
1996. (Cité page 9.)
[Ber86]
J. Bernsen. Dynamic thresholding of grey-level images. In Proc. Eighth Int ’l Conf.
on Pattern Recognition, pages 1251–1255, 1986. (Cité pages 17 et 23.)
[BK97]
M.R. Banham and A.K. Katsaggelos. Digital image restoration. Signal Processing
Magazine, IEEE, 14(2) :24–41, 1997. (Cité page 15.)
[Bou06]
F. Bouchara. Traitement d’image pour la vision, support de cours, 2006. (Cité
page 14.)
[Bui98]
C. Buil. Le bruit dans une caméra ccd, 1998. (Cité page 10.)
[CCG07] L. Caponetti, C. Castiello, and P. Gorecki. Document page segmentation using neurofuzzy approach. Applied Soft Computing, In Press, Corrected Proof :–, 2007. (Cité
pages 27, 29 et 45.)
[Don95]
H.-S. Don. A noise attribute thresholding method for document image binarization.
ICDAR ’95 : Proceedings of the Third International Conference on Document Analysis and Recognition, 1 :231, 1995. (Cité page 18.)
[DSB01]
C. Datong, K. Shearer, and H. Bourlard. Text enhancement with asymmetric filter for
video ocr. In ICIAP ’01 : Proceedings of the 11th International Conference on Image
Analysis and Processing, page 192, Washington, DC, USA, 2001. IEEE Computer
Society. (Cité pages 34 et 36.)
[GPH05]
U. Garain, T. Paquet, and L. Heutte. On foreground-background separation in low
quality color document images. In ICDAR ’05 : Proceedings of the Eighth International Conference on Document Analysis and Recognition, pages 585–589, 2005.
(Cité pages 18 et 24.)
41
[GPP06]
B. Gatos, I. Pratikakis, and S. J. Perantonis. Adaptive degraded document image
binarization. Pattern Recogn., 39(3) :317–327, 2006. (Cité pages 12, 21, 22 et 24.)
[HP72]
S. L. Horowitz and T. Pavlidis. Picture segmentation by a traversal algorithm. Comput. Graphics Image Process., 1 :360–372, 1972. (Cité pages 30 et 32.)
[Jou06]
N. Journet. Analyse d’images de documents anciens : Catégorisation de contenus
par approche texture. PhD thesis, Université de La Rochelle, 2006. (Cité pages 35
et 36.)
[JY98]
A. K. Jain and B. Yu. Automatic text location in images and video frames. Pattern
Recognition, 31(12) :2055–2076, 1998. (Cité page 31.)
[KB04]
C. Kervrann and S. Ba. Approche non-paramétrique en restauration d’image avec
préservation des discontinuités. In 14ème Congrès Francophone AFRIF-AFIA de
Reconnaissance des Formes et Intelligence Artificielle, 2004. (Cité page 11.)
[Kim96]
H.K. Kim. Efficient automatic text location method and content-based indexing and
structuring of video database. Journal of Visual Communication and Image Representation, 7(4) :336–344, 1996. (Cité pages 31 et 32.)
[KJJ03]
K. I. Kim, K. Jung, and A. K. Jain. Text information extraction in images and video :
a survey. Pattern Recognition, 37(5) :977–997, 2003. (Cité page 15.)
[KJP02]
I.-K. Kim, D.-W. Jung, and R.-H. Park. Document image binarization based on
topographic analysis using a water flow model. Pattern Recognition, 35 :265–277,
2002. (Cité pages 20, 22 et 23.)
[LE00]
R. Lienhart and W. Effelsberg. Automatic text segmentation and text recognition for
video indexing. Multimedia Systems, 8 :69–81, 2000. (Cité pages 26, 29 et 31.)
[Leg96]
T. Legault. Quel est le role du traitement d’image ?, 1996. (Cité page 10.)
[Li95]
S. Z. Li. Markov random field modeling in computer vision. Springer-Verlag, London, UK, 1995. (Cité pages 8 et 18.)
[LS96]
R. Lienhart and F. Stuber. Automatic text recognition in digital videos. Technical report, Department for Mathematics and Computer Science, University of Mannheim,
1996. (Cité page 30.)
[LZD06]
Y. Li, Y. Zheng, and D. Doermann. Detecting text lines in handwritten documents.
Proceedings of the 18th International Conference on Pattern Recognition (ICPR’06),
2 :1030 – 1033, 2006. (Cité page 39.)
[MM99]
S. Messelodi and C.M. Modena. Automatic identification and skew estimation of
text lines in real scene images. Pattern Recognition, 32(5) :791–810, 1999. (Cité
pages 25 et 29.)
[Nib86]
W. Niblack. An introduction to digital image processing. Prentice Hall (July 1986),
1986. (Cité pages 17, 22 et 23.)
[N.O79]
N.Otsu. A threshold selection method from gray-level histograms. IEEE Transactions on Systems, Man and Cybernetics, 9(1) :62–66, 1979. (Cité pages 20, 22 et 23.)
42
[NPH06]
S. Nicolas, T. Paquet, and L. Heutte. Extraction de la structure de documents manuscrits complexes à l’aide de champs markoviens. In Actes du 9ème Colloque International Francophone sur l’Ecrit et le Document, pages 13–18, 2006. (Cité pages 8, 27
et 29.)
[NS84]
G. Nagy and S. Seth. Hierarchical representation of optically scanned documents.
International conference on Pattern Recognition, 7 :347–349, 1984. (Cité pages 30
et 32.)
[SKHS98] T. Sato, T. Kanade, E. K. Hughes, and M. A. Smith. Video ocr for digital news
archive. In International Workshop on Content-Based Access of Image and Video
Databases (CAIVD ’98), pages 52–60, 1998. (Cité pages 33 et 36.)
[SP00]
J. Sauvola and M. Pietikäinen. Adaptive document image binarization. Pattern Recognition, 33(2) :225 – 236, 2000. (Cité pages 18, 19, 21, 22, 23 et 24.)
[TJ95]
O. D. Trier and A. K. Jain. Goal-directed evaluation of binarization methods. IEEE
Transactions on Pattern Analysis and Machine Intelligence, 17(12) :1191–1201,
1995. (Cité page 18.)
[TT95]
O.D. Trier and T. Taxt. Improvement of integrated function algorithm for binarization of document images. Pattern Recognition Letters, 16(3) :277–283, 1995. (Cité
pages 18 et 23.)
[TY00]
C. L. Tan and B. Yuan. Document text segmentation using multi-band disc model.
Document Recognition and Retrieval VIII, 4307 :212–222, 2000. (Cité page 39.)
[WCW82] K.Y. Wong, R.G. Casey, and F.M. Wahl. Document analysis system. IBM Journal of
Research and Development, 26(6) :647–656, 1982. (Cité pages 24 et 29.)
[WD02]
C. Wolf and D. Doermann. Binarization of low quality text using a markov random
field model. Proceedings of the 16 th International Conference on Pattern Recognition (ICPR’02), 3 :30160, 2002. (Cité pages 8, 18 et 24.)
[WM98]
V. Wu and R. Manmatha. Document image clean-up and binarization. Proceedings of
IS&T/SPIE Symposium on Electronic Imaging, 3305 :263–273, 1998. (Cité pages 16
et 23.)
[WMR99] V. Wu, R. Manmatha, and E. M. Riseman. Textfinder : An automatic system to detect
and recognize text in images. IEEE Transactions on Pattern Analysis and Machine
Intelligence, 21(11) :1224–1229, 1999. (Cité pages 34 et 36.)
[WMR02] V. Wu, R. Manmatha, and E. M. Riseman. Hybrid chinese/english text detection
in images and video frames. Proceedings of the 16th International Conference on
Pattern Recognition, 2 :31015, 2002. (Cité page 36.)
[Wol03]
C. Wolf. Détection de textes dans des images issues d’un flux vidéo pour l’indexation
sémantique. PhD thesis, INSA de Lyon, 2003. (Cité page 6.)
[WPH06] Y. Wang, I. T. Phillips, and R. M. Haralick. Document zone content classification and
its performance evaluation. Pattern Recognition, 39(1) :57–73, 2006. (Cité pages 26,
29 et 39.)
43
[YY00]
Y. Yang and H. Yan. An adaptive logical method for binarization of degraded document images. Pattern Recognition, 33(5) :787–807, 2000. (Cité page 18.)
[ZKJ95]
Y. Zhong, K. Karu, and A. K. Jain. Locating text in complex color images. Pattern
Recognition, 28(10) :1523–1535, 1995. (Cité page 33.)
[ZLD03]
Y. Zheng, H. Li, and D. Doermann. Text identification in noisy document images
using markov random field. Document Analysis and Recognition, 34 :599–605, 2003.
(Cité page 8.)
[Zuc82]
S. W. Zucker. Document analysis system. Computer. Graphics and Image Processing, 5(6) :382–399, 1982. (Cité page 26.)
[ZZJ00]
Y. Zhong, H. Zhang, and A. K. Jain. Automatic caption localisation in compressed video. IEEE Trans. Pattern Anal. Mach. Intell., 22(4) :385 – 392, 2000. (Cité
pages 33 et 36.)
44
Table des figures
1.1
1.2
Déroulement du processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemples de documents manuscrits. . . . . . . . . . . . . . . . . . . . . . . . .
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.11
Exemple de filtres passe-haut et passe-bas. . . . . . . . . . . . . . . . . . . . .
Exemple du filtrage Wiener. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemple de filtres robustes. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Seuil minimal de recouvrement. . . . . . . . . . . . . . . . . . . . . . . . . .
Problème de seuillage global. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Courbe des niveaux de gris sur une ligne et seuillage adaptatif. . . . . . . . . .
Comparatif de méthodes de binarisation. . . . . . . . . . . . . . . . . . . . . .
Segmentation RLSA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Type de réseau de neurones flou utilisé par [CCG07]. . . . . . . . . . . . . . .
XY-Cut : exemple de document à problème. . . . . . . . . . . . . . . . . . . .
Trois transformées d’images sur trois images : FFT, Auto-corrélation et Rose des
directions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
.
.
.
.
.
.
.
.
.
.
6
7
11
12
13
16
17
18
22
25
27
31
. 35
Liste des tableaux
2.1
2.2
2.3
2.4
Différentes techniques de binarisation . . . . . . . . . . .
Tableau récapitulatif des approches ascendantes . . . . . .
Tableau récapitulatif des différentes approches descendante
Différents outils pour l’approche texturelle . . . . . . . . .
46
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
24
29
32
36