BE1024194B1 - Procédé d'indentification d'un caractère dans une image numérique - Google Patents
Procédé d'indentification d'un caractère dans une image numérique Download PDFInfo
- Publication number
- BE1024194B1 BE1024194B1 BE2016/5773A BE201605773A BE1024194B1 BE 1024194 B1 BE1024194 B1 BE 1024194B1 BE 2016/5773 A BE2016/5773 A BE 2016/5773A BE 201605773 A BE201605773 A BE 201605773A BE 1024194 B1 BE1024194 B1 BE 1024194B1
- Authority
- BE
- Belgium
- Prior art keywords
- character
- characters
- segmentation
- candidate
- likelihood
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/153—Segmentation of character regions using recognition of characters or words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/158—Segmentation of character regions using character size, text spacings or pitch estimation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/24—Character recognition characterised by the processing or recognition method
- G06V30/248—Character recognition characterised by the processing or recognition method involving plural approaches, e.g. verification by template match; Resolving confusion among similar patterns, e.g. "O" versus "Q"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/24—Character recognition characterised by the processing or recognition method
- G06V30/248—Character recognition characterised by the processing or recognition method involving plural approaches, e.g. verification by template match; Resolving confusion among similar patterns, e.g. "O" versus "Q"
- G06V30/2504—Coarse or fine approaches, e.g. resolution of ambiguities or multiscale approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
- G06V30/36—Matching; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/24—Character recognition characterised by the processing or recognition method
- G06V30/248—Character recognition characterised by the processing or recognition method involving plural approaches, e.g. verification by template match; Resolving confusion among similar patterns, e.g. "O" versus "Q"
- G06V30/2528—Combination of methods, e.g. classifiers, working on the same input data
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Character Input (AREA)
- Character Discrimination (AREA)
Abstract
L’invention concerne un procédé de combinaison d’une première reconnaissance de caractères optique (OCR) (12) et d’une seconde OCR (100). La première OCR (12) opère d’abord sur une image de chaîne de caractères (11). Sa sortie (13) (premiers caractères identifiés, positions des caractères et paramètres de vraisemblance des caractères) est utilisée pour générer un premier graphe (16). Des points de segmentation rapportés aux positions des premiers caractères identifiés (14) sont utilisés comme entrée par la seconde OCR (100) en effectuant une segmentation et une classification combinées sur l’image de chaîne de caractères (11). La sortie (17) (seconds caractères identifiés, positions des caractères et paramètres de vraisemblance des caractères) de la seconde OCR (100) est utilisée pour mettre à jour (20) le premier graphe (16) afin de générer un second graphe (21) qui combine la sortie (13) de la première OCR (12) avec la sortie (17) de la seconde OCR (100). Des modèles de décision sont ensuite utilisés pour modifier (22) les pondérations de trajets dans le second graphe (21) afin de générer un troisième graphe (23). Un meilleur trajet est déterminé (24) sur le troisième graphe (23) afin d’obtenir l’identification (25) des caractères présents dans l’image de chaîne de caractères (11).
Description
Procédé d’identification d’un caractère dans une image numérique
Domaine technique
La présente invention concerne des procédés et des programmes pour identifier des caractères dans une image numérique.
Technique d’arrière-plan
On connaît des procédés de reconnaissance optique de caractères (OCR) qui convertissent un texte présent dans une image en un code lisible sur machine.
Le brevet US n° 5 519 786 décrit un procédé de mise en œuvre d’un schéma de vote pondéré pour lire et reconnaître de manière précise des caractères dans une image balayée. Une pluralité de processeurs de reconnaissance optique de caractères balaye l’image et lisent les mêmes caractères d’image. Chaque processeur OCR délivre un caractère rapporté correspondant à chaque caractère lu. Pour une lecture de caractère particulière, les caractères rapportés par chaque processeur OCR sont groupés en un ensemble de candidats caractères. Pour chaque candidat caractère, une pondération est générée conformément à une matrice de confusion qui stocke les probabilités d’une OCR particulière pour identifier les caractères de manière précise. Les pondérations sont ensuite comparées pour déterminer quel candidat caractère délivrer.
Un tel procédé a plusieurs limitations. Tout d’abord, comme les processeurs OCR sont exploités en parallèle, le caractère qui ne serait pas reconnu par l’un quelconque des processeurs OCR pris indépendamment ne peut être reconnu par le procédé dans son ensemble.
En deuxième lieu, un préprocesseur doit quantifier les forces et les faiblesses des processeurs OCR pour générer les cellules de la matrice de confusion qui contiennent des probabilités que le caractère lu par un processeur OCR soit le caractère rapporté par le processeur OCR. Cette étape peut prendre du temps. En outre, si cette étape n’est pas bien exécutée, par exemple du fait que l’ensemble de formation utilisé à cet effet ne convient pas à un type donné de caractère, une probabilité peut être faible pour un caractère qui est en fait bien reconnu et le procédé OCR peut fournir des résultats pires que les processeurs OCR pris indépendamment.
Description de l’invention
Un but de la présente invention est de fournir un procédé amélioré pour appliquer des procédés d’identification de caractères multiples sur une image numérique afin d’obtenir des résultats d’identification meilleurs et/ou plus rapides. Cet objectif est atteint selon l’invention par un procédé de sélection de candidats caractères dans un procédé d’identification de caractères d’une image numérique, le procédé comprenant les étapes consistant à : a) appliquer un premier processus d’identification de caractères pour déterminer des premiers candidats caractères et une liste de points de segmentation des premiers candidats caractères, b) générer une liste de largeurs de caractères correspondant à un point de segmentation d’entre la liste de points de segmentation, c) déterminer une partie de l’image numérique correspondant au point de segmentation et à une largeur de caractère d’entre la liste de largeurs de caractères, d) appliquer un procédé de classification de caractères sur la partie de l’image numérique pour obtenir une hypothèse ID d’un caractère éventuellement présent dans la partie de l’image numérique et un paramètre de vraisemblance qui se rapporte à la vraisemblance que l’hypothèse ID soit correcte et e) sélectionner l’hypothèse ID comme second candidat caractère dans l’image numérique si le paramètre de vraisemblance remplit un premier critère prédéterminé.
Dans le procédé selon l’invention, les points de segmentation déterminés à partir du premier processus d’identification de caractères (première OCR) sont utilisés comme entrée pour un processus combiné de segmentation et de classification (qui comprend les étapes b, c, d et e), qui est une seconde OCR. En conséquence, la seconde OCR est à même d’effectuer une meilleure segmentation que si elle l’opérait seule sans l’entrée de la première OCR. Cela permet à la seconde OCR d’utiliser des points de segmentation qu’elle n’aurait pas déterminés seule et donc de reconnaître certains caractères, par exemple des caractères asiatiques, qu’elle n’aurait pas reconnus seule. En outre, la seconde OCR travaille plus rapidement avec cette entrée de la première OCR, car son estimation initiale de la largeur du caractère suivant est meilleure que sans cette entrée.
Dans des modes de réalisation de l’invention, le procédé comprend en outre une étape f) de mise à jour de la liste de points de segmentation avec un autre point de segmentation déterminé sur la base de la partie de l’image numérique correspondant au second caractère candidat sélectionné. On s’attend à ce que cet autre point de segmentation soit utile pour le caractère suivant le caractère qui a juste été identifié.
Dans un mode de réalisation de l’invention, l’étape f) comprend : le contrôle du fait que l’autre point de segmentation est ou non déjà dans la liste de points de segmentation et l’addition de l’autre point de segmentation à la liste de points de segmentation si l’autre point de segmentation n’est pas déjà présent dans la liste de points de segmentation.
Dans un mode de réalisation de l’invention, à l’étape b), la liste de largeurs de caractères est générée sur la base d’au moins la liste de points de segmentation des premiers candidats caractères. La liste de largeurs de caractères peut donc être générée rapidement et de manière fiable, car sa détermination est basée sur des données provenant de la première OCR.
De manière avantageuse, les étapes b, c, d et e sont effectuées pour chaque point de segmentation de la liste de points de segmentation.
Dans un mode de réalisation de l’invention, les étapes c, d et e sont répétées pour une autre largeur de caractères de la liste de largeurs de caractères si le paramètre de vraisemblance ne satisfait pas au premier critère prédéterminé. Si le paramètre de vraisemblance ne satisfait pas au premier critère prédéterminé, il indique que l’hypothèse ID peut ne pas être correcte. Il vaut donc mieux considérer une autre partie de l’image numérique démarrant au même point de segmentation et qui couvre en conséquence au moins en partie les mêmes composants connectés.
Dans un mode de réalisation de l’invention, les étapes c, d et e sont répétées pour une autre largeur de caractère de la liste de largeurs de caractères si le paramètre de vraisemblance satisfait au premier critère prédéterminé et ne satisfait pas à un deuxième critère prédéterminé.
Dans un mode de réalisation de l’invention, le procédé comprend en outre les étapes consistant à : générer une structure de données à partir des premiers candidats caractères et de leurs points de segmentation et mettre à jour la structure de données avec le second candidat caractère sélectionné et un point de segmentation suivant calculé à partir de la largeur de caractère du second candidat caractère sélectionné et du point de segmentation utilisé pour déterminer la partie de l’image numérique correspondant au second candidat caractère sélectionné.
Un premier but de la structure de données est de combiner les résultats du procédé de classification de caractères avec les résultats du premier processus d’identification de caractères.
Dans un mode de réalisation de l’invention, l’étape a) comprend la détermination de premiers paramètres de vraisemblance des premiers candidats caractères fournissant une indication de la chance que le caractère candidat soit correct, la structure de données comprend les premiers paramètres de vraisemblance des premiers candidats caractères et le procédé comprend en outre les étapes consistant à : changer l’échelle des premiers paramètres de vraisemblance des premiers candidats caractères et/ou des paramètres de vraisemblance des seconds candidats caractères pour les rendre comparables l’un à l’autre et mettre à jour la structure de données avec les paramètres de vraisemblance des seconds candidats caractères.
Les paramètres de vraisemblance augmentent la précision du procédé.
De préférence, la structure de données est un graphe dans lequel les points de segmentation sont représentés par des sommets et les candidats caractères sont représentés par des bords entre les sommets.
Avantageusement, le procédé comprend l’étape d’application d’un procédé de modélisation de décision sur la structure de données mise à jour. Les modèles de décision améliorent la précision du procédé.
Dans un mode de réalisation de l’invention, le procédé comprend en outre les étapes consistant à : déterminer un meilleur trajet dans la structure de données mise à jour et sélectionner les candidats caractères correspondant aux bords du meilleur trajet comme caractères de l’image numérique.
De la sorte, la première OCR, la seconde OCR et les modèles de décision sont tous pris en compte pour déterminer directement l’identification des caractères.
De préférence, l’étape d’application d’un procédé de modélisation de décision comprend le fait d’avantager les candidats caractères qui ont les premiers paramètres de vraisemblance de premiers candidats caractères et les seconds paramètres de vraisemblance de seconds candidats caractères satisfaisant à un troisième critère prédéterminé.
Dans un mode de réalisation de l’invention, le premier procédé d’identification de caractères fournit des premiers candidats caractères pour des caractères d’un premier type, dans lequel le procédé de classification de caractères fournit des seconds candidats caractères pour des caractères d’un second type, et le procédé de modélisation de décision comprend le fait d’avantager les candidats caractères du premier type si les candidats caractères sont fournis par le premier processus d’identification de caractères et le fait de favoriser les candidats caractères du second type si les candidats caractères sont fournis par le procédé de classification.
Dans un mode de réalisation de l’invention, le premier procédé d’identification de caractères comprend un procédé de modélisation de décision.
Dans un mode de réalisation de l’invention, le premier processus d’identification de caractères fournit des positions de premiers candidats caractères et comprend en outre une étape de détermination de la liste de points de segmentation des premiers candidats caractères à partir des positions des premiers candidats caractères. Si les points de segmentation ne sont pas fournis par le premier processus d’identification de caractères, ils peuvent être déterminés à partir des positions de premiers candidats caractères par segmentation et classification combinées ou par une étape indépendante effectuée de préférence entre les étapes a) et b) et éventuellement entre les étapes b) etc).
Un autre objectif de la présente invention est de fournir un procédé d’identification de caractères dans une image numérique.
Cet objectif est atteint selon l’invention par un procédé comprenant : a) l’application d’un premier procédé d’identification de caractères pour déterminer des premiers candidats caractères et des premiers points de segmentation correspondant aux premiers candidats caractères, b) la génération d’un premier graphe sur la base des premiers candidats caractères et des premiers points de segmentation, dans lequel les premiers points de segmentation sont représentés par des sommets et les premiers candidats caractères par des bords, c) l’application d’un second procédé d’identification de caractères sur au moins une partie de l’image numérique pour générer au moins un second candidat caractère, d) la mise à jour du graphe par addition du au moins un second candidat caractère au premier graphe et e) la sélection dans le graphe mis à jour de candidats caractères comme caractères de l’image numérique.
Dans ce procédé, le graphe, lorsqu’il est généré, comprend comme sommets les points de segmentation provenant de la première OCR et comme bords les ID provenant de la première OCR. Le graphe est ensuite mis à jour avec de nouveaux sommets et de nouveaux bords provenant de la seconde OCR. Au cours de la sélection de candidats caractères (étape e), tous les bords sont considérés et aucun d’entre eux n’est a priori mis au rebut. Il n’y a aucune nécessité de tester les OCR l’un vis-à-vis de l’autre pour déterminer leurs faiblesses, car toutes les ID provenant de toutes les OCR sont considérés même si une règle de décision favorisant certains bords selon certaines conditions pourrait être introduite dans le graphe. Il n’y a aucune nécessité d’une structure comme la matrice de confusion non plus.
De préférence, le second procédé d’identification de caractères génère au moins un second point de segmentation et le au moins un second point de segmentation est ajouté au graphe à l’étape d).
Dans un mode de réalisation de l’invention, le premier procédé d’identification de caractères fournit des premiers paramètres de vraisemblance fournissant une vraisemblance que les premiers candidats caractères sont corrects, le second procédé d’identification de caractères fournit des seconds paramètres de vraisemblance fournissant une vraisemblance que le au moins un second candidat caractère est correct, et le procédé comprend en outre les étapes consistant à : changer l’échelle des premiers paramètres de vraisemblance et/ou des seconds paramètres de vraisemblance pour les rendre comparables l’un à l’autre, ajouter les premiers paramètres de vraisemblance dans le premier graphe et ajouter les seconds paramètres de vraisemblance dans le graphe mis à jour.
Avantageusement, le procédé comprend l’étape d’application d’un procédé de modélisation de décision sur le graphe mis à jour.
Dans un mode de réalisation de l’invention, le procédé de modélisation de décision comprend une règle qui favorise les candidats caractères qui ont le premier paramètre de vraisemblance et les seconds paramètres de vraisemblance répondant à un troisième critère prédéterminé.
Dans des modes de réalisation de l’invention, certains des premier et second candidats caractères sont des caractères d’un premier ou d’un second type et le procédé de modélisation de décision comprend une règle qui favorise les candidats caractères correspondant au premier type de caractères si ces candidats caractères ont été déterminés par le premier procédé d’identification de caractères et favorise les candidats caractères correspondant au second type de caractères si ces candidats caractères ont été déterminés par le second procédé d’identification de caractères.
De préférence, le second procédé d’identification de caractères utilise comme entrée, à l’étape c), les premiers points de segmentation provenant du premier procédé d’identification de caractères. Avec ce procédé, le second procédé d’identification de caractères est à même d’effectuer une meilleure segmentation que s’il opérait seul.
Un autre objectif de la présente invention est de fournir un programme informatique qui applique de meilleurs processus d’identification de caractères multiples sur une image numérique pour obtenir des résultats d’identification meilleurs et/ou plus rapides.
Cet objectif est atteint selon l’invention par un support non transitoire lisible sur ordinateur stockant un programme amenant un ordinateur à exécuter un procédé pour identifier des caractères dans une image numérique, le procédé comprenant les étapes consistant à : a) appliquer un premier procédé d’identification de caractères pour déterminer des premiers candidats caractères et une liste de points de segmentation des premiers candidats caractères, b) générer une liste de largeurs de caractères correspondant à un point de segmentation de la liste des points de segmentation, c) déterminer une partie de l’image numérique correspondant au point de segmentation fourni par la position d’un premier candidat caractère initial et à une largeur de caractère provenant de la liste de largeurs de caractères, d) appliquer un procédé de classification de caractères sur la partie de l’image numérique pour obtenir une hypothèse ID d’un caractère éventuellement présent dans la partie de l’image numérique et un paramètre de vraisemblance qui se rapporte à la vraisemblance que l’hypothèse ID est correcte et e) sélectionner l’hypothèse ID comme caractère dans l’image numérique si le paramètre de vraisemblance répond à un premier critère prédéterminé.
Le procédé selon l’invention est de préférence conçu pour tourner sur un ordinateur.
Brève description des dessins L’invention sera mieux comprise au moyen de la description suivante et des figures ci-annexées.
La Fig. 1 illustre un schéma fonctionnel d’un procédé OCR selon l’invention.
La Fig. 2 illustre un exemple d’une image d’une chaîne de caractères avec des points de segmentation.
La Fig. 3 illustre un exemple d’un graphe correspondant à l’image et aux points de segmentation de la Fig. 2.
La Fig. 4 illustre un schéma fonctionnel de segmentation et de classification combinées selon un mode de réalisation de l’invention.
La Fig. 5 illustre une mise à jour d’une liste de points de segmentation selon un mode de réalisation de l’invention.
Les Fig. 6a à 6e illustrent un exemple très simple de la segmentation et de la classification combinées selon l’invention.
La Fig. 7 illustre un graphe à la fin de la segmentation et de la classification combinées illustrées sur la Fig. 6.
Modes de réalisation de l’invention
La présente invention sera décrite en se référant à des modes de réalisation particuliers et en se référant à certains dessins, mais l’invention n’est pas limitée à ceux-ci, mais uniquement par les revendications. Les dessins décrits sont seulement schématiques et ne sont pas limitatifs. Dans les dessins, la taille de certains des éléments peut être exagérée et non à l’échelle à des fins illustratives. Les dimensions et les dimensions relatives ne correspondent donc pas nécessairement aux réductions réelles pour mettre en pratique l’invention.
En outre, les termes premier, deuxième, troisième, etc. dans la description et les revendications sont utilisés pour distinguer entre des éléments similaires et pas nécessairement pour décrire un ordre séquentiel ou chronologique. Les termes sont interchangeables dans des circonstances appropriées et les modes de réalisation de l’invention peuvent opérer dans d’autres séquences que celles décrites ou illustrées ici.
En outre, les termes dessus, dessous, sur, sous et similaires dans la description et les revendications sont utilisés à des fins descriptives et pas nécessairement pour décrire des positions relatives. Les termes ainsi utilisés sont interchangeables dans des circonstances appropriées et les modes de réalisation de l’invention décrits ici peuvent opérer dans d’autres orientations que celles décrites ou illustrées ici.
En outre, les divers modes de réalisation, bien que dénommés « préférés », sont censés être des exemples de modes selon lesquels l’invention peut être mise en œuvre plutôt que de limiter la portée de l’invention.
Le terme « comprenant » utilisé dans les revendications ne doit pas être interprété comme étant limité aux éléments ou aux étapes énumérés ensuite ; il n’exclut pas d’autres éléments ou d’autres étapes. Il doit être interprété comme spécifiant la présence des caractéristiques, nombres entiers, étapes ou composants mentionnés auxquels on se réfère, mais n’empêche pas la présence ou l’addition d’une ou plusieurs autres caractéristiques, nombres entiers, étapes ou composants ou de leurs groupes. Par suite, la portée de l’expression « un dispositif comprenant A et B » ne doit pas être limitée à des dispositifs constitués uniquement des composants A et B plutôt par rapport à la présente invention, les seuls composants énumérés du dispositif sont A et B et, en outre, la revendication doit être interprétée comme incluant des équivalents de ces composants.
Le terme « caractère », tel qu’on l’utilise ici, se réfère à un symbole ou à un signe utilisé en écriture comme un graphème, un logogramme, une lettre alphabétique, une ligature typographique, un chiffre numérique ou un signe de ponctuation.
Les expressions « identification, identifiant et ID », tels qu’on les utilise ici, se réfèrent à un ou plusieurs caractères reconnus en code lisible sur machine pour obtenir une chaîne explorable de caractères.
Le terme « position », tel qu’on l’utilise ici en se référant à une position particulière, se réfère à des données qui permettent de localiser le caractère. Par exemple, la position peut être fournie par les coordonnées des pixels d’une boîte de délimitation qui entoure le caractère. L’expression « point de segmentation », telle qu’on l’utilise ici, se réfère au point où se trouve une limite entre les caractères. Un point de segmentation d’un caractère peut, par exemple, être fourni par le pixel noir le plus à gauche d’une boîte de délimitation du caractère ou par le pixel noir le plus à gauche du caractère. L’expression « partie de segmentation », telle qu’on l’utilise ici, se réfère à une partie d’une image d’une chaîne de caractères qui subit des processus pour déterminer si elle représente un caractère, un groupe de caractères, un motif, etc. Le point le plus à gauche d’une partie de segmentation est de préférence un point de segmentation.
Le terme « classification », tel qu’on l’utilise ici, se réfère à la génération d’au moins une hypothèse sur l’identification d’un ou plusieurs caractères. Chaque hypothèse d’identification ou hypothèse ID est associée à un paramètre de vraisemblance. L’expression « reconnaissance optique de caractères (OCR) », telle qu’on l’utilise ici, se réfère à une conversion quelconque en un texte présent dans une image en code lisible sur ordinateur. Une OCR peut être très complexe et comprendre, par exemple, des modèles de décision, tout comme il peut s’agir d’une classification de mono-caractères relativement simple.
Les expressions « candidats, hypothèses, hypothèses ID ou hypothèses d’identification », telles qu’on les utilise ici, se réfèrent à d’autres solutions possibles pour l’identification d’un caractère ou d’un groupe de caractères. Elles sont souvent apparentées à un paramètre de vraisemblance. L’expression « paramètre de vraisemblance », telle qu’on l’utilise ici, se réfère à un paramètre qui a une valeur qui fournit une indication de probabilité que l’hypothèse d’identification, les hypothèses ID, le candidat caractère, etc., est ou sont corrects, c’est-à-dire que l’image ou la partie de segmentation qui subit la classification représente en fait le caractère ou le groupe de caractères de l’hypothèse d’identification. Un paramètre de vraisemblance peut être, par exemple, une probabilité ou une pondération. Les paramètres de vraisemblance provenant de plusieurs OCR peuvent être à différentes échelles, auquel cas une conversion peut être utilisée pour les placer à la même échelle et les rendre comparables. L’expression « structure de données », telle qu’on l’utilise ici, se réfère à une entité comprenant des données.
Le terme « graphe », tel qu’on l’utilise ici, se réfère à une structure de données comprenant des sommets et des bords.
Telle qu’on l’utilise ici, l’expression « composant connecté » d’une image en noir et blanc est censée se référer à un groupe de pixels noirs qui sont connectés l’un à l’autre par des pixels noirs.
La Fig. 1 représente un schéma synoptique d’un procédé OCR 10 selon l’invention.
Une image 11 d’une chaîne de caractères est prise comme entrée par une première OCR 12. L’image 11 d’une chaîne de caractères est de préférence une image numérique en noir et blanc. La première OCR 12 traite les informations contenues dans l’image et fournit comme sorties des premiers candidats caractères 13 avec des points de segmentation 14 des caractères de l’image et de préférence des pondérations 18 des caractères, les pondérations étant des paramètres de vraisemblance. Les premiers candidats caractères 13 avec les points de segmentation 14 des caractères dans l’image peuvent être une séquence de candidats caractères avec les points de segmentation 14 fournis par les positions des caractères, éventuellement avec des pondérations apparentées, ou il peut s’agir d’une pluralité de séquences possibles de candidats caractères avec les positions des caractères éventuellement avec des pondérations apparentées. Les points de segmentation 14 des premiers candidats caractères 13 peuvent être dénommés premiers points de segmentation 14. La pluralité de points de segmentation 14 peut être considérée comme une liste de points de segmentation 14.
La première OCR peut ou non utiliser des modèles de décision.
Les premiers candidats caractères 13, avec leurs points de segmentation 14 et leurs pondérations 18, sont utilisés comme entrée dans une génération 15 d’un premier graphe, qui délivre un premier graphe 16. Si nécessaire, la génération 15 du premier graphe détermine des premiers points de segmentation provenant des points de segmentation de candidats caractères 14. Si nécessaire, la génération 15 du premier graphe convertit les pondérations 18 en premiers paramètres de vraisemblance pour faire en sorte qu’ils correspondent à une autre échelle de paramètres de vraisemblance. Dans le premier graphe 16, les premiers points de segmentation sont représentés sous la forme de sommets, les premiers candidats caractères étant représentés comme des bords et les premiers paramètres de vraisemblance des premiers candidats caractères sont représentés sous la forme de valeurs de bord correspondants.
Un graphe démarre typiquement avec un premier sommet qui correspond à un point de segmentation initial, qui est le point de segmentation le plus à la gauche de l’image de la chaîne de caractères 11. Le premier sommet est relié à un autre sommet qui correspond à un autre point de segmentation par un bord correspondant au caractère identifié entre le point initial et les autres points de segmentation. Le graphe continue par un sommet pour chaque point de segmentation et un bord pour chaque caractère entre les points de segmentation. Les paramètres de vraisemblance des caractères sont représentés par des valeurs de bord au niveau des bords correspondants. Le graphe se termine par un sommet correspondant à un point sur la droite du premier caractère dans l’image de la chaîne de caractères 11. Ce point sur la droite du dernier caractère de l’image de la chaîne de caractères 11 n’est de préférence pas un point de segmentation. D’autres types de structures de données qu’un graphe peuvent être utilisés pour ordonner les sorties de l’OCR sans sortir de la portée de l’invention.
La Fig. 2 illustre une image d’une chaîne de caractères 11. Dans cet exemple 201, la première OCR 12 a été identifiée par un b partant d’un point de segmentation 202 avec un paramètre de vraisemblance de 80 % et par un t partant d’un point de segmentation 203 avec un paramètre de vraisemblance de 95 %.
La Fig. 3 illustre le premier graphe 301 généré à l’étape 15 à partir de la sortie 13 de la première OCR 12. Le sommet 302 correspond au point de segmentation 202. Le bord 304 correspond à la lettre b et le paramètre associé de 80 % 305 est également inclus dans le premier graphe 301. Le sommet 303 correspond au point de segmentation 203. Le bord 306 correspond à la lettre t et le paramètre associé de 95 % 307 est également inclus dans le premier graphe 301.
En se référant à présent à la Fig. 1, le premier point de segmentation 14 et l’image de la chaîne de caractères 11 sont utilisés comme entrée pour la segmentation et la classification combinées 100. Dans un mode de réalisation de l’invention, dans lequel les positions sont délivrées par la première OCR 12 au lieu des premiers points de segmentation 14, les premiers points de segmentation 14 sont déterminés à une autre étape du procédé 10, par exemple, au cours de la segmentation et de la classification combinées 100. Par exemple, si la première OCR 12 délivre les boîtes de limitation des premiers caractères, les points de segmentation peuvent être déterminés comme les points du pixel noir le plus à gauche dans chaque boîte de délimitation.
La segmentation et la classification combinées 100 constituent une seconde OCR et seront décrites par la suite en se référant à la Fig. 4. La segmentation et la classification combinées 100 génèrent de préférence au moins une fois pour chaque caractère dans l’image de la chaîne de caractères 11 au moins un second candidat caractère avec sa position et de préférence une probabilité du second candidat caractère 17. Le point de segmentation 121 qui a fourni l’hypothèse ID 127a qui a été choisie comme second candidat caractère 17 peut être utilisé en lieu et place ou en plus de la position du second candidat caractère 17. Ce point de segmentation 121 peut être dénommé second point de segmentation. La probabilité du second candidat caractère est un second paramètre de vraisemblance.
Dans un mode de réalisation de l’invention, il peut y avoir un ou plusieurs seconds candidats caractères ayant chacun sa position correspondante et de préférence chacun ayant sa probabilité déterminée par la segmentation et la classification combinées 100 pour chaque caractère de l’image de la chaîne de caractères 11.
Le second candidat caractère, sa position et sa probabilité 17 sont, chaque fois qu’ils sont générés, utilisés comme entrée pour une mise à jour 20 du graphe qui met à jour le premier graphe 16. la fin de la segmentation et de la classification combinées 100, la sortie globale des mises à jour 20 du graphe est un second graphe 21 qui combine la sortie de la première OCR 12 et la sortie de la segmentation et de la classification combinées 100. Si nécessaire, la mise à jour 20 du graphe convertit les probabilités en seconds paramètres de vraisemblance ayant la même échelle que les premiers paramètres de vraisemblance pour les rendre comparables. La mise à jour 20 du graphe ajoute un nouveau bord pour chaque seconde ID. La mise à jour 20 du graphe ajoute un nouveau sommet à l’extrémité de chaque nouveau bord qui ne se termine pas sur un sommet déjà présent dans le graphe.
Le second graphe 21 comprend un bord pour chacune des premières ID et pour chacune des secondes ID associés avec leur paramètre de vraisemblance respectif, et un sommet pour chacun des premiers points de segmentation et pour chacun des seconds points de segmentation. Un exemple du second graphe est illustré dans la Fig. 7 et sera décrit par la suite. Les bords et/ou les sommets du second graphe 21 peuvent avoir une étiquette qui indique s’ils ont été générés à partir de la première OCR ou à partir de la segmentation et de la classification combinées 100.
Le second graphe 21 est ensuite utilisé comme entrée dans une étape facultative d’addition de modèles de décision 22, qui génère un troisième graphe de décision 23. L’étape 22 peut ajouter les modèles de décision au graphe par l’utilisation d’un algorithme à base de transducteur d’état fini pondéré (WFST). Cette étape 22 est en fait une application d’un procédé de modélisation de décision. L’addition de modèles de décision 22 modifie les paramètres de vraisemblance des bords, c’est-à-dire les caractères ou le groupe de bords, c’est-à-dire des groupes de caractères afin de favoriser ceux qui sont a priori les plus probables, par exemple en raison du contexte. Les modèles de décision modifient les pondérations des trajets. Les modèles de décision sont de préférence apparentés à la décision contextuelle. Les modèles de décision améliorent fortement la précision d’identification.
Les modèles de décision peuvent impliquer des bigrammes, des métriques typographiques, des listes de mots comme des dictionnaires, des n-grammes de caractères, des règles de ponctuation et des règles d’espacement.
Un premier type de modèle de décision est un modèle linguistique. Si le mot « ornate » est présent dans l’image de la chaîne de caractères à identifier, la première ou la seconde OCR peut par exemple trouver le mot « ornate » et le mot « ornate » comme ID avec des paramètres de vraisemblance similaires du fait que les lettres rn prises conjointement ressemblent à la lettre m. Un modèle linguistique utilisant un dictionnaire est capable de détecter que le mot « ornate » n’existe pas, tandis que le mot « ornate » existe.
Dans un mode de réalisation de la présente invention, le modèle linguistique utilise un modèle de n-grammes. Si le mot « TRESMEUR » est présent dans l’image de la chaîne de caractères 11, la première ou la seconde OCR peut par exemple trouver le mot « TRE5MEUR » et le mot « TRESMEUR » comme ID avec des paramètres de vraisemblance similaires du fait que les lettres « S » peuvent ressembler à la lettre « 5 » dans un texte imprimé. Un modèle linguistique utilisant un modèle de bi-gramme (n-gramme avec n=2) préférerait « TRESMEUR » si « ES » et « SM » avaient de meilleures probabilités d’occurrence que « E5 » et « 5M ».
Un autre type de modèle utilisé dans un mode de réalisation de la présente invention est un modèle typographique. Si le mot « Loguivy » est présent dans l’image de la chaîne de caractères 11, la première ou la seconde OCR peut par exemple trouver le mot « Loguivy » et ie mot « Loguiw » comme ID avec des paramètres de vraisemblance similaires du fait que les lettres « y » peuvent ressembler à la lettre « v » dans un texte imprimé. Un modèle typographique utilisant des métriques de police préférerait « Loguivy » du fait que la position du fond du caractère final correspond plus vraisemblablement à la position inférieure d’un « y » (dans son modèle) que d’un « v ».
Dans un mode de réalisation de la présente invention, le modèle typographique considère la position du caractère dans l’image pour vérifier si les tailles et les positions sont attendues ou non.
Dans un modèle de décision impliquant des règles de ponctuation et d’espacement, certaines combinaisons de ponctuation et/ou d’espaces sont défavorisées.
Dans un mode de réalisation de l’invention, un modèle de décision est ajouté à l’étape 22 qui favorise les ID qui ont le premier paramètre de vraisemblance et le second paramètre de vraisemblance répondant à un critère prédéterminé. En fait, on s’attend à ce que, si une même ID est découverte par la première OCR 12 et la segmentation et la classification combinées 100, ND soit plus crédible. En conséquence, si pour une ID, à la fois le premier paramètre de vraisemblance et le second paramètre de vraisemblance se situent au-dessus d’un seuil, par exemple, de 90 %, l’ID peut être favorisée.
Dans un mode de réalisation de l’invention, un modèle de décision est ajouté à l’étape 22, qui équivaut à un vote OCR du fait qu’il favorise la première OCR dans certains cas et la seconde OCR dans d’autres cas. Par exemple, si la première OCR est connue pour être extrêmement précise pour un premier type de caractères, tels que des caractères katakana, tandis que la segmentation et la classification combinées 100 sont connues pour être extrêmement précises pour un second type de caractères, comme kanji, un modèle de décision peut être ajouté qui favorise les ID correspondant au premier type de caractères (katakana) si ces ID ont été déterminées par la première OCR et favorise les ID correspondant au second type de caractères (kanji) si ceux-ci ont été déterminés par la segmentation et la classification combinées 100.
Une étape de détermination du meilleur trajet 24 est ensuite effectuée sur le troisième graphe 23 pour déterminer les ID 25 des caractères présents dans l’image 11 de la chaîne de caractères. La détermination du meilleur trajet 24 détermine, entre les trajets possibles définis par les bords joints par des sommets dans le troisième paragraphe 23 et en prenant en compte les paramètres de vraisemblance associés aux bords, au trajet, c’est-à-dire à la séquence d’ID, avec la probabilité la plus élevée de correspondre à l’image 11 de la chaîne de caractères. La détermination du meilleur trajet 24 peut utiliser un algorithme de décision à base de transducteur d’état fini pondéré (WFST) qui optimise une pondération du trajet pour trouver la meilleure solution.
La Fig. 4 illustre un schéma fonctionnel pour la segmentation et la classification combinées 100 selon un mode de réalisation de l’invention.
Ce schéma fonctionnel comprend un empilement 102 qui est une liste de points de segmentation ou une structure de données comprenant des points de segmentation. Les premiers points de segmentation 14 sont utilisés comme entrée par une étape 101 de création de l’empilement. Au cours de cette étape 101, les données initiales de l’empilement sont déterminées. Les premiers candidats caractères 13 pourraient également être utilisés par l’étape 101. De préférence, avant cette étape 101, l’empilement 102 n’existe pas ou est vide. Dans un mode de réalisation de l’invention, au cours de cette étape 101, les premiers points de segmentation 14 sont placés dans l’empilement 102.
La segmentation et la classification combinées 100 commencent à effectuer une itération sur les points de segmentation de l’empilement avec un indice de point de segmentation i qui est réglé égal à une première valeur, par exemple 1. Un point de segmentation correspondant 121 provenant de l’empilement 102 est considéré. La première fois qu’un point de segmentation 121 est considéré dans la segmentation et la classification combinées 100, le point de segmentation 121 est de préférence l’un des premiers points de segmentation 14 qui a été déterminé par la première OCR. Le point de segmentation 121 est de préférence retiré de l’empilement 102 de sorte que l’empilement 102 ne contienne que les points de segmentation qui doivent encore être considérés. Le point de segmentation 121 est de préférence placé dans une liste de points de segmentation déjà traités.
Ensuite, la segmentation et la classification combinées 100 déterminent à l’étape 130 une liste de largeurs 131. De préférence, cette détermination 130 n’utilise pas comme entrée une liste de largeurs déterminées pour un autre point de segmentation. Dans un mode de réalisation de l’invention, la liste 131 de largeurs est générée à l’étape 130 comme décrit dans la demande de brevet US n° 14/254 096 qui est incorporée à la présente demande par référence, dans laquelle les premiers points de segmentation 14 sont utilisés comme entrée. L’image de la chaîne de caractères 11 et/ou les premiers candidats caractères peuvent également être utilisés comme entrées. Dans un mode de réalisation de l’invention, la détermination 130 utilise une base de données 132 stockant des largeurs de caractères de référence, stockant une largeur moyenne et éventuellement stockant d’autres statistiques de caractères. La détermination 130 est de préférence basée sur cette largeur moyenne fournie par la base de données 132 et la ou les tailles du ou des composants connectés autour du point de segmentation i, la ou les tailles étant fournies par l’image 11 de la chaîne de caractères. La détermination 130 est basée mieux encore sur cette largeur moyenne fournie par la base de données 132 et la ou les tailles du ou des composants connectés suivant le point de segmentation i, la ou les tailles étant fournies par l’image 11 de la chaîne de caractères.
Dans un mode de réalisation de l’invention, la détermination 130 estime, à partir des premiers points de segmentation 14, à partir de la ou des tailles du ou des composants connectés autour du point de segmentation 121 et à partir de la base de données 132, la largeur pour le caractère suivant le point de segmentation 121.
La liste 131 de largeurs est de préférence ordonnée de la largeur de caractère la plus vraisemblable à la largeur de caractère la moins vraisemblable, comme décrit dans la demande de brevet US n° 14/254 096.
Ensuite, la segmentation et la classification combinées 100 commencent à effectuer une itération sur les largeurs de la liste de largeurs 131, un indice de largeur j étant réglé égal à une première valeur, par exemple 1. Une largeur 124 provenant de la liste de largeurs 131 est considérée. La combinaison du point de segmentation i et de la largeur j fournit une partie de segmentation 125 qui est une partie de l’image de la chaîne de caractères 11. Une classification de caractères 126 est effectuée sur la partie de segmentation 125. La classification de caractères 126 est de préférence une classification de caractères uniques. La classification de caractères 126 peut comprendre une classification de caractères conçue pour un premier type de caractères, par exemple des caractères asiatiques, et une classification de caractères conçue pour un second type de caractères, par exemple des caractères latins. Une telle classification de caractères est décrite dans la demande de brevet US n° 14/299 205 qui est incorporée à la présente demande par référence.
La classification de caractères 126 fournit une hypothèse ID 127a avec une vraisemblance d’erreur Perr 127b. L’hypothèse ID 127a est une hypothèse sur le caractère éventuellement présent sur la partie de segmentation 125. La vraisemblance de l’erreur Perr 127b est un paramètre de vraisemblance. La vraisemblance de l’erreur Perr 127b est un pourcentage qui diminue avec la probabilité que la classification 126 a correctement identifié la teneur de la partie de segmentation 125. La probabilité que la classification 126 a correctement identifié la teneur de la partie de segmentation 125 est égale à 1-Perr· Pen- et la probabilité égale à 1-Perr peuvent tous deux être dénommés « second paramètre de vraisemblance », car ils fournissent tous deux une indication de la probabilité que l’hypothèse d’identification 127a est correcte pour la classification de caractères 126.
La segmentation-classification combinée 100 vérifie ensuite, à l’étape 128, si la vraisemblance de l’erreur Perr répond à un premier critère prédéterminé qui est que Perr est plus petite qu’un seuil pour avoir une vraisemblance élevée d’erreur Therr· Therr est de préférence choisie proche de 100 %, par exemple égale à 99,9 %. Ainsi, le premier critère prédéterminé écarte les hypothèses qui sont réellement invraisemblables. Si le premier critère prédéterminé n’est pas satisfait, l’indice j est incrémenté et l’on considère une largeur suivante provenant de la liste de largeurs 131.
Si le premier critère prédéterminé est satisfait, il indique que l’hypothèse ID pourrait avoir une chance d’être correcte. Si le premier critère prédéterminé est satisfait, une mise à jour 110 de l’empilement est effectuée. Cette mise à jour 110 de l’empilement est décrite ci-dessous en se référant à la Fig. 5.
Si le premier critère prédéterminé est satisfait, une mise à jour 150 de la liste moyenne est effectuée et la largeur moyenne mise à jour remplace la largeur moyenne dans la base de données 132. Dans un mode de réalisation de l’invention, la mise à jour 150 de la largeur moyenne est effectuée comme décrit dans la demande de brevet US n° 14/254 096 qui est incorporée à la présente demande par référence.
Dans un mode de réalisation de l’invention, la mise à jour 150 de la largeur moyenne est suivie par la détermination 130 de la liste de largeurs qui génère la liste de largeurs 131 à utiliser pour le même point de segmentation i dans la prochaine itération sur les largeurs par la segmentation et la classification combinées 100.
Si le premier critère prédéterminé est satisfait, le second candidat caractère, sa position et sa probabilité 17 sont ajoutés dans le graphe au cours de la mise à jour correspondante 20 du graphe (Fig. 1). Le second candidat caractère, sa position et sa probabilité 17 ne peuvent être mis à jour en tant que tels par la segmentation et la classification combinées 100, mais juste ajoutés au graphe. Le second candidat caractère est égal à l’hypothèse ID 127a. En d’autres termes, l’hypothèse ID est choisie comme second candidat caractère. La position du second candidat caractère est fournie par la partie de segmentation où le second candidat caractère a été identifié, c’est-à-dire, par le point de segmentation i et la largeur j qui ont été considérés. La probabilité du second candidat caractère est égale à 1-Pen-, avec la valeur de ΡβΓΓ de 127b.
La mise à jour du graphe 20 (Fig. 1) est de préférence effectuée immédiatement après la sélection de l’hypothèse ID 127 comme second candidat caractère par l’étape 128. En d’autres termes, la mise à jour du graphe 20 est de préférence réalisée pour chaque partie de segmentation 125 qui fournit une hypothèse ID 127a qui a un paramètre de vraisemblance 127b qui satisfait au premier critère prédéterminé 128.
La classification de caractères 126 peut fournir une pluralité d’hypothèses ID 127a chacune avec leur vraisemblance respective d’erreur Perr 127b, toutes correspondant à la même partie de segmentation 125. Dans un tel cas, les contrôles 128 et 140 sont effectués sur l’hypothèse ID avec la Perr la plus basse, c’est-à-dire l’hypothèse ID dont on attend le plus qu’elle soit correcte. Le « second candidat caractère avec la position et la probabilité» 17 des figures comprend alors la pluralité d’hypothèses ID, avec chacune leur position et leur probabilité respectives. Elles sont toutes incluses dans le graphe 20 directement avant de se déplacer vers une nouvelle partie de segmentation 125.
Dans la segmentation et la classification combinées 100, une partie de segmentation quelconque 125 est considérée seulement une fois.
Le premier critère prédéterminé fournit un paramètre réglable pour déterminer le seuil de probabilité à partir duquel les hypothèses ID 127a sont ajoutées dans le graphe. Une Therr très élevée fournit un second graphe très grand 21 qui donne une précision élevée, mais pourrait ralentir le procédé OCR 10. Une Therr inférieure fournit un second graphe plus petit 21, qui pourrait donner une moindre précision, mais accélère le procédé OCR 10.
Dans un mode de réalisation de l’invention, différents critères pourraient être utilisés pour déterminer si le second candidat caractère, sa position et sa probabilité 17 sont utilisées dans une mise à jour 20 du graphe, si la mise à jour 110 de l’empilement est effectuée, si la mise à jour 150 de la liste de largeurs est effectuée et/ou si une autre largeur Q=j+1 ) est considérée.
Si le premier critère prédéterminé est satisfait, la segmentation-classification combinée 100 vérifie à l’étape 140 si la probabilité d’erreur Perr satisfait à un second critère prédéterminé, qui est que Perr est plus petit qu’un seuil pour avoir une faible probabilité d’erreur Tlerr- Tlerr est de préférence choisie entre 5 % et 50 %, par exemple, égal à 20 %. De la sorte, le second critère prédéterminé est satisfait uniquement dans les cas où l’hypothèse ID est réellement vraisemblable. Si le second critère prédéterminé n’est pas satisfait, l’indice j est incrémenté et une largeur suivante provenant de l’empilement de largeurs 131 est considérée. Si le second critère prédéterminé est satisfait, la segmentation-classification combinée 100 vérifie à l’étape 141 si l’empilement 102 contient encore au moins un point de segmentation.
Si l’empilement 102 contient encore au moins un point de segmentation, l’indice i de points de segmentation est incrémenté et un point de segmentation suivant 121 est considéré.
Si l’empilement 102 ne contient pas de point de segmentation, la segmentation-classification combinée 100 effectue de préférence une étape de fin d’empilement 142. L’étape de fin d’empilement 142 comprend une vérification que la fin de l’image de la chaîne de caractères 11 a été atteinte, par exemple en vérifiant que l’ID du caractère situé le plus à droite dans le second graphe 21 comprend le pixel noir le plus à droite de l’image de la chaîne de caractères 11.
Si la fin de l’image de la chaîne de caractères 11 n’a pas été atteinte, un caractère vide avec une probabilité égale à 0 est inséré dans le graphe en partant du sommet correspondant au point de segmentation le plus à droite qui a été considéré, un point de segmentation correspondant à la fin de ce caractère vide est placé dans l’empilement 102 et la segmentation et la classification combinées 100 reprennent avec ce point de segmentation.
Si la fin de l’image de la chaîne de caractères 11 a été atteinte, un caractère vide avec une probabilité égale à 0 peut être ajouté au second graphe 21 entre chaque sommet qui n’est pas connecté à un sommet suivant (chaque point de segmentation pour lequel aucun second candidat caractère 17 n’a été sélectionné) et le sommet suivant.
La Fig. 5 montre la mise à jour 110 de l’empilement selon un mode de réalisation de l’invention. Lorsqu’elle est effectuée, la mise à jour 110 de l’empilement prend comme entrées la partie de segmentation 125 considérée à ce stade dans la segmentation et classification combinées 100 et l’image de la chaîne de caractères 11. La mise à jour 110 de l’empilement comprend une détermination 111 d’un autre point de segmentation. Cet autre point de segmentation 112 est censé correspondre au début d’un caractère à la droite du caractère qui a juste été identifié dans la partie de segmentation 125 par la classification de caractères 126. L’autre point de segmentation 112 est de préférence déterminé comme le pixel noir le plus à gauche à la droite de la partie de segmentation 125. L’espace entre caractères peut avoir une valeur prédéterminée ou être calculé au cours de la segmentation et de la classification combinées 100.
En variante, l’autre point de segmentation 112 peut être calculé, par exemple, au cours de la classification de caractères 126 et fournit la mise à jour 110 de l’empilement.
Dans un mode de réalisation de l’invention, la détermination 111 d’un autre point de segmentation utilise des informations venant de la base de données 132.
La mise à jour 110 de l’empilement vérifie ensuite à l’étape 113 si l’autre point de segmentation 112 est couramment présent dans l’empilement 102 ou dans la liste de points de segmentation déjà traitée. Sinon, l’autre point de segmentation 112 est placé dans l’empilement 102.
Comme un caractère est censé démarrer un bit après le caractère précédent, cette mise à jour 110 de l’empilement génère des points de segmentation qui sont des points de départ probables pour un caractère suivant. La vérification à l’étape 113 évite qu’un point de segmentation n’apparaisse deux fois dans l’empilement 102.
La Fig. 6 illustre un exemple très simple de la segmentation et de la classification combinées 100 selon l’invention. La Fig. 7 illustre le second graphe 21 à la fin de la segmentation et de la classification combinées 100 illustrée sur la Fig. 6.
La Fig. 6a montre une image d’une chaîne de caractères 11 avec le mot lot et dans lequel les lettres I et o sont si proches qu’il est difficile de déterminer s’il s’agit de I et de o ou de b. La première OCR 12 a fourni les ID b et t avec leur position et leur probabilité (P=80 % pour b et P=95 % pour t). A partir de leur position, les points de segmentation 601 et 602 peuvent être déterminés (Fig. 6a). Le graphe qui est le premier graphe à ce stade comprend les sommets 711, 712 et 713 et les bords 701 et 702 (Fig. 7). L’empilement contient les points de segmentation 601 et 602. Pour le point de segmentation 601, la détermination 130 de la liste de largeurs détermine des largeurs possibles comprenant une largeur 603. La largeur 603 est placée dans la liste 131 de largeurs.
La Fig. 6b montre la largeur 603 qui est considérée comme la première conjointement avec le point de segmentation 601 dans la classification 126. La classification 126 trouve que la partie de segmentation fournie par le point de segmentation 601 et la largeur 603 représente un b avec une probabilité de 70 %. Comme Perr (30 %) est inférieure à Therr (99,9 %), un bord correspondant 703 est ajouté au graphe 21 au cours d’une mise à jour 20 du graphe. La mise à jour 110 de l’empilement détermine l’autre point de segmentation (étape 111). On découvre à l’étape 102 que cet autre point de segmentation qui correspond au point 602 est déjà dans l’empilement 102. En conséquence, cet autre point de segmentation n’est pas ajouté à l’empilement 102. La mise à jour 150 de la largeur moyenne est effectuée, qui met à jour la base de données 132. La détermination 130 de la liste de largeurs est également effectuée pour tenir compte de la mise à jour de la base de données. Comme Perr (30 %) n’est pas inférieure à ΤΙβΓΓ (20 %), une autre largeur 604 de la liste 131 est testée.
La Fig. 6c montre la largeur 604 qui est considérée conjointement avec le point de segmentation 601 dans la classification 126. La classification 126 trouve que la partie de segmentation fournie par le point de segmentation 601 et la largeur 604 représente un I avec une probabilité de 85%. Comme Perr(15%) est inférieure à Therr (99,9 %), un bord correspondant 704 est ajouté au graphe 21 au cours d’une mise à jour 20 du graphe et un sommet 714, qui correspond à un point de segmentation 605 à la fin du I, est ajouté au graphe 21.
Un autre point de segmentation 605 est ensuite déterminé à l’étape 111 de la mise à jour 110 de l’empilement. Comme le point 605 n’est pas dans l’empilement (étape 113), il est ajouté à l’empilement. La mise à jour 150 de la largeur moyenne et la détermination 130 de la liste de largeurs sont également réalisées.
Comme Perr (15 %) est inférieure à ΤΙβΓΓ (20 %), il y a une vérification (étape 141) pour vérifier s’il y a un point de segmentation quelconque laissé dans l’empilement 102. Les points de segmentation 602 et 605 étant encore dans l’empilement 102, le point de segmentation suivant 602 est considéré.
La Fig. 6d montre le point de segmentation 602 considéré conjointement avec la largeur 606 dans la classification 126. La classification 126 trouve que la partie de segmentation fournie par le point de segmentation 602 et la largeur 606 représente un t avec une probabilité de 99,5 %. Comme Perr (0,5 %) est inférieure à Therr (99,9 %), un bord correspondant 705 est ajouté au graphe 21 au cours d’une mise à jour 20 du graphe. La mise à jour 110 de l’empilement n’est pas réalisée du fait que la fin de la chaîne de caractères a été atteinte. La mise à jour 150 de la largeur moyenne et la détermination 130 de la liste de largeurs sont effectuées.
Comme Perr (0,5 %) est inférieure à Tlerr (20 %), il y a une vérification (étape 141) pour vérifier s’il y a un point de segmentation quelconque laissé dans l’empilement 102. La segmentation 605 étant encore dans l’empilement 102, ce point de segmentation 605 est considéré.
La Fig. 6e montre le point de segmentation 605 considéré conjointement avec une largeur 607 dans la classification 126. La classification 126 trouve que la partie de segmentation fournie par le point de segmentation 605 et la largeur 607 représente un o avec une probabilité de 85 %. Comme Perr (15 %) est inférieure à Therr (99,9 %), un bord correspondant 706 est ajouté au graphe 21 au cours d’une mise à jour 20 du graphe. La mise à jour 110 de l’empilement détermine l’autre point de segmentation (étape 111). On constate à l’étape 112 que cet autre point de segmentation qui correspond au point 602 se trouve dans la liste de points de segmentation qui ont déjà été traités. En conséquence, cet autre point de segmentation n’est pas ajouté à l’empilement 102. La mise à jour 150 de la largeur moyenne et la détermination 130 de la liste de largeurs sont également effectuées.
Comme Perr (15 %) est inférieure à Tlerr(20%), il y a une vérification (étape 141) pour vérifier s’il y a un point de segmentation quelconque laissé dans l’empilement 102. Comme l’empilement 102 est vide, la segmentation et la classification combinées 100 se déplacent aux étapes 142 de fin d’empilement.
Les étapes de fin d’empilement vérifient que le pixel le plus à droite de l’image de la chaîne de caractères 11 est en fait une partie du t. Tous les sommets du graphe 21 sont raccordés à un sommet suivant et, par suite, aucun caractère vide n’est ajouté au graphe 21.
Des modèles de décision peuvent ensuite être ajoutés au second graphe représenté sur la Fig. 7. Les modèles de décision peuvent modifier les probabilités indiquées dans le graphe. Un modèle de décision contextuel sur la base d’un dictionnaire anglais peut, par exemple, favoriser fortement la chaîne de caractères « lot » par rapport à la chaîne de caractères « bt ».
La présente invention comprend une combinaison d’une première OCR 12 et d’une seconde OCR, qui est la segmentation et la classification combinées 100, à divers stades: à l’entrée des premiers points de segmentation 14 de l’empilement 102 de la seconde OCR 100, à la mise à jour 20 du graphe généré par la première OCR 12 qui génère le second graphe 21 et dans les modèles de décision 22. L’invention ne nécessite pas d’avoir un aperçu de la manière dont la première OCR 12 est effectuée. Elle nécessite seulement d’obtenir de la première OCR 12 la séquence d’ID de caractères, leur position dans l’image de la chaîne de caractères et, si possible, leurs paramètres de vraisemblance, qui sont les sorties usuelles de n’importe quelle OCR. En conséquence, l’invention est capable de combiner presque n’importe quelle OCR commerciale avec la seconde OCR.
En outre, l’invention prend la meilleure des deux OCR de manière que la sortie du procédé OCR 10 selon l’invention soit meilleure que la sortie de la première OCR 12 et meilleure que la sortie de la seconde OCR 100.
Si, par ailleurs, la première OCR 12 est très rapide, le temps de calcul pris par le procédé OCR 10 selon l’invention n’est guère plus élevé que le temps de calcul pris par la seconde OCR 100 suivie par des modèles de décision.
Tout compris, dans le procédé OCR selon l’invention, deux segmentations sont effectuées. Une première segmentation est effectuée au cours de la première OCR 12, une seconde segmentation basée sur des points de segmentation et des largeurs et qui est combinée à la classification telle que décrite en se référant à la Fig. 4, est effectuée au cours de la seconde OCR 100. La seconde segmentation utilise les points de segmentation trouvés par la première segmentation comme entrée.
Selon un mode de réalisation de l’invention, au moins une OCR supplémentaire est effectuée après la seconde OCR. La au moins une OCR supplémentaire utilise les points de segmentation fournis par une ou plusieurs OCR précédemment effectuées et délivre des ID de caractères avec leurs positions et leurs paramètres de vraisemblance qui sont utilisés pour mettre à jour le graphe avant l’addition de modèles de décision 22.
Selon un mode de réalisation de l’invention, au moins une partie du procédé selon l’invention peut être exécutée par un ordinateur.
En d’autres termes, l’invention concerne un procédé et un programme de combinaison d’une première reconnaissance optique de caractères (OCR) 12 et d’une seconde OCR 100. La première OCR 12 opère d’abord sur une image d’une chaîne de caractères 11. Sa sortie 13 (premiers caractères identifiés, positions des caractères et paramètres de vraisemblance des caractères) est utilisée pour générer un premier graphe 16. Des points de segmentation en rapport avec les positions des premiers caractères identifiés 14 sont utilisés comme entrée par la seconde OCR 100 en effectuant une segmentation et une classification combinées sur l’image de chaîne de caractères 11. La sortie 17 (seconds caractères identifiés, positions des caractères et paramètres de vraisemblance des caractères) de la seconde OCR 100 est utilisée pour mettre à jour 20 le premier graphe 16, générer un second graphe 21 qui combine la sortie 13 de la première OCR 12 avec la sortie 17 de la seconde OCR 100. Des modèles de décision sont ensuite utilisés pour modifier les pondérations 22 des trajets dans le deuxième graphe 21 afin de générer un troisième graphe 23. Un meilleur trajet 24 est déterminé sur le troisième graphe 23 pour obtenir l’identification 25 des caractères présents dans l’image de ka chaîne de caractères 11.
Claims (24)
- Revendications1. Procédé de sélection de candidats caractères dans un procédé d’identification de caractères dans une image numérique, le procédé comprenant les étapes consistant à : a) appliquer un premier processus d’identification de caractères pour déterminer des premiers candidats caractères et une liste de points de segmentation des premiers candidats caractères, b) générer une liste de largeurs de caractères correspondant à un point de segmentation d’entre la liste de points de segmentation, c) déterminer une partie de l’image numérique correspondant au point de segmentation et à une largeur de caractère d’entre la liste de largeurs de caractères, d) appliquer un procédé de classification de caractères sur la partie de l’image numérique pour obtenir une hypothèse ID d’un caractère éventuellement présent dans la partie de l’image numérique et un paramètre de vraisemblance qui se rapporte à la vraisemblance que l’hypothèse ID soit correcte et e) sélectionner l’hypothèse ID comme second candidat caractère dans l’image numérique si le paramètre de vraisemblance remplit un premier critère prédéterminé.
- 2. Procédé selon la revendication 1, le procédé comprenant en outre une étape f) de mise à jour de la liste de points de segmentation avec un autre point de segmentation déterminé sur la base de la partie de l’image numérique correspondant au second caractère candidat sélectionné.
- 3. Procédé selon la revendication 2, dans lequel l’étape f) comprend : le contrôle du fait que l’autre point de segmentation est ou non déjà dans la liste de points de segmentation et l’addition de l’autre point de segmentation à la liste de points de segmentation si l’autre point de segmentation n’est pas déjà présent dans la liste de points de segmentation.
- 4. Procédé selon la revendication 1, dans lequel à l’étape b), la liste de largeurs de caractères est générée sur la base d’au moins la liste de points de segmentation des premiers candidats caractères.
- 5. Procédé selon la revendication 1, dans lequel les étapes b, c, d et e sont effectuées pour chaque point de segmentation de la liste de points de segmentation.
- 6. Procédé selon la revendication 1, dans lequel les étapes c, d et e sont répétées pour une autre largeur de caractères de la liste de largeurs de caractères si le paramètre de vraisemblance ne satisfait pas au premier critère prédéterminé.
- 7. Procédé selon la revendication 1, dans lequel les étapes c, d et e sont répétées pour une autre largeur de caractère de la liste de largeurs de caractères si le paramètre de vraisemblance satisfait au premier critère prédéterminé et ne satisfait pas à un second critère prédéterminé.
- 8. Procédé selon la revendication 1, dans lequel le procédé comprend en outre les étapes consistant à : f) générer une structure de données à partir des premiers candidats caractères et de leurs points de segmentation et g) mettre à jour la structure de données avec le second candidat caractère sélectionné et un point de segmentation suivant calculé à partir de la largeur de caractère du second candidat caractère sélectionné et du point de segmentation utilisé pour déterminer la partie de l’image numérique correspondant au second candidat caractère sélectionné.
- 9. Procédé selon la revendication 8, dans lequel l’étape a) comprend la détermination de premiers paramètres de vraisemblance des premiers candidats caractères fournissant une indication de la chance que le caractère candidat soit correct, la structure de données comprend les premiers paramètres de vraisemblance des premiers candidats caractères et le procédé comprend en outre les étapes consistant à : changer l’échelle des premiers paramètres de vraisemblance des premiers candidats caractères et/ou des paramètres de vraisemblance des seconds candidats caractères pour les rendre comparables l’un à l’autre et mettre à jour la structure de données avec les paramètres de vraisemblance des seconds candidats caractères.
- 10. Procédé selon la revendication 9, dans lequel la structure de données est un graphe dans lequel les points de segmentation sont représentés par des sommets et les candidats caractères sont représentés par des bords entre les sommets.
- 11. Procédé selon la revendication 10, comprenant en outre l’étape d’application d’un procédé de modélisation de décision sur la structure de données mise à jour.
- 12. Procédé selon la revendication 11, comprenant en outre les étapes consistant à : déterminer un meilleur trajet dans la structure de données mise à jour et sélectionner les candidats caractères correspondant aux bords du meilleur trajet comme caractères de l’image numérique.
- 13. Procédé selon la revendication 12, dans lequel l’étape d’application d’un procédé de modélisation de décision comprend le fait d’avantager les candidats caractères qui ont les premiers paramètres de vraisemblance de premiers candidats caractères et les seconds paramètres de vraisemblance de seconds candidats caractères satisfaisant à un troisième critère prédéterminé.
- 14. Procédé selon la revendication 13, dans lequel certains des premiers et seconds candidats caractères sont des caractères d’un premier ou d’un second type, et le procédé de modélisation de décision comprend le fait d’avantager les candidats caractères du premier type si les candidats caractères sont fournis par le premier processus d’identification de caractères et le fait de favoriser les candidats caractères du second type si les candidats caractères sont fournis par le procédé de classification.
- 15. Procédé selon la revendication 1, dans lequel le premier procédé d’identification de caractères comprend un procédé de modélisation de décision.
- 16. Procédé selon la revendication 1, dans lequel le premier processus d’identification de caractères fournit des positions de premiers candidats caractères et comprend en outre une étape de détermination de la liste de points de segmentation des premiers candidats caractères à partir des positions des premiers candidats caractères.
- 17. Procédé d’identification de caractères dans une image numérique, procédé comprenant les étapes consistant à : a) appliquer un premier procédé d’identification de caractères pour déterminer des premiers candidats caractères et des premiers points de segmentation correspondant aux premiers candidats caractères, b) générer un premier graphe sur la base des premiers candidats caractères et des premiers points de segmentation, dans lequel les premiers points de segmentation sont représentés par des sommets et les premiers candidats caractères par des bords, c) appliquer un second procédé d’identification de caractères sur au moins une partie de l’image numérique pour générer au moins un second candidat caractère, d) mettre à jour le graphe par addition du au moins un second candidat caractère au premier graphe et e) sélectionner dans le graphe mis à jour des candidats caractères comme caractères de l’image numérique.
- 18. Procédé selon la revendication 17, dans lequel le second procédé d’identification de caractères génère au moins un second point de segmentation et dans lequel le au moins un second point de segmentation est ajouté au graphe à l’étape d).
- 19. Procédé selon la revendication 18, dans lequel le premier procédé d’identification de caractères fournit des premiers paramètres de vraisemblance fournissant une vraisemblance que les premiers candidats caractères sont corrects, le second procédé d’identification de caractères fournit des seconds paramètres de vraisemblance fournissant une vraisemblance que le au moins un second candidat caractère est correct, et le procédé comprend en outre les étapes consistant à : changer l’échelle des premiers paramètres de vraisemblance et/ou des seconds paramètres de vraisemblance pour les rendre comparables l’un à l’autre, ajouter les premiers paramètres de vraisemblance dans le premier graphe et ajouter les seconds paramètres de vraisemblance dans le graphe mis à jour.
- 20. Procédé selon la revendication 19, comprenant en outre l’étape d’application d’un procédé de modélisation de décision sur le graphe mis à jour.
- 21. Procédé selon la revendication 20, dans lequel le procédé de modélisation de décision comprend une règle qui favorise les candidats caractères qui ont le premier paramètre de vraisemblance et les seconds paramètres de vraisemblance répondant à un troisième critère prédéterminé.
- 22. Procédé selon la revendication 21, dans lequel le premier procédé d’identification de caractères fournit des candidats caractères pour des caractères d’un premier type, dans lequel le second procédé d’identification de caractères fournit des candidats caractères pour des caractères d’un second type et dans lequel le procédé de modélisation de décision comprend une règle qui favorise les candidats caractères correspondant au premier type de caractères si ces candidats caractères ont été déterminés par le premier procédé d’identification de caractères et favorise les candidats caractères correspondant au second type de caractères si ces candidats caractères ont été déterminés par le second procédé d’identification de caractères.
- 23. Procédé selon la revendication 17, dans lequel le second procédé d’identification de caractères utilise comme entrée, à l’étape c), les premiers points de segmentation provenant du premier procédé d’identification de caractères.
- 24. Support non transitoire lisible sur ordinateur stockant un programme amenant un ordinateur à exécuter un procédé pour identifier des caractères dans une image numérique, le procédé comprenant les étapes consistant à : a) appliquer un premier procédé d’identification de caractères pour déterminer des premiers candidats caractères et une liste de points de segmentation des premiers candidats caractères, b) générer une liste de largeurs de caractères correspondant à un point de segmentation de la liste des points de segmentation, c) déterminer une partie de l’image numérique correspondant au point de segmentation fourni par la position d’un premier candidat caractère initial et à une largeur de caractère provenant de la liste de largeurs de caractères, d) appliquer un procédé de classification de caractères sur la partie de l’image numérique pour obtenir une hypothèse ID d’un caractère éventuellement présent dans la partie de l’image numérique et un paramètre de vraisemblance qui se rapporte à la vraisemblance que l’hypothèse ID est correcte et e) sélectionner l’hypothèse ID comme caractère dans l’image numérique si le paramètre de vraisemblance répond à un premier critère prédéterminé.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/884,361 US9836646B2 (en) | 2015-10-15 | 2015-10-15 | Method for identifying a character in a digital image |
US14884361 | 2015-10-15 |
Publications (3)
Publication Number | Publication Date |
---|---|
BE1024194A1 BE1024194A1 (fr) | 2017-12-06 |
BE1024194B1 true BE1024194B1 (fr) | 2017-12-12 |
BE1024194A9 BE1024194A9 (fr) | 2017-12-19 |
Family
ID=57136902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BE20165773A BE1024194A9 (fr) | 2015-10-15 | 2016-10-14 | Procédé d'indentification d'un caractère dans une image numérique |
Country Status (3)
Country | Link |
---|---|
US (1) | US9836646B2 (fr) |
BE (1) | BE1024194A9 (fr) |
WO (1) | WO2017064272A2 (fr) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10191986B2 (en) | 2014-08-11 | 2019-01-29 | Microsoft Technology Licensing, Llc | Web resource compatibility with web applications |
US9805483B2 (en) * | 2014-08-21 | 2017-10-31 | Microsoft Technology Licensing, Llc | Enhanced recognition of charted data |
US9524429B2 (en) | 2014-08-21 | 2016-12-20 | Microsoft Technology Licensing, Llc | Enhanced interpretation of character arrangements |
US9397723B2 (en) | 2014-08-26 | 2016-07-19 | Microsoft Technology Licensing, Llc | Spread spectrum wireless over non-contiguous channels |
CN108805128B (zh) * | 2017-05-05 | 2023-11-07 | 京东科技控股股份有限公司 | 一种字符分割方法和装置 |
US10878269B2 (en) | 2018-06-19 | 2020-12-29 | Sap Se | Data extraction using neural networks |
US10824811B2 (en) * | 2018-08-01 | 2020-11-03 | Sap Se | Machine learning data extraction algorithms |
US10803242B2 (en) * | 2018-10-26 | 2020-10-13 | International Business Machines Corporation | Correction of misspellings in QA system |
US11562590B2 (en) * | 2020-05-21 | 2023-01-24 | Sap Se | Real-time data item prediction |
CN112085019A (zh) * | 2020-08-31 | 2020-12-15 | 深圳思谋信息科技有限公司 | 字符识别模型生成系统、方法、装置和计算机设备 |
CN113971808A (zh) * | 2021-10-26 | 2022-01-25 | 福建云知声智能科技有限公司 | 一种流式文字识别方法、装置、电子设备和存储介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US551978A (en) | 1895-12-24 | Bath-brush apparatus | ||
US5519786A (en) * | 1994-08-09 | 1996-05-21 | Trw Inc. | Method and apparatus for implementing a weighted voting scheme for multiple optical character recognition systems |
US6504540B1 (en) * | 1995-06-19 | 2003-01-07 | Canon Kabushiki Kaisha | Method and apparatus for altering one or more attributes of one or more blocks of image data in a document |
AU2549297A (en) * | 1996-03-28 | 1997-10-17 | Board Of Trustees Of The University Of Illinois, The | Materials and methods for making improved echogenic liposome compositions |
US6473517B1 (en) * | 1999-09-15 | 2002-10-29 | Siemens Corporate Research, Inc. | Character segmentation method for vehicle license plate recognition |
WO2002037933A2 (fr) | 2000-11-08 | 2002-05-16 | New York University | Systeme, procede et configuration d'un logiciel permettant de reconnaitre des caracteres manuscrits |
WO2002088908A2 (fr) * | 2001-05-02 | 2002-11-07 | Bitstream Inc. | Procedes, systemes et programmation pour l'elaboration et la presentation d'images de caracteres en mode point a optimisation de sous-pixel reposant sur un equilibrage des couleurs non lineaire |
FI120165B (fi) * | 2004-12-29 | 2009-07-15 | Seven Networks Internat Oy | Tietokannan synkronointi matkaviestinverkon kautta |
US8644611B2 (en) | 2009-06-03 | 2014-02-04 | Raytheon Bbn Technologies Corp. | Segmental rescoring in text recognition |
JP5591578B2 (ja) * | 2010-04-19 | 2014-09-17 | 日本電産サンキョー株式会社 | 文字列認識装置および文字列認識方法 |
US9152871B2 (en) | 2013-09-02 | 2015-10-06 | Qualcomm Incorporated | Multiple hypothesis testing for word detection |
US9183636B1 (en) | 2014-04-16 | 2015-11-10 | I.R.I.S. | Line segmentation method |
-
2015
- 2015-10-15 US US14/884,361 patent/US9836646B2/en active Active
-
2016
- 2016-10-14 BE BE20165773A patent/BE1024194A9/fr active IP Right Grant
- 2016-10-14 WO PCT/EP2016/074752 patent/WO2017064272A2/fr active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2017064272A3 (fr) | 2017-05-26 |
US9836646B2 (en) | 2017-12-05 |
US20170109573A1 (en) | 2017-04-20 |
WO2017064272A2 (fr) | 2017-04-20 |
BE1024194A1 (fr) | 2017-12-06 |
BE1024194A9 (fr) | 2017-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
BE1024194B1 (fr) | Procédé d'indentification d'un caractère dans une image numérique | |
BE1022562B1 (fr) | Procédé de reconnaissance optique de caractères | |
EP3660733B1 (fr) | Procédé et système d'extraction d'informations à partir d'images de documents à l'aide d'une interface de conversation et d'une interrogation de base de données | |
EP1836651B1 (fr) | Procédé de recherche, reconnaissance et localisation d'un terme dans l'encre, dispositif, programme d'ordinateur correspondants | |
CN109948615B (zh) | 多语言文本检测识别系统 | |
BE1025503B1 (fr) | Procede de segmentation de ligne | |
Bluche et al. | The a2ia arabic handwritten text recognition system at the open hart2013 evaluation | |
FR2982388A1 (fr) | Systeme et procede pour la generation productive de mots composes dans une traduction automatique statistique | |
KR20200055760A (ko) | 이미지 컨텐츠 인식 방법 및 장치 | |
CN113254654B (zh) | 模型训练、文本识别方法、装置、设备和介质 | |
BE1026039B1 (fr) | Procede de traitement d'image et systeme de traitement d'image | |
BE1026159B1 (fr) | Système de traitement d’image et procede de traitement d’image | |
BE1025006B1 (fr) | Procède mis en oeuvre par ordinateur et système de reconnaissance de caractère optique | |
BE1025504A1 (fr) | Système de reconnaissance de formes | |
Bosch et al. | Semiautomatic text baseline detection in large historical handwritten documents | |
BE1025502A1 (fr) | Système et procédé de reconnaissance de formes utilisant des fonctions de gabor | |
BE1025134B1 (fr) | Procédé d'identification d'un caractère dans une image numérique | |
FR2880708A1 (fr) | Procede de recherche dans l'encre par conversion dynamique de requete. | |
CN117710763B (zh) | 图像噪声识别模型训练方法、图像噪声识别方法及装置 | |
CN117194818B (zh) | 基于视频的图文网页生成方法及装置 | |
CN117809314B (zh) | 文字识别方法、装置、电子设备和存储介质 | |
US20240355133A1 (en) | Text recognizer using contour segmentation | |
BE1020588A5 (fr) | Procede de reconnaissance de formes, produit de programme d'ordinateur et terminal mobile. | |
WO2024052557A1 (fr) | Methode pour le traitement automatise d'un document pour son utilisation par des personnes en situation de handicap | |
CN117058692A (zh) | 基于人工智能的字符识别纠错方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FG | Patent granted |
Effective date: 20171212 |