FR2963695A1 - Apprentissage de poids de polices pour des echantillons tapes dans le reperage de mots-cles manuscrits - Google Patents
Apprentissage de poids de polices pour des echantillons tapes dans le reperage de mots-cles manuscrits Download PDFInfo
- Publication number
- FR2963695A1 FR2963695A1 FR1157189A FR1157189A FR2963695A1 FR 2963695 A1 FR2963695 A1 FR 2963695A1 FR 1157189 A FR1157189 A FR 1157189A FR 1157189 A FR1157189 A FR 1157189A FR 2963695 A1 FR2963695 A1 FR 2963695A1
- Authority
- FR
- France
- Prior art keywords
- word
- font
- keyword
- images
- handwritten
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
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/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/1914—Determining representative reference patterns, e.g. averaging or distorting patterns; Generating dictionaries, e.g. user dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/28—Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
-
- 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/22—Character recognition characterised by the type of writing
- G06V30/226—Character recognition characterised by the type of writing of cursive writing
- G06V30/2268—Character recognition characterised by the type of writing of cursive writing using stroke segmentation
- G06V30/2276—Character recognition characterised by the type of writing of cursive writing using stroke segmentation with probabilistic networks, e.g. hidden Markov models
-
- 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/242—Division of the character sequences into groups prior to recognition; Selection of dictionaries
- G06V30/244—Division of the character sequences into groups prior to recognition; Selection of dictionaries using graphical properties, e.g. alphabet type or font
- G06V30/245—Font recognition
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)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Character Discrimination (AREA)
Abstract
Un système et un procédé de détection de mots sont décrits. Le procédé comprend la réception d'un mot-clé (S106) et, pour chacune des polices d'un jeu de polices typographiques, la synthèse d'une image de mot basée sur le mot-clé (S108). Un modèle de mot-clé est exercé (S110) à partir des images de mots synthétisés et des poids respectifs de chaque police du jeu de polices typographiques. En utilisant le modèle de mot-clé exercé, des images de mots manuscrits qui correspondent au mot-clé sont identifiées (S114) parmi une collection d'images de mots manuscrits. Les poids permettent de prendre en compte un vaste jeu de polices, la pondération indiquant l'importance relative de chaque police pour la modélisation d'un ensemble d'images de mots manuscrits.
Description
Apprentissage de poids de polices pour des échantillons tapés dans le repérage de mots-clés manuscrits L'exemple de mode de réalisation a trait de manière générale à la reconnaissance de mots manuscrits dans des images de documents sans devoir détecter ou identifier les caractères individuels qui composent les mots ou le texte intégral. Il a trait en particulier à un système et à un procédé pour pondérer des polices afin d'exercer un modèle de probabilité à utiliser des échantillons d'images de mots d'exercice synthétisés, et peut être appliqué dans la classification, le traitement, l'analyse, le tri, la détection et le repérage de mots manuscrits de documents, ainsi que dans les domaines connexes. Le texte des documents codés électroniquement se trouve généralement sous deux formats différents, soit sous format bitmap et sous format à codage de caractères. Dans le premier cas, le texte est défini par un réseau de pixels qui correspond à l'apparence visuelle de la page. Dans une image binaire, un pixel donné est soit allumé ou ON (généralement noir), soit éteint ou OFF (généralement blanc). Un pixel peut être représenté par un bit dans une structure de données supérieure. Dans une image en niveau de gris, chaque pixel peut présenter une ou plusieurs valeurs de gris allant du blanc au noir. Un pixel à N bits peut représenter 2" niveaux de gris. Dans une image bitmap, chaque pixel de l'image a une même importance, et pratiquement tout type d'image (texte, graphique en lignes, image) peut être représenté de cette façon. Dans un format à codage de caractères, le texte est représenté par une chaîne de codes de caractères, les plus courants étant les codes ASCII. Un caractère est généralement représenté par 8 bits. Dans de nombreuses applications, il est souhaitable d'extraire du texte dans un document (ou une partie de celui-ci) qui se trouve en format bitmap. Un document peut par exemple uniquement être disponible en version imprimée. Dans le cas d'une salle de courrier par exemple, des documents tels que des lettres arrivent souvent en format non structuré et sont classifiés dans un certain nombre de catégories prédéfinies pour faciliter leur traitement. La classification manuelle demande beaucoup de temps et exige souvent qu'un réviseur lise une partie suffisante du document pour déterminer comment il doit être classé. Des procédés ont été développés pour automatiser ce traitement. Dans le cas de texte imprimé par exemple, la solution standard comprend une reconnaissance optique de caractères (soit Optical Character Recognition, ou OCR) pour chaque lettre, et l'extraction d'une représentation du document, par ex. sous forme d'un sac de mots (soit Bag of Words, ou BoW) dans lequel un histogramme des fréquences de mot est généré. La lettre peut ensuite être classée à partir de l'histogramme BoW. Toutefois, une partie significative du flux de lettres dans une salle de courrier est généralement constituée de lettres manuscrites. Une solution pour traiter du texte manuscrit consiste à remplacer le moteur OCR par un moteur de reconnaissance d'écriture manuscrite (soit Handwriting Recognition, ou HWR). Cependant, cette approche présente au moins deux inconvénients majeurs : (i) le taux d'erreur des moteurs HWR est beaucoup plus élevé que celui des moteurs OCR, et (ii) le temps de traitement, c'est-à-dire le temps nécessaire pour obtenir la transcription complète d'une page, est également très important (plusieurs secondes par page). Lorsqu'un nombre important de documents doit être traité, comme dans le cas d'une salle de courrier, cette solution n'est pas acceptable pour les lettres manuscrites. Des procédés de « détection de mots » ont été développés pour résoudre le problème de la classification de documents manuscrits. De tels procédés fonctionnent par détection d'un mot-clé spécifique dans un document manuscrit sans devoir réaliser une transcription complète. Une organisation qui travaille avec des contrats peut par exemple vouloir identifier les documents qui comprennent des mots-clés tels que « résiliation » ou « annulation » pour que ces documents soient traités rapidement. D'autres organisations peuvent vouloir caractériser les documents selon leur contenu pour qu'ils soient traités par des équipes correspondantes au sein de l'organisation. Dans les procédés de détection de mots actuels, des échantillons manuscrits du mot-clé sont extraits manuellement d'un échantillon de documents et utilisés pour exercer un modèle, qui est ensuite capable d'identifier le mot-clé avec une précision relativement élevée lorsqu'il apparaît dans le texte du document. Un système basé sur des modèles de Markov caché (soit Hidden Markov Models, ou HMM), représente des mots sous forme d'une concaténation de modèles HMM pour des caractères à état unique. Ce système applique une segmentation des caractères avant d'effectuer l'extraction de caractéristique. Un autre système utilise des HMM à états multiples pour modéliser des caractères sans nécessiter une segmentation des mots en caractères. La sélection manuelle d'échantillons manuscrits peut exiger beaucoup de temps. Il a par conséquent été proposé d'exercer des modèles statistiques à détecter des mots-clés dans des documents manuscrits en utilisant comme échantillons d'apprentissage des images de mots synthétisés automatiquement à partir de polices numériques. Il existe cependant de nombreuses polices numériques et la sélection d'un jeu approprié de polices d'exercice pour un modèle de mot-clé peut prendre du temps. Considérons par exemple qu'il existe une liste prédéfinie de K mots-clés et qu'un ensemble de documents manuscrits est étiqueté à l'aide de ces mots-clés, de telle façon qu'il est possible de mesurer la précision de récupération (par ex. en termes d'exactitude et de rappel) en fonction des K mots-clés. Considérons qu'un jeu de F polices est disponible, dans lequel le meilleur jeu de polices doit être identifié en fonction de la précision du résultat. La sélection de police peut impliquer des essais de précision avec des modèles exercés sur différentes combinaisons de polices. Des modèles peuvent par exemple être exercés en combinant les n meilleures polices (les polices qui, si elles sont utilisées individuellement, offrent les meilleurs résultats), où n = 1, 2, 3... F. La précision de récupération est ensuite déterminée pour chaque modèle et chaque mot-clé. Un score moyen peut être calculé pour tous les mots-clés. La combinaison de polices qui produit la moyenne de précision de récupération la plus élevée est alors sélectionnée. Un tel calcul heuristique exige une puissance de traitement importante. Si par exemple K= 10 mots-clés et F= 25 polices pour un ensemble de documents relativement restreint de 500 pages, la sélection de la combinaison de polices optimale peut prendre de l'ordre d'un jour de calcul (sur une machine à simple processeur de 2,8 GHz AMD OpteronTM). Ce procédé exige en outre un étiquetage manuel de l'ensemble de documents (ou d'au moins un sous-ensemble de celui-ci) à l'aide du jeu de K mots-clés prédéfinis. Ce traitement est par conséquent d'autant plus lent. En outre, les polices sélectionnées par ce procédé peuvent être influencées par les mots-clés choisis. Si un utilisateur souhaite donc chercher différents mots- clés, le procédé peut devoir être répété avec de nouveaux mots-clés. Bien que le nombre de mots-clés K puisse être augmenté, le coût de calcul et la quantité d'étiquetage manuel exigés augmentent également. Le jeu approprié de polices peut en outre varier en fonction du type des documents manuscrits auxquels le système d'apprentissage est appliqué. Les styles d'écriture varient par exemple d'un pays à l'autre, ainsi qu'en fonction du groupe d'âge de l'auteur, de sa profession (par ex. médecin ou instituteur), etc.
L'exemple de mode de réalisation procure entre autres un procédé pour sélectionner des poids pour un jeu de polices numériques qui résout les problèmes précités.
Un aspect du procédé de l'invention comprend : la réception d'un mot-clé ; pour chaque police d'un jeu de polices typographiques, la synthèse d'une image de mot à partir du mot-clé ; l'exercice d'un modèle de mot-clé à partir des images de mots synthétisés et d'un poids de police respectif pour chaque police du jeu de polices typographiques ; l'utilisation du modèle de mot-clé exercé, l'identification d'au moins une image de mot manuscrit qui correspond au mot-clé dans une collection d'images de mots manuscrits ; et au moins la synthèse, l'exercice ou l'identification étant effectué(s) par un processeur d'ordinateur.
Un autre mode de réalisation du procédé comprend en outre : la sortie d'au moins l'une des images de mots manuscrits correspondantes identifiées. Dans un autre mode de réalisation, l'exercice du modèle de mot-clé est effectué à l'aide de descripteurs extraits des images de mots synthétisés et des poids de police.
Dans un autre mode de réalisation, les poids de police sont appris en utilisant un 20 jeu de descripteurs d'images de mots d'exercice manuscrits, chaque descripteur étant basé sur des caractéristiques extraites d'une image de mot d'exercice manuscrit respective.
Dans un autre mode de réalisation, les poids de police sont appris en maximisant 25 une similarité entre une distribution pondérée de descripteurs d'images de mots d'exercice synthétisés et une distribution de descripteurs d'images de mots d'exercice manuscrits, chaque descripteur d'images de mots d'exercice manuscrits étant basé sur des caractéristiques extraites d'une image de mot synthétisé respective.
30 Un autre aspect de l'invention procure un système de traitement mis en oeuvre par un ordinateur, comprenant : un synthétiseur qui synthétise une image de mot dans chaque police typographique d'un jeu de polices sur base d'un mot-clé reçu ; un modèle de mot-clé enregistré en mémoire, qui est exercé avec des 35 descripteurs extraits des images de mots synthétisés et d'un jeu de poids de polices générés ;15 un composant de notation qui attribue un score à des images de mots manuscrits d'une collection par rapport au modèle de mot-clé et, en fonction des scores, identifie les éventuelles images de mots manuscrits ;et un processeur d'ordinateur pour mettre en oeuvre le générateur de poids de police, le synthétiseur et le composant de notation.
Dans un autre mode de réalisation, le système de traitement comprend en outre au moins l'un parmi : un segmenteur de document qui traite au moins une image de document entrée pour identifier les images de mots manuscrits ; un générateur de poids de police pour générer un poids respectif pour chaque police typographique du jeu ; et un extracteur de caractéristiques qui extrait des caractéristiques de niveau inférieur des images de mots synthétisés et des images de mots manuscrits, et qui génère un descripteur respectif à partir des caractéristiques extraites.
Un autre mode de réalisation du modèle de mot-clé comprend un modèle de Markov caché semi-continu qui comprend un modèle de d'arrière-plan exercé avec des images de mots manuscrits d'un échantillon avant la réception d'un mot-clé. Dans un autre mode de réalisation, le système de traitement comprend en outre une sortie qui fournit au moins l'une des images de mots manuscrits identifiées et un des documents dont elles ont été extraites.
25 Selon un autre aspect de l'invention, un procédé informatique de détection de mots comprend : la réception d'un mot-clé à chercher dans une collection d'images de mots manuscrits extraits à partir d'un ou plusieurs documents ; pour chaque police d'un jeu, la génération automatique d'une image de mot 30 synthétisé en fonction du mot-clé ; la modélisation du mot-clé avec un modèle de Markov caché semi-continu qui prend en compte des poids attribués à chacune des polices, les poids de police étant appris en maximisant une similarité entre une distribution pondérée de descripteurs d'images de mots d'exercice synthétisés et une distribution de 35 descripteurs d'images de mots d'exercice manuscrits, chaque descripteur étant basé sur des caractéristiques extraites d'une image de mot d'exercice synthétisé ou manuscrit respective ;20 à l'aide du modèle, l'identification d'images de mot correspondantes dans la collection d'images de mots manuscrits ; et la sortie d'information sur base des images de mot correspondantes identifiées.
La présente invention décrit également des exemples de modes de réalisation relatifs au procédé décrit ci-dessus.
Dans un exemple de mode de réalisation du procédé, les poids de police sont appris en utilisant un jeu de descripteurs d'image de mot d'exercice manuscrit, chaque descripteur étant basé sur des caractéristiques extraites d'une image de mot d'exercice manuscrit respective.
Dans un autre exemple de mode de réalisation, les poids de police sont appris en maximisant une similarité entre une distribution pondérée de descripteurs d'images de mots d'exercice synthétisés et une distribution de descripteurs d'images de mots d'exercice manuscrits, chaque descripteur d'image de mot d'exercice synthétisé étant basé sur des caractéristiques extraites d'une image de mot synthétisé respective.
Dans un autre exemple de mode de réalisation, les images de mots d'exercice manuscrits sont prélevées dans la collection d'images de mots manuscrits.
Dans un autre exemple de mode de réalisation, le procédé comprend en outre l'apprentissage de poids de police, y compris : l'apprentissage d'un premier modèle de probabilité à partir des descripteurs extraits des images de mots d'exercice manuscrits ; pour chacune des polices, l'apprentissage d'un modèle de probabilité de police respectif à partir de descripteurs extraits d'un jeu d'images de mots d'exercice synthétisés dans la police respective ; et le calcul de poids pour chacune des polices pour maximiser une similarité entre le premier modèle de probabilité et un modèle de mélange des modèles de probabilité de police.
Dans un autre exemple de mode de réalisation, les descripteurs comprennent des histogrammes à gradients orientés extraits de morceaux de l'image de mot respective. Dans un autre exemple de mode de réalisation, le premier modèle de probabilité et les modèles de probabilité de police sont des modèles de mélange gaussiens.35 Dans un autre exemple de mode de réalisation, le calcul des poids est effectué sous la contrainte que le total de tous les poids doit correspondre à une valeur donnée.
Dans un autre exemple de mode de réalisation, la maximisation de la similarité est basée sur une mesure de divergence de Kullback-Leibler.
Dans un autre exemple de mode de réalisation, le procédé comprend en outre l'apprentissage de poids de police, y compris : pour chacune des polices, l'apprentissage d'un modèle de probabilité de police respectif à partir de descripteurs extraits d'un jeu d'images de mots d'exercice synthétisés dans la police respective ; la notation des descripteurs d'image de mot manuscrit selon chacun des modèles de probabilité de police et pour chacun des descripteurs d'image de mot manuscrit, en attribuant le descripteur d'image de mot d'exercice manuscrit au modèle de probabilité de police pour lequel le score est le plus élevé ; et la génération de poids de police en fonction d'un certain nombre de descripteurs d'image de mot d'exercice manuscrit attribués à chacun des modèles de probabilité de police.
Dans un autre exemple de mode de réalisation, les poids de police sont générés avant la réception du mot-clé.
Dans un autre exemple de mode de réalisation, le modèle de mot-clé comprend 25 un modèle de Markov caché semi-continu.
Dans un autre exemple de mode de réalisation, l'apprentissage du modèle de mot-clé comprend l'apprentissage de paramètres du modèle de mot-clé avec un critère MLE pondéré. 30 Dans un autre exemple de mode de réalisation, le procédé comprend en outre : l'extraction de la collection d'images de mots manuscrits dans au moins un document.
35 Dans un autre exemple de mode de réalisation, l'extraction comprend la numérisation d'au moins un document manuscrit et la segmentation du document manuscrit numérisé.
Dans un autre exemple de mode de réalisation, la génération de l'au moins une image de mot synthétisé à partir du mot-clé comprend la génération d'une image binaire d'une hauteur en pixel fixée, dans laquelle les images de mots manuscrits de la collection sont normalisées à la même hauteur fixée en pixels et sont des images binaires.
Dans un autre exemple de mode de réalisation, l'exercice du modèle de mot-clé comprend l'exercice du modèle de mot-clé avec des descripteurs extraits des images de mots synthétisés, les descripteurs étant basés sur des caractéristiques qui sont extraites de morceaux de l'image de mot synthétisé en traduisant l'image par étapes à l'aide d'une fenêtre de hauteur et largeur fixées, et l'extraction d'un morceau à chaque étape.
Dans un autre exemple de mode de réalisation, le procédé comprend en outre : la mise en oeuvre d'une procédure informatique pour au moins un document dans I equel une image de mot manuscrit correspondante a été extraite.
Dans un autre exemple de mode de réalisation, la procédure informatique comprend au moins l'une des étapes parmi : l'affichage d'au moins la portion du document dont l'image de mot correspondante a été extraite ; et le traitement ultérieur d'un document qui contient une image de mot correspondante.
Selon un autre aspect, la présente invention procure des instructions de codage d'un logiciel non volatile qui, lorsqu'il est exécuté sur un ordinateur, commande à celui-ci de mettre en oeuvre le procédé selon la revendication 1.
Selon un autre aspect encore, la présente invention décrit également un système de procédure informatique comprenant le stockage d'instructions dans une mémoire non volatile pour mettre en oeuvre le procédé selon la revendication 1 et un processeur en communication avec la mémoire pour exécuter les instructions.
L'exemple de mode de réalisation procure entre autres un procédé pour sélectionner des poids pour un jeu de polices numériques qui résout les problèmes précités. Conformément à un aspect de l'exemple de mode de réalisation, un procédé comprend la réception d'un mot-clé et, pour chaque police d'un jeu de polices typographiques, une image de mot est synthétisée à partir du mot-clé. Un modèle de mot-clé est exercé à partir des images de mots synthétisés et d'un poids de police respectif. En utilisant le modèle de mot-clé exercé, des images de mots manuscrits qui correspondent au mot-clé dans une collection d'images de mots manuscrits sont identifiées. Une ou plusieurs des étapes du procédé peuvent être effectuées par un processeur d'ordinateur. Dans un autre aspect, un système de traitement mis en oeuvre par un ordinateur comprend un synthétiseur qui synthétise une image de mot dans chaque police typographique d'un jeu de polices sur base d'un mot-clé reçu, un modèle de mot-clé, enregistré en mémoire, qui est exercé avec des descripteurs extraits des images de mots synthétisés et d'un jeu de poids de polices générés, un composant de notation qui attribue un score à des images de mots manuscrits d'une collection par rapport au modèle de mot-clé et, en fonction des scores, identifie toute image de mot manuscrit correspondante éventuelle. Un processeur d'ordinateur peut mettre en oeuvre un ou plusieurs parmi le générateur de poids de police, le synthétiseur et le composant de notation. Dans un autre aspect, un procédé informatique de détection de mots comprend la réception d'un mot-clé à chercher dans une collection d'images de mots manuscrits extraits à partir d'un ou plusieurs documents. Pour chaque police d'un jeu, une image de mot synthétisé est générée automatiquement en fonction du mot-clé. Le mot-clé est modelé avec un modèle de Markov caché semi-continu qui prend en compte des poids ,attribués à chacune des polices, les poids de police étant appris en maximisant une similarité entre une distribution pondérée de descripteurs d'images de mots d'exercice synthétisés et une distribution de descripteurs d'images de mots d'exercice manuscrits, chaque descripteur étant basé sur des caractéristiques extraites d'une image de mot d'exercice synthétisé ou manuscrit respective. À l'aide du modèle, les images de mot correspondantes sont identifiées dans la collection d'images de mots manuscrits. L'information concernant les images de mot correspondantes identifiées est fournie en sortie.
La FIGURE 1 est un organigramme qui illustre un exemple de procédé pour exercer un modèle de mot-clé en utilisant des poids pour un jeu de polices typographiques et pour utiliser le modèle de mot-clé exercé afin d'identifier, dans des images de document, des images de mots manuscrits qui correspondent à un mot-clé d'entrée ; La FIGURE 2 est un schéma de principe fonctionnel d'un appareil informatique qui héberge un système pour exercer un modèle de mot-clé en utilisant des poids pour un jeu de polices typographiques et pour utiliser le modèle de mot-clé exercé afin d'identifier des images de mots manuscrits qui correspondent à un mot-clé d'entrée ; La FIGURE 3 est un organigramme qui illustre un procédé pour générer des poids de police dans un mode de réalisation du procédé de la FIGURE 1 ; La FIGURE 4 illustre graphiquement les étapes de l'exemple de procédé de la FIGURE 1 ; La FIGURE 5 illustre un exemple de liste de poids de polices pour un jeu de polices ; et La FIGURE 6 illustre l'extraction de caractéristiques d'images de mots synthétisés et manuscrits.
Des aspects de l'exemple de mode de réalisation ont trait à un système et à un procédé pour attribuer des poids à un jeu de polices typographiques qui peuvent ensuite être utilisés dans un procédé de détection de mots tel que ceux décrits dans la demande U.S. 2010/0067793. Plutôt que de sélectionner un jeu des meilleures polices, l'exemple de procédé apprend un poids pour chaque police d'un jeu de polices. Chaque poids indique si la police correspondante est représentative d'un ensemble de documents manuscrits considéré. Dans l'exemple de mode de réalisation, ces poids sont appris en maximisant la similarité entre une distribution pondérée d'images de mots synthétisés à l'aide d'une police donnée, telle que représentée par des caractéristiques extraites de chaque image de mot, et une distribution d'images de mots manuscrits, telle que représentée par leurs caractéristiques correspondantes. Ces poids peuvent ensuite être utilisés pour pondérer des descripteurs, basés sur une caractéristique, d'images de mot d'exercice générées dans les différentes polices lors de l'apprentissage d'un modèle de mot-clé particulier. Chacune des polices synthétisées comprend un jeu de caractères (lettres, nombres, ponctuation, etc.) dans un style prédéterminé. Chaque caractère dans la police synthétisée peut être stocké dans une mémoire d'ordinateur sous forme d'un agencement de pixels (pour une taille de police donnée). Les poids attribués aux polices synthétisées dans le jeu de polices mettent en évidence l'efficacité relative de chaque police en simulant des mots manuscrits dans des documents, et donc l'utilité relative de la police pour la génération d'un modèle à utiliser par un dispositif de catégorisation pour détecter un mot-clé sélectionné dans des documents manuscrits à partir d'un jeu d'images du mot-clé générées à l'aide des polices synthétisées.
Dans l'exemple de mode de réalisation, ces poids de polices peuvent être générés avant la sélection de mots-clés. Dans le présent contexte, un document manuscrit est un document qui, dans sa forme originale, a été rédigé à la main, en utilisant un ustensile tel qu'un stylo, un crayon, etc. Les documents manuscrits typiques comprennent des lettres, des formulaires complétés, des factures, des reçus, des combinaisons ou parties de ceux-ci, etc. Un document imprimé est un document qui, dans sa forme originale, a été préparé en utilisant des polices générées à partir par exemple d'un clavier d'ordinateur, d'un pavé numérique, d'une machine à écrire, etc., ou générées automatiquement par un ordinateur à partir d'information stockée. Comme on le verra, les documents aussi bien manuscrits qu'imprimés peuvent être scannés ou convertis d'une autre façon sous forme numérique, par ex. sous format bitmap, pour être traités.
Un système et un procédé sont décrits sous différents aspects pour l'apprentissage de poids de polices qui peuvent être utilisés dans la recherche d'un mot-clé parmi une collection d'images de documents manuscrits. Les mots-clés peuvent être sélectionnés pour permettre la catégorisation du document. Dans le présent contexte, un mot-clé peut être toute chaîne de requête qui comprend un jeu de caractères dans un ordre sélectionné, telle qu'un mot, une courte phrase, des chiffres, etc., qui doit être cherchée et identifiée, si elle est présente, dans une image du document. Les mots-clés à identifier sont généralement des mots connus dans une langue naturelle particulière, telle que l'anglais ou le français, mais cela n'est pas obligatoire. Un mot-clé peut être par exemple le nom d'une personne, d'une société ou d'un produit, un mot vraisemblablement présent dans des documents d'intérêt, etc. Les types des chaînes de requête recherchées sont limités uniquement par le jeu de caractères qui peut être utilisé pour entrer une chaîne de requête imprimée à chercher. Sur un clavier alphanumérique par exemple, la chaîne de requête peut être générée à partir d'un jeu de caractères comprenant les 26 lettres de l'alphabet, aussi bien en majuscules qu'en minuscules, les chiffres de 0 à 9, ainsi que d'autres symboles tels que les signes de ponctuation et les symboles $, E et &. Tous les caractères du jeu de caractères peuvent être générés automatiquement dans une pluralité de polices différentes. En considérant par exemple un ensemble de documents manuscrits, un objectif de l'exemple de procédé peut être d'extraire toutes les occurrences d'un mot-clé particulier. Les documents de l'ensemble de documents sont présegmentés en un jeu d'images de mot (ou d'hypothèses d'image de mot). Le procédé peut classer toutes ces images de mot selon leur vraisemblance de contenir le mot-clé spécifié. L'exemple de mode de réalisation est discuté dans le contexte d'images binaires. Dans ce contexte, le terme « image » se réfère à la représentation d'une structure de données bidimensionnelle composée de pixels. Une image binaire est une image où un pixel donné est soit « ON » (actif), soit « OFF » (inactif). Les pixels sont généralement définis comme actifs s'ils sont noirs et inactifs s'ils sont blancs. Il convient de noter que la désignation noir = ON et blanc = OFF reflète le fait que la plupart des documents d'intérêt sont écrits en noir sur un arrière-plan blanc. Notons que l'exemple de procédé n'est pas limité à des images en noir et blanc et est approprié pour des images présentant une ou plusieurs séparations de couleur adaptées. Les images négatives peuvent au besoin être converties en images positives avant le traitement. Une image de document est généralement une image d'une page physique d'un document, bien qu'une image de document puisse contenir de multiples pages ou une partie de page seulement. Une image de document peut être générée en numérisant ou en capturant d'une manière ou d'une autre une image d'une page du document physique. Des images de mots manuscrits (ou plus précisément des « hypothèses de mots ») sont généralement des images de mots et/ou de nombres uniques (ou parfois multiples) comprenant du texte manuscrit, qui ont été extraites d'une image de document. Chaque image de mot manuscrit peut comprendre une chaîne de caractères comportant un groupe de caractères (tels que des lettres ou des nombres) qui sont groupés de manière suffisamment proche pour permettre de distinguer l'image de mot d'autres images de mot dans le document. On entend par « hypothèses de mot » que les images de mot sont dérivées d'images des documents manuscrits. Cependant, étant donné que le procédé d'extraction des images peut être entièrement automatisé, il faut noter qu'on ne peut pas garantir que chaque image extraite est effectivement une image d'un mot manuscrit, mais plutôt qu'elle est considérée comme un mot manuscrit durant le traitement. Les documents manuscrits à partir desquels les images de mots manuscrits sont obtenues sont souvent rédigés en écriture cursive, et sont générés manuellement en utilisant un stylo, un crayon ou un autre instrument d'écriture, c'est-à-dire sans utiliser un dispositif mécanique tel qu'une machine à écrire, un système de traitement de texte ou un ordinateur. On notera que certains documents manuscrits à examiner peuvent inclure des mots aussi bien manuscrits qu'en caractères d'imprimerie, qui peuvent tous deux être recherchés en même temps.
On entend ici par « image de mot d'exercice » une image de mot utilisée dans une phase d'apprentissage pour générer des poids de polices et qui peut être d'un mot « manuscrit » ou « synthétisé » ; une « image de mot-clé » désigne une image d'un mot synthétisé dans une police donnée d'un mot-clé sélectionné qui est utilisé pour la génération d'un modèle de mot-clé ; et une « image de mot manuscrit candidate », ou plus simplement une « image de mot candidate » désigne une image de mot manuscrit qui est testée avec le modèle de mot-clé. On notera que les images de mots d'exercice manuscrits et les images de mot candidates peuvent, mais ne doivent pas, être prélevées dans le même groupe d'images de mots manuscrits. Dans un mode de réalisation, au moins certaines des images de mot candidates ne se trouvent pas parmi les images de mots manuscrits d'exercice. Les images de mot-clé utilisées pour l'exercice d'un modèle de mot-clé peuvent, mais ne doivent pas, appartenir à l'ensemble d'images de mots d'exercice synthétisés, et dans un mode de réalisation, aucune des images de mot-clé n'appartient à l'ensemble d'images de mots d'exercice synthétisés. Le terme « descripteur » tel qu'utilisé ici pour une image de mot (manuscrit ou synthétisé) donnée se réfère à de l'information extraite de l'image de mot. Chaque descripteur peut être un histogramme unique ou une séquence d'histogrammes, chaque histogramme étant généré à partir de caractéristiques de bas niveau extraites d'un morceau respectif des images de mot respectives. Des exemples d'histogrammes peuvent par exemple être chacun un histogramme à gradients orientés (soit Histogram of Oriented Gradients, ou HOG), bien que d'autres caractéristiques de bas niveau, telles que des niveaux de gris, sont également considérées. Dans l'exemple de mode de réalisation, une séquence de descripteurs est extraite pour chaque image de mot. Les termes « optimisation », « maximisation », « minimisation » et similaires, tels qu'utilisés ici, doivent être interprétés généralement comme les comprendrait une personne possédant les connaissances ordinaires du métier. Ces termes ne doivent par exemple pas être interprétés comme étant limités à la valeur optimale globale absolue, au minimum global absolu, etc. La maximisation d'une fonction peut par exemple utiliser un algorithme de maximisation itérative qui finit à un critère d'arrêt avant qu'un maximum absolu soit atteint. Il est également possible que la valeur optimale ou maximale soit une valeur optimale ou maximale locale. La FIGURE 1 illustre les étapes d'un exemple de procédé automatisé pour identifier un texte manuscrit qui correspond à un mot-clé dans des images de documents manuscrits. Le procédé peut être mis en oeuvre avec un système 10 tel qu'illustré à la FIGURE 2, qui est décrit plus en détail ci-dessous. Le procédé suppose qu'une collection d'images de mots manuscrits candidates ont été extraites d'un ou plusieurs documents. Un procédé d'extraction de ces images de mot est décrit ci-dessous. Il est cependant aussi prévu que les images de mot puissent être extraites suite à l'entrée d'une requête d'utilisateur, par exemple à partir d'un ou plusieurs documents spécifiques identifiés par un utilisateur ou dont on sait qu'ils ont été écrits par le même utilisateur ou par un groupe d'utilisateurs ayant un même style d'écriture manuscrite. Le procédé commence au point S100. Au point S102, un jeu de polices générées par ordinateur est sélectionné.
Au point S104, un poids est déterminé pour chaque police dans le jeu de polices. Les poids des polices sont sélectionnés pour optimiser une similarité entre une distribution pondérée de descripteurs d'images de mots d'exercice synthétisés et une distribution de descripteurs d'images de mots d'exercice manuscrits. Le procédé de génération des poids de police est décrit plus en détail ci-dessous au regard de la FIGURE 3. Au point S106, un mot-clé sélectionné Kw à chercher dans une collection d'images de mots manuscrits candidates est entré, par exemple par un utilisateur qui dactylographie le mot-clé sur un dispositif d'entrée tel qu'un clavier. L'utilisateur peut par exemple taper le mot résiliation (mot français correspondant au mot anglais cancellation) sur un clavier 12, tel qu'illustré sur la FIGURE 4. Les mots-clés peuvent être en variante générés automatiquement, par ex. à partir de documents imprimés qui ont été attribués manuellement à des classes d'intérêt. Au point S108, étant donné un mot-clé Kw imprimé ou autrement sélectionné, de multiples images de mots-clés synthétisés 14 du mot-clé sont générées en changeant uniquement la police. Un ensemble d'images du mot-clé sélectionné générées par ordinateur 14 est en particulier rendu automatiquement en utilisant différentes polices typographiques informatiques. Tel que montré par exemple sur la FIGURE 4, le mot résiliation (correspondant au mot anglais cancellation) a été rendu dans cinq polices différentes pour rendre un ensemble d'images dans les différentes polices 14, un nombre plus ou moins important de polices pouvant être employé. Dans l'exemple de procédé, de nombreuses polices peuvent être employées, par exemple au moins dix ou vingt polices, et dans certains modes de réalisation jusqu'à environ 100 polices ou plus. Dans un mode de réalisation, des exemples additionnels qui ne reproduisent pas exactement le mot-clé peuvent être générés.
De tels échantillons « bruyants » du mot-clé peuvent inclure des fautes ou des variations d'orthographe courantes du mot-clé formées en ajoutant, en retirant ou en remplaçant une ou plusieurs lettres. En plus du mot résiliation par exemple, le mot résilliation pourrait aussi être rendu dans une pluralité de polices. Au point S110, un modèle 16 est exercé sur des descripteurs extraits des images de mot-clé 14 générées au point S108 et des poids de polices générés précédemment. Tout comme pour les images de mots d'exercice synthétisés générées au point S104, les descripteurs sont chacun générés en extrayant des caractéristiques de morceaux d'une image de mot-clé respective 14. Les descripteurs extraits sont ensuite utilisés pour exercer le modèle 16. Un modèle peut être exercé sur tous les descripteurs d'image de mot-clé, ou un modèle séparé peut être exercé pour chaque image de mot-clé. Au point S112, une collection d'images de mots manuscrits candidates 22 extraites d'un document ou d'une collection de documents reçoit un score, sur base des descripteurs des images de mot candidates respectives 22 et du modèle exercé 16.
Pour chaque image de mot candidate, une détermination du fait qu'il est probable ou non qu'elle corresponde au mot-clé entré (S114) peut être effectuée à partir des scores. Les images de mot candidates dans la collection reçoivent par exemple un score en utilisant le modèle, et un résultat en fonction du score est renvoyé, par ex . sous forme des N premières images de mot candidates ou sous forme des images de mot candidates ayant un score supérieur à un seuil donné. Ces images de mot candidates peuvent être étiquetées comme correspondances au mot-clé. Au point S116, de l'information basée sur la ou les image(s) de mots présentant une correspondance (correspondances de mot-clé) peut être sortie, par ex. vers un écran d'affichage ou une mémoire. L'information sortie peut comprendre toute information qui identifie l'image de mot-clé correspondante ou le(s) document(s) 18 qui contiennent une ou plusieurs images de mot correspondantes. L'information peut être par exemple un document et/ou une étiquette d'image de mot, un affichage de l'image de mot, ou autre. Dans un mode de réalisation, au point S118, des documents étiquetés 20, ou des parties significatives de ces documents, peuvent être affichés pour un réviseur, les images de mot correspondantes 22 étant mises en évidence tel qu'illustré par ex. sur la FIGURE 4. La personne qui révise les images de mot peut rejeter tout document 20 où l'image de mot mise en évidence 22 ne correspond pas, selon le réviseur, à la requête entrée Kw.
En variante ou en outre, une opération dans laquelle des documents étiquetés 20 sont traités différemment de documents non étiquetés peut être exécutée au point S120. Des documents étiquetés peuvent par exemple être traités en priorité. Des documents peuvent aussi être indexés dans une base de données en fonction de leurs étiquettes de mot-clé. Dans un autre mode de réalisation encore, les images de mot correspondantes 22 sont elles-mêmes utilisées comme exemples d'exercice pour l'apprentissage d'un système de détection de mots (S122), c'est-à-dire que le procédé est utilisé pour trouver des échantillons d'exercice manuscrits qui peuvent être utilisés pour la génération d'un livre-code. Le procédé s'arrête au point S124. Dans l'exemple de mode de réalisation, l'utilisateur entre une recherche pour un mot unique au point S106. Si un utilisateur entre plus qu'un mot comme mot-clé au point S104, ces mots peuvent être séparés en deux ou plusieurs mots-clés et un modèle 16 est exercé pour chaque mot-clé au point S106. Au point S112, seuls peuvent être étiquetés les documents qui contiennent des échantillons de chacun des mots-clés sélectionnés, qui peuvent aussi éventuellement être limités à ceux qui se trouvent à proximité immédiate dans le document 20. Dans un autre mode de réalisation, il peut être demandé à l'utilisateur de sélectionner un mot de la requête qui doit être cherché en premier. L'exemple de procédé peut utiliser une ou plusieurs des opérations suivantes : 1. Normalisation robuste des images de mot : des images de mot (manuscrit et synthétisé) sont normalisées en fonction de la pente, de l'inclinaison et de la hauteur de texte. 2. Extraction robuste des caractéristiques : une image de mot (manuscrit ou synthétisé) est décrite par une séquence de vecteurs de caractéristiques. Une fenêtre coulissante est déplacée de gauche à droite et un vecteur de caractéristiques est extrait de chaque fenêtre. Des histogrammes à 128 dimensions de caractéristiques à gradients orientés (HOG) sont par exemple utilisés. Ces caractéristiques se sont avérées plus robustes que les caractéristiques standard utilisées dans la littérature manuscrite. Un descripteur d'une image de mot 14, 22 peut contenir de quelques dizaines à quelques centaines de tels vecteurs HOG. 3. Modélisation statistique robuste : pour permettre un exercice du modèle de mot-clé 16 sur un nombre relativement restreint de descripteurs d'image de mot synthétisé, il est souhaitable d'utiliser un modèle statistique résistant à une correspondance superposée. Dans l'exemple de mode de réalisation, un modèle de Markov caché semi-continu (SC-HMM) est utilisé. Dans un SC-HMM, les probabilités d'émission sont des modèles de mélange gaussiens (soit Gaussian Mixture Model, ou GMM) et le même groupe de fonctions gaussiennes est utilisé pour les différents états des différents modèles de mot-clé. Ce groupe de fonctions gaussiennes est typiquement appris sans supervision à partir des descripteurs extraits d'un grand ensemble d'échantillons manuscrits d'exercice. La FIGURE 2 illustre un exemple de système de détection de mots informatisé 10 adapté pour mettre en oeuvre l'exemple de procédé illustré sur les FIGURES 1 et 3. L'exemple de système 10 réside sur un ou plusieurs dispositifs informatiques 24 et peut se présenter sous forme matérielle ou sous forme d'une combinaison matérielle et logicielle. L'exemple de système 10 comprend des instructions logicielles stockées dans une mémoire principale 26 du dispositif informatique 24 qui sont exécutées par un processeur associé 28. Un ou plusieurs documents 18 à traiter par le système 10 sont reçus à partir d'une source adaptée 30 de tels documents, telle qu'un scanneur, un appareil photo, un dispositif de stockage de données, etc. Chaque document 18 peut comporter une ou plusieurs pages numériques, chaque page comprenant une ou plusieurs images, telles que des images binaires. Dans un aspect de l'exemple de mode de réalisation, le document 18 à traiter comprend des images numérisées de documents physiques comprenant du texte qui peut être manuscrit (par ex. en écriture cursive), tel qu'un courrier. Durant le traitement, des images du document 18, ainsi que des images de mots manuscrits 22 qui en sont extraites, peuvent être stockées dans une mémoire de données 32, qui est intégrée dans le système 10 ou est autrement accessible par celui-ci. La mémoire de données 32 peut également stocker un jeu de polices générées par ordinateur 34. Ces polices peuvent en variante être accessibles à partir d'une ressource externe. Un ensemble de documents 35 comportant un ou plusieurs documents numériques, similaires ou incluant le document 18, à utiliser dans l'apprentissage des poids de polices pour le jeu de polices 34, peut être reçu d'une source de documents telle que la source 30, et peut être stocké en mémoire 32 au moins durant l'étape de génération des poids de polices S104. Le système 10 comprend plusieurs composants de traitement qui peuvent être intégrés de façon matérielle et/ou logicielle. Ces composants peuvent inclure un segmenteur de documents 36 qui traite une image de document 18 pour identifier une collection d'images de mots manuscrits 22, généralement en identifiant des groupes de pixels actifs qui sont entourés de pixels inactifs. Le segmenteur 36 fonctionne sans prendre en compte les caractères individuels qui constituent l'image de mot manuscrit. Une image de mot manuscrit 22 peut par conséquent comprendre tout objet capable d'être identifié comme une entité discrète par les techniques de segmentation particulières utilisées. Bien que les images de mot extraites soient en général des mots entiers, le système peut identifier des mots partiels ou multiples comme des images de mot si l'espacement entre les objets est supérieur ou inférieur à un seuil donné. Un générateur de poids de police 38 génère un poids pour chaque police (ou du moins certaines des polices) dans le jeu de polices 34 accessible par le système, tel que décrit ci-dessous au regard de la FIGURE 3. Le générateur de poids de police peut inclure un modèle de probabilité. Un dispositif d'entrée d'utilisateur 12 tel qu'un clavier, un pavé numérique, une boule de commande, un écran tactile, un dispositif d'entrée à reconnaissance vocale ou un autre dispositif similaire, en communication avec le système 10, permet à l'utilisateur d'entrer un mot-clé sélectionné Kw ou un jeu de deux mots-clés ou plus. Un synthétiseur d'images de mot 40 reçoit en entrée un mot-clé Kw depuis le dispositif d'entrée d'utilisateur 12 et, sur base du mot-clé, génère une pluralité d'images de mot-clé 14 en utilisant les différentes polices typographiques. Le même synthétiseur 40 peut être utilisé pour synthétiser des images de mots d'exercice synthétisés sous différentes polices pour un jeu de mots d'exercice à utiliser pour la génération des poids de polices. Un extracteur de caractéristiques 42 extrait des caractéristiques des images de mots-clés synthétisés et des images de mot d'exercice 14, à partir desquelles il génère un descripteur pour chaque image de mot synthétisé. Dans l'exemple de mode de réalisation, les caractéristiques sont extraites de morceaux générés par une fenêtre coulissante qui parcourt pas à pas l'image de mot synthétisé 14, (voir documents U.S. 2009/0060396 ; 2009/0060335 ; 2009/0180695 ; 2010/0008581 ; et 2010/0067793).
Le même extracteur de caractéristiques 42 peut être utilisé pour extraire des caractéristiques à partir d'images de mots manuscrits 22 dans la collection qui doivent être utilisés comme images de mots manuscrits d'exercice et comme images de mot candidates. En variante, le document dans la collection 35 peut être prétraité par un système séparé (non représenté) et les descripteurs de caractéristiques extraites des images de mot extraites 22 peuvent être stockés en mémoire de données 32. Un modèle statistique 16 est appris à partir des descripteurs extraits des images de mots-clés synthétisés 14 pour un mot-clé donné Kw et le jeu de poids de polices calculés w;. Les descripteurs et les poids de polices peuvent être stockés en mémoire 32. Les mêmes poids de polices w; peuvent ensuite être utilisés pour un autre mot-clé.
Un composant de notation 46 attribue un score aux images de mots manuscrits candidates 22 dans la collection en fonction du modèle d'exercice 16. Un composant d'étiquetage 48 étiquette les images de mots manuscrits candidates à score élevé et/ou les documents 18 contenant les images de mots manuscrits à score élevé qui sont déterminées comme des correspondances pour le mot-clé, par ex. avec des étiquettes XML qui peuvent également identifier les emplacements des images de mot correspondantes 22 dans le document (FIG. 4). Les documents étiquetés 20 peuvent ensuite être sortis par le système 10. Dans un mode de réalisation, les documents étiquetés 20 sont envoyés à un affichage 50 associé au dispositif de l'utilisateur, qui affiche les documents étiquetés ou des parties importantes de ceux-ci. L'affichage 50 illustré peut être un affichage à cristaux liquides (LCD), un affichage à plasma, un affichage à tube cathodique (CRT), un affichage à projection, etc. L'image de document peut être mise en évidence tel qu'illustré sur la FIGURE 4, ou autrement modifiée pour indiquer une correspondance possible avec le mot-clé identifiée par le système 10, par ex. pour une vérification par l'utilisateur en utilisant le dispositif d'entrée d'utilisateur 12. En variante, les documents étiquetés 20 peuvent être sortis automatiquement pour un traitement ultérieur, tel qu'une reconnaissance de caractères (OCR), une classification par étiquettes, etc.
Chacun des composants de traitement 36, 38, 40, 42, 46, 48 du système 10 peut être réalisé sous forme matérielle ou sous une combinaison matérielle et logicielle. Dans l'exemple de mode de réalisation, les composants de traitement 36, 38, 40, 42, 46, 48 se trouvent sous la forme d'instructions logicielles stockées dans la mémoire principale 26 du dispositif informatique 24, pour mettre en oeuvre l'exemple de procédé décrit au regard de la FIGURE 1. Les composants 36, 38, 40, 42, 46, 48 peuvent tous résider dans le dispositif informatique 24 ou par contre être accessibles par celui-ci. Bien que le système 10 soit représenté avec six composants de traitement 36, 38, 40, 42, 46, 48, il est à noter que deux ou plusieurs composants peuvent être combinés, ou qu'un composant peut être subdivisé en deux ou plusieurs composants. Le dispositif informatique 24 peut inclure un ou plusieurs dispositifs d'entrée/sortie (E/S) 62 pour communiquer avec le clavier 12 et l'affichage 50, ainsi qu'avec la source du document 30, soit directement tel qu'illustré, soit via un ou plusieurs réseaux d'ordinateurs. Dans un mode de réalisation, l'affichage 50 et le clavier 12 peuvent former partie d'un dispositif informatique d'utilisateur (non illustré) qui est relié à l'ordinateur hôte 24 via un lien câblé ou sans fil, par exemple avec un réseau LAN ou WLAN, tel qu'Internet. Dans d'autres modes de réalisation, le système 10 peut être résident sur le dispositif informatique de l'utilisateur. La source du document 30 peut être reliée de façon similaire. Les différents composants 26, 28, 32, 62 de l'ordinateur 24 peuvent tous être connectés par un bus de contrôle de données 68.
Le système 10 peut être hébergé par un ou plusieurs dispositifs informatiques adaptés quelconques 24 capables de traiter des données, tel qu'un ordinateur d'usage général, par exemple un ordinateur de bureau ou portable, un assistant personnel ou similaire, ou un dispositif informatique dédié tel qu'un serveur Web, un serveur de réseau ou similaire.
Le processeur numérique 28 peut être réalisé de plusieurs façons, avec par exemple un processeur simple coeur, un processeur double coeur (ou plus généralement un processeur mufti-coeur), un processeur numérique assisté par un coprocesseur mathématique, un contrôleur numérique, etc. Outre le contrôle du fonctionnement de l'ordinateur 24, le processeur numérique 28 exécute des instructions stockées en mémoire 26 pour mettre en oeuvre le procédé décrit sur les FIGURES 1, 3 et 4. Le processeur 28 peut être une unité centrale de traitement ou comporter des processeurs séparés pour chaque composant, est en communication avec la mémoire 26 et exécute les instructions logicielles pour générer des poids de polices, un modèle 16, ainsi que l'analyse et le balisage du ou des document(s) 18.
Dans d'autres modes de réalisation, les poids de polices peuvent être générés par un dispositif informatique séparé et stockés en mémoire 32. Les mémoires non volatiles 26, 32 peuvent inclure une mémoire vive (soit Random Access Memory ou RAM), une mémoire morte (soit Read Only Memory ou ROM), un disque dur, un disque optique, etc. et peuvent être toutes agencées physiquement dans le dispositif informatique 24 ou comporter des éléments accessibles par le dispositif informatique, par ex. via un réseau local ou Internet. La mémoire de données 32 peut faire partie de la mémoire principale 26 ou être séparée de celle-ci. La mémoire de données 32 peut stocker des données, y compris un document 18, des images de mot extraites 22, des images de mots synthétisés 14, et éventuellement le modèle exercé 16, des poids de polices, etc. Le terme « logiciel » tel qu'utilisé ici comprend toute collection ou tout ensemble d'instructions exécutable par un ordinateur ou autre système numérique de manière à configurer l'ordinateur ou autre système numérique pour exécuter la tâche prévue par le logiciel. Le terme « logiciel » tel qu'utilisé ici comprend des instructions stockées sur un support d'enregistrement tel qu'une mémoire vive, un disque dur, un disque optique, etc. et comprend également les micrologiciels ou « firmware » stockés en mémoire morte, etc. De tels logiciels peuvent être organisés de différentes façons et peuvent inclure des composants logiciels organisés en librairies, des programmes fonctionnant via Internet stockés par exemple sur un serveur distant, du code source, du code d'interprétation, du code objet, du code directement interprétable, etc. Il est envisagé que le logiciel invoque du code au niveau système ou des appels à d'autres logiciels résidant sur un serveur ou à un autre endroit pour effectuer certaines fonctions. L'exemple de système et de procédé de l'invention sera maintenant décrit plus en détail.
Sélection de polices pour la synthèse et l'exercice d'images de mot et d'images de mot-clé (S102) De nombreuses polices peuvent être incluses dans le jeu de polices 34 sans prêter particulièrement attention à leur sélection, car les polices qui sont moins représentatives du texte manuscrit reçoivent automatiquement des poids moindres dans l'exemple de procédé. Le jeu de polices peut donc par exemple inclure des polices qui ont un aspect « informatique » (telles que Times New Roman, Aria!, Courier) ainsi que des polices qui ont un aspect « manuscrit » (telles que Kunstler Script, French Script, Lucida Handwriting). Outre une sélection parmi les polices fournies conventionnellement avec les suites logicielles de traitement de texte par ordinateur, des polices peuvent être obtenues à partir d'autres sources, telles que des sites Web. Le même jeu de polices est utilisé pour générer les images de mots d'exercice synthétisés pour la génération de poids de polices et des images de mot-clé.
Apprentissage des poids de polices (S104) Comme indiqué ci-dessus, l'exemple de système et de procédé ne sélectionne pas des polices de façon binaire (c'est-à-dire « oui » ou « non »). Un poids continu w; est par contre attribué à chaque police typographique. On entend par « poids continu » que le poids peut varier selon une plage de valeurs. Dans un mode de réalisation, les poids sont normalisés de telle sorte que la somme de tous les poids de polices équivaut à une valeur sélectionnée, telle que 1, c'est-à-dire que chaque poids est une valeur positive inférieure à un et que certains poids (ou tous les poids) ont une valeur supérieure à O. D'autres systèmes de pondération sont cependant envisagés. Un objectif de la phase d'apprentissage (S104) est donc d'apprendre un jeu de poids de telle façon que la distribution pondérée de descripteurs sur base de caractéristiques d'images de mots d'exercice synthétisés corresponde (aussi bien que possible) à la distribution de ceux d'un jeu d'images de mots d'exercice manuscrits. La génération de poids coi peut être effectuée avant l'entrée de tout mot-clé sélectionné car elle est indépendante des mots-clés sélectionnés. L'apprentissage de poids de polices peut être répété si le style d'écriture manuscrite utilisé change dans les documents manuscrits à rechercher. Le point S104 du procédé peut être réalisé tel qu'illustré sur la FIGURE 3. Au point S202, des images de mots d'exercice manuscrits 22 sont extraites de l'ensemble 35 de documents manuscrits. Dans l'exemple de mode de réalisation, l'ensemble de documents 35 utilisé pour l'exercice est sélectionné pour être représentatif du type de documents à rechercher plus tard avec des mots-clés. Si les documents à rechercher sont par exemple des lettres reçues par une société particulière, les documents d'exercice peuvent aussi être des lettres, ou des parties de lettre, adressées à la même société. On peut ainsi s'attendre à ce qu'il y ait un certain chevauchement des mots utilisés, bien que cela ne soit pas nécessaire. Dans certains modes de réalisation, les images de mot d'exercice sont prélevées dans un même ensemble de documents pour être ensuite recherchés à l'aide d'un mot-clé. Pour fournir un échantillon représentatif des styles d'écriture et des mots utilisés, il peut y avoir par exemple au moins 50 ou au moins 100 documents prélevés aléatoirement parmi le groupe de documents 35, et pour chaque document, toutes les images de mot (ou du moins une partie d'entre elles) sont extraites, pour fournir par exemple un jeu d'exercice d'au moins 1.000 au d'au moins 10.000 images de mots d'exercice manuscrits 22. Le procédé peut toutefois être mis en oeuvre pour un nombre moins élevé d'images de mots d'exercice manuscrits, correspondant par exemple à un ensemble de documents écrits par la même personne, à un document unique ou à quelques documents recherchés ou à rechercher, ou même à un paragraphe d'un document à rechercher. Au point S204, un descripteur (ou un jeu de descripteurs) de chaque image de mot d'exercice manuscrit extraite 22 est généré sur base de caractéristiques de bas niveau extraites des images de mot, tel que décrit plus en détail ci-dessous.
Dans l'exemple de mode de réalisation, chaque descripteur est dérivé d'un jeu de vecteurs d'histogramme à gradients orientés (HOG) - chaque vecteur HOG pouvant être par exemple un vecteur à 128 dimensions. Un jeu de ces vecteurs est extrait en séquence pour chaque mot. Le descripteur d'images de mot peut comprendre une concaténation de ces vecteurs, ou la concaténation peut être réduite en dimensions.
Dans d'autres modes de réalisation, chaque vecteur peut être traité comme un descripteur séparé pour l'image de mot d'exercice 22.
Au point S206, pour chaque police typographique dans le jeu 34 de polices typographiques, un jeu d'images de mots d'exercice synthétisés 14 est synthétisé. Dans l'exemple de mode de réalisation, les mots réels correspondant aux images de mots d'exercice manuscrits 22 à partir desquelles les descripteurs ont été extraits au point S204 ne sont pas connus. Pour les images de mots d'exercice synthétisés 14, des mots communs dans la langue naturelle appropriée (c'est-à-dire la langue qui est censée être prévalente dans la collection de documents 35) sont donc sélectionnés. Si par exemple la langue naturelle est l'anglais, quelques centaines de mots parmi les plus communs en anglais sont sélectionnés et des images de mots d'exercice synthétisés 14 sont synthétisées pour chacun de ces mots dans chacune des polices typographiques. Dans un mode de réalisation, les mots les plus communs peuvent être identifiés parmi un ensemble de documents imprimés du même type que l'ensemble de documents manuscrits. Si par exemple l'ensemble de documents manuscrits comprend des lettres à une société, un jeu de lettres imprimées adressées à la même société peut alors être traité par OCR et un histogramme des fréquences de mots peut être généré pour l'ensemble de documents imprimés. Les mots les plus fréquemment utilisés peuvent être identifiés à partir de cet histogramme. On comprendra que les mots les plus fréquemment utilisés peuvent en variante être déterminés à partir d'un ensemble de documents plus général, tel que des pages Web, des livres, etc., et des exemples de telles listes qui peuvent être utilisées ici sont largement disponibles sur Internet. Au point S208, pour chaque police et chaque image de mot d'exercice synthétisé 14, un descripteur (ou un jeu de descripteurs), tel qu'un vecteur HOG, est extrait essentiellement de la même manière que dans le cas des images de mots manuscrits 22. Les étapes S202 à S208 peuvent être des étapes de pré-traitement effectuées ailleurs et les images de mots d'exercice manuscrits 22 (et/ou les descripteurs qui en sont extraits) extraits des documents peuvent être stockés en mémoire, telle que la mémoire 32. Les images de mots d'exercice synthétisés 14 et/ou leurs descripteurs peuvent également être stockés en mémoire 32. L'extraction d'images de mots et la génération de descripteurs basés sur des caractéristiques à partir d'images de mots manuscrits extraites et à partir d'images de mots synthétisés sont décrites plus en détail ci-dessous. L'apprentissage des poids de polices réalisé par le générateur de poids de police 38 peut être subdivisé en deux étapes : au point S210, l'apprentissage des distributions manuscrites et de police, et au point S212, la mise en correspondance de ces distributions pour identifier des poids de police. Le point S210 peut inclure deux sous-étapes : au point S210A, l'apprentissage d'un premier modèle de probabilité (par ex. un modèle de mélange gaussien) à partir des descripteurs extraits des images de mots d'exercice manuscrits et au point S210B, un modèle de probabilité (par ex. un modèle de mélange gaussien) pour chaque exercice de police à partir des descripteurs extraits des images de mots d'exercice synthétisés.
Apprentissage des distributions manuscrites et de police (S210) Posons que F représente le nombre de polices dans le jeu de polices 34. Posons que q représente une (première) distribution de probabilité pour les descripteurs de mot manuscrit (par ex. des vecteurs HOG) et que pi est une distribution de probabilités des descripteurs extraits pour la police typographique i, où i représente l'index de la police (1É i <_ F). Dans un mode de réalisation, q et les p; sont représentés par des modèles de mélange gaussiens respectifs (GMM), bien que d'autres modèles de probabilité soient aussi envisagés. Chaque modèle de mélange gaussien est basé sur le même groupe de N gaussiennes (ou fonctions gaussiennes), où N peut être par exemple d'environ 50 à 1000, par ex. environ 500. Les GMM peuvent être exercés comme suit : Au point S210A, une première distribution de probabilités (GMM) q avec N gaussiennes est exercée avec un grand ensemble de descripteurs HOG provenant des images de mots d'exercice manuscrits extraites de l'ensemble de documents cible 35 au point S204. Posons q = IN lgrgl , où les 7r; sont le mélange de poids et les q; sont les gaussiennes. Pour estimer q, un critère d'estimation du maximum de vraisemblance (soit Maximum Likelihood Estimation, ou MLE) peut être utilisé. D'autres détails concernant l'estimation du maximum de vraisemblance telle qu'appliquée aux modèles de mélange gaussiens sont fournis dans le document de J. Bilmes, « A gentle tutorial of the EM algorithm and its application to parameter estimation for Gaussian mixture and hidden Markov models », UC Berkeley, TR-97-021, 1998.
Au point S210B, pour chaque police typographique dans l'ensemble 34, un p; de GMM est exercé, par exemple par estimation MLE ou par adaptation du maximum a posteriori (MAP) du q de GMM manuscrit en utilisant les descripteurs HOG de la police considérée des images de mots d'exercice synthétisés. Dans le cas MAP, chacun des modèles GMM de police comporte par construction N gaussiennes.
N Posons Pi =1 n=lIrt,nP. , où les ti,n sont le mélange de poids et les Pi,n sont les gaussiennes. Plus de détails concernant l'estimation par maximum a posteriori telle qu'appliquée à des modèles de mélange gaussiens sont fournis dans le document « Maximum a Posteriori Estimation for Multivariate Gaussian Mixture
Observations of Markov Chains » par J.-L. Gauvain et C.H. Lee., IEEE Trans. on Speech and Audio Processing, 2(2):291-298, avril 1994. Bien que dans l'exemple de mode de réalisation l'apprentissage des pi de GMM de police soit effectué par adaptation du q de GMM manuscrit, ce point n'est pas essentiel. Un avantage toutefois de ce procédé est qu'il permet d'effectuer rapidement l'exercice des poids de police. Mise en correspondance des distributions de descripteurs de mot manuscrits et synthétisés pour générer des poids de police (S212) Cette étape vise à identifier un jeu optimal de poids de police en trouvant un mélange pondéré des Yi de GMM pour les polices i =1 à F qui ressemblent le plus étroitement au GMM pour le q de GMM manuscrit. Le jeu optimal de poids de police O? _ {o ' ---, wF } peut être obtenu en maximisant la similarité (ou en minimisant la distance et la divergence, qui pour les objectifs décrits ici sont considérées identiques) entre q et un modèle de mélange : EiF wipi (c'est-à-dire un mélange de GMM). La divergence de Kullback-Leibler peut par exemple être utilisée pour mesurer la proximité de deux distributions. Ceci
peut être effectué en maximisant l'espérance E(w) par rapport à tous les poids de police o E(w) = q(x) log Équ. (1) où x désigne une variable aléatoire dont la valeur provient de l'espace des caractéristiques de descripteur. F Ceci peut être effectué sous la contrainte : w. =1 , de telle manière que la somme de tous les poids de mélange est égale à 1 (ou à un autre nombre normalisé).
La maximisation directe de E(w) pouvant être difficile, une approche d'échantillonnage peut être suivie. Posons X = {xt,t =1...T} comme étant un ensemble de descripteurs extraits du grand nombre d'images de mots d'exercice manuscrits dans l'ensemble de documents d'image d'exercice. Supposons que les xt ont été générés indépendamment de q. La loi des grands nombres (convergence de la moyenne de descripteur à la valeur attendue lorsque T augmente) donne par 5 conséquent : E((v) E(QQ, X) = 1 Yt= T l log T L'équation Équ. 2 est donc une mesure de la probabilité que les descripteurs dans l'ensemble de mots d'exercice manuscrits ont été générés par le modèle de mélange. L'objectif est de trouver les valeurs de cw qui maximisent cette fonction. 10 E(w,X) est une fonction convexe dans w qui peut être maximisée de manière itérative avec un algorithme de maximisation d'espérance standard (soit Expectation Maximisation, ou EM) tel que le suivant : Étape E : Étant données des estimations actuelles pour les poids w, la probabilité yt (i) 15 que le descripteur xt d'une image de mot manuscrit a été généré par la police i (la somme pour tous les i étant égale à 1) est calculée comme suit : Yr (i) = a. pi (xt ) F Équ. (3) ~,=1~ipi(xt) Étape M : 1 CO. = T T Y (t) Équ. (4) 20 La convergence vers une solution appropriée peut être généralement obtenue avec un nombre relativement restreint d'itérations, par ex. en exécutant les équations 3 et 4 seulement 1 ou 2 fois. Alors que l'optimisation de l'exemple est basée sur l'algorithme EM, d'autres techniques d'optimisation convexe telles que celles basées sur l'algorithme du 25 gradient peuvent être utilisées en variante. L'équation 3 de l'étape E de l'exemple fournit des attributions douces aux poids. Une étape d'espérance qui fournit une attribution dure peut être utilisée en variante, cette attribution associant essentiellement à chaque police une probabilité 0 ou 1 qu'un descripteur d'échantillon xt a été créé avec cette police. Le descripteur 30 reçoit par exemple, pour chaque descripteur d'image de mot manuscrit x, , un score F w.PZ (x» Équ. (2) pour chaque pi de GMM de police. La police i présentant le score le plus élevé pour son modèle de pi de GMM est identifiée et le descripteur est attribué à cette police. Un histogramme des comptages peut alors être généré, dans lequel le nombre de descripteurs d'image de mot manuscrit attribué à chaque police est enregistré. Les comptages d'histogramme peuvent alors être normalisés pour que la somme des comptages soit égale à 1. Les valeurs de comptage normalisées peuvent être sorties comme des poids de police w . Une fois que les poids wi sont déterminés, ils peuvent être utilisés au point S110 pour exercer un modèle de mot-clé. Dans certains modes de réalisation, les poids peuvent être ajustés plutôt qu'entrés directement dans S110. S'il est par exemple déterminé que certaines des polices ont des poids très faibles, soit inférieurs à 10 % du poids de police moyen ou des polices avec un poids inférieur à une valeur seuil telle que 0,01, les polices à poids faible peuvent alors être éliminées du groupe de polices (ce qui équivaut à leur attribuer un poids de 0) et les poids des polices restantes peuvent être ajustés proportionnellement pour que leur somme soit égale à 1. Dans d'autres modes de réalisation, seuls les poids des polices les plus pondérées sont retenus, telles que les 100 premières polices. Si par exemple des poids de police sont générés tel qu'illustré sur la FIGURE 5 (où quelques polices uniquement sont montrées à titre d'exemple), le poids de police pour la police Courier New peut alors être fixé à 0 ou la fonte Courier New peut être éliminée du groupe de polices et les poids des polices restantes peuvent être ajustés proportionnellement pour que leur somme soit égale à 1.
Procédés optionnels pour réduire les exiqences de calcul pour les équations 3 et 4 25 Notons que le calcul de TxFxN valeurs de vraisemblance pi,n(xt) peut exiger un temps de calcul importants pour un grand nombre T de descripteurs (par ex. T=1000000), un grand nombre F de polices (par ex. F=100) et un grand nombre N de fonctions gaussiennes (par ex. N=512). Pour accélérer le calcul, une procédure inspirée par la littérature concernant la reconnaissance vocale peut être utilisée (voir 30 D. Reynolds, T. Quatieri et R. Dunn : « Speaker verification using adapted Gaussian mixture models", Digital Signal Processing, 10:19, 41, (2000)). Cette technique est basée sur deux observations : 1. Lorsqu'un q de GMM avec un grand nombre de fonctions gaussiennes N est évalué pour un descripteur xt, seules quelques-unes des gaussiennes contribueront de manière significative à la valeur de vraisemblance . 2. Les gaussiennes d'un GMM adapté gardent une correspondance avec le mélange de gaussiennes dans le GMM à partir duquel elles ont été adaptées. Par conséquent, si gn(xt) est élevé, les valeurs pt,n(xt) doivent être élevées. Un algorithme rapide de calcul de score peut donc être employé comme suit pour un xt donné : Calculer gn(xt) pour n=1... N (N calculs de gaussienne). Retenir ensuite les M gaussiennes avec la vraisemblance la plus élevée (M peut par exemple être compris entre 1 et 10, par ex. au moins 2, ou M=5). Posons I, comme étant l'ensemble d'indices de ces gaussiennes. Pour chaque police i, calculer Pi (xr) Eneltei,nPi,n(X ) (F x M calculs de gaussienne).
Le nombre total de calculs de gaussienne est donc réduit de TxFxN à Tx(N+FxM). Pour F=100 et M=5, ceci mène à une réduction des calculs selon un facteur environ égal à 50.
Utilisation des poids de police pour l'apprentissage de modèles de mot-clé (S108, S110) Ceci implique l'exercice d'un modèle 16 pour un mot-clé spécifique kw à rechercher dans un ensemble d'images de mots manuscrits en utilisant les poids de police appris au point S104. Au point S108 d'abord, un ensemble d'images de mots synthétisés F (une par police) est généré pour le mot-clé kw (tout comme au point S206). Un descripteur (par ex. une séquence HOG) est ensuite extrait pour chaque image de mot synthétisé (tout comme au point S208). Plusieurs types de modèles 16 peuvent être exercés pour des descripteurs des caractéristiques extraites des images de mot-clé, tels que des modèles de Markov caché (HMM), des machines vectorielles de support, des réseaux de neurones artificiels, etc. Dans l'exemple de mode de réalisation, un modèle de Markov caché semi-continu (SC-HMM) est utilisé. La particularité de ce modèle réside en ce que certains de ses paramètres (tels que les matrices de moyennes et de covariances) sont contraints par un modèle du monde (soit Universal Background Model, ou UBM) qui permet de modéliser le vocabulaire des données manuscrites. Dans le cas présent, I'UBM peut être le modèle de mélange gaussien q déjà généré, construit pour les descripteurs de mots d'exercice manuscrits. Le modèle du monde (UBM) peut donc comprendre par exemple environ 512 fonctions gaussiennes exercées en utilisant un nombre élevé (par ex. 1.000.000) de vecteurs HOG pour des mots d'exercice manuscrits extraits aléatoirement parmi un ensemble de documents. Le SC-HMM est exercé par-dessus cet UBM et peut utiliser jusqu'à 10 états par caractères du mot-clé.
Dans un SC-HMM, le même groupe de gaussiennes (ou fonctions gaussiennes) qui est utilisé pour I'UBM est également partagé par tous les états de tous les échantillons d'exercice. Dans le HMM, chaque descripteur d'exercice est représenté par des probabilités pour un ensemble d'états (ou motifs), chaque état étant modélisé par des gaussiennes du groupe (chacune avec un vecteur moyen et une matrice de covariance). La probabilité d'émission d'un descripteur X. dans un état donné dépend du mélange des poids 2kw du SC-HMM, qui sont les seuls paramètres spécifiques pour les mots et les états. Même lorsqu'ils sont exercés avec des images de mots synthétisés, les paramètres optimaux du modèle doivent donc « correspondre » au vocabulaire manuscrit. Ceci permet de mieux mettre en relation des textes imprimés et manuscrits. Posons que {X,,,u=1...F} est l'ensemble des descripteurs (par ex. des vecteurs HOG) extraits des images de mots-clés synthétisés pour chacune des polices F. Le modèle de mot-clé peut être un SC-HMM avec un paramètre 2,»,. Le SC-HMM peut être exercé sur les descripteurs, tel que décrit dans le document U.S. 2010/0067793. Pour apprendre les paramètres 2 ,, un critère d'estimation du maximum de vraisemblance pondéré (MLE) peut être utilisé. Ceci peut être obtenu en maximisant, sur les 2kw Eu ~ wu log P(X. 12w) Équ. 5
où wu est le poids pour la police indexée par u (qui peut être le même que w; ci-dessus ou un sous-ensemble traité de celui-ci, tel qu'expliqué ci-dessus) et est donc indépendant du mot-clé. L'exemple de mode de réalisation peut donc être obtenu sans exiger un étiquetage manuel quelconque des images de mots manuscrits.
Coût de calcul Les gaussiennes des GMM manuscrits q sont les mêmes que celles utilisées dans le groupe de gaussiennes de l'exemple SC-HMM. L'algorithme n'exige donc aucun travail additionnel.
La synthèse d'images de mot (S206), l'extraction de caractéristique (S208) et l'exercice du MAP GMM (S212) peuvent durer dans leur ensemble de l'ordre de 15 secondes par police. Enfin, l'apprentissage des poids de police pour F=100 peut durer quelques minutes.
Extraction d'images de mot (S202) Des techniques d'extraction d'images de mot 22 sont décrites par exemple dans les documents U.S. 2009/0060396 ; 2009/0060335 ; 2009/0180695 ; 2010/0008581 ; et 2010/0067793 mentionnés auparavant. En bref, un algorithme de segmentation extrait des sous-images qui représentent potentiellement des mots, en employant des techniques de pointe basées sur des profils de projection et le groupement de distances d'intervalle. Tel qu'illustré sur la FIGURE 6, les images de mot extraites 22 sont normalisées en fonction de la pente, de l'inclinaison et de la hauteur de texte. Les images de mot extraites sont généralement normalisées à une hauteur fixée h. Ceci peut inclure la normalisation de régions de hampe, d'oeil et de jambage de l'image de mot à une hauteur h' respective correspondant à un nombre fixé de pixels, tel que 18 pixels chacun, de telle manière qu'une image de mot ayant des régions aussi bien de hampe que de jambage aient une hauteur de 54 pixels. Étant donné que la hauteur de l'oeil est approximativement proportionnelle à la largeur d'un caractère individuel dans la chaîne de caractères, la normalisation aide à générer des images de mot ayant une longueur approximativement proportionnelle au nombre de caractères dans la chaîne. Les images de mots synthétisés 14 dans les différentes polices sont normalisées de façon similaire à une hauteur fixée h.
Extraction de descripteurs d'image de mot (S108, S204, S208) Lors de la génération d'un descripteur tel qu'un HOG, des caractéristiques de bas niveau sont d'abord extraites de morceaux de l'image de mot. Le même processus d'extraction peut être utilisé pour des images de mot 22 dans le jeu d'exercice, des images de mot 22 provenant des documents à inspecter et les images d'exercice et de mots-clés synthétisés 14. Comme illustré sur la FIGURE 6, les morceaux sont générés en déplaçant une fenêtre coulissante 70 de hauteur fixée h et de largeur fixée w sur l'image normalisée dans une seule dimension x selon la direction de la flèche A, qui correspond généralement à la direction selon laquelle le mot a été écrit ou synthétisé. La fenêtre 70 est déplacée horizontalement par pas à intervalles réguliers, tel qu'un pas de un ou plusieurs pixels, ou à intervalles variables, de telle manière que des morceaux multiples sont extraits de chaque image de mot 14, 22. Un avantage de cette approche par fenêtre coulissante est qu'elle préserve le sens de gauche à droite de l'écriture. On comprendra que dans le cas d'écritures présentant un alignement de caractères vertical plutôt qu'horizontal, telles que le Chinois, le déplacement peut être vertical plutôt qu'horizontal, c'est-à-dire selon le même axe que le déplacement par étapes. Pour chaque morceau, une ou plusieurs caractéristiques (descripteurs à apparence locale) sont extraites. Les caractéristiques peuvent être extraites pour l'image de fenêtre dans son ensemble ou pour des parties de celle-ci. Plusieurs procédés pour extraire des caractéristiques sont décrites par exemple dans les publications de demande de brevet U.S. 2009/0060396 ; 2009/0060335 ; 2009/0180695 ; 2010/0008581 ; et 2010/0067793. Des caractéristiques peuvent par exemple être obtenues pour des points clés, des cellules, des orientations de gradient de pixels, etc., qui peuvent ensuite être enchaînés pour former un vecteur de caractéristique ou un histogramme qui représente l'image de fenêtre (entière ou partielle) dans son ensemble. Les dimensions du vecteur peuvent être réduites, par exemple en utilisant une analyse en composantes principales (soit Principal Component Analysis ou PCA).
Attribution de scores d'images de mot candidates (S112) Comme indiqué précédemment, pour examiner un document ou une collection de documents, un ensemble d'images de mot 22 est extrait du ou des document(s) à l'aide du segmenteur 36, et pour chacune des images de mot extraites, un ensemble de descripteurs peut être généré par l'extracteur 42. Pour attribuer un score à une image de mot 22 par rapport à un mot-clé Kw, les descripteurs de l'image de mot reçoivent un score par rapport au modèle de mot-clé respectif 16. Un ratio (ou une autre fonction) de la vraisemblance que le descripteur provienne du modèle de mot-clé 16 par la vraisemblance qu'il provienne d'un modèle d'arrière-plan, tel que q, est par exemple calculé.
Le score d'un échantillon 22 peut être obtenu par un ratio de vraisemblance, tel que décrit par exemple dans les documents U.S. 2009/0180695 et 2010/0067793, dans un processus appelé normalisation de score. Dans ce sens, les modèles SC- HMM sont attrayants parce que le même modèle UBM d'arrière-plan peut être utilisé pour la normalisation de score, ce qui permet une légère économie additionnelle en terme de coût de calcul. L'utilisation d'un modèle d'arrière-plan GMM fonctionne très bien en pratique car il modélise aussi bien la distribution de motifs d'image de mot que des styles d'écriture. Si le mot-clé contient donc des motifs très fréquents (par ex. s'il contient des lettres fréquentes), il est vraisemblable que de nombreuses images de mot candidates obtiennent un score élevé avec un HMM ordinaire. Étant donné cependant que le GMM modélise les distributions de motifs trouvés dans une image de mot quelconque, une image contenant des motifs fréquents obtiendra par conséquent aussi un score élevé avec le modèle d'arrière-plan GMM, qui est pris en compte dans le SC-HMM.
Identification d'images de mot en correspondance (S114) Les résultats obtenus au point S112 peuvent être présentés de plusieurs façons. Dans un mode de réalisation, les images de mot 22 peuvent être classées en fonction de leurs scores, les premières K images de mot étant considérées comme étant des correspondances pour le mot-clé. La valeur de K peut être sélectionnée comme appropriée pour la taille de la collection d'échantillons 22. Dans une grande collection, K peut être proportionnellement grand, par ex. environ 25, alors que pour une collection extraite d'un document unique, K peut ne valoir que 1. Dans un autre mode de réalisation, les images de mot ayant des scores supérieurs à une valeur seuil fixée sont considérées comme étant des correspondances. Dans un autre mode de réalisation encore, au moins les images de mot des rangs le plus élevés sont considérées comme étant des correspondances. Les images de mot correspondantes peuvent être sorties, par ex. vers un affichage, pour être montrées à un utilisateur, ou vers un dispositif de stockage en mémoire dans l'ordinateur ou à l'extérieur de celui-ci. En variante ou en plus, les images de mot correspondantes et/ou les documents qui les contiennent peuvent être étiquetés pour un traitement ultérieur.
Dans un autre mode de réalisation, toutes les images de mots manuscrits de la collection ne reçoivent pas un score. Si l'utilisateur souhaite par exemple identifier un document écrit par une certaine personne et entre le nom de la personne comme mot-clé, lorsque le système identifie une image de mot candidate qui répond au score seuil nécessaire pour être considéré comme une correspondance, le traitement d'autres images de mot peut être arrêté. Le document ou des parties de celui-ci contenant le nom peuvent par exemple être présentés à l'utilisateur pour vérification. Si la correspondance n'apparaît pas correcte, le traitement d'autres échantillons d'image de mot 22 peut continuer. Dans un autre mode de réalisation, un document peut être étiqueté selon que la vraisemblance qu'il inclue un ou plusieurs mots-clés appartenant à un ensemble de mots-clés entrés dépasse ou non un seuil. Les procédés illustrés dans les FIGURES 1, 3 et 4 peuvent être mis en oeuvre par un produit logiciel non volatile ou par des produits qui peuvent être exécutés sur un ordinateur. Le produit logiciel peut être un support d'enregistrement physique lisible par un ordinateur, sur lequel un logiciel de commande est enregistré, tel qu'un disque optique, un disque dur, etc. En variante, le procédé peut être mis en oeuvre par une onde porteuse transmissible dans laquelle le logiciel de commande est mis en oeuvre sous forme d'un signal de données en utilisant un support de transmission, des ondes acoustiques ou lumineuses telles que celles générées durant des communications de données par ondes radio et infrarouges, etc.
Un jeu d'exercice peut être obtenu de manière entièrement automatisée et en un temps relativement court. Le système de détection de mot permet donc de rechercher un mot quelconque dans une collection de documents manuscrits sans fournir un seul exemple d'exercice. Un autre avantage est qu'il permet de rechercher un mot quelconque.
Le jeu de polices pondéré peut être utilisé dans un procédé d'exercice d'un dispositif de catégorisation pour attribuer des documents manuscrits à un ensemble de classes prédéterminées sur base de l'identification de certains mots-clés dans les documents. Un procédé pour catégoriser des documents manuscrits avec un tel dispositif de catégorisation en catégories, sur base de fréquences de mots-clés identifiés, ainsi qu'un produit logiciel qui comporte des instructions pour mettre en oeuvre les exemples de procédé, peuvent également être fournis. Des aspects de l'exemple de mode de réalisation ont également trait à un appareil pour exercer un dispositif de catégorisation et à système de catégorisation employant le dispositif de catégorisation exercé, qui peut être utilisé dans un procédé de dispositif de catégorisation de documents manuscrits, sur base de la détection de mots-clés manuscrits dans des images de documents. L'exemple de procédé d'exercice d'un dispositif de catégorisation peut être basé sur une collection de documents d'exercice aussi bien manuscrits qu'imprimés, qui sont chacun étiquetés manuellement avec une étiquette correspondante à une catégorie respective d'un ensemble fini de catégories.
Des applications spécifiques de l'exemple de système et de procédé comprennent les opérations consistant à : 1. Trouver des mots-clés peu fréquents, tels que des noms de personne ou des noms d'adresse spécifiques. 2. Trouver des exemples manuscrits dans un ensemble de textes qui peuvent ensuite être utilisés comme jeu d'exercice pour un système de détection de mots.
Ceci peut mener à un système de détection de mots amélioré sans les coûts généralement nécessaires pour une collection d'échantillons manuscrits effectifs, qui sont coûteux à rassembler. L'exemple de procédé peut donc servir d'étape préliminaire pour trouver un jeu d'exercice de manière semi-automatique. Les échantillons manuscrits extraits peuvent être vérifiés manuellement et les échantillons extraits correctement peuvent être utilisés afin d'exercer un meilleur modèle pour détecter le mot correspondant. 3. Inspection de documents dans différentes langues. Ceci peut être réalisé en traduisant d'abord le mot-clé w en plusieurs langues, en générant des images de mot 14 pour chaque mot traduit, et en effectuant des recherches dans une collection de documents multilingues. Ce mode de réalisation serait particulièrement utile pour des organisations travaillant dans des pays ayant plusieurs langues officielles (tels que la Suisse, la Belgique, l'Inde, etc.) ou des institutions internationales (telles que le parlement européen). 4. Dans le contexte d'une salle de courrier numérique par exemple, le procédé peut être utilisé pour le routage automatique de documents vers un département spécifique et/ou le classement automatique de documents par ordre de priorité. 5. Sondage d'opinion : par ex. pour compter le nombre de lettres entrantes relatives au « réchauffement climatique ».
Sans vouloir limiter la portée de l'exemple de mode de réalisation, l'exemple suivant démontre une application du système et du procédé.
EXEMPLE Configuration expérimentale Une base de données comportant un ensemble de 600 lettres numérisées en français adressées à une société française a été utilisée pour évaluer le procédé. La base de données comprenait une variabilité considérable de styles d'écriture, d'artéfacts et d'autres anomalies telles que des fautes d'orthographe. Les occurrences d'un ensemble de dix mots-clés dans la base de données ont été étiquetées à des fins d'évaluation. Tous les mots-clés étaient identifiés comme des mots courants dans le jeu de données (y compris Monsieur, Madame, contrat, résiliation, résilier, salutation, demande, abonnement et veuillez).
Les performances de la tâche de détection étaient évaluées en termes de mesure de précision moyenne (soit Average Precision, ou AP), qui est courante dans l'extraction d'information. L'AP indique la précision moyenne d'une courbe rappel-précision. Dans les exemples suivants, des exemples d'exercice synthétisés 14 ont été générés pour chacun des mots-clés dans chacune des polices d'un jeu de polices, et une précision moyenne a été déterminée pour les dix mots-clés. Un processus de segmentation a été effectué sur les lettres numérisées pour obtenir un ensemble d'images de mots manuscrits 22. Chaque page comporte environ 300 de ces images de mot. Pour chaque image de mot, une séquence de caractéristiques HOG à 128 dimensions a été extraite tel que décrit ci-dessus de manière à générer un descripteur (vecteur HOG). Le modèle de q de GMM qui modélise la distribution des descripteurs de mots d'exercice manuscrits comporte N = 512 gaussiennes. Le GMM a été exercé sur un ensemble d'environ 100 pages manuscrites de l'ensemble. Ces 100 pages n'ont pas été utilisées à des fins d'évaluation. Seules les 500 pages restantes ont été utilisées pour cela. Un ensemble de 100 polices a été créé. Neuf de ces polices sont les mêmes que celles sélectionnées par l'heuristique du document U.S. 2010/0067793. Les 91 autres polices proviennent de la sous-catégorie « Manuscrit » du site www.dafont.com. Pour chaque police, des images de mot pour les 2.000 mots les plus courants en anglais ont été générées. Une séquence de caractéristiques HOG a été extraite pour chaque image de mot synthétisé et une adaptation MAP a été utilisée pour l'apprentissage des pi de GMM de police. Tous les SC-HMM de mot-clé ont été exercés en plus du GMM manuscrit q, 25 en utilisant 10 états par caractère. Dans une première expérience, seules les 9 polices sélectionnées par l'heuristique du document U.S. 2010/0067793 ont été utilisées. L'exemple d'algorithme devrait par conséquent apprendre la meilleure façon de pondérer ces 9 polices. Les résultats figurent dans le Tableau 1. 30 Tableau 1. Comparaison de l'heuristique du document U.S. 2010/0067793 (art antérieur) avec l'exemple de procédé (restreint à 9 polices) Mot-clé Précision moyenne Précision moyenne du procédé de l'exemple de antérieur (en %) procédé (en %) Monsieur 40,1 40,3 Madame 55,8 55,8 contrat 39,5 37,4 résiliation 45,4 44,6 salutation 27,4 27,0 résilier 21,1 21,1 demande 56,0 55,7 abonnement 79,5 79,4 veuillez 41,1 40,1 Précision moyenne 48,5 47,9 Il est à noter que la performance de l'exemple de procédé est équivalente à celle du document U.S. 2010/0067793. Ce résultat est significatif car dans la demande antérieure, les neufs polices étaient sélectionnées pour maximiser la précision de l'essai pour les mots-clés de ce jeu de données, alors que les poids calculés par le présent procédé sont indépendants des mots-clés. Ceci confère un avantage à l'approche du document 2010/0067793, mais comme il a été mentionné auparavant, le présent exemple de procédé exige beaucoup moins de calcul. Dans la seconde expérience, l'ensemble complet de 100 polices ainsi que leurs poids, calculés précédemment en utilisant les équations 3 et 4, ont été pris en compte. La sélection de la meilleure combinaison de polices avec l'heuristique du document U.S. 2010/0067793 prendrait plusieurs jours de traitement par la CPU et s'avérerait donc peu pratique. Ceci doit être comparé au présent procédé, qui peut être exercé efficacement en quelques minutes. Les résultats pour le présent procédé sont repris dans tableau 2. On notera que l'efficacité de l'exemple de procédé permet au système de gérer un nombre beaucoup plus important de polices. L'augmentation générale de la précision moyenne en passant de 9 polices à 100 polices est de +8.5 %, ce qui constitue un résultat significatif.
37 Tableau 2. Extraction des résultats avec 100 polices Mot-clé Précision moyenne de l'exemple de procédé (en %) Monsieur 51,8 Madame 59,1 contrat 68,0 résiliation 50,9 salutation 27,2 résilier 26,4 demande 61,7 abonnement 83,0 veuillez 51,6 Précision moyenne 56,4 Comme on peut le voir, l'exemple de procédé procure une bonne précision moyenne.
Finalement, en comparaison, l'exactitude pour ce jeu de données (précision moyenne) d'un système d'interrogation par l'exemple (soit Query By Example, ou QBE), en utilisant un échantillon manuscrit unique plutôt que des échantillons d'exercice synthétisés, est de 32,3%, ce qui est bien inférieur aux 56,4% obtenus avec l'exemple de système en utilisant 100 polices synthétisées. Ceci démontre que le présent procédé est avantageux par rapport à l'approche QBE.
Claims (10)
- REVENDICATIONS1. Procédé comprenant : la réception d'un mot-clé ; pour chaque police d'un jeu de polices typographiques, la synthèse d'une image de mot à partir du mot-clé ; l'exercice d'un modèle de mot-clé à partir des images de mots synthétisés et d'un poids de police respectif pour chaque police du jeu de polices typographiques ; l'utilisation du modèle de mot-clé exercé en identifiant au moins une image de mot manuscrit qui correspond au mot-clé parmi une collection d'images de mots manuscrits ; et au moins la synthèse, l'exercice ou l'identification étant effectué(s) par un processeur d'ordinateur.
- 2. Procédé selon la revendication 1, comprenant en outre : la sortie d'au moins l'une des images de mots manuscrits correspondantes identifiées.
- 3. Procédé selon la revendication 1, dans lequel l'exercice du modèle de mot-clé est effectué à partir de descripteurs extraits des images de mots synthétisés et des poids de police.
- 4. Procédé selon la revendication 1, dans lequel les poids de police sont appris en utilisant un ensemble de descripteurs d'images de mots d'exercice manuscrits, chaque descripteur étant basé sur des caractéristiques extraites d'une image de mot d'exercice manuscrit respective.
- 5. Procédé selon la revendication 4, dans lequel les poids de police sont appris en maximisant une similarité entre une distribution pondérée de descripteurs d'images de mots d'exercice synthétisés et une distribution des descripteurs d'images de mots d'exercice manuscrits, chaque descripteur d'image de mot d'exercice synthétisé étant basé sur des caractéristiques extraites d'une image de mot synthétisé respective.
- 6. Système de traitement par ordinateur comprenant : un synthétiseur qui synthétise une image de mot dans chacune des polices d'un jeu de polices typographiques sur base d'un mot-clé reçu ;un modèle de mot-clé enregistré en mémoire, qui est exercé avec des descripteurs extraits des images de mots synthétisés et d'un ensemble de poids de polices générés ; un composant de notation qui attribue un score à des images de mots manuscrits d'une collection par rapport au modèle de mot-clé et, en fonction des scores, qui identifie toute image de mot manuscrit correspondante éventuelle ; et un processeur d'ordinateur pour mettre en oeuvre le générateur de poids de police, le synthétiseur et le composant de notation.
- 7. Système de traitement selon la revendication 6, comprenant en outre au moins l'un parmi : un segmenteur de document qui traite au moins une image de document entrée pour identifier les images de mots manuscrits ; un générateur de poids de police pour générer un poids respectif pour chacune des polices du jeu de polices typographiques ; et un extracteur de caractéristiques qui extrait des caractéristiques de bas niveau des images de mots synthétisés et des images de mots manuscrits, et qui génère un descripteur respectif à partir des caractéristiques extraites.
- 8. Système de traitement selon la revendication 6, dans lequel le modèle de mot-clé comprend un modèle de Markov caché semi-continu qui inclut un modèle d'arrière-plan exercé à l'aide d'échantillons d'images de mots manuscrits avant la réception d'un mot-clé.
- 9. Système de traitement selon la revendication 6, comprenant en outre une sortie qui fournit au moins l'une des images de mots manuscrits identifiées et les documents dont elles ont été extraites.
- 10. Procédé implémenté par un ordinateur pour la détection de mots, comprenant : la réception d'un mot-clé à chercher dans une collection d'images de mots manuscrits extraites d'un ou plusieurs documents ; pour chacune des polices d'un jeu de polices, la génération automatique d'une image de mot synthétisé basée sur le mot-clé ; la modélisation du mot-clé à l'aide d'un modèle de Markov caché semi-continu qui prend en compte les poids attribués à chacune des polices, les poids de police étant appris en maximisant une similarité entre une distribution pondérée de descripteurs d'images de mots d'exercice synthétisés et une distribution dedescripteurs d'images de mots d'exercice manuscrits, chaque descripteur étant basé sur des caractéristiques extraites d'une image de mot d'exercice synthétisé ou manuscrit respective ; à l'aide du modèle, l'identification d'images de mot correspondantes dans la 5 collection d'images de mots manuscrits ; et la sortie d'information sur base des images de mot correspondantes identifiées.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/851,092 US8509537B2 (en) | 2010-08-05 | 2010-08-05 | Learning weights of fonts for typed samples in handwritten keyword spotting |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2963695A1 true FR2963695A1 (fr) | 2012-02-10 |
Family
ID=45507300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1157189A Pending FR2963695A1 (fr) | 2010-08-05 | 2011-08-05 | Apprentissage de poids de polices pour des echantillons tapes dans le reperage de mots-cles manuscrits |
Country Status (3)
Country | Link |
---|---|
US (1) | US8509537B2 (fr) |
DE (1) | DE102011079443A1 (fr) |
FR (1) | FR2963695A1 (fr) |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9319444B2 (en) | 2009-06-22 | 2016-04-19 | Monotype Imaging Inc. | Font data streaming |
US8615709B2 (en) | 2010-04-29 | 2013-12-24 | Monotype Imaging Inc. | Initiating font subsets |
JP5873959B2 (ja) * | 2010-09-27 | 2016-03-01 | パナソニックIpマネジメント株式会社 | ホワイトリスト内外判定装置及び方法 |
US8903175B2 (en) * | 2011-08-29 | 2014-12-02 | Hewlett-Packard Development Company, L.P. | System and method for script and orientation detection of images |
US20130093668A1 (en) * | 2011-10-12 | 2013-04-18 | Samsung Electronics Co., Ltd. | Methods and apparatus for transmitting/receiving calligraphed writing message |
US8891822B2 (en) * | 2012-04-10 | 2014-11-18 | Hewlett-Packard Development Company, L.P. | System and method for script and orientation detection of images using artificial neural networks |
US8942420B2 (en) * | 2012-10-18 | 2015-01-27 | Qualcomm Incorporated | Detecting embossed characters on form factor |
US9817615B2 (en) | 2012-12-03 | 2017-11-14 | Monotype Imaging Inc. | Network based font management for imaging devices |
WO2014100582A2 (fr) | 2012-12-21 | 2014-06-26 | Monotype Imaging Inc. | Prise en charge de polices de caractères en couleurs |
US9626337B2 (en) | 2013-01-09 | 2017-04-18 | Monotype Imaging Inc. | Advanced text editor |
JP5787925B2 (ja) * | 2013-03-22 | 2015-09-30 | ヤフー株式会社 | 検索装置、検索プログラム、および検索方法 |
US9317777B2 (en) | 2013-10-04 | 2016-04-19 | Monotype Imaging Inc. | Analyzing font similarity for presentation |
US9691169B2 (en) | 2014-05-29 | 2017-06-27 | Monotype Imaging Inc. | Compact font hinting |
US9396404B2 (en) * | 2014-08-04 | 2016-07-19 | Datalogic ADC, Inc. | Robust industrial optical character recognition |
JP6618246B2 (ja) * | 2014-09-30 | 2019-12-11 | キヤノン株式会社 | 情報処理装置、表示方法、及びコンピュータプログラム |
US10095797B2 (en) * | 2014-10-03 | 2018-10-09 | Salesforce.Com, Inc. | Suggesting actions for evaluating user performance in an enterprise social network |
US9575952B2 (en) | 2014-10-21 | 2017-02-21 | At&T Intellectual Property I, L.P. | Unsupervised topic modeling for short texts |
US10115215B2 (en) * | 2015-04-17 | 2018-10-30 | Monotype Imaging Inc. | Pairing fonts for presentation |
US11537262B1 (en) * | 2015-07-21 | 2022-12-27 | Monotype Imaging Inc. | Using attributes for font recommendations |
US9798948B2 (en) | 2015-07-31 | 2017-10-24 | Datalogic IP Tech, S.r.l. | Optical character recognition localization tool |
US9875429B2 (en) | 2015-10-06 | 2018-01-23 | Adobe Systems Incorporated | Font attributes for font recognition and similarity |
US10074042B2 (en) | 2015-10-06 | 2018-09-11 | Adobe Systems Incorporated | Font recognition using text localization |
US10007868B2 (en) * | 2016-09-19 | 2018-06-26 | Adobe Systems Incorporated | Font replacement based on visual similarity |
US11205103B2 (en) | 2016-12-09 | 2021-12-21 | The Research Foundation for the State University | Semisupervised autoencoder for sentiment analysis |
US11030394B1 (en) * | 2017-05-04 | 2021-06-08 | Amazon Technologies, Inc. | Neural models for keyphrase extraction |
CN108875758B (zh) * | 2017-05-09 | 2022-01-11 | 富士通株式会社 | 信息处理方法和装置以及信息检测方法和装置 |
KR102299847B1 (ko) * | 2017-06-26 | 2021-09-08 | 삼성전자주식회사 | 얼굴 인증 방법 및 장치 |
CN107358266B (zh) * | 2017-07-17 | 2020-11-10 | 浙江信电技术股份有限公司 | 一种具有识别功能的移动终端 |
US11334750B2 (en) | 2017-09-07 | 2022-05-17 | Monotype Imaging Inc. | Using attributes for predicting imagery performance |
US10909429B2 (en) | 2017-09-27 | 2021-02-02 | Monotype Imaging Inc. | Using attributes for identifying imagery for selection |
US11657602B2 (en) | 2017-10-30 | 2023-05-23 | Monotype Imaging Inc. | Font identification from imagery |
CN108092891A (zh) * | 2017-12-07 | 2018-05-29 | 重庆邮电大学 | 一种基于马尔科夫决策过程的数据调度方法 |
CN108898639A (zh) * | 2018-05-30 | 2018-11-27 | 湖北工业大学 | 一种图像描述方法及系统 |
CN109493400B (zh) * | 2018-09-18 | 2024-01-19 | 平安科技(深圳)有限公司 | 手写样本生成方法、装置、计算机设备及存储介质 |
CN109657739B (zh) * | 2019-01-09 | 2023-03-24 | 西北大学 | 一种基于高频声波短时傅里叶变换的手写字母识别方法 |
US11386636B2 (en) | 2019-04-04 | 2022-07-12 | Datalogic Usa, Inc. | Image preprocessing for optical character recognition |
US10950017B2 (en) | 2019-07-08 | 2021-03-16 | Adobe Inc. | Glyph weight modification |
US11195172B2 (en) * | 2019-07-24 | 2021-12-07 | Capital One Services, Llc | Training a neural network model for recognizing handwritten signatures based on different cursive fonts and transformations |
US11295181B2 (en) | 2019-10-17 | 2022-04-05 | Adobe Inc. | Preserving document design using font synthesis |
CN112417101B (zh) * | 2020-11-23 | 2023-08-18 | 平安科技(深圳)有限公司 | 一种关键词提取的方法及相关装置 |
CN112633378B (zh) * | 2020-12-24 | 2022-06-28 | 电子科技大学 | 一种多模态影像胎儿胼胝体智能检测方法及系统 |
CN113626554B (zh) * | 2021-08-17 | 2023-08-25 | 北京计算机技术及应用研究所 | 一种计算汉语文档哈希值的方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5438630A (en) | 1992-12-17 | 1995-08-01 | Xerox Corporation | Word spotting in bitmap images using word bounding boxes and hidden Markov models |
US5825919A (en) | 1992-12-17 | 1998-10-20 | Xerox Corporation | Technique for generating bounding boxes for word spotting in bitmap images |
JP3027321B2 (ja) | 1994-09-27 | 2000-04-04 | 財団法人工業技術研究院 | 拘束のない手書き英数字のオンライン認識の方法及び装置 |
US7644102B2 (en) | 2001-10-19 | 2010-01-05 | Xerox Corporation | Methods, systems, and articles of manufacture for soft hierarchical clustering of co-occurring objects |
US7756341B2 (en) | 2005-06-30 | 2010-07-13 | Xerox Corporation | Generic visual categorization method and system |
US7680341B2 (en) | 2006-05-05 | 2010-03-16 | Xerox Corporation | Generic visual classification with gradient components-based dimensionality enhancement |
US7885466B2 (en) * | 2006-09-19 | 2011-02-08 | Xerox Corporation | Bags of visual context-dependent words for generic visual categorization |
US8014603B2 (en) | 2007-08-30 | 2011-09-06 | Xerox Corporation | System and method for characterizing handwritten or typed words in a document |
US8045798B2 (en) | 2007-08-30 | 2011-10-25 | Xerox Corporation | Features generation and spotting methods and systems using same |
US8027540B2 (en) | 2008-01-15 | 2011-09-27 | Xerox Corporation | Asymmetric score normalization for handwritten word spotting system |
US8340428B2 (en) | 2008-04-02 | 2012-12-25 | Xerox Corporation | Unsupervised writer style adaptation for handwritten word spotting |
US8224092B2 (en) | 2008-07-08 | 2012-07-17 | Xerox Corporation | Word detection method and system |
KR20100031322A (ko) | 2008-09-12 | 2010-03-22 | 삼성전자주식회사 | 어레이 프린트헤드를 가지는 잉크젯 화상형성장치 |
US8335381B2 (en) * | 2008-09-18 | 2012-12-18 | Xerox Corporation | Handwritten word spotter using synthesized typed queries |
-
2010
- 2010-08-05 US US12/851,092 patent/US8509537B2/en active Active
-
2011
- 2011-07-20 DE DE102011079443A patent/DE102011079443A1/de not_active Withdrawn
- 2011-08-05 FR FR1157189A patent/FR2963695A1/fr active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102011079443A1 (de) | 2012-03-15 |
US20120033874A1 (en) | 2012-02-09 |
US8509537B2 (en) | 2013-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2963695A1 (fr) | Apprentissage de poids de polices pour des echantillons tapes dans le reperage de mots-cles manuscrits | |
CN108984530B (zh) | 一种网络敏感内容的检测方法及检测系统 | |
US8335381B2 (en) | Handwritten word spotter using synthesized typed queries | |
CN109886270B (zh) | 一种面向电子卷宗笔录文本的案件要素识别方法 | |
JP2010176672A (ja) | ベクトル系列用モデル基準比較指標及びそれを用いたワードスポッティング | |
CN107679070B (zh) | 一种智能阅读推荐方法与装置、电子设备 | |
US20150186739A1 (en) | Method and system of identifying an entity from a digital image of a physical text | |
US9710769B2 (en) | Methods and systems for crowdsourcing a task | |
US20150206031A1 (en) | Method and system of identifying an entity from a digital image of a physical text | |
Mathew et al. | Asking questions on handwritten document collections | |
Addis et al. | Printed ethiopic script recognition by using lstm networks | |
Devi et al. | Pattern matching model for recognition of stone inscription characters | |
Thammarak et al. | Automated data digitization system for vehicle registration certificates using google cloud vision API | |
Pippi et al. | Evaluating synthetic pre-Training for handwriting processing tasks | |
Chiney et al. | Handwritten data digitization using an anchor based multi-channel CNN (MCCNN) trained on a hybrid dataset (h-EH) | |
Gruber et al. | OCR improvements for images of multi-page historical documents | |
Guralnick et al. | Humans in the loop: Community science and machine learning synergies for overcoming herbarium digitization bottlenecks | |
Souibgui et al. | A user perspective on htr methods for the automatic transcription of rare scripts: The case of codex runicus | |
Wilkinson et al. | Neural word search in historical manuscript collections | |
TW200409046A (en) | Optical character recognition device, document searching system, and document searching program | |
Hartel et al. | An ocr pipeline and semantic text analysis for comics | |
Karanth et al. | Breaking Barriers in Text Analysis: Leveraging Lightweight OCR and Innovative Technologies for Efficient Text Analysis | |
Idziak et al. | Scalable handwritten text recognition system for lexicographic sources of under-resourced languages and alphabets | |
Kumar et al. | Comparative study of different optical character recognition models on handwritten and printed medical reports | |
Bangera et al. | Digitization Of Tulu Handwritten Scripts-A Literature Survey |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 5 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20151113 |
|
PLFP | Fee payment |
Year of fee payment: 6 |
|
PLFP | Fee payment |
Year of fee payment: 7 |