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.

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.11.tar.gz (534.4 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.11-py3-none-any.whl (574.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: manuscript_ocr-0.1.11.tar.gz
  • Upload date:
  • Size: 534.4 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.11.tar.gz
Algorithm Hash digest
SHA256 a1e82efcf32f11624f397141c38feaa63209da0d429ca6faeebe25b45cee43bf
MD5 8b7bd06bea89688d4bfa32b8212ad1e9
BLAKE2b-256 85efcc75d37eb457bd23d0cff34d6e004a13ba18fdcbf1c9c1758b745234d38c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for manuscript_ocr-0.1.11-py3-none-any.whl
Algorithm Hash digest
SHA256 641146a581c6840b46810dfb476b8195d28f42714ebf5e1ac54fe084c3513920
MD5 d8d710f80c724bd372ec869fc1364e71
BLAKE2b-256 2eb88b8b11e50d114ef7da803e837d1bea81e7c97b002f0c1ec67bb9f5bb7ad1

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