/ Модель

Характеристики

Контекст
512 токенов
Лицензия
Apache 2.0
Архитектура
vision-encoder-decoder · dense
Базовая модель
trocr-large-uk-handwritten-real
Библиотека
transformers
Опубликована
12 июн 2026

trocr-large-rukopys-hw

Описание изображенийИзображение → текст4 профессии

Модель распознаёт преимущественно рукописный украинский текст на обрезанных изображениях строк и областей архивных документов.

348скачиваний за 30 дней0лайковвеса обновлены30 июл 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Распознавание текста» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Hukyl разработал TrOCR-Large-rukopys-hw — модель распознавания текста в изображениях, основанная на архитектуре VisionEncoderDecoderModel: ViT-L/16 в качестве визуального энкодера и декодер TrOCR, около 558 млн параметров. Модель дообучена на размеченных фрагментах датасета Rukopys и предназначена прежде всего для чтения рукописных украинских документов. Она принимает обрезанные изображения строк или областей документа, обычно после обнаружения их расположения отдельной моделью, и выдаёт нормализованный текст.

На проверочной выборке из 1 223 фрагментов общий CER составил 0,0890; для рукописного класса CER — 0,0750. Данные по печатному тексту, аннотациям и таблицам представлены небольшим числом примеров, поэтому результаты для этих типов фрагментов ненадёжны; особенно слабо модель справляется с таблицами. Точность может снижаться на других языках и письменностях, современных цифровых документах и при отличиях от архивных материалов обучения. Выход нормализуется под метрики OCR и может не совпадать с буквальной транскрипцией. Модель распространяется по лицензии Apache-2.0.

Сценарии применения

  • распознавание рукописных строк в украинских архивных документах
  • преобразование фрагментов рукописных документов в текст
  • извлечение текста из областей документа после обнаружения разметки
  • распознавание украинских рукописных материалов из датасета Rukopys

Ограничения

Модель оптимизирована для рукописных украинских архивных документов и может хуже работать с другими языками, письменностями и современным цифровым текстом. Распознавание таблиц слабое, а результаты для печатного текста и аннотаций нестабильны из-за малого числа проверочных примеров; вывод представляет собой нормализованный текст, а не гарантированно точную транскрипцию.

Для каких профессий подходит4

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

trocr-large-rukopys-hw

A TrOCR-Large (VisionEncoderDecoderModel, ~558M params) line recognizer for handwritten Ukrainian document text, fine-tuned on the Rukopys dataset.

The training data included handwritten, printed, annotation and table region crops from Rukopys.

TL;DR

value
ArchitectureTrOCR-Large (ViT-L/16 encoder @ 384px + TrOCR decoder), VisionEncoderDecoderModel
Parameters~558M
Init fromHukyl/trocr-large-uk-handwritten-real (real-only consolidation)
Tokenizerextended Cyrillic vocab, size 50336 (ships with this repo)
Handleshandwritten, printed, table, annotation
Gold-val CER / WER0.0825 / 0.2583
handwritten-class CER0.0750
Inputa single cropped text region/line (RGB)
Outputthe transcribed string (metric-normalized character set)

Intended use

Recognizing cropped line/region images from handwritten Ukrainian documents, downstream of a layout detector. This recognizer was tuned for the strongest handwritten class reading.

For a recognizer more balanced across all region classes, see sibling model Hukyl/trocr-large-rukopys.

How to use

Note: load the processor from this repo, not from microsoft/trocr-large-handwritten — the tokenizer here is an extended Cyrillic vocabulary (50336 vs stock 50265).

from PIL import Image
from transformers import VisionEncoderDecoderModel, TrOCRProcessor

repo = "Hukyl/trocr-large-rukopys-hw"
processor = TrOCRProcessor.from_pretrained(repo)          # load from THIS repo
model = VisionEncoderDecoderModel.from_pretrained(repo).eval()

crop = Image.open("region_crop.png").convert("RGB")        # one detected line/region
pixel_values = processor(images=crop, return_tensors="pt").pixel_values
generated = model.generate(pixel_values, max_new_tokens=256, num_beams=1)  # greedy
text = processor.batch_decode(generated, skip_special_tokens=True)[0]
print(text)

Lineage & training curriculum

Rukopys gold-only fine-tuning from a real-only consolidation checkpoint, with no silver/pseudo-labels. Full fine-tune, optimizer: AdamW via the 🤗 Seq2SeqTrainer, cosine LR decay, max_target_length 256, online augmentation, seed 42, single L40S.

  1. Base — Kansallisarkisto/cyrillic-htr-model (Apache-2.0): microsoft/trocr-large-handwritten fine-tuned on ~30k historical Cyrillic rows by the Finnish National Archives; extended tokenizer (vocab 50336).
  2. Mixed pretrain — Hukyl/trocr-large-uk-handwritten (6 ep, LR 4e-5): UkrHandwritten ×3 + Cyrillic Handwriting + part of pumb-ai/synthetic-cyrillic-large.
  3. Real-only consolidation — Hukyl/trocr-large-uk-handwritten-real (16 ep, LR 2e-5): UkrHandwritten ×2 + Cyrillic Handwriting, no synthetic data. The general Ukrainian handwriting reader.
  4. Rukopys gold fine-tune (20 ep, LR 1e-5, warmup 0.05, weight decay 0.01): the human-labeled gold training data, with page-level validation split. Note: a smaller validation split was used to give more of the Rukopys gold split to training: 21,720 train / 1,223 val crops. The published weights are the best-val-CER epoch (10 of 20).

Hyperparameters (as launched)

hyperparametervalue
epochs20
batch size32
learning rate1e-5
warmup ratio0.05
weight decay0.01
max target length256 tokens
optimizer / scheduleAdamW, cosine decay
online augmentationon (per-region profile)
evalgreedy (num_beams=1), full val each epoch
precision / devicebf16, CUDA (single L40S)
seed42

Fine-tune ran 13,300 steps in ~2.5h.

Online data augmentation

Online augmentation was applied during training. Only training crops were augmented (no augmented validation was measured).

Each crop was transformed once per epoch by one geometric + one or two photometric operations at random. Each class received a separate augmentation profile that was selected to minimize the distribution shift.

region typegeometric (one)photometric (one or two)
handwritten, annotationmargin pad 2–15% / trim 1–5%, rotation ±1–5°, elastic distortion (α=25, σ=5), baseline warp (amp 2–8 px, freq 0.5–2.0)paper-colour shift (LAB a±10 / b±15), Gaussian noise (σ 5–15), JPEG recompression (q 30–65), contrast/gamma (0.7–1.3 / 0.6–1.5), morphological erode/dilate (kernel 2)
printed, tablemargin pad 2–15% / trim 1–5%, rotation ±1–3°paper-colour shift (a±5 / b±10), Gaussian noise (σ 3–10), JPEG recompression (q 40–70), contrast/gamma (0.8–1.2 / 0.8–1.3), morphological erode/dilate (kernel 2)

These simulate scanner/paper variation, ink thinning/bleed, and natural handwriting deformation, widening the range of appearances beyond the raw training crops.

Results

Protocol: greedy decode, max_new_tokens=512, page-level gold validation split, 1000-sample draw, seed 42. Labels are metric-normalized (LaTeX → Unicode, table PSV canonicalized) so CER/WER reflect the scored character set.

Overall

metricvalue
CER0.0825
WER0.2583
exact-match accuracy0.4280
n_samples1000

A full-val (1,223-crop) training eval pass scores CER 0.0890 / WER 0.2661, consistent with the 1000-sample draw. The validation split is small (~67 pages), so the absolute numbers are somewhat noisy.

Per class

classCERWERaccuracyn
handwritten0.07500.24610.4374958
printed0.29960.66670.000011
annotation0.45680.91180.291724
table0.49170.92860.28577

We also acknowledge that printed/table/annotation n is quite small, so measuring CER against them is quite noisy.

Limitations & biases

  • Handwritten Ukrainian archival document material only; expect degradation on other scripts, languages, or modern born-digital text.
  • The character set and normalization are tuned to the document-OCR metric — outputs are normalized text, not faithful transcription.
  • table is weak and annotation/printed are high-variance (small n).
  • Single seed and validation split — no across-run variance estimate.

Training data & attribution

datasetsourcelicenserole
RukopysUkrainianCatholicUniversity/rukopysCC BY 4.0gold fine-tune
UkrHandwrittenKaggle annyhnatiuk/ukrainian-handwritten-textCC BY-SA 4.0pretrain + consolidation (lineage)
Cyrillic Handwriting DatasetKaggle constantinwerner/cyrillic-handwriting-datasetCC0pretrain + consolidation (lineage)
pumb-ai/synthetic-cyrillic-largeHFApache-2.0pretrain (lineage)

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
VisionEncoderDecoderModel
Ревизия весов
3d9a5ec

0 моделей