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
Manuscript OCR
Manuscript OCR – открытый Python-фреймворк полного OCR/HTR-пайплайна для распознавания дореформенных рукописей на русском языке XVIII–XIX веков и современных текстов. Проект направлен на цифровизацию и анализ исторического текстового наследия с использованием разработанных методов, учитывающих устаревшую орфографию, сложную структуру страниц и вариативность почерков, и обеспечивающих высокую вычислительную эффективность на ограниченных ресурсах.
Онлайн-демо - попробовать Manuscript OCR в браузере
Полная документация - English & Русский
Установка
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.
Практическое применение
Полученные результаты могут использоваться для:
- оцифровки и распознавания дореформенных рукописных архивных материалов;
- интеграции в системы библиотек, архивов и музеев;
- образовательных и исследовательских проектов по историческим источникам;
- интеллектуальной обработки текста, включая интеграцию с LLM-системами для анализа и структурирования исторических документов.
Проект реализован при поддержке гранта
Фонд содействия инновациям, конкурс «Код-ИИ», VII очередь
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f75fb779884ec49edfa2dde1558285b79379e393fd5605dc746d303a54d7ea8d
|
|
| MD5 |
8e58b8bed76afd93b01a57101d350d0b
|
|
| BLAKE2b-256 |
80e365aa62c580904a698b33536c2ebfa7ea3a72e2d829bcad9093705fb54a71
|
File details
Details for the file manuscript_ocr-0.1.12-py3-none-any.whl.
File metadata
- Download URL: manuscript_ocr-0.1.12-py3-none-any.whl
- Upload date:
- Size: 587.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a051b4a0bd4b0de1e6a3525d7a4225b3a5d46e7a4b21fd33ec2200252660380
|
|
| MD5 |
576256632d093d98082e205b0f6a4891
|
|
| BLAKE2b-256 |
813ebd8d306dc0ee96772be08a42017dc331d4ab7caaa09d041509b3af380aa9
|