HYBRID HTR
HISTORICAL DOCUMENT INTELLIGENCE
Гибридный Document AI pipeline для исторических русскоязычных документов: detection, handwritten OCR, table VLM и document-level structured extraction.
- KEY METRICS
- 2OCR BRANCHESTrOCR handwriting + Qwen3-VL tables
- 250 DPIRENDERtiled inference with overlap
- JSON SCHEMACONSTRAINED LLM OUTPUT
- EVIDENCEDETERMINISTIC VALIDATION
01 / PROBLEM
Архивные страницы сочетают рукописные строки и печатные таблицы. Классический OCR даёт неструктурированный текст; задача — восстановить структуру документа и извлечь параметры так, чтобы каждое значение можно было проверить по исходной странице.
02 / APPROACH
PDF/IMAGE рендерится @ 250 DPI, применяется deskew + safe crop, страница нарезается overlapping tiles. RF-DETR детектирует text lines / regions. Рукописные строки уходят в TrOCR, таблицы — в Qwen3-VL 4B.
03 / ARCHITECTURE
Результаты веток объединяются в DOCUMENT JSON, очищаются и передаются в Qwen3.6 27B для structured extraction. Ответ модели ограничен JSON Schema, затем выполняется детерминированная валидация и формируется FINAL REPORT.
- RF-DETR DETECTION
- TrOCR HANDWRITING OCR
- QWEN3-VL TABLES
- QWEN3.6 EXTRACTION
- JSON SCHEMA OUTPUT
- EVIDENCE VALIDATION
04 / ENGINEERING DECISIONS
- RF-DETR и TrOCR загружаются один раз; режим --keep-alive для повторных прогонов
- Модели LM Studio удерживаются загруженными через TTL
- Повторная VLM-проверка каждой suspicious line выключена по умолчанию — отдельный дорогой VLM request на каждую строку не оправдан (trade-off quality/cost)
- Tiled inference, deskew, batch OCR, bbox deduplication, quality flags, fallback routing
- Streamlit interface: поддержка PDF / TIFF / JPEG / ZIP; результаты — PDF report, cleaned OCR JSON, extracted data JSON, processing log
GENERATIVE OUTPUT IS NEVER TRUSTED BLINDLY.
05 / RESULTS
Детерминированная validation проверяет: page существует в OCR JSON, evidence буквально присутствует на указанной странице, raw_value находится внутри evidence, имя параметра допустимо, confidence допустим, file/page соответствует исходным данным. Неподтверждённые записи удаляются, rejected items фиксируются в warnings.
06 / STACK
PyTorch · RF-DETR · TrOCR · Qwen3-VL 4B (LM Studio, OpenAI-compatible API) · Qwen3.6 27B · Streamlit