Projects

A from-scratch implementation of the CNN-RNN-CTC handwriting recognition stack — written to understand the pipeline rather than to chase a leaderboard.

Problem

OCR is usually treated as a closed API call. This project takes it apart: image preprocessing → convolutional feature extractor → recurrent sequence model → CTC alignment → decoded string, with no high-level OCR library in the path.

What I built

A PyTorch CNN-RNN-CTC implementation for IAM sentence images, with preprocessing, an evaluation harness for Character Error Rate and Word Error Rate, and a small inference web UI under OCR_WebApp/ for visual inspection.

Technical components

Framework
PyTorch
Architecture
CNN feature extractor → BiLSTM → CTC head
Data
IAM sentence images
Metrics
Character Error Rate and Word Error Rate evaluation harness
Decoding
Greedy CTC decoding
Inference UI
Web app under OCR_WebApp/ for visual prediction inspection

Evidence / outputs

TODO: publish concrete CER / WER numbers on the IAM test split, a comparison row against a CRNN baseline, model size, and average per-line inference latency. The current README ships the architecture and evaluation harness but not a results table — this page intentionally does not invent numbers.

Current status

Experimental. The architecture and evaluation harness are available, but the repository does not currently publish a reproducible checkpoint or verified CER/WER result.

Limitations

Repo

github.com/GioiaZheng/handwritten-ocr-system