Une zone haute fréquences est une région d’une image qui contient des informations de type texte, code-barres et logos. La détection automatique des zones hautes fréquences consiste par un algorithme à délimiter sur une image l’ensemble de ces éléments
Les principaux efforts pour obtenir une bonne détection sont directement dépendants des performances des méthodes de pre-processing et de processing. Il s’agira alors d’analyser différentes approches pour ensuite les analyser, les comparer et proposer les méthodes qui présentent les meilleures performances.
Une fois des méthodes de pre-processing et de processing établis, il s’agira de filtrer les derniers éléments restant pour ensuite les délimiter comme étant des zones hautes fréquences.
Pour finir, les résultats finaux de l’algorithme seront comparés de façon automatique avec une segmentation effectuée à la main.
Dans ce chapitre, on expliquera toutes les étapes nécessaires pour arriver à une segmentation.
Fonctionnement
Un système OCR part de l’image numérique réalisée par un scanner optique d’une page (document imprimé, feuillet dactylographié, …) et produit en sortie un fichier texte en divers formats. Les performances d’un système OCR dépendent directement de la segmentation effectuée au préalable.
Pre-processing
L’objectif du pre-processing est de facilité les étapes de processing. Pour cela des filtres permettant de calculer l’intensités de chaque zones permet de faire apparaitre les zones de textes et code-barre. Le pre-procsessing permet aussi de transformer l’image originale en image monocouleur.
Filtres pre-processing
Les méthodes de filtres pre-processing visent à éliminer les informations qui ne sont pas considérées comme des zones texte et code-barre. Ces filtres consistent à analyser la géométrie des contours détecter après pre-processing et d’éliminer les premiers éléments indésirables.
Processing
Les méthodes de processing consistent à pousser l’analyse des contours restants en analysant cette fois-ci plusieurs critères tels que : histogramme, projection, intensités.
Segmentation
Cette étape consiste à regrouper les contours restants et de détourer sur l’image originale ces candidats comme étant une zone texte ou code-barre.
Interprétation des résultats
Afin d’interpréter les résultats de chacune des méthodes qui seront présentées dans ce travail, j’ai implémenté une solution qui permet de comparer une segmentation effectuée par un opérateur aux résultats obtenue par nos algorithmes. Je définis les critères de mesures de la façon suivante :
• Rapport entre les surfaces segmenté à la main et segmenter automatiquement (text) .
• Rapport entre les surfaces non texte et la surface totale de la boîte (noise) .
Le fait d’analyser les résultats de cette façon nous permet d’avoir une constance et une rigueur dans leur interprétation.
Etats de l’art
Dans ce chapitre on présentera les méthodes existantes et les algorithmes existants qui effectuent de la reconnaissance optique et de la segmentation de textes.
Deep Features for Text Spotting
Les méthodes de machine Learning sont énormément utilisées pour la reconnaissance de motif ; par exemple la reconnaissance optique de caractères (OCR) ainsi que dans la segmentation des zones de texte. Ces méthodes s’appuient sur une structure d’un réseau de neurones qui prend comme paramètre d’entrée les caractéristiques d’une image, pour obtenir en sorti le texte présent ou non sur l’image d’entrée. Ces méthodes fonctionnent en deux étapes distinctes à savoir :
• La mémorisation
• La généralisation .
Une fois le réseau de neurones établi avec ses différentes entrées (abstraction de l’image) il s’agit de présenter au réseau des éléments dont les résultats sont déterminés à l’avance, on appelle cela la phase de mémorisation. Une fois la mémorisation effectuée, on présente au système d’autre image dont le résultat n’est pas déterminé et on analyse les résultats obtenus à la sortie du réseau, on appelle cela la phase de généralisation. Le désavantage d’une méthode basée sur un réseau de neurones réside sur le fait qu’il est très compliqué d’expliquer les étapes effectuées à l’intérieur du réseau. Pour la phase de mémorisation il faut également disposer d’un très grand nombre d’images qui doivent être classifiées par un humain, tout en s’assurant de ne pas générer un surapprentissage. L’avantage de ces méthodes réside principalement dans leurs efficacités.
Méthode « sliding-windows detection »
Une « sliding -windows » est une région rectangulaire que l’on détermine par sa hauteur et largeur parcourant l’ensemble d’une image. Pour chaque région de cette fenêtre, on applique une classification d’image pour déterminer si cette région nous intéresse ou pas dans notre cas on classifiera une zone haute fréquence texte. Cette méthode est généralement combinée avec des méthodes « image pyramids» qui permettent de reconnaître un objet avec différentes tailles. La méthode sliding windows joue un rôle important dans la détection d’objets sur une image ainsi que dans sa classification. La force de cette méthode est dans le fait que l’ensemble de l’image originale est parcouru par la fenêtre, elle garantit aucune perte d’information relative à l’image. Sa faiblesse réside dans le fait que pour obtenir des résultats robustes il faut que la classification des objets soit unique pour chaque type d’objet. Dans notre cas l’objet est une zone de texte qui par sa diversité de caractéristiques ne peut pas être classifiée de façon unique. De plus cette méthode est dite brute force, son temps d’exécution est directement lié à la taille de l’image et à la taille de la fenêtre.
Synthèse
Dans le cadre de notre travail je propose d’utiliser des méthodes dites de machine learning à savoir :
• Arbre de décision
• Réseau de neurones .
Après discussion avec Mario Bellino nous avons décidé d’abandonner les méthodes de réseau de neurones qui sont très complexe à analyser et à régler. Les méthodes de « sliding-windows detection » sont très vite abandonnées. En effet, le fait que ces méthodes sont directement dépendantes de la taille de la fenêtre et que je dispose d’image avec une très grande résolution il paraît évident que ce type de méthode serai beaucoup trop gourmande en temps de processing. Le fait d’utiliser des méthodes « image pyramids » afin de contrer le problème lié à la taille de l’image serait à mon sens pas efficace car les zones de texte ont des caractéristiques qui dépendent aussi de la résolution de l’image.
|
Table des matières
Introduction
4 Théorie
4.1 Fonctionnement
4.1.1.1 Pre-processing
4.1.1.2 Filtres pre-processing
4.1.1.3 Processing
4.1.1.4 Segmentation
4.1.1.5 Interprétation des résultats
5 Etats de l’art
5.1 Deep Features for Text Spotting
5.2 Méthode « sliding-windows detection »
5.3 Synthèse
6 Pre-processing
6.1 Filtre « Laplacian »
6.1.1 Filtre Laplacian sur niveau de gris
6.1.2 Filtre Laplacian sur des images niveau de couleurs
6.1.3 Maximum Laplacian sur les 3 bandes de couleur
6.2 Filtre de Sobel
6.2.1 Filtre de Sobel sur image niveau de gris
6.2.2 Filtre de Sobel Maximum et Somme
6.3 Résultats pre-processing
6.4 Synthèse
7 Filtres pre-processing
7.1 Détection est suppression contours de boîtes
7.2 Détection est suppression des « crease »
TRAVAIL DE DIPLÔME 11 juillet 2016
7.2.1 Détection des « crease » méthode n°1
7.2.2 Détection des « crease » méthode n°2
7.3 Détection de code-barres et datamatrix
7.4 Synthèse
8 Processing
8.1 Abstraction d’une ROI
8.1.1 Caractéristiques géométriques
8.1.2 Zones spatiales
8.1.3 Histogramme
8.1.4 Projection orthogonale
8.2 Stratégie de processing
8.2.1 Filtre N°1
8.2.2 Filtre N°2
8.3 Machine learning « Decision Tree »
8.4 Synthèse
9 Segmentation
9.1 Segmentation simple
9.1.1 Résultats et analyse
9.2 Segmentation sur base de masque
9.2.1 Résultats et analyse
9.3 Segmentation finale
9.4 Résultats
10 Conclusion
Télécharger le rapport complet