• Aucun résultat trouvé

6.2 Word Spotting

6.2.1 Détecteur FLASH

Les points FLASH sont bien adaptés pour les documents manuscrits. Les lignes formées par un scripteur peuvent être détectées par les points FLASH en utilisant nos trois types de points. Plusieurs exemples de détections sont présentés sur la figure 6.1.

Plusieurs points peuvent être détectés sur un même tracé. Par exemple, le tracé de la barre d’un "p" possède plusieurs points. Nous établissons la liaison entre les points en liant les points ayant la même direction et étant très proches. Ensuite, de ces petits graphes, tout comme les fissures, nous pouvons calculer un barycentre qui servira de point d’intérêt dans l’étape suivante et sera représentatif de la partie de lettre écrite.

6.2.2 Descripteurs

L’extraction des points est la première étape dans le processus de reconnaissance de mots-clés. La seconde étape est le calcul d’un descripteur pour chaque point d’intérêt, qui décrira le voisinage. Nous proposons 3 descripteurs autour de nos points FLASH.

FIGURE 6.2 – Masque circulaire pour construire le descripteur associé à un point FLASH.

Le premier est directement lié à notre descripteur décrit dans le chapitre 4. Le deuxième est plus spécifique pour le word spotting et présente de bons résultats sur les bases de tests disponibles. Enfin, le dernier est inspiré de méthodes existantes et présente l’avan-tage d’être très rapide.

6.2.2.1 Descripteur basé FLASH

Notre premier descripteur est basé sur la division du voisinage d’un point d’in-térêt FLASH en plusieurs secteurs. Le découpage est fait en suivant un masque cir-culaire présenté sur la figure 6.2. Inspiré par notre descripteur destiné à l’appariement d’images de surface de béton, nous avons 2 cercles concentriques divisés en 8 quadrants et 16 quadrants respectivement dans la figure. Dans les expérimentations, le premier cercle à partir du point FLASH possède 16 quadrants et le deuxième a 32 quadrants.

Section 6.2. Word Spotting 125

(a) (b)

FIGURE6.3 – Représentation colorimétrique des valeurs de LBP avec des seuils diffé-rents. (a) T=0 (b) T=10 avec le découpage en grille 3x3.

Pour des raisons de simplicité, la figure 6.2 présente un exemple avec 8 quadrants sur le premier cercle et 16 pour le deuxième. Pour chaque quadrant, nous allons chercher d’autres points FLASH sur l’image. Si le point FLASH central est un point blanc sur fond noir, noté point B/W, nous cherchons spécifiquement des points noirs sur fond blanc (noté point W/B). De même, si le point FLASH central est un point W/B, nous cherchons uniquement des points B/W. Nous construisons un descripteur binaire ou chaque quadrant est représenté par un bit. Par conséquent, le descripteur est une chaîne binaire de 48 bits. Si un quadrant contient un point du type recherché, le bit est mis à 1. Sur la figure 6.2, le point central est un point W/B en bleu, et les quadrants assombris contiennent au moins un point rouge (point FLASH B/W), menant à un bit associé égal à 1. Ainsi, une fois le descripteur binaire créé et quelques informations additionnelles ajoutées comme l’orientation du point central, on peut alors déterminer la disposition des points et de retranscrire le voisinage.

6.2.2.2 Descripteur basé LBP

Notre deuxième descripteur est basé sur LBP. Nous exploitons le calcul de la dé-tection des points afin de déduire une valeur de LBP. Le seuil utilisé pour la dédé-tection permet de réduire le bruit et agit donc comme un filtre passe bas. Toujours dans la même idée, on divise le voisinage du point central en plusieurs régions. Le découpage le plus simple que nous avons testé, est représenté sur la figure 6.3, où l’on a 9 régions autour du point central. Sur chaque région, on va extraire un histogramme LBP. Les

his-(a) (b)

FIGURE6.4 – Paires utilisées pour construire le descripteur ORB-LBP. (a) Zone classique de taille 31x31. (b) Notre zone redéfinie pour les manuscrits de taille 15x31.

togrammes seront concaténés et vont construire le vecteur descripteur de la zone noté H. Dans l’idée, la méthode est très similaire au descripteur SIFT mais nous bénéficions de la rapidité de calcul de détecteur FLASH. De plus, la réutilisation des résultats pour les tests effectués pour connaitre la valeur LBP permet de gagner en temps de calcul.

Pour la mesure de similarité, nous utilisons la distance de Bray-Curtis déjà utilisée dans des cas similaires. Cette distance est définie par l’équation suivante :

D(Ha, Hb) =

i

|Ha(i) −Hb(i)|

Ha(i) +Hb(i) (6.1)

où Ha(i)et Hb(i)sont respectivement les ièmeéléments des histogrammes Haet Hbdes points a et b.

6.2.2.3 Descripteur inspiré de ORB : ORB-LBP

Le dernier descripteur que nous proposons est très rapide en temps de calcul. Nous avons repris l’idée de ORB décrit dans le chapitre 4 pour construire un descripteur binaire. Les paires conçues sont adaptées au document. Nous faisons l’hypothèse qu’un document est présenté dans le bon sens sur l’image. Ainsi nous pouvons comparer les

Section 6.2. Word Spotting 127

(a) (b) (c)

FIGURE6.5 – (a) Aucune orientation. (b) et (c) ont des orientations similaires orientations des points dans le voisinage d’un point central. Nous étudions 256 paires dans une zone de 15x31. La zone est réduite verticalement car on ne veut pas prendre en compte des mots des lignes suivantes ou précédentes. La comparaison des points d’une paire donne lieu, comme nous le verrons ci-dessous, à l’assignation de 2 bits de la chaîne binaire. Par conséquent, la chaîne est constituée de 512 bits pour 256 paires de points. Nous avons 2 catégories de code LBP. Ceux qui possèdent une orientation calculable et 2 codes LBP (0 et 255 en décimal) qui n’ont pas d’orientation (voir figure 6.5). On va fixer les 2 bits d’une comparaison de la façon suivante :

— si 2 points n’ont pas les mêmes catégories de code LBP alors les 2 bits sont fixés à 1.

— si 2 points ont la même catégorie de code LBP, alors le premier bit est fixé à 0. Puis le deuxième bit est fixé à 1 si les orientations sont similaires, 0 sinon. La mesure de similarité est réalisée par l’intermédiaire d’une adaptation de la dis-tance de Hamming proposée par Opencv. Elle se calcule comme la norme de Hamming en considérant la somme de deux bits consécutifs dans la chaine binaire comme un seul bit.