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