Brevet FR3105529A1 — publié le 20210625

« Titre : Procédé de segmentation d’une image d’entrée représentant un document comportant des informations structurées » La présente invention concerne un procédé de segmentation d’une image d’entrée représentant un document comportant des informations structurées, le procédé comprenant des étapes de : (C2) Détermination d’un type de document par une méthode de classification, ledit type étant choisi parmi un ensemble de types possible chacun associé à une image de référence du type de document, l’image de référence étant une image comportant uniquement le document ; (C3) Estimation des paramètres d’une transformation géométrique à appliquer à l’image de référence du type de document déterminé à l’étape (C2) pour obtenir le document tel que représenté par l’image d’entrée ; (C4) Détermination d’un masque de segmentation à partir des paramètres de la transformation géométrique estimés à l’étape (C3) et de l’image de référence du type de document déterminé à l’étape (C2). Figure pour l’abrégé : Fig. 1 Procédé de segmentation d’une image d’entrée représentant un document comportant des informations structurées » DOMAINE TECHNIQUE GENERAL La présente invention concerne le domaine de l’identification des documents comportant des informations structurées, par exemple sous la forme de cases à cocher. Plus particulièrement elle concerne une méthode d’identification (classification) et de segmentation d’un tel document, par exemple un bulletin de jeu, dans une image prise dans un environnement non contrôlé. ETAT DE L’ART Par document comportant des informations structurées on comprendra un élément, généralement sur support papier ayant une forme et des motifs prédéfinis, comportant des indications et un ensemble de zones à remplir, par exemple des cases à cocher. Un tel document peut-être par exemple un bulletin de jeu (de loterie par exemple), un formulaire, ou un questionnaire à choix multiples. Le traitement des documents comportant des informations structurées a connu de nombreux développements grâce aux avancées faites dans le domaine de la vision par ordinateur. Des procédés ont ainsi été proposé tel que celui décrit dans le brevet FR2983607, permettant le suivi d’un objet dans une séquence d’au moins deux images, reposant sur une extraction de points caractéristiques dans les images, par exemple par des descripteurs SIFT (scale-invariant feature transform), ainsi qu’une mise en correspondance des points caractéristiques entre les images. Ce procédé comprend une étape de sélection de points dits « singuliers » qui permet de réduire les ambiguïtés dans le cas de documents qui présentent des motifs répétitifs comme les cases des bulletins de jeu. Il permet d’assurer le suivi d’un document présent dans un flux vidéo, sans que le modèle de document ne soit connu au préalable, et exploite un ensemble de points d’intérêts présents dans les images. Ce procédé permet ainsi de déterminer une zone de présence et une segmentation de l’objet, issue de l’analyse du mouvement entre les images. Cependant, les performances de l’extraction des points d’intérêt de cette approche sont limitées par l’absence d’image de référence. En fonction des documents il peut y avoir des régions avec peu ou pas de points caractéristiques, qui seront alors mal détectées par le procédé. Enfin dans les cas d’empilement de documents, le dernier document ajouté peut provoquer un mouvement de documents situés en dessous, dont certaines parties peuvent alors être incorrectement détectées. Enfin ce procédé à comme inconvénient majeur qu’il ne permet pas d’identifier le modèle de document. Un autre procédé, proposé dans le brevet FR3027136, permet l’identification d’au moins un signe d’un document déformé reposant sur la segmentation de régions de signes candidates, puis l’identification conjointe de ces régions de signes candidates et d’un modèle de déformation par rapport à des modèles de documents préalablement stockés. Cependant, ce procédé présente certains inconvénients, tout d’abord, il ne permet pas de classifier et segmenter une image, son but est simplement de décoder un document donné à partir d’un patron de document. De plus, le procédé décrit dans ce brevet requiert une délimitation manuelle des régions du documents comprenant des informations afin d’identifier celui-ci. Enfin, comme ce procédé ne comprend pas d’étape de segmentation, il peut être perturbé par la présence d’autre documents dans le champ de vision du système d’acquisition utilisé. PRESENTATION DE L’INVENTION Selon un premier aspect, la présente invention concerne un procédé de segmentation d’une image d’entrée représentant un document comportant des informations structurées, le procédé comprenant la mise en œuvre par des moyens de traitement (11) des étapes de : (C2) Détermination d’un type de document par une méthode de classification, ledit type étant choisi parmi un ensemble de types possible chacun associé à une image de référence du type de document ; (C3) Estimation des paramètres d’une transformation géométrique à appliquer à l’image de référence du type de document déterminé à l’étape (C2) pour obtenir le document tel que représenté par l’image d’entrée ; (C4) Détermination d’un masque de segmentation à partir des paramètres de la transformation géométrique estimés à l’étape (C3) et de l’image de référence du type de document déterminé à l’étape (C2). Selon d’autres caractéristiques avantageuses et non limitatives : le procédé comprend en outre une étape (C1) d’acquisition d’une image comprenant le document comportant des informations structurées à segmenter, réalisée avant l’étape (C2) les documents peuvent être des tickets de jeux comportant des cases à cocher ; la méthode de classification peut être un réseau de neurones profond, et plus particulièrement un réseau de neurones profond de type convolutif ; la méthode de classification peut être une méthode de type point d’intérêt combinée avec un partitionnement des points d’intérêt ; l’étape (C1) d’acquisition d’une image comprenant au moins un document comportant des informations structurées à segmenter comprend en outre une étape de sous-échantillonnage de l’image comprenant le au moins un document comportant des informations structurées à segmenter ; les déformations géométriques sont des déformations représentées par des fonctions affines ; l’estimation des paramètres de la transformation géométrique de l’étape (C3) est réalisée par un réseau de neurones profond. Selon un second aspect, l’invention concerne un procédé d’augmentation des données d’entrainement pour l’entrainement d’un procédé de segmentation selon le premier aspect, à partir d’une unique image de référence pour chaque type de documents à segmenter, le procédé comprenant, pour chaque type de documents, la mise en œuvre par des moyens de traitement (31) des étapes de : (E2) Simulation de déformation géométrique aléatoires ; (E3) Simulation d’un fond à l’image par incrustation de l’image ayant subi les déformations dans une texture générée aléatoirement ou sélectionnée dans une liste de textures, représentant le fond de l’image ; (E4) Simulation de dégradations photométriques par modification du contraste et de la colorimétrie de l’image générée à l’étape précédente ; (E5) Ajout d’un bruit numérique à l’image générée à l’étape précédente, les étapes précédentes étant répétées autant de fois que l’on souhaite avoir d’exemples d’entrainement pour le type de document. Selon d’autres caractéristiques avantageuses et non limitatives : le procédé comprend en outre une étape (E1) d’acquisition d’une image de référence du type de document réalisée avant l’étape (E2). les déformations géométriques peuvent être des déformations représentées par des fonctions affines ; le procédé comprend en outre une étape (E3bis) de masquage, permettant masquer les zones de l’image de référence du type de document pouvant être différentes d’un document du même type à l’autre en appliquant une texture générée aléatoirement ou sélectionnée dans une liste de textures, représentant un motif variable ; L’invention propose en outre un produit programme d’ordinateur comprenant des instructions de code pour l’exécution d’un procédé de segmentation selon le premier aspect ou d’un procédé d’augmentation des données d’entrainement selon le second aspect, lorsque ledit programme est exécuté sur un ordinateur ; et un moyen de stockage lisible par un équipement informatique sur lequel un produit programme d’ordinateur comprenant des instructions de code pour l’exécution d’un procédé de segmentation selon le premier aspect ou d’un procédé d’augmentation des données d’entrainement selon le second aspect, lorsque ledit programme est exécuté sur un ordinateur. PRESENTATION DES FIGURES D’autres caractéristiques et avantages de la présente invention apparaîtront à la lecture de la description qui va suivre d’un mode de réalisation préférentiel. Cette description sera donnée en référence aux dessins annexés dans lesquels : la figure 1 est un schéma d’une architecture pour la mise en œuvre du procédé selon l’invention ; la figure 2 représente les étapes d’un mode de réalisation du procédé de segmentation selon l’invention ; la figure 3 représente les étapes d’un mode de réalisation du procédé d’augmentation de données selon l’invention ; [Fig. 4] la figure 4 illustre des exemples d’images générées par le procédé d’augmentation de données. DESCRIPTION DETAILLEE Architecture Selon deux aspects complémentaires de l’invention, sont proposés : Un procédé de segmentation d’un document comportant des informations structurées ; Un Procédé d’augmentation des données d’entrainement pour l’entrainement d’un procédé de segmentation selon le premier aspect à partir d’une unique image de référence pour chaque type de documents à segmenter. Ces procédés sont mis en œuvre au sein d’une architecture telle que représentée par la figure 1 , grâce à un serveur de segmentation 1 (mettant en œuvre le procédé de segmentation), un serveur d’apprentissage 3 (mettant en œuvre le procédé d’apprentissage), une base de données 4 (servant à stocker les images de référence des différents types de documents) et un client 2 (disposant d’images de documents à segmenter), par exemple un terminal d’un utilisateur tel qu’un ordinateur portable ou un smartphone. Il est tout à fait possible que certains ou la totalité de ces équipements soient confondus, par exemple le serveur de segmentation 1 peut être regroupé avec le client 2, et le serveur d’apprentissage peut comprendre la base de données. Les équipements 1, 2, et 3 sont typiquement des équipements informatiques distants reliées à un réseau étendu 10 tel que le réseau internet pour l’échange des données chacun comprend des moyens de traitement de données respectivement 11, 21, 31 de type processeur, et des moyens de stockage de données 12, 22, 32 tel qu’une mémoire informatique, par exemple un disque. Le client 2 comprend en outre des moyens d’acquisition d’images 23 afin d’obtenir des images des documents à segmenter. La base de données 4, peut être soit un serveur indépendant des moyens de traitement de données et de stockage propres, soit un serveur de fichier (par exemple un serveur NAS), soit un système de gestion de base de données intégré au serveur d’apprentissage. Cette base de données stocke des images de référence pour chaque type de documents à segmenter. Par image de référence, on entend une image de bonne qualité (sans défaut de prise de vue) comportant uniquement le document à l’échelle (donc non déformé), une telle image peut être par exemple un fichier source généré par un logiciel de dessin assisté par ordinateur. Principe L’idée des procédés proposés est de permettre l’utilisation et l’entrainement de méthodes de segmentation nécessitant de grandes quantités de données, tel que les réseaux de neurones, en se contentant d’un exemple par classe (ou type de document) lors de l’entrainement et en appliquant une chaine d’augmentation d’images suffisamment représentative des images de documents réels et permettant ainsi d’avoir un volume d’images suffisant pour l’apprentissage de la méthode de segmentation. Pour cela, le procédé de segmentation est divisé en un sous-procédé de classification suivis d’une estimation des paramètres d’une transformation géométrique qui, lorsqu’elle est appliquée à l’image de de référence du type de document déterminé par la méthode de classification, fait correspondre la forme de l’image de référence à la forme du document dans l’image à segmenter. Elle permet ainsi de segmenter des documents dont la forme et les contours sont connu à l’avance sans avoir besoin d’entrainer une méthode de segmentation sur des exemples ou chaque pixel de l’image a été annoté manuellement. De plus, la séparation des étapes de segmentation et de classification simplifie l’ajout d’un nouveau type de document au modèle car il n’est alors pas nécessaire de réentraîner l’ensemble du modèle, seulement les portions qui ont changées. L’utilisation de méthodes basées sur les réseaux de neurones permet en outre de réduire les temps de calculs nécessaires par rapport à l’état de la technique, en effet contrairement aux méthodes de point d’intérêt qui ne nécessitent pas forcément d’entrainement comme les réseaux de neurones, mais ont un temps de calcul dépendant de la complexité des données d’entrées, les réseaux de neurones permettent en revanche d’avoir un temps de calcul constant quel que soit l’image d’entrée lors de la classification. De plus, de manière surprenante, la décomposition de la classification et de la segmentation en deux tâches différentes permet aussi de réduire le temps de calcul par rapport à une méthode réalisant la classification et la segmentation dans un même temps. En effet, le procédé de segmentation étant spécifique à chaque type de document et donc moins complexes, et la classification étant une opération plus simple que la segmentation, la charge de calcul induite par l’utilisation de ces deux procédés est inférieure à celle d’un procédé réalisant les deux opérations dans le même temps. Phase de classification et de segmentation En référence à la figure 2 , le procédé de segmentation comprend une première étape, C1, d’acquisition d’une image à traiter comportant le document à classer et segmenter. Cette image peut être acquise soit par des moyens de prise de vue 23, intégrés au client 2, soit être acquises via un réseau d’échange de données 10 tel que l’internet, cette étape peut en outre comprendre un sous-échantillonnage de l’image acquise afin de simplifier son traitement. L’image à traiter est ensuite transmise à un classifieur afin de déterminer le type du document lors d’une étape C2, cette classification peut alors être réalisée par un algorithme standard de classification, par exemple un réseau de neurones convolutif (CNN) tel que VGG16, DenseNet, ResNet etc. ou une méthode correspondance de points d’intérêt tel que SIFT ou SURF (Speeded Up Robust Features). Une fois le type de document identifié, une méthode de régression est utilisée afin d’estimer les paramètres d’une transformation géométrique (par exemple une transformation affine) qui lorsqu’elle est appliquée à l’image de référence du type de document identifié, permet de retrouver la forme du document présent dans l’image à traiter. Cette régression peut être faite grâce à un réseau de neurones profond d’un type similaire à celui utilisé pour l’étape de classification (de préférence un CNN tel que VGG16, DenseNet, ResNet etc.) auquel est ajoutée une couche de connexion dense destinée à estimer les paramètres de la transformation géométrique, il est aussi possible de combiner le réseau de classification et le réseau régression en réutilisant les premières couches du réseau de classification pour la régression. La régression peut aussi être faite à partir des coins du documents à segmenter si celui-ci à une forme polygonale ou bien à partir de points de marquage ajoutés à tous les documents d’un même type. Il suffit alors de trouver les paramètres d’une transformation géométrique qui permet de faire correspondre à un point ou coté du document dans l’image de référence du type de document, le point ou coté équivalent dans le document à segmenter. Enfin, un masque de segmentation est créé en appliquant la transformation géométrique calculée à l’étape précédente au contour du document de l’image de référence afin d’obtenir le contour du document présent dans l’image à traiter. Phase d’entrainement En référence à la figure 3 , un procédé d’augmentation des données d’entrainement est proposé. Ce procédé est mis en œuvre par les moyens de traitement 31 du serveur d’apprentissage, afin de générer un nombre d’images d’entrainement suffisant pour permettre l’entrainement d’un modèle de segmentation efficace. Pour cela, on pourra utiliser une unique image de référence de bonne qualité pour chaque type de document à identifier, acquise lors d’une étape E1 soit par des moyens de prise de vue 23, soit sous la forme d’un fichier source à l’origine de l’image de référence du type de document. Des déformations géométriques aléatoires sont ensuite simulées à l’étape E2, en appliquant une transformation géométrique (par exemple une transformation affine), dont les paramètres ont été déterminés aléatoirement, à l’image de référence générant ainsi des images ayant subi des translations, des symétries, des homothéties etc. Ensuite, afin de simuler la présence d’un fond dans l’image, des textures représentant des images de fond sont créées en générant une image comportant des motifs aléatoires. Les images de document ayant subi des déformations générées à l’étape précédente sont ensuite incrustées sur les images de fond lors d’une étape E3. Il est aussi possible d’ajouter un masque sur certaines parties de l’image du document si celui-ci comporte une ou plusieurs régions susceptibles d’être différentes d’un document du même type à l’autre et ainsi améliorer la capacité de généralisation du modèle entrainé. Pour cela une texture peut être générée de la même façon que les images de fond et appliqué à la région de l’image désirée, la texture de masquage étant de préférence différente de la texture de fond. Puis, afin de simuler des prises de vues faites dans des mauvaises conditions (par exemple mauvais éclairage, ou mauvaise mise au point), des dégradations photométriques sont appliquées, lors d’une étape E4, aux images générées à l’étape précédente. Ces dégradations peuvent être un effet de flou, une modification de la luminosité de l’image ou du contraste, ou encore des altérations des couleurs de l’image. Enfin, un bruit numérique (par exemple bruit gaussien) est appliqué aux images générées dans une étape E5. Des exemples de documents ayant subi le procédé d’augmentation de données sont illustrés en figure 4 . L’ensemble de ces étapes est répété pour chaque type de document, et autant de fois que l’on souhaite obtenir d’exemple par type de document. Cela permet de résoudre le problème de la constitution d’une base de données pour l’entrainement des modèles de segmentation. Produit programme d’ordinateur Selon des aspects complémentaires, l’invention concerne un produit programme d’ordinateur comprenant des instructions de code pour l’exécution (en particulier sur les moyens de traitement de données 11, 21 et 31 des serveurs 1 et/ou 3, et/ou du client 2) d’un procédé de segmentation d’un document comportant des informations structurées selon au moins une référence associée à un type de documents, le document étant présent dans une image d’entrée, ainsi que d’un procédé d’augmentation des données d’entrainement pour l’entrainement du procédé de segmentation décrit à partir d’une unique image de référence pour chaque type de documents à classifier et segmenter. De même, l’invention concerne aussi des moyens de stockage lisibles par un équipement informatique (une mémoire 12, 22 et 32 des serveurs 1 et/ou 3, et/ou du client 2) sur lequel on trouve ce produit programme d’ordinateur. Procédé de segmentation d’une image d’entrée représentant un document comportant des informations structurées, le procédé comprenant la mise en œuvre par des moyens de traitement (11) des étapes de : (C2) Détermination d’un type de document par une méthode de classification, ledit type étant choisi parmi un ensemble de types possible chacun associé à une image de référence du type de document, l’image de référence étant une image comportant uniquement le document ; (C3) Estimation des paramètres d’une transformation géométrique à appliquer à l’image de référence du type de document déterminé à l’étape (C2) pour obtenir le document tel que représenté par l’image d’entrée ; (C4) Détermination d’un masque de segmentation à partir des paramètres de la transformation géométrique estimés à l’étape (C3) et de l’image de référence du type de document déterminé à l’étape (C2). Procédé de segmentation selon la revendication 1, caractérisé en ce qu’il comprend en outre une étape (C1) d’acquisition d’une image comprenant le document comportant des informations structurées à segmenter, réalisée avant l’étape (C2). Procédé de segmentation selon l’une des revendications 1 et 2, caractérisé en ce que les documents sont des tickets de jeux comportant des cases à cocher. Procédé de segmentation selon l’une des revendications 1 à 3, caractérisé en ce que la méthode de classification est un réseau de neurones profond. Procédé de segmentation selon la revendication 4, caractérisé en ce que le réseau de neurones profond est un réseau de neurones profond de type convolutif. Procédé de segmentation selon l’une des revendications 1 à 3, caractérisé en ce que la méthode de classification est une méthode de type point d’intérêt combinée avec un partitionnement des points d’intérêt. Procédé de segmentation selon la revendication 2, caractérisé en ce que l’étape (C1) d’acquisition d’une image comprenant au moins un document comportant des informations structurées à segmenter comprend en outre une étape de sous-échantillonnage de l’image comprenant le au moins un document comportant des informations structurées à segmenter. Procédé de segmentation selon l’une des revendications 1 à 7 caractérisé en ce que les transformations géométriques sont des déformations représentées par des fonctions affines. Procédé de segmentation selon l’une des revendications 1 à 8 caractérisé en ce que l’estimation des paramètres de la transformation géométrique de l’étape (C3) est réalisée par un réseau de neurones profond. Procédé d’augmentation des données d’entrainement pour l’entrainement d’un procédé de segmentation selon l’une des revendications 1 à 9 à partir d’une unique image de référence pour chaque type de documents à segmenter, le procédé comprenant, pour chaque type de documents, la mise en œuvre par des moyens de traitement (31) des étapes de : (E2) Simulation de déformation géométrique aléatoires ; (E3) Simulation d’un fond à l’image par incrustation de l’image ayant subi les déformations dans une texture générée aléatoirement ou sélectionnée dans une liste de textures, représentant le fond de l’image ; (E4) Simulation de dégradations photométriques par modification du contraste et de la colorimétrie de l’image générée à l’étape précédente ; (E5) Ajout d’un bruit numérique à l’image générée à l’étape précédente, les étapes précédentes étant répétées autant de fois que l’on souhaite avoir d’exemples d’entrainement pour le type de document. Procédé d’augmentation des données d’entrainement selon la revendication 10, caractérisé en ce qu’il comprend en outre une étape (E1) d’acquisition d’une image de référence du type de document réalisée avant l’étape (E2). Procédé d’augmentation des données d’entrainement selon l’une des revendications 10 et 11, caractérisé en ce que les déformations géométriques sont des déformations représentées par des fonctions affines. Procédé d’augmentation des données d’entrainement selon l’une des revendications 10 à 12, caractérisé en ce qu’il comprend en outre une étape (E3bis) de masquage, permettant masquer les zones de l’image de référence du type de document pouvant être différentes d’un document du même type à l’autre en appliquant une texture générée aléatoirement ou sélectionnée dans une liste de textures, représentant un motif variable. Produit programme d’ordinateur comprenant des instructions de code pour l’exécution d’un procédé de segmentation selon l’une des revendications 1 à 9 ou d’un procédé d’augmentation des données d’entrainement selon l’une des revendications 10 à 13, lorsque ledit programme est exécuté sur un ordinateur. Moyen de stockage lisible par un équipement informatique sur lequel est enregistré un produit programme d’ordinateur comprenant des instructions de code pour l’exécution d’un procédé de segmentation selon l’une des revendications 1 à 9 ou d’un procédé d’augmentation des données d’entrainement selon l’une des revendications 10 à 13, lorsque ledit programme est exécuté sur un ordinateur.