CoolFace
Apppublic

muzxxty/document-quality-ocr

sourceHugging Faceupdated 6mo agoView on Hugging Face
0likes
App README

πŸ“„ Document Quality Assessment System

An intelligent document analysis tool that evaluates the visual quality of scanned or digital documents using Computer Vision and OCR-based techniques.


πŸš€ Problem & Motivation

πŸ’‘ Designed for real-world OCR pipelines where input quality directly affects model accuracy.

Poor document quality is one of the biggest reasons OCR systems fail in real-world applications.

This project builds an automated document quality assessment system that analyzes key visual propertiesβ€”such as contrast, alignment, typography, and spacingβ€”to determine whether a document is suitable for reliable OCR processing.

The system combines multiple independent signals into a unified decision framework, enabling early detection of low-quality inputs before they impact downstream pipelines.


πŸ’‘ Solution

This project provides an automated system to assess document quality using multi-dimensional analysis:

  • β€”πŸ“ Skew Detection (alignment issues)
  • β€”πŸ”€ Font Consistency Analysis (formatting irregularities)
  • β€”πŸŽ¨ Text Contrast Evaluation (readability)
  • β€”πŸ“ Line Spacing Analysis (layout structure)
  • β€”πŸ“„ Document Type Detection (Printed vs Handwritten)

🧠 Key Features

βœ” Multi-metric document evaluation βœ” OCR-based structural analysis βœ” Normalized statistical scoring (robust to layout variations) βœ” Context-aware warnings for handwritten documents βœ” Final decision system: Accept / Review / Reject βœ” Exportable analysis report (CSV) βœ” Interactive UI using Streamlit


πŸ–₯️ Demo Workflow

  1. 1.Upload a document image (JPG/PNG)
  2. 2.System detects document type
  3. 3.Performs quality analysis
  4. 4.Displays structured report
  5. 5.Provides final decision
  6. 6.Allows CSV download

πŸ“Έ Screenshots

πŸ“€ Upload Interface

[image]

πŸ“Š Analysis Summary

[image]

πŸ“Œ Final Decision Output

[image]



πŸ“Š Sample Output

MetricValueInterpretation
Contrast149.33Excellent
Skew0Β°Well Aligned
Font Variance11.13Uniform
Line Spacing32.97Moderate

Final Decision: βœ… ACCEPTABLE


βš™οΈ Tech Stack

  • β€”Python
  • β€”OpenCV
  • β€”Tesseract OCR
  • β€”NumPy & Pandas
  • β€”Streamlit

▢️ How to Run

bash
git clone https://github.com/mujammilibrahim007-art/Automated-Document-Quality-Assessment-System-for-OCR-Pipelines.git
pip install -r requirements.txt
streamlit run app.py

⚠️ Limitations

  • β€”Designed primarily for printed documents
  • β€”Handwritten text may produce unreliable metrics
  • β€”Heuristic thresholds (can be improved with labeled datasets)

πŸš€ Future Improvements

  • β€”ML-based document classification
  • β€”Confidence scoring system
  • β€”Layout-aware spacing detection
  • β€”API deployment for real-time processing

🧠 Key Insights

  • β€”Traditional document quality checks rely on raw metrics, which often fail on structured layouts (e.g., headings, bullet points).
  • β€”This system uses normalized statistical measures (coefficient of variation) to distinguish between natural layout variation and actual formatting issues.
  • β€”OCR-based region analysis enables extraction of structural features (font size, spacing, contrast) without relying on language understanding.
  • β€”Document type detection (Printed vs Handwritten) improves reliability by adapting interpretation logic based on OCR confidence.
  • β€”The system demonstrates how multiple weak signals (geometry, typography, clarity) can be combined into a robust decision framework.

⚠️ Note: This system is optimized for printed documents. Handwritten content may produce unreliable metrics.


πŸ‘¨β€πŸ’» Author

Mujammil Ibrahim