arthurflor23/handwritten-text-recognition

Handwritten Text Synthesis and Recognition

What it solves

It addresses the challenge of Handwritten Text Recognition (HTR) and the common problem of data scarcity in this field. The project provides a comprehensive pipeline for both recognizing handwritten text from images and synthesizing new handwritten text to expand training datasets.

How it works

Built with TensorFlow, the project implements a multi-stage workflow that includes:

  • Recognition: Converting handwritten images into text using models like "flor".
  • Synthesis: Generating synthetic handwriting images from text to augment data.
  • Preprocessing & Augmentation: A wide array of tools for image normalization, binarization, and transformations (such as elastic, perspective, and Gaussian noise) to make models more robust.
  • Correction: Integration of language models for spelling correction of recognized text.
  • Management: Use of MLflow to track experiments, log metrics, and manage model versions.

Who it’s for

Researchers and developers working on document analysis, OCR (Optical Character Recognition), and anyone needing to automate the transcription of handwritten documents across various languages and datasets.

Highlights

  • Extensive Dataset Support: Integrated support for numerous standard HTR datasets including IAM, MNIST, EMNIST, and BRESSAY.
  • Font-Based Synthesis: Ability to use .ttf font files as prototypes for generating synthetic training data.
  • Comprehensive Augmentation: A large suite of built-in image transformations to simulate real-world handwriting variations.
  • MLflow Integration: Native support for tracking training runs and reproducibility via the MLflow Dashboard.

Related

  • Project
  • Project
  • Project
  • Project