Improving OCR Accuracy Through Multi-Classifier Verification of Visually Similar Characters
Authors: Nuzhat Khan, Ab Al-Hadi Ab Rahman, Mohamad Anuar Kamaruddin, Muhammad Paend Bakht, Sana Fatima, Farhad Khodadadi, Ibrahim Yousef Alshareef
Organizations: Faculty of Electrical Engineering, Universiti Teknologi Malaysia, Johor Bahru, 81310, Malaysia · School of Industrial Technology, Universiti Sains Malaysia, Pinang, 11800, Malaysia · School of Business, Maynooth University, Maynooth, W23 F2H6, Ireland
Distinguishing visually similar characters is a persistent challenge for optical character recognition (OCR) systems, causing errors in critical applications of text digitization. While preprocessing techniques improve image quality and word-level post-processing corrects spelling errors, neither addresses character-level visual ambiguity, an intrinsic property of certain character pairs that limits even state-of-the-art OCR models. We present the Character Verification Model (CVM), a character-level post-processing framework that verifies and corrects ambiguous characters in OCR outputs using specialized binary classifiers trained on visually confusable pairs such as 'O'/'0', 'Z'/'2', and 'S'/'5'. CVM operates independently of dictionary validation, making it suitable for non-lexical data including serial numbers, alphanumeric codes, and license plates. Experiments on three OCR engines (Tesseract, EasyOCR, TrOCR) and ten fonts with low to high complexity demonstrate accuracy improvements of 3.95-14.81 percentage points, with an 87.3% correction rate for visually similar character errors and a false-correction rate of only 2.3%. The modular architecture integrates with existing OCR pipelines without modification to underlying recognition models.
Figures & tables
Figure 1: Taxonomy of post-processing methods for OCR error correction.
Figure 2: Character patch extraction process for binary classifier training.
Figure 3: Integrated OCR-CVM workflow showing the complete pipeline.
Figure 4: CVM error correction mechanism.
Figure 5: Sample unseen test images containing random strings in 10 different fonts.
Figure 6: Evaluation of recognition issues in OCR engines.
Figure 7: Distribution of correctable and uncorrectable errors across OCR engines.
Figure 8: Overall OCR accuracy before and after CVM integration.
Metric
Value
Total VSC errors (baseline)
876
Successfully corrected by CVM
765
Missed VSC errors
111
VSC correction rate
87.3%
False corrections introduced
18
Total corrections applied
783
Table 1: Overall CVM correction statistics, aggregated across all evaluation runs.
Tesseract / EasyOCR
TrOCR
Font
Before
After
Gain
Before
After
Gain
Times New Roman
92.11
96.45
+4.34
73.68
87.24
+13.56
Consolas
89.47
94.57
+5.10
86.84
93.50
+6.66
Amasis MT Pro Med
92.11
96.06
+3.95
86.84
93.42
+6.58
Arial Narrow
89.47
95.14
+5.67
86.84
93.81
+6.97
Arial Nova
86.84
93.30
+6.46
81.58
91.24
+9.66
Table 2: Character accuracy (%) before and after CVM integration on the ten test fonts. Tesseract and EasyOCR produced identical results on every font and are reported together.
The Character Error Rate (CER) is a key metric for evaluating the quality of Optical Character Recognition (OCR). However, this metric assumes that text has been perfectly parsed, which is often not the case. Under page-parsing errors, CER becomes undefined, limiting its use as a metric and making evaluating page-level OCR challenging, particularly when using data that do not share a labelling schema. We introduce the Character Error Vector (CEV), a bag-of-characters evaluator for OCR. The CEV can be decomposed into parsing and OCR, and interaction error components. This decomposability allows practitioners to focus on the part of the Document Understanding pipeline that will have the greatest impact on overall text extraction quality. The CEV can be implemented using a variety of methods, of which we demonstrate SpACER (Spatially Aware Character Error Rate) and a Character distribution method using the Jensen-Shannon Distance. We validate the CEV's performance against other metrics: first, the relationship with CER; then, parse quality; and finally, as a direct measure of page-level OCR quality. The validation process shows that the CEV is a valuable bridge between parsing metrics and local metrics like CER. We analyse a dataset of archival newspapers made of degraded images with complex layouts and find that state-of-the-art end-to-end models are outperformed by more traditional pipeline approaches. Whilst the CEV requires character-level positioning for optimal triage, thresholding on easily available values can predict the main error source with an F1 of 0.91. We provide the CEV as part of a Python library to support Document understanding research.
Optical Character Recognition (OCR) is a fundamental task for digitizing information, serving as a critical bridge between visual data and textual understanding. While modern Vision-Language Models (VLM) have achieved high accuracy in this domain, they predominantly rely on autoregressive decoding, which becomes computationally expensive and slow for long documents as it requires a sequential forward pass for every generated token. We identify a key opportunity to overcome this bottleneck: unlike open-ended generation, OCR is a highly deterministic task where the visual input strictly dictates a unique output sequence, theoretically enabling efficient, parallel decoding via diffusion models. However, we show that existing masked diffusion models fail to harness this potential; those introduce structural instabilities that are benign in flexible tasks, like captioning, but catastrophic for the rigid, exact-match requirements of OCR. To bridge this gap, we introduce DODO, the first VLM to utilize block discrete diffusion and unlock its speedup potential for OCR. By decomposing generation into blocks, DODO mitigates the synchronization errors of global diffusion. Empirically, our method achieves near state-of-the-art accuracy while enabling up to 5x faster inference compared to autoregressive baselines.
Sean Man, Gilad Deutch, Roy Ganz +4
Technion - Israel Institute of Technology, Haifa, Israel. · Amazon Web Services.
Text-to-image models increasingly generate readable Chinese text that still contains local rendering defects, such as a character with an extra or missing stroke or a malformed component. Such errors are invisible to OCR and vision-language models, which are trained for recognition and are therefore invariant to the very structural deviations that define a rendering error. We formalize text rendering verification as a target-conditioned problem: given a target character and an image crop, decide whether the crop is a correct rendering of that character. Our verifier TEXTVERIFIER feeds the text tower a character's Ideographic Description Sequence (IDS) rather than a single-character symbol, and is trained on 12.7M crop-IDS pairs plus label-free "same-character, different-quality" hard pairs sampled from the training trajectory of a text-region inpainting model. To evaluate this ability we build TEXTRENDERBENCH-ZH, the first per-character benchmark for generated Chinese text, annotating position, identity, and correctness for 7,358 characters. TEXTVERIFIER reaches an F1 of 0.844, far above OCR confidence (0.526), a general VLM (0.329), and TextPecker (0.590). Used as a per-character reward for Flow-GRPO post-training, it further reduces rendering errors, showing that its score can both detect and correct errors.
Yiyang Chen, Guo-Hua Wang, Yaoli Liu +4
State Key Laboratory of General Artificial Intelligence, Peking University, Beijing, China · Alibaba Group · State Key Lab of CAD&CG, Zhejiang University