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 очередь
Release files for manuscript-ocr 0.1.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| manuscript_ocr-0.1.12.tar.gz | 548.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| manuscript_ocr-0.1.12-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.1 MB
Release files / manuscript_ocr-0.1.12.tar.gz
| Download URL | manuscript_ocr-0.1.12.tar.gz |
|---|---|
| Size | 548.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f75fb779884ec49edfa2dde1558285b79379e393fd5605dc746d303a54d7ea8d
|
|
BLAKE2b-256 checksum How to use checksums |
80e365aa62c580904a698b33536c2ebfa7ea3a72e2d829bcad9093705fb54a71
|
| 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.12-py3-none-any.whl
| Download URL | manuscript_ocr-0.1.12-py3-none-any.whl |
|---|---|
| Size | 587.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9a051b4a0bd4b0de1e6a3525d7a4225b3a5d46e7a4b21fd33ec2200252660380
|
|
BLAKE2b-256 checksum How to use checksums |
813ebd8d306dc0ee96772be08a42017dc331d4ab7caaa09d041509b3af380aa9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|