Сфотографировал конспект лекции, а потом понял, что хочешь его отредактировать в цифре, но не текстом, а именно как рукописные штрихи? InkSight решает задачу, о которой мало кто думал, но которая реально полезна для работы с цифровыми заметками.
Векторизация почерка: не просто текст, а живая траектория
Обычные OCR-системы умеют распознать буквы и выдать текстовый файл. InkSight идёт дальше - восстанавливает сам процесс написания. Модель анализирует фото и воссоздаёт траекторию движения руки: какой штрих был первым, под каким углом шла линия, где перо отрывалось от бумаги. На выходе получаешь не картинку или текст, а редактируемый векторный почерк, который можно продолжать писать в заметочных приложениях.
Как работает архитектура на ViT и mT5
Под капотом связка из Vision Transformer и mT5 в формате encoder - decoder. Два режима обучения работают параллельно: один отвечает за «чтение» - распознавание символов, второй за «письмо» - восстановление последовательности штрихов. Такой подход позволяет модели одновременно понимать, что написано, и как именно это было написано. Система справляется с разными языками, фонами и стилями почерка, от аккуратных записей до быстрых набросков.
Два режима работы и экспорт результатов
InkSight предлагает обработку пословно или целой страницей - в зависимости от задачи. Если нужно быстро оцифровать одно слово или фразу, выбираешь первый вариант. Для конспектов и длинных заметок подойдёт режим страницы. Векторные штрихи экспортируются в форматы, совместимые с популярными приложениями для заметок, где их можно редактировать: стирать, дописывать, менять цвет.
Онлайн-демо и инструменты для разработчиков
Проект выложен на GitHub с открытым кодом. Доступна онлайн-демка на Hugging Face, где можно протестировать работу без установки. Для тех, кто хочет запустить локально или интегрировать в свои проекты, есть датасет и Jupyter-ноутбуки с примерами. Это удобно для экспериментов с собственными данными или настройки под специфические задачи - например, оцифровку архивов или работу с редкими языками.