1 Généralités 2 Détection de l`orientation

publicité
1
Généralités
Quelques problématiques associées à l’analyse de texte :
– Rapidité
– Fond complexe
– Couleur
– Qualité (compression)
– Crénelage et anti-crénelage
– Orientation des lignes
– Manuscrit ou dactylographié
– Alphabets / polices
– Tailles
– Exactitude
Nous allons nous focaliser sur des algorithmes rapides qui permettent de
détecter des lignes (orientation et épaisseur) d’un texte dactylographié.
2
Détection de l’orientation
Les principales techniques de détection de l’orientation des lignes sont
les suivantes :
– Projections
– Transformation de Hough
– Transformation de Fourier
– Regroupement des voisins
– Corrélation des lignes de croisement (algorithme de Gatos [3]).
2.1
Méthodes de projection
La méthode du profil de projection de Baird [1] utilise un ensemble de
profils de projection à un certains nombre d’angles autour de l’angle attendu.
L’angle choisit est celui dont le profil donne la plus grande variation.
D’après [4], cette méthode demande beaucoup de temps de calcul et
son efficacité diminue lorsque les document contiennent du bruit ou des
fragments de caractères.
Il existe aussi l’algorithme de Ciardello et al. [2] qui utilise une projection
horizontale. Il devra être étudié afin de connaı̂tre sa rapidité.
2.2
Transformation de Hough
Les transformations de Hough sont très communes en détection d’orientation.
D’après [3] et [4], les transformations Hough sont très gourmandes en
temps de calcul.
1
2.3
L’algorithme de Gatos et al.
L’article [3] présente un algorithme capable de trouver l’orientation des
lignes d’un texte ainsi que leur position (leur ligne centrale).
2.3.1
L’algorithme
La première étape de l’algorithme consiste à lisser verticalement l’image
en lui appliquant l’algorithme Run-length smoothing algorithm (RLSA) [6] :
on fixe un certain seuil T , si le nombre de pixels de fond (les blancs) entre
deux pixels de texte (les noirs) est inférieur ou égal au seuil T , alors ces
pixels de fond sont convertis en pixel de texte. Ce faisant, on obtient des
bandes horizontales noires plutôt que du texte.
On sélectionne ensuite plusieurs lignes (deux au moins, plus améliore les
résultats) verticales qui découpe l’image en portions de même dimension, on
créé des tableaux qui contiennent soit 1 si des pixels sont présents autour,
soit 0.
Des matrices de corrélation sont ensuite calculées qui représentent les
possibilités de lignes entre deux lignes verticales. Si plus de deux lignes
verticales sont utilisées, on regroupe toutes les matrices dans une matrice
globale. De celle-ci on cherche la possibilité (l’angle) ayant la plus forte
chance d’être une ligne et on la choisit.
À partir d’une matrice de cohérence, on peut aussi obtenir le centre des
lignes en sélectionnant les points à plus forte concentration.
2.3.2
Analyse
Les avantages de cet algorithme :
– Beaucoup plus rapide que Hough, Hough+RLSA et ICC (Yan) (de 50
à 100 fois d’après les expériences de l’article). De l’ordre de 4 secondes
sur un 486DX à 33MHz.
– Seule une portion de l’image de départ est utilisée, celle autour des
lignes (voire juste les lignes si on élimine RLSA).
– Résiste à la présence d’images dans le texte.
– Son exactitude est ajustable grâce au nombre de lignes verticales.
Les limites de l’algorithme :
– Dépendant de l’angle maximum d’orientation de l’algorithme.
– Fonctionne uniquement sur des documents textuels (donc OK pour
nous).
On a N − 1 matrices de corrélation (où N est le nombre de lignes verticales) qui sont chacune de taille H × 2L où H est la hauteur de l’image en
pixel et L la pente maximum d’une ligne avec L = D × tan(2πθm ax/360).
L’algorithme devrait aussi être modifiable pour pouvoir donner l’épaisseur
(moyenne au moins) des lignes. :
2
2.4
L’algorithme de Shivakumara et al.
TODO
3
3.1
Segmentation de texte
Algorithme de Tran, Lux, NGuyen et Boucher
L’algorithme à arrête [5] permet de trouver du texte présent dans une
image indépendamment de sa taille, de son orientation ou de ses couleurs. Il
recherche, à un haut niveau, les arrêtes de texte puis, à un niveau plus bas,
les arrêtes correspondants à la forme des caractères. Il est ainsi indépendant
de l’alphabet utilisé et peut aussi bien reconnaı̂tre des caractères latins que
chinois à la fois dactylographiés et manuscrits.
Des contraintes sur les arrêtes sont utilisées afin de séparer les arrêtes de
texte du non-texte par exemple sur la longueur des arrêtes de caractère ou
sur leur orientation par rapport à l’arrête centrale.
Références
[1] H. Baird. The skew angle of printed documents. Proc. Soc. Photogr. Sci.
Eng., pages 21–24, 1987.
[2] G. Ciardello, G. Scafur, M. T. Degrandi, M. R. Spada, and M. P. Roccoteli. An experimental system for office document handling and text
recognition. Proc. Ninth Conf. on Pattern Recognition, pages 739–743,
1988.
[3] B. Gatos, N.Papamarkos, and C. Chamzas. Skew detection and text
line position determination in digitized documents. Pattern Recognition,
30(9) :1505–1519, 1997.
[4] P. Shivakumara, G. Hemantha Kumar, D. S. Guru, and P. Nagabhushan.
A novel technique for estimation of skew in binary text document images
based on linear regression analysis. Sadhana, 30 :69–85, 2005.
[5] H. Tran, A. Lux, and A. Boucher H. L. Nguyen. A novel approach for
text detection in images using structural features. 2005.
[6] K. Y. Wong, R. G. Casey, and F. M. Wahl. Documents analysis system.
IBM J. Res. Devel, pages 647–656, 1982.
3
Téléchargement