• Aucun résultat trouvé

3.2 Localisation de texte

3.3.1 Comparaison

3.3.3 Résultats . . . 65 3.3.3.1 Résultats expérimentaux . . . 65 3.3.3.2 Comparaison des méthodes proposées . . . 67

Dans le chapitre précédent, nous avons présenté une méthode de la détection de texte dans les images de scènes naturelles basée sur la texture. La méthode a donné des résultats intéressants en comparaison à d’autres méthodes. Quant au présent chapitre, nous allons présenter une autre méthode de détection de texte basée sur le gradient et des caractéristiques heuristiques du texte.

Nous proposons une nouvelle technique de la détection et la localisation de texte. Cette dernière est constituée de deux étapes telles présentées dans la Figure3.1. Dans la première étape nous détectons les régions candidates de texte dans limage en se basant sur des caractéristiques visuelles de texte, qui se résument dans le fait que les caractères du texte sont représentés par de forts contours fermés. Ce processus de détection évite par la suite le traitement sur la totalité de limage afin d’avoir un algorithme plus rapide. La seconde étape se constitue de deux phases : la première se base sur les caractéristiques du gradient des régions détectées, et la deuxième est une phase de vérification où nous utilisons des caractéristiques heuristiques pour affiner la détection et éliminer les fausses détections.

Figure 3.1 – Schéma du système proposé pour la détection et la localisation de texte dans les images

3.1 D ´etection des r ´egions candidates de texte

L’objectif de cette étape est de supprimer l’arrière plan de l’image en entrée. En premier lieu l’image est transformée en image aux niveaux de gris. A noter que l’arrière plan contient d’autres objets que le texte, tels que les personnes, les visages, les meubles, et autres objets de scènes non-texte.

Nous avons remarqué que les caractères d’un texte sont représentés par des composantes connexes, et les pixels de contour représentant un caractère ont habituellement un contraste plus élevé par rapport à leurs voisins. Cette constatation donne des informations pertinentes pour pouvoir distinguer les régions texte et non-texte. Cette étape de l’algorithme proposé, se compose de deux parties : (1) détection des contours et (2) sélection des contours fermés.

3.1.1 D ´etection des contours

Les contours sont parmis les caractéristiques visuelles les plus importantes et les plus utilisées dans les études de recherche portant sur la détection des objets. Sachant que les caractères de texte contiennent de forts contours, nous pouvons utiliser cette propriété pour détecter leurs présences dans une région donnée. Ainsi, le processus de détection de contours réduit considérablement la quantité d’informations à analyser dans l’image. C’est un processus de recherche des forts contrastes dans une image au niveau de gris.

La détection de contours dans les images a débuté de façon extrêmement empirique par des opérateurs locaux qui, soit estimaient un gradient, soit convoluaient l’image par des masques caractéristiques des contours [Haralick & Shapiro, 1985]. Des approches plus systématiques ont été mises en place par Marr [Marr & Hildreth, 1980], puis Canny [Canny, 1986], pour obtenir des contours plus significatifs.

Comme le contour correspond à une discontinuité du signal, nous utilisons des opérateurs de dérivée pour sa détection. Nous pouvons trouver de très nombreux algorithmes de détection de contours, basés sur la recherche des maxima, de la dérivée première ou des passages par zéro de la dérivée seconde [Marr D. , 1982] ; [Canny J. , 1983].

cette dernière représente l’une des méthodes de détection de contours les plus utilisées dans la littérature, et qui repose sur l’étude des dérivées de l’image, à coté des méthodes des lignes de partage des eaux1 et les modèles déformables2 .

Table 3.1 – Notions utilisées pour la détection de contours.

Méthodes Définitions

Filtrage linéaire Il s’agit de convoluer l’image I(x,y) avec une fonction h(x,y) appelée réponse impultionnelle

du filtre : I(x, y) × h(x, y) =P+ H 2 u=−H2 P+ H 2 v=−H2 I(x − u, y − v) × h(u, v)

Ou H représente la dimension du masque du filtrage. Gradient d’image Le Gradient d’une image est le vecteur défini par :

∇2I(x, y) =2I(x,y)

∂x2 ,

2I(x,y)

∂y2



Laplacien d’image Le Laplacien d’une image I(x,y) est défini par : ∇2I(x, y) =2I(x,y)

∂x2 ,

2I(x,y)

∂y2



Les approches de détection de contours basées sur le filtrage se distinguent alors selon la manière de calcul des dérivées de l’image :

– Dérivation par différences finies, par exemple les opérateurs de Roberts, Prewitt et Sobel [Senthilkumaran & Rajesh, 2008]

– Dérivation par filtrage optimal dont la méthode la plus connue est le filtre de Canny-Deriche [Canny J. , 1983]. Canny a suggéré d’utiliser la dérivée première et la dérivée seconde pour la détection de contours.

Afin de choisir le meilleur détecteur de contours pour notre système, nous avons testé les détecteurs classiques sur plusieurs images de la base.

La Figure 3.2 montre les résultats de détection de contours des différents détecteurs sur une image de la base.

1. LPE ou watershed en anglais, est une méthode de segmentation issue du domaine de la morphologie ma- thématique [ P. Soille, 1991] ; [Cocquerez et Philips, 1995]. Elle a été introduite par [Digabel et Lantuéjoul, 1977], puis améliorée par [Beucher et Lantuejoul, 1979]. Il existe plusieurs algorithmes qui ont permis de l’utiliser pour la segmentation d’images [Roerdink et Meijster, 2001]

2. les modèles déformables, utilisés la première fois en segmentation des images par Kass [Kass et al., 1988], appelés contours actifs ou serpents (snakes en anglais), sont des contours capables d’´evoluer selon les données traitées. Le principe de base est de positionner, à côté du contour à détecter, une courbe qui sera l’initialisation du contour actif et qui se déformera sous l’action de plusieurs forces jusqu’à ce qu’elle détecte le contour de l’objet

Figure 3.2 – Détection de contours à l’aide des filtres classiques

Selon les résultats obtenus, nous avons remarqué que les techniques de détection de contours fondées sur les filtres dérivatifs par différences finies (Roberts, Prewitt et Sobel) ne donnent pas de résultats aussi intéressants que ceux de Canny. Ce dernier utilise un détecteur optimal basé sur l’ensemble des trois critères suivants :

– garantir une bonne détection, c’est-à-dire une réponse forte même à de faibles contours, – garantir une bonne localisation,

– assurer que pour un contour, il n’y aura qu’une seule détection (éviter les effets de rebonds dus, par exemple, à la troncature des filtres).

Nous avons donc choisi d’utiliser l’opérateur Canny comme détecteur de contours, vu les ré- sultats intéressants obtenus par cet opérateur. En effet, grâce à l’operateur Canny, les différents contours de l’image sont bien détectés, et plus précisément, les caractères du texte qui sont tous présents dans l’image résultante. La Figure 3.3 illustres quelques résultats de la détection de contour par l’operateur Canny.

Figure 3.3 – Résultats de l’étape de la détection de contour. A droite les images d’entrées (image couleur) et à gauche les images de sorties issues du processus de la détection de contours.

La phase de détection nécessite de tester un grand nombre de régions candidates. Ces régions ont été préalablement détectées dans l’image, chacune d’elles étant détectée par son contour peut représentée un caractère ou non. Ceci dit qu’on doit vérifier la condition du gradient sur chaque ré- gion, chose qui peut handicaper lourdement l’efficacité de notre détecteur lorsque l’image contient un très grand nombre de caractères visuels. La section suivante présentera quelques démarches permettant de réduire le nombre de régions non texte détectées comme régions candidates lors de la détection.

3.1.2 S ´election des contours ferm ´es

Après la détection de contours, la phase suivante consiste à réduire le nombre de régions candidates de texte. Pour cela, nous nous somme basés sur d’autres caractéristiques du texte. Nous avons remarqué qu’un caractère est représenté par un contour fermé. Donc nous devons sélectionner les contours fermés des contours détectés par l’étape précédente. Notre algorithme analyse chaque région de contour et vérifie si le point de départ d’un contour est celui de l’arrivée afin de déterminer si ce contour est fermé ou non.

Une deuxième constatation est le fait que le contour d’un caractère contient au maximum deux trous (’a’, ’b’, ’d’ ’e’, ’g’, ’o’, ’p’, ’q’, ’A’, ’B’, ’D’, ’O’, ’P’, ’Q’). Cela nous conduit à éliminer les contours fermés ayant le nombre de trous supérieurs à trois. Dans notre approche nous avons maximisé le nombre de trous par trois à cause du bruit présent dans l’image et qui cause l’appa- rition des trous dans l’image binaire.

La Figure3.4 montre quelques résultats de la détection des contours fermés vérifiant la condi- tion du nombre de trous.

Figure 3.4 – Résultats de sélection des contours fermés ayant un nombre de trous inférieur à 3 : (a) Détection de contours, (b) sélection des contours fermés, (c) les contours fermés vérifiant la condition du nombre de trous.

3.2 Localisation de texte

De par sa composition, le texte est sujet d’une densité élevée de fort gradient, du fait de la présence de nombreux caractères générant à leur frontière des valeurs élevés de gradient.

3.2.1 Gradient magnitude des composantes connexes

Nous devons chercher des caractéristiques discriminatives capables de distinguer les régions texte par rapport aux régions non-texte. Pour cette raison, nous avons proposé d’utiliser un ensemble de caractéristiques basées sur le gradient. Notre approche s’appuie sur le fait que les caractères du texte ont des gradients plus élevés que ceux des autres régions de l’image. A ce stade, nous analysons chaque région détectée, en calculant son vecteur de gradient défini par :

Ig = (

dI dx,

dI

Soit Rt une région de contour détectée. Pour un ensemble de pixels appartenant à Rt de l’image de contour Ic, nous considérons une matrice Mt de gradient magnitude. La matrice Mt est calculée pour chaque région de contour x. La valeur de Mt(i,j) du pixel (i,j) de la région Rt est égale au gradient magnitude du pixel correspondant.

Le gradient magnitude est calculé par la formule suivante :

|Ig(i, j)| = v u u t dI(i, j) dx !2 + dI(i, j) dy !2 (3.2) Avec I(i,j) est la valeur en niveau de gris du pixel correspondant du contour fermé de l’image Ic.

Une région Rt est acceptée comme une région texte si son gradient est plus grand que le seuil adaptatif T, avec T déterminé par :

T = α × X

EIRt∈|Ig|

EIRt

N (3.3)

Avec α : est un facteur multiplicatif, expérimentalement fixé à 0.75

EIRt : représente l’intensité de contour de la région Rt. Il est définie par la formule suivante :

EIRt = X

(i,j)∈Rt

|Ig(i, j)| (3.4)

Avec |Ig(i,j)| est la magnitude de l’intensité du gradient à l’emplacement (i,j) Alors, une ré- gion Rt est acceptée comme une région texte si son gradient magnitude est plus grand que le seuil T. c’est exactement ce que traduit la formule suivante :

|Ig| ≥ T (3.5)

Sur la Figure 3.5 nous avons présenté des résultats du gradient magnitude correspondants aux contours fermés détectés à l’étape précédente. On voit clairement sur la figure que le gradient

des caractères du texte est beaucoup plus élevé que celui des autres régions. Alors pour éliminer les régions non texte il faut choisir un seuil pour filtrer les zones textes et celle non-texte.

Figure 3.5 – Résultats du gradient magnitude.

Des fois nous pouvons trouver des régions non texte avec un gradient qui vérifie la condi- tion précédente. Ceci dit qu’il y aura de fausse détection dans les résultats, c’est pour cela que nous avons pensés à ajouter une étape de vérification des régions basée sur des caractéristiques heuristiques des caractères du texte, c’est d’ailleurs l’objectif de la section qui suit.

3.2.2 Classification des r ´egions texte et non texte

Une fois les zones de texte détectées, il est important de filtrer un certain nombre de fausses alarmes qui, souvent, correspondent à des parties de l’image ne contenant pas de texte mais dont les caractéristiques sont similaires à des zones de texte. Dans cette étape, nous visons à corriger les mauvaises classifications du texte et non texte, résultantes de l’étape précédente. Pour cela, nous reprenons dans cette partie de l’algorithme les mêmes conditions géométriques et relations spatiales de la méthode proposée précédemment (voir chapitre 2, section 2.2 (iii)).

Finalement, quand les différentes règles sont vérifiées, nous obtenons une image binaire ne contenant que les caractères du texte. Nous localisons par la suite les caractères du texte dans l’image d’entrée en couleur en traçant des rectangles sur chaque caractère détecté.

La Figure 3.6 illustre quelques résultats de localisation. Cette figure présente les entrées et les sorties de la troisième étape de notre système global traitant le problème de la détection et la localisation de texte dans les images. Elle montre que les caractères du texte dans les trois images sont bien détectés et les fausses détections sont éliminées.

Figure 3.6 – Quelques images d’entrées et sorties de notre système de la détection et la locali- sation de texte, les résultats sont représentés par des rectangles sur les caractères détectés.

3.3 Exp ´erimentations

Dans la présente section nous allons discuter les performances de notre algorithme et son efficacité en comparaison avec d’autre méthode, sachant que l’algorithme a été testé sur la base ICDAR(déjà présentée dans le chapitre 2).

3.3.1 Comparaison

Pour mettre en évidence l’importance de l’étape de l’utilisation du gradient magnitude ; nous avons considéré :

Méthode1 : une approche composée de : – Détection des contours ;

– Sélection des contours fermés ;

– Classification des régions texte et non-texte.

Méthode2 : Méthode du contour et gradient

Quant à la deuxième méthode, elle est définie comme suite : – Détection des contours ;

– Sélection des contours fermés ;

– Sélection des composantes dont le gradient magnitude est élevé ; – Classification des régions texte et non-texte.

Figure 3.7 – Courbes Rappel/Précision de la méthode1 et de la méthode2 du gradient. La figure montre que l’ajout de la condition du gradient offre plus de Précision pour les valeurs données du Rappel. Ceci dit que l’étape du calcul du gradient magnitude permet d’améliorer les résultats et de diminuer les fausses détections.

Nous avons comparé les performances de notre algorithme de la détection et la localisation de texte basé sur le gradient avec l’algorithme de détection [Ezaki, 2004] que nous avons implémenté selon son papier de référence.

Rappelons en bref le principe de cet algorithme.

Algorithme : Text detection from natural scene images : towards a system for visually impaired persons [Ezaki, 2004]

Etapes :

– Détection de contour avec le détecteur Sobel sur chaque plan de couleur de l’image RGB. Les trois images de contour sont combinées en une seule, en gardant la valeur maximale des trois valeurs de pixel. Par la suite l’image de contour est binarisée à l’aide de la méthode Otsu [Otsu, 1979]

– Inversion de l’image binaire.

– En se basant sur la couleur et l’hypothèse que le texte et écris avec la même couleur, l’algorithme réduit l’espace de couleur à 8.

– Finalement, analyse des composantes connexes.

Pour avoir un bon processus d’évaluation, les algorithmes doivent être appliqués à des images contenant quelques défis de la détection et de la localisation de texte tels que des caractères à différentes échelles du niveau de gris, illumination et arrières plan variés.

Documents relatifs