WO2023131763A1 - Procédé d'analyse d'au moins une image contenant des données textuelles - Google Patents

Procédé d'analyse d'au moins une image contenant des données textuelles Download PDF

Info

Publication number
WO2023131763A1
WO2023131763A1 PCT/FR2023/050022 FR2023050022W WO2023131763A1 WO 2023131763 A1 WO2023131763 A1 WO 2023131763A1 FR 2023050022 W FR2023050022 W FR 2023050022W WO 2023131763 A1 WO2023131763 A1 WO 2023131763A1
Authority
WO
WIPO (PCT)
Prior art keywords
area
bounding box
block
image
minimum
Prior art date
Application number
PCT/FR2023/050022
Other languages
English (en)
Inventor
Ha-Quang LE
Nicolas RENNERT
Sofiane ETTAYEB
Original Assignee
Centre National De La Recherche Scientifique
Universite Paris-Saclay
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Centre National De La Recherche Scientifique, Universite Paris-Saclay filed Critical Centre National De La Recherche Scientifique
Publication of WO2023131763A1 publication Critical patent/WO2023131763A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/414Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/146Aligning or centring of the image pick-up or image-field
    • G06V30/147Determination of region of interest

Definitions

  • TITLE Process for analyzing at least one image containing textual data
  • the invention relates to a method for analyzing at least one image containing textual data.
  • Such hierarchical information can in particular be deduced from the relative positions of textual objects within a page of the document, such as the positions of titles or paragraphs for example.
  • the invention aims to remedy this drawback, in a simple and reliable manner.
  • the invention relates to a method for analyzing at least one image containing textual data, comprising the steps consisting of:
  • step (d1) determine whether or not the intersection between the areas of the two bounding boxes of said pair is greater than a determined value and, if it is only greater, proceed to step (d2).
  • step (d2) determining whether the major part, for example at least 70%, of the area of one of the bounding boxes of said pair is included in the other bounding box of said pair and, if so, removing from the list of blocks the block corresponding to the bounding box which is mostly included in the other bounding box, and if not, proceed to step (d3),
  • the process is able to analyze, as input, one or more images containing textual data and to provide, as output, blocks of textual data making it possible to reliably identify the different textual information separated in the image.
  • the identification of these blocks can then be used to locate and extract the text contained in these blocks, for example by character recognition techniques.
  • step (d3) if the two blocks have exactly the same confidence score, then one of the two blocks of said pair, for example the first block or the second block, can be deleted.
  • the image can be generated from or extracted from a file, for example of the PDF (or Portable Document Format), Powerpoint® or Word® type.
  • Each image can for example represent a page of a document.
  • a bounding box is preferably defined by a square or rectangular shape whose sides are oriented horizontally and vertically.
  • a bounding box can then be defined by the coordinates of two diagonally opposite vertices of said box.
  • a bounding box can be defined by the coordinates of one of the vertices, by the width and by the height of said box. The width and height of the bounding box are respectively the dimensions of said box in the horizontal direction and in the vertical direction.
  • the confidence score can be a number between 0 and 1 and representing the probability that the block correctly represents the text data concerned. A high confidence score therefore indicates a high probability that the block reliably represents said textual data.
  • the data category can for example be information as to whether the textual data represents a title, a subtitle, a formula, a paragraph of text, etc.
  • the method can be defined so that, during step (d1 ), it is determined whether the condition
  • Aol(b1 , b2) is the area of the intersection of the minimum bounding boxes of the pair concerned Area(b1 ) is the area of the minimum bounding box of the first block
  • Area(b2) is the area of the minimum bounding box of the second block
  • min(Area(b1 ), Area(b2)) is the minimum of the two areas Area(b1 ) and Area(b2)
  • eta is a threshold determined constant, for example between 0.02 and 0.2, for example of the order of 0.1. and, if said condition is met, then step (d2) proceeds.
  • the method can be defined so that, during step (d2), it is determined whether the first condition
  • Aol(b1 , b2)/Area(b1 ) > s is fulfilled, where b1 and b2 are the first and second blocks of the pair concerned Aol(b1 , b2) is the area of the intersection of the minimum bounding boxes of the pair concerned, Area(b1 ) is the area of the minimum bounding box of the first block, s is a first determined constant threshold, where s1 is for example between 0.7 and 0.95, for example of the order of 0.85, and, if the first condition is fulfilled, deleting the first block b1 from the list and, if the first condition is not not met, determine whether the second condition
  • Area(b2) is the area of the minimum bounding box of the second block, and if the second condition is met, remove the second block b2 from the list, and if the second condition is not met, proceed to step (d3).
  • step (b) the following successive steps are carried out:
  • step (b2) define by cropping a sub-image based on the coordinates of the bounding box extended during step (b1 ),
  • the background of the sub-image is for example defined by the color white, in a conventional context, the text generally appearing in black on the white background. Of course, it is also possible to invert the colors of the background and the text.
  • the minimum value is for example equal to 0 and corresponds to the black color and the maximum value is for example equal to 255 and corresponds to the white color, for an 8-bit gray level image.
  • the areas containing text are theoretically the areas whose values are equal to 0 after thresholding, in the conventional case where the text appears in black on a white background.
  • the method can be defined so that, during step (b5), the threshold is determined by Otsu's algorithm.
  • the method can be defined so that, during step (b4), the blurring is achieved by applying a convolution kernel making it possible to achieve greater blurring in the horizontal direction than in the vertical direction.
  • the horizontal direction is defined as the standard writing direction of a text document.
  • the vertical direction is defined as the direction perpendicular to the horizontal direction. It is assumed that the image is correctly oriented so that the lines of text are oriented in the horizontal direction.
  • Such a characteristic makes it possible to avoid the phenomenon of lines spreading in the vertical direction, so as to avoid confusing lines belonging to two different textual objects, superimposed with respect to each other, that is to say - say one above the other.
  • the textual objects are for example paragraphs.
  • the convolution kernel has for example a dimension of the order of 11x11 or 13x13.
  • the method can be defined so that, during step (b6), the noise reduction processing is performed by a morphological processing of the sub-image.
  • the method can be defined so that, during step (b6), an opening morphological transformation is first applied, then a closing morphological transformation.
  • the aperture transformation allows noises to be removed, in particular noises in the white background of the sub-image.
  • the closure transformation is used to remove holes in pixel blocks with non-zero values.
  • the layout analysis model may be a Mask R-CNN type deep neural network.
  • the invention also relates to a computer program comprising code configured to, when executed by a processor or an electronic control unit, execute the method of the aforementioned type.
  • the invention also relates to a computer device comprising:
  • the invention also relates to a computer-readable non-transitory recording medium on which is recorded computer software for implementing the method of the aforementioned type, when the computer software is executed by a processor.
  • FIG. 1 is a flowchart schematically illustrating the method according to this document
  • FIG. 2 is a flowchart schematically illustrating step (b) of the process
  • FIG. 10 illustrate different steps of the method.
  • FIG. 1 schematically illustrates a process for analyzing images containing textual data, such as for example images generated from or extracted from a file, for example of PDF (or Portable Document Format), Powerpoint® or Word®.
  • Each image 1 (figure 3) can for example represent a page of a document.
  • the method first comprises a step (a) during which blocks 2 of textual data are detected and listed using a layout analysis model, each block being identified by coordinates d an original bounding box 3 of the block, a confidence score and a data category. This step is also illustrated in Figure 3.
  • the coordinates of the original bounding box 3 can be defined by the coordinates of two diagonally opposite vertices 4, 5 ( Figure 4) of said box. Alternatively, these coordinates can be defined by the coordinates of one of the vertices 4, 5, by the width and by the height of said box 3.
  • the confidence score can be a number between 0 and 1 and representing the probability that block 3 correctly represents the text data concerned. A high confidence score therefore indicates a high probability that the block reliably represents said textual data.
  • the data category can for example be information as to whether the textual data represents a title, a subtitle, a formula, a paragraph of text, etc.
  • the model used can optionally also detect blocks 6 linked to non-textual data, such as images for example.
  • the layout analysis model can be a Mask R-CNN deep neural network. It is for example possible to use the pre-trained neural network described in the article "A Unified Toolkit for Deep Learning Based Document Image Analysis", Shen, Zejiang and Zhang, Ruochen and Dell, Melissa and Lee, Benjamin Charles Germain and Carlson, Jacob and Li, Weining, arXiv preprint arXiv:2103.15348, 2021 and available at the following address: https://github.com/Layout-Parser/layout-parser in version 0.3.2.
  • the method then comprises a step (b) in which, for each block 2 of the list, the coordinates of a bounding box of minimum dimensions 7 are calculated, defined as a bounding box of reduced dimension with respect to the original bounding box 3 of block 2 and comprising the textual data. This step will be better described later.
  • the pairs of minimum enclosing boxes 7 which overlap are determined, at least in part, for example all the pairs of said minimum enclosing boxes 7 which overlap, so as to obtain a set of pairs.
  • step (d1) is carried out during which it is determined whether the intersection 8 between the areas of the two bounding boxes 7 of said pair is or is not greater than a determined value and, if it is top only, proceed to step (d2).
  • step (d 1 ) it is determined whether the condition
  • Aol(b1 , b2) is the area of the intersection of the minimum bounding boxes of the pair concerned Area(b1 ) is the area of the minimum bounding box of the first block
  • Area(b2) is the area of the minimum bounding box of the second block
  • min(Area(b1 ), Area(b2)) is the minimum of the two areas Area(b1 ) and Area(b2)
  • eta is a threshold determined constant, for example between 0.02 and 0.2, for example of the order of 0.1. and, if said condition is met, then step (d2) proceeds.
  • step (d2) it is determined whether the major part, for example at least 70%, of the area of one of the bounding boxes of said pair is included in the other bounding box of said pair and, if so, the block corresponding to the bounding box which is mainly included in the other bounding box is deleted from the list of blocks (as illustrated in FIG. 6), and if not, step ( d3).
  • step (d2) it is determined whether the first condition
  • Aol(b1 , b2) is the area of the intersection of the minimum bounding boxes of the pair concerned
  • Area(b1 ) is the area of the minimum bounding box of the first block
  • s is a first determined constant threshold, where s1 is for example between 0.7 and 0.95, for example of the order of 0.85, and, if the first condition is fulfilled, the first block b1 is deleted from the list and, if the first condition does not is not satisfied, it is determined whether the second condition
  • Area(b2) is the area of the minimum bounding box of the second block, and, if the second condition is satisfied, we delete the second block b2 from the list and, if the second condition is not satisfied, we proceed to step (d3).
  • step (d3) the block of said pair whose confidence score is the lowest is deleted from the list of blocks, as illustrated in FIG. 7.
  • p1 is the score of block b1
  • p2 is the score of block b2.
  • step (d3) if the two blocks have exactly the same confidence score, then one of the two blocks of said pair, for example the first block b1 or the second block b2, can be deleted .
  • FIG. 2 schematically illustrates the different steps or sub-steps of step (b).
  • step (b) the original bounding box 3 of the block is first extended vertically and/or horizontally (step (b1) - figure 8).
  • a sub-image 10 is then defined, by cropping, on the basis of the coordinates of the extended bounding box 3′ during step (b1)
  • sub-image 10 is then transformed into gray level.
  • a blur is then applied to the sub-image 10 (step (b4) - FIG. 9).
  • the blur can be a Gaussian blur or can be produced by applying a convolution kernel making it possible to produce a greater blur in the horizontal direction than in the vertical direction.
  • the convolution kernel has for example a dimension of the order of 11 ⁇ 11 or 13 ⁇ 13.
  • the sub-image 10 is thresholded so as to apply a minimum value to all the pixels whose value is less than a determined threshold and so as to apply a maximum value to the set of pixels whose value is greater than said threshold.
  • the threshold can be determined by Otsu's algorithm.
  • the minimum value is for example equal to 0 and corresponds to the black color and the maximum value is for example equal to 255 and corresponds to the white color, for an 8-bit gray level image.
  • the areas containing text 11 are theoretically the areas whose values are equal to 0 after thresholding, in the conventional case where the text 11 appears in black on a white background 12 .
  • a noise reduction processing can then be applied to the sub-image 10 (step (b6)),
  • the noise reduction processing is performed by a morphological processing of the sub-image 10.
  • minimum bounding box 7 the smallest dimension bounding box containing all the pixels not having a value equal to the pixel value associated with a background 12 of the sub-image 10 (step (b7) - figure 10).
  • the background 12 of the sub-image 10 is for example defined by the color white, in a conventional context, the text 11 generally appearing in black. Of course, it is also possible to invert the colors of the background 12 and the text 11.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Character Input (AREA)
  • Image Analysis (AREA)

Abstract

L'invention concerne un procédé d'analyse d'au moins une image (1) contenant des données textuelles, comportant les étapes consistant à : - détecter et lister des blocs (2) de données - pour chaque bloc (2), calculer les coordonnées d'une boîte englobante de dimensions minimales, - déterminer, au moins en partie, les paires de boîtes englobantes minimales qui se chevauchent, de façon à obtenir un ensemble de paires, - pour chacune des paires dudit ensemble, déterminer la boîte englobante minimale du bloc le plus pertinent.

Description

DESCRIPTION
TITRE : Procédé d’analyse d’au moins une image contenant des données textuelles
Domaine technique de l’invention
L’invention concerne un procédé d’analyse d’au moins une image contenant des données textuelles.
Etat de la technique antérieure
Il est connu d’utiliser des logiciels capables d’analyser et de traiter des documents contenant des données textuelles, tels que des documents de type PDF (ou Portable Document Format) par exemple, afin d’identifier des blocs de données textuelles et/ou de pouvoir en extraire du texte.
L’inconvénient des logiciels existants est que l’extraction des données textuelles ne permet pas de conserver avec précision l’information relative à la structure hiérarchique du document original. Une telle structure hiérarchique peut présenter un intérêt majeur lorsque l’on souhaite analyser le contenu du document et les relations entre les différentes données textuelles.
En effet, il est utile de pouvoir déterminer à quel titre ou sous-titre est rattaché un paragraphe par exemple. Une telle information hiérarchique peut notamment être déduite des positions relatives des objets textuels au sein d’une page du document, tels que les positions des titres ou des paragraphes par exemple.
Cependant, les logiciels actuels ne permettent pas de localiser efficacement et avec précision les différents objets textuels dans le document.
L’invention vise à remédier à cet inconvénient, de façon simple et fiable.
Présentation de l’invention
A cet effet, l’invention concerne un procédé d’analyse d’au moins une image contenant des données textuelles, comportant les étapes consistant à :
(a) détecter et lister des blocs de données textuelles à l’aide d’un modèle d’analyse de mise en page, chaque bloc étant identifié par des coordonnées d’une boîte englobante d’origine du bloc, un score de confiance et optionnellement une catégorie de données, (b) pour chaque bloc, calculer les coordonnées d’une boîte englobante de dimensions minimales définie comme une boîte englobante de dimension réduite par rapport à la boîte englobante d’origine du bloc et comportant les données textuelles,
(c) déterminer, au moins en partie, les paires de boîtes englobantes minimales qui se chevauchent, par exemple toutes les paires desdites boîtes englobantes minimales qui se chevauchent, de façon à obtenir un ensemble de paires,
(d) pour chacune des paires dudit ensemble,
(d1 ) déterminer si l’intersection entre les aires des deux boîtes englobantes de ladite paire est ou non supérieure à une valeur déterminée et, si elle est supérieure uniquement, procéder à l’étape (d2).
(d2) déterminer si la majeure partie, par exemple au moins 70%, de l’aire de l’une des boîtes englobantes de ladite paire est comprise dans l’autre boîte englobante de ladite paire et, dans l’affirmative, supprimer de la liste de blocs le bloc correspondant à la boîte englobante qui est majoritairement incluse dans l’autre boîte englobante, et dans la négative, procéder à l’étape (d3) ,
(d3) supprimer de la liste de blocs le bloc de ladite paire dont le score de confiance est le plus faible.
Ainsi, le procédé est capable d’analyser, en entrée, une ou plusieurs images contenant des données textuelles et de fournir, en sortie, des blocs de données textuelles permettant d’identifier de façon fiable les différentes informations textuelles séparées dans l’image. L’identification de ces blocs peut ensuite être utilisée pour localiser et extraire le texte contenu dans ces blocs, par exemple par des techniques de reconnaissance de caractères.
On notera que, à l’étape (d3), si les deux blocs ont exactement le même score de confiance, alors l’un des deux blocs de ladite paire, par exemple le premier bloc ou le second bloc, peut être supprimé.
L’image peut être générée à partir de ou extraite d’un fichier, par exemple de type PDF (ou Portable Document Format), Powerpoint® ou Word®. Chaque image peut par exemple représenter une page d’un document.
Une boîte englobante est de préférence définie par une forme carrée ou rectangulaire dont les côtés sont orientés horizontalement et verticalement. Une boîte englobante peut alors être définie par les coordonnées de deux sommets diagonalement opposés de ladite boîte. En variante, une boîte englobante peut être définie par les coordonnées de l’un des sommets, par la largeur et par la hauteur de ladite boîte. La largeur et la hauteur de la boîte englobante sont respectivement les dimensions de ladite boîte dans la direction horizontale et dans la direction verticale.
Le score de confiance peut être un nombre compris entre 0 et 1 et représentant la probabilité que le bloc représente correctement la donnée textuelle concernée. Un score de confiance élevé indique donc une haute probabilité que le bloc représente de façon fiable ladite donnée textuelle.
La catégorie de données peut par exemple être une information quant au fait que la donnée textuelle représente un titre, un sous-titre, une formule, un paragraphe de texte, etc...
Le procédé peut être défini de façon à ce que, lors de l’étape (d1 ), il est déterminé si la condition
Aol(b1 , b2)/min(Area(b1 ), Area(b2)) < eta est remplie, où : b1 et b2 sont les premier et second blocs de la paire concernée
Aol(b1 , b2) est l’aire de l’intersection des boîtes englobantes minimales de la paire concernée Area(b1 ) est l’aire de la boîte englobante minimale du premier bloc,
Area(b2) est l’aire de la boîte englobante minimale du second bloc, min(Area(b1 ), Area(b2)) est le minimum des deux aires Area(b1 ) et Area(b2), et eta est un seuil constant déterminé, par exemple compris entre 0,02 et 0,2, par exemple de l’ordre de 0,1. et, si ladite condition est remplie, alors il est procédé à l’étape (d2).
A l’inverse, dans le cas où la condition n’est pas remplie, alors aucune des étapes (d2) et (d3) n’est réalisée et la paire suivante de la liste est analysée.
Le procédé peut être défini de façon à ce que, lors de l’étape (d2), il est déterminé si la première condition
Aol(b1 , b2)/Area(b1 ) > s est remplie, où b1 et b2 sont les premier et second blocs de la paire concernée Aol(b1 , b2) est l’aire de l’intersection des boîtes englobantes minimales de la paire concernée, Area(b1 ) est l’aire de la boîte englobante minimale du premier bloc, s est un premier seuil constant déterminée, où s1 est par exemple compris entre 0,7 et 0,95, par exemple de l’ordre de 0,85, et, si la première condition est remplie, supprimer le premier bloc b1 de la liste et, si la première condition n’est pas remplie, déterminer si la seconde condition
Aol(b1 , b2)/Area(b2) > s est remplie, où
Area(b2) est l’aire de la boîte englobante minimale du second bloc, et, si la seconde condition est remplie, supprimer le second bloc b2 de la liste et, si la seconde condition n’est pas remplie, procéder à l’étape (d3).
Le procédé peut être défini de façon à ce que, dans lequel l’étape (b), on réalise les étapes successives suivantes :
(b1 ) étendre verticalement et/ou horizontalement la boîte englobante d’origine du bloc,
(b2) définir par rognage une sous-image sur la base des coordonnées de la boîte englobante étendue lors de l’étape (b1 ),
(b3) optionnellement, transformer la sous-image en niveau de gris
(b4) appliquer un flou à la sous-image,
(b5) seuiller la sous-image de façon à appliquer une valeur minimale à l’ensemble des pixels dont la valeur est inférieure à un seuil déterminé et de façon à appliquer une valeur maximale à l’ensemble des pixels dont la valeur est supérieure audit seuil, (b6) optionnellement, appliquer un traitement de réduction du bruit à la sous-image, (b7) définir comme boîte englobante minimale la boîte englobante de plus petite dimension contenant l’ensemble des pixels n’ayant pas une valeur égale à la valeur de pixel associée à un fond de la sous-image.
Le fond de la sous-image est par exemple défini par la couleur blanche, dans un contexte classique, le texte apparaissant généralement en noir sur le fond blanc. Bien entendu, il est également possible d’inverser les couleurs du fond et du texte. Lors du seuillage, la valeur minimale est par exemple égale à 0 et correspond à la couleur noire et la valeur maximale est par exemple égale à 255 et correspond à la couleur blanche, pour une image en niveau de gris en 8 bits. Les zones contenant du texte sont théoriquement les zones dont les valeurs sont égales à 0 après seuillage, dans le cas conventionnel où le texte apparaît en noir sur un fond blanc.
Le procédé peut être défini de façon à ce que, lors de l’étape (b5), le seuil est déterminé par l’algorithme de Otsu.
Le procédé peut être défini de façon à ce que, lors de l’étape (b4), le flou est réalisé par application d’un noyau de convolution permettant de réaliser un flou plus important dans la direction horizontale que dans la direction verticale.
On définit la direction horizontale comme la direction d’écriture standard d’un document de texte. On définit la direction verticale comme la direction perpendiculaire à la direction horizontale. On suppose que l’image est correctement orientée de façon à ce que les lignes de texte soient orientées dans la direction horizontale.
Une telle caractéristique permet d’éviter le phénomène d’étalement des lignes dans la direction verticale, de façon à éviter de confondre des lignes appartenant à deux objets textuels différents, superposés l’un par rapport à l’autre, c’est-à-dire l’un au-dessus de l’autre. Les objets textuels sont par exemple des paragraphes.
Le noyau de convolution a par exemple une dimension de l’ordre de 11x11 ou de 13x13.
Le procédé peut être défini de façon à ce que, lors de l’étape (b6), le traitement de réduction du bruit est effectué par un traitement morphologique de la sous-image.
Le procédé peut être défini de façon à ce que, lors de l’étape (b6), on applique d'abord une transformation morphologique d'ouverture, puis une transformation morphologique de fermeture.
La transformation d’ouverture permet de supprimer les bruits, en particulier les bruits dans le fond blanc de la sous-image. La transformation de fermeture permet de supprimer les trous dans les blocs de pixels de valeurs non nulles. Le modèle d’analyse de mise en page peut être un réseau de neurones profond de type Mask R-CNN.
Il est par exemple possible d’utiliser le réseau de neurones pré-entrainé décrit dans l’article « A Unified Toolkit for Deep Learning Based Document Image Analysis », Shen, Zejiang and Zhang, Ruochen and Dell, Melissa and Lee, Benjamin Charles Germain and Carlson, Jacob and Li, Weining, arXiv preprint arXiv:2103.15348, 2021 et disponible à l’adresse suivante : https://github.com/Layout-Parser/layout-parser dans sa version 0.3.2.
L’invention concerne également un programme d'ordinateur comprenant un code configuré pour, lorsqu'il est exécuté par un processeur ou une unité de commande électronique, exécuter le procédé du type précité.
L’invention concerne également un dispositif informatique comprenant :
- une interface d'entrée pour recevoir au moins une image contenant au moins une donnée textuelle,
- une mémoire pour stocker au moins des instructions d'un programme d’ordinateur du type précité,
- un processeur accédant à la mémoire pour lire lesdites instructions et exécuter alors le procédé du type précité,
- une interface de sortie pour fournir la liste des blocs identifiés.
L’invention concerne également un support d'enregistrement non transitoire lisible par ordinateur sur lequel est enregistré un logiciel informatique pour mettre en oeuvre le procédé du type précité, lorsque le logiciel informatique est exécuté par un processeur.
Brève description des figures
[Fig. 1] est un ordinogramme illustrant de façon schématique le procédé selon le présent document,
[Fig. 2] est un ordinogramme illustrant de façon schématique l’étape (b) du procédé,
[Fig. 3],
[Fig. 4]
[Fig. 5],
[Fig. 6],
[Fig. 7],
[Fig. 8], [Fig. 9],
[Fig. 10] illustrent différentes étapes du procédé.
Description détaillée de l’invention
La figure 1 illustre schématiquement un procédé d’analyse d’images contenant des données textuelles, telles par exemple que des images générées à partir de ou extraites d’un fichier, par exemple de type PDF (ou Portable Document Format), Powerpoint® ou Word®. Chaque image 1 (figure 3) peut par exemple représenter une page d’un document.
Le procédé comporte tout d’abord une étape (a) lors de laquelle on détecte et on liste des blocs 2 de données textuelles à l’aide d’un modèle d’analyse de mise en page, chaque bloc étant identifié par des coordonnées d’une boîte englobante d’origine 3 du bloc, un score de confiance et une catégorie de données. Cette étape est illustrée également à la figure 3.
Les coordonnées de la boîte englobante d’origine 3 peuvent être définies par les coordonnées de deux sommets 4, 5 (figure 4) diagonalement opposés de ladite boîte. En variante, ces coordonnées peuvent être définies par les coordonnées de l’un des sommets 4, 5, par la largeur et par la hauteur de ladite boîte 3.
Le score de confiance peut être un nombre compris entre 0 et 1 et représentant la probabilité que le bloc 3 représente correctement la donnée textuelle concernée. Un score de confiance élevé indique donc une haute probabilité que le bloc représente de façon fiable ladite donnée textuelle.
La catégorie de données peut par exemple être une information quant au fait que la donnée textuelle représente un titre, un sous-titre, une formule, un paragraphe de texte, etc...
Le modèle utilisé peut éventuellement détecter également des blocs 6 liés à des données non textuelles, telles que des images par exemple.
Le modèle d’analyse de mise en page peut être un réseau de neurones profond de type Mask R-CNN. Il est par exemple possible d’utiliser le réseau de neurones pré-entrainé décrit dans l’article « A Unified Toolkit for Deep Learning Based Document Image Analysis », Shen, Zejiang and Zhang, Ruochen and Dell, Melissa and Lee, Benjamin Charles Germain and Carlson, Jacob and Li, Weining, arXiv preprint arXiv:2103.15348, 2021 et disponible à l’adresse suivante : https://github.com/Layout-Parser/layout-parser dans sa version 0.3.2.
Le procédé comporte ensuite une étape (b) dans laquelle, pour chaque bloc 2 de la liste, on calcule les coordonnées d’une boîte englobante de dimensions minimales 7 définie comme une boîte englobante de dimension réduite par rapport à la boîte englobante d’origine 3 du bloc 2 et comportant les données textuelles. Cette étape sera mieux décrite après. Ensuite, lors d’une étape (c), on détermine, au moins en partie, les paires de boîtes englobantes minimales 7 qui se chevauchent, par exemple toutes les paires desdites boîtes englobantes minimales 7 qui se chevauchent, de façon à obtenir un ensemble de paires.
Ensuite, pour chacune des paires dudit ensemble, on réalise une étape (d1 ) lors de laquelle on détermine si l’intersection 8 entre les aires des deux boîtes englobantes 7 de ladite paire est ou non supérieure à une valeur déterminée et, si elle est supérieure uniquement, procéder à l’étape (d2).
En particulier, lors de l’étape (d 1 ), il est déterminé si la condition
Aol(b1 , b2)/min(Area(b1 ), Area(b2)) < eta est remplie, où : b1 et b2 sont les premier et second blocs de la paire concernée
Aol(b1 , b2) est l’aire de l’intersection des boîtes englobantes minimales de la paire concernée Area(b1 ) est l’aire de la boîte englobante minimale du premier bloc,
Area(b2) est l’aire de la boîte englobante minimale du second bloc, min(Area(b1 ), Area(b2)) est le minimum des deux aires Area(b1 ) et Area(b2), et eta est un seuil constant déterminé, par exemple compris entre 0,02 et 0,2, par exemple de l’ordre de 0,1. et, si ladite condition est remplie, alors il est procédé à l’étape (d2).
A l’inverse, dans le cas où la condition n’est pas remplie, alors aucune des étapes (d2) et (d3) n’est réalisée et la paire suivante de la liste est analysée.
Lors de l’étape (d2), on détermine si la majeure partie, par exemple au moins 70%, de l’aire de l’une des boîtes englobantes de ladite paire est comprise dans l’autre boîte englobante de ladite paire et, dans l’affirmative, on supprime de la liste de blocs le bloc correspondant à la boîte englobante qui est majoritairement incluse dans l’autre boîte englobante (comme illustré à la figure 6), et dans la négative, on procède à l’étape (d3).
En particulier, lors de l’étape (d2), il est déterminé si la première condition
Aol(b1 , b2)/Area(b1 ) > s est remplie, où b1 et b2 sont les premier et second blocs de la paire concernée
Aol(b1 , b2) est l’aire de l’intersection des boîtes englobantes minimales de la paire concernée, Area(b1 ) est l’aire de la boîte englobante minimale du premier bloc, s est un premier seuil constant déterminée, où s1 est par exemple compris entre 0,7 et 0,95, par exemple de l’ordre de 0,85, et, si la première condition est remplie, on supprime le premier bloc b1 de la liste et, si la première condition n’est pas remplie, on détermine si la seconde condition
Aol(b1 , b2)/Area(b2) > s est remplie, où
Area(b2) est l’aire de la boîte englobante minimale du second bloc, et, si la seconde condition est remplie, on supprime le second bloc b2 de la liste et, si la seconde condition n’est pas remplie, on procède à l’étape (d3).
Lors de l’étape (d3), on supprime de la liste de blocs le bloc de ladite paire dont le score de confiance est le plus faible, comme illustré à la figure 7. Sur cette figure, p1 est le score du bloc b1 et p2 est le score du bloc b2.
On notera que, à l’étape (d3), si les deux blocs ont exactement le même score de confiance, alors l’un des deux blocs de ladite paire, par exemple le premier bloc b1 ou le second bloc b2, peut être supprimé.
La figure 2 illustre schématiquement les différentes étapes ou sous-étapes de l’étape (b).
Lors de l’étape (b), on étend tout d’abord verticalement et/ou horizontalement la boîte englobante d’origine 3 du bloc (étape (b1 ) - figure 8).
Lors d’une étape (b2), on définit ensuite, par rognage, une sous-image 10 sur la base des coordonnées de la boîte englobante étendue 3’ lors de l’étape (b1 )
Lors d’une étape (b3), on transforme ensuite la sous-image 10 en niveau de gris.
Un flou est ensuite appliqué à la sous-image 10 (étape (b4) - figure 9). Le flou peut être un flou Gaussien ou peut être réalisé par application d’un noyau de convolution permettant de réaliser un flou plus important dans la direction horizontale que dans la direction verticale. Le noyau de convolution a par exemple une dimension de l’ordre de 11x11 ou de 13x13. Ensuite, lors d’une étape (b5), on seuille la sous-image 10 de façon à appliquer une valeur minimale à l’ensemble des pixels dont la valeur est inférieure à un seuil déterminé et de façon à appliquer une valeur maximale à l’ensemble des pixels dont la valeur est supérieure audit seuil. Le seuil peut être déterminé par l’algorithme de Otsu.
Lors du seuillage, la valeur minimale est par exemple égale à 0 et correspond à la couleur noire et la valeur maximale est par exemple égale à 255 et correspond à la couleur blanche, pour une image en niveau de gris en 8 bits. Les zones contenant du texte 11 sont théoriquement les zones dont les valeurs sont égales à 0 après seuillage, dans le cas conventionnel où le texte 11 apparaît en noir sur un fond 12 blanc.
Un traitement de réduction du bruit peut alors être appliqué à la sous-image 10 (étape (b6)), Le traitement de réduction du bruit est effectué par un traitement morphologique de la sous- image 10. En particulier, lors de l’étape (b6), on peut appliquer d'abord une transformation morphologique d'ouverture, puis une transformation morphologique de fermeture.
On peut alors définir comme boîte englobante minimale 7 la boîte englobante de plus petite dimension contenant l’ensemble des pixels n’ayant pas une valeur égale à la valeur de pixel associée à un fond 12 de la sous-image 10 (étape (b7) - figure 10).
Le fond 12 de la sous-image 10 est par exemple défini par la couleur blanche, dans un contexte classique, le texte 11 apparaissant généralement en noir. Bien entendu, il est également possible d’inverser les couleurs du fond 12 et du texte 11.

Claims

REVENDICATIONS Procédé d’analyse d’au moins une image (1 ) contenant des données textuelles, comportant les étapes consistant à : (a) détecter et lister des blocs (2) de données textuelles à l’aide d’un modèle d’analyse de mise en page, chaque bloc (2) étant identifié par des coordonnées d’une boîte englobante d’origine (3) du bloc (2), un score de confiance et optionnellement une catégorie de données, (b) pour chaque bloc (2), calculer les coordonnées d’une boîte englobante de dimensions minimales (7) définie comme une boîte englobante de dimension réduite par rapport à la boîte englobante d’origine (3) du bloc (2) et comportant les données textuelles, (c) déterminer, au moins en partie, les paires de boîtes englobantes minimales (7) qui se chevauchent, par exemple toutes les paires desdites boîtes englobantes minimales (7) qui se chevauchent, de façon à obtenir un ensemble de paires, (d) pour chacune des paires dudit ensemble, (d1 ) déterminer si l’intersection entre les aires des deux boîtes englobantes (7) de ladite paire est ou non supérieure à une valeur déterminée et, si elle est supérieure uniquement, procéder à l’étape (d2). (d2) déterminer si la majeure partie, par exemple au moins 70%, de l’aire de l’une des boîtes englobantes (7) de ladite paire est comprise dans l’autre boîte englobante de ladite paire et, dans l’affirmative, supprimer de la liste de blocs le bloc (2) correspondant à la boîte englobante (7) qui est majoritairement incluse dans l’autre boîte englobante (7), et dans la négative, procéder à l’étape (d3), (d3) supprimer de la liste de blocs le bloc (2) de ladite paire dont le score de confiance est le plus faible. Procédé selon la revendication précédente, dans lequel, lors de l’étape (d1 ), il est déterminé si la condition Aol(b1 , b2)/min(Area(b1 ), Area(b2)) < eta est remplie, où : b1 et b2 sont les premier et second blocs de la paire concernée, Aol(b1 , b2) est l’aire de l’intersection des boîtes englobantes minimales de la paire concernée, Area(b1 ) est l’aire de la boîte englobante minimale du premier bloc, Area(b2) est l’aire de la boîte englobante minimale du second bloc, min(Area(b1 ), Area(b2)) est le minimum des deux aires Area(b1) et Area(b2), et eta est un seuil constant déterminé, par exemple compris entre 0,02 et 0,2, par exemple de l’ordre de 0,1 . et, si ladite condition est remplie, alors il est procédé à l’étape (d2). Procédé selon l’une des revendications précédentes, dans lequel, lors de l’étape (d2), il est déterminé si la première condition Aol(b1 , b2)/Area(b1 ) > s est remplie, où : b1 et b2 sont les premier et second blocs de la paire concernée, Aol(b1 , b2) est l’aire de l’intersection des boîtes englobantes minimales de la paire concernée, Area(b1 ) est l’aire de la boîte englobante minimale du premier bloc, s est un premier seuil constant déterminée, par exemple compris entre 0,7 et 0,95, par exemple de l’ordre de 0,85, et, si la première condition est remplie, supprimer le premier bloc b1 de la liste et, si la première condition n’est pas remplie, déterminer si la seconde condition Aol(b1 , b2)/Area(b2) > s est remplie, où : Area(b2) est l’aire de la boîte englobante minimale du second bloc, et, si la seconde condition est remplie, supprimer le second bloc b2 de la liste et, si la seconde condition n’est pas remplie, procéder à l’étape (d3). Procédé selon l’une des revendications précédentes, dans lequel l’étape (b), on réalise les étapes successives suivantes :
(b1) étendre verticalement et/ou horizontalement la boîte englobante d’origine du bloc,
(b2) définir par rognage une sous-image (10) sur la base des coordonnées de la boîte englobante étendue (3’) lors de l’étape (b1 ),
(b3) optionnellement, transformer la sous-image (10) en niveau de gris
(b4) appliquer un flou à la sous-image (10),
(b5) seuiller la sous-image (10) de façon à appliquer une valeur minimale à l’ensemble des pixels dont la valeur est inférieure à un seuil déterminé et de façon à appliquer une valeur maximale à l’ensemble des pixels dont la valeur est supérieure audit seuil,
(b6) optionnellement, appliquer un traitement de réduction du bruit à la sous-image (10),
(b7) définir comme boîte englobante minimale (7) la boîte englobante de plus petite dimension contenant l’ensemble des pixels n’ayant pas une valeur égale à la valeur de pixel associée à un fond (12) de la sous-image (10).
5. Procédé selon la revendication précédente, dans lequel, lors de l’étape (b5), le seuil est déterminé par l’algorithme de Otsu.
6. Procédé selon la revendication 4 ou 5, dans lequel, lors de l’étape (b4), le flou est réalisé par application d’un noyau de convolution permettant de réaliser un flou plus important dans la direction horizontale que dans la direction verticale.
7. Procédé selon l’une des revendications 4 à 6, dans lequel, lors de l’étape (b6), le traitement de réduction du bruit est effectué par un traitement morphologique de la sous-image (10).
8. Procédé selon la revendication précédente, dans lequel, lors de l’étape (b6), on applique d'abord une transformation morphologique d'ouverture, puis une transformation morphologique de fermeture.
9. Procédé selon l’une des revendications précédentes, dans lequel le modèle d’analyse de mise en page est un réseau de neurones profond de type Mask R-CNN.
10. Programme d'ordinateur comprenant un code configuré pour, lorsqu'il est exécuté par un processeur ou une unité de commande électronique, exécuter le procédé selon l'une quelconque des revendications 1 à 9.
11 . Dispositif informatique comprenant :
- une interface d'entrée pour recevoir au moins une image contenant au moins une donnée textuelle, - une mémoire pour stocker au moins des instructions d'un programme d’ordinateurselon la revendication précédente,
- un processeur accédant à la mémoire pour lire lesdites instructions et exécuter alors le procédé selon l'une quelconque des revendications 1 à 9, - une interface de sortie pour fournir la liste des blocs identifiés. Support d'enregistrement non transitoire lisible par ordinateur sur lequel est enregistré un logiciel informatique pour mettre en oeuvre le procédé selon l'une quelconque des revendications 1 à 9, lorsque le logiciel informatique est exécuté par un processeur.
PCT/FR2023/050022 2022-01-10 2023-01-09 Procédé d'analyse d'au moins une image contenant des données textuelles WO2023131763A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2200138A FR3131792B1 (fr) 2022-01-10 2022-01-10 Procédé d’analyse d’au moins une image contenant des données textuelles
FR2200138 2022-01-10

Publications (1)

Publication Number Publication Date
WO2023131763A1 true WO2023131763A1 (fr) 2023-07-13

Family

ID=81327092

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2023/050022 WO2023131763A1 (fr) 2022-01-10 2023-01-09 Procédé d'analyse d'au moins une image contenant des données textuelles

Country Status (2)

Country Link
FR (1) FR3131792B1 (fr)
WO (1) WO2023131763A1 (fr)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHRISTIAN WOLF ET AL: "Object count/area graphs for the evaluation of object detection and segmentation algorithms", INTERNATIONAL JOURNAL OF DOCUMENT ANALYSIS AND RECOGNITION (IJDAR), SPRINGER, BERLIN, DE, vol. 8, no. 4, 11 April 2006 (2006-04-11), pages 280 - 296, XP019385665, ISSN: 1433-2825, DOI: 10.1007/S10032-006-0014-0 *
KHAN TAUSEEF ET AL: "Deep learning approaches to scene text detection: a comprehensive review", ARTIFICIAL INTELLIGENCE REVIEW, SPRINGER NETHERLANDS, NL, vol. 54, no. 5, 1 January 2021 (2021-01-01), pages 3239 - 3298, XP037461949, ISSN: 0269-2821, [retrieved on 20210101], DOI: 10.1007/S10462-020-09930-6 *
SHEN, ZEJIANGZHANG, RUOCHENDELL, MELISSALEE, BENJAMINCHARLES GERMAINCARLSON, JACOBLI, WEINING: "A Unified Toolkit for Deep Learning Based Document Image Analysis", ARXIV PREPRINT ARXIV:2103.15348, 2021

Also Published As

Publication number Publication date
FR3131792A1 (fr) 2023-07-14
FR3131792B1 (fr) 2024-01-19

Similar Documents

Publication Publication Date Title
Koopman et al. Detection of deepfake video manipulation
TWI774659B (zh) 圖像文字的識別方法和裝置
CN105868758B (zh) 图像中文本区域检测方法、装置及电子设备
Amerini et al. Geometric tampering estimation by means of a SIFT-based forensic analysis
US7171042B2 (en) System and method for classification of images and videos
Fillion et al. Detecting content adaptive scaling of images for forensic applications
CN108108731B (zh) 基于合成数据的文本检测方法及装置
JP2014057306A (ja) 画像位相一致を用いた文書画像の二値化及び分割
CN105469027A (zh) 针对文档图像的水平和垂直线检测和移除
BE1025503B1 (fr) Procede de segmentation de ligne
JP2009266189A (ja) 画像判別装置、画像検索装置、画像検索プログラムおよび記録媒体
KR101191516B1 (ko) 향상된 이미지 식별
CN111563505A (zh) 一种基于像素分割合并的文字检测方法及装置
CN113591746B (zh) 一种文档表格结构检测方法及装置
CN110728193A (zh) 一种脸部图像丰富度特征的检测方法及设备
CN112750065B (zh) 载体对象处理和水印嵌入方法、装置及电子设备
CN117541546A (zh) 图像裁剪效果的确定方法和装置、存储介质及电子设备
WO2023131763A1 (fr) Procédé d&#39;analyse d&#39;au moins une image contenant des données textuelles
FR2986890A1 (fr) Procede d&#39;insertion d&#39;une marque numerique dans une image, et procede correspondant de detection d&#39;une marque numerique dans une image a analyser
CN114648751A (zh) 一种处理视频字幕的方法、装置、终端及存储介质
FR2843220A1 (fr) &#34;procede et systeme de localisation automatique de zones de texte dans une image&#34;
FR2825173A1 (fr) Procede de detection de zones de texte dans une image video
Nguyen et al. Unmasking The Artist: Discriminating Human-Drawn And AI-Generated Human Face Art Through Facial Feature Analysis
Saha et al. Npix2Cpix: A GAN-based Image-to-Image Translation Network with Retrieval-Classification Integration for Watermark Retrieval from Historical Document Images
US20240153294A1 (en) Automatic template recommendation

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23703269

Country of ref document: EP

Kind code of ref document: A1