Skip to main content
Frame 8

Manuscript OCR

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

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

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

Установка

pip install "manuscript-ocr[cpu]"

Обычная установка pip install manuscript-ocr содержит общие компоненты без ONNX Runtime. Для выполнения моделей выберите [cpu], [gpu] или браузерный [web]. Для TrOCR дополнительно нужен токенизатор: pip install "manuscript-ocr[cpu,trocr]".

В браузере Python работает через Pyodide, а ONNX Runtime Web подключает страница. Порядок подключения описан в инструкции для веба.

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

from manuscript import Pipeline

# Инициализация с моделями и автоматическим выбором устройства
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 "manuscript-ocr[gpu]"
# Если библиотеки CUDA/cuDNN ещё не установлены:
pip install "onnxruntime-gpu[cuda,cudnn]"

Для Apple Silicon с CoreML

Стандартный пакет onnxruntime для macOS включает CoreML. Дополнительная установка не требуется; передайте device="coreml" компонентам пайплайна.

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

pip install "manuscript-ocr[cpu,dev]"

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

# Установите библиотеку с GPU Runtime и инструментами обучения
pip install "manuscript-ocr[gpu,dev]"

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

Версию PyTorch выбирайте под свою CUDA. При переходе с CPU на GPU сначала удалите onnxruntime.


Использование 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 очередь

Metadata

Release files for manuscript-ocr 0.1.13

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for manuscript-ocr 0.1.13
File Size Uploaded Provenance Actions
manuscript_ocr-0.1.13.tar.gz 222.2 kB Without provenance Details for manuscript_ocr-0.1.13.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for manuscript-ocr 0.1.13
File Interpreter ABI Platform Actions
manuscript_ocr-0.1.13-py3-none-any.whl Python 3 none any Details for manuscript_ocr-0.1.13-py3-none-any.whl

Total release size: 474.9 kB

Release files / manuscript_ocr-0.1.13.tar.gz

Download URL manuscript_ocr-0.1.13.tar.gz
Size 222.2 kB
Tags Source
SHA-256 checksum
How to use checksums
eee1bf77b07a6d958bd4d82c70b344da0f523ec07ac617ce331250f95f965ba5
BLAKE2b-256 checksum
How to use checksums
362fc53c9b527e41aed2e9cbcb76ae657dcb960cac03d50b6a544cb2ee388f40
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.9

Release files / manuscript_ocr-0.1.13-py3-none-any.whl

Download URL manuscript_ocr-0.1.13-py3-none-any.whl
Size 252.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bc123be15fa44c3c6993b665a080c3a6612dc1d7922963d749825560599797f8
BLAKE2b-256 checksum
How to use checksums
5e0fc25e9e85d61ca862581fd7a738a9b78958052c25794702ffe39e930ae022
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.9

Security for manuscript-ocr 0.1.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page