RU /EN
Обсудить проект
← Избранные проекты
Разбор проекта

Recompose

Нативное OCR-приложение для macOS, которое восстанавливает документ, а не только распознаёт текст.

  • 88 тестов
  • 64 MoE-экспертов · Top-6
  • текст · таблицы · диаграммы
  • без Python runtime

Что это

Приложение для macOS, которое из скана или фотографии документа собирает документ, а не текстовый файл. Таблицы остаются таблицами, заголовки — заголовками, диаграммы и схемы переносятся вырезом в нужное место страницы. Результат выгружается в DOCX, в восстановленный PDF и в searchable PDF.

Почему появился

Обычный OCR решает задачу распознавания и на этом останавливается: на выходе поток строк. Дальше человек садится и вручную пересобирает то, что в исходнике уже было — колонки, таблицы, порядок блоков. На документах вида «спецификация с таблицами и схемой» эта работа занимает больше времени, чем чтение самого документа.

Recompose устраняет именно этот шаг. Модель распознаёт не только символы, но и структуру страницы, а приложение собирает из неё файл, который можно открыть и править.

Что сделал

Полный inference Unlimited-OCR на Swift и MLX, с нуля:

  • SAM Vision Encoder — разбор изображения страницы;
  • CLIP-подобный Vision Encoder — второй визуальный путь;
  • Vision Fusion — объединение представлений;
  • MoE-декодер — 64 эксперта, Top-6 routing.

Плюс всё вокруг модели: сборка документа из предсказаний, экспорт в три формата, две поверхности — CLI и GUI, и 88 тестов на пайплайн.

Что технически интересно

Модель работает внутри приложения на native Metal runtime. В поставке нет Python: ни интерпретатора, ни torch, ни отдельного локального сервера, к которому приложение обращается по сети. Это меняет характер продукта — пользователь скачивает приложение, а не разворачивает окружение.

MoE-декодер на 64 эксперта с Top-6 routing — самая тяжёлая часть портирования: маршрутизация токенов по экспертам должна совпадать с референсной реализацией, иначе расхождение накапливается по мере генерации и разрушает разметку документа, а не только отдельные символы.

Что получилось

Из изображения документа получается редактируемый файл: DOCX для правки, восстановленный PDF для печати, searchable PDF когда нужно сохранить исходный вид и добавить текстовый слой. Диаграммы, которые модель не может выразить текстом, вставляются вырезом изображения.

Приложение готовится к публикации.