Brevet FR2795205A1 — publié le 20001222

L'invention concerne un procédé de transformation d'une image numérique à plusieurs niveaux de gris en une image binaire dans laquelle chaque pixel est codé sur un bit. Elle s'applique tout particulièrement aux machines de traitement automatique du courrier. Dans le traitement automatique du courrier, il est usuel de prévoir entre l'unité de dépilage des articles de courrier et l'unité de tri de ces articles de courrier, une caméra qui réalise une image numérique à plusieurs niveaux de gris de la face de chaque article de courrier sur laquelle est imprimée l'adresse du destinataire du courrier. A partir de cette image numérique à plusieurs niveaux de gris, on réalise une reconnaissance automatique des caractères de l'adresse et par suite une lecture automatique de l'adresse pour faire fonctionner l'unité de tri en aval. Les traitements de reconnaissance automatique de caractères sont appliqués sur des images binarisées, c'est à dire des images dans lesquelles chaque pixel est codé sur un seul bit. Dans l'image numérique à plusieurs niveaux de gris, chaque pixel est codé généralement sur un octet, c'est-à-dire sur huit bits. Jusqu'à présent, pour transformer une image numérique à plusieurs niveaux de gris en une image binaire, on utilise dans le domaine du traitement du courrier, un traitement par seuillage dynamique consistant à calculer, pour chaque pixel de l'image numérique à plusieurs niveaux de gris, le niveau de contraste local dans un certain voisinage de ce pixel, ce niveau de contraste permettant de calculer un seuil local auquel est comparé le niveau de gris du pixel pour le codage du pixel correspondant dans l'image binaire. Par exemple, si le niveau de gris du pixel courant est inférieur ou égal au niveau de contraste local de ce pixel, le pixel correspondant de l'image binaire est blanc et dans le cas contraire il est noir. L'image binaire comprend donc seulement des pixels blancs ou noirs. II existe d'autres traitements pour binariser une image numérique à plusieurs niveaux de gris, par exemple le traitement par seuillage statique selon lequel le niveau de gris de chaque pixel de l'image à binariser est comparé à un seuil fixe ou encore des traitements utilisant des opérateurs de type gradient, laplacien, écart-type, etc.... Dans le domaine du courrier postal, les caractères imprimés sur les articles de courrier présentent une grande variabilité qui est due aux habitudes locales de chaque pays en matière d'impression d'adresses sur les articles de courrier ainsi qu'à l'utilisation de supports différents d'impression. II s'ensuit qu'en appliquant le même traitement de binarisation sur un large spectre d'articles de courrier, on obtient une grande diversité dans la qualité des images binaires. Celles-ci ne conservent pas toujours la structure géométrique originelle et la connexité des caractères des images à plusieurs niveaux de gris. L'interconnexion des caractères, lorsque ceux-ci sont très voisins, ainsi que leur creusement, lorsqu'ils sont anormalement épais ne sont pas toujours pris en compte dans les images binaires. De même, les faibles contrastes qui peuvent constituer des éléments caractéristiques de la forme des caractères ne sont pas toujours récupérés dans l'image binaire alors que des taches sur le support d'impression des caractères peuvent être récupérées dans l'image binaire. Le but de l'invention est donc de proposer un procédé de transformation d'une image numérique à plusieurs niveaux de gris en une image binaire qui remédie aux inconvénients indiqués ci-dessus. A cet effet, l'invention a pour objet un procédé de transformation d'une image numérique à plusieurs niveaux de gris en une image binaire dans laquelle chaque pixel est codée sur un bit, caractérisé en ce qu'il consiste à appliquer sur chaque pixel courant de l'image numérique à plusieurs niveaux de gris plusieurs traitements parallèles de binarisation différents fournissant en sortie chacun une valeur binaire pour ce pixel courant et à combiner les valeurs binaires fournies par les différents traitements de binarisation pour chaque pixel courant de l'image numérique à plusieurs niveau de gris pour obtenir une valeur binaire résultante constituant le pixel correspondant de l'image binaire. Cette approche multitraitements permet de mieux tenir compte de la diversité d'impression des caractères dans les images numériques à plusieurs niveaux de gris d'artilces de courrier. La combinaison des valeurs binaires en sortie des traitements de binarisation permet d'adapter le codage définitif du pixel dans l'image binaire en fonction des caractéristiques spécifiques des articles de courrier à traiter. Les traitements de binarisation peuvent inclure des traitements passe-bande de type seuillage dynamique ou statique, des traitements passe-haut à l'aide d'opérateurs de calcul de type différentiel (gradient, Laplacien), des traitements passe-bas à l'aide d'opérateurs de calcul de type intégrateur. Selon une particularité du procédé selon l'invention, ces traitements de binarisation peuvent en partie être réalisés par un classifieur neuronal. Pour chaque pixel de l'image numérique à binariser, on fournit au classifieur neuronal un vecteur de valeurs caractérisant l'environnement de ce pixel dans cette image et sur la base de ce vecteur de valeurs caractéristiques, le classifieur neuronal produit une valeur binaire pour ce pixel. L'utilisation d'un classifieur neuronal est particulièrement avantageuse pour traiter des spectres très différents d'articles de courrier sur une même machine. En effet, Il suffit de réaliser des phases d'apprentissage du classifieur neuronal sur des lots d'articles de courrier présentant les particularités des divers spectres de courrier pour constituer autant de jeu de poids de neurones pour le classifieur neuronal. En maintenant ces différents jeux de poids de neurones en mémoire dans la machine de traitement automatique du courrier, il est possible d'adapter facilement le processus de binarisation à un certain type d'articles de courrier en chargeant le jeu de poids de neurones qui convient le mieux pour ce type d'articles de courrier. Le procédé selon l'invention et sa mise en oeuvre sont décrits plus en détail ci-après et illustrés sur les dessins. La figure 1 présente un schéma synoptique du procédé selon l'invention. La figure 2 illustre une fenêtre de 9x9 pixels d'une image numérique à plusieurs niveaux de gris. Le procédé de transformation d'une image numérique à plusieurs niveaux de gris en une image binaire selon l'invention est donc plus particulièrement destiné à être mis en oeuvre dans une machine de traitement automatique du courrier. Par la suite, on considérera qu'une image numérique à plusieurs niveaux de gris est une image réalisée selon un maillage carré de pixels avec une densité de pixels par millimètre déterminée, par exemple huit pixels par millimètre suivant les deux directions. Chaque pixel de cette image est par exemple codé sur huit bits et donc avec une dynamique totale de 256 niveaux de gris. Figure 1, la transformation d'une image numérique à plusieurs niveaux de gris A en une image binaire F est donc obtenue selon le procédé de l'invention par application en parallèle de plusieurs traitements différents de binarisation tels que T1,T2,T3, effectués en mode pipeline sur l'image A. Chaque traitement de binarisation fournit en sortie une image intermédiaire binaire et les pixels des images binaires respectivement B,E,D produites par les traitements T1,T2 et T3 sont combinées dans un traitement décisif T4 pour l'obtention d'une image binaire résultante F dont le pixels sont blancs ou noirs exclusivement. Un traitement supplémentaire de filtrage morphologique T5 peut avantageusement être appliqué sur l'image F pour produire une image G de meilleure qualité que l'image F. En particulier, ce traitement T5 peut permettre d'éliminer les pixels blancs ou les pixels noirs dans l'image F aussi bien à l'intérieur du fond que du tracé ainsi que dans les frontières entre ces deux catégories de pixel de l'image. De façon générale, chaque traitement de binarisation tel que T1,T2, et T3 est un traitement itératif qui est appliqué sur l'ensemble des pixels de l'image A et on notera P le pixel courant de l'image A traité au cours d'une itération d'un traitement de binarisation. Les traitements de binarisation qui peuvent être mis en parallèle sont du type passe-bande, passe -haut ou passe-bas. La figure 1 illustre comme traitements de binarisation, le traitement par seuillage statique tel que T3 ou le traitement de contraste local par seuillage dynamique tel que T2 qui sont deux traitements de type passe-bande. Dans le traitement par seuillage statique, le niveau de gris du pixel courant est simplement comparé à un seuil fixe pour affecter au pixel correspondant dans l'image binaire D la valeur 0 ou 1 correspondant par exemple à un pixel blanc ou un pixel noir respectivement. Le principe du seuillage dynamique a déjà été exposé ci-dessus. Le principe du procédé selon l'invention est d'obtenir, pour chaque pixel de l'image A, plusieurs valeurs binaires 1 ou 0 produites en parallèle par autant de traitements de binarisation différents, c'est-à-dire les pixels correspondant des images B,E,D, et de combiner ces valeurs binaires 1 ou 0 pour coder le pixel correspond de l'image binaire F à 1 ou 0. On comprendra que cette combinaison des valeurs binaires permet de privilégier tel ou tel traitement de binarisation en fonction du type d'articles de courrier à traiter pour obtenir l'image binaire résultante F. Cette combinaison pourrait aussi être basée sur le principe du vote majoritaire. Dans le procédé selon l'invention, certains des traitements parallèles de binarisation peuvent être réalisés par un classifieur neuronal. On voit en particulier sur la figure 1 que la sortie du traitement T1 est la sortie d'un classifieur neuronal. Pour simplifier la suite de la description, on a appellera voisinage d'un pixel courant P dans l'image A, une matrice carrée de pixels au centre de laquelle est placé le pixel courant P. La figure 2 illustre un voisinage du pixel P constitué par une matrice carrée de 9x9 pixels tels que les pixels 1 à 8. Le classifieur neuronal peut être de type MLP (Multi Layer Perceptron) à une ou plusieurs couches cachées. Le principe de fonctionnement de ce classifieur neuronal est de traduire en une valeur binaire, un vecteur de données caractérisant l'environnement d'un pixel courant P de l'image A. A titre d'exemple, ce classifieur neuronal peut avoir une couche d'entrée à 10 neurones sur lesquels sont appliqués 10 données caractéristiques d'un pixel courant P extraites par des primitives de calcul PO à P9 détaillées ci-après à titre d'exemple non limitatif. La primitive PO extrait simplement le niveau de gris du pixel courant P. Cette donnée correspond à un des 256 niveaux de gris et est codée sur un octet. Les primitives P1,P2 et P3 calculent respectivement les niveaux de gris moyens autour du pixel P pour des voisinages différents de celui-ci dans l'image A, typiquement dans des matrices de 3x3 pixels, de 7x7 pixels et de 13x13 pixels. Les primitives P4 et P5 calculent respectivement l'écart maximum des niveaux de gris des pixels dans des voisinages du pixel P différents dans l'image A, typiquement dans des matrices de 7x7 pixels et de 13x13 pixels. Les primitives P6 et P7 calculent l'écart-type des niveaux de gris des pixels dans des voisinages du pixel P différents, typiquement dans des matrices carrées de 7x7 pixels et de 13x13 pixels. La primitive P8 calcule le niveau de contraste local dans un voisinage du pixel P, typiquement une matrice de 13x13 pixels. Ici, cette primitive correspond en partie au traitement de binarisation T2. Enfin la primitive P9 extrait le gradient sur quatre directions dans un voisinage du pixel P, typiquement une matrice de 3x3 pixels. Les poids des neurones du classifieur neuronal sont obtenus par apprentissage selon la méthode de la rétropropagation à partir d'images binaires synthétisées. Ces images sont synthétisées de façon à orienter le réseau de neuronnes dans la direction que l'on souhaîte ; par exemple pour éviter de creuser les caractères épais, on utilise une forte proportion d'images synthétisées qui représentent des caractères épais ; dans le cas nominal ces images sont dans proportion représentative du courrier réel. II est avantageux de réaliser plusieurs phases d'apprentissage pour constituer plusieurs jeux de poids pour les neurones du classifieur de telle façon que chaque jeu de poids soit plus particulièrement adapté à un certain type d'articles de courrier à traiter. Les traitements parallèles T1,T2 et T3 peuvent être implémentés dans un circuit ASIC et sont tous paramétrables. En phase d'utilisation dans une machine de traitement du courrier, différents paramètres de seuillage des traitements T2 et T3, différents paramètres de calcul des primitives PO à P9 et différents jeux de poids des neurones du classifieur neuronal du traitement T1 peuvent être maintenus en mémoire dans la machine de traitement automatique du courrier de sorte qu'il est envisageable de pouvoir les récupérer sélectivement pour paramétrer le circuit ASIC avant de lancer un processus de binarisation sur un lot particulier d'articles de courrier. REVENDICATIONS 11 Un procédé de transformation d'une image numérique (A) à plusieurs niveaux de gris en une image binaire (F) dans laquelle chaque pixel est codée sur un bit, caractérisé en ce qu'il consiste à appliquer, sur chaque pixel courant (P) de l'image numérique à plusieurs niveaux de gris, plusieurs traitements parallèles de binarisation (T1,T2,T3) différents fournissant en sortie chacun une valeur binaire pour ce pixel courant et à combiner (T4) les valeurs binaires fournies par les différents traitements de binarisation pour chaque pixel courant de l'image numérique à plusieurs niveau de gris pour obtenir une valeur binaire résultante constituant le pixel correspondant de l'image binaire. 2/ Le procédé selon la revendication 1, dans lequel la sortie d'un des traitements de binarisation (T1) est la sortie d'un classifieur neuronal. 31 Utilisation dans une machine de traitement automatique du courrier, d'un classifieur neuronal pour la transformation d'une image numérique à plusieurs niveaux de gris en une image binaire. 41 Utilisation d'un classifieur neuronal selon la revendication 3, dans laquelle le classifieur neuronal a subi plusieurs phases d'apprentissage par rétropopagation pour constituer autant de jeux différents de poids pour les neurones du classifieur neuronal, ces différents jeux de poids étant maintenus en mémoire dans la machine de traitement automatique du courrier, et dans laquelle ces jeux de poids peuvent être sélectivement récupérés pour binariser des images numérisées pour un lot déterminé d'articles de courrier.