1 votes

Comment puis-je former Tesseract pour une nouvelle police ttf ?

J'essaie d'entraîner Tesseract pour certaines polices de caractères à l'aspect étrange, comme Palace par exemple. J'ai essayé un moyen simple - produire des données de traçage avec http://trainyourtesseract.com/ et ensuite avoir fait un appel comme

api->Init(".\\tessdata", "eng+Palace",OEM_TESSERACT_ONLY). api->SetPageSegMode(PSM_SINGLE_LINE); api->SetImage(image); // Get OCR result outText = api->GetUTF8Text();

Le résultat pour une ligne comme

M P S T a o e h i l n p r s t u w y

palacescript.tiff

est en dessous, aucun glyphe n'est correctement reconnu :

.MDXXXo,XkX.n.mX.XnoX

Est-ce que l'entraînement par le courtesseract produit de mauvaises données d'entraînement ou est-ce que je fais de mauvais appels, et comment gérer de tels cas ?

Actualle, j'ai essayé la même chose avec des polices moins drôles, mais aussi la reconnaissance ne s'améliore presque pas.

Je joins le fichier tiff et mes données entraînées pour le Palais.

Merci d'avance à tous pour votre aide, Yuliana

0voto

David Points 101

Le site trainyourtesseract site uniquement responsable de générer un .traineddata Il n'est pas responsable de la précision. Vous avez donc besoin d'une formation plus poussée après avoir obtenu le certificat. .traineddata fichier.

J'ai trouvé quelle était la précision de trainyourtesseract mais ce n'est absolument pas 100 %. En regardant le résultat, la précision doit encore être améliorée.

Se référant à la Tutoriel de formation Tesseract .

Ajustement fin. En partant d'un langage entraîné existant, entraînez-vous sur vos données supplémentaires spécifiques. Cela peut fonctionner pour des problèmes proches des données d'entraînement existantes, mais différents d'une manière subtile, comme une police particulièrement inhabituelle. Peut fonctionner même avec une petite quantité de données d'entraînement.

Coupez la couche supérieure (ou un nombre arbitraire de couches) du réseau et réentraînez une nouvelle couche supérieure en utilisant les nouvelles données. Si le réglage fin ne fonctionne pas, c'est très probablement la meilleure option suivante. Couper la couche supérieure pourrait encore fonctionner pour entraîner un langage ou un script complètement nouveau, si vous commencez avec le script le plus ressemblant.

Se recycler à partir de zéro. C'est une tâche ardue, à moins que vous ne disposiez d'un ensemble d'entraînement très représentatif et suffisamment grand pour votre problème. Sinon, vous risquez de vous retrouver avec un réseau surajusté qui fonctionne très bien sur les données d'entraînement, mais pas sur les données réelles.

Vous pouvez recycler votre Palace.traineddata L'inconvénient est que vous devez fournir un grand nombre de données d'entraînement. palacescript.tiff en eng.traineddata mais elle a encore besoin de beaucoup de données d'entraînement.

si vous ne pouvez pas fournir ces énormes données, ne vous inquiétez pas !

vous pouvez suivre Comment préparer des fichiers de formation pour Tesseract OCR et améliorer la reconnaissance des caractères ? qui s'appuient sur le moteur Legacy. Le site .box fichier réalisé par makebox ne peut pas s'appliquer au moteur LSTM.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X