Skip to main content

Detects and recognizes text in historical, archival and handwritten documents. Optimized for fast inference with ONNX Runtime (CPU/GPU/CoreML) and optional training with PyTorch. Supports plugging custom models via a simple API.

Project description

Frame 8

Manuscript OCR

Manuscript OCR – открытый Python-фреймворк полного OCR/HTR-пайплайна для распознавания дореформенных рукописей на русском языке XVIII–XIX веков и современных текстов. Проект направлен на цифровизацию и анализ исторического текстового наследия с использованием разработанных методов, учитывающих устаревшую орфографию, сложную структуру страниц и вариативность почерков, и обеспечивающих высокую вычислительную эффективность на ограниченных ресурсах.

Онлайн-демо - попробовать Manuscript OCR в браузере
Полная документация - English & Русский

Пример результата Manuscript OCR

Установка

pip install manuscript-ocr

Минимальный пример

from manuscript import Pipeline

# Инициализация с моделями по умолчанию (CPU)
pipeline = Pipeline()

# Обработка изображения
result = pipeline.predict("document.jpg")

# Извлечение текста
text = pipeline.get_text(result["page"])
print(text)

Дополнительные варианты установки

Для ускорения на GPU (NVIDIA CUDA)

# Удалите CPU-версию ONNX Runtime
pip uninstall onnxruntime

# Установите GPU-версию
pip install onnxruntime-gpu

Для Apple Silicon (M1/M2/M3) с CoreML

# Удалите стандартную версию
pip uninstall onnxruntime

# Установите версию для Apple Silicon
pip install onnxruntime-silicon

Dev-установка с обучением моделей

pip install manuscript-ocr[dev]

Dev-установка для обучения на GPU (NVIDIA CUDA)

# Сначала установите manuscript-ocr[dev]
pip install manuscript-ocr[dev]

# Затем обновите PyTorch на GPU версию
pip install --upgrade torch torchvision --index-url https://download.pytorch.org/whl/cu118

Примечание: GPU версии (ONNX Runtime GPU и PyTorch CUDA) пользователь устанавливает вручную по необходимости.


Использование GPU/CoreML

from manuscript import Pipeline
from manuscript.detectors import EAST
from manuscript.recognizers import TRBA

# NVIDIA CUDA
detector = EAST(device="cuda")
recognizer = TRBA(device="cuda")
pipeline = Pipeline(detector=detector, recognizer=recognizer)

# Apple Silicon (M1/M2/M3)
detector = EAST(device="coreml")
recognizer = TRBA(device="coreml")
pipeline = Pipeline(detector=detector, recognizer=recognizer)

Связанные работы

  • Sherstnev, P.A.; Kozhin, K.D.; Pyataeva, A.V. Analyzing the Influence of Hyperparameters on the Efficiency of an OCR Model for Pre-Reform Handwritten Texts. Program Comput Soft 51, 173–180 (2025). https://doi.org/10.1134/S0361768825700069
  • Шерстнев, П. А.; Кожин, К. Д.; Пятаева, А. В. Анализ влияния гиперпараметров на эффективность OCR-модели для дореформенных рукописных текстов // Программирование. – 2025. – № 3. – С. 70-79. – DOI 10.31857/S0132347425030071. – EDN GRLAPG.
  • Шерстнев, П. А.; Кожин, К. Д.; Пятаева, А. В. Распознавание рукописных текстов отчетов губернаторов Енисейской губернии 19 века // GraphiCon 2024 : Материалы 34-й Международной конференции по компьютерной графике и машинному зрению, Омск, 17–19 сентября 2024 года. – Омск: Омский государственный технический университет, 2024. – С. 519-524. – DOI 10.25206/978-5-8149-3873-2-2024-519-524. – EDN GBEKEZ.

Практическое применение

Полученные результаты могут использоваться для:

  1. оцифровки и распознавания дореформенных рукописных архивных материалов;
  2. интеграции в системы библиотек, архивов и музеев;
  3. образовательных и исследовательских проектов по историческим источникам;
  4. интеллектуальной обработки текста, включая интеграцию с LLM-системами для анализа и структурирования исторических документов.

Проект реализован при поддержке гранта
Фонд содействия инновациям, конкурс «Код-ИИ», VII очередь

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

manuscript_ocr-0.1.12.tar.gz (548.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

manuscript_ocr-0.1.12-py3-none-any.whl (587.0 kB view details)

Uploaded Python 3

File details

Details for the file manuscript_ocr-0.1.12.tar.gz.

File metadata

  • Download URL: manuscript_ocr-0.1.12.tar.gz
  • Upload date:
  • Size: 548.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for manuscript_ocr-0.1.12.tar.gz
Algorithm Hash digest
SHA256 f75fb779884ec49edfa2dde1558285b79379e393fd5605dc746d303a54d7ea8d
MD5 8e58b8bed76afd93b01a57101d350d0b
BLAKE2b-256 80e365aa62c580904a698b33536c2ebfa7ea3a72e2d829bcad9093705fb54a71

See more details on using hashes here.

File details

Details for the file manuscript_ocr-0.1.12-py3-none-any.whl.

File metadata

File hashes

Hashes for manuscript_ocr-0.1.12-py3-none-any.whl
Algorithm Hash digest
SHA256 9a051b4a0bd4b0de1e6a3525d7a4225b3a5d46e7a4b21fd33ec2200252660380
MD5 576256632d093d98082e205b0f6a4891
BLAKE2b-256 813ebd8d306dc0ee96772be08a42017dc331d4ab7caaa09d041509b3af380aa9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page